angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 6.06 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.es6","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"]}