@wavemaker/app-ng-runtime 11.14.1-3.6306 → 11.14.1-32.647748

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 (67) hide show
  1. package/components/base/bundles/index.umd.js +6 -22
  2. package/components/base/esm2022/pipes/custom-pipes.mjs +1 -1
  3. package/components/base/esm2022/widgets/common/base/base.component.mjs +8 -24
  4. package/components/base/fesm2022/index.mjs +7 -23
  5. package/components/base/fesm2022/index.mjs.map +1 -1
  6. package/components/chart/bundles/index.umd.js +2 -2
  7. package/components/chart/esm2022/chart.utils.mjs +3 -3
  8. package/components/chart/fesm2022/index.mjs +2 -2
  9. package/components/chart/fesm2022/index.mjs.map +1 -1
  10. package/components/containers/wizard/bundles/index.umd.js +21 -2
  11. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +3 -1
  12. package/components/containers/wizard/esm2022/wizard.component.mjs +20 -3
  13. package/components/containers/wizard/fesm2022/index.mjs +21 -2
  14. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  15. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +2 -0
  16. package/components/data/pagination/bundles/index.umd.js +6 -1
  17. package/components/data/pagination/esm2022/pagination.component.mjs +7 -2
  18. package/components/data/pagination/fesm2022/index.mjs +6 -1
  19. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  20. package/components/data/table/bundles/index.umd.js +331 -23
  21. package/components/data/table/esm2022/table-action/table-action.directive.mjs +8 -1
  22. package/components/data/table/esm2022/table-column/table-column.directive.mjs +108 -4
  23. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +9 -1
  24. package/components/data/table/esm2022/table-cud.directive.mjs +22 -5
  25. package/components/data/table/esm2022/table-filter.directive.mjs +43 -4
  26. package/components/data/table/esm2022/table-row/table-row.directive.mjs +8 -1
  27. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +8 -1
  28. package/components/data/table/esm2022/table.component.mjs +134 -15
  29. package/components/data/table/fesm2022/index.mjs +333 -25
  30. package/components/data/table/fesm2022/index.mjs.map +1 -1
  31. package/components/data/table/table-action/table-action.directive.d.ts +3 -2
  32. package/components/data/table/table-column/table-column.directive.d.ts +3 -2
  33. package/components/data/table/table-column-group/table-column-group.directive.d.ts +3 -2
  34. package/components/data/table/table-cud.directive.d.ts +3 -1
  35. package/components/data/table/table-filter.directive.d.ts +3 -1
  36. package/components/data/table/table-row/table-row.directive.d.ts +3 -2
  37. package/components/data/table/table-row-action/table-row-action.directive.d.ts +3 -2
  38. package/components/data/table/table.component.d.ts +10 -0
  39. package/components/page/default/bundles/index.umd.js +1 -0
  40. package/components/page/default/esm2022/page.directive.mjs +2 -1
  41. package/components/page/default/fesm2022/index.mjs +1 -0
  42. package/components/page/default/fesm2022/index.mjs.map +1 -1
  43. package/core/bundles/index.umd.js +185 -330
  44. package/core/esm2022/public_api.mjs +2 -2
  45. package/core/esm2022/utils/watcher.mjs +189 -328
  46. package/core/fesm2022/index.mjs +192 -330
  47. package/core/fesm2022/index.mjs.map +1 -1
  48. package/core/public_api.d.ts +1 -1
  49. package/core/utils/watcher.d.ts +5 -26
  50. package/locales/moment-timezone/moment-timezone-with-data.js +179 -27
  51. package/npm-shrinkwrap.json +2 -2
  52. package/package-lock.json +2 -2
  53. package/package.json +1 -1
  54. package/runtime/base/bundles/index.umd.js +20 -46
  55. package/runtime/base/components/base-prefab.component.d.ts +6 -4
  56. package/runtime/base/esm2022/components/app-component/app.component.mjs +2 -7
  57. package/runtime/base/esm2022/components/base-page.component.mjs +2 -8
  58. package/runtime/base/esm2022/components/base-partial.component.mjs +3 -11
  59. package/runtime/base/esm2022/components/base-prefab.component.mjs +21 -21
  60. package/runtime/base/esm2022/components/base-spa-page.component.mjs +2 -9
  61. package/runtime/base/fesm2022/index.mjs +21 -47
  62. package/runtime/base/fesm2022/index.mjs.map +1 -1
  63. package/runtime/dynamic/bundles/index.umd.js +4 -0
  64. package/runtime/dynamic/esm2022/app/app.config.mjs +6 -2
  65. package/runtime/dynamic/fesm2022/index.mjs +5 -1
  66. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  67. package/scripts/datatable/datatable.js +336 -33
