www/js/prod_edit.js

changeset 241
e95d2886f49f
parent 240
a85c1d4c4d12
child 244
3755db604432
equal deleted inserted replaced
240:a85c1d4c4d12 241:e95d2886f49f
1092 } 1092 }
1093 1093
1094 function calcStage() { 1094 function calcStage() {
1095 1095
1096 var newstage = dataRecord.stage; 1096 var newstage = dataRecord.stage;
1097 1097 /* parseFloat$("#brew_date_start").val()) returns the year if it is a valid mysql style date. */
1098 if (newstage < 1 && dataRecord.est_og > 1.005 && dataRecord.est_color > 3 && dataRecord.est_ibu > 3) 1098 if (newstage == 0 && dataRecord.est_og > 1.005 && dataRecord.est_color > 3 && dataRecord.est_ibu > 3)
1099 newstage = 1; 1099 newstage = 1;
1100 if (newstage < 2 && dataRecord.brew_date_start != '') 1100 if (newstage == 1 && parseFloat($("#brew_date_start").val()) > 2000)
1101 newstage = 2; // Brewday 1101 newstage = 2; // Brewday
1102 if (newstage < 3 && dataRecord.brew_date_end != '') 1102 if (newstage == 2 && parseFloat($("#brew_date_end").val()) > 2000)
1103 newstage = 3; // Primary 1103 newstage = 3; // Primary
1104 if (newstage < 4 && dataRecord.primary_end_date != '') 1104 if (newstage == 3 && parseFloat($("#primary_end_date").val()) > 2000)
1105 newstage = 4; // Secondary 1105 newstage = 4; // Secondary
1106 if (newstage < 5 && dataRecord.secondary_end_date != '') 1106 if (newstage == 4 && parseFloat($("#secondary_end_date").val()) > 2000)
1107 newstage = 5; // Tertiary 1107 newstage = 5; // Tertiary
1108 if (newstage < 6 && dataRecord.package_date != '') 1108 if (newstage == 5 && parseFloat($("#package_date").val()) > 2000)
1109 newstage = 6; // Package 1109 newstage = 6; // Package
1110 if (newstage >= 6 && newstage < 10) { 1110 if (newstage >= 6 && newstage < 9) {
1111 var d = new Date(); 1111 var d = new Date();
1112 var date2 = dataRecord.package_date; 1112 var date2 = $("#package_date").val();
1113 date2 = date2.split('-'); 1113 date2 = date2.split('-');
1114 // Now we convert the array to a Date object 1114 // Now we convert the array to a Date object
1115 date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate()); 1115 date1 = new Date(d.getFullYear(), d.getMonth(), d.getDate());
1116 date2 = new Date(date2[0], date2[1]-1, date2[2]); 1116 date2 = new Date(date2[0], date2[1]-1, date2[2]);
1117 // We use the getTime() method and get the unixtime 1117 // We use the getTime() method and get the unixtime
1119 date2_unixtime = parseInt(date2.getTime() / 1000); 1119 date2_unixtime = parseInt(date2.getTime() / 1000);
1120 // This is the calculated difference in seconds 1120 // This is the calculated difference in seconds
1121 var timeDifference = date1_unixtime - date2_unixtime; 1121 var timeDifference = date1_unixtime - date2_unixtime;
1122 var timeDifferenceInDays = timeDifference / 60 / 60 / 24; 1122 var timeDifferenceInDays = timeDifference / 60 / 60 / 24;
1123 console.log(date1+' '+date2+' days: '+timeDifferenceInDays); 1123 console.log(date1+' '+date2+' days: '+timeDifferenceInDays);
1124 if (newstage < 7 && timeDifferenceInDays < 14) // Carbonation period 1124 if (timeDifferenceInDays > 0) { // At least one day
1125 newstage = 7; 1125 if (timeDifferenceInDays >= 42) // 6 weeks
1126 else if (newstage < 8 && timeDifferenceInDays < 42) // Mature 6 weeks 1126 newstage = 9; // Ready to taste
1127 newstage = 8; 1127 else if (timeDifferenceInDays >= 14) // 14 days
1128 else 1128 newstage = 8; // Mature
1129 newstage = 9; 1129 else
1130 } 1130 newstage = 7; // Carbonation
1131 if (newstage < 10 && dataRecord.taste_date != '') 1131 }
1132 }
1133 if (newstage == 9 && parseFloat($("#taste_date").val()) > 2000)
1132 newstage = 10; // Ready 1134 newstage = 10; // Ready
1133 1135
1134 if (newstage > dataRecord.stage) { 1136 if (newstage > dataRecord.stage) {
1135 console.log("calcStage() old: "+dataRecord.stage+" new: "+newstage); 1137 console.log("calcStage() old: "+dataRecord.stage+" new: "+newstage);
1136 dataRecord.stage = newstage; 1138 dataRecord.stage = newstage;
1161 if (dataRecord.stage < 3) { // Primary 1163 if (dataRecord.stage < 3) { // Primary
1162 $('#jqxTabs').jqxTabs('disableAt', 9); // Fermentation tab 1164 $('#jqxTabs').jqxTabs('disableAt', 9); // Fermentation tab
1163 } else { 1165 } else {
1164 $('#jqxTabs').jqxTabs('enableAt', 9); 1166 $('#jqxTabs').jqxTabs('enableAt', 9);
1165 } 1167 }
1166 if (dataRecord.stage < 4) { // At least primary 1168 if (dataRecord.stage < 5) { // At least secondary
1167 $('#jqxTabs').jqxTabs('disableAt', 10); // Packaging tab 1169 $('#jqxTabs').jqxTabs('disableAt', 10); // Packaging tab
1168 } else { 1170 } else {
1169 $('#jqxTabs').jqxTabs('enableAt', 10); 1171 $('#jqxTabs').jqxTabs('enableAt', 10);
1170 } 1172 }
1171 if (dataRecord.stage < 6) { // Not yet packaged 1173 if (dataRecord.stage < 6) { // Not yet packaged
3553 var row = rows[i]; 3555 var row = rows[i];
3554 rowIDs.push(row.uid); 3556 rowIDs.push(row.uid);
3555 } 3557 }
3556 $("#mashGrid").jqxGrid('deleterow', rowIDs); 3558 $("#mashGrid").jqxGrid('deleterow', rowIDs);
3557 // Then add the new steps 3559 // Then add the new steps
3560 var datarecord = mashlist.records[index];
3558 $("#mash_name").val(datarecord.name); 3561 $("#mash_name").val(datarecord.name);
3559 for (var i = 0; i < datarecord.steps.length; i++) { 3562 for (var i = 0; i < datarecord.steps.length; i++) {
3560 var data = datarecord.steps[i]; 3563 var data = datarecord.steps[i];
3561 var row = {}; 3564 var row = {};
3562 row["step_name"] = data.step_name; 3565 row["step_name"] = data.step_name;
3864 }); 3867 });
3865 $("#sparge_acid_perc").jqxNumberInput( Perc0 ); 3868 $("#sparge_acid_perc").jqxNumberInput( Perc0 );
3866 $("#sparge_acid_perc").jqxNumberInput({ symbol: '%', symbolPosition: 'right' }); 3869 $("#sparge_acid_perc").jqxNumberInput({ symbol: '%', symbolPosition: 'right' });
3867 3870
3868 // Tab 9, Brewday 3871 // Tab 9, Brewday
3869 $("#brew_date_start").jqxDateTimeInput({ theme: theme, width: 230, height: 23, formatString: 'yyyy-MM-dd HH:mm:ss', showTimeButton: true }); 3872 $("#brew_date_start").jqxTooltip({ content: 'Brouw datum en tijd. Voor planning laat de tijd op 00:00:00 staan.' });
3870 $("#brew_date_end").jqxDateTimeInput({ theme: theme, width: 230, height: 23, formatString: 'yyyy-MM-dd HH:mm:ss', showTimeButton: true }); 3873 $("#brew_date_start").jqxDateTimeInput( DateTimeopts );
3874 $('#brew_date_start').on('close', function (event) { calcStage(); });
3875 $("#brew_date_end").jqxTooltip({ content: 'End datum en tijd van de brouw. Leeg laten als er nog niet gebrouwen is.' });
3876 $("#brew_date_end").jqxDateTimeInput( DateTimeopts );
3877 $('#brew_date_end').on('close', function (event) { calcStage(); });
3878 $("#brew_mash_ph").jqxTooltip({ content: 'De gemeten pH tijdens het maischen eventueel na correctie.' });
3871 $("#brew_mash_ph").jqxNumberInput( SpinpH ); 3879 $("#brew_mash_ph").jqxNumberInput( SpinpH );
3880 $("#est_mash_ph").jqxTooltip({ content: 'De gewenste pH tijdens het maischen.' });
3872 $("#est_mash_ph").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); 3881 $("#est_mash_ph").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 });
3882 $("#brew_preboil_ph").jqxTooltip({ content: 'De gemeten pH in de kookketel na het spoelen en voor de kook.' });
3873 $("#brew_preboil_ph").jqxNumberInput( SpinpH ); 3883 $("#brew_preboil_ph").jqxNumberInput( SpinpH );
3874 // est_preboil_ph 3884 // est_preboil_ph
3885 $("#brew_aboil_ph").jqxTooltip({ content: 'De gemeten pH na het koken.' });
3875 $("#brew_aboil_ph").jqxNumberInput( SpinpH ); 3886 $("#brew_aboil_ph").jqxNumberInput( SpinpH );
3876 // est_aboil_ph 3887 // est_aboil_ph
3888 $("#brew_mash_sg").jqxTooltip({ content: 'Het bereikte SG na het maischen.' });
3877 $("#brew_mash_sg").jqxNumberInput( SGopts ); 3889 $("#brew_mash_sg").jqxNumberInput( SGopts );
3878 $("#brew_mash_sg").on('valueChanged', function () { calcMashEfficiency(); }); 3890 $("#brew_mash_sg").on('valueChanged', function () { calcMashEfficiency(); });
3891 $("#est_mash_sg").jqxTooltip({ content: 'Het berekende verwachte SG na het maischen.' });
3879 $("#est_mash_sg").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 3 }); 3892 $("#est_mash_sg").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 3 });
3893 $("#brew_preboil_sg").jqxTooltip({ content: 'Het gemeten SG in de kookketel na het spoelen en voor het koken.' });
3880 $("#brew_preboil_sg").jqxNumberInput( SGopts ); 3894 $("#brew_preboil_sg").jqxNumberInput( SGopts );
3895 $("#brew_aboil_sg").jqxTooltip({ content: 'Het gemeten SG in de kookketel na het koken.' });
3881 $("#brew_aboil_sg").jqxNumberInput( SGopts ); 3896 $("#brew_aboil_sg").jqxNumberInput( SGopts );
3882 $("#est_og3").jqxTooltip({ content: 'Het geschatte begin SG van dit product.' }); 3897 $("#est_og3").jqxTooltip({ content: 'Het geschatte SG in de kookketel na het koken.' });
3883 $("#est_og3").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 70, height: 23, decimalDigits: 3, readOnly: true }); 3898 $("#est_og3").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 70, height: 23, decimalDigits: 3, readOnly: true });
3899 $("#brew_mash_efficiency").jqxTooltip({ content: 'Het behaalde maisch rendement.' });
3884 $("#brew_mash_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 }); 3900 $("#brew_mash_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
3901 $("#brew_preboil_volume").jqxTooltip({ content: 'Het volume van het wort voor het koken.' });
3885 $("#brew_preboil_volume").jqxNumberInput( Spin1dec5 ); 3902 $("#brew_preboil_volume").jqxNumberInput( Spin1dec5 );
3903 $("#brew_aboil_volume").jqxTooltip({ content: 'Het volume van het wort na het koken.' });
3886 $("#brew_aboil_volume").jqxNumberInput( Spin1dec5 ); 3904 $("#brew_aboil_volume").jqxNumberInput( Spin1dec5 );
3905 $("#brew_preboil_efficiency").jqxTooltip({ content: 'Het berekende rendement voor het koken.' });
3887 $("#brew_preboil_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 }); 3906 $("#brew_preboil_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
3907 $("#brew_aboil_efficiency").jqxTooltip({ content: 'Het bereikte rendement na het koken.' });
3888 $("#brew_aboil_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 }); 3908 $("#brew_aboil_efficiency").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 90, height: 23, decimalDigits: 1 });
3889 $("#brew_sparge_temperature").jqxNumberInput( Spin1dec5 ); 3909 $("#brew_sparge_temperature").jqxNumberInput( Spin1dec5 );
3890 $("#brew_sparge_volume").jqxNumberInput( Spin1dec5 ); 3910 $("#brew_sparge_volume").jqxNumberInput( Spin1dec5 );
3891 $("#brew_whirlpool9").jqxNumberInput( PosInt ); 3911 $("#brew_whirlpool9").jqxNumberInput( PosInt );
3892 $("#brew_whirlpool9").jqxNumberInput({ max: 120 }); 3912 $("#brew_whirlpool9").jqxNumberInput({ max: 120 });
3943 $("#primary_end_temp").jqxNumberInput( YeastT ); 3963 $("#primary_end_temp").jqxNumberInput( YeastT );
3944 $("#primary_end_sg").jqxNumberInput( SGopts ); 3964 $("#primary_end_sg").jqxNumberInput( SGopts );
3945 $("#primary_svg").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); 3965 $("#primary_svg").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 });
3946 $("#primary_end_date").jqxTooltip({ content: 'De eind datum van de hoofdvergisting en eventueel overhevelen.' }); 3966 $("#primary_end_date").jqxTooltip({ content: 'De eind datum van de hoofdvergisting en eventueel overhevelen.' });
3947 $("#primary_end_date").jqxDateTimeInput( Dateopts ); 3967 $("#primary_end_date").jqxDateTimeInput( Dateopts );
3968 $('#primary_end_date').on('close', function (event) { calcStage(); });
3948 $("#secondary_temp").jqxNumberInput( YeastT ); 3969 $("#secondary_temp").jqxNumberInput( YeastT );
3949 $("#secondary_end_date").jqxTooltip({ content: 'De eind datum van de navergisting en het begin van het lageren.' }); 3970 $("#secondary_end_date").jqxTooltip({ content: 'De eind datum van de navergisting en het begin van het lageren.' });
3950 $("#secondary_end_date").jqxDateTimeInput( Dateopts ); 3971 $("#secondary_end_date").jqxDateTimeInput( Dateopts );
3972 $('#secondary_end_date').on('close', function (event) { calcStage(); });
3951 $("#tertiary_temp").jqxNumberInput( YeastT ); 3973 $("#tertiary_temp").jqxNumberInput( YeastT );
3952 $("#fg").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 90, height: 23, min: 0, decimalDigits: 3, spinButtons: true, spinButtonsStep: 0.001 }); 3974 $("#fg").jqxNumberInput({ inputMode: 'simple', spinMode: 'simple', theme: theme, width: 90, height: 23, min: 0, decimalDigits: 3, spinButtons: true, spinButtonsStep: 0.001 });
3953 $("#final_abv").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); 3975 $("#final_abv").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 });
3954 $("#final_svg").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 }); 3976 $("#final_svg").jqxNumberInput({ inputMode: 'simple', readOnly: true, theme: theme, width: 70, height: 23, decimalDigits: 1 });
3955 $("#FLog").jqxButton({ template: "info", width: '150px', theme: theme }); 3977 $("#FLog").jqxButton({ template: "info", width: '150px', theme: theme });
3961 3983
3962 // Tab 11, Packaging 3984 // Tab 11, Packaging
3963 // TODO: high gravity packaging, extra water and recalc abv, color and ibu. 3985 // TODO: high gravity packaging, extra water and recalc abv, color and ibu.
3964 $("#package_date").jqxTooltip({ content: 'De verpakkings datum van dit bier.' }); 3986 $("#package_date").jqxTooltip({ content: 'De verpakkings datum van dit bier.' });
3965 $("#package_date").jqxDateTimeInput( Dateopts ); 3987 $("#package_date").jqxDateTimeInput( Dateopts );
3988 $('#package_date').on('close', function (event) { calcStage(); });
3966 $("#st_carb_min2").jqxTooltip({ content: 'Het minimum aanbevolen koolzuur volume voor deze bierstijl.'}); 3989 $("#st_carb_min2").jqxTooltip({ content: 'Het minimum aanbevolen koolzuur volume voor deze bierstijl.'});
3967 $("#st_carb_min2").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true }); 3990 $("#st_carb_min2").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
3968 $("#st_carb_max2").jqxTooltip({ content: 'Het maximum aamnevolen koolzuur volume voor deze bierstijl.'}); 3991 $("#st_carb_max2").jqxTooltip({ content: 'Het maximum aamnevolen koolzuur volume voor deze bierstijl.'});
3969 $("#st_carb_max2").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true }); 3992 $("#st_carb_max2").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 1, readOnly: true });
3970 $("#bottle_amount").jqxTooltip({ content: 'De totale hoeveelheid te bottelen bier.' }); 3993 $("#bottle_amount").jqxTooltip({ content: 'De totale hoeveelheid te bottelen bier.' });
4007 $("#keg_carbonation_temp").jqxNumberInput( YeastT ); 4030 $("#keg_carbonation_temp").jqxNumberInput( YeastT );
4008 4031
4009 // Tab 12, Tasting 4032 // Tab 12, Tasting
4010 $("#taste_date").jqxTooltip({ content: 'De proef datum van dit bier.' }); 4033 $("#taste_date").jqxTooltip({ content: 'De proef datum van dit bier.' });
4011 $("#taste_date").jqxDateTimeInput( Dateopts ); 4034 $("#taste_date").jqxDateTimeInput( Dateopts );
4035 $('#taste_date').on('close', function (event) { calcStage(); });
4012 $("#taste_rate").jqxTooltip({ content: 'Het cijfer voor dit bier van 1 tot 10.' }); 4036 $("#taste_rate").jqxTooltip({ content: 'Het cijfer voor dit bier van 1 tot 10.' });
4013 $("#taste_rate").jqxNumberInput( Spin1dec5 ); 4037 $("#taste_rate").jqxNumberInput( Spin1dec5 );
4014 $("#taste_rate").jqxNumberInput({ max: 10 }); 4038 $("#taste_rate").jqxNumberInput({ max: 10 });
4015 $("#taste_color").jqxTooltip({ content: 'De kleur van het bier.' }); 4039 $("#taste_color").jqxTooltip({ content: 'De kleur van het bier.' });
4016 $("#taste_color").jqxInput({ theme: theme, width: 320, height: 23 }); 4040 $("#taste_color").jqxInput({ theme: theme, width: 320, height: 23 });

mercurial