@wavemaker/app-ng-runtime 11.5.2-rc.5436 → 11.5.3-next.141099

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. app-ng-runtime/build-task/bundles/index.umd.js +1 -8
  2. app-ng-runtime/build-task/esm2020/data/form/form.build.mjs +2 -9
  3. app-ng-runtime/build-task/fesm2015/index.mjs +1 -8
  4. app-ng-runtime/build-task/fesm2015/index.mjs.map +1 -1
  5. app-ng-runtime/build-task/fesm2020/index.mjs +1 -8
  6. app-ng-runtime/build-task/fesm2020/index.mjs.map +1 -1
  7. app-ng-runtime/components/base/bundles/index.umd.js +58 -23
  8. app-ng-runtime/components/base/esm2020/widgets/common/base/base-field-validations.mjs +9 -12
  9. app-ng-runtime/components/base/esm2020/widgets/common/base/base.component.mjs +39 -13
  10. app-ng-runtime/components/base/esm2020/widgets/common/lazy-load/lazy-load.directive.mjs +16 -3
  11. app-ng-runtime/components/base/fesm2015/index.mjs +60 -24
  12. app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
  13. app-ng-runtime/components/base/fesm2020/index.mjs +60 -24
  14. app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
  15. app-ng-runtime/components/base/widgets/common/base/base-field-validations.d.ts +0 -1
  16. app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +1 -0
  17. app-ng-runtime/components/data/form/bundles/index.umd.js +1 -1
  18. app-ng-runtime/components/data/form/esm2020/form.component.mjs +2 -2
  19. app-ng-runtime/components/data/form/fesm2015/index.mjs +1 -1
  20. app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
  21. app-ng-runtime/components/data/form/fesm2020/index.mjs +1 -1
  22. app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
  23. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +0 -1
  24. app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +0 -1
  25. app-ng-runtime/components/dialogs/design-dialog/esm2020/dialog.component.mjs +1 -2
  26. app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs +0 -1
  27. app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs.map +1 -1
  28. app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs +0 -1
  29. app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs.map +1 -1
  30. app-ng-runtime/components/input/default/bundles/index.umd.js +10 -18
  31. app-ng-runtime/components/input/default/esm2020/base-form-custom.component.mjs +2 -6
  32. app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +1 -12
  33. app-ng-runtime/components/input/default/esm2020/text/locale/number-locale.mjs +10 -3
  34. app-ng-runtime/components/input/default/fesm2015/index.mjs +10 -18
  35. app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
  36. app-ng-runtime/components/input/default/fesm2020/index.mjs +10 -18
  37. app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
  38. app-ng-runtime/components/input/epoch/bundles/index.umd.js +11 -8
  39. app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +5 -8
  40. app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +8 -2
  41. app-ng-runtime/components/input/epoch/fesm2015/index.mjs +11 -8
  42. app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
  43. app-ng-runtime/components/input/epoch/fesm2020/index.mjs +11 -8
  44. app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
  45. app-ng-runtime/components/navigation/menu/bundles/index.umd.js +9 -12
  46. app-ng-runtime/components/navigation/menu/esm2020/menu-dropdown-item/menu-dropdown-item.component.mjs +5 -6
  47. app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +5 -6
  48. app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +5 -6
  49. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +9 -12
  50. app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
  51. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +9 -12
  52. app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
  53. app-ng-runtime/components/navigation/menu/menu-dropdown-item/menu-dropdown-item.component.d.ts +3 -4
  54. app-ng-runtime/components/navigation/menu/menu.component.d.ts +3 -4
  55. app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +3 -4
  56. app-ng-runtime/core/bundles/index.umd.js +1 -43
  57. app-ng-runtime/core/esm2020/public_api.mjs +2 -2
  58. app-ng-runtime/core/esm2020/utils/dom.mjs +1 -6
  59. app-ng-runtime/core/esm2020/utils/utils.mjs +1 -35
  60. app-ng-runtime/core/esm2020/utils/watcher.mjs +2 -2
  61. app-ng-runtime/core/fesm2015/index.mjs +2 -43
  62. app-ng-runtime/core/fesm2015/index.mjs.map +1 -1
  63. app-ng-runtime/core/fesm2020/index.mjs +2 -43
  64. app-ng-runtime/core/fesm2020/index.mjs.map +1 -1
  65. app-ng-runtime/core/public_api.d.ts +1 -1
  66. app-ng-runtime/core/utils/utils.d.ts +0 -2
  67. app-ng-runtime/package.json +1 -1
  68. app-ng-runtime/runtime/base/bundles/index.umd.js +0 -4
  69. app-ng-runtime/runtime/base/esm2020/services/dynamic-component-ref-provider.service.mjs +1 -4
  70. app-ng-runtime/runtime/base/esm2020/util/fragment-monitor.mjs +1 -2
  71. app-ng-runtime/runtime/base/fesm2015/index.mjs +0 -4
  72. app-ng-runtime/runtime/base/fesm2015/index.mjs.map +1 -1
  73. app-ng-runtime/runtime/base/fesm2020/index.mjs +0 -4
  74. app-ng-runtime/runtime/base/fesm2020/index.mjs.map +1 -1
  75. app-ng-runtime/runtime/base/util/fragment-monitor.d.ts +0 -1
  76. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +0 -1
  77. app-ng-runtime/runtime/dynamic/esm2020/app/services/component-ref-provider.service.mjs +1 -2
  78. app-ng-runtime/runtime/dynamic/fesm2015/index.mjs +0 -1
  79. app-ng-runtime/runtime/dynamic/fesm2015/index.mjs.map +1 -1
  80. app-ng-runtime/runtime/dynamic/fesm2020/index.mjs +0 -1
  81. app-ng-runtime/runtime/dynamic/fesm2020/index.mjs.map +1 -1
  82. app-ng-runtime/variables/bundles/index.umd.js +1 -2
  83. app-ng-runtime/variables/esm2020/service/variables.service.mjs +2 -3
  84. app-ng-runtime/variables/fesm2015/index.mjs +1 -2
  85. app-ng-runtime/variables/fesm2015/index.mjs.map +1 -1
  86. app-ng-runtime/variables/fesm2020/index.mjs +1 -2
  87. app-ng-runtime/variables/fesm2020/index.mjs.map +1 -1