@@ -1,8 +1,8 @@
1
- import { Injector, OnInit } from '@angular/core';
1
+ import { Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { BaseComponent } from '@wm/components/base';
3
3
  import { TableComponent } from '../table.component';
4
4
  import * as i0 from "@angular/core";
5
- export declare class TableActionDirective extends BaseComponent implements OnInit {
5
+ export declare class TableActionDirective extends BaseComponent implements OnInit, OnDestroy {
6
6
  table: TableComponent;
7
7
  static initializeProps: void;
8
8
  accessroles: any;
@@ -29,6 +29,7 @@ export declare class TableActionDirective extends BaseComponent implements OnIni
29
29
  populateAction(): void;
30
30
  ngOnInit(): void;
31
31
  onPropertyChange(key: any, nv: any): void;
32
+ ngOnDestroy(): void;
32
33
  static ɵfac: i0.ɵɵFactoryDeclaration<TableActionDirective, [null, { optional: true; }, { optional: true; }]>;
33
34
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableActionDirective, "[wmTableAction]", never, {}, {}, never, never, true, never>;
34
35
  }
@@ -1,10 +1,10 @@
1
- import { AfterContentInit, AfterViewInit, Injector, OnInit, TemplateRef } from '@angular/core';
1
+ import { AfterContentInit, AfterViewInit, Injector, OnDestroy, OnInit, TemplateRef } from '@angular/core';
2
2
  import { AppDefaults } from '@wm/core';
3
3
  import { BaseComponent } from '@wm/components/base';
4
4
  import { TableComponent } from '../table.component';
5
5
  import { TableColumnGroupDirective } from '../table-column-group/table-column-group.directive';
6
6
  import * as i0 from "@angular/core";
7
- export declare class TableColumnDirective extends BaseComponent implements OnInit, AfterContentInit, AfterViewInit {
7
+ export declare class TableColumnDirective extends BaseComponent implements OnInit, AfterContentInit, AfterViewInit, OnDestroy {
8
8
  private appDefaults;
9
9
  table: TableComponent;
10
10
  group: TableColumnGroupDirective;
@@ -146,6 +146,7 @@ export declare class TableColumnDirective extends BaseComponent implements OnIni
146
146
  populateFieldDef(): void;
147
147
  onPropertyChange(key: any, nv: any, ov: any): void;
148
148
  setProperty(property: any, nv: any): void;
149
+ ngOnDestroy(): void;
149
150
  static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnDirective, [null, null, { optional: true; }, { optional: true; }, { attribute: "filterdataset.bind"; }, { attribute: "dataset.bind"; }, { optional: true; }]>;
150
151
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableColumnDirective, "[wmTableColumn]", never, {}, {}, ["customExprTmpl", "inlineWidthTempRef", "filterTemplateRef", "_filterInstances", "_inlineInstances", "_inlineInstancesNew"], never, true, never>;
151
152
  }
@@ -1,8 +1,8 @@
1
- import { Injector, OnInit } from '@angular/core';
1
+ import { Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { BaseComponent } from '@wm/components/base';
3
3
  import { TableComponent } from '../table.component';
4
4
  import * as i0 from "@angular/core";
5
- export declare class TableColumnGroupDirective extends BaseComponent implements OnInit {
5
+ export declare class TableColumnGroupDirective extends BaseComponent implements OnInit, OnDestroy {
6
6
  group: TableColumnGroupDirective;
7
7
  table: TableComponent;
8
8
  static initializeProps: void;
@@ -17,6 +17,7 @@ export declare class TableColumnGroupDirective extends BaseComponent implements
17
17
  populateConfig(): void;
18
18
  onPropertyChange(key: any, nv: any, ov?: any): void;
19
19
  ngOnInit(): void;
20
+ ngOnDestroy(): void;
20
21
  static ɵfac: i0.ɵɵFactoryDeclaration<TableColumnGroupDirective, [null, { optional: true; skipSelf: true; }, { optional: true; }, { optional: true; }]>;
21
22
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableColumnGroupDirective, "[wmTableColumnGroup]", never, {}, {}, never, never, true, never>;
22
23
  }
@@ -1,6 +1,7 @@
1
+ import { OnDestroy } from '@angular/core';
1
2
  import { AbstractDialogService, App } from '@wm/core';
2
3
  import * as i0 from "@angular/core";
3
- export declare class TableCUDDirective {
4
+ export declare class TableCUDDirective implements OnDestroy {
4
5
  private table;
5
6
  private dialogService;
6
7
  private app;
@@ -27,6 +28,7 @@ export declare class TableCUDDirective {
27
28
  hideEditRow(): void;
28
29
  saveRow(): void;
29
30
  cancelRow(): void;
31
+ ngOnDestroy(): void;
30
32
  static ɵfac: i0.ɵɵFactoryDeclaration<TableCUDDirective, [{ self: true; }, null, null]>;
31
33
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableCUDDirective, "[wmTableCUD]", never, {}, {}, never, never, true, never>;
32
34
  }
@@ -1,5 +1,6 @@
1
+ import { OnDestroy } from '@angular/core';
1
2
  import * as i0 from "@angular/core";
2
- export declare class TableFilterSortDirective {
3
+ export declare class TableFilterSortDirective implements OnDestroy {
3
4
  private table;
4
5
  constructor(table: any);
5
6
  adjustContainer(fieldName: any): void;
@@ -28,6 +29,7 @@ export declare class TableFilterSortDirective {
28
29
  private getFilterOnFieldValues;
29
30
  onRowFilterChange(fieldName: any): void;
30
31
  refreshData(isSamePage: any): void;
32
+ ngOnDestroy(): void;
31
33
  static ɵfac: i0.ɵɵFactoryDeclaration<TableFilterSortDirective, [{ self: true; }]>;
32
34
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableFilterSortDirective, "[wmTableFilterSort]", never, {}, {}, never, never, true, never>;
33
35
  }
@@ -1,8 +1,8 @@
1
- import { Injector, OnInit } from '@angular/core';
1
+ import { Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { BaseComponent } from '@wm/components/base';
3
3
  import { TableComponent } from '../table.component';
4
4
  import * as i0 from "@angular/core";
5
- export declare class TableRowDirective extends BaseComponent implements OnInit {
5
+ export declare class TableRowDirective extends BaseComponent implements OnInit, OnDestroy {
6
6
  table: TableComponent;
7
7
  static initializeProps: void;
8
8
  config: any;
@@ -19,6 +19,7 @@ export declare class TableRowDirective extends BaseComponent implements OnInit {
19
19
  populateConfig(): void;
20
20
  ngOnInit(): void;
21
21
  onPropertyChange(key: string, nv: any): void;
22
+ ngOnDestroy(): void;
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<TableRowDirective, [null, { optional: true; skipSelf: true; }, { optional: true; }]>;
23
24
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableRowDirective, "[wmTableRow]", never, {}, {}, never, never, true, never>;
24
25
  }
@@ -1,8 +1,8 @@
1
- import { Injector, OnInit } from '@angular/core';
1
+ import { Injector, OnDestroy, OnInit } from '@angular/core';
2
2
  import { BaseComponent } from '@wm/components/base';
3
3
  import { TableComponent } from '../table.component';
4
4
  import * as i0 from "@angular/core";
5
- export declare class TableRowActionDirective extends BaseComponent implements OnInit {
5
+ export declare class TableRowActionDirective extends BaseComponent implements OnInit, OnDestroy {
6
6
  table: TableComponent;
7
7
  static initializeProps: void;
8
8
  accessroles: any;
@@ -25,6 +25,7 @@ export declare class TableRowActionDirective extends BaseComponent implements On
25
25
  getTitle(): any;
26
26
  populateAction(): void;
27
27
  ngOnInit(): void;
28
+ ngOnDestroy(): void;
28
29
  static ɵfac: i0.ɵɵFactoryDeclaration<TableRowActionDirective, [null, { optional: true; }, { self: true; }, { optional: true; }]>;
29
30
  static ɵdir: i0.ɵɵDirectiveDeclaration<TableRowActionDirective, "[wmTableRowAction]", never, {}, {}, never, never, true, never>;
30
31
  }
@@ -66,6 +66,9 @@ export declare class TableComponent extends StylableComponent implements AfterCo
66
66
  viewlessmessage: any;
67
67
  showviewlessbutton: boolean;
68
68
  _triggeredByUser: any;
69
+ _isInlineEditSave: any;
70
+ /** Covers async navigator/dataset updates after inline/quickedit save (wm.Variable). */
71
+ private _modelVarEditSoftRefreshActiveUntil;
69
72
  isGridEditMode: any;
70
73
  loadingdatamsg: any;
71
74
  multiselect: any;
@@ -295,7 +298,10 @@ export declare class TableComponent extends StylableComponent implements AfterCo
295
298
  registerColNgClassWatcher: (rowData: any, colDef: any, rowIndex: any, colIndex: any, summaryRow: any) => void;
296
299
  registerCollapseOrExpandTitleWatch: (expr: any, rowData: any, index: any, titleName: any, element: any) => void;
297
300
  clearCustomExpression: () => void;
301
+ updateCustomExpressionContexts: (preparedData: any) => void;
298
302
  clearRowDetailExpression: () => void;
303
+ invalidateRowDetailCache: (preparedData: any) => void;
304
+ refreshSelectedItems: () => void;
299
305
  generateCustomExpressions: (rowData: any, index: any, summaryRow?: any) => void;
300
306
  generateRowExpansionCell: (rowData: any, index: any) => void;
301
307
  getRowExpansionAction: (index: any) => any;
@@ -331,6 +337,10 @@ export declare class TableComponent extends StylableComponent implements AfterCo
331
337
  applyValidations: (col: any, alwaysNewRow: any) => void;
332
338
  removeValidations: (alwaysNewRow: any) => void;
333
339
  };
340
+ /** wm.Variable + inline or quickedit (editmode is string from markup; normalize case). */
341
+ private isModelVariableInlineOrQuickEdit;
342
+ /** True while an inline/quickedit row save is updating the grid (incl. delayed navigator emit). */
343
+ private shouldSoftRefreshAfterModelVarRowSave;
334
344
  private _gridData;
335
345
  private _selectedItemsExist;
336
346
  set gridData(newValue: any);
@@ -99,6 +99,7 @@
99
99
  this.notify('detach');
100
100
  }
101
101
  ngOnDestroy() {
102
+ super.ngOnDestroy();
102
103
  this.invokeEventCallback('destroy', { widget: this });
103
104
  this._eventNotifier.destroy();
104
105
  }
@@ -70,6 +70,7 @@ export class PageDirective extends StylableComponent {
70
70
  this.notify('detach');
71
71
  }
72
72
  ngOnDestroy() {
73
+ super.ngOnDestroy();
73
74
  this.invokeEventCallback('destroy', { widget: this });
74
75
  this._eventNotifier.destroy();
75
76
  }
@@ -94,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
94
95
  }, {
95
96
  type: Optional
96
97
  }] }] });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvcGFnZS9kZWZhdWx0L3NyYy9wYWdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFhLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQWlCLE1BQU0sVUFBVSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFFN0MsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUM7QUFDekMsTUFBTSxhQUFhLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQVV4RSxNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUFpQjthQUN6QyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQU16QyxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsRUFBTyxFQUFFLEVBQVE7UUFDM0MsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksR0FBYSxFQUFVLFlBQW1CLEVBQVUsUUFBa0IsRUFB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QUU7d0JBQ1Asa0JBQWtCLGVBQWU7cUJBQ3BDO29CQUNELFFBQVEsRUFBRSxRQUFRO2lCQUNyQjs7MEJBZ0J3RixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEV2ZW50Tm90aWZpZXIsIFZpZXdwb3J0LCBWaWV3cG9ydEV2ZW50IH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgdXBkYXRlRGV2aWNlVmlldywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBTdHlsYWJsZUNvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9wYWdlLnByb3BzJztcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLXBhZ2UgY29udGFpbmVyJztcbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7IHdpZGdldFR5cGU6ICd3bS1wYWdlJywgaG9zdENsYXNzOiBERUZBVUxUX0NMUyB9O1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3dtUGFnZV0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoUGFnZURpcmVjdGl2ZSlcbiAgICBdLFxuICAgIGV4cG9ydEFzOiAnd21QYWdlJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWdlRGlyZWN0aXZlIGV4dGVuZHMgU3R5bGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwcml2YXRlIF9ldmVudE5vdGlmaWVyID0gbmV3IEV2ZW50Tm90aWZpZXIoZmFsc2UpO1xuICAgIHB1YmxpYyByZWZyZXNoZGF0YW9uYXR0YWNoID0gdHJ1ZTtcbiAgICBwdWJsaWMgcGFnZXRpdGxlOiBzdHJpbmc7XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAncGFnZXRpdGxlJykge1xuICAgICAgICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUobnYpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGUsIHByaXZhdGUgdmlld3BvcnQ6IFZpZXdwb3J0LCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgY2hpbGQgY29tcG9uZW50IGNhbiBub3RpZnkgcGFnZSB1c2luZyB0aGlzIG1ldGhvZC4gTm90aWZpZWQgZXZlbnQgd2lsbCBiZSBwYXNzZWQgdG9cbiAgICAgKiBzdWJzY3JpYmVkIGNoaWxkcmVuIG9ubHkgYWZ0ZXIgcGFnZSBpbml0aWFsaXphdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqL1xuICAgIHB1YmxpYyBub3RpZnkoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmRhdGE6IEFycmF5PGFueT4pIHtcbiAgICAgICAgdGhpcy5fZXZlbnROb3RpZmllci5ub3RpZnkuYXBwbHkodGhpcy5fZXZlbnROb3RpZmllciwgYXJndW1lbnRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWFpbiBwdXJwb3NlIG9mIHRoaXMgZnVuY3Rpb24gaXMgdG8gcHJvdmlkZSBjb21tdW5pY2F0aW9uIGJldHdlZW4gcGFnZSBjaGlsZHJlbiBvYmplY3RzLlxuICAgICAqIENoaWxkIGNvbXBvbmVudCBjYW4gc3Vic2NyaWJlIGZvciBhbiBldmVudCB0aGF0IHdpbGwgYmUgZW1pdHRlZCBieSBhbm90aGVyIGNoaWxkIGNvbXBvbmVudC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudE5hbWVcbiAgICAgKiBAcGFyYW0geyhkYXRhOiBhbnkpID0+IHZvaWR9IGNhbGxiYWNrXG4gICAgICogQHJldHVybnMge2FueX1cbiAgICAgKi9cbiAgICBwdWJsaWMgc3Vic2NyaWJlKGV2ZW50TmFtZSwgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpOiAoKSA9PiB2b2lkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50Tm90aWZpZXIuc3Vic2NyaWJlKGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZXZlbnROb3RpZmllci5zdGFydCgpO1xuICAgICAgICAgICAgdXBkYXRlRGV2aWNlVmlldyh0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZ2V0QXBwSW5zdGFuY2UoKS5pc1RhYmxldEFwcGxpY2F0aW9uVHlwZSk7XG4gICAgICAgIH0sIDEpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKHRoaXMudmlld3BvcnQuc3Vic2NyaWJlKFZpZXdwb3J0RXZlbnQuUkVTSVpFLCBhcmdzID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygncmVzaXplJywgeyAkZXZlbnQ6IGFyZ3MuJGV2ZW50LCB3aWRnZXQ6IHRoaXMsIGRhdGE6IGFyZ3MuZGF0YSB9KTtcbiAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKHRoaXMudmlld3BvcnQuc3Vic2NyaWJlKFZpZXdwb3J0RXZlbnQuT1JJRU5UQVRJT05fQ0hBTkdFLCBhcmdzID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnb3JpZW50YXRpb25jaGFuZ2UnLCB7ICRldmVudDogYXJncy4kZXZlbnQsIHdpZGdldDogdGhpcywgZGF0YTogYXJncy5kYXRhIH0pO1xuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25BdHRhY2goKSB7XG4gICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRoaXMucGFnZXRpdGxlKTtcbiAgICAgICAgdGhpcy5pbnZva2VFdmVudENhbGxiYWNrKCdhdHRhY2gnLCB7IHdpZGdldDogdGhpcyB9KTtcbiAgICAgICAgdGhpcy5ub3RpZnkoJ2F0dGFjaCcsIHtcbiAgICAgICAgICAgIHJlZnJlc2hEYXRhOiB0aGlzLnJlZnJlc2hkYXRhb25hdHRhY2hcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXRhY2goKSB7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnZGV0YWNoJywgeyB3aWRnZXQ6IHRoaXMgfSk7XG4gICAgICAgIHRoaXMubm90aWZ5KCdkZXRhY2gnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnZGVzdHJveScsIHsgd2lkZ2V0OiB0aGlzIH0pO1xuICAgICAgICB0aGlzLl9ldmVudE5vdGlmaWVyLmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvcGFnZS9kZWZhdWx0L3NyYy9wYWdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFhLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQWlCLE1BQU0sVUFBVSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7QUFFN0MsTUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUM7QUFDekMsTUFBTSxhQUFhLEdBQUcsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztBQVV4RSxNQUFNLE9BQU8sYUFBYyxTQUFRLGlCQUFpQjthQUN6QyxvQkFBZSxHQUFHLGFBQWEsRUFBRSxBQUFsQixDQUFtQjtJQU16QyxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsRUFBTyxFQUFFLEVBQVE7UUFDM0MsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksR0FBYSxFQUFVLFlBQW1CLEVBQVUsUUFBa0IsRUFB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QixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsU0FBUyxFQUFFO3dCQUNQLGtCQUFrQixlQUFlO3FCQUNwQztvQkFDRCxRQUFRLEVBQUUsUUFBUTtpQkFDckI7OzBCQWdCd0YsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBFdmVudE5vdGlmaWVyLCBWaWV3cG9ydCwgVmlld3BvcnRFdmVudCB9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IHVwZGF0ZURldmljZVZpZXcsIHByb3ZpZGVBc1dpZGdldFJlZiwgU3R5bGFibGVDb21wb25lbnQgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vcGFnZS5wcm9wcyc7XG5cbmNvbnN0IERFRkFVTFRfQ0xTID0gJ2FwcC1wYWdlIGNvbnRhaW5lcic7XG5jb25zdCBXSURHRVRfQ09ORklHID0geyB3aWRnZXRUeXBlOiAnd20tcGFnZScsIGhvc3RDbGFzczogREVGQVVMVF9DTFMgfTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t3bVBhZ2VdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKFBhZ2VEaXJlY3RpdmUpXG4gICAgXSxcbiAgICBleHBvcnRBczogJ3dtUGFnZSdcbn0pXG5leHBvcnQgY2xhc3MgUGFnZURpcmVjdGl2ZSBleHRlbmRzIFN0eWxhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHJpdmF0ZSBfZXZlbnROb3RpZmllciA9IG5ldyBFdmVudE5vdGlmaWVyKGZhbHNlKTtcbiAgICBwdWJsaWMgcmVmcmVzaGRhdGFvbmF0dGFjaCA9IHRydWU7XG4gICAgcHVibGljIHBhZ2V0aXRsZTogc3RyaW5nO1xuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ3BhZ2V0aXRsZScpIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLnNldFRpdGxlKG52KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgcHJpdmF0ZSB0aXRsZVNlcnZpY2U6IFRpdGxlLCBwcml2YXRlIHZpZXdwb3J0OiBWaWV3cG9ydCwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIGNoaWxkIGNvbXBvbmVudCBjYW4gbm90aWZ5IHBhZ2UgdXNpbmcgdGhpcyBtZXRob2QuIE5vdGlmaWVkIGV2ZW50IHdpbGwgYmUgcGFzc2VkIHRvXG4gICAgICogc3Vic2NyaWJlZCBjaGlsZHJlbiBvbmx5IGFmdGVyIHBhZ2UgaW5pdGlhbGl6YXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lXG4gICAgICogQHBhcmFtIGRhdGFcbiAgICAgKi9cbiAgICBwdWJsaWMgbm90aWZ5KGV2ZW50TmFtZTogc3RyaW5nLCAuLi5kYXRhOiBBcnJheTxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2V2ZW50Tm90aWZpZXIubm90aWZ5LmFwcGx5KHRoaXMuX2V2ZW50Tm90aWZpZXIsIGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1haW4gcHVycG9zZSBvZiB0aGlzIGZ1bmN0aW9uIGlzIHRvIHByb3ZpZGUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHBhZ2UgY2hpbGRyZW4gb2JqZWN0cy5cbiAgICAgKiBDaGlsZCBjb21wb25lbnQgY2FuIHN1YnNjcmliZSBmb3IgYW4gZXZlbnQgdGhhdCB3aWxsIGJlIGVtaXR0ZWQgYnkgYW5vdGhlciBjaGlsZCBjb21wb25lbnQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnROYW1lXG4gICAgICogQHBhcmFtIHsoZGF0YTogYW55KSA9PiB2b2lkfSBjYWxsYmFja1xuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHVibGljIHN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldmVudE5vdGlmaWVyLnN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50Tm90aWZpZXIuc3RhcnQoKTtcbiAgICAgICAgICAgIHVwZGF0ZURldmljZVZpZXcodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLmdldEFwcEluc3RhbmNlKCkuaXNUYWJsZXRBcHBsaWNhdGlvblR5cGUpO1xuICAgICAgICB9LCAxKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcih0aGlzLnZpZXdwb3J0LnN1YnNjcmliZShWaWV3cG9ydEV2ZW50LlJFU0laRSwgYXJncyA9PiB7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ3Jlc2l6ZScsIHsgJGV2ZW50OiBhcmdzLiRldmVudCwgd2lkZ2V0OiB0aGlzLCBkYXRhOiBhcmdzLmRhdGEgfSk7XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcih0aGlzLnZpZXdwb3J0LnN1YnNjcmliZShWaWV3cG9ydEV2ZW50Lk9SSUVOVEFUSU9OX0NIQU5HRSwgYXJncyA9PiB7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ29yaWVudGF0aW9uY2hhbmdlJywgeyAkZXZlbnQ6IGFyZ3MuJGV2ZW50LCB3aWRnZXQ6IHRoaXMsIGRhdGE6IGFyZ3MuZGF0YSB9KTtcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQXR0YWNoKCkge1xuICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aGlzLnBhZ2V0aXRsZSk7XG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnYXR0YWNoJywgeyB3aWRnZXQ6IHRoaXMgfSk7XG4gICAgICAgIHRoaXMubm90aWZ5KCdhdHRhY2gnLCB7XG4gICAgICAgICAgICByZWZyZXNoRGF0YTogdGhpcy5yZWZyZXNoZGF0YW9uYXR0YWNoXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGV0YWNoKCkge1xuICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2RldGFjaCcsIHsgd2lkZ2V0OiB0aGlzIH0pO1xuICAgICAgICB0aGlzLm5vdGlmeSgnZGV0YWNoJyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpXG4gICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnZGVzdHJveScsIHsgd2lkZ2V0OiB0aGlzIH0pO1xuICAgICAgICB0aGlzLl9ldmVudE5vdGlmaWVyLmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
@@ -79,6 +79,7 @@ class PageDirective extends StylableComponent {
79
79
  this.notify('detach');
80
80
  }
81
81
  ngOnDestroy() {
82
+ super.ngOnDestroy();
82
83
  this.invokeEventCallback('destroy', { widget: this });
83
84
  this._eventNotifier.destroy();
84
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/page/default/src/page.props.ts","../../../../../projects/components/widgets/page/default/src/page.directive.ts","../../../../../projects/components/widgets/page/default/src/layout.props.ts","../../../../../projects/components/widgets/page/default/src/layout.directive.ts","../../../../../projects/components/widgets/page/default/src/page-content/page-content.props.ts","../../../../../projects/components/widgets/page/default/src/page-content/page-content.component.ts","../../../../../projects/components/widgets/page/default/src/page-content/page-content.component.html","../../../../../projects/components/widgets/page/default/src/content/content.props.ts","../../../../../projects/components/widgets/page/default/src/content/content.component.ts","../../../../../projects/components/widgets/page/default/src/content/content.component.html","../../../../../projects/components/widgets/page/default/src/spa-page.props.ts","../../../../../projects/components/widgets/page/default/src/spa-page.directive.ts","../../../../../projects/components/widgets/page/default/src/router-outlet.props.ts","../../../../../projects/components/widgets/page/default/src/router-outlet.directive.ts","../../../../../projects/components/widgets/page/default/src/index.ts"],"sourcesContent":["import {PROP_BOOLEAN, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-page',\n new Map(\n [\n ['cache', {value: false, ...PROP_BOOLEAN}],\n ['refreshdataonattach', {value: true, ...PROP_BOOLEAN}],\n ['pagetitle', PROP_STRING],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING]\n ]\n )\n );\n};\n","import { AfterViewInit, Directive, Inject, Injector, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { EventNotifier, Viewport, ViewportEvent } from '@wm/core';\nimport { updateDeviceView, provideAsWidgetRef, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './page.props';\n\nconst DEFAULT_CLS = 'app-page container';\nconst WIDGET_CONFIG = { widgetType: 'wm-page', hostClass: DEFAULT_CLS };\n\n@Directive({\n standalone: true,\n selector: '[wmPage]',\n providers: [\n provideAsWidgetRef(PageDirective)\n ],\n exportAs: 'wmPage'\n})\nexport class PageDirective extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n private _eventNotifier = new EventNotifier(false);\n public refreshdataonattach = true;\n public pagetitle: string;\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'pagetitle') {\n this.titleService.setTitle(nv);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n constructor(inj: Injector, private titleService: Title, private viewport: Viewport, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n /**\n * A child component can notify page using this method. Notified event will be passed to\n * subscribed children only after page initialization.\n *\n * @param {string} eventName\n * @param data\n */\n public notify(eventName: string, ...data: Array<any>) {\n this._eventNotifier.notify.apply(this._eventNotifier, arguments);\n }\n\n /**\n * The main purpose of this function is to provide communication between page children objects.\n * Child component can subscribe for an event that will be emitted by another child component.\n *\n * @param eventName\n * @param {(data: any) => void} callback\n * @returns {any}\n */\n public subscribe(eventName, callback: (data: any) => void): () => void {\n return this._eventNotifier.subscribe(eventName, callback);\n }\n\n public ngAfterViewInit() {\n setTimeout(() => {\n this._eventNotifier.start();\n updateDeviceView(this.nativeElement, this.getAppInstance().isTabletApplicationType);\n }, 1);\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.RESIZE, args => {\n this.invokeEventCallback('resize', { $event: args.$event, widget: this, data: args.data });\n }));\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.ORIENTATION_CHANGE, args => {\n this.invokeEventCallback('orientationchange', { $event: args.$event, widget: this, data: args.data });\n }));\n }\n\n public ngOnAttach() {\n this.titleService.setTitle(this.pagetitle);\n this.invokeEventCallback('attach', { widget: this });\n this.notify('attach', {\n refreshData: this.refreshdataonattach\n });\n }\n\n public ngOnDetach() {\n this.invokeEventCallback('detach', { widget: this });\n this.notify('detach');\n }\n\n public ngOnDestroy() {\n this.invokeEventCallback('destroy', { widget: this });\n this._eventNotifier.destroy();\n }\n}\n","import { register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-layout',\n new Map(\n []\n )\n );\n};\n","import {AfterViewInit, Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport {EventNotifier} from '@wm/core';\nimport { updateDeviceView, provideAsWidgetRef, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './layout.props';\n\nconst DEFAULT_CLS = 'app-page container';\nconst WIDGET_CONFIG = {widgetType: 'wm-layout', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmLayout]',\n providers: [\n provideAsWidgetRef(LayoutDirective)\n ],\n exportAs: 'wmLayout'\n})\nexport class LayoutDirective extends StylableComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n private _eventNotifier = new EventNotifier(false);\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n /**\n * A child component can notify page using this method. Notified event will be passed to\n * subscribed children only after page initialization.\n *\n * @param {string} eventName\n * @param data\n */\n public notify(eventName: string, ...data: Array<any>) {\n this._eventNotifier.notify.apply(this._eventNotifier, arguments);\n }\n\n public ngAfterViewInit() {\n setTimeout(() => {\n updateDeviceView(this.nativeElement, this.getAppInstance().isTabletApplicationType);\n }, 1);\n }\n}\n","import { PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-page-content',\n new Map(\n [\n ['class', PROP_STRING],\n ['columnwidth', PROP_NUMBER],\n ['content', PROP_STRING],\n ['name', PROP_STRING],\n ['pulltorefresh', {value: false, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {Component, Inject, Injector, Optional} from '@angular/core';\n\nimport {App, switchClass} from '@wm/core';\nimport { APPLY_STYLES_TYPE, PullToRefresh, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './page-content.props';\n\nconst DEFAULT_CLS = 'app-page-content app-content-column';\nconst WIDGET_CONFIG = {widgetType: 'wm-page-content', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n selector: '[wmPageContent]',\n templateUrl: './page-content.component.html',\n providers: [\n provideAsWidgetRef(PageContentComponent)\n ]\n})\nexport class PageContentComponent extends StylableComponent {\n static initializeProps = registerProps();\n\n public pullToRefreshIns: PullToRefresh;\n private pulltorefresh: boolean;\n private childPullToRefresh: boolean;\n\n constructor(inj: Injector, private app: App, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n\n this.registerDestroyListener(this.app.subscribe('pullToRefresh:enable', () => {\n this.childPullToRefresh = true;\n this.initPullToRefresh();\n }));\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'columnwidth') {\n switchClass(this.nativeElement, `col-md-${nv} col-sm-${nv}`, `col-md-${ov} col-sm-${ov}`);\n } else if (key === 'pulltorefresh' && nv) {\n // creating instance after timeout as the smoothscroll styles where getting added on pull refresh-container\n setTimeout(() => {\n this.initPullToRefresh();\n });\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n // when list component is ready, pulltorefresh instance is created and this appends pullToRefresh element on the page content.\n private initPullToRefresh() {\n const hasPullToRefreshEvent = this.hasEventCallback('pulltorefresh');\n if (!this.pullToRefreshIns && (this.childPullToRefresh || hasPullToRefreshEvent) && this.pulltorefresh) {\n this.pullToRefreshIns = new PullToRefresh($(this.nativeElement), this.app, () => {\n if (hasPullToRefreshEvent) {\n this.invokeEventCallback('pulltorefresh');\n } else {\n this.app.notify('pulltorefresh');\n }\n });\n this.registerDestroyListener(() => {\n if (this.pullToRefreshIns.cancelSubscription) {\n this.pullToRefreshIns.cancelSubscription();\n }\n });\n }\n }\n}\n","<ng-content></ng-content>","import { PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-content',\n new Map(\n [\n ['name', PROP_STRING],\n ['class', PROP_STRING]\n ]\n )\n );\n};\n","import {Component, Inject, Injector, Optional} from '@angular/core';\n\nimport { IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './content.props';\n\nconst DEFAULT_CLS = 'app-content clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-content', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n selector: '[wmContent]',\n templateUrl: './content.component.html',\n providers: [\n provideAsWidgetRef(ContentComponent)\n ]\n})\nexport class ContentComponent extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this);\n }\n}\n","<div class=\"row app-content-row clearfix\">\n <ng-content></ng-content>\n</div>","import { PROP_STRING, PROP_BOOLEAN, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-spa-page',\n new Map(\n [\n ['cache', {value: false, ...PROP_BOOLEAN}],\n ['refreshdataonattach', {value: true, ...PROP_BOOLEAN}],\n ['pagetitle', PROP_STRING],\n ['hint', PROP_STRING]\n ]\n )\n );\n};\n","import {AfterViewInit, Directive, Inject, Injector, OnDestroy, Optional, SkipSelf} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport {EventNotifier, Viewport, ViewportEvent} from '@wm/core';\nimport { updateDeviceView, provideAsWidgetRef, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './spa-page.props';\n\nconst DEFAULT_CLS = 'app-spa-page';\nconst WIDGET_CONFIG = {widgetType: 'wm-spa-page', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmSpaPage]',\n providers: [\n provideAsWidgetRef(SpaPageDirective)\n ],\n exportAs: 'wmSpaPage'\n})\nexport class SpaPageDirective extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n private _eventNotifier = new EventNotifier(false);\n public refreshdataonattach = true;\n public pagetitle: string;\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'pagetitle') {\n this.titleService.setTitle(nv);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n constructor(inj: Injector, private titleService: Title, private viewport: Viewport, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n /**\n * A child component can notify page using this method. Notified event will be passed to\n * subscribed children only after page initialization.\n *\n * @param {string} eventName\n * @param data\n */\n public notify(eventName: string, ...data: Array<any>) {\n this._eventNotifier.notify.apply(this._eventNotifier, arguments);\n }\n\n /**\n * The main purpose of this function is to provide communication between page children objects.\n * Child component can subscribe for an event that will be emitted by another child component.\n *\n * @param eventName\n * @param {(data: any) => void} callback\n * @returns {any}\n */\n public subscribe(eventName, callback: (data: any) => void): () => void {\n return this._eventNotifier.subscribe(eventName, callback);\n }\n\n public ngAfterViewInit() {\n setTimeout(() => {\n this._eventNotifier.start();\n updateDeviceView(this.nativeElement, this.getAppInstance().isTabletApplicationType);\n }, 1);\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.RESIZE, args => {\n this.invokeEventCallback('resize', { $event: args.$event, widget: this, data: args.data });\n }));\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.ORIENTATION_CHANGE, args => {\n this.invokeEventCallback('orientationchange', { $event: args.$event, widget: this, data: args.data });\n }));\n }\n\n public ngOnAttach() {\n this.titleService.setTitle(this.pagetitle);\n this.invokeEventCallback('attach', { widget: this });\n this.notify('attach', {\n refreshData : this.refreshdataonattach\n });\n }\n\n public ngOnDetach() {\n this.invokeEventCallback('detach', { widget: this });\n this.notify('detach');\n }\n\n public ngOnDestroy() {\n this.invokeEventCallback('destroy', { widget: this });\n this._eventNotifier.destroy();\n }\n}\n","import { PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-router-outlet',\n new Map(\n [\n ['columnwidth', PROP_NUMBER],\n ['name', PROP_STRING]\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport {switchClass} from '@wm/core';\n\nimport { IWidgetConfig, provideAsWidgetRef, StylableComponent } from '@wm/components/base';\nimport { registerProps } from './router-outlet.props';\n\nconst DEFAULT_CLS = 'app-content-column-wrapper';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-router-outlet',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmRouterOutlet]',\n providers: [\n provideAsWidgetRef(RouterOutletDirective)\n ]\n})\nexport class RouterOutletDirective extends StylableComponent {\n static initializeProps = registerProps();\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'columnwidth') {\n switchClass(this.nativeElement, `col-md-${nv} col-sm-${nv}`, `col-md-${ov} col-sm-${ov}`);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/page/default/src/page.props.ts","../../../../../projects/components/widgets/page/default/src/page.directive.ts","../../../../../projects/components/widgets/page/default/src/layout.props.ts","../../../../../projects/components/widgets/page/default/src/layout.directive.ts","../../../../../projects/components/widgets/page/default/src/page-content/page-content.props.ts","../../../../../projects/components/widgets/page/default/src/page-content/page-content.component.ts","../../../../../projects/components/widgets/page/default/src/page-content/page-content.component.html","../../../../../projects/components/widgets/page/default/src/content/content.props.ts","../../../../../projects/components/widgets/page/default/src/content/content.component.ts","../../../../../projects/components/widgets/page/default/src/content/content.component.html","../../../../../projects/components/widgets/page/default/src/spa-page.props.ts","../../../../../projects/components/widgets/page/default/src/spa-page.directive.ts","../../../../../projects/components/widgets/page/default/src/router-outlet.props.ts","../../../../../projects/components/widgets/page/default/src/router-outlet.directive.ts","../../../../../projects/components/widgets/page/default/src/index.ts"],"sourcesContent":["import {PROP_BOOLEAN, PROP_STRING, register} from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-page',\n new Map(\n [\n ['cache', {value: false, ...PROP_BOOLEAN}],\n ['refreshdataonattach', {value: true, ...PROP_BOOLEAN}],\n ['pagetitle', PROP_STRING],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING]\n ]\n )\n );\n};\n","import { AfterViewInit, Directive, Inject, Injector, OnDestroy, Optional, SkipSelf } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport { EventNotifier, Viewport, ViewportEvent } from '@wm/core';\nimport { updateDeviceView, provideAsWidgetRef, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './page.props';\n\nconst DEFAULT_CLS = 'app-page container';\nconst WIDGET_CONFIG = { widgetType: 'wm-page', hostClass: DEFAULT_CLS };\n\n@Directive({\n standalone: true,\n selector: '[wmPage]',\n providers: [\n provideAsWidgetRef(PageDirective)\n ],\n exportAs: 'wmPage'\n})\nexport class PageDirective extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n private _eventNotifier = new EventNotifier(false);\n public refreshdataonattach = true;\n public pagetitle: string;\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'pagetitle') {\n this.titleService.setTitle(nv);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n constructor(inj: Injector, private titleService: Title, private viewport: Viewport, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n /**\n * A child component can notify page using this method. Notified event will be passed to\n * subscribed children only after page initialization.\n *\n * @param {string} eventName\n * @param data\n */\n public notify(eventName: string, ...data: Array<any>) {\n this._eventNotifier.notify.apply(this._eventNotifier, arguments);\n }\n\n /**\n * The main purpose of this function is to provide communication between page children objects.\n * Child component can subscribe for an event that will be emitted by another child component.\n *\n * @param eventName\n * @param {(data: any) => void} callback\n * @returns {any}\n */\n public subscribe(eventName, callback: (data: any) => void): () => void {\n return this._eventNotifier.subscribe(eventName, callback);\n }\n\n public ngAfterViewInit() {\n setTimeout(() => {\n this._eventNotifier.start();\n updateDeviceView(this.nativeElement, this.getAppInstance().isTabletApplicationType);\n }, 1);\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.RESIZE, args => {\n this.invokeEventCallback('resize', { $event: args.$event, widget: this, data: args.data });\n }));\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.ORIENTATION_CHANGE, args => {\n this.invokeEventCallback('orientationchange', { $event: args.$event, widget: this, data: args.data });\n }));\n }\n\n public ngOnAttach() {\n this.titleService.setTitle(this.pagetitle);\n this.invokeEventCallback('attach', { widget: this });\n this.notify('attach', {\n refreshData: this.refreshdataonattach\n });\n }\n\n public ngOnDetach() {\n this.invokeEventCallback('detach', { widget: this });\n this.notify('detach');\n }\n\n public ngOnDestroy() {\n super.ngOnDestroy()\n this.invokeEventCallback('destroy', { widget: this });\n this._eventNotifier.destroy();\n }\n}\n","import { register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-layout',\n new Map(\n []\n )\n );\n};\n","import {AfterViewInit, Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport {EventNotifier} from '@wm/core';\nimport { updateDeviceView, provideAsWidgetRef, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './layout.props';\n\nconst DEFAULT_CLS = 'app-page container';\nconst WIDGET_CONFIG = {widgetType: 'wm-layout', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmLayout]',\n providers: [\n provideAsWidgetRef(LayoutDirective)\n ],\n exportAs: 'wmLayout'\n})\nexport class LayoutDirective extends StylableComponent implements AfterViewInit {\n static initializeProps = registerProps();\n\n private _eventNotifier = new EventNotifier(false);\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n /**\n * A child component can notify page using this method. Notified event will be passed to\n * subscribed children only after page initialization.\n *\n * @param {string} eventName\n * @param data\n */\n public notify(eventName: string, ...data: Array<any>) {\n this._eventNotifier.notify.apply(this._eventNotifier, arguments);\n }\n\n public ngAfterViewInit() {\n setTimeout(() => {\n updateDeviceView(this.nativeElement, this.getAppInstance().isTabletApplicationType);\n }, 1);\n }\n}\n","import { PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-page-content',\n new Map(\n [\n ['class', PROP_STRING],\n ['columnwidth', PROP_NUMBER],\n ['content', PROP_STRING],\n ['name', PROP_STRING],\n ['pulltorefresh', {value: false, ...PROP_BOOLEAN}]\n ]\n )\n );\n};\n","import {Component, Inject, Injector, Optional} from '@angular/core';\n\nimport {App, switchClass} from '@wm/core';\nimport { APPLY_STYLES_TYPE, PullToRefresh, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './page-content.props';\n\nconst DEFAULT_CLS = 'app-page-content app-content-column';\nconst WIDGET_CONFIG = {widgetType: 'wm-page-content', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n selector: '[wmPageContent]',\n templateUrl: './page-content.component.html',\n providers: [\n provideAsWidgetRef(PageContentComponent)\n ]\n})\nexport class PageContentComponent extends StylableComponent {\n static initializeProps = registerProps();\n\n public pullToRefreshIns: PullToRefresh;\n private pulltorefresh: boolean;\n private childPullToRefresh: boolean;\n\n constructor(inj: Injector, private app: App, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this, APPLY_STYLES_TYPE.CONTAINER);\n\n this.registerDestroyListener(this.app.subscribe('pullToRefresh:enable', () => {\n this.childPullToRefresh = true;\n this.initPullToRefresh();\n }));\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'columnwidth') {\n switchClass(this.nativeElement, `col-md-${nv} col-sm-${nv}`, `col-md-${ov} col-sm-${ov}`);\n } else if (key === 'pulltorefresh' && nv) {\n // creating instance after timeout as the smoothscroll styles where getting added on pull refresh-container\n setTimeout(() => {\n this.initPullToRefresh();\n });\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n // when list component is ready, pulltorefresh instance is created and this appends pullToRefresh element on the page content.\n private initPullToRefresh() {\n const hasPullToRefreshEvent = this.hasEventCallback('pulltorefresh');\n if (!this.pullToRefreshIns && (this.childPullToRefresh || hasPullToRefreshEvent) && this.pulltorefresh) {\n this.pullToRefreshIns = new PullToRefresh($(this.nativeElement), this.app, () => {\n if (hasPullToRefreshEvent) {\n this.invokeEventCallback('pulltorefresh');\n } else {\n this.app.notify('pulltorefresh');\n }\n });\n this.registerDestroyListener(() => {\n if (this.pullToRefreshIns.cancelSubscription) {\n this.pullToRefreshIns.cancelSubscription();\n }\n });\n }\n }\n}\n","<ng-content></ng-content>","import { PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-content',\n new Map(\n [\n ['name', PROP_STRING],\n ['class', PROP_STRING]\n ]\n )\n );\n};\n","import {Component, Inject, Injector, Optional} from '@angular/core';\n\nimport { IWidgetConfig, provideAsWidgetRef, StylableComponent, styler } from '@wm/components/base';\n\nimport { registerProps } from './content.props';\n\nconst DEFAULT_CLS = 'app-content clearfix';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-content', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n selector: '[wmContent]',\n templateUrl: './content.component.html',\n providers: [\n provideAsWidgetRef(ContentComponent)\n ]\n})\nexport class ContentComponent extends StylableComponent {\n static initializeProps = registerProps();\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n styler(this.nativeElement, this);\n }\n}\n","<div class=\"row app-content-row clearfix\">\n <ng-content></ng-content>\n</div>","import { PROP_STRING, PROP_BOOLEAN, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-spa-page',\n new Map(\n [\n ['cache', {value: false, ...PROP_BOOLEAN}],\n ['refreshdataonattach', {value: true, ...PROP_BOOLEAN}],\n ['pagetitle', PROP_STRING],\n ['hint', PROP_STRING]\n ]\n )\n );\n};\n","import {AfterViewInit, Directive, Inject, Injector, OnDestroy, Optional, SkipSelf} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\n\nimport {EventNotifier, Viewport, ViewportEvent} from '@wm/core';\nimport { updateDeviceView, provideAsWidgetRef, StylableComponent } from '@wm/components/base';\n\nimport { registerProps } from './spa-page.props';\n\nconst DEFAULT_CLS = 'app-spa-page';\nconst WIDGET_CONFIG = {widgetType: 'wm-spa-page', hostClass: DEFAULT_CLS};\n\n@Directive({\n standalone: true,\n selector: '[wmSpaPage]',\n providers: [\n provideAsWidgetRef(SpaPageDirective)\n ],\n exportAs: 'wmSpaPage'\n})\nexport class SpaPageDirective extends StylableComponent implements AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n private _eventNotifier = new EventNotifier(false);\n public refreshdataonattach = true;\n public pagetitle: string;\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'pagetitle') {\n this.titleService.setTitle(nv);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n constructor(inj: Injector, private titleService: Title, private viewport: Viewport, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n /**\n * A child component can notify page using this method. Notified event will be passed to\n * subscribed children only after page initialization.\n *\n * @param {string} eventName\n * @param data\n */\n public notify(eventName: string, ...data: Array<any>) {\n this._eventNotifier.notify.apply(this._eventNotifier, arguments);\n }\n\n /**\n * The main purpose of this function is to provide communication between page children objects.\n * Child component can subscribe for an event that will be emitted by another child component.\n *\n * @param eventName\n * @param {(data: any) => void} callback\n * @returns {any}\n */\n public subscribe(eventName, callback: (data: any) => void): () => void {\n return this._eventNotifier.subscribe(eventName, callback);\n }\n\n public ngAfterViewInit() {\n setTimeout(() => {\n this._eventNotifier.start();\n updateDeviceView(this.nativeElement, this.getAppInstance().isTabletApplicationType);\n }, 1);\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.RESIZE, args => {\n this.invokeEventCallback('resize', { $event: args.$event, widget: this, data: args.data });\n }));\n this.registerDestroyListener(this.viewport.subscribe(ViewportEvent.ORIENTATION_CHANGE, args => {\n this.invokeEventCallback('orientationchange', { $event: args.$event, widget: this, data: args.data });\n }));\n }\n\n public ngOnAttach() {\n this.titleService.setTitle(this.pagetitle);\n this.invokeEventCallback('attach', { widget: this });\n this.notify('attach', {\n refreshData : this.refreshdataonattach\n });\n }\n\n public ngOnDetach() {\n this.invokeEventCallback('detach', { widget: this });\n this.notify('detach');\n }\n\n public ngOnDestroy() {\n this.invokeEventCallback('destroy', { widget: this });\n this._eventNotifier.destroy();\n }\n}\n","import { PROP_NUMBER, PROP_STRING, register } from '@wm/components/base';\n\nexport const registerProps = () => {\n register(\n 'wm-router-outlet',\n new Map(\n [\n ['columnwidth', PROP_NUMBER],\n ['name', PROP_STRING]\n ]\n )\n );\n};\n","import {Directive, Inject, Injector, Optional} from '@angular/core';\n\nimport {switchClass} from '@wm/core';\n\nimport { IWidgetConfig, provideAsWidgetRef, StylableComponent } from '@wm/components/base';\nimport { registerProps } from './router-outlet.props';\n\nconst DEFAULT_CLS = 'app-content-column-wrapper';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-router-outlet',\n hostClass: DEFAULT_CLS\n};\n\n@Directive({\n standalone: true,\n selector: '[wmRouterOutlet]',\n providers: [\n provideAsWidgetRef(RouterOutletDirective)\n ]\n})\nexport class RouterOutletDirective extends StylableComponent {\n static initializeProps = registerProps();\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'columnwidth') {\n switchClass(this.nativeElement, `col-md-${nv} col-sm-${nv}`, `col-md-${ov} col-sm-${ov}`);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["registerProps","DEFAULT_CLS","WIDGET_CONFIG"],"mappings":"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"}