@angular/upgrade 0.0.0-6 → 2.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/{upgrade.umd.js → bundles/upgrade.umd.js} +165 -141
  2. package/bundles/upgrade.umd.min.js +1 -0
  3. package/esm/index.js.map +1 -1
  4. package/esm/src/angular_js.d.ts +1 -0
  5. package/esm/src/angular_js.js.map +1 -1
  6. package/esm/src/angular_js.metadata.json +1 -1
  7. package/esm/src/constants.js +1 -1
  8. package/esm/src/constants.js.map +1 -1
  9. package/esm/src/constants.metadata.json +1 -1
  10. package/esm/src/downgrade_ng2_adapter.d.ts +3 -5
  11. package/esm/src/downgrade_ng2_adapter.js +9 -9
  12. package/esm/src/downgrade_ng2_adapter.js.map +1 -1
  13. package/esm/src/metadata.js +1 -1
  14. package/esm/src/metadata.js.map +1 -1
  15. package/esm/src/upgrade_adapter.d.ts +1 -8
  16. package/esm/src/upgrade_adapter.js +56 -48
  17. package/esm/src/upgrade_adapter.js.map +1 -1
  18. package/esm/src/upgrade_ng1_adapter.js +39 -27
  19. package/esm/src/upgrade_ng1_adapter.js.map +1 -1
  20. package/esm/src/util.js.map +1 -1
  21. package/esm/src/util.metadata.json +1 -0
  22. package/esm/upgrade.js +4 -4
  23. package/esm/upgrade.js.map +1 -1
  24. package/index.js.map +1 -1
  25. package/package.json +8 -4
  26. package/src/angular_js.d.ts +1 -0
  27. package/src/angular_js.js.map +1 -1
  28. package/src/angular_js.metadata.json +1 -1
  29. package/src/constants.js +1 -1
  30. package/src/constants.js.map +1 -1
  31. package/src/constants.metadata.json +1 -1
  32. package/src/downgrade_ng2_adapter.d.ts +3 -5
  33. package/src/downgrade_ng2_adapter.js +18 -14
  34. package/src/downgrade_ng2_adapter.js.map +1 -1
  35. package/src/metadata.js +1 -1
  36. package/src/metadata.js.map +1 -1
  37. package/src/upgrade_adapter.d.ts +1 -8
  38. package/src/upgrade_adapter.js +58 -46
  39. package/src/upgrade_adapter.js.map +1 -1
  40. package/src/upgrade_ng1_adapter.js +40 -26
  41. package/src/upgrade_ng1_adapter.js.map +1 -1
  42. package/src/util.js.map +1 -1
  43. package/src/util.metadata.json +1 -0
  44. package/upgrade.js +4 -4
  45. package/upgrade.js.map +1 -1
  46. package/esm/upgrade.umd.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { ChangeDetectorRef, Injector, ComponentFactory, ComponentRef, SimpleChange } from '@angular/core';
2
- import { ComponentInfo } from './metadata';
1
+ import { ChangeDetectorRef, ComponentFactory, ComponentRef, Injector, SimpleChanges } from '@angular/core';
3
2
  import * as angular from './angular_js';
