forked from jtrussell/angular-snap.js-bower
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathangular-snap.min.js
More file actions
1 lines (1 loc) · 2.7 KB
/
angular-snap.min.js
File metadata and controls
1 lines (1 loc) · 2.7 KB
1
angular.module("snap",[]),function(){"use strict";var a=[1,4,1],b={full:a.join("."),major:a[0],minor:a[1],patch:a[2]};angular.module("snap").constant("SNAP_VERSION",b)}(),angular.module("snap").directive("snapClose",["$rootScope","snapRemote",function(a,b){"use strict";return{restrict:"A",link:function(c,d,e){d.bind("click",function(){b.close(c.$eval(e.snapId)),a.$digest()})}}}]),angular.module("snap").directive("snapContent",["snapRemote",function(a){"use strict";return{restrict:"AE",link:function(b,c,d){c.addClass("snap-content");var e={element:c[0]};angular.extend(e,a.globalOptions);var f=d.snapId;f&&(f=b.$eval(d.snapId)),angular.isDefined(d.snapOptions)&&d.snapOptions&&angular.extend(e,b.$eval(d.snapOptions)),a.register(new window.Snap(e),f),angular.isDefined(d.snapOptions)&&d.snapOptions&&b.$watch(d.snapOptions,function(b){a.getSnapper(f).then(function(a){a.settings(b)})},!0),b.$on("$destroy",function(){a.unregister(f)})}}}]),angular.module("snap").directive("snapDragger",["snapRemote",function(a){"use strict";return{restrict:"AE",link:function(b,c,d){var e=b.$eval(d.snapId);a.getSnapper(e).then(function(a){a.settings({dragger:c[0]})})}}}]),angular.module("snap").directive("snapDrawer",function(){"use strict";return{restrict:"AE",link:function(a,b,c){b.addClass("snap-drawer");var d=b.parent(),e=!0;for("right"===c.snapDrawer?b.addClass("snap-drawer-right"):b.addClass("snap-drawer-left");d.length;)d.hasClass("snap-drawers")&&(e=!1),d=d.parent();e&&b.wrap('<div class="snap-drawers" />')}}}),angular.module("snap").directive("snapDrawers",function(){"use strict";return{restrict:"AE",compile:function(a){a.addClass("snap-drawers")}}}),angular.module("snap").directive("snapToggle",["$rootScope","snapRemote",function(a,b){"use strict";return{restrict:"A",link:function(c,d,e){var f=e.snapId,g=e.snapToggle||"left";f&&(f=c.$eval(f)),d.bind("click",function(){b.toggle(g,f),a.$digest()})}}}]),angular.module("snap").provider("snapRemote",function(){"use strict";var a=this;return this.globalOptions={},this.$get=["$q",function(b){var c,d,e={},f="__DEFAULT_SNAPPER_ID__",g={};return g.globalOptions=a.globalOptions,g.getSnapper=function(a){return a=a||f,e.hasOwnProperty(a)||c(a),e[a].deferred.promise},g.register=function(a,b){b=b||f,e.hasOwnProperty(b)||c(b),e[b].isResolved&&c(b),d(a,b)},g.unregister=function(a){a=a||f,e.hasOwnProperty(a)&&delete e[a]},g.toggle=function(a,b){b=b||f,g.getSnapper(b).then(function(c){a===c.state().state?g.close(b):g.open(a,b)})},g.open=function(a,b){b=b||f,g.getSnapper(b).then(function(b){b.open(a)})},g.close=function(a){a=a||f,g.getSnapper(a).then(function(a){a.close()})},c=function(a){e[a]={deferred:b.defer(),isResolved:!1}},d=function(a,b){e[b].deferred.resolve(a),e[b].isResolved=!0},g}],this});