diff options
| author | Matias Niemelä | 2013-11-18 22:13:28 -0500 |
|---|---|---|
| committer | Matias Niemelä | 2013-11-21 20:47:44 -0500 |
| commit | 0cd7e8f22721f62b62440bb059ae764ebbe7b42a (patch) | |
| tree | 6eeb56d123d2bc4c2417b80f1f64079eb2b97059 /src/Angular.js | |
| parent | ba1b47f85b771f8221db58a46b58429375b0ee6e (diff) | |
| download | angular.js-0cd7e8f22721f62b62440bb059ae764ebbe7b42a.tar.bz2 | |
fix($compile): ensure CSS classes are added and removed only when necessary
When $compile interpolates a CSS class attribute expression it will
do so by comparing the CSS class value already present on the element.
This may lead to unexpected results when dealing with ngClass values being
added and removed therefore it is best that both compile and ngClass delegate
addClass/removeClass operations to the same block of code.
Diffstat (limited to 'src/Angular.js')
| -rw-r--r-- | src/Angular.js | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/src/Angular.js b/src/Angular.js index b27f4b06..11222118 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -81,7 +81,6 @@ -assertNotHasOwnProperty, -getter, -getBlockElements, - -tokenDifference */ @@ -1351,24 +1350,3 @@ function getBlockElements(block) { return jqLite(elements); } - -/** - * Return the string difference between tokens of the original string compared to the old string - * @param {str1} string original string value - * @param {str2} string new string value - */ -function tokenDifference(str1, str2) { - var values = '', - tokens1 = str1.split(/\s+/), - tokens2 = str2.split(/\s+/); - - outer: - for(var i=0;i<tokens1.length;i++) { - var token = tokens1[i]; - for(var j=0;j<tokens2.length;j++) { - if(token == tokens2[j]) continue outer; - } - values += (values.length > 0 ? ' ' : '') + token; - } - return values; -} |
