Sun, 24 Feb 2019 17:23:52 +0100
Version 0.1.0. Removed localization because it was messy, parts were localized and others not. In production and recipes ingredients not in stock are marked in red.
--- a/config.status Sat Feb 23 22:56:35 2019 +0100 +++ b/config.status Sun Feb 24 17:23:52 2019 +0100 @@ -621,7 +621,7 @@ S["CC"]="gcc" S["CYEARS"]="2016-2019" S["COPYRIGHT"]="Copyright (C) 2016-2019 Michiel Broek, All Rights Reserved" -S["VERSION"]="0.0.6" +S["VERSION"]="0.1.0" S["PACKAGE"]="bms" S["SUBDIRS"]="bmsd doc script tools www" S["target_alias"]="" @@ -709,7 +709,7 @@ D["PACKAGE_STRING"]=" \"\"" D["PACKAGE_BUGREPORT"]=" \"\"" D["PACKAGE_URL"]=" \"\"" -D["VERSION"]=" \"0.0.6\"" +D["VERSION"]=" \"0.1.0\"" D["COPYRIGHT"]=" \"Copyright (C) 2016-2019 Michiel Broek, All Rights Reserved\"" D["STDC_HEADERS"]=" 1" D["HAVE_SYS_TYPES_H"]=" 1"
--- a/configure Sat Feb 23 22:56:35 2019 +0100 +++ b/configure Sun Feb 24 17:23:52 2019 +0100 @@ -2031,7 +2031,7 @@ PACKAGE="bms" -VERSION="0.0.6" +VERSION="0.1.0" COPYRIGHT="Copyright (C) 2016-2019 Michiel Broek, All Rights Reserved" CYEARS="2016-2019"
--- a/configure.ac Sat Feb 23 22:56:35 2019 +0100 +++ b/configure.ac Sun Feb 24 17:23:52 2019 +0100 @@ -8,7 +8,7 @@ dnl General settings dnl After changeing the version number, run autoconf! PACKAGE="bms" -VERSION="0.0.6" +VERSION="0.1.0" COPYRIGHT="Copyright (C) 2016-2019 Michiel Broek, All Rights Reserved" CYEARS="2016-2019" AC_SUBST(PACKAGE)
--- a/www/js/global.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/global.js Sun Feb 24 17:23:52 2019 +0100 @@ -698,7 +698,7 @@ var mashlist = new $.jqx.dataAdapter(mashProfileSource); - +/* function getLocalization() { var localizationobj = {}; localizationobj.pagerGoToPageString = "Gehe zu:"; @@ -746,7 +746,7 @@ localizationobj.months = months; return localizationobj; } - +*/ $(document).ready(function () {
--- a/www/js/inv_equipments.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/inv_equipments.js Sun Feb 24 17:23:52 2019 +0100 @@ -222,7 +222,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -277,7 +276,7 @@ { text: 'Kook volume', datafield: 'boil_size', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'Batch volume', datafield: 'batch_size', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'Opmerkingen', datafield: 'notes' }, - { text: 'Wijzig', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { + { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { // open the popup window when the user clicks a button.
--- a/www/js/inv_fermentables.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/inv_fermentables.js Sun Feb 24 17:23:52 2019 +0100 @@ -197,7 +197,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -243,26 +242,29 @@ { text: 'Vergistbaar product', datafield: 'name', menu: false }, { text: 'Soort', width: 135, filtertype: 'list', datafield: 'type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;' class='jqx-center-align'>" + FermentableTypeData[rowdata.type].nl + "</div>"; - }, + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + FermentableTypeData[value].nl + "</span>"; + } }, { text: 'Graan type', datafield: 'graintype', align: 'center', cellsalign: 'center', width: 125, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;' class='jqx-center-align'>" + GrainTypeData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + GrainTypeData[value].nl + "</span>"; } }, { text: 'EBC', datafield: 'color', width: 60, align: 'right', menu: false, cellsalign: 'right' }, { text: 'Opbrengst', datafield: 'yield', width: 70, align: 'right', menu: false, cellsalign: 'right', cellsformat: 'p1' }, { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', menu: false, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (value == 0) - return "<div style='margin: 4px;' class='jqx-right-align'></div>"; - if (value < 1) - return "<div style='margin: 4px;' class='jqx-right-align'>"+value * 1000+" gr</div>"; - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value,"f1")+" kg</div>"; + var amount = ""; + if (value > 0) { + if (value < 1) + amount = value * 1000+" gr"; + else + amount = dataAdapter.formatNumber(value,"f1")+" kg"; + } + return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>"; } }, - { text: 'Wijzig', datafield: 'Edit', width: 100, align: 'center', menu: false, columntype: 'button', cellsrenderer: function () { + { text: '', datafield: 'Edit', width: 100, align: 'center', menu: false, columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { // open the popup window when the user clicks a button.
--- a/www/js/inv_hops.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/inv_hops.js Sun Feb 24 17:23:52 2019 +0100 @@ -180,7 +180,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -218,14 +217,14 @@ columns: [ { text: 'Herkomst', datafield: 'origin', width: 150 }, { text: 'Hop Naam', datafield: 'name', menu: false }, - { text: 'Soort', datafield: 'type', align: 'center', menu: false, width: 90, + { text: 'Soort', datafield: 'type', align: 'left', menu: false, width: 90, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;' class='jqx-center-align'>" + HopTypeData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopTypeData[value].nl + '</span>'; } }, - { text: 'Vorm', datafield: 'form', align: 'center', menu: false, width: 90, + { text: 'Vorm', datafield: 'form', align: 'left', menu: false, width: 90, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;' class='jqx-center-align'>" + HopFormData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopFormData[value].nl + '</span>'; } }, { text: 'Alpha %', datafield: 'alpha', width: 80, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' }, @@ -235,14 +234,17 @@ { text: 'Oogst datum', datafield: 'production_date', align: 'center', cellsalign: 'center', menu: false, width: 110 }, { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'f1', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (value == 0) - return "<div style='margin: 4px;' class='jqx-right-align'></div>"; - if (value < 1000) - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value,"f1")+" gr</div>"; - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value / 1000.0,"f1")+" kg</div>"; + var amount = ""; + if (value > 0) { + if (value < 1000) + amount = dataAdapter.formatNumber(value,"f1")+" gr"; + else + amount = dataAdapter.formatNumber(value / 1000.0,"f1")+" kg"; + } + return '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>'; } }, - { text: 'Wijzig', datafield: 'Wijzig', columntype: 'button', width: 100, align: 'center', menu: false, cellsrenderer: function () { + { text: '', datafield: 'Wijzig', columntype: 'button', width: 100, align: 'center', menu: false, cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { // open the popup window when the user clicks a button.
--- a/www/js/inv_miscs.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/inv_miscs.js Sun Feb 24 17:23:52 2019 +0100 @@ -175,7 +175,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -205,44 +204,50 @@ filtermode: 'excel', columns: [ { text: 'Ingredient naam', datafield: 'name', menu: false }, - { text: 'Type', datafield: 'type', align: 'center', cellsalign: 'center', width: 120, + { text: 'Type', datafield: 'type', align: 'left', width: 120, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;' class='jqx-center-align'>" + MiscTypeData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + MiscTypeData[value].nl + "</span>"; } }, - { text: 'Gebruik', datafield: 'use_use', align: 'center', cellsalign: 'center', width: 120, + { text: 'Gebruik', datafield: 'use_use', align: 'left', width: 120, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;' class='jqx-center-align'>" + MiscUseData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + MiscUseData[value].nl + "</span>"; } }, { text: 'Tijd', datafield: 'time', width: 90, align: 'left', menu: false, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (value == 0) - return "<div style='margin: 4px;' class='jqx-left-align'></div>"; - if (value == 1) - return "<div style='margin: 4px;' class='jqx-left-align'>1 minuut</div>"; - if (value < 60) - return "<div style='margin: 4px;' class='jqx-left-align'>"+dataAdapter.formatNumber(value, "f0")+" minuten</div>"; - if (value == 60) - return "<div style='margin: 4px;' class='jqx-left-align'>1 uur</div>"; - if (value < 1440) - return "<div style='margin: 4px;' class='jqx-left-align'>"+dataAdapter.formatNumber(value / 60, "f0")+" uren</div>"; - if (value == 1440) - return "<div style='margin: 4px;' class='jqx-left-align'>1 dag</div>"; - return "<div style='margin: 4px;' class='jqx-left-align'>"+dataAdapter.formatNumber(value / 1440, "f0")+" dagen</div>"; + var duration = ""; + if (value > 0) { + if (value == 1) + duration = "1 minuut"; + else if (value < 60) + duration = dataAdapter.formatNumber(value, "f0")+" minuten"; + else if (value == 60) + duration = "1 uur"; + else if (value < 1440) + duration = dataAdapter.formatNumber(value / 60, "f0")+" uren"; + else if (value == 1440) + duration = "1 dag"; + else + duration = dataAdapter.formatNumber(value / 1440, "f0")+" dagen"; + } + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + duration + "</span>"; } }, - { text: 'Voorraad', datafield: 'inventory', width: 110, menu: false, align: 'right', cellsalign: 'right', + { text: 'Voorraad', datafield: 'inventory', width: 110, menu: false, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (value == 0) - return "<div style='margin: 4px;' class='jqx-right-align'></div>"; - if (rowdata.amount_is_weight) - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value,"f1")+" gr</div>"; - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value,"f1")+" ml</div>"; + var amount = ""; + if (value > 0) { + if (rowdata.amount_is_weight) + amount = dataAdapter.formatNumber(value,"f1")+" gr"; + else + amount = dataAdapter.formatNumber(value,"f1")+" ml"; + } + return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>"; } }, { text: 'THT datum', datafield: 'tht_date', width: 100, menu: false, align: 'center', cellsalign: 'center' }, - { text: 'Wijzig', datafield: 'Edit', columntype: 'button', width: 100, menu: false, align: 'center', cellsrenderer: function () { + { text: '', datafield: 'Edit', columntype: 'button', width: 100, menu: false, align: 'center', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { // open the popup window when the user clicks a button.
--- a/www/js/inv_waters.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/inv_waters.js Sun Feb 24 17:23:52 2019 +0100 @@ -158,7 +158,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -192,12 +191,13 @@ { text: 'Onbeperkt', datafield: 'unlimited_stock', columntype: 'checkbox', width: 80 }, { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if ((value == 0) || rowdata.unlimited_stock) - return "<div style='margin: 4px;' class='jqx-right-align'></div>"; - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value,"f1")+" L</div>"; + var amount = ""; + if (value > 0 && rowdata.unlimited_stock == 0) + amount = dataAdapter.formatNumber(value,"f1")+" L"; + return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>"; } }, - { text: 'Wijzig', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { + { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { // open the popup window when the user clicks a button.
--- a/www/js/inv_yeasts.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/inv_yeasts.js Sun Feb 24 17:23:52 2019 +0100 @@ -201,7 +201,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -249,20 +248,23 @@ } }, { text: 'SVG', datafield: 'attenuation', width: 80, align: 'right', cellsalign: 'right', menu: false, cellsformat: 'p1' }, - { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', menu: false, cellsalign: 'right', + { text: 'Voorraad', datafield: 'inventory', width: 100, align: 'right', menu: false, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (value == 0) - return "<div style='margin: 4px;' class='jqx-right-align'></div>"; - if ((rowdata.form == 0) && (value > 1)) - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value,"f0")+" pakken</div>"; - if (rowdata.form == 0) - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value,"f0")+" pak</div>"; - if (rowdata.form == 1) - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000,"f1")+" gram</div>"; - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000,"f1")+" ml</div>"; + var amount = ""; + if (value > 0) { + if ((rowdata.form == 0) && (value > 1)) + amount = dataAdapter.formatNumber(value,"f0")+" pakken"; + else if (rowdata.form == 0) + amount = dataAdapter.formatNumber(value,"f0")+" pak"; + else if (rowdata.form == 1) + amount = dataAdapter.formatNumber(value * 1000,"f1")+" gram"; + else + amount = dataAdapter.formatNumber(value * 1000,"f1")+" ml"; + } + return "<span style='margin: 3px; margin-top: 6px; float: right;'>" + amount + "</span>"; } }, - { text: 'Wijzig', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', menu: false, cellsrenderer: function () { + { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', menu: false, cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { // open the popup window when the user clicks a button.
--- a/www/js/prod_edit.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/prod_edit.js Sun Feb 24 17:23:52 2019 +0100 @@ -3001,11 +3001,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; @@ -3129,28 +3128,35 @@ }, columns: [ { text: 'Vergistbaar ingrediënt', datafield: 'f_name', - cellsrenderer: function (row, columnfield, value, defaulthtml, columnproperties) { - var rowData = $("#fermentableGrid").jqxGrid('getrowdata', row); - return "<span style='margin: 3px; margin-top: 6px; float: "+ - columnproperties.cellsalign+"'>" +rowData.f_supplier+" / "+rowData.f_name+" ("+rowData.f_color+" EBC)</span>"; + cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + + rowdata.f_supplier+" / "+rowdata.f_name+" ("+rowdata.f_color+" EBC)</span>"; } }, { text: 'Type', width: 100, datafield: 'f_type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + FermentableTypeData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + FermentableTypeData[value].nl + "</span>"; } }, { text: 'Moment', width: 110, datafield: 'f_added', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + AddedData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + AddedData[value].nl + "</span>"; } }, { text: 'Opbrengst', 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: 'Voorraad 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 '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + + color + ';">' +fermentableAdapter.formatNumber(value, "f3") + '</span>'; + } + }, + { 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) { if (dataRecord.stage <= 3) { @@ -3207,11 +3213,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; @@ -3289,69 +3294,64 @@ }, columns: [ { text: 'Hop', datafield: 'h_name', - cellsrenderer: function (row, columnfield, value, defaulthtml, columnproperties) { - var rowData = $("#hopGrid").jqxGrid('getrowdata', row); - return "<span style='margin: 3px; margin-top: 6px; float: "+ - columnproperties.cellsalign+"'>" +rowData.h_origin+" / "+rowData.h_name+"</span>"; + cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" +rowdata.h_origin+" / "+rowdata.h_name+"</span>"; }, }, { text: 'Type', width: 90, datafield: 'h_type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + HopTypeData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopTypeData[value].nl + '</span>'; } }, { text: 'Vorm', width: 90, datafield: 'h_form', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + HopFormData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopFormData[value].nl + '</span>'; } }, { 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 "<div style='margin: 4px;'>" + HopUseData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopUseData[value].nl + '</span>'; } }, { text: 'Tijdsduur', datafield: 'h_time', width: 90, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { + var duration = ''; if ((rowdata.h_useat == 2) || (rowdata.h_useat == 4)) // Boil, Whirlpool - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" min.</div>"; - if (rowdata.h_useat == 5) // Dry hop - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value/1440, "f0")+" dagen</div>"; - else - return "<div style='margin: 4px;'></div>"; + duration = dataAdapter.formatNumber(value, "f0")+" min."; + else if (rowdata.h_useat == 5) // Dry hop + duration = dataAdapter.formatNumber(value/1440, "f0")+" dagen"; + return '<span style="margin: 4px; margin-top: 6px; float: right;">' + duration + '</span>'; } }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>" + dataAdapter.formatNumber(ibu, "f1") + "</div>"; + 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 '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(ibu, "f1") + '</span>'; } }, - { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000, "f1")+" gr</div>"; - else - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f1")+" kg</div>"; + amount = dataAdapter.formatNumber(value * 1000, "f1") + ' gr'; + return '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>'; } }, - { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000, "f1")+" gr</div>"; - else - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f1")+" kg</div>"; + amount = dataAdapter.formatNumber(value * 1000, "f1") + ' gr'; + return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>'; } }, - { 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) { if (dataRecord.stage <= 3) { @@ -3466,11 +3466,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; @@ -3533,39 +3532,42 @@ { text: 'Ingredient', datafield: 'm_name' }, { text: 'Type', width: 140, datafield: 'm_type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + MiscTypeData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + MiscTypeData[value].nl + "</span>"; } }, { text: 'Gebruik', width: 140, datafield: 'm_use_use', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + MiscUseData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + MiscUseData[value].nl + "</span>"; } }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" min.</div>"; - } else if ((rowdata.m_use_use == 3) || (rowdata.m_use_use == 4)) { // Primary or Secondary - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value/1440, "f0")+" dagen</div>"; - } else { - var tijd = 0; - return "<div style='margin: 4px;'> </div>"; - } + 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 '<span style="margin: 4px; margin-top: 6px; float: right;">' + duration + '</span>'; }, }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr+"</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: right;">' + + dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr + '</span>'; } }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr+"</div>"; + var color = '#ffffff'; + if (value < rowdata.m_amount) + color = '#ff4040'; + var amount = dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr; + return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>'; } }, - { 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) { if (dataRecord.stage <= 3) { @@ -3630,7 +3632,6 @@ source: yeastAdapter, theme: theme, selectionmode: 'singlerow', - localization: getLocalization(), showtoolbar: true, rendertoolbar: function (toolbar) { var me = this; @@ -3710,7 +3711,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 "<div style='margin: 4px;'>" + YeastFormData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + YeastFormData[value].nl + '</span>'; } }, { text: 'Min. °C', width: 70, align: 'right', cellsalign: 'right', datafield: 'y_min_temperature' }, @@ -3718,32 +3719,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 "<div style='margin: 4px;'>" + YeastUseData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + YeastUseData[value].nl + '</span>'; } }, { text: 'Hoeveel', datafield: 'y_amount', width: 100, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (rowdata.y_form == 0) { // Liquid - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" pk</div>"; - } else if (rowdata.y_form == 1) { // Dry - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value*1000, "f1")+" gr</div>"; - } else { - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value*1000, "f0")+" ml</div>"; - } + 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 '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>'; } }, { text: 'Voorraad', datafield: 'y_inventory', width: 100, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (rowdata.y_form == 0) { // Liquid - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" pk</div>"; - } else if (rowdata.y_form == 1) { // Dry - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value*1000, "f1")+" gr</div>"; - } else { - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value*1000, "f0")+" ml</div>"; - } + 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 '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>'; } }, - { 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) { if (dataRecord.stage <= 3) { @@ -3826,7 +3828,6 @@ source: mashAdapter, theme: theme, selectionmode: 'singlerow', - localization: getLocalization(), showtoolbar: true, rendertoolbar: function (toolbar) { var me = this; @@ -3859,15 +3860,15 @@ { text: 'Stap naam', datafield: 'step_name' }, { text: 'Stap type', datafield: 'step_type', width: 175, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + MashStepTypeData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + MashStepTypeData[value].nl + '</span>'; } }, { 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) { if (dataRecord.stage <= 3) {
--- a/www/js/prod_inprod.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/prod_inprod.js Sun Feb 24 17:23:52 2019 +0100 @@ -43,7 +43,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>"); @@ -62,10 +61,10 @@ { text: 'Naam', datafield: 'name' }, { text: 'Fase', datafield: 'stage', width: 130, cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + StageData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + StageData[value].nl + "</span>"; } }, - { text: 'Wijzig', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { + { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { var datarecord = dataAdapter.records[row];
--- a/www/js/profile_fermentation.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/profile_fermentation.js Sun Feb 24 17:23:52 2019 +0100 @@ -239,7 +239,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -266,9 +265,8 @@ { text: 'Min. start °C', datafield: 'inittemp_lo', width: 150, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'Max. start °C', datafield: 'inittemp_hi', width: 150, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'Stappen', datafield: 'totalsteps', width: 80, align: 'right', cellsalign: 'right' }, - { text: 'Tijdsduur', datafield: 'duration', width: 150, align: 'right', cellsalign: 'right', - cellsrenderer: function (row, columnfield, value, defaulthtml, columnproperties) { - //var rowData = $("#fermentableGrid").jqxGrid('getrowdata', row); + { text: 'Tijdsduur', datafield: 'duration', width: 150, align: 'right', + cellsrenderer: function (row, columnfield, value, defaulthtml, column) { if (value < 24) { var show = value+" uur"; } else { @@ -279,10 +277,10 @@ else var show = days+" dagen, "+hours+" uur"; } - return "<span style='margin: 3px; margin-top: 6px; float: "+columnproperties.cellsalign+"'>"+show+"</span>"; + return "<span style='margin: 3px; margin-top: 6px; float: right;'>"+show+"</span>"; } }, - { text: 'Wijzig', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { + { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { editrow = row;
--- a/www/js/profile_mash.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/profile_mash.js Sun Feb 24 17:23:52 2019 +0100 @@ -1,5 +1,5 @@ /***************************************************************************** - * Copyright (C) 2014-2018 + * Copyright (C) 2014-2019 * * Michiel Broek <mbroek at mbse dot eu> * @@ -174,7 +174,6 @@ source: stepAdapter, theme: theme, selectionmode: 'singlerow', - localization: getLocalization(), showtoolbar: true, rendertoolbar: function (toolbar) { var me = this; @@ -183,7 +182,7 @@ container.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />'); container.append('<input style="margin-left: 450px;" id="deleterowbutton" type="button" value="Verwijder stap" />'); $("#addrowbutton").jqxButton({ template: "primary", theme: theme, width: 150 }); - $("#deleterowbutton").jqxButton({ template: "primary", theme: theme, width: 150 }); + $("#deleterowbutton").jqxButton({ template: "danger", theme: theme, width: 150 }); // create new row. $("#addrowbutton").on('click', function () { var datarow = generaterow(); @@ -208,9 +207,9 @@ }, { text: 'Begin °C', datafield: 'step_temp', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'Eind °C', datafield: 'end_temp', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, - { text: 'Rusttijd', datafield: 'step_time', width: 80, align: 'right', cellsalign: 'right' }, - { text: 'Opwarmtijd', datafield: 'ramp_time', width: 80, 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: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { steprow = row; @@ -240,7 +239,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>"); @@ -261,7 +259,7 @@ columns: [ { text: 'Maish schema', datafield: 'name', width: 250 }, { text: 'Opmerkingen', datafield: 'notes' }, - { text: 'Wijzig', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { + { text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { editrow = row;
--- a/www/js/profile_styles.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/profile_styles.js Sun Feb 24 17:23:52 2019 +0100 @@ -130,7 +130,6 @@ }); } }; - var srcType = [ "Lager", "Ale", "Mead", "Wheat", "Mixed", "Cider" ]; // initialize the input fields. $("#name").jqxInput({ theme: theme, width: 320, height: 23 }); $("#category").jqxInput({ theme: theme, width: 320, height: 23 }); @@ -180,7 +179,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -232,7 +230,7 @@ { text: 'Co2', menu: false, datafield: 'carb_max', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'ABV', menu: false, datafield: 'abv_min', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'ABV', menu: false, datafield: 'abv_max', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, - { text: 'Wijzig', menu: false, datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { + { text: '', menu: false, datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { // open the popup window when the user clicks a button.
--- a/www/js/profile_water.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/profile_water.js Sun Feb 24 17:23:52 2019 +0100 @@ -151,7 +151,6 @@ source: dataAdapter, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>"); @@ -187,7 +186,7 @@ { text: 'Cl', datafield: 'chloride', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'SO4', datafield: 'sulfate', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, { text: 'pH', datafield: 'ph', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f1' }, - { text: 'Wijzig', datafield: 'Edit', width: 100, columntype: 'button', cellsrenderer: function () { + { text: '', datafield: 'Edit', width: 100, columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { // open the popup window when the user clicks a button.
--- 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 "<span style='margin: 3px; margin-top: 6px; float: "+ - columnproperties.cellsalign+"'>" +rowData.f_supplier+" / "+rowData.f_name+" ("+rowData.f_color+" EBC)</span>"; + cellsrenderer: function (index, datafield, value, defaulvalue, column, rowdata) { + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + + rowdata.f_supplier+" / "+rowdata.f_name+" ("+rowdata.f_color+" EBC)</span>"; } }, { text: 'Type', width: 100, datafield: 'f_type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + FermentableTypeData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + FermentableTypeData[value].nl + "</span>"; } }, { text: 'Moment', width: 110, datafield: 'f_added', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + AddedData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + AddedData[value].nl + "</span>"; } }, { 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 '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + + color + ';">' +fermentableAdapter.formatNumber(value, "f3") + '</span>'; + } + }, + { 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 "<span style='margin: 3px; margin-top: 6px; float: "+ - columnproperties.cellsalign+"'>" +rowData.h_origin+" / "+rowData.h_name+"</span>"; + cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" +rowdata.h_origin+" / "+rowdata.h_name+"</span>"; }, }, { text: 'Type', width: 90, datafield: 'h_type', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + HopTypeData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopTypeData[value].nl + '</span>'; } }, { text: 'Vorm', width: 90, datafield: 'h_form', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + HopFormData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopFormData[value].nl + '</span>'; } }, { 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 "<div style='margin: 4px;'>" + HopUseData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + HopUseData[value].nl + '</span>'; } }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" min.</div>"; - if (rowdata.h_useat == 5) // Dry hop - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value/1440, "f0")+" dagen</div>"; - else - return "<div style='margin: 4px;'></div>"; + 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 '<span style="margin: 4px; margin-top: 6px; float: right;">' + duration + '</span>'; } }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>" + dataAdapter.formatNumber(ibu, "f1") + "</div>"; + 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 '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(ibu, "f1") + '</span>'; } }, - { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000, "f1")+" gr</div>"; - else - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f1")+" kg</div>"; + amount = dataAdapter.formatNumber(value * 1000, "f1") + ' gr'; + return '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>'; } }, - { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000, "f1")+" gr</div>"; - else - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f1")+" kg</div>"; + amount = dataAdapter.formatNumber(value * 1000, "f1") + ' gr'; + return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>'; } }, - { 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 "<div style='margin: 4px;'>" + MiscTypeData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + MiscTypeData[value].nl + "</span>"; } }, { text: 'Gebruik', width: 140, datafield: 'm_use_use', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - return "<div style='margin: 4px;'>" + MiscUseData[value].nl + "</div>"; + return "<span style='margin: 3px; margin-top: 6px; float: left;'>" + MiscUseData[value].nl + "</span>"; } }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" min.</div>"; - } else if ((rowdata.m_use_use == 3) || (rowdata.m_use_use == 4)) { // Primary or Secondary - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value/1440, "f0")+" dagen</div>"; - } else { - var tijd = 0; - return "<div style='margin: 4px;'> </div>"; - } + 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 '<span style="margin: 4px; margin-top: 6px; float: right;">' + duration + '</span>'; }, }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr+"</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: right;">' + + dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr + '</span>'; }, }, { 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 "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr+"</div>"; + var color = '#ffffff'; + if (value < rowdata.m_amount) + color = '#ff4040'; + var amount = dataAdapter.formatNumber(value * 1000,"f2")+" "+vstr; + return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>'; }, }, - { 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 "<div style='margin: 4px;'>" + YeastFormData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + YeastFormData[value].nl + '</span>'; } }, { 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 "<div style='margin: 4px;'>" + YeastUseData[value].nl + "</div>"; + return '<span style="margin: 4px; margin-top: 6px; float: left;">' + YeastUseData[value].nl + '</span>'; } }, { text: 'Hoeveel', datafield: 'y_amount', width: 100, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (rowdata.y_form == 0) { // Liquid - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" pk</div>"; - } else if (rowdata.y_form == 1) { // Dry - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value*1000, "f1")+" gr</div>"; - } else { - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value*1000, "f0")+" ml</div>"; - } + 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 '<span style="margin: 4px; margin-top: 6px; float: right;">' + amount + '</span>'; } }, { text: 'Voorraad', datafield: 'y_inventory', width: 100, align: 'right', cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { - if (rowdata.y_form == 0) { // Liquid - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value, "f0")+" pk</div>"; - } else if (rowdata.y_form == 1) { // Dry - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value*1000, "f1")+" gr</div>"; - } else { - return "<div style='margin: 4px;' class='jqx-right-align'>"+dataAdapter.formatNumber(value*1000, "f0")+" ml</div>"; - } + 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 '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + color + ';">' + amount + '</span>'; } }, - { 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;
--- a/www/js/rec_main.js Sat Feb 23 22:56:35 2019 +0100 +++ b/www/js/rec_main.js Sun Feb 24 17:23:52 2019 +0100 @@ -48,13 +48,12 @@ groupable: true, theme: theme, showstatusbar: true, - localization: getLocalization(), renderstatusbar: function (statusbar) { var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>"); container.append(addButton); statusbar.append(container); - addButton.jqxButton({ theme: theme, width: 120, height: 20 }); + addButton.jqxButton({ theme: theme, width: 100, height: 20 }); // add new recipe. addButton.click(function (event) { var url= "rec_new.php?return=rec_main.php"; @@ -72,7 +71,7 @@ { text: 'EBC', datafield: 'est_color', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f0' }, { text: 'IBU', datafield: 'est_ibu', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'f0' }, { text: 'ABV', datafield: 'est_abv', width: 60, align: 'right', cellsalign: 'right', cellsformat: 'p1' }, - { text: 'Wijzig', datafield: 'Edit', width: 120, align: 'center', columntype: 'button', cellsrenderer: function () { + { text: '', datafield: 'Edit', width: 120, align: 'center', columntype: 'button', cellsrenderer: function () { return "Wijzig"; }, buttonclick: function (row) { var datarecord = dataAdapter.records[row];