diff -r 9999b3ce98cb -r 6d5e215d77d2 www/js/rec_edit.js --- a/www/js/rec_edit.js Thu Dec 06 23:18:27 2018 +0100 +++ b/www/js/rec_edit.js Fri Dec 07 20:58:23 2018 +0100 @@ -45,6 +45,7 @@ $(document).ready(function () { var dataRecord = {}; + var to_100 = false; // Fermentables adjust to 100% var preboil_sg = 0; var sugarsm = 0; // Sugars after mash var sugarsf = 0; // Sugars after boil @@ -60,10 +61,13 @@ psugar = 0; pcara = 0; var colorw = 0; // Colors working + var my_100 = false; var rows = $('#fermentableGrid').jqxGrid('getrows'); for (var i = 0; i < rows.length; i++) { var row = rows[i]; + if (row.f_adjust_to_total_100) + my_100 = true; if (row.f_type == "Sugar") psugar += row.f_percentage; if (row.f_type == "Crystal") @@ -76,6 +80,9 @@ sugarsf += d; colorw += row.f_amount * ebc_to_srm(row.f_color) / parseFloat($("#batch_size").jqxNumberInput('decimal')) * 8.34436; } + if (to_100 != my_100) + console.log("change to_100 to:"+my_100); + to_100 = my_100; $('#est_og').val(estimate_sg(sugarsf, parseFloat($("#batch_size").jqxNumberInput('decimal')))); preboil_sg = estimate_sg(sugarsm, parseFloat($("#boil_size").jqxNumberInput('decimal'))); $('#est_color').val(kw_to_ebc($("#color_method").val(), colorw)); @@ -493,9 +500,14 @@ } }, { text: 'Type', editable: false, width: 100, datafield: 'f_type' }, - { text: 'Moment', editable: false, width: 100, datafield: 'f_added' }, + { text: 'Moment', width: 110, align: 'center', cellsalign: 'center', datafield: 'f_added', columntype: 'dropdownlist', + createeditor: function (row, column, editor) { + var srcAdded = [ "Mash", "Boil", "Fermentation", "Lagering", "Bottle" ]; + editor.jqxDropDownList({ autoDropDownHeight: true, source: srcAdded }); + } + }, { text: 'Opbrengst', editable: false, datafield: 'f_yield', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'p1' }, - { text: 'Gewicht', datafield: 'f_amount', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f3', + { text: 'Gewicht Kg', datafield: 'f_amount', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f3', columntype: 'numberinput', validation: function (cell, value) { // Maximum weight is the batch_size, just a simple check. @@ -530,13 +542,10 @@ return oldvalue; } var diff = newvalue - oldvalue; - var to_100 = false; var tw = 0; // total weight for (i = 0; i < rowscount; i++) { var rowdata = $("#fermentableGrid").jqxGrid('getrowdata', i); tw += rowdata.f_amount; - if (rowdata.f_adjust_to_total_100) - to_100 = true; } if (to_100) { // Adjust this row and the 100% row. @@ -563,19 +572,31 @@ } } } +// $('#fermentableGrid').jqxGrid('sortby', 'f_amount', 'desc'); + //$('#fermentableGrid').jqxGrid('render'); // console.log("diff:"+diff+" len:"+rowscount+" to100:"+to_100+" tw:"+tw); } - // return newvalue; } }, - { text: '100%', datafield: 'f_adjust_to_total_100', columntype: 'checkbox', width: 80 } + { text: '100%', align: 'center', datafield: 'f_adjust_to_total_100', columntype: 'checkbox', width: 80, + cellvaluechanging: function (row, column, columntype, oldvalue, newvalue) { + if (to_100) { + var rowscount = $("#fermentableGrid").jqxGrid('getdatainformation').rowscount; + for (i = 0; i < rowscount; i++) { + if (i != row) { + var rowdata = $("#fermentableGrid").jqxGrid('getrowdata', i); + rowdata.f_adjust_to_total_100 = false; + } + } + } + } + } ] }); $("#fermentableGrid").on('cellendedit', function (event) { var args = event.args; console.log("Event Type: cellendedit, Column: " + args.datafield + ", Row: " + (args.rowindex) + ", Value: " + args.value); -// $('#fermentableGrid').jqxGrid('updatebounddata'); - $('#fermentableGrid').jqxGrid('sortby', 'f_amount', 'desc'); +// $('#fermentableGrid').jqxGrid('sortby', 'f_amount', 'desc'); calcFermentables(); }); };