@wavemaker/app-ng-runtime 11.14.2-rc.6311 → 11.14.4-rc.647538
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/advanced/carousel/bundles/index.umd.js +1 -15
- package/components/advanced/carousel/carousel.directive.d.ts +0 -1
- package/components/advanced/carousel/esm2022/carousel.directive.mjs +2 -16
- package/components/advanced/carousel/fesm2022/index.mjs +1 -15
- package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/bundles/index.umd.js +3 -24
- package/components/advanced/login/esm2022/login.component.mjs +4 -25
- package/components/advanced/login/fesm2022/index.mjs +3 -24
- package/components/advanced/login/fesm2022/index.mjs.map +1 -1
- package/components/advanced/login/login.component.d.ts +2 -5
- package/components/base/bundles/index.umd.js +28 -323
- package/components/base/directives/show-in-device.directive.d.ts +1 -2
- package/components/base/esm2022/directives/show-in-device.directive.mjs +4 -22
- package/components/base/esm2022/pipes/custom-pipes.mjs +1 -1
- package/components/base/esm2022/utils/widget-utils.mjs +3 -3
- package/components/base/esm2022/widgets/common/base/base-container.component.mjs +1 -27
- package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +1 -18
- package/components/base/esm2022/widgets/common/base/base.component.mjs +7 -68
- package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +1 -9
- package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +11 -44
- package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +1 -20
- package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +1 -26
- package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +4 -44
- package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +1 -16
- package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +1 -22
- package/components/base/esm2022/widgets/framework/property-change-handler.mjs +2 -7
- package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +3 -5
- package/components/base/esm2022/widgets/framework/widget-registry.mjs +3 -6
- package/components/base/fesm2022/index.mjs +26 -319
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/widgets/common/base/base-container.component.d.ts +2 -3
- package/components/base/widgets/common/base/base-field-validations.d.ts +0 -1
- package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +2 -3
- package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +2 -6
- package/components/base/widgets/common/base/partial-container.directive.d.ts +2 -3
- package/components/base/widgets/common/item-template/item-template.directive.d.ts +2 -3
- package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
- package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +2 -3
- package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +2 -3
- package/components/basic/anchor/bundles/index.umd.js +1 -13
- package/components/basic/anchor/esm2022/anchor.component.mjs +2 -14
- package/components/basic/anchor/fesm2022/index.mjs +1 -13
- package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
- package/components/basic/html/bundles/index.umd.js +1 -13
- package/components/basic/html/esm2022/html.directive.mjs +2 -14
- package/components/basic/html/fesm2022/index.mjs +1 -13
- package/components/basic/html/fesm2022/index.mjs.map +1 -1
- package/components/basic/label/bundles/index.umd.js +1 -17
- package/components/basic/label/esm2022/label.directive.mjs +2 -18
- package/components/basic/label/fesm2022/index.mjs +1 -17
- package/components/basic/label/fesm2022/index.mjs.map +1 -1
- package/components/basic/label/label.directive.d.ts +2 -3
- package/components/basic/progress/progress-circle/bundles/index.umd.js +0 -10
- package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +1 -11
- package/components/basic/progress/progress-circle/fesm2022/index.mjs +0 -10
- package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
- package/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -3
- package/components/basic/search/bundles/index.umd.js +1 -27
- package/components/basic/search/esm2022/scrollable.directive.mjs +2 -11
- package/components/basic/search/esm2022/search.component.mjs +1 -18
- package/components/basic/search/fesm2022/index.mjs +1 -27
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/scrollable.directive.d.ts +2 -4
- package/components/basic/search/search.component.d.ts +2 -3
- package/components/basic/spinner/bundles/index.umd.js +1 -9
- package/components/basic/spinner/esm2022/spinner.component.mjs +2 -10
- package/components/basic/spinner/fesm2022/index.mjs +1 -9
- package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
- package/components/basic/spinner/spinner.component.d.ts +2 -4
- package/components/chart/bundles/index.umd.js +3 -21
- package/components/chart/esm2022/chart.component.mjs +4 -22
- package/components/chart/fesm2022/index.mjs +3 -21
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -3
- package/components/containers/accordion/accordion.directive.d.ts +2 -5
- package/components/containers/accordion/bundles/index.umd.js +2 -49
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +1 -10
- package/components/containers/accordion/esm2022/accordion.directive.mjs +3 -41
- package/components/containers/accordion/fesm2022/index.mjs +2 -49
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/bundles/index.umd.js +0 -13
- package/components/containers/panel/esm2022/panel.component.mjs +1 -14
- package/components/containers/panel/fesm2022/index.mjs +0 -13
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/panel.component.d.ts +2 -3
- package/components/containers/tabs/bundles/index.umd.js +2 -54
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +1 -10
- package/components/containers/tabs/esm2022/tabs.component.mjs +3 -46
- package/components/containers/tabs/fesm2022/index.mjs +2 -54
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -3
- package/components/containers/tabs/tabs.component.d.ts +2 -5
- package/components/containers/wizard/bundles/index.umd.js +3 -47
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +3 -16
- package/components/containers/wizard/esm2022/wizard.component.mjs +2 -33
- package/components/containers/wizard/fesm2022/index.mjs +3 -47
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +2 -3
- package/components/containers/wizard/wizard.component.d.ts +2 -4
- package/components/data/card/bundles/index.umd.js +1 -17
- package/components/data/card/card-content/card-content.component.d.ts +2 -3
- package/components/data/card/card.component.d.ts +2 -4
- package/components/data/card/esm2022/card-content/card-content.component.mjs +1 -6
- package/components/data/card/esm2022/card.component.mjs +2 -13
- package/components/data/card/fesm2022/index.mjs +1 -17
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/form/bundles/index.umd.js +0 -92
- package/components/data/form/esm2022/form-action/form-action.directive.mjs +1 -7
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +1 -28
- package/components/data/form/esm2022/form-widget.directive.mjs +1 -8
- package/components/data/form/esm2022/form.component.mjs +1 -27
- package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +1 -7
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +1 -12
- package/components/data/form/esm2022/live-form/live-form.directive.mjs +1 -10
- package/components/data/form/fesm2022/index.mjs +0 -92
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/form-action/form-action.directive.d.ts +2 -3
- package/components/data/form/form-field/form-field.directive.d.ts +2 -3
- package/components/data/form/form-widget.directive.d.ts +2 -3
- package/components/data/form/live-actions/live-actions.directive.d.ts +1 -3
- package/components/data/form/live-filter/live-filter.directive.d.ts +1 -3
- package/components/data/form/live-form/live-form.directive.d.ts +1 -3
- package/components/data/list/bundles/index.umd.js +17 -180
- package/components/data/list/esm2022/list-item.directive.mjs +11 -95
- package/components/data/list/esm2022/list.component.mjs +8 -87
- package/components/data/list/fesm2022/index.mjs +17 -180
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/list/list-item.directive.d.ts +2 -7
- package/components/data/list/list.component.d.ts +0 -3
- package/components/data/live-table/bundles/index.umd.js +1 -13
- package/components/data/live-table/esm2022/live-table.component.mjs +2 -14
- package/components/data/live-table/fesm2022/index.mjs +1 -13
- package/components/data/live-table/fesm2022/index.mjs.map +1 -1
- package/components/data/live-table/live-table.component.d.ts +2 -4
- package/components/data/pagination/bundles/index.umd.js +4 -57
- package/components/data/pagination/esm2022/pagination.component.mjs +5 -58
- package/components/data/pagination/fesm2022/index.mjs +4 -57
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/pagination.component.d.ts +2 -4
- package/components/data/table/bundles/index.umd.js +12 -311
- package/components/data/table/esm2022/table-action/table-action.directive.mjs +1 -8
- package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -107
- package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +1 -9
- package/components/data/table/esm2022/table-cud.directive.mjs +2 -8
- package/components/data/table/esm2022/table-filter.directive.mjs +2 -12
- package/components/data/table/esm2022/table-row/table-row.directive.mjs +1 -8
- package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +1 -8
- package/components/data/table/esm2022/table.component.mjs +9 -159
- package/components/data/table/fesm2022/index.mjs +12 -311
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/table-action/table-action.directive.d.ts +2 -3
- package/components/data/table/table-column/table-column.directive.d.ts +2 -3
- package/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -3
- package/components/data/table/table-cud.directive.d.ts +1 -3
- package/components/data/table/table-filter.directive.d.ts +1 -3
- package/components/data/table/table-row/table-row.directive.d.ts +2 -3
- package/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -3
- package/components/data/table/table.component.d.ts +2 -2
- package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -3
- package/components/dialogs/alert-dialog/bundles/index.umd.js +0 -5
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +1 -6
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +0 -5
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/confirm-dialog/bundles/index.umd.js +0 -5
- package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -3
- package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +1 -6
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs +0 -5
- package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/default/bundles/index.umd.js +2 -15
- package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +2 -4
- package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +3 -16
- package/components/dialogs/default/fesm2022/index.mjs +2 -15
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/bundles/index.umd.js +0 -7
- package/components/dialogs/design-dialog/dialog.component.d.ts +2 -3
- package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +1 -8
- package/components/dialogs/design-dialog/fesm2022/index.mjs +0 -7
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +0 -5
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +1 -6
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +0 -5
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -3
- package/components/dialogs/partial-dialog/bundles/index.umd.js +3 -23
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +4 -24
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +3 -23
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +2 -4
- package/components/input/base-form/base-form.component.d.ts +2 -4
- package/components/input/base-form/bundles/index.umd.js +2 -16
- package/components/input/base-form/esm2022/base-form.component.mjs +3 -17
- package/components/input/base-form/fesm2022/index.mjs +2 -16
- package/components/input/base-form/fesm2022/index.mjs.map +1 -1
- package/components/input/base-form-custom/base-form-custom.component.d.ts +2 -3
- package/components/input/base-form-custom/bundles/index.umd.js +2 -13
- package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +3 -14
- package/components/input/base-form-custom/fesm2022/index.mjs +2 -13
- package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/bundles/index.umd.js +0 -7
- package/components/input/checkbox/checkbox.component.d.ts +2 -3
- package/components/input/checkbox/esm2022/checkbox.component.mjs +1 -8
- package/components/input/checkbox/fesm2022/index.mjs +0 -7
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkboxset/bundles/index.umd.js +2 -18
- package/components/input/checkboxset/checkboxset.component.d.ts +2 -4
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +3 -19
- package/components/input/checkboxset/fesm2022/index.mjs +2 -18
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/bundles/index.umd.js +5 -45
- package/components/input/chips/chips.component.d.ts +2 -3
- package/components/input/chips/esm2022/chips.component.mjs +6 -46
- package/components/input/chips/fesm2022/index.mjs +5 -45
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/color-picker/bundles/index.umd.js +0 -8
- package/components/input/color-picker/color-picker.component.d.ts +2 -3
- package/components/input/color-picker/esm2022/color-picker.component.mjs +1 -9
- package/components/input/color-picker/fesm2022/index.mjs +0 -8
- package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
- package/components/input/composite/bundles/index.umd.js +1 -10
- package/components/input/composite/composite.directive.d.ts +2 -3
- package/components/input/composite/esm2022/composite.directive.mjs +2 -11
- package/components/input/composite/fesm2022/index.mjs +1 -10
- package/components/input/composite/fesm2022/index.mjs.map +1 -1
- package/components/input/currency/bundles/index.umd.js +0 -7
- package/components/input/currency/currency.component.d.ts +2 -3
- package/components/input/currency/esm2022/currency.component.mjs +1 -8
- package/components/input/currency/fesm2022/index.mjs +0 -7
- package/components/input/currency/fesm2022/index.mjs.map +1 -1
- package/components/input/dataset-aware-form/bundles/index.umd.js +2 -26
- package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +3 -27
- package/components/input/dataset-aware-form/fesm2022/index.mjs +2 -26
- package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date/bundles/index.umd.js +0 -22
- package/components/input/epoch/date/date.component.d.ts +0 -1
- package/components/input/epoch/date/esm2022/date.component.mjs +1 -23
- package/components/input/epoch/date/fesm2022/index.mjs +0 -22
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/bundles/index.umd.js +8 -25
- package/components/input/file-upload/esm2022/file-upload.component.mjs +9 -26
- package/components/input/file-upload/fesm2022/index.mjs +8 -25
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/file-upload.component.d.ts +0 -3
- package/components/input/number/bundles/index.umd.js +0 -8
- package/components/input/number/esm2022/number.component.mjs +1 -9
- package/components/input/number/fesm2022/index.mjs +0 -8
- package/components/input/number/fesm2022/index.mjs.map +1 -1
- package/components/input/number/number.component.d.ts +2 -3
- package/components/input/radioset/bundles/index.umd.js +2 -18
- package/components/input/radioset/esm2022/radioset.component.mjs +3 -19
- package/components/input/radioset/fesm2022/index.mjs +2 -18
- package/components/input/radioset/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/radioset.component.d.ts +2 -4
- package/components/input/rating/bundles/index.umd.js +0 -10
- package/components/input/rating/esm2022/rating.component.mjs +1 -11
- package/components/input/rating/fesm2022/index.mjs +0 -10
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/rating.component.d.ts +2 -3
- package/components/input/select/bundles/index.umd.js +0 -6
- package/components/input/select/esm2022/select.component.mjs +1 -7
- package/components/input/select/fesm2022/index.mjs +0 -6
- package/components/input/select/fesm2022/index.mjs.map +1 -1
- package/components/input/select/select.component.d.ts +2 -3
- package/components/input/slider/bundles/index.umd.js +0 -10
- package/components/input/slider/esm2022/slider.component.mjs +1 -11
- package/components/input/slider/fesm2022/index.mjs +0 -10
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/slider.component.d.ts +2 -3
- package/components/input/switch/bundles/index.umd.js +2 -22
- package/components/input/switch/esm2022/switch.component.mjs +3 -23
- package/components/input/switch/fesm2022/index.mjs +2 -22
- package/components/input/switch/fesm2022/index.mjs.map +1 -1
- package/components/input/switch/switch.component.d.ts +2 -3
- package/components/input/text/bundles/index.umd.js +0 -36
- package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +1 -8
- package/components/input/text/esm2022/input-color/input-color.component.mjs +1 -8
- package/components/input/text/esm2022/input-email/input-email.component.mjs +1 -8
- package/components/input/text/esm2022/input-number/input-number.component.mjs +1 -8
- package/components/input/text/esm2022/input-text/input-text.component.mjs +1 -9
- package/components/input/text/fesm2022/index.mjs +0 -36
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/input-calendar/input-calendar.component.d.ts +2 -3
- package/components/input/text/input-color/input-color.component.d.ts +2 -3
- package/components/input/text/input-email/input-email.component.d.ts +2 -3
- package/components/input/text/input-number/input-number.component.d.ts +2 -3
- package/components/input/text/input-text/input-text.component.d.ts +2 -3
- package/components/input/textarea/bundles/index.umd.js +0 -7
- package/components/input/textarea/esm2022/textarea.component.mjs +1 -8
- package/components/input/textarea/fesm2022/index.mjs +0 -7
- package/components/input/textarea/fesm2022/index.mjs.map +1 -1
- package/components/input/textarea/textarea.component.d.ts +2 -3
- package/components/navigation/menu/bundles/index.umd.js +6 -55
- package/components/navigation/menu/esm2022/menu-adapator.component.mjs +3 -17
- package/components/navigation/menu/esm2022/menu.component.mjs +3 -10
- package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +1 -6
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +1 -11
- package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +3 -16
- package/components/navigation/menu/fesm2022/index.mjs +6 -55
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/menu-adapator.component.d.ts +2 -4
- package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -3
- package/components/navigation/menu/nav/nav.component.d.ts +2 -3
- package/components/navigation/menu/nav/navigation-control.directive.d.ts +2 -4
- package/components/navigation/navbar/bundles/index.umd.js +0 -5
- package/components/navigation/navbar/esm2022/navbar.component.mjs +1 -6
- package/components/navigation/navbar/fesm2022/index.mjs +0 -5
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/components/navigation/navbar/navbar.component.d.ts +2 -3
- package/components/navigation/popover/bundles/index.umd.js +13 -65
- package/components/navigation/popover/esm2022/popover.component.mjs +11 -63
- package/components/navigation/popover/fesm2022/index.mjs +10 -62
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/popover.component.d.ts +3 -11
- package/components/page/default/bundles/index.umd.js +2 -20
- package/components/page/default/esm2022/layout.directive.mjs +1 -9
- package/components/page/default/esm2022/page-content/page-content.component.mjs +3 -13
- package/components/page/default/fesm2022/index.mjs +2 -20
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/default/layout.directive.d.ts +2 -3
- package/components/page/default/page-content/page-content.component.d.ts +2 -3
- package/components/page/left-panel/bundles/index.umd.js +0 -16
- package/components/page/left-panel/esm2022/left-panel.directive.mjs +1 -17
- package/components/page/left-panel/fesm2022/index.mjs +0 -16
- package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
- package/components/page/left-panel/left-panel.directive.d.ts +2 -3
- package/components/page/top-nav/bundles/index.umd.js +1 -2
- package/components/page/top-nav/esm2022/top-nav.props.mjs +2 -3
- package/components/page/top-nav/fesm2022/index.mjs +1 -2
- package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
- package/components/prefab/bundles/index.umd.js +0 -4
- package/components/prefab/esm2022/prefab.directive.mjs +1 -5
- package/components/prefab/fesm2022/index.mjs +0 -4
- package/components/prefab/fesm2022/index.mjs.map +1 -1
- package/core/bundles/index.umd.js +94 -391
- package/core/esm2022/public_api.mjs +3 -3
- package/core/esm2022/services/viewport.service.mjs +10 -24
- package/core/esm2022/types/types.mjs +1 -1
- package/core/esm2022/utils/dom.mjs +2 -18
- package/core/esm2022/utils/event-notifier.mjs +2 -5
- package/core/esm2022/utils/lru-cache.mjs +2 -16
- package/core/esm2022/utils/utils.mjs +2 -6
- package/core/esm2022/utils/watcher.mjs +81 -323
- package/core/fesm2022/index.mjs +96 -390
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/public_api.d.ts +2 -2
- package/core/services/viewport.service.d.ts +2 -5
- package/core/types/types.d.ts +0 -1
- package/core/utils/lru-cache.d.ts +0 -6
- package/core/utils/utils.d.ts +0 -1
- package/core/utils/watcher.d.ts +5 -26
- package/http/bundles/index.umd.js +1 -31
- package/http/esm2022/http.service.mjs +2 -32
- package/http/fesm2022/index.mjs +1 -31
- package/http/fesm2022/index.mjs.map +1 -1
- package/http/http.service.d.ts +2 -6
- package/locales/moment-timezone/moment-timezone-with-data.js +7 -7
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/bundles/index.umd.js +0 -9
- package/oAuth/esm2022/oAuth.service.mjs +1 -10
- package/oAuth/fesm2022/index.mjs +0 -9
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/oAuth.service.d.ts +1 -3
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +42 -376
- package/runtime/base/components/app-component/app.component.d.ts +0 -4
- package/runtime/base/components/prefab-preview.component.d.ts +2 -5
- package/runtime/base/directives/accessroles.directive.d.ts +3 -4
- package/runtime/base/directives/prefab.directive.d.ts +2 -3
- package/runtime/base/esm2022/components/app-component/app.component.mjs +9 -40
- package/runtime/base/esm2022/components/base-custom-widget.component.mjs +2 -33
- package/runtime/base/esm2022/components/base-layout.component.mjs +1 -7
- package/runtime/base/esm2022/components/base-page.component.mjs +3 -36
- package/runtime/base/esm2022/components/base-partial.component.mjs +3 -37
- package/runtime/base/esm2022/components/base-prefab.component.mjs +3 -32
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +3 -37
- package/runtime/base/esm2022/components/prefab-preview.component.mjs +4 -23
- package/runtime/base/esm2022/directives/accessroles.directive.mjs +2 -11
- package/runtime/base/esm2022/directives/prefab.directive.mjs +1 -9
- package/runtime/base/esm2022/services/app.manager.service.mjs +10 -37
- package/runtime/base/esm2022/services/app.service.mjs +2 -34
- package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +1 -4
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +14 -13
- package/runtime/base/esm2022/services/pipe-provider.service.mjs +4 -7
- package/runtime/base/esm2022/services/spinner.service.mjs +1 -15
- package/runtime/base/esm2022/util/fragment-monitor.mjs +2 -23
- package/runtime/base/fesm2022/index.mjs +44 -377
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/services/app.manager.service.d.ts +1 -6
- package/runtime/base/services/app.service.d.ts +2 -12
- package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +1 -2
- package/runtime/base/services/spinner.service.d.ts +1 -3
- package/runtime/base/util/fragment-monitor.d.ts +0 -6
- package/runtime/dynamic/bundles/index.umd.js +0 -5
- package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +1 -6
- package/runtime/dynamic/fesm2022/index.mjs +0 -5
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/scripts/datatable/datatable.js +14 -100
- package/security/bundles/index.umd.js +2 -41
- package/security/esm2022/security.service.mjs +3 -42
- package/security/fesm2022/index.mjs +2 -41
- package/security/fesm2022/index.mjs.map +1 -1
- package/security/security.service.d.ts +2 -5
- package/variables/bundles/index.umd.js +6 -50
- package/variables/esm2022/manager/action/notification-action.manager.mjs +3 -18
- package/variables/esm2022/manager/variable/base-variable.manager.mjs +2 -15
- package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +3 -13
- package/variables/esm2022/service/variables.service.mjs +2 -8
- package/variables/fesm2022/index.mjs +6 -50
- package/variables/fesm2022/index.mjs.map +1 -1
|
@@ -5,14 +5,14 @@ import { ActivatedRoute, Router, RouterOutlet, NavigationStart, NavigationEnd, N
|
|
|
5
5
|
import * as i5 from '@angular/common';
|
|
6
6
|
import { DOCUMENT, ɵgetDOM as _getDOM, CommonModule, AsyncPipe, SlicePipe, PercentPipe, I18nPluralPipe, NgLocalization, I18nSelectPipe, KeyValuePipe, UpperCasePipe, LowerCasePipe, JsonPipe, DecimalPipe, TitleCasePipe, CurrencyPipe, DatePipe } from '@angular/common';
|
|
7
7
|
import * as i1 from '@wm/core';
|
|
8
|
-
import { $appDigest, isDefined, getWmProjectProperties, triggerFn, fetchContent, _WM_APP_PROJECT, stringStartsWith, loadStyleSheets, loadScripts, noop as noop$1, App, AbstractI18nService, ScriptLoaderService, Viewport, UtilsService, $invokeWatchers, registerFnByExpr,
|
|
8
|
+
import { $appDigest, isDefined, getWmProjectProperties, triggerFn, fetchContent, _WM_APP_PROJECT, stringStartsWith, loadStyleSheets, loadScripts, noop as noop$1, App, AbstractI18nService, ScriptLoaderService, Viewport, UtilsService, $invokeWatchers, registerFnByExpr, LRUCache, muteWatchers, AbstractNavigationService, isIos, isAndroid, unMuteWatchers, $watch, isIE, CustomPipeManager, getSessionStorageItem, setPipeProvider, DynamicComponentRefProvider, FieldWidgetService, FieldTypeService, ConstantService, AbstractToasterService, StatePersistence, AbstractSpinnerService, AbstractDialogService, EventNotifier, setCSS, setSessionStorageItem, replace, setNgZone, setAppRef, addClass, removeClass, extendProto, $parseExpr, AppDefaults, isObject as isObject$1, isIphone, isIpod, isIpad } from '@wm/core';
|
|
9
9
|
import * as i2 from '@wm/security';
|
|
10
10
|
import { SecurityService } from '@wm/security';
|
|
11
11
|
import * as i4 from '@wm/variables';
|
|
12
12
|
import { $rootScope, VariablesService, MODE_CONSTANTS, CONSTANTS, appManager, httpService, MetadataService } from '@wm/variables';
|
|
13
13
|
import { isEmpty, trim, forEach, extend, get, merge, isUndefined, isObject, endsWith, each, isNil, capitalize, startsWith, split, includes, isString, isNumber, find, intersection, map, toLower, values, findKey, keys, isEqual, filter } from 'lodash-es';
|
|
14
14
|
import { SpaPageDirective, PageDirective, LayoutDirective, ContentComponent, PageContentComponent, RouterOutletDirective } from '@wm/components/page';
|
|
15
|
-
import { Subject } from 'rxjs';
|
|
15
|
+
import { Subject, from, switchMap } from 'rxjs';
|
|
16
16
|
import { WidgetRef, PartialDirective, TextContentDirective, ContainerDirective, PartialParamHandlerDirective, PartialContainerDirective, PartialParamDirective, FileIconClassPipe, FileExtensionFromMimePipe, StateClassPipe, FileSizePipe, FilterPipe, ToDatePipe, ToNumberPipe, ToCurrencyPipe, PrefixPipe, SuffixPipe, TimeFromNowPipe, NumberToStringPipe, StringToNumberPipe, CustomPipe, TrustAsPipe, SanitizePipe, TemplateReplacePipe, ItemTemplateDirective, RepeatTemplateDirective, LazyLoadDirective, MessageComponent, CustomWidgetContainerDirective, RedrawableDirective, ShowInDeviceDirective, TrailingZeroDecimalPipe, ImagePipe, DialogServiceImpl } from '@wm/components/base';
|
|
17
17
|
import { __decorate, __param, __metadata } from 'tslib';
|
|
18
18
|
import { CheckboxsetComponent } from '@wm/components/input/checkboxset';
|
|
@@ -163,13 +163,10 @@ class AppManagerService {
|
|
|
163
163
|
this.appVariablesLoaded = false;
|
|
164
164
|
this.appVariablesFired = false;
|
|
165
165
|
this._noRedirect = false;
|
|
166
|
-
this.appSubscriptions = []; // MEMORY LEAK FIX: Track subscriptions
|
|
167
166
|
// register method to invoke on session timeout
|
|
168
|
-
|
|
169
|
-
this.sessionTimeoutUnsubscribe = this.$http.registerOnSessionTimeout(this.handle401.bind(this));
|
|
167
|
+
this.$http.registerOnSessionTimeout(this.handle401.bind(this));
|
|
170
168
|
this.$variables.registerDependency('appManager', this);
|
|
171
|
-
|
|
172
|
-
this.appSubscriptions.push(this.$app.subscribe('toggle-variable-state', (data) => {
|
|
169
|
+
this.$app.subscribe('toggle-variable-state', (data) => {
|
|
173
170
|
const variable = data.variable, active = data.active;
|
|
174
171
|
if (!isEmpty(trim(variable.spinnerContext))) {
|
|
175
172
|
if (active) {
|
|
@@ -194,8 +191,8 @@ class AppManagerService {
|
|
|
194
191
|
this.$spinner.hide(variable._spinnerId.shift());
|
|
195
192
|
}
|
|
196
193
|
}
|
|
197
|
-
})
|
|
198
|
-
this
|
|
194
|
+
});
|
|
195
|
+
this.$app.subscribe('userLoggedIn', () => {
|
|
199
196
|
this.setLandingPage();
|
|
200
197
|
if (this.lastLoggedUserId) {
|
|
201
198
|
this.$security.getConfig(config => {
|
|
@@ -204,11 +201,11 @@ class AppManagerService {
|
|
|
204
201
|
}
|
|
205
202
|
}, null);
|
|
206
203
|
}
|
|
207
|
-
})
|
|
208
|
-
this
|
|
204
|
+
});
|
|
205
|
+
this.$app.subscribe('userLoggedOut', () => this.setLandingPage().then(() => {
|
|
209
206
|
this.$app.clearPageCache();
|
|
210
|
-
}))
|
|
211
|
-
this
|
|
207
|
+
}));
|
|
208
|
+
this.$app.subscribe('http401', (d = {}) => this.handle401(d.page, d.options));
|
|
212
209
|
}
|
|
213
210
|
/**
|
|
214
211
|
* On session timeout, if the session timeout config is set to a dialog, then open login dialog
|
|
@@ -608,36 +605,12 @@ class AppManagerService {
|
|
|
608
605
|
// Apply restored modes
|
|
609
606
|
this.$app.setMode(storedModes);
|
|
610
607
|
// Listener for postMessage-based mode changes
|
|
611
|
-
|
|
612
|
-
this.windowMessageListener = (event) => {
|
|
608
|
+
window.addEventListener('message', (event) => {
|
|
613
609
|
const { key, modes, shouldPersist } = event.data || {};
|
|
614
610
|
if (key === 'switch-mode' && modes) {
|
|
615
611
|
this.$app.setMode(modes, !shouldPersist);
|
|
616
612
|
}
|
|
617
|
-
};
|
|
618
|
-
window.addEventListener('message', this.windowMessageListener);
|
|
619
|
-
}
|
|
620
|
-
ngOnDestroy() {
|
|
621
|
-
// MEMORY LEAK FIX: Unsubscribe from all app subscriptions
|
|
622
|
-
this.appSubscriptions.forEach(unsubscribe => {
|
|
623
|
-
if (unsubscribe) {
|
|
624
|
-
unsubscribe();
|
|
625
|
-
}
|
|
626
613
|
});
|
|
627
|
-
this.appSubscriptions = [];
|
|
628
|
-
// MEMORY LEAK FIX: Unsubscribe from session timeout
|
|
629
|
-
if (this.sessionTimeoutUnsubscribe) {
|
|
630
|
-
this.sessionTimeoutUnsubscribe();
|
|
631
|
-
this.sessionTimeoutUnsubscribe = null;
|
|
632
|
-
}
|
|
633
|
-
// MEMORY LEAK FIX: Remove window message listener
|
|
634
|
-
if (this.windowMessageListener) {
|
|
635
|
-
window.removeEventListener('message', this.windowMessageListener);
|
|
636
|
-
this.windowMessageListener = null;
|
|
637
|
-
}
|
|
638
|
-
// MEMORY LEAK FIX: Clear references
|
|
639
|
-
this.templates = null;
|
|
640
|
-
this.lastLoggedUserId = null;
|
|
641
614
|
}
|
|
642
615
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppManagerService, deps: [{ token: i1.AbstractHttpService }, { token: i2.SecurityService }, { token: i1.AbstractDialogService }, { token: i1$1.Router }, { token: i1.App }, { token: i4.VariablesService }, { token: i4.MetadataService }, { token: i1.AbstractSpinnerService }, { token: i1.AbstractI18nService }, { token: i5.DatePipe }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
643
616
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppManagerService }); }
|
|
@@ -763,32 +736,11 @@ class FragmentMonitor {
|
|
|
763
736
|
}
|
|
764
737
|
init() {
|
|
765
738
|
// console.log(`inside fragmentMonitor: Page-${(this as any).pageName}, Partial-${(this as any).partialName}`);
|
|
766
|
-
|
|
767
|
-
this.viewInitSubscription = this.viewInit$.subscribe(noop$1, noop$1, () => {
|
|
739
|
+
this.viewInit$.subscribe(noop$1, noop$1, () => {
|
|
768
740
|
this.isViewInitialized = true;
|
|
769
741
|
this.isReady();
|
|
770
742
|
});
|
|
771
743
|
}
|
|
772
|
-
/**
|
|
773
|
-
* MEMORY LEAK FIX: Clean up FragmentMonitor resources
|
|
774
|
-
* Should be called from implementing class's ngOnDestroy
|
|
775
|
-
*/
|
|
776
|
-
cleanupFragmentMonitor() {
|
|
777
|
-
// MEMORY LEAK FIX: Unsubscribe from viewInit$ subscription
|
|
778
|
-
if (this.viewInitSubscription) {
|
|
779
|
-
this.viewInitSubscription.unsubscribe();
|
|
780
|
-
this.viewInitSubscription = null;
|
|
781
|
-
}
|
|
782
|
-
// MEMORY LEAK FIX: Complete Subjects to release subscriptions (if not already completed)
|
|
783
|
-
if (this.viewInit$ && !this.viewInit$.closed) {
|
|
784
|
-
this.viewInit$.complete();
|
|
785
|
-
}
|
|
786
|
-
this.viewInit$ = null;
|
|
787
|
-
if (this.fragmentsLoaded$ && !this.fragmentsLoaded$.closed) {
|
|
788
|
-
this.fragmentsLoaded$.complete();
|
|
789
|
-
}
|
|
790
|
-
this.fragmentsLoaded$ = null;
|
|
791
|
-
}
|
|
792
744
|
registerFragment() {
|
|
793
745
|
this.fragments++;
|
|
794
746
|
}
|
|
@@ -972,41 +924,7 @@ class BasePartialComponent extends FragmentMonitor {
|
|
|
972
924
|
});
|
|
973
925
|
}
|
|
974
926
|
ngOnDestroy() {
|
|
975
|
-
|
|
976
|
-
// Only unwatch watchers for this partial, not all partials (other partials may still be on the page)
|
|
977
|
-
if (this.partialName) {
|
|
978
|
-
$unwatchAllByScope('Partial', this.partialName);
|
|
979
|
-
}
|
|
980
|
-
// MEMORY LEAK FIX: Complete Subjects to release subscriptions
|
|
981
|
-
if (this.destroy$) {
|
|
982
|
-
this.destroy$.complete();
|
|
983
|
-
this.destroy$ = null;
|
|
984
|
-
}
|
|
985
|
-
if (this.viewInit$) {
|
|
986
|
-
this.viewInit$.complete();
|
|
987
|
-
this.viewInit$ = null;
|
|
988
|
-
}
|
|
989
|
-
// MEMORY LEAK FIX: Clear references to prevent memory leaks
|
|
990
|
-
this.Widgets = null;
|
|
991
|
-
this.Variables = null;
|
|
992
|
-
this.Actions = null;
|
|
993
|
-
this.App = null;
|
|
994
|
-
this.containerWidget = null;
|
|
995
|
-
this.i18nService = null;
|
|
996
|
-
this.appLocale = null;
|
|
997
|
-
this.partialDirective = null;
|
|
998
|
-
this.pageDirective = null;
|
|
999
|
-
this.Prefab = null;
|
|
1000
|
-
this.scriptLoaderService = null;
|
|
1001
|
-
this.Viewport = null;
|
|
1002
|
-
this.route = null;
|
|
1003
|
-
this.appManager = null;
|
|
1004
|
-
this.navigationService = null;
|
|
1005
|
-
this.router = null;
|
|
1006
|
-
this.pageParams = null;
|
|
1007
|
-
this.viewParent = null;
|
|
1008
|
-
// MEMORY LEAK FIX: Cleanup FragmentMonitor resources
|
|
1009
|
-
this.cleanupFragmentMonitor();
|
|
927
|
+
this.destroy$.complete();
|
|
1010
928
|
}
|
|
1011
929
|
ngOnAttach(refreshData) {
|
|
1012
930
|
this.unmute();
|
|
@@ -1451,42 +1369,9 @@ class BasePageComponent extends FragmentMonitor {
|
|
|
1451
1369
|
});
|
|
1452
1370
|
}
|
|
1453
1371
|
ngOnDestroy() {
|
|
1454
|
-
// MEMORY LEAK FIX: Unwatch all Page-scoped watchers for THIS specific page when page is destroyed
|
|
1455
|
-
if (this.pageName) {
|
|
1456
|
-
const removedCount = $unwatchAllByScope('Page', this.pageName);
|
|
1457
|
-
if (removedCount > 0) {
|
|
1458
|
-
console.log(`🧹 Cleaned up ${removedCount} Page-scoped watcher(s) for page ${this.pageName}`);
|
|
1459
|
-
}
|
|
1460
|
-
}
|
|
1461
1372
|
//this.captureApplicationThumbnail();
|
|
1462
1373
|
this.savePageSnapShot();
|
|
1463
|
-
|
|
1464
|
-
if (this.destroy$) {
|
|
1465
|
-
this.destroy$.complete();
|
|
1466
|
-
this.destroy$ = null;
|
|
1467
|
-
}
|
|
1468
|
-
if (this.viewInit$) {
|
|
1469
|
-
this.viewInit$.complete();
|
|
1470
|
-
this.viewInit$ = null;
|
|
1471
|
-
}
|
|
1472
|
-
// MEMORY LEAK FIX: Clear references to prevent memory leaks
|
|
1473
|
-
this.Widgets = null;
|
|
1474
|
-
this.Variables = null;
|
|
1475
|
-
this.Actions = null;
|
|
1476
|
-
this.App = null;
|
|
1477
|
-
this.route = null;
|
|
1478
|
-
this.appManager = null;
|
|
1479
|
-
this.navigationService = null;
|
|
1480
|
-
this.router = null;
|
|
1481
|
-
this.pageParams = null;
|
|
1482
|
-
this.i18nService = null;
|
|
1483
|
-
this.appLocale = null;
|
|
1484
|
-
this.pageDirective = null;
|
|
1485
|
-
this.$page = null;
|
|
1486
|
-
this.scriptLoaderService = null;
|
|
1487
|
-
this.Viewport = null;
|
|
1488
|
-
// MEMORY LEAK FIX: Cleanup FragmentMonitor resources
|
|
1489
|
-
this.cleanupFragmentMonitor();
|
|
1374
|
+
this.destroy$.complete();
|
|
1490
1375
|
}
|
|
1491
1376
|
captureApplicationThumbnail() {
|
|
1492
1377
|
const root = this;
|
|
@@ -1851,38 +1736,7 @@ class BaseCustomWidgetComponent extends FragmentMonitor {
|
|
|
1851
1736
|
}, 100);
|
|
1852
1737
|
}
|
|
1853
1738
|
ngOnDestroy() {
|
|
1854
|
-
|
|
1855
|
-
if (this.destroy$) {
|
|
1856
|
-
this.destroy$.complete();
|
|
1857
|
-
this.destroy$ = null;
|
|
1858
|
-
}
|
|
1859
|
-
if (this.viewInit$) {
|
|
1860
|
-
this.viewInit$.complete();
|
|
1861
|
-
this.viewInit$ = null;
|
|
1862
|
-
}
|
|
1863
|
-
// MEMORY LEAK FIX: Clear references to prevent memory leaks
|
|
1864
|
-
this.Widgets = null;
|
|
1865
|
-
this.BaseWidget = null;
|
|
1866
|
-
this.Variables = null;
|
|
1867
|
-
this.Actions = null;
|
|
1868
|
-
this.App = null;
|
|
1869
|
-
this.containerWidget = null;
|
|
1870
|
-
this.i18nService = null;
|
|
1871
|
-
this.appLocale = null;
|
|
1872
|
-
this.pageDirective = null;
|
|
1873
|
-
this.Prefab = null;
|
|
1874
|
-
this.scriptLoaderService = null;
|
|
1875
|
-
this.customwidgetConfigProvider = null;
|
|
1876
|
-
this.Viewport = null;
|
|
1877
|
-
this.route = null;
|
|
1878
|
-
this.appManager = null;
|
|
1879
|
-
this.navigationService = null;
|
|
1880
|
-
this.router = null;
|
|
1881
|
-
this.props = null;
|
|
1882
|
-
this.events = null;
|
|
1883
|
-
this.viewParent = null;
|
|
1884
|
-
// MEMORY LEAK FIX: Cleanup FragmentMonitor resources
|
|
1885
|
-
this.cleanupFragmentMonitor();
|
|
1739
|
+
this.destroy$.complete();
|
|
1886
1740
|
}
|
|
1887
1741
|
ngOnAttach(refreshData) {
|
|
1888
1742
|
this.unmute();
|
|
@@ -2109,36 +1963,7 @@ class BasePrefabComponent extends FragmentMonitor {
|
|
|
2109
1963
|
});
|
|
2110
1964
|
}
|
|
2111
1965
|
ngOnDestroy() {
|
|
2112
|
-
|
|
2113
|
-
// Only unwatch watchers for this prefab, not all prefabs (other prefabs may still be on the page)
|
|
2114
|
-
if (this.prefabName) {
|
|
2115
|
-
$unwatchAllByScope('Prefab', this.prefabName);
|
|
2116
|
-
}
|
|
2117
|
-
// MEMORY LEAK FIX: Complete Subjects to release subscriptions
|
|
2118
|
-
if (this.destroy$) {
|
|
2119
|
-
this.destroy$.complete();
|
|
2120
|
-
this.destroy$ = null;
|
|
2121
|
-
}
|
|
2122
|
-
if (this.viewInit$) {
|
|
2123
|
-
this.viewInit$.complete();
|
|
2124
|
-
this.viewInit$ = null;
|
|
2125
|
-
}
|
|
2126
|
-
// MEMORY LEAK FIX: Clear references to prevent memory leaks
|
|
2127
|
-
this.Widgets = null;
|
|
2128
|
-
this.Variables = null;
|
|
2129
|
-
this.Actions = null;
|
|
2130
|
-
this.App = null;
|
|
2131
|
-
this.containerWidget = null;
|
|
2132
|
-
this.prefabMngr = null;
|
|
2133
|
-
this.i18nService = null;
|
|
2134
|
-
this.appLocale = null;
|
|
2135
|
-
this.prefabContainerDirective = null;
|
|
2136
|
-
this.scriptLoaderService = null;
|
|
2137
|
-
this.pageDirective = null;
|
|
2138
|
-
this.Viewport = null;
|
|
2139
|
-
this.viewParent = null;
|
|
2140
|
-
// MEMORY LEAK FIX: Cleanup FragmentMonitor resources
|
|
2141
|
-
this.cleanupFragmentMonitor();
|
|
1966
|
+
this.destroy$.complete();
|
|
2142
1967
|
}
|
|
2143
1968
|
// user overrides this
|
|
2144
1969
|
onPropertyChange() { }
|
|
@@ -2192,12 +2017,6 @@ class BaseLayoutComponent {
|
|
|
2192
2017
|
}
|
|
2193
2018
|
//TODO: To work cache properly need to implement the below methods and WmRouteReuseStrategy
|
|
2194
2019
|
ngOnDestroy() {
|
|
2195
|
-
// MEMORY LEAK FIX: Clear references to prevent memory leaks
|
|
2196
|
-
this.App = null;
|
|
2197
|
-
this.routerOutlet = null;
|
|
2198
|
-
this.pageDirective = null;
|
|
2199
|
-
this.layoutPages = null;
|
|
2200
|
-
this.layoutName = null;
|
|
2201
2020
|
}
|
|
2202
2021
|
canReuse() {
|
|
2203
2022
|
}
|
|
@@ -2900,42 +2719,8 @@ class BaseSpaPageComponent extends FragmentMonitor {
|
|
|
2900
2719
|
});
|
|
2901
2720
|
}
|
|
2902
2721
|
ngOnDestroy() {
|
|
2903
|
-
// MEMORY LEAK FIX: Unwatch all Page-scoped watchers for THIS specific page when page is destroyed
|
|
2904
|
-
if (this.pageName) {
|
|
2905
|
-
$unwatchAllByScope('Page', this.pageName);
|
|
2906
|
-
// if (removedCount > 0) {
|
|
2907
|
-
// console.log(`🧹 Cleaned up ${removedCount} Page-scoped watcher(s) for page ${this.pageName}`);
|
|
2908
|
-
// }
|
|
2909
|
-
}
|
|
2910
2722
|
this.savePageSnapShot();
|
|
2911
|
-
|
|
2912
|
-
if (this.destroy$) {
|
|
2913
|
-
this.destroy$.complete();
|
|
2914
|
-
this.destroy$ = null;
|
|
2915
|
-
}
|
|
2916
|
-
if (this.viewInit$) {
|
|
2917
|
-
this.viewInit$.complete();
|
|
2918
|
-
this.viewInit$ = null;
|
|
2919
|
-
}
|
|
2920
|
-
// MEMORY LEAK FIX: Clear references to prevent memory leaks
|
|
2921
|
-
this.Widgets = null;
|
|
2922
|
-
this.Variables = null;
|
|
2923
|
-
this.Actions = null;
|
|
2924
|
-
this.App = null;
|
|
2925
|
-
this.route = null;
|
|
2926
|
-
this.appManager = null;
|
|
2927
|
-
this.navigationService = null;
|
|
2928
|
-
this.router = null;
|
|
2929
|
-
this.pageParams = null;
|
|
2930
|
-
this.i18nService = null;
|
|
2931
|
-
this.appLocale = null;
|
|
2932
|
-
this.layoutDirective = null;
|
|
2933
|
-
this.spaPageDirective = null;
|
|
2934
|
-
this.$page = null;
|
|
2935
|
-
this.scriptLoaderService = null;
|
|
2936
|
-
this.Viewport = null;
|
|
2937
|
-
// MEMORY LEAK FIX: Cleanup FragmentMonitor resources
|
|
2938
|
-
this.cleanupFragmentMonitor();
|
|
2723
|
+
this.destroy$.complete();
|
|
2939
2724
|
}
|
|
2940
2725
|
onReady() { }
|
|
2941
2726
|
onBeforePageReady() { }
|
|
@@ -3021,7 +2806,7 @@ class AccessrolesDirective {
|
|
|
3021
2806
|
this.securityService = securityService;
|
|
3022
2807
|
this.inj = inj;
|
|
3023
2808
|
this.processed = false;
|
|
3024
|
-
this.context = {};
|
|
2809
|
+
this.context = {};
|
|
3025
2810
|
const securityConfig = this.securityService.get();
|
|
3026
2811
|
this.securityEnabled = get(securityConfig, 'securityEnabled');
|
|
3027
2812
|
this.isUserAuthenticated = get(securityConfig, 'authenticated');
|
|
@@ -3094,15 +2879,6 @@ class AccessrolesDirective {
|
|
|
3094
2879
|
this.viewContainerRef.clear();
|
|
3095
2880
|
}
|
|
3096
2881
|
}
|
|
3097
|
-
ngOnDestroy() {
|
|
3098
|
-
// MEMORY LEAK FIX: Clear context to release references to parent scope data
|
|
3099
|
-
if (this.context) {
|
|
3100
|
-
Object.keys(this.context).forEach(key => {
|
|
3101
|
-
delete this.context[key];
|
|
3102
|
-
});
|
|
3103
|
-
this.context = null;
|
|
3104
|
-
}
|
|
3105
|
-
}
|
|
3106
2882
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccessrolesDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i2.SecurityService }, { token: i0.Injector }, { token: 'EXPLICIT_CONTEXT', optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3107
2883
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AccessrolesDirective, isStandalone: true, selector: "[accessroles]", inputs: { accessroles: "accessroles" }, ngImport: i0 }); }
|
|
3108
2884
|
}
|
|
@@ -3332,10 +3108,7 @@ class PipeProvider {
|
|
|
3332
3108
|
this.preparePipeMeta(CurrencyPipe, 'currency', true, [this._locale]),
|
|
3333
3109
|
this.preparePipeMeta(DatePipe, 'date', true, [this._locale]),
|
|
3334
3110
|
this.preparePipeMeta(ToDatePipe, 'toDate', true, [
|
|
3335
|
-
new DatePipe(this._locale),
|
|
3336
|
-
undefined,
|
|
3337
|
-
this.injector.get(App),
|
|
3338
|
-
this.injector.get(CustomPipeManager)
|
|
3111
|
+
new DatePipe(this._locale), undefined, this.injector.get(CustomPipeManager)
|
|
3339
3112
|
]),
|
|
3340
3113
|
this.preparePipeMeta(ToNumberPipe, 'toNumber', true, [
|
|
3341
3114
|
new DecimalPipe(this._locale),
|
|
@@ -3352,7 +3125,7 @@ class PipeProvider {
|
|
|
3352
3125
|
new DecimalPipe(this._locale)
|
|
3353
3126
|
]),
|
|
3354
3127
|
this.preparePipeMeta(StringToNumberPipe, 'stringToNumber', true),
|
|
3355
|
-
this.preparePipeMeta(CustomPipe, 'custom', true, [this.injector.get(
|
|
3128
|
+
this.preparePipeMeta(CustomPipe, 'custom', true, [this.injector.get(CustomPipeManager)]),
|
|
3356
3129
|
this.preparePipeMeta(TrustAsPipe, 'trustAs', true, [this.domSanitizer]),
|
|
3357
3130
|
this.preparePipeMeta(SanitizePipe, 'sanitize', true, [this.domSanitizer]),
|
|
3358
3131
|
this.preparePipeMeta(TemplateReplacePipe, 'templateReplace', true),
|
|
@@ -3515,8 +3288,7 @@ class AppRef {
|
|
|
3515
3288
|
this.isTemplateBundleType = wmProjectProperties.type === "TEMPLATEBUNDLE" /* PROJECT_TYPE.TEMPLATE_BUNDLE */;
|
|
3516
3289
|
this.targetPlatform = wmProjectProperties.platformType;
|
|
3517
3290
|
this.isPrism = wmProjectProperties.template === "PRISM";
|
|
3518
|
-
|
|
3519
|
-
this.sessionTimeoutUnsubscribe = this.httpService.registerOnSessionTimeout(this.on401.bind(this));
|
|
3291
|
+
this.httpService.registerOnSessionTimeout(this.on401.bind(this));
|
|
3520
3292
|
this.appLocale = this.i18nService.getAppLocale();
|
|
3521
3293
|
this.httpService.setLocale(this.appLocale);
|
|
3522
3294
|
}
|
|
@@ -3603,19 +3375,6 @@ class AppRef {
|
|
|
3603
3375
|
registerFnByExpr(expr, fn[0], fn[1]);
|
|
3604
3376
|
});
|
|
3605
3377
|
}
|
|
3606
|
-
/**
|
|
3607
|
-
* Utility method to check if an object has a property
|
|
3608
|
-
* This is commonly used in expressions to check object properties
|
|
3609
|
-
* @param obj The object to check
|
|
3610
|
-
* @param prop The property name to check
|
|
3611
|
-
* @returns true if the object has the property, false otherwise
|
|
3612
|
-
*/
|
|
3613
|
-
hasOwnObjectProperty(obj, prop) {
|
|
3614
|
-
if (!obj || typeof obj !== 'object') {
|
|
3615
|
-
return false;
|
|
3616
|
-
}
|
|
3617
|
-
return Object.prototype.hasOwnProperty.call(obj, prop);
|
|
3618
|
-
}
|
|
3619
3378
|
setMode(modes, shouldPersist = false) {
|
|
3620
3379
|
const htmlEl = document.getElementsByTagName('html')[0];
|
|
3621
3380
|
//html element sanity check
|
|
@@ -3644,24 +3403,6 @@ class AppRef {
|
|
|
3644
3403
|
localStorage.setItem('wm-app-modes', JSON.stringify(modes));
|
|
3645
3404
|
}
|
|
3646
3405
|
;
|
|
3647
|
-
ngOnDestroy() {
|
|
3648
|
-
// MEMORY LEAK FIX: Destroy EventNotifier to release subscribers
|
|
3649
|
-
if (this._eventNotifier) {
|
|
3650
|
-
this._eventNotifier.destroy();
|
|
3651
|
-
this._eventNotifier = null;
|
|
3652
|
-
}
|
|
3653
|
-
// MEMORY LEAK FIX: Unsubscribe from session timeout
|
|
3654
|
-
if (this.sessionTimeoutUnsubscribe) {
|
|
3655
|
-
this.sessionTimeoutUnsubscribe();
|
|
3656
|
-
this.sessionTimeoutUnsubscribe = null;
|
|
3657
|
-
}
|
|
3658
|
-
// MEMORY LEAK FIX: Clear references
|
|
3659
|
-
this.Variables = null;
|
|
3660
|
-
this.Actions = null;
|
|
3661
|
-
this.appLocale = null;
|
|
3662
|
-
this.modes = null;
|
|
3663
|
-
this.dynamicComponentContainerRef = null;
|
|
3664
|
-
}
|
|
3665
3406
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppRef, deps: [{ token: i0.Injector }, { token: i1.AbstractI18nService }, { token: i1.StatePersistence }, { token: i1.AbstractHttpService }, { token: i2.SecurityService }, { token: i1$1.RouteReuseStrategy }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3666
3407
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppRef }); }
|
|
3667
3408
|
}
|
|
@@ -4164,20 +3905,6 @@ class SpinnerServiceImpl extends AbstractSpinnerService {
|
|
|
4164
3905
|
this.messagesByContext[ctx] = {};
|
|
4165
3906
|
}
|
|
4166
3907
|
}
|
|
4167
|
-
ngOnDestroy() {
|
|
4168
|
-
// MEMORY LEAK FIX: Complete Subject to release subscriptions
|
|
4169
|
-
if (this.messageSource) {
|
|
4170
|
-
this.messageSource.complete();
|
|
4171
|
-
this.messageSource = null;
|
|
4172
|
-
}
|
|
4173
|
-
// MEMORY LEAK FIX: Clear messages by context
|
|
4174
|
-
if (this.messagesByContext) {
|
|
4175
|
-
Object.keys(this.messagesByContext).forEach(key => {
|
|
4176
|
-
delete this.messagesByContext[key];
|
|
4177
|
-
});
|
|
4178
|
-
this.messagesByContext = null;
|
|
4179
|
-
}
|
|
4180
|
-
}
|
|
4181
3908
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4182
3909
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpinnerServiceImpl }); }
|
|
4183
3910
|
}
|
|
@@ -4693,7 +4420,6 @@ class AppComponent {
|
|
|
4693
4420
|
this.isApplicationType = false;
|
|
4694
4421
|
this.enableSkipToMainContent = getWmProjectProperties().enableSkipToMainContent === 'true' || getWmProjectProperties().enableSkipToMainContent === true;
|
|
4695
4422
|
this.retryCount = 0;
|
|
4696
|
-
this.appManagerSubscriptions = []; // MEMORY LEAK FIX: Track appManager subscriptions
|
|
4697
4423
|
this.appLocale = {};
|
|
4698
4424
|
this.spinner = { show: false, messages: [], arialabel: '' };
|
|
4699
4425
|
this.isOAuthDialogOpen = false;
|
|
@@ -4706,8 +4432,7 @@ class AppComponent {
|
|
|
4706
4432
|
this.customIconsLoaderService.load();
|
|
4707
4433
|
}
|
|
4708
4434
|
// subscribe to OAuth changes
|
|
4709
|
-
|
|
4710
|
-
this.oAuthProvidersSubscription = oAuthService.getOAuthProvidersAsObservable().subscribe((providers) => {
|
|
4435
|
+
oAuthService.getOAuthProvidersAsObservable().subscribe((providers) => {
|
|
4711
4436
|
this.providersConfig = providers;
|
|
4712
4437
|
if (providers.length) {
|
|
4713
4438
|
this.showOAuthDialog();
|
|
@@ -4717,8 +4442,7 @@ class AppComponent {
|
|
|
4717
4442
|
}
|
|
4718
4443
|
});
|
|
4719
4444
|
// Subscribe to the message source to show/hide app spinner
|
|
4720
|
-
|
|
4721
|
-
this.spinnerMessageSubscription = this.spinnerService.getMessageSource().asObservable().subscribe((data) => {
|
|
4445
|
+
this.spinnerService.getMessageSource().asObservable().subscribe((data) => {
|
|
4722
4446
|
// setTimeout is to avoid 'ExpressionChangedAfterItHasBeenCheckedError'
|
|
4723
4447
|
setTimeout(() => {
|
|
4724
4448
|
this.spinner.show = data.show;
|
|
@@ -4730,8 +4454,7 @@ class AppComponent {
|
|
|
4730
4454
|
setTheme('bs3');
|
|
4731
4455
|
let spinnerId;
|
|
4732
4456
|
let onPageRendered = noop$1;
|
|
4733
|
-
|
|
4734
|
-
this.routerEventsSubscription = this.router.events.subscribe(e => {
|
|
4457
|
+
this.router.events.subscribe(e => {
|
|
4735
4458
|
if (e instanceof NavigationStart) {
|
|
4736
4459
|
let page = e.url.split('?')[0];
|
|
4737
4460
|
page = page.substring(1);
|
|
@@ -4766,13 +4489,12 @@ class AppComponent {
|
|
|
4766
4489
|
}, 1000);
|
|
4767
4490
|
}
|
|
4768
4491
|
});
|
|
4769
|
-
|
|
4770
|
-
this.appManagerSubscriptions.push(this.appManager.subscribe('pageReady', () => {
|
|
4492
|
+
this.appManager.subscribe('pageReady', () => {
|
|
4771
4493
|
onPageRendered();
|
|
4772
|
-
})
|
|
4773
|
-
this.
|
|
4494
|
+
});
|
|
4495
|
+
this.appManager.subscribe('pageAttach', () => {
|
|
4774
4496
|
onPageRendered();
|
|
4775
|
-
})
|
|
4497
|
+
});
|
|
4776
4498
|
}
|
|
4777
4499
|
showOAuthDialog() {
|
|
4778
4500
|
if (!this.isOAuthDialogOpen) {
|
|
@@ -4847,35 +4569,9 @@ class AppComponent {
|
|
|
4847
4569
|
$invokeWatchers();
|
|
4848
4570
|
}
|
|
4849
4571
|
ngOnDestroy() {
|
|
4850
|
-
// MEMORY LEAK FIX: Unwatch all App-scoped watchers when app is destroyed
|
|
4851
|
-
$unwatchAllByScope('App');
|
|
4852
|
-
// MEMORY LEAK FIX: Unsubscribe from navigation end subscription
|
|
4853
4572
|
if (this.navigationEndSubscription) {
|
|
4854
4573
|
this.navigationEndSubscription.unsubscribe();
|
|
4855
|
-
|
|
4856
|
-
}
|
|
4857
|
-
// MEMORY LEAK FIX: Unsubscribe from OAuth providers subscription
|
|
4858
|
-
if (this.oAuthProvidersSubscription) {
|
|
4859
|
-
this.oAuthProvidersSubscription.unsubscribe();
|
|
4860
|
-
this.oAuthProvidersSubscription = null;
|
|
4861
|
-
}
|
|
4862
|
-
// MEMORY LEAK FIX: Unsubscribe from spinner message subscription
|
|
4863
|
-
if (this.spinnerMessageSubscription) {
|
|
4864
|
-
this.spinnerMessageSubscription.unsubscribe();
|
|
4865
|
-
this.spinnerMessageSubscription = null;
|
|
4866
|
-
}
|
|
4867
|
-
// MEMORY LEAK FIX: Unsubscribe from router events subscription
|
|
4868
|
-
if (this.routerEventsSubscription) {
|
|
4869
|
-
this.routerEventsSubscription.unsubscribe();
|
|
4870
|
-
this.routerEventsSubscription = null;
|
|
4871
|
-
}
|
|
4872
|
-
// MEMORY LEAK FIX: Unsubscribe from appManager subscriptions
|
|
4873
|
-
this.appManagerSubscriptions.forEach(unsubscribe => {
|
|
4874
|
-
if (unsubscribe) {
|
|
4875
|
-
unsubscribe();
|
|
4876
|
-
}
|
|
4877
|
-
});
|
|
4878
|
-
this.appManagerSubscriptions = [];
|
|
4574
|
+
}
|
|
4879
4575
|
}
|
|
4880
4576
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppComponent, deps: [{ token: PipeProvider }, { token: i0.ApplicationRef }, { token: i0.ElementRef }, { token: i2$2.OAuthService }, { token: i1.AbstractDialogService }, { token: i1.AbstractSpinnerService }, { token: i0.NgZone }, { token: i1$1.Router }, { token: i1.App }, { token: AppManagerService }, { token: i1.CustomIconsLoaderService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4881
4577
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AppComponent, isStandalone: true, selector: "app-root", viewQueries: [{ propertyName: "routerOutlet", first: true, predicate: RouterOutlet, descendants: true }, { propertyName: "dynamicComponentContainerRef", first: true, predicate: ["dynamicComponent"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "@if (startApp) {\n @if(enableSkipToMainContent) {\n <div id=\"app-focus-start\" tabindex=\"-1\"></div>\n <a href=\"javascript:void(0);\" class=\"skip\" (click)=\"skipToAppContent($event)\">{{appLocale.LABEL_SKIP_TO_MAIN_CONTENT || 'Skip to main content'}}</a>\n }\n <router-outlet></router-outlet>\n @if (isApplicationType) {\n <div wmContainer partialContainer content=\"Common\" hidden class=\"ng-hide\"></div>\n }\n <app-spinner name=\"globalspinner\" classname=\"global-spinner\" role=\"alert\" aria-live=\"assertive\" [attr.aria-label]=\"spinner.arialabel || 'Loading'\" [show]=\"spinner.show\" [spinnermessages]=\"spinner.messages\"></app-spinner>\n <div wmDialog name=\"oAuthLoginDialog\" title=\"Application is requesting you to sign in with\"\n close.event=\"closeOAuthDialog()\">\n <ng-template #dialogBody>\n <ul class=\"list-items\">\n @for (provider of providersConfig; track provider) {\n <li class=\"list-item\">\n <button class=\"btn\" (click)=\"provider.invoke()\">{{provider.name}}</button>\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <div wmConfirmDialog name=\"_app-confirm-dialog\" title.bind=\"title\" message.bind=\"message\" oktext.bind=\"oktext\"\n canceltext.bind=\"canceltext\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n @if (!isApplicationType) {\n <div wmConfirmDialog name=\"PrefabConfirmDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n }\n @if (!isApplicationType) {\n <div wmAlertDialog name=\"PrefabAlertDialog\" title.bind=\"title\" message.bind=\"text\" oktext.bind=\"okButtonText\"\n canceltext.bind=\"cancelButtonText\" closable=\"false\" iconclass.bind=\"iconclass\"\n escape.event=\"onEscape()\" ok.event=\"onOk()\" cancel.event=\"onCancel()\" close.event=\"onClose()\" opened.event=\"onOpen()\"></div>\n }\n <div wmAppExt></div>\n <i id=\"wm-mobile-display\"></i>\n}\n<!--Dummy container to create the component dynamically-->\n<ng-container #dynamicComponent></ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: AlertDialogComponent, selector: "div[wmAlertDialog]" }, { kind: "component", type: ConfirmDialogComponent, selector: "div[wmConfirmDialog]" }, { kind: "component", type: DialogComponent, selector: "div[wmDialog]" }, { kind: "component", type: AppSpinnerComponent, selector: "app-spinner", inputs: ["show", "spinnermessages", "classname", "arialabel"] }, { kind: "directive", type: ContainerDirective, selector: "[wmContainer]" }, { kind: "directive", type: PartialParamHandlerDirective, selector: "[partialContainer]" }, { kind: "directive", type: PartialContainerDirective, selector: "[partialContainer]" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -4917,18 +4613,19 @@ class HttpCallInterceptor {
|
|
|
4917
4613
|
let apiUrl = _WM_APP_PROJECT.apiUrl + request.url;
|
|
4918
4614
|
request = request.clone({ url: apiUrl });
|
|
4919
4615
|
}
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
|
|
4924
|
-
modifiedReq = appManager.appOnBeforeServiceCall(req);
|
|
4925
|
-
if (modifiedReq) {
|
|
4926
|
-
// Convert the wm HttpRequest to angular HttpRequest
|
|
4927
|
-
modifiedReq = this.wmHttpRequest.wmToAngularRequest(modifiedReq);
|
|
4928
|
-
request = modifiedReq;
|
|
4616
|
+
return from(Promise.resolve().then(() => {
|
|
4617
|
+
if (appManager && appManager.appOnBeforeServiceCall) {
|
|
4618
|
+
const wmReq = this.wmHttpRequest.angularToWmRequest(request);
|
|
4619
|
+
return appManager.appOnBeforeServiceCall(wmReq);
|
|
4929
4620
|
}
|
|
4930
|
-
|
|
4931
|
-
|
|
4621
|
+
return null;
|
|
4622
|
+
}))
|
|
4623
|
+
.pipe(switchMap((receivedModifiedReq) => {
|
|
4624
|
+
if (receivedModifiedReq) {
|
|
4625
|
+
request = this.wmHttpRequest.wmToAngularRequest(receivedModifiedReq);
|
|
4626
|
+
}
|
|
4627
|
+
return next.handle(request);
|
|
4628
|
+
}), tap((response) => {
|
|
4932
4629
|
if (response && response.type === 4 && appManager && appManager.appOnServiceSuccess) {
|
|
4933
4630
|
// Convert the angular HttpResponse to wm HttpResponse
|
|
4934
4631
|
const resp = this.wmHttpResponse.angularToWmResponse(response);
|
|
@@ -4984,14 +4681,6 @@ class PrefabDirective {
|
|
|
4984
4681
|
}
|
|
4985
4682
|
});
|
|
4986
4683
|
}
|
|
4987
|
-
ngOnDestroy() {
|
|
4988
|
-
// MEMORY LEAK FIX: Clear ViewContainerRef to destroy dynamically created components
|
|
4989
|
-
if (this.vcRef) {
|
|
4990
|
-
this.vcRef.clear();
|
|
4991
|
-
}
|
|
4992
|
-
// MEMORY LEAK FIX: Clear ElementRef reference
|
|
4993
|
-
this.elRef = null;
|
|
4994
|
-
}
|
|
4995
4684
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PrefabDirective, deps: [{ token: WidgetRef, self: true }, { token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: PrefabManagerService }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: ComponentRefProvider }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4996
4685
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: PrefabDirective, isStandalone: true, selector: "[wmPrefab][prefabname]", ngImport: i0 }); }
|
|
4997
4686
|
}
|
|
@@ -5012,8 +4701,7 @@ const PREFAB = 'PREFAB';
|
|
|
5012
4701
|
class PrefabPreviewComponent {
|
|
5013
4702
|
constructor(prefabManager) {
|
|
5014
4703
|
this.prefabManager = prefabManager;
|
|
5015
|
-
|
|
5016
|
-
this.windowMessageListener = (e) => {
|
|
4704
|
+
window.addEventListener('message', e => {
|
|
5017
4705
|
const context = e.data && e.data.context;
|
|
5018
4706
|
if (context !== PREFAB) {
|
|
5019
4707
|
return;
|
|
@@ -5032,8 +4720,7 @@ class PrefabPreviewComponent {
|
|
|
5032
4720
|
else if (action === 'invoke-script') {
|
|
5033
4721
|
this.invokeScript(payload);
|
|
5034
4722
|
}
|
|
5035
|
-
};
|
|
5036
|
-
window.addEventListener('message', this.windowMessageListener);
|
|
4723
|
+
});
|
|
5037
4724
|
}
|
|
5038
4725
|
postMessage(action, payload) {
|
|
5039
4726
|
const data = {
|
|
@@ -5050,8 +4737,7 @@ class PrefabPreviewComponent {
|
|
|
5050
4737
|
}
|
|
5051
4738
|
init() {
|
|
5052
4739
|
this.previewMode = true;
|
|
5053
|
-
|
|
5054
|
-
this.readyStateSubscription = this.prefabInstance.readyState.subscribe(() => { }, () => { }, () => {
|
|
4740
|
+
this.prefabInstance.readyState.subscribe(() => { }, () => { }, () => {
|
|
5055
4741
|
this.prefabManager.getConfig('__self__')
|
|
5056
4742
|
.then(config => {
|
|
5057
4743
|
this.config = config;
|
|
@@ -5085,22 +4771,6 @@ class PrefabPreviewComponent {
|
|
|
5085
4771
|
this.setupEventListeners();
|
|
5086
4772
|
this.postMessage('init');
|
|
5087
4773
|
}
|
|
5088
|
-
ngOnDestroy() {
|
|
5089
|
-
// MEMORY LEAK FIX: Remove window message listener
|
|
5090
|
-
if (this.windowMessageListener) {
|
|
5091
|
-
window.removeEventListener('message', this.windowMessageListener);
|
|
5092
|
-
this.windowMessageListener = null;
|
|
5093
|
-
}
|
|
5094
|
-
// MEMORY LEAK FIX: Unsubscribe from readyState
|
|
5095
|
-
if (this.readyStateSubscription) {
|
|
5096
|
-
this.readyStateSubscription.unsubscribe();
|
|
5097
|
-
this.readyStateSubscription = null;
|
|
5098
|
-
}
|
|
5099
|
-
// MEMORY LEAK FIX: Clear ViewChild reference
|
|
5100
|
-
this.prefabInstance = null;
|
|
5101
|
-
// MEMORY LEAK FIX: Clear config
|
|
5102
|
-
this.config = null;
|
|
5103
|
-
}
|
|
5104
4774
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PrefabPreviewComponent, deps: [{ token: PrefabManagerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5105
4775
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PrefabPreviewComponent, isStandalone: true, selector: "wm-prefab-preview", viewQueries: [{ propertyName: "prefabInstance", first: true, predicate: PrefabDirective$1, descendants: true, static: true }], ngImport: i0, template: `
|
|
5106
4776
|
<div class="prefab-preview row">
|
|
@@ -5181,7 +4851,6 @@ class DynamicComponentRefProviderService {
|
|
|
5181
4851
|
selector: selector of the component
|
|
5182
4852
|
transpile: flag for transpiling HTML. By default it is true
|
|
5183
4853
|
nocache: flag for render it from cache or not. By default it is true
|
|
5184
|
-
* @returns ComponentRef - the created component reference for cleanup
|
|
5185
4854
|
*/
|
|
5186
4855
|
async addComponent(target, markup, context = {}, options = {}) {
|
|
5187
4856
|
options.transpile = isDefined(options.transpile) ? options.transpile : true;
|
|
@@ -5191,8 +4860,6 @@ class DynamicComponentRefProviderService {
|
|
|
5191
4860
|
const component = this.app.dynamicComponentContainerRef.createComponent(componentFactoryRef, 0, get(options, 'inj'));
|
|
5192
4861
|
extendProto(component.instance, context);
|
|
5193
4862
|
target.appendChild(component.location.nativeElement);
|
|
5194
|
-
// MEMORY LEAK FIX: Return component reference so caller can destroy it
|
|
5195
|
-
return component;
|
|
5196
4863
|
}
|
|
5197
4864
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicComponentRefProviderService, deps: [{ token: i1.App }, { token: AppManagerService }, { token: i0.Compiler }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5198
4865
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicComponentRefProviderService }); }
|