angularjs-rails 1.6.1 → 1.6.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/angularjs-rails/version.rb +1 -1
- data/vendor/assets/javascripts/angular-animate.js +85 -89
- data/vendor/assets/javascripts/angular-aria.js +3 -3
- data/vendor/assets/javascripts/angular-cookies.js +2 -2
- data/vendor/assets/javascripts/angular-loader.js +3 -3
- data/vendor/assets/javascripts/angular-message-format.js +2 -2
- data/vendor/assets/javascripts/angular-messages.js +2 -2
- data/vendor/assets/javascripts/angular-mocks.js +37 -22
- data/vendor/assets/javascripts/angular-parse-ext.js +2 -2
- data/vendor/assets/javascripts/angular-resource.js +18 -16
- data/vendor/assets/javascripts/angular-route.js +15 -3
- data/vendor/assets/javascripts/angular-sanitize.js +2 -2
- data/vendor/assets/javascripts/angular-scenario.js +426 -274
- data/vendor/assets/javascripts/angular-touch.js +2 -2
- data/vendor/assets/javascripts/angular.js +425 -273
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23afdb781688c26abfe8bc2ce1c734ea809a65a2
|
4
|
+
data.tar.gz: b5d272c8676965124a0ade2096d3e4f969cf99c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 848da558e3fd2f1f250134e65b4100a9e9609df7244b01de57b0bbac4bbef299f4751cc70f507d63ea558904eb18ca9de422adfc8f3a7208050df878e64aea30
|
7
|
+
data.tar.gz: 378a7c4d86b7f6fc53ffd1e589072c3b2656db1851aebd458a076be54b8b8931bc95b14d78c9b1ce029f67e2ade5be6b2205cb4a3dff4ee48938c2047bfbbffa
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.6.
|
3
|
-
* (c) 2010-
|
2
|
+
* @license AngularJS v1.6.2
|
3
|
+
* (c) 2010-2017 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
6
6
|
(function(window, angular) {'use strict';
|
@@ -2170,9 +2170,9 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2170
2170
|
}
|
2171
2171
|
}
|
2172
2172
|
|
2173
|
-
function isAllowed(ruleType,
|
2173
|
+
function isAllowed(ruleType, currentAnimation, previousAnimation) {
|
2174
2174
|
return rules[ruleType].some(function(fn) {
|
2175
|
-
return fn(
|
2175
|
+
return fn(currentAnimation, previousAnimation);
|
2176
2176
|
});
|
2177
2177
|
}
|
2178
2178
|
|
@@ -2182,40 +2182,40 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2182
2182
|
return and ? a && b : a || b;
|
2183
2183
|
}
|
2184
2184
|
|
2185
|
-
rules.join.push(function(
|
2185
|
+
rules.join.push(function(newAnimation, currentAnimation) {
|
2186
2186
|
// if the new animation is class-based then we can just tack that on
|
2187
2187
|
return !newAnimation.structural && hasAnimationClasses(newAnimation);
|
2188
2188
|
});
|
2189
2189
|
|
2190
|
-
rules.skip.push(function(
|
2190
|
+
rules.skip.push(function(newAnimation, currentAnimation) {
|
2191
2191
|
// there is no need to animate anything if no classes are being added and
|
2192
2192
|
// there is no structural animation that will be triggered
|
2193
2193
|
return !newAnimation.structural && !hasAnimationClasses(newAnimation);
|
2194
2194
|
});
|
2195
2195
|
|
2196
|
-
rules.skip.push(function(
|
2196
|
+
rules.skip.push(function(newAnimation, currentAnimation) {
|
2197
2197
|
// why should we trigger a new structural animation if the element will
|
2198
2198
|
// be removed from the DOM anyway?
|
2199
2199
|
return currentAnimation.event === 'leave' && newAnimation.structural;
|
2200
2200
|
});
|
2201
2201
|
|
2202
|
-
rules.skip.push(function(
|
2202
|
+
rules.skip.push(function(newAnimation, currentAnimation) {
|
2203
2203
|
// if there is an ongoing current animation then don't even bother running the class-based animation
|
2204
2204
|
return currentAnimation.structural && currentAnimation.state === RUNNING_STATE && !newAnimation.structural;
|
2205
2205
|
});
|
2206
2206
|
|
2207
|
-
rules.cancel.push(function(
|
2207
|
+
rules.cancel.push(function(newAnimation, currentAnimation) {
|
2208
2208
|
// there can never be two structural animations running at the same time
|
2209
2209
|
return currentAnimation.structural && newAnimation.structural;
|
2210
2210
|
});
|
2211
2211
|
|
2212
|
-
rules.cancel.push(function(
|
2212
|
+
rules.cancel.push(function(newAnimation, currentAnimation) {
|
2213
2213
|
// if the previous animation is already running, but the new animation will
|
2214
2214
|
// be triggered, but the new animation is structural
|
2215
2215
|
return currentAnimation.state === RUNNING_STATE && newAnimation.structural;
|
2216
2216
|
});
|
2217
2217
|
|
2218
|
-
rules.cancel.push(function(
|
2218
|
+
rules.cancel.push(function(newAnimation, currentAnimation) {
|
2219
2219
|
// cancel the animation if classes added / removed in both animation cancel each other out,
|
2220
2220
|
// but only if the current animation isn't structural
|
2221
2221
|
|
@@ -2234,15 +2234,15 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2234
2234
|
return hasMatchingClasses(nA, cR) || hasMatchingClasses(nR, cA);
|
2235
2235
|
});
|
2236
2236
|
|
2237
|
-
this.$get = ['$$rAF', '$rootScope', '$rootElement', '$document', '$$
|
2237
|
+
this.$get = ['$$rAF', '$rootScope', '$rootElement', '$document', '$$Map',
|
2238
2238
|
'$$animation', '$$AnimateRunner', '$templateRequest', '$$jqLite', '$$forceReflow',
|
2239
2239
|
'$$isDocumentHidden',
|
2240
|
-
function($$rAF, $rootScope, $rootElement, $document, $$
|
2240
|
+
function($$rAF, $rootScope, $rootElement, $document, $$Map,
|
2241
2241
|
$$animation, $$AnimateRunner, $templateRequest, $$jqLite, $$forceReflow,
|
2242
2242
|
$$isDocumentHidden) {
|
2243
2243
|
|
2244
|
-
var activeAnimationsLookup = new $$
|
2245
|
-
var disabledElementsLookup = new $$
|
2244
|
+
var activeAnimationsLookup = new $$Map();
|
2245
|
+
var disabledElementsLookup = new $$Map();
|
2246
2246
|
var animationsEnabled = null;
|
2247
2247
|
|
2248
2248
|
function postDigestTaskFactory() {
|
@@ -2315,10 +2315,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2315
2315
|
return this === arg || !!(this.compareDocumentPosition(arg) & 16);
|
2316
2316
|
};
|
2317
2317
|
|
2318
|
-
function findCallbacks(
|
2319
|
-
var targetNode = getDomNode(element);
|
2320
|
-
var targetParentNode = getDomNode(parent);
|
2321
|
-
|
2318
|
+
function findCallbacks(targetParentNode, targetNode, event) {
|
2322
2319
|
var matches = [];
|
2323
2320
|
var entries = callbackRegistry[event];
|
2324
2321
|
if (entries) {
|
@@ -2343,11 +2340,11 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2343
2340
|
});
|
2344
2341
|
}
|
2345
2342
|
|
2346
|
-
function cleanupEventListeners(phase,
|
2347
|
-
if (phase === 'close' && !
|
2343
|
+
function cleanupEventListeners(phase, node) {
|
2344
|
+
if (phase === 'close' && !node.parentNode) {
|
2348
2345
|
// If the element is not attached to a parentNode, it has been removed by
|
2349
2346
|
// the domOperation, and we can safely remove the event callbacks
|
2350
|
-
$animate.off(
|
2347
|
+
$animate.off(node);
|
2351
2348
|
}
|
2352
2349
|
}
|
2353
2350
|
|
@@ -2428,7 +2425,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2428
2425
|
bool = !disabledElementsLookup.get(node);
|
2429
2426
|
} else {
|
2430
2427
|
// (element, bool) - Element setter
|
2431
|
-
disabledElementsLookup.
|
2428
|
+
disabledElementsLookup.set(node, !bool);
|
2432
2429
|
}
|
2433
2430
|
}
|
2434
2431
|
}
|
@@ -2439,18 +2436,15 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2439
2436
|
|
2440
2437
|
return $animate;
|
2441
2438
|
|
2442
|
-
function queueAnimation(
|
2439
|
+
function queueAnimation(originalElement, event, initialOptions) {
|
2443
2440
|
// we always make a copy of the options since
|
2444
2441
|
// there should never be any side effects on
|
2445
2442
|
// the input data when running `$animateCss`.
|
2446
2443
|
var options = copy(initialOptions);
|
2447
2444
|
|
2448
|
-
var
|
2449
|
-
|
2450
|
-
|
2451
|
-
node = getDomNode(element);
|
2452
|
-
parent = element.parent();
|
2453
|
-
}
|
2445
|
+
var element = stripCommentsFromElement(originalElement);
|
2446
|
+
var node = getDomNode(element);
|
2447
|
+
var parentNode = node && node.parentNode;
|
2454
2448
|
|
2455
2449
|
options = prepareAnimationOptions(options);
|
2456
2450
|
|
@@ -2515,7 +2509,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2515
2509
|
// there is no point in traversing the same collection of parent ancestors if a followup
|
2516
2510
|
// animation will be run on the same element that already did all that checking work
|
2517
2511
|
if (!skipAnimations && (!hasExistingAnimation || existingAnimation.state !== PRE_DIGEST_STATE)) {
|
2518
|
-
skipAnimations = !areAnimationsAllowed(
|
2512
|
+
skipAnimations = !areAnimationsAllowed(node, parentNode, event);
|
2519
2513
|
}
|
2520
2514
|
|
2521
2515
|
if (skipAnimations) {
|
@@ -2527,7 +2521,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2527
2521
|
}
|
2528
2522
|
|
2529
2523
|
if (isStructural) {
|
2530
|
-
closeChildAnimations(
|
2524
|
+
closeChildAnimations(node);
|
2531
2525
|
}
|
2532
2526
|
|
2533
2527
|
var newAnimation = {
|
@@ -2542,7 +2536,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2542
2536
|
};
|
2543
2537
|
|
2544
2538
|
if (hasExistingAnimation) {
|
2545
|
-
var skipAnimationFlag = isAllowed('skip',
|
2539
|
+
var skipAnimationFlag = isAllowed('skip', newAnimation, existingAnimation);
|
2546
2540
|
if (skipAnimationFlag) {
|
2547
2541
|
if (existingAnimation.state === RUNNING_STATE) {
|
2548
2542
|
close();
|
@@ -2552,7 +2546,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2552
2546
|
return existingAnimation.runner;
|
2553
2547
|
}
|
2554
2548
|
}
|
2555
|
-
var cancelAnimationFlag = isAllowed('cancel',
|
2549
|
+
var cancelAnimationFlag = isAllowed('cancel', newAnimation, existingAnimation);
|
2556
2550
|
if (cancelAnimationFlag) {
|
2557
2551
|
if (existingAnimation.state === RUNNING_STATE) {
|
2558
2552
|
// this will end the animation right away and it is safe
|
@@ -2574,7 +2568,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2574
2568
|
// a joined animation means that this animation will take over the existing one
|
2575
2569
|
// so an example would involve a leave animation taking over an enter. Then when
|
2576
2570
|
// the postDigest kicks in the enter will be ignored.
|
2577
|
-
var joinAnimationFlag = isAllowed('join',
|
2571
|
+
var joinAnimationFlag = isAllowed('join', newAnimation, existingAnimation);
|
2578
2572
|
if (joinAnimationFlag) {
|
2579
2573
|
if (existingAnimation.state === RUNNING_STATE) {
|
2580
2574
|
normalizeAnimationDetails(element, newAnimation);
|
@@ -2608,7 +2602,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2608
2602
|
|
2609
2603
|
if (!isValidAnimation) {
|
2610
2604
|
close();
|
2611
|
-
clearElementAnimationState(
|
2605
|
+
clearElementAnimationState(node);
|
2612
2606
|
return runner;
|
2613
2607
|
}
|
2614
2608
|
|
@@ -2616,9 +2610,18 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2616
2610
|
var counter = (existingAnimation.counter || 0) + 1;
|
2617
2611
|
newAnimation.counter = counter;
|
2618
2612
|
|
2619
|
-
markElementAnimationState(
|
2613
|
+
markElementAnimationState(node, PRE_DIGEST_STATE, newAnimation);
|
2620
2614
|
|
2621
2615
|
$rootScope.$$postDigest(function() {
|
2616
|
+
// It is possible that the DOM nodes inside `originalElement` have been replaced. This can
|
2617
|
+
// happen if the animated element is a transcluded clone and also has a `templateUrl`
|
2618
|
+
// directive on it. Therefore, we must recreate `element` in order to interact with the
|
2619
|
+
// actual DOM nodes.
|
2620
|
+
// Note: We still need to use the old `node` for certain things, such as looking up in
|
2621
|
+
// HashMaps where it was used as the key.
|
2622
|
+
|
2623
|
+
element = stripCommentsFromElement(originalElement);
|
2624
|
+
|
2622
2625
|
var animationDetails = activeAnimationsLookup.get(node);
|
2623
2626
|
var animationCancelled = !animationDetails;
|
2624
2627
|
animationDetails = animationDetails || {};
|
@@ -2657,7 +2660,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2657
2660
|
// isn't allowed to animate from here then we need to clear the state of the element
|
2658
2661
|
// so that any future animations won't read the expired animation data.
|
2659
2662
|
if (!isValidAnimation) {
|
2660
|
-
clearElementAnimationState(
|
2663
|
+
clearElementAnimationState(node);
|
2661
2664
|
}
|
2662
2665
|
|
2663
2666
|
return;
|
@@ -2669,7 +2672,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2669
2672
|
? 'setClass'
|
2670
2673
|
: animationDetails.event;
|
2671
2674
|
|
2672
|
-
markElementAnimationState(
|
2675
|
+
markElementAnimationState(node, RUNNING_STATE);
|
2673
2676
|
var realRunner = $$animation(element, event, animationDetails.options);
|
2674
2677
|
|
2675
2678
|
// this will update the runner's flow-control events based on
|
@@ -2681,7 +2684,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2681
2684
|
close(!status);
|
2682
2685
|
var animationDetails = activeAnimationsLookup.get(node);
|
2683
2686
|
if (animationDetails && animationDetails.counter === counter) {
|
2684
|
-
clearElementAnimationState(
|
2687
|
+
clearElementAnimationState(node);
|
2685
2688
|
}
|
2686
2689
|
notifyProgress(runner, event, 'close', {});
|
2687
2690
|
});
|
@@ -2691,7 +2694,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2691
2694
|
|
2692
2695
|
function notifyProgress(runner, event, phase, data) {
|
2693
2696
|
runInNextPostDigestOrNow(function() {
|
2694
|
-
var callbacks = findCallbacks(
|
2697
|
+
var callbacks = findCallbacks(parentNode, node, event);
|
2695
2698
|
if (callbacks.length) {
|
2696
2699
|
// do not optimize this call here to RAF because
|
2697
2700
|
// we don't know how heavy the callback code here will
|
@@ -2701,10 +2704,10 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2701
2704
|
forEach(callbacks, function(callback) {
|
2702
2705
|
callback(element, phase, data);
|
2703
2706
|
});
|
2704
|
-
cleanupEventListeners(phase,
|
2707
|
+
cleanupEventListeners(phase, node);
|
2705
2708
|
});
|
2706
2709
|
} else {
|
2707
|
-
cleanupEventListeners(phase,
|
2710
|
+
cleanupEventListeners(phase, node);
|
2708
2711
|
}
|
2709
2712
|
});
|
2710
2713
|
runner.progress(event, phase, data);
|
@@ -2719,8 +2722,7 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2719
2722
|
}
|
2720
2723
|
}
|
2721
2724
|
|
2722
|
-
function closeChildAnimations(
|
2723
|
-
var node = getDomNode(element);
|
2725
|
+
function closeChildAnimations(node) {
|
2724
2726
|
var children = node.querySelectorAll('[' + NG_ANIMATE_ATTR_NAME + ']');
|
2725
2727
|
forEach(children, function(child) {
|
2726
2728
|
var state = parseInt(child.getAttribute(NG_ANIMATE_ATTR_NAME), 10);
|
@@ -2731,21 +2733,16 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2731
2733
|
animationDetails.runner.end();
|
2732
2734
|
/* falls through */
|
2733
2735
|
case PRE_DIGEST_STATE:
|
2734
|
-
activeAnimationsLookup.
|
2736
|
+
activeAnimationsLookup.delete(child);
|
2735
2737
|
break;
|
2736
2738
|
}
|
2737
2739
|
}
|
2738
2740
|
});
|
2739
2741
|
}
|
2740
2742
|
|
2741
|
-
function clearElementAnimationState(
|
2742
|
-
var node = getDomNode(element);
|
2743
|
+
function clearElementAnimationState(node) {
|
2743
2744
|
node.removeAttribute(NG_ANIMATE_ATTR_NAME);
|
2744
|
-
activeAnimationsLookup.
|
2745
|
-
}
|
2746
|
-
|
2747
|
-
function isMatchingElement(nodeOrElmA, nodeOrElmB) {
|
2748
|
-
return getDomNode(nodeOrElmA) === getDomNode(nodeOrElmB);
|
2745
|
+
activeAnimationsLookup.delete(node);
|
2749
2746
|
}
|
2750
2747
|
|
2751
2748
|
/**
|
@@ -2755,54 +2752,54 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2755
2752
|
* c) the element is not a child of the body
|
2756
2753
|
* d) the element is not a child of the $rootElement
|
2757
2754
|
*/
|
2758
|
-
function areAnimationsAllowed(
|
2759
|
-
var
|
2760
|
-
var
|
2761
|
-
|
2755
|
+
function areAnimationsAllowed(node, parentNode, event) {
|
2756
|
+
var bodyNode = $document[0].body;
|
2757
|
+
var rootNode = getDomNode($rootElement);
|
2758
|
+
|
2759
|
+
var bodyNodeDetected = (node === bodyNode) || node.nodeName === 'HTML';
|
2760
|
+
var rootNodeDetected = (node === rootNode);
|
2762
2761
|
var parentAnimationDetected = false;
|
2762
|
+
var elementDisabled = disabledElementsLookup.get(node);
|
2763
2763
|
var animateChildren;
|
2764
|
-
var elementDisabled = disabledElementsLookup.get(getDomNode(element));
|
2765
2764
|
|
2766
|
-
var parentHost = jqLite.data(
|
2765
|
+
var parentHost = jqLite.data(node, NG_ANIMATE_PIN_DATA);
|
2767
2766
|
if (parentHost) {
|
2768
|
-
|
2767
|
+
parentNode = getDomNode(parentHost);
|
2769
2768
|
}
|
2770
2769
|
|
2771
|
-
|
2772
|
-
|
2773
|
-
while (parentElement) {
|
2774
|
-
if (!rootElementDetected) {
|
2770
|
+
while (parentNode) {
|
2771
|
+
if (!rootNodeDetected) {
|
2775
2772
|
// angular doesn't want to attempt to animate elements outside of the application
|
2776
2773
|
// therefore we need to ensure that the rootElement is an ancestor of the current element
|
2777
|
-
|
2774
|
+
rootNodeDetected = (parentNode === rootNode);
|
2778
2775
|
}
|
2779
2776
|
|
2780
|
-
if (
|
2777
|
+
if (parentNode.nodeType !== ELEMENT_NODE) {
|
2781
2778
|
// no point in inspecting the #document element
|
2782
2779
|
break;
|
2783
2780
|
}
|
2784
2781
|
|
2785
|
-
var details = activeAnimationsLookup.get(
|
2782
|
+
var details = activeAnimationsLookup.get(parentNode) || {};
|
2786
2783
|
// either an enter, leave or move animation will commence
|
2787
2784
|
// therefore we can't allow any animations to take place
|
2788
2785
|
// but if a parent animation is class-based then that's ok
|
2789
2786
|
if (!parentAnimationDetected) {
|
2790
|
-
var
|
2787
|
+
var parentNodeDisabled = disabledElementsLookup.get(parentNode);
|
2791
2788
|
|
2792
|
-
if (
|
2789
|
+
if (parentNodeDisabled === true && elementDisabled !== false) {
|
2793
2790
|
// disable animations if the user hasn't explicitly enabled animations on the
|
2794
2791
|
// current element
|
2795
2792
|
elementDisabled = true;
|
2796
2793
|
// element is disabled via parent element, no need to check anything else
|
2797
2794
|
break;
|
2798
|
-
} else if (
|
2795
|
+
} else if (parentNodeDisabled === false) {
|
2799
2796
|
elementDisabled = false;
|
2800
2797
|
}
|
2801
2798
|
parentAnimationDetected = details.structural;
|
2802
2799
|
}
|
2803
2800
|
|
2804
2801
|
if (isUndefined(animateChildren) || animateChildren === true) {
|
2805
|
-
var value = jqLite.data(
|
2802
|
+
var value = jqLite.data(parentNode, NG_ANIMATE_CHILDREN_DATA);
|
2806
2803
|
if (isDefined(value)) {
|
2807
2804
|
animateChildren = value;
|
2808
2805
|
}
|
@@ -2811,47 +2808,46 @@ var $$AnimateQueueProvider = ['$animateProvider', /** @this */ function($animate
|
|
2811
2808
|
// there is no need to continue traversing at this point
|
2812
2809
|
if (parentAnimationDetected && animateChildren === false) break;
|
2813
2810
|
|
2814
|
-
if (!
|
2811
|
+
if (!bodyNodeDetected) {
|
2815
2812
|
// we also need to ensure that the element is or will be a part of the body element
|
2816
2813
|
// otherwise it is pointless to even issue an animation to be rendered
|
2817
|
-
|
2814
|
+
bodyNodeDetected = (parentNode === bodyNode);
|
2818
2815
|
}
|
2819
2816
|
|
2820
|
-
if (
|
2817
|
+
if (bodyNodeDetected && rootNodeDetected) {
|
2821
2818
|
// If both body and root have been found, any other checks are pointless,
|
2822
2819
|
// as no animation data should live outside the application
|
2823
2820
|
break;
|
2824
2821
|
}
|
2825
2822
|
|
2826
|
-
if (!
|
2827
|
-
// If
|
2828
|
-
parentHost = jqLite.data(
|
2823
|
+
if (!rootNodeDetected) {
|
2824
|
+
// If `rootNode` is not detected, check if `parentNode` is pinned to another element
|
2825
|
+
parentHost = jqLite.data(parentNode, NG_ANIMATE_PIN_DATA);
|
2829
2826
|
if (parentHost) {
|
2830
2827
|
// The pin target element becomes the next parent element
|
2831
|
-
|
2828
|
+
parentNode = getDomNode(parentHost);
|
2832
2829
|
continue;
|
2833
2830
|
}
|
2834
2831
|
}
|
2835
2832
|
|
2836
|
-
|
2833
|
+
parentNode = parentNode.parentNode;
|
2837
2834
|
}
|
2838
2835
|
|
2839
2836
|
var allowAnimation = (!parentAnimationDetected || animateChildren) && elementDisabled !== true;
|
2840
|
-
return allowAnimation &&
|
2837
|
+
return allowAnimation && rootNodeDetected && bodyNodeDetected;
|
2841
2838
|
}
|
2842
2839
|
|
2843
|
-
function markElementAnimationState(
|
2840
|
+
function markElementAnimationState(node, state, details) {
|
2844
2841
|
details = details || {};
|
2845
2842
|
details.state = state;
|
2846
2843
|
|
2847
|
-
var node = getDomNode(element);
|
2848
2844
|
node.setAttribute(NG_ANIMATE_ATTR_NAME, state);
|
2849
2845
|
|
2850
2846
|
var oldValue = activeAnimationsLookup.get(node);
|
2851
2847
|
var newValue = oldValue
|
2852
2848
|
? extend(oldValue, details)
|
2853
2849
|
: details;
|
2854
|
-
activeAnimationsLookup.
|
2850
|
+
activeAnimationsLookup.set(node, newValue);
|
2855
2851
|
}
|
2856
2852
|
}];
|
2857
2853
|
}];
|
@@ -2877,21 +2873,21 @@ var $$AnimationProvider = ['$animateProvider', /** @this */ function($animatePro
|
|
2877
2873
|
return element.data(RUNNER_STORAGE_KEY);
|
2878
2874
|
}
|
2879
2875
|
|
2880
|
-
this.$get = ['$$jqLite', '$rootScope', '$injector', '$$AnimateRunner', '$$
|
2881
|
-
function($$jqLite, $rootScope, $injector, $$AnimateRunner, $$
|
2876
|
+
this.$get = ['$$jqLite', '$rootScope', '$injector', '$$AnimateRunner', '$$Map', '$$rAFScheduler',
|
2877
|
+
function($$jqLite, $rootScope, $injector, $$AnimateRunner, $$Map, $$rAFScheduler) {
|
2882
2878
|
|
2883
2879
|
var animationQueue = [];
|
2884
2880
|
var applyAnimationClasses = applyAnimationClassesFactory($$jqLite);
|
2885
2881
|
|
2886
2882
|
function sortAnimations(animations) {
|
2887
2883
|
var tree = { children: [] };
|
2888
|
-
var i, lookup = new $$
|
2884
|
+
var i, lookup = new $$Map();
|
2889
2885
|
|
2890
|
-
// this is done first beforehand so that the
|
2886
|
+
// this is done first beforehand so that the map
|
2891
2887
|
// is filled with a list of the elements that will be animated
|
2892
2888
|
for (i = 0; i < animations.length; i++) {
|
2893
2889
|
var animation = animations[i];
|
2894
|
-
lookup.
|
2890
|
+
lookup.set(animation.domNode, animations[i] = {
|
2895
2891
|
domNode: animation.domNode,
|
2896
2892
|
fn: animation.fn,
|
2897
2893
|
children: []
|
@@ -2910,7 +2906,7 @@ var $$AnimationProvider = ['$animateProvider', /** @this */ function($animatePro
|
|
2910
2906
|
|
2911
2907
|
var elementNode = entry.domNode;
|
2912
2908
|
var parentNode = elementNode.parentNode;
|
2913
|
-
lookup.
|
2909
|
+
lookup.set(elementNode, entry);
|
2914
2910
|
|
2915
2911
|
var parentEntry;
|
2916
2912
|
while (parentNode) {
|