piral-ng 1.2.0-beta.5863 → 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.
@@ -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
- nav.push(routerUrl);
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
- nav.push(routerUrl);
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);
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
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
- __metadata("design:paramtypes", [ComponentFactoryResolver, NgZone, RoutingService])
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":"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"}
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.
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
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
  /**
@@ -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
- nav.push(routerUrl);
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
- nav.push(routerUrl);
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);
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
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.__metadata("design:paramtypes", [core_1.ComponentFactoryResolver, core_1.NgZone, RoutingService_1.RoutingService])
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":"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"}
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') {
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
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.5863",
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.5863",
84
+ "piral-core": "1.2.0-beta.5865",
85
85
  "rxjs": "^7.3.0"
86
86
  },
87
- "gitHead": "fa4603cf01a1701690b047482040662154b96eb2"
87
+ "gitHead": "486ba133751b64b9873c73a8f4ad12448df9e43d"
88
88
  }
@@ -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
- nav.push(routerUrl);
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
- nav.push(routerUrl);
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(private resolver: ComponentFactoryResolver, private zone: NgZone, public routing: RoutingService) {}
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 {