@wavemaker/app-ng-runtime 11.4.1-next.141652 → 11.4.1-next.141654
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.
- app-ng-runtime/components/advanced/carousel/bundles/index.umd.js +12 -23
- app-ng-runtime/components/advanced/carousel/carousel-template/carousel-template.directive.d.ts +2 -4
- app-ng-runtime/components/advanced/carousel/carousel.directive.d.ts +2 -4
- app-ng-runtime/components/advanced/carousel/esm2020/carousel-template/carousel-template.directive.mjs +6 -11
- app-ng-runtime/components/advanced/carousel/esm2020/carousel.directive.mjs +6 -11
- app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs +9 -20
- app-ng-runtime/components/advanced/carousel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs +9 -16
- app-ng-runtime/components/advanced/carousel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/bundles/index.umd.js +21 -27
- app-ng-runtime/components/advanced/login/esm2020/login.component.mjs +8 -13
- app-ng-runtime/components/advanced/login/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/advanced/login/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/fesm2020/index.mjs +7 -11
- app-ng-runtime/components/advanced/login/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/login/login.component.d.ts +2 -4
- app-ng-runtime/components/advanced/marquee/bundles/index.umd.js +8 -14
- app-ng-runtime/components/advanced/marquee/esm2020/marquee.directive.mjs +6 -11
- app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/advanced/marquee/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/advanced/marquee/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/advanced/marquee/marquee.directive.d.ts +2 -4
- app-ng-runtime/components/base/bundles/index.umd.js +31 -61
- app-ng-runtime/components/base/esm2020/widgets/common/base/base-container.component.mjs +4 -6
- app-ng-runtime/components/base/esm2020/widgets/common/base/base.component.mjs +5 -6
- app-ng-runtime/components/base/esm2020/widgets/common/base/dataset-aware-nav.component.mjs +3 -3
- app-ng-runtime/components/base/esm2020/widgets/common/container/container.directive.mjs +7 -11
- app-ng-runtime/components/base/esm2020/widgets/common/item-template/item-template.directive.mjs +7 -10
- app-ng-runtime/components/base/esm2020/widgets/common/lazy-load/lazy-load.directive.mjs +6 -10
- app-ng-runtime/components/base/esm2020/widgets/common/message/message.component.mjs +7 -11
- app-ng-runtime/components/base/esm2020/widgets/common/partial/partial.directive.mjs +7 -10
- app-ng-runtime/components/base/esm2020/widgets/common/repeat-template/repeat-template.directive.mjs +6 -11
- app-ng-runtime/components/base/fesm2015/index.mjs +32 -62
- app-ng-runtime/components/base/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/base/fesm2020/index.mjs +32 -50
- app-ng-runtime/components/base/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/base/widgets/common/base/base-container.component.d.ts +1 -2
- app-ng-runtime/components/base/widgets/common/base/base.component.d.ts +2 -3
- app-ng-runtime/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +1 -2
- app-ng-runtime/components/base/widgets/common/container/container.directive.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -4
- app-ng-runtime/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/message/message.component.d.ts +2 -4
- app-ng-runtime/components/base/widgets/common/partial/partial.directive.d.ts +3 -4
- app-ng-runtime/components/base/widgets/common/repeat-template/repeat-template.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/anchor/anchor.component.d.ts +3 -4
- app-ng-runtime/components/basic/default/audio/audio.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/bundles/index.umd.js +247 -290
- app-ng-runtime/components/basic/default/esm2020/anchor/anchor.component.mjs +7 -10
- app-ng-runtime/components/basic/default/esm2020/audio/audio.component.mjs +8 -13
- app-ng-runtime/components/basic/default/esm2020/html/html.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/icon/icon.component.mjs +9 -14
- app-ng-runtime/components/basic/default/esm2020/iframe/iframe.component.mjs +9 -13
- app-ng-runtime/components/basic/default/esm2020/label/label.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/picture/picture.directive.mjs +7 -11
- app-ng-runtime/components/basic/default/esm2020/spinner/spinner.component.mjs +9 -13
- app-ng-runtime/components/basic/default/esm2020/video/video.component.mjs +9 -13
- app-ng-runtime/components/basic/default/fesm2015/index.mjs +46 -89
- app-ng-runtime/components/basic/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/fesm2020/index.mjs +46 -73
- app-ng-runtime/components/basic/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/default/html/html.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/icon/icon.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/iframe/iframe.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/label/label.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/picture/picture.directive.d.ts +2 -4
- app-ng-runtime/components/basic/default/spinner/spinner.component.d.ts +2 -4
- app-ng-runtime/components/basic/default/video/video.component.d.ts +2 -4
- app-ng-runtime/components/basic/progress/bundles/index.umd.js +23 -32
- app-ng-runtime/components/basic/progress/esm2020/progress-bar/progress-bar.component.mjs +8 -12
- app-ng-runtime/components/basic/progress/esm2020/progress-circle/progress-circle.component.mjs +8 -13
- app-ng-runtime/components/basic/progress/fesm2015/index.mjs +12 -21
- app-ng-runtime/components/basic/progress/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/fesm2020/index.mjs +12 -19
- app-ng-runtime/components/basic/progress/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/progress/progress-bar/progress-bar.component.d.ts +2 -4
- app-ng-runtime/components/basic/progress/progress-circle/progress-circle.component.d.ts +2 -4
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +14 -20
- app-ng-runtime/components/basic/rich-text-editor/esm2020/rich-text-editor.component.mjs +9 -13
- app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/basic/rich-text-editor/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs +7 -11
- app-ng-runtime/components/basic/rich-text-editor/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/rich-text-editor/rich-text-editor.component.d.ts +2 -4
- app-ng-runtime/components/basic/search/bundles/index.umd.js +3 -6
- app-ng-runtime/components/basic/search/esm2020/search.component.mjs +6 -9
- app-ng-runtime/components/basic/search/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/basic/search/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/basic/search/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/basic/search/search.component.d.ts +3 -4
- app-ng-runtime/components/chart/bundles/index.umd.js +4 -9
- app-ng-runtime/components/chart/chart.component.d.ts +3 -4
- app-ng-runtime/components/chart/esm2020/chart.component.mjs +7 -10
- app-ng-runtime/components/chart/fesm2015/index.mjs +5 -10
- app-ng-runtime/components/chart/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/chart/fesm2020/index.mjs +5 -8
- app-ng-runtime/components/chart/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -4
- app-ng-runtime/components/containers/accordion/accordion.directive.d.ts +3 -4
- app-ng-runtime/components/containers/accordion/bundles/index.umd.js +56 -66
- app-ng-runtime/components/containers/accordion/esm2020/accordion-pane/accordion-pane.component.mjs +10 -14
- app-ng-runtime/components/containers/accordion/esm2020/accordion.directive.mjs +7 -10
- app-ng-runtime/components/containers/accordion/fesm2015/index.mjs +12 -22
- app-ng-runtime/components/containers/accordion/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/accordion/fesm2020/index.mjs +12 -18
- app-ng-runtime/components/containers/accordion/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/bundles/index.umd.js +12 -25
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-column/layout-grid-column.directive.mjs +7 -10
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid-row/layout-grid-row.directive.mjs +6 -11
- app-ng-runtime/components/containers/layout-grid/esm2020/layout-grid.directive.mjs +6 -11
- app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs +13 -26
- app-ng-runtime/components/containers/layout-grid/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs +13 -22
- app-ng-runtime/components/containers/layout-grid/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/layout-grid/layout-grid-column/layout-grid-column.directive.d.ts +3 -4
- app-ng-runtime/components/containers/layout-grid/layout-grid-row/layout-grid-row.directive.d.ts +2 -4
- app-ng-runtime/components/containers/layout-grid/layout-grid.directive.d.ts +2 -4
- app-ng-runtime/components/containers/linear-layout/bundles/index.umd.js +12 -23
- app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout-item/linear-layout-item.directive.mjs +6 -11
- app-ng-runtime/components/containers/linear-layout/esm2020/linear-layout.directive.mjs +6 -11
- app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs +9 -20
- app-ng-runtime/components/containers/linear-layout/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs +9 -16
- app-ng-runtime/components/containers/linear-layout/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/linear-layout/linear-layout-item/linear-layout-item.directive.d.ts +2 -4
- app-ng-runtime/components/containers/linear-layout/linear-layout.directive.d.ts +2 -4
- app-ng-runtime/components/containers/panel/bundles/index.umd.js +65 -71
- app-ng-runtime/components/containers/panel/esm2020/panel.component.mjs +12 -16
- app-ng-runtime/components/containers/panel/fesm2015/index.mjs +10 -16
- app-ng-runtime/components/containers/panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/fesm2020/index.mjs +10 -14
- app-ng-runtime/components/containers/panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/panel/panel.component.d.ts +2 -4
- app-ng-runtime/components/containers/tabs/bundles/index.umd.js +57 -63
- app-ng-runtime/components/containers/tabs/esm2020/tab-pane/tab-pane.component.mjs +8 -12
- app-ng-runtime/components/containers/tabs/esm2020/tabs.component.mjs +7 -10
- app-ng-runtime/components/containers/tabs/fesm2015/index.mjs +12 -18
- app-ng-runtime/components/containers/tabs/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/fesm2020/index.mjs +12 -18
- app-ng-runtime/components/containers/tabs/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -4
- app-ng-runtime/components/containers/tabs/tabs.component.d.ts +3 -4
- app-ng-runtime/components/containers/tile/bundles/index.umd.js +8 -14
- app-ng-runtime/components/containers/tile/esm2020/tile.directive.mjs +6 -11
- app-ng-runtime/components/containers/tile/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/containers/tile/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/containers/tile/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/tile/tile.directive.d.ts +2 -4
- app-ng-runtime/components/containers/wizard/bundles/index.umd.js +48 -57
- app-ng-runtime/components/containers/wizard/esm2020/wizard-step/wizard-step.directive.mjs +5 -10
- app-ng-runtime/components/containers/wizard/esm2020/wizard.component.mjs +10 -14
- app-ng-runtime/components/containers/wizard/fesm2015/index.mjs +11 -20
- app-ng-runtime/components/containers/wizard/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/fesm2020/index.mjs +11 -18
- app-ng-runtime/components/containers/wizard/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/containers/wizard/wizard-step/wizard-step.directive.d.ts +2 -4
- app-ng-runtime/components/containers/wizard/wizard.component.d.ts +2 -4
- app-ng-runtime/components/data/card/bundles/index.umd.js +83 -106
- app-ng-runtime/components/data/card/card-actions/card-actions.directive.d.ts +2 -4
- app-ng-runtime/components/data/card/card-content/card-content.component.d.ts +2 -4
- app-ng-runtime/components/data/card/card-footer/card-footer.directive.d.ts +2 -4
- app-ng-runtime/components/data/card/card.component.d.ts +2 -4
- app-ng-runtime/components/data/card/esm2020/card-actions/card-actions.directive.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card-content/card-content.component.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card-footer/card-footer.directive.mjs +6 -11
- app-ng-runtime/components/data/card/esm2020/card.component.mjs +12 -18
- app-ng-runtime/components/data/card/fesm2015/index.mjs +23 -46
- app-ng-runtime/components/data/card/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/card/fesm2020/index.mjs +23 -38
- app-ng-runtime/components/data/card/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/bundles/index.umd.js +128 -137
- app-ng-runtime/components/data/form/esm2020/form-action/form-action.directive.mjs +4 -9
- app-ng-runtime/components/data/form/esm2020/form-field/form-field.directive.mjs +5 -8
- app-ng-runtime/components/data/form/esm2020/form.component.mjs +5 -8
- app-ng-runtime/components/data/form/fesm2015/index.mjs +20 -29
- app-ng-runtime/components/data/form/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/fesm2020/index.mjs +20 -29
- app-ng-runtime/components/data/form/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/form/form-action/form-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/form/form-field/form-field.directive.d.ts +3 -4
- app-ng-runtime/components/data/form/form.component.d.ts +3 -4
- app-ng-runtime/components/data/list/bundles/index.umd.js +4 -7
- app-ng-runtime/components/data/list/esm2020/list.component.mjs +7 -10
- app-ng-runtime/components/data/list/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/data/list/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/data/list/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/list/list.component.d.ts +3 -4
- app-ng-runtime/components/data/live-table/bundles/index.umd.js +3 -6
- app-ng-runtime/components/data/live-table/esm2020/live-table.component.mjs +6 -9
- app-ng-runtime/components/data/live-table/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/data/live-table/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/data/live-table/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/live-table/live-table.component.d.ts +3 -4
- app-ng-runtime/components/data/pagination/bundles/index.umd.js +30 -34
- app-ng-runtime/components/data/pagination/esm2020/pagination.component.mjs +10 -14
- app-ng-runtime/components/data/pagination/fesm2015/index.mjs +8 -12
- app-ng-runtime/components/data/pagination/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/data/pagination/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/pagination/pagination.component.d.ts +2 -4
- app-ng-runtime/components/data/table/bundles/index.umd.js +19 -37
- app-ng-runtime/components/data/table/esm2020/table-action/table-action.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-column/table-column.directive.mjs +5 -8
- app-ng-runtime/components/data/table/esm2020/table-column-group/table-column-group.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-row/table-row.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table-row-action/table-row-action.directive.mjs +4 -9
- app-ng-runtime/components/data/table/esm2020/table.component.mjs +6 -9
- app-ng-runtime/components/data/table/fesm2015/index.mjs +19 -37
- app-ng-runtime/components/data/table/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/fesm2020/index.mjs +19 -37
- app-ng-runtime/components/data/table/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/data/table/table-action/table-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-column/table-column.directive.d.ts +3 -4
- app-ng-runtime/components/data/table/table-column-group/table-column-group.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-row/table-row.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table-row-action/table-row-action.directive.d.ts +2 -4
- app-ng-runtime/components/data/table/table.component.d.ts +3 -4
- app-ng-runtime/components/dialogs/alert-dialog/alert-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/alert-dialog/bundles/index.umd.js +40 -46
- app-ng-runtime/components/dialogs/alert-dialog/esm2020/alert-dialog.component.mjs +9 -15
- app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/dialogs/alert-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/dialogs/alert-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/bundles/index.umd.js +16 -22
- app-ng-runtime/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/confirm-dialog/esm2020/confirm-dialog.component.mjs +8 -14
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs +7 -13
- app-ng-runtime/components/dialogs/confirm-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/base-dialog.d.ts +1 -2
- app-ng-runtime/components/dialogs/default/bundles/index.umd.js +25 -31
- app-ng-runtime/components/dialogs/default/dialog-footer/dialog-footer.directive.d.ts +2 -4
- app-ng-runtime/components/dialogs/default/esm2020/base-dialog.mjs +7 -8
- app-ng-runtime/components/dialogs/default/esm2020/dialog-footer/dialog-footer.directive.mjs +6 -11
- app-ng-runtime/components/dialogs/default/fesm2015/index.mjs +11 -17
- app-ng-runtime/components/dialogs/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/default/fesm2020/index.mjs +11 -15
- app-ng-runtime/components/dialogs/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +17 -23
- app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/design-dialog/esm2020/dialog.component.mjs +8 -14
- app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs +7 -13
- app-ng-runtime/components/dialogs/design-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs +7 -13
- app-ng-runtime/components/dialogs/design-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/bundles/index.umd.js +24 -30
- app-ng-runtime/components/dialogs/iframe-dialog/esm2020/iframe-dialog.component.mjs +10 -16
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs +9 -15
- app-ng-runtime/components/dialogs/iframe-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +2 -4
- app-ng-runtime/components/dialogs/partial-dialog/bundles/index.umd.js +3 -8
- app-ng-runtime/components/dialogs/partial-dialog/esm2020/partial-dialog.component.mjs +5 -10
- app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs +4 -9
- app-ng-runtime/components/dialogs/partial-dialog/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs +4 -9
- app-ng-runtime/components/dialogs/partial-dialog/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/dialogs/partial-dialog/partial-dialog.component.d.ts +3 -4
- app-ng-runtime/components/input/calendar/bundles/index.umd.js +5 -10
- app-ng-runtime/components/input/calendar/calendar.component.d.ts +3 -4
- app-ng-runtime/components/input/calendar/esm2020/calendar.component.mjs +8 -11
- app-ng-runtime/components/input/calendar/fesm2015/index.mjs +6 -11
- app-ng-runtime/components/input/calendar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/calendar/fesm2020/index.mjs +6 -9
- app-ng-runtime/components/input/calendar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/bundles/index.umd.js +87 -93
- app-ng-runtime/components/input/chips/chips.component.d.ts +2 -4
- app-ng-runtime/components/input/chips/esm2020/chips.component.mjs +9 -15
- app-ng-runtime/components/input/chips/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/input/chips/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/chips/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/input/chips/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/bundles/index.umd.js +22 -28
- app-ng-runtime/components/input/color-picker/color-picker.component.d.ts +2 -4
- app-ng-runtime/components/input/color-picker/esm2020/color-picker.component.mjs +10 -14
- app-ng-runtime/components/input/color-picker/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/input/color-picker/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/color-picker/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/input/color-picker/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/bundles/index.umd.js +4 -9
- app-ng-runtime/components/input/currency/currency.component.d.ts +3 -4
- app-ng-runtime/components/input/currency/esm2020/currency.component.mjs +7 -10
- app-ng-runtime/components/input/currency/fesm2015/index.mjs +5 -10
- app-ng-runtime/components/input/currency/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/currency/fesm2020/index.mjs +5 -8
- app-ng-runtime/components/input/currency/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/base-form.component.d.ts +1 -2
- app-ng-runtime/components/input/default/bundles/index.umd.js +575 -648
- app-ng-runtime/components/input/default/button/button.component.d.ts +2 -4
- app-ng-runtime/components/input/default/button-group/button-group.directive.d.ts +2 -4
- app-ng-runtime/components/input/default/checkbox/checkbox.component.d.ts +2 -4
- app-ng-runtime/components/input/default/checkboxset/checkboxset.component.d.ts +2 -4
- app-ng-runtime/components/input/default/composite/composite.directive.d.ts +2 -4
- app-ng-runtime/components/input/default/dataset-aware-form.component.d.ts +2 -3
- app-ng-runtime/components/input/default/esm2020/base-form.component.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/button/button.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/button-group/button-group.directive.mjs +6 -11
- app-ng-runtime/components/input/default/esm2020/checkbox/checkbox.component.mjs +9 -13
- app-ng-runtime/components/input/default/esm2020/checkboxset/checkboxset.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/composite/composite.directive.mjs +7 -11
- app-ng-runtime/components/input/default/esm2020/dataset-aware-form.component.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/number/number.component.mjs +7 -10
- app-ng-runtime/components/input/default/esm2020/radioset/radioset.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/select/select.component.mjs +11 -15
- app-ng-runtime/components/input/default/esm2020/switch/switch.component.mjs +10 -14
- app-ng-runtime/components/input/default/esm2020/text/base/base-input.mjs +6 -7
- app-ng-runtime/components/input/default/esm2020/text/calendar/input-calendar.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/color/input-color.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/email/input-email.component.mjs +8 -13
- app-ng-runtime/components/input/default/esm2020/text/locale/number-locale.mjs +3 -3
- app-ng-runtime/components/input/default/esm2020/text/number/input-number.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/text/text/input-text.component.mjs +9 -14
- app-ng-runtime/components/input/default/esm2020/textarea/textarea.component.mjs +9 -14
- app-ng-runtime/components/input/default/fesm2015/index.mjs +94 -167
- app-ng-runtime/components/input/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/fesm2020/index.mjs +94 -139
- app-ng-runtime/components/input/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/default/number/number.component.d.ts +3 -4
- app-ng-runtime/components/input/default/radioset/radioset.component.d.ts +2 -4
- app-ng-runtime/components/input/default/select/select.component.d.ts +2 -4
- app-ng-runtime/components/input/default/switch/switch.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/base/base-input.d.ts +1 -2
- app-ng-runtime/components/input/default/text/calendar/input-calendar.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/color/input-color.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/email/input-email.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/locale/number-locale.d.ts +2 -2
- app-ng-runtime/components/input/default/text/number/input-number.component.d.ts +2 -4
- app-ng-runtime/components/input/default/text/text/input-text.component.d.ts +2 -4
- app-ng-runtime/components/input/default/textarea/textarea.component.d.ts +2 -4
- app-ng-runtime/components/input/epoch/base-date-time.component.d.ts +1 -2
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +12 -21
- app-ng-runtime/components/input/epoch/date/date.component.d.ts +3 -4
- app-ng-runtime/components/input/epoch/date-time/date-time.component.d.ts +3 -4
- app-ng-runtime/components/input/epoch/esm2020/base-date-time.component.mjs +5 -6
- app-ng-runtime/components/input/epoch/esm2020/date/date.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/esm2020/date-time/date-time.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/esm2020/time/time.component.mjs +6 -9
- app-ng-runtime/components/input/epoch/fesm2015/index.mjs +13 -22
- app-ng-runtime/components/input/epoch/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/fesm2020/index.mjs +13 -22
- app-ng-runtime/components/input/epoch/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/time/time.component.d.ts +3 -4
- app-ng-runtime/components/input/file-upload/bundles/index.umd.js +3 -6
- app-ng-runtime/components/input/file-upload/esm2020/file-upload.component.mjs +6 -9
- app-ng-runtime/components/input/file-upload/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/input/file-upload/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/input/file-upload/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/file-upload/file-upload.component.d.ts +3 -4
- app-ng-runtime/components/input/rating/bundles/index.umd.js +45 -51
- app-ng-runtime/components/input/rating/esm2020/rating.component.mjs +11 -15
- app-ng-runtime/components/input/rating/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/input/rating/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/fesm2020/index.mjs +9 -13
- app-ng-runtime/components/input/rating/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/rating/rating.component.d.ts +2 -4
- app-ng-runtime/components/input/slider/bundles/index.umd.js +37 -43
- app-ng-runtime/components/input/slider/esm2020/slider.component.mjs +10 -15
- app-ng-runtime/components/input/slider/fesm2015/index.mjs +9 -15
- app-ng-runtime/components/input/slider/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/fesm2020/index.mjs +9 -13
- app-ng-runtime/components/input/slider/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/input/slider/slider.component.d.ts +2 -4
- app-ng-runtime/components/navigation/menu/bundles/index.umd.js +13 -25
- app-ng-runtime/components/navigation/menu/esm2020/menu-adapator.component.mjs +4 -6
- app-ng-runtime/components/navigation/menu/esm2020/menu.component.mjs +4 -7
- app-ng-runtime/components/navigation/menu/esm2020/nav/nav-item/nav-item.directive.mjs +7 -11
- app-ng-runtime/components/navigation/menu/esm2020/nav/nav.component.mjs +5 -9
- app-ng-runtime/components/navigation/menu/fesm2015/index.mjs +14 -26
- app-ng-runtime/components/navigation/menu/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/fesm2020/index.mjs +14 -24
- app-ng-runtime/components/navigation/menu/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/menu/menu-adapator.component.d.ts +1 -2
- app-ng-runtime/components/navigation/menu/menu.component.d.ts +2 -3
- app-ng-runtime/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +2 -4
- app-ng-runtime/components/navigation/menu/nav/nav.component.d.ts +3 -3
- app-ng-runtime/components/navigation/navbar/bundles/index.umd.js +28 -34
- app-ng-runtime/components/navigation/navbar/esm2020/navbar.component.mjs +9 -14
- app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs +8 -14
- app-ng-runtime/components/navigation/navbar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs +8 -12
- app-ng-runtime/components/navigation/navbar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/navigation/navbar/navbar.component.d.ts +2 -4
- app-ng-runtime/components/page/default/bundles/index.umd.js +32 -64
- app-ng-runtime/components/page/default/content/content.component.d.ts +2 -4
- app-ng-runtime/components/page/default/esm2020/content/content.component.mjs +6 -11
- app-ng-runtime/components/page/default/esm2020/layout.directive.mjs +7 -11
- app-ng-runtime/components/page/default/esm2020/page-content/page-content.component.mjs +7 -10
- app-ng-runtime/components/page/default/esm2020/page.directive.mjs +7 -12
- app-ng-runtime/components/page/default/esm2020/router-outlet.directive.mjs +7 -11
- app-ng-runtime/components/page/default/esm2020/spa-page.directive.mjs +7 -10
- app-ng-runtime/components/page/default/fesm2015/index.mjs +26 -58
- app-ng-runtime/components/page/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/fesm2020/index.mjs +26 -46
- app-ng-runtime/components/page/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/default/layout.directive.d.ts +2 -4
- app-ng-runtime/components/page/default/page-content/page-content.component.d.ts +3 -4
- app-ng-runtime/components/page/default/page.directive.d.ts +3 -4
- app-ng-runtime/components/page/default/router-outlet.directive.d.ts +2 -4
- app-ng-runtime/components/page/default/spa-page.directive.d.ts +3 -4
- app-ng-runtime/components/page/footer/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/footer/esm2020/footer.directive.mjs +6 -11
- app-ng-runtime/components/page/footer/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/footer/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/footer/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/footer/footer.directive.d.ts +2 -4
- app-ng-runtime/components/page/header/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/header/esm2020/header.component.mjs +6 -11
- app-ng-runtime/components/page/header/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/header/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/header/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/header/header.component.d.ts +2 -4
- app-ng-runtime/components/page/left-panel/bundles/index.umd.js +4 -7
- app-ng-runtime/components/page/left-panel/esm2020/left-panel.directive.mjs +6 -9
- app-ng-runtime/components/page/left-panel/fesm2015/index.mjs +4 -7
- app-ng-runtime/components/page/left-panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/fesm2020/index.mjs +4 -7
- app-ng-runtime/components/page/left-panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/left-panel/left-panel.directive.d.ts +3 -4
- app-ng-runtime/components/page/right-panel/bundles/index.umd.js +6 -12
- app-ng-runtime/components/page/right-panel/esm2020/right-panel.directive.mjs +7 -11
- app-ng-runtime/components/page/right-panel/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/right-panel/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/right-panel/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/right-panel/right-panel.directive.d.ts +2 -4
- app-ng-runtime/components/page/top-nav/bundles/index.umd.js +8 -14
- app-ng-runtime/components/page/top-nav/esm2020/top-nav.directive.mjs +6 -11
- app-ng-runtime/components/page/top-nav/fesm2015/index.mjs +5 -11
- app-ng-runtime/components/page/top-nav/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/fesm2020/index.mjs +5 -9
- app-ng-runtime/components/page/top-nav/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/page/top-nav/top-nav.directive.d.ts +2 -4
- app-ng-runtime/components/prefab/bundles/index.umd.js +7 -15
- app-ng-runtime/components/prefab/esm2020/prefab-container/prefab-container.directive.mjs +7 -10
- app-ng-runtime/components/prefab/esm2020/prefab.directive.mjs +6 -10
- app-ng-runtime/components/prefab/fesm2015/index.mjs +8 -16
- app-ng-runtime/components/prefab/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/fesm2020/index.mjs +8 -14
- app-ng-runtime/components/prefab/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/components/prefab/prefab-container/prefab-container.directive.d.ts +3 -4
- app-ng-runtime/components/prefab/prefab.directive.d.ts +2 -4
- app-ng-runtime/mobile/components/basic/default/bundles/index.umd.js +32 -37
- app-ng-runtime/mobile/components/basic/default/esm2020/network-info-toaster/network-info-toaster.component.mjs +7 -10
- app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs +10 -15
- app-ng-runtime/mobile/components/basic/default/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs +10 -13
- app-ng-runtime/mobile/components/basic/default/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/basic/default/network-info-toaster/network-info-toaster.component.d.ts +3 -4
- app-ng-runtime/mobile/components/containers/segmented-control/bundles/index.umd.js +18 -29
- app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segment-content/segment-content.component.mjs +8 -13
- app-ng-runtime/mobile/components/containers/segmented-control/esm2020/segmented-control.component.mjs +9 -13
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs +12 -23
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs +12 -19
- app-ng-runtime/mobile/components/containers/segmented-control/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/containers/segmented-control/segment-content/segment-content.component.d.ts +2 -4
- app-ng-runtime/mobile/components/containers/segmented-control/segmented-control.component.d.ts +2 -4
- app-ng-runtime/mobile/components/data/media-list/bundles/index.umd.js +30 -36
- app-ng-runtime/mobile/components/data/media-list/esm2020/media-list.component.mjs +14 -18
- app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs +11 -17
- app-ng-runtime/mobile/components/data/media-list/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs +11 -15
- app-ng-runtime/mobile/components/data/media-list/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/data/media-list/media-list.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/barcode-scanner/barcode-scanner.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/barcode-scanner/bundles/index.umd.js +28 -34
- app-ng-runtime/mobile/components/device/barcode-scanner/esm2020/barcode-scanner.component.mjs +10 -14
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs +8 -14
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs +8 -12
- app-ng-runtime/mobile/components/device/barcode-scanner/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/bundles/index.umd.js +12 -18
- app-ng-runtime/mobile/components/device/camera/camera.component.d.ts +2 -4
- app-ng-runtime/mobile/components/device/camera/esm2020/camera.component.mjs +9 -13
- app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs +7 -13
- app-ng-runtime/mobile/components/device/camera/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs +7 -11
- app-ng-runtime/mobile/components/device/camera/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/bundles/index.umd.js +3 -6
- app-ng-runtime/mobile/components/page/mobile-navbar/esm2020/mobile-navbar.component.mjs +6 -9
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs +4 -7
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs +4 -7
- app-ng-runtime/mobile/components/page/mobile-navbar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/mobile-navbar/mobile-navbar.component.d.ts +3 -4
- app-ng-runtime/mobile/components/page/tab-bar/bundles/index.umd.js +32 -36
- app-ng-runtime/mobile/components/page/tab-bar/esm2020/tabbar.component.mjs +8 -13
- app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs +7 -11
- app-ng-runtime/mobile/components/page/tab-bar/fesm2015/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs +7 -11
- app-ng-runtime/mobile/components/page/tab-bar/fesm2020/index.mjs.map +1 -1
- app-ng-runtime/mobile/components/page/tab-bar/tabbar.component.d.ts +2 -4
- app-ng-runtime/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('@wm/components/base'), require('@wm/core'), require('@wm/components/input')) :
|
|
3
3
|
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', '@angular/forms', '@wm/components/base', '@wm/core', '@wm/components/input'], factory) :
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.input = global.wm.components.input || {}, global.wm.components.input.rating = {}), global.ng.core, global.ng.common, global.ng.forms, global.wm.components.base, global.wm.core, global.wm.components.input));
|
|
5
|
-
})(this, (function (exports, i0, i2, i3,
|
|
5
|
+
})(this, (function (exports, i0, i1, i2, i3, core, input) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespaceDefault(e) {
|
|
8
8
|
var n = Object.create(null);
|
|
@@ -22,34 +22,33 @@
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
var i0__namespace = /*#__PURE__*/_interopNamespaceDefault(i0);
|
|
25
|
+
var i1__namespace = /*#__PURE__*/_interopNamespaceDefault(i1);
|
|
25
26
|
var i2__namespace = /*#__PURE__*/_interopNamespaceDefault(i2);
|
|
26
27
|
var i3__namespace = /*#__PURE__*/_interopNamespaceDefault(i3);
|
|
27
|
-
var i4__namespace = /*#__PURE__*/_interopNamespaceDefault(i4);
|
|
28
|
-
var i1__namespace = /*#__PURE__*/_interopNamespaceDefault(i1);
|
|
29
28
|
|
|
30
29
|
const ratingProps = new Map([
|
|
31
|
-
['caption',
|
|
32
|
-
['class',
|
|
33
|
-
['datafield',
|
|
34
|
-
['dataset',
|
|
35
|
-
['datavaluesource',
|
|
36
|
-
['datavalue',
|
|
37
|
-
['displayexpression',
|
|
38
|
-
['displayfield',
|
|
39
|
-
['iconcolor',
|
|
40
|
-
['iconsize',
|
|
41
|
-
['maxvalue', Object.assign({ value: 5 },
|
|
42
|
-
['name',
|
|
43
|
-
['orderby',
|
|
44
|
-
['readonly',
|
|
45
|
-
['show', Object.assign({ value: true },
|
|
46
|
-
['showcaptions', Object.assign({ value: true },
|
|
47
|
-
['tabindex', Object.assign({ value: 0 },
|
|
48
|
-
['usekeys',
|
|
30
|
+
['caption', i3.PROP_STRING],
|
|
31
|
+
['class', i3.PROP_STRING],
|
|
32
|
+
['datafield', i3.PROP_STRING],
|
|
33
|
+
['dataset', i3.PROP_ANY],
|
|
34
|
+
['datavaluesource', i3.PROP_ANY],
|
|
35
|
+
['datavalue', i3.PROP_STRING],
|
|
36
|
+
['displayexpression', i3.PROP_STRING],
|
|
37
|
+
['displayfield', i3.PROP_STRING],
|
|
38
|
+
['iconcolor', i3.PROP_STRING],
|
|
39
|
+
['iconsize', i3.PROP_STRING],
|
|
40
|
+
['maxvalue', Object.assign({ value: 5 }, i3.PROP_NUMBER)],
|
|
41
|
+
['name', i3.PROP_STRING],
|
|
42
|
+
['orderby', i3.PROP_STRING],
|
|
43
|
+
['readonly', i3.PROP_BOOLEAN],
|
|
44
|
+
['show', Object.assign({ value: true }, i3.PROP_BOOLEAN)],
|
|
45
|
+
['showcaptions', Object.assign({ value: true }, i3.PROP_BOOLEAN)],
|
|
46
|
+
['tabindex', Object.assign({ value: 0 }, i3.PROP_NUMBER)],
|
|
47
|
+
['usekeys', i3.PROP_BOOLEAN]
|
|
49
48
|
]);
|
|
50
49
|
const registerProps = () => {
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
i3.register('wm-rating', ratingProps);
|
|
51
|
+
i3.registerFormWidget(core.FormWidgetType.RATING, new Map(ratingProps));
|
|
53
52
|
};
|
|
54
53
|
|
|
55
54
|
const _c0 = ["ratingInput"];
|
|
@@ -109,11 +108,10 @@
|
|
|
109
108
|
this._selectedRatingValue = val;
|
|
110
109
|
this.calculateRatingsWidth();
|
|
111
110
|
}
|
|
112
|
-
constructor(inj
|
|
113
|
-
super(inj, WIDGET_CONFIG
|
|
114
|
-
this.
|
|
115
|
-
this.
|
|
116
|
-
i4.styler(this.nativeElement, this);
|
|
111
|
+
constructor(inj) {
|
|
112
|
+
super(inj, WIDGET_CONFIG);
|
|
113
|
+
this._id = core.generateGUId();
|
|
114
|
+
i3.styler(this.nativeElement, this);
|
|
117
115
|
// prepare the rating options on dataset ready.
|
|
118
116
|
const datasetSubscription = this.dataset$.subscribe(() => {
|
|
119
117
|
this.prepareRatingDataset();
|
|
@@ -156,7 +154,7 @@
|
|
|
156
154
|
ratingItems.push({ key: i, value: i, index: i, label: i });
|
|
157
155
|
}
|
|
158
156
|
else {
|
|
159
|
-
data =
|
|
157
|
+
data = i3.getOrderedDataset(data, 'index:desc');
|
|
160
158
|
ratingItems = ratingItems.concat(data);
|
|
161
159
|
break;
|
|
162
160
|
}
|
|
@@ -221,7 +219,7 @@
|
|
|
221
219
|
}
|
|
222
220
|
calculateRatingsWidth(dataVal) {
|
|
223
221
|
const selectedRating = parseFloat(this.selectedRatingValue), starWidth = 0.925, maxValue = parseInt(this.maxvalue || this.datasetItems.length, 10) || DEFAULT_RATING;
|
|
224
|
-
|
|
222
|
+
core.setCSS(this.nativeElement.querySelector('.ratings-container'), 'width', (starWidth * maxValue) + 'em');
|
|
225
223
|
dataVal = dataVal || this.datavalue;
|
|
226
224
|
if (dataVal === undefined || dataVal === '' || dataVal === null) {
|
|
227
225
|
this.caption = '';
|
|
@@ -261,7 +259,7 @@
|
|
|
261
259
|
/* Detect touch enabled devices & update hover styles*/
|
|
262
260
|
onTouchStart($event) {
|
|
263
261
|
this.touchEnabled = true;
|
|
264
|
-
this.onTouchStart =
|
|
262
|
+
this.onTouchStart = core.noop;
|
|
265
263
|
}
|
|
266
264
|
onMouseleave() {
|
|
267
265
|
this.caption = this.displayValue;
|
|
@@ -272,7 +270,7 @@
|
|
|
272
270
|
}
|
|
273
271
|
}
|
|
274
272
|
RatingComponent.initializeProps = registerProps();
|
|
275
|
-
RatingComponent.ɵfac = function RatingComponent_Factory(t) { return new (t || RatingComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector)
|
|
273
|
+
RatingComponent.ɵfac = function RatingComponent_Factory(t) { return new (t || RatingComponent)(i0__namespace.ɵɵdirectiveInject(i0__namespace.Injector)); };
|
|
276
274
|
RatingComponent.ɵcmp = /*@__PURE__*/ i0__namespace.ɵɵdefineComponent({ type: RatingComponent, selectors: [["", "wmRating", ""]], viewQuery: function RatingComponent_Query(rf, ctx) {
|
|
277
275
|
if (rf & 1) {
|
|
278
276
|
i0__namespace.ɵɵviewQuery(_c0, 5, i0.ElementRef);
|
|
@@ -282,8 +280,8 @@
|
|
|
282
280
|
i0__namespace.ɵɵqueryRefresh(_t = i0__namespace.ɵɵloadQuery()) && (ctx.ratingEl = _t.first);
|
|
283
281
|
}
|
|
284
282
|
}, features: [i0__namespace.ɵɵProvidersFeature([
|
|
285
|
-
|
|
286
|
-
|
|
283
|
+
i3.provideAs(RatingComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
284
|
+
i3.provideAsWidgetRef(RatingComponent)
|
|
287
285
|
]), i0__namespace.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 5, vars: 12, consts: [["ngDefaultControl", "", "aria-multiselectable", "true", 1, "ratings-wrapper", 3, "ngModel", "ngModelChange", "focus"], ["class", "rating-style", 4, "ngIf"], [1, "ratings-container", "disabled", 3, "ngStyle"], [1, "ratings", "active", 3, "ngStyle"], ["class", "caption", 3, "textContent", 4, "ngIf"], [1, "rating-style"], [3, "ngClass", "ngStyle", "title", "for", "touchstart", "mouseleave", "mouseover", 4, "ngFor", "ngForOf"], [3, "ngClass", "ngStyle", "title", "for", "touchstart", "mouseleave", "mouseover"], ["type", "radio", "role", "radio", "name", "ratings-id", 3, "id", "value", "click"], ["ratingInput", ""], [1, "caption", 3, "textContent"]], template: function RatingComponent_Template(rf, ctx) {
|
|
288
286
|
if (rf & 1) {
|
|
289
287
|
i0__namespace.ɵɵelementStart(0, "div", 0);
|
|
@@ -307,19 +305,15 @@
|
|
|
307
305
|
i0__namespace.ɵɵadvance(1);
|
|
308
306
|
i0__namespace.ɵɵproperty("ngIf", ctx.showcaptions);
|
|
309
307
|
}
|
|
310
|
-
}, dependencies: [
|
|
308
|
+
}, dependencies: [i1__namespace.NgClass, i1__namespace.NgForOf, i1__namespace.NgIf, i1__namespace.NgStyle, i2__namespace.DefaultValueAccessor, i2__namespace.NgControlStatus, i2__namespace.NgModel, i3__namespace.TextContentDirective], encapsulation: 2 });
|
|
311
309
|
(function () {
|
|
312
310
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RatingComponent, [{
|
|
313
311
|
type: i0.Component,
|
|
314
312
|
args: [{ selector: '[wmRating]', providers: [
|
|
315
|
-
|
|
316
|
-
|
|
313
|
+
i3.provideAs(RatingComponent, i2.NG_VALUE_ACCESSOR, true),
|
|
314
|
+
i3.provideAsWidgetRef(RatingComponent)
|
|
317
315
|
], template: "<div [(ngModel)]=\"modelByKey\" (focus)=\"onFocus($event)\" ngDefaultControl class=\"ratings-wrapper\" aria-multiselectable=\"true\">\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n" }]
|
|
318
|
-
}], function () {
|
|
319
|
-
return [{ type: i0__namespace.Injector }, { type: i1__namespace.UserDefinedExecutionContext, decorators: [{
|
|
320
|
-
type: i0.Optional
|
|
321
|
-
}] }];
|
|
322
|
-
}, { ratingEl: [{
|
|
316
|
+
}], function () { return [{ type: i0__namespace.Injector }]; }, { ratingEl: [{
|
|
323
317
|
type: i0.ViewChild,
|
|
324
318
|
args: ['ratingInput', /* TODO: add static flag */ { read: i0.ElementRef }]
|
|
325
319
|
}] });
|
|
@@ -332,17 +326,17 @@
|
|
|
332
326
|
}
|
|
333
327
|
RatingModule.ɵfac = function RatingModule_Factory(t) { return new (t || RatingModule)(); };
|
|
334
328
|
RatingModule.ɵmod = /*@__PURE__*/ i0__namespace.ɵɵdefineNgModule({ type: RatingModule });
|
|
335
|
-
RatingModule.ɵinj = /*@__PURE__*/ i0__namespace.ɵɵdefineInjector({ imports: [
|
|
336
|
-
|
|
337
|
-
|
|
329
|
+
RatingModule.ɵinj = /*@__PURE__*/ i0__namespace.ɵɵdefineInjector({ imports: [i1.CommonModule,
|
|
330
|
+
i2.FormsModule,
|
|
331
|
+
i3.WmComponentsModule] });
|
|
338
332
|
(function () {
|
|
339
333
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RatingModule, [{
|
|
340
334
|
type: i0.NgModule,
|
|
341
335
|
args: [{
|
|
342
336
|
imports: [
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
337
|
+
i1.CommonModule,
|
|
338
|
+
i2.FormsModule,
|
|
339
|
+
i3.WmComponentsModule
|
|
346
340
|
],
|
|
347
341
|
declarations: [...components],
|
|
348
342
|
exports: [...components]
|
|
@@ -350,9 +344,9 @@
|
|
|
350
344
|
}], null, null);
|
|
351
345
|
})();
|
|
352
346
|
(function () {
|
|
353
|
-
(typeof ngJitMode === "undefined" || ngJitMode) && i0__namespace.ɵɵsetNgModuleScope(RatingModule, { declarations: [RatingComponent], imports: [
|
|
354
|
-
|
|
355
|
-
|
|
347
|
+
(typeof ngJitMode === "undefined" || ngJitMode) && i0__namespace.ɵɵsetNgModuleScope(RatingModule, { declarations: [RatingComponent], imports: [i1.CommonModule,
|
|
348
|
+
i2.FormsModule,
|
|
349
|
+
i3.WmComponentsModule], exports: [RatingComponent] });
|
|
356
350
|
})();
|
|
357
351
|
|
|
358
352
|
exports.RatingComponent = RatingComponent;
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { Component, ElementRef, Injector,
|
|
1
|
+
import { Component, ElementRef, Injector, ViewChild } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { generateGUId, setCSS, noop
|
|
3
|
+
import { generateGUId, setCSS, noop } from '@wm/core';
|
|
4
4
|
import { getOrderedDataset, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';
|
|
5
5
|
import { DatasetAwareFormComponent } from '@wm/components/input';
|
|
6
6
|
import { registerProps } from './rating.props';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@
|
|
9
|
-
import * as i2 from "@angular/
|
|
10
|
-
import * as i3 from "@
|
|
11
|
-
import * as i4 from "@wm/components/base";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "@wm/components/base";
|
|
12
11
|
const _c0 = ["ratingInput"];
|
|
13
12
|
const _c1 = ["wmRating", ""];
|
|
14
13
|
const _c2 = function (a0) { return { active: a0 }; };
|
|
@@ -57,9 +56,8 @@ export class RatingComponent extends DatasetAwareFormComponent {
|
|
|
57
56
|
this._selectedRatingValue = val;
|
|
58
57
|
this.calculateRatingsWidth();
|
|
59
58
|
}
|
|
60
|
-
constructor(inj
|
|
61
|
-
super(inj, WIDGET_CONFIG
|
|
62
|
-
this._viewParent = _viewParent;
|
|
59
|
+
constructor(inj) {
|
|
60
|
+
super(inj, WIDGET_CONFIG);
|
|
63
61
|
this._id = generateGUId();
|
|
64
62
|
styler(this.nativeElement, this);
|
|
65
63
|
// prepare the rating options on dataset ready.
|
|
@@ -220,7 +218,7 @@ export class RatingComponent extends DatasetAwareFormComponent {
|
|
|
220
218
|
}
|
|
221
219
|
}
|
|
222
220
|
RatingComponent.initializeProps = registerProps();
|
|
223
|
-
RatingComponent.ɵfac = function RatingComponent_Factory(t) { return new (t || RatingComponent)(i0.ɵɵdirectiveInject(i0.Injector)
|
|
221
|
+
RatingComponent.ɵfac = function RatingComponent_Factory(t) { return new (t || RatingComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
|
|
224
222
|
RatingComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RatingComponent, selectors: [["", "wmRating", ""]], viewQuery: function RatingComponent_Query(rf, ctx) { if (rf & 1) {
|
|
225
223
|
i0.ɵɵviewQuery(_c0, 5, ElementRef);
|
|
226
224
|
} if (rf & 2) {
|
|
@@ -249,17 +247,15 @@ RatingComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RatingCompo
|
|
|
249
247
|
i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction2(9, _c5, ctx.ratingsWidth, ctx.iconcolor));
|
|
250
248
|
i0.ɵɵadvance(1);
|
|
251
249
|
i0.ɵɵproperty("ngIf", ctx.showcaptions);
|
|
252
|
-
} }, dependencies: [
|
|
250
|
+
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.TextContentDirective], encapsulation: 2 });
|
|
253
251
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RatingComponent, [{
|
|
254
252
|
type: Component,
|
|
255
253
|
args: [{ selector: '[wmRating]', providers: [
|
|
256
254
|
provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),
|
|
257
255
|
provideAsWidgetRef(RatingComponent)
|
|
258
256
|
], template: "<div [(ngModel)]=\"modelByKey\" (focus)=\"onFocus($event)\" ngDefaultControl class=\"ratings-wrapper\" aria-multiselectable=\"true\">\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n" }]
|
|
259
|
-
}], function () { return [{ type: i0.Injector }, {
|
|
260
|
-
type: Optional
|
|
261
|
-
}] }]; }, { ratingEl: [{
|
|
257
|
+
}], function () { return [{ type: i0.Injector }]; }, { ratingEl: [{
|
|
262
258
|
type: ViewChild,
|
|
263
259
|
args: ['ratingInput', /* TODO: add static flag */ { read: ElementRef }]
|
|
264
260
|
}] }); })();
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9yYXRpbmcvc3JjL3JhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvcmF0aW5nL3NyYy9yYXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7SUNMdkMsZ0NBT3NDO0lBSC9CLG9MQUFjLGVBQUEsMkJBQW9CLENBQUEsSUFBQyxrT0FDckIsZUFBQSxvQ0FBMEIsQ0FBQSxJQURMLGdPQUV0QixlQUFBLG1DQUF5QixDQUFBLElBRkg7SUFJdEMsbUNBQytIO0lBQTFGLHFPQUFTLGVBQUEscUNBQTJCLENBQUEsSUFBQztJQUQxRSxpQkFDK0gsRUFBQTs7OztJQVI1SCxpR0FBd0QsMEhBQUEseUNBQUEseUNBQUE7SUFRcEQsZUFBNkI7SUFBN0IscURBQTZCLHVDQUFBO0lBRFUsb0hBQTZGLHVFQUFBOzs7SUFUbkosOEJBQTRD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QUksRUFBRSxVQUFVLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIE9wdGlvbmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7Z2VuZXJhdGVHVUlkLCBzZXRDU1MsIG5vb3AsIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgZ2V0T3JkZXJlZERhdGFzZXQsIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dCc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL3JhdGluZy5wcm9wcyc7XG5cbmRlY2xhcmUgY29uc3QgXztcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLXJhdGluZ3MnO1xuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tcmF0aW5nJywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbmNvbnN0IE1BWF9SQVRJTkcgPSAxMDtcbmNvbnN0IERFRkFVTFRfUkFUSU5HID0gNTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21SYXRpbmddJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKFJhdGluZ0NvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoUmF0aW5nQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmF0aW5nQ29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIHNob3djYXB0aW9uczogYm9vbGVhbjtcbiAgICBwdWJsaWMgbWF4dmFsdWU7XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZFJhdGluZ1ZhbHVlO1xuICAgIHB1YmxpYyByYXRpbmdzV2lkdGg7XG4gICAgcHJpdmF0ZSByYXRpbmdJdGVtcztcbiAgICBwcml2YXRlIF9pZDtcblxuICAgIHB1YmxpYyBpY29uc2l6ZTogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY29sb3I6IHN0cmluZztcbiAgICBwdWJsaWMgb25Gb2N1czogYW55O1xuICAgIHByaXZhdGUgdG91Y2hFbmFibGVkOmJvb2xlYW47XG4gICAgQFZpZXdDaGlsZCgncmF0aW5nSW5wdXQnLCAvKiBUT0RPOiBhZGQgc3RhdGljIGZsYWcgKi8geyByZWFkOiBFbGVtZW50UmVmIH0pIHJhdGluZ0VsOiBFbGVtZW50UmVmO1xuXG4gICAgZ2V0IHNlbGVjdGVkUmF0aW5nVmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFJhdGluZ1ZhbHVlO1xuICAgIH1cblxuICAgIHNldCBzZWxlY3RlZFJhdGluZ1ZhbHVlKHZhbCkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFJhdGluZ1ZhbHVlID0gdmFsO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVJhdGluZ3NXaWR0aCgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBPcHRpb25hbCgpIHB1YmxpYyBfdmlld1BhcmVudDogVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgX3ZpZXdQYXJlbnQpO1xuICAgICAgICB0aGlzLl9pZCA9IGdlbmVyYXRlR1VJZCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcblxuICAgICAgICAvLyBwcmVwYXJlIHRoZSByYXRpbmcgb3B0aW9ucyBvbiBkYXRhc2V0IHJlYWR5LlxuICAgICAgICBjb25zdCBkYXRhc2V0U3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhc2V0JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5wcmVwYXJlUmF0aW5nRGF0YXNldCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBkYXRhc2V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuXG4gICAgICAgIC8vIGxpc3RlbiB0byBjaGFuZ2VzIGluIGRhdGF2YWx1ZS5cbiAgICAgICAgY29uc3QgZGF0YXZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhdmFsdWUkLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRGF0YXZhbHVlQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXZhbHVlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIH1cblxuICAgIC8vIENoYW5nZSBldmVudCBpcyByZWdpc3RlcmVkIGZyb20gdGhlIHRlbXBsYXRlLCBQcmV2ZW50IHRoZSBmcmFtZXdvcmsgZnJvbSByZWdpc3RlcmluZyBvbmUgbW9yZSBldmVudFxuICAgIHByb3RlY3RlZCBoYW5kbGVFdmVudChub2RlOiBIVE1MRWxlbWVudCwgZXZlbnROYW1lOiBzdHJpbmcsIGV2ZW50Q2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoZXZlbnROYW1lICE9PSAnY2hhbmdlJyAmJiBldmVudE5hbWUgIT09ICdibHVyJykge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQodGhpcy5yYXRpbmdFbC5uYXRpdmVFbGVtZW50LCBldmVudE5hbWUsIGV2ZW50Q2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJhdGluZyB3aWRnZXQgZGF0YXNldCBjb250YWluaW5nIHRoZSBpbmRleCwgdmFsdWUgYW5kIGxhYmVsXG4gICAgcHJpdmF0ZSBwcmVwYXJlUmF0aW5nRGF0YXNldCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucmF0aW5nSXRlbXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJhdGluZ0l0ZW1zID0gW107XG4gICAgICAgIGxldCBkYXRhID0gdGhpcy5kYXRhc2V0SXRlbXM7XG4gICAgICAgIGNvbnN0IG1heHZhbHVlID0gcGFyc2VJbnQodGhpcy5tYXh2YWx1ZSB8fCB0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgsIDEwKTtcbiAgICAgICAgY29uc3QgbWF4VmFsdWUgPSAobWF4dmFsdWUgPiBNQVhfUkFUSU5HID8gTUFYX1JBVElORyA6IG1heHZhbHVlKSB8fCBERUZBVUxUX1JBVElORztcblxuICAgICAgICAvKipcbiAgICAgICAgICogMS4gSWYgZGF0YXNldEl0ZW1zLmxlbmd0aCBpcyBtb3JlIHRoYW4gbWF4VmFsdWUgKGkuZS4gMTAgcmF0aW5ncykgdGhlbiBqdXN0IGV4dHJhY3QgbWF4VmFsdWUgb2YgaXRlbXMgZnJvbSBkYXRhc2V0SXRlbXMuXG4gICAgICAgICAqIDIuIElmIGRhdGFzZXRJdGVtcyBhcmUgbm90IGF2YWlsYWJsZSB0aGVuIHByZXBhcmUgcmF0aW5ncyB2YWx1ZSBkZXBlbmRpbmcgb24gbWF4dmFsdWUuIGVnOiAxLDIsMyAuLiB1cHRvIG1heHZhbHVlXG4gICAgICAgICAqIDMuIElmIG1heHZhbHVlIC8gaSB2YWx1ZSBpcyBtb3JlIHRoYW4gZGF0YXNldEl0ZW1zIGxlbmd0aCwgcHJlcGFyZSBkZWZhdWx0IHJhdGluZyBpdGVtcyBmb3IgaSB2YWx1ZXMgbW9yZSB0aGFuIGRhdGFzZXRJdGVtcy5sZW5ndGhcbiAgICAgICAgICovXG4gICAgICAgIGlmIChkYXRhLmxlbmd0aCAmJiBkYXRhLmxlbmd0aCA+IG1heFZhbHVlKSB7XG4gICAgICAgICAgICBkYXRhID0gXy5zbGljZShkYXRhLCAwLCBtYXhWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGxldCBpID0gbWF4VmFsdWU7IGkgPiAwOyBpLS0pIHtcbiAgICAgICAgICAgIGlmICghZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICByYXRpbmdJdGVtcy5wdXNoKHtrZXk6IGksIHZhbHVlOiBpLCBpbmRleDogaSwgbGFiZWw6IGl9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPiBkYXRhLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByYXRpbmdJdGVtcy5wdXNoKHtrZXk6IGksIHZhbHVlOiBpLCBpbmRleDogaSwgbGFiZWw6IGl9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkYXRhID0gZ2V0T3JkZXJlZERhdGFzZXQoZGF0YSwgJ2luZGV4OmRlc2MnKTtcbiAgICAgICAgICAgICAgICAgICAgcmF0aW5nSXRlbXMgPSByYXRpbmdJdGVtcy5jb25jYXQoZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmF0aW5nSXRlbXMgPSByYXRpbmdJdGVtcztcbiAgICAgICAgaWYgKCFkYXRhLmxlbmd0aCkgeyAvLyBjb25zdHJ1Y3RzIGRlZmF1bHQgZGF0YXNldEl0ZW1zIHdoZW4gdGhlcmUgaXMgbm8gZGF0YXNldCBiaW5kaW5nLlxuICAgICAgICAgICAgdGhpcy5kYXRhc2V0SXRlbXMgPSByYXRpbmdJdGVtcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uRGF0YXZhbHVlQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKTtcbiAgICB9XG5cbiAgICBvblJhdGluZ0NsaWNrKCRldmVudCwgcmF0ZSkge1xuICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSByYXRlLmtleTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJhdGluZ1ZhbHVlID0gcmF0ZS5pbmRleDtcblxuICAgICAgICAvLyBzdXBwb3J0IGlmIHRoZSBjYXB0aW9uIGlzIGJpbmRlZCBpbiB0aGUgb2xkIHByb2plY3RzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAgICAgIGlmICghdGhpcy5zaG93Y2FwdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9IHJhdGUubGFiZWw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmludm9rZU9uVG91Y2hlZCgpO1xuICAgICAgICAvLyBpbnZva2Ugb24gZGF0YXZhbHVlIGNoYW5nZS5cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwgJGV2ZW50IHx8IHt9LCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgdGhlIHNlbGVjdGVkIGZsYWcgb24gZGF0YXNldEl0ZW1zIGFuZCBhc3NpZ24gdGhlIHJhdGluZ1ZhbHVlLlxuICAgIC8qKlxuICAgICAqIE9uIGRhdGF2YWx1ZSBjaGFuZ2UsIHVwZGF0ZSB0aGUgY2FwdGlvbiwgc2VsZWN0ZWRSYXRpbmdWYWx1ZS5cbiAgICAgKiAxLiBpZiBkYXRhc2V0SXRlbXMgY29udGFpbiB0aGUgc2VsZWN0ZWQgaXRlbSAoY2hlY2sgdGhlIHNlbGVjdGVkIGZsYWcgb24gaXRlbSksIGZpbmQgdGhlIGluZGV4IG9mIHNlbGVjdGVkIGl0ZW0uXG4gICAgICogMi4gaWYgbm90LCBqdXN0IGNoZWNrIGlmIHRoZSBkYXRhdmFsdWUgaXMgcHJvdmlkZWQgYXMgdGhlIGluZGV4IG9uIHRoZSBpdGVtLlxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGFWYWwgZGF0YXZhbHVlXG4gICAgICovXG4gICAgb25EYXRhdmFsdWVDaGFuZ2UoZGF0YVZhbCkge1xuICAgICAgICBpZiAoIV8uaXNFbXB0eSh0aGlzLmRhdGFzZXRJdGVtcykpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZEl0ZW0gPSBfLmZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIHsnc2VsZWN0ZWQnOiB0cnVlfSk7XG5cbiAgICAgICAgICAgIGlmICghc2VsZWN0ZWRJdGVtICYmICFfLmlzVW5kZWZpbmVkKGRhdGFWYWwpKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtID0gXy5maW5kKHRoaXMuZGF0YXNldEl0ZW1zLCBmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gXy50b1N0cmluZyhpdGVtLmluZGV4KSA9PT0gZGF0YVZhbDtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgIC8vIHJlc2V0IHRoZSAgbW9kZWwgaWYgdGhlcmUgaXMgbm8gaXRlbSBmb3VuZC5cbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXB0aW9uID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IHNlbGVjdGVkSXRlbSA/IHNlbGVjdGVkSXRlbS5pbmRleCA6IDA7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXB0aW9uID0gc2VsZWN0ZWRJdGVtLmxhYmVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFJhdGluZ1ZhbHVlID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgLy8gd2hlbiBkYXRhc2V0IGlzIG5vdCBnaXZlbiBidXQgZGF0YXZhbHVlIGlzIHByb3ZpZGVkIHdoaWNoIGlzIGludGVnZXJcbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJhdGluZ1ZhbHVlICYmICFpc05hTihkYXRhVmFsKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IChwYXJzZUZsb2F0KGRhdGFWYWwpIDw9IHRoaXMubWF4dmFsdWUpID8gZGF0YVZhbCA6IHRoaXMubWF4dmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnJhdGluZ3NXaWR0aCA9IHRoaXMuY2FsY3VsYXRlUmF0aW5nc1dpZHRoKGRhdGFWYWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUmF0aW5nc1dpZHRoKGRhdGFWYWw/OiBhbnkpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRSYXRpbmcgPSBwYXJzZUZsb2F0KHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSksXG4gICAgICAgICAgICBzdGFyV2lkdGggPSAwLjkyNSxcbiAgICAgICAgICAgIG1heFZhbHVlID0gcGFyc2VJbnQodGhpcy5tYXh2YWx1ZSB8fCB0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgsIDEwKSB8fCBERUZBVUxUX1JBVElORztcblxuICAgICAgICBzZXRDU1MoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnJhdGluZ3MtY29udGFpbmVyJykgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICAnd2lkdGgnLFxuICAgICAgICAgICAgKHN0YXJXaWR0aCAqIG1heFZhbHVlKSArICdlbSdcbiAgICAgICAgKTtcbiAgICAgICAgZGF0YVZhbCA9IGRhdGFWYWwgfHwgdGhpcy5kYXRhdmFsdWU7XG4gICAgICAgIGlmIChkYXRhVmFsID09PSB1bmRlZmluZWQgfHwgZGF0YVZhbCA9PT0gJycgfHwgZGF0YVZhbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5jYXB0aW9uID0gJyc7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRSYXRpbmcgPD0gbWF4VmFsdWUgJiYgc2VsZWN0ZWRSYXRpbmcgPj0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkUmF0aW5nICogc3RhcldpZHRoICsgJ2VtJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2VsZWN0ZWRSYXRpbmcgPiBtYXhWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIG1heFZhbHVlICogc3RhcldpZHRoICsgJ2VtJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5OiBzdHJpbmcsIG52OiBhbnksIG92PzogYW55KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdyZWFkb25seScpIHtcbiAgICAgICAgICAgIGlmIChudikge1xuICAgICAgICAgICAgICAgIHRoaXMucmF0aW5nc1dpZHRoID0gdGhpcy5jYWxjdWxhdGVSYXRpbmdzV2lkdGgoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICdtYXh2YWx1ZScpIHtcbiAgICAgICAgICAgIC8qKiBTdG9yaW5nIHRoZSBkYXRhdmFsdWUgaW4gdGVtcCB2YXJpYWJsZSBhbmQgYXNzaWdpbmcgYmFjayB0byBkYXRhdmFsdWVcbiAgICAgICAgICAgICAqIGFmdGVyIGRlZmF1bHQgZGF0YWxpc3QgaXMgcHJlcGFyZWQgdG8gdHJpZ2dlciBEYXRhc2V0IEF3YXJlIGNsYXNzIHNlbGVjdCBjeWNsZVxuICAgICAgICAgICAgICogYXMgdGhlIGRhdGF2YWx1ZSBwcm9wZXJ0eSBjaGFuZ2UgaXMgdHJpZ2dlcmluZyBmaXJzdCByYXRoZXIgdGhhbiBtYXh2YWx1ZVxuICAgICAgICAgICAgICogaW4gdGhlIHJhdGluZyB3aWRnZXQgaXMgdXNlZCBpbnNpZGUgYSBkYXRhdGFibGVcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgbGV0IHRlbXBEYXRhVmFsdWUgPSB0aGlzLmRhdGF2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVJhdGluZ0RhdGFzZXQoKTtcbiAgICAgICAgICAgIC8vIHJlc2V0IGFsbCB0aGUgaXRlbXMuXG4gICAgICAgICAgICB0aGlzLnJlc2V0RGF0YXNldEl0ZW1zKCk7XG4gICAgICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQodGVtcERhdGFWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGF2YWx1ZSA9IHRlbXBEYXRhVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIERldGVjdCB0b3VjaCBlbmFibGVkIGRldmljZXMgJiB1cGRhdGUgaG92ZXIgc3R5bGVzKi9cbiAgICBvblRvdWNoU3RhcnQoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMudG91Y2hFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vblRvdWNoU3RhcnQgPSBub29wO1xuICAgIH1cbiAgICBvbk1vdXNlbGVhdmUoKSB7XG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IHRoaXMuZGlzcGxheVZhbHVlIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBvbk1vdXNlT3ZlcigkZXZlbnQsIHJhdGUpIHtcbiAgICAgICAgdGhpcy5jYXB0aW9uID0gcmF0ZS5sYWJlbDtcbiAgICAgICAgIXRoaXMudG91Y2hFbmFibGVkICYmICEkZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygncmF0aW5nLWxhYmVsLWhvdmVyJykgJiYgJGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuYWRkKCdyYXRpbmctbGFiZWwtaG92ZXInKTtcbiAgICB9XG59XG4iLCI8ZGl2IFsobmdNb2RlbCldPVwibW9kZWxCeUtleVwiIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIiBuZ0RlZmF1bHRDb250cm9sIGNsYXNzPVwicmF0aW5ncy13cmFwcGVyXCIgYXJpYS1tdWx0aXNlbGVjdGFibGU9XCJ0cnVlXCI+XG4gICAgPGRpdiAqbmdJZj1cIiFyZWFkb25seVwiIGNsYXNzPVwicmF0aW5nLXN0eWxlXCI+XG4gICAgICAgIDxsYWJlbCAqbmdGb3I9XCJsZXQgcmF0ZSBvZiByYXRpbmdJdGVtcztcIlxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie2FjdGl2ZSA6IHJhdGUuaW5kZXggPD0gc2VsZWN0ZWRSYXRpbmdWYWx1ZX1cIlxuICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydmb250LXNpemUnIDppY29uc2l6ZSwgY29sb3I6IHJhdGUuaW5kZXggPD0gc2VsZWN0ZWRSYXRpbmdWYWx1ZSAmJiBpY29uY29sb3J9XCJcbiAgICAgICAgICAgICAgIFt0aXRsZV09XCJyYXRlLmxhYmVsIHx8IHJhdGUuaW5kZXhcIlxuICAgICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwib25Ub3VjaFN0YXJ0KCRldmVudClcIlxuICAgICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZWxlYXZlKCRldmVudCwgcmF0ZSlcIlxuICAgICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJvbk1vdXNlT3ZlcigkZXZlbnQsIHJhdGUpXCJcbiAgICAgICAgICAgICAgIFtmb3JdPVwiX2lkICsgJy0nICsgcmF0ZS5pbmRleFwiPlxuICAgICAgICAgICAgPGlucHV0ICNyYXRpbmdJbnB1dCB0eXBlPVwicmFkaW9cIiByb2xlPVwicmFkaW9cIiBbYXR0ci5hcmlhLWxhYmVsXT1cIihyYXRlLmxhYmVsIHx8IHJhdGUuaW5kZXgpICsgJyBvdXQgb2YgJyArIHJhdGluZ0l0ZW1zLmxlbmd0aCArICcgcmF0aW5ncydcIiBbYXR0ci5hcmlhLWNoZWNrZWRdPVwicmF0ZS5sYWJlbCA9PT0gZGF0YXZhbHVlID8gJ3RydWUnIDogJ2ZhbHNlJ1wiXG4gICAgICAgICAgICAgICAgICAgW2lkXT1cIl9pZCArICctJyArIHJhdGUuaW5kZXhcIiAoY2xpY2spPVwib25SYXRpbmdDbGljaygkZXZlbnQsIHJhdGUpXCIgbmFtZT1cInJhdGluZ3MtaWRcIiBbdmFsdWVdPVwicmF0ZS5rZXkgfHwgcmF0ZS5pbmRleFwiLz5cbiAgICAgICAgPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IFtjbGFzcy5oaWRkZW5dPVwiIXJlYWRvbmx5XCIgW25nU3R5bGVdPVwieydmb250LXNpemUnIDppY29uc2l6ZX1cIiBjbGFzcz1cInJhdGluZ3MtY29udGFpbmVyIGRpc2FibGVkXCIgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmF0aW5ncyBhY3RpdmVcIiBbbmdTdHlsZV09XCJ7d2lkdGg6IHJhdGluZ3NXaWR0aCwgY29sb3I6IGljb25jb2xvcn1cIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bGFiZWwgKm5nSWY9XCJzaG93Y2FwdGlvbnNcIiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiY2FwdGlvblwiPjwvbGFiZWw+XG48L2Rpdj5cbiJdfQ==
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9yYXRpbmcvc3JjL3JhdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvcmF0aW5nL3NyYy9yYXRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFZLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQThCLE1BQU0sVUFBVSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7OztJQ0x2QyxnQ0FPc0M7SUFIL0Isb0xBQWMsZUFBQSwyQkFBb0IsQ0FBQSxJQUFDLGtPQUNyQixlQUFBLG9DQUEwQixDQUFBLElBREwsZ09BRXRCLGVBQUEsbUNBQXlCLENBQUEsSUFGSDtJQUl0QyxtQ0FDK0g7SUFBMUYscU9BQVMsZUFBQSxxQ0FBMkIsQ0FBQSxJQUFDO0lBRDFFLGlCQUMrSCxFQUFBOzs7O0lBUjVILGlHQUF3RCwwSEFBQSx5Q0FBQSx5Q0FBQTtJQVFwRCxlQUE2QjtJQUE3QixxREFBNkIsdUNBQUE7SUFEVSxvSEFBNkYsdUVBQUE7OztJQVRuSiw4QkFBNEM7SUFDeEMsMkVBVVE7SUFDWixpQkFB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bmFsLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7Z2VuZXJhdGVHVUlkLCBzZXRDU1MsIG5vb3AsIFVzZXJEZWZpbmVkRXhlY3V0aW9uQ29udGV4dH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgZ2V0T3JkZXJlZERhdGFzZXQsIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dCc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL3JhdGluZy5wcm9wcyc7XG5cbmRlY2xhcmUgY29uc3QgXztcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLXJhdGluZ3MnO1xuY29uc3QgV0lER0VUX0NPTkZJRyA9IHt3aWRnZXRUeXBlOiAnd20tcmF0aW5nJywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbmNvbnN0IE1BWF9SQVRJTkcgPSAxMDtcbmNvbnN0IERFRkFVTFRfUkFUSU5HID0gNTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21SYXRpbmddJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmF0aW5nLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKFJhdGluZ0NvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoUmF0aW5nQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmF0aW5nQ29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIHNob3djYXB0aW9uczogYm9vbGVhbjtcbiAgICBwdWJsaWMgbWF4dmFsdWU7XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZFJhdGluZ1ZhbHVlO1xuICAgIHB1YmxpYyByYXRpbmdzV2lkdGg7XG4gICAgcHJpdmF0ZSByYXRpbmdJdGVtcztcbiAgICBwcml2YXRlIF9pZDtcblxuICAgIHB1YmxpYyBpY29uc2l6ZTogc3RyaW5nO1xuICAgIHB1YmxpYyBpY29uY29sb3I6IHN0cmluZztcbiAgICBwdWJsaWMgb25Gb2N1czogYW55O1xuICAgIHByaXZhdGUgdG91Y2hFbmFibGVkOmJvb2xlYW47XG4gICAgQFZpZXdDaGlsZCgncmF0aW5nSW5wdXQnLCAvKiBUT0RPOiBhZGQgc3RhdGljIGZsYWcgKi8geyByZWFkOiBFbGVtZW50UmVmIH0pIHJhdGluZ0VsOiBFbGVtZW50UmVmO1xuXG4gICAgZ2V0IHNlbGVjdGVkUmF0aW5nVmFsdWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFJhdGluZ1ZhbHVlO1xuICAgIH1cblxuICAgIHNldCBzZWxlY3RlZFJhdGluZ1ZhbHVlKHZhbCkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZFJhdGluZ1ZhbHVlID0gdmFsO1xuICAgICAgICB0aGlzLmNhbGN1bGF0ZVJhdGluZ3NXaWR0aCgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHKTtcbiAgICAgICAgdGhpcy5faWQgPSBnZW5lcmF0ZUdVSWQoKTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcyk7XG5cbiAgICAgICAgLy8gcHJlcGFyZSB0aGUgcmF0aW5nIG9wdGlvbnMgb24gZGF0YXNldCByZWFkeS5cbiAgICAgICAgY29uc3QgZGF0YXNldFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXNldCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJlcGFyZVJhdGluZ0RhdGFzZXQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEZXN0cm95TGlzdGVuZXIoKCkgPT4gZGF0YXNldFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcblxuICAgICAgICAvLyBsaXN0ZW4gdG8gY2hhbmdlcyBpbiBkYXRhdmFsdWUuXG4gICAgICAgIGNvbnN0IGRhdGF2YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXZhbHVlJC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkRhdGF2YWx1ZUNoYW5nZSh0aGlzLmRhdGF2YWx1ZSkpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGRhdGF2YWx1ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICAvLyBDaGFuZ2UgZXZlbnQgaXMgcmVnaXN0ZXJlZCBmcm9tIHRoZSB0ZW1wbGF0ZSwgUHJldmVudCB0aGUgZnJhbWV3b3JrIGZyb20gcmVnaXN0ZXJpbmcgb25lIG1vcmUgZXZlbnRcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBldmVudENhbGxiYWNrOiBGdW5jdGlvbiwgbG9jYWxzOiBhbnkpIHtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSAhPT0gJ2NoYW5nZScgJiYgZXZlbnROYW1lICE9PSAnYmx1cicpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KHRoaXMucmF0aW5nRWwubmF0aXZlRWxlbWVudCwgZXZlbnROYW1lLCBldmVudENhbGxiYWNrLCBsb2NhbHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSByYXRpbmcgd2lkZ2V0IGRhdGFzZXQgY29udGFpbmluZyB0aGUgaW5kZXgsIHZhbHVlIGFuZCBsYWJlbFxuICAgIHByaXZhdGUgcHJlcGFyZVJhdGluZ0RhdGFzZXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnJhdGluZ0l0ZW1zID0gW107XG4gICAgICAgICAgICB0aGlzLmNhcHRpb24gPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByYXRpbmdJdGVtcyA9IFtdO1xuICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZGF0YXNldEl0ZW1zO1xuICAgICAgICBjb25zdCBtYXh2YWx1ZSA9IHBhcnNlSW50KHRoaXMubWF4dmFsdWUgfHwgdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoLCAxMCk7XG4gICAgICAgIGNvbnN0IG1heFZhbHVlID0gKG1heHZhbHVlID4gTUFYX1JBVElORyA/IE1BWF9SQVRJTkcgOiBtYXh2YWx1ZSkgfHwgREVGQVVMVF9SQVRJTkc7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIDEuIElmIGRhdGFzZXRJdGVtcy5sZW5ndGggaXMgbW9yZSB0aGFuIG1heFZhbHVlIChpLmUuIDEwIHJhdGluZ3MpIHRoZW4ganVzdCBleHRyYWN0IG1heFZhbHVlIG9mIGl0ZW1zIGZyb20gZGF0YXNldEl0ZW1zLlxuICAgICAgICAgKiAyLiBJZiBkYXRhc2V0SXRlbXMgYXJlIG5vdCBhdmFpbGFibGUgdGhlbiBwcmVwYXJlIHJhdGluZ3MgdmFsdWUgZGVwZW5kaW5nIG9uIG1heHZhbHVlLiBlZzogMSwyLDMgLi4gdXB0byBtYXh2YWx1ZVxuICAgICAgICAgKiAzLiBJZiBtYXh2YWx1ZSAvIGkgdmFsdWUgaXMgbW9yZSB0aGFuIGRhdGFzZXRJdGVtcyBsZW5ndGgsIHByZXBhcmUgZGVmYXVsdCByYXRpbmcgaXRlbXMgZm9yIGkgdmFsdWVzIG1vcmUgdGhhbiBkYXRhc2V0SXRlbXMubGVuZ3RoXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoZGF0YS5sZW5ndGggJiYgZGF0YS5sZW5ndGggPiBtYXhWYWx1ZSkge1xuICAgICAgICAgICAgZGF0YSA9IF8uc2xpY2UoZGF0YSwgMCwgbWF4VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IG1heFZhbHVlOyBpID4gMDsgaS0tKSB7XG4gICAgICAgICAgICBpZiAoIWRhdGEubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmF0aW5nSXRlbXMucHVzaCh7a2V5OiBpLCB2YWx1ZTogaSwgaW5kZXg6IGksIGxhYmVsOiBpfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpID4gZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmF0aW5nSXRlbXMucHVzaCh7a2V5OiBpLCB2YWx1ZTogaSwgaW5kZXg6IGksIGxhYmVsOiBpfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGdldE9yZGVyZWREYXRhc2V0KGRhdGEsICdpbmRleDpkZXNjJyk7XG4gICAgICAgICAgICAgICAgICAgIHJhdGluZ0l0ZW1zID0gcmF0aW5nSXRlbXMuY29uY2F0KGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJhdGluZ0l0ZW1zID0gcmF0aW5nSXRlbXM7XG4gICAgICAgIGlmICghZGF0YS5sZW5ndGgpIHsgLy8gY29uc3RydWN0cyBkZWZhdWx0IGRhdGFzZXRJdGVtcyB3aGVuIHRoZXJlIGlzIG5vIGRhdGFzZXQgYmluZGluZy5cbiAgICAgICAgICAgIHRoaXMuZGF0YXNldEl0ZW1zID0gcmF0aW5nSXRlbXM7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbkRhdGF2YWx1ZUNoYW5nZSh0aGlzLmRhdGF2YWx1ZSk7XG4gICAgfVxuXG4gICAgb25SYXRpbmdDbGljaygkZXZlbnQsIHJhdGUpIHtcbiAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gcmF0ZS5rZXk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IHJhdGUuaW5kZXg7XG5cbiAgICAgICAgLy8gc3VwcG9ydCBpZiB0aGUgY2FwdGlvbiBpcyBiaW5kZWQgaW4gdGhlIG9sZCBwcm9qZWN0cyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgICBpZiAoIXRoaXMuc2hvd2NhcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmNhcHRpb24gPSByYXRlLmxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIHRoZSBzZWxlY3RlZCBmbGFnIG9uIGRhdGFzZXRJdGVtcyBhbmQgYXNzaWduIHRoZSByYXRpbmdWYWx1ZS5cbiAgICAvKipcbiAgICAgKiBPbiBkYXRhdmFsdWUgY2hhbmdlLCB1cGRhdGUgdGhlIGNhcHRpb24sIHNlbGVjdGVkUmF0aW5nVmFsdWUuXG4gICAgICogMS4gaWYgZGF0YXNldEl0ZW1zIGNvbnRhaW4gdGhlIHNlbGVjdGVkIGl0ZW0gKGNoZWNrIHRoZSBzZWxlY3RlZCBmbGFnIG9uIGl0ZW0pLCBmaW5kIHRoZSBpbmRleCBvZiBzZWxlY3RlZCBpdGVtLlxuICAgICAqIDIuIGlmIG5vdCwganVzdCBjaGVjayBpZiB0aGUgZGF0YXZhbHVlIGlzIHByb3ZpZGVkIGFzIHRoZSBpbmRleCBvbiB0aGUgaXRlbS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhVmFsIGRhdGF2YWx1ZVxuICAgICAqL1xuICAgIG9uRGF0YXZhbHVlQ2hhbmdlKGRhdGFWYWwpIHtcbiAgICAgICAgaWYgKCFfLmlzRW1wdHkodGhpcy5kYXRhc2V0SXRlbXMpKSB7XG4gICAgICAgICAgICBsZXQgc2VsZWN0ZWRJdGVtID0gXy5maW5kKHRoaXMuZGF0YXNldEl0ZW1zLCB7J3NlbGVjdGVkJzogdHJ1ZX0pO1xuXG4gICAgICAgICAgICBpZiAoIXNlbGVjdGVkSXRlbSAmJiAhXy5pc1VuZGVmaW5lZChkYXRhVmFsKSkge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkSXRlbSA9IF8uZmluZCh0aGlzLmRhdGFzZXRJdGVtcywgZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF8udG9TdHJpbmcoaXRlbS5pbmRleCkgPT09IGRhdGFWYWw7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFzZWxlY3RlZEl0ZW0pIHtcbiAgICAgICAgICAgICAgICAvLyByZXNldCB0aGUgIG1vZGVsIGlmIHRoZXJlIGlzIG5vIGl0ZW0gZm91bmQuXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9ICcnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUmF0aW5nVmFsdWUgPSBzZWxlY3RlZEl0ZW0gPyBzZWxlY3RlZEl0ZW0uaW5kZXggOiAwO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9IHNlbGVjdGVkSXRlbS5sYWJlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIC8vIHdoZW4gZGF0YXNldCBpcyBub3QgZ2l2ZW4gYnV0IGRhdGF2YWx1ZSBpcyBwcm92aWRlZCB3aGljaCBpcyBpbnRlZ2VyXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRSYXRpbmdWYWx1ZSAmJiAhaXNOYU4oZGF0YVZhbCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkUmF0aW5nVmFsdWUgPSAocGFyc2VGbG9hdChkYXRhVmFsKSA8PSB0aGlzLm1heHZhbHVlKSA/IGRhdGFWYWwgOiB0aGlzLm1heHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5yYXRpbmdzV2lkdGggPSB0aGlzLmNhbGN1bGF0ZVJhdGluZ3NXaWR0aChkYXRhVmFsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNhbGN1bGF0ZVJhdGluZ3NXaWR0aChkYXRhVmFsPzogYW55KSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkUmF0aW5nID0gcGFyc2VGbG9hdCh0aGlzLnNlbGVjdGVkUmF0aW5nVmFsdWUpLFxuICAgICAgICAgICAgc3RhcldpZHRoID0gMC45MjUsXG4gICAgICAgICAgICBtYXhWYWx1ZSA9IHBhcnNlSW50KHRoaXMubWF4dmFsdWUgfHwgdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoLCAxMCkgfHwgREVGQVVMVF9SQVRJTkc7XG5cbiAgICAgICAgc2V0Q1NTKFxuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yYXRpbmdzLWNvbnRhaW5lcicpIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgICAgIChzdGFyV2lkdGggKiBtYXhWYWx1ZSkgKyAnZW0nXG4gICAgICAgICk7XG4gICAgICAgIGRhdGFWYWwgPSBkYXRhVmFsIHx8IHRoaXMuZGF0YXZhbHVlO1xuICAgICAgICBpZiAoZGF0YVZhbCA9PT0gdW5kZWZpbmVkIHx8IGRhdGFWYWwgPT09ICcnIHx8IGRhdGFWYWwgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuY2FwdGlvbiA9ICcnO1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlbGVjdGVkUmF0aW5nIDw9IG1heFZhbHVlICYmIHNlbGVjdGVkUmF0aW5nID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZFJhdGluZyAqIHN0YXJXaWR0aCArICdlbSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlbGVjdGVkUmF0aW5nID4gbWF4VmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBtYXhWYWx1ZSAqIHN0YXJXaWR0aCArICdlbSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAncmVhZG9ubHknKSB7XG4gICAgICAgICAgICBpZiAobnYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJhdGluZ3NXaWR0aCA9IHRoaXMuY2FsY3VsYXRlUmF0aW5nc1dpZHRoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnbWF4dmFsdWUnKSB7XG4gICAgICAgICAgICAvKiogU3RvcmluZyB0aGUgZGF0YXZhbHVlIGluIHRlbXAgdmFyaWFibGUgYW5kIGFzc2lnaW5nIGJhY2sgdG8gZGF0YXZhbHVlXG4gICAgICAgICAgICAgKiBhZnRlciBkZWZhdWx0IGRhdGFsaXN0IGlzIHByZXBhcmVkIHRvIHRyaWdnZXIgRGF0YXNldCBBd2FyZSBjbGFzcyBzZWxlY3QgY3ljbGVcbiAgICAgICAgICAgICAqIGFzIHRoZSBkYXRhdmFsdWUgcHJvcGVydHkgY2hhbmdlIGlzIHRyaWdnZXJpbmcgZmlyc3QgcmF0aGVyIHRoYW4gbWF4dmFsdWVcbiAgICAgICAgICAgICAqIGluIHRoZSByYXRpbmcgd2lkZ2V0IGlzIHVzZWQgaW5zaWRlIGEgZGF0YXRhYmxlXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIGxldCB0ZW1wRGF0YVZhbHVlID0gdGhpcy5kYXRhdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnByZXBhcmVSYXRpbmdEYXRhc2V0KCk7XG4gICAgICAgICAgICAvLyByZXNldCBhbGwgdGhlIGl0ZW1zLlxuICAgICAgICAgICAgdGhpcy5yZXNldERhdGFzZXRJdGVtcygpO1xuICAgICAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRlbXBEYXRhVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhdmFsdWUgPSB0ZW1wRGF0YVZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEZXRlY3QgdG91Y2ggZW5hYmxlZCBkZXZpY2VzICYgdXBkYXRlIGhvdmVyIHN0eWxlcyovXG4gICAgb25Ub3VjaFN0YXJ0KCRldmVudCkge1xuICAgICAgICB0aGlzLnRvdWNoRW5hYmxlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub25Ub3VjaFN0YXJ0ID0gbm9vcDtcbiAgICB9XG4gICAgb25Nb3VzZWxlYXZlKCkge1xuICAgICAgICB0aGlzLmNhcHRpb24gPSB0aGlzLmRpc3BsYXlWYWx1ZSBhcyBzdHJpbmc7XG4gICAgfVxuXG4gICAgb25Nb3VzZU92ZXIoJGV2ZW50LCByYXRlKSB7XG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IHJhdGUubGFiZWw7XG4gICAgICAgICF0aGlzLnRvdWNoRW5hYmxlZCAmJiAhJGV2ZW50LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoJ3JhdGluZy1sYWJlbC1ob3ZlcicpICYmICRldmVudC50YXJnZXQuY2xhc3NMaXN0LmFkZCgncmF0aW5nLWxhYmVsLWhvdmVyJyk7XG4gICAgfVxufVxuIiwiPGRpdiBbKG5nTW9kZWwpXT1cIm1vZGVsQnlLZXlcIiAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCIgbmdEZWZhdWx0Q29udHJvbCBjbGFzcz1cInJhdGluZ3Mtd3JhcHBlclwiIGFyaWEtbXVsdGlzZWxlY3RhYmxlPVwidHJ1ZVwiPlxuICAgIDxkaXYgKm5nSWY9XCIhcmVhZG9ubHlcIiBjbGFzcz1cInJhdGluZy1zdHlsZVwiPlxuICAgICAgICA8bGFiZWwgKm5nRm9yPVwibGV0IHJhdGUgb2YgcmF0aW5nSXRlbXM7XCJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInthY3RpdmUgOiByYXRlLmluZGV4IDw9IHNlbGVjdGVkUmF0aW5nVmFsdWV9XCJcbiAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnZm9udC1zaXplJyA6aWNvbnNpemUsIGNvbG9yOiByYXRlLmluZGV4IDw9IHNlbGVjdGVkUmF0aW5nVmFsdWUgJiYgaWNvbmNvbG9yfVwiXG4gICAgICAgICAgICAgICBbdGl0bGVdPVwicmF0ZS5sYWJlbCB8fCByYXRlLmluZGV4XCJcbiAgICAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cIm9uVG91Y2hTdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VsZWF2ZSgkZXZlbnQsIHJhdGUpXCJcbiAgICAgICAgICAgICAgIChtb3VzZW92ZXIpPVwib25Nb3VzZU92ZXIoJGV2ZW50LCByYXRlKVwiXG4gICAgICAgICAgICAgICBbZm9yXT1cIl9pZCArICctJyArIHJhdGUuaW5kZXhcIj5cbiAgICAgICAgICAgIDxpbnB1dCAjcmF0aW5nSW5wdXQgdHlwZT1cInJhZGlvXCIgcm9sZT1cInJhZGlvXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIocmF0ZS5sYWJlbCB8fCByYXRlLmluZGV4KSArICcgb3V0IG9mICcgKyByYXRpbmdJdGVtcy5sZW5ndGggKyAnIHJhdGluZ3MnXCIgW2F0dHIuYXJpYS1jaGVja2VkXT1cInJhdGUubGFiZWwgPT09IGRhdGF2YWx1ZSA/ICd0cnVlJyA6ICdmYWxzZSdcIlxuICAgICAgICAgICAgICAgICAgIFtpZF09XCJfaWQgKyAnLScgKyByYXRlLmluZGV4XCIgKGNsaWNrKT1cIm9uUmF0aW5nQ2xpY2soJGV2ZW50LCByYXRlKVwiIG5hbWU9XCJyYXRpbmdzLWlkXCIgW3ZhbHVlXT1cInJhdGUua2V5IHx8IHJhdGUuaW5kZXhcIi8+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbY2xhc3MuaGlkZGVuXT1cIiFyZWFkb25seVwiIFtuZ1N0eWxlXT1cInsnZm9udC1zaXplJyA6aWNvbnNpemV9XCIgY2xhc3M9XCJyYXRpbmdzLWNvbnRhaW5lciBkaXNhYmxlZFwiID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJhdGluZ3MgYWN0aXZlXCIgW25nU3R5bGVdPVwie3dpZHRoOiByYXRpbmdzV2lkdGgsIGNvbG9yOiBpY29uY29sb3J9XCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGxhYmVsICpuZ0lmPVwic2hvd2NhcHRpb25zXCIgY2xhc3M9XCJjYXB0aW9uXCIgW3RleHRDb250ZW50XT1cImNhcHRpb25cIj48L2xhYmVsPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, Component,
|
|
3
|
-
import * as
|
|
2
|
+
import { ElementRef, Component, ViewChild, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i2 from '@angular/forms';
|
|
6
6
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
7
|
-
import * as
|
|
7
|
+
import * as i3 from '@wm/components/base';
|
|
8
8
|
import { PROP_STRING, PROP_ANY, PROP_NUMBER, PROP_BOOLEAN, register, registerFormWidget, styler, getOrderedDataset, provideAs, provideAsWidgetRef, WmComponentsModule } from '@wm/components/base';
|
|
9
|
-
import * as i1 from '@wm/core';
|
|
10
9
|
import { FormWidgetType, generateGUId, setCSS, noop } from '@wm/core';
|
|
11
10
|
import { DatasetAwareFormComponent } from '@wm/components/input';
|
|
12
11
|
|
|
@@ -92,9 +91,8 @@ class RatingComponent extends DatasetAwareFormComponent {
|
|
|
92
91
|
this._selectedRatingValue = val;
|
|
93
92
|
this.calculateRatingsWidth();
|
|
94
93
|
}
|
|
95
|
-
constructor(inj
|
|
96
|
-
super(inj, WIDGET_CONFIG
|
|
97
|
-
this._viewParent = _viewParent;
|
|
94
|
+
constructor(inj) {
|
|
95
|
+
super(inj, WIDGET_CONFIG);
|
|
98
96
|
this._id = generateGUId();
|
|
99
97
|
styler(this.nativeElement, this);
|
|
100
98
|
// prepare the rating options on dataset ready.
|
|
@@ -255,7 +253,7 @@ class RatingComponent extends DatasetAwareFormComponent {
|
|
|
255
253
|
}
|
|
256
254
|
}
|
|
257
255
|
RatingComponent.initializeProps = registerProps();
|
|
258
|
-
RatingComponent.ɵfac = function RatingComponent_Factory(t) { return new (t || RatingComponent)(i0.ɵɵdirectiveInject(i0.Injector)
|
|
256
|
+
RatingComponent.ɵfac = function RatingComponent_Factory(t) { return new (t || RatingComponent)(i0.ɵɵdirectiveInject(i0.Injector)); };
|
|
259
257
|
RatingComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RatingComponent, selectors: [["", "wmRating", ""]], viewQuery: function RatingComponent_Query(rf, ctx) {
|
|
260
258
|
if (rf & 1) {
|
|
261
259
|
i0.ɵɵviewQuery(_c0, 5, ElementRef);
|
|
@@ -290,7 +288,7 @@ RatingComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RatingCompo
|
|
|
290
288
|
i0.ɵɵadvance(1);
|
|
291
289
|
i0.ɵɵproperty("ngIf", ctx.showcaptions);
|
|
292
290
|
}
|
|
293
|
-
}, dependencies: [
|
|
291
|
+
}, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgStyle, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.TextContentDirective], encapsulation: 2 });
|
|
294
292
|
(function () {
|
|
295
293
|
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RatingComponent, [{
|
|
296
294
|
type: Component,
|
|
@@ -298,11 +296,7 @@ RatingComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RatingCompo
|
|
|
298
296
|
provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),
|
|
299
297
|
provideAsWidgetRef(RatingComponent)
|
|
300
298
|
], template: "<div [(ngModel)]=\"modelByKey\" (focus)=\"onFocus($event)\" ngDefaultControl class=\"ratings-wrapper\" aria-multiselectable=\"true\">\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n" }]
|
|
301
|
-
}], function () {
|
|
302
|
-
return [{ type: i0.Injector }, { type: i1.UserDefinedExecutionContext, decorators: [{
|
|
303
|
-
type: Optional
|
|
304
|
-
}] }];
|
|
305
|
-
}, { ratingEl: [{
|
|
299
|
+
}], function () { return [{ type: i0.Injector }]; }, { ratingEl: [{
|
|
306
300
|
type: ViewChild,
|
|
307
301
|
args: ['ratingInput', /* TODO: add static flag */ { read: ElementRef }]
|
|
308
302
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/rating/src/rating.props.ts","../../../../../projects/components/widgets/input/rating/src/rating.component.html","../../../../../projects/components/widgets/input/rating/src/rating.component.ts","../../../../../projects/components/widgets/input/rating/src/rating.module.ts","../../../../../projects/components/widgets/input/rating/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const ratingProps = new Map(\n [\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', PROP_ANY],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['iconcolor', PROP_STRING],\n ['iconsize', PROP_STRING],\n ['maxvalue', {value: 5, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcaptions', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['usekeys', PROP_BOOLEAN]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-rating',\n ratingProps\n );\n registerFormWidget(\n FormWidgetType.RATING,\n new Map(ratingProps)\n );\n};\n","<div [(ngModel)]=\"modelByKey\" (focus)=\"onFocus($event)\" ngDefaultControl class=\"ratings-wrapper\" aria-multiselectable=\"true\">\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {generateGUId, setCSS, noop, UserDefinedExecutionContext} from '@wm/core';\nimport { getOrderedDataset, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input';\n\nimport { registerProps } from './rating.props';\n\ndeclare const _;\n\nconst DEFAULT_CLS = 'app-ratings';\nconst WIDGET_CONFIG = {widgetType: 'wm-rating', hostClass: DEFAULT_CLS};\n\nconst MAX_RATING = 10;\nconst DEFAULT_RATING = 5;\n\n@Component({\n selector: '[wmRating]',\n templateUrl: './rating.component.html',\n providers: [\n provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),\n provideAsWidgetRef(RatingComponent)\n ]\n})\nexport class RatingComponent extends DatasetAwareFormComponent {\n static initializeProps = registerProps();\n\n public caption: string;\n public showcaptions: boolean;\n public maxvalue;\n\n private _selectedRatingValue;\n public ratingsWidth;\n private ratingItems;\n private _id;\n\n public iconsize: string;\n public iconcolor: string;\n public onFocus: any;\n private touchEnabled:boolean;\n @ViewChild('ratingInput', /* TODO: add static flag */ { read: ElementRef }) ratingEl: ElementRef;\n\n get selectedRatingValue() {\n return this._selectedRatingValue;\n }\n\n set selectedRatingValue(val) {\n this._selectedRatingValue = val;\n this.calculateRatingsWidth();\n }\n\n constructor(inj: Injector, @Optional() public _viewParent: UserDefinedExecutionContext) {\n super(inj, WIDGET_CONFIG, _viewParent);\n this._id = generateGUId();\n styler(this.nativeElement, this);\n\n // prepare the rating options on dataset ready.\n const datasetSubscription = this.dataset$.subscribe(() => {\n this.prepareRatingDataset();\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n // listen to changes in datavalue.\n const datavalueSubscription = this.datavalue$.subscribe(() => this.onDatavalueChange(this.datavalue));\n this.registerDestroyListener(() => datavalueSubscription.unsubscribe());\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n super.handleEvent(this.ratingEl.nativeElement, eventName, eventCallback, locals);\n }\n }\n\n // This function returns the rating widget dataset containing the index, value and label\n private prepareRatingDataset() {\n if (!this.datasetItems.length) {\n this.ratingItems = [];\n this.caption = '';\n }\n\n let ratingItems = [];\n let data = this.datasetItems;\n const maxvalue = parseInt(this.maxvalue || this.datasetItems.length, 10);\n const maxValue = (maxvalue > MAX_RATING ? MAX_RATING : maxvalue) || DEFAULT_RATING;\n\n /**\n * 1. If datasetItems.length is more than maxValue (i.e. 10 ratings) then just extract maxValue of items from datasetItems.\n * 2. If datasetItems are not available then prepare ratings value depending on maxvalue. eg: 1,2,3 .. upto maxvalue\n * 3. If maxvalue / i value is more than datasetItems length, prepare default rating items for i values more than datasetItems.length\n */\n if (data.length && data.length > maxValue) {\n data = _.slice(data, 0, maxValue);\n }\n\n for (let i = maxValue; i > 0; i--) {\n if (!data.length) {\n ratingItems.push({key: i, value: i, index: i, label: i});\n } else {\n if (i > data.length) {\n ratingItems.push({key: i, value: i, index: i, label: i});\n } else {\n data = getOrderedDataset(data, 'index:desc');\n ratingItems = ratingItems.concat(data);\n break;\n }\n }\n }\n\n this.ratingItems = ratingItems;\n if (!data.length) { // constructs default datasetItems when there is no dataset binding.\n this.datasetItems = ratingItems;\n }\n this.onDatavalueChange(this.datavalue);\n }\n\n onRatingClick($event, rate) {\n this.modelByKey = rate.key;\n this.selectedRatingValue = rate.index;\n\n // support if the caption is binded in the old projects for backward compatibility\n if (!this.showcaptions) {\n this.caption = rate.label;\n }\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n // Update the selected flag on datasetItems and assign the ratingValue.\n /**\n * On datavalue change, update the caption, selectedRatingValue.\n * 1. if datasetItems contain the selected item (check the selected flag on item), find the index of selected item.\n * 2. if not, just check if the datavalue is provided as the index on the item.\n *\n * @param dataVal datavalue\n */\n onDatavalueChange(dataVal) {\n if (!_.isEmpty(this.datasetItems)) {\n let selectedItem = _.find(this.datasetItems, {'selected': true});\n\n if (!selectedItem && !_.isUndefined(dataVal)) {\n selectedItem = _.find(this.datasetItems, function (item) {\n return _.toString(item.index) === dataVal;\n });\n if (selectedItem) {\n selectedItem.selected = true;\n }\n }\n\n if (!selectedItem) {\n // reset the model if there is no item found.\n this.modelByKey = undefined;\n this.caption = '';\n }\n\n this.selectedRatingValue = selectedItem ? selectedItem.index : 0;\n if (selectedItem) {\n this.caption = selectedItem.label;\n }\n } else {\n this.selectedRatingValue = 0;\n }\n if (this.readonly) {\n // when dataset is not given but datavalue is provided which is integer\n if (!this.selectedRatingValue && !isNaN(dataVal)) {\n this.selectedRatingValue = (parseFloat(dataVal) <= this.maxvalue) ? dataVal : this.maxvalue;\n }\n this.ratingsWidth = this.calculateRatingsWidth(dataVal);\n }\n }\n\n calculateRatingsWidth(dataVal?: any) {\n const selectedRating = parseFloat(this.selectedRatingValue),\n starWidth = 0.925,\n maxValue = parseInt(this.maxvalue || this.datasetItems.length, 10) || DEFAULT_RATING;\n\n setCSS(\n this.nativeElement.querySelector('.ratings-container') as HTMLElement,\n 'width',\n (starWidth * maxValue) + 'em'\n );\n dataVal = dataVal || this.datavalue;\n if (dataVal === undefined || dataVal === '' || dataVal === null) {\n this.caption = '';\n return 0;\n }\n if (selectedRating <= maxValue && selectedRating >= 0) {\n return selectedRating * starWidth + 'em';\n }\n if (selectedRating > maxValue) {\n return maxValue * starWidth + 'em';\n }\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'readonly') {\n if (nv) {\n this.ratingsWidth = this.calculateRatingsWidth();\n }\n } else if (key === 'maxvalue') {\n /** Storing the datavalue in temp variable and assiging back to datavalue\n * after default datalist is prepared to trigger Dataset Aware class select cycle\n * as the datavalue property change is triggering first rather than maxvalue\n * in the rating widget is used inside a datatable\n */\n let tempDataValue = this.datavalue;\n this.prepareRatingDataset();\n // reset all the items.\n this.resetDatasetItems();\n if (!_.isUndefined(tempDataValue)) {\n this.datavalue = tempDataValue;\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n /* Detect touch enabled devices & update hover styles*/\n onTouchStart($event) {\n this.touchEnabled = true;\n this.onTouchStart = noop;\n }\n onMouseleave() {\n this.caption = this.displayValue as string;\n }\n\n onMouseOver($event, rate) {\n this.caption = rate.label;\n !this.touchEnabled && !$event.target.classList.contains('rating-label-hover') && $event.target.classList.add('rating-label-hover');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { RatingComponent } from './rating.component';\n\nconst components = [\n RatingComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class RatingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/rating/src/rating.props.ts","../../../../../projects/components/widgets/input/rating/src/rating.component.html","../../../../../projects/components/widgets/input/rating/src/rating.component.ts","../../../../../projects/components/widgets/input/rating/src/rating.module.ts","../../../../../projects/components/widgets/input/rating/src/index.ts"],"sourcesContent":["import { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\nimport { FormWidgetType } from '@wm/core';\n\nexport const ratingProps = new Map(\n [\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', PROP_ANY],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['iconcolor', PROP_STRING],\n ['iconsize', PROP_STRING],\n ['maxvalue', {value: 5, ...PROP_NUMBER}],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcaptions', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['usekeys', PROP_BOOLEAN]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-rating',\n ratingProps\n );\n registerFormWidget(\n FormWidgetType.RATING,\n new Map(ratingProps)\n );\n};\n","<div [(ngModel)]=\"modelByKey\" (focus)=\"onFocus($event)\" ngDefaultControl class=\"ratings-wrapper\" aria-multiselectable=\"true\">\n <div *ngIf=\"!readonly\" class=\"rating-style\">\n <label *ngFor=\"let rate of ratingItems;\"\n [ngClass]=\"{active : rate.index <= selectedRatingValue}\"\n [ngStyle]=\"{'font-size' :iconsize, color: rate.index <= selectedRatingValue && iconcolor}\"\n [title]=\"rate.label || rate.index\"\n (touchstart)=\"onTouchStart($event)\"\n (mouseleave)=\"onMouseleave($event, rate)\"\n (mouseover)=\"onMouseOver($event, rate)\"\n [for]=\"_id + '-' + rate.index\">\n <input #ratingInput type=\"radio\" role=\"radio\" [attr.aria-label]=\"(rate.label || rate.index) + ' out of ' + ratingItems.length + ' ratings'\" [attr.aria-checked]=\"rate.label === datavalue ? 'true' : 'false'\"\n [id]=\"_id + '-' + rate.index\" (click)=\"onRatingClick($event, rate)\" name=\"ratings-id\" [value]=\"rate.key || rate.index\"/>\n </label>\n </div>\n <div [class.hidden]=\"!readonly\" [ngStyle]=\"{'font-size' :iconsize}\" class=\"ratings-container disabled\" >\n <div class=\"ratings active\" [ngStyle]=\"{width: ratingsWidth, color: iconcolor}\"></div>\n </div>\n <label *ngIf=\"showcaptions\" class=\"caption\" [textContent]=\"caption\"></label>\n</div>\n","import {Component, ElementRef, Injector, Optional, ViewChild} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport {generateGUId, setCSS, noop, UserDefinedExecutionContext} from '@wm/core';\nimport { getOrderedDataset, provideAs, provideAsWidgetRef, styler } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input';\n\nimport { registerProps } from './rating.props';\n\ndeclare const _;\n\nconst DEFAULT_CLS = 'app-ratings';\nconst WIDGET_CONFIG = {widgetType: 'wm-rating', hostClass: DEFAULT_CLS};\n\nconst MAX_RATING = 10;\nconst DEFAULT_RATING = 5;\n\n@Component({\n selector: '[wmRating]',\n templateUrl: './rating.component.html',\n providers: [\n provideAs(RatingComponent, NG_VALUE_ACCESSOR, true),\n provideAsWidgetRef(RatingComponent)\n ]\n})\nexport class RatingComponent extends DatasetAwareFormComponent {\n static initializeProps = registerProps();\n\n public caption: string;\n public showcaptions: boolean;\n public maxvalue;\n\n private _selectedRatingValue;\n public ratingsWidth;\n private ratingItems;\n private _id;\n\n public iconsize: string;\n public iconcolor: string;\n public onFocus: any;\n private touchEnabled:boolean;\n @ViewChild('ratingInput', /* TODO: add static flag */ { read: ElementRef }) ratingEl: ElementRef;\n\n get selectedRatingValue() {\n return this._selectedRatingValue;\n }\n\n set selectedRatingValue(val) {\n this._selectedRatingValue = val;\n this.calculateRatingsWidth();\n }\n\n constructor(inj: Injector) {\n super(inj, WIDGET_CONFIG);\n this._id = generateGUId();\n styler(this.nativeElement, this);\n\n // prepare the rating options on dataset ready.\n const datasetSubscription = this.dataset$.subscribe(() => {\n this.prepareRatingDataset();\n });\n this.registerDestroyListener(() => datasetSubscription.unsubscribe());\n\n // listen to changes in datavalue.\n const datavalueSubscription = this.datavalue$.subscribe(() => this.onDatavalueChange(this.datavalue));\n this.registerDestroyListener(() => datavalueSubscription.unsubscribe());\n }\n\n // Change event is registered from the template, Prevent the framework from registering one more event\n protected handleEvent(node: HTMLElement, eventName: string, eventCallback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n super.handleEvent(this.ratingEl.nativeElement, eventName, eventCallback, locals);\n }\n }\n\n // This function returns the rating widget dataset containing the index, value and label\n private prepareRatingDataset() {\n if (!this.datasetItems.length) {\n this.ratingItems = [];\n this.caption = '';\n }\n\n let ratingItems = [];\n let data = this.datasetItems;\n const maxvalue = parseInt(this.maxvalue || this.datasetItems.length, 10);\n const maxValue = (maxvalue > MAX_RATING ? MAX_RATING : maxvalue) || DEFAULT_RATING;\n\n /**\n * 1. If datasetItems.length is more than maxValue (i.e. 10 ratings) then just extract maxValue of items from datasetItems.\n * 2. If datasetItems are not available then prepare ratings value depending on maxvalue. eg: 1,2,3 .. upto maxvalue\n * 3. If maxvalue / i value is more than datasetItems length, prepare default rating items for i values more than datasetItems.length\n */\n if (data.length && data.length > maxValue) {\n data = _.slice(data, 0, maxValue);\n }\n\n for (let i = maxValue; i > 0; i--) {\n if (!data.length) {\n ratingItems.push({key: i, value: i, index: i, label: i});\n } else {\n if (i > data.length) {\n ratingItems.push({key: i, value: i, index: i, label: i});\n } else {\n data = getOrderedDataset(data, 'index:desc');\n ratingItems = ratingItems.concat(data);\n break;\n }\n }\n }\n\n this.ratingItems = ratingItems;\n if (!data.length) { // constructs default datasetItems when there is no dataset binding.\n this.datasetItems = ratingItems;\n }\n this.onDatavalueChange(this.datavalue);\n }\n\n onRatingClick($event, rate) {\n this.modelByKey = rate.key;\n this.selectedRatingValue = rate.index;\n\n // support if the caption is binded in the old projects for backward compatibility\n if (!this.showcaptions) {\n this.caption = rate.label;\n }\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n // Update the selected flag on datasetItems and assign the ratingValue.\n /**\n * On datavalue change, update the caption, selectedRatingValue.\n * 1. if datasetItems contain the selected item (check the selected flag on item), find the index of selected item.\n * 2. if not, just check if the datavalue is provided as the index on the item.\n *\n * @param dataVal datavalue\n */\n onDatavalueChange(dataVal) {\n if (!_.isEmpty(this.datasetItems)) {\n let selectedItem = _.find(this.datasetItems, {'selected': true});\n\n if (!selectedItem && !_.isUndefined(dataVal)) {\n selectedItem = _.find(this.datasetItems, function (item) {\n return _.toString(item.index) === dataVal;\n });\n if (selectedItem) {\n selectedItem.selected = true;\n }\n }\n\n if (!selectedItem) {\n // reset the model if there is no item found.\n this.modelByKey = undefined;\n this.caption = '';\n }\n\n this.selectedRatingValue = selectedItem ? selectedItem.index : 0;\n if (selectedItem) {\n this.caption = selectedItem.label;\n }\n } else {\n this.selectedRatingValue = 0;\n }\n if (this.readonly) {\n // when dataset is not given but datavalue is provided which is integer\n if (!this.selectedRatingValue && !isNaN(dataVal)) {\n this.selectedRatingValue = (parseFloat(dataVal) <= this.maxvalue) ? dataVal : this.maxvalue;\n }\n this.ratingsWidth = this.calculateRatingsWidth(dataVal);\n }\n }\n\n calculateRatingsWidth(dataVal?: any) {\n const selectedRating = parseFloat(this.selectedRatingValue),\n starWidth = 0.925,\n maxValue = parseInt(this.maxvalue || this.datasetItems.length, 10) || DEFAULT_RATING;\n\n setCSS(\n this.nativeElement.querySelector('.ratings-container') as HTMLElement,\n 'width',\n (starWidth * maxValue) + 'em'\n );\n dataVal = dataVal || this.datavalue;\n if (dataVal === undefined || dataVal === '' || dataVal === null) {\n this.caption = '';\n return 0;\n }\n if (selectedRating <= maxValue && selectedRating >= 0) {\n return selectedRating * starWidth + 'em';\n }\n if (selectedRating > maxValue) {\n return maxValue * starWidth + 'em';\n }\n }\n\n onPropertyChange(key: string, nv: any, ov?: any) {\n if (key === 'readonly') {\n if (nv) {\n this.ratingsWidth = this.calculateRatingsWidth();\n }\n } else if (key === 'maxvalue') {\n /** Storing the datavalue in temp variable and assiging back to datavalue\n * after default datalist is prepared to trigger Dataset Aware class select cycle\n * as the datavalue property change is triggering first rather than maxvalue\n * in the rating widget is used inside a datatable\n */\n let tempDataValue = this.datavalue;\n this.prepareRatingDataset();\n // reset all the items.\n this.resetDatasetItems();\n if (!_.isUndefined(tempDataValue)) {\n this.datavalue = tempDataValue;\n }\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n /* Detect touch enabled devices & update hover styles*/\n onTouchStart($event) {\n this.touchEnabled = true;\n this.onTouchStart = noop;\n }\n onMouseleave() {\n this.caption = this.displayValue as string;\n }\n\n onMouseOver($event, rate) {\n this.caption = rate.label;\n !this.touchEnabled && !$event.target.classList.contains('rating-label-hover') && $event.target.classList.add('rating-label-hover');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { WmComponentsModule } from '@wm/components/base';\n\nimport { RatingComponent } from './rating.component';\n\nconst components = [\n RatingComponent\n];\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n WmComponentsModule\n ],\n declarations: [...components],\n exports: [...components]\n})\nexport class RatingModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|