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

Function handleCSSClassChanges

test/angular/1.6/angular.js:5536–5566  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

5534 }
5535
5536 function handleCSSClassChanges() {
5537 forEach(postDigestElements, function(element) {
5538 var data = postDigestQueue.get(element);
5539 if (data) {
5540 var existing = splitClasses(element.attr('class'));
5541 var toAdd = '';
5542 var toRemove = '';
5543 forEach(data, function(status, className) {
5544 var hasClass = !!existing[className];
5545 if (status !== hasClass) {
5546 if (status) {
5547 toAdd += (toAdd.length ? ' ' : '') + className;
5548 } else {
5549 toRemove += (toRemove.length ? ' ' : '') + className;
5550 }
5551 }
5552 });
5553
5554 forEach(element, function(elm) {
5555 if (toAdd) {
5556 jqLiteAddClass(elm, toAdd);
5557 }
5558 if (toRemove) {
5559 jqLiteRemoveClass(elm, toRemove);
5560 }
5561 });
5562 postDigestQueue.delete(element);
5563 }
5564 });
5565 postDigestElements.length = 0;
5566 }
5567
5568
5569 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