self.addPageRecord = function(sourceRecord) { if (!self.canAddNew()) return; if (self.dataHubIsConnected()) { self.newRecord().done(function(emptyRecord) { // Raise event to allow any new record initialization $(self).trigger("newRecord", [emptyRecord, sourceRecord]); self.deriveObservableRecord(emptyRecord).done(function(observableRecord) { self.recordMode(RecordMode.AddNew); self.currentRecord(observableRecord); $("#addNewEditDialog").modal("show"); }); }); } } self.cancelPageRecord = function() { if (!self.isDirty() || confirm("Are you sure you want to discard unsaved changes?")) $("#addNewEditDialog").modal("hide"); } self.cloneConfiguration = function(destinationModel) { // Clone configuration destinationModel.labelField = self.labelField; destinationModel.primaryKeyFields = self.primaryKeyFields; destinationModel.defaultSortField = self.defaultSortField; destinationModel.defaultSortAscending = self.defaultSortAscending; destinationModel.initialFocusField = self.initialFocusField; destinationModel.modelName = self.modelName; destinationModel.pageName = self.pageName; destinationModel.filterText = self.filterText; // Clone critical observables destinationModel.canEdit(self.canEdit()); destinationModel.canAddNew(self.canAddNew()); destinationModel.canDelete(self.canDelete()); }}; // Define page scoped view model instancevar viewModel = new PagedViewModel(); (function($, viewPort) { $("#bodyContainer").addClass("fill-height"); $("#firstPageButton").click(function() { viewModel.currentPage(1); }); $("#previousPageButton").click(function() { viewModel.previousPage(); }); $("#nextPageButton").click(function() { viewModel.nextPage(); }); $("#lastPageButton").click(function() { viewModel.currentPage(viewModel.totalPages()); }); $(window).on("hubConnected", function() { viewModel.dataHubIsConnected(true); viewModel.initialize(); }); $(window).on("hubDisconnected", function() { viewModel.dataHubIsConnected(false); }); $(window).on("messageVisibiltyChanged", function() { viewModel.calculatePageSize(); }); $("#addNewEditDialog").on("shown.bs.modal", function() { viewModel.setFocusOnInitialField(); $("[data-toggle='tooltip']").tooltip(); }); $(window).resize( viewPort.changed(function() { viewModel.calculatePageSize(); })); viewModel.calculatePageSize(); ko.validation.rules.pattern.message = "Invalid"; ko.validation.init({ registerExtenders: true, messagesOnModified: true, insertMessages: true, parseInputAttributes: true, allowHtmlMessages: true, messageTemplate: null, grouping: { deep: true, observable: true, live: true } }, true); // Allow view model extension const data = { viewModel: viewModel }; $(window).trigger("beforeApplyBindings", [data]); viewModel = data.viewModel; ko.applyBindings(viewModel); })(jQuery, ResponsiveBootstrapToolkit);Lines 501–608 of 608. Previous lines
self.addPageRecord = function(sourceRecord) { if (!self.canAddNew()) return; if (self.dataHubIsConnected()) { self.newRecord().done(function(emptyRecord) { // Raise event to allow any new record initialization $(self).trigger("newRecord", [emptyRecord, sourceRecord]); self.deriveObservableRecord(emptyRecord).done(function(observableRecord) { self.recordMode(RecordMode.AddNew); self.currentRecord(observableRecord); $("#addNewEditDialog").modal("show"); }); }); } } self.cancelPageRecord = function() { if (!self.isDirty() || confirm("Are you sure you want to discard unsaved changes?")) $("#addNewEditDialog").modal("hide"); } self.cloneConfiguration = function(destinationModel) { // Clone configuration destinationModel.labelField = self.labelField; destinationModel.primaryKeyFields = self.primaryKeyFields; destinationModel.defaultSortField = self.defaultSortField; destinationModel.defaultSortAscending = self.defaultSortAscending; destinationModel.initialFocusField = self.initialFocusField; destinationModel.modelName = self.modelName; destinationModel.pageName = self.pageName; destinationModel.filterText = self.filterText; // Clone critical observables destinationModel.canEdit(self.canEdit()); destinationModel.canAddNew(self.canAddNew()); destinationModel.canDelete(self.canDelete()); } }; // Define page scoped view model instance var viewModel = new PagedViewModel(); (function($, viewPort) { $("#bodyContainer").addClass("fill-height"); $("#firstPageButton").click(function() { viewModel.currentPage(1); }); $("#previousPageButton").click(function() { viewModel.previousPage(); }); $("#nextPageButton").click(function() { viewModel.nextPage(); }); $("#lastPageButton").click(function() { viewModel.currentPage(viewModel.totalPages()); }); $(window).on("hubConnected", function() { viewModel.dataHubIsConnected(true); viewModel.initialize(); }); $(window).on("hubDisconnected", function() { viewModel.dataHubIsConnected(false); }); $(window).on("messageVisibiltyChanged", function() { viewModel.calculatePageSize(); }); $("#addNewEditDialog").on("shown.bs.modal", function() { viewModel.setFocusOnInitialField(); $("[data-toggle='tooltip']").tooltip(); }); $(window).resize( viewPort.changed(function() { viewModel.calculatePageSize(); })); viewModel.calculatePageSize(); ko.validation.rules.pattern.message = "Invalid"; ko.validation.init({ registerExtenders: true, messagesOnModified: true, insertMessages: true, parseInputAttributes: true, allowHtmlMessages: true, messageTemplate: null, grouping: { deep: true, observable: true, live: true } }, true); // Allow view model extension const data = { viewModel: viewModel }; $(window).trigger("beforeApplyBindings", [data]); viewModel = data.viewModel; ko.applyBindings(viewModel); })(jQuery, ResponsiveBootstrapToolkit);