diff -r 0ea9dfb3fce9 -r 124af734af68 www/js/rec_edit.js --- a/www/js/rec_edit.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/rec_edit.js Sun Feb 24 17:23:52 2019 +0100 @@ -1734,11 +1734,10 @@ var fermentableAdapter = new $.jqx.dataAdapter(fermentableSource); $("#fermentableGrid").jqxGrid({ width: 1240, - height: 450, + height: 500, source: fermentableAdapter, theme: theme, selectionmode: 'singlerow', - localization: getLocalization(), showtoolbar: true, rendertoolbar: function (toolbar) { var me = this; @@ -1861,28 +1860,35 @@ }, columns: [ { text: 'Vergistbaar ingrediënt', datafield: 'f_name', - cellsrenderer: function (row, columnfield, value, defaulthtml, columnproperties) { - var rowData = $("#fermentableGrid").jqxGrid('getrowdata', row); - return "" +rowData.f_supplier+" / "+rowData.f_name+" ("+rowData.f_color+" EBC)"; + cellsrenderer: function (index, datafield, value, defaulvalue, column, rowdata) { + return "" + + rowdata.f_supplier+" / "+rowdata.f_name+" ("+rowdata.f_color+" EBC)"; } }, { text: 'Type', width: 100, datafield: 'f_type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + FermentableTypeData[value].nl + "
"; + return "" + FermentableTypeData[value].nl + ""; } }, { text: 'Moment', width: 110, datafield: 'f_added', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + AddedData[value].nl + "
"; + return "" + AddedData[value].nl + ""; } }, { text: 'Opbrengst', editable: false, datafield: 'f_yield', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'p1' }, { text: 'Gewicht Kg', datafield: 'f_amount', width: 120, align: 'right', cellsalign: 'right', cellsformat: 'f3' }, - { text: 'Voorr. Kg', datafield: 'f_inventory', width: 120, align: 'right', cellsalign: 'right', cellsformat: 'f3' }, - { text: 'Percent', datafield: 'f_percentage', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'p1' }, + { text: 'Voorr. Kg', datafield: 'f_inventory', width: 120, align: 'right', + cellsrenderer: function (row, columnfield, value, defaulthtml, columnproperties, rowdata) { + var color = '#ffffff'; + if (value < rowdata.f_amount) + color = '#ff4040'; + return '' +fermentableAdapter.formatNumber(value, "f3") + ''; + } + }, + { text: 'Procent', datafield: 'f_percentage', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'p1' }, { text: '100%', align: 'center', datafield: 'f_adjust_to_total_100', columntype: 'checkbox', width: 70 }, - { text: 'Wijzig', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { + { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { fermentableRow = row; @@ -1937,11 +1943,10 @@ var hopAdapter = new $.jqx.dataAdapter(hopSource); $("#hopGrid").jqxGrid({ width: 1240, - height: 510, + height: 560, source: hopAdapter, theme: theme, selectionmode: 'singlerow', - localization: getLocalization(), showtoolbar: true, rendertoolbar: function (toolbar) { var me = this; @@ -2018,69 +2023,64 @@ }, columns: [ { text: 'Hop', datafield: 'h_name', - cellsrenderer: function (row, columnfield, value, defaulthtml, columnproperties) { - var rowData = $("#hopGrid").jqxGrid('getrowdata', row); - return "" +rowData.h_origin+" / "+rowData.h_name+""; + cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { + return "" +rowdata.h_origin+" / "+rowdata.h_name+""; }, }, { text: 'Type', width: 90, datafield: 'h_type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + HopTypeData[value].nl + "
"; + return '' + HopTypeData[value].nl + ''; } }, { text: 'Vorm', width: 90, datafield: 'h_form', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + HopFormData[value].nl + "
"; + return '' + HopFormData[value].nl + ''; } }, { text: 'Alpha', datafield: 'h_alpha', width: 80, align: 'right', cellsalign: 'right', cellsformat: 'p1' }, { text: 'Gebruik', width: 110, datafield: 'h_useat', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + HopUseData[value].nl + "
"; + return '' + HopUseData[value].nl + ''; } }, { text: 'Tijdsduur', datafield: 'h_time', width: 90, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if ((rowdata.h_useat == 2) || (rowdata.h_useat == 4)) // Boil, Whirlpool - return "
"+dataAdapter.formatNumber(value, "f0")+" min.
"; - if (rowdata.h_useat == 5) // Dry hop - return "
"+dataAdapter.formatNumber(value/1440, "f0")+" dagen
"; - else - return "
"; + var duration = ''; + if ((rowdata.h_useat == 2) || (rowdata.h_useat == 4)) // Boil, Whirlpool + duration = dataAdapter.formatNumber(value, "f0")+" min."; + else if (rowdata.h_useat == 5) // Dry hop + duration = dataAdapter.formatNumber(value/1440, "f0")+" dagen"; + return '' + duration + ''; } }, { text: 'IBU', datafield: 'ibu', width: 80, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - var ibu = toIBU(rowdata.h_useat, - rowdata.h_form, - preboil_sg, - parseFloat($("#batch_size").jqxNumberInput('decimal')), - parseFloat(rowdata.h_amount), - parseFloat(rowdata.h_time), - parseFloat(rowdata.h_alpha), - $("#ibu_method").val() - ); - return "
" + dataAdapter.formatNumber(ibu, "f1") + "
"; + var ibu = toIBU(rowdata.h_useat, rowdata.h_form, preboil_sg, parseFloat($("#batch_size").jqxNumberInput('decimal')), + parseFloat(rowdata.h_amount), parseFloat(rowdata.h_time), + parseFloat(rowdata.h_alpha), $("#ibu_method").val()); + return '' + dataAdapter.formatNumber(ibu, "f1") + ''; } }, - { text: 'Gewicht', datafield: 'h_amount', width: 110, align: 'right', cellsalign: 'right', + { text: 'Gewicht', datafield: 'h_amount', width: 110, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { + var amount = dataAdapter.formatNumber(value, "f1") + ' kg'; if (value < 1) - return "
"+dataAdapter.formatNumber(value * 1000, "f1")+" gr
"; - else - return "
"+dataAdapter.formatNumber(value, "f1")+" kg
"; + amount = dataAdapter.formatNumber(value * 1000, "f1") + ' gr'; + return '' + amount + ''; } }, - { text: 'Voorraad', datafield: 'h_inventory', width: 110, align: 'right', cellsalign: 'right', + { text: 'Voorraad', datafield: 'h_inventory', width: 110, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { + var color = '#ffffff'; + if (value < rowdata.h_amount) + color = '#ff4040'; + var amount = dataAdapter.formatNumber(value, "f1") + ' kg'; if (value < 1) - return "
"+dataAdapter.formatNumber(value * 1000, "f1")+" gr
"; - else - return "
"+dataAdapter.formatNumber(value, "f1")+" kg
"; + amount = dataAdapter.formatNumber(value * 1000, "f1") + ' gr'; + return '' + amount + ''; } }, - { text: 'Wijzig', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { + { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { hopRow = row; @@ -2193,11 +2193,10 @@ }); $("#miscGrid").jqxGrid({ width: 1240, - height: 525, + height: 575, source: miscAdapter, theme: theme, selectionmode: 'singlerow', - localization: getLocalization(), showtoolbar: true, rendertoolbar: function (toolbar) { var me = this; @@ -2259,39 +2258,42 @@ { text: 'Ingredient', datafield: 'm_name' }, { text: 'Type', width: 140, datafield: 'm_type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + MiscTypeData[value].nl + "
"; + return "" + MiscTypeData[value].nl + ""; } }, { text: 'Gebruik', width: 140, datafield: 'm_use_use', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + MiscUseData[value].nl + "
"; + return "" + MiscUseData[value].nl + ""; } }, { text: 'Tijd', datafield: 'm_time', width: 90, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (rowdata.m_use_use == 2) { // Boil - return "
"+dataAdapter.formatNumber(value, "f0")+" min.
"; - } else if ((rowdata.m_use_use == 3) || (rowdata.m_use_use == 4)) { // Primary or Secondary - return "
"+dataAdapter.formatNumber(value/1440, "f0")+" dagen
"; - } else { - var tijd = 0; - return "
"; - } + var duration = ''; + if (rowdata.m_use_use == 2) // Boil + duration = dataAdapter.formatNumber(value, "f0")+" min."; + else if ((rowdata.m_use_use == 3) || (rowdata.m_use_use == 4)) // Primary or Secondary + duration = dataAdapter.formatNumber(value/1440, "f0")+" dagen"; + return '' + duration + ''; }, }, { text: 'Hoeveel', datafield: 'm_amount', width: 110, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { var vstr = rowdata.m_amount_is_weight ? "gr":"ml"; - return "
"+dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr+"
"; + return '' + + dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr + ''; }, }, { text: 'Voorraad', datafield: 'm_inventory', width: 110, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { var vstr = rowdata.m_amount_is_weight ? "gr":"ml"; - return "
"+dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr+"
"; + var color = '#ffffff'; + if (value < rowdata.m_amount) + color = '#ff4040'; + var amount = dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr; + return '' + amount + ''; }, }, - { text: 'Wijzig', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { + { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { miscRow = row; @@ -2350,11 +2352,10 @@ var yeastAdapter = new $.jqx.dataAdapter(yeastSource); $("#yeastGrid").jqxGrid({ width: 1240, - height: 400, + height: 350, source: yeastAdapter, theme: theme, selectionmode: 'singlerow', - localization: getLocalization(), showtoolbar: true, rendertoolbar: function (toolbar) { var me = this; @@ -2429,7 +2430,7 @@ { text: 'Code', width: 90, datafield: 'y_product_id' }, { text: 'Soort', width: 100, datafield: 'y_form', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + YeastFormData[value].nl + "
"; + return '' + YeastFormData[value].nl + ''; } }, { text: 'Min. °C', width: 70, align: 'right', cellsalign: 'right', datafield: 'y_min_temperature' }, @@ -2437,32 +2438,33 @@ { text: 'Attn. %', width: 70, align: 'right', cellsalign: 'right', datafield: 'y_attenuation', cellsformat: 'f1' }, { text: 'Voor', width: 120, datafield: 'y_use', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "
" + YeastUseData[value].nl + "
"; + return '' + YeastUseData[value].nl + ''; } }, { text: 'Hoeveel', datafield: 'y_amount', width: 100, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (rowdata.y_form == 0) { // Liquid - return "
"+dataAdapter.formatNumber(value, "f0")+" pk
"; - } else if (rowdata.y_form == 1) { // Dry - return "
"+dataAdapter.formatNumber(value*1000, "f1")+" gr
"; - } else { - return "
"+dataAdapter.formatNumber(value*1000, "f0")+" ml
"; - } + var amount = dataAdapter.formatNumber(value*1000, "f0")+" ml"; + if (rowdata.y_form == 0) // Liquid + amount = dataAdapter.formatNumber(value, "f0")+" pk"; + else if (rowdata.y_form == 1) // Dry + amount = dataAdapter.formatNumber(value*1000, "f1")+" gr"; + return '' + amount + ''; } }, { text: 'Voorraad', datafield: 'y_inventory', width: 100, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (rowdata.y_form == 0) { // Liquid - return "
"+dataAdapter.formatNumber(value, "f0")+" pk
"; - } else if (rowdata.y_form == 1) { // Dry - return "
"+dataAdapter.formatNumber(value*1000, "f1")+" gr
"; - } else { - return "
"+dataAdapter.formatNumber(value*1000, "f0")+" ml
"; - } + var color = '#ffffff'; + if (value < rowdata.y_amount) + color = '#ff4040'; + var amount = dataAdapter.formatNumber(value*1000, "f0")+" ml"; + if (rowdata.y_form == 0) // Liquid + amount = dataAdapter.formatNumber(value, "f0")+" pk"; + else if (rowdata.y_form == 1) // Dry + amount = dataAdapter.formatNumber(value*1000, "f1")+" gr"; + return '' + amount + ''; } }, - { text: 'Wijzig', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { + { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { yeastRow = row; @@ -2543,7 +2545,6 @@ source: mashAdapter, theme: theme, selectionmode: 'singlerow', - localization: getLocalization(), showtoolbar: true, rendertoolbar: function (toolbar) { var me = this; @@ -2583,10 +2584,10 @@ }, { text: 'Start °C', datafield: 'step_temp', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'Eind °C', datafield: 'end_temp', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, - { text: 'Tijd', datafield: 'step_time', width: 90, align: 'right', cellsalign: 'right' }, - { text: 'Stap', datafield: 'ramp_time', width: 90, align: 'right', cellsalign: 'right' }, - { text: 'Infuse', datafield: 'step_infuse_amount', width: 90, align: 'right', cellsalign: 'right' }, - { text: 'Wijzig', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { + { text: 'Rust min.', datafield: 'step_time', width: 90, align: 'right', cellsalign: 'right' }, + { text: 'Stap min.', datafield: 'ramp_time', width: 90, align: 'right', cellsalign: 'right' }, + { text: 'Infuse L.', datafield: 'step_infuse_amount', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, + { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { mashRow = row;