MCPcopy
hub / github.com/angular-ui/ui-router / handleCSSClassChanges

Function handleCSSClassChanges

test/angular/1.7/angular.js:5562–5592  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

5560 }
5561
5562 function handleCSSClassChanges() {
5563 forEach(postDigestElements, function(element) {
5564 var data = postDigestQueue.get(element);
5565 if (data) {
5566 var existing = splitClasses(element.attr('class'));
5567 var toAdd = '';
5568 var toRemove = '';
5569 forEach(data, function(status, className) {
5570 var hasClass = !!existing[className];
5571 if (status !== hasClass) {
5572 if (status) {
5573 toAdd += (toAdd.length ? ' ' : '') + className;
5574 } else {
5575 toRemove += (toRemove.length ? ' ' : '') + className;
5576 }
5577 }
5578 });
5579
5580 forEach(element, function(elm) {
5581 if (toAdd) {
5582 jqLiteAddClass(elm, toAdd);
5583 }
5584 if (toRemove) {
5585 jqLiteRemoveClass(elm, toRemove);
5586 }
5587 });
5588 postDigestQueue.delete(element);
5589 }
5590 });
5591 postDigestElements.length = 0;
5592 }
5593
5594
5595 function addRemoveClassesPostDigest(element, add, remove) {

Callers

nothing calls this directly

Calls 4

forEachFunction · 0.70
splitClassesFunction · 0.70
jqLiteAddClassFunction · 0.70
jqLiteRemoveClassFunction · 0.70

Tested by

no test coverage detected