angular-rails-engine 1.2.0.2 → 1.2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/app/assets/javascripts/angular/angular-animate.js +105 -37
- data/app/assets/javascripts/angular/angular-animate.min.js +18 -17
- data/app/assets/javascripts/angular/angular-cookies.js +2 -2
- data/app/assets/javascripts/angular/angular-cookies.min.js +2 -2
- data/app/assets/javascripts/angular/angular-loader.js +93 -6
- data/app/assets/javascripts/angular/angular-loader.min.js +5 -4
- data/app/assets/javascripts/angular/angular-mocks.js +187 -202
- data/app/assets/javascripts/angular/angular-resource.js +31 -63
- data/app/assets/javascripts/angular/angular-resource.min.js +8 -8
- data/app/assets/javascripts/angular/angular-route.js +42 -31
- data/app/assets/javascripts/angular/angular-route.min.js +10 -10
- data/app/assets/javascripts/angular/angular-sanitize.js +66 -28
- data/app/assets/javascripts/angular/angular-sanitize.min.js +10 -10
- data/app/assets/javascripts/angular/angular-scenario.js +599 -348
- data/app/assets/javascripts/angular/angular-touch.js +2 -2
- data/app/assets/javascripts/angular/angular-touch.min.js +2 -2
- data/app/assets/javascripts/angular/angular.js +603 -352
- data/app/assets/javascripts/angular/angular.min.js +197 -196
- data/app/assets/stylesheets/angular-csp.css +4 -4
- data/lib/angular-rails-engine.rb +1 -1
- data/lib/angular-rails-engine/version.rb +1 -1
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e813091ed284e69523789a33e22493fd55f9d3a3
|
4
|
+
data.tar.gz: e117f4a5536f1dc2ddbfc635aecada09449dbb5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd26d69a064ab5c2b737e2ca3822ab215ca3c93ca569db04563934d370894af92235d49cd1f481537ed6567893808e91b3980bea2cdd5fa9ce981eb5ba9042c0
|
7
|
+
data.tar.gz: 94acd59c22494b938b7bba7cbe9da6503db6650c720ad7a31d571a786412ae0ea5b3c2f7bc9521635698a008a31364221ced9061fd3b57dcac70909daf7ada7a
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.2.
|
3
|
-
* (c) 2010-
|
2
|
+
* @license AngularJS v1.2.3
|
3
|
+
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
6
6
|
(function(window, angular, undefined) {'use strict';
|
@@ -165,7 +165,7 @@
|
|
165
165
|
* }
|
166
166
|
* </pre>
|
167
167
|
*
|
168
|
-
* Staggering animations work by default in ngRepeat (so long as the CSS class is
|
168
|
+
* Staggering animations work by default in ngRepeat (so long as the CSS class is defined). Outside of ngRepeat, to use staggering animations
|
169
169
|
* on your own, they can be triggered by firing multiple calls to the same event on $animate. However, the restrictions surrounding this
|
170
170
|
* are that each of the elements must have the same CSS className value as well as the same parent element. A stagger operation
|
171
171
|
* will also be reset if more than 10ms has passed after the last animation has been fired.
|
@@ -228,7 +228,7 @@
|
|
228
228
|
* JavaScript-defined animations are created with a CSS-like class selector and a collection of events which are set to run
|
229
229
|
* a javascript callback function. When an animation is triggered, $animate will look for a matching animation which fits
|
230
230
|
* the element's CSS class attribute value and then run the matching animation event function (if found).
|
231
|
-
* In other words, if the CSS classes present on the animated element match any of the JavaScript animations then the callback function
|
231
|
+
* In other words, if the CSS classes present on the animated element match any of the JavaScript animations then the callback function will
|
232
232
|
* be executed. It should be also noted that only simple, single class selectors are allowed (compound class selectors are not supported).
|
233
233
|
*
|
234
234
|
* Within a JavaScript animation, an object containing various event callback animation functions is expected to be returned.
|
@@ -269,9 +269,16 @@ angular.module('ngAnimate', ['ng'])
|
|
269
269
|
|
270
270
|
$rootElement.data(NG_ANIMATE_STATE, rootAnimateState);
|
271
271
|
|
272
|
-
// disable animations during bootstrap, but once we bootstrapped,
|
272
|
+
// disable animations during bootstrap, but once we bootstrapped, wait again
|
273
|
+
// for another digest until enabling animations. The reason why we digest twice
|
274
|
+
// is because all structural animations (enter, leave and move) all perform a
|
275
|
+
// post digest operation before animating. If we only wait for a single digest
|
276
|
+
// to pass then the structural animation would render its animation on page load.
|
277
|
+
// (which is what we're trying to avoid when the application first boots up.)
|
273
278
|
$rootScope.$$postDigest(function() {
|
274
|
-
|
279
|
+
$rootScope.$$postDigest(function() {
|
280
|
+
rootAnimateState.running = false;
|
281
|
+
});
|
275
282
|
});
|
276
283
|
|
277
284
|
function lookup(name) {
|
@@ -516,6 +523,7 @@ angular.module('ngAnimate', ['ng'])
|
|
516
523
|
* @function
|
517
524
|
*
|
518
525
|
* @param {boolean=} value If provided then set the animation on or off.
|
526
|
+
* @param {jQuery/jqLite element=} element If provided then the element will be used to represent the enable/disable operation
|
519
527
|
* @return {boolean} Current animation state.
|
520
528
|
*
|
521
529
|
* @description
|
@@ -554,7 +562,8 @@ angular.module('ngAnimate', ['ng'])
|
|
554
562
|
and the onComplete callback will be fired once the animation is fully complete.
|
555
563
|
*/
|
556
564
|
function performAnimation(animationEvent, className, element, parentElement, afterElement, domOperation, doneCallback) {
|
557
|
-
var
|
565
|
+
var currentClassName = element.attr('class') || '';
|
566
|
+
var classes = currentClassName + ' ' + className;
|
558
567
|
var animationLookup = (' ' + classes).replace(/\s+/g,'.');
|
559
568
|
if (!parentElement) {
|
560
569
|
parentElement = afterElement ? afterElement.parent() : element.parent();
|
@@ -569,7 +578,7 @@ angular.module('ngAnimate', ['ng'])
|
|
569
578
|
//the animation if any matching animations are not found at all.
|
570
579
|
//NOTE: IE8 + IE9 should close properly (run closeAnimation()) in case a NO animation is not found.
|
571
580
|
if (animationsDisabled(element, parentElement) || matches.length === 0) {
|
572
|
-
|
581
|
+
fireDOMOperation();
|
573
582
|
closeAnimation();
|
574
583
|
return;
|
575
584
|
}
|
@@ -602,27 +611,48 @@ angular.module('ngAnimate', ['ng'])
|
|
602
611
|
//this would mean that an animation was not allowed so let the existing
|
603
612
|
//animation do it's thing and close this one early
|
604
613
|
if(animations.length === 0) {
|
605
|
-
|
614
|
+
fireDOMOperation();
|
606
615
|
fireDoneCallbackAsync();
|
607
616
|
return;
|
608
617
|
}
|
609
618
|
|
619
|
+
//this value will be searched for class-based CSS className lookup. Therefore,
|
620
|
+
//we prefix and suffix the current className value with spaces to avoid substring
|
621
|
+
//lookups of className tokens
|
622
|
+
var futureClassName = ' ' + currentClassName + ' ';
|
610
623
|
if(ngAnimateState.running) {
|
611
624
|
//if an animation is currently running on the element then lets take the steps
|
612
625
|
//to cancel that animation and fire any required callbacks
|
613
626
|
$timeout.cancel(ngAnimateState.closeAnimationTimeout);
|
614
627
|
cleanup(element);
|
615
628
|
cancelAnimations(ngAnimateState.animations);
|
616
|
-
|
629
|
+
|
630
|
+
//if the class is removed during the reflow then it will revert the styles temporarily
|
631
|
+
//back to the base class CSS styling causing a jump-like effect to occur. This check
|
632
|
+
//here ensures that the domOperation is only performed after the reflow has commenced
|
633
|
+
if(ngAnimateState.beforeComplete) {
|
634
|
+
(ngAnimateState.done || noop)(true);
|
635
|
+
} else if(isClassBased && !ngAnimateState.structural) {
|
636
|
+
//class-based animations will compare element className values after cancelling the
|
637
|
+
//previous animation to see if the element properties already contain the final CSS
|
638
|
+
//class and if so then the animation will be skipped. Since the domOperation will
|
639
|
+
//be performed only after the reflow is complete then our element's className value
|
640
|
+
//will be invalid. Therefore the same string manipulation that would occur within the
|
641
|
+
//DOM operation will be performed below so that the class comparison is valid...
|
642
|
+
futureClassName = ngAnimateState.event == 'removeClass' ?
|
643
|
+
futureClassName.replace(ngAnimateState.className, '') :
|
644
|
+
futureClassName + ngAnimateState.className + ' ';
|
645
|
+
}
|
617
646
|
}
|
618
647
|
|
619
648
|
//There is no point in perform a class-based animation if the element already contains
|
620
649
|
//(on addClass) or doesn't contain (on removeClass) the className being animated.
|
621
650
|
//The reason why this is being called after the previous animations are cancelled
|
622
651
|
//is so that the CSS classes present on the element can be properly examined.
|
623
|
-
|
624
|
-
|
625
|
-
|
652
|
+
var classNameToken = ' ' + className + ' ';
|
653
|
+
if((animationEvent == 'addClass' && futureClassName.indexOf(classNameToken) >= 0) ||
|
654
|
+
(animationEvent == 'removeClass' && futureClassName.indexOf(classNameToken) == -1)) {
|
655
|
+
fireDOMOperation();
|
626
656
|
fireDoneCallbackAsync();
|
627
657
|
return;
|
628
658
|
}
|
@@ -633,6 +663,8 @@ angular.module('ngAnimate', ['ng'])
|
|
633
663
|
|
634
664
|
element.data(NG_ANIMATE_STATE, {
|
635
665
|
running:true,
|
666
|
+
event:animationEvent,
|
667
|
+
className:className,
|
636
668
|
structural:!isClassBased,
|
637
669
|
animations:animations,
|
638
670
|
done:onBeforeAnimationsComplete
|
@@ -643,7 +675,7 @@ angular.module('ngAnimate', ['ng'])
|
|
643
675
|
invokeRegisteredAnimationFns(animations, 'before', onBeforeAnimationsComplete);
|
644
676
|
|
645
677
|
function onBeforeAnimationsComplete(cancelled) {
|
646
|
-
|
678
|
+
fireDOMOperation();
|
647
679
|
if(cancelled === true) {
|
648
680
|
closeAnimation();
|
649
681
|
return;
|
@@ -701,6 +733,15 @@ angular.module('ngAnimate', ['ng'])
|
|
701
733
|
doneCallback && $timeout(doneCallback, 0, false);
|
702
734
|
}
|
703
735
|
|
736
|
+
//it is less complicated to use a flag than managing and cancelling
|
737
|
+
//timeouts containing multiple callbacks.
|
738
|
+
function fireDOMOperation() {
|
739
|
+
if(!fireDOMOperation.hasBeenRun) {
|
740
|
+
fireDOMOperation.hasBeenRun = true;
|
741
|
+
domOperation();
|
742
|
+
}
|
743
|
+
}
|
744
|
+
|
704
745
|
function closeAnimation() {
|
705
746
|
if(!closeAnimation.hasBeenRun) {
|
706
747
|
closeAnimation.hasBeenRun = true;
|
@@ -743,10 +784,10 @@ angular.module('ngAnimate', ['ng'])
|
|
743
784
|
function cancelAnimations(animations) {
|
744
785
|
var isCancelledFlag = true;
|
745
786
|
forEach(animations, function(animation) {
|
746
|
-
if(!animations
|
787
|
+
if(!animations.beforeComplete) {
|
747
788
|
(animation.beforeEnd || noop)(isCancelledFlag);
|
748
789
|
}
|
749
|
-
if(!animations
|
790
|
+
if(!animations.afterComplete) {
|
750
791
|
(animation.afterEnd || noop)(isCancelledFlag);
|
751
792
|
}
|
752
793
|
});
|
@@ -848,13 +889,6 @@ angular.module('ngAnimate', ['ng'])
|
|
848
889
|
}, 10, false);
|
849
890
|
}
|
850
891
|
|
851
|
-
function applyStyle(node, style) {
|
852
|
-
var oldStyle = node.getAttribute('style') || '';
|
853
|
-
var newStyle = (oldStyle.length > 0 ? '; ' : '') + style;
|
854
|
-
node.setAttribute('style', newStyle);
|
855
|
-
return oldStyle;
|
856
|
-
}
|
857
|
-
|
858
892
|
function getElementAnimationDetails(element, cacheKey) {
|
859
893
|
var data = cacheKey ? lookupCache[cacheKey] : null;
|
860
894
|
if(!data) {
|
@@ -973,7 +1007,9 @@ angular.module('ngAnimate', ['ng'])
|
|
973
1007
|
if(timings.transitionDuration > 0) {
|
974
1008
|
element.addClass(NG_ANIMATE_FALLBACK_CLASS_NAME);
|
975
1009
|
activeClassName += NG_ANIMATE_FALLBACK_ACTIVE_CLASS_NAME + ' ';
|
976
|
-
|
1010
|
+
blockTransitions(element);
|
1011
|
+
} else {
|
1012
|
+
blockKeyframeAnimations(element);
|
977
1013
|
}
|
978
1014
|
|
979
1015
|
forEach(className.split(' '), function(klass, i) {
|
@@ -993,6 +1029,28 @@ angular.module('ngAnimate', ['ng'])
|
|
993
1029
|
return true;
|
994
1030
|
}
|
995
1031
|
|
1032
|
+
function blockTransitions(element) {
|
1033
|
+
element[0].style[TRANSITION_PROP + PROPERTY_KEY] = 'none';
|
1034
|
+
}
|
1035
|
+
|
1036
|
+
function blockKeyframeAnimations(element) {
|
1037
|
+
element[0].style[ANIMATION_PROP] = 'none 0s';
|
1038
|
+
}
|
1039
|
+
|
1040
|
+
function unblockTransitions(element) {
|
1041
|
+
var node = element[0], prop = TRANSITION_PROP + PROPERTY_KEY;
|
1042
|
+
if(node.style[prop] && node.style[prop].length > 0) {
|
1043
|
+
node.style[prop] = '';
|
1044
|
+
}
|
1045
|
+
}
|
1046
|
+
|
1047
|
+
function unblockKeyframeAnimations(element) {
|
1048
|
+
var node = element[0], prop = ANIMATION_PROP;
|
1049
|
+
if(node.style[prop] && node.style[prop].length > 0) {
|
1050
|
+
element[0].style[prop] = '';
|
1051
|
+
}
|
1052
|
+
}
|
1053
|
+
|
996
1054
|
function animateRun(element, className, activeAnimationComplete) {
|
997
1055
|
var data = element.data(NG_ANIMATE_CSS_DATA_KEY);
|
998
1056
|
if(!element.hasClass(className) || !data) {
|
@@ -1008,19 +1066,18 @@ angular.module('ngAnimate', ['ng'])
|
|
1008
1066
|
var maxDelayTime = Math.max(timings.transitionDelay, timings.animationDelay) * 1000;
|
1009
1067
|
var startTime = Date.now();
|
1010
1068
|
var css3AnimationEvents = ANIMATIONEND_EVENT + ' ' + TRANSITIONEND_EVENT;
|
1011
|
-
var formerStyle;
|
1012
1069
|
var ii = data.ii;
|
1013
1070
|
|
1014
|
-
var applyFallbackStyle, style = '';
|
1071
|
+
var applyFallbackStyle, style = '', appliedStyles = [];
|
1015
1072
|
if(timings.transitionDuration > 0) {
|
1016
|
-
node.style[TRANSITION_PROP + PROPERTY_KEY] = '';
|
1017
|
-
|
1018
1073
|
var propertyStyle = timings.transitionPropertyStyle;
|
1019
1074
|
if(propertyStyle.indexOf('all') == -1) {
|
1020
1075
|
applyFallbackStyle = true;
|
1021
|
-
var fallbackProperty = $sniffer.msie ? '-ms-zoom' : '
|
1076
|
+
var fallbackProperty = $sniffer.msie ? '-ms-zoom' : 'border-spacing';
|
1022
1077
|
style += CSS_PREFIX + 'transition-property: ' + propertyStyle + ', ' + fallbackProperty + '; ';
|
1023
1078
|
style += CSS_PREFIX + 'transition-duration: ' + timings.transitionDurationStyle + ', ' + timings.transitionDuration + 's; ';
|
1079
|
+
appliedStyles.push(CSS_PREFIX + 'transition-property');
|
1080
|
+
appliedStyles.push(CSS_PREFIX + 'transition-duration');
|
1024
1081
|
}
|
1025
1082
|
}
|
1026
1083
|
|
@@ -1033,16 +1090,19 @@ angular.module('ngAnimate', ['ng'])
|
|
1033
1090
|
|
1034
1091
|
style += CSS_PREFIX + 'transition-delay: ' +
|
1035
1092
|
prepareStaggerDelay(delayStyle, stagger.transitionDelay, ii) + '; ';
|
1093
|
+
appliedStyles.push(CSS_PREFIX + 'transition-delay');
|
1036
1094
|
}
|
1037
1095
|
|
1038
1096
|
if(stagger.animationDelay > 0 && stagger.animationDuration === 0) {
|
1039
1097
|
style += CSS_PREFIX + 'animation-delay: ' +
|
1040
1098
|
prepareStaggerDelay(timings.animationDelayStyle, stagger.animationDelay, ii) + '; ';
|
1099
|
+
appliedStyles.push(CSS_PREFIX + 'animation-delay');
|
1041
1100
|
}
|
1042
1101
|
}
|
1043
1102
|
|
1044
|
-
if(
|
1045
|
-
|
1103
|
+
if(appliedStyles.length > 0) {
|
1104
|
+
var oldStyle = node.getAttribute('style') || '';
|
1105
|
+
node.setAttribute('style', oldStyle + ' ' + style);
|
1046
1106
|
}
|
1047
1107
|
|
1048
1108
|
element.on(css3AnimationEvents, onAnimationProgress);
|
@@ -1055,10 +1115,8 @@ angular.module('ngAnimate', ['ng'])
|
|
1055
1115
|
element.off(css3AnimationEvents, onAnimationProgress);
|
1056
1116
|
element.removeClass(activeClassName);
|
1057
1117
|
animateClose(element, className);
|
1058
|
-
|
1059
|
-
|
1060
|
-
node.setAttribute('style', formerStyle) :
|
1061
|
-
node.removeAttribute('style');
|
1118
|
+
for (var i in appliedStyles) {
|
1119
|
+
node.style.removeProperty(appliedStyles[i]);
|
1062
1120
|
}
|
1063
1121
|
};
|
1064
1122
|
|
@@ -1122,6 +1180,8 @@ angular.module('ngAnimate', ['ng'])
|
|
1122
1180
|
//happen in the first place
|
1123
1181
|
var cancel = preReflowCancellation;
|
1124
1182
|
afterReflow(function() {
|
1183
|
+
unblockTransitions(element);
|
1184
|
+
unblockKeyframeAnimations(element);
|
1125
1185
|
//once the reflow is complete then we point cancel to
|
1126
1186
|
//the new cancellation function which will remove all of the
|
1127
1187
|
//animation properties from the active animation
|
@@ -1185,7 +1245,11 @@ angular.module('ngAnimate', ['ng'])
|
|
1185
1245
|
beforeAddClass : function(element, className, animationCompleted) {
|
1186
1246
|
var cancellationMethod = animateBefore(element, suffixClasses(className, '-add'));
|
1187
1247
|
if(cancellationMethod) {
|
1188
|
-
afterReflow(
|
1248
|
+
afterReflow(function() {
|
1249
|
+
unblockTransitions(element);
|
1250
|
+
unblockKeyframeAnimations(element);
|
1251
|
+
animationCompleted();
|
1252
|
+
});
|
1189
1253
|
return cancellationMethod;
|
1190
1254
|
}
|
1191
1255
|
animationCompleted();
|
@@ -1198,7 +1262,11 @@ angular.module('ngAnimate', ['ng'])
|
|
1198
1262
|
beforeRemoveClass : function(element, className, animationCompleted) {
|
1199
1263
|
var cancellationMethod = animateBefore(element, suffixClasses(className, '-remove'));
|
1200
1264
|
if(cancellationMethod) {
|
1201
|
-
afterReflow(
|
1265
|
+
afterReflow(function() {
|
1266
|
+
unblockTransitions(element);
|
1267
|
+
unblockKeyframeAnimations(element);
|
1268
|
+
animationCompleted();
|
1269
|
+
});
|
1202
1270
|
return cancellationMethod;
|
1203
1271
|
}
|
1204
1272
|
animationCompleted();
|
@@ -1,21 +1,22 @@
|
|
1
1
|
/*
|
2
|
-
AngularJS v1.2.
|
3
|
-
(c) 2010-
|
2
|
+
AngularJS v1.2.3
|
3
|
+
(c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
License: MIT
|
5
5
|
*/
|
6
|
-
(function(
|
7
|
-
b
|
8
|
-
|
9
|
-
|
10
|
-
!1):(a.removeClass(
|
11
|
-
"ng-leave",a,null,null,function(){
|
12
|
-
|
13
|
-
Math.max(
|
14
|
-
function
|
15
|
-
ii:
|
16
|
-
q+"
|
17
|
-
|
18
|
-
"";
|
19
|
-
|
20
|
-
|
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);
|
21
22
|
//# sourceMappingURL=angular-animate.min.js.map
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
|
-
AngularJS v1.2.
|
3
|
-
(c) 2010-
|
2
|
+
AngularJS v1.2.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])});
|
@@ -1,10 +1,84 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.2.
|
3
|
-
* (c) 2010-
|
2
|
+
* @license AngularJS v1.2.3
|
3
|
+
* (c) 2010-2014 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
6
6
|
|
7
|
-
(
|
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(string, string, ...): Error} 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.3/' +
|
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
|
+
}
|
8
82
|
|
9
83
|
/**
|
10
84
|
* @ngdoc interface
|
@@ -17,12 +91,18 @@
|
|
17
91
|
function setupModuleLoader(window) {
|
18
92
|
|
19
93
|
var $injectorMinErr = minErr('$injector');
|
94
|
+
var ngMinErr = minErr('ng');
|
20
95
|
|
21
96
|
function ensure(obj, name, factory) {
|
22
97
|
return obj[name] || (obj[name] = factory());
|
23
98
|
}
|
24
99
|
|
25
|
-
|
100
|
+
var angular = ensure(window, 'angular', Object);
|
101
|
+
|
102
|
+
// We need to expose `angular.$$minErr` to modules such as `ngResource` that reference it during bootstrap
|
103
|
+
angular.$$minErr = angular.$$minErr || minErr;
|
104
|
+
|
105
|
+
return ensure(angular, 'module', function() {
|
26
106
|
/** @type {Object.<string, angular.Module>} */
|
27
107
|
var modules = {};
|
28
108
|
|
@@ -53,7 +133,7 @@ function setupModuleLoader(window) {
|
|
53
133
|
* myModule.value('appName', 'MyCoolApp');
|
54
134
|
*
|
55
135
|
* // configure existing services inside initialization blocks.
|
56
|
-
* myModule.config(function($locationProvider) {
|
136
|
+
* myModule.config(function($locationProvider) {
|
57
137
|
* // Configure existing providers
|
58
138
|
* $locationProvider.hashPrefix('!');
|
59
139
|
* });
|
@@ -77,6 +157,12 @@ function setupModuleLoader(window) {
|
|
77
157
|
* @returns {module} new module with the {@link angular.Module} api.
|
78
158
|
*/
|
79
159
|
return function module(name, requires, configFn) {
|
160
|
+
var assertNotHasOwnProperty = function(name, context) {
|
161
|
+
if (name === 'hasOwnProperty') {
|
162
|
+
throw ngMinErr('badname', 'hasOwnProperty is not a valid {0} name', context);
|
163
|
+
}
|
164
|
+
};
|
165
|
+
|
80
166
|
assertNotHasOwnProperty(name, 'module');
|
81
167
|
if (requires && modules.hasOwnProperty(name)) {
|
82
168
|
modules[name] = null;
|
@@ -301,7 +387,8 @@ function setupModuleLoader(window) {
|
|
301
387
|
|
302
388
|
}
|
303
389
|
|
304
|
-
|
390
|
+
setupModuleLoader(window);
|
391
|
+
})(window);
|
305
392
|
|
306
393
|
/**
|
307
394
|
* Closure compiler type information
|