angular-rails-engine 1.2.3.0 → 1.2.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e813091ed284e69523789a33e22493fd55f9d3a3
4
- data.tar.gz: e117f4a5536f1dc2ddbfc635aecada09449dbb5e
3
+ metadata.gz: 2618f19ea1daee4c72b2b53cb4edafd16fce433e
4
+ data.tar.gz: 2d607694d485ae185e8b1f08e44d762a95f50eac
5
5
  SHA512:
6
- metadata.gz: fd26d69a064ab5c2b737e2ca3822ab215ca3c93ca569db04563934d370894af92235d49cd1f481537ed6567893808e91b3980bea2cdd5fa9ce981eb5ba9042c0
7
- data.tar.gz: 94acd59c22494b938b7bba7cbe9da6503db6650c720ad7a31d571a786412ae0ea5b3c2f7bc9521635698a008a31364221ced9061fd3b57dcac70909daf7ada7a
6
+ metadata.gz: ed4878379237a9f40e304e2d2a9effa953e5a06da04c62c4b0d5ce4759531792d17b9c61ffe5450e3f43f81afd626215d075409763876bd9f7e7be95a5868961
7
+ data.tar.gz: 23388b3a6fb6dba5365e5beaf70632389d49e3f12c933d10c32d14c99ecfb02bdf11087ec0fa3d1ced4a2cae3debc72f34edf3f2ac095e5bb37ff265f6d834ec
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.3
2
+ * @license AngularJS v1.2.5
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -196,7 +196,7 @@
196
196
  *
197
197
  * <pre>
198
198
  * //!annotate="YourApp" Your AngularJS Module|Replace this or ngModule with the module that you used to define your application.
199
- * var ngModule = angular.module('YourApp', []);
199
+ * var ngModule = angular.module('YourApp', ['ngAnimate']);
200
200
  * ngModule.animation('.my-crazy-animation', function() {
201
201
  * return {
202
202
  * enter: function(element, done) {
@@ -205,8 +205,8 @@
205
205
  * //this (optional) function will be called when the animation
206
206
  * //completes or when the animation is cancelled (the cancelled
207
207
  * //flag will be set to true if cancelled).
208
- * }
209
- * }
208
+ * };
209
+ * },
210
210
  * leave: function(element, done) { },
211
211
  * move: function(element, done) { },
212
212
  *
@@ -221,7 +221,7 @@
221
221
  *
222
222
  * //animation that can be triggered after the class is removed
223
223
  * removeClass: function(element, className, done) { }
224
- * }
224
+ * };
225
225
  * });
226
226
  * </pre>
227
227
  *
@@ -264,6 +264,19 @@ angular.module('ngAnimate', ['ng'])
264
264
  var NG_ANIMATE_CLASS_NAME = 'ng-animate';
265
265
  var rootAnimateState = {running: true};
266
266
 
