From c47abd0dd7490576f4b84ee51ebaca385c1036da Mon Sep 17 00:00:00 2001 From: Brian Ford Date: Wed, 20 Nov 2013 11:04:38 -0800 Subject: fix(ngInclude): allow ngInclude to load scripts when jQuery is included In 1.2, the behavior of ngInclude was modified to use DOM APIs rather than jqLite. This means that even when jQuery was loaded, ngInclude was not calling into it, and thus scripts were not eval'd as they had been before. Although the use of ngInclude to eval scripts as a lazy-loading strategy was never an intentional feature, this patch restores the ability to do so. Closes #3756 --- src/ng/animate.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/ng/animate.js') diff --git a/src/ng/animate.js b/src/ng/animate.js index bb08410c..b662d9c1 100644 --- a/src/ng/animate.js +++ b/src/ng/animate.js @@ -99,13 +99,14 @@ var $AnimateProvider = ['$provide', function($provide) { * inserted into the DOM */ enter : function(element, parent, after, done) { - var afterNode = after && after[after.length - 1]; - var parentNode = parent && parent[0] || afterNode && afterNode.parentNode; - // IE does not like undefined so we have to pass null. - var afterNextSibling = (afterNode && afterNode.nextSibling) || null; - forEach(element, function(node) { - parentNode.insertBefore(node, afterNextSibling); - }); + if (after) { + after.after(element); + } else { + if (!parent || !parent[0]) { + parent = after.parent(); + } + parent.append(element); + } done && $timeout(done, 0, false); }, -- cgit v1.2.3