UNPKG

angular-dirtyform-check

Version:
1 lines 2.57 kB
!function(){"use strict";angular.module("angularDirtyformCheck",[])}(),function(){"use strict";angular.module("angularDirtyformCheck").directive("dirtyCheck",["dirtyCheckService",function(t){function n(n,e,r,o){t.registerForm(o),n.$on("$destroy",function(){t.deregisterForm(o)})}return{require:"form",restrict:"A",link:n,scope:{}}}])}(),function(){"use strict";function t(){function t(t){e=t}function n(t,n,r,o){function i(t){d.push(t),1===d.length&&g()}function u(t){var n=d.indexOf(t);n!==-1&&d.splice(n,1),0===d.length&&l()}function a(){return d.some(function(t){return t.$dirty})}function c(){return n(function(n,r){var o=t.confirm(e);o?n():r()})}function s(t){if(a()){t.reject("Dirty form shown");var n=f();n.then(function(){l(),r.navAway()},angular.noop)}else t.resolve()}function f(){return v&&angular.isFunction(v.show)?v.show():c()}function h(){if(a())return e}function g(){$=r.subscribeStateChange(s),t.onbeforeunload=h}function l(){$(),t.onbeforeunload=null}var $,d=[],v=!!o.has("dirtyCheckDialog")&&o.get("dirtyCheckDialog");return{registerForm:i,deregisterForm:u,showPopup:f}}var e="Changes you made may not be saved. Leave anyway?";return n.$inject=["$window","$q","dirtyCheckRouter","$injector"],{$get:n,setDirtyMessage:t}}angular.module("angularDirtyformCheck").provider("dirtyCheckService",t)}(),function(){"use strict";function t(){function t(){if(n("ngRoute")&&(e.$inject=["$rootScope","$location","$injector","$q"],r={subscribeStateChange:function(t){function n(n){this.toState=this.routingService.path(),t({reject:n.preventDefault,resolve:angular.noop})}return this.$rootScope.$on("$routeChangeStart",n.bind(this))},navAway:function(){this.routingService.path(this.toState)}}),n("ui.router")&&(e.$inject=["$rootScope","$state","$injector","$q"],r={subscribeStateChange:function(t){function n(n,e,r){this.toState=e,this.toParams=r,t({reject:n.preventDefault,resolve:angular.noop})}function e(n){this.toState=n.$to(),this.toParams=n.params();var e=this.$q.defer();return t(e),e.promise}return this.$transitions?this.$transitions.onBefore({},e.bind(this)):this.$rootScope.$on("$stateChangeStart",n.bind(this))},navAway:function(){this.routingService.go(this.toState,this.toParams)}}),!r)throw"Neither ngRoute nor ui.route module found"}function n(t){var n=!0;try{angular.module(t)}catch(t){n=!1}return n}function e(t,n,e,o){return r.$rootScope=t,r.routingService=n,r.$q=o,r.$transitions=e.has("$transitions")?e.get("$transitions"):void 0,r}var r;return t(),{$get:e}}angular.module("angularDirtyformCheck").provider("dirtyCheckRouter",t),t.$inject=[]}();