267
+ function extractElementNode(element) {
268
+ for(var i = 0; i < element.length; i++) {
269
+ var elm = element[i];
270
+ if(elm.nodeType == ELEMENT_NODE) {
271
+ return elm;
272
+ }
273
+ }
274
+ }
275
+
276
+ function isMatchingElement(elm1, elm2) {
277
+ return extractElementNode(elm1) == extractElementNode(elm2);
278
+ }
279
+
267
280
  $provide.decorator('$animate', ['$delegate', '$injector', '$sniffer', '$rootElement', '$timeout', '$rootScope', '$document',
268
281
  function($delegate, $injector, $sniffer, $rootElement, $timeout, $rootScope, $document) {
269
282
 
@@ -376,7 +389,7 @@ angular.module('ngAnimate', ['ng'])
376
389
  * Runs the leave animation operation and, upon completion, removes the element from the DOM. Once
377
390
  * the animation is started, the following CSS classes will be added for the duration of the animation:
378
391
  *
379
- * Below is a breakdown of each step that occurs during enter animation:
392
+ * Below is a breakdown of each step that occurs during leave animation:
380
393
  *
381
394
  * | Animation Step | What the element class attribute looks like |
382
395
  * |----------------------------------------------------------------------------------------------|---------------------------------------------|
@@ -562,7 +575,16 @@ angular.module('ngAnimate', ['ng'])
562
575
  and the onComplete callback will be fired once the animation is fully complete.
563
576
  */
564
577
  function performAnimation(animationEvent, className, element, parentElement, afterElement, domOperation, doneCallback) {
565
- var currentClassName = element.attr('class') || '';
578
+ var node = extractElementNode(element);
579
+ //transcluded directives may sometimes fire an animation using only comment nodes
580
+ //best to catch this early on to prevent any animation operations from occurring
581
+ if(!node) {
582
+ fireDOMOperation();
583
+ closeAnimation();
584
+ return;
585
+ }
586
+
587
+ var currentClassName = node.className;
566
588
  var classes = currentClassName + ' ' + className;
567
589
  var animationLookup = (' ' + classes).replace(/\s+/g,'.');
568
590
  if (!parentElement) {
@@ -766,11 +788,7 @@ angular.module('ngAnimate', ['ng'])
766
788
  }
767
789
 
768
790
  function cancelChildAnimations(element) {
769
- var node = element[0];
770
- if(node.nodeType != ELEMENT_NODE) {
771
- return;
772
- }
773
-
791
+ var node = extractElementNode(element);
774
792
  forEach(node.querySelectorAll('.' + NG_ANIMATE_CLASS_NAME), function(element) {
775
793
  element = angular.element(element);
776
794
  var data = element.data(NG_ANIMATE_STATE);
@@ -794,7 +812,7 @@ angular.module('ngAnimate', ['ng'])
794
812
  }
795
813
 
796
814
  function cleanup(element) {
797
- if(element[0] == $rootElement[0]) {
815
+ if(isMatchingElement(element, $rootElement)) {
798
816
  if(!rootAnimateState.disabled) {
799
817
  rootAnimateState.running = false;
800
818
  rootAnimateState.structural = false;
@@ -808,7 +826,7 @@ angular.module('ngAnimate', ['ng'])
808
826
  function animationsDisabled(element, parentElement) {
809
827
  if (rootAnimateState.disabled) return true;
810
828
 
811
- if(element[0] == $rootElement[0]) {
829
+ if(isMatchingElement(element, $rootElement)) {
812
830
  return rootAnimateState.disabled || rootAnimateState.running;
813
831
  }
814
832
 
@@ -818,7 +836,7 @@ angular.module('ngAnimate', ['ng'])
818
836
  //any animations on it
819
837
  if(parentElement.length === 0) break;
820
838
 
821
- var isRoot = parentElement[0] == $rootElement[0];
839
+ var isRoot = isMatchingElement(parentElement, $rootElement);
822
840
  var state = isRoot ? rootAnimateState : parentElement.data(NG_ANIMATE_STATE);
823
841
  var result = state && (!!state.disabled || !!state.running);
824
842
  if(isRoot || result) {
@@ -871,6 +889,7 @@ angular.module('ngAnimate', ['ng'])
871
889
  var NG_ANIMATE_CSS_DATA_KEY = '$$ngAnimateCSS3Data';
872
890
  var NG_ANIMATE_FALLBACK_CLASS_NAME = 'ng-animate-start';
873
891
  var NG_ANIMATE_FALLBACK_ACTIVE_CLASS_NAME = 'ng-animate-active';
892
+ var ELAPSED_TIME_MAX_DECIMAL_PLACES = 3;
874
893
 
875
894
  var lookupCache = {};
876
895
  var parentCounter = 0;
@@ -965,7 +984,7 @@ angular.module('ngAnimate', ['ng'])
965
984
  parentElement.data(NG_ANIMATE_PARENT_KEY, ++parentCounter);
966
985
  parentID = parentCounter;
967
986
  }
968
- return parentID + '-' + element[0].className;
987
+ return parentID + '-' + extractElementNode(element).className;
969
988
  }
970
989
 
971
990
  function animateSetup(element, className) {
@@ -1000,7 +1019,6 @@ angular.module('ngAnimate', ['ng'])
1000
1019
  return false;
1001
1020
  }
1002
1021
 
1003
- var node = element[0];
1004
1022
  //temporarily disable the transition so that the enter styles
1005
1023
  //don't animate twice (this is here to avoid a bug in Chrome/FF).
1006
1024
  var activeClassName = '';
@@ -1030,35 +1048,37 @@ angular.module('ngAnimate', ['ng'])
1030
1048
  }
1031
1049
 
1032
1050
  function blockTransitions(element) {
1033
- element[0].style[TRANSITION_PROP + PROPERTY_KEY] = 'none';
1051
+ extractElementNode(element).style[TRANSITION_PROP + PROPERTY_KEY] = 'none';
1034
1052
  }
1035
1053
 
1036
1054
  function blockKeyframeAnimations(element) {
1037
- element[0].style[ANIMATION_PROP] = 'none 0s';
1055
+ extractElementNode(element).style[ANIMATION_PROP] = 'none 0s';
1038
1056
  }
1039
1057
 
1040
1058
  function unblockTransitions(element) {
1041
- var node = element[0], prop = TRANSITION_PROP + PROPERTY_KEY;
1059
+ var prop = TRANSITION_PROP + PROPERTY_KEY;
1060
+ var node = extractElementNode(element);
1042
1061
  if(node.style[prop] && node.style[prop].length > 0) {
1043
1062
  node.style[prop] = '';
1044
1063
  }
1045
1064
  }
1046
1065
 
1047
1066
  function unblockKeyframeAnimations(element) {
1048
- var node = element[0], prop = ANIMATION_PROP;
1067
+ var prop = ANIMATION_PROP;
1068
+ var node = extractElementNode(element);
1049
1069
  if(node.style[prop] && node.style[prop].length > 0) {
1050
- element[0].style[prop] = '';
1070
+ node.style[prop] = '';
1051
1071
  }
1052
1072
  }
1053
1073
 
1054
1074
  function animateRun(element, className, activeAnimationComplete) {
1055
1075
  var data = element.data(NG_ANIMATE_CSS_DATA_KEY);
1056
- if(!element.hasClass(className) || !data) {
1076
+ var node = extractElementNode(element);
1077
+ if(node.className.indexOf(className) == -1 || !data) {
1057
1078
  activeAnimationComplete();
1058
1079
  return;
1059
1080
  }
1060
1081
 
1061
- var node = element[0];
1062
1082
  var timings = data.timings;
1063
1083
  var stagger = data.stagger;
1064
1084
  var maxDuration = data.maxDuration;
@@ -1101,6 +1121,9 @@ angular.module('ngAnimate', ['ng'])
1101
1121
  }
1102
1122
 
1103
1123
  if(appliedStyles.length > 0) {
1124
+ //the element being animated may sometimes contain comment nodes in
1125
+ //the jqLite object, so we're safe to use a single variable to house
1126
+ //the styles since there is always only one element being animated
1104
1127
  var oldStyle = node.getAttribute('style') || '';
1105
1128
  node.setAttribute('style', oldStyle + ' ' + style);
1106
1129
  }
@@ -1115,6 +1138,7 @@ angular.module('ngAnimate', ['ng'])
1115
1138
  element.off(css3AnimationEvents, onAnimationProgress);
1116
1139
  element.removeClass(activeClassName);
1117
1140
  animateClose(element, className);
1141
+ var node = extractElementNode(element);
1118
1142
  for (var i in appliedStyles) {
1119
1143
  node.style.removeProperty(appliedStyles[i]);
1120
1144
  }
@@ -1124,6 +1148,11 @@ angular.module('ngAnimate', ['ng'])
1124
1148
  event.stopPropagation();
1125
1149
  var ev = event.originalEvent || event;
1126
1150
  var timeStamp = ev.$manualTimeStamp || ev.timeStamp || Date.now();
1151
+
1152
+ /* Firefox (or possibly just Gecko) likes to not round values up
1153
+ * when a ms measurement is used for the animation */
1154
+ var elapsedTime = parseFloat(ev.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES));
1155
+
1127
1156
  /* $manualTimeStamp is a mocked timeStamp value which is set
1128
1157
  * within browserTrigger(). This is only here so that tests can
1129
1158
  * mock animations properly. Real events fallback to event.timeStamp,
@@ -1131,7 +1160,7 @@ angular.module('ngAnimate', ['ng'])
1131
1160
  * We're checking to see if the timeStamp surpasses the expected delay,
1132
1161
  * but we're using elapsedTime instead of the timeStamp on the 2nd
1133
1162
  * pre-condition since animations sometimes close off early */
1134
- if(Math.max(timeStamp - startTime, 0) >= maxDelayTime && ev.elapsedTime >= maxDuration) {
1163
+ if(Math.max(timeStamp - startTime, 0) >= maxDelayTime && elapsedTime >= maxDuration) {
1135
1164
  activeAnimationComplete();
1136
1165
  }
1137
1166
  }
@@ -1209,12 +1238,12 @@ angular.module('ngAnimate', ['ng'])
1209
1238
  }
1210
1239
 
1211
1240
  var parentElement = element.parent();
1212
- var clone = angular.element(element[0].cloneNode());
1241
+ var clone = angular.element(extractElementNode(element).cloneNode());
1213
1242
 
1214
1243
  //make the element super hidden and override any CSS style values
1215
1244
  clone.attr('style','position:absolute; top:-9999px; left:-9999px');
1216
1245
  clone.removeAttr('id');
1217
- clone.html('');
1246
+ clone.empty();
1218
1247
 
1219
1248
  forEach(oldClasses.split(' '), function(klass) {
1220
1249
  clone.removeClass(klass);
@@ -1,22 +1,22 @@
1
1
  /*
2
- AngularJS v1.2.3
2
+ AngularJS v1.2.5
3
3
  (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  License: MIT
5
5
  */
6
- (function(C,k,F){'use strict';k.module("ngAnimate",["ng"]).config(["$provide","$animateProvider",function(M,G){var p=k.noop,r=k.forEach,N=G.$$selectors,T=1,h="$$ngAnimateState",H="ng-animate",l={running:!0};M.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$timeout","$rootScope","$document",function(v,C,I,g,s,q,F){function O(a){if(a){var d=[],c={};a=a.substr(1).split(".");(I.transitions||I.animations)&&a.push("");for(var e=0;e<a.length;e++){var b=a[e],h=N[b];h&&!c[b]&&(d.push(C.get(h)),
7
- c[b]=!0)}return d}}function m(a,d,c,e,b,l,q){function w(a){t();if(!0===a)u();else{if(a=c.data(h))a.done=u,c.data(h,a);m(x,"after",u)}}function m(e,b,h){var k=b+"End";r(e,function(l,f){var B=function(){a:{var B=b+"Complete",a=e[f];a[B]=!0;(a[k]||p)();for(a=0;a<e.length;a++)if(!e[a][B])break a;h()}};"before"!=b||"enter"!=a&&"move"!=a?l[b]?l[k]=y?l[b](c,d,B):l[b](c,B):B():B()})}function g(){q&&s(q,0,!1)}function t(){t.hasBeenRun||(t.hasBeenRun=!0,l())}function u(){if(!u.hasBeenRun){u.hasBeenRun=!0;var a=
8
- c.data(h);a&&(y?z(c):(a.closeAnimationTimeout=s(function(){z(c)},0,!1),c.data(h,a)));g()}}var k=c.attr("class")||"",v=(" "+(k+" "+d)).replace(/\s+/g,".");e||(e=b?b.parent():c.parent());var v=O(v),y="addClass"==a||"removeClass"==a;b=c.data(h)||{};if(J(c,e)||0===v.length)t(),u();else{var x=[];b.running&&y&&b.structural||r(v,function(b){if(!b.allowCancel||b.allowCancel(c,a,d)){var e=b[a];"leave"==a?(b=e,e=null):b=b["before"+a.charAt(0).toUpperCase()+a.substr(1)];x.push({before:b,after:e})}});0===x.length?
9
- (t(),g()):(e=" "+k+" ",b.running&&(s.cancel(b.closeAnimationTimeout),z(c),L(b.animations),b.beforeComplete?(b.done||p)(!0):y&&!b.structural&&(e="removeClass"==b.event?e.replace(b.className,""):e+b.className+" ")),k=" "+d+" ","addClass"==a&&0<=e.indexOf(k)||"removeClass"==a&&-1==e.indexOf(k)?(t(),g()):(c.addClass(H),c.data(h,{running:!0,event:a,className:d,structural:!y,animations:x,done:w}),m(x,"before",w)))}}function E(a){a=a[0];a.nodeType==T&&r(a.querySelectorAll("."+H),function(a){a=k.element(a);
10
- var c=a.data(h);c&&(L(c.animations),z(a))})}function L(a){r(a,function(d){a.beforeComplete||(d.beforeEnd||p)(!0);a.afterComplete||(d.afterEnd||p)(!0)})}function z(a){a[0]==g[0]?l.disabled||(l.running=!1,l.structural=!1):(a.removeClass(H),a.removeData(h))}function J(a,d){if(l.disabled)return!0;if(a[0]==g[0])return l.disabled||l.running;do{if(0===d.length)break;var c=d[0]==g[0],e=c?l:d.data(h),e=e&&(!!e.disabled||!!e.running);if(c||e)return e;if(c)break}while(d=d.parent());return!0}g.data(h,l);q.$$postDigest(function(){q.$$postDigest(function(){l.running=
11
- !1})});return{enter:function(a,d,c,e){this.enabled(!1,a);v.enter(a,d,c);q.$$postDigest(function(){m("enter","ng-enter",a,d,c,p,e)})},leave:function(a,d){E(a);this.enabled(!1,a);q.$$postDigest(function(){m("leave","ng-leave",a,null,null,function(){v.leave(a)},d)})},move:function(a,d,c,e){E(a);this.enabled(!1,a);v.move(a,d,c);q.$$postDigest(function(){m("move","ng-move",a,d,c,p,e)})},addClass:function(a,d,c){m("addClass",d,a,null,null,function(){v.addClass(a,d)},c)},removeClass:function(a,d,c){m("removeClass",
12
- d,a,null,null,function(){v.removeClass(a,d)},c)},enabled:function(a,d){switch(arguments.length){case 2:if(a)z(d);else{var c=d.data(h)||{};c.disabled=!0;d.data(h,c)}break;case 1:l.disabled=!a;break;default:a=!l.disabled}return!!a}}}]);G.register("",["$window","$sniffer","$timeout",function(l,h,I){function g(f){R.push(f);I.cancel(S);S=I(function(){r(R,function(f){f()});R=[];S=null;D={}},10,!1)}function s(f,a){var K=a?D[a]:null;if(!K){var b=0,c=0,d=0,e=0,h,k,g,m;r(f,function(f){if(f.nodeType==T){f=l.getComputedStyle(f)||
13
- {};g=f[A+G];b=Math.max(q(g),b);m=f[A+t];h=f[A+u];c=Math.max(q(h),c);k=f[w+u];e=Math.max(q(k),e);var a=q(f[w+G]);0<a&&(a*=parseInt(f[w+M],10)||1);d=Math.max(a,d)}});K={total:0,transitionPropertyStyle:m,transitionDurationStyle:g,transitionDelayStyle:h,transitionDelay:c,transitionDuration:b,animationDelayStyle:k,animationDelay:e,animationDuration:d};a&&(D[a]=K)}return K}function q(f){var a=0;f=k.isString(f)?f.split(/\s*,\s*/):[];r(f,function(f){a=Math.max(parseFloat(f)||0,a)});return a}function H(f){var a=
14
- f.parent(),b=a.data(V);b||(a.data(V,++U),b=U);return b+"-"+f[0].className}function O(f,a){var b=H(f),c=b+" "+a,d={},e=D[c]?++D[c].total:0;if(0<e){var h=a+"-stagger",d=b+" "+h;(b=!D[d])&&f.addClass(h);d=s(f,d);b&&f.removeClass(h)}f.addClass(a);c=s(f,c);h=Math.max(c.transitionDuration,c.animationDuration);if(0===h)return f.removeClass(a),!1;var k="";0<c.transitionDuration?(f.addClass(x),k+=N+" ",f[0].style[A+t]="none"):f[0].style[w]="none 0s";r(a.split(" "),function(a,f){k+=(0<f?" ":"")+a+"-active"});
15
- f.data(y,{className:a,activeClassName:k,maxDuration:h,classes:a+" "+k,timings:c,stagger:d,ii:e});return!0}function m(a){a=a[0];var b=A+t;a.style[b]&&0<a.style[b].length&&(a.style[b]="")}function E(a){var b=a[0],c=w;b.style[c]&&0<b.style[c].length&&(a[0].style[c]="")}function L(a,d,e){function k(a){a.stopPropagation();a=a.originalEvent||a;var f=a.$manualTimeStamp||a.timeStamp||Date.now();Math.max(f-w,0)>=v&&a.elapsedTime>=q&&e()}var n=a.data(y);if(a.hasClass(d)&&n){var l=a[0],g=n.timings,m=n.stagger,
16
- q=n.maxDuration,r=n.activeClassName,v=1E3*Math.max(g.transitionDelay,g.animationDelay),w=Date.now(),t=Q+" "+P,u=n.ii,x,n="",p=[];if(0<g.transitionDuration){var s=g.transitionPropertyStyle;-1==s.indexOf("all")&&(x=!0,n+=b+"transition-property: "+s+", "+(h.msie?"-ms-zoom":"border-spacing")+"; ",n+=b+"transition-duration: "+g.transitionDurationStyle+", "+g.transitionDuration+"s; ",p.push(b+"transition-property"),p.push(b+"transition-duration"))}0<u&&(0<m.transitionDelay&&0===m.transitionDuration&&(s=
17
- g.transitionDelayStyle,x&&(s+=", "+g.transitionDelay+"s"),n+=b+"transition-delay: "+z(s,m.transitionDelay,u)+"; ",p.push(b+"transition-delay")),0<m.animationDelay&&0===m.animationDuration&&(n+=b+"animation-delay: "+z(g.animationDelayStyle,m.animationDelay,u)+"; ",p.push(b+"animation-delay")));0<p.length&&(g=l.getAttribute("style")||"",l.setAttribute("style",g+" "+n));a.on(t,k);a.addClass(r);return function(b){a.off(t,k);a.removeClass(r);c(a,d);for(var e in p)l.style.removeProperty(p[e])}}e()}function z(a,
18
- b,c){var d="";r(a.split(","),function(a,f){d+=(0<f?",":"")+(c*b+parseInt(a,10))+"s"});return d}function J(a,b){if(O(a,b))return function(d){d&&c(a,b)}}function a(a,b,d){if(a.data(y))return L(a,b,d);c(a,b);d()}function d(f,b,c){var d=J(f,b);if(d){var e=d;g(function(){m(f);E(f);e=a(f,b,c)});return function(a){(e||p)(a)}}c()}function c(a,b){a.removeClass(b);a.removeClass(x);a.removeData(y)}function e(a,b){var c="";a=k.isArray(a)?a:a.split(/\s+/);r(a,function(a,f){a&&0<a.length&&(c+=(0<f?" ":"")+a+b)});
19
- return c}var b="",A,P,w,Q;C.ontransitionend===F&&C.onwebkittransitionend!==F?(b="-webkit-",A="WebkitTransition",P="webkitTransitionEnd transitionend"):(A="transition",P="transitionend");C.onanimationend===F&&C.onwebkitanimationend!==F?(b="-webkit-",w="WebkitAnimation",Q="webkitAnimationEnd animationend"):(w="animation",Q="animationend");var G="Duration",t="Property",u="Delay",M="IterationCount",V="$$ngAnimateKey",y="$$ngAnimateCSS3Data",x="ng-animate-start",N="ng-animate-active",D={},U=0,R=[],S;return{allowCancel:function(a,
20
- b,c){var d=(a.data(y)||{}).classes;if(!d||0<=["enter","leave","move"].indexOf(b))return!0;var h=a.parent(),g=k.element(a[0].cloneNode());g.attr("style","position:absolute; top:-9999px; left:-9999px");g.removeAttr("id");g.html("");r(d.split(" "),function(a){g.removeClass(a)});g.addClass(e(c,"addClass"==b?"-add":"-remove"));h.append(g);a=s(g);g.remove();return 0<Math.max(a.transitionDuration,a.animationDuration)},enter:function(a,b){return d(a,"ng-enter",b)},leave:function(a,b){return d(a,"ng-leave",
21
- b)},move:function(a,b){return d(a,"ng-move",b)},beforeAddClass:function(a,b,c){if(b=J(a,e(b,"-add")))return g(function(){m(a);E(a);c()}),b;c()},addClass:function(b,c,d){return a(b,e(c,"-add"),d)},beforeRemoveClass:function(a,b,c){if(b=J(a,e(b,"-remove")))return g(function(){m(a);E(a);c()}),b;c()},removeClass:function(b,c,d){return a(b,e(c,"-remove"),d)}}}])}])})(window,window.angular);
22
- //# sourceMappingURL=angular-animate.min.js.map
6
+ (function(C,k,F){'use strict';k.module("ngAnimate",["ng"]).config(["$provide","$animateProvider",function(M,G){function l(l){for(var h=0;h<l.length;h++){var m=l[h];if(m.nodeType==T)return m}}var s=k.noop,m=k.forEach,N=G.$$selectors,T=1,h="$$ngAnimateState",J="ng-animate",g={running:!0};M.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$timeout","$rootScope","$document",function(H,C,I,n,t,q,F){function O(a){if(a){var c=[],e={};a=a.substr(1).split(".");(I.transitions||I.animations)&&
7
+ a.push("");for(var f=0;f<a.length;f++){var b=a[f],l=N[b];l&&!e[b]&&(c.push(C.get(l)),e[b]=!0)}return c}}function p(a,c,e,f,b,g,q){function x(a){v();if(!0===a)w();else{if(a=e.data(h))a.done=w,e.data(h,a);p(y,"after",w)}}function p(f,b,l){var h=b+"End";m(f,function(m,g){var d=function(){a:{var d=b+"Complete",a=f[g];a[d]=!0;(a[h]||s)();for(a=0;a<f.length;a++)if(!f[a][d])break a;l()}};"before"!=b||"enter"!=a&&"move"!=a?m[b]?m[h]=z?m[b](e,c,d):m[b](e,d):d():d()})}function n(){q&&t(q,0,!1)}function v(){v.hasBeenRun||
8
+ (v.hasBeenRun=!0,g())}function w(){if(!w.hasBeenRun){w.hasBeenRun=!0;var a=e.data(h);a&&(z?A(e):(a.closeAnimationTimeout=t(function(){A(e)},0,!1),e.data(h,a)));n()}}var u=l(e);if(u){var u=u.className,k=(" "+(u+" "+c)).replace(/\s+/g,".");f||(f=b?b.parent():e.parent());var k=O(k),z="addClass"==a||"removeClass"==a;b=e.data(h)||{};if(K(e,f)||0===k.length)v(),w();else{var y=[];b.running&&z&&b.structural||m(k,function(b){if(!b.allowCancel||b.allowCancel(e,a,c)){var f=b[a];"leave"==a?(b=f,f=null):b=b["before"+
9
+ a.charAt(0).toUpperCase()+a.substr(1)];y.push({before:b,after:f})}});0===y.length?(v(),n()):(f=" "+u+" ",b.running&&(t.cancel(b.closeAnimationTimeout),A(e),L(b.animations),b.beforeComplete?(b.done||s)(!0):z&&!b.structural&&(f="removeClass"==b.event?f.replace(b.className,""):f+b.className+" ")),u=" "+c+" ","addClass"==a&&0<=f.indexOf(u)||"removeClass"==a&&-1==f.indexOf(u)?(v(),n()):(e.addClass(J),e.data(h,{running:!0,event:a,className:c,structural:!z,animations:y,done:x}),p(y,"before",x)))}}else v(),
10
+ w()}function E(a){a=l(a);m(a.querySelectorAll("."+J),function(a){a=k.element(a);var e=a.data(h);e&&(L(e.animations),A(a))})}function L(a){m(a,function(c){a.beforeComplete||(c.beforeEnd||s)(!0);a.afterComplete||(c.afterEnd||s)(!0)})}function A(a){l(a)==l(n)?g.disabled||(g.running=!1,g.structural=!1):(a.removeClass(J),a.removeData(h))}function K(a,c){if(g.disabled)return!0;if(l(a)==l(n))return g.disabled||g.running;do{if(0===c.length)break;var e=l(c)==l(n),f=e?g:c.data(h),f=f&&(!!f.disabled||!!f.running);
11
+ if(e||f)return f;if(e)break}while(c=c.parent());return!0}n.data(h,g);q.$$postDigest(function(){q.$$postDigest(function(){g.running=!1})});return{enter:function(a,c,e,f){this.enabled(!1,a);H.enter(a,c,e);q.$$postDigest(function(){p("enter","ng-enter",a,c,e,s,f)})},leave:function(a,c){E(a);this.enabled(!1,a);q.$$postDigest(function(){p("leave","ng-leave",a,null,null,function(){H.leave(a)},c)})},move:function(a,c,e,f){E(a);this.enabled(!1,a);H.move(a,c,e);q.$$postDigest(function(){p("move","ng-move",
12
+ a,c,e,s,f)})},addClass:function(a,c,e){p("addClass",c,a,null,null,function(){H.addClass(a,c)},e)},removeClass:function(a,c,e){p("removeClass",c,a,null,null,function(){H.removeClass(a,c)},e)},enabled:function(a,c){switch(arguments.length){case 2:if(a)A(c);else{var e=c.data(h)||{};e.disabled=!0;c.data(h,e)}break;case 1:g.disabled=!a;break;default:a=!g.disabled}return!!a}}}]);G.register("",["$window","$sniffer","$timeout",function(h,g,I){function n(d){R.push(d);I.cancel(S);S=I(function(){m(R,function(d){d()});
13
+ R=[];S=null;D={}},10,!1)}function t(d,a){var b=a?D[a]:null;if(!b){var e=0,c=0,f=0,l=0,g,k,n,p;m(d,function(d){if(d.nodeType==T){d=h.getComputedStyle(d)||{};n=d[B+G];e=Math.max(q(n),e);p=d[B+v];g=d[B+w];c=Math.max(q(g),c);k=d[x+w];l=Math.max(q(k),l);var a=q(d[x+G]);0<a&&(a*=parseInt(d[x+u],10)||1);f=Math.max(a,f)}});b={total:0,transitionPropertyStyle:p,transitionDurationStyle:n,transitionDelayStyle:g,transitionDelay:c,transitionDuration:e,animationDelayStyle:k,animationDelay:l,animationDuration:f};
14
+ a&&(D[a]=b)}return b}function q(d){var a=0;d=k.isString(d)?d.split(/\s*,\s*/):[];m(d,function(d){a=Math.max(parseFloat(d)||0,a)});return a}function J(d){var a=d.parent(),b=a.data(V);b||(a.data(V,++U),b=U);return b+"-"+l(d).className}function O(d,a){var b=J(d),e=b+" "+a,c={},f=D[e]?++D[e].total:0;if(0<f){var h=a+"-stagger",c=b+" "+h;(b=!D[c])&&d.addClass(h);c=t(d,c);b&&d.removeClass(h)}d.addClass(a);e=t(d,e);h=Math.max(e.transitionDuration,e.animationDuration);if(0===h)return d.removeClass(a),!1;var g=
15
+ "";0<e.transitionDuration?(d.addClass(y),g+=M+" ",l(d).style[B+v]="none"):l(d).style[x]="none 0s";m(a.split(" "),function(d,a){g+=(0<a?" ":"")+d+"-active"});d.data(z,{className:a,activeClassName:g,maxDuration:h,classes:a+" "+g,timings:e,stagger:c,ii:f});return!0}function p(d){var a=B+v;d=l(d);d.style[a]&&0<d.style[a].length&&(d.style[a]="")}function E(d){var a=x;d=l(d);d.style[a]&&0<d.style[a].length&&(d.style[a]="")}function L(a,c,f){function h(a){a.stopPropagation();var d=a.originalEvent||a;a=d.$manualTimeStamp||
16
+ d.timeStamp||Date.now();d=parseFloat(d.elapsedTime.toFixed(N));Math.max(a-x,0)>=v&&d>=p&&f()}var r=a.data(z),m=l(a);if(-1!=m.className.indexOf(c)&&r){var k=r.timings,n=r.stagger,p=r.maxDuration,q=r.activeClassName,v=1E3*Math.max(k.transitionDelay,k.animationDelay),x=Date.now(),w=Q+" "+P,u=r.ii,y,r="",s=[];if(0<k.transitionDuration){var t=k.transitionPropertyStyle;-1==t.indexOf("all")&&(y=!0,r+=b+"transition-property: "+t+", "+(g.msie?"-ms-zoom":"border-spacing")+"; ",r+=b+"transition-duration: "+
17
+ k.transitionDurationStyle+", "+k.transitionDuration+"s; ",s.push(b+"transition-property"),s.push(b+"transition-duration"))}0<u&&(0<n.transitionDelay&&0===n.transitionDuration&&(t=k.transitionDelayStyle,y&&(t+=", "+k.transitionDelay+"s"),r+=b+"transition-delay: "+A(t,n.transitionDelay,u)+"; ",s.push(b+"transition-delay")),0<n.animationDelay&&0===n.animationDuration&&(r+=b+"animation-delay: "+A(k.animationDelayStyle,n.animationDelay,u)+"; ",s.push(b+"animation-delay")));0<s.length&&(k=m.getAttribute("style")||
18
+ "",m.setAttribute("style",k+" "+r));a.on(w,h);a.addClass(q);return function(b){a.off(w,h);a.removeClass(q);e(a,c);b=l(a);for(var f in s)b.style.removeProperty(s[f])}}f()}function A(a,b,e){var c="";m(a.split(","),function(a,d){c+=(0<d?",":"")+(e*b+parseInt(a,10))+"s"});return c}function K(a,b){if(O(a,b))return function(c){c&&e(a,b)}}function a(a,b,c){if(a.data(z))return L(a,b,c);e(a,b);c()}function c(d,b,c){var e=K(d,b);if(e){var f=e;n(function(){p(d);E(d);f=a(d,b,c)});return function(a){(f||s)(a)}}c()}
19
+ function e(a,b){a.removeClass(b);a.removeClass(y);a.removeData(z)}function f(a,b){var c="";a=k.isArray(a)?a:a.split(/\s+/);m(a,function(a,d){a&&0<a.length&&(c+=(0<d?" ":"")+a+b)});return c}var b="",B,P,x,Q;C.ontransitionend===F&&C.onwebkittransitionend!==F?(b="-webkit-",B="WebkitTransition",P="webkitTransitionEnd transitionend"):(B="transition",P="transitionend");C.onanimationend===F&&C.onwebkitanimationend!==F?(b="-webkit-",x="WebkitAnimation",Q="webkitAnimationEnd animationend"):(x="animation",
20
+ Q="animationend");var G="Duration",v="Property",w="Delay",u="IterationCount",V="$$ngAnimateKey",z="$$ngAnimateCSS3Data",y="ng-animate-start",M="ng-animate-active",N=3,D={},U=0,R=[],S;return{allowCancel:function(a,b,c){var e=(a.data(z)||{}).classes;if(!e||0<=["enter","leave","move"].indexOf(b))return!0;var h=a.parent(),g=k.element(l(a).cloneNode());g.attr("style","position:absolute; top:-9999px; left:-9999px");g.removeAttr("id");g.empty();m(e.split(" "),function(a){g.removeClass(a)});g.addClass(f(c,
21
+ "addClass"==b?"-add":"-remove"));h.append(g);a=t(g);g.remove();return 0<Math.max(a.transitionDuration,a.animationDuration)},enter:function(a,b){return c(a,"ng-enter",b)},leave:function(a,b){return c(a,"ng-leave",b)},move:function(a,b){return c(a,"ng-move",b)},beforeAddClass:function(a,b,c){if(b=K(a,f(b,"-add")))return n(function(){p(a);E(a);c()}),b;c()},addClass:function(b,c,e){return a(b,f(c,"-add"),e)},beforeRemoveClass:function(a,b,c){if(b=K(a,f(b,"-remove")))return n(function(){p(a);E(a);c()}),
22
+ b;c()},removeClass:function(b,c,e){return a(b,f(c,"-remove"),e)}}}])}])})(window,window.angular);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.3
2
+ * @license AngularJS v1.2.5
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -1,8 +1,7 @@
1
1
  /*
2
- AngularJS v1.2.3
2
+ AngularJS v1.2.5
3
3
  (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  License: MIT
5
5
  */
