@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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@wm/core'), require('@angular/core'), require('@wavemaker/focus-trap'), require('lodash-es'), require('moment'), require('@angular/platform-browser'), require('rxjs'), require('@wm/security'), require('rxjs/operators'), require('@angular/forms'), require('@swipey'), require('@angular/common'), require('moment-timezone/moment-timezone')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', '@wm/core', '@angular/core', '@wavemaker/focus-trap', 'lodash-es', 'moment', '@angular/platform-browser', 'rxjs', '@wm/security', 'rxjs/operators', '@angular/forms', '@swipey', '@angular/common', 'moment-timezone/moment-timezone'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.base = {}), global.wm.core, global.ng.core, global.focusTrap, global._, global.momentLib, global.ng.platformBrowser, global.rxjs, global.wm.security, global.rxjs.operators, global.ng.forms, global.swipey, global.ng.common, global.momentLib$1));
|
|
5
|
-
})(this, (function (exports, i1, i0, focusTrap, lodashEs, momentLib, i1$2, rxjs, security, operators, forms, _swipey, i1$1, momentLib$1) { 'use strict';
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@wm/core'), require('@angular/core'), require('@wavemaker/focus-trap'), require('lodash-es'), require('moment'), require('@angular/platform-browser'), require('rxjs'), require('tslib'), require('@wm/security'), require('rxjs/operators'), require('@angular/forms'), require('@swipey'), require('@angular/common'), require('moment-timezone/moment-timezone')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', '@wm/core', '@angular/core', '@wavemaker/focus-trap', 'lodash-es', 'moment', '@angular/platform-browser', 'rxjs', 'tslib', '@wm/security', 'rxjs/operators', '@angular/forms', '@swipey', '@angular/common', 'moment-timezone/moment-timezone'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.base = {}), global.wm.core, global.ng.core, global.focusTrap, global._, global.momentLib, global.ng.platformBrowser, global.rxjs, global.tslib, global.wm.security, global.rxjs.operators, global.ng.forms, global.swipey, global.ng.common, global.momentLib$1));
|
|
5
|
+
})(this, (function (exports, i1, i0, focusTrap, lodashEs, momentLib, i1$2, rxjs, tslib, security, operators, forms, _swipey, i1$1, momentLib$1) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespaceDefault(e) {
|
|
8
8
|
var n = Object.create(null);
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
urlString = (defaultUrl || 'resources/images/imagelists/default-image.png');
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
|
-
if (urlString && !i1._WM_APP_PROJECT.isPreview && !i1.
|
|
205
|
+
if (urlString && !i1._WM_APP_PROJECT.isPreview && !i1.isValidWebURL(urlString) && !urlString.startsWith(i1._WM_APP_PROJECT.cdnUrl)) {
|
|
206
206
|
urlString = (i1._WM_APP_PROJECT.cdnUrl || '') + urlString;
|
|
207
207
|
}
|
|
208
208
|
urlString = shouldEncode ? i1.encodeUrl(urlString) : urlString;
|
|
@@ -1927,9 +1927,7 @@
|
|
|
1927
1927
|
return () => {
|
|
1928
1928
|
registryById.delete(widgetId);
|
|
1929
1929
|
if (registered) {
|
|
1930
|
-
|
|
1931
|
-
// This ensures the property is completely removed from the object
|
|
1932
|
-
delete viewParent.Widgets[name];
|
|
1930
|
+
viewParent.Widgets[name] = undefined;
|
|
1933
1931
|
}
|
|
1934
1932
|
};
|
|
1935
1933
|
};
|
|
@@ -1941,8 +1939,7 @@
|
|
|
1941
1939
|
return;
|
|
1942
1940
|
}
|
|
1943
1941
|
if (ov) {
|
|
1944
|
-
|
|
1945
|
-
delete viewParent.Widgets[ov];
|
|
1942
|
+
viewParent.Widgets[ov] = undefined;
|
|
1946
1943
|
}
|
|
1947
1944
|
if (nv) {
|
|
1948
1945
|
viewParent.Widgets[nv] = widget;
|
|
@@ -2003,12 +2000,7 @@
|
|
|
2003
2000
|
return i1.toBoolean(value, isBooleanAttr(key) && key);
|
|
2004
2001
|
}
|
|
2005
2002
|
if (type === exports.PROP_TYPE.NUMBER) {
|
|
2006
|
-
|
|
2007
|
-
// Fix NaN for tabindex - default to 0 if value is invalid
|
|
2008
|
-
if (key === 'tabindex' && isNaN(numValue)) {
|
|
2009
|
-
return value === null || value === undefined || value === '' ? 0 : numValue;
|
|
2010
|
-
}
|
|
2011
|
-
return numValue;
|
|
2003
|
+
return +value;
|
|
2012
2004
|
}
|
|
2013
2005
|
return value;
|
|
2014
2006
|
};
|
|
@@ -2097,14 +2089,12 @@
|
|
|
2097
2089
|
}
|
|
2098
2090
|
};
|
|
2099
2091
|
const $RAF = window.requestAnimationFrame;
|
|
2100
|
-
|
|
2092
|
+
const $RAFQueue = [];
|
|
2101
2093
|
const invokeLater = fn => {
|
|
2102
2094
|
if (!$RAFQueue.length) {
|
|
2103
2095
|
$RAF(() => {
|
|
2104
|
-
// Execute all queued functions
|
|
2105
2096
|
$RAFQueue.forEach(f => f());
|
|
2106
|
-
|
|
2107
|
-
$RAFQueue = [];
|
|
2097
|
+
$RAFQueue.length = 0;
|
|
2108
2098
|
});
|
|
2109
2099
|
}
|
|
2110
2100
|
$RAFQueue.push(fn);
|
|
@@ -2334,26 +2324,10 @@
|
|
|
2334
2324
|
this.propertyChange.subscribe(({ key, nv, ov }) => fn(key, nv, ov));
|
|
2335
2325
|
}
|
|
2336
2326
|
registerDestroyListener(fn, ctx) {
|
|
2337
|
-
if (!fn) {
|
|
2338
|
-
return;
|
|
2339
|
-
}
|
|
2340
2327
|
if (ctx) {
|
|
2341
2328
|
fn = fn.bind(ctx);
|
|
2342
2329
|
}
|
|
2343
|
-
this.destroy.subscribe(() => { }, () => { }, () =>
|
|
2344
|
-
try {
|
|
2345
|
-
if (fn && typeof fn === 'function') {
|
|
2346
|
-
fn();
|
|
2347
|
-
}
|
|
2348
|
-
}
|
|
2349
|
-
catch (e) {
|
|
2350
|
-
// Silently handle cleanup errors to prevent test failures
|
|
2351
|
-
// These are typically non-critical cleanup issues like:
|
|
2352
|
-
// - Subscriptions already unsubscribed
|
|
2353
|
-
// - Null references during cleanup
|
|
2354
|
-
// - Components already destroyed
|
|
2355
|
-
}
|
|
2356
|
-
});
|
|
2330
|
+
this.destroy.subscribe(() => { }, () => { }, () => fn());
|
|
2357
2331
|
}
|
|
2358
2332
|
getDisplayType() {
|
|
2359
2333
|
return this.displayType;
|
|
@@ -2519,24 +2493,14 @@
|
|
|
2519
2493
|
// the promise returned by the variable call.
|
|
2520
2494
|
boundFnVal = boundFn();
|
|
2521
2495
|
if (boundFnVal instanceof Promise) {
|
|
2522
|
-
return boundFnVal.then(response => response, err =>
|
|
2523
|
-
const widgetName = widget.name || widget.widgetId || 'unknown';
|
|
2524
|
-
console.error(`Error in promise returned by event callback "${eventName}" on widget "${widgetName}":`, err);
|
|
2525
|
-
return err;
|
|
2526
|
-
});
|
|
2496
|
+
return boundFnVal.then(response => response, err => err);
|
|
2527
2497
|
}
|
|
2528
2498
|
else {
|
|
2529
2499
|
return boundFnVal;
|
|
2530
2500
|
}
|
|
2531
2501
|
}
|
|
2532
2502
|
catch (e) {
|
|
2533
|
-
|
|
2534
|
-
const widgetName = widget.name || widget.widgetId || 'unknown';
|
|
2535
|
-
const errorMessage = e.message || String(e);
|
|
2536
|
-
console.error(`Error executing event callback "${eventName}" on widget "${widgetName}":`, errorMessage);
|
|
2537
|
-
console.error('Event expression context:', { eventName, widgetName, locals });
|
|
2538
|
-
// Re-throw to maintain original behavior but with better context
|
|
2539
|
-
throw e;
|
|
2503
|
+
console.error(e);
|
|
2540
2504
|
}
|
|
2541
2505
|
};
|
|
2542
2506
|
if (child && !child.widget.eventHandlers)
|
|
@@ -2560,17 +2524,11 @@
|
|
|
2560
2524
|
if (!child)
|
|
2561
2525
|
this.initState.delete(propName);
|
|
2562
2526
|
let viewParent = child ? child.widget.viewParent.viewParent : this.viewParent, context = child ? child.widget.context : this.context, widget = child ? child.widget : this.widget, isMuted = child ? child.widget.isMuted : this.isMuted, widgetProps = child ? child.widget.widgetProps : this.widgetProps, widgetId = child ? child.widget.widgetId : this.widgetId;
|
|
2563
|
-
// OPTIMIZATION: Apply throttling for non-critical properties
|
|
2564
|
-
const watchConfig = widgetProps.get(propName) || {};
|
|
2565
|
-
const throttledProps = ['class', 'style', 'ngclass', 'ngstyle'];
|
|
2566
|
-
if (throttledProps.includes(propName.toLowerCase())) {
|
|
2567
|
-
watchConfig.throttle = 100; // Throttle to 100ms for style/class properties
|
|
2568
|
-
}
|
|
2569
2527
|
this.registerDestroyListener(i1.$watch(expr, viewParent, context, nv => {
|
|
2570
2528
|
if (propName.startsWith('base-') && widget.updateData)
|
|
2571
2529
|
widget.updateData(propName, nv);
|
|
2572
2530
|
widget[propName] = nv;
|
|
2573
|
-
}, getWatchIdentifier(widgetId, propName), propName === 'datasource',
|
|
2531
|
+
}, getWatchIdentifier(widgetId, propName), propName === 'datasource', widgetProps.get(propName), () => isMuted));
|
|
2574
2532
|
}
|
|
2575
2533
|
/**
|
|
2576
2534
|
* Remove watch on the bound property
|
|
@@ -2589,18 +2547,7 @@
|
|
|
2589
2547
|
const fn = callbackInfo.callback;
|
|
2590
2548
|
const locals = callbackInfo.locals || {};
|
|
2591
2549
|
if (fn) {
|
|
2592
|
-
|
|
2593
|
-
return fn(Object.assign(locals, extraLocals));
|
|
2594
|
-
}
|
|
2595
|
-
catch (error) {
|
|
2596
|
-
// Log error with context information for debugging
|
|
2597
|
-
const widgetName = this.name || this.widgetId || 'unknown';
|
|
2598
|
-
const errorMessage = error?.message || String(error);
|
|
2599
|
-
console.error(`Error executing event callback "${eventName}" on widget "${widgetName}":`, errorMessage);
|
|
2600
|
-
console.error('Full error:', error);
|
|
2601
|
-
// Re-throw to maintain original behavior but with better error context
|
|
2602
|
-
throw error;
|
|
2603
|
-
}
|
|
2550
|
+
return fn(Object.assign(locals, extraLocals));
|
|
2604
2551
|
}
|
|
2605
2552
|
}
|
|
2606
2553
|
}
|
|
@@ -2818,24 +2765,6 @@
|
|
|
2818
2765
|
this.propertyChange.complete();
|
|
2819
2766
|
this.destroy.complete();
|
|
2820
2767
|
this.isAttached = false;
|
|
2821
|
-
// MEMORY LEAK FIX: Unwatch all watchers for this widget
|
|
2822
|
-
// This ensures all watchers registered for this component are cleaned up
|
|
2823
|
-
if (this.widgetId) {
|
|
2824
|
-
i1.$unwatchAll(this.widgetId);
|
|
2825
|
-
// if (removedCount > 0) {
|
|
2826
|
-
// console.log(`🧹 Cleaned up ${removedCount} watcher(s) for widget ${this.widgetId}`);
|
|
2827
|
-
// }
|
|
2828
|
-
}
|
|
2829
|
-
// MEMORY LEAK FIX: Clear context to release references to parent scope data
|
|
2830
|
-
// The context object holds references to repeater items, wizard steps, etc.
|
|
2831
|
-
// which can retain large amounts of data even after component destruction
|
|
2832
|
-
if (this.context) {
|
|
2833
|
-
// Clear all properties from context
|
|
2834
|
-
Object.keys(this.context).forEach(key => {
|
|
2835
|
-
delete this.context[key];
|
|
2836
|
-
});
|
|
2837
|
-
this.context = null;
|
|
2838
|
-
}
|
|
2839
2768
|
}
|
|
2840
2769
|
static { this.ɵfac = function BaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BaseComponent)(i0__namespace.ɵɵinject(i0__namespace.Injector), i0__namespace.ɵɵinject(WidgetConfig), i0__namespace.ɵɵinject('EXPLICIT_CONTEXT', 8), i0__namespace.ɵɵinject(Promise)); }; }
|
|
2841
2770
|
static { this.ɵprov = /*@__PURE__*/ i0__namespace.ɵɵdefineInjectable({ token: BaseComponent, factory: BaseComponent.ɵfac }); }
|
|
@@ -2931,32 +2860,6 @@
|
|
|
2931
2860
|
}
|
|
2932
2861
|
}
|
|
2933
2862
|
}
|
|
2934
|
-
ngOnDestroy() {
|
|
2935
|
-
// MEMORY LEAK FIX: Clear redrawable components references
|
|
2936
|
-
// The reDrawableComponents QueryList holds references to child components
|
|
2937
|
-
// and updateRedrawableComponents manually pushes to _results array
|
|
2938
|
-
if (this.reDrawableComponents) {
|
|
2939
|
-
// Clear the manually added items from _results
|
|
2940
|
-
if (this.reDrawableComponents._results) {
|
|
2941
|
-
this.reDrawableComponents._results.length = 0;
|
|
2942
|
-
}
|
|
2943
|
-
// Reset the QueryList
|
|
2944
|
-
this.reDrawableComponents.reset([]);
|
|
2945
|
-
}
|
|
2946
|
-
// MEMORY LEAK FIX: Clear Widgets object to release child widget references
|
|
2947
|
-
// This object holds references to all child widgets in the container
|
|
2948
|
-
if (this.Widgets) {
|
|
2949
|
-
Object.keys(this.Widgets).forEach(key => {
|
|
2950
|
-
delete this.Widgets[key];
|
|
2951
|
-
});
|
|
2952
|
-
this.Widgets = null;
|
|
2953
|
-
}
|
|
2954
|
-
// MEMORY LEAK FIX: Clear content reference
|
|
2955
|
-
this.content = null;
|
|
2956
|
-
// Call parent ngOnDestroy (StylableComponent → BaseComponent)
|
|
2957
|
-
// This will clear the context and unregister the widget
|
|
2958
|
-
super.ngOnDestroy();
|
|
2959
|
-
}
|
|
2960
2863
|
static { this.ɵfac = function BaseContainerComponent_Factory(__ngFactoryType__) { i0__namespace.ɵɵinvalidFactory(); }; }
|
|
2961
2864
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: BaseContainerComponent, contentQueries: function BaseContainerComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
2962
2865
|
i0__namespace.ɵɵcontentQuery(dirIndex, RedrawableDirective, 5);
|
|
@@ -2985,7 +2888,7 @@
|
|
|
2985
2888
|
return link;
|
|
2986
2889
|
}
|
|
2987
2890
|
};
|
|
2988
|
-
class DatasetAwareNavComponent extends StylableComponent {
|
|
2891
|
+
exports.DatasetAwareNavComponent = class DatasetAwareNavComponent extends StylableComponent {
|
|
2989
2892
|
constructor(inj, WIDGET_CONFIG, explicitContext) {
|
|
2990
2893
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
2991
2894
|
this.nodes = [];
|
|
@@ -3143,46 +3046,12 @@
|
|
|
3143
3046
|
}
|
|
3144
3047
|
super.onPropertyChange(key, nv, ov);
|
|
3145
3048
|
}
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3149
|
-
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
// MEMORY LEAK FIX: Complete Subject to release subscriptions
|
|
3153
|
-
if (this.nodes$) {
|
|
3154
|
-
this.nodes$.complete();
|
|
3155
|
-
this.nodes$ = null;
|
|
3156
|
-
}
|
|
3157
|
-
// MEMORY LEAK FIX: Clear nodes array to release references
|
|
3158
|
-
this.nodes = [];
|
|
3159
|
-
this.dataset = null;
|
|
3160
|
-
this._itemFieldMap = null;
|
|
3161
|
-
// MEMORY LEAK FIX: Clear bound attribute references
|
|
3162
|
-
this.binditemlabel = null;
|
|
3163
|
-
this.binditemhint = null;
|
|
3164
|
-
this.binditemicon = null;
|
|
3165
|
-
this.binditemaction = null;
|
|
3166
|
-
this.binditembadge = null;
|
|
3167
|
-
this.binditemchildren = null;
|
|
3168
|
-
this.binditemlink = null;
|
|
3169
|
-
this.binditemtarget = null;
|
|
3170
|
-
this.binduserrole = null;
|
|
3171
|
-
this.bindisactive = null;
|
|
3172
|
-
this.binditemid = null;
|
|
3173
|
-
super.ngOnDestroy();
|
|
3174
|
-
}
|
|
3175
|
-
static { this.ɵfac = function DatasetAwareNavComponent_Factory(__ngFactoryType__) { i0__namespace.ɵɵinvalidFactory(); }; }
|
|
3176
|
-
static { this.ɵprov = /*@__PURE__*/ i0__namespace.ɵɵdefineInjectable({ token: DatasetAwareNavComponent, factory: DatasetAwareNavComponent.ɵfac }); }
|
|
3177
|
-
}
|
|
3178
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(DatasetAwareNavComponent, [{
|
|
3179
|
-
type: i0.Injectable
|
|
3180
|
-
}], () => [{ type: i0__namespace.Injector }, { type: undefined }, { type: undefined, decorators: [{
|
|
3181
|
-
type: i0.Inject,
|
|
3182
|
-
args: ['EXPLICIT_CONTEXT']
|
|
3183
|
-
}, {
|
|
3184
|
-
type: i0.Optional
|
|
3185
|
-
}] }], null); })();
|
|
3049
|
+
};
|
|
3050
|
+
exports.DatasetAwareNavComponent = tslib.__decorate([
|
|
3051
|
+
tslib.__param(2, i0.Inject('EXPLICIT_CONTEXT')),
|
|
3052
|
+
tslib.__param(2, i0.Optional()),
|
|
3053
|
+
tslib.__metadata("design:paramtypes", [i0.Injector, Object, Object])
|
|
3054
|
+
], exports.DatasetAwareNavComponent);
|
|
3186
3055
|
|
|
3187
3056
|
class PartialContainerDirective {
|
|
3188
3057
|
get name() {
|
|
@@ -3251,25 +3120,6 @@
|
|
|
3251
3120
|
// reload the partial content on partial param change
|
|
3252
3121
|
componentInstance.registerDestroyListener(() => subscription.unsubscribe());
|
|
3253
3122
|
}
|
|
3254
|
-
ngOnDestroy() {
|
|
3255
|
-
// MEMORY LEAK FIX: Clear ViewContainerRef to destroy dynamically created components
|
|
3256
|
-
if (this.vcRef) {
|
|
3257
|
-
this.vcRef.clear();
|
|
3258
|
-
}
|
|
3259
|
-
// MEMORY LEAK FIX: Nullify debounced function to break closure
|
|
3260
|
-
// The debounced function captures 'this' and has internal timeouts
|
|
3261
|
-
if (this.renderPartial && this.renderPartial.cancel) {
|
|
3262
|
-
this.renderPartial.cancel();
|
|
3263
|
-
}
|
|
3264
|
-
this.renderPartial = null;
|
|
3265
|
-
// MEMORY LEAK FIX: Clear DOM reference
|
|
3266
|
-
this.$target = null;
|
|
3267
|
-
// MEMORY LEAK FIX: Clear component instance reference
|
|
3268
|
-
// Note: We don't null componentInstance as it's injected and managed by Angular
|
|
3269
|
-
// but we clear our internal references
|
|
3270
|
-
// Reset content flag
|
|
3271
|
-
this.contentInitialized = false;
|
|
3272
|
-
}
|
|
3273
3123
|
static { this.ɵfac = function PartialContainerDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PartialContainerDirective)(i0__namespace.ɵɵdirectiveInject(WidgetRef, 2), i0__namespace.ɵɵdirectiveInject(i0__namespace.ViewContainerRef), i0__namespace.ɵɵdirectiveInject(i0__namespace.ElementRef), i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i1__namespace.App), i0__namespace.ɵɵinjectAttribute('content'), i0__namespace.ɵɵdirectiveInject(i0__namespace.ComponentFactoryResolver), i0__namespace.ɵɵdirectiveInject(i1__namespace.PartialRefProvider)); }; }
|
|
3274
3124
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: PartialContainerDirective, selectors: [["", "partialContainer", ""]], standalone: true }); }
|
|
3275
3125
|
}
|
|
@@ -3305,14 +3155,6 @@
|
|
|
3305
3155
|
}
|
|
3306
3156
|
});
|
|
3307
3157
|
}
|
|
3308
|
-
ngOnDestroy() {
|
|
3309
|
-
// MEMORY LEAK FIX: Clear ViewContainerRef to destroy dynamically created components
|
|
3310
|
-
if (this.vcRef) {
|
|
3311
|
-
this.vcRef.clear();
|
|
3312
|
-
}
|
|
3313
|
-
// MEMORY LEAK FIX: Clear ElementRef reference
|
|
3314
|
-
this.elRef = null;
|
|
3315
|
-
}
|
|
3316
3158
|
static { this.ɵfac = function CustomWidgetContainerDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CustomWidgetContainerDirective)(i0__namespace.ɵɵdirectiveInject(WidgetRef, 2), i0__namespace.ɵɵdirectiveInject(i0__namespace.ViewContainerRef), i0__namespace.ɵɵdirectiveInject(i0__namespace.ElementRef), i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i1__namespace.App), i0__namespace.ɵɵinjectAttribute('widgetname'), i0__namespace.ɵɵdirectiveInject(i1__namespace.CustomWidgetRefProvider)); }; }
|
|
3317
3159
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: CustomWidgetContainerDirective, selectors: [["", "customWidgetContainer", "", "widgetname", ""]], standalone: true }); }
|
|
3318
3160
|
}
|
|
@@ -3602,23 +3444,6 @@
|
|
|
3602
3444
|
}
|
|
3603
3445
|
}
|
|
3604
3446
|
}
|
|
3605
|
-
// MEMORY LEAK FIX: Cleanup method to release all references
|
|
3606
|
-
destroy() {
|
|
3607
|
-
// Clear all references to prevent memory leaks
|
|
3608
|
-
this.instance = null;
|
|
3609
|
-
this.formwidget = null;
|
|
3610
|
-
this.widgetControl = null;
|
|
3611
|
-
this.widgetContext = null;
|
|
3612
|
-
// Clear validators array and async validator function
|
|
3613
|
-
if (this._syncValidators) {
|
|
3614
|
-
this._syncValidators = [];
|
|
3615
|
-
}
|
|
3616
|
-
this._asyncValidatorFn = null;
|
|
3617
|
-
// Clear default validator messages
|
|
3618
|
-
if (this.defaultValidatorMessages) {
|
|
3619
|
-
this.defaultValidatorMessages = [];
|
|
3620
|
-
}
|
|
3621
|
-
}
|
|
3622
3447
|
}
|
|
3623
3448
|
|
|
3624
3449
|
const registerProps$4 = () => {
|
|
@@ -3658,31 +3483,6 @@
|
|
|
3658
3483
|
super.ngOnInit();
|
|
3659
3484
|
this.partialParams.item = this.userComponentParams.dataObject;
|
|
3660
3485
|
}
|
|
3661
|
-
ngOnDestroy() {
|
|
3662
|
-
// MEMORY LEAK FIX: Clear context to release references to ngFor context
|
|
3663
|
-
// The context holds references to the parent LView and loop variables
|
|
3664
|
-
if (this.context) {
|
|
3665
|
-
Object.keys(this.context).forEach(key => {
|
|
3666
|
-
delete this.context[key];
|
|
3667
|
-
});
|
|
3668
|
-
this.context = null;
|
|
3669
|
-
}
|
|
3670
|
-
// MEMORY LEAK FIX: Clear partial params
|
|
3671
|
-
if (this.partialParams) {
|
|
3672
|
-
Object.keys(this.partialParams).forEach(key => {
|
|
3673
|
-
delete this.partialParams[key];
|
|
3674
|
-
});
|
|
3675
|
-
this.partialParams = null;
|
|
3676
|
-
}
|
|
3677
|
-
// MEMORY LEAK FIX: Clear user component params reference
|
|
3678
|
-
this.userComponentParams = null;
|
|
3679
|
-
// MEMORY LEAK FIX: Clear content reference
|
|
3680
|
-
this.content = null;
|
|
3681
|
-
// MEMORY LEAK FIX: Clear ViewContainerRef reference
|
|
3682
|
-
this.viewContainerRef = null;
|
|
3683
|
-
// Call parent ngOnDestroy (StylableComponent → BaseComponent)
|
|
3684
|
-
super.ngOnDestroy();
|
|
3685
|
-
}
|
|
3686
3486
|
static { this.ɵfac = function ItemTemplateDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ItemTemplateDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i0__namespace.ElementRef), i0__namespace.ɵɵdirectiveInject(i1__namespace.App), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
3687
3487
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: ItemTemplateDirective, selectors: [["", "wmItemTemplate", ""]], inputs: { userComponentParams: "userComponentParams", wmItemTemplate: "wmItemTemplate" }, exportAs: ["itemTemplateRef"], standalone: true, features: [i0__namespace.ɵɵProvidersFeature([
|
|
3688
3488
|
provideAsWidgetRef(ItemTemplateDirective)
|
|
@@ -3970,27 +3770,6 @@
|
|
|
3970
3770
|
wait() {
|
|
3971
3771
|
this.runAnimation = true;
|
|
3972
3772
|
}
|
|
3973
|
-
destroy() {
|
|
3974
|
-
// Unsubscribe from app events
|
|
3975
|
-
if (this.cancelSubscription) {
|
|
3976
|
-
this.cancelSubscription();
|
|
3977
|
-
this.cancelSubscription = null;
|
|
3978
|
-
}
|
|
3979
|
-
// Stop any running animation
|
|
3980
|
-
if (this.animationInProgress) {
|
|
3981
|
-
this.stopAnimation();
|
|
3982
|
-
}
|
|
3983
|
-
// Clean up spinner
|
|
3984
|
-
if (this.spinner) {
|
|
3985
|
-
this.spinner.stop();
|
|
3986
|
-
this.spinner = null;
|
|
3987
|
-
}
|
|
3988
|
-
// Remove DOM elements
|
|
3989
|
-
if (this.infoContainer) {
|
|
3990
|
-
this.infoContainer.remove();
|
|
3991
|
-
this.infoContainer = null;
|
|
3992
|
-
}
|
|
3993
|
-
}
|
|
3994
3773
|
}
|
|
3995
3774
|
// Android Spinner implementation
|
|
3996
3775
|
class AndroidSpinner {
|
|
@@ -5232,7 +5011,7 @@
|
|
|
5232
5011
|
constructor(inj, templateRef, viewContainer, explicitContext = {}) {
|
|
5233
5012
|
this.templateRef = templateRef;
|
|
5234
5013
|
this.viewContainer = viewContainer;
|
|
5235
|
-
this.context = {};
|
|
5014
|
+
this.context = {};
|
|
5236
5015
|
let viewParentApp = inj ? inj.get(i1.App) : i0.inject(i1.App);
|
|
5237
5016
|
let lView = inj._lView;
|
|
5238
5017
|
this.viewParent = i1.findParent(lView, viewParentApp);
|
|
@@ -5240,55 +5019,15 @@
|
|
|
5240
5019
|
lodashEs.extend(this.context, inj._lView[8], explicitContext);
|
|
5241
5020
|
}
|
|
5242
5021
|
set lazyLoad(expr) {
|
|
5243
|
-
// MEMORY LEAK FIX: Unsubscribe from previous watcher if it exists
|
|
5244
|
-
if (this.unSubscribeFn && typeof this.unSubscribeFn === 'function') {
|
|
5245
|
-
try {
|
|
5246
|
-
this.unSubscribeFn();
|
|
5247
|
-
}
|
|
5248
|
-
catch (e) {
|
|
5249
|
-
console.warn('Error unsubscribing from previous lazyLoad watcher:', e);
|
|
5250
|
-
}
|
|
5251
|
-
this.unSubscribeFn = null;
|
|
5252
|
-
}
|
|
5253
5022
|
this.unSubscribeFn = i1.$watch(expr, this.viewParent, this.context, (val) => {
|
|
5254
5023
|
if (!this.embeddedView && val) {
|
|
5255
5024
|
this.embeddedView = this.viewContainer.createEmbeddedView(this.templateRef, this.context);
|
|
5256
|
-
|
|
5257
|
-
if (this.unSubscribeFn && typeof this.unSubscribeFn === 'function') {
|
|
5258
|
-
try {
|
|
5259
|
-
this.unSubscribeFn();
|
|
5260
|
-
this.unSubscribeFn = null; // Clear after calling to prevent double-call
|
|
5261
|
-
}
|
|
5262
|
-
catch (e) {
|
|
5263
|
-
console.warn('Error unsubscribing from lazyLoad watcher:', e);
|
|
5264
|
-
this.unSubscribeFn = null;
|
|
5265
|
-
}
|
|
5266
|
-
}
|
|
5025
|
+
this.unSubscribeFn();
|
|
5267
5026
|
}
|
|
5268
5027
|
});
|
|
5269
5028
|
}
|
|
5270
5029
|
ngOnDestroy() {
|
|
5271
|
-
|
|
5272
|
-
if (this.unSubscribeFn && typeof this.unSubscribeFn === 'function') {
|
|
5273
|
-
try {
|
|
5274
|
-
this.unSubscribeFn();
|
|
5275
|
-
}
|
|
5276
|
-
catch (e) {
|
|
5277
|
-
console.warn('Error unsubscribing from lazyLoad watcher in ngOnDestroy:', e);
|
|
5278
|
-
}
|
|
5279
|
-
this.unSubscribeFn = null;
|
|
5280
|
-
}
|
|
5281
|
-
// MEMORY LEAK FIX: Clear context to release references to parent scope data
|
|
5282
|
-
if (this.context) {
|
|
5283
|
-
Object.keys(this.context).forEach(key => {
|
|
5284
|
-
delete this.context[key];
|
|
5285
|
-
});
|
|
5286
|
-
this.context = null;
|
|
5287
|
-
}
|
|
5288
|
-
// MEMORY LEAK FIX: Clear embedded view reference
|
|
5289
|
-
if (this.embeddedView) {
|
|
5290
|
-
this.embeddedView = null;
|
|
5291
|
-
}
|
|
5030
|
+
this.unSubscribeFn();
|
|
5292
5031
|
}
|
|
5293
5032
|
static { this.ɵfac = function LazyLoadDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || LazyLoadDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i0__namespace.TemplateRef), i0__namespace.ɵɵdirectiveInject(i0__namespace.ViewContainerRef), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
5294
5033
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: LazyLoadDirective, selectors: [["", "lazyLoad", ""]], inputs: { lazyLoad: "lazyLoad" }, standalone: true }); }
|
|
@@ -5330,21 +5069,6 @@
|
|
|
5330
5069
|
this.widgetRef.params$.next();
|
|
5331
5070
|
}
|
|
5332
5071
|
}
|
|
5333
|
-
ngOnDestroy() {
|
|
5334
|
-
// MEMORY LEAK FIX: Complete the params$ Subject
|
|
5335
|
-
if (this.widgetRef.params$) {
|
|
5336
|
-
this.widgetRef.params$.complete();
|
|
5337
|
-
}
|
|
5338
|
-
// MEMORY LEAK FIX: Clear partial params
|
|
5339
|
-
if (this.widgetRef.partialParams) {
|
|
5340
|
-
Object.keys(this.widgetRef.partialParams).forEach(key => {
|
|
5341
|
-
delete this.widgetRef.partialParams[key];
|
|
5342
|
-
});
|
|
5343
|
-
this.widgetRef.partialParams = null;
|
|
5344
|
-
}
|
|
5345
|
-
// Clear pageParams reference
|
|
5346
|
-
this.widgetRef.pageParams = null;
|
|
5347
|
-
}
|
|
5348
5072
|
static { this.ɵfac = function PartialParamHandlerDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PartialParamHandlerDirective)(i0__namespace.ɵɵdirectiveInject(WidgetRef, 2)); }; }
|
|
5349
5073
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: PartialParamHandlerDirective, selectors: [["", "partialContainer", ""]], standalone: true }); }
|
|
5350
5074
|
}
|
|
@@ -5418,11 +5142,9 @@
|
|
|
5418
5142
|
constructor(viewContainerRef, inj, templateRef, explicitContext) {
|
|
5419
5143
|
this.viewContainerRef = viewContainerRef;
|
|
5420
5144
|
this.templateRef = templateRef;
|
|
5421
|
-
this.context = {};
|
|
5145
|
+
this.context = {};
|
|
5422
5146
|
lodashEs.extend(this.context, inj._lView[8], explicitContext);
|
|
5423
|
-
|
|
5424
|
-
this.boundOnResize = this.onResize.bind(this);
|
|
5425
|
-
window.addEventListener('resize', this.boundOnResize);
|
|
5147
|
+
window.addEventListener('resize', this.onResize.bind(this));
|
|
5426
5148
|
}
|
|
5427
5149
|
set wmShowInDevice(devices) {
|
|
5428
5150
|
this.devices = devices.split(',');
|
|
@@ -5464,23 +5186,7 @@
|
|
|
5464
5186
|
}
|
|
5465
5187
|
}
|
|
5466
5188
|
ngOnDestroy() {
|
|
5467
|
-
|
|
5468
|
-
if (this.boundOnResize) {
|
|
5469
|
-
window.removeEventListener('resize', this.boundOnResize);
|
|
5470
|
-
this.boundOnResize = null;
|
|
5471
|
-
}
|
|
5472
|
-
// MEMORY LEAK FIX: Clear embedded view reference
|
|
5473
|
-
if (this.embeddedView) {
|
|
5474
|
-
this.viewContainerRef.clear();
|
|
5475
|
-
this.embeddedView = null;
|
|
5476
|
-
}
|
|
5477
|
-
// MEMORY LEAK FIX: Clear context to release references to parent scope data
|
|
5478
|
-
if (this.context) {
|
|
5479
|
-
Object.keys(this.context).forEach(key => {
|
|
5480
|
-
delete this.context[key];
|
|
5481
|
-
});
|
|
5482
|
-
this.context = null;
|
|
5483
|
-
}
|
|
5189
|
+
window.removeEventListener('resize', this.onResize);
|
|
5484
5190
|
}
|
|
5485
5191
|
static { this.ɵfac = function ShowInDeviceDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShowInDeviceDirective)(i0__namespace.ɵɵdirectiveInject(i0__namespace.ViewContainerRef), i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector), i0__namespace.ɵɵdirectiveInject(i0__namespace.TemplateRef), i0__namespace.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
5486
5192
|
static { this.ɵdir = /*@__PURE__*/ i0__namespace.ɵɵdefineDirective({ type: ShowInDeviceDirective, selectors: [["", "wmShowInDevice", ""]], inputs: { wmShowInDevice: "wmShowInDevice" }, standalone: true }); }
|
|
@@ -5512,7 +5218,6 @@
|
|
|
5512
5218
|
exports.DEBOUNCE_TIMES = DEBOUNCE_TIMES;
|
|
5513
5219
|
exports.DISPLAY_TYPE = DISPLAY_TYPE;
|
|
5514
5220
|
exports.DataSetItem = DataSetItem;
|
|
5515
|
-
exports.DatasetAwareNavComponent = DatasetAwareNavComponent;
|
|
5516
5221
|
exports.DialogRef = DialogRef;
|
|
5517
5222
|
exports.DialogServiceImpl = DialogServiceImpl;
|
|
5518
5223
|
exports.EDIT_MODE = EDIT_MODE;
|
|
@@ -3,10 +3,9 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class ShowInDeviceDirective implements OnDestroy {
|
|
4
4
|
private viewContainerRef;
|
|
5
5
|
private templateRef;
|
|
6
|
-
private context;
|
|
6
|
+
private readonly context;
|
|
7
7
|
private devices;
|
|
8
8
|
private embeddedView;
|
|
9
|
-
private boundOnResize;
|
|
10
9
|
constructor(viewContainerRef: ViewContainerRef, inj: Injector, templateRef: TemplateRef<any>, explicitContext: any);
|
|
11
10
|
set wmShowInDevice(devices: any);
|
|
12
11
|
private onResize;
|
|
@@ -6,11 +6,9 @@ export class ShowInDeviceDirective {
|
|
|
6
6
|
constructor(viewContainerRef, inj, templateRef, explicitContext) {
|
|
7
7
|
this.viewContainerRef = viewContainerRef;
|
|
8
8
|
this.templateRef = templateRef;
|
|
9
|
-
this.context = {};
|
|
9
|
+
this.context = {};
|
|
10
10
|
extend(this.context, inj._lView[8], explicitContext);
|
|
11
|
-
|
|
12
|
-
this.boundOnResize = this.onResize.bind(this);
|
|
13
|
-
window.addEventListener('resize', this.boundOnResize);
|
|
11
|
+
window.addEventListener('resize', this.onResize.bind(this));
|
|
14
12
|
}
|
|
15
13
|
set wmShowInDevice(devices) {
|
|
16
14
|
this.devices = devices.split(',');
|
|
@@ -52,23 +50,7 @@ export class ShowInDeviceDirective {
|
|
|
52
50
|
}
|
|
53
51
|
}
|
|
54
52
|
ngOnDestroy() {
|
|
55
|
-
|
|
56
|
-
if (this.boundOnResize) {
|
|
57
|
-
window.removeEventListener('resize', this.boundOnResize);
|
|
58
|
-
this.boundOnResize = null;
|
|
59
|
-
}
|
|
60
|
-
// MEMORY LEAK FIX: Clear embedded view reference
|
|
61
|
-
if (this.embeddedView) {
|
|
62
|
-
this.viewContainerRef.clear();
|
|
63
|
-
this.embeddedView = null;
|
|
64
|
-
}
|
|
65
|
-
// MEMORY LEAK FIX: Clear context to release references to parent scope data
|
|
66
|
-
if (this.context) {
|
|
67
|
-
Object.keys(this.context).forEach(key => {
|
|
68
|
-
delete this.context[key];
|
|
69
|
-
});
|
|
70
|
-
this.context = null;
|
|
71
|
-
}
|
|
53
|
+
window.removeEventListener('resize', this.onResize);
|
|
72
54
|
}
|
|
73
55
|
static { this.ɵfac = function ShowInDeviceDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShowInDeviceDirective)(i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject('EXPLICIT_CONTEXT', 8)); }; }
|
|
74
56
|
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ShowInDeviceDirective, selectors: [["", "wmShowInDevice", ""]], inputs: { wmShowInDevice: "wmShowInDevice" }, standalone: true }); }
|
|
@@ -87,4 +69,4 @@ export class ShowInDeviceDirective {
|
|
|
87
69
|
}] }], { wmShowInDevice: [{
|
|
88
70
|
type: Input
|
|
89
71
|
}] }); })();
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1pbi1kZXZpY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9iYXNlL3NyYy9kaXJlY3RpdmVzL3Nob3ctaW4tZGV2aWNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFDLHNCQUFzQixFQUFFLHFCQUFxQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBTWpDLE1BQU0sT0FBTyxxQkFBcUI7SUFNOUIsWUFDWSxnQkFBa0MsRUFDMUMsR0FBYSxFQUNMLFdBQTZCLEVBQ0csZUFBb0I7UUFIcEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUVsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFSakMsWUFBTyxHQUFRLEVBQUUsQ0FBQyxDQUFDLHlDQUF5QztRQVdoRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRyxHQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRTlELHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxJQUFhLGNBQWMsQ0FBQyxPQUFPO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENB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QUcsUUFBUTtxQkFRNUIsY0FBYztrQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25EZXN0cm95LCBPcHRpb25hbCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtpc0xhcmdlVGFibGV0TGFuZHNjYXBlLCBpc0xhcmdlVGFibGV0UG9ydHJhaXR9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7ZXh0ZW5kfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3dtU2hvd0luRGV2aWNlXSdcbn0pXG5leHBvcnQgY2xhc3MgU2hvd0luRGV2aWNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGNvbnRleHQ6IGFueSA9IHt9OyAvLyBDaGFuZ2VkIGZyb20gcmVhZG9ubHkgdG8gYWxsb3cgY2xlYW51cFxuICAgIHByaXZhdGUgZGV2aWNlcztcbiAgICBwcml2YXRlIGVtYmVkZGVkVmlldztcbiAgICBwcml2YXRlIGJvdW5kT25SZXNpemU6ICgpID0+IHZvaWQ7IC8vIE1FTU9SWSBMRUFLIEZJWDogU3RvcmUgYm91bmQgZnVuY3Rpb24gZm9yIHByb3BlciBjbGVhbnVwXG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55XG4gICAgKSB7XG4gICAgICAgIGV4dGVuZCh0aGlzLmNvbnRleHQsIChpbmogYXMgYW55KS5fbFZpZXdbOF0sIGV4cGxpY2l0Q29udGV4dCk7XG5cbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBTdG9yZSBib3VuZCBmdW5jdGlvbiByZWZlcmVuY2UgZm9yIHByb3BlciByZW1vdmFsXG4gICAgICAgIHRoaXMuYm91bmRPblJlc2l6ZSA9IHRoaXMub25SZXNpemUuYmluZCh0aGlzKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuYm91bmRPblJlc2l6ZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCB3bVNob3dJbkRldmljZShkZXZpY2VzKSB7XG4gICAgICAgIHRoaXMuZGV2aWNlcyA9IGRldmljZXMuc3BsaXQoJywnKTtcbiAgICAgICAgdGhpcy5vblJlc2l6ZSgpO1xuICAgIH1cbiAgICAvKlxuICAgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyB0aGUgcmVuZGVyaW5nIG9mIHdpZGdldHMgYmFzZWQgb24gdGhlIGNvbmZpZ3VyZWQgc2hvd2luZGV2aWNlIHByb3BlcnR5XG4gICAgZm9yIHRoZSB3aWRnZXQuXG4gICAgMS4gRm9yIExhcmdlIFNjcmVlbiwgY3JlYXRlIHRoZSB2aWV3IG9ubHkgd2hlbiBtaW4td2lkdGggaXMgMTIwMHB4KGV4Y2VwdCB3aGVuIHRoZSB2aWV3cG9ydCBpcyBhbiBJcGFkIFBybyAxMyBpbmNoKExhbmRzY2FwZSkpXG4gICAgMi4gRm9yIExhcHRvcC9UYWJsZXQgTGFuZHNjYXBlLCBjcmVhdGUgdGhlIHZpZXcgb25seSB3aGVuIGVpdGhlciBtaW4td2lkdGggaXMgOTkycHggYW5kIG1heC13aWR0aCBpcyAxMTk5cHgoZXhjZXB0IHdoZW4gdGhlIHZpZXdwb3J0IGlzIGFuIElwYWQgUHJvIDEzIGluY2goUG9ydHJhaXQpKSwgb3IgaXRzIGFuIElwYWQgUHJvIDEzIGluY2goTGFuZHNjYXBlKSlcbiAgICAzLiBGb3IgVGFibGV0IFBvcnRyYWl0LCBjcmVhdGUgdGhlIHZpZXcgb25seSB3aGVuIGVpdGhlciBtaW4td2lkdGggaXMgNzY4cHggYW5kIG1heC13aWR0aCBpcyA5OTFweCwgb3IgaXRzIGFuIElwYWQgUHJvIDEzIGluY2goUG9ydHJhaXQpKVxuICAgIDQuIEZvciBNb2JpbGUsIGNyZWF0ZSB0aGUgdmlldyBvbmx5IHdoZW4gbWF4LXdpZHRoIGlzIDc2N3B4LlxuICAgIDUuIEZvciBhbGwsIGFsd2F5cyByZW5kZXIgdGhlIHZpZXcuXG4gICAgICovXG4gICAgcHJpdmF0ZSBvblJlc2l6ZSgkZXZlbnQ/KSB7XG5cbiAgICAgICAgY29uc3QgbGdXaWR0aCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1sZycpIHx8ICcxMjAwcHgnO1xuICAgICAgICBjb25zdCBtZFdpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc2NyZWVuLW1kJykgfHwgJzk5MnB4JztcbiAgICAgICAgY29uc3Qgc21XaWR0aCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1zbScpIHx8ICc3NjhweCc7XG4gICAgICAgIGNvbnN0IGxnVGFiTGFuZFNjYXBlV2lkdGggPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zY3JlZW4tbGctdGFiLWxhbmRzY2FwZScpIHx8ICcxMzY2cHgnO1xuICAgICAgICBjb25zdCBsZ1RhYlBvcnRyYWl0V2lkdGggPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zY3JlZW4tbGctdGFiLXBvcnRyYWl0JykgfHwgJzEwMjRweCc7XG4gICAgICAgIGNvbnN0IGxnV2lkdGhNaW4gPSBwYXJzZUZsb2F0KGxnV2lkdGgpLTE7XG4gICAgICAgIGNvbnN0IGxnVW5pdCA9ICBsZ1dpZHRoTWluICsgXCJweFwiO1xuICAgICAgICBjb25zdCBtZFdpZHRoTWluID0gcGFyc2VGbG9hdChtZFdpZHRoKS0xO1xuICAgICAgICBjb25zdCBtZFVuaXQgPSBtZFdpZHRoTWluICsgXCJweFwiO1xuICAgICAgICBjb25zdCBzbVdpZHRoTWluID0gcGFyc2VGbG9hdChzbVdpZHRoKS0xO1xuICAgICAgICBjb25zdCBzbVVuaXQgPSBzbVdpZHRoTWluICsgXCJweFwiO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodGhpcy5kZXZpY2VzLmluZGV4T2YoJ2xnJykgPiAtMSAmJiB3aW5kb3cubWF0Y2hNZWRpYShcIihtaW4td2lkdGg6IFwiK2xnV2lkdGgrXCIpXCIpLm1hdGNoZXMgJiYgIWlzTGFyZ2VUYWJsZXRMYW5kc2NhcGUobGdUYWJMYW5kU2NhcGVXaWR0aCwgbGdUYWJQb3J0cmFpdFdpZHRoKSlcbiAgICAgICAgICAgIHx8ICAodGhpcy5kZXZpY2VzLmluZGV4T2YoJ21kJykgPiAtMSAmJiAoaXNMYXJnZVRhYmxldExhbmRzY2FwZShsZ1RhYkxhbmRTY2FwZVdpZHRoLCBsZ1RhYlBvcnRyYWl0V2lkdGgpIHx8ICh3aW5kb3cubWF0Y2hNZWRpYShcIihtaW4td2lkdGg6IFwiK21kV2lkdGgrXCIpIGFuZCAobWF4LXdpZHRoOiBcIitsZ1VuaXQgK1wiKVwiKS5tYXRjaGVzICYmICFpc0xhcmdlVGFibGV0UG9ydHJhaXQobGdUYWJMYW5kU2NhcGVXaWR0aCwgbGdUYWJQb3J0cmFpdFdpZHRoKSkpKVxuICAgICAgICAgICAgfHwgICh0aGlzLmRldmljZXMuaW5kZXhPZignc20nKSA+IC0xICYmICh3aW5kb3cubWF0Y2hNZWRpYShcIihtaW4td2lkdGg6IFwiK3NtV2lkdGgrXCIpIGFuZCAobWF4LXdpZHRoOiBcIittZFVuaXQrXCIpXCIpLm1hdGNoZXMgfHwgaXNMYXJnZVRhYmxldFBvcnRyYWl0KGxnVGFiTGFuZFNjYXBlV2lkdGgsIGxnVGFiUG9ydHJhaXRXaWR0aCkpKVxuICAgICAgICAgICAgfHwgICh0aGlzLmRldmljZXMuaW5kZXhPZigneHMnKSA+IC0xICYmIHdpbmRvdy5tYXRjaE1lZGlhKFwiKG1heC13aWR0aDogXCIrc21Vbml0K1wiKVwiKS5tYXRjaGVzKVxuICAgICAgICAgICAgfHwgICh0aGlzLmRldmljZXMuaW5kZXhPZignYWxsJykgPiAtMSkpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5lbWJlZGRlZFZpZXcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmVtYmVkZGVkVmlldyA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZiwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXcgPSAnJztcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIC8vIE1FTU9SWSBMRUFLIEZJWDogUmVtb3ZlIHVzaW5nIHRoZSBzdG9yZWQgYm91bmQgZnVuY3Rpb24gcmVmZXJlbmNlXG4gICAgICAgIGlmICh0aGlzLmJvdW5kT25SZXNpemUpIHtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLmJvdW5kT25SZXNpemUpO1xuICAgICAgICAgICAgdGhpcy5ib3VuZE9uUmVzaXplID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBDbGVhciBlbWJlZGRlZCB2aWV3IHJlZmVyZW5jZVxuICAgICAgICBpZiAodGhpcy5lbWJlZGRlZFZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXcgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IENsZWFyIGNvbnRleHQgdG8gcmVsZWFzZSByZWZlcmVuY2VzIHRvIHBhcmVudCBzY29wZSBkYXRhXG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuY29udGV4dCkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmNvbnRleHRba2V5XTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1pbi1kZXZpY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9iYXNlL3NyYy9kaXJlY3RpdmVzL3Nob3ctaW4tZGV2aWNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFhLFFBQVEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckgsT0FBTyxFQUFDLHNCQUFzQixFQUFFLHFCQUFxQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxXQUFXLENBQUM7O0FBTWpDLE1BQU0sT0FBTyxxQkFBcUI7SUFJOUIsWUFDWSxnQkFBa0MsRUFDMUMsR0FBYSxFQUNMLFdBQTZCLEVBQ0csZUFBb0I7UUFIcEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUVsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFOeEIsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQVMxQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRyxHQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRTlELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBQ0QsSUFBYSxjQUFjLENBQUMsT0FBTztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRDs7Ozs7Ozs7T0FRRztJQUNLLFFBQVEsQ0FBQyxNQUFPO1FBRXBC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Q0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFFTCxDQUFDO0lBRUQsV0FBVztRQUNQLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7c0hBMURRLHFCQUFxQiwySUFRbEIsa0JBQWtCO29FQVJyQixxQkFBcUI7O2lGQUFyQixxQkFBcUI7Y0FKakMsU0FBUztlQUFDO2dCQUNULFVBQVUsRUFBRSxJQUFJO2dCQUNkLFFBQVEsRUFBRSxrQkFBa0I7YUFDL0I7O3NCQVNRLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFRO3FCQU01QixjQUFjO2tCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdCwgSW5qZWN0b3IsIElucHV0LCBPbkRlc3Ryb3ksIE9wdGlvbmFsLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge2lzTGFyZ2VUYWJsZXRMYW5kc2NhcGUsIGlzTGFyZ2VUYWJsZXRQb3J0cmFpdH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtleHRlbmR9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbd21TaG93SW5EZXZpY2VdJ1xufSlcbmV4cG9ydCBjbGFzcyBTaG93SW5EZXZpY2VEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGV4dCA9IHt9O1xuICAgIHByaXZhdGUgZGV2aWNlcztcbiAgICBwcml2YXRlIGVtYmVkZGVkVmlldztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBpbmo6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnlcbiAgICApIHtcbiAgICAgICAgZXh0ZW5kKHRoaXMuY29udGV4dCwgKGluaiBhcyBhbnkpLl9sVmlld1s4XSwgZXhwbGljaXRDb250ZXh0KTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vblJlc2l6ZS5iaW5kKHRoaXMpKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IHdtU2hvd0luRGV2aWNlKGRldmljZXMpIHtcbiAgICAgICAgdGhpcy5kZXZpY2VzID0gZGV2aWNlcy5zcGxpdCgnLCcpO1xuICAgICAgICB0aGlzLm9uUmVzaXplKCk7XG4gICAgfVxuICAgIC8qXG4gICAgVGhpcyBmdW5jdGlvbiBoYW5kbGVzIHRoZSByZW5kZXJpbmcgb2Ygd2lkZ2V0cyBiYXNlZCBvbiB0aGUgY29uZmlndXJlZCBzaG93aW5kZXZpY2UgcHJvcGVydHlcbiAgICBmb3IgdGhlIHdpZGdldC5cbiAgICAxLiBGb3IgTGFyZ2UgU2NyZWVuLCBjcmVhdGUgdGhlIHZpZXcgb25seSB3aGVuIG1pbi13aWR0aCBpcyAxMjAwcHgoZXhjZXB0IHdoZW4gdGhlIHZpZXdwb3J0IGlzIGFuIElwYWQgUHJvIDEzIGluY2goTGFuZHNjYXBlKSlcbiAgICAyLiBGb3IgTGFwdG9wL1RhYmxldCBMYW5kc2NhcGUsIGNyZWF0ZSB0aGUgdmlldyBvbmx5IHdoZW4gZWl0aGVyIG1pbi13aWR0aCBpcyA5OTJweCBhbmQgbWF4LXdpZHRoIGlzIDExOTlweChleGNlcHQgd2hlbiB0aGUgdmlld3BvcnQgaXMgYW4gSXBhZCBQcm8gMTMgaW5jaChQb3J0cmFpdCkpLCBvciBpdHMgYW4gSXBhZCBQcm8gMTMgaW5jaChMYW5kc2NhcGUpKVxuICAgIDMuIEZvciBUYWJsZXQgUG9ydHJhaXQsIGNyZWF0ZSB0aGUgdmlldyBvbmx5IHdoZW4gZWl0aGVyIG1pbi13aWR0aCBpcyA3NjhweCBhbmQgbWF4LXdpZHRoIGlzIDk5MXB4LCBvciBpdHMgYW4gSXBhZCBQcm8gMTMgaW5jaChQb3J0cmFpdCkpXG4gICAgNC4gRm9yIE1vYmlsZSwgY3JlYXRlIHRoZSB2aWV3IG9ubHkgd2hlbiBtYXgtd2lkdGggaXMgNzY3cHguXG4gICAgNS4gRm9yIGFsbCwgYWx3YXlzIHJlbmRlciB0aGUgdmlldy5cbiAgICAgKi9cbiAgICBwcml2YXRlIG9uUmVzaXplKCRldmVudD8pIHtcblxuICAgICAgICBjb25zdCBsZ1dpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc2NyZWVuLWxnJykgfHwgJzEyMDBweCc7XG4gICAgICAgIGNvbnN0IG1kV2lkdGggPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zY3JlZW4tbWQnKSB8fCAnOTkycHgnO1xuICAgICAgICBjb25zdCBzbVdpZHRoID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc2NyZWVuLXNtJykgfHwgJzc2OHB4JztcbiAgICAgICAgY29uc3QgbGdUYWJMYW5kU2NhcGVXaWR0aCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1sZy10YWItbGFuZHNjYXBlJykgfHwgJzEzNjZweCc7XG4gICAgICAgIGNvbnN0IGxnVGFiUG9ydHJhaXRXaWR0aCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1sZy10YWItcG9ydHJhaXQnKSB8fCAnMTAyNHB4JztcbiAgICAgICAgY29uc3QgbGdXaWR0aE1pbiA9IHBhcnNlRmxvYXQobGdXaWR0aCktMTtcbiAgICAgICAgY29uc3QgbGdVbml0ID0gIGxnV2lkdGhNaW4gKyBcInB4XCI7XG4gICAgICAgIGNvbnN0IG1kV2lkdGhNaW4gPSBwYXJzZUZsb2F0KG1kV2lkdGgpLTE7XG4gICAgICAgIGNvbnN0IG1kVW5pdCA9IG1kV2lkdGhNaW4gKyBcInB4XCI7XG4gICAgICAgIGNvbnN0IHNtV2lkdGhNaW4gPSBwYXJzZUZsb2F0KHNtV2lkdGgpLTE7XG4gICAgICAgIGNvbnN0IHNtVW5pdCA9IHNtV2lkdGhNaW4gKyBcInB4XCI7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0aGlzLmRldmljZXMuaW5kZXhPZignbGcnKSA+IC0xICYmIHdpbmRvdy5tYXRjaE1lZGlhKFwiKG1pbi13aWR0aDogXCIrbGdXaWR0aCtcIilcIikubWF0Y2hlcyAmJiAhaXNMYXJnZVRhYmxldExhbmRzY2FwZShsZ1RhYkxhbmRTY2FwZVdpZHRoLCBsZ1RhYlBvcnRyYWl0V2lkdGgpKVxuICAgICAgICAgICAgfHwgICh0aGlzLmRldmljZXMuaW5kZXhPZignbWQnKSA+IC0xICYmIChpc0xhcmdlVGFibGV0TGFuZHNjYXBlKGxnVGFiTGFuZFNjYXBlV2lkdGgsIGxnVGFiUG9ydHJhaXRXaWR0aCkgfHwgKHdpbmRvdy5tYXRjaE1lZGlhKFwiKG1pbi13aWR0aDogXCIrbWRXaWR0aCtcIikgYW5kIChtYXgtd2lkdGg6IFwiK2xnVW5pdCArXCIpXCIpLm1hdGNoZXMgJiYgIWlzTGFyZ2VUYWJsZXRQb3J0cmFpdChsZ1RhYkxhbmRTY2FwZVdpZHRoLCBsZ1RhYlBvcnRyYWl0V2lkdGgpKSkpXG4gICAgICAgICAgICB8fCAgKHRoaXMuZGV2aWNlcy5pbmRleE9mKCdzbScpID4gLTEgJiYgKHdpbmRvdy5tYXRjaE1lZGlhKFwiKG1pbi13aWR0aDogXCIrc21XaWR0aCtcIikgYW5kIChtYXgtd2lkdGg6IFwiK21kVW5pdCtcIilcIikubWF0Y2hlcyB8fCBpc0xhcmdlVGFibGV0UG9ydHJhaXQobGdUYWJMYW5kU2NhcGVXaWR0aCwgbGdUYWJQb3J0cmFpdFdpZHRoKSkpXG4gICAgICAgICAgICB8fCAgKHRoaXMuZGV2aWNlcy5pbmRleE9mKCd4cycpID4gLTEgJiYgd2luZG93Lm1hdGNoTWVkaWEoXCIobWF4LXdpZHRoOiBcIitzbVVuaXQrXCIpXCIpLm1hdGNoZXMpXG4gICAgICAgICAgICB8fCAgKHRoaXMuZGV2aWNlcy5pbmRleE9mKCdhbGwnKSA+IC0xKSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmVtYmVkZGVkVmlldykge1xuICAgICAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3ID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmLCB0aGlzLmNvbnRleHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLmVtYmVkZGVkVmlldyA9ICcnO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25SZXNpemUpO1xuICAgIH1cbn1cbiJdfQ==
|