angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 7.08 kB
Source Map (JSON)
{"version":3,"sources":["shadow_dom_compile_step.js"],"names":[],"mappings":"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","file":"angular2/src/render/dom/shadow_dom/shadow_dom_compile_step.js","sourcesContent":["import {isBlank, isPresent, assertionsEnabled} from 'angular2/src/facade/lang';\nimport {MapWrapper, List, ListWrapper} from 'angular2/src/facade/collection';\nimport {Promise, PromiseWrapper} from 'angular2/src/facade/async';\n\nimport {DOM} from 'angular2/src/dom/dom_adapter';\n\nimport {CompileStep} from '../compiler/compile_step';\nimport {CompileElement} from '../compiler/compile_element';\nimport {CompileControl} from '../compiler/compile_control';\nimport {ViewDefinition} from '../../api';\nimport {ShadowDomStrategy} from './shadow_dom_strategy';\n\nexport class ShadowDomCompileStep extends CompileStep {\n _shadowDomStrategy: ShadowDomStrategy;\n _template: ViewDefinition;\n _subTaskPromises: List<Promise>;\n\n constructor(shadowDomStrategy: ShadowDomStrategy, template: ViewDefinition, subTaskPromises:List<Promise>) {\n super();\n this._shadowDomStrategy = shadowDomStrategy;\n this._template = template;\n this._subTaskPromises = subTaskPromises;\n }\n\n process(parent:CompileElement, current:CompileElement, control:CompileControl) {\n var tagName = DOM.tagName(current.element).toUpperCase();\n if (tagName == 'STYLE') {\n this._processStyleElement(current, control);\n } else if (tagName == 'CONTENT') {\n this._processContentElement(current);\n } else {\n var componentId = current.isBound() ? current.inheritedElementBinder.componentId : null;\n this._shadowDomStrategy.processElement(\n this._template.componentId, componentId, current.element\n );\n }\n }\n\n _processStyleElement(current:CompileElement, control:CompileControl) {\n var stylePromise = this._shadowDomStrategy.processStyleElement(\n this._template.componentId, this._template.absUrl, current.element\n );\n if (isPresent(stylePromise) && PromiseWrapper.isPromise(stylePromise)) {\n ListWrapper.push(this._subTaskPromises, stylePromise);\n }\n\n // Style elements should not be further processed by the compiler, as they can not contain\n // bindings. Skipping further compiler steps allow speeding up the compilation process.\n control.ignoreCurrentElement();\n }\n\n _processContentElement(current:CompileElement) {\n if (this._shadowDomStrategy.hasNativeContentElement()) {\n return;\n }\n var attrs = current.attrs();\n var selector = MapWrapper.get(attrs, 'select');\n selector = isPresent(selector) ? selector : '';\n\n var contentStart = DOM.createScriptTag('type', 'ng/contentStart');\n if (assertionsEnabled()) {\n DOM.setAttribute(contentStart, 'select', selector);\n }\n var contentEnd = DOM.createScriptTag('type', 'ng/contentEnd');\n DOM.insertBefore(current.element, contentStart);\n DOM.insertBefore(current.element, contentEnd);\n DOM.remove(current.element);\n\n current.element = contentStart;\n current.bindElement().setContentTagSelector(selector);\n }\n}\n"]}