332 dataAdapter = new $.jqx.dataAdapter(source, { |
332 dataAdapter = new $.jqx.dataAdapter(source, { |
333 loadComplete: function() { |
333 loadComplete: function() { |
334 console.log('main data begin load'); |
334 console.log('main data begin load'); |
335 var records = dataAdapter.records; |
335 var records = dataAdapter.records; |
336 dataRecord = records[0]; |
336 dataRecord = records[0]; |
337 console.log('main data ' + records.length + ' records'); |
|
338 // Hidden record uuid |
337 // Hidden record uuid |
339 $('#name').val(dataRecord.name); |
338 $('#name').val(dataRecord.name); |
340 $('#code').val(dataRecord.code); |
339 $('#code').val(dataRecord.code); |
341 $('#birth').val(dataRecord.birth); |
340 $('#birth').val(dataRecord.birth); |
342 $('#stage').val(StageData[dataRecord.stage].nl); |
341 $('#stage').val(StageData[dataRecord.stage].nl); |
552 $('#divide_batch').val('n.v.t.'); |
551 $('#divide_batch').val('n.v.t.'); |
553 // hidden divide_size |
552 // hidden divide_size |
554 // hidden divide_factor |
553 // hidden divide_factor |
555 // hidden divide_parts |
554 // hidden divide_parts |
556 // hidden divide_part |
555 // hidden divide_part |
557 console.log('set editFermentable'); |
|
558 editFermentable(dataRecord); |
556 editFermentable(dataRecord); |
559 console.log('set editHop'); |
|
560 editHop(dataRecord); |
557 editHop(dataRecord); |
561 console.log('set editMisc'); |
|
562 editMisc(dataRecord); |
558 editMisc(dataRecord); |
563 console.log('set editYeast'); |
|
564 editYeast(dataRecord); |
559 editYeast(dataRecord); |
565 console.log('set editMash'); |
|
566 editMash(dataRecord); |
560 editMash(dataRecord); |
567 console.log('main data loaded'); |
|
568 calcStage(); |
561 calcStage(); |
569 $('#jqxTabs').jqxTabs('select', 2); |
562 $('#jqxTabs').jqxTabs('select', 2); |
570 console.log('main data ready'); |
563 console.log('main data ready'); |
571 data_loaded = 1; |
564 data_loaded = 1; |
572 }, |
565 }, |
606 { name: 'f_di_ph', type: 'float' }, |
599 { name: 'f_di_ph', type: 'float' }, |
607 { name: 'f_acid_to_ph_57', type: 'float' }, |
600 { name: 'f_acid_to_ph_57', type: 'float' }, |
608 { name: 'f_inventory', type: 'float' }, |
601 { name: 'f_inventory', type: 'float' }, |
609 { name: 'f_avail', type: 'int' } |
602 { name: 'f_avail', type: 'int' } |
610 ], |
603 ], |
611 addrow: function(rowid, rowdata, position, commit) { |
604 addrow: function(rowid, rowdata, position, commit) { commit(true); }, |
612 //console.log("fermentable addrow "+rowid); |
605 deleterow: function(rowid, commit) { commit(true); }, |
613 commit(true); |
606 updaterow: function(rowid, rowdata, commit) { commit(true); } |
614 }, |
|
615 deleterow: function(rowid, commit) { |
|
616 //console.log("fermentable deleterow "+rowid); |
|
617 commit(true); |
|
618 }, |
|
619 updaterow: function(rowid, rowdata, commit) { |
|
620 //console.log("fermentable updaterow "+rowid); |
|
621 commit(true); |
|
622 } |
|
623 }, |
607 }, |
624 fermentableAdapter = new $.jqx.dataAdapter(fermentableSource); |
608 fermentableAdapter = new $.jqx.dataAdapter(fermentableSource); |
625 |
609 |
626 $('#fermentableGrid').jqxGrid({ |
610 $('#fermentableGrid').jqxGrid({ |
627 width: 1240, |
611 width: 1240, |
1061 break; |
1045 break; |
1062 case 'NaCl': |
1046 case 'NaCl': |
1063 $('#wa_nacl').val(row.m_amount * 1000); |
1047 $('#wa_nacl').val(row.m_amount * 1000); |
1064 break; |
1048 break; |
1065 case 'Melkzuur': |
1049 case 'Melkzuur': |
1066 console.log('setting the #wa_acid_name'); |
|
1067 $('#wa_acid_name').val(0); |
1050 $('#wa_acid_name').val(0); |
1068 $('#wa_acid').val(row.m_amount * 1000); |
1051 $('#wa_acid').val(row.m_amount * 1000); |
1069 $('#wa_acid_perc').val(80); |
1052 $('#wa_acid_perc').val(80); |
1070 last_acid = 'Melkzuur'; |
1053 last_acid = 'Melkzuur'; |
1071 break; |
1054 break; |
1480 { name: 'step_time', type: 'float' }, |
1463 { name: 'step_time', type: 'float' }, |
1481 { name: 'step_thickness', type: 'float' }, |
1464 { name: 'step_thickness', type: 'float' }, |
1482 { name: 'ramp_time', type: 'float' }, |
1465 { name: 'ramp_time', type: 'float' }, |
1483 { name: 'end_temp', type: 'float' } |
1466 { name: 'end_temp', type: 'float' } |
1484 ], |
1467 ], |
1485 addrow: function(rowid, rowdata, position, commit) { |
1468 addrow: function(rowid, rowdata, position, commit) { commit(true); }, |
1486 console.log('mash addrow ' + rowid); |
1469 deleterow: function(rowid, commit) { commit(true); } |
1487 commit(true); |
|
1488 }, |
|
1489 deleterow: function(rowid, commit) { |
|
1490 console.log('mash deleterow ' + rowid); |
|
1491 commit(true); |
|
1492 } |
|
1493 }, |
1470 }, |
1494 mashAdapter = new $.jqx.dataAdapter(mashSource, { |
1471 mashAdapter = new $.jqx.dataAdapter(mashSource, { |
1495 beforeLoadComplete: function(records) { |
1472 beforeLoadComplete: function(records) { |
1496 mash_infuse = 0; |
1473 mash_infuse = 0; |
1497 var i, row, data = new Array(); |
1474 var i, row, data = new Array(); |
1611 console.log('record:' + my_record + ' return:' + my_return + ' theme:' + theme); |
1588 console.log('record:' + my_record + ' return:' + my_return + ' theme:' + theme); |
1612 $('#jqxLoader').jqxLoader({ width: 250, height: 150, isModal: true, text: 'Laden product ...', theme: theme }); |
1589 $('#jqxLoader').jqxLoader({ width: 250, height: 150, isModal: true, text: 'Laden product ...', theme: theme }); |
1613 $('#jqxLoader').jqxLoader('open'); |
1590 $('#jqxLoader').jqxLoader('open'); |
1614 |
1591 |
1615 /* Moved to before all functions */ |
1592 /* Moved to before all functions */ |
1616 console.log('dataAdapter.dataBind() start'); |
|
1617 dataAdapter.dataBind(); |
1593 dataAdapter.dataBind(); |
1618 console.log('dataAdapter.dataBind() ready'); |
1594 console.log('dataAdapter.dataBind() ready'); |
1619 |
1595 |
1620 /* |
1596 /* |
1621 * Generic functions |
1597 * Generic functions |
2782 return Result; |
2758 return Result; |
2783 } |
2759 } |
2784 |
2760 |
2785 function MashpH() { |
2761 function MashpH() { |
2786 |
2762 |
2787 console.log('MashpH()'); |
|
2788 var n = 0, pH = 5.4, deltapH = 0.001, deltapd = 0.1, pd = ProtonDeficit(pH); |
2763 var n = 0, pH = 5.4, deltapH = 0.001, deltapd = 0.1, pd = ProtonDeficit(pH); |
2789 while (((pd < -deltapd) || (pd > deltapd)) && (n < 2000)) { |
2764 while (((pd < -deltapd) || (pd > deltapd)) && (n < 2000)) { |
2790 n++; |
2765 n++; |
2791 if (pd < -deltapd) |
2766 if (pd < -deltapd) |
2792 pH -= deltapH; |
2767 pH -= deltapH; |
2793 else if (pd > deltapd) |
2768 else if (pd > deltapd) |
2794 pH += deltapH; |
2769 pH += deltapH; |
2795 pd = ProtonDeficit(pH); |
2770 pd = ProtonDeficit(pH); |
2796 } |
2771 } |
2797 pH = Round(pH, 2); |
2772 pH = Round(pH, 2); |
2798 console.log('MashpH() n: ' + n + ' pH: ' + pH); |
2773 //console.log('MashpH() n: ' + n + ' pH: ' + pH); |
2799 return pH; |
2774 return pH; |
2800 } |
2775 } |
2801 |
2776 |
2802 function GetAcidSpecs(AT) { |
2777 function GetAcidSpecs(AT) { |
2803 switch (AT) { |
2778 switch (AT) { |
2912 // Einde noot. |
2887 // Einde noot. |
2913 |
2888 |
2914 if (parseInt($('#wa_acid_name').val()) < 0 || parseInt($('#wa_acid_name').val()) > 3) { |
2889 if (parseInt($('#wa_acid_name').val()) < 0 || parseInt($('#wa_acid_name').val()) > 3) { |
2915 $('#wa_acid_name').val(0); |
2890 $('#wa_acid_name').val(0); |
2916 dataRecord.wa_acid_name = 0; |
2891 dataRecord.wa_acid_name = 0; |
2917 console.log('fixed #wa_acid_name'); |
2892 } |
2918 } |
|
2919 console.log('#wa_acid_name: ' + $('#wa_acid_name').val() + ' / ' + parseInt($('#wa_acid_name').val())); |
|
2920 if (last_acid == '') |
2893 if (last_acid == '') |
2921 last_acid = AcidTypeData[$('#wa_acid_name').val()].nl; |
2894 last_acid = AcidTypeData[$('#wa_acid_name').val()].nl; |
2922 |
2895 |
2923 if (parseInt($('#wa_base_name').val()) < 0 || parseInt($('#wa_base_name').val()) > 3) { |
2896 if (parseInt($('#wa_base_name').val()) < 0 || parseInt($('#wa_base_name').val()) > 3) { |
2924 $('#wa_base_name').val(0); |
2897 $('#wa_base_name').val(0); |
2925 dataRecord.wa_base_name = 0; |
2898 dataRecord.wa_base_name = 0; |
2926 console.log('fixed #wa_base_name'); |
|
2927 } |
2899 } |
2928 if (last_base == '') |
2900 if (last_base == '') |
2929 last_base = BaseTypeData[$('#wa_base_name').val()].nl; |
2901 last_base = BaseTypeData[$('#wa_base_name').val()].nl; |
2930 |
2902 |
2931 AT = dataRecord.wa_acid_name; |
2903 AT = dataRecord.wa_acid_name; |
2940 AcidPrc = result.AcidPrc; |
2912 AcidPrc = result.AcidPrc; |
2941 |
2913 |
2942 if (dataRecord.calc_acid) { |
2914 if (dataRecord.calc_acid) { |
2943 TpH = parseFloat(dataRecord.mash_ph); |
2915 TpH = parseFloat(dataRecord.mash_ph); |
2944 protonDeficit = ProtonDeficit(TpH); |
2916 protonDeficit = ProtonDeficit(TpH); |
2945 console.log('calc_acid tgt: ' + TpH + ' protonDeficit: ' + protonDeficit); |
2917 //console.log('calc_acid tgt: ' + TpH + ' protonDeficit: ' + protonDeficit); |
2946 if (protonDeficit > 0) { // Add acid |
2918 if (protonDeficit > 0) { // Add acid |
2947 $('#wa_base').val(0); |
2919 $('#wa_base').val(0); |
2948 setWaterAgent(last_base, 0); |
2920 setWaterAgent(last_base, 0); |
2949 frac = CalcFrac(TpH, pK1, pK2, pK3); |
2921 frac = CalcFrac(TpH, pK1, pK2, pK3); |
2950 Acid = protonDeficit / frac; |
2922 Acid = protonDeficit / frac; |