Sha256: e4155ed25d60b6ea800fd9b09c9d516065cdd56d6bdc234543d70a725db8a55c
Contents?: true
Size: 1.17 KB
Versions: 15
Compression:
Stored size: 1.17 KB
Contents
/** * API Bound Models for AngularJS * @version v1.1.4 - 2014-11-26 * @link https://github.com/angular-platanus/restmod * @author Ignacio Baixas <ignacio@platan.us> * @license MIT License, http://www.opensource.org/licenses/MIT */ !function(a,b){"use strict";var c=a.isObject;a.module("restmod").factory("DebouncedModel",["restmod","$timeout","$q",function(a,d,e){function f(a,b,c,d){return function(){var e=a.$promise;a.$promise=d,b.call(a).$promise.then(function(b){c.resolve(b),a.$promise=e},function(b){c.reject(b),a.$promise=e}),a.$dmStatus=null}}return a.mixin(function(){this.setProperty("dmTimeout",500).setProperty("dmAdjourn",!0).define("$save",function(a){var g=this.$type.getProperty("dmTimeout"),h=this.$type.getProperty("dmAdjourn"),i=this.$dmStatus;if(a!==b&&c(a)&&(a.timeout!==b&&(g=a.timeout),a.adjourn!==b&&(h=a.adjourn)),i)h&&(d.cancel(i.timeout),g?i.timeout=d(i.save,g):i.save()),this.$promise=i.promise;else{if(!g)return this.$super();var j=e.defer(),k=f(this,this.$super,j,this.$promise);this.$dmStatus={save:k,promise:j.promise,timeout:d(k,g)},this.$promise=j.promise}return this}).define("$saveNow",function(){return this.$save({timeout:0,adjourn:!0})})})}])}(angular);
Version data entries
15 entries across 15 versions & 1 rubygems