3
+ import { ComponentInfo } from './metadata';
4
4
  export declare class DowngradeNg2ComponentAdapter {
5
5
  private id;
6
6
  private info;
@@ -12,9 +12,7 @@ export declare class DowngradeNg2ComponentAdapter {
12
12
  private componentFactory;
13
13
  component: any;
14
14
  inputChangeCount: number;
15
- inputChanges: {
16
- [key: string]: SimpleChange;
17
- };
15
+ inputChanges: SimpleChanges;
18
16
  componentRef: ComponentRef<any>;
19
17
  changeDetector: ChangeDetectorRef;
20
18
  componentScope: angular.IScope;
@@ -1,4 +1,4 @@
1
- import { provide, ReflectiveInjector } from '@angular/core';
1
+ import { ReflectiveInjector } from '@angular/core';
2
2
  import { NG1_SCOPE } from './constants';
3
3
  const INITIAL_VALUE = {
4
4
  __UNINITIALIZED__: true
@@ -24,10 +24,9 @@ export class DowngradeNg2ComponentAdapter {
24
24
  this.childNodes = element.contents();
25
25
  }
26
26
  bootstrapNg2() {
27
- var childInjector = ReflectiveInjector.resolveAndCreate([provide(NG1_SCOPE, { useValue: this.componentScope })], this.parentInjector);
27
+ var childInjector = ReflectiveInjector.resolveAndCreate([{ provide: NG1_SCOPE, useValue: this.componentScope }], this.parentInjector);
28
28
  this.contentInsertionPoint = document.createComment('ng1 insertion point');
29
- this.componentRef =
30
- this.componentFactory.create(childInjector, [[this.contentInsertionPoint]], '#' + this.id);
29
+ this.componentRef = this.componentFactory.create(childInjector, [[this.contentInsertionPoint]], this.element[0]);
31
30
  this.changeDetector = this.componentRef.changeDetectorRef;
32
31
  this.component = this.componentRef.instance;
33
32
  }
@@ -38,9 +37,9 @@ export class DowngradeNg2ComponentAdapter {
38
37
  var input = inputs[i];
39
38
  var expr = null;
40
39
  if (attrs.hasOwnProperty(input.attr)) {
41
- var observeFn = ((prop) => {
40
+ var observeFn = ((prop /** TODO #9100 */) => {
42
41
  var prevValue = INITIAL_VALUE;
43
- return (value) => {
42
+ return (value /** TODO #9100 */) => {
44
43
  if (this.inputChanges !== null) {
45
44
  this.inputChangeCount++;
46
45
  this.inputChanges[prop] =
@@ -65,7 +64,7 @@ export class DowngradeNg2ComponentAdapter {
65
64
  expr = attrs[input.bracketParenAttr];
66
65
  }
67
66
  if (expr != null) {
68
- var watchFn = ((prop) => (value, prevValue) => {
67
+ var watchFn = ((prop /** TODO #9100 */) => (value /** TODO #9100 */, prevValue /** TODO #9100 */) => {
69
68
  if (this.inputChanges != null) {
70
69
  this.inputChangeCount++;
71
70
  this.inputChanges[prop] = new Ng1Change(prevValue, value);
@@ -130,8 +129,9 @@ export class DowngradeNg2ComponentAdapter {
130
129
  var emitter = this.component[output.prop];
131
130
  if (emitter) {
132
131
  emitter.subscribe({
133
- next: assignExpr ? ((setter) => (value) => setter(this.scope, value))(setter) :
134
- ((getter) => (value) => getter(this.scope, { $event: value }))(getter)
132
+ next: assignExpr ?
133
+ ((setter) => (v /** TODO #9100 */) => setter(this.scope, v))(setter) :
134
+ ((getter) => (v /** TODO #9100 */) => getter(this.scope, { $event: v }))(getter)
135
135
  });
136
136
  }
137
137
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"downgrade_ng2_adapter.js","sourceRoot":"/Users/iminar/Dev/angular/modules/@angular/upgrade/","sources":["src/downgrade_ng2_adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"downgrade_ng2_adapter.js","sourceRoot":"","sources":["../../../../../modules/@angular/upgrade/src/downgrade_ng2_adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import {ChangeDetectorRef, ComponentFactory, ComponentRef, EventEmitter, Injector, OnChanges, ReflectiveInjector, SimpleChange, SimpleChanges} from '@angular/core';\n\nimport * as angular from './angular_js';\nimport {NG1_SCOPE} from './constants';\nimport {ComponentInfo} from './metadata';\n\nconst INITIAL_VALUE = {\n __UNINITIALIZED__: true\n};\n\nexport class DowngradeNg2ComponentAdapter {\n component: any = null;\n inputChangeCount: number = 0;\n inputChanges: SimpleChanges = null;\n componentRef: ComponentRef<any> = null;\n changeDetector: ChangeDetectorRef = null;\n componentScope: angular.IScope;\n childNodes: Node[];\n contentInsertionPoint: Node = null;\n\n constructor(\n private id: string, private info: ComponentInfo, private element: angular.IAugmentedJQuery,\n private attrs: angular.IAttributes, private scope: angular.IScope,\n private parentInjector: Injector, private parse: angular.IParseService,\n private componentFactory: ComponentFactory<any>) {\n (<any>this.element[0]).id = id;\n this.componentScope = scope.$new();\n this.childNodes = <Node[]><any>element.contents();\n }\n\n bootstrapNg2() {\n var childInjector = ReflectiveInjector.resolveAndCreate(\n [{provide: NG1_SCOPE, useValue: this.componentScope}], this.parentInjector);\n this.contentInsertionPoint = document.createComment('ng1 insertion point');\n\n this.componentRef = this.componentFactory.create(\n childInjector, [[this.contentInsertionPoint]], this.element[0]);\n this.changeDetector = this.componentRef.changeDetectorRef;\n this.component = this.componentRef.instance;\n }\n\n setupInputs(): void {\n var attrs = this.attrs;\n var inputs = this.info.inputs;\n for (var i = 0; i < inputs.length; i++) {\n var input = inputs[i];\n var expr: any /** TODO #9100 */ = null;\n if (attrs.hasOwnProperty(input.attr)) {\n var observeFn = ((prop: any /** TODO #9100 */) => {\n var prevValue = INITIAL_VALUE;\n return (value: any /** TODO #9100 */) => {\n if (this.inputChanges !== null) {\n this.inputChangeCount++;\n this.inputChanges[prop] =\n new Ng1Change(value, prevValue === INITIAL_VALUE ? value : prevValue);\n prevValue = value;\n }\n this.component[prop] = value;\n };\n })(input.prop);\n attrs.$observe(input.attr, observeFn);\n } else if (attrs.hasOwnProperty(input.bindAttr)) {\n expr = (attrs as any /** TODO #9100 */)[input.bindAttr];\n } else if (attrs.hasOwnProperty(input.bracketAttr)) {\n expr = (attrs as any /** TODO #9100 */)[input.bracketAttr];\n } else if (attrs.hasOwnProperty(input.bindonAttr)) {\n expr = (attrs as any /** TODO #9100 */)[input.bindonAttr];\n } else if (attrs.hasOwnProperty(input.bracketParenAttr)) {\n expr = (attrs as any /** TODO #9100 */)[input.bracketParenAttr];\n }\n if (expr != null) {\n var watchFn =\n ((prop: any /** TODO #9100 */) =>\n (value: any /** TODO #9100 */, prevValue: any /** TODO #9100 */) => {\n if (this.inputChanges != null) {\n this.inputChangeCount++;\n this.inputChanges[prop] = new Ng1Change(prevValue, value);\n }\n this.component[prop] = value;\n })(input.prop);\n this.componentScope.$watch(expr, watchFn);\n }\n }\n\n var prototype = this.info.type.prototype;\n if (prototype && (<OnChanges>prototype).ngOnChanges) {\n // Detect: OnChanges interface\n this.inputChanges = {};\n this.componentScope.$watch(() => this.inputChangeCount, () => {\n var inputChanges = this.inputChanges;\n this.inputChanges = {};\n (<OnChanges>this.component).ngOnChanges(inputChanges);\n });\n }\n this.componentScope.$watch(() => this.changeDetector && this.changeDetector.detectChanges());\n }\n\n projectContent() {\n var childNodes = this.childNodes;\n var parent = this.contentInsertionPoint.parentNode;\n if (parent) {\n for (var i = 0, ii = childNodes.length; i < ii; i++) {\n parent.insertBefore(childNodes[i], this.contentInsertionPoint);\n }\n }\n }\n\n setupOutputs() {\n var attrs = this.attrs;\n var outputs = this.info.outputs;\n for (var j = 0; j < outputs.length; j++) {\n var output = outputs[j];\n var expr: any /** TODO #9100 */ = null;\n var assignExpr = false;\n\n var bindonAttr =\n output.bindonAttr ? output.bindonAttr.substring(0, output.bindonAttr.length - 6) : null;\n var bracketParenAttr = output.bracketParenAttr ?\n `[(${output.bracketParenAttr.substring(2, output.bracketParenAttr.length - 8)})]` :\n null;\n\n if (attrs.hasOwnProperty(output.onAttr)) {\n expr = (attrs as any /** TODO #9100 */)[output.onAttr];\n } else if (attrs.hasOwnProperty(output.parenAttr)) {\n expr = (attrs as any /** TODO #9100 */)[output.parenAttr];\n } else if (attrs.hasOwnProperty(bindonAttr)) {\n expr = (attrs as any /** TODO #9100 */)[bindonAttr];\n assignExpr = true;\n } else if (attrs.hasOwnProperty(bracketParenAttr)) {\n expr = (attrs as any /** TODO #9100 */)[bracketParenAttr];\n assignExpr = true;\n }\n\n if (expr != null && assignExpr != null) {\n var getter = this.parse(expr);\n var setter = getter.assign;\n if (assignExpr && !setter) {\n throw new Error(`Expression '${expr}' is not assignable!`);\n }\n var emitter = this.component[output.prop] as EventEmitter<any>;\n if (emitter) {\n emitter.subscribe({\n next: assignExpr ?\n ((setter: any) => (v: any /** TODO #9100 */) => setter(this.scope, v))(setter) :\n ((getter: any) => (v: any /** TODO #9100 */) =>\n getter(this.scope, {$event: v}))(getter)\n });\n } else {\n throw new Error(`Missing emitter '${output.prop}' on component '${this.info.selector}'!`);\n }\n }\n }\n }\n\n registerCleanup() {\n this.element.bind('$destroy', () => {\n this.componentScope.$destroy();\n this.componentRef.destroy();\n });\n }\n}\n\nclass Ng1Change implements SimpleChange {\n constructor(public previousValue: any, public currentValue: any) {}\n\n isFirstChange(): boolean { return this.previousValue === this.currentValue; }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -8,7 +8,7 @@ export function getComponentInfo(type) {
8
8
  if (!selector.match(COMPONENT_SELECTOR)) {
9
9
  throw new Error('Only selectors matching element names are supported, got: ' + selector);
10
10
  }
11
- var selector = selector.replace(SKEWER_CASE, (all, letter) => letter.toUpperCase());
11
+ var selector = selector.replace(SKEWER_CASE, (all /** TODO #9100 */, letter) => letter.toUpperCase());
12
12
  return {
13
13
  type: type,
14
14
  selector: selector,
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"/Users/iminar/Dev/angular/modules/@angular/upgrade/","sources":["src/metadata.ts"],"names":[],"mappings":"OAKO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB;AAEnD,IAAI,kBAAkB,GAAG,WAAW,CAAC;AACrC,IAAI,WAAW,GAAG,QAAQ,CAAC;AAC3B,IAAI,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAoBhD,iCAAiC,IAAU;IACzC,IAAI,gBAAgB,GAAsB,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,IAAI,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IACzC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,4DAA4D,GAAG,QAAQ,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,MAAc,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5F,MAAM,CAAC;QACL,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC5C,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,4BAA4B,KAAe;IACzC,IAAI,SAAS,GAAe,EAAE,CAAC;IAC/B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACV,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChE,SAAS,CAAC,IAAI,CAAW;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI,IAAI,GAAG;gBACxB,SAAS,EAAE,IAAI,IAAI,GAAG;gBACtB,gBAAgB,EAAE,KAAK,IAAI,IAAI;gBAC/B,MAAM,EAAE,KAAK,WAAW,EAAE;gBAC1B,QAAQ,EAAE,OAAO,WAAW,EAAE;gBAC9B,UAAU,EAAE,SAAS,WAAW,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,CAAC,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../modules/@angular/upgrade/src/metadata.ts"],"names":[],"mappings":"OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB;AAGnD,IAAI,kBAAkB,GAAG,WAAW,CAAC;AACrC,IAAI,WAAW,GAAG,QAAQ,CAAC;AAC3B,IAAI,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAoBhD,iCAAiC,IAAU;IACzC,IAAI,gBAAgB,GAAsB,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,IAAI,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;IACzC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,4DAA4D,GAAG,QAAQ,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAC3B,WAAW,EAAE,CAAC,GAAQ,CAAC,iBAAiB,EAAE,MAAc,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IACvF,MAAM,CAAC;QACL,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAC5C,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,4BAA4B,KAAe;IACzC,IAAI,SAAS,GAAe,EAAE,CAAC;IAC/B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACV,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAChE,SAAS,CAAC,IAAI,CAAW;gBACvB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI,IAAI,GAAG;gBACxB,SAAS,EAAE,IAAI,IAAI,GAAG;gBACtB,gBAAgB,EAAE,KAAK,IAAI,IAAI;gBAC/B,MAAM,EAAE,KAAK,WAAW,EAAE;gBAC1B,QAAQ,EAAE,OAAO,WAAW,EAAE;gBAC9B,UAAU,EAAE,SAAS,WAAW,EAAE;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,CAAC,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import {DirectiveResolver} from '@angular/compiler';\nimport {DirectiveMetadata, Type} from '@angular/core';\n\nvar COMPONENT_SELECTOR = /^[\\w|-]*$/;\nvar SKEWER_CASE = /-(\\w)/g;\nvar directiveResolver = new DirectiveResolver();\n\nexport interface AttrProp {\n prop: string;\n attr: string;\n bracketAttr: string;\n bracketParenAttr: string;\n parenAttr: string;\n onAttr: string;\n bindAttr: string;\n bindonAttr: string;\n}\n\nexport interface ComponentInfo {\n type: Type;\n selector: string;\n inputs: AttrProp[];\n outputs: AttrProp[];\n}\n\nexport function getComponentInfo(type: Type): ComponentInfo {\n var resolvedMetadata: DirectiveMetadata = directiveResolver.resolve(type);\n var selector = resolvedMetadata.selector;\n if (!selector.match(COMPONENT_SELECTOR)) {\n throw new Error('Only selectors matching element names are supported, got: ' + selector);\n }\n var selector = selector.replace(\n SKEWER_CASE, (all: any /** TODO #9100 */, letter: string) => letter.toUpperCase());\n return {\n type: type,\n selector: selector,\n inputs: parseFields(resolvedMetadata.inputs),\n outputs: parseFields(resolvedMetadata.outputs)\n };\n}\n\nexport function parseFields(names: string[]): AttrProp[] {\n var attrProps: AttrProp[] = [];\n if (names) {\n for (var i = 0; i < names.length; i++) {\n var parts = names[i].split(':');\n var prop = parts[0].trim();\n var attr = (parts[1] || parts[0]).trim();\n var capitalAttr = attr.charAt(0).toUpperCase() + attr.substr(1);\n attrProps.push(<AttrProp>{\n prop: prop,\n attr: attr,\n bracketAttr: `[${attr}]`,\n parenAttr: `(${attr})`,\n bracketParenAttr: `[(${attr})]`,\n onAttr: `on${capitalAttr}`,\n bindAttr: `bind${capitalAttr}`,\n bindonAttr: `bindon${capitalAttr}`\n });\n }\n }\n return attrProps;\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -70,10 +70,6 @@ import * as angular from './angular_js';
70
70
  * ```
71
71
  */
72
72
  export declare class UpgradeAdapter {
73
- private idPrefix;
74
- private upgradedComponents;
75
- private downgradedComponents;
76
- private providers;
77
73
  /**
78
74
  * Allows Angular v2 Component to be used from AngularJS v1.
79
75
  *
@@ -273,7 +269,7 @@ export declare class UpgradeAdapter {
273
269
  * adapter.bootstrap(document.body, ['myExample']);
274
270
  *```
275
271
  */
276
- addProvider(provider: Type | Provider | any[]): void;
272
+ addProvider(provider: Type | Provider | any[] | any): void;
277
273
  /**
278
274
  * Allows AngularJS v1 service to be accessible from Angular v2.
279
275
  *
@@ -332,18 +328,15 @@ export declare class UpgradeAdapter {
332
328
  * ```
333
329
  */
334
330
  downgradeNg2Provider(token: any): Function;
335
- private compileNg2Components(compiler, componentFactoryRefMap);
336
331
  }
337
332
  /**
338
333
  * Use `UgradeAdapterRef` to control a hybrid AngularJS v1 / Angular v2 application.
339
334
  */
340
335
  export declare class UpgradeAdapterRef {
341
- private _readyFn;
342
336
  ng1RootScope: angular.IRootScopeService;
343
337
  ng1Injector: angular.IInjectorService;
344
338
  ng2ApplicationRef: ApplicationRef;
345
339
  ng2Injector: Injector;
346
- private _bootstrapDone(applicationRef, ng1Injector);
347
340
  /**
348
341
  * Register a callback function which is notified upon successful hybrid AngularJS v1 / Angular v2
349
342
  * application has been bootstrapped.
@@ -1,12 +1,12 @@
1
- import { provide, ApplicationRef, ComponentResolver, NgZone, ReflectiveInjector, Testability } from '@angular/core';
2
- import { BROWSER_APP_DYNAMIC_PROVIDERS } from '@angular/platform-browser-dynamic';
3
- import { browserPlatform } from '@angular/platform-browser';
4
- import { getComponentInfo } from './metadata';
5
- import { onError, controllerKey } from './util';
6
- import { NG1_COMPILE, NG1_INJECTOR, NG1_PARSE, NG1_ROOT_SCOPE, NG1_TESTABILITY, NG2_COMPILER, NG2_INJECTOR, NG2_COMPONENT_FACTORY_REF_MAP, NG2_ZONE, REQUIRE_INJECTOR } from './constants';
1
+ import { ApplicationRef, ComponentResolver, NgZone, ReflectiveInjector, Testability } from '@angular/core';
2
+ import { BROWSER_APP_PROVIDERS, browserPlatform } from '@angular/platform-browser';
3
+ import { BROWSER_APP_COMPILER_PROVIDERS } from '@angular/platform-browser-dynamic';
4
+ import * as angular from './angular_js';
5
+ import { NG1_COMPILE, NG1_INJECTOR, NG1_PARSE, NG1_ROOT_SCOPE, NG1_TESTABILITY, NG2_COMPILER, NG2_COMPONENT_FACTORY_REF_MAP, NG2_INJECTOR, NG2_ZONE, REQUIRE_INJECTOR } from './constants';
7
6
  import { DowngradeNg2ComponentAdapter } from './downgrade_ng2_adapter';
7
+ import { getComponentInfo } from './metadata';
8
8
  import { UpgradeNg1ComponentAdapterBuilder } from './upgrade_ng1_adapter';
9
- import * as angular from './angular_js';
9
+ import { controllerKey, onError } from './util';
10
10
  var upgradeCount = 0;
11
11
  /**
12
12
  * Use `UpgradeAdapter` to allow AngularJS v1 and Angular v2 to coexist in a single application.
@@ -265,10 +265,11 @@ export class UpgradeAdapter {
265
265
  var upgrade = new UpgradeAdapterRef();
266
266
  var ng1Injector = null;
267
267
  var platformRef = browserPlatform();
268
- var applicationRef = ReflectiveInjector.resolveAndCreate([
269
- BROWSER_APP_DYNAMIC_PROVIDERS,
270
- provide(NG1_INJECTOR, { useFactory: () => ng1Injector }),
271
- provide(NG1_COMPILE, { useFactory: () => ng1Injector.get(NG1_COMPILE) }),
268
+ var applicationRef = ReflectiveInjector
269
+ .resolveAndCreate([
270
+ BROWSER_APP_PROVIDERS, BROWSER_APP_COMPILER_PROVIDERS,
271
+ { provide: NG1_INJECTOR, useFactory: () => ng1Injector },
272
+ { provide: NG1_COMPILE, useFactory: () => ng1Injector.get(NG1_COMPILE) },
272
273
  this.providers
273
274
  ], platformRef.injector)
274
275
  .get(ApplicationRef);
@@ -288,51 +289,54 @@ export class UpgradeAdapter {
288
289
  .value(NG2_COMPILER, compiler)
289
290
  .value(NG2_COMPONENT_FACTORY_REF_MAP, componentFactoryRefMap)
290
291
  .config([
291
- '$provide',
292
- (provide) => {
292
+ '$provide', '$injector',
293
+ (provide /** TODO #???? */, ng1Injector /** TODO #???? */) => {
293
294
  provide.decorator(NG1_ROOT_SCOPE, [
294
295
  '$delegate',
295
296
  function (rootScopeDelegate) {
296
297
  rootScopePrototype = rootScopeDelegate.constructor.prototype;
297
298
  if (rootScopePrototype.hasOwnProperty('$apply')) {
298
299
  original$applyFn = rootScopePrototype.$apply;
299
- rootScopePrototype.$apply = (exp) => delayApplyExps.push(exp);
300
+ rootScopePrototype.$apply = (exp /** TODO #???? */) => delayApplyExps.push(exp);
300
301
  }
301
302
  else {
302
- throw new Error("Failed to find '$apply' on '$rootScope'!");
303
+ throw new Error('Failed to find \'$apply\' on \'$rootScope\'!');
303
304
  }
304
305
  return rootScope = rootScopeDelegate;
305
306
  }
306
307
  ]);
307
- provide.decorator(NG1_TESTABILITY, [
308
- '$delegate',
309
- function (testabilityDelegate) {
310
- var ng2Testability = injector.get(Testability);
311
- var origonalWhenStable = testabilityDelegate.whenStable;
312
- var newWhenStable = (callback) => {
313
- var whenStableContext = this;
314
- origonalWhenStable.call(this, function () {
315
- if (ng2Testability.isStable()) {
316
- callback.apply(this, arguments);
317
- }
318
- else {
319
- ng2Testability.whenStable(newWhenStable.bind(whenStableContext, callback));
320
- }
321
- });
322
- };
323
- testabilityDelegate.whenStable = newWhenStable;
324
- return testabilityDelegate;
325
- }
326
- ]);
308
+ if (ng1Injector.has(NG1_TESTABILITY)) {
309
+ provide.decorator(NG1_TESTABILITY, [
310
+ '$delegate',
311
+ function (testabilityDelegate) {
312
+ var ng2Testability = injector.get(Testability);
313
+ var origonalWhenStable = testabilityDelegate.whenStable;
314
+ var newWhenStable = (callback) => {
315
+ var whenStableContext = this;
316
+ origonalWhenStable.call(this, function () {
317
+ if (ng2Testability.isStable()) {
318
+ callback.apply(this, arguments);
319
+ }
320
+ else {
321
+ ng2Testability.whenStable(newWhenStable.bind(whenStableContext, callback));
322
+ }
323
+ });
324
+ };
325
+ testabilityDelegate.whenStable = newWhenStable;
326
+ return testabilityDelegate;
327
+ }
328
+ ]);
329
+ }
327
330
  }
328
331
  ]);
329
332
  ng1compilePromise = new Promise((resolve, reject) => {
330
333
  ng1Module.run([
331
- '$injector',
332
- '$rootScope',
334
+ '$injector', '$rootScope',
333
335
  (injector, rootScope) => {
334
336
  ng1Injector = injector;
335
- ngZone.onMicrotaskEmpty.subscribe({ next: (_) => ngZone.runOutsideAngular(() => rootScope.$apply()) });
337
+ ngZone.onMicrotaskEmpty.subscribe({
338
+ next: (_ /** TODO #???? */) => ngZone.runOutsideAngular(() => rootScope.$evalAsync())
339
+ });
336
340
  UpgradeNg1ComponentAdapterBuilder.resolve(this.downgradedComponents, injector)
337
341
  .then(resolve, reject);
338
342
  }
@@ -356,9 +360,9 @@ export class UpgradeAdapter {
356
360
  resolve();
357
361
  }
358
362
  });
359
- Promise.all([
360
- this.compileNg2Components(compiler, componentFactoryRefMap),
361
- ng1BootstrapPromise,
363
+ Promise
364
+ .all([
365
+ this.compileNg2Components(compiler, componentFactoryRefMap), ng1BootstrapPromise,
362
366
  ng1compilePromise
363
367
  ])
364
368
  .then(() => {
@@ -446,10 +450,11 @@ export class UpgradeAdapter {
446
450
  */
447
451
  upgradeNg1Provider(name, options) {
448
452
  var token = options && options.asToken || name;
449
- this.providers.push(provide(token, {
453
+ this.providers.push({
454
+ provide: token,
450
455
  useFactory: (ng1Injector) => ng1Injector.get(name),
451
456
  deps: [NG1_INJECTOR]
452
- }));
457
+ });
453
458
  }
454
459
  /**
455
460
  * Allows Angular v2 service to be accessible from AngularJS v1.
@@ -495,18 +500,21 @@ export class UpgradeAdapter {
495
500
  }
496
501
  }
497
502
  function ng1ComponentDirective(info, idPrefix) {
498
- directiveFactory.$inject = [NG2_COMPONENT_FACTORY_REF_MAP, NG1_PARSE];
499
- function directiveFactory(componentFactoryRefMap, parse) {
500
- var componentFactory = componentFactoryRefMap[info.selector];
501
- if (!componentFactory)
502
- throw new Error('Expecting ComponentFactory for: ' + info.selector);
503
+ directiveFactory.$inject = [NG1_INJECTOR, NG2_COMPONENT_FACTORY_REF_MAP, NG1_PARSE];
504
+ function directiveFactory(ng1Injector, componentFactoryRefMap, parse) {
503
505
  var idCount = 0;
504
506
  return {
505
507
  restrict: 'E',
506
508
  require: REQUIRE_INJECTOR,
507
509
  link: {
508
510
  post: (scope, element, attrs, parentInjector, transclude) => {
511
+ var componentFactory = componentFactoryRefMap[info.selector];
512
+ if (!componentFactory)
513
+ throw new Error('Expecting ComponentFactory for: ' + info.selector);
509
514
  var domElement = element[0];
515
+ if (parentInjector === null) {
516
+ parentInjector = ng1Injector.get(NG2_INJECTOR);
517
+ }
510
518
  var facade = new DowngradeNg2ComponentAdapter(idPrefix + (idCount++), info, element, attrs, scope, parentInjector, parse, componentFactory);
511
519
  facade.setupInputs();
512
520
  facade.bootstrapNg2();
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade_adapter.js","sourceRoot":"/Users/iminar/Dev/angular/modules/@angular/upgrade/","sources":["src/upgrade_adapter.ts"],"names":[],"mappings":"OAIS,EACP,OAAO,EACP,cAAc,EACd,iBAAiB,EAEjB,MAAM,EAEN,kBAAkB,EAIlB,WAAW,EACZ,MAAM,eAAe;OACf,EAAC,6BAA6B,EAAC,MAAM,mCAAmC;OACxE,EAAC,eAAe,EAAC,MAAM,2BAA2B;OAClD,EAAC,gBAAgB,EAAgB,MAAM,YAAY;OACnD,EAAC,OAAO,EAAE,aAAa,EAAC,MAAM,QAAQ;OACtC,EACL,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,6BAA6B,EAC7B,QAAQ,EACR,gBAAgB,EACjB,MAAM,aAAa;OACb,EAAC,4BAA4B,EAAC,MAAM,yBAAyB;OAC7D,EAAC,iCAAiC,EAAC,MAAM,uBAAuB;OAChE,KAAK,OAAO,MAAM,cAAc;AAEvC,IAAI,YAAY,GAAW,CAAC,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH;IAAA;QACE,eAAe;QACP,aAAQ,GAAW,eAAe,YAAY,EAAE,GAAG,CAAC;QAC5D,eAAe;QACP,uBAAkB,GAAW,EAAE,CAAC;QACxC,eAAe;QACP,yBAAoB,GAAwD,EAAE,CAAC;QACvF,eAAe;QACP,cAAS,GAAmC,EAAE,CAAC;IAuazD,CAAC;IAraC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,qBAAqB,CAAC,IAAU;QAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,GAAkB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuEG;IACH,mBAAmB,CAAC,IAAY;QAC9B,EAAE,CAAC,CAAO,IAAI,CAAC,oBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC9C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,IAAI,iCAAiC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9F,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,SAAS,CAAC,OAAgB,EAAE,OAAe,EACjC,MAAwC;QAChD,IAAI,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACtC,IAAI,WAAW,GAA6B,IAAI,CAAC;QACjD,IAAI,WAAW,GAAgB,eAAe,EAAE,CAAC;QACjD,IAAI,cAAc,GACd,kBAAkB,CAAC,gBAAgB,CACb;YACE,6BAA6B;YAC7B,OAAO,CAAC,YAAY,EAAE,EAAC,UAAU,EAAE,MAAM,WAAW,EAAC,CAAC;YACtD,OAAO,CAAC,WAAW,EACX,EAAC,UAAU,EAAE,MAAM,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAC,CAAC;YACzD,IAAI,CAAC,SAAS;SACf,EACD,WAAW,CAAC,QAAQ,CAAC;aACtC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7B,IAAI,QAAQ,GAAa,cAAc,CAAC,QAAQ,CAAC;QACjD,IAAI,MAAM,GAAW,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,QAAQ,GAAsB,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAClE,IAAI,cAAc,GAAe,EAAE,CAAC;QACpC,IAAI,gBAA0B,CAAC;QAC/B,IAAI,kBAAuB,CAAC;QAC5B,IAAI,SAAoC,CAAC;QACzC,IAAI,sBAAsB,GAA2B,EAAE,CAAC;QACxD,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,mBAAmB,GAAiB,IAAI,CAAC;QAC7C,IAAI,iBAAiB,GAAiB,IAAI,CAAC;QAC3C,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC;aAClC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC;aACvB,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC;aAC7B,KAAK,CAAC,6BAA6B,EAAE,sBAAsB,CAAC;aAC5D,MAAM,CAAC;YACN,UAAU;YACV,KAAC,OAAO;gBACN,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE;oBAChC,WAAW;oBACX,UAAS,iBAA4C;wBACnD,kBAAkB,GAAG,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC;wBAC7D,EAAE,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;4BAChD,gBAAgB,GAAG,kBAAkB,CAAC,MAAM,CAAC;4BAC7C,kBAAkB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAChE,CAAC;wBAAC,IAAI,CAAC,CAAC;4BACN,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;wBAC9D,CAAC;wBACD,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;oBACvC,CAAC;iBACF,CAAC,CAAC;gBACH,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE;oBACjC,WAAW;oBACX,UAAS,mBAAgD;wBACvD,IAAI,cAAc,GAAgB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAE5D,IAAI,kBAAkB,GAAa,mBAAmB,CAAC,UAAU,CAAC;wBAClE,IAAI,aAAa,GAAG,CAAC,QAAkB;4BACrC,IAAI,iBAAiB,GAAQ,IAAI,CAAC;4BAClC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE;gCAC5B,EAAE,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oCAC9B,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gCAClC,CAAC;gCAAC,IAAI,CAAC,CAAC;oCACN,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;gCAC7E,CAAC;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC;wBAEF,mBAAmB,CAAC,UAAU,GAAG,aAAa,CAAC;wBAC/C,MAAM,CAAC,mBAAmB,CAAC;oBAC7B,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;QAEP,iBAAiB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YAC9C,SAAS,CAAC,GAAG,CAAC;gBACZ,WAAW;gBACX,YAAY;gBACZ,KAAC,QAAkC,EAAE,SAAoC;oBACvE,WAAW,GAAG,QAAQ,CAAC;oBACvB,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAC7B,EAAC,IAAI,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,iBAAiB,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;oBACvE,iCAAiC,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC;yBACzE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7B,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,+EAA+E;QAC/E,IAAI,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,aAAa,CAAC,eAAe,GAAG,SAAS,CAAC;QAE1C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,CAAC,QAAQ,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,mBAAmB,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YAChD,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;gBAClC,IAAI,uBAAuB,GAAe,aAAa,CAAC,eAAe,CAAC;gBACxE,aAAa,CAAC,eAAe,GAAG;oBAC9B,aAAa,CAAC,eAAe,GAAG,uBAAuB,CAAC;oBACxD,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACrD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;YACJ,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC;YACH,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,CAAC;YAC3D,mBAAmB;YACnB,iBAAiB;SAClB,CAAC;aACJ,IAAI,CAAC;YACJ,MAAM,CAAC,GAAG,CAAC;gBACT,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;oBACvB,kBAAkB,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAE,0BAA0B;oBACzE,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;wBAC7B,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC3C,CAAC;oBACK,OAAQ,CAAC,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;oBAC3D,kBAAkB,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;QAChB,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACI,WAAW,CAAC,QAAiC,IAAU,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACI,kBAAkB,CAAC,IAAY,EAAE,OAAwB;QAC9D,IAAI,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YACjC,UAAU,EAAE,CAAC,WAAqC,KAAK,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAC5E,IAAI,EAAE,CAAC,YAAY,CAAC;SACrB,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACI,oBAAoB,CAAC,KAAU;QACpC,IAAI,OAAO,GAAG,UAAS,QAAkB,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,OAAQ,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED,eAAe;IACP,oBAAoB,CAAC,QAA2B,EAC3B,sBAA8C;QAEzE,IAAI,QAAQ,GAA0C,EAAE,CAAC;QACzD,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAgD;YACjF,IAAI,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,sBAAsB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,CAAC,sBAAsB,CAAC;QAChC,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;AACH,CAAC;AAMD,+BAA+B,IAAmB,EAAE,QAAgB;IAC5D,gBAAiB,CAAC,OAAO,GAAG,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;IAC7E,0BAA0B,sBAA8C,EAC9C,KAA4B;QACpD,IAAI,gBAAgB,GAA0B,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpF,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3F,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,CAAC;YACL,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE;gBACJ,IAAI,EAAE,CAAC,KAAqB,EAAE,OAAiC,EAAE,KAA0B,EACpF,cAAmB,EAAE,UAAuC;oBACjE,IAAI,UAAU,GAAQ,OAAO,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,MAAM,GACN,IAAI,4BAA4B,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EACzC,cAAc,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBACxF,MAAM,CAAC,WAAW,EAAE,CAAC;oBACrB,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,cAAc,EAAE,CAAC;oBACxB,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC3B,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH;IAAA;QACE,eAAe;QACP,aAAQ,GAAoD,IAAI,CAAC;QAElE,iBAAY,GAA8B,IAAI,CAAC;QAC/C,gBAAW,GAA6B,IAAI,CAAC;QAC7C,sBAAiB,GAAmB,IAAI,CAAC;QACzC,gBAAW,GAAa,IAAI,CAAC;IA2BtC,CAAC;IAzBC,eAAe;IACP,cAAc,CAAC,cAA8B,EAAE,WAAqC;QAC1F,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,EAAmD,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;IAEzF;;OAEG;IACI,OAAO;QACZ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAAA"}
1
+ {"version":3,"file":"upgrade_adapter.js","sourceRoot":"","sources":["../../../../../modules/@angular/upgrade/src/upgrade_adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApplicationRef, ComponentFactory, ComponentResolver, Injector, NgZone, PlatformRef, Provider, ReflectiveInjector, Testability, Type, provide} from '@angular/core';\nimport {BROWSER_APP_PROVIDERS, browserPlatform} from '@angular/platform-browser';\nimport {BROWSER_APP_COMPILER_PROVIDERS} from '@angular/platform-browser-dynamic';\n\nimport * as angular from './angular_js';\nimport {NG1_COMPILE, NG1_INJECTOR, NG1_PARSE, NG1_ROOT_SCOPE, NG1_TESTABILITY, NG2_COMPILER, NG2_COMPONENT_FACTORY_REF_MAP, NG2_INJECTOR, NG2_ZONE, REQUIRE_INJECTOR} from './constants';\nimport {DowngradeNg2ComponentAdapter} from './downgrade_ng2_adapter';\nimport {ComponentInfo, getComponentInfo} from './metadata';\nimport {UpgradeNg1ComponentAdapterBuilder} from './upgrade_ng1_adapter';\nimport {controllerKey, onError} from './util';\n\nvar upgradeCount: number = 0;\n\n/**\n * Use `UpgradeAdapter` to allow AngularJS v1 and Angular v2 to coexist in a single application.\n *\n * The `UpgradeAdapter` allows:\n * 1. creation of Angular v2 component from AngularJS v1 component directive\n * (See [UpgradeAdapter#upgradeNg1Component()])\n * 2. creation of AngularJS v1 directive from Angular v2 component.\n * (See [UpgradeAdapter#downgradeNg2Component()])\n * 3. Bootstrapping of a hybrid Angular application which contains both of the frameworks\n * coexisting in a single application.\n *\n * ## Mental Model\n *\n * When reasoning about how a hybrid application works it is useful to have a mental model which\n * describes what is happening and explains what is happening at the lowest level.\n *\n * 1. There are two independent frameworks running in a single application, each framework treats\n * the other as a black box.\n * 2. Each DOM element on the page is owned exactly by one framework. Whichever framework\n * instantiated the element is the owner. Each framework only updates/interacts with its own\n * DOM elements and ignores others.\n * 3. AngularJS v1 directives always execute inside AngularJS v1 framework codebase regardless of\n * where they are instantiated.\n * 4. Angular v2 components always execute inside Angular v2 framework codebase regardless of\n * where they are instantiated.\n * 5. An AngularJS v1 component can be upgraded to an Angular v2 component. This creates an\n * Angular v2 directive, which bootstraps the AngularJS v1 component directive in that location.\n * 6. An Angular v2 component can be downgraded to an AngularJS v1 component directive. This creates\n * an AngularJS v1 directive, which bootstraps the Angular v2 component in that location.\n * 7. Whenever an adapter component is instantiated the host element is owned by the framework\n * doing the instantiation. The other framework then instantiates and owns the view for that\n * component. This implies that component bindings will always follow the semantics of the\n * instantiation framework. The syntax is always that of Angular v2 syntax.\n * 8. AngularJS v1 is always bootstrapped first and owns the bottom most view.\n * 9. The new application is running in Angular v2 zone, and therefore it no longer needs calls to\n * `$apply()`.\n *\n * ### Example\n *\n * ```\n * var adapter = new UpgradeAdapter();\n * var module = angular.module('myExample', []);\n * module.directive('ng2', adapter.downgradeNg2Component(Ng2));\n *\n * module.directive('ng1', function() {\n * return {\n * scope: { title: '=' },\n * template: 'ng1[Hello {{title}}!](<span ng-transclude></span>)'\n * };\n * });\n *\n *\n * @Component({\n * selector: 'ng2',\n * inputs: ['name'],\n * template: 'ng2[<ng1 [title]=\"name\">transclude</ng1>](<ng-content></ng-content>)',\n * directives: [adapter.upgradeNg1Component('ng1')]\n * })\n * class Ng2 {\n * }\n *\n * document.body.innerHTML = '<ng2 name=\"World\">project</ng2>';\n *\n * adapter.bootstrap(document.body, ['myExample']).ready(function() {\n * expect(document.body.textContent).toEqual(\n * \"ng2[ng1[Hello World!](transclude)](project)\");\n * });\n * ```\n */\nexport class UpgradeAdapter {\n /* @internal */\n private idPrefix: string = `NG2_UPGRADE_${upgradeCount++}_`;\n /* @internal */\n private upgradedComponents: Type[] = [];\n /* @internal */\n private downgradedComponents: {[name: string]: UpgradeNg1ComponentAdapterBuilder} = {};\n /* @internal */\n private providers: Array<Type|Provider|any[]|any> = [];\n\n /**\n * Allows Angular v2 Component to be used from AngularJS v1.\n *\n * Use `downgradeNg2Component` to create an AngularJS v1 Directive Definition Factory from\n * Angular v2 Component. The adapter will bootstrap Angular v2 component from within the\n * AngularJS v1 template.\n *\n * ## Mental Model\n *\n * 1. The component is instantiated by being listed in AngularJS v1 template. This means that the\n * host element is controlled by AngularJS v1, but the component's view will be controlled by\n * Angular v2.\n * 2. Even thought the component is instantiated in AngularJS v1, it will be using Angular v2\n * syntax. This has to be done, this way because we must follow Angular v2 components do not\n * declare how the attributes should be interpreted.\n *\n * ## Supported Features\n *\n * - Bindings:\n * - Attribute: `<comp name=\"World\">`\n * - Interpolation: `<comp greeting=\"Hello {{name}}!\">`\n * - Expression: `<comp [name]=\"username\">`\n * - Event: `<comp (close)=\"doSomething()\">`\n * - Content projection: yes\n *\n * ### Example\n *\n * ```\n * var adapter = new UpgradeAdapter();\n * var module = angular.module('myExample', []);\n * module.directive('greet', adapter.downgradeNg2Component(Greeter));\n *\n * @Component({\n * selector: 'greet',\n * template: '{{salutation}} {{name}}! - <ng-content></ng-content>'\n * })\n * class Greeter {\n * @Input() salutation: string;\n * @Input() name: string;\n * }\n *\n * document.body.innerHTML =\n * 'ng1 template: <greet salutation=\"Hello\" [name]=\"world\">text</greet>';\n *\n * adapter.bootstrap(document.body, ['myExample']).ready(function() {\n * expect(document.body.textContent).toEqual(\"ng1 template: Hello world! - text\");\n * });\n * ```\n */\n downgradeNg2Component(type: Type): Function {\n this.upgradedComponents.push(type);\n var info: ComponentInfo = getComponentInfo(type);\n return ng1ComponentDirective(info, `${this.idPrefix}${info.selector}_c`);\n }\n\n /**\n * Allows AngularJS v1 Component to be used from Angular v2.\n *\n * Use `upgradeNg1Component` to create an Angular v2 component from AngularJS v1 Component\n * directive. The adapter will bootstrap AngularJS v1 component from within the Angular v2\n * template.\n *\n * ## Mental Model\n *\n * 1. The component is instantiated by being listed in Angular v2 template. This means that the\n * host element is controlled by Angular v2, but the component's view will be controlled by\n * AngularJS v1.\n *\n * ## Supported Features\n *\n * - Bindings:\n * - Attribute: `<comp name=\"World\">`\n * - Interpolation: `<comp greeting=\"Hello {{name}}!\">`\n * - Expression: `<comp [name]=\"username\">`\n * - Event: `<comp (close)=\"doSomething()\">`\n * - Transclusion: yes\n * - Only some of the features of\n * [Directive Definition Object](https://docs.angularjs.org/api/ng/service/$compile) are\n * supported:\n * - `compile`: not supported because the host element is owned by Angular v2, which does\n * not allow modifying DOM structure during compilation.\n * - `controller`: supported. (NOTE: injection of `$attrs` and `$transclude` is not supported.)\n * - `controllerAs': supported.\n * - `bindToController': supported.\n * - `link': supported. (NOTE: only pre-link function is supported.)\n * - `name': supported.\n * - `priority': ignored.\n * - `replace': not supported.\n * - `require`: supported.\n * - `restrict`: must be set to 'E'.\n * - `scope`: supported.\n * - `template`: supported.\n * - `templateUrl`: supported.\n * - `terminal`: ignored.\n * - `transclude`: supported.\n *\n *\n * ### Example\n *\n * ```\n * var adapter = new UpgradeAdapter();\n * var module = angular.module('myExample', []);\n *\n * module.directive('greet', function() {\n * return {\n * scope: {salutation: '=', name: '=' },\n * template: '{{salutation}} {{name}}! - <span ng-transclude></span>'\n * };\n * });\n *\n * module.directive('ng2', adapter.downgradeNg2Component(Ng2));\n *\n * @Component({\n * selector: 'ng2',\n * template: 'ng2 template: <greet salutation=\"Hello\" [name]=\"world\">text</greet>'\n * directives: [adapter.upgradeNg1Component('greet')]\n * })\n * class Ng2 {\n * }\n *\n * document.body.innerHTML = '<ng2></ng2>';\n *\n * adapter.bootstrap(document.body, ['myExample']).ready(function() {\n * expect(document.body.textContent).toEqual(\"ng2 template: Hello world! - text\");\n * });\n * ```\n */\n upgradeNg1Component(name: string): Type {\n if ((<any>this.downgradedComponents).hasOwnProperty(name)) {\n return this.downgradedComponents[name].type;\n } else {\n return (this.downgradedComponents[name] = new UpgradeNg1ComponentAdapterBuilder(name)).type;\n }\n }\n\n /**\n * Bootstrap a hybrid AngularJS v1 / Angular v2 application.\n *\n * This `bootstrap` method is a direct replacement (takes same arguments) for AngularJS v1\n * [`bootstrap`](https://docs.angularjs.org/api/ng/function/angular.bootstrap) method. Unlike\n * AngularJS v1, this bootstrap is asynchronous.\n *\n * ### Example\n *\n * ```\n * var adapter = new UpgradeAdapter();\n * var module = angular.module('myExample', []);\n * module.directive('ng2', adapter.downgradeNg2Component(Ng2));\n *\n * module.directive('ng1', function() {\n * return {\n * scope: { title: '=' },\n * template: 'ng1[Hello {{title}}!](<span ng-transclude></span>)'\n * };\n * });\n *\n *\n * @Component({\n * selector: 'ng2',\n * inputs: ['name'],\n * template: 'ng2[<ng1 [title]=\"name\">transclude</ng1>](<ng-content></ng-content>)',\n * directives: [adapter.upgradeNg1Component('ng1')]\n * })\n * class Ng2 {\n * }\n *\n * document.body.innerHTML = '<ng2 name=\"World\">project</ng2>';\n *\n * adapter.bootstrap(document.body, ['myExample']).ready(function() {\n * expect(document.body.textContent).toEqual(\n * \"ng2[ng1[Hello World!](transclude)](project)\");\n * });\n * ```\n */\n bootstrap(element: Element, modules?: any[], config?: angular.IAngularBootstrapConfig):\n UpgradeAdapterRef {\n var upgrade = new UpgradeAdapterRef();\n var ng1Injector: angular.IInjectorService = null;\n var platformRef: PlatformRef = browserPlatform();\n var applicationRef: ApplicationRef =\n ReflectiveInjector\n .resolveAndCreate(\n [\n BROWSER_APP_PROVIDERS, BROWSER_APP_COMPILER_PROVIDERS,\n {provide: NG1_INJECTOR, useFactory: () => ng1Injector},\n {provide: NG1_COMPILE, useFactory: () => ng1Injector.get(NG1_COMPILE)},\n this.providers\n ],\n platformRef.injector)\n .get(ApplicationRef);\n var injector: Injector = applicationRef.injector;\n var ngZone: NgZone = injector.get(NgZone);\n var compiler: ComponentResolver = injector.get(ComponentResolver);\n var delayApplyExps: Function[] = [];\n var original$applyFn: Function;\n var rootScopePrototype: any;\n var rootScope: angular.IRootScopeService;\n var componentFactoryRefMap: ComponentFactoryRefMap = {};\n var ng1Module = angular.module(this.idPrefix, modules);\n var ng1BootstrapPromise: Promise<any> = null;\n var ng1compilePromise: Promise<any> = null;\n ng1Module.value(NG2_INJECTOR, injector)\n .value(NG2_ZONE, ngZone)\n .value(NG2_COMPILER, compiler)\n .value(NG2_COMPONENT_FACTORY_REF_MAP, componentFactoryRefMap)\n .config([\n '$provide', '$injector',\n (provide: any /** TODO #???? */, ng1Injector: any /** TODO #???? */) => {\n provide.decorator(NG1_ROOT_SCOPE, [\n '$delegate',\n function(rootScopeDelegate: angular.IRootScopeService) {\n rootScopePrototype = rootScopeDelegate.constructor.prototype;\n if (rootScopePrototype.hasOwnProperty('$apply')) {\n original$applyFn = rootScopePrototype.$apply;\n rootScopePrototype.$apply = (exp: any /** TODO #???? */) =>\n delayApplyExps.push(exp);\n } else {\n throw new Error('Failed to find \\'$apply\\' on \\'$rootScope\\'!');\n }\n return rootScope = rootScopeDelegate;\n }\n ]);\n if (ng1Injector.has(NG1_TESTABILITY)) {\n provide.decorator(NG1_TESTABILITY, [\n '$delegate',\n function(testabilityDelegate: angular.ITestabilityService) {\n var ng2Testability: Testability = injector.get(Testability);\n\n var origonalWhenStable: Function = testabilityDelegate.whenStable;\n var newWhenStable = (callback: Function): void => {\n var whenStableContext: any = this;\n origonalWhenStable.call(this, function() {\n if (ng2Testability.isStable()) {\n callback.apply(this, arguments);\n } else {\n ng2Testability.whenStable(newWhenStable.bind(whenStableContext, callback));\n }\n });\n };\n\n testabilityDelegate.whenStable = newWhenStable;\n return testabilityDelegate;\n }\n ]);\n }\n }\n ]);\n\n ng1compilePromise = new Promise((resolve, reject) => {\n ng1Module.run([\n '$injector', '$rootScope',\n (injector: angular.IInjectorService, rootScope: angular.IRootScopeService) => {\n ng1Injector = injector;\n ngZone.onMicrotaskEmpty.subscribe({\n next: (_: any /** TODO #???? */) =>\n ngZone.runOutsideAngular(() => rootScope.$evalAsync())\n });\n UpgradeNg1ComponentAdapterBuilder.resolve(this.downgradedComponents, injector)\n .then(resolve, reject);\n }\n ]);\n });\n\n // Make sure resumeBootstrap() only exists if the current bootstrap is deferred\n var windowAngular = (window as any /** TODO #???? */)['angular'];\n windowAngular.resumeBootstrap = undefined;\n\n angular.element(element).data(controllerKey(NG2_INJECTOR), injector);\n ngZone.run(() => { angular.bootstrap(element, [this.idPrefix], config); });\n ng1BootstrapPromise = new Promise((resolve, reject) => {\n if (windowAngular.resumeBootstrap) {\n var originalResumeBootstrap: () => void = windowAngular.resumeBootstrap;\n windowAngular.resumeBootstrap = function() {\n windowAngular.resumeBootstrap = originalResumeBootstrap;\n windowAngular.resumeBootstrap.apply(this, arguments);\n resolve();\n };\n } else {\n resolve();\n }\n });\n\n Promise\n .all([\n this.compileNg2Components(compiler, componentFactoryRefMap), ng1BootstrapPromise,\n ng1compilePromise\n ])\n .then(() => {\n ngZone.run(() => {\n if (rootScopePrototype) {\n rootScopePrototype.$apply = original$applyFn; // restore original $apply\n while (delayApplyExps.length) {\n rootScope.$apply(delayApplyExps.shift());\n }\n (<any>upgrade)._bootstrapDone(applicationRef, ng1Injector);\n rootScopePrototype = null;\n }\n });\n }, onError);\n return upgrade;\n }\n\n /**\n * Adds a provider to the top level environment of a hybrid AngularJS v1 / Angular v2 application.\n *\n * In hybrid AngularJS v1 / Angular v2 application, there is no one root Angular v2 component,\n * for this reason we provide an application global way of registering providers which is\n * consistent with single global injection in AngularJS v1.\n *\n * ### Example\n *\n * ```\n * class Greeter {\n * greet(name) {\n * alert('Hello ' + name + '!');\n * }\n * }\n *\n * @Component({\n * selector: 'app',\n * template: ''\n * })\n * class App {\n * constructor(greeter: Greeter) {\n * this.greeter('World');\n * }\n * }\n *\n * var adapter = new UpgradeAdapter();\n * adapter.addProvider(Greeter);\n *\n * var module = angular.module('myExample', []);\n * module.directive('app', adapter.downgradeNg2Component(App));\n *\n * document.body.innerHTML = '<app></app>'\n * adapter.bootstrap(document.body, ['myExample']);\n *```\n */\n public addProvider(provider: Type|Provider|any[]|any): void { this.providers.push(provider); }\n\n /**\n * Allows AngularJS v1 service to be accessible from Angular v2.\n *\n *\n * ### Example\n *\n * ```\n * class Login { ... }\n * class Server { ... }\n *\n * @Injectable()\n * class Example {\n * constructor(@Inject('server') server, login: Login) {\n * ...\n * }\n * }\n *\n * var module = angular.module('myExample', []);\n * module.service('server', Server);\n * module.service('login', Login);\n *\n * var adapter = new UpgradeAdapter();\n * adapter.upgradeNg1Provider('server');\n * adapter.upgradeNg1Provider('login', {asToken: Login});\n * adapter.addProvider(Example);\n *\n * adapter.bootstrap(document.body, ['myExample']).ready((ref) => {\n * var example: Example = ref.ng2Injector.get(Example);\n * });\n *\n * ```\n */\n public upgradeNg1Provider(name: string, options?: {asToken: any}) {\n var token = options && options.asToken || name;\n this.providers.push({\n provide: token,\n useFactory: (ng1Injector: angular.IInjectorService) => ng1Injector.get(name),\n deps: [NG1_INJECTOR]\n });\n }\n\n /**\n * Allows Angular v2 service to be accessible from AngularJS v1.\n *\n *\n * ### Example\n *\n * ```\n * class Example {\n * }\n *\n * var adapter = new UpgradeAdapter();\n * adapter.addProvider(Example);\n *\n * var module = angular.module('myExample', []);\n * module.factory('example', adapter.downgradeNg2Provider(Example));\n *\n * adapter.bootstrap(document.body, ['myExample']).ready((ref) => {\n * var example: Example = ref.ng1Injector.get('example');\n * });\n *\n * ```\n */\n public downgradeNg2Provider(token: any): Function {\n var factory = function(injector: Injector) { return injector.get(token); };\n (<any>factory).$inject = [NG2_INJECTOR];\n return factory;\n }\n\n /* @internal */\n private compileNg2Components(\n compiler: ComponentResolver,\n componentFactoryRefMap: ComponentFactoryRefMap): Promise<ComponentFactoryRefMap> {\n var promises: Array<Promise<ComponentFactory<any>>> = [];\n var types = this.upgradedComponents;\n for (var i = 0; i < types.length; i++) {\n promises.push(compiler.resolveComponent(types[i]));\n }\n return Promise.all(promises).then((componentFactories: Array<ComponentFactory<any>>) => {\n var types = this.upgradedComponents;\n for (var i = 0; i < componentFactories.length; i++) {\n componentFactoryRefMap[getComponentInfo(types[i]).selector] = componentFactories[i];\n }\n return componentFactoryRefMap;\n }, onError);\n }\n}\n\ninterface ComponentFactoryRefMap {\n [selector: string]: ComponentFactory<any>;\n}\n\nfunction ng1ComponentDirective(info: ComponentInfo, idPrefix: string): Function {\n (<any>directiveFactory).$inject = [NG1_INJECTOR, NG2_COMPONENT_FACTORY_REF_MAP, NG1_PARSE];\n function directiveFactory(\n ng1Injector: angular.IInjectorService, componentFactoryRefMap: ComponentFactoryRefMap,\n parse: angular.IParseService): angular.IDirective {\n var idCount = 0;\n return {\n restrict: 'E',\n require: REQUIRE_INJECTOR,\n link: {\n post: (scope: angular.IScope, element: angular.IAugmentedJQuery, attrs: angular.IAttributes,\n parentInjector: any, transclude: angular.ITranscludeFunction): void => {\n var componentFactory: ComponentFactory<any> = componentFactoryRefMap[info.selector];\n if (!componentFactory)\n throw new Error('Expecting ComponentFactory for: ' + info.selector);\n\n var domElement = <any>element[0];\n if (parentInjector === null) {\n parentInjector = ng1Injector.get(NG2_INJECTOR);\n }\n var facade = new DowngradeNg2ComponentAdapter(\n idPrefix + (idCount++), info, element, attrs, scope, <Injector>parentInjector, parse,\n componentFactory);\n facade.setupInputs();\n facade.bootstrapNg2();\n facade.projectContent();\n facade.setupOutputs();\n facade.registerCleanup();\n }\n }\n };\n }\n return directiveFactory;\n}\n\n/**\n * Use `UgradeAdapterRef` to control a hybrid AngularJS v1 / Angular v2 application.\n */\nexport class UpgradeAdapterRef {\n /* @internal */\n private _readyFn: (upgradeAdapterRef?: UpgradeAdapterRef) => void = null;\n\n public ng1RootScope: angular.IRootScopeService = null;\n public ng1Injector: angular.IInjectorService = null;\n public ng2ApplicationRef: ApplicationRef = null;\n public ng2Injector: Injector = null;\n\n /* @internal */\n private _bootstrapDone(applicationRef: ApplicationRef, ng1Injector: angular.IInjectorService) {\n this.ng2ApplicationRef = applicationRef;\n this.ng2Injector = applicationRef.injector;\n this.ng1Injector = ng1Injector;\n this.ng1RootScope = ng1Injector.get(NG1_ROOT_SCOPE);\n this._readyFn && this._readyFn(this);\n }\n\n /**\n * Register a callback function which is notified upon successful hybrid AngularJS v1 / Angular v2\n * application has been bootstrapped.\n *\n * The `ready` callback function is invoked inside the Angular v2 zone, therefore it does not\n * require a call to `$apply()`.\n */\n public ready(fn: (upgradeAdapterRef?: UpgradeAdapterRef) => void) { this._readyFn = fn; }\n\n /**\n * Dispose of running hybrid AngularJS v1 / Angular v2 application.\n */\n public dispose() {\n this.ng1Injector.get(NG1_ROOT_SCOPE).$destroy();\n this.ng2ApplicationRef.dispose();\n }\n}\n\ninterface DecoratorInvocation {\n type: Function;\n args?: any[];\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { Directive, ElementRef, EventEmitter, Inject } from '@angular/core';
2
- import { NG1_COMPILE, NG1_SCOPE, NG1_HTTP_BACKEND, NG1_TEMPLATE_CACHE, NG1_CONTROLLER } from './constants';
3
- import { controllerKey } from './util';
4
2
  import * as angular from './angular_js';
3
+ import { NG1_COMPILE, NG1_CONTROLLER, NG1_HTTP_BACKEND, NG1_SCOPE, NG1_TEMPLATE_CACHE } from './constants';
4
+ import { controllerKey } from './util';
5
5
  const CAMEL_CASE = /([A-Z])/g;
6
6
  const INITIAL_VALUE = {
7
7
  __UNINITIALIZED__: true
@@ -20,14 +20,13 @@ export class UpgradeNg1ComponentAdapterBuilder {
20
20
  this.linkFn = null;
21
21
  this.directive = null;
22
22
  this.$controller = null;
23
- var selector = name.replace(CAMEL_CASE, (all, next) => '-' + next.toLowerCase());
23
+ var selector = name.replace(CAMEL_CASE, (all /** TODO #9100 */, next) => '-' + next.toLowerCase());
24
24
  var self = this;
25
25
  this.type =
26
26
  Directive({ selector: selector, inputs: this.inputsRename, outputs: this.outputsRename })
27
27
  .Class({
28
28
  constructor: [
29
- new Inject(NG1_SCOPE),
30
- ElementRef,
29
+ new Inject(NG1_SCOPE), ElementRef,
31
30
  function (scope, elementRef) {
32
31
  return new UpgradeNg1ComponentAdapter(self.linkFn, scope, self.directive, elementRef, self.$controller, self.inputs, self.outputs, self.propertyOutputs, self.checkProperties, self.propertyMap);
33
32
  }
@@ -104,17 +103,19 @@ export class UpgradeNg1ComponentAdapterBuilder {
104
103
  }
105
104
  compileTemplate(compile, templateCache, httpBackend) {
106
105
  if (this.directive.template !== undefined) {
107
- this.linkFn = compileHtml(this.directive.template);
106
+ this.linkFn = compileHtml(typeof this.directive.template === 'function' ? this.directive.template() :
107
+ this.directive.template);
108
108
  }
109
109
  else if (this.directive.templateUrl) {
110
- var url = this.directive.templateUrl;
110
+ var url = typeof this.directive.templateUrl === 'function' ? this.directive.templateUrl() :
111
+ this.directive.templateUrl;
111
112
  var html = templateCache.get(url);
112
113
  if (html !== undefined) {
113
114
  this.linkFn = compileHtml(html);
114
115
  }
115
116
  else {
116
117
  return new Promise((resolve, err) => {
117
- httpBackend('GET', url, null, (status, response) => {
118
+ httpBackend('GET', url, null, (status /** TODO #9100 */, response /** TODO #9100 */) => {
118
119
  if (status == 200) {
119
120
  resolve(this.linkFn = compileHtml(templateCache.put(url, response)));
120
121
  }
@@ -129,7 +130,7 @@ export class UpgradeNg1ComponentAdapterBuilder {
129
130
  throw new Error(`Directive '${this.name}' is not a component, it is missing template.`);
130
131
  }
131
132
  return null;
132
- function compileHtml(html) {
133
+ function compileHtml(html /** TODO #9100 */) {
133
134
  var div = document.createElement('div');
134
135
  div.innerHTML = html;
135
136
  return compile(div.childNodes);
@@ -159,6 +160,7 @@ class UpgradeNg1ComponentAdapter {
159
160
  constructor(linkFn, scope, directive, elementRef, $controller, inputs, outputs, propOuts, checkProperties, propertyMap) {
160
161
  this.linkFn = linkFn;
161
162
  this.directive = directive;
163
+ this.$controller = $controller;
162
164
  this.inputs = inputs;
163
165
  this.outputs = outputs;
164
166
  this.propOuts = propOuts;
@@ -166,33 +168,23 @@ class UpgradeNg1ComponentAdapter {
166
168
  this.propertyMap = propertyMap;
167
169
  this.destinationObj = null;
168
170
  this.checkLastValues = [];
171
+ this.$element = null;
169
172
  this.element = elementRef.nativeElement;
170
173
  this.componentScope = scope.$new(!!directive.scope);
171
- var $element = angular.element(this.element);
174
+ this.$element = angular.element(this.element);
172
175
  var controllerType = directive.controller;
173
- var controller = null;
174
- if (controllerType) {
175
- var locals = { $scope: this.componentScope, $element: $element };
176
- controller = $controller(controllerType, locals, null, directive.controllerAs);
177
- $element.data(controllerKey(directive.name), controller);
176
+ if (directive.bindToController && controllerType) {
177
+ this.destinationObj = this.buildController(controllerType);
178
178
  }
179
- var link = directive.link;
180
- if (typeof link == 'object')
181
- link = link.pre;
182
- if (link) {
183
- var attrs = NOT_SUPPORTED;
184
- var transcludeFn = NOT_SUPPORTED;
185
- var linkController = this.resolveRequired($element, directive.require);
186
- directive.link(this.componentScope, $element, attrs, linkController, transcludeFn);
179
+ else {
180
+ this.destinationObj = this.componentScope;
187
181
  }
188
- this.destinationObj =
189
- directive.bindToController && controller ? controller : this.componentScope;
190
182
  for (var i = 0; i < inputs.length; i++) {
191
183
  this[inputs[i]] = null;
192
184
  }
193
185
  for (var j = 0; j < outputs.length; j++) {
194
186
  var emitter = this[outputs[j]] = new EventEmitter();
195
- this.setComponentProperty(outputs[j], ((emitter) => (value) => emitter.emit(value))(emitter));
187
+ this.setComponentProperty(outputs[j], ((emitter /** TODO #9100 */) => (value /** TODO #9100 */) => emitter.emit(value))(emitter));
196
188
  }
197
189
  for (var k = 0; k < propOuts.length; k++) {
198
190
  this[propOuts[k]] = new EventEmitter();
@@ -200,6 +192,18 @@ class UpgradeNg1ComponentAdapter {
200
192
  }
201
193
  }
202
194
  ngOnInit() {
195
+ if (!this.directive.bindToController && this.directive.controller) {
196
+ this.buildController(this.directive.controller);
197
+ }
198
+ var link = this.directive.link;
199
+ if (typeof link == 'object')
200
+ link = link.pre;
201
+ if (link) {
202
+ var attrs = NOT_SUPPORTED;
203
+ var transcludeFn = NOT_SUPPORTED;
204
+ var linkController = this.resolveRequired(this.$element, this.directive.require);
205
+ this.directive.link(this.componentScope, this.$element, attrs, linkController, transcludeFn);
206
+ }
203
207
  var childNodes = [];
204
208
  var childNode;
205
209
  while (childNode = this.element.firstChild) {
@@ -210,7 +214,9 @@ class UpgradeNg1ComponentAdapter {
210
214
  for (var i = 0, ii = clonedElement.length; i < ii; i++) {
211
215
  this.element.appendChild(clonedElement[i]);
212
216
  }
213
- }, { parentBoundTranscludeFn: (scope, cloneAttach) => { cloneAttach(childNodes); } });
217
+ }, {
218
+ parentBoundTranscludeFn: (scope /** TODO #9100 */, cloneAttach /** TODO #9100 */) => { cloneAttach(childNodes); }
219
+ });
214
220
  if (this.destinationObj.$onInit) {
215
221
  this.destinationObj.$onInit();
216
222
  }
@@ -245,6 +251,12 @@ class UpgradeNg1ComponentAdapter {
245
251
  setComponentProperty(name, value) {
246
252
  this.destinationObj[this.propertyMap[name]] = value;
247
253
  }
254
+ buildController(controllerType /** TODO #9100 */) {
255
+ var locals = { $scope: this.componentScope, $element: this.$element };
256
+ var controller = this.$controller(controllerType, locals, null, this.directive.controllerAs);
257
+ this.$element.data(controllerKey(this.directive.name), controller);
258
+ return controller;
259
+ }
248
260
  resolveRequired($element, require) {
249
261
  if (!require) {
250
262
  return undefined;