BREAKING CHANGE: - Platform pipes can only contain types and arrays of types, but no bindings any more. - When using transformers, platform pipes need to be specified explicitly in the pubspec.yaml via the new config option `platform_pipes`. - `Compiler.compileInHost` now returns a `HostViewFactoryRef` - Component view is not yet created when component constructor is called. -> use `onInit` lifecycle callback to access the view of a component - `ViewRef#setLocal` has been moved to new type `EmbeddedViewRef` - `internalView` is gone, use `EmbeddedViewRef.rootNodes` to access the root nodes of an embedded view - `renderer.setElementProperty`, `..setElementStyle`, `..setElementAttribute` now take a native element instead of an ElementRef - `Renderer` interface now operates on plain native nodes, instead of `RenderElementRef`s or `RenderViewRef`s Closes #5993
28 lines
1021 B
TypeScript
28 lines
1021 B
TypeScript
import {Compiler, Compiler_} from 'angular2/src/core/linker/compiler';
|
|
import {HostViewFactoryRef, HostViewFactoryRef_} from 'angular2/src/core/linker/view_ref';
|
|
import {TemplateCompiler} from './template_compiler';
|
|
|
|
import {Injectable} from 'angular2/src/core/di';
|
|
import {Type} from 'angular2/src/facade/lang';
|
|
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
|
|
|
|
export abstract class RuntimeCompiler extends Compiler {
|
|
abstract compileInHost(componentType: Type): Promise<HostViewFactoryRef>;
|
|
abstract clearCache();
|
|
}
|
|
|
|
@Injectable()
|
|
export class RuntimeCompiler_ extends Compiler_ implements RuntimeCompiler {
|
|
constructor(private _templateCompiler: TemplateCompiler) { super(); }
|
|
|
|
compileInHost(componentType: Type): Promise<HostViewFactoryRef_> {
|
|
return this._templateCompiler.compileHostComponentRuntime(componentType)
|
|
.then(hostViewFactory => new HostViewFactoryRef_(hostViewFactory));
|
|
}
|
|
|
|
clearCache() {
|
|
super.clearCache();
|
|
this._templateCompiler.clearCache();
|
|
}
|
|
}
|