UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 21.7 kB
{"version":3,"sources":["proto_view_builder.js"],"names":[],"mappings":"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","file":"angular2/src/render/dom/view/proto_view_builder.es6","sourcesContent":["import {isPresent, isBlank, BaseException} from 'angular2/src/facade/lang';\nimport {ListWrapper, MapWrapper, Set, SetWrapper, List} from 'angular2/src/facade/collection';\nimport {DOM} from 'angular2/src/dom/dom_adapter';\n\nimport {\n ASTWithSource, AST, AstTransformer, AccessMember, LiteralArray, ImplicitReceiver\n} from 'angular2/change_detection';\nimport {SetterFn} from 'angular2/src/reflection/types';\n\nimport {RenderProtoView} from './proto_view';\nimport {ElementBinder, Event} from './element_binder';\nimport {setterFactory} from './property_setter_factory';\n\nimport * as api from '../../api';\nimport * as directDomRenderer from '../direct_dom_renderer';\n\nimport {NG_BINDING_CLASS, EVENT_TARGET_SEPARATOR} from '../util';\n\nexport class ProtoViewBuilder {\n rootElement;\n variableBindings: Map<string, string>;\n elements:List<ElementBinderBuilder>;\n imperativeRendererId:string;\n\n constructor(rootElement) {\n this.rootElement = rootElement;\n this.elements = [];\n this.variableBindings = MapWrapper.create();\n this.imperativeRendererId = null;\n }\n\n setImperativeRendererId(id:string):ProtoViewBuilder {\n this.imperativeRendererId = id;\n return this;\n }\n\n bindElement(element, description = null):ElementBinderBuilder {\n var builder = new ElementBinderBuilder(this.elements.length, element, description);\n ListWrapper.push(this.elements, builder);\n DOM.addClass(element, NG_BINDING_CLASS);\n\n return builder;\n }\n\n bindVariable(name, value) {\n // Store the variable map from value to variable, reflecting how it will be used later by\n // RenderView. When a local is set to the view, a lookup for the variable name will take place keyed\n // by the \"value\", or exported identifier. For example, ng-repeat sets a view local of \"index\".\n // When this occurs, a lookup keyed by \"index\" must occur to find if there is a var referencing\n // it.\n MapWrapper.set(this.variableBindings, value, name);\n }\n\n build():api.ProtoViewDto {\n var renderElementBinders = [];\n\n var apiElementBinders = [];\n ListWrapper.forEach(this.elements, (ebb) => {\n var propertySetters = MapWrapper.create();\n var apiDirectiveBinders = ListWrapper.map(ebb.directives, (db) => {\n ebb.eventBuilder.merge(db.eventBuilder);\n return new api.DirectiveBinder({\n directiveIndex: db.directiveIndex,\n propertyBindings: db.propertyBindings,\n eventBindings: db.eventBindings\n });\n });\n MapWrapper.forEach(ebb.propertySetters, (setter, propertyName) => {\n MapWrapper.set(propertySetters, propertyName, setter);\n });\n var nestedProtoView =\n isPresent(ebb.nestedProtoView) ? ebb.nestedProtoView.build() : null;\n var parentIndex = isPresent(ebb.parent) ? ebb.parent.index : -1;\n ListWrapper.push(apiElementBinders, new api.ElementBinder({\n index: ebb.index, parentIndex:parentIndex, distanceToParent:ebb.distanceToParent,\n directives: apiDirectiveBinders,\n nestedProtoView: nestedProtoView,\n propertyBindings: ebb.propertyBindings, variableBindings: ebb.variableBindings,\n eventBindings: ebb.eventBindings,\n textBindings: ebb.textBindings,\n readAttributes: ebb.readAttributes\n }));\n ListWrapper.push(renderElementBinders, new ElementBinder({\n textNodeIndices: ebb.textBindingIndices,\n contentTagSelector: ebb.contentTagSelector,\n parentIndex: parentIndex,\n distanceToParent: ebb.distanceToParent,\n nestedProtoView: isPresent(nestedProtoView) ? nestedProtoView.render.delegate : null,\n componentId: ebb.componentId,\n eventLocals: new LiteralArray(ebb.eventBuilder.buildEventLocals()),\n localEvents: ebb.eventBuilder.buildLocalEvents(),\n globalEvents: ebb.eventBuilder.buildGlobalEvents(),\n propertySetters: propertySetters\n }));\n });\n return new api.ProtoViewDto({\n render: new directDomRenderer.DirectDomProtoViewRef(new RenderProtoView({\n element: this.rootElement,\n elementBinders: renderElementBinders,\n imperativeRendererId: this.imperativeRendererId\n })),\n elementBinders: apiElementBinders,\n variableBindings: this.variableBindings\n });\n }\n}\n\nexport class ElementBinderBuilder {\n element;\n index:number;\n parent:ElementBinderBuilder;\n distanceToParent:number;\n directives:List<DirectiveBuilder>;\n nestedProtoView:ProtoViewBuilder;\n propertyBindings: Map<string, ASTWithSource>;\n variableBindings: Map<string, string>;\n eventBindings: List<api.EventBinding>;\n eventBuilder: EventBuilder;\n textBindingIndices: List<number>;\n textBindings: List<ASTWithSource>;\n contentTagSelector:string;\n propertySetters: Map<string, SetterFn>;\n readAttributes: Map<string, string>;\n componentId: string;\n\n constructor(index, element, description) {\n this.element = element;\n this.index = index;\n this.parent = null;\n this.distanceToParent = 0;\n this.directives = [];\n this.nestedProtoView = null;\n this.propertyBindings = MapWrapper.create();\n this.variableBindings = MapWrapper.create();\n this.eventBindings = ListWrapper.create();\n this.eventBuilder = new EventBuilder();\n this.textBindings = [];\n this.textBindingIndices = [];\n this.contentTagSelector = null;\n this.propertySetters = MapWrapper.create();\n this.componentId = null;\n this.readAttributes = MapWrapper.create();\n }\n\n setParent(parent:ElementBinderBuilder, distanceToParent):ElementBinderBuilder {\n this.parent = parent;\n if (isPresent(parent)) {\n this.distanceToParent = distanceToParent;\n }\n return this;\n }\n\n readAttribute(attrName:string) {\n if (isBlank(MapWrapper.get(this.readAttributes, attrName))) {\n MapWrapper.set(this.readAttributes, attrName, DOM.getAttribute(this.element, attrName));\n }\n }\n\n bindDirective(directiveIndex:number):DirectiveBuilder {\n var directive = new DirectiveBuilder(directiveIndex);\n ListWrapper.push(this.directives, directive);\n return directive;\n }\n\n bindNestedProtoView(rootElement):ProtoViewBuilder {\n if (isPresent(this.nestedProtoView)) {\n throw new BaseException('Only one nested view per element is allowed');\n }\n this.nestedProtoView = new ProtoViewBuilder(rootElement);\n return this.nestedProtoView;\n }\n\n bindProperty(name, expression) {\n MapWrapper.set(this.propertyBindings, name, expression);\n this.bindPropertySetter(name);\n }\n\n bindPropertySetter(name) {\n MapWrapper.set(this.propertySetters, name, setterFactory(name));\n }\n\n bindVariable(name, value) {\n // When current is a view root, the variable bindings are set to the *nested* proto view.\n // The root view conceptually signifies a new \"block scope\" (the nested view), to which\n // the variables are bound.\n if (isPresent(this.nestedProtoView)) {\n this.nestedProtoView.bindVariable(name, value);\n } else {\n // Store the variable map from value to variable, reflecting how it will be used later by\n // RenderView. When a local is set to the view, a lookup for the variable name will take place keyed\n // by the \"value\", or exported identifier. For example, ng-repeat sets a view local of \"index\".\n // When this occurs, a lookup keyed by \"index\" must occur to find if there is a var referencing\n // it.\n MapWrapper.set(this.variableBindings, value, name);\n }\n }\n\n bindEvent(name, expression, target = null) {\n ListWrapper.push(this.eventBindings, this.eventBuilder.add(name, expression, target));\n }\n\n bindText(index, expression) {\n ListWrapper.push(this.textBindingIndices, index);\n ListWrapper.push(this.textBindings, expression);\n }\n\n setContentTagSelector(value:string) {\n this.contentTagSelector = value;\n }\n\n setComponentId(componentId:string) {\n this.componentId = componentId;\n }\n}\n\nexport class DirectiveBuilder {\n directiveIndex:number;\n propertyBindings: Map<string, ASTWithSource>;\n eventBindings: List<api.EventBinding>;\n eventBuilder: EventBuilder;\n\n constructor(directiveIndex) {\n this.directiveIndex = directiveIndex;\n this.propertyBindings = MapWrapper.create();\n this.eventBindings = ListWrapper.create();\n this.eventBuilder = new EventBuilder();\n }\n\n bindProperty(name, expression) {\n MapWrapper.set(this.propertyBindings, name, expression);\n }\n\n bindEvent(name, expression, target = null) {\n ListWrapper.push(this.eventBindings, this.eventBuilder.add(name, expression, target));\n }\n}\n\nexport class EventBuilder extends AstTransformer {\n locals: List<AST>;\n localEvents: List<Event>;\n globalEvents: List<Event>;\n _implicitReceiver: AST;\n\n constructor() {\n super();\n this.locals = [];\n this.localEvents = [];\n this.globalEvents = [];\n this._implicitReceiver = new ImplicitReceiver();\n }\n\n add(name: string, source: ASTWithSource, target: string): api.EventBinding {\n // TODO(tbosch): reenable this when we are parsing element properties\n // out of action expressions\n // var adjustedAst = astWithSource.ast.visit(this);\n var adjustedAst = source.ast;\n var fullName = isPresent(target) ? target + EVENT_TARGET_SEPARATOR + name : name;\n var result = new api.EventBinding(fullName, new ASTWithSource(adjustedAst, source.source, source.location));\n var event = new Event(name, target, fullName);\n if (isBlank(target)) {\n ListWrapper.push(this.localEvents, event);\n } else {\n ListWrapper.push(this.globalEvents, event);\n }\n return result;\n }\n\n visitAccessMember(ast:AccessMember) {\n var isEventAccess = false;\n var current = ast;\n while (!isEventAccess && (current instanceof AccessMember)) {\n if (current.name == '$event') {\n isEventAccess = true;\n }\n current = current.receiver;\n }\n\n if (isEventAccess) {\n ListWrapper.push(this.locals, ast);\n var index = this.locals.length - 1;\n return new AccessMember(this._implicitReceiver, `${index}`, (arr) => arr[index], null);\n } else {\n return ast;\n }\n }\n\n buildEventLocals() {\n return this.locals;\n }\n\n buildLocalEvents() {\n return this.localEvents;\n }\n\n buildGlobalEvents() {\n return this.globalEvents;\n }\n\n merge(eventBuilder: EventBuilder) {\n this._merge(this.localEvents, eventBuilder.localEvents);\n this._merge(this.globalEvents, eventBuilder.globalEvents);\n ListWrapper.concat(this.locals, eventBuilder.locals);\n }\n\n _merge(host: List<Event>, tobeAdded: List<Event>) {\n var names = ListWrapper.create();\n for (var i = 0; i < host.length; i++) {\n ListWrapper.push(names, host[i].fullName);\n }\n for (var j = 0; j < tobeAdded.length; j++) {\n if (!ListWrapper.contains(names, tobeAdded[j].fullName)) {\n ListWrapper.push(host, tobeAdded[j]);\n }\n }\n }\n}\n"]}