angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 8.67 kB
Source Map (JSON)
{"version":3,"sources":["template_resolver_mock.js"],"names":[],"mappings":"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","file":"angular2/src/mock/template_resolver_mock.js","sourcesContent":["import {Map, MapWrapper, ListWrapper} from 'angular2/src/facade/collection';\nimport {Type, isPresent, BaseException, stringify, isBlank} from 'angular2/src/facade/lang';\n\nimport {View} from 'angular2/src/core/annotations/view';\nimport {TemplateResolver} from 'angular2/src/core/compiler/template_resolver';\n\nexport class MockTemplateResolver extends TemplateResolver {\n _templates: Map<Type, View>;\n _inlineTemplates: Map<Type, string>;\n _templateCache: Map<Type, View>;\n _directiveOverrides: Map<Type, Type>;\n\n constructor() {\n super();\n this._templates = MapWrapper.create();\n this._inlineTemplates = MapWrapper.create();\n this._templateCache = MapWrapper.create();\n this._directiveOverrides = MapWrapper.create();\n }\n\n /**\n * Overrides the {@link View} for a component.\n *\n * @param {Type} component\n * @param {ViewDefinition} view\n */\n setView(component: Type, view: View): void {\n this._checkOverrideable(component);\n MapWrapper.set(this._templates, component, view);\n }\n\n /**\n * Overrides the inline template for a component - other configuration remains unchanged.\n *\n * @param {Type} component\n * @param {string} template\n */\n setInlineTemplate(component: Type, template: string): void {\n this._checkOverrideable(component);\n MapWrapper.set(this._inlineTemplates, component, template);\n }\n\n /**\n * Overrides a directive from the component {@link View}.\n *\n * @param {Type} component\n * @param {Type} from\n * @param {Type} to\n */\n overrideTemplateDirective(component: Type, from: Type, to: Type): void {\n this._checkOverrideable(component);\n\n var overrides = MapWrapper.get(this._directiveOverrides, component);\n\n if (isBlank(overrides)) {\n overrides = MapWrapper.create();\n MapWrapper.set(this._directiveOverrides, component, overrides);\n }\n\n MapWrapper.set(overrides, from, to);\n }\n\n /**\n * Returns the {@link View} for a component:\n * - Set the {@link View} to the overridden template when it exists or fallback to the default `TemplateResolver`,\n * see `setView`.\n * - Override the directives, see `overrideTemplateDirective`.\n * - Override the @View definition, see `setInlineTemplate`.\n *\n * @param component\n * @returns {ViewDefinition}\n */\n resolve(component: Type): View {\n var view = MapWrapper.get(this._templateCache, component);\n if (isPresent(view)) return view;\n\n view = MapWrapper.get(this._templates, component);\n if (isBlank(view)) {\n view = super.resolve(component);\n }\n\n var directives = view.directives;\n var overrides = MapWrapper.get(this._directiveOverrides, component);\n\n if (isPresent(overrides) && isPresent(directives)) {\n directives = ListWrapper.clone(view.directives);\n MapWrapper.forEach(overrides, (to, from) => {\n var srcIndex = directives.indexOf(from);\n if (srcIndex == -1) {\n throw new BaseException(`Overriden directive ${stringify(from)} not found in the template of ${stringify(component)}`);\n }\n directives[srcIndex] = to;\n });\n view = new View({\n template: view.template,\n templateUrl: view.templateUrl,\n directives: directives\n });\n }\n\n var inlineTemplate = MapWrapper.get(this._inlineTemplates, component);\n if (isPresent(inlineTemplate)) {\n view = new View({\n template: inlineTemplate,\n templateUrl: null,\n directives: view.directives\n });\n }\n\n MapWrapper.set(this._templateCache, component, view);\n return view;\n }\n\n /**\n * Once a component has been compiled, the AppProtoView is stored in the compiler cache.\n *\n * Then it should not be possible to override the component configuration after the component\n * has been compiled.\n *\n * @param {Type} component\n */\n _checkOverrideable(component: Type): void {\n var cached = MapWrapper.get(this._templateCache, component);\n\n if (isPresent(cached)) {\n throw new BaseException(`The component ${stringify(component)} has already been compiled, its configuration can not be changed`);\n }\n }\n}\n"]}