var app = app || {}; app.PickupItems = (function () { var pickupItemsModel = (function () { var ordertype; var viewmodel var pickupCodeDS = app.DeliveriesView.pickupCodes.data; var pickups = app.DeliveriesView.pickupsViewModel.datasource; var dateCodes = app.DeliveriesView.dateCodesDataSource.data; var validator; var init = function (e) { } var show = function (e) { populateHeader(); } var initItems = function(e) { validator = $('#view-newPickup').kendoValidator({ messages:{ required: "Please provide a value", numeric: "This is not a valid number" }, rules:{ numeric: function(input) { if (input.is("[name=Quantity]") || input.is("[name=Weight]") || input.is("[name=UnitPrice]") || input.is("[name=Total]") || input.is("[name=MonthsService]")) { return !isNaN(input.val()); } return true; } } }).data("kendoValidator"); } var showItems = function(e) { SetFilter(); kendo.bind($('#heading9'), viewmodel); $('#tbl-items').on("click", "tr", function () { $('#actionsheet').data("kendoMobileActionSheet").open($('#tbl-items'), pickups.data()) }); } function populateHeader() { viewmodel = kendo.observable({ onum: Models.deliveryHeading.OrderNumber, soldto: Models.deliveryHeading.SoldTo, shipto: Models.deliveryHeading.ShipTo }); kendo.bind($('#heading3'), viewmodel); kendo.bind($('#heading9'), viewmodel); } var pickType = function(e) { ordertype = e.data.Id; app.mobileApp.navigate("views/pickupItem.html"); } function SetFilter() { var onumf = { field: 'OrderNumber', operator: 'equals', value: Models.deliveryHeading.OrderNumber } var pickupCodeFilter = { field: 'OrderType', operator: 'equals', value: ordertype } pickups.filter({ logic: 'and', filters:[ onumf, pickupCodeFilter ] }); } var openNewPickup = function(e) { e.preventDefault(); resetForm(); $('#view-newPickup').data("kendoMobileModalView").open(); } var closeNewPickup = function(e) { $('#view-newPickup').data("kendoMobileModalView").close(); } var createPickup = function() { if (validator.validate()) { var onum = Models.deliveryHeading.OrderNumber; var date = $('#ddlDateCode').val(); pickups.add({ OrderNumber: Models.deliveryHeading.OrderNumber, OrderType: ordertype, Description: $('#txtDescription').val(), Route: appSettings.route.Id , Quantity: $('#txtQuantity').val(), MonthsService: $('#txtMonthsService').val(), Total: $('#txtTotal').val(), UnitPrice: $('#txtUnitPrice').val(), Weight: $('#txtWeight').val(), PartNumber: $('#txtPartNumber').val(), DateCode: $('#ddlDateCode').val() }); closeNewPickup(); pickups.fetch(); appSettings.changes = true; } } function resetForm() { $('#txtQuantity').val(null); $('#txtPartNumber').val(null); $('#txtWeight').val(null); $('#txtUnitPrice').val(null); $('#txtTotal').val(null); $('#txtMonthsService').val(null); $('#txtDescription').val(null); } var deletePickup = function(e) { alert(JSON.stringify(e.data)); } var updatePickup = function(e) { alert(JSON.stringify(e.data)); } return { init: init, show: show, initItems: initItems, showItems: showItems, select: pickType, data: pickupCodeDS, pickups: pickups, openNewPickup: openNewPickup, closeNewPickup: closeNewPickup, datecodes: dateCodes, createPickup: createPickup, updatePickup: updatePickup, deletePickup: deletePickup, } }()) return pickupItemsModel }(app))