bitsnote-assets 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +15 -0
- data/Rakefile +32 -0
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +229 -0
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- data/app/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
- data/app/assets/fonts/ionic/ionicons.eot +0 -0
- data/app/assets/fonts/ionic/ionicons.svg +1899 -0
- data/app/assets/fonts/ionic/ionicons.ttf +0 -0
- data/app/assets/fonts/ionic/ionicons.woff +0 -0
- data/app/assets/javascripts/angular/angular-animate.js +1689 -0
- data/app/assets/javascripts/angular/angular-animate.min.js +28 -0
- data/app/assets/javascripts/angular/angular-cookies.js +206 -0
- data/app/assets/javascripts/angular/angular-cookies.min.js +8 -0
- data/app/assets/javascripts/angular/angular-loader.js +415 -0
- data/app/assets/javascripts/angular/angular-loader.min.js +9 -0
- data/app/assets/javascripts/angular/angular-mocks.js +2175 -0
- data/app/assets/javascripts/angular/angular-resource.js +621 -0
- data/app/assets/javascripts/angular/angular-resource.min.js +13 -0
- data/app/assets/javascripts/angular/angular-route.js +925 -0
- data/app/assets/javascripts/angular/angular-route.min.js +14 -0
- data/app/assets/javascripts/angular/angular-sanitize.js +647 -0
- data/app/assets/javascripts/angular/angular-sanitize.min.js +15 -0
- data/app/assets/javascripts/angular/angular-scenario.js +33954 -0
- data/app/assets/javascripts/angular/angular-touch.js +584 -0
- data/app/assets/javascripts/angular/angular-touch.min.js +13 -0
- data/app/assets/javascripts/angular/angular.js +21954 -0
- data/app/assets/javascripts/angular/angular.min.js +215 -0
- data/app/assets/javascripts/angular-ui/angular-ui-router.js +3223 -0
- data/app/assets/javascripts/angular-ui/angular-ui-router.min.js +7 -0
- data/app/assets/javascripts/bootstrap/bootstrap.js +2114 -0
- data/app/assets/javascripts/bootstrap/bootstrap.min.js +6 -0
- data/app/assets/javascripts/ionic/ionic-angular.js +8317 -0
- data/app/assets/javascripts/ionic/ionic-angular.min.js +17 -0
- data/app/assets/javascripts/ionic/ionic.bundle.js +43371 -0
- data/app/assets/javascripts/ionic/ionic.bundle.min.js +341 -0
- data/app/assets/javascripts/ionic/ionic.js +7850 -0
- data/app/assets/javascripts/ionic/ionic.min.js +17 -0
- data/app/assets/javascripts/jquery-ui/jquery-ui.js +16375 -0
- data/app/assets/javascripts/jquery-ui/jquery-ui.min.js +13 -0
- data/app/assets/stylesheets/angular/angular-csp.css +24 -0
- data/app/assets/stylesheets/bootstrap/bootstrap-theme.css +442 -0
- data/app/assets/stylesheets/bootstrap/bootstrap-theme.min.css +5 -0
- data/app/assets/stylesheets/bootstrap/bootstrap.css +6203 -0
- data/app/assets/stylesheets/bootstrap/bootstrap.min.css +5 -0
- data/app/assets/stylesheets/ionic/ionic.css +7651 -0
- data/app/assets/stylesheets/ionic/ionic.min.css +18 -0
- data/lib/bitsnote-assets/version.rb +3 -0
- data/lib/bitsnote-assets.rb +101 -0
- data/lib/tasks/bitsnote-assets_tasks.rake +4 -0
- data/test/bitsnote_assets_test.rb +7 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/javascripts/main.js +2 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/assets/stylesheets/main.css +4 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/controllers/main_controller.rb +4 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/helpers/main_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +18 -0
- data/test/dummy/app/views/main/index.html.erb +2 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +82 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/assets.rb +9 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/schema.rb +16 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +587 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/test/controllers/main_controller_test.rb +9 -0
- data/test/dummy/test/helpers/main_helper_test.rb +4 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/25fca4643219052b0d5c66cf2c71f72f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/386e9196dd0f9efdce6f92ce93a6d107 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/3f9170db678c4e1fdfa51752e5ec8e39 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/489af12e680adec109e506328fdc1368 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/50b9a4dd63d203039ce5b560ff2c33d7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/64f399e2eee4409012ebcc8ea938419a +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6d98f39010827cad999334e769f03398 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/91056193051f3741ee35672c43f02cc2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/babe75ab5fc2c1762e161e6eaae5c30b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/bf21891f6ce2dc468abfcb9bb75c6a1e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d34631840b4592db0d749b96ab27a620 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e36b8fcf5914a3a6bf058abfe7367b19 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/eb199fcd85e4107f4eb5d71939ea330c +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ee10c355250f9cd7adb9593445676545 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f6eeb33602682bd6ff6d1f177f6b142d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/test_helper.rb +15 -0
- metadata +263 -0
@@ -0,0 +1,28 @@
|
|
1
|
+
/*
|
2
|
+
AngularJS v1.2.23
|
3
|
+
(c) 2010-2014 Google, Inc. http://angularjs.org
|
4
|
+
License: MIT
|
5
|
+
*/
|
6
|
+
(function(F,e,O){'use strict';e.module("ngAnimate",["ng"]).directive("ngAnimateChildren",function(){return function(G,s,g){g=g.ngAnimateChildren;e.isString(g)&&0===g.length?s.data("$$ngAnimateChildren",!0):G.$watch(g,function(e){s.data("$$ngAnimateChildren",!!e)})}}).factory("$$animateReflow",["$$rAF","$document",function(e,s){return function(g){return e(function(){g()})}}]).config(["$provide","$animateProvider",function(G,s){function g(e){for(var g=0;g<e.length;g++){var l=e[g];if(l.nodeType==aa)return l}}
|
7
|
+
function B(l){return e.element(g(l))}var m=e.noop,u=e.forEach,P=s.$$selectors,aa=1,l="$$ngAnimateState",V="$$ngAnimateChildren",J="ng-animate",n={running:!0};G.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$$asyncCallback","$rootScope","$document",function(z,F,$,R,E,H,O){function K(a){var b=a.data(l)||{};b.running=!0;a.data(l,b)}function L(a){if(a){var b=[],c={};a=a.substr(1).split(".");($.transitions||$.animations)&&b.push(F.get(P[""]));for(var d=0;d<a.length;d++){var f=
|
8
|
+
a[d],e=P[f];e&&!c[f]&&(b.push(F.get(e)),c[f]=!0)}return b}}function G(a,b,c){function d(a,b){var c=a[b],d=a["before"+b.charAt(0).toUpperCase()+b.substr(1)];if(c||d)return"leave"==b&&(d=c,c=null),n.push({event:b,fn:c}),h.push({event:b,fn:d}),!0}function f(b,d,e){var f=[];u(b,function(a){a.fn&&f.push(a)});var g=0;u(f,function(b,l){var C=function(){a:{if(d){(d[l]||m)();if(++g<f.length)break a;d=null}e()}};switch(b.event){case "setClass":d.push(b.fn(a,A,k,C));break;case "addClass":d.push(b.fn(a,A||c,
|
9
|
+
C));break;case "removeClass":d.push(b.fn(a,k||c,C));break;default:d.push(b.fn(a,C))}});d&&0===d.length&&e()}var g=a[0];if(g){var l="setClass"==b,p=l||"addClass"==b||"removeClass"==b,A,k;e.isArray(c)&&(A=c[0],k=c[1],c=A+" "+k);var x=a.attr("class")+" "+c;if(M(x)){var t=m,w=[],h=[],q=m,y=[],n=[],x=(" "+x).replace(/\s+/g,".");u(L(x),function(a){!d(a,b)&&l&&(d(a,"addClass"),d(a,"removeClass"))});return{node:g,event:b,className:c,isClassBased:p,isSetClassOperation:l,before:function(a){t=a;f(h,w,function(){t=
|
10
|
+
m;a()})},after:function(a){q=a;f(n,y,function(){q=m;a()})},cancel:function(){w&&(u(w,function(a){(a||m)(!0)}),t(!0));y&&(u(y,function(a){(a||m)(!0)}),q(!0))}}}}}function r(a,b,c,d,f,g,n){function p(d){var e="$animate:"+d;q&&(q[e]&&0<q[e].length)&&E(function(){c.triggerHandler(e,{event:a,className:b})})}function A(){p("before")}function m(){p("after")}function x(){p("close");n&&E(function(){n()})}function t(){t.hasBeenRun||(t.hasBeenRun=!0,g())}function w(){if(!w.hasBeenRun){w.hasBeenRun=!0;var d=
|
11
|
+
c.data(l);d&&(h&&h.isClassBased?k(c,b):(E(function(){var d=c.data(l)||{};r==d.index&&k(c,b,a)}),c.data(l,d)));x()}}var h=G(c,a,b);if(h){b=h.className;var q=e.element._data(h.node),q=q&&q.events;d||(d=f?f.parent():c.parent());var y=c.data(l)||{};f=y.active||{};var z=y.totalActive||0,C=y.last,D;h.isClassBased&&(D=y.running||y.disabled||C&&!C.isClassBased);if(D||N(c,d))t(),A(),m(),w();else{d=!1;if(0<z){D=[];if(h.isClassBased)"setClass"==C.event?(D.push(C),k(c,b)):f[b]&&(v=f[b],v.event==a?d=!0:(D.push(v),
|
12
|
+
k(c,b)));else if("leave"==a&&f["ng-leave"])d=!0;else{for(var v in f)D.push(f[v]),k(c,v);f={};z=0}0<D.length&&u(D,function(a){a.cancel()})}!h.isClassBased||(h.isSetClassOperation||d)||(d="addClass"==a==c.hasClass(b));if(d)t(),A(),m(),x();else{if("leave"==a)c.one("$destroy",function(a){a=e.element(this);var b=a.data(l);b&&(b=b.active["ng-leave"])&&(b.cancel(),k(a,"ng-leave"))});c.addClass(J);var r=Y++;z++;f[b]=h;c.data(l,{last:h,active:f,index:r,totalActive:z});A();h.before(function(d){var e=c.data(l);
|
13
|
+
d=d||!e||!e.active[b]||h.isClassBased&&e.active[b].event!=a;t();!0===d?w():(m(),h.after(w))})}}}else t(),A(),m(),w()}function T(a){if(a=g(a))a=e.isFunction(a.getElementsByClassName)?a.getElementsByClassName(J):a.querySelectorAll("."+J),u(a,function(a){a=e.element(a);(a=a.data(l))&&a.active&&u(a.active,function(a){a.cancel()})})}function k(a,b){if(g(a)==g(R))n.disabled||(n.running=!1,n.structural=!1);else if(b){var c=a.data(l)||{},d=!0===b;!d&&(c.active&&c.active[b])&&(c.totalActive--,delete c.active[b]);
|
14
|
+
if(d||!c.totalActive)a.removeClass(J),a.removeData(l)}}function N(a,b){if(n.disabled)return!0;if(g(a)==g(R))return n.running;var c,d,f;do{if(0===b.length)break;var m=g(b)==g(R),k=m?n:b.data(l)||{};if(k.disabled)return!0;m&&(f=!0);!1!==c&&(m=b.data(V),e.isDefined(m)&&(c=m));d=d||k.running||k.last&&!k.last.isClassBased}while(b=b.parent());return!f||!c&&d}var Y=0;R.data(l,n);H.$$postDigest(function(){H.$$postDigest(function(){n.running=!1})});var Q=s.classNameFilter(),M=Q?function(a){return Q.test(a)}:
|
15
|
+
function(){return!0};return{enter:function(a,b,c,d){a=e.element(a);b=b&&e.element(b);c=c&&e.element(c);K(a);z.enter(a,b,c);H.$$postDigest(function(){a=B(a);r("enter","ng-enter",a,b,c,m,d)})},leave:function(a,b){a=e.element(a);T(a);K(a);H.$$postDigest(function(){r("leave","ng-leave",B(a),null,null,function(){z.leave(a)},b)})},move:function(a,b,c,d){a=e.element(a);b=b&&e.element(b);c=c&&e.element(c);T(a);K(a);z.move(a,b,c);H.$$postDigest(function(){a=B(a);r("move","ng-move",a,b,c,m,d)})},addClass:function(a,
|
16
|
+
b,c){a=e.element(a);a=B(a);r("addClass",b,a,null,null,function(){z.addClass(a,b)},c)},removeClass:function(a,b,c){a=e.element(a);a=B(a);r("removeClass",b,a,null,null,function(){z.removeClass(a,b)},c)},setClass:function(a,b,c,d){a=e.element(a);a=B(a);r("setClass",[b,c],a,null,null,function(){z.setClass(a,b,c)},d)},enabled:function(a,b){switch(arguments.length){case 2:if(a)k(b);else{var c=b.data(l)||{};c.disabled=!0;b.data(l,c)}break;case 1:n.disabled=!a;break;default:a=!n.disabled}return!!a}}}]);s.register("",
|
17
|
+
["$window","$sniffer","$timeout","$$animateReflow",function(l,n,s,B){function E(a,U){S&&S();W.push(U);S=B(function(){u(W,function(a){a()});W=[];S=null;v={}})}function H(a,U){var b=g(a);a=e.element(b);Z.push(a);b=Date.now()+U;b<=da||(s.cancel(ca),da=b,ca=s(function(){G(Z);Z=[]},U,!1))}function G(a){u(a,function(a){(a=a.data(q))&&(a.closeAnimationFn||m)()})}function K(a,b){var c=b?v[b]:null;if(!c){var d=0,e=0,f=0,g=0,m,k,h,q;u(a,function(a){if(a.nodeType==aa){a=l.getComputedStyle(a)||{};h=a[I+P];d=
|
18
|
+
Math.max(L(h),d);q=a[I+x];m=a[I+t];e=Math.max(L(m),e);k=a[p+t];g=Math.max(L(k),g);var b=L(a[p+P]);0<b&&(b*=parseInt(a[p+w],10)||1);f=Math.max(b,f)}});c={total:0,transitionPropertyStyle:q,transitionDurationStyle:h,transitionDelayStyle:m,transitionDelay:e,transitionDuration:d,animationDelayStyle:k,animationDelay:g,animationDuration:f};b&&(v[b]=c)}return c}function L(a){var b=0;a=e.isString(a)?a.split(/\s*,\s*/):[];u(a,function(a){b=Math.max(parseFloat(a)||0,b)});return b}function J(a){var b=a.parent(),
|
19
|
+
c=b.data(h);c||(b.data(h,++ba),c=ba);return c+"-"+g(a).getAttribute("class")}function r(a,b,c,d){var e=J(b),f=e+" "+c,l=v[f]?++v[f].total:0,k={};if(0<l){var h=c+"-stagger",k=e+" "+h;(e=!v[k])&&b.addClass(h);k=K(b,k);e&&b.removeClass(h)}d=d||function(a){return a()};b.addClass(c);var h=b.data(q)||{},n=d(function(){return K(b,f)});d=n.transitionDuration;e=n.animationDuration;if(0===d&&0===e)return b.removeClass(c),!1;b.data(q,{running:h.running||0,itemIndex:l,stagger:k,timings:n,closeAnimationFn:m});
|
20
|
+
a=0<h.running||"setClass"==a;0<d&&T(b,c,a);0<e&&(0<k.animationDelay&&0===k.animationDuration)&&(g(b).style[p]="none 0s");return!0}function T(a,b,c){"ng-enter"!=b&&("ng-move"!=b&&"ng-leave"!=b)&&c?a.addClass(y):g(a).style[I+x]="none"}function k(a,b){var c=I+x,d=g(a);d.style[c]&&0<d.style[c].length&&(d.style[c]="");a.removeClass(y)}function N(a){var b=p;a=g(a);a.style[b]&&0<a.style[b].length&&(a.style[b]="")}function Y(a,b,d,e){function k(a){b.off(x,l);b.removeClass(m);c(b,d);a=g(b);for(var e in s)a.style.removeProperty(s[e])}
|
21
|
+
function l(a){a.stopPropagation();var b=a.originalEvent||a;a=b.$manualTimeStamp||b.timeStamp||Date.now();b=parseFloat(b.elapsedTime.toFixed(V));Math.max(a-z,0)>=y&&b>=v&&e()}var h=g(b);a=b.data(q);if(-1!=h.getAttribute("class").indexOf(d)&&a){var m="";u(d.split(" "),function(a,b){m+=(0<b?" ":"")+a+"-active"});var n=a.stagger,p=a.timings,t=a.itemIndex,v=Math.max(p.transitionDuration,p.animationDuration),w=Math.max(p.transitionDelay,p.animationDelay),y=w*D,z=Date.now(),x=A+" "+X,r="",s=[];if(0<p.transitionDuration){var B=
|
22
|
+
p.transitionPropertyStyle;-1==B.indexOf("all")&&(r+=f+"transition-property: "+B+";",r+=f+"transition-duration: "+p.transitionDurationStyle+";",s.push(f+"transition-property"),s.push(f+"transition-duration"))}0<t&&(0<n.transitionDelay&&0===n.transitionDuration&&(r+=f+"transition-delay: "+Q(p.transitionDelayStyle,n.transitionDelay,t)+"; ",s.push(f+"transition-delay")),0<n.animationDelay&&0===n.animationDuration&&(r+=f+"animation-delay: "+Q(p.animationDelayStyle,n.animationDelay,t)+"; ",s.push(f+"animation-delay")));
|
23
|
+
0<s.length&&(p=h.getAttribute("style")||"",h.setAttribute("style",p+"; "+r));b.on(x,l);b.addClass(m);a.closeAnimationFn=function(){k();e()};h=(t*(Math.max(n.animationDelay,n.transitionDelay)||0)+(w+v)*C)*D;a.running++;H(b,h);return k}e()}function Q(a,b,c){var d="";u(a.split(","),function(a,e){d+=(0<e?",":"")+(c*b+parseInt(a,10))+"s"});return d}function M(a,b,d,e){if(r(a,b,d,e))return function(a){a&&c(b,d)}}function a(a,b,d,e){if(b.data(q))return Y(a,b,d,e);c(b,d);e()}function b(b,c,d,e){var f=M(b,
|
24
|
+
c,d);if(f){var g=f;E(c,function(){k(c,d);N(c);g=a(b,c,d,e)});return function(a){(g||m)(a)}}e()}function c(a,b){a.removeClass(b);var c=a.data(q);c&&(c.running&&c.running--,c.running&&0!==c.running||a.removeData(q))}function d(a,b){var c="";a=e.isArray(a)?a:a.split(/\s+/);u(a,function(a,d){a&&0<a.length&&(c+=(0<d?" ":"")+a+b)});return c}var f="",I,X,p,A;F.ontransitionend===O&&F.onwebkittransitionend!==O?(f="-webkit-",I="WebkitTransition",X="webkitTransitionEnd transitionend"):(I="transition",X="transitionend");
|
25
|
+
F.onanimationend===O&&F.onwebkitanimationend!==O?(f="-webkit-",p="WebkitAnimation",A="webkitAnimationEnd animationend"):(p="animation",A="animationend");var P="Duration",x="Property",t="Delay",w="IterationCount",h="$$ngAnimateKey",q="$$ngAnimateCSS3Data",y="ng-animate-block-transitions",V=3,C=1.5,D=1E3,v={},ba=0,W=[],S,ca=null,da=0,Z=[];return{enter:function(a,c){return b("enter",a,"ng-enter",c)},leave:function(a,c){return b("leave",a,"ng-leave",c)},move:function(a,c){return b("move",a,"ng-move",
|
26
|
+
c)},beforeSetClass:function(a,b,c,e){var f=d(c,"-remove")+" "+d(b,"-add"),g=M("setClass",a,f,function(d){var e=a.attr("class");a.removeClass(c);a.addClass(b);d=d();a.attr("class",e);return d});if(g)return E(a,function(){k(a,f);N(a);e()}),g;e()},beforeAddClass:function(a,b,c){var e=M("addClass",a,d(b,"-add"),function(c){a.addClass(b);c=c();a.removeClass(b);return c});if(e)return E(a,function(){k(a,b);N(a);c()}),e;c()},setClass:function(b,c,e,f){e=d(e,"-remove");c=d(c,"-add");return a("setClass",b,
|
27
|
+
e+" "+c,f)},addClass:function(b,c,e){return a("addClass",b,d(c,"-add"),e)},beforeRemoveClass:function(a,b,c){var e=M("removeClass",a,d(b,"-remove"),function(c){var d=a.attr("class");a.removeClass(b);c=c();a.attr("class",d);return c});if(e)return E(a,function(){k(a,b);N(a);c()}),e;c()},removeClass:function(b,c,e){return a("removeClass",b,d(c,"-remove"),e)}}}])}])})(window,window.angular);
|
28
|
+
//# sourceMappingURL=angular-animate.min.js.map
|
@@ -0,0 +1,206 @@
|
|
1
|
+
/**
|
2
|
+
* @license AngularJS v1.2.23
|
3
|
+
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
|
+
* License: MIT
|
5
|
+
*/
|
6
|
+
(function(window, angular, undefined) {'use strict';
|
7
|
+
|
8
|
+
/**
|
9
|
+
* @ngdoc module
|
10
|
+
* @name ngCookies
|
11
|
+
* @description
|
12
|
+
*
|
13
|
+
* # ngCookies
|
14
|
+
*
|
15
|
+
* The `ngCookies` module provides a convenient wrapper for reading and writing browser cookies.
|
16
|
+
*
|
17
|
+
*
|
18
|
+
* <div doc-module-components="ngCookies"></div>
|
19
|
+
*
|
20
|
+
* See {@link ngCookies.$cookies `$cookies`} and
|
21
|
+
* {@link ngCookies.$cookieStore `$cookieStore`} for usage.
|
22
|
+
*/
|
23
|
+
|
24
|
+
|
25
|
+
angular.module('ngCookies', ['ng']).
|
26
|
+
/**
|
27
|
+
* @ngdoc service
|
28
|
+
* @name $cookies
|
29
|
+
*
|
30
|
+
* @description
|
31
|
+
* Provides read/write access to browser's cookies.
|
32
|
+
*
|
33
|
+
* Only a simple Object is exposed and by adding or removing properties to/from this object, new
|
34
|
+
* cookies are created/deleted at the end of current $eval.
|
35
|
+
* The object's properties can only be strings.
|
36
|
+
*
|
37
|
+
* Requires the {@link ngCookies `ngCookies`} module to be installed.
|
38
|
+
*
|
39
|
+
* @example
|
40
|
+
*
|
41
|
+
* ```js
|
42
|
+
* angular.module('cookiesExample', ['ngCookies'])
|
43
|
+
* .controller('ExampleController', ['$cookies', function($cookies) {
|
44
|
+
* // Retrieving a cookie
|
45
|
+
* var favoriteCookie = $cookies.myFavorite;
|
46
|
+
* // Setting a cookie
|
47
|
+
* $cookies.myFavorite = 'oatmeal';
|
48
|
+
* }]);
|
49
|
+
* ```
|
50
|
+
*/
|
51
|
+
factory('$cookies', ['$rootScope', '$browser', function ($rootScope, $browser) {
|
52
|
+
var cookies = {},
|
53
|
+
lastCookies = {},
|
54
|
+
lastBrowserCookies,
|
55
|
+
runEval = false,
|
56
|
+
copy = angular.copy,
|
57
|
+
isUndefined = angular.isUndefined;
|
58
|
+
|
59
|
+
//creates a poller fn that copies all cookies from the $browser to service & inits the service
|
60
|
+
$browser.addPollFn(function() {
|
61
|
+
var currentCookies = $browser.cookies();
|
62
|
+
if (lastBrowserCookies != currentCookies) { //relies on browser.cookies() impl
|
63
|
+
lastBrowserCookies = currentCookies;
|
64
|
+
copy(currentCookies, lastCookies);
|
65
|
+
copy(currentCookies, cookies);
|
66
|
+
if (runEval) $rootScope.$apply();
|
67
|
+
}
|
68
|
+
})();
|
69
|
+
|
70
|
+
runEval = true;
|
71
|
+
|
72
|
+
//at the end of each eval, push cookies
|
73
|
+
//TODO: this should happen before the "delayed" watches fire, because if some cookies are not
|
74
|
+
// strings or browser refuses to store some cookies, we update the model in the push fn.
|
75
|
+
$rootScope.$watch(push);
|
76
|
+
|
77
|
+
return cookies;
|
78
|
+
|
79
|
+
|
80
|
+
/**
|
81
|
+
* Pushes all the cookies from the service to the browser and verifies if all cookies were
|
82
|
+
* stored.
|
83
|
+
*/
|
84
|
+
function push() {
|
85
|
+
var name,
|
86
|
+
value,
|
87
|
+
browserCookies,
|
88
|
+
updated;
|
89
|
+
|
90
|
+
//delete any cookies deleted in $cookies
|
91
|
+
for (name in lastCookies) {
|
92
|
+
if (isUndefined(cookies[name])) {
|
93
|
+
$browser.cookies(name, undefined);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
//update all cookies updated in $cookies
|
98
|
+
for(name in cookies) {
|
99
|
+
value = cookies[name];
|
100
|
+
if (!angular.isString(value)) {
|
101
|
+
value = '' + value;
|
102
|
+
cookies[name] = value;
|
103
|
+
}
|
104
|
+
if (value !== lastCookies[name]) {
|
105
|
+
$browser.cookies(name, value);
|
106
|
+
updated = true;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
|
110
|
+
//verify what was actually stored
|
111
|
+
if (updated){
|
112
|
+
updated = false;
|
113
|
+
browserCookies = $browser.cookies();
|
114
|
+
|
115
|
+
for (name in cookies) {
|
116
|
+
if (cookies[name] !== browserCookies[name]) {
|
117
|
+
//delete or reset all cookies that the browser dropped from $cookies
|
118
|
+
if (isUndefined(browserCookies[name])) {
|
119
|
+
delete cookies[name];
|
120
|
+
} else {
|
121
|
+
cookies[name] = browserCookies[name];
|
122
|
+
}
|
123
|
+
updated = true;
|
124
|
+
}
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}
|
128
|
+
}]).
|
129
|
+
|
130
|
+
|
131
|
+
/**
|
132
|
+
* @ngdoc service
|
133
|
+
* @name $cookieStore
|
134
|
+
* @requires $cookies
|
135
|
+
*
|
136
|
+
* @description
|
137
|
+
* Provides a key-value (string-object) storage, that is backed by session cookies.
|
138
|
+
* Objects put or retrieved from this storage are automatically serialized or
|
139
|
+
* deserialized by angular's toJson/fromJson.
|
140
|
+
*
|
141
|
+
* Requires the {@link ngCookies `ngCookies`} module to be installed.
|
142
|
+
*
|
143
|
+
* @example
|
144
|
+
*
|
145
|
+
* ```js
|
146
|
+
* angular.module('cookieStoreExample', ['ngCookies'])
|
147
|
+
* .controller('ExampleController', ['$cookieStore', function($cookieStore) {
|
148
|
+
* // Put cookie
|
149
|
+
* $cookieStore.put('myFavorite','oatmeal');
|
150
|
+
* // Get cookie
|
151
|
+
* var favoriteCookie = $cookieStore.get('myFavorite');
|
152
|
+
* // Removing a cookie
|
153
|
+
* $cookieStore.remove('myFavorite');
|
154
|
+
* }]);
|
155
|
+
* ```
|
156
|
+
*/
|
157
|
+
factory('$cookieStore', ['$cookies', function($cookies) {
|
158
|
+
|
159
|
+
return {
|
160
|
+
/**
|
161
|
+
* @ngdoc method
|
162
|
+
* @name $cookieStore#get
|
163
|
+
*
|
164
|
+
* @description
|
165
|
+
* Returns the value of given cookie key
|
166
|
+
*
|
167
|
+
* @param {string} key Id to use for lookup.
|
168
|
+
* @returns {Object} Deserialized cookie value.
|
169
|
+
*/
|
170
|
+
get: function(key) {
|
171
|
+
var value = $cookies[key];
|
172
|
+
return value ? angular.fromJson(value) : value;
|
173
|
+
},
|
174
|
+
|
175
|
+
/**
|
176
|
+
* @ngdoc method
|
177
|
+
* @name $cookieStore#put
|
178
|
+
*
|
179
|
+
* @description
|
180
|
+
* Sets a value for given cookie key
|
181
|
+
*
|
182
|
+
* @param {string} key Id for the `value`.
|
183
|
+
* @param {Object} value Value to be stored.
|
184
|
+
*/
|
185
|
+
put: function(key, value) {
|
186
|
+
$cookies[key] = angular.toJson(value);
|
187
|
+
},
|
188
|
+
|
189
|
+
/**
|
190
|
+
* @ngdoc method
|
191
|
+
* @name $cookieStore#remove
|
192
|
+
*
|
193
|
+
* @description
|
194
|
+
* Remove given cookie
|
195
|
+
*
|
196
|
+
* @param {string} key Id of the key-value pair to delete.
|
197
|
+
*/
|
198
|
+
remove: function(key) {
|
199
|
+
delete $cookies[key];
|
200
|
+
}
|
201
|
+
};
|
202
|
+
|
203
|
+
}]);
|
204
|
+
|
205
|
+
|
206
|
+
})(window, window.angular);
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*
|
2
|
+
AngularJS v1.2.23
|
3
|
+
(c) 2010-2014 Google, Inc. http://angularjs.org
|
4
|
+
License: MIT
|
5
|
+
*/
|
6
|
+
(function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(e,b){var c={},g={},h,k=!1,l=f.copy,m=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,l(a,g),l(a,c),k&&e.$apply())})();k=!0;e.$watch(function(){var a,d,e;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)d=c[a],f.isString(d)||(d=""+d,c[a]=d),d!==g[a]&&(b.cookies(a,d),e=!0);if(e)for(a in d=b.cookies(),c)c[a]!==d[a]&&(m(d[a])?delete c[a]:c[a]=d[a])});return c}]).factory("$cookieStore",
|
7
|
+
["$cookies",function(e){return{get:function(b){return(b=e[b])?f.fromJson(b):b},put:function(b,c){e[b]=f.toJson(c)},remove:function(b){delete e[b]}}}])})(window,window.angular);
|
8
|
+
//# sourceMappingURL=angular-cookies.min.js.map
|
@@ -0,0 +1,415 @@
|
|
1
|
+
/**
|
2
|
+
* @license AngularJS v1.2.23
|
3
|
+
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
|
+
* License: MIT
|
5
|
+
*/
|
6
|
+
|
7
|
+
(function() {'use strict';
|
8
|
+
|
9
|
+
/**
|
10
|
+
* @description
|
11
|
+
*
|
12
|
+
* This object provides a utility for producing rich Error messages within
|
13
|
+
* Angular. It can be called as follows:
|
14
|
+
*
|
15
|
+
* var exampleMinErr = minErr('example');
|
16
|
+
* throw exampleMinErr('one', 'This {0} is {1}', foo, bar);
|
17
|
+
*
|
18
|
+
* The above creates an instance of minErr in the example namespace. The
|
19
|
+
* resulting error will have a namespaced error code of example.one. The
|
20
|
+
* resulting error will replace {0} with the value of foo, and {1} with the
|
21
|
+
* value of bar. The object is not restricted in the number of arguments it can
|
22
|
+
* take.
|
23
|
+
*
|
24
|
+
* If fewer arguments are specified than necessary for interpolation, the extra
|
25
|
+
* interpolation markers will be preserved in the final string.
|
26
|
+
*
|
27
|
+
* Since data will be parsed statically during a build step, some restrictions
|
28
|
+
* are applied with respect to how minErr instances are created and called.
|
29
|
+
* Instances should have names of the form namespaceMinErr for a minErr created
|
30
|
+
* using minErr('namespace') . Error codes, namespaces and template strings
|
31
|
+
* should all be static strings, not variables or general expressions.
|
32
|
+
*
|
33
|
+
* @param {string} module The namespace to use for the new minErr instance.
|
34
|
+
* @returns {function(code:string, template:string, ...templateArgs): Error} minErr instance
|
35
|
+
*/
|
36
|
+
|
37
|
+
function minErr(module) {
|
38
|
+
return function () {
|
39
|
+
var code = arguments[0],
|
40
|
+
prefix = '[' + (module ? module + ':' : '') + code + '] ',
|
41
|
+
template = arguments[1],
|
42
|
+
templateArgs = arguments,
|
43
|
+
stringify = function (obj) {
|
44
|
+
if (typeof obj === 'function') {
|
45
|
+
return obj.toString().replace(/ \{[\s\S]*$/, '');
|
46
|
+
} else if (typeof obj === 'undefined') {
|
47
|
+
return 'undefined';
|
48
|
+
} else if (typeof obj !== 'string') {
|
49
|
+
return JSON.stringify(obj);
|
50
|
+
}
|
51
|
+
return obj;
|
52
|
+
},
|
53
|
+
message, i;
|
54
|
+
|
55
|
+
message = prefix + template.replace(/\{\d+\}/g, function (match) {
|
56
|
+
var index = +match.slice(1, -1), arg;
|
57
|
+
|
58
|
+
if (index + 2 < templateArgs.length) {
|
59
|
+
arg = templateArgs[index + 2];
|
60
|
+
if (typeof arg === 'function') {
|
61
|
+
return arg.toString().replace(/ ?\{[\s\S]*$/, '');
|
62
|
+
} else if (typeof arg === 'undefined') {
|
63
|
+
return 'undefined';
|
64
|
+
} else if (typeof arg !== 'string') {
|
65
|
+
return toJson(arg);
|
66
|
+
}
|
67
|
+
return arg;
|
68
|
+
}
|
69
|
+
return match;
|
70
|
+
});
|
71
|
+
|
72
|
+
message = message + '\nhttp://errors.angularjs.org/1.2.23/' +
|
73
|
+
(module ? module + '/' : '') + code;
|
74
|
+
for (i = 2; i < arguments.length; i++) {
|
75
|
+
message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
|
76
|
+
encodeURIComponent(stringify(arguments[i]));
|
77
|
+
}
|
78
|
+
|
79
|
+
return new Error(message);
|
80
|
+
};
|
81
|
+
}
|
82
|
+
|
83
|
+
/**
|
84
|
+
* @ngdoc type
|
85
|
+
* @name angular.Module
|
86
|
+
* @module ng
|
87
|
+
* @description
|
88
|
+
*
|
89
|
+
* Interface for configuring angular {@link angular.module modules}.
|
90
|
+
*/
|
91
|
+
|
92
|
+
function setupModuleLoader(window) {
|
93
|
+
|
94
|
+
var $injectorMinErr = minErr('$injector');
|
95
|
+
var ngMinErr = minErr('ng');
|
96
|
+
|
97
|
+
function ensure(obj, name, factory) {
|
98
|
+
return obj[name] || (obj[name] = factory());
|
99
|
+
}
|
100
|
+
|
101
|
+
var angular = ensure(window, 'angular', Object);
|
102
|
+
|
103
|
+
// We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap
|
104
|
+
angular.$$minErr = angular.$$minErr || minErr;
|
105
|
+
|
106
|
+
return ensure(angular, 'module', function() {
|
107
|
+
/** @type {Object.<string, angular.Module>} */
|
108
|
+
var modules = {};
|
109
|
+
|
110
|
+
/**
|
111
|
+
* @ngdoc function
|
112
|
+
* @name angular.module
|
113
|
+
* @module ng
|
114
|
+
* @description
|
115
|
+
*
|
116
|
+
* The `angular.module` is a global place for creating, registering and retrieving Angular
|
117
|
+
* modules.
|
118
|
+
* All modules (angular core or 3rd party) that should be available to an application must be
|
119
|
+
* registered using this mechanism.
|
120
|
+
*
|
121
|
+
* When passed two or more arguments, a new module is created. If passed only one argument, an
|
122
|
+
* existing module (the name passed as the first argument to `module`) is retrieved.
|
123
|
+
*
|
124
|
+
*
|
125
|
+
* # Module
|
126
|
+
*
|
127
|
+
* A module is a collection of services, directives, controllers, filters, and configuration information.
|
128
|
+
* `angular.module` is used to configure the {@link auto.$injector $injector}.
|
129
|
+
*
|
130
|
+
* ```js
|
131
|
+
* // Create a new module
|
132
|
+
* var myModule = angular.module('myModule', []);
|
133
|
+
*
|
134
|
+
* // register a new service
|
135
|
+
* myModule.value('appName', 'MyCoolApp');
|
136
|
+
*
|
137
|
+
* // configure existing services inside initialization blocks.
|
138
|
+
* myModule.config(['$locationProvider', function($locationProvider) {
|
139
|
+
* // Configure existing providers
|
140
|
+
* $locationProvider.hashPrefix('!');
|
141
|
+
* }]);
|
142
|
+
* ```
|
143
|
+
*
|
144
|
+
* Then you can create an injector and load your modules like this:
|
145
|
+
*
|
146
|
+
* ```js
|
147
|
+
* var injector = angular.injector(['ng', 'myModule'])
|
148
|
+
* ```
|
149
|
+
*
|
150
|
+
* However it's more likely that you'll just use
|
151
|
+
* {@link ng.directive:ngApp ngApp} or
|
152
|
+
* {@link angular.bootstrap} to simplify this process for you.
|
153
|
+
*
|
154
|
+
* @param {!string} name The name of the module to create or retrieve.
|
155
|
+
* @param {!Array.<string>=} requires If specified then new module is being created. If
|
156
|
+
* unspecified then the module is being retrieved for further configuration.
|
157
|
+
* @param {Function=} configFn Optional configuration function for the module. Same as
|
158
|
+
* {@link angular.Module#config Module#config()}.
|
159
|
+
* @returns {module} new module with the {@link angular.Module} api.
|
160
|
+
*/
|
161
|
+
return function module(name, requires, configFn) {
|
162
|
+
var assertNotHasOwnProperty = function(name, context) {
|
163
|
+
if (name === 'hasOwnProperty') {
|
164
|
+
throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context);
|
165
|
+
}
|
166
|
+
};
|
167
|
+
|
168
|
+
assertNotHasOwnProperty(name, 'module');
|
169
|
+
if (requires && modules.hasOwnProperty(name)) {
|
170
|
+
modules[name] = null;
|
171
|
+
}
|
172
|
+
return ensure(modules, name, function() {
|
173
|
+
if (!requires) {
|
174
|
+
throw $injectorMinErr('nomod', "Module '{0}' is not available! You either misspelled " +
|
175
|
+
"the module name or forgot to load it. If registering a module ensure that you " +
|
176
|
+
"specify the dependencies as the second argument.", name);
|
177
|
+
}
|
178
|
+
|
179
|
+
/** @type {!Array.<Array.<*>>} */
|
180
|
+
var invokeQueue = [];
|
181
|
+
|
182
|
+
/** @type {!Array.<Function>} */
|
183
|
+
var runBlocks = [];
|
184
|
+
|
185
|
+
var config = invokeLater('$injector', 'invoke');
|
186
|
+
|
187
|
+
/** @type {angular.Module} */
|
188
|
+
var moduleInstance = {
|
189
|
+
// Private state
|
190
|
+
_invokeQueue: invokeQueue,
|
191
|
+
_runBlocks: runBlocks,
|
192
|
+
|
193
|
+
/**
|
194
|
+
* @ngdoc property
|
195
|
+
* @name angular.Module#requires
|
196
|
+
* @module ng
|
197
|
+
*
|
198
|
+
* @description
|
199
|
+
* Holds the list of modules which the injector will load before the current module is
|
200
|
+
* loaded.
|
201
|
+
*/
|
202
|
+
requires: requires,
|
203
|
+
|
204
|
+
/**
|
205
|
+
* @ngdoc property
|
206
|
+
* @name angular.Module#name
|
207
|
+
* @module ng
|
208
|
+
*
|
209
|
+
* @description
|
210
|
+
* Name of the module.
|
211
|
+
*/
|
212
|
+
name: name,
|
213
|
+
|
214
|
+
|
215
|
+
/**
|
216
|
+
* @ngdoc method
|
217
|
+
* @name angular.Module#provider
|
218
|
+
* @module ng
|
219
|
+
* @param {string} name service name
|
220
|
+
* @param {Function} providerType Construction function for creating new instance of the
|
221
|
+
* service.
|
222
|
+
* @description
|
223
|
+
* See {@link auto.$provide#provider $provide.provider()}.
|
224
|
+
*/
|
225
|
+
provider: invokeLater('$provide', 'provider'),
|
226
|
+
|
227
|
+
/**
|
228
|
+
* @ngdoc method
|
229
|
+
* @name angular.Module#factory
|
230
|
+
* @module ng
|
231
|
+
* @param {string} name service name
|
232
|
+
* @param {Function} providerFunction Function for creating new instance of the service.
|
233
|
+
* @description
|
234
|
+
* See {@link auto.$provide#factory $provide.factory()}.
|
235
|
+
*/
|
236
|
+
factory: invokeLater('$provide', 'factory'),
|
237
|
+
|
238
|
+
/**
|
239
|
+
* @ngdoc method
|
240
|
+
* @name angular.Module#service
|
241
|
+
* @module ng
|
242
|
+
* @param {string} name service name
|
243
|
+
* @param {Function} constructor A constructor function that will be instantiated.
|
244
|
+
* @description
|
245
|
+
* See {@link auto.$provide#service $provide.service()}.
|
246
|
+
*/
|
247
|
+
service: invokeLater('$provide', 'service'),
|
248
|
+
|
249
|
+
/**
|
250
|
+
* @ngdoc method
|
251
|
+
* @name angular.Module#value
|
252
|
+
* @module ng
|
253
|
+
* @param {string} name service name
|
254
|
+
* @param {*} object Service instance object.
|
255
|
+
* @description
|
256
|
+
* See {@link auto.$provide#value $provide.value()}.
|
257
|
+
*/
|
258
|
+
value: invokeLater('$provide', 'value'),
|
259
|
+
|
260
|
+
/**
|
261
|
+
* @ngdoc method
|
262
|
+
* @name angular.Module#constant
|
263
|
+
* @module ng
|
264
|
+
* @param {string} name constant name
|
265
|
+
* @param {*} object Constant value.
|
266
|
+
* @description
|
267
|
+
* Because the constant are fixed, they get applied before other provide methods.
|
268
|
+
* See {@link auto.$provide#constant $provide.constant()}.
|
269
|
+
*/
|
270
|
+
constant: invokeLater('$provide', 'constant', 'unshift'),
|
271
|
+
|
272
|
+
/**
|
273
|
+
* @ngdoc method
|
274
|
+
* @name angular.Module#animation
|
275
|
+
* @module ng
|
276
|
+
* @param {string} name animation name
|
277
|
+
* @param {Function} animationFactory Factory function for creating new instance of an
|
278
|
+
* animation.
|
279
|
+
* @description
|
280
|
+
*
|
281
|
+
* **NOTE**: animations take effect only if the **ngAnimate** module is loaded.
|
282
|
+
*
|
283
|
+
*
|
284
|
+
* Defines an animation hook that can be later used with
|
285
|
+
* {@link ngAnimate.$animate $animate} service and directives that use this service.
|
286
|
+
*
|
287
|
+
* ```js
|
288
|
+
* module.animation('.animation-name', function($inject1, $inject2) {
|
289
|
+
* return {
|
290
|
+
* eventName : function(element, done) {
|
291
|
+
* //code to run the animation
|
292
|
+
* //once complete, then run done()
|
293
|
+
* return function cancellationFunction(element) {
|
294
|
+
* //code to cancel the animation
|
295
|
+
* }
|
296
|
+
* }
|
297
|
+
* }
|
298
|
+
* })
|
299
|
+
* ```
|
300
|
+
*
|
301
|
+
* See {@link ngAnimate.$animateProvider#register $animateProvider.register()} and
|
302
|
+
* {@link ngAnimate ngAnimate module} for more information.
|
303
|
+
*/
|
304
|
+
animation: invokeLater('$animateProvider', 'register'),
|
305
|
+
|
306
|
+
/**
|
307
|
+
* @ngdoc method
|
308
|
+
* @name angular.Module#filter
|
309
|
+
* @module ng
|
310
|
+
* @param {string} name Filter name.
|
311
|
+
* @param {Function} filterFactory Factory function for creating new instance of filter.
|
312
|
+
* @description
|
313
|
+
* See {@link ng.$filterProvider#register $filterProvider.register()}.
|
314
|
+
*/
|
315
|
+
filter: invokeLater('$filterProvider', 'register'),
|
316
|
+
|
317
|
+
/**
|
318
|
+
* @ngdoc method
|
319
|
+
* @name angular.Module#controller
|
320
|
+
* @module ng
|
321
|
+
* @param {string|Object} name Controller name, or an object map of controllers where the
|
322
|
+
* keys are the names and the values are the constructors.
|
323
|
+
* @param {Function} constructor Controller constructor function.
|
324
|
+
* @description
|
325
|
+
* See {@link ng.$controllerProvider#register $controllerProvider.register()}.
|
326
|
+
*/
|
327
|
+
controller: invokeLater('$controllerProvider', 'register'),
|
328
|
+
|
329
|
+
/**
|
330
|
+
* @ngdoc method
|
331
|
+
* @name angular.Module#directive
|
332
|
+
* @module ng
|
333
|
+
* @param {string|Object} name Directive name, or an object map of directives where the
|
334
|
+
* keys are the names and the values are the factories.
|
335
|
+
* @param {Function} directiveFactory Factory function for creating new instance of
|
336
|
+
* directives.
|
337
|
+
* @description
|
338
|
+
* See {@link ng.$compileProvider#directive $compileProvider.directive()}.
|
339
|
+
*/
|
340
|
+
directive: invokeLater('$compileProvider', 'directive'),
|
341
|
+
|
342
|
+
/**
|
343
|
+
* @ngdoc method
|
344
|
+
* @name angular.Module#config
|
345
|
+
* @module ng
|
346
|
+
* @param {Function} configFn Execute this function on module load. Useful for service
|
347
|
+
* configuration.
|
348
|
+
* @description
|
349
|
+
* Use this method to register work which needs to be performed on module loading.
|
350
|
+
* For more about how to configure services, see
|
351
|
+
* {@link providers#providers_provider-recipe Provider Recipe}.
|
352
|
+
*/
|
353
|
+
config: config,
|
354
|
+
|
355
|
+
/**
|
356
|
+
* @ngdoc method
|
357
|
+
* @name angular.Module#run
|
358
|
+
* @module ng
|
359
|
+
* @param {Function} initializationFn Execute this function after injector creation.
|
360
|
+
* Useful for application initialization.
|
361
|
+
* @description
|
362
|
+
* Use this method to register work which should be performed when the injector is done
|
363
|
+
* loading all modules.
|
364
|
+
*/
|
365
|
+
run: function(block) {
|
366
|
+
runBlocks.push(block);
|
367
|
+
return this;
|
368
|
+
}
|
369
|
+
};
|
370
|
+
|
371
|
+
if (configFn) {
|
372
|
+
config(configFn);
|
373
|
+
}
|
374
|
+
|
375
|
+
return moduleInstance;
|
376
|
+
|
377
|
+
/**
|
378
|
+
* @param {string} provider
|
379
|
+
* @param {string} method
|
380
|
+
* @param {String=} insertMethod
|
381
|
+
* @returns {angular.Module}
|
382
|
+
*/
|
383
|
+
function invokeLater(provider, method, insertMethod) {
|
384
|
+
return function() {
|
385
|
+
invokeQueue[insertMethod || 'push']([provider, method, arguments]);
|
386
|
+
return moduleInstance;
|
387
|
+
};
|
388
|
+
}
|
389
|
+
});
|
390
|
+
};
|
391
|
+
});
|
392
|
+
|
393
|
+
}
|
394
|
+
|
395
|
+
setupModuleLoader(window);
|
396
|
+
})(window);
|
397
|
+
|
398
|
+
/**
|
399
|
+
* Closure compiler type information
|
400
|
+
*
|
401
|
+
* @typedef { {
|
402
|
+
* requires: !Array.<string>,
|
403
|
+
* invokeQueue: !Array.<Array.<*>>,
|
404
|
+
*
|
405
|
+
* service: function(string, Function):angular.Module,
|
406
|
+
* factory: function(string, Function):angular.Module,
|
407
|
+
* value: function(string, *):angular.Module,
|
408
|
+
*
|
409
|
+
* filter: function(string, Function):angular.Module,
|
410
|
+
*
|
411
|
+
* init: function(Function):angular.Module
|
412
|
+
* } }
|
413
|
+
*/
|
414
|
+
angular.Module;
|
415
|
+
|