Sha256: 08789c8158be0b27ecb2db82d923cd5bb6fc5e2bd8db4d8f7d29ae8b4dede6bf
Contents?: true
Size: 1.95 KB
Versions: 21
Compression:
Stored size: 1.95 KB
Contents
(function(app, kea, ko) { "use strict"; var viewmodel_name = '<%= name.camelize %>', ViewmodelClass; ViewmodelClass = function <%= name.camelize %>() { kea.viewmodels.Parent.apply(this); kea.viewmodels.Child.apply(this); kea.viewmodels.Validatable.apply(this); var that = this; this._viewmodelName = function _viewmodelName() { return viewmodel_name; }; this.exit = ko.observable(false); this.shouldExit = function shouldExit() { var previous = that.exit(); that.reset(); that.exit(true); if (previous) { that.exit.valueHasMutated(); } }; // this.context = ko.observable(); // this.validatableName('context'); this.submitInProgress = ko.observable(false); this.submitComplete = ko.observable(false); // this.isSubmittable = ko.computed(function() { // return !that.hasFieldsWithErrors() && !that.hasValidationsInProgress(); // }, this, {deferEvaluation: true}); this.ajaxInProgress = ko.observable(false); this.ajaxDisabled = ko.observable(false); this.submitComplete = ko.observable(false); this.reset = function reset() { that.submitComplete(false); that.ajaxInProgress(false); that.ajaxDisabled(false); }; this.setup = function setup(context) { this.reset(); // context.makeValidatable(); // that.context(context); }; this.submit = function submit() { that.context().validate(); // if (that.context().hasErrors() || that.submitInProgress() || !that.isSubmittable()) { // return; // } that.submitInProgress(true); // return that.context().update() // .done(function(asset) { // that.submitComplete(true); // }) // .always(function() { // that.submitInProgress(false); // }); }; }; app.viewmodels[viewmodel_name] = ViewmodelClass; })(window.app, window.kea, ko);
Version data entries
21 entries across 21 versions & 1 rubygems