angular2
Version:
Angular 2 - a web framework for modern web apps
1 lines • 8.48 kB
Source Map (JSON)
{"version":3,"sources":["view.js"],"names":[],"mappings":"AAAA;AAAA,KAAK,iBAAiB,AAAC,CAAC,MAAK,QAAQ;YAArC,EAAC,GAAE,YAAqB;AAAE,uBAAwB;IAAE,AAA9B,CAAC;AAAvB,WAAS,CAAT,EAAC,KAAI,CAAO,KAAG,AAAS,CAAC;CAAgC,CAAC;;;;;;;;EAAlD,IAAE,EAAV,EAAC,+CAAoB,CAAA,OAAM,AAAC,gCAAkB,CACtC,CAAA,gDAAqB,yDAA2B,CAAA,gDAAqB,GAAK,EAAC,OAAM,+CAAmB,CAAC,AAD/D,CACgE;SAD9G,EAAC,8CAAoB,CAAA,OAAM,AAAC,kCAAkB,CACtC,CAAA,+CAAqB,wDAA2B,CAAA,+CAAqB,GAAK,EAAC,OAAM,8CAAmB,CAAC,AAD/D,CACgE;AAAtG,cAAU;AAAG,aAAS;AAAG,MAAE;AAAG,mBAAe;AAAG,OAAG;SAD3D,EAAC,wCAAoB,CAAA,OAAM,AAAC,4BAAkB,CACtC,CAAA,yCAAqB,kDAA2B,CAAA,yCAAqB,GAAK,EAAC,OAAM,wCAAmB,CAAC,AAD/D,CACgE;AACtG,MAAE;AAAG,YAAQ;AAAG,UAAM;AAAG,gBAAY;EAErC,cAAY,EAJpB,EAAC,wBAAoB,CAAA,OAAM,AAAC,oBAAkB,CACtC,CAAA,yBAAqB,kCAA2B,CAAA,yBAAqB,GAAK,EAAC,OAAM,wBAAmB,CAAC,AAD/D,CACgE;EAItG,gBAAc,EALtB,EAAC,oBAAoB,CAAA,OAAM,AAAC,gBAAkB,CACtC,CAAA,qBAAqB,8BAA2B,CAAA,qBAAqB,GAAK,EAAC,OAAM,oBAAmB,CAAC,AAD/D,CACgE;EAKtG,SAAO,EANf,EAAC,gDAAoB,CAAA,OAAM,AAAC,2BAAkB,CACtC,CAAA,iDAAqB,0DAA2B,CAAA,iDAAqB,GAAK,EAAC,OAAM,gDAAmB,CAAC,AAD/D,CACgE;EAMtG,QAAM,EAPd,EAAC,kDAAoB,CAAA,OAAM,AAAC,6BAAkB,CACtC,CAAA,mDAAqB,4DAA2B,CAAA,mDAAqB,GAAK,EAAC,OAAM,kDAAmB,CAAC,AAD/D,CACgE;AAU9G,AAAM,EAAA,CAAA,gBAAe,EAAI,aAAW,CAAC;AAXrC,AAAI,EAAA,aAgBG,SAAM,WAAS,CAsBhB,KAAI,AAAgB,CAAG,CAAA,SAAQ,AAAK,CACpC,CAAA,cAAa,AAAM,CAAG,CAAA,aAAY,AAAK,CAAG,CAAA,WAAU,AAAK,CAAG;AAC9D,KAAG,MAAM,EAAI,MAAI,CAAC;AAClB,KAAG,UAAU,EAAI,UAAQ,CAAC;AAC1B,KAAG,eAAe,EAAI,eAAa,CAAC;AACpC,KAAG,cAAc,EAAI,cAAY,CAAC;AAClC,KAAG,eAAe,EAAI,CAAA,WAAU,gBAAgB,AAAC,CAAC,aAAY,OAAO,CAAC,CAAC;AACvE,KAAG,YAAY,EAAI,YAAU,CAAC;AAC9B,KAAG,UAAU,EAAI,CAAA,WAAU,gBAAgB,AAAC,CAAC,aAAY,OAAO,CAAC,CAAC;AAClE,YAAU,KAAK,AAAC,CAAC,IAAG,UAAU,CAAG,KAAG,CAAC,CAAC;AACtC,KAAG,oBAAoB,EAAI,CAAA,WAAU,gBAAgB,AAAC,CAAC,aAAY,OAAO,CAAC,CAAC;AAC5E,KAAG,aAAa,EAAI,KAAG,CAAC;AACxB,KAAG,SAAS,EAAI,MAAI,CAAC;AACrB,KAAG,qBAAqB,EAAI,GAAC,CAAC;AAC9B,KAAG,oBAAoB,EAAI,GAAC,CAAC;AAC/B,AArDsC,CAAA;AAAxC,AAAI,EAAA,yBAAoC,CAAA;AAAxC,AAAC,eAAc,YAAY,CAAC,AAAC;AAuD3B,wBAAsB,CAAtB,UAAwB,iBAAgB,AAAO,CAAG;AAChD,AAAI,MAAA,CAAA,MAAK,EAAI,CAAA,IAAG,MAAM,eAAe,CAAE,iBAAgB,CAAC,CAAC;AACzD,AAAI,MAAA,CAAA,YAAW,EAAI,KAAG,CAAC;AACvB,OAAI,MAAK,YAAY,IAAM,EAAC,CAAA,CAAA,EAAK,CAAA,MAAK,iBAAiB,IAAM,EAAA,CAAG;AAC9D,iBAAW,EAAI,CAAA,IAAG,UAAU,CAAE,MAAK,YAAY,CAAC,CAAC;IACnD;AAAA,AACA,SAAO,aAAW,CAAC;EACrB;AAEA,yBAAuB,CAAvB,UAAyB,WAAU,CAAG;AACpC,AAAI,MAAA,CAAA,EAAC,EAAI,CAAA,IAAG,eAAe,CAAE,WAAU,CAAC,CAAC;AACzC,OAAI,OAAM,AAAC,CAAC,EAAC,CAAC,CAAG;AACf,OAAC,EAAI,IAAI,cAAY,AAAC,CAAC,IAAG,CAAG,YAAU,CAAC,CAAC;AACzC,SAAG,eAAe,CAAE,WAAU,CAAC,EAAI,GAAC,CAAC;IACvC;AAAA,AACA,SAAO,GAAC,CAAC;EACX;AAEA,mBAAiB,CAAjB,UAAmB,YAAW,AAAO,CAAG,CAAA,YAAW,AAAO,CAAG,CAAA,KAAI,AAAI,CAAG;AACtE,AAAI,MAAA,CAAA,MAAK,EAAI,CAAA,UAAS,IAAI,AAAC,CAAC,IAAG,MAAM,eAAe,CAAE,YAAW,CAAC,gBAAgB,CAAG,aAAW,CAAC,CAAC;AAClG,SAAK,AAAC,CAAC,IAAG,cAAc,CAAE,YAAW,CAAC,CAAG,MAAI,CAAC,CAAC;EACjD;AAEA,QAAM,CAAN,UAAQ,SAAQ,AAAO,CAAG,CAAA,KAAI,AAAO,CAAG;AACtC,MAAE,QAAQ,AAAC,CAAC,IAAG,eAAe,CAAE,SAAQ,CAAC,CAAG,MAAI,CAAC,CAAC;EACpD;AAEA,iBAAe,CAAf,UAAiB,KAAI,AAAO,CAAiB;AAC3C,SAAO,CAAA,IAAG,eAAe,CAAE,KAAI,CAAC,CAAC;EACnC;AAEA,mBAAiB,CAAjB,UAAmB,UAAS,AAAI,CAAsB;AACpD,OAAG,iBAAiB,EAAI,WAAS,CAAC;EACpC;AAEA,cAAY,CAAZ,UAAc,YAAW,CAAG,CAAA,SAAQ,CAAG,CAAA,KAAI,CAAY;AACrD,AAAI,MAAA,CAAA,oBAAmB,EAAI,KAAG,CAAC;AAC/B,OAAI,SAAQ,AAAC,CAAC,IAAG,iBAAiB,CAAC,CAAG;AACpC,AAAI,QAAA,CAAA,UAAS,EAAI,CAAA,UAAS,OAAO,AAAC,EAAC,CAAC;AACpC,eAAS,IAAI,AAAC,CAAC,UAAS,CAAG,SAAO,CAAG,MAAI,CAAC,CAAC;AAK3C,yBAAmB,EAAI,CAAA,IAAG,iBAAiB,cAAc,AAAC,CAAC,YAAW,CAAG,UAAQ,CAAG,WAAS,CAAC,CAAC;AAC/F,SAAI,CAAC,oBAAmB,CAAG;AACzB,YAAI,eAAe,AAAC,EAAC,CAAC;MACxB;AAAA,IACF;AAAA,AACA,SAAO,qBAAmB,CAAC;EAC7B;AAAA,KAzGmF;AAArF,KAAK,eAAe,AAAC,0BACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAqCd,eAAc,IAAa,IAAG,IACpB,IAAG,IAAiB,IAAG,IAAe,IAAG,GAtCd;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,4DACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,UAC4B;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,uDACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,WAArB,eAAc,KAAO,WAArB,eAAc,KAAO,OAC4B;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,4CACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,WAArB,eAAc,KAAO,UAC4B;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,qDACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,UAC4B;EAAC,CAAC,CAAC,CAAC;AADrD,KAAK,eAAe,AAAC,uDACb,EAAC,GAAE,CAAG,UAAS,AAAD,CAAG;AAAC,YAD1B,eAAc,KAAO,OAC4B;EAAC,CAAC,CAAC,CAAC;AA0GrD","file":"angular2/src/render/dom/view/view.js","sourcesContent":["import {DOM} from 'angular2/src/dom/dom_adapter';\nimport {ListWrapper, MapWrapper, Map, StringMapWrapper, List} from 'angular2/src/facade/collection';\nimport {int, isPresent, isBlank, BaseException} from 'angular2/src/facade/lang';\n\nimport {ViewContainer} from './view_container';\nimport {RenderProtoView} from './proto_view';\nimport {LightDom} from '../shadow_dom/light_dom';\nimport {Content} from '../shadow_dom/content_tag';\n\n// import {EventDispatcher} from '../../api';\n\nconst NG_BINDING_CLASS = 'ng-binding';\n\n/**\n * Const of making objects: http://jsperf.com/instantiate-size-of-object\n */\nexport class RenderView {\n boundElements:List;\n boundTextNodes:List;\n /// When the view is part of render tree, the DocumentFragment is empty, which is why we need\n /// to keep track of the nodes.\n rootNodes:List;\n // TODO(tbosch): move componentChildViews, viewContainers, contentTags, lightDoms into\n // a single array with records inside\n componentChildViews: List<RenderView>;\n viewContainers: List<ViewContainer>;\n contentTags: List<Content>;\n lightDoms: List<LightDom>;\n hostLightDom: LightDom;\n proto: RenderProtoView;\n hydrated: boolean;\n _eventDispatcher: any/*EventDispatcher*/;\n eventHandlerRemovers: List<Function>;\n /// Host views that were added by an imperative view.\n /// This is a dynamically growing / shrinking array.\n imperativeHostViews: List<RenderView>;\n\n constructor(\n proto:RenderProtoView, rootNodes:List,\n boundTextNodes: List, boundElements:List, contentTags:List) {\n this.proto = proto;\n this.rootNodes = rootNodes;\n this.boundTextNodes = boundTextNodes;\n this.boundElements = boundElements;\n this.viewContainers = ListWrapper.createFixedSize(boundElements.length);\n this.contentTags = contentTags;\n this.lightDoms = ListWrapper.createFixedSize(boundElements.length);\n ListWrapper.fill(this.lightDoms, null);\n this.componentChildViews = ListWrapper.createFixedSize(boundElements.length);\n this.hostLightDom = null;\n this.hydrated = false;\n this.eventHandlerRemovers = [];\n this.imperativeHostViews = [];\n }\n\n getDirectParentLightDom(boundElementIndex:number) {\n var binder = this.proto.elementBinders[boundElementIndex];\n var destLightDom = null;\n if (binder.parentIndex !== -1 && binder.distanceToParent === 1) {\n destLightDom = this.lightDoms[binder.parentIndex];\n }\n return destLightDom;\n }\n\n getOrCreateViewContainer(binderIndex) {\n var vc = this.viewContainers[binderIndex];\n if (isBlank(vc)) {\n vc = new ViewContainer(this, binderIndex);\n this.viewContainers[binderIndex] = vc;\n }\n return vc;\n }\n\n setElementProperty(elementIndex:number, propertyName:string, value:any) {\n var setter = MapWrapper.get(this.proto.elementBinders[elementIndex].propertySetters, propertyName);\n setter(this.boundElements[elementIndex], value);\n }\n\n setText(textIndex:number, value:string) {\n DOM.setText(this.boundTextNodes[textIndex], value);\n }\n\n getViewContainer(index:number):ViewContainer {\n return this.viewContainers[index];\n }\n\n setEventDispatcher(dispatcher:any/*EventDispatcher*/) {\n this._eventDispatcher = dispatcher;\n }\n\n dispatchEvent(elementIndex, eventName, event): boolean {\n var allowDefaultBehavior = true;\n if (isPresent(this._eventDispatcher)) {\n var evalLocals = MapWrapper.create();\n MapWrapper.set(evalLocals, '$event', event);\n // TODO(tbosch): reenable this when we are parsing element properties\n // out of action expressions\n // var localValues = this.proto.elementBinders[elementIndex].eventLocals.eval(null, new Locals(null, evalLocals));\n // this._eventDispatcher.dispatchEvent(elementIndex, eventName, localValues);\n allowDefaultBehavior = this._eventDispatcher.dispatchEvent(elementIndex, eventName, evalLocals);\n if (!allowDefaultBehavior) {\n event.preventDefault();\n }\n }\n return allowDefaultBehavior;\n }\n}\n"]}