/* BEGIN - Append percentage of funds remaining/available to acquisitions funds tables * David Green - Carnegie-Stout Library * 2018-03-22 * Koha Version: 17.05, 17.11 */ /*Acquisitions budget table */ /* Wait for the data table to initialize. */ $('#budgeth').on('init.dt', function () { console.log("IntranetUserJS: Acquisitions Table Percentage"); /* On each row of the table: */ $('#budgeth').DataTable().rows().nodes().toArray().forEach( function (row) { /* Get the Allocated Funds by: getting the text from column 2, removing commas, and converting to a number. */ var allocated = parseFloat( row.children[2].textContent.trim().replace(",", "") ); /* Get the Remaining Funds from column 8 in the same way. */ var remaining = parseFloat( row.children[8].textContent.trim().replace(",", "") ); /* Calculate and append the percentage of funds remaining to the 8th column. */ var percent = Math.floor(remaining / allocated * 100); row.children[8].innerHTML += ` (${percent}%)`; percent = Math.max(-100, Math.min(100, percent)); row.children[8].style = `background: linear-gradient(to right, #DFD 0%, #9F9 ${percent}%, #FFF ${percent}%, #FFF ${percent + 100}%, #FAA ${percent + 100}%, #FCC 100%);`; } ); /* Make numbers in the table black. */ $("#budgeth .total_amount, #budgeth .child_fund_amount").css("color", ""); /* Redraw the table. */ $('#budgeth').DataTable().rows().invalidate().draw(); } ); /* END - Append percentage of funds remaining to acquisitions budget table */ /*Acquisitions home */ /* Wait for the data table to initialize. */ $('#accounts').on('init.dt', function () { console.log("IntranetUserJS: Acquisitions Table Percentage"); /* On each row of the table: */ $('#accounts').DataTable().rows().nodes().toArray().forEach( function (row) { /* Get the Allocated Funds by: getting the text from column 4, removing commas, and converting to a number. */ var allocated = parseFloat( row.children[4].textContent.trim().replace(",", "") ); /* Get the Remaining Funds from column 7 in the same way. */ var remaining = parseFloat( row.children[7].textContent.trim().replace(",", "") ); /* Calculate and append the percentage of funds remaining to the 8th column. */ var percent = Math.floor(remaining / allocated * 100); row.children[7].innerHTML += ` (${percent}%)`; percent = Math.max(-100, Math.min(100, percent)); row.children[7].style = `background: linear-gradient(to right, #DFD 0%, #9F9 ${percent}%, #FFF ${percent}%, #FFF ${percent + 100}%, #FAA ${percent + 100}%, #FCC 100%);`; } ); /* Make numbers in the table black. */ $("#accounts .total_amount, #accounts .child_fund_amount").css("color", ""); /* Redraw the table. */ $('#accounts').DataTable().rows().invalidate().draw(); } ); /* END - Append percentage of funds remaining to acquisitions home. */