www/js/rec_edit.js

changeset 805
488613f30789
parent 804
ac5c3e97fcf1
child 806
09f29253cc7e
equal deleted inserted replaced
804:ac5c3e97fcf1 805:488613f30789
101 var rw = ! ro, w100 = 110, w80 = 80; 101 var rw = ! ro, w100 = 110, w80 = 80;
102 if (ro) { // jqxNumberInput width -20 for no spinbuttons 102 if (ro) { // jqxNumberInput width -20 for no spinbuttons
103 w100 = 90; 103 w100 = 90;
104 w80 = 60; 104 w80 = 60;
105 } 105 }
106 $('#fermentableGrid').jqxGrid({ editable: rw });
107 $('#faddrowbutton').jqxDropDownList({ disabled: ro });
108 $('#finstockbutton').jqxCheckBox({ disabled: ro });
109 $('#fdeleterowbutton').jqxButton({ disabled: ro });
110 $('#hopGrid').jqxGrid({ editable: rw }); 106 $('#hopGrid').jqxGrid({ editable: rw });
111 $('#haddrowbutton').jqxDropDownList({ disabled: ro }); 107 $('#haddrowbutton').jqxDropDownList({ disabled: ro });
112 $('#hinstockbutton').jqxCheckBox({ disabled: ro }); 108 $('#hinstockbutton').jqxCheckBox({ disabled: ro });
113 $('#hdeleterowbutton').jqxButton({ disabled: ro }); 109 $('#hdeleterowbutton').jqxButton({ disabled: ro });
114 $('#miscGrid').jqxGrid({ editable: rw }); 110 $('#miscGrid').jqxGrid({ editable: rw });
247 colorn += (row.f_percentage / 100) * row.f_color; // For 8.6 Pt wort. 243 colorn += (row.f_percentage / 100) * row.f_color; // For 8.6 Pt wort.
248 } 244 }
249 } 245 }
250 $('#ferm_lintner').val(Math.round(parseFloat(lintner / mashkg))); 246 $('#ferm_lintner').val(Math.round(parseFloat(lintner / mashkg)));
251 to_100 = my_100; 247 to_100 = my_100;
252 if (to_100) {
253 $('#wf_amount').jqxNumberInput({ width: 90, readOnly: true, spinButtons: false });
254 } else {
255 $('#wf_amount').jqxNumberInput({ width: 110, readOnly: false, spinButtons: true });
256 }
257 248
258 // Estimate total recipe OG. 249 // Estimate total recipe OG.
259 dataRecord.est_og = estimate_sg(sugarsf + addedS, parseFloat(dataRecord.batch_size)); 250 dataRecord.est_og = estimate_sg(sugarsf + addedS, parseFloat(dataRecord.batch_size));
260 $('#est_og').val(dataRecord.est_og); 251 $('#est_og').val(dataRecord.est_og);
261 $('#est_og2').val(dataRecord.est_og); 252 $('#est_og2').val(dataRecord.est_og);
931 $('#fermentableGrid').jqxGrid({ 922 $('#fermentableGrid').jqxGrid({
932 width: 1240, 923 width: 1240,
933 height: 470, 924 height: 470,
934 source: fermentableAdapter, 925 source: fermentableAdapter,
935 theme: theme, 926 theme: theme,
936 selectionmode: 'singlerow', 927 editable: false,
937 showtoolbar: true,
938 rendertoolbar: function(toolbar) {
939 //var me = this;
940 var container = $('<div style="overflow: hidden; position: relative; margin: 5px;"></div>');
941 toolbar.append(container);
942 container.append('<div style="float: left; margin-left: 165px;" id="faddrowbutton"></div>');
943 container.append('<div style="float: left; margin-left: 10px; margin-top: 5px;">In voorraad:</div>');
944 container.append('<div style="float: left; margin-left: 10px;" id="finstockbutton"></div>');
945 container.append('<input style="float: left; margin-left: 400px;" id="fdeleterowbutton" type="button" value="Verwijder mout" />');
946 // add fermentable from dropdownlist.
947 $('#faddrowbutton').jqxDropDownList({
948 placeHolder: 'Kies mout:',
949 theme: theme,
950 template: 'primary',
951 source: fermentablelist,
952 displayMember: 'name',
953 width: 150,
954 height: 27,
955 dropDownWidth: 500,
956 dropDownHeight: 500,
957 renderer: function(index, label, value) {
958 var datarecord = fermentablelist.records[index];
959 return datarecord.supplier + ' / ' + datarecord.name + ' (' + datarecord.color + ' EBC)';
960 }
961 });
962 $('#faddrowbutton').on('select', function(event) {
963 if (event.args) {
964 var index, datarecord, row = {}, rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
965 index = event.args.index;
966 datarecord = fermentablelist.records[index];
967 row['f_name'] = datarecord.name;
968 row['f_origin'] = datarecord.origin;
969 row['f_supplier'] = datarecord.supplier;
970 row['f_amount'] = 0;
971 row['f_cost'] = datarecord.cost;
972 row['f_type'] = datarecord.type;
973 row['f_yield'] = datarecord.yield;
974 row['f_color'] = datarecord.color;
975 row['f_coarse_fine_diff'] = datarecord.coarse_fine_diff;
976 row['f_moisture'] = datarecord.moisture;
977 row['f_diastatic_power'] = datarecord.diastatic_power;
978 row['f_protein'] = datarecord.protein;
979 row['f_max_in_batch'] = datarecord.max_in_batch;
980 row['f_graintype'] = datarecord.graintype;
981 if (datarecord.add_after_boil) {
982 row['f_added'] = 2; // Fermentation
983 } else if ((datarecord.type == 1) || (datarecord.type == 4)) { // Sugar or Adjunct
984 row['f_added'] = 1; // Boil
985 } else {
986 row['f_added'] = 0; // Mash
987 }
988 row['f_dissolved_protein'] = datarecord.dissolved_protein;
989 row['f_recommend_mash'] = datarecord.recommend_mash;
990 row['f_add_after_boil'] = datarecord.add_after_boil;
991 if (rowscount == 0) {
992 // The first fermentable
993 row['f_adjust_to_total_100'] = 1;
994 row['f_percentage'] = 100;
995 } else {
996 row['f_adjust_to_total_100'] = 0;
997 row['f_percentage'] = 0;
998 }
999 row['f_di_ph'] = datarecord.di_ph;
1000 row['f_acid_to_ph_57'] = datarecord.acid_to_ph_57;
1001 row['f_inventory'] = datarecord.inventory;
1002 $('#fermentableGrid').jqxGrid('addrow', null, row);
1003 }
1004 });
1005 $('#finstockbutton').jqxCheckBox({ theme: theme, height: 27 });
1006 $('#finstockbutton').on('change', function(event) {
1007 fermentableinstock = event.args.checked;
1008 fermentablelist.dataBind();
1009 });
1010
1011 // delete selected fermentable.
1012 $('#fdeleterowbutton').jqxButton({ template: 'danger', theme: theme, height: 27, width: 150 });
1013 $('#fdeleterowbutton').on('click', function() {
1014 var id, percent, amount, i, rowdata, rowscount, selectedrowindex = $('#fermentableGrid').jqxGrid('getselectedrowindex');
1015 rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
1016 if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
1017 id = $('#fermentableGrid').jqxGrid('getrowid', selectedrowindex);
1018 percent = $('#fermentableGrid').jqxGrid('getcellvalue', id, 'f_percentage');
1019 amount = $('#fermentableGrid').jqxGrid('getcellvalue', id, 'f_amount');
1020 $('#fermentableGrid').jqxGrid('deleterow', id);
1021 }
1022 rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
1023 if (rowscount > 1) {
1024 if (to_100) {
1025 for (i = 0; i < rowscount; i++) {
1026 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
1027 if (rowdata.f_adjust_to_total_100) {
1028 rowdata.f_percentage += percent;
1029 rowdata.f_amount += amount;
1030 }
1031 }
1032 } else {
1033 calcPercentages();
1034 }
1035 } else {
1036 $('#fermentableGrid').jqxGrid('setcellvalue', 0, 'f_percentage', 100);
1037 }
1038 calcFermentables();
1039 calcIBUs();
1040 });
1041 },
1042 ready: function() { 928 ready: function() {
1043 calcFermentables(); 929 calcFermentables();
1044 $('#jqxTabs').jqxTabs('next'); 930 $('#jqxTabs').jqxTabs('next');
1045 }, 931 },
1046 columns: [ 932 columns: [
1047 { text: 'Vergistbaar ingredi&euml;nt', datafield: 'f_name', 933 { text: 'Vergistbaar ingredi&euml;nt', datafield: 'f_name' },
1048 cellsrenderer: function(index, datafield, value, defaulvalue, column, rowdata) { 934 { text: 'Leverancier', datafield: 'f_supplier', width: 180 },
1049 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + 935 { text: 'Kleur', datafield: 'f_color', width: 90, align: 'right',
1050 rowdata.f_supplier + ' / ' + rowdata.f_name + ' (' + rowdata.f_color + ' EBC)</span>'; 936 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
937 return '<span style="margin: 4px; margin-top: 6px; float: right;">' + dataAdapter.formatNumber(value, 'f0') + ' EBC</span>';
1051 } 938 }
1052 }, 939 },
1053 { text: 'Type', width: 100, datafield: 'f_type', 940 { text: 'Type', width: 100, datafield: 'f_type',
1054 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) { 941 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
1055 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + FermentableTypeData[value].nl + '</span>'; 942 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + FermentableTypeData[value].nl + '</span>';
1061 } 948 }
1062 }, 949 },
1063 { text: 'Maxinbatch', datafield: 'f_max_in_batch', hidden: true }, 950 { text: 'Maxinbatch', datafield: 'f_max_in_batch', hidden: true },
1064 { text: 'Opbrengst', editable: false, datafield: 'f_yield', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'p1' }, 951 { text: 'Opbrengst', editable: false, datafield: 'f_yield', width: 90, align: 'right', cellsalign: 'right', cellsformat: 'p1' },
1065 { text: 'Gewicht Kg', datafield: 'f_amount', width: 120, align: 'right', cellsalign: 'right', cellsformat: 'f3' }, 952 { text: 'Gewicht Kg', datafield: 'f_amount', width: 120, align: 'right', cellsalign: 'right', cellsformat: 'f3' },
1066 { text: 'Voorr. Kg', datafield: 'f_inventory', width: 120, align: 'right',
1067 cellsrenderer: function(row, columnfield, value, defaulthtml, columnproperties, rowdata) {
1068 var color = '#ffffff';
1069 if (value < rowdata.f_amount)
1070 color = '#ff4040';
1071 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' +
1072 color + ';">' + fermentableAdapter.formatNumber(value, 'f3') + '</span>';
1073 }
1074 },
1075 { text: 'Procent', datafield: 'f_percentage', width: 90, align: 'right', 953 { text: 'Procent', datafield: 'f_percentage', width: 90, align: 'right',
1076 cellsrenderer: function(row, columnfield, value, defaulthtml, columnproperties, rowdata) { 954 cellsrenderer: function(row, columnfield, value, defaulthtml, columnproperties, rowdata) {
1077 var color = '#ffffff'; 955 var color = '#ffffff';
1078 if (value > rowdata.f_max_in_batch) 956 if (value > rowdata.f_max_in_batch)
1079 color = '#ff4040'; 957 color = '#ff4040';
1080 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' + 958 return '<span style="margin: 4px; margin-top: 6px; float: right; color: ' +
1081 color + ';">' + fermentableAdapter.formatNumber(value, 'p1') + '</span>'; 959 color + ';">' + fermentableAdapter.formatNumber(value, 'p1') + '</span>';
1082 } 960 }
1083 }, 961 },
1084 { text: '100%', align: 'center', datafield: 'f_adjust_to_total_100', columntype: 'checkbox', width: 70 }, 962 { text: '100%', align: 'center', datafield: 'f_adjust_to_total_100', columntype: 'checkbox', width: 70 }
1085 { text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function() {
1086 return 'Wijzig';
1087 }, buttonclick: function(row) {
1088 fermentableRow = row;
1089 fermentableData = $('#fermentableGrid').jqxGrid('getrowdata', fermentableRow);
1090 $('#wf_name').val(fermentableData.f_name);
1091 $('#wf_amount').val(fermentableData.f_amount);
1092 $('#wf_percentage').val(fermentableData.f_percentage);
1093 $('#wf_max_in_batch').val(fermentableData.f_max_in_batch);
1094 $('#wf_adjust_to_total_100').val(fermentableData.f_adjust_to_total_100);
1095 $('#wf_added').val(fermentableData.f_added);
1096 // show the popup window.
1097 $('#popupFermentable').jqxWindow('open');
1098 }
1099 }
1100 ] 963 ]
1101 }); 964 });
1102 }; 965 };
1103 966
1104 // Inline hops editor 967 // Inline hops editor
2772 ], 2635 ],
2773 renderText: function(text) { 2636 renderText: function(text) {
2774 return (parseInt(text) * 2) + ' lintner'; 2637 return (parseInt(text) * 2) + ' lintner';
2775 } 2638 }
2776 }); 2639 });
2777 $('#popupFermentable').jqxWindow({
2778 width: 800,
2779 height: 300,
2780 position: { x: 230, y: 100 },
2781 resizable: false,
2782 theme: theme,
2783 isModal: true,
2784 autoOpen: false,
2785 cancelButton: $('#FermentableReady'),
2786 modalOpacity: 0.40
2787 });
2788 $('#FermentableReady').jqxButton({ template: 'success', width: '90px', theme: theme });
2789 $('#FermentableReady').click(function() {
2790 var row, rowID = $('#fermentableGrid').jqxGrid('getrowid', fermentableRow);
2791 console.log('FermentableReady row:' + fermentableRow + ' ID:' + rowID);
2792 row = {
2793 f_name: fermentableData.f_name,
2794 f_origin: fermentableData.f_origin,
2795 f_supplier: fermentableData.f_supplier,
2796 f_amount: fermentableData.f_amount,
2797 f_cost: fermentableData.f_cost,
2798 f_type: fermentableData.f_type,
2799 f_yield: fermentableData.f_yield,
2800 f_color: fermentableData.f_color,
2801 f_coarse_fine_diff: fermentableData.f_coarse_fine_diff,
2802 f_moisture: fermentableData.f_moisture,
2803 f_diastatic_power: fermentableData.f_diastatic_power,
2804 f_protein: fermentableData.f_protein,
2805 f_max_in_batch: fermentableData.f_max_in_batch,
2806 f_graintype: fermentableData.f_graintype,
2807 f_added: fermentableData.f_added,
2808 f_dissolved_protein: fermentableData.f_dissolved_protein,
2809 f_recommend_mash: fermentableData.f_recommend_mash,
2810 f_add_after_boil: fermentableData.f_add_after_boil,
2811 f_adjust_to_total_100: fermentableData.f_adjust_to_total_100,
2812 f_percentage: fermentableData.f_percentage,
2813 f_di_ph: fermentableData.f_di_ph,
2814 f_acid_to_ph_57: fermentableData.f_acid_to_ph_57,
2815 f_inventory: fermentableData.f_inventory,
2816 f_avail: fermentableData.f_avail
2817 };
2818 $('#fermentableGrid').jqxGrid('updaterow', rowID, row);
2819 calcPercentages();
2820 calcFermentables();
2821 calcIBUs();
2822 calcMash();
2823 // Waters: yes there is impact.
2824 });
2825 $('#wf_name').jqxInput({ theme: theme, width: 320, height: 23 });
2826 $('#wf_instock').jqxCheckBox({ theme: theme, height: 23 });
2827 $('#wf_instock').on('change', function(event) {
2828 fermentableinstock = event.args.checked;
2829 fermentablelist.dataBind();
2830 });
2831 $('#wf_select').jqxDropDownList({
2832 placeHolder: 'Kies mout:',
2833 theme: theme,
2834 source: fermentablelist,
2835 displayMember: 'name',
2836 width: 150,
2837 height: 23,
2838 dropDownWidth: 500,
2839 dropDownHeight: 500,
2840 renderer: function(index, label, value) {
2841 var datarecord = fermentablelist.records[index];
2842 return datarecord.supplier + ' / ' + datarecord.name + ' (' + datarecord.color + ' EBC)';
2843 }
2844 });
2845 $('#wf_select').on('select', function(event) {
2846 if (event.args) {
2847 var datarecord, index = event.args.index;
2848 datarecord = fermentablelist.records[index];
2849 $('#wf_name').val(datarecord.name);
2850 fermentableData.f_name = datarecord.name;
2851 fermentableData.f_origin = datarecord.origin;
2852 fermentableData.f_supplier = datarecord.supplier;
2853 fermentableData.f_type = datarecord.type;
2854 fermentableData.f_cost = datarecord.cost;
2855 fermentableData.f_yield = datarecord.yield;
2856 fermentableData.f_color = datarecord.color;
2857 fermentableData.f_coarse_fine_diff = datarecord.coarse_fine_diff;
2858 fermentableData.f_moisture = datarecord.moisture;
2859 fermentableData.f_diastatic_power = datarecord.diastatic_power;
2860 fermentableData.f_protein = datarecord.protein;
2861 fermentableData.f_max_in_batch = datarecord.max_in_batch;
2862 fermentableData.f_graintype = datarecord.graintype;
2863 fermentableData.f_dissolved_protein = datarecord.dissolved_protein;
2864 fermentableData.f_recommend_mash = datarecord.recommend_mash;
2865 fermentableData.f_add_after_boil = datarecord.add_after_boil;
2866 fermentableData.f_di_ph = datarecord.di_ph;
2867 fermentableData.f_acid_to_ph_57 = datarecord.acid_to_ph_57;
2868 fermentableData.f_inventory = datarecord.inventory;
2869 }
2870 });
2871 $('#wf_amount').jqxNumberInput(Spin3dec);
2872 $('#wf_amount').on('change', function(event) {
2873 console.log('amount changed: ' + event.args.value);
2874 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_amount', event.args.value);
2875 fermentableData.f_amount = event.args.value;
2876 if (! to_100) {
2877 calcPercentages();
2878 calcFermentables();
2879 calcMash();
2880 }
2881 });
2882 $('#wf_percentage').jqxNumberInput(Perc1dec);
2883 $('#wf_percentage').on('change', function(event) {
2884 var newperc, nw, damount, namount, rowscount, rowdata, diff, tw, i, newvalue,
2885 oldvalue = Round(fermentableData.f_percentage, 1);
2886 newvalue = event.args.value;
2887 console.log('percentage changed: ' + newvalue + ' old: ' + oldvalue);
2888 fermentableData.f_percent = newvalue;
2889 rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
2890 if ((oldvalue != newvalue) && (rowscount > 1)) {
2891 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', fermentableRow);
2892 if (rowdata.f_adjust_to_total_100) {
2893 $('#wf_percentage').val(oldvalue);
2894 } else {
2895 diff = newvalue - oldvalue;
2896 tw = 0; // total weight
2897 for (i = 0; i < rowscount; i++) {
2898 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
2899 if (rowdata.f_added < 4)
2900 tw += Round(rowdata.f_amount, 3);
2901 }
2902 tw = Round(tw, 3);
2903 if (to_100) {
2904 // Adjust this row and the 100% row.
2905 damount = Math.round(tw * diff * 10) / 1000;
2906 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', fermentableRow);
2907 namount = Round((rowdata.f_amount + damount), 3);
2908 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_amount', namount);
2909 $('#wf_amount').val(namount);
2910 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_percentage', rowdata.f_percentage + diff);
2911 for (i = 0; i < rowscount; i++) {
2912 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
2913 if (rowdata.f_adjust_to_total_100) {
2914 namount = rowdata.f_amount - damount;
2915 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', rowdata.f_percentage - diff);
2916 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', namount);
2917 }
2918 }
2919 calcFermentables();
2920 calcMash();
2921 } else {
2922 // Adjust all the rows.
2923 nw = tw * diff / 100;
2924 for (i = 0; i < rowscount; i++) {
2925 rowdata = $('#fermentableGrid').jqxGrid('getrowdata', i);
2926 if (rowdata.f_added < 4) {
2927 if (i == fermentableRow) {
2928 namount = Math.round((rowdata.f_amount + nw) * 1000) / 1000;
2929 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', namount);
2930 // $('#wf_amount').val(namount); // Will crash the script.
2931 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', newvalue);
2932 } else {
2933 namount = Round((rowdata.f_amount - (nw / (rowscount - 1))), 3);
2934 newperc = Round((namount / tw) * 100, 1);
2935 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_amount', namount);
2936 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', newperc);
2937 }
2938 } else {
2939 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_percentage', 0);
2940 }
2941 }
2942 calcFermentables();
2943 calcMash();
2944 }
2945 }
2946 }
2947 });
2948 $('#wf_max_in_batch').jqxNumberInput(Show1dec);
2949 $('#wf_adjust_to_total_100').jqxCheckBox({ theme: theme, width: 120, height: 23 });
2950 $('#wf_adjust_to_total_100').on('checked', function(event) {
2951 if (fermentableData.f_adjust_to_total_100 == 0) {
2952 if (to_100) {
2953 // Reset other flag first.
2954 rowscount = $('#fermentableGrid').jqxGrid('getdatainformation').rowscount;
2955 for (i = 0; i < rowscount; i++) {
2956 if (i != fermentableRow) {
2957 $('#fermentableGrid').jqxGrid('setcellvalue', i, 'f_adjust_to_total_100', 0);
2958 }
2959 }
2960 }
2961 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_adjust_to_total_100', 1);
2962 calcFermentables();
2963 }
2964 });
2965 $('#wf_adjust_to_total_100').on('unchecked', function(event) {
2966 if (fermentableData.f_adjust_to_total_100 != 0) {
2967 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_adjust_to_total_100', 0);
2968 calcFermentables();
2969 }
2970 });
2971 $('#wf_added').jqxDropDownList({
2972 theme: theme,
2973 source: AddedAdapter,
2974 valueMember: 'id',
2975 displayMember: 'nl',
2976 width: 180,
2977 height: 23,
2978 autoDropDownHeight: true,
2979 dropDownVerticalAlignment: 'top'
2980 });
2981 $('#wf_added').on('select', function(event) {
2982 if (event.args) {
2983 var index = event.args.index;
2984 $('#fermentableGrid').jqxGrid('setcellvalue', fermentableRow, 'f_added', index);
2985 calcFermentables();
2986 calcIBUs();
2987 calcMash();
2988 }
2989 });
2990 2640
2991 // Tab 3, Hoppen 2641 // Tab 3, Hoppen
2992 $('#est_ibu2').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' }); 2642 $('#est_ibu2').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' });
2993 $('#est_ibu2').jqxNumberInput(Smal0dec); 2643 $('#est_ibu2').jqxNumberInput(Smal0dec);
2994 $('#hop_flavour').jqxProgressBar({ 2644 $('#hop_flavour').jqxProgressBar({

mercurial