www/js/rec_edit.js

changeset 126
9999b3ce98cb
parent 125
f2c79ed6423a
child 127
6d5e215d77d2
equal deleted inserted replaced
125:f2c79ed6423a 126:9999b3ce98cb
399 width: 1050, 399 width: 1050,
400 height: 400, 400 height: 400,
401 source: fermentableAdapter, 401 source: fermentableAdapter,
402 theme: theme, 402 theme: theme,
403 selectionmode: 'singlerow', 403 selectionmode: 'singlerow',
404 editmode: 'selectedrow', 404 editmode: 'selectedcell',
405 editable: true, 405 editable: true,
406 localization: getLocalization(), 406 localization: getLocalization(),
407 showtoolbar: true, 407 showtoolbar: true,
408 rendertoolbar: function (toolbar) { 408 rendertoolbar: function (toolbar) {
409 var me = this; 409 var me = this;
516 return { result: false, message: "Percentage moet 0-100 zijn" }; 516 return { result: false, message: "Percentage moet 0-100 zijn" };
517 } 517 }
518 return true; 518 return true;
519 }, 519 },
520 initeditor: function (row, cellvalue, editor) { 520 initeditor: function (row, cellvalue, editor) {
521 editor.jqxNumberInput({ decimalDigits: 1 }); 521 editor.jqxNumberInput({ decimalDigits: 1, min: 0, max: 100, spinButtons: false });
522 },
523 cellvaluechanging: function (row, column, columntype, oldvalue, newvalue) {
524 oldvalue = Math.round(oldvalue * 10) / 10.0;
525 // console.log("row:"+row+" col:"+column+" type:"+columntype+" old:"+oldvalue+" new:"+newvalue);
526 var rowscount = $("#fermentableGrid").jqxGrid('getdatainformation').rowscount;
527 if ((oldvalue != newvalue) && (rowscount > 1)) {
528 var rowdata = $("#fermentableGrid").jqxGrid('getrowdata', row);
529 if (rowdata.f_adjust_to_total_100) {
530 return oldvalue;
531 }
532 var diff = newvalue - oldvalue;
533 var to_100 = false;
534 var tw = 0; // total weight
535 for (i = 0; i < rowscount; i++) {
536 var rowdata = $("#fermentableGrid").jqxGrid('getrowdata', i);
537 tw += rowdata.f_amount;
538 if (rowdata.f_adjust_to_total_100)
539 to_100 = true;
540 }
541 if (to_100) {
542 // Adjust this row and the 100% row.
543 var rowdata = $("#fermentableGrid").jqxGrid('getrowdata', row);
544 rowdata.f_amount += tw * diff / 100;
545 for (i = 0; i < rowscount; i++) {
546 var rowdata = $("#fermentableGrid").jqxGrid('getrowdata', i);
547 if (rowdata.f_adjust_to_total_100) {
548 rowdata.f_percentage -= diff;
549 rowdata.f_amount -= tw * diff / 100;
550 }
551 }
552 } else {
553 // Adjust all the rows.
554 var nw = tw * diff / 100;
555 // console.log("weight:"+nw);
556 for (i = 0; i < rowscount; i++) {
557 var rowdata = $("#fermentableGrid").jqxGrid('getrowdata', i);
558 if (i == row) {
559 rowdata.f_amount += nw;
560 } else {
561 rowdata.f_amount -= nw / (rowscount - 1);
562 rowdata.f_percentage = Math.round((rowdata.f_amount / tw) * 1000) / 10.0;
563 }
564 }
565 }
566 // console.log("diff:"+diff+" len:"+rowscount+" to100:"+to_100+" tw:"+tw);
567 }
568 // return newvalue;
522 } 569 }
523 }, 570 },
524 { text: '100%', datafield: 'f_adjust_to_total_100', columntype: 'checkbox', width: 80 } 571 { text: '100%', datafield: 'f_adjust_to_total_100', columntype: 'checkbox', width: 80 }
525 ] 572 ]
526 }); 573 });
527 $("#fermentableGrid").on('cellendedit', function (event) { 574 $("#fermentableGrid").on('cellendedit', function (event) {
575 var args = event.args;
576 console.log("Event Type: cellendedit, Column: " + args.datafield + ", Row: " + (args.rowindex) + ", Value: " + args.value);
577 // $('#fermentableGrid').jqxGrid('updatebounddata');
578 $('#fermentableGrid').jqxGrid('sortby', 'f_amount', 'desc');
528 calcFermentables(); 579 calcFermentables();
529 $('#fermentableGrid').jqxGrid('sortby', 'f_amount', 'desc');
530 }); 580 });
531 }; 581 };
532 582
533 // Inline hops editor 583 // Inline hops editor
534 var editHop = function (data) { 584 var editHop = function (data) {
673 return { result: false, message: "Volume moet 0-~ zijn" }; 723 return { result: false, message: "Volume moet 0-~ zijn" };
674 } 724 }
675 return true; 725 return true;
676 } 726 }
677 }, 727 },
678 { text: 'Gebruik', width: 110, align: 'center', cellsalign: 'center', datafield: 'h_useat' }, 728 { text: 'Gebruik', width: 110, align: 'center', cellsalign: 'center', datafield: 'h_useat', columntype: 'dropdownlist',
729 createeditor: function (row, column, editor) {
730 var srcUse = [ "Boil", "Dry Hop", "Mash", "First Wort", "Aroma" ];
731 editor.jqxDropDownList({ autoDropDownHeight: true, source: srcUse });
732 }
733 // cellvaluechanging: function (row, column, columntype, oldvalue, newvalue) {
734 // do iets met de h_time.
735 },
679 { text: 'Tijd', datafield: 'h_time', width: 70, align: 'right', cellsalign: 'right', cellsformat: 'f0', 736 { text: 'Tijd', datafield: 'h_time', width: 70, align: 'right', cellsalign: 'right', cellsformat: 'f0',
680 columntype: 'numberinput', 737 columntype: 'numberinput',
681 initeditor: function (row, cellvalue, editor, celltext, pressedChar) { 738 initeditor: function (row, cellvalue, editor, celltext, pressedChar) {
682 editor.jqxNumberInput({ decimalDigits: 0, digits: 3, min: 0 }); 739 editor.jqxNumberInput({ decimalDigits: 0, digits: 3, min: 0 });
683 }, 740 },
686 if (value < 0 || value > high ) { 743 if (value < 0 || value > high ) {
687 return { result: false, message: "De tijd moet 0-"+high+" zijn" }; 744 return { result: false, message: "De tijd moet 0-"+high+" zijn" };
688 } 745 }
689 return true; 746 return true;
690 } // TODO: Only enable editing if Boil, else use fixed values. 747 } // TODO: Only enable editing if Boil, else use fixed values.
748 // $("#grid").jqxGrid('setcolumnproperty', datafield, 'editable', event.args.checked); maar dan per cell
691 }, 749 },
692 { text: 'IBU', editable: false, datafield: 'ibu', width: 80, align: 'right', 750 { text: 'IBU', editable: false, datafield: 'ibu', width: 80, align: 'right',
693 cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) { 751 cellsrenderer: function (index, datafield, value, defaultvalue, column, rowdata) {
694 var ibu = toIBU(rowdata.h_useat, 752 var ibu = toIBU(rowdata.h_useat,
695 rowdata.h_form, 753 rowdata.h_form,
756 width: 960, 814 width: 960,
757 height: 400, 815 height: 400,
758 source: miscAdapter, 816 source: miscAdapter,
759 theme: theme, 817 theme: theme,
760 selectionmode: 'singlerow', 818 selectionmode: 'singlerow',
761 editmode: 'selectedrow', 819 editmode: 'selectedcell',
762 editable: true, 820 editable: true,
763 localization: getLocalization(), 821 localization: getLocalization(),
764 showtoolbar: true, 822 showtoolbar: true,
765 rendertoolbar: function (toolbar) { 823 rendertoolbar: function (toolbar) {
766 var me = this; 824 var me = this;
887 width: 1050, 945 width: 1050,
888 height: 300, 946 height: 300,
889 source: yeastAdapter, 947 source: yeastAdapter,
890 theme: theme, 948 theme: theme,
891 selectionmode: 'singlerow', 949 selectionmode: 'singlerow',
892 editmode: 'selectedrow', 950 editmode: 'selectedcell',
893 editable: true, 951 editable: true,
894 localization: getLocalization(), 952 localization: getLocalization(),
895 showtoolbar: true, 953 showtoolbar: true,
896 rendertoolbar: function (toolbar) { 954 rendertoolbar: function (toolbar) {
897 var me = this; 955 var me = this;
1021 width: 960, 1079 width: 960,
1022 height: 200, 1080 height: 200,
1023 source: waterAdapter, 1081 source: waterAdapter,
1024 theme: theme, 1082 theme: theme,
1025 selectionmode: 'singlerow', 1083 selectionmode: 'singlerow',
1026 editmode: 'selectedrow', 1084 editmode: 'selectedcell',
1027 editable: true, 1085 editable: true,
1028 localization: getLocalization(), 1086 localization: getLocalization(),
1029 showtoolbar: true, 1087 showtoolbar: true,
1030 rendertoolbar: function (toolbar) { 1088 rendertoolbar: function (toolbar) {
1031 var me = this; 1089 var me = this;
1152 width: 960, 1210 width: 960,
1153 height: 400, 1211 height: 400,
1154 source: mashAdapter, 1212 source: mashAdapter,
1155 theme: theme, 1213 theme: theme,
1156 selectionmode: 'singlerow', 1214 selectionmode: 'singlerow',
1157 editmode: 'selectedrow', 1215 editmode: 'selectedcell',
1158 editable: true, 1216 editable: true,
1159 localization: getLocalization(), 1217 localization: getLocalization(),
1160 showtoolbar: true, 1218 showtoolbar: true,
1161 rendertoolbar: function (toolbar) { 1219 rendertoolbar: function (toolbar) {
1162 var me = this; 1220 var me = this;

mercurial