@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.
- package/{upgrade.umd.js → bundles/upgrade.umd.js} +165 -141
- package/bundles/upgrade.umd.min.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/src/angular_js.d.ts +1 -0
- package/esm/src/angular_js.js.map +1 -1
- package/esm/src/angular_js.metadata.json +1 -1
- package/esm/src/constants.js +1 -1
- package/esm/src/constants.js.map +1 -1
- package/esm/src/constants.metadata.json +1 -1
- package/esm/src/downgrade_ng2_adapter.d.ts +3 -5
- package/esm/src/downgrade_ng2_adapter.js +9 -9
- package/esm/src/downgrade_ng2_adapter.js.map +1 -1
- package/esm/src/metadata.js +1 -1
- package/esm/src/metadata.js.map +1 -1
- package/esm/src/upgrade_adapter.d.ts +1 -8
- package/esm/src/upgrade_adapter.js +56 -48
- package/esm/src/upgrade_adapter.js.map +1 -1
- package/esm/src/upgrade_ng1_adapter.js +39 -27
- package/esm/src/upgrade_ng1_adapter.js.map +1 -1
- package/esm/src/util.js.map +1 -1
- package/esm/src/util.metadata.json +1 -0
- package/esm/upgrade.js +4 -4
- package/esm/upgrade.js.map +1 -1
- package/index.js.map +1 -1
- package/package.json +8 -4
- package/src/angular_js.d.ts +1 -0
- package/src/angular_js.js.map +1 -1
- package/src/angular_js.metadata.json +1 -1
- package/src/constants.js +1 -1
- package/src/constants.js.map +1 -1
- package/src/constants.metadata.json +1 -1
- package/src/downgrade_ng2_adapter.d.ts +3 -5
- package/src/downgrade_ng2_adapter.js +18 -14
- package/src/downgrade_ng2_adapter.js.map +1 -1
- package/src/metadata.js +1 -1
- package/src/metadata.js.map +1 -1
- package/src/upgrade_adapter.d.ts +1 -8
- package/src/upgrade_adapter.js +58 -46
- package/src/upgrade_adapter.js.map +1 -1
- package/src/upgrade_ng1_adapter.js +40 -26
- package/src/upgrade_ng1_adapter.js.map +1 -1
- package/src/util.js.map +1 -1
- package/src/util.metadata.json +1 -0
- package/upgrade.js +4 -4
- package/upgrade.js.map +1 -1
- package/esm/upgrade.umd.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ChangeDetectorRef,
|
|
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 {
|
|
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
|
|
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
|
|
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 ?
|
|
134
|
-
((
|
|
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"]}
|
package/esm/src/metadata.js
CHANGED
|
@@ -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
|
|
11
|
+
var selector = selector.replace(SKEWER_CASE, (all /** TODO #9100 */, letter) => letter.toUpperCase());
|
|
12
12
|
return {
|
|
13
13
|
type: type,
|
|
14
14
|
selector: selector,
|
package/esm/src/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
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
|
|
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
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
provide
|
|
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(
|
|
303
|
+
throw new Error('Failed to find \'$apply\' on \'$rootScope\'!');
|
|
303
304
|
}
|
|
304
305
|
return rootScope = rootScopeDelegate;
|
|
305
306
|
}
|
|
306
307
|
]);
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
var
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
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({
|
|
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
|
|
360
|
-
|
|
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(
|
|
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":"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"}
|
|
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
|
|
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
|
|
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
|
-
|
|
174
|
+
this.$element = angular.element(this.element);
|
|
172
175
|
var controllerType = directive.controller;
|
|
173
|
-
|
|
174
|
-
|
|
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
|
-
|
|
180
|
-
|
|
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
|
-
}, {
|
|
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;
|