feat(compiler): implement style encapsulation for new view engine (#14518)

Included refactoring:
- splits the `RendererV2` into a `RendererFactoryV2` and a `RendererV2`
- makes the `DebugRendererV2` a private class in `@angular/core`
- remove `setBindingDebugInfo` from `RendererV2`, but rename `RendererV2.setText` to 
  `RendererV2.setValue` and allow it on comments and text nodes.

Part of #14013
This commit is contained in:
Tobias Bosch
2017-02-16 13:55:55 -08:00
committed by Igor Minar
parent ba17dcbf2b
commit 0fa3895d5b
38 changed files with 828 additions and 595 deletions

View File

@ -54,7 +54,7 @@ export function textDef(ngContentIndex: number, constants: string[]): NodeDef {
export function createText(view: ViewData, renderHost: any, def: NodeDef): TextData {
let renderNode: any;
const renderer = view.root.renderer;
const renderer = view.renderer;
renderNode = renderer.createText(def.text.prefix);
const parentEl = getParentRenderElement(view, renderHost, def);
if (parentEl) {
@ -119,7 +119,7 @@ export function checkAndUpdateTextInline(
}
value = def.text.prefix + value;
const renderNode = asTextData(view, def.index).renderText;
view.root.renderer.setText(renderNode, value);
view.renderer.setValue(renderNode, value);
}
}
@ -140,7 +140,7 @@ export function checkAndUpdateTextDynamic(view: ViewData, def: NodeDef, values:
}
value = def.text.prefix + value;
const renderNode = asTextData(view, def.index).renderText;
view.root.renderer.setText(renderNode, value);
view.renderer.setValue(renderNode, value);
}
}