UNPKG

angular2

Version:

Angular 2 - a web framework for modern web apps

1 lines 5.87 kB
{"version":3,"sources":["abstract_change_detector.js"],"names":[],"mappings":"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","file":"angular2/src/change_detection/abstract_change_detector.es6","sourcesContent":["import {isPresent} from 'angular2/src/facade/lang';\nimport {List, ListWrapper} from 'angular2/src/facade/collection';\nimport {ChangeDetectorRef} from './change_detector_ref';\nimport {ChangeDetector} from './interfaces';\nimport {CHECK_ALWAYS, CHECK_ONCE, CHECKED, DETACHED, ON_PUSH} from './constants';\n\nexport class AbstractChangeDetector extends ChangeDetector {\n lightDomChildren:List;\n shadowDomChildren:List;\n parent:ChangeDetector;\n mode:string;\n ref:ChangeDetectorRef;\n\n constructor() {\n super();\n this.lightDomChildren = [];\n this.shadowDomChildren = [];\n this.ref = new ChangeDetectorRef(this);\n this.mode = null;\n }\n\n addChild(cd:ChangeDetector) {\n ListWrapper.push(this.lightDomChildren, cd);\n cd.parent = this;\n }\n\n removeChild(cd:ChangeDetector) {\n ListWrapper.remove(this.lightDomChildren, cd);\n }\n\n addShadowDomChild(cd:ChangeDetector) {\n ListWrapper.push(this.shadowDomChildren, cd);\n cd.parent = this;\n }\n\n removeShadowDomChild(cd:ChangeDetector) {\n ListWrapper.remove(this.shadowDomChildren, cd);\n }\n\n remove() {\n this.parent.removeChild(this);\n }\n\n detectChanges() {\n this._detectChanges(false);\n }\n\n checkNoChanges() {\n this._detectChanges(true);\n }\n\n _detectChanges(throwOnChange:boolean) {\n if (this.mode === DETACHED || this.mode === CHECKED) return;\n\n this.detectChangesInRecords(throwOnChange);\n\n this._detectChangesInLightDomChildren(throwOnChange);\n\n this.callOnAllChangesDone();\n\n this._detectChangesInShadowDomChildren(throwOnChange);\n\n if (this.mode === CHECK_ONCE) this.mode = CHECKED;\n }\n\n detectChangesInRecords(throwOnChange:boolean){}\n callOnAllChangesDone(){}\n\n _detectChangesInLightDomChildren(throwOnChange:boolean) {\n var c = this.lightDomChildren;\n for(var i = 0; i < c.length; ++i) {\n c[i]._detectChanges(throwOnChange);\n }\n }\n\n _detectChangesInShadowDomChildren(throwOnChange:boolean) {\n var c = this.shadowDomChildren;\n for(var i = 0; i < c.length; ++i) {\n c[i]._detectChanges(throwOnChange);\n }\n }\n\n markAsCheckOnce() {\n this.mode = CHECK_ONCE;\n }\n\n markPathToRootAsCheckOnce() {\n var c = this;\n while(isPresent(c) && c.mode != DETACHED) {\n if (c.mode === CHECKED) c.mode = CHECK_ONCE;\n c = c.parent;\n }\n }\n}\n"]}