591 } |
591 } |
592 ] |
592 ] |
593 }) |
593 }) |
594 }; |
594 }; |
595 |
595 |
596 |
|
597 // Inline yeasts editor |
596 // Inline yeasts editor |
|
597 var editYeast = function (data) { |
|
598 var yeastSource = { |
|
599 localdata: data.yeasts, |
|
600 datatype: "local", |
|
601 cache: false, |
|
602 datafields: [ |
|
603 { name: 'y_name', type: 'string' }, |
|
604 { name: 'y_laboratory', type: 'string' }, |
|
605 { name: 'y_product_id', type: 'string' }, |
|
606 { name: 'y_amount', type: 'float' }, |
|
607 { name: 'y_cost', type: 'float' }, |
|
608 { name: 'y_type', type: 'string' }, |
|
609 { name: 'y_form', type: 'string' }, |
|
610 { name: 'y_time', type: 'float' }, |
|
611 { name: 'y_min_temperature', type: 'float' }, |
|
612 { name: 'y_max_temperature', type: 'float' }, |
|
613 { name: 'y_attenuation', type: 'float' }, |
|
614 { name: 'y_amount_is_weight', type: 'bool' }, |
|
615 { name: 'y_use', type: 'string' } |
|
616 ], |
|
617 addrow: function (rowid, rowdata, position, commit) { |
|
618 commit(true); |
|
619 }, |
|
620 deleterow: function (rowid, commit) { |
|
621 commit(true); |
|
622 } |
|
623 }; |
|
624 var yeastAdapter = new $.jqx.dataAdapter(yeastSource); |
|
625 // dropdownlist datasource from inventory_yeasts |
|
626 var yeastUrl = "getyeastsources.php"; |
|
627 var yeastInvSource = { |
|
628 datatype: "json", |
|
629 datafields: [ |
|
630 { name: 'record', type: 'number' }, |
|
631 { name: 'name', type: 'string' }, |
|
632 { name: 'type', type: 'string' }, |
|
633 { name: 'form', type: 'string' }, |
|
634 { name: 'laboratory', type: 'string' }, |
|
635 { name: 'product_id', type: 'string' }, |
|
636 { name: 'min_temperature', type: 'float' }, |
|
637 { name: 'max_temperature', type: 'float' }, |
|
638 { name: 'attenuation', type: 'float' }, |
|
639 { name: 'cost', type: 'float' } |
|
640 ], |
|
641 url: yeastUrl, |
|
642 async: true |
|
643 }; |
|
644 var yeastlist = new $.jqx.dataAdapter(yeastInvSource); |
|
645 |
|
646 $("#yeastGrid").jqxGrid({ |
|
647 width: 1050, |
|
648 height: 300, |
|
649 source: yeastAdapter, |
|
650 theme: theme, |
|
651 selectionmode: 'singlerow', |
|
652 editmode: 'selectedrow', |
|
653 editable: true, |
|
654 localization: getLocalization(), |
|
655 showtoolbar: true, |
|
656 rendertoolbar: function (toolbar) { |
|
657 var me = this; |
|
658 var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"); |
|
659 toolbar.append(container); |
|
660 container.append('<div style="float: left; margin-left: 165px;" id="yaddrowbutton"></div>'); |
|
661 container.append('<input style="float: left; margin-left: 230px;" id="ydeleterowbutton" type="button" value="Verwijder gist" />'); |
|
662 // add yeast from dropdownlist. |
|
663 $("#yaddrowbutton").jqxDropDownList({ |
|
664 placeHolder: "Kies gist:", |
|
665 theme: theme, |
|
666 source: yeastlist, |
|
667 displayMember: "name", |
|
668 width: 150, |
|
669 height: 27, |
|
670 dropDownWidth: 300 |
|
671 }); |
|
672 $("#yaddrowbutton").on('select', function (event) { |
|
673 if (event.args) { |
|
674 var index = event.args.index; |
|
675 var datarecord = yeastlist.records[index]; |
|
676 var row = {}; |
|
677 row["y_name"] = datarecord.name; |
|
678 row["y_laboratory"] = datarecord.laboratory; |
|
679 row["y_product_id"] = datarecord.product_id; |
|
680 row["y_type"] = datarecord.type; |
|
681 row["y_form"] = datarecord.form; |
|
682 row["y_amount"] = 0; |
|
683 row["y_cost"] = datarecord.cost; |
|
684 row["y_use"] = "Primary"; |
|
685 row["y_time"] = 0; |
|
686 if (datarecord.form == "Dry") { |
|
687 row["y_amount_is_weight"] = 1; |
|
688 } else { |
|
689 row["y_amount_is_weight"] = 0; |
|
690 } |
|
691 row["y_min_temperature"] = datarecord.min_temperature; |
|
692 row["y_max_temperature"] = datarecord.max_temperature; |
|
693 row["y_attenuation"] = datarecord.attenuation; |
|
694 var commit = $("#yeastGrid").jqxGrid('addrow', null, row); |
|
695 } |
|
696 }); |
|
697 // delete selected yeast. |
|
698 $("#ydeleterowbutton").jqxButton({ theme: theme, height: 27, width: 150 }); |
|
699 $("#ydeleterowbutton").on('click', function () { |
|
700 var selectedrowindex = $("#yeastGrid").jqxGrid('getselectedrowindex'); |
|
701 var rowscount = $("#yeastGrid").jqxGrid('getdatainformation').rowscount; |
|
702 if (selectedrowindex >= 0 && selectedrowindex < rowscount) { |
|
703 var id = $("#yeastGrid").jqxGrid('getrowid', selectedrowindex); |
|
704 var commit = $("#yeastGrid").jqxGrid('deleterow', id); |
|
705 } |
|
706 }); |
|
707 }, |
|
708 columns: [ |
|
709 { text: 'Gist', editable: false, datafield: 'y_name' }, |
|
710 { text: 'Laboratorium', editable: false, width: 150, datafield: 'y_laboratory' }, |
|
711 { text: 'Code', editable: false, width: 90, datafield: 'y_product_id' }, |
|
712 { text: 'Soort', editable: false, width: 80, align: 'center', cellsalign: 'center', datafield: 'y_form' }, |
|
713 { text: 'Min.', editable: false, width: 70, align: 'right', cellsalign: 'right', datafield: 'y_min_temperature' }, |
|
714 { text: 'Max.', editable: false, width: 70, align: 'right', cellsalign: 'right', datafield: 'y_max_temperature' }, |
|
715 { text: 'Attn.', editable: false, width: 70, align: 'right', cellsalign: 'right', datafield: 'y_attenuation', cellsformat: 'f1' }, |
|
716 { text: 'Voor', editable: false, width: 80, align: 'center', cellsalign: 'center', datafield: 'y_use' }, |
|
717 { text: 'Hoeveel', datafield: 'y_amount', width: 110, align: 'right', cellsalign: 'right', cellsformat: 'f5', |
|
718 columntype: 'numberinput', |
|
719 validation: function (cell, value) { |
|
720 if (value < 0 || value > 100000000000 ) { |
|
721 return { result: false, message: "Volume moet 0-~ zijn" }; |
|
722 } |
|
723 return true; |
|
724 } |
|
725 } |
|
726 ] |
|
727 }) |
|
728 }; |
598 |
729 |
599 // Inline waters editor |
730 // Inline waters editor |
600 var editWater = function (data) { |
731 var editWater = function (data) { |
601 var waterSource = { |
732 var waterSource = { |
602 localdata: data.waters, |
733 localdata: data.waters, |