piral-ng 1.2.0-beta.5859 → 1.2.0-beta.5865
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/esm/RoutingService.js +5 -2
- package/esm/RoutingService.js.map +1 -1
- package/esm/bootstrap.js +3 -3
- package/esm/bootstrap.js.map +1 -1
- package/esm/module.d.ts +4 -2
- package/esm/module.js +14 -8
- package/esm/module.js.map +1 -1
- package/esm/startup.d.ts +2 -2
- package/esm/startup.js +4 -3
- package/esm/startup.js.map +1 -1
- package/esm/types.d.ts +12 -3
- package/lib/RoutingService.js +5 -2
- package/lib/RoutingService.js.map +1 -1
- package/lib/bootstrap.js +3 -3
- package/lib/bootstrap.js.map +1 -1
- package/lib/module.d.ts +4 -2
- package/lib/module.js +12 -6
- package/lib/module.js.map +1 -1
- package/lib/startup.d.ts +2 -2
- package/lib/startup.js +4 -3
- package/lib/startup.js.map +1 -1
- package/lib/types.d.ts +12 -3
- package/package.json +3 -3
- package/src/RoutingService.ts +6 -2
- package/src/bootstrap.ts +3 -3
- package/src/module.ts +14 -6
- package/src/startup.ts +5 -3
- package/src/types.ts +13 -3
package/esm/RoutingService.js
CHANGED
|
@@ -52,6 +52,9 @@ let RoutingService = class RoutingService {
|
|
|
52
52
|
};
|
|
53
53
|
const skipIds = [];
|
|
54
54
|
const nav = this.context.navigation;
|
|
55
|
+
const queueNavigation = (url) => {
|
|
56
|
+
window.requestAnimationFrame(() => nav.push(url));
|
|
57
|
+
};
|
|
55
58
|
this.dispose = nav.listen(({ location }) => {
|
|
56
59
|
const path = location.pathname;
|
|
57
60
|
if (!this.invalidRoutes.includes(path)) {
|
|
@@ -68,7 +71,7 @@ let RoutingService = class RoutingService {
|
|
|
68
71
|
this.invalidRoutes.push(path);
|
|
69
72
|
}
|
|
70
73
|
if (routerUrl !== locationUrl) {
|
|
71
|
-
|
|
74
|
+
queueNavigation(routerUrl);
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
77
|
else if (e.type === 0 && skipNavigation) {
|
|
@@ -81,7 +84,7 @@ let RoutingService = class RoutingService {
|
|
|
81
84
|
const locationUrl = nav.url;
|
|
82
85
|
const routerUrl = e.routerEvent.url;
|
|
83
86
|
if (routerUrl !== locationUrl) {
|
|
84
|
-
|
|
87
|
+
queueNavigation(routerUrl);
|
|
85
88
|
}
|
|
86
89
|
}
|
|
87
90
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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"}
|
package/esm/bootstrap.js
CHANGED
|
@@ -10,7 +10,7 @@ export function prepareBootstrap(moduleOrComponent, piral) {
|
|
|
10
10
|
if (typeof result !== 'object' || !('default' in result)) {
|
|
11
11
|
throw new Error('The lazy loaded module does not `default` export a NgModule class.');
|
|
12
12
|
}
|
|
13
|
-
defineModule(result.default, moduleOrComponent.opts);
|
|
13
|
+
defineModule(result.default, moduleOrComponent.opts, moduleOrComponent.flags);
|
|
14
14
|
return findModule(result.default);
|
|
15
15
|
});
|
|
16
16
|
}
|
|
@@ -45,8 +45,8 @@ export function prepareBootstrap(moduleOrComponent, piral) {
|
|
|
45
45
|
}
|
|
46
46
|
export function bootstrap(result, node, props, context) {
|
|
47
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
const [selectedModule, ngOptions, component] = result;
|
|
49
|
-
const ref = yield startup(selectedModule, context, ngOptions);
|
|
48
|
+
const [selectedModule, ngOptions, ngFlags, component] = result;
|
|
49
|
+
const ref = yield startup(selectedModule, context, ngOptions, ngFlags);
|
|
50
50
|
if (ref) {
|
|
51
51
|
ref.instance.attach(component, node, props);
|
|
52
52
|
return () => ref.instance.detach(component, node);
|
package/esm/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAgB,gBAAgB,CACpC,iBAAyC,EACzC,KAAe;;QAEf,IAAI,QAAQ,IAAI,iBAAiB,IAAI,OAAO,iBAAiB,CAAC,MAAM,KAAK,UAAU,EAAE;YACnF,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,YAAY,OAAO,CAAC,EAAE;gBACzD,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC3E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;wBACxD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;qBACvF;oBAED,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACrH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAgB,gBAAgB,CACpC,iBAAyC,EACzC,KAAe;;QAEf,IAAI,QAAQ,IAAI,iBAAiB,IAAI,OAAO,iBAAiB,CAAC,MAAM,KAAK,UAAU,EAAE;YACnF,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,YAAY,OAAO,CAAC,EAAE;gBACzD,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC3E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;wBACxD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;qBACvF;oBAED,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBAC9E,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;aACJ;YAED,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC;YACxD,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;YACjC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAErF,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,iBAAiB,CAAC,QAAQ,mBAAmB,CAAC,CAAC;aACvG;YAED,OAAO,CAAC,GAAG,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;SACjE;aAAM;YACL,MAAM,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAC;YAE1C,iEAAiE;YACjE,4DAA4D;YAC5D,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,EAAE;gBACtC,mEAAmE;gBACnE,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;gBACzC,UAAU,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAChC,OAAO,CAAC,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;aACxE;iBAAM;gBACL,uFAAuF;gBACvF,MAAM,MAAM,GACV,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,EAAE,KAAK,CAAC;oBACvD,oBAAoB,CAAC,iBAAiB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,MAAM,EAAE,iBAAiB,CAAC,CAAC;aACvC;SACF;IACH,CAAC;CAAA;AAED,MAAM,UAAgB,SAAS,CAC7B,MAA8B,EAC9B,IAAiB,EACjB,KAA8B,EAC9B,OAAyB;;QAEzB,MAAM,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,GAAG,EAAE;YACP,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACnD;QAED,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC;CAAA"}
|
package/esm/module.d.ts
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import type { PiletApi } from 'piral-core';
|
|
2
|
-
import type { NgOptions, ModuleInstanceResult } from './types';
|
|
2
|
+
import type { NgOptions, ModuleInstanceResult, NgModuleFlags } from './types';
|
|
3
3
|
interface ModuleDefinition {
|
|
4
4
|
active: any;
|
|
5
5
|
module: any;
|
|
6
6
|
components: Array<any>;
|
|
7
7
|
opts: NgOptions;
|
|
8
|
+
flags: NgModuleFlags;
|
|
8
9
|
}
|
|
9
10
|
export declare function activateModuleInstance(moduleDef: ModuleDefinition, piral: PiletApi): ModuleInstanceResult;
|
|
10
11
|
export declare function getModuleInstance(component: any, standalone: boolean, piral: PiletApi): ModuleInstanceResult;
|
|
11
12
|
export declare function createModuleInstance(component: any, standalone: boolean, piral: PiletApi): ModuleInstanceResult;
|
|
12
13
|
export declare function findModule(module: any): ModuleDefinition;
|
|
13
|
-
export declare function defineModule(module: any, opts?: NgOptions): (selector: string) => {
|
|
14
|
+
export declare function defineModule(module: any, opts?: NgOptions, flags?: NgModuleFlags): (selector: string) => {
|
|
14
15
|
component: {
|
|
15
16
|
selector: string;
|
|
16
17
|
module: any;
|
|
17
18
|
opts: (import("@angular/core").CompilerOptions & import("@angular/core").BootstrapOptions) | (import("@angular/core").CompilerOptions & import("@angular/core").BootstrapOptions)[];
|
|
19
|
+
flags: NgModuleFlags;
|
|
18
20
|
state: {
|
|
19
21
|
current: any;
|
|
20
22
|
};
|
package/esm/module.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
2
|
import { BrowserModule } from '@angular/platform-browser';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { ComponentFactoryResolver, CUSTOM_ELEMENTS_SCHEMA, NgModule, NgZone, } from '@angular/core';
|
|
4
|
+
import { ComponentFactoryResolver, CUSTOM_ELEMENTS_SCHEMA, Inject, NgModule, NgZone, } from '@angular/core';
|
|
5
5
|
import { teardown } from './startup';
|
|
6
6
|
import { RoutingService } from './RoutingService';
|
|
7
7
|
import { findComponents, getAnnotations } from './utils';
|
|
@@ -18,10 +18,11 @@ function instantiateModule(moduleDef, piral) {
|
|
|
18
18
|
{ provide: 'piral', useFactory: () => piral, deps: [] },
|
|
19
19
|
];
|
|
20
20
|
let BootstrapModule = BootstrapModule_1 = class BootstrapModule {
|
|
21
|
-
constructor(resolver, zone, routing) {
|
|
21
|
+
constructor(resolver, zone, routing, flags) {
|
|
22
22
|
this.resolver = resolver;
|
|
23
23
|
this.zone = zone;
|
|
24
24
|
this.routing = routing;
|
|
25
|
+
this.flags = flags;
|
|
25
26
|
this.refs = [];
|
|
26
27
|
}
|
|
27
28
|
ngDoBootstrap(appRef) {
|
|
@@ -46,6 +47,7 @@ function instantiateModule(moduleDef, piral) {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
detach(component, node) {
|
|
50
|
+
var _a;
|
|
49
51
|
for (let i = this.refs.length; i--;) {
|
|
50
52
|
const [sourceComponent, sourceNode, ref] = this.refs[i];
|
|
51
53
|
if (sourceComponent === component && sourceNode === node) {
|
|
@@ -53,7 +55,7 @@ function instantiateModule(moduleDef, piral) {
|
|
|
53
55
|
this.refs.splice(i, 1);
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
|
-
if (this.refs.length === 0) {
|
|
58
|
+
if (!((_a = this.flags) === null || _a === void 0 ? void 0 : _a.keepAlive) && this.refs.length === 0) {
|
|
57
59
|
teardown(BootstrapModule_1);
|
|
58
60
|
}
|
|
59
61
|
}
|
|
@@ -65,7 +67,10 @@ function instantiateModule(moduleDef, piral) {
|
|
|
65
67
|
entryComponents: components,
|
|
66
68
|
providers,
|
|
67
69
|
}),
|
|
68
|
-
|
|
70
|
+
__param(3, Inject('NgFlags')),
|
|
71
|
+
__metadata("design:paramtypes", [ComponentFactoryResolver,
|
|
72
|
+
NgZone,
|
|
73
|
+
RoutingService, Object])
|
|
69
74
|
], BootstrapModule);
|
|
70
75
|
return BootstrapModule;
|
|
71
76
|
}
|
|
@@ -73,7 +78,7 @@ export function activateModuleInstance(moduleDef, piral) {
|
|
|
73
78
|
if (!moduleDef.active) {
|
|
74
79
|
moduleDef.active = instantiateModule(moduleDef, piral);
|
|
75
80
|
}
|
|
76
|
-
return [moduleDef.active, moduleDef.opts];
|
|
81
|
+
return [moduleDef.active, moduleDef.opts, moduleDef.flags];
|
|
77
82
|
}
|
|
78
83
|
export function getModuleInstance(component, standalone, piral) {
|
|
79
84
|
const [moduleDef] = availableModules.filter((m) => m.components.includes(component));
|
|
@@ -108,13 +113,14 @@ export function createModuleInstance(component, standalone, piral) {
|
|
|
108
113
|
export function findModule(module) {
|
|
109
114
|
return availableModules.find((m) => m.module === module);
|
|
110
115
|
}
|
|
111
|
-
export function defineModule(module, opts = undefined) {
|
|
116
|
+
export function defineModule(module, opts = undefined, flags = undefined) {
|
|
112
117
|
const [annotation] = getAnnotations(module);
|
|
113
118
|
if (annotation) {
|
|
114
119
|
availableModules.push({
|
|
115
120
|
active: undefined,
|
|
116
121
|
components: findComponents(annotation.exports),
|
|
117
122
|
module,
|
|
123
|
+
flags,
|
|
118
124
|
opts,
|
|
119
125
|
});
|
|
120
126
|
}
|
|
@@ -123,7 +129,7 @@ export function defineModule(module, opts = undefined) {
|
|
|
123
129
|
current: undefined,
|
|
124
130
|
};
|
|
125
131
|
return (selector) => ({
|
|
126
|
-
component: { selector, module, opts, state },
|
|
132
|
+
component: { selector, module, opts, flags, state },
|
|
127
133
|
type: 'ng',
|
|
128
134
|
});
|
|
129
135
|
}
|
package/esm/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEL,wBAAwB,EAExB,sBAAsB,EACtB,QAAQ,EACR,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/esm/startup.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ComponentContext } from 'piral-core';
|
|
2
|
-
import type { NgOptions } from './types';
|
|
2
|
+
import type { NgModuleFlags, NgOptions } from './types';
|
|
3
3
|
import { NgModuleRef } from '@angular/core';
|
|
4
4
|
export type NgModuleInt = NgModuleRef<any> & {
|
|
5
5
|
_destroyed: boolean;
|
|
6
6
|
};
|
|
7
7
|
export declare function teardown(BootstrapModule: any): void;
|
|
8
|
-
export declare function startup(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions): Promise<void | NgModuleInt>;
|
|
8
|
+
export declare function startup(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions, ngFlags?: NgModuleFlags): Promise<void | NgModuleInt>;
|
package/esm/startup.js
CHANGED
|
@@ -16,11 +16,12 @@ const customPlatformDynamicFactory = createPlatformFactory(platformCoreDynamic,
|
|
|
16
16
|
},
|
|
17
17
|
]);
|
|
18
18
|
const runningModules = [];
|
|
19
|
-
function startNew(BootstrapModule, context, ngOptions) {
|
|
19
|
+
function startNew(BootstrapModule, context, ngOptions, ngFlags) {
|
|
20
20
|
const path = context.publicPath || '/';
|
|
21
21
|
const platform = customPlatformDynamicFactory([
|
|
22
22
|
{ provide: 'Context', useValue: context },
|
|
23
23
|
{ provide: APP_BASE_HREF, useValue: path },
|
|
24
|
+
{ provide: 'NgFlags', useValue: ngFlags },
|
|
24
25
|
]);
|
|
25
26
|
const id = getId();
|
|
26
27
|
const zoneIdentifier = `piral-ng:${id}`;
|
|
@@ -58,7 +59,7 @@ export function teardown(BootstrapModule) {
|
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
}
|
|
61
|
-
export function startup(BootstrapModule, context, ngOptions) {
|
|
62
|
+
export function startup(BootstrapModule, context, ngOptions, ngFlags) {
|
|
62
63
|
const runningModule = runningModules.find(([ref]) => ref === BootstrapModule);
|
|
63
64
|
if (runningModule) {
|
|
64
65
|
const [, instance, platform] = runningModule;
|
|
@@ -69,7 +70,7 @@ export function startup(BootstrapModule, context, ngOptions) {
|
|
|
69
70
|
return Promise.resolve(instance);
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
return startNew(BootstrapModule, context, ngOptions);
|
|
73
|
+
return startNew(BootstrapModule, context, ngOptions, ngFlags);
|
|
73
74
|
}
|
|
74
75
|
if (process.env.NODE_ENV === 'development') {
|
|
75
76
|
// May be used later for something useful. Right now only debugging output.
|
package/esm/startup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,qBAAqB,EACrB,cAAc,EAEd,MAAM,EAEN,yBAAyB,IAAI,wBAAwB,GACtD,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EACL,oBAAoB,IAAI,mBAAmB,EAC3C,4CAA4C,IAAI,2CAA2C,GAC5F,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9C,SAAS,iBAAiB,CAAC,QAAoC;IAC7D,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;IAC5B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,gFAAgF;AAChF,MAAM,4BAA4B,GAAG,qBAAqB,CAAC,mBAAmB,EAAE,cAAc,EAAE;IAC9F,GAAG,2CAA2C;IAC9C;QACE,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,IAAI;KACf;CACF,CAAC,CAAC;AACH,MAAM,cAAc,GAA2C,EAAE,CAAC;AAElE,SAAS,QAAQ,CAAC,eAAoB,EAAE,OAAyB,EAAE,SAAqB;
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
|
package/esm/types.d.ts
CHANGED
|
@@ -8,6 +8,12 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
8
8
|
ng(component: NgComponent): ForeignComponent<TProps>;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
+
export interface NgModuleFlags {
|
|
12
|
+
/**
|
|
13
|
+
* If set to true prevents the module from being disposed.
|
|
14
|
+
*/
|
|
15
|
+
keepAlive?: boolean;
|
|
16
|
+
}
|
|
11
17
|
/**
|
|
12
18
|
* Options passed through to Angular `bootstrapModule`.
|
|
13
19
|
*
|
|
@@ -15,7 +21,7 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
15
21
|
* See https://angular.io/api/core/PlatformRef#bootstrapModule for possible values.
|
|
16
22
|
*/
|
|
17
23
|
export type NgOptions = Parameters<PlatformRef['bootstrapModule']>[1];
|
|
18
|
-
export type ModuleInstanceResult = [any, NgOptions];
|
|
24
|
+
export type ModuleInstanceResult = [any, NgOptions, NgModuleFlags];
|
|
19
25
|
export type PrepareBootstrapResult = [...ModuleInstanceResult, any];
|
|
20
26
|
export type NgModuleInt = NgModuleRef<any> & {
|
|
21
27
|
_destroyed: boolean;
|
|
@@ -36,6 +42,7 @@ export interface NgLazyType {
|
|
|
36
42
|
default: Type<any>;
|
|
37
43
|
}>;
|
|
38
44
|
opts: NgOptions;
|
|
45
|
+
flags: NgModuleFlags;
|
|
39
46
|
state: any;
|
|
40
47
|
}
|
|
41
48
|
/**
|
|
@@ -57,15 +64,17 @@ export interface NgModuleDefiner {
|
|
|
57
64
|
* Defines the module to use when bootstrapping the Angular pilet.
|
|
58
65
|
* @param ngModule The module to use for running Angular.
|
|
59
66
|
* @param opts The options to pass when bootstrapping.
|
|
67
|
+
* @param flags The flags to use when dealing with the module.
|
|
60
68
|
*/
|
|
61
|
-
<T>(module: Type<T>, opts?: NgOptions): void;
|
|
69
|
+
<T>(module: Type<T>, opts?: NgOptions, flags?: NgModuleFlags): void;
|
|
62
70
|
/**
|
|
63
71
|
* Defines the module to lazy load for bootstrapping the Angular pilet.
|
|
64
72
|
* @param getModule The module lazy loader to use for running Angular.
|
|
65
73
|
* @param opts The options to pass when bootstrapping.
|
|
74
|
+
* @param flags The flags to use when dealing with the module.
|
|
66
75
|
* @returns The module ID to be used to reference components.
|
|
67
76
|
*/
|
|
68
|
-
<T>(getModule: LazyType<T>, opts?: NgOptions): NgComponentLoader;
|
|
77
|
+
<T>(getModule: LazyType<T>, opts?: NgOptions, flags?: NgModuleFlags): NgComponentLoader;
|
|
69
78
|
}
|
|
70
79
|
export interface NgComponent {
|
|
71
80
|
/**
|
package/lib/RoutingService.js
CHANGED
|
@@ -55,6 +55,9 @@ let RoutingService = class RoutingService {
|
|
|
55
55
|
};
|
|
56
56
|
const skipIds = [];
|
|
57
57
|
const nav = this.context.navigation;
|
|
58
|
+
const queueNavigation = (url) => {
|
|
59
|
+
window.requestAnimationFrame(() => nav.push(url));
|
|
60
|
+
};
|
|
58
61
|
this.dispose = nav.listen(({ location }) => {
|
|
59
62
|
const path = location.pathname;
|
|
60
63
|
if (!this.invalidRoutes.includes(path)) {
|
|
@@ -71,7 +74,7 @@ let RoutingService = class RoutingService {
|
|
|
71
74
|
this.invalidRoutes.push(path);
|
|
72
75
|
}
|
|
73
76
|
if (routerUrl !== locationUrl) {
|
|
74
|
-
|
|
77
|
+
queueNavigation(routerUrl);
|
|
75
78
|
}
|
|
76
79
|
}
|
|
77
80
|
else if (e.type === 0 && skipNavigation) {
|
|
@@ -84,7 +87,7 @@ let RoutingService = class RoutingService {
|
|
|
84
87
|
const locationUrl = nav.url;
|
|
85
88
|
const routerUrl = e.routerEvent.url;
|
|
86
89
|
if (routerUrl !== locationUrl) {
|
|
87
|
-
|
|
90
|
+
queueNavigation(routerUrl);
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
93
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RoutingService.js","sourceRoot":"","sources":["../src/RoutingService.ts"],"names":[],"mappings":"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"}
|
package/lib/bootstrap.js
CHANGED
|
@@ -13,7 +13,7 @@ function prepareBootstrap(moduleOrComponent, piral) {
|
|
|
13
13
|
if (typeof result !== 'object' || !('default' in result)) {
|
|
14
14
|
throw new Error('The lazy loaded module does not `default` export a NgModule class.');
|
|
15
15
|
}
|
|
16
|
-
(0, module_1.defineModule)(result.default, moduleOrComponent.opts);
|
|
16
|
+
(0, module_1.defineModule)(result.default, moduleOrComponent.opts, moduleOrComponent.flags);
|
|
17
17
|
return (0, module_1.findModule)(result.default);
|
|
18
18
|
});
|
|
19
19
|
}
|
|
@@ -49,8 +49,8 @@ function prepareBootstrap(moduleOrComponent, piral) {
|
|
|
49
49
|
exports.prepareBootstrap = prepareBootstrap;
|
|
50
50
|
function bootstrap(result, node, props, context) {
|
|
51
51
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
const [selectedModule, ngOptions, component] = result;
|
|
53
|
-
const ref = yield (0, startup_1.startup)(selectedModule, context, ngOptions);
|
|
52
|
+
const [selectedModule, ngOptions, ngFlags, component] = result;
|
|
53
|
+
const ref = yield (0, startup_1.startup)(selectedModule, context, ngOptions, ngFlags);
|
|
54
54
|
if (ref) {
|
|
55
55
|
ref.instance.attach(component, node, props);
|
|
56
56
|
return () => ref.instance.detach(component, node);
|
package/lib/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":";;;;AAIA,qCAAqH;AACrH,mCAAsD;AACtD,uCAAoC;AAEpC,SAAsB,gBAAgB,CACpC,iBAAyC,EACzC,KAAe;;QAEf,IAAI,QAAQ,IAAI,iBAAiB,IAAI,OAAO,iBAAiB,CAAC,MAAM,KAAK,UAAU,EAAE;YACnF,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,YAAY,OAAO,CAAC,EAAE;gBACzD,iBAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC3E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;wBACxD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;qBACvF;oBAED,IAAA,qBAAY,EAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/lib/module.d.ts
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import type { PiletApi } from 'piral-core';
|
|
2
|
-
import type { NgOptions, ModuleInstanceResult } from './types';
|
|
2
|
+
import type { NgOptions, ModuleInstanceResult, NgModuleFlags } from './types';
|
|
3
3
|
interface ModuleDefinition {
|
|
4
4
|
active: any;
|
|
5
5
|
module: any;
|
|
6
6
|
components: Array<any>;
|
|
7
7
|
opts: NgOptions;
|
|
8
|
+
flags: NgModuleFlags;
|
|
8
9
|
}
|
|
9
10
|
export declare function activateModuleInstance(moduleDef: ModuleDefinition, piral: PiletApi): ModuleInstanceResult;
|
|
10
11
|
export declare function getModuleInstance(component: any, standalone: boolean, piral: PiletApi): ModuleInstanceResult;
|
|
11
12
|
export declare function createModuleInstance(component: any, standalone: boolean, piral: PiletApi): ModuleInstanceResult;
|
|
12
13
|
export declare function findModule(module: any): ModuleDefinition;
|
|
13
|
-
export declare function defineModule(module: any, opts?: NgOptions): (selector: string) => {
|
|
14
|
+
export declare function defineModule(module: any, opts?: NgOptions, flags?: NgModuleFlags): (selector: string) => {
|
|
14
15
|
component: {
|
|
15
16
|
selector: string;
|
|
16
17
|
module: any;
|
|
17
18
|
opts: (import("@angular/core").CompilerOptions & import("@angular/core").BootstrapOptions) | (import("@angular/core").CompilerOptions & import("@angular/core").BootstrapOptions)[];
|
|
19
|
+
flags: NgModuleFlags;
|
|
18
20
|
state: {
|
|
19
21
|
current: any;
|
|
20
22
|
};
|
package/lib/module.js
CHANGED
|
@@ -21,10 +21,11 @@ function instantiateModule(moduleDef, piral) {
|
|
|
21
21
|
{ provide: 'piral', useFactory: () => piral, deps: [] },
|
|
22
22
|
];
|
|
23
23
|
let BootstrapModule = BootstrapModule_1 = class BootstrapModule {
|
|
24
|
-
constructor(resolver, zone, routing) {
|
|
24
|
+
constructor(resolver, zone, routing, flags) {
|
|
25
25
|
this.resolver = resolver;
|
|
26
26
|
this.zone = zone;
|
|
27
27
|
this.routing = routing;
|
|
28
|
+
this.flags = flags;
|
|
28
29
|
this.refs = [];
|
|
29
30
|
}
|
|
30
31
|
ngDoBootstrap(appRef) {
|
|
@@ -49,6 +50,7 @@ function instantiateModule(moduleDef, piral) {
|
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
detach(component, node) {
|
|
53
|
+
var _a;
|
|
52
54
|
for (let i = this.refs.length; i--;) {
|
|
53
55
|
const [sourceComponent, sourceNode, ref] = this.refs[i];
|
|
54
56
|
if (sourceComponent === component && sourceNode === node) {
|
|
@@ -56,7 +58,7 @@ function instantiateModule(moduleDef, piral) {
|
|
|
56
58
|
this.refs.splice(i, 1);
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
|
-
if (this.refs.length === 0) {
|
|
61
|
+
if (!((_a = this.flags) === null || _a === void 0 ? void 0 : _a.keepAlive) && this.refs.length === 0) {
|
|
60
62
|
(0, startup_1.teardown)(BootstrapModule_1);
|
|
61
63
|
}
|
|
62
64
|
}
|
|
@@ -68,7 +70,10 @@ function instantiateModule(moduleDef, piral) {
|
|
|
68
70
|
entryComponents: components,
|
|
69
71
|
providers,
|
|
70
72
|
}),
|
|
71
|
-
tslib_1.
|
|
73
|
+
tslib_1.__param(3, (0, core_1.Inject)('NgFlags')),
|
|
74
|
+
tslib_1.__metadata("design:paramtypes", [core_1.ComponentFactoryResolver,
|
|
75
|
+
core_1.NgZone,
|
|
76
|
+
RoutingService_1.RoutingService, Object])
|
|
72
77
|
], BootstrapModule);
|
|
73
78
|
return BootstrapModule;
|
|
74
79
|
}
|
|
@@ -76,7 +81,7 @@ function activateModuleInstance(moduleDef, piral) {
|
|
|
76
81
|
if (!moduleDef.active) {
|
|
77
82
|
moduleDef.active = instantiateModule(moduleDef, piral);
|
|
78
83
|
}
|
|
79
|
-
return [moduleDef.active, moduleDef.opts];
|
|
84
|
+
return [moduleDef.active, moduleDef.opts, moduleDef.flags];
|
|
80
85
|
}
|
|
81
86
|
exports.activateModuleInstance = activateModuleInstance;
|
|
82
87
|
function getModuleInstance(component, standalone, piral) {
|
|
@@ -115,13 +120,14 @@ function findModule(module) {
|
|
|
115
120
|
return availableModules.find((m) => m.module === module);
|
|
116
121
|
}
|
|
117
122
|
exports.findModule = findModule;
|
|
118
|
-
function defineModule(module, opts = undefined) {
|
|
123
|
+
function defineModule(module, opts = undefined, flags = undefined) {
|
|
119
124
|
const [annotation] = (0, utils_1.getAnnotations)(module);
|
|
120
125
|
if (annotation) {
|
|
121
126
|
availableModules.push({
|
|
122
127
|
active: undefined,
|
|
123
128
|
components: (0, utils_1.findComponents)(annotation.exports),
|
|
124
129
|
module,
|
|
130
|
+
flags,
|
|
125
131
|
opts,
|
|
126
132
|
});
|
|
127
133
|
}
|
|
@@ -130,7 +136,7 @@ function defineModule(module, opts = undefined) {
|
|
|
130
136
|
current: undefined,
|
|
131
137
|
};
|
|
132
138
|
return (selector) => ({
|
|
133
|
-
component: { selector, module, opts, state },
|
|
139
|
+
component: { selector, module, opts, flags, state },
|
|
134
140
|
type: 'ng',
|
|
135
141
|
});
|
|
136
142
|
}
|
package/lib/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;AAGA,gEAA0D;AAC1D,4CAA+C;AAC/C,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/lib/startup.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ComponentContext } from 'piral-core';
|
|
2
|
-
import type { NgOptions } from './types';
|
|
2
|
+
import type { NgModuleFlags, NgOptions } from './types';
|
|
3
3
|
import { NgModuleRef } from '@angular/core';
|
|
4
4
|
export type NgModuleInt = NgModuleRef<any> & {
|
|
5
5
|
_destroyed: boolean;
|
|
6
6
|
};
|
|
7
7
|
export declare function teardown(BootstrapModule: any): void;
|
|
8
|
-
export declare function startup(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions): Promise<void | NgModuleInt>;
|
|
8
|
+
export declare function startup(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions, ngFlags?: NgModuleFlags): Promise<void | NgModuleInt>;
|
package/lib/startup.js
CHANGED
|
@@ -19,11 +19,12 @@ const customPlatformDynamicFactory = (0, core_1.createPlatformFactory)(platform_
|
|
|
19
19
|
},
|
|
20
20
|
]);
|
|
21
21
|
const runningModules = [];
|
|
22
|
-
function startNew(BootstrapModule, context, ngOptions) {
|
|
22
|
+
function startNew(BootstrapModule, context, ngOptions, ngFlags) {
|
|
23
23
|
const path = context.publicPath || '/';
|
|
24
24
|
const platform = customPlatformDynamicFactory([
|
|
25
25
|
{ provide: 'Context', useValue: context },
|
|
26
26
|
{ provide: common_1.APP_BASE_HREF, useValue: path },
|
|
27
|
+
{ provide: 'NgFlags', useValue: ngFlags },
|
|
27
28
|
]);
|
|
28
29
|
const id = (0, utils_1.getId)();
|
|
29
30
|
const zoneIdentifier = `piral-ng:${id}`;
|
|
@@ -62,7 +63,7 @@ function teardown(BootstrapModule) {
|
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
exports.teardown = teardown;
|
|
65
|
-
function startup(BootstrapModule, context, ngOptions) {
|
|
66
|
+
function startup(BootstrapModule, context, ngOptions, ngFlags) {
|
|
66
67
|
const runningModule = runningModules.find(([ref]) => ref === BootstrapModule);
|
|
67
68
|
if (runningModule) {
|
|
68
69
|
const [, instance, platform] = runningModule;
|
|
@@ -73,7 +74,7 @@ function startup(BootstrapModule, context, ngOptions) {
|
|
|
73
74
|
return Promise.resolve(instance);
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
|
-
return startNew(BootstrapModule, context, ngOptions);
|
|
77
|
+
return startNew(BootstrapModule, context, ngOptions, ngFlags);
|
|
77
78
|
}
|
|
78
79
|
exports.startup = startup;
|
|
79
80
|
if (process.env.NODE_ENV === 'development') {
|
package/lib/startup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":";;;AAEA,wCAOuB;AACvB,4CAAgD;AAChD,gFAG2C;AAC3C,mCAA8C;AAE9C,SAAS,iBAAiB,CAAC,QAAoC;IAC7D,MAAM,KAAK,GAAG,IAAA,oBAAY,GAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC;IAC5B,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,gFAAgF;AAChF,MAAM,4BAA4B,GAAG,IAAA,4BAAqB,EAAC,+CAAmB,EAAE,cAAc,EAAE;IAC9F,GAAG,uEAA2C;IAC9C;QACE,OAAO,EAAE,gCAAwB;QACjC,QAAQ,EAAE,IAAI;KACf;CACF,CAAC,CAAC;AACH,MAAM,cAAc,GAA2C,EAAE,CAAC;AAElE,SAAS,QAAQ,CAAC,eAAoB,EAAE,OAAyB,EAAE,SAAqB;
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -8,6 +8,12 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
8
8
|
ng(component: NgComponent): ForeignComponent<TProps>;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
+
export interface NgModuleFlags {
|
|
12
|
+
/**
|
|
13
|
+
* If set to true prevents the module from being disposed.
|
|
14
|
+
*/
|
|
15
|
+
keepAlive?: boolean;
|
|
16
|
+
}
|
|
11
17
|
/**
|
|
12
18
|
* Options passed through to Angular `bootstrapModule`.
|
|
13
19
|
*
|
|
@@ -15,7 +21,7 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
15
21
|
* See https://angular.io/api/core/PlatformRef#bootstrapModule for possible values.
|
|
16
22
|
*/
|
|
17
23
|
export type NgOptions = Parameters<PlatformRef['bootstrapModule']>[1];
|
|
18
|
-
export type ModuleInstanceResult = [any, NgOptions];
|
|
24
|
+
export type ModuleInstanceResult = [any, NgOptions, NgModuleFlags];
|
|
19
25
|
export type PrepareBootstrapResult = [...ModuleInstanceResult, any];
|
|
20
26
|
export type NgModuleInt = NgModuleRef<any> & {
|
|
21
27
|
_destroyed: boolean;
|
|
@@ -36,6 +42,7 @@ export interface NgLazyType {
|
|
|
36
42
|
default: Type<any>;
|
|
37
43
|
}>;
|
|
38
44
|
opts: NgOptions;
|
|
45
|
+
flags: NgModuleFlags;
|
|
39
46
|
state: any;
|
|
40
47
|
}
|
|
41
48
|
/**
|
|
@@ -57,15 +64,17 @@ export interface NgModuleDefiner {
|
|
|
57
64
|
* Defines the module to use when bootstrapping the Angular pilet.
|
|
58
65
|
* @param ngModule The module to use for running Angular.
|
|
59
66
|
* @param opts The options to pass when bootstrapping.
|
|
67
|
+
* @param flags The flags to use when dealing with the module.
|
|
60
68
|
*/
|
|
61
|
-
<T>(module: Type<T>, opts?: NgOptions): void;
|
|
69
|
+
<T>(module: Type<T>, opts?: NgOptions, flags?: NgModuleFlags): void;
|
|
62
70
|
/**
|
|
63
71
|
* Defines the module to lazy load for bootstrapping the Angular pilet.
|
|
64
72
|
* @param getModule The module lazy loader to use for running Angular.
|
|
65
73
|
* @param opts The options to pass when bootstrapping.
|
|
74
|
+
* @param flags The flags to use when dealing with the module.
|
|
66
75
|
* @returns The module ID to be used to reference components.
|
|
67
76
|
*/
|
|
68
|
-
<T>(getModule: LazyType<T>, opts?: NgOptions): NgComponentLoader;
|
|
77
|
+
<T>(getModule: LazyType<T>, opts?: NgOptions, flags?: NgModuleFlags): NgComponentLoader;
|
|
69
78
|
}
|
|
70
79
|
export interface NgComponent {
|
|
71
80
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-ng",
|
|
3
|
-
"version": "1.2.0-beta.
|
|
3
|
+
"version": "1.2.0-beta.5865",
|
|
4
4
|
"description": "Plugin for integrating Angular components in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
"@angular/platform-browser-dynamic": "^16.0.0",
|
|
82
82
|
"@angular/router": "^16.0.0",
|
|
83
83
|
"ng-packagr": "^16.0.0",
|
|
84
|
-
"piral-core": "1.2.0-beta.
|
|
84
|
+
"piral-core": "1.2.0-beta.5865",
|
|
85
85
|
"rxjs": "^7.3.0"
|
|
86
86
|
},
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "486ba133751b64b9873c73a8f4ad12448df9e43d"
|
|
88
88
|
}
|
package/src/RoutingService.ts
CHANGED
|
@@ -64,6 +64,10 @@ export class RoutingService implements OnDestroy {
|
|
|
64
64
|
const skipIds: Array<number> = [];
|
|
65
65
|
const nav = this.context.navigation;
|
|
66
66
|
|
|
67
|
+
const queueNavigation = (url: string) => {
|
|
68
|
+
window.requestAnimationFrame(() => nav.push(url));
|
|
69
|
+
};
|
|
70
|
+
|
|
67
71
|
this.dispose = nav.listen(({ location }) => {
|
|
68
72
|
const path = location.pathname;
|
|
69
73
|
|
|
@@ -84,7 +88,7 @@ export class RoutingService implements OnDestroy {
|
|
|
84
88
|
}
|
|
85
89
|
|
|
86
90
|
if (routerUrl !== locationUrl) {
|
|
87
|
-
|
|
91
|
+
queueNavigation(routerUrl);
|
|
88
92
|
}
|
|
89
93
|
} else if (e.type === 0 && skipNavigation) {
|
|
90
94
|
skipIds.push(e.id);
|
|
@@ -97,7 +101,7 @@ export class RoutingService implements OnDestroy {
|
|
|
97
101
|
const routerUrl = e.routerEvent.url;
|
|
98
102
|
|
|
99
103
|
if (routerUrl !== locationUrl) {
|
|
100
|
-
|
|
104
|
+
queueNavigation(routerUrl);
|
|
101
105
|
}
|
|
102
106
|
} else {
|
|
103
107
|
skipIds.splice(index, 1);
|
package/src/bootstrap.ts
CHANGED
|
@@ -17,7 +17,7 @@ export async function prepareBootstrap(
|
|
|
17
17
|
throw new Error('The lazy loaded module does not `default` export a NgModule class.');
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
defineModule(result.default, moduleOrComponent.opts);
|
|
20
|
+
defineModule(result.default, moduleOrComponent.opts, moduleOrComponent.flags);
|
|
21
21
|
return findModule(result.default);
|
|
22
22
|
});
|
|
23
23
|
}
|
|
@@ -59,8 +59,8 @@ export async function bootstrap<TProps extends BaseComponentProps>(
|
|
|
59
59
|
props: BehaviorSubject<TProps>,
|
|
60
60
|
context: ComponentContext,
|
|
61
61
|
): Promise<Disposable> {
|
|
62
|
-
const [selectedModule, ngOptions, component] = result;
|
|
63
|
-
const ref = await startup(selectedModule, context, ngOptions);
|
|
62
|
+
const [selectedModule, ngOptions, ngFlags, component] = result;
|
|
63
|
+
const ref = await startup(selectedModule, context, ngOptions, ngFlags);
|
|
64
64
|
|
|
65
65
|
if (ref) {
|
|
66
66
|
ref.instance.attach(component, node, props);
|
package/src/module.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PiletApi } from 'piral-core';
|
|
2
2
|
import type { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import type { NgOptions, ModuleInstanceResult } from './types';
|
|
3
|
+
import type { NgOptions, ModuleInstanceResult, NgModuleFlags } from './types';
|
|
4
4
|
import { BrowserModule } from '@angular/platform-browser';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
6
6
|
import {
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
ComponentFactoryResolver,
|
|
9
9
|
ComponentRef,
|
|
10
10
|
CUSTOM_ELEMENTS_SCHEMA,
|
|
11
|
+
Inject,
|
|
11
12
|
NgModule,
|
|
12
13
|
NgZone,
|
|
13
14
|
} from '@angular/core';
|
|
@@ -21,6 +22,7 @@ interface ModuleDefinition {
|
|
|
21
22
|
module: any;
|
|
22
23
|
components: Array<any>;
|
|
23
24
|
opts: NgOptions;
|
|
25
|
+
flags: NgModuleFlags;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
const availableModules: Array<ModuleDefinition> = [];
|
|
@@ -45,7 +47,12 @@ function instantiateModule(moduleDef: ModuleDefinition, piral: PiletApi) {
|
|
|
45
47
|
private appRef: ApplicationRef;
|
|
46
48
|
private refs: Array<[any, HTMLElement, ComponentRef<any>]> = [];
|
|
47
49
|
|
|
48
|
-
constructor(
|
|
50
|
+
constructor(
|
|
51
|
+
private resolver: ComponentFactoryResolver,
|
|
52
|
+
private zone: NgZone,
|
|
53
|
+
public routing: RoutingService,
|
|
54
|
+
@Inject('NgFlags') private flags: NgModuleFlags,
|
|
55
|
+
) {}
|
|
49
56
|
|
|
50
57
|
ngDoBootstrap(appRef: ApplicationRef) {
|
|
51
58
|
this.appRef = appRef;
|
|
@@ -81,7 +88,7 @@ function instantiateModule(moduleDef: ModuleDefinition, piral: PiletApi) {
|
|
|
81
88
|
}
|
|
82
89
|
}
|
|
83
90
|
|
|
84
|
-
if (this.refs.length === 0) {
|
|
91
|
+
if (!this.flags?.keepAlive && this.refs.length === 0) {
|
|
85
92
|
teardown(BootstrapModule);
|
|
86
93
|
}
|
|
87
94
|
}
|
|
@@ -95,7 +102,7 @@ export function activateModuleInstance(moduleDef: ModuleDefinition, piral: Pilet
|
|
|
95
102
|
moduleDef.active = instantiateModule(moduleDef, piral);
|
|
96
103
|
}
|
|
97
104
|
|
|
98
|
-
return [moduleDef.active, moduleDef.opts];
|
|
105
|
+
return [moduleDef.active, moduleDef.opts, moduleDef.flags];
|
|
99
106
|
}
|
|
100
107
|
|
|
101
108
|
export function getModuleInstance(component: any, standalone: boolean, piral: PiletApi) {
|
|
@@ -140,7 +147,7 @@ export function findModule(module: any) {
|
|
|
140
147
|
return availableModules.find((m) => m.module === module);
|
|
141
148
|
}
|
|
142
149
|
|
|
143
|
-
export function defineModule(module: any, opts: NgOptions = undefined) {
|
|
150
|
+
export function defineModule(module: any, opts: NgOptions = undefined, flags: NgModuleFlags = undefined) {
|
|
144
151
|
const [annotation] = getAnnotations(module);
|
|
145
152
|
|
|
146
153
|
if (annotation) {
|
|
@@ -148,6 +155,7 @@ export function defineModule(module: any, opts: NgOptions = undefined) {
|
|
|
148
155
|
active: undefined,
|
|
149
156
|
components: findComponents(annotation.exports),
|
|
150
157
|
module,
|
|
158
|
+
flags,
|
|
151
159
|
opts,
|
|
152
160
|
});
|
|
153
161
|
} else if (typeof module === 'function') {
|
|
@@ -156,7 +164,7 @@ export function defineModule(module: any, opts: NgOptions = undefined) {
|
|
|
156
164
|
};
|
|
157
165
|
|
|
158
166
|
return (selector: string) => ({
|
|
159
|
-
component: { selector, module, opts, state },
|
|
167
|
+
component: { selector, module, opts, flags, state },
|
|
160
168
|
type: 'ng' as const,
|
|
161
169
|
});
|
|
162
170
|
}
|
package/src/startup.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentContext } from 'piral-core';
|
|
2
|
-
import type { NgOptions } from './types';
|
|
2
|
+
import type { NgModuleFlags, NgOptions } from './types';
|
|
3
3
|
import {
|
|
4
4
|
createPlatformFactory,
|
|
5
5
|
enableProdMode,
|
|
@@ -31,11 +31,12 @@ const customPlatformDynamicFactory = createPlatformFactory(platformCoreDynamic,
|
|
|
31
31
|
]);
|
|
32
32
|
const runningModules: Array<[any, NgModuleInt, PlatformRef]> = [];
|
|
33
33
|
|
|
34
|
-
function startNew(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions) {
|
|
34
|
+
function startNew(BootstrapModule: any, context: ComponentContext, ngOptions?: NgOptions, ngFlags?: NgModuleFlags) {
|
|
35
35
|
const path = context.publicPath || '/';
|
|
36
36
|
const platform = customPlatformDynamicFactory([
|
|
37
37
|
{ provide: 'Context', useValue: context },
|
|
38
38
|
{ provide: APP_BASE_HREF, useValue: path },
|
|
39
|
+
{ provide: 'NgFlags', useValue: ngFlags },
|
|
39
40
|
]);
|
|
40
41
|
const id = getId();
|
|
41
42
|
const zoneIdentifier = `piral-ng:${id}`;
|
|
@@ -87,6 +88,7 @@ export function startup(
|
|
|
87
88
|
BootstrapModule: any,
|
|
88
89
|
context: ComponentContext,
|
|
89
90
|
ngOptions?: NgOptions,
|
|
91
|
+
ngFlags?: NgModuleFlags,
|
|
90
92
|
): Promise<void | NgModuleInt> {
|
|
91
93
|
const runningModule = runningModules.find(([ref]) => ref === BootstrapModule);
|
|
92
94
|
|
|
@@ -100,7 +102,7 @@ export function startup(
|
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
|
|
103
|
-
return startNew(BootstrapModule, context, ngOptions);
|
|
105
|
+
return startNew(BootstrapModule, context, ngOptions, ngFlags);
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
if (process.env.NODE_ENV === 'development') {
|
package/src/types.ts
CHANGED
|
@@ -10,6 +10,13 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
export interface NgModuleFlags {
|
|
14
|
+
/**
|
|
15
|
+
* If set to true prevents the module from being disposed.
|
|
16
|
+
*/
|
|
17
|
+
keepAlive?: boolean;
|
|
18
|
+
}
|
|
19
|
+
|
|
13
20
|
/**
|
|
14
21
|
* Options passed through to Angular `bootstrapModule`.
|
|
15
22
|
*
|
|
@@ -18,7 +25,7 @@ declare module 'piral-core/lib/types/custom' {
|
|
|
18
25
|
*/
|
|
19
26
|
export type NgOptions = Parameters<PlatformRef['bootstrapModule']>[1];
|
|
20
27
|
|
|
21
|
-
export type ModuleInstanceResult = [any, NgOptions];
|
|
28
|
+
export type ModuleInstanceResult = [any, NgOptions, NgModuleFlags];
|
|
22
29
|
|
|
23
30
|
export type PrepareBootstrapResult = [...ModuleInstanceResult, any];
|
|
24
31
|
|
|
@@ -39,6 +46,7 @@ export interface NgLazyType {
|
|
|
39
46
|
selector: string;
|
|
40
47
|
module: () => Promise<{ default: Type<any> }>;
|
|
41
48
|
opts: NgOptions;
|
|
49
|
+
flags: NgModuleFlags;
|
|
42
50
|
state: any;
|
|
43
51
|
}
|
|
44
52
|
|
|
@@ -60,15 +68,17 @@ export interface NgModuleDefiner {
|
|
|
60
68
|
* Defines the module to use when bootstrapping the Angular pilet.
|
|
61
69
|
* @param ngModule The module to use for running Angular.
|
|
62
70
|
* @param opts The options to pass when bootstrapping.
|
|
71
|
+
* @param flags The flags to use when dealing with the module.
|
|
63
72
|
*/
|
|
64
|
-
<T>(module: Type<T>, opts?: NgOptions): void;
|
|
73
|
+
<T>(module: Type<T>, opts?: NgOptions, flags?: NgModuleFlags): void;
|
|
65
74
|
/**
|
|
66
75
|
* Defines the module to lazy load for bootstrapping the Angular pilet.
|
|
67
76
|
* @param getModule The module lazy loader to use for running Angular.
|
|
68
77
|
* @param opts The options to pass when bootstrapping.
|
|
78
|
+
* @param flags The flags to use when dealing with the module.
|
|
69
79
|
* @returns The module ID to be used to reference components.
|
|
70
80
|
*/
|
|
71
|
-
<T>(getModule: LazyType<T>, opts?: NgOptions): NgComponentLoader;
|
|
81
|
+
<T>(getModule: LazyType<T>, opts?: NgOptions, flags?: NgModuleFlags): NgComponentLoader;
|
|
72
82
|
}
|
|
73
83
|
|
|
74
84
|
export interface NgComponent {
|