6
6
  (function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(d,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&&d.$apply())})();k=!0;d.$watch(function(){var a,e,d;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)(e=c[a],f.isString(e))?e!==g[a]&&(b.cookies(a,e),d=!0):f.isDefined(g[a])?c[a]=g[a]:delete c[a];if(d)for(a in e=b.cookies(),c)c[a]!==e[a]&&(m(e[a])?delete c[a]:c[a]=e[a])});
7
7
  return c}]).factory("$cookieStore",["$cookies",function(d){return{get:function(b){return(b=d[b])?f.fromJson(b):b},put:function(b,c){d[b]=f.toJson(c)},remove:function(b){delete d[b]}}}])})(window,window.angular);
8
- //# sourceMappingURL=angular-cookies.min.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.3
2
+ * @license AngularJS v1.2.5
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -69,7 +69,7 @@ function minErr(module) {
69
69
  return match;
70
70
  });
71
71
 
72
- message = message + '\nhttp://errors.angularjs.org/1.2.3/' +
72
+ message = message + '\nhttp://errors.angularjs.org/1.2.5/' +
73
73
  (module ? module + '/' : '') + code;
74
74
  for (i = 2; i < arguments.length; i++) {
75
75
  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -1,9 +1,8 @@
1
1
  /*
2
- AngularJS v1.2.3
2
+ AngularJS v1.2.5
3
3
  (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  License: MIT
5
5
  */
6
- (function(){'use strict';function d(a){return function(){var c=arguments[0],b,c="["+(a?a+":":"")+c+"] http://errors.angularjs.org/1.2.3/"+(a?a+"/":"")+c;for(b=1;b<arguments.length;b++)c=c+(1==b?"?":"&")+"p"+(b-1)+"="+encodeURIComponent("function"==typeof arguments[b]?arguments[b].toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof arguments[b]?"undefined":"string"!=typeof arguments[b]?JSON.stringify(arguments[b]):arguments[b]);return Error(c)}}(function(a){var c=d("$injector"),b=d("ng");a=a.angular||
6
+ (function(){'use strict';function d(a){return function(){var c=arguments[0],b,c="["+(a?a+":":"")+c+"] http://errors.angularjs.org/1.2.5/"+(a?a+"/":"")+c;for(b=1;b<arguments.length;b++)c=c+(1==b?"?":"&")+"p"+(b-1)+"="+encodeURIComponent("function"==typeof arguments[b]?arguments[b].toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof arguments[b]?"undefined":"string"!=typeof arguments[b]?JSON.stringify(arguments[b]):arguments[b]);return Error(c)}}(function(a){var c=d("$injector"),b=d("ng");a=a.angular||
7
7
  (a.angular={});a.$$minErr=a.$$minErr||d;return a.module||(a.module=function(){var a={};return function(e,d,f){if("hasOwnProperty"===e)throw b("badname","module");d&&a.hasOwnProperty(e)&&(a[e]=null);return a[e]||(a[e]=function(){function a(c,d,e){return function(){b[e||"push"]([c,d,arguments]);return g}}if(!d)throw c("nomod",e);var b=[],h=[],k=a("$injector","invoke"),g={_invokeQueue:b,_runBlocks:h,requires:d,name:e,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide",
8
8
  "service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:k,run:function(a){h.push(a);return this}};f&&k(f);return g}())}}())})(window)})(window);
9
- //# sourceMappingURL=angular-loader.min.js.map
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.3
2
+ * @license AngularJS v1.2.5
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -1094,7 +1094,8 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
1094
1094
  var definitions = [],
1095
1095
  expectations = [],
1096
1096
  responses = [],
1097
- responsesPush = angular.bind(responses, responses.push);
1097
+ responsesPush = angular.bind(responses, responses.push),
1098
+ copy = angular.copy;
1098
1099
 
1099
1100
  function createResponse(status, data, headers) {
1100
1101
  if (angular.isFunction(status)) return status;
@@ -1126,7 +1127,7 @@ function createHttpBackendMock($rootScope, $delegate, $browser) {
1126
1127
  function handleResponse() {
1127
1128
  var response = wrapped.response(method, url, data, headers);
1128
1129
  xhr.$$respHeaders = response[2];
1129
- callback(response[0], response[1], xhr.getAllResponseHeaders());
1130
+ callback(copy(response[0]), copy(response[1]), xhr.getAllResponseHeaders());
1130
1131
  }
1131
1132
 
1132
1133
  function handleTimeout() {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.3
2
+ * @license AngularJS v1.2.5
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -29,6 +29,25 @@ function lookupDottedPath(obj, path) {
29
29
  return obj;
30
30
  }
31
31
 
32
+ /**
33
+ * Create a shallow copy of an object and clear other fields from the destination
34
+ */
35
+ function shallowClearAndCopy(src, dst) {
36
+ dst = dst || {};
37
+
38
+ angular.forEach(dst, function(value, key){
39
+ delete dst[key];
40
+ });
41
+
42
+ for (var key in src) {
43
+ if (src.hasOwnProperty(key) && key.substr(0, 2) !== '$$') {
44
+ dst[key] = src[key];
45
+ }
46
+ }
47
+
48
+ return dst;
49
+ }
50
+
32
51
  /**
33
52
  * @ngdoc overview
34
53
  * @name ngResource
@@ -398,7 +417,7 @@ angular.module('ngResource', ['ng']).
398
417
  }
399
418
 
400
419
  function Resource(value){
401
- copy(value || {}, this);
420
+ shallowClearAndCopy(value || {}, this);
402
421
  }
403
422
 
404
423
  forEach(actions, function(action, name) {
@@ -470,7 +489,7 @@ angular.module('ngResource', ['ng']).
470
489
  if (data) {
471
490
  // Need to convert action.isArray to boolean in case it is undefined
472
491
  // jshint -W018
473
- if ( angular.isArray(data) !== (!!action.isArray) ) {
492
+ if (angular.isArray(data) !== (!!action.isArray)) {
474
493
  throw $resourceMinErr('badcfg', 'Error in resource configuration. Expected ' +
475
494
  'response to contain an {0} but got an {1}',
476
495
  action.isArray?'array':'object', angular.isArray(data)?'array':'object');
@@ -482,7 +501,7 @@ angular.module('ngResource', ['ng']).
482
501
  value.push(new Resource(item));
483
502
  });
484
503
  } else {
485
- copy(data, value);
504
+ shallowClearAndCopy(data, value);
486
505
  value.$promise = promise;
487
506
  }
488
507
  }
@@ -1,12 +1,12 @@
1
1
  /*
2
- AngularJS v1.2.3
2
+ AngularJS v1.2.5
3
3
  (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  License: MIT
5
5
  */
6
- (function(H,f,z){'use strict';var u=f.$$minErr("$resource"),A=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;f.module("ngResource",["ng"]).factory("$resource",["$http","$q",function(D,E){function n(f,h){this.template=f;this.defaults=h||{};this.urlParams={}}function v(m,h,k){function r(d,c){var e={};c=w({},h,c);s(c,function(a,c){t(a)&&(a=a());var g;if(a&&a.charAt&&"@"==a.charAt(0)){g=d;var b=a.substr(1);if(null==b||""===b||"hasOwnProperty"===b||!A.test("."+b))throw u("badmember",b);for(var b=b.split("."),f=0,h=
7
- b.length;f<h&&g!==z;f++){var q=b[f];g=null!==g?g[q]:z}}else g=a;e[c]=g});return e}function e(b){return b.resource}function b(b){B(b||{},this)}var F=new n(m);k=w({},G,k);s(k,function(d,c){var h=/^(POST|PUT|PATCH)$/i.test(d.method);b[c]=function(a,c,g,m){var p={},k,q,x;switch(arguments.length){case 4:x=m,q=g;case 3:case 2:if(t(c)){if(t(a)){q=a;x=c;break}q=c;x=g}else{p=a;k=c;q=g;break}case 1:t(a)?q=a:h?k=a:p=a;break;case 0:break;default:throw u("badargs",arguments.length);}var n=this instanceof b,l=
8
- n?k:d.isArray?[]:new b(k),y={},v=d.interceptor&&d.interceptor.response||e,A=d.interceptor&&d.interceptor.responseError||z;s(d,function(b,a){"params"!=a&&("isArray"!=a&&"interceptor"!=a)&&(y[a]=B(b))});h&&(y.data=k);F.setUrlParams(y,w({},r(k,d.params||{}),p),d.url);p=D(y).then(function(a){var c=a.data,g=l.$promise;if(c){if(f.isArray(c)!==!!d.isArray)throw u("badcfg",d.isArray?"array":"object",f.isArray(c)?"array":"object");d.isArray?(l.length=0,s(c,function(a){l.push(new b(a))})):(B(c,l),l.$promise=
9
- g)}l.$resolved=!0;a.resource=l;return a},function(a){l.$resolved=!0;(x||C)(a);return E.reject(a)});p=p.then(function(a){var c=v(a);(q||C)(c,a.headers);return c},A);return n?p:(l.$promise=p,l.$resolved=!1,l)};b.prototype["$"+c]=function(a,d,g){t(a)&&(g=d,d=a,a={});a=b[c].call(this,a,this,d,g);return a.$promise||a}});b.bind=function(b){return v(m,w({},h,b),k)};return b}var G={get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}},
10
- C=f.noop,s=f.forEach,w=f.extend,B=f.copy,t=f.isFunction;n.prototype={setUrlParams:function(m,h,k){var r=this,e=k||r.template,b,n,d=r.urlParams={};s(e.split(/\W/),function(c){if("hasOwnProperty"===c)throw u("badname");!/^\d+$/.test(c)&&(c&&RegExp("(^|[^\\\\]):"+c+"(\\W|$)").test(e))&&(d[c]=!0)});e=e.replace(/\\:/g,":");h=h||{};s(r.urlParams,function(c,d){b=h.hasOwnProperty(d)?h[d]:r.defaults[d];f.isDefined(b)&&null!==b?(n=encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,
11
- "$").replace(/%2C/gi,",").replace(/%20/g,"%20").replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+"),e=e.replace(RegExp(":"+d+"(\\W|$)","g"),n+"$1")):e=e.replace(RegExp("(/?):"+d+"(\\W|$)","g"),function(a,c,b){return"/"==b.charAt(0)?b:c+b})});e=e.replace(/\/+$/,"");e=e.replace(/\/\.(?=\w+($|\?))/,".");m.url=e.replace(/\/\\\./,"/.");s(h,function(b,d){r.urlParams[d]||(m.params=m.params||{},m.params[d]=b)})}};return v}])})(window,window.angular);
12
- //# sourceMappingURL=angular-resource.min.js.map
6
+ (function(H,a,z){'use strict';function C(q,l){l=l||{};a.forEach(l,function(a,h){delete l[h]});for(var h in q)q.hasOwnProperty(h)&&"$$"!==h.substr(0,2)&&(l[h]=q[h]);return l}var v=a.$$minErr("$resource"),B=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;a.module("ngResource",["ng"]).factory("$resource",["$http","$q",function(q,l){function h(a,k){this.template=a;this.defaults=k||{};this.urlParams={}}function t(m,k,n){function E(c,d){var e={};d=w({},k,d);s(d,function(b,d){u(b)&&(b=b());var g;if(b&&b.charAt&&"@"==
7
+ b.charAt(0)){g=c;var a=b.substr(1);if(null==a||""===a||"hasOwnProperty"===a||!B.test("."+a))throw v("badmember",a);for(var a=a.split("."),f=0,k=a.length;f<k&&g!==z;f++){var h=a[f];g=null!==g?g[h]:z}}else g=b;e[d]=g});return e}function e(a){return a.resource}function f(a){C(a||{},this)}var F=new h(m);n=w({},A,n);s(n,function(c,d){var k=/^(POST|PUT|PATCH)$/i.test(c.method);f[d]=function(b,d,g,h){var r={},m,n,x;switch(arguments.length){case 4:x=h,n=g;case 3:case 2:if(u(d)){if(u(b)){n=b;x=d;break}n=d;
8
+ x=g}else{r=b;m=d;n=g;break}case 1:u(b)?n=b:k?m=b:r=b;break;case 0:break;default:throw v("badargs",arguments.length);}var t=this instanceof f,p=t?m:c.isArray?[]:new f(m),y={},A=c.interceptor&&c.interceptor.response||e,B=c.interceptor&&c.interceptor.responseError||z;s(c,function(a,b){"params"!=b&&("isArray"!=b&&"interceptor"!=b)&&(y[b]=G(a))});k&&(y.data=m);F.setUrlParams(y,w({},E(m,c.params||{}),r),c.url);r=q(y).then(function(b){var d=b.data,g=p.$promise;if(d){if(a.isArray(d)!==!!c.isArray)throw v("badcfg",
9
+ c.isArray?"array":"object",a.isArray(d)?"array":"object");c.isArray?(p.length=0,s(d,function(b){p.push(new f(b))})):(C(d,p),p.$promise=g)}p.$resolved=!0;b.resource=p;return b},function(b){p.$resolved=!0;(x||D)(b);return l.reject(b)});r=r.then(function(b){var a=A(b);(n||D)(a,b.headers);return a},B);return t?r:(p.$promise=r,p.$resolved=!1,p)};f.prototype["$"+d]=function(b,a,g){u(b)&&(g=a,a=b,b={});b=f[d].call(this,b,this,a,g);return b.$promise||b}});f.bind=function(a){return t(m,w({},k,a),n)};return f}
10
+ var A={get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}},D=a.noop,s=a.forEach,w=a.extend,G=a.copy,u=a.isFunction;h.prototype={setUrlParams:function(m,k,h){var l=this,e=h||l.template,f,q,c=l.urlParams={};s(e.split(/\W/),function(a){if("hasOwnProperty"===a)throw v("badname");!/^\d+$/.test(a)&&(a&&RegExp("(^|[^\\\\]):"+a+"(\\W|$)").test(e))&&(c[a]=!0)});e=e.replace(/\\:/g,":");k=k||{};s(l.urlParams,function(d,c){f=k.hasOwnProperty(c)?
11
+ k[c]:l.defaults[c];a.isDefined(f)&&null!==f?(q=encodeURIComponent(f).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"%20").replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+"),e=e.replace(RegExp(":"+c+"(\\W|$)","g"),q+"$1")):e=e.replace(RegExp("(/?):"+c+"(\\W|$)","g"),function(a,d,c){return"/"==c.charAt(0)?c:d+c})});e=e.replace(/\/+$/,"");e=e.replace(/\/\.(?=\w+($|\?))/,".");m.url=e.replace(/\/\\\./,"/.");s(k,function(a,c){l.urlParams[c]||
12
+ (m.params=m.params||{},m.params[c]=a)})}};return t}])})(window,window.angular);