angularjs-rails 1.6.1 → 1.6.2
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
- 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) {
|