<div class="modulecontent" style="text-align: center" id="handlager_menu"> <a data-bind="click: open" href="">Aus Handlager austragen</a> <div id="handlagerEntnahme" title="Handlager/Einsatzmittel"> Barcode:<input id="handlager_barcode" onfocus="this.select()" data-bind="value: barcode, valueUpdate: 'keyup', event{change: idToBarcode}" /> Name:<select data-bind="options: listeSanmaterial, value: sanmaterial, optionsText: 'name'"></select> Lager:<select data-bind="options: listeHandlager, value: handlager, optionsText: 'name'"></select><br /> <button data-bind="click: listeEntnahmeHinzufuegen" >Entnehmen</button> <hr> <table> <thead><tr><th>Name</th><th>Lager</th></tr></thead> <tbody data-bind="foreach: listeEntnahme" style="list-style: none"> <tr><th data-bind="text: sanmaterial.name"></th><th data-bind="text: lager.name"></th><th><button data-bind="click: $root.listeEntnahmeEntfernen">Löschen</button></th></tr> </tbody> </table> <hr> <button data-bind="click: entnehmen">Einkauf abschließen</button> </div></div>
$(document).ready(function() { window.handlager = new HandlagerViewmodel(); ko.applyBindings(handlager, document.getElementById("handlager_menu")); });
function HandlagerViewmodel(){ var self = this; self.handlager_entnehmen_barcode = ko.observable(); //Bereitstellen von Handlagerliste mit Abfrage ob es bereits im Lager Modul geladen ist if(window.lager !== undefined) { console.log("is defined"); self.listeHandlager = window.lager.listeHandlager; } else { console.log("is not defined"); self.listeHandlager = ko.observableArray([]); apiCall("listeHandlager", {}, false, function(result){ if(IsJSON(result)) { var cache = JSON.parse(result); var mappedIst = $.map(cache, function(item) { return item; }); self.listeHandlager(mappedIst); console.log(self.listeHandlager()); } else { alert(result); console.log(result); } }); } self.handlager = ko.observable(); self.listeSanmaterial = ko.observableArray([]); apiCall("listeSanmaterial", {}, false, function(result){ if(IsJSON(result)) { var cache = JSON.parse(result); var mappedIst = $.map(cache, function(item) { return item; }); self.listeSanmaterial(mappedIst); } else { alert(result); console.log(result); } }); self.gewaehltesSanmaterial = ko.observable(); self.listeEntnahme = ko.observableArray(); self.barcode = ko.observable(); self.idToBarcode = function(){ apiCall("barcodeIdLager", {barcode:self.barcode()},false, function(result){ if(IsJSON(result)) { //console.log(result); var id = JSON.parse(result).id if(id != -1) { var match = ko.utils.arrayFirst(self.listeSanmaterial(), function(item) { return id === item.id; }); console.log(match); self.gewaehltesSanmaterial(match); self.listeEntnahmeHinzufuegen(); self.barcode(''); $( "#handlager_barcode" ).focus(); } else { alert("Barcode nicht gefunden"); } } else { console.log(result); alert(result); } } ) } self.listeEntnahmeHinzufuegen = function(){ var cache = new Object({}); cache.sanmaterial = self.gewaehltesSanmaterial(); cache.lager = self.handlager(); self.listeEntnahme.push(cache); } self.listeEntnahmeEntfernen = function(item){ self.listeEntnahme.remove(item); } self.entnehmen = function(){ apiCall("handlagerEntnehmen", self.listeEntnahme(), true, function(result){ if(JSON.parse(result).error == "") { $( "#handlagerentnehmen" ).dialog("close"); self.listeEntnahme.removeAll(); } else { alert(JSON.parse(result).error) } }); } self.open = function(){ $( "#handlager" ).dialog("open"); }
}
--
You received this message because you are subscribed to the Google Groups "KnockoutJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to knockoutjs+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.