@@ -4,7 +4,6 @@ export declare abstract class FragmentMonitor {
4
4
  fragments: number;
5
5
  viewInit$: Subject<any>;
6
6
  isViewInitialized: boolean;
7
- isPageComponent: boolean;
8
7
  fragmentsLoaded$: Subject<unknown>;
9
8
  constructor();
10
9
  init(): void;
@@ -313,7 +313,6 @@
313
313
  constructor(injector) {
314
314
  super();
315
315
  this.injector = injector;
316
- this.isDynamicComponent = true;
317
316
  this.injector = injector;
318
317
  switch (type) {
319
318
  case i4.ComponentType.PAGE:
@@ -76,7 +76,6 @@ const getDynamicComponent = (componentName, type, template, css, script, variabl
76
76
  constructor(injector) {
77
77
  super();
78
78
  this.injector = injector;
79
- this.isDynamicComponent = true;
80
79
  this.injector = injector;
81
80
  switch (type) {
82
81
  case ComponentType.PAGE:
@@ -197,4 +196,4 @@ ComponentRefProviderService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ tok
197
196
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ComponentRefProviderService, [{
198
197
  type: Injectable
199
198
  }], function () { return [{ type: i1.AppResourceManagerService }, { type: i2.App }, { type: i3.AppManagerService }, { type: i0.Compiler }]; }, null); })();
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlZi1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1keW5hbWljL3NyYy9hcHAvc2VydmljZXMvY29tcG9uZW50LXJlZi1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsUUFBUSxFQUNSLFNBQVMsRUFDVCxzQkFBc0IsRUFBYyxNQUFNLEVBQzFDLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUMxQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQVkzRSxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0FBRXJDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxHQUFHLEVBQW1DLENBQUM7QUFFNUUsd0JBQXdCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQWUsQ0FBQyxDQUFDO0FBQ3pFLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxF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QUFHLENBQUMsb0JBQW9CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUUzRixPQUFPLG1CQUFtQixDQUFDO1FBQy9CLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1AsSUFBSSxHQUFHLEVBQUU7Z0JBQ0wsTUFBTSxHQUFHLEdBQUcsMEJBQTBCLENBQUM7Z0JBQ3ZDLHVDQUF1QztnQkFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUNyQixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRywyQ0FBMkMsRUFDekUsT0FBTyxDQUNWLENBQUM7YUFDTDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELHVCQUF1QjtJQUNoQiw2QkFBNkI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM5QixhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsd0JBQXdCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25DLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3NHQXpGUSwyQkFBMkI7aUZBQTNCLDJCQUEyQixXQUEzQiwyQkFBMkI7dUZBQTNCLDJCQUEyQjtjQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21waWxlcixcbiAgICBDb21wb25lbnQsXG4gICAgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgZm9yd2FyZFJlZiwgSW5qZWN0LFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0b3IsXG4gICAgTmdNb2R1bGUsXG4gICAgTk9fRVJST1JTX1NDSEVNQSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwLCBnZXRWYWxpZEpTT04sIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dCB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IHRyYW5zcGlsZSwgc2NvcGVDb21wb25lbnRTdHlsZXMgfSBmcm9tICdAd20vdHJhbnNwaWxlcic7XG5pbXBvcnQge1xuICAgIEFwcE1hbmFnZXJTZXJ2aWNlLFxuICAgIEJhc2VQYWdlQ29tcG9uZW50LFxuICAgIEJhc2VQYXJ0aWFsQ29tcG9uZW50LFxuICAgIEJhc2VQcmVmYWJDb21wb25lbnQsXG4gICAgQ29tcG9uZW50UmVmUHJvdmlkZXIsXG4gICAgQ29tcG9uZW50VHlwZSxcbiAgICBSdW50aW1lQmFzZU1vZHVsZSxcbiAgICBnZXRQcmVmYWJNaW5Kc29uVXJsLFxuICAgIGdldFByZWZhYlBhcnRpYWxKc29uVXJsXG59IGZyb20gJ0B3bS9ydW50aW1lL2Jhc2UnO1xuXG5pbXBvcnQgeyBBcHBSZXNvdXJjZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9hcHAtcmVzb3VyY2UtbWFuYWdlci5zZXJ2aWNlJztcblxuaW50ZXJmYWNlIElQYWdlTWluSlNPTiB7XG4gICAgbWFya3VwOiBzdHJpbmc7XG4gICAgc2NyaXB0OiBzdHJpbmc7XG4gICAgc3R5bGVzOiBzdHJpbmc7XG4gICAgdmFyaWFibGVzOiBzdHJpbmc7XG4gICAgY29uZmlnPzogc3RyaW5nO1xufVxuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55LCBfO1xuXG5jb25zdCBmcmFnbWVudENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcblxud2luZG93LnJlc291cmNlQ2FjaGUgPSBmcmFnbWVudENhY2hlO1xuXG5jb25zdCBjb21wb25lbnRGYWN0b3J5UmVmQ2FjaGUgPSBuZXcgTWFwPENvbXBvbmVudFR5cGUsIE1hcDxzdHJpbmcsIGFueT4+KCk7XG5cbmNvbXBvbmVudEZhY3RvcnlSZWZDYWNoZS5zZXQoQ29tcG9uZW50VHlwZS5QQUdFLCBuZXcgTWFwPHN0cmluZywgYW55PigpKTtcbmNvbXBvbmVudEZhY3RvcnlSZWZDYWNoZS5zZXQoQ29tcG9uZW50VHlwZS5QQVJUSUFMLCBuZXcgTWFwPHN0cmluZywgYW55PigpKTtcbmNvbXBvbmVudEZhY3RvcnlSZWZDYWNoZS5zZXQoQ29tcG9uZW50VHlwZS5QUkVGQUIsIG5ldyBNYXA8c3RyaW5nLCBhbnk+KCkpO1xuXG5jb25zdCBfZGVjb2RlVVJJQ29tcG9uZW50ID0gKHN0cjogc3RyaW5nKSA9PiBkZWNvZGVVUklDb21wb25lbnQoc3RyLnJlcGxhY2UoL1xcKy9nLCAnICcpKTtcblxuY29uc3QgZ2V0RnJhZ21lbnRVcmwgPSAoZnJhZ21lbnROYW1lOiBzdHJpbmcsIHR5cGU6IENvbXBvbmVudFR5cGUsIG9wdGlvbnM/KSA9PiB7XG4gICAgaWYgKHR5cGUgPT09IENvbXBvbmVudFR5cGUuUEFHRSB8fCB0eXBlID09PSBDb21wb25lbnRUeXBlLlBBUlRJQUwpIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgb3B0aW9ucy5wcmVmYWIgPyBnZXRQcmVmYWJQYXJ0aWFsSnNvblVybChvcHRpb25zLnByZWZhYiwgZnJhZ21lbnROYW1lKSA6IGAuL3BhZ2VzLyR7ZnJhZ21lbnROYW1lfS9wYWdlLm1pbi5qc29uYDtcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09IENvbXBvbmVudFR5cGUuUFJFRkFCKSB7XG4gICAgICAgIHJldHVybiBnZXRQcmVmYWJNaW5Kc29uVXJsKGZyYWdtZW50TmFtZSk7XG4gICAgfVxufTtcblxuY29uc3Qgc2NyaXB0Q2FjaGUgPSBuZXcgTWFwPHN0cmluZywgRnVuY3Rpb24+KCk7XG5jb25zdCBleGVjU2NyaXB0ID0gKFxuICAgIHNjcmlwdDogc3RyaW5nLFxuICAgIGlkZW50aWZpZXI6IHN0cmluZyxcbiAgICBjdHg6IHN0cmluZyxcbiAgICBpbnN0YW5jZTogYW55LFxuICAgIGFwcDogYW55LFxuICAgIHV0aWxzOiBhbnlcbikgPT4ge1xuICAgIGxldCBmbiA9IHNjcmlwdENhY2hlLmdldChpZGVudGlmaWVyKTtcbiAgICAvLyBGaXggZm9yIFtXTVMtMjExOTZdOiBJbmNvcnJlY3Qgc2NyaXB0IGlzIGJlaW5nIGFzc2lnbmVkLCAgd2hlbiAyIHByZWZhYnMgaGF2ZSBzYW1lIHBhcnRpYWwgbmFtZSAoaS5lLiBzYW1lIGlkZW50aWZpZXIpLlxuICAgIGlmICgoY3R4ID09PSAnUGFydGlhbCcgJiYgIV8uaXNVbmRlZmluZWQoaW5zdGFuY2UuUHJlZmFiKSkgfHwgIWZuKSB7XG4gICAgICAgIGZuID0gbmV3IEZ1bmN0aW9uKGN0eCwgJ0FwcCcsICdVdGlscycsIHNjcmlwdCk7XG4gICAgICAgIHNjcmlwdENhY2hlLnNldChpZGVudGlmaWVyLCBmbik7XG4gICAgfVxuICAgIGZuKGluc3RhbmNlLCBhcHAsIHV0aWxzKTtcbn07XG5cbmNsYXNzIEJhc2VEeW5hbWljQ29tcG9uZW50IHtcbiAgICBpbml0KCkge31cbn1cblxuY29uc3QgZ2V0RHluYW1pY01vZHVsZSA9IChjb21wb25lbnRSZWY6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gTmdNb2R1bGUoe1xuICAgICAgICAgICAgZGVjbGFyYXRpb25zOiBbY29tcG9uZW50UmVmXSxcbiAgICAgICAgICAgIGltcG9ydHM6IFtcbiAgICAgICAgICAgICAgICBSdW50aW1lQmFzZU1vZHVsZSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV1cbiAgICB9KShjbGFzcyBEeW5hbWljTW9kdWxlIHt9KTtcbn07XG5cbmNvbnN0IGdldER5bmFtaWNDb21wb25lbnQgPSAoXG4gICAgY29tcG9uZW50TmFtZSxcbiAgICB0eXBlOiBDb21wb25lbnRUeXBlLFxuICAgIHRlbXBsYXRlOiBzdHJpbmcsXG4gICAgY3NzOiBzdHJpbmcsXG4gICAgc2NyaXB0OiBhbnksXG4gICAgdmFyaWFibGVzOiBzdHJpbmcsXG4pID0+IHtcblxuICAgIGNvbnN0IGNvbXBvbmVudERlZiA9IHtcbiAgICAgICAgdGVtcGxhdGUsXG4gICAgICAgIHN0eWxlczogW2Nzc10sXG4gICAgICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbiAgICB9O1xuXG4gICAgbGV0IEJhc2VDbGFzczogYW55ID0gQmFzZUR5bmFtaWNDb21wb25lbnQ7XG4gICAgbGV0IHNlbGVjdG9yID0gJyc7XG4gICAgbGV0IGNvbnRleHQgPSAnJztcblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuUEFHRTpcbiAgICAgICAgICAgIEJhc2VDbGFzcyA9IEJhc2VQYWdlQ29tcG9uZW50O1xuICAgICAgICAgICAgc2VsZWN0b3IgPSBgYXBwLXBhZ2UtJHtjb21wb25lbnROYW1lfWA7XG4gICAgICAgICAgICBjb250ZXh0ID0gJ1BhZ2UnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5QQVJUSUFMOlxuICAgICAgICAgICAgQmFzZUNsYXNzID0gQmFzZVBhcnRpYWxDb21wb25lbnQ7XG4gICAgICAgICAgICBzZWxlY3RvciA9IGBhcHAtcGFydGlhbC0ke2NvbXBvbmVudE5hbWV9YDtcbiAgICAgICAgICAgIGNvbnRleHQgPSAnUGFydGlhbCc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBDb21wb25lbnRUeXBlLlBSRUZBQjpcbiAgICAgICAgICAgIEJhc2VDbGFzcyA9IEJhc2VQcmVmYWJDb21wb25lbnQ7XG4gICAgICAgICAgICBzZWxlY3RvciA9IGBhcHAtcHJlZmFiLSR7Y29tcG9uZW50TmFtZX1gO1xuICAgICAgICAgICAgY29udGV4dCA9ICdQcmVmYWInO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY2xhc3MgRHluYW1pY0NvbXBvbmVudCBleHRlbmRzIEJhc2VDbGFzcyB7XG4gICAgICAgIGlzRHluYW1pY0NvbXBvbmVudDogYm9vbGVhbiA9IHRydWU7XG4gICAgICAgIHBhZ2VOYW1lO1xuICAgICAgICBwYXJ0aWFsTmFtZTtcbiAgICAgICAgcHJlZmFiTmFtZTtcbiAgICAgICAgY29uc3RydWN0b3IoQEluamVjdChJbmplY3RvcikgcHVibGljIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgICAgIHRoaXMuaW5qZWN0b3IgPSBpbmplY3RvcjtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5QQUdFOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2VOYW1lID0gY29tcG9uZW50TmFtZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBDb21wb25lbnRUeXBlLlBBUlRJQUw6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFydGlhbE5hbWUgPSBjb21wb25lbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuUFJFRkFCOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZWZhYk5hbWUgPSBjb21wb25lbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3VwZXIuaW5pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZhbFVzZXJTY3JpcHQoaW5zdGFuY2U6IGFueSwgYXBwQ29udGV4dDogYW55LCB1dGlsczogYW55KSB7XG4gICAgICAgICAgICBleGVjU2NyaXB0KHNjcmlwdCwgc2VsZWN0b3IsIGNvbnRleHQsIGluc3RhbmNlLCBhcHBDb250ZXh0LCB1dGlscyk7XG4gICAgICAgIH1cblxuICAgICAgICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YXJpYWJsZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW4gcHJldmlldyBtb2RlLCB0aGVyZSB3aWxsIGJlIG5vIGZ1bmN0aW9uIHJlZ2lzdGVyZWQuIGZ1bmN0aW9ucyB3aWxsIGJlIGdlbmVyYXRlZCBkeW5hbWljYWxseSB0aHJvdWdoICRwYXJzZUV2ZW50IGFuZCAkcGFyc2VFeHByXG4gICAgICAgIGdldEV4cHJlc3Npb25zKCkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY29tcG9uZW50ID0gQ29tcG9uZW50KHtcbiAgICAgICAgLi4uY29tcG9uZW50RGVmLFxuICAgICAgICBzZWxlY3RvcixcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBEeW5hbWljQ29tcG9uZW50XG4gICAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICB9KShEeW5hbWljQ29tcG9uZW50KVxuICAgIHJldHVybiBjb21wb25lbnQ7XG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50UmVmUHJvdmlkZXJTZXJ2aWNlIGV4dGVuZHMgQ29tcG9uZW50UmVmUHJvdmlkZXIge1xuXG4gICAgcHJpdmF0ZSBsb2FkUmVzb3VyY2VzT2ZGcmFnbWVudChjb21wb25lbnROYW1lLCBjb21wb25lbnRUeXBlLCBvcHRpb25zPyk6IFByb21pc2U8SVBhZ2VNaW5KU09OPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGdldEZyYWdtZW50VXJsKGNvbXBvbmVudE5hbWUsIGNvbXBvbmVudFR5cGUsIG9wdGlvbnMpO1xuXG4gICAgICAgIGNvbnN0IHJlc291cmNlID0gZnJhZ21lbnRDYWNoZS5nZXQodXJsKTtcblxuICAgICAgICBpZiAocmVzb3VyY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzb3VyY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVzb3VjZU1uZ3IuZ2V0KHVybCwgdHJ1ZSlcbiAgICAgICAgICAgIC50aGVuKCh7bWFya3VwLCBzY3JpcHQsIHN0eWxlcywgdmFyaWFibGVzfTogSVBhZ2VNaW5KU09OKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmt1cDogdHJhbnNwaWxlKF9kZWNvZGVVUklDb21wb25lbnQobWFya3VwKSkubWFya3VwLFxuICAgICAgICAgICAgICAgICAgICBzY3JpcHQ6IF9kZWNvZGVVUklDb21wb25lbnQoc2NyaXB0KSxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGVzOiBzY29wZUNvbXBvbmVudFN0eWxlcyhjb21wb25lbnROYW1lLCBjb21wb25lbnRUeXBlLCBfZGVjb2RlVVJJQ29tcG9uZW50KHN0eWxlcykpLFxuICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IGdldFZhbGlkSlNPTihfZGVjb2RlVVJJQ29tcG9uZW50KHZhcmlhYmxlcykpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBmcmFnbWVudENhY2hlLnNldCh1cmwsIHJlc3BvbnNlKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgIH0sIGUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGUuZGV0YWlscy5zdGF0dXM7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JNc2dNYXAgPSB7XG4gICAgICAgICAgICAgICAgICAgIDQwNCA6IHRoaXMuYXBwLmFwcExvY2FsZS5NRVNTQUdFX1BBR0VfTk9UX0ZPVU5EIHx8ICdUaGUgcGFnZSB5b3UgYXJlIHRyeWluZyB0byByZWFjaCBpcyBub3QgYXZhaWxhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgNDAzIDogdGhpcy5hcHAuYXBwTG9jYWxlLkxBQkVMX0FDQ0VTU19ERU5JRUQgfHwgJ0FjY2VzcyBEZW5pZWQnXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3JNc2dNYXBbc3RhdHVzXSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZXNvdWNlTW5ncjogQXBwUmVzb3VyY2VNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHA6IEFwcCxcbiAgICAgICAgcHJpdmF0ZSBhcHBNYW5hZ2VyOiBBcHBNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q29tcG9uZW50RmFjdG9yeVJlZihjb21wb25lbnROYW1lOiBzdHJpbmcsIGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGUsIG9wdGlvbnM/OiB7fSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIGNoZWNrIGluIHRoZSBjYWNoZS5cbiAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeU1hcCA9IGNvbXBvbmVudEZhY3RvcnlSZWZDYWNoZS5nZXQoY29tcG9uZW50VHlwZSk7XG4gICAgICAgIGxldCBjb21wb25lbnRGYWN0b3J5UmVmO1xuICAgICAgICBpZiAoY29tcG9uZW50RmFjdG9yeU1hcCkge1xuICAgICAgICAgICAgY29uc3QgdXBkYXRlZENvbXBvbmVudE5hbWUgPSAob3B0aW9ucyAmJiBvcHRpb25zWydwcmVmYWInXSkgPyBvcHRpb25zWydwcmVmYWInXSArICBjb21wb25lbnROYW1lIDogY29tcG9uZW50TmFtZTtcbiAgICAgICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZWYgPSBjb21wb25lbnRGYWN0b3J5TWFwLmdldCh1cGRhdGVkQ29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgICAgIGlmIChjb21wb25lbnRGYWN0b3J5UmVmKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudEZhY3RvcnlSZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkUmVzb3VyY2VzT2ZGcmFnbWVudChjb21wb25lbnROYW1lLCBjb21wb25lbnRUeXBlLCBvcHRpb25zKVxuICAgICAgICAgICAgLnRoZW4oKHttYXJrdXAsIHNjcmlwdCwgc3R5bGVzLCB2YXJpYWJsZXN9KSAgPT4ge1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RGVmID0gZ2V0RHluYW1pY0NvbXBvbmVudChjb21wb25lbnROYW1lLCBjb21wb25lbnRUeXBlLCBtYXJrdXAsIHN0eWxlcywgc2NyaXB0LCBKU09OLnN0cmluZ2lmeSh2YXJpYWJsZXMpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGVEZWYgPSBnZXREeW5hbWljTW9kdWxlKGNvbXBvbmVudERlZik7XG5cbiAgICAgICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVmID0gdGhpcy5jb21waWxlclxuICAgICAgICAgICAgICAgICAgICAuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNTeW5jKG1vZHVsZURlZilcbiAgICAgICAgICAgICAgICAgICAgLmNvbXBvbmVudEZhY3Rvcmllc1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGZhY3RvcnkgPT4gLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgZmFjdG9yeS5jb21wb25lbnRUeXBlID09PSBjb21wb25lbnREZWYpWzBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZWRDb21wb25lbnROYW1lID0gKG9wdGlvbnMgJiYgb3B0aW9uc1sncHJlZmFiJ10pID8gb3B0aW9uc1sncHJlZmFiJ10gKyAgY29tcG9uZW50TmFtZSA6IGNvbXBvbmVudE5hbWU7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlZkNhY2hlLmdldChjb21wb25lbnRUeXBlKS5zZXQodXBkYXRlZENvbXBvbmVudE5hbWUsIGNvbXBvbmVudEZhY3RvcnlSZWYpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudEZhY3RvcnlSZWY7XG4gICAgICAgICAgICB9LCAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtc2cgPSBcIkVycm9yIHdoaWxlIGxvYWRpbmcgcGFnZVwiO1xuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlIHRoZSBlcnJvciBmb3IgZWFzeSBkZWJ1Z2dpbmdcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cobXNnLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcE1hbmFnZXIubm90aWZ5QXBwKFxuICAgICAgICAgICAgICAgICAgICAgICAgXy5pc1N0cmluZyhlcnIpID8gZXJyIDogbXNnICsgJywgY2hlY2sgYnJvd3NlciBjb25zb2xlIGZvciBlcnJvciBkZXRhaWxzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdlcnJvcidcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBjbGVhcnMgdGhlIGNhY2hlIG1hcFxuICAgIHB1YmxpYyBjbGVhckNvbXBvbmVudEZhY3RvcnlSZWZDYWNoZSgpIHtcbiAgICAgICAgdGhpcy5yZXNvdWNlTW5nci5jbGVhckNhY2hlKCk7XG4gICAgICAgIGZyYWdtZW50Q2FjaGUuY2xlYXIoKTtcbiAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlZkNhY2hlLmZvckVhY2gobWFwID0+IHtcbiAgICAgICAgICAgIG1hcC5jbGVhcigpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LXJlZi1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1keW5hbWljL3NyYy9hcHAvc2VydmljZXMvY29tcG9uZW50LXJlZi1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsUUFBUSxFQUNSLFNBQVMsRUFDVCxzQkFBc0IsRUFBYyxNQUFNLEVBQzFDLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUMxQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7OztBQVkzRSxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0FBRXJDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxHQUFHLEVBQW1DLENBQUM7QUFFNUUsd0JBQXdCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQWUsQ0FBQyxDQUFDO0FBQ3pFLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxF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Q0FBQyxDQUFDO1lBRTNGLE9BQU8sbUJBQW1CLENBQUM7UUFDL0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDUCxJQUFJLEdBQUcsRUFBRTtnQkFDTCxNQUFNLEdBQUcsR0FBRywwQkFBMEIsQ0FBQztnQkFDdkMsdUNBQXVDO2dCQUN2QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQ3JCLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLDJDQUEyQyxFQUN6RSxPQUFPLENBQ1YsQ0FBQzthQUNMO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsdUJBQXVCO0lBQ2hCLDZCQUE2QjtRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0Qix3QkFBd0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7c0dBekZRLDJCQUEyQjtpRkFBM0IsMkJBQTJCLFdBQTNCLDJCQUEyQjt1RkFBM0IsMkJBQTJCO2NBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBpbGVyLFxuICAgIENvbXBvbmVudCxcbiAgICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBmb3J3YXJkUmVmLCBJbmplY3QsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3RvcixcbiAgICBOZ01vZHVsZSxcbiAgICBOT19FUlJPUlNfU0NIRU1BLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBcHAsIGdldFZhbGlkSlNPTiwgVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0IH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgdHJhbnNwaWxlLCBzY29wZUNvbXBvbmVudFN0eWxlcyB9IGZyb20gJ0B3bS90cmFuc3BpbGVyJztcbmltcG9ydCB7XG4gICAgQXBwTWFuYWdlclNlcnZpY2UsXG4gICAgQmFzZVBhZ2VDb21wb25lbnQsXG4gICAgQmFzZVBhcnRpYWxDb21wb25lbnQsXG4gICAgQmFzZVByZWZhYkNvbXBvbmVudCxcbiAgICBDb21wb25lbnRSZWZQcm92aWRlcixcbiAgICBDb21wb25lbnRUeXBlLFxuICAgIFJ1bnRpbWVCYXNlTW9kdWxlLFxuICAgIGdldFByZWZhYk1pbkpzb25VcmwsXG4gICAgZ2V0UHJlZmFiUGFydGlhbEpzb25Vcmxcbn0gZnJvbSAnQHdtL3J1bnRpbWUvYmFzZSc7XG5cbmltcG9ydCB7IEFwcFJlc291cmNlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL2FwcC1yZXNvdXJjZS1tYW5hZ2VyLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgSVBhZ2VNaW5KU09OIHtcbiAgICBtYXJrdXA6IHN0cmluZztcbiAgICBzY3JpcHQ6IHN0cmluZztcbiAgICBzdHlsZXM6IHN0cmluZztcbiAgICB2YXJpYWJsZXM6IHN0cmluZztcbiAgICBjb25maWc/OiBzdHJpbmc7XG59XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnksIF87XG5cbmNvbnN0IGZyYWdtZW50Q2FjaGUgPSBuZXcgTWFwPHN0cmluZywgYW55PigpO1xuXG53aW5kb3cucmVzb3VyY2VDYWNoZSA9IGZyYWdtZW50Q2FjaGU7XG5cbmNvbnN0IGNvbXBvbmVudEZhY3RvcnlSZWZDYWNoZSA9IG5ldyBNYXA8Q29tcG9uZW50VHlwZSwgTWFwPHN0cmluZywgYW55Pj4oKTtcblxuY29tcG9uZW50RmFjdG9yeVJlZkNhY2hlLnNldChDb21wb25lbnRUeXBlLlBBR0UsIG5ldyBNYXA8c3RyaW5nLCBhbnk+KCkpO1xuY29tcG9uZW50RmFjdG9yeVJlZkNhY2hlLnNldChDb21wb25lbnRUeXBlLlBBUlRJQUwsIG5ldyBNYXA8c3RyaW5nLCBhbnk+KCkpO1xuY29tcG9uZW50RmFjdG9yeVJlZkNhY2hlLnNldChDb21wb25lbnRUeXBlLlBSRUZBQiwgbmV3IE1hcDxzdHJpbmcsIGFueT4oKSk7XG5cbmNvbnN0IF9kZWNvZGVVUklDb21wb25lbnQgPSAoc3RyOiBzdHJpbmcpID0+IGRlY29kZVVSSUNvbXBvbmVudChzdHIucmVwbGFjZSgvXFwrL2csICcgJykpO1xuXG5jb25zdCBnZXRGcmFnbWVudFVybCA9IChmcmFnbWVudE5hbWU6IHN0cmluZywgdHlwZTogQ29tcG9uZW50VHlwZSwgb3B0aW9ucz8pID0+IHtcbiAgICBpZiAodHlwZSA9PT0gQ29tcG9uZW50VHlwZS5QQUdFIHx8IHR5cGUgPT09IENvbXBvbmVudFR5cGUuUEFSVElBTCkge1xuICAgICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb25zLnByZWZhYiA/IGdldFByZWZhYlBhcnRpYWxKc29uVXJsKG9wdGlvbnMucHJlZmFiLCBmcmFnbWVudE5hbWUpIDogYC4vcGFnZXMvJHtmcmFnbWVudE5hbWV9L3BhZ2UubWluLmpzb25gO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gQ29tcG9uZW50VHlwZS5QUkVGQUIpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZWZhYk1pbkpzb25VcmwoZnJhZ21lbnROYW1lKTtcbiAgICB9XG59O1xuXG5jb25zdCBzY3JpcHRDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBGdW5jdGlvbj4oKTtcbmNvbnN0IGV4ZWNTY3JpcHQgPSAoXG4gICAgc2NyaXB0OiBzdHJpbmcsXG4gICAgaWRlbnRpZmllcjogc3RyaW5nLFxuICAgIGN0eDogc3RyaW5nLFxuICAgIGluc3RhbmNlOiBhbnksXG4gICAgYXBwOiBhbnksXG4gICAgdXRpbHM6IGFueVxuKSA9PiB7XG4gICAgbGV0IGZuID0gc2NyaXB0Q2FjaGUuZ2V0KGlkZW50aWZpZXIpO1xuICAgIC8vIEZpeCBmb3IgW1dNUy0yMTE5Nl06IEluY29ycmVjdCBzY3JpcHQgaXMgYmVpbmcgYXNzaWduZWQsICB3aGVuIDIgcHJlZmFicyBoYXZlIHNhbWUgcGFydGlhbCBuYW1lIChpLmUuIHNhbWUgaWRlbnRpZmllcikuXG4gICAgaWYgKChjdHggPT09ICdQYXJ0aWFsJyAmJiAhXy5pc1VuZGVmaW5lZChpbnN0YW5jZS5QcmVmYWIpKSB8fCAhZm4pIHtcbiAgICAgICAgZm4gPSBuZXcgRnVuY3Rpb24oY3R4LCAnQXBwJywgJ1V0aWxzJywgc2NyaXB0KTtcbiAgICAgICAgc2NyaXB0Q2FjaGUuc2V0KGlkZW50aWZpZXIsIGZuKTtcbiAgICB9XG4gICAgZm4oaW5zdGFuY2UsIGFwcCwgdXRpbHMpO1xufTtcblxuY2xhc3MgQmFzZUR5bmFtaWNDb21wb25lbnQge1xuICAgIGluaXQoKSB7fVxufVxuXG5jb25zdCBnZXREeW5hbWljTW9kdWxlID0gKGNvbXBvbmVudFJlZjogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBOZ01vZHVsZSh7XG4gICAgICAgICAgICBkZWNsYXJhdGlvbnM6IFtjb21wb25lbnRSZWZdLFxuICAgICAgICAgICAgaW1wb3J0czogW1xuICAgICAgICAgICAgICAgIFJ1bnRpbWVCYXNlTW9kdWxlLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BXVxuICAgIH0pKGNsYXNzIER5bmFtaWNNb2R1bGUge30pO1xufTtcblxuY29uc3QgZ2V0RHluYW1pY0NvbXBvbmVudCA9IChcbiAgICBjb21wb25lbnROYW1lLFxuICAgIHR5cGU6IENvbXBvbmVudFR5cGUsXG4gICAgdGVtcGxhdGU6IHN0cmluZyxcbiAgICBjc3M6IHN0cmluZyxcbiAgICBzY3JpcHQ6IGFueSxcbiAgICB2YXJpYWJsZXM6IHN0cmluZyxcbikgPT4ge1xuXG4gICAgY29uc3QgY29tcG9uZW50RGVmID0ge1xuICAgICAgICB0ZW1wbGF0ZSxcbiAgICAgICAgc3R5bGVzOiBbY3NzXSxcbiAgICAgICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxuICAgIH07XG5cbiAgICBsZXQgQmFzZUNsYXNzOiBhbnkgPSBCYXNlRHluYW1pY0NvbXBvbmVudDtcbiAgICBsZXQgc2VsZWN0b3IgPSAnJztcbiAgICBsZXQgY29udGV4dCA9ICcnO1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5QQUdFOlxuICAgICAgICAgICAgQmFzZUNsYXNzID0gQmFzZVBhZ2VDb21wb25lbnQ7XG4gICAgICAgICAgICBzZWxlY3RvciA9IGBhcHAtcGFnZS0ke2NvbXBvbmVudE5hbWV9YDtcbiAgICAgICAgICAgIGNvbnRleHQgPSAnUGFnZSc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBDb21wb25lbnRUeXBlLlBBUlRJQUw6XG4gICAgICAgICAgICBCYXNlQ2xhc3MgPSBCYXNlUGFydGlhbENvbXBvbmVudDtcbiAgICAgICAgICAgIHNlbGVjdG9yID0gYGFwcC1wYXJ0aWFsLSR7Y29tcG9uZW50TmFtZX1gO1xuICAgICAgICAgICAgY29udGV4dCA9ICdQYXJ0aWFsJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuUFJFRkFCOlxuICAgICAgICAgICAgQmFzZUNsYXNzID0gQmFzZVByZWZhYkNvbXBvbmVudDtcbiAgICAgICAgICAgIHNlbGVjdG9yID0gYGFwcC1wcmVmYWItJHtjb21wb25lbnROYW1lfWA7XG4gICAgICAgICAgICBjb250ZXh0ID0gJ1ByZWZhYic7XG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjbGFzcyBEeW5hbWljQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNsYXNzIHtcbiAgICAgICAgcGFnZU5hbWU7XG4gICAgICAgIHBhcnRpYWxOYW1lO1xuICAgICAgICBwcmVmYWJOYW1lO1xuICAgICAgICBjb25zdHJ1Y3RvcihASW5qZWN0KEluamVjdG9yKSBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgICAgICBzdXBlcigpO1xuICAgICAgICAgICAgdGhpcy5pbmplY3RvciA9IGluamVjdG9yO1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBDb21wb25lbnRUeXBlLlBBR0U6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnZU5hbWUgPSBjb21wb25lbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIENvbXBvbmVudFR5cGUuUEFSVElBTDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXJ0aWFsTmFtZSA9IGNvbXBvbmVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgQ29tcG9uZW50VHlwZS5QUkVGQUI6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJlZmFiTmFtZSA9IGNvbXBvbmVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdXBlci5pbml0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBldmFsVXNlclNjcmlwdChpbnN0YW5jZTogYW55LCBhcHBDb250ZXh0OiBhbnksIHV0aWxzOiBhbnkpIHtcbiAgICAgICAgICAgIGV4ZWNTY3JpcHQoc2NyaXB0LCBzZWxlY3RvciwgY29udGV4dCwgaW5zdGFuY2UsIGFwcENvbnRleHQsIHV0aWxzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGdldFZhcmlhYmxlcygpIHtcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhcmlhYmxlcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbiBwcmV2aWV3IG1vZGUsIHRoZXJlIHdpbGwgYmUgbm8gZnVuY3Rpb24gcmVnaXN0ZXJlZC4gZnVuY3Rpb25zIHdpbGwgYmUgZ2VuZXJhdGVkIGR5bmFtaWNhbGx5IHRocm91Z2ggJHBhcnNlRXZlbnQgYW5kICRwYXJzZUV4cHJcbiAgICAgICAgZ2V0RXhwcmVzc2lvbnMoKSB7XG4gICAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjb21wb25lbnQgPSBDb21wb25lbnQoe1xuICAgICAgICAuLi5jb21wb25lbnREZWYsXG4gICAgICAgIHNlbGVjdG9yLFxuICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNDb21wb25lbnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH0pKER5bmFtaWNDb21wb25lbnQpXG4gICAgcmV0dXJuIGNvbXBvbmVudDtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb21wb25lbnRSZWZQcm92aWRlclNlcnZpY2UgZXh0ZW5kcyBDb21wb25lbnRSZWZQcm92aWRlciB7XG5cbiAgICBwcml2YXRlIGxvYWRSZXNvdXJjZXNPZkZyYWdtZW50KGNvbXBvbmVudE5hbWUsIGNvbXBvbmVudFR5cGUsIG9wdGlvbnM/KTogUHJvbWlzZTxJUGFnZU1pbkpTT04+IHtcbiAgICAgICAgY29uc3QgdXJsID0gZ2V0RnJhZ21lbnRVcmwoY29tcG9uZW50TmFtZSwgY29tcG9uZW50VHlwZSwgb3B0aW9ucyk7XG5cbiAgICAgICAgY29uc3QgcmVzb3VyY2UgPSBmcmFnbWVudENhY2hlLmdldCh1cmwpO1xuXG4gICAgICAgIGlmIChyZXNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXNvdXJjZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5yZXNvdWNlTW5nci5nZXQodXJsLCB0cnVlKVxuICAgICAgICAgICAgLnRoZW4oKHttYXJrdXAsIHNjcmlwdCwgc3R5bGVzLCB2YXJpYWJsZXN9OiBJUGFnZU1pbkpTT04pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgbWFya3VwOiB0cmFuc3BpbGUoX2RlY29kZVVSSUNvbXBvbmVudChtYXJrdXApKS5tYXJrdXAsXG4gICAgICAgICAgICAgICAgICAgIHNjcmlwdDogX2RlY29kZVVSSUNvbXBvbmVudChzY3JpcHQpLFxuICAgICAgICAgICAgICAgICAgICBzdHlsZXM6IHNjb3BlQ29tcG9uZW50U3R5bGVzKGNvbXBvbmVudE5hbWUsIGNvbXBvbmVudFR5cGUsIF9kZWNvZGVVUklDb21wb25lbnQoc3R5bGVzKSksXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczogZ2V0VmFsaWRKU09OKF9kZWNvZGVVUklDb21wb25lbnQodmFyaWFibGVzKSlcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGZyYWdtZW50Q2FjaGUuc2V0KHVybCwgcmVzcG9uc2UpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgfSwgZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gZS5kZXRhaWxzLnN0YXR1cztcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1zZ01hcCA9IHtcbiAgICAgICAgICAgICAgICAgICAgNDA0IDogdGhpcy5hcHAuYXBwTG9jYWxlLk1FU1NBR0VfUEFHRV9OT1RfRk9VTkQgfHwgJ1RoZSBwYWdlIHlvdSBhcmUgdHJ5aW5nIHRvIHJlYWNoIGlzIG5vdCBhdmFpbGFibGUnLFxuICAgICAgICAgICAgICAgICAgICA0MDMgOiB0aGlzLmFwcC5hcHBMb2NhbGUuTEFCRUxfQUNDRVNTX0RFTklFRCB8fCAnQWNjZXNzIERlbmllZCdcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvck1zZ01hcFtzdGF0dXNdKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlc291Y2VNbmdyOiBBcHBSZXNvdXJjZU1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFwcDogQXBwLFxuICAgICAgICBwcml2YXRlIGFwcE1hbmFnZXI6IEFwcE1hbmFnZXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbXBpbGVyOiBDb21waWxlclxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRDb21wb25lbnRGYWN0b3J5UmVmKGNvbXBvbmVudE5hbWU6IHN0cmluZywgY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZSwgb3B0aW9ucz86IHt9KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgLy8gY2hlY2sgaW4gdGhlIGNhY2hlLlxuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5TWFwID0gY29tcG9uZW50RmFjdG9yeVJlZkNhY2hlLmdldChjb21wb25lbnRUeXBlKTtcbiAgICAgICAgbGV0IGNvbXBvbmVudEZhY3RvcnlSZWY7XG4gICAgICAgIGlmIChjb21wb25lbnRGYWN0b3J5TWFwKSB7XG4gICAgICAgICAgICBjb25zdCB1cGRhdGVkQ29tcG9uZW50TmFtZSA9IChvcHRpb25zICYmIG9wdGlvbnNbJ3ByZWZhYiddKSA/IG9wdGlvbnNbJ3ByZWZhYiddICsgIGNvbXBvbmVudE5hbWUgOiBjb21wb25lbnROYW1lO1xuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeVJlZiA9IGNvbXBvbmVudEZhY3RvcnlNYXAuZ2V0KHVwZGF0ZWRDb21wb25lbnROYW1lKTtcblxuICAgICAgICAgICAgaWYgKGNvbXBvbmVudEZhY3RvcnlSZWYpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29tcG9uZW50RmFjdG9yeVJlZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRSZXNvdXJjZXNPZkZyYWdtZW50KGNvbXBvbmVudE5hbWUsIGNvbXBvbmVudFR5cGUsIG9wdGlvbnMpXG4gICAgICAgICAgICAudGhlbigoe21hcmt1cCwgc2NyaXB0LCBzdHlsZXMsIHZhcmlhYmxlc30pICA9PiB7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnREZWYgPSBnZXREeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudE5hbWUsIGNvbXBvbmVudFR5cGUsIG1hcmt1cCwgc3R5bGVzLCBzY3JpcHQsIEpTT04uc3RyaW5naWZ5KHZhcmlhYmxlcykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vZHVsZURlZiA9IGdldER5bmFtaWNNb2R1bGUoY29tcG9uZW50RGVmKTtcblxuICAgICAgICAgICAgICAgIGNvbXBvbmVudEZhY3RvcnlSZWYgPSB0aGlzLmNvbXBpbGVyXG4gICAgICAgICAgICAgICAgICAgIC5jb21waWxlTW9kdWxlQW5kQWxsQ29tcG9uZW50c1N5bmMobW9kdWxlRGVmKVxuICAgICAgICAgICAgICAgICAgICAuY29tcG9uZW50RmFjdG9yaWVzXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoZmFjdG9yeSA9PiAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgICAgICBmYWN0b3J5LmNvbXBvbmVudFR5cGUgPT09IGNvbXBvbmVudERlZilbMF07XG4gICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZENvbXBvbmVudE5hbWUgPSAob3B0aW9ucyAmJiBvcHRpb25zWydwcmVmYWInXSkgPyBvcHRpb25zWydwcmVmYWInXSArICBjb21wb25lbnROYW1lIDogY29tcG9uZW50TmFtZTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVmQ2FjaGUuZ2V0KGNvbXBvbmVudFR5cGUpLnNldCh1cGRhdGVkQ29tcG9uZW50TmFtZSwgY29tcG9uZW50RmFjdG9yeVJlZik7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY29tcG9uZW50RmFjdG9yeVJlZjtcbiAgICAgICAgICAgIH0sIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1zZyA9IFwiRXJyb3Igd2hpbGUgbG9hZGluZyBwYWdlXCI7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUgdGhlIGVycm9yIGZvciBlYXN5IGRlYnVnZ2luZ1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhtc2csIGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwTWFuYWdlci5ub3RpZnlBcHAoXG4gICAgICAgICAgICAgICAgICAgICAgICBfLmlzU3RyaW5nKGVycikgPyBlcnIgOiBtc2cgKyAnLCBjaGVjayBicm93c2VyIGNvbnNvbGUgZm9yIGVycm9yIGRldGFpbHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yJ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIGNsZWFycyB0aGUgY2FjaGUgbWFwXG4gICAgcHVibGljIGNsZWFyQ29tcG9uZW50RmFjdG9yeVJlZkNhY2hlKCkge1xuICAgICAgICB0aGlzLnJlc291Y2VNbmdyLmNsZWFyQ2FjaGUoKTtcbiAgICAgICAgZnJhZ21lbnRDYWNoZS5jbGVhcigpO1xuICAgICAgICBjb21wb25lbnRGYWN0b3J5UmVmQ2FjaGUuZm9yRWFjaChtYXAgPT4ge1xuICAgICAgICAgICAgbWFwLmNsZWFyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -361,7 +361,6 @@ const getDynamicComponent = (componentName, type, template, css, script, variabl
361
361
  constructor(injector) {
362
362
  super();
363
363
  this.injector = injector;
364
- this.isDynamicComponent = true;
365
364
  this.injector = injector;
366
365
  switch (type) {
367
366
  case ComponentType.PAGE:
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../projects/runtime-dynamic/src/app/components/page-wrapper.component.ts","../../../../projects/runtime-dynamic/src/app/app.routes.ts","../../../../projects/runtime-dynamic/src/app/services/app-js-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-resource-manager.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-variables-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-extension.service.ts","../../../../projects/runtime-dynamic/src/app/services/component-ref-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/prefab-config-provider.service.ts","../../../../projects/runtime-dynamic/src/app/app.module.ts","../../../../projects/runtime-dynamic/src/main.ts","../../../../projects/runtime-dynamic/src/index.ts"],"sourcesContent":["import {\n ApplicationRef,\n Component,\n ElementRef,\n Injector,\n NgZone,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n HostListener\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Subscription } from 'rxjs';\n\nimport { AbstractSpinnerService, App, noop} from '@wm/core';\nimport { MetadataService } from '@wm/variables';\nimport { SecurityService } from '@wm/security';\nimport { AppManagerService, BasePageComponent, ComponentRefProvider, ComponentType } from '@wm/runtime/base';\n\n@Component({\n selector: 'app-page-outlet',\n template: '<div></div>'\n})\nexport class PageWrapperComponent implements OnInit, OnDestroy {\n\n subscription: Subscription;\n instance: any;\n\n constructor(\n private injector: Injector,\n private route: ActivatedRoute,\n private vcRef: ViewContainerRef,\n private appRef: ApplicationRef,\n private metadataService: MetadataService,\n private securityService: SecurityService,\n private appManager: AppManagerService,\n private app: App,\n private ngZone: NgZone,\n private elRef: ElementRef,\n private spinnerService: AbstractSpinnerService,\n private componentRefProvider: ComponentRefProvider,\n private router: Router\n ) {}\n\n getTargetNode() {\n return this.elRef.nativeElement;\n }\n\n resetViewContainer() {\n this.vcRef.clear();\n const $target = this.getTargetNode();\n $target.innerHTML = '';\n }\n\n renderPage(pageName) {\n const $target = this.getTargetNode();\n\n this.appManager.loadAppVariables()\n .then(async () => {\n const pageComponentFactoryRef = await this.componentRefProvider.getComponentFactoryRef(pageName, ComponentType.PAGE);\n if (pageComponentFactoryRef) {\n const componentRef = this.vcRef.createComponent(pageComponentFactoryRef, 0, this.injector);\n this.instance = componentRef.instance;\n $target.appendChild(componentRef.location.nativeElement);\n } else {\n BasePageComponent.clear();\n }\n if (this.vcRef.length > 1) {\n this.vcRef.remove(1);\n }\n });\n }\n\n renderPrefabPreviewPage() {\n this.router.navigate(['prefab-preview']);\n }\n\n loadPage(pageName) {\n this.ngZone.run(() => {\n if (pageName) {\n this.renderPage(pageName);\n }\n });\n }\n\n ngOnInit() {\n if (this.app.isPrefabType) {\n // there is only one route\n this.renderPrefabPreviewPage();\n } else {\n $(this.getTargetNode()).find('>div').first().remove();\n this.subscription = this.route.params.subscribe(({pageName}: any) => {\n this.loadPage(pageName);\n });\n }\n }\n\n ngOnDestroy() {\n this.vcRef.clear();\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n ngOnAttach() {\n this.getTargetNode().appendChild(this.instance.$page[0]);\n this.instance.ngOnAttach();\n }\n\n ngOnDetach() {\n this.instance.ngOnDetach();\n }\n}\n","import { MetadataResolve, AppExtensionJSResolve } from '@wm/runtime/base';\nimport { SecurityConfigResolve, PrefabPreviewComponent, CanDeactivatePageGuard, EmptyPageComponent } from '@wm/runtime/base';\n\nimport { PageWrapperComponent } from './components/page-wrapper.component';\nimport {Routes} from '@angular/router';\n\nconst appDependenciesResolve = {\n securityConfig: SecurityConfigResolve,\n metadata: MetadataResolve,\n appMetaConfig: AppExtensionJSResolve\n};\n\nexport const routes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: EmptyPageComponent\n },\n {\n path: 'prefab-preview',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: PrefabPreviewComponent\n },\n {\n path: ':pageName',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: PageWrapperComponent,\n canDeactivate: [CanDeactivatePageGuard]\n }\n];\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { AppJSProvider } from '@wm/runtime/base';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppJSProviderService extends AppJSProvider {\n constructor(private $http: HttpClient) {\n super();\n }\n\n public getAppScriptFn(): Promise<Function> {\n return this.$http.get('./app.js', {responseType: 'text'})\n .toPromise()\n .then(script => new Function('App', 'Utils', 'Injector', script));\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AbstractHttpService, App } from '@wm/core';\n\nconst cache = new Map<string, string>();\n\n@Injectable()\nexport class AppResourceManagerService {\n\n get(url: string, useCache?: boolean): string | any {\n const cachedResponse = cache.get(url);\n\n if (cachedResponse) {\n return Promise.resolve(cachedResponse);\n }\n\n return this.$http.get(url).then(response => {\n if (useCache) {\n cache.set(url, response);\n }\n return response;\n });\n }\n\n public clearCache() {\n cache.clear();\n }\n\n constructor(private $http: AbstractHttpService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { AppVariablesProvider } from '@wm/runtime/base';\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppVariablesProviderService extends AppVariablesProvider {\n constructor(private resourceManager: AppResourceManagerService) {\n super();\n }\n\n public async getAppVariables(): Promise<any> {\n return this.resourceManager.get('./app.variables.json');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppExtensionProvider } from '@wm/runtime/base';\nimport { appendScriptToHead } from '@wm/core';\n@Injectable({\n providedIn: 'root'\n})\nexport class AppExtensionProviderService extends AppExtensionProvider {\n\n // With renderer create element, added onloaded callback the append to the body\n public loadFormatterConfigScript(callback:Function):void {\n try{\n appendScriptToHead(callback);\n }catch(e){\n console.warn('Error while loading the formatters.js file');\n }\n }\n}\n","import {\n Compiler,\n Component,\n CUSTOM_ELEMENTS_SCHEMA, forwardRef, Inject,\n Injectable,\n Injector,\n NgModule,\n NO_ERRORS_SCHEMA,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { App, getValidJSON, UserDefinedExecutionContext } from '@wm/core';\nimport { transpile, scopeComponentStyles } from '@wm/transpiler';\nimport {\n AppManagerService,\n BasePageComponent,\n BasePartialComponent,\n BasePrefabComponent,\n ComponentRefProvider,\n ComponentType,\n RuntimeBaseModule,\n getPrefabMinJsonUrl,\n getPrefabPartialJsonUrl\n} from '@wm/runtime/base';\n\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\ninterface IPageMinJSON {\n markup: string;\n script: string;\n styles: string;\n variables: string;\n config?: string;\n}\n\ndeclare const window: any, _;\n\nconst fragmentCache = new Map<string, any>();\n\nwindow.resourceCache = fragmentCache;\n\nconst componentFactoryRefCache = new Map<ComponentType, Map<string, any>>();\n\ncomponentFactoryRefCache.set(ComponentType.PAGE, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.PARTIAL, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.PREFAB, new Map<string, any>());\n\nconst _decodeURIComponent = (str: string) => decodeURIComponent(str.replace(/\\+/g, ' '));\n\nconst getFragmentUrl = (fragmentName: string, type: ComponentType, options?) => {\n if (type === ComponentType.PAGE || type === ComponentType.PARTIAL) {\n return options && options.prefab ? getPrefabPartialJsonUrl(options.prefab, fragmentName) : `./pages/${fragmentName}/page.min.json`;\n } else if (type === ComponentType.PREFAB) {\n return getPrefabMinJsonUrl(fragmentName);\n }\n};\n\nconst scriptCache = new Map<string, Function>();\nconst execScript = (\n script: string,\n identifier: string,\n ctx: string,\n instance: any,\n app: any,\n utils: any\n) => {\n let fn = scriptCache.get(identifier);\n // Fix for [WMS-21196]: Incorrect script is being assigned, when 2 prefabs have same partial name (i.e. same identifier).\n if ((ctx === 'Partial' && !_.isUndefined(instance.Prefab)) || !fn) {\n fn = new Function(ctx, 'App', 'Utils', script);\n scriptCache.set(identifier, fn);\n }\n fn(instance, app, utils);\n};\n\nclass BaseDynamicComponent {\n init() {}\n}\n\nconst getDynamicModule = (componentRef: any) => {\n return NgModule({\n declarations: [componentRef],\n imports: [\n RuntimeBaseModule,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n })(class DynamicModule {});\n};\n\nconst getDynamicComponent = (\n componentName,\n type: ComponentType,\n template: string,\n css: string,\n script: any,\n variables: string,\n) => {\n\n const componentDef = {\n template,\n styles: [css],\n encapsulation: ViewEncapsulation.None\n };\n\n let BaseClass: any = BaseDynamicComponent;\n let selector = '';\n let context = '';\n\n switch (type) {\n case ComponentType.PAGE:\n BaseClass = BasePageComponent;\n selector = `app-page-${componentName}`;\n context = 'Page';\n break;\n case ComponentType.PARTIAL:\n BaseClass = BasePartialComponent;\n selector = `app-partial-${componentName}`;\n context = 'Partial';\n break;\n case ComponentType.PREFAB:\n BaseClass = BasePrefabComponent;\n selector = `app-prefab-${componentName}`;\n context = 'Prefab';\n break;\n }\n\n class DynamicComponent extends BaseClass {\n isDynamicComponent: boolean = true;\n pageName;\n partialName;\n prefabName;\n constructor(@Inject(Injector) public injector: Injector) {\n super();\n this.injector = injector;\n switch (type) {\n case ComponentType.PAGE:\n this.pageName = componentName;\n break;\n case ComponentType.PARTIAL:\n this.partialName = componentName;\n break;\n case ComponentType.PREFAB:\n this.prefabName = componentName;\n break;\n }\n\n super.init();\n }\n\n evalUserScript(instance: any, appContext: any, utils: any) {\n execScript(script, selector, context, instance, appContext, utils);\n }\n\n getVariables() {\n return JSON.parse(variables);\n }\n\n // in preview mode, there will be no function registered. functions will be generated dynamically through $parseEvent and $parseExpr\n getExpressions() {\n return {};\n }\n }\n\n const component = Component({\n ...componentDef,\n selector,\n providers: [\n {\n provide: UserDefinedExecutionContext,\n useExisting: DynamicComponent\n }\n ]\n })(DynamicComponent)\n return component;\n};\n\n@Injectable()\nexport class ComponentRefProviderService extends ComponentRefProvider {\n\n private loadResourcesOfFragment(componentName, componentType, options?): Promise<IPageMinJSON> {\n const url = getFragmentUrl(componentName, componentType, options);\n\n const resource = fragmentCache.get(url);\n\n if (resource) {\n return Promise.resolve(resource);\n }\n\n return this.resouceMngr.get(url, true)\n .then(({markup, script, styles, variables}: IPageMinJSON) => {\n const response = {\n markup: transpile(_decodeURIComponent(markup)).markup,\n script: _decodeURIComponent(script),\n styles: scopeComponentStyles(componentName, componentType, _decodeURIComponent(styles)),\n variables: getValidJSON(_decodeURIComponent(variables))\n };\n fragmentCache.set(url, response);\n\n return response;\n }, e => {\n const status = e.details.status;\n const errorMsgMap = {\n 404 : this.app.appLocale.MESSAGE_PAGE_NOT_FOUND || 'The page you are trying to reach is not available',\n 403 : this.app.appLocale.LABEL_ACCESS_DENIED || 'Access Denied'\n };\n return Promise.reject(errorMsgMap[status]);\n });\n }\n\n constructor(\n private resouceMngr: AppResourceManagerService,\n private app: App,\n private appManager: AppManagerService,\n private compiler: Compiler\n ) {\n super();\n }\n\n public async getComponentFactoryRef(componentName: string, componentType: ComponentType, options?: {}): Promise<any> {\n // check in the cache.\n const componentFactoryMap = componentFactoryRefCache.get(componentType);\n let componentFactoryRef;\n if (componentFactoryMap) {\n const updatedComponentName = (options && options['prefab']) ? options['prefab'] + componentName : componentName;\n componentFactoryRef = componentFactoryMap.get(updatedComponentName);\n\n if (componentFactoryRef) {\n return componentFactoryRef;\n }\n }\n\n return this.loadResourcesOfFragment(componentName, componentType, options)\n .then(({markup, script, styles, variables}) => {\n\n const componentDef = getDynamicComponent(componentName, componentType, markup, styles, script, JSON.stringify(variables));\n const moduleDef = getDynamicModule(componentDef);\n\n componentFactoryRef = this.compiler\n .compileModuleAndAllComponentsSync(moduleDef)\n .componentFactories\n .filter(factory => // @ts-ignore\n factory.componentType === componentDef)[0];\n const updatedComponentName = (options && options['prefab']) ? options['prefab'] + componentName : componentName;\n componentFactoryRefCache.get(componentType).set(updatedComponentName, componentFactoryRef);\n\n return componentFactoryRef;\n }, (err) => {\n if (err) {\n const msg = \"Error while loading page\";\n // console the error for easy debugging\n console.log(msg, err);\n this.appManager.notifyApp(\n _.isString(err) ? err : msg + ', check browser console for error details',\n 'error'\n );\n }\n });\n }\n\n // clears the cache map\n public clearComponentFactoryRefCache() {\n this.resouceMngr.clearCache();\n fragmentCache.clear();\n componentFactoryRefCache.forEach(map => {\n map.clear();\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { getPrefabConfigUrl, PrefabConfigProvider } from '@wm/runtime/base';\n\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\nconst cache = new Map<string, any>();\n@Injectable()\nexport class PrefabConfigProviderService extends PrefabConfigProvider {\n\n constructor(private resourceMngr: AppResourceManagerService) {\n super();\n }\n\n public getConfig(prefabName: string): Promise<any> {\n const config = cache.get(prefabName);\n if (config) {\n return Promise.resolve(config);\n }\n\n return this.resourceMngr.get(getPrefabConfigUrl(prefabName))\n .then(_config => {\n cache.set(prefabName, _config);\n return _config;\n });\n }\n}\n","import { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { RouteReuseStrategy, RouterModule } from '@angular/router';\nimport { HttpClientModule, HttpClientXsrfModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { TimepickerModule as ngxTimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\nimport { PaginationModule as ngxPaginationModule } from 'ngx-bootstrap/pagination';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { PopoverModule as ngxPopoverModule } from 'ngx-bootstrap/popover';\n\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { ToastNoAnimationModule } from 'ngx-toastr';\nimport { CarouselModule as ngxCarouselModule, } from 'ngx-bootstrap/carousel';\n\nimport {App, getWmProjectProperties, PartialRefProvider} from '@wm/core';\n// Basic widgets\n\nimport { BasicModule } from '@wm/components/basic';\nimport { ProgressModule } from '@wm/components/basic/progress';\nimport { RichTextEditorModule } from '@wm/components/basic/rich-text-editor';\nimport { SearchModule } from '@wm/components/basic/search';\nimport { TreeModule } from '@wm/components/basic/tree';\n\n// input\nimport { InputModule } from '@wm/components/input';\nimport { CalendarModule } from '@wm/components/input/calendar';\nimport { ChipsModule } from '@wm/components/input/chips';\nimport { ColorPickerModule } from '@wm/components/input/color-picker';\nimport { CurrencyModule } from '@wm/components/input/currency';\nimport { EpochModule } from '@wm/components/input/epoch';\nimport { FileUploadModule } from '@wm/components/input/file-upload';\nimport { RatingModule } from '@wm/components/input/rating';\nimport { SliderModule } from '@wm/components/input/slider';\n\nimport { MobileRuntimeDynamicModule, MOBILE_COMPONENT_MODULES_FOR_ROOT } from '@wm/mobile/runtime/dynamic';\n\n// Data\nimport { CardModule } from '@wm/components/data/card';\nimport { FormModule } from '@wm/components/data/form';\nimport { ListModule } from '@wm/components/data/list';\nimport { LiveTableModule } from '@wm/components/data/live-table';\nimport { PaginationModule } from '@wm/components/data/pagination';\nimport { TableModule } from '@wm/components/data/table';\n\n// Chart\nimport { ChartModule } from '@wm/components/chart';\n\n// Containers\nimport { AccordionModule } from '@wm/components/containers/accordion';\nimport { LinearLayoutModule } from '@wm/components/containers/linear-layout';\nimport { LayoutGridModule } from '@wm/components/containers/layout-grid';\nimport { PanelModule } from '@wm/components/containers/panel';\nimport { TabsModule } from '@wm/components/containers/tabs';\nimport { TileModule } from '@wm/components/containers/tile';\nimport { WizardModule } from '@wm/components/containers/wizard';\n\n// Dialogs\nimport { AlertDialogModule } from '@wm/components/dialogs/alert-dialog';\nimport { IframeDialogModule } from '@wm/components/dialogs/iframe-dialog';\nimport { LoginDialogModule } from '@wm/components/dialogs/login-dialog';\nimport { PartialDialogModule } from '@wm/components/dialogs/partial-dialog';\n\n// Navigation\nimport { BreadcrumbModule } from '@wm/components/navigation/breadcrumb';\nimport { MenuModule } from '@wm/components/navigation/menu';\nimport { NavbarModule } from '@wm/components/navigation/navbar';\nimport { PopoverModule } from '@wm/components/navigation/popover';\n\n// Advanced\nimport { CarouselModule } from '@wm/components/advanced/carousel';\nimport { LoginModule } from '@wm/components/advanced/login';\nimport { MarqueeModule } from '@wm/components/advanced/marquee';\n\nimport { PageModule } from '@wm/components/page';\nimport { FooterModule } from '@wm/components/page/footer';\nimport { HeaderModule } from '@wm/components/page/header';\nimport { LeftPanelModule } from '@wm/components/page/left-panel';\nimport { RightPanelModule } from '@wm/components/page/right-panel';\nimport { TopNavModule } from '@wm/components/page/top-nav';\n\nimport { PrefabModule } from '@wm/components/prefab';\n\nimport {\n AppComponent,\n AppJSProvider,\n AppVariablesProvider,\n ComponentRefProvider,\n PrefabConfigProvider,\n WmRouteReuseStrategy,\n WM_MODULES_FOR_ROOT,\n REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS,\n AppExtensionProvider\n} from '@wm/runtime/base';\n\nimport { routes } from './app.routes';\nimport { PageWrapperComponent } from './components/page-wrapper.component';\nimport { AppJSProviderService } from './services/app-js-provider.service';\nimport { AppVariablesProviderService } from './services/app-variables-provider.service';\nimport { AppExtensionProviderService } from './services/app-extension.service';\nimport { ComponentRefProviderService } from './services/component-ref-provider.service';\nimport { PrefabConfigProviderService } from './services/prefab-config-provider.service';\nimport { AppResourceManagerService } from './services/app-resource-manager.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nexport const routerModule = RouterModule.forRoot(routes, { useHash: true, scrollPositionRestoration: 'top' });\nexport const toastrModule = ToastNoAnimationModule.forRoot({ maxOpened: 1, autoDismiss: true });\n\n// In angular 15, xsrf headerName should not be null. Angular 15 is not using default header value like it used to send in calls\n// for angular 12 if the headerName is null . The user has to take care of not sending null values. Then ng 15 uses default value for headerName\nlet xsrfHeaderName = getWmProjectProperties().xsrf_header_name;\nlet xsrfOptions = {\n cookieName: 'wm_xsrf_token'\n}\nif(xsrfHeaderName) {\n xsrfOptions['headerName'] = xsrfHeaderName;\n}\nexport const httpClientXsrfModule = HttpClientXsrfModule.withOptions(xsrfOptions);\n\nexport const modalModule: ModuleWithProviders<ModalModule> = ModalModule.forRoot();\nexport const bsDatePickerModule: ModuleWithProviders<BsDatepickerModule> = BsDatepickerModule.forRoot();\nexport const timepickerModule: ModuleWithProviders<ngxTimepickerModule> = ngxTimepickerModule.forRoot();\nexport const bsDropdownModule: ModuleWithProviders<BsDropdownModule> = BsDropdownModule.forRoot();\nexport const paginationModule: ModuleWithProviders<ngxPaginationModule> = ngxPaginationModule.forRoot();\nexport const typeaheadModule: ModuleWithProviders<TypeaheadModule> = TypeaheadModule.forRoot();\nexport const progressbarModule: ModuleWithProviders<ProgressbarModule> = ProgressbarModule.forRoot();\nexport const carouselModule: ModuleWithProviders<ngxCarouselModule> = ngxCarouselModule.forRoot();\nexport const popoverModule: ModuleWithProviders<ngxPopoverModule> = ngxPopoverModule.forRoot();\nexport const ngCircleProgressModule: ModuleWithProviders<NgCircleProgressModule> = NgCircleProgressModule.forRoot({});\nexport const tooltipModule: ModuleWithProviders<TooltipModule> = TooltipModule.forRoot();\n\nconst componentsModule = [\n // NGX Bootstrap\n BsDatepickerModule,\n ngxTimepickerModule,\n BsDropdownModule,\n ngxPaginationModule,\n TypeaheadModule,\n ProgressbarModule,\n ngxCarouselModule,\n ngxPopoverModule,\n NgCircleProgressModule,\n TooltipModule,\n\n // Basic widgets\n BasicModule,\n ProgressModule,\n RichTextEditorModule,\n SearchModule,\n TreeModule,\n\n // Input\n CalendarModule,\n ChipsModule,\n ColorPickerModule,\n CurrencyModule,\n EpochModule,\n FileUploadModule,\n InputModule,\n RatingModule,\n SliderModule,\n\n // Data\n CardModule,\n FormModule,\n ListModule,\n LiveTableModule,\n PaginationModule,\n TableModule,\n\n // chart\n ChartModule,\n\n // container modules\n AccordionModule,\n LinearLayoutModule,\n LayoutGridModule,\n PanelModule,\n TabsModule,\n TileModule,\n WizardModule,\n\n // dialogs\n AlertDialogModule,\n IframeDialogModule,\n LoginDialogModule,\n PartialDialogModule,\n\n // navigation\n BreadcrumbModule,\n MenuModule,\n NavbarModule,\n PopoverModule,\n\n // Advanced\n CarouselModule,\n LoginModule,\n MarqueeModule,\n\n PageModule,\n FooterModule,\n HeaderModule,\n LeftPanelModule,\n RightPanelModule,\n TopNavModule,\n\n PrefabModule\n];\n\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(...componentsModule);\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(...MOBILE_COMPONENT_MODULES_FOR_ROOT);\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(FormsModule, ReactiveFormsModule);\n\n@NgModule({\n declarations: [\n PageWrapperComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n CommonModule,\n RouterModule,\n HttpClientModule,\n\n modalModule,\n bsDatePickerModule,\n timepickerModule,\n bsDropdownModule,\n paginationModule,\n typeaheadModule,\n tooltipModule,\n progressbarModule,\n carouselModule,\n popoverModule,\n ngCircleProgressModule,\n\n routerModule,\n toastrModule,\n httpClientXsrfModule,\n\n MobileRuntimeDynamicModule,\n WM_MODULES_FOR_ROOT\n ],\n providers: [\n AppResourceManagerService,\n { provide: AppJSProvider, useClass: AppJSProviderService },\n { provide: AppVariablesProvider, useClass: AppVariablesProviderService },\n { provide: AppExtensionProvider,useClass:AppExtensionProviderService},\n { provide: ComponentRefProvider, useClass: ComponentRefProviderService },\n { provide: PartialRefProvider, useClass: ComponentRefProviderService },\n { provide: PrefabConfigProvider, useClass: PrefabConfigProviderService },\n { provide: RouteReuseStrategy, useClass: WmRouteReuseStrategy }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(private app: App, private inj: Injector, private componentRefProvider: ComponentRefProvider) {\n if (window['cordova']) {\n // clear the cached urls on logout, to load the Login Page and not the Main Page as app reload(window.location.reload) is not invoked in mobile\n this.app.subscribe('userLoggedOut', this.componentRefProvider.clearComponentFactoryRefCache.bind(this.componentRefProvider));\n }\n }\n}\n","import { ApplicationRef, enableProdMode, NgModuleRef } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\ndeclare const _;\nconst DEBUG_MODE = 'debugMode';\n\nif (sessionStorage.getItem(DEBUG_MODE) !== 'true') {\n enableProdMode();\n}\n\nconsole.time('bootstrap');\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new Promise<void|Event>( resolve => {\n if (window['cordova']) {\n document.addEventListener('deviceready', resolve);\n } else {\n resolve();\n }\n }).then(() => platformBrowserDynamic().bootstrapModule(AppModule))\n .then((appModuleRef: NgModuleRef<AppModule>) => {\n const applicationRef = appModuleRef.injector.get(ApplicationRef);\n window.addEventListener('unload', () => {\n applicationRef.components.map(c => c && c.destroy());\n });\n console.timeEnd('bootstrap');\n }, err => console.log(err));\n});\n\n(window as any).debugMode = function(on) {\n if (_.isEmpty(on)) {\n on = true;\n }\n const value = on ? 'true' : 'false';\n if (sessionStorage.getItem(DEBUG_MODE) !== value) {\n sessionStorage.setItem(DEBUG_MODE, value);\n window.location.reload();\n }\n};\n\nexport default () => {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","cache","i1.AppResourceManagerService","i2","i3","ngxTimepickerModule","ngxPaginationModule","ngxCarouselModule","ngxPopoverModule","PaginationModule","PopoverModule","CarouselModule"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../projects/runtime-dynamic/src/app/components/page-wrapper.component.ts","../../../../projects/runtime-dynamic/src/app/app.routes.ts","../../../../projects/runtime-dynamic/src/app/services/app-js-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-resource-manager.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-variables-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-extension.service.ts","../../../../projects/runtime-dynamic/src/app/services/component-ref-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/prefab-config-provider.service.ts","../../../../projects/runtime-dynamic/src/app/app.module.ts","../../../../projects/runtime-dynamic/src/main.ts","../../../../projects/runtime-dynamic/src/index.ts"],"sourcesContent":["import {\n ApplicationRef,\n Component,\n ElementRef,\n Injector,\n NgZone,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n HostListener\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Subscription } from 'rxjs';\n\nimport { AbstractSpinnerService, App, noop} from '@wm/core';\nimport { MetadataService } from '@wm/variables';\nimport { SecurityService } from '@wm/security';\nimport { AppManagerService, BasePageComponent, ComponentRefProvider, ComponentType } from '@wm/runtime/base';\n\n@Component({\n selector: 'app-page-outlet',\n template: '<div></div>'\n})\nexport class PageWrapperComponent implements OnInit, OnDestroy {\n\n subscription: Subscription;\n instance: any;\n\n constructor(\n private injector: Injector,\n private route: ActivatedRoute,\n private vcRef: ViewContainerRef,\n private appRef: ApplicationRef,\n private metadataService: MetadataService,\n private securityService: SecurityService,\n private appManager: AppManagerService,\n private app: App,\n private ngZone: NgZone,\n private elRef: ElementRef,\n private spinnerService: AbstractSpinnerService,\n private componentRefProvider: ComponentRefProvider,\n private router: Router\n ) {}\n\n getTargetNode() {\n return this.elRef.nativeElement;\n }\n\n resetViewContainer() {\n this.vcRef.clear();\n const $target = this.getTargetNode();\n $target.innerHTML = '';\n }\n\n renderPage(pageName) {\n const $target = this.getTargetNode();\n\n this.appManager.loadAppVariables()\n .then(async () => {\n const pageComponentFactoryRef = await this.componentRefProvider.getComponentFactoryRef(pageName, ComponentType.PAGE);\n if (pageComponentFactoryRef) {\n const componentRef = this.vcRef.createComponent(pageComponentFactoryRef, 0, this.injector);\n this.instance = componentRef.instance;\n $target.appendChild(componentRef.location.nativeElement);\n } else {\n BasePageComponent.clear();\n }\n if (this.vcRef.length > 1) {\n this.vcRef.remove(1);\n }\n });\n }\n\n renderPrefabPreviewPage() {\n this.router.navigate(['prefab-preview']);\n }\n\n loadPage(pageName) {\n this.ngZone.run(() => {\n if (pageName) {\n this.renderPage(pageName);\n }\n });\n }\n\n ngOnInit() {\n if (this.app.isPrefabType) {\n // there is only one route\n this.renderPrefabPreviewPage();\n } else {\n $(this.getTargetNode()).find('>div').first().remove();\n this.subscription = this.route.params.subscribe(({pageName}: any) => {\n this.loadPage(pageName);\n });\n }\n }\n\n ngOnDestroy() {\n this.vcRef.clear();\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n ngOnAttach() {\n this.getTargetNode().appendChild(this.instance.$page[0]);\n this.instance.ngOnAttach();\n }\n\n ngOnDetach() {\n this.instance.ngOnDetach();\n }\n}\n","import { MetadataResolve, AppExtensionJSResolve } from '@wm/runtime/base';\nimport { SecurityConfigResolve, PrefabPreviewComponent, CanDeactivatePageGuard, EmptyPageComponent } from '@wm/runtime/base';\n\nimport { PageWrapperComponent } from './components/page-wrapper.component';\nimport {Routes} from '@angular/router';\n\nconst appDependenciesResolve = {\n securityConfig: SecurityConfigResolve,\n metadata: MetadataResolve,\n appMetaConfig: AppExtensionJSResolve\n};\n\nexport const routes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: EmptyPageComponent\n },\n {\n path: 'prefab-preview',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: PrefabPreviewComponent\n },\n {\n path: ':pageName',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: PageWrapperComponent,\n canDeactivate: [CanDeactivatePageGuard]\n }\n];\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { AppJSProvider } from '@wm/runtime/base';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppJSProviderService extends AppJSProvider {\n constructor(private $http: HttpClient) {\n super();\n }\n\n public getAppScriptFn(): Promise<Function> {\n return this.$http.get('./app.js', {responseType: 'text'})\n .toPromise()\n .then(script => new Function('App', 'Utils', 'Injector', script));\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AbstractHttpService, App } from '@wm/core';\n\nconst cache = new Map<string, string>();\n\n@Injectable()\nexport class AppResourceManagerService {\n\n get(url: string, useCache?: boolean): string | any {\n const cachedResponse = cache.get(url);\n\n if (cachedResponse) {\n return Promise.resolve(cachedResponse);\n }\n\n return this.$http.get(url).then(response => {\n if (useCache) {\n cache.set(url, response);\n }\n return response;\n });\n }\n\n public clearCache() {\n cache.clear();\n }\n\n constructor(private $http: AbstractHttpService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { AppVariablesProvider } from '@wm/runtime/base';\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppVariablesProviderService extends AppVariablesProvider {\n constructor(private resourceManager: AppResourceManagerService) {\n super();\n }\n\n public async getAppVariables(): Promise<any> {\n return this.resourceManager.get('./app.variables.json');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppExtensionProvider } from '@wm/runtime/base';\nimport { appendScriptToHead } from '@wm/core';\n@Injectable({\n providedIn: 'root'\n})\nexport class AppExtensionProviderService extends AppExtensionProvider {\n\n // With renderer create element, added onloaded callback the append to the body\n public loadFormatterConfigScript(callback:Function):void {\n try{\n appendScriptToHead(callback);\n }catch(e){\n console.warn('Error while loading the formatters.js file');\n }\n }\n}\n","import {\n Compiler,\n Component,\n CUSTOM_ELEMENTS_SCHEMA, forwardRef, Inject,\n Injectable,\n Injector,\n NgModule,\n NO_ERRORS_SCHEMA,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { App, getValidJSON, UserDefinedExecutionContext } from '@wm/core';\nimport { transpile, scopeComponentStyles } from '@wm/transpiler';\nimport {\n AppManagerService,\n BasePageComponent,\n BasePartialComponent,\n BasePrefabComponent,\n ComponentRefProvider,\n ComponentType,\n RuntimeBaseModule,\n getPrefabMinJsonUrl,\n getPrefabPartialJsonUrl\n} from '@wm/runtime/base';\n\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\ninterface IPageMinJSON {\n markup: string;\n script: string;\n styles: string;\n variables: string;\n config?: string;\n}\n\ndeclare const window: any, _;\n\nconst fragmentCache = new Map<string, any>();\n\nwindow.resourceCache = fragmentCache;\n\nconst componentFactoryRefCache = new Map<ComponentType, Map<string, any>>();\n\ncomponentFactoryRefCache.set(ComponentType.PAGE, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.PARTIAL, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.PREFAB, new Map<string, any>());\n\nconst _decodeURIComponent = (str: string) => decodeURIComponent(str.replace(/\\+/g, ' '));\n\nconst getFragmentUrl = (fragmentName: string, type: ComponentType, options?) => {\n if (type === ComponentType.PAGE || type === ComponentType.PARTIAL) {\n return options && options.prefab ? getPrefabPartialJsonUrl(options.prefab, fragmentName) : `./pages/${fragmentName}/page.min.json`;\n } else if (type === ComponentType.PREFAB) {\n return getPrefabMinJsonUrl(fragmentName);\n }\n};\n\nconst scriptCache = new Map<string, Function>();\nconst execScript = (\n script: string,\n identifier: string,\n ctx: string,\n instance: any,\n app: any,\n utils: any\n) => {\n let fn = scriptCache.get(identifier);\n // Fix for [WMS-21196]: Incorrect script is being assigned, when 2 prefabs have same partial name (i.e. same identifier).\n if ((ctx === 'Partial' && !_.isUndefined(instance.Prefab)) || !fn) {\n fn = new Function(ctx, 'App', 'Utils', script);\n scriptCache.set(identifier, fn);\n }\n fn(instance, app, utils);\n};\n\nclass BaseDynamicComponent {\n init() {}\n}\n\nconst getDynamicModule = (componentRef: any) => {\n return NgModule({\n declarations: [componentRef],\n imports: [\n RuntimeBaseModule,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n })(class DynamicModule {});\n};\n\nconst getDynamicComponent = (\n componentName,\n type: ComponentType,\n template: string,\n css: string,\n script: any,\n variables: string,\n) => {\n\n const componentDef = {\n template,\n styles: [css],\n encapsulation: ViewEncapsulation.None\n };\n\n let BaseClass: any = BaseDynamicComponent;\n let selector = '';\n let context = '';\n\n switch (type) {\n case ComponentType.PAGE:\n BaseClass = BasePageComponent;\n selector = `app-page-${componentName}`;\n context = 'Page';\n break;\n case ComponentType.PARTIAL:\n BaseClass = BasePartialComponent;\n selector = `app-partial-${componentName}`;\n context = 'Partial';\n break;\n case ComponentType.PREFAB:\n BaseClass = BasePrefabComponent;\n selector = `app-prefab-${componentName}`;\n context = 'Prefab';\n break;\n }\n\n class DynamicComponent extends BaseClass {\n pageName;\n partialName;\n prefabName;\n constructor(@Inject(Injector) public injector: Injector) {\n super();\n this.injector = injector;\n switch (type) {\n case ComponentType.PAGE:\n this.pageName = componentName;\n break;\n case ComponentType.PARTIAL:\n this.partialName = componentName;\n break;\n case ComponentType.PREFAB:\n this.prefabName = componentName;\n break;\n }\n\n super.init();\n }\n\n evalUserScript(instance: any, appContext: any, utils: any) {\n execScript(script, selector, context, instance, appContext, utils);\n }\n\n getVariables() {\n return JSON.parse(variables);\n }\n\n // in preview mode, there will be no function registered. functions will be generated dynamically through $parseEvent and $parseExpr\n getExpressions() {\n return {};\n }\n }\n\n const component = Component({\n ...componentDef,\n selector,\n providers: [\n {\n provide: UserDefinedExecutionContext,\n useExisting: DynamicComponent\n }\n ]\n })(DynamicComponent)\n return component;\n};\n\n@Injectable()\nexport class ComponentRefProviderService extends ComponentRefProvider {\n\n private loadResourcesOfFragment(componentName, componentType, options?): Promise<IPageMinJSON> {\n const url = getFragmentUrl(componentName, componentType, options);\n\n const resource = fragmentCache.get(url);\n\n if (resource) {\n return Promise.resolve(resource);\n }\n\n return this.resouceMngr.get(url, true)\n .then(({markup, script, styles, variables}: IPageMinJSON) => {\n const response = {\n markup: transpile(_decodeURIComponent(markup)).markup,\n script: _decodeURIComponent(script),\n styles: scopeComponentStyles(componentName, componentType, _decodeURIComponent(styles)),\n variables: getValidJSON(_decodeURIComponent(variables))\n };\n fragmentCache.set(url, response);\n\n return response;\n }, e => {\n const status = e.details.status;\n const errorMsgMap = {\n 404 : this.app.appLocale.MESSAGE_PAGE_NOT_FOUND || 'The page you are trying to reach is not available',\n 403 : this.app.appLocale.LABEL_ACCESS_DENIED || 'Access Denied'\n };\n return Promise.reject(errorMsgMap[status]);\n });\n }\n\n constructor(\n private resouceMngr: AppResourceManagerService,\n private app: App,\n private appManager: AppManagerService,\n private compiler: Compiler\n ) {\n super();\n }\n\n public async getComponentFactoryRef(componentName: string, componentType: ComponentType, options?: {}): Promise<any> {\n // check in the cache.\n const componentFactoryMap = componentFactoryRefCache.get(componentType);\n let componentFactoryRef;\n if (componentFactoryMap) {\n const updatedComponentName = (options && options['prefab']) ? options['prefab'] + componentName : componentName;\n componentFactoryRef = componentFactoryMap.get(updatedComponentName);\n\n if (componentFactoryRef) {\n return componentFactoryRef;\n }\n }\n\n return this.loadResourcesOfFragment(componentName, componentType, options)\n .then(({markup, script, styles, variables}) => {\n\n const componentDef = getDynamicComponent(componentName, componentType, markup, styles, script, JSON.stringify(variables));\n const moduleDef = getDynamicModule(componentDef);\n\n componentFactoryRef = this.compiler\n .compileModuleAndAllComponentsSync(moduleDef)\n .componentFactories\n .filter(factory => // @ts-ignore\n factory.componentType === componentDef)[0];\n const updatedComponentName = (options && options['prefab']) ? options['prefab'] + componentName : componentName;\n componentFactoryRefCache.get(componentType).set(updatedComponentName, componentFactoryRef);\n\n return componentFactoryRef;\n }, (err) => {\n if (err) {\n const msg = \"Error while loading page\";\n // console the error for easy debugging\n console.log(msg, err);\n this.appManager.notifyApp(\n _.isString(err) ? err : msg + ', check browser console for error details',\n 'error'\n );\n }\n });\n }\n\n // clears the cache map\n public clearComponentFactoryRefCache() {\n this.resouceMngr.clearCache();\n fragmentCache.clear();\n componentFactoryRefCache.forEach(map => {\n map.clear();\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { getPrefabConfigUrl, PrefabConfigProvider } from '@wm/runtime/base';\n\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\nconst cache = new Map<string, any>();\n@Injectable()\nexport class PrefabConfigProviderService extends PrefabConfigProvider {\n\n constructor(private resourceMngr: AppResourceManagerService) {\n super();\n }\n\n public getConfig(prefabName: string): Promise<any> {\n const config = cache.get(prefabName);\n if (config) {\n return Promise.resolve(config);\n }\n\n return this.resourceMngr.get(getPrefabConfigUrl(prefabName))\n .then(_config => {\n cache.set(prefabName, _config);\n return _config;\n });\n }\n}\n","import { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { RouteReuseStrategy, RouterModule } from '@angular/router';\nimport { HttpClientModule, HttpClientXsrfModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { TimepickerModule as ngxTimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\nimport { PaginationModule as ngxPaginationModule } from 'ngx-bootstrap/pagination';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { PopoverModule as ngxPopoverModule } from 'ngx-bootstrap/popover';\n\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { ToastNoAnimationModule } from 'ngx-toastr';\nimport { CarouselModule as ngxCarouselModule, } from 'ngx-bootstrap/carousel';\n\nimport {App, getWmProjectProperties, PartialRefProvider} from '@wm/core';\n// Basic widgets\n\nimport { BasicModule } from '@wm/components/basic';\nimport { ProgressModule } from '@wm/components/basic/progress';\nimport { RichTextEditorModule } from '@wm/components/basic/rich-text-editor';\nimport { SearchModule } from '@wm/components/basic/search';\nimport { TreeModule } from '@wm/components/basic/tree';\n\n// input\nimport { InputModule } from '@wm/components/input';\nimport { CalendarModule } from '@wm/components/input/calendar';\nimport { ChipsModule } from '@wm/components/input/chips';\nimport { ColorPickerModule } from '@wm/components/input/color-picker';\nimport { CurrencyModule } from '@wm/components/input/currency';\nimport { EpochModule } from '@wm/components/input/epoch';\nimport { FileUploadModule } from '@wm/components/input/file-upload';\nimport { RatingModule } from '@wm/components/input/rating';\nimport { SliderModule } from '@wm/components/input/slider';\n\nimport { MobileRuntimeDynamicModule, MOBILE_COMPONENT_MODULES_FOR_ROOT } from '@wm/mobile/runtime/dynamic';\n\n// Data\nimport { CardModule } from '@wm/components/data/card';\nimport { FormModule } from '@wm/components/data/form';\nimport { ListModule } from '@wm/components/data/list';\nimport { LiveTableModule } from '@wm/components/data/live-table';\nimport { PaginationModule } from '@wm/components/data/pagination';\nimport { TableModule } from '@wm/components/data/table';\n\n// Chart\nimport { ChartModule } from '@wm/components/chart';\n\n// Containers\nimport { AccordionModule } from '@wm/components/containers/accordion';\nimport { LinearLayoutModule } from '@wm/components/containers/linear-layout';\nimport { LayoutGridModule } from '@wm/components/containers/layout-grid';\nimport { PanelModule } from '@wm/components/containers/panel';\nimport { TabsModule } from '@wm/components/containers/tabs';\nimport { TileModule } from '@wm/components/containers/tile';\nimport { WizardModule } from '@wm/components/containers/wizard';\n\n// Dialogs\nimport { AlertDialogModule } from '@wm/components/dialogs/alert-dialog';\nimport { IframeDialogModule } from '@wm/components/dialogs/iframe-dialog';\nimport { LoginDialogModule } from '@wm/components/dialogs/login-dialog';\nimport { PartialDialogModule } from '@wm/components/dialogs/partial-dialog';\n\n// Navigation\nimport { BreadcrumbModule } from '@wm/components/navigation/breadcrumb';\nimport { MenuModule } from '@wm/components/navigation/menu';\nimport { NavbarModule } from '@wm/components/navigation/navbar';\nimport { PopoverModule } from '@wm/components/navigation/popover';\n\n// Advanced\nimport { CarouselModule } from '@wm/components/advanced/carousel';\nimport { LoginModule } from '@wm/components/advanced/login';\nimport { MarqueeModule } from '@wm/components/advanced/marquee';\n\nimport { PageModule } from '@wm/components/page';\nimport { FooterModule } from '@wm/components/page/footer';\nimport { HeaderModule } from '@wm/components/page/header';\nimport { LeftPanelModule } from '@wm/components/page/left-panel';\nimport { RightPanelModule } from '@wm/components/page/right-panel';\nimport { TopNavModule } from '@wm/components/page/top-nav';\n\nimport { PrefabModule } from '@wm/components/prefab';\n\nimport {\n AppComponent,\n AppJSProvider,\n AppVariablesProvider,\n ComponentRefProvider,\n PrefabConfigProvider,\n WmRouteReuseStrategy,\n WM_MODULES_FOR_ROOT,\n REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS,\n AppExtensionProvider\n} from '@wm/runtime/base';\n\nimport { routes } from './app.routes';\nimport { PageWrapperComponent } from './components/page-wrapper.component';\nimport { AppJSProviderService } from './services/app-js-provider.service';\nimport { AppVariablesProviderService } from './services/app-variables-provider.service';\nimport { AppExtensionProviderService } from './services/app-extension.service';\nimport { ComponentRefProviderService } from './services/component-ref-provider.service';\nimport { PrefabConfigProviderService } from './services/prefab-config-provider.service';\nimport { AppResourceManagerService } from './services/app-resource-manager.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nexport const routerModule = RouterModule.forRoot(routes, { useHash: true, scrollPositionRestoration: 'top' });\nexport const toastrModule = ToastNoAnimationModule.forRoot({ maxOpened: 1, autoDismiss: true });\n\n// In angular 15, xsrf headerName should not be null. Angular 15 is not using default header value like it used to send in calls\n// for angular 12 if the headerName is null . The user has to take care of not sending null values. Then ng 15 uses default value for headerName\nlet xsrfHeaderName = getWmProjectProperties().xsrf_header_name;\nlet xsrfOptions = {\n cookieName: 'wm_xsrf_token'\n}\nif(xsrfHeaderName) {\n xsrfOptions['headerName'] = xsrfHeaderName;\n}\nexport const httpClientXsrfModule = HttpClientXsrfModule.withOptions(xsrfOptions);\n\nexport const modalModule: ModuleWithProviders<ModalModule> = ModalModule.forRoot();\nexport const bsDatePickerModule: ModuleWithProviders<BsDatepickerModule> = BsDatepickerModule.forRoot();\nexport const timepickerModule: ModuleWithProviders<ngxTimepickerModule> = ngxTimepickerModule.forRoot();\nexport const bsDropdownModule: ModuleWithProviders<BsDropdownModule> = BsDropdownModule.forRoot();\nexport const paginationModule: ModuleWithProviders<ngxPaginationModule> = ngxPaginationModule.forRoot();\nexport const typeaheadModule: ModuleWithProviders<TypeaheadModule> = TypeaheadModule.forRoot();\nexport const progressbarModule: ModuleWithProviders<ProgressbarModule> = ProgressbarModule.forRoot();\nexport const carouselModule: ModuleWithProviders<ngxCarouselModule> = ngxCarouselModule.forRoot();\nexport const popoverModule: ModuleWithProviders<ngxPopoverModule> = ngxPopoverModule.forRoot();\nexport const ngCircleProgressModule: ModuleWithProviders<NgCircleProgressModule> = NgCircleProgressModule.forRoot({});\nexport const tooltipModule: ModuleWithProviders<TooltipModule> = TooltipModule.forRoot();\n\nconst componentsModule = [\n // NGX Bootstrap\n BsDatepickerModule,\n ngxTimepickerModule,\n BsDropdownModule,\n ngxPaginationModule,\n TypeaheadModule,\n ProgressbarModule,\n ngxCarouselModule,\n ngxPopoverModule,\n NgCircleProgressModule,\n TooltipModule,\n\n // Basic widgets\n BasicModule,\n ProgressModule,\n RichTextEditorModule,\n SearchModule,\n TreeModule,\n\n // Input\n CalendarModule,\n ChipsModule,\n ColorPickerModule,\n CurrencyModule,\n EpochModule,\n FileUploadModule,\n InputModule,\n RatingModule,\n SliderModule,\n\n // Data\n CardModule,\n FormModule,\n ListModule,\n LiveTableModule,\n PaginationModule,\n TableModule,\n\n // chart\n ChartModule,\n\n // container modules\n AccordionModule,\n LinearLayoutModule,\n LayoutGridModule,\n PanelModule,\n TabsModule,\n TileModule,\n WizardModule,\n\n // dialogs\n AlertDialogModule,\n IframeDialogModule,\n LoginDialogModule,\n PartialDialogModule,\n\n // navigation\n BreadcrumbModule,\n MenuModule,\n NavbarModule,\n PopoverModule,\n\n // Advanced\n CarouselModule,\n LoginModule,\n MarqueeModule,\n\n PageModule,\n FooterModule,\n HeaderModule,\n LeftPanelModule,\n RightPanelModule,\n TopNavModule,\n\n PrefabModule\n];\n\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(...componentsModule);\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(...MOBILE_COMPONENT_MODULES_FOR_ROOT);\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(FormsModule, ReactiveFormsModule);\n\n@NgModule({\n declarations: [\n PageWrapperComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n CommonModule,\n RouterModule,\n HttpClientModule,\n\n modalModule,\n bsDatePickerModule,\n timepickerModule,\n bsDropdownModule,\n paginationModule,\n typeaheadModule,\n tooltipModule,\n progressbarModule,\n carouselModule,\n popoverModule,\n ngCircleProgressModule,\n\n routerModule,\n toastrModule,\n httpClientXsrfModule,\n\n MobileRuntimeDynamicModule,\n WM_MODULES_FOR_ROOT\n ],\n providers: [\n AppResourceManagerService,\n { provide: AppJSProvider, useClass: AppJSProviderService },\n { provide: AppVariablesProvider, useClass: AppVariablesProviderService },\n { provide: AppExtensionProvider,useClass:AppExtensionProviderService},\n { provide: ComponentRefProvider, useClass: ComponentRefProviderService },\n { provide: PartialRefProvider, useClass: ComponentRefProviderService },\n { provide: PrefabConfigProvider, useClass: PrefabConfigProviderService },\n { provide: RouteReuseStrategy, useClass: WmRouteReuseStrategy }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(private app: App, private inj: Injector, private componentRefProvider: ComponentRefProvider) {\n if (window['cordova']) {\n // clear the cached urls on logout, to load the Login Page and not the Main Page as app reload(window.location.reload) is not invoked in mobile\n this.app.subscribe('userLoggedOut', this.componentRefProvider.clearComponentFactoryRefCache.bind(this.componentRefProvider));\n }\n }\n}\n","import { ApplicationRef, enableProdMode, NgModuleRef } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\n\ndeclare const _;\nconst DEBUG_MODE = 'debugMode';\n\nif (sessionStorage.getItem(DEBUG_MODE) !== 'true') {\n enableProdMode();\n}\n\nconsole.time('bootstrap');\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new Promise<void|Event>( resolve => {\n if (window['cordova']) {\n document.addEventListener('deviceready', resolve);\n } else {\n resolve();\n }\n }).then(() => platformBrowserDynamic().bootstrapModule(AppModule))\n .then((appModuleRef: NgModuleRef<AppModule>) => {\n const applicationRef = appModuleRef.injector.get(ApplicationRef);\n window.addEventListener('unload', () => {\n applicationRef.components.map(c => c && c.destroy());\n });\n console.timeEnd('bootstrap');\n }, err => console.log(err));\n});\n\n(window as any).debugMode = function(on) {\n if (_.isEmpty(on)) {\n on = true;\n }\n const value = on ? 'true' : 'false';\n if (sessionStorage.getItem(DEBUG_MODE) !== value) {\n sessionStorage.setItem(DEBUG_MODE, value);\n window.location.reload();\n }\n};\n\nexport default () => {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","cache","i1.AppResourceManagerService","i2","i3","ngxTimepickerModule","ngxPaginationModule","ngxCarouselModule","ngxPopoverModule","PaginationModule","PopoverModule","CarouselModule"],"mappings":"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"}
@@ -347,7 +347,6 @@ const getDynamicComponent = (componentName, type, template, css, script, variabl
347
347
  constructor(injector) {
348
348
  super();
349
349
  this.injector = injector;
350
- this.isDynamicComponent = true;
351
350
  this.injector = injector;
352
351
  switch (type) {
353
352
  case ComponentType.PAGE: