angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 3 kB
Source Map (JSON)
{"version":3,"sources":["class.js"],"names":[],"mappings":"AAAA;AAAA,KAAK,iBAAiB,AAAC,CAAC,MAAK,QAAQ;UAArC,EAAC,GAAE,YAAqB;AAAE,qBAAwB;IAAE,AAA9B,CAAC;AAAvB,WAAS,CAAT,EAAC,KAAI,CAAO,KAAG,AAAS,CAAC;CAAgC,CAAC;;;;;EAAlD,UAAQ,EAAhB,EAAC,4DAAoB,CAAA,OAAM,AAAC,6CAAkB,CACtC,CAAA,6DAAqB,sEAA2B,CAAA,6DAAqB,GAAK,EAAC,OAAM,4DAAmB,CAAC,AAD/D,CACgE;EAAtG,UAAQ,EADhB,EAAC,wCAAoB,CAAA,OAAM,AAAC,4BAAkB,CACtC,CAAA,yCAAqB,kDAA2B,CAAA,yCAAqB,GAAK,EAAC,OAAM,wCAAmB,CAAC,AAD/D,CACgE;EACtG,IAAE,EAFV,EAAC,+CAAoB,CAAA,OAAM,AAAC,gCAAkB,CACtC,CAAA,gDAAqB,yDAA2B,CAAA,gDAAqB,GAAK,EAAC,OAAM,+CAAmB,CAAC,AAD/D,CACgE;EAEtG,UAAQ,EAHhB,EAAC,2DAAoB,CAAA,OAAM,AAAC,yCAAkB,CACtC,CAAA,4DAAqB,qEAA2B,CAAA,4DAAqB,GAAK,EAAC,OAAM,2DAAmB,CAAC,AAD/D,CACgE;AAD9G,AAAI,EAAA,WAWG,SAAM,SAAO,CAEN,IAAG,AAAW,CAAG;AAC3B,KAAG,OAAO,EAAI,CAAA,IAAG,WAAW,CAAC;AAC/B,AAfsC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC;AAiB3B,aAAW,CAAX,UAAa,SAAQ,CAAG,CAAA,OAAM,CAAG;AAC/B,OAAI,OAAM,CAAG;AACX,QAAE,SAAS,AAAC,CAAC,IAAG,OAAO,CAAG,UAAQ,CAAC,CAAC;IACtC,KAAO;AACL,QAAE,YAAY,AAAC,CAAC,IAAG,OAAO,CAAG,UAAQ,CAAC,CAAC;IACzC;AAAA,EACF;AAEA,IAAI,gBAAc,CAAE,OAAM;;AACxB,OAAI,SAAQ,AAAC,CAAC,OAAM,CAAC,CAAG;AACtB,YAAM,iBAAiB,AAAC,EAAC,SAAC,MAAK,CAAM;AAAE,wBAAgB,AAAC,CAAC,MAAK,IAAI,CAAG,CAAA,MAAK,aAAa,CAAC,CAAC;MAAE,EAAC,CAAC;AAC7F,YAAM,mBAAmB,AAAC,EAAC,SAAC,MAAK,CAAM;AAAE,wBAAgB,AAAC,CAAC,MAAK,IAAI,CAAG,CAAA,MAAK,aAAa,CAAC,CAAC;MAAE,EAAC,CAAC;AAC/F,YAAM,mBAAmB,AAAC,EAAC,SAAC,MAAK,CAAM;AACrC,WAAI,MAAK,cAAc,CAAG;AACxB,YAAE,YAAY,AAAC,CAAC,WAAU,CAAG,CAAA,MAAK,IAAI,CAAC,CAAC;QAC1C;AAAA,MACF,EAAC,CAAC;IACJ;AAAA,EACF;KAnCmF;AAArF,KAAK,eAAe,AAAC,yBACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,cAIzB,UAAQ,AAAC,CAAC;AACT,aAAO,CAAG,UAAQ;AAClB,eAAS,CAAG,EACV,iBAAgB,CAAG,qBAAmB,CACxC;AAAA,IACF,CAAC,EATgD;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,wBACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAYN,SAAQ,GAZqB;EAAC,CAAC,CAAC,CAAC;AAoCrD","file":"angular2/src/directives/class.js","sourcesContent":["import {Decorator} from 'angular2/src/core/annotations/annotations';\nimport {isPresent} from 'angular2/src/facade/lang';\nimport {DOM} from 'angular2/src/dom/dom_adapter';\nimport {NgElement} from 'angular2/src/core/compiler/ng_element';\n\n@Decorator({\n selector: '[class]',\n properties: {\n 'iterableChanges': 'class | keyValDiff'\n }\n})\nexport class CSSClass {\n _domEl;\n constructor(ngEl: NgElement) {\n this._domEl = ngEl.domElement;\n }\n\n _toggleClass(className, enabled) {\n if (enabled) {\n DOM.addClass(this._domEl, className);\n } else {\n DOM.removeClass(this._domEl, className);\n }\n }\n\n set iterableChanges(changes) {\n if (isPresent(changes)) {\n changes.forEachAddedItem((record) => { this._toggleClass(record.key, record.currentValue); });\n changes.forEachChangedItem((record) => { this._toggleClass(record.key, record.currentValue); });\n changes.forEachRemovedItem((record) => {\n if (record.previousValue) {\n DOM.removeClass(this._domEl, record.key);\n }\n });\n }\n }\n}\n"]}