@acorex/components 19.14.0 → 19.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/action-sheet/lib/action-sheet.class.d.ts +1 -1
- package/action-sheet/lib/action-sheet.component.d.ts +1 -1
- package/action-sheet/lib/action-sheet.module.d.ts +1 -1
- package/alert/lib/alert.component.d.ts +1 -1
- package/audio-wave/lib/interfaces/audio-wave.interface.d.ts +1 -1
- package/autocomplete/lib/autocomplete.component.d.ts +1 -1
- package/avatar/lib/avatar.component.d.ts +1 -1
- package/badge/lib/badge.component.d.ts +1 -1
- package/bottom-navigation/lib/bottom-navigation-item/bottom-navigation-item.component.d.ts +2 -2
- package/bottom-navigation/lib/bottom-navigation.component.d.ts +1 -1
- package/breadcrumbs/lib/breadcrumbs-item.component.d.ts +1 -1
- package/breadcrumbs/lib/breadcrumbs.component.d.ts +1 -1
- package/button/lib/button-item-list.component.d.ts +2 -2
- package/button/lib/button-item.class.d.ts +1 -1
- package/button/lib/button-item.component.d.ts +1 -1
- package/button/lib/button.component.d.ts +1 -1
- package/button/lib/button.module.d.ts +1 -1
- package/button-group/lib/button-group-item.component.d.ts +1 -1
- package/button-group/lib/button-group.component.d.ts +1 -1
- package/calendar/lib/calendar-range.component.d.ts +1 -1
- package/calendar/lib/calendar.class.d.ts +1 -1
- package/calendar/lib/calendar.component.d.ts +1 -1
- package/calendar/lib/calendar.module.d.ts +1 -1
- package/check-box/lib/check-box.component.d.ts +1 -1
- package/chips/lib/chips.component.d.ts +2 -2
- package/circular-progress/lib/circular-progress.component.d.ts +1 -1
- package/collapse/lib/collapse-group.component.d.ts +1 -1
- package/collapse/lib/collapse.component.d.ts +1 -1
- package/color-box/lib/color-box.component.d.ts +1 -1
- package/color-palette/lib/color-palette-input.component.d.ts +1 -1
- package/color-palette/lib/color-palette-picker.component.d.ts +1 -1
- package/color-palette/lib/color-palette-preview.component.d.ts +1 -1
- package/color-palette/lib/color-palette-swatches.component.d.ts +1 -1
- package/color-palette/lib/color-palette.class.d.ts +1 -1
- package/color-palette/lib/color-palette.component.d.ts +1 -1
- package/conversation/lib/classes/events.interface.d.ts +1 -1
- package/conversation/lib/conversation-input/conversation-input.component.d.ts +1 -1
- package/conversation/lib/conversation-message/conversation-message.component.d.ts +1 -1
- package/conversation/lib/conversation-view/conversation-view.component.d.ts +1 -1
- package/conversation/lib/conversation.module.d.ts +1 -1
- package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +1 -1
- package/cron-job/lib/day/day.component.d.ts +1 -1
- package/cron-job/lib/hours/hours.component.d.ts +1 -1
- package/cron-job/lib/minutes/minutes.component.d.ts +1 -1
- package/cron-job/lib/month/month.component.d.ts +1 -1
- package/cron-job/lib/seconds/seconds.component.d.ts +1 -1
- package/cron-job/lib/year/year.component.d.ts +1 -1
- package/data-pager/lib/data-pager-base.component.d.ts +1 -1
- package/data-pager/lib/data-pager-input-selector.component.d.ts +1 -1
- package/data-pager/lib/data-pager-next-buttons.component.d.ts +1 -1
- package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +1 -1
- package/data-pager/lib/data-pager-prev-buttons.component.d.ts +1 -1
- package/data-pager/lib/data-pager.component.d.ts +1 -1
- package/data-table/lib/base-data-table.class.d.ts +1 -1
- package/data-table/lib/columns/data-table-column.d.ts +1 -1
- package/data-table/lib/columns/row-command-column.component.d.ts +1 -1
- package/data-table/lib/columns/row-select-column.component.d.ts +1 -1
- package/data-table/lib/data-table.module.d.ts +1 -1
- package/data-table/lib/infinite-scroll-data-table/infinite-scroll-data-table.component.d.ts +1 -1
- package/datetime-box/lib/datetime-box.component.d.ts +1 -1
- package/datetime-input/lib/datetime-input.component.d.ts +1 -1
- package/datetime-picker/lib/datetime-picker.component.d.ts +1 -1
- package/decorators/lib/components/clear-button/clear-button.component.d.ts +2 -2
- package/decorators/lib/components/close-button/close-button.component.d.ts +2 -2
- package/decorators/lib/components/full-screen/full-screen-button.component.d.ts +1 -1
- package/decorators/lib/components/generic-content.component.d.ts +1 -1
- package/decorators/lib/components/heading/heading.component.d.ts +1 -1
- package/decorators/lib/components/icon/icon.component.d.ts +1 -1
- package/dialog/lib/dialog.class.d.ts +1 -1
- package/dialog/lib/dialog.component.d.ts +1 -1
- package/dialog/lib/dialog.module.d.ts +1 -1
- package/dialog/lib/dialog.service.d.ts +1 -1
- package/drawer/lib/drawer/drawer-container/drawer-container.component.d.ts +1 -1
- package/drawer/lib/drawer/drawer-item/drawer.component.d.ts +1 -1
- package/dropdown/lib/dropdown-box.class.d.ts +1 -1
- package/dropdown/lib/dropdown-box.component.d.ts +2 -2
- package/dropdown/lib/dropdown-panel.component.d.ts +2 -2
- package/dropdown/lib/dropdown.module.d.ts +1 -1
- package/dropdown-button/lib/dropdown-button.component.d.ts +2 -2
- package/dropdown-button/lib/dropdown-button.module.d.ts +1 -1
- package/fesm2022/acorex-components-action-sheet.mjs +15 -13
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +15 -9
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-audio-wave.mjs +9 -8
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-autocomplete.mjs +10 -10
- package/fesm2022/acorex-components-autocomplete.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +13 -12
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +9 -9
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-bottom-navigation.mjs +14 -14
- package/fesm2022/acorex-components-bottom-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +13 -13
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +13 -12
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +22 -22
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +18 -14
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +12 -10
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +10 -10
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +9 -9
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +15 -13
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +8 -8
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +36 -26
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-comment.mjs +37 -36
- package/fesm2022/acorex-components-comment.mjs.map +1 -1
- package/fesm2022/acorex-components-conversation.mjs +61 -63
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-cron-job.mjs +57 -53
- package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +75 -37
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +59 -39
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +8 -8
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +8 -8
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +10 -10
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +46 -36
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +21 -13
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +17 -17
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +12 -10
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +19 -17
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +39 -31
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-flow-chart.mjs +30 -20
- package/fesm2022/acorex-components-flow-chart.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +20 -18
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-grid-layout-builder.mjs +55 -16
- package/fesm2022/acorex-components-grid-layout-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +43 -45
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +15 -9
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-json-viewer.mjs +9 -8
- package/fesm2022/acorex-components-json-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-kbd.mjs +13 -12
- package/fesm2022/acorex-components-kbd.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +15 -9
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +8 -8
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +12 -12
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +19 -19
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-map.mjs +269 -105
- package/fesm2022/acorex-components-map.mjs.map +1 -1
- package/fesm2022/acorex-components-media-viewer.mjs +42 -41
- package/fesm2022/acorex-components-media-viewer.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +41 -17
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/{acorex-components-modal-acorex-components-modal-Ckn70-o5.mjs → acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs} +24 -23
- package/fesm2022/acorex-components-modal-acorex-components-modal-CJ3M9U7p.mjs.map +1 -0
- package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs +216 -0
- package/fesm2022/acorex-components-modal-modal-content.component-Ef5XWxUb.mjs.map +1 -0
- package/fesm2022/acorex-components-modal.mjs +1 -1
- package/fesm2022/acorex-components-navbar.mjs +9 -9
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +18 -12
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +8 -8
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +20 -8
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-page.mjs +11 -11
- package/fesm2022/acorex-components-page.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +31 -33
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +21 -23
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-pdf-reader.mjs +9 -8
- package/fesm2022/acorex-components-pdf-reader.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +8 -8
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +18 -16
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +15 -9
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +18 -12
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +9 -9
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-qrcode.mjs +10 -8
- package/fesm2022/acorex-components-qrcode.mjs.map +1 -1
- package/fesm2022/acorex-components-query-builder.mjs +9 -9
- package/fesm2022/acorex-components-query-builder.mjs.map +1 -1
- package/fesm2022/acorex-components-radio.mjs +10 -8
- package/fesm2022/acorex-components-radio.mjs.map +1 -1
- package/fesm2022/acorex-components-rail-navigation.mjs +16 -16
- package/fesm2022/acorex-components-rail-navigation.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +13 -11
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-rate-picker.mjs +10 -8
- package/fesm2022/acorex-components-rate-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-rest-api-generator.mjs +28 -27
- package/fesm2022/acorex-components-rest-api-generator.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +9 -9
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-routing-progress.mjs +9 -9
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +331 -256
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-scss.mjs +4 -4
- package/fesm2022/acorex-components-search-box.mjs +9 -9
- package/fesm2022/acorex-components-search-box.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +18 -12
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +8 -8
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +16 -16
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +9 -9
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-slider.mjs +10 -8
- package/fesm2022/acorex-components-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-sliding-item.mjs +17 -16
- package/fesm2022/acorex-components-sliding-item.mjs.map +1 -1
- package/fesm2022/acorex-components-step-wizard.mjs +16 -16
- package/fesm2022/acorex-components-step-wizard.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +14 -11
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +16 -15
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag-box.mjs +10 -10
- package/fesm2022/acorex-components-tag-box.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +9 -9
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +8 -8
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +13 -13
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-time-duration.mjs +59 -98
- package/fesm2022/acorex-components-time-duration.mjs.map +1 -1
- package/fesm2022/acorex-components-time-line.mjs +13 -12
- package/fesm2022/acorex-components-time-line.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +18 -12
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-toolbar.mjs +9 -8
- package/fesm2022/acorex-components-toolbar.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +12 -12
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +12 -12
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +27 -27
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/fesm2022/acorex-components-video-player.mjs +9 -8
- package/fesm2022/acorex-components-video-player.mjs.map +1 -1
- package/fesm2022/acorex-components-wysiwyg.mjs +39 -41
- package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
- package/file-explorer/lib/file-explorer-item/file-explorer-item.component.d.ts +1 -1
- package/flow-chart/lib/flow-chart-creator/flow-chart-creator.component.d.ts +1 -1
- package/flow-chart/lib/flow-chart-renderer/flow-chart-renderer.component.d.ts +1 -1
- package/flow-chart/lib/flow-chart.component.d.ts +1 -1
- package/form/lib/form-field.component.d.ts +1 -1
- package/form/lib/form.component.d.ts +1 -1
- package/form/lib/validation-summary.component.d.ts +1 -1
- package/grid-layout-builder/lib/grid-layout-container.component.d.ts +4 -3
- package/grid-layout-builder/lib/types.d.ts +1 -1
- package/image/lib/image.component.d.ts +1 -1
- package/image-editor/lib/image-editor-container/image-editor-container.component.d.ts +1 -1
- package/image-editor/lib/image-editor-view/image-editor-view.component.d.ts +1 -1
- package/label/lib/label.component.d.ts +1 -1
- package/list/lib/list.component.d.ts +1 -1
- package/loading/lib/loading-spinner.component.d.ts +1 -1
- package/loading/lib/loading.component.d.ts +1 -1
- package/loading-dialog/lib/loading-dialog.class.d.ts +1 -1
- package/loading-dialog/lib/loading-dialog.component.d.ts +1 -1
- package/loading-dialog/lib/loading-dialog.module.d.ts +1 -1
- package/map/lib/map.component.d.ts +38 -11
- package/menu/lib/context-menu.component.d.ts +1 -1
- package/menu/lib/menu-item.component.d.ts +1 -1
- package/menu/lib/menu.component.d.ts +1 -1
- package/menu/lib/menu.types.d.ts +1 -1
- package/modal/lib/modal-content/modal-content.component.d.ts +1 -1
- package/modal/lib/modal.component.d.ts +1 -1
- package/navbar/lib/navbar.component.d.ts +1 -1
- package/notification/lib/notification.class.d.ts +1 -1
- package/notification/lib/notification.component.d.ts +1 -1
- package/notification/lib/notification.config.d.ts +1 -1
- package/number-box/lib/number-box.component.d.ts +1 -1
- package/otp/lib/otp.class.d.ts +1 -1
- package/otp/lib/otp.component.d.ts +1 -1
- package/package.json +1 -5
- package/page/lib/base-page.class.d.ts +1 -1
- package/page/lib/page.component.d.ts +1 -1
- package/paint/lib/paint/paint-container/paint-container.component.d.ts +1 -1
- package/password-box/lib/password-box.component.d.ts +1 -1
- package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +9 -11
- package/phone-box/lib/phone-box.component.d.ts +1 -1
- package/picker/lib/picker-items/picker-items.component.d.ts +1 -1
- package/popover/lib/popover.component.d.ts +1 -1
- package/popup/lib/popup.component.d.ts +1 -1
- package/popup/lib/popup.module.d.ts +1 -1
- package/popup/lib/popup.service.d.ts +1 -1
- package/progress-bar/lib/progress-bar.component.d.ts +1 -1
- package/query-builder/lib/query-builder.component.d.ts +1 -1
- package/radio/lib/radio.component.d.ts +1 -1
- package/rail-navigation/lib/rail-navigation-item/rail-navigation-item.component.d.ts +1 -1
- package/rail-navigation/lib/rail-navigation.component.d.ts +1 -1
- package/range-slider/lib/range-slider.class.d.ts +1 -1
- package/range-slider/lib/range-slider.component.d.ts +1 -1
- package/rate-picker/lib/rate-picker.component.d.ts +1 -1
- package/rest-api-generator/lib/query-params/query-params.component.d.ts +1 -1
- package/rest-api-generator/lib/request-body/request-body.component.d.ts +1 -1
- package/rest-api-generator/lib/request-headers/request-headers.component.d.ts +1 -1
- package/rest-api-generator/lib/rest-api-auth/rest-api-auth.component.d.ts +1 -1
- package/rest-api-generator/lib/rest-api-generator.component.d.ts +1 -1
- package/result/lib/result.component.d.ts +1 -1
- package/routing-progress/lib/routing-progress.component.d.ts +1 -1
- package/scheduler/lib/scheduler.class.d.ts +35 -31
- package/scheduler/lib/scheduler.component.d.ts +60 -41
- package/scheduler/lib/scheduler.service.d.ts +15 -14
- package/scheduler/lib/views/agenda/scheduler-agenda-view.component.d.ts +14 -12
- package/scheduler/lib/views/day/scheduler-day-view.component.d.ts +19 -17
- package/scheduler/lib/views/month/scheduler-month-view.component.d.ts +17 -15
- package/scheduler/lib/views/timeline-day/scheduler-timeline-day-view.component.d.ts +17 -15
- package/scheduler/lib/views/timeline-month/scheduler-timeline-month-view.component.d.ts +15 -13
- package/scheduler/lib/views/timeline-multi-day/scheduler-timeline-multi-day-view.component.d.ts +15 -14
- package/scheduler/lib/views/week/scheduler-week-view.component.d.ts +19 -17
- package/search-box/lib/search-box.component.d.ts +1 -1
- package/search-box/lib/search-box.module.d.ts +1 -1
- package/select-box/lib/select-box.component.d.ts +2 -1
- package/select-box/lib/select-box.module.d.ts +1 -1
- package/selection-list/lib/selection-list.component.d.ts +1 -1
- package/side-menu/lib/side-menu-item/side-menu-item.component.d.ts +1 -1
- package/side-menu/lib/side-menu.component.d.ts +1 -1
- package/side-menu/lib/side-menu.module.d.ts +1 -1
- package/skeleton/lib/skeleton.component.d.ts +1 -1
- package/slider/lib/slider.component.d.ts +1 -1
- package/slider/lib/slider.module.d.ts +1 -1
- package/sliding-item/lib/sliding-item-prefix/sliding-item-prefix.component.d.ts +1 -1
- package/sliding-item/lib/sliding-item-suffix/sliding-item-suffix.component.d.ts +1 -1
- package/step-wizard/lib/step-wizard-item/step-wizard-item.component.d.ts +1 -1
- package/step-wizard/lib/step-wizard.component.d.ts +1 -1
- package/switch/lib/switch-content.component.d.ts +1 -1
- package/switch/lib/switch.component.d.ts +1 -1
- package/tabs/lib/tab-item.component.d.ts +1 -1
- package/tabs/lib/tabs.class.d.ts +1 -1
- package/tabs/lib/tabs.component.d.ts +1 -1
- package/tag/lib/tag.component.d.ts +1 -1
- package/tag-box/lib/tag-box.component.d.ts +1 -1
- package/text-area/lib/text-area.component.d.ts +1 -1
- package/text-box/lib/text-box.component.d.ts +1 -1
- package/text-box/lib/text-box.module.d.ts +1 -1
- package/time-duration/lib/time-duration.component.d.ts +3 -5
- package/toast/lib/toast.class.d.ts +1 -1
- package/toast/lib/toast.component.d.ts +1 -1
- package/toast/lib/toast.config.d.ts +1 -1
- package/tooltip/lib/tooltip.component.d.ts +1 -1
- package/tooltip/lib/tooltip.directive.d.ts +1 -1
- package/tree-view/lib/tree-view-item.component.d.ts +1 -1
- package/tree-view/lib/tree-view.class.d.ts +1 -1
- package/tree-view/lib/tree-view.component.d.ts +1 -1
- package/tree-view/lib/tree-view.component.module.d.ts +1 -1
- package/uploader/lib/uploader-drop-zone/uploader-drop-zone.component.d.ts +1 -1
- package/uploader/lib/uploader.models.d.ts +1 -1
- package/wysiwyg/lib/wysiwyg/wysiwyg-container/wysiwyg-container.component.d.ts +1 -1
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-alignment/wysiwyg-alignment.component.d.ts +1 -1
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-colors/wysiwyg-colors.component.d.ts +1 -1
- package/wysiwyg/lib/wysiwyg/wysiwyg-tools/wysiwyg-insert/wysiwyg-insert.component.d.ts +1 -1
- package/common/README.md +0 -3
- package/common/index.d.ts +0 -32
- package/common/lib/classes/components.class.d.ts +0 -97
- package/common/lib/classes/datalist.class.d.ts +0 -37
- package/common/lib/classes/datasource.class.d.ts +0 -87
- package/common/lib/classes/events.class.d.ts +0 -96
- package/common/lib/classes/styles.class.d.ts +0 -12
- package/common/lib/common.module.d.ts +0 -10
- package/common/lib/components/base-component.class.d.ts +0 -42
- package/common/lib/components/button-base-component.class.d.ts +0 -55
- package/common/lib/components/color-component.class.d.ts +0 -12
- package/common/lib/components/colorlook-component.class.d.ts +0 -6
- package/common/lib/components/input-base-value-component.class.d.ts +0 -35
- package/common/lib/components/interactive-component.class.d.ts +0 -57
- package/common/lib/components/look-component.class.d.ts +0 -18
- package/common/lib/components/selection-base.component.class.d.ts +0 -53
- package/common/lib/components/value-component.class.d.ts +0 -70
- package/common/lib/directives/auto-focus.directive.d.ts +0 -17
- package/common/lib/directives/copy-clipboard.directive.d.ts +0 -40
- package/common/lib/directives/delayed-value-changed.directive.d.ts +0 -17
- package/common/lib/directives/hotkey.directive.d.ts +0 -22
- package/common/lib/directives/infinite-scroll.directive.d.ts +0 -25
- package/common/lib/directives/inverted-color.directive.d.ts +0 -12
- package/common/lib/directives/responsive.directive.d.ts +0 -10
- package/common/lib/directives/ripple.directive.d.ts +0 -18
- package/common/lib/interfaces/component.interface.d.ts +0 -4
- package/common/lib/services/dom.service.d.ts +0 -6
- package/common/lib/services/hotkey.service.d.ts +0 -31
- package/common/lib/types/base/button.type.d.ts +0 -8
- package/common/lib/types/base/color.type.d.ts +0 -7
- package/common/lib/types/base/component.types.d.ts +0 -8
- package/common/lib/types/base/events.types.d.ts +0 -21
- package/common/lib/types/base/index.d.ts +0 -7
- package/common/lib/types/base/interactive.type.d.ts +0 -13
- package/common/lib/types/base/look.type.d.ts +0 -7
- package/common/lib/types/base/value.type.d.ts +0 -9
- package/common/lib/types/direction.d.ts +0 -4
- package/common/lib/types/orientation.d.ts +0 -4
- package/common/lib/types/placement.d.ts +0 -30
- package/common/lib/types/range.d.ts +0 -4
- package/common/lib/types/selection-mode.d.ts +0 -4
- package/fesm2022/acorex-components-common.mjs +0 -2087
- package/fesm2022/acorex-components-common.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-acorex-components-modal-Ckn70-o5.mjs.map +0 -1
- package/fesm2022/acorex-components-modal-modal-content.component-DzRhA-Nt.mjs +0 -216
- package/fesm2022/acorex-components-modal-modal-content.component-DzRhA-Nt.mjs.map +0 -1
@@ -1,2087 +0,0 @@
|
|
1
|
-
import * as i0 from '@angular/core';
|
2
|
-
import { model, output, Component, inject, ElementRef, signal, afterNextRender, Injectable, ChangeDetectorRef, ViewContainerRef, EventEmitter, PLATFORM_ID, Input, Host, Self, Optional, Directive, NgModule, InjectionToken, input, HostListener, Output, effect } from '@angular/core';
|
3
|
-
import { AXHtmlUtil } from '@acorex/core/utils';
|
4
|
-
import { flatten, clone, cloneDeep, isEqual, omit, set } from 'lodash-es';
|
5
|
-
import { isBrowser } from '@acorex/core/platform';
|
6
|
-
import { AXValidationService } from '@acorex/core/validation';
|
7
|
-
import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
|
8
|
-
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
9
|
-
import { noop, Subscription, BehaviorSubject, debounceTime, distinctUntilChanged, Subject, fromEvent, skip } from 'rxjs';
|
10
|
-
import { DataSource } from '@angular/cdk/collections';
|
11
|
-
import * as i1 from '@angular/platform-browser';
|
12
|
-
import { Observable } from 'rxjs/internal/Observable';
|
13
|
-
import { map, pairwise, filter, startWith, exhaustMap } from 'rxjs/operators';
|
14
|
-
import { classes } from 'polytype';
|
15
|
-
import { AXFormatService } from '@acorex/core/format';
|
16
|
-
import * as i1$1 from '@angular/forms';
|
17
|
-
|
18
|
-
class NXButtonComponent {
|
19
|
-
constructor() {
|
20
|
-
this.text = model();
|
21
|
-
this.toggleableChange = output();
|
22
|
-
this.selectedChange = output();
|
23
|
-
}
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: NXButtonComponent, isStandalone: true, selector: "ng-component", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { text: "textChange", toggleableChange: "toggleableChange", selectedChange: "selectedChange" }, ngImport: i0, template: '', isInline: true }); }
|
26
|
-
}
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXButtonComponent, decorators: [{
|
28
|
-
type: Component,
|
29
|
-
args: [{
|
30
|
-
template: '',
|
31
|
-
}]
|
32
|
-
}] });
|
33
|
-
|
34
|
-
class NXColorComponent {
|
35
|
-
constructor() {
|
36
|
-
this.color = model('default');
|
37
|
-
}
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXColorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
39
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: NXColorComponent, isStandalone: true, selector: "ng-component", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { color: "colorChange" }, ngImport: i0, template: '', isInline: true }); }
|
40
|
-
}
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXColorComponent, decorators: [{
|
42
|
-
type: Component,
|
43
|
-
args: [{
|
44
|
-
template: '',
|
45
|
-
}]
|
46
|
-
}] });
|
47
|
-
|
48
|
-
class NXComponent {
|
49
|
-
constructor() {
|
50
|
-
this.#elementRef = inject(ElementRef);
|
51
|
-
this.#isRendered = signal(false);
|
52
|
-
this.isRendered = this.#isRendered.asReadonly();
|
53
|
-
this.#afterNextRender = afterNextRender(() => {
|
54
|
-
if (!this.isRendered()) {
|
55
|
-
this.nativeElement['__axContext__'] = this;
|
56
|
-
this.#isRendered.set(true);
|
57
|
-
}
|
58
|
-
});
|
59
|
-
}
|
60
|
-
#elementRef;
|
61
|
-
#isRendered;
|
62
|
-
#afterNextRender;
|
63
|
-
get nativeElement() {
|
64
|
-
return this.#elementRef.nativeElement;
|
65
|
-
}
|
66
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
67
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXComponent }); }
|
68
|
-
}
|
69
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXComponent, decorators: [{
|
70
|
-
type: Injectable
|
71
|
-
}] });
|
72
|
-
|
73
|
-
/**
|
74
|
-
* Base event class
|
75
|
-
* @category Events
|
76
|
-
*/
|
77
|
-
class NXEvent {
|
78
|
-
}
|
79
|
-
/**
|
80
|
-
* Contains native event
|
81
|
-
* @category Events
|
82
|
-
*/
|
83
|
-
class NXNativeEvent extends NXEvent {
|
84
|
-
}
|
85
|
-
/**
|
86
|
-
* Fires each time the user click the element.
|
87
|
-
* @category Events
|
88
|
-
*/
|
89
|
-
class NXClickEvent extends NXNativeEvent {
|
90
|
-
}
|
91
|
-
|
92
|
-
class NXInteractiveComponent extends NXComponent {
|
93
|
-
constructor() {
|
94
|
-
super(...arguments);
|
95
|
-
this.disabled = model(false);
|
96
|
-
this.tabIndex = model(0);
|
97
|
-
this.onFocus = output();
|
98
|
-
this.onBlur = output();
|
99
|
-
}
|
100
|
-
focus() {
|
101
|
-
AXHtmlUtil.focusElement(this.nativeElement);
|
102
|
-
}
|
103
|
-
blur() {
|
104
|
-
AXHtmlUtil.blurElement(this.nativeElement);
|
105
|
-
}
|
106
|
-
hasFocus() {
|
107
|
-
return AXHtmlUtil.hasFocus(this.nativeElement);
|
108
|
-
}
|
109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXInteractiveComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
110
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: NXInteractiveComponent, isStandalone: true, selector: "ng-component", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange", tabIndex: "tabIndexChange", onFocus: "onFocus", onBlur: "onBlur" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
111
|
-
}
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXInteractiveComponent, decorators: [{
|
113
|
-
type: Component,
|
114
|
-
args: [{
|
115
|
-
template: '',
|
116
|
-
}]
|
117
|
-
}] });
|
118
|
-
|
119
|
-
class NXLookComponent {
|
120
|
-
constructor() {
|
121
|
-
this.look = model('solid');
|
122
|
-
}
|
123
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXLookComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
124
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: NXLookComponent, isStandalone: true, selector: "ng-component", inputs: { look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { look: "lookChange" }, ngImport: i0, template: '', isInline: true }); }
|
125
|
-
}
|
126
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXLookComponent, decorators: [{
|
127
|
-
type: Component,
|
128
|
-
args: [{
|
129
|
-
template: '',
|
130
|
-
}]
|
131
|
-
}] });
|
132
|
-
|
133
|
-
class NXValueComponent {
|
134
|
-
constructor() {
|
135
|
-
this.readonly = model();
|
136
|
-
this.name = model();
|
137
|
-
this.value = model();
|
138
|
-
this.onValueChanged = output();
|
139
|
-
}
|
140
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
141
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: NXValueComponent, isStandalone: true, selector: "ng-component", inputs: { readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { readonly: "readonlyChange", name: "nameChange", value: "valueChange", onValueChanged: "onValueChanged" }, ngImport: i0, template: '', isInline: true }); }
|
142
|
-
}
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NXValueComponent, decorators: [{
|
144
|
-
type: Component,
|
145
|
-
args: [{
|
146
|
-
template: '',
|
147
|
-
}]
|
148
|
-
}] });
|
149
|
-
|
150
|
-
const defaultOffset = 3;
|
151
|
-
function convertToPlacement(value) {
|
152
|
-
const result = [];
|
153
|
-
if (value == null)
|
154
|
-
return result;
|
155
|
-
if (Array.isArray(value)) {
|
156
|
-
const list = flatten(value.map((m) => convertToPlacement(m)).filter((m) => m != null)).map((m) => clone(m));
|
157
|
-
result.push(...list);
|
158
|
-
}
|
159
|
-
else {
|
160
|
-
if (typeof value === 'string') {
|
161
|
-
const p = AX_PLACEMENT_MAP[value];
|
162
|
-
if (p) {
|
163
|
-
result.push(...[clone(p.origin), ...clone(p.alts)]);
|
164
|
-
}
|
165
|
-
}
|
166
|
-
else {
|
167
|
-
if ('originX' in value && 'originY' in value) {
|
168
|
-
result.push(clone(value));
|
169
|
-
}
|
170
|
-
}
|
171
|
-
}
|
172
|
-
return result;
|
173
|
-
}
|
174
|
-
const AX_PLACEMENT_TOP = {
|
175
|
-
originX: 'center',
|
176
|
-
originY: 'top',
|
177
|
-
overlayX: 'center',
|
178
|
-
overlayY: 'bottom',
|
179
|
-
offsetY: -defaultOffset,
|
180
|
-
};
|
181
|
-
const AX_PLACEMENT_TOP_START = {
|
182
|
-
originX: 'start',
|
183
|
-
originY: 'top',
|
184
|
-
overlayX: 'start',
|
185
|
-
overlayY: 'bottom',
|
186
|
-
offsetY: -defaultOffset,
|
187
|
-
};
|
188
|
-
const AX_PLACEMENT_TOP_END = {
|
189
|
-
originX: 'end',
|
190
|
-
originY: 'top',
|
191
|
-
overlayX: 'start',
|
192
|
-
overlayY: 'bottom',
|
193
|
-
offsetY: -defaultOffset,
|
194
|
-
};
|
195
|
-
const AX_PLACEMENT_BOTTOM = {
|
196
|
-
originX: 'center',
|
197
|
-
originY: 'bottom',
|
198
|
-
overlayX: 'center',
|
199
|
-
overlayY: 'top',
|
200
|
-
offsetY: defaultOffset,
|
201
|
-
};
|
202
|
-
const AX_PLACEMENT_BOTTOM_START = {
|
203
|
-
originX: 'start',
|
204
|
-
originY: 'bottom',
|
205
|
-
overlayX: 'start',
|
206
|
-
overlayY: 'top',
|
207
|
-
offsetY: defaultOffset,
|
208
|
-
};
|
209
|
-
const AX_PLACEMENT_BOTTOM_END = {
|
210
|
-
originX: 'end',
|
211
|
-
originY: 'bottom',
|
212
|
-
overlayX: 'end',
|
213
|
-
overlayY: 'top',
|
214
|
-
offsetY: defaultOffset,
|
215
|
-
};
|
216
|
-
const AX_PLACEMENT_START = {
|
217
|
-
originX: 'start',
|
218
|
-
originY: 'center',
|
219
|
-
overlayX: 'end',
|
220
|
-
overlayY: 'center',
|
221
|
-
offsetX: -defaultOffset,
|
222
|
-
};
|
223
|
-
const AX_PLACEMENT_START_TOP = {
|
224
|
-
originX: 'start',
|
225
|
-
originY: 'top',
|
226
|
-
overlayX: 'end',
|
227
|
-
overlayY: 'top',
|
228
|
-
offsetX: -defaultOffset,
|
229
|
-
};
|
230
|
-
const AX_PLACEMENT_START_BOTTOM = {
|
231
|
-
originX: 'start',
|
232
|
-
originY: 'bottom',
|
233
|
-
overlayX: 'end',
|
234
|
-
overlayY: 'bottom',
|
235
|
-
offsetX: -defaultOffset,
|
236
|
-
};
|
237
|
-
const AX_PLACEMENT_END = {
|
238
|
-
originX: 'end',
|
239
|
-
originY: 'center',
|
240
|
-
overlayX: 'start',
|
241
|
-
overlayY: 'center',
|
242
|
-
offsetX: defaultOffset,
|
243
|
-
};
|
244
|
-
const AX_PLACEMENT_END_TOP = {
|
245
|
-
originX: 'end',
|
246
|
-
originY: 'top',
|
247
|
-
overlayX: 'start',
|
248
|
-
overlayY: 'top',
|
249
|
-
offsetX: defaultOffset,
|
250
|
-
};
|
251
|
-
const AX_PLACEMENT_END_BOTTOM = {
|
252
|
-
originX: 'end',
|
253
|
-
originY: 'bottom',
|
254
|
-
overlayX: 'start',
|
255
|
-
overlayY: 'bottom',
|
256
|
-
offsetX: defaultOffset,
|
257
|
-
};
|
258
|
-
const AX_PLACEMENT_MAP = {
|
259
|
-
top: {
|
260
|
-
origin: AX_PLACEMENT_TOP,
|
261
|
-
alts: [AX_PLACEMENT_BOTTOM],
|
262
|
-
},
|
263
|
-
'top-start': {
|
264
|
-
origin: AX_PLACEMENT_TOP_START,
|
265
|
-
alts: [AX_PLACEMENT_BOTTOM_START],
|
266
|
-
},
|
267
|
-
'top-end': {
|
268
|
-
origin: AX_PLACEMENT_TOP_END,
|
269
|
-
alts: [AX_PLACEMENT_BOTTOM_END],
|
270
|
-
},
|
271
|
-
bottom: {
|
272
|
-
origin: AX_PLACEMENT_BOTTOM,
|
273
|
-
alts: [AX_PLACEMENT_BOTTOM],
|
274
|
-
},
|
275
|
-
'bottom-start': {
|
276
|
-
origin: AX_PLACEMENT_BOTTOM_START,
|
277
|
-
alts: [AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_TOP_START, AX_PLACEMENT_TOP_END, AX_PLACEMENT_START, AX_PLACEMENT_END],
|
278
|
-
},
|
279
|
-
'bottom-end': {
|
280
|
-
origin: AX_PLACEMENT_BOTTOM_END,
|
281
|
-
alts: [AX_PLACEMENT_TOP_END],
|
282
|
-
},
|
283
|
-
end: {
|
284
|
-
origin: AX_PLACEMENT_END,
|
285
|
-
alts: [AX_PLACEMENT_START],
|
286
|
-
},
|
287
|
-
'end-top': {
|
288
|
-
origin: AX_PLACEMENT_END_TOP,
|
289
|
-
alts: [AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_START_BOTTOM],
|
290
|
-
},
|
291
|
-
'end-bottom': {
|
292
|
-
origin: AX_PLACEMENT_END_BOTTOM,
|
293
|
-
alts: [AX_PLACEMENT_END_TOP, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP],
|
294
|
-
},
|
295
|
-
start: {
|
296
|
-
origin: AX_PLACEMENT_START,
|
297
|
-
alts: [AX_PLACEMENT_END],
|
298
|
-
},
|
299
|
-
'start-top': {
|
300
|
-
origin: AX_PLACEMENT_START_TOP,
|
301
|
-
alts: [AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_END_BOTTOM],
|
302
|
-
},
|
303
|
-
'start-bottom': {
|
304
|
-
origin: AX_PLACEMENT_START_BOTTOM,
|
305
|
-
alts: [AX_PLACEMENT_START_TOP, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP],
|
306
|
-
},
|
307
|
-
};
|
308
|
-
|
309
|
-
/**
|
310
|
-
* A token that specifies the selection mode of component.
|
311
|
-
*/
|
312
|
-
|
313
|
-
class AXDomService {
|
314
|
-
generateElementId() {
|
315
|
-
const dateString = Date.now().toString(36);
|
316
|
-
const randomness = Math.random().toString(36).substr(2);
|
317
|
-
return dateString + randomness;
|
318
|
-
}
|
319
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXDomService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
320
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXDomService, providedIn: 'root' }); }
|
321
|
-
}
|
322
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXDomService, decorators: [{
|
323
|
-
type: Injectable,
|
324
|
-
args: [{ providedIn: 'root' }]
|
325
|
-
}] });
|
326
|
-
|
327
|
-
class MXBaseComponent {
|
328
|
-
constructor() {
|
329
|
-
this._cdr = inject(ChangeDetectorRef);
|
330
|
-
this._elementRef = inject(ElementRef);
|
331
|
-
this._viewRef = inject(ViewContainerRef);
|
332
|
-
this._domService = inject(AXDomService);
|
333
|
-
this._id = this._domService.generateElementId();
|
334
|
-
/**
|
335
|
-
* Fired when an option related to the component changes.
|
336
|
-
*
|
337
|
-
* @event
|
338
|
-
*/
|
339
|
-
this.onOptionChanged = new EventEmitter();
|
340
|
-
}
|
341
|
-
get id() {
|
342
|
-
return this._id;
|
343
|
-
}
|
344
|
-
set id(v) {
|
345
|
-
this._id = v;
|
346
|
-
}
|
347
|
-
get cdr() {
|
348
|
-
return this._cdr;
|
349
|
-
}
|
350
|
-
getHostElement() {
|
351
|
-
return this._elementRef?.nativeElement;
|
352
|
-
}
|
353
|
-
getViewContainer() {
|
354
|
-
return this._viewRef;
|
355
|
-
}
|
356
|
-
internalOptionChanging(option) {
|
357
|
-
return option?.value;
|
358
|
-
}
|
359
|
-
internalOptionChanged(option) { }
|
360
|
-
/**
|
361
|
-
* @ignore
|
362
|
-
*/
|
363
|
-
ngOnInit() {
|
364
|
-
this.getHostElement().__axContext__ = this;
|
365
|
-
}
|
366
|
-
setOption(option) {
|
367
|
-
const oldValue = this[option.name];
|
368
|
-
let newValue = this.internalOptionChanging({
|
369
|
-
name: option.name,
|
370
|
-
value: option.value,
|
371
|
-
});
|
372
|
-
if (option.beforeCallback) {
|
373
|
-
newValue = option.beforeCallback(oldValue, newValue);
|
374
|
-
}
|
375
|
-
//TODO : check real changes if value is object
|
376
|
-
if (oldValue != newValue) {
|
377
|
-
this[`_${option.name}`] = option.value;
|
378
|
-
this.onOptionChanged.emit({
|
379
|
-
component: this,
|
380
|
-
name: option.name,
|
381
|
-
newValue,
|
382
|
-
oldValue,
|
383
|
-
});
|
384
|
-
const emitter = this[`${option.name}Change`];
|
385
|
-
emitter?.emit(newValue);
|
386
|
-
this.internalOptionChanged({ name: option.name, value: newValue });
|
387
|
-
}
|
388
|
-
if (option.afterCallback)
|
389
|
-
option.afterCallback(oldValue, newValue);
|
390
|
-
}
|
391
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
392
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXBaseComponent }); }
|
393
|
-
}
|
394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXBaseComponent, decorators: [{
|
395
|
-
type: Injectable
|
396
|
-
}] });
|
397
|
-
|
398
|
-
class MXInteractiveComponent extends MXBaseComponent {
|
399
|
-
constructor() {
|
400
|
-
super(...arguments);
|
401
|
-
/**
|
402
|
-
* @ignore
|
403
|
-
*/
|
404
|
-
this.onTouchedCallback = noop;
|
405
|
-
this._touched = false;
|
406
|
-
/**
|
407
|
-
* Emits an event whenever the disabled state of the component changes.
|
408
|
-
*
|
409
|
-
* @event
|
410
|
-
*/
|
411
|
-
this.disabledChange = new EventEmitter();
|
412
|
-
this._tabIndex = 0;
|
413
|
-
/**
|
414
|
-
* Fires each time the component gets focused.
|
415
|
-
* @event
|
416
|
-
*/
|
417
|
-
this.onFocus = new EventEmitter();
|
418
|
-
/**
|
419
|
-
* Fires each time the component gets blurred.
|
420
|
-
* @event
|
421
|
-
*/
|
422
|
-
this.onBlur = new EventEmitter();
|
423
|
-
// private _focused = signal(false);
|
424
|
-
// protected markAsFocused() {
|
425
|
-
// this._focused.set(true);
|
426
|
-
// }
|
427
|
-
// protected markAsBlured() {
|
428
|
-
// this._focused.set(false);
|
429
|
-
// }
|
430
|
-
}
|
431
|
-
registerOnTouched(fn) {
|
432
|
-
this.onTouchedCallback = fn;
|
433
|
-
}
|
434
|
-
/**
|
435
|
-
* Indicates whether the component has been touched.
|
436
|
-
*
|
437
|
-
*/
|
438
|
-
get touched() {
|
439
|
-
return this._touched;
|
440
|
-
}
|
441
|
-
/**
|
442
|
-
* @ignore
|
443
|
-
*/
|
444
|
-
markAsTouched() {
|
445
|
-
if (!this.touched) {
|
446
|
-
this.onTouchedCallback();
|
447
|
-
this._touched = true;
|
448
|
-
}
|
449
|
-
}
|
450
|
-
/**
|
451
|
-
* If set to true, it disables the component.
|
452
|
-
*/
|
453
|
-
get disabled() {
|
454
|
-
return this._disabled;
|
455
|
-
}
|
456
|
-
set disabled(value) {
|
457
|
-
value = coerceBooleanProperty(value);
|
458
|
-
this.setOption({
|
459
|
-
name: 'disabled',
|
460
|
-
value,
|
461
|
-
afterCallback: () => {
|
462
|
-
this.cdr.markForCheck();
|
463
|
-
},
|
464
|
-
});
|
465
|
-
}
|
466
|
-
setDisabledState(isDisabled) {
|
467
|
-
this.disabled = isDisabled;
|
468
|
-
}
|
469
|
-
/**
|
470
|
-
* Specifies the tabindex of the component.
|
471
|
-
*/
|
472
|
-
get tabIndex() {
|
473
|
-
return this.disabled ? -1 : this._tabIndex;
|
474
|
-
}
|
475
|
-
set tabIndex(value) {
|
476
|
-
this.setOption({
|
477
|
-
name: 'tabIndex',
|
478
|
-
value: value != null ? coerceNumberProperty(value) : 0,
|
479
|
-
});
|
480
|
-
}
|
481
|
-
emitOnFocusEvent(e) {
|
482
|
-
this.onFocus.emit({
|
483
|
-
component: this,
|
484
|
-
htmlElement: this.getHostElement(),
|
485
|
-
nativeEvent: e,
|
486
|
-
});
|
487
|
-
}
|
488
|
-
emitOnBlurEvent(e) {
|
489
|
-
this.markAsTouched();
|
490
|
-
this.onBlur.emit({
|
491
|
-
component: this,
|
492
|
-
htmlElement: this.getHostElement(),
|
493
|
-
nativeEvent: e,
|
494
|
-
});
|
495
|
-
}
|
496
|
-
// /**
|
497
|
-
// * Fires each time the user clicks the button.
|
498
|
-
// * @event
|
499
|
-
// */
|
500
|
-
// onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();
|
501
|
-
// protected emitOnClickEvent(e: MouseEvent): void {
|
502
|
-
// this.onClick.emit({
|
503
|
-
// component: this,
|
504
|
-
// htmlElement: this.getHostElement(),
|
505
|
-
// nativeEvent: e,
|
506
|
-
// });
|
507
|
-
// }
|
508
|
-
focus() {
|
509
|
-
AXHtmlUtil.focusElement(this.getHostElement());
|
510
|
-
}
|
511
|
-
blur() {
|
512
|
-
AXHtmlUtil.blurElement(this.getHostElement());
|
513
|
-
}
|
514
|
-
/**
|
515
|
-
* Check component is focused or has any focused element.
|
516
|
-
*/
|
517
|
-
hasFocus() {
|
518
|
-
return AXHtmlUtil.hasFocus(this.getHostElement());
|
519
|
-
}
|
520
|
-
}
|
521
|
-
|
522
|
-
class MXValueComponent extends MXInteractiveComponent {
|
523
|
-
constructor() {
|
524
|
-
super(...arguments);
|
525
|
-
/**
|
526
|
-
* Fires each time the user press a key.
|
527
|
-
* @event
|
528
|
-
*/
|
529
|
-
this.onValueChanged = new EventEmitter();
|
530
|
-
/**
|
531
|
-
* @deprecated The event should not be used, use ngModelChange instead
|
532
|
-
*/
|
533
|
-
this.valueChange = new EventEmitter();
|
534
|
-
this.readonlyChange = new EventEmitter();
|
535
|
-
this._readonly = false;
|
536
|
-
this._dirty = false;
|
537
|
-
this._isUserInteraction = false;
|
538
|
-
this.stateChange = new EventEmitter();
|
539
|
-
this._state = 'clear';
|
540
|
-
this.document = inject(DOCUMENT);
|
541
|
-
this.platformID = inject(PLATFORM_ID);
|
542
|
-
this.validationService = inject(AXValidationService);
|
543
|
-
this.validationRulesChange = new EventEmitter();
|
544
|
-
this.validationRules = [];
|
545
|
-
this.onChangeCallback = noop;
|
546
|
-
}
|
547
|
-
/**
|
548
|
-
* If set to true, user cannot change the value of component.
|
549
|
-
*/
|
550
|
-
get readonly() {
|
551
|
-
return this._readonly;
|
552
|
-
}
|
553
|
-
set readonly(value) {
|
554
|
-
value = coerceBooleanProperty(value);
|
555
|
-
this.setOption({
|
556
|
-
name: 'readonly',
|
557
|
-
value,
|
558
|
-
afterCallback: () => {
|
559
|
-
this.cdr.markForCheck();
|
560
|
-
},
|
561
|
-
});
|
562
|
-
}
|
563
|
-
get name() {
|
564
|
-
return this._name;
|
565
|
-
}
|
566
|
-
set name(value) {
|
567
|
-
this._name = value;
|
568
|
-
}
|
569
|
-
get dirty() {
|
570
|
-
return this._dirty;
|
571
|
-
}
|
572
|
-
markAsDirty() {
|
573
|
-
this._dirty = true;
|
574
|
-
}
|
575
|
-
/**
|
576
|
-
* @deprecated The property should not be used, use ngModel instead
|
577
|
-
*/
|
578
|
-
get value() {
|
579
|
-
return this.internalGetValue(this._value) ?? this.defaultValue;
|
580
|
-
}
|
581
|
-
set value(v) {
|
582
|
-
v = this.internalSetValue(v);
|
583
|
-
const old = cloneDeep(this.value);
|
584
|
-
if (v === null || v === undefined || v === '' || (Array.isArray(v) && v.length === 0)) {
|
585
|
-
this.setState('clear');
|
586
|
-
if (old === null || old === undefined || old === '' || (Array.isArray(old) && old.length === 0)) {
|
587
|
-
return;
|
588
|
-
}
|
589
|
-
}
|
590
|
-
if (!isEqual(old, v)) {
|
591
|
-
this._value = v;
|
592
|
-
this.emitOnValueChangedEvent(old, this.value);
|
593
|
-
this.internalValueChanged(this.value);
|
594
|
-
}
|
595
|
-
}
|
596
|
-
get state() {
|
597
|
-
return this._state;
|
598
|
-
}
|
599
|
-
set state(value) {
|
600
|
-
this.setState(value);
|
601
|
-
this.stateChange.emit(value);
|
602
|
-
}
|
603
|
-
emitOnValueChangedEvent(oldValue, newValue) {
|
604
|
-
this.valueChange.emit(newValue);
|
605
|
-
this.onValueChanged.emit({
|
606
|
-
component: this,
|
607
|
-
value: newValue,
|
608
|
-
oldValue: oldValue,
|
609
|
-
name: this.name,
|
610
|
-
isUserInteraction: this._isUserInteraction,
|
611
|
-
});
|
612
|
-
this.onChangeCallback(newValue);
|
613
|
-
this.cdr.markForCheck();
|
614
|
-
this._isUserInteraction = false;
|
615
|
-
}
|
616
|
-
internalSetValue(value) {
|
617
|
-
return value;
|
618
|
-
}
|
619
|
-
internalGetValue(value) {
|
620
|
-
return value;
|
621
|
-
}
|
622
|
-
internalValueChanged(value) { }
|
623
|
-
ngOnInit() {
|
624
|
-
super.ngOnInit();
|
625
|
-
//
|
626
|
-
this.registerValidation();
|
627
|
-
}
|
628
|
-
ngOnDestroy() {
|
629
|
-
this.onValueChanged?.unsubscribe();
|
630
|
-
this.onOptionChanged?.unsubscribe();
|
631
|
-
}
|
632
|
-
registerValidation() {
|
633
|
-
const a = this.getHostElement().querySelectorAll('[ax-form-item="true"]');
|
634
|
-
a.forEach((c) => {
|
635
|
-
c.removeAttribute('ax-form-item');
|
636
|
-
});
|
637
|
-
this.getHostElement().setAttribute('ax-form-item', 'true');
|
638
|
-
}
|
639
|
-
get isRequired() {
|
640
|
-
return this.validationRules?.some((c) => c.rule == 'required');
|
641
|
-
}
|
642
|
-
addValidationRule(rule) {
|
643
|
-
this.validationRules.push(rule);
|
644
|
-
this.validationRulesChange.emit(this.validationRules);
|
645
|
-
}
|
646
|
-
removeValidationRule(ruleToRemove) {
|
647
|
-
this.validationRules = this.validationRules.filter((r) => {
|
648
|
-
if (r.rule !== ruleToRemove.rule) {
|
649
|
-
return true;
|
650
|
-
}
|
651
|
-
// Create copies of options without the 'title' property
|
652
|
-
const rOptionsSanitized = omit(r.options, ['title']);
|
653
|
-
const ruleToRemoveOptionsSanitized = omit(ruleToRemove.options, ['title']);
|
654
|
-
return !isEqual(rOptionsSanitized, ruleToRemoveOptionsSanitized);
|
655
|
-
});
|
656
|
-
this.validationRulesChange.emit(this.validationRules);
|
657
|
-
this.setState('clear');
|
658
|
-
}
|
659
|
-
async validate() {
|
660
|
-
const container_classes = ['ax-editor-container', 'ax-checkbox', 'ax-radio'];
|
661
|
-
const container = container_classes.some((c) => this.getHostElement().classList.contains(c))
|
662
|
-
? this.getHostElement()
|
663
|
-
: this.getHostElement().querySelector('.ax-editor-container');
|
664
|
-
const formField = container?.closest('ax-form-field') || container?.closest('ax-checkbox');
|
665
|
-
const label = formField?.querySelector('ax-label') || formField?.querySelector('label');
|
666
|
-
//
|
667
|
-
const rules = this.validationService.ruleFor(this.value);
|
668
|
-
this.validationRules.forEach((r) => {
|
669
|
-
r.options['title'] = (label?.firstChild?.textContent ?? this.name)?.replace('*', '').trim();
|
670
|
-
rules.addRule(r.rule, r.options);
|
671
|
-
});
|
672
|
-
const result = await rules.validate();
|
673
|
-
if (result.result) {
|
674
|
-
this.setState('clear');
|
675
|
-
}
|
676
|
-
else {
|
677
|
-
const message = result.rules.find((c) => !c.result).message;
|
678
|
-
this.setState('error', message);
|
679
|
-
}
|
680
|
-
return result;
|
681
|
-
}
|
682
|
-
setState(state, ...args) {
|
683
|
-
//TODO: find a better solution
|
684
|
-
if (isBrowser()) {
|
685
|
-
const container = this.getHostElement().classList.contains('ax-editor-container')
|
686
|
-
? this.getHostElement()
|
687
|
-
: this.getHostElement().querySelector('.ax-editor-container');
|
688
|
-
const formField = container?.closest('ax-form-field');
|
689
|
-
const label = formField?.querySelector('ax-label') || formField?.querySelector('label');
|
690
|
-
let target = container || this.getHostElement().firstElementChild;
|
691
|
-
if (target?.querySelector('.ax-error-container')) {
|
692
|
-
target = target.querySelector('.ax-error-container');
|
693
|
-
}
|
694
|
-
const parent = target?.parentElement;
|
695
|
-
if (!target || !parent)
|
696
|
-
return;
|
697
|
-
switch (state) {
|
698
|
-
case 'clear':
|
699
|
-
this._state = 'clear';
|
700
|
-
if (parent.querySelector('span.ax-error-message')) {
|
701
|
-
parent.removeChild(parent.querySelector('span.ax-error-message'));
|
702
|
-
}
|
703
|
-
label?.classList.remove('ax-state-error');
|
704
|
-
target.classList.remove('ax-state-error', 'ax-state-success');
|
705
|
-
break;
|
706
|
-
case 'success':
|
707
|
-
this.setState('clear');
|
708
|
-
target.classList.add('ax-state-success');
|
709
|
-
this._state = 'success';
|
710
|
-
break;
|
711
|
-
case 'error':
|
712
|
-
this.setState('clear');
|
713
|
-
if (args[0] && isPlatformBrowser(this.platformID)) {
|
714
|
-
const span = this.document.createElement('span');
|
715
|
-
span.innerHTML = args[0];
|
716
|
-
span.classList.add('ax-error-message');
|
717
|
-
parent.appendChild(span);
|
718
|
-
}
|
719
|
-
label?.classList.add('ax-state-error');
|
720
|
-
target.classList.add('ax-state-error');
|
721
|
-
this._state = 'error';
|
722
|
-
break;
|
723
|
-
}
|
724
|
-
this.cdr.markForCheck();
|
725
|
-
}
|
726
|
-
}
|
727
|
-
registerOnChange(fn) {
|
728
|
-
this.onChangeCallback = fn;
|
729
|
-
}
|
730
|
-
writeValue(value) {
|
731
|
-
this.value = value;
|
732
|
-
}
|
733
|
-
commitValue(value, u = false) {
|
734
|
-
if (u) {
|
735
|
-
this.markAsTouched();
|
736
|
-
this.markAsDirty();
|
737
|
-
this._isUserInteraction = true;
|
738
|
-
}
|
739
|
-
this.writeValue(value);
|
740
|
-
}
|
741
|
-
reset(e = false) {
|
742
|
-
this.commitValue(null, e);
|
743
|
-
}
|
744
|
-
resetErrors() {
|
745
|
-
this.setState('clear');
|
746
|
-
}
|
747
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
748
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXValueComponent }); }
|
749
|
-
}
|
750
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXValueComponent, decorators: [{
|
751
|
-
type: Injectable
|
752
|
-
}] });
|
753
|
-
|
754
|
-
/**
|
755
|
-
* Contains native event
|
756
|
-
* @category Events
|
757
|
-
*/
|
758
|
-
class AXEvent {
|
759
|
-
constructor() {
|
760
|
-
this.isUserInteraction = false;
|
761
|
-
}
|
762
|
-
}
|
763
|
-
/**
|
764
|
-
* Contains native event
|
765
|
-
* @category Events
|
766
|
-
*/
|
767
|
-
class AXHtmlEvent extends AXEvent {
|
768
|
-
}
|
769
|
-
/**
|
770
|
-
* Contains native event
|
771
|
-
* @category Events
|
772
|
-
*/
|
773
|
-
class AXValueChangedEvent extends AXEvent {
|
774
|
-
}
|
775
|
-
/**
|
776
|
-
* Contains native event
|
777
|
-
* @category Events
|
778
|
-
*/
|
779
|
-
class AXOptionChangedEvent extends AXEvent {
|
780
|
-
}
|
781
|
-
/**
|
782
|
-
* Fires each time the user click the element.
|
783
|
-
* @category Events
|
784
|
-
*/
|
785
|
-
class AXClickEvent extends AXHtmlEvent {
|
786
|
-
constructor() {
|
787
|
-
super(...arguments);
|
788
|
-
/**
|
789
|
-
* uses for extra data
|
790
|
-
*/
|
791
|
-
this.data = null;
|
792
|
-
this.nativeEvent = null;
|
793
|
-
}
|
794
|
-
}
|
795
|
-
/**
|
796
|
-
* Fires each time the user click the element.
|
797
|
-
* @category Events
|
798
|
-
*/
|
799
|
-
class AXButtonClickEvent extends AXClickEvent {
|
800
|
-
}
|
801
|
-
/**
|
802
|
-
* Fires each time the user click the element.
|
803
|
-
* @category Events
|
804
|
-
*/
|
805
|
-
class AXItemClickEvent extends AXClickEvent {
|
806
|
-
}
|
807
|
-
/**
|
808
|
-
* Fires each time the component gets focused.
|
809
|
-
* @category Events
|
810
|
-
*/
|
811
|
-
class AXFocusEvent extends AXHtmlEvent {
|
812
|
-
}
|
813
|
-
/**
|
814
|
-
* Fires each time an item or multiple items selected by the user or value.
|
815
|
-
* @category Events
|
816
|
-
*/
|
817
|
-
class AXSelectionValueChangedEvent extends AXValueChangedEvent {
|
818
|
-
constructor() {
|
819
|
-
super(...arguments);
|
820
|
-
this.value = null;
|
821
|
-
this.oldValue = null;
|
822
|
-
this.selectedKeys = [];
|
823
|
-
this.selectedItems = [];
|
824
|
-
}
|
825
|
-
}
|
826
|
-
/**
|
827
|
-
* Contains range start & end values
|
828
|
-
* @category Events
|
829
|
-
*/
|
830
|
-
class AXRangeChangedEvent extends AXEvent {
|
831
|
-
}
|
832
|
-
|
833
|
-
const TAB_META_KEY = '__meta__';
|
834
|
-
class AXComponentCloseEvent extends AXEvent {
|
835
|
-
}
|
836
|
-
class AXComponentClosing {
|
837
|
-
constructor() {
|
838
|
-
this.cancel = false;
|
839
|
-
}
|
840
|
-
}
|
841
|
-
class AXComponentResult {
|
842
|
-
}
|
843
|
-
/**
|
844
|
-
* Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text.
|
845
|
-
*/
|
846
|
-
class AXComponentClosedPromise extends Promise {
|
847
|
-
constructor(executor) {
|
848
|
-
super(executor);
|
849
|
-
}
|
850
|
-
close() {
|
851
|
-
if (this.closeMethod) {
|
852
|
-
this.closeMethod();
|
853
|
-
}
|
854
|
-
}
|
855
|
-
}
|
856
|
-
class AXComponent {
|
857
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
858
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXComponent }); }
|
859
|
-
}
|
860
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXComponent, decorators: [{
|
861
|
-
type: Injectable
|
862
|
-
}] });
|
863
|
-
class AXClosbaleComponent extends AXComponent {
|
864
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXClosbaleComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
865
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXClosbaleComponent }); }
|
866
|
-
}
|
867
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXClosbaleComponent, decorators: [{
|
868
|
-
type: Injectable
|
869
|
-
}] });
|
870
|
-
class AXClearableComponent extends AXComponent {
|
871
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXClearableComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
872
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXClearableComponent }); }
|
873
|
-
}
|
874
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXClearableComponent, decorators: [{
|
875
|
-
type: Injectable
|
876
|
-
}] });
|
877
|
-
class AXSearchableComponent extends AXComponent {
|
878
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXSearchableComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
879
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXSearchableComponent }); }
|
880
|
-
}
|
881
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXSearchableComponent, decorators: [{
|
882
|
-
type: Injectable
|
883
|
-
}] });
|
884
|
-
class AXValuableComponent extends AXComponent {
|
885
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXValuableComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
886
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXValuableComponent }); }
|
887
|
-
}
|
888
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXValuableComponent, decorators: [{
|
889
|
-
type: Injectable
|
890
|
-
}] });
|
891
|
-
class AXFocusableComponent extends AXComponent {
|
892
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXFocusableComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
893
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXFocusableComponent }); }
|
894
|
-
}
|
895
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXFocusableComponent, decorators: [{
|
896
|
-
type: Injectable
|
897
|
-
}] });
|
898
|
-
class AXPagedComponent extends AXComponent {
|
899
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPagedComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
900
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPagedComponent }); }
|
901
|
-
}
|
902
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPagedComponent, decorators: [{
|
903
|
-
type: Injectable
|
904
|
-
}] });
|
905
|
-
class AXAutocompleteParentComponent extends MXValueComponent {
|
906
|
-
constructor() {
|
907
|
-
super(...arguments);
|
908
|
-
this.onKeyDown = new EventEmitter();
|
909
|
-
this.onItemSelected = new EventEmitter();
|
910
|
-
}
|
911
|
-
emitOnItemSelected(value, isUserInteraction = false) {
|
912
|
-
if (isEqual(value, this.oldInputEmitValue))
|
913
|
-
return;
|
914
|
-
this.onItemSelected.emit({
|
915
|
-
value,
|
916
|
-
name: this.name,
|
917
|
-
component: this,
|
918
|
-
isUserInteraction,
|
919
|
-
oldValue: this.oldInputEmitValue,
|
920
|
-
htmlElement: this.getHostElement(),
|
921
|
-
});
|
922
|
-
this.oldInputEmitValue = value;
|
923
|
-
}
|
924
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXAutocompleteParentComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
925
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXAutocompleteParentComponent }); }
|
926
|
-
}
|
927
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXAutocompleteParentComponent, decorators: [{
|
928
|
-
type: Injectable
|
929
|
-
}] });
|
930
|
-
|
931
|
-
class AXListDataSource extends DataSource {
|
932
|
-
get range() {
|
933
|
-
return this._range;
|
934
|
-
}
|
935
|
-
/**
|
936
|
-
* @ignore
|
937
|
-
*/
|
938
|
-
constructor(config) {
|
939
|
-
super();
|
940
|
-
this.config = config;
|
941
|
-
this.debounceTime = 0;
|
942
|
-
this.subscription = new Subscription();
|
943
|
-
this._range = { start: 0, end: 0 };
|
944
|
-
this.source = config.source;
|
945
|
-
if (config.debounceTime)
|
946
|
-
this.debounceTime = config.debounceTime;
|
947
|
-
//
|
948
|
-
this.dataStream = new BehaviorSubject(this.config.source.cachedItems);
|
949
|
-
this.source.onChanged.subscribe((data) => {
|
950
|
-
this.dataStream.next(data.cachedItems);
|
951
|
-
});
|
952
|
-
}
|
953
|
-
connect(collectionViewer) {
|
954
|
-
this.subscription.add(collectionViewer.viewChange
|
955
|
-
.pipe(debounceTime(this.debounceTime))
|
956
|
-
.pipe(distinctUntilChanged())
|
957
|
-
.subscribe((range) => {
|
958
|
-
this._range = range;
|
959
|
-
const startPage = this.getPageForIndex(range.start);
|
960
|
-
const endPage = this.getPageForIndex(range.end - 1);
|
961
|
-
for (let i = startPage; i <= endPage; i++) {
|
962
|
-
this.source.setPage(i);
|
963
|
-
}
|
964
|
-
}));
|
965
|
-
return this.dataStream;
|
966
|
-
}
|
967
|
-
disconnect() {
|
968
|
-
this.subscription.unsubscribe();
|
969
|
-
}
|
970
|
-
getPageForIndex(index) {
|
971
|
-
return Math.floor(index / this.source.config.pageSize);
|
972
|
-
}
|
973
|
-
refresh() {
|
974
|
-
this.dataStream.next(new Array(this.source.pageSize));
|
975
|
-
this.source.refresh();
|
976
|
-
}
|
977
|
-
}
|
978
|
-
|
979
|
-
class AXDataSource {
|
980
|
-
get totalCount() {
|
981
|
-
return this._totalCount;
|
982
|
-
}
|
983
|
-
get totalPages() {
|
984
|
-
return Math.ceil(this.totalCount / this.config.pageSize);
|
985
|
-
}
|
986
|
-
get pageSize() {
|
987
|
-
return this.config.pageSize;
|
988
|
-
}
|
989
|
-
get cachedItems() {
|
990
|
-
return this._cachedItems;
|
991
|
-
}
|
992
|
-
get items() {
|
993
|
-
return this._items;
|
994
|
-
}
|
995
|
-
get query() {
|
996
|
-
return this._query;
|
997
|
-
}
|
998
|
-
get isLoading() {
|
999
|
-
return this._isLoading;
|
1000
|
-
}
|
1001
|
-
constructor(config) {
|
1002
|
-
this.useCache = true;
|
1003
|
-
this._totalCount = 0;
|
1004
|
-
this._items = [];
|
1005
|
-
this.fetchedPages = new Set();
|
1006
|
-
this._page = 0;
|
1007
|
-
this._query = { skip: 0, take: 0, sort: [] };
|
1008
|
-
this.onChanged = new Subject();
|
1009
|
-
this.onItemExpanded = new Subject();
|
1010
|
-
this.onItemRefreshChildren = new Subject();
|
1011
|
-
this.onLoadingChanged = new Subject();
|
1012
|
-
this._isLoading = false;
|
1013
|
-
this.config = config;
|
1014
|
-
this._cachedItems = new Array(this.config.pageSize);
|
1015
|
-
this._items = new Array(0);
|
1016
|
-
this._query.take = this.config.pageSize;
|
1017
|
-
}
|
1018
|
-
load() {
|
1019
|
-
const page = this._page;
|
1020
|
-
if (this.fetchedPages.has(page) && this.useCache) {
|
1021
|
-
return;
|
1022
|
-
}
|
1023
|
-
this.setLoadingState(true);
|
1024
|
-
this.fetchedPages.add(page);
|
1025
|
-
this._query.take = this.config.pageSize;
|
1026
|
-
this._query.skip = page * this.config.pageSize;
|
1027
|
-
this.config
|
1028
|
-
.load({ ...this._query })
|
1029
|
-
.then((result) => {
|
1030
|
-
if (this._totalCount != result.total) {
|
1031
|
-
this._cachedItems = new Array(result.total);
|
1032
|
-
this._totalCount = result.total;
|
1033
|
-
}
|
1034
|
-
this._items = result.items;
|
1035
|
-
this._cachedItems.splice(page * this.config.pageSize, this.config.pageSize, ...result.items);
|
1036
|
-
const event = {
|
1037
|
-
cachedItems: this.cachedItems,
|
1038
|
-
items: this.items,
|
1039
|
-
page: page,
|
1040
|
-
totalCount: this.totalCount,
|
1041
|
-
totalPages: this.totalPages,
|
1042
|
-
};
|
1043
|
-
this.onChanged.next(event);
|
1044
|
-
})
|
1045
|
-
.finally(() => {
|
1046
|
-
this.setLoadingState(false);
|
1047
|
-
});
|
1048
|
-
}
|
1049
|
-
async getItemsByFilter(filter) {
|
1050
|
-
return await this.config.load({ ...this.query, filter });
|
1051
|
-
}
|
1052
|
-
setLoadingState(value) {
|
1053
|
-
this._isLoading = value;
|
1054
|
-
this.onLoadingChanged.next(this._isLoading);
|
1055
|
-
}
|
1056
|
-
setPage(page) {
|
1057
|
-
if (this._page != page || this._items.length == 0) {
|
1058
|
-
this._page = page;
|
1059
|
-
this.load();
|
1060
|
-
}
|
1061
|
-
}
|
1062
|
-
setPageSize(pageSize) {
|
1063
|
-
this.config.pageSize = pageSize;
|
1064
|
-
this.load();
|
1065
|
-
}
|
1066
|
-
filter(value) {
|
1067
|
-
this._query.filter = value;
|
1068
|
-
}
|
1069
|
-
sort(...value) {
|
1070
|
-
this._query.sort = value;
|
1071
|
-
}
|
1072
|
-
clearFilter() {
|
1073
|
-
this._query.filter = null;
|
1074
|
-
}
|
1075
|
-
reset() {
|
1076
|
-
this._query.filter = null;
|
1077
|
-
this._query.sort = [];
|
1078
|
-
this._query.skip = 0;
|
1079
|
-
this._items = new Array(0);
|
1080
|
-
this._cachedItems = new Array(this.config.pageSize);
|
1081
|
-
this.fetchedPages.clear();
|
1082
|
-
this._page = 0;
|
1083
|
-
this._totalCount = 0;
|
1084
|
-
}
|
1085
|
-
refresh() {
|
1086
|
-
const currentFilter = this._query.filter;
|
1087
|
-
const currentSort = this._query.sort;
|
1088
|
-
this.reset();
|
1089
|
-
this._query.filter = currentFilter;
|
1090
|
-
this._query.sort = currentSort;
|
1091
|
-
this.load();
|
1092
|
-
}
|
1093
|
-
find(key) {
|
1094
|
-
const fromCache = this.cachedItems.find((c) => (!this.config.key && c == key) || (c && this.config.key && c[this.config.key] == key));
|
1095
|
-
if (fromCache)
|
1096
|
-
return fromCache;
|
1097
|
-
return this.config.byKey ? this.config.byKey(key) : null;
|
1098
|
-
}
|
1099
|
-
}
|
1100
|
-
function convertArrayToDataSource(items, options = { key: 'id', pageSize: 100 }) {
|
1101
|
-
const config = {
|
1102
|
-
key: options.key,
|
1103
|
-
pageSize: options.pageSize,
|
1104
|
-
load: async (e) => {
|
1105
|
-
const result = e.filter ? handleSearch(items, e.filter) : items;
|
1106
|
-
return {
|
1107
|
-
items: result.slice(e.skip, e.skip + e.take),
|
1108
|
-
total: result.length,
|
1109
|
-
};
|
1110
|
-
},
|
1111
|
-
byKey: (v) => Promise.resolve(items.find((c) => {
|
1112
|
-
return c[options.key] == v;
|
1113
|
-
})),
|
1114
|
-
};
|
1115
|
-
const handleSearch = (items, filter) => {
|
1116
|
-
if (!filter?.field || filter.value === undefined || filter.value === null) {
|
1117
|
-
return items; // No filter applied
|
1118
|
-
}
|
1119
|
-
return items.filter((item) => {
|
1120
|
-
const itemField = item[filter.field];
|
1121
|
-
if (typeof itemField === 'string' && typeof filter.value === 'string') {
|
1122
|
-
return itemField.toLowerCase().includes(filter.value.toLowerCase());
|
1123
|
-
}
|
1124
|
-
return false; // Return false if itemField isn't comparable
|
1125
|
-
});
|
1126
|
-
};
|
1127
|
-
return new AXDataSource(config);
|
1128
|
-
}
|
1129
|
-
|
1130
|
-
const AX_STYLE_COLOR_TYPES = [
|
1131
|
-
'primary',
|
1132
|
-
'secondary',
|
1133
|
-
'success',
|
1134
|
-
'warning',
|
1135
|
-
'danger',
|
1136
|
-
'default',
|
1137
|
-
];
|
1138
|
-
const AX_STYLE_LOOK_TYPES = ['solid', 'blank', 'outline', 'twotone', 'flat', 'fill', 'none'];
|
1139
|
-
const AX_LOCATIONS = [
|
1140
|
-
'bottom-start',
|
1141
|
-
'bottom-center',
|
1142
|
-
'bottom-end',
|
1143
|
-
'top-start',
|
1144
|
-
'top-center',
|
1145
|
-
'top-end',
|
1146
|
-
'center-end',
|
1147
|
-
'center-start',
|
1148
|
-
];
|
1149
|
-
|
1150
|
-
class AXAutoFocusDirective {
|
1151
|
-
constructor(renderer, el, _host) {
|
1152
|
-
this.renderer = renderer;
|
1153
|
-
this.el = el;
|
1154
|
-
this._host = _host;
|
1155
|
-
this.autoFocus = true;
|
1156
|
-
this.time = 50;
|
1157
|
-
this.document = inject(DOCUMENT);
|
1158
|
-
this.platformID = inject(PLATFORM_ID);
|
1159
|
-
}
|
1160
|
-
ngAfterViewInit() {
|
1161
|
-
this.doFocus();
|
1162
|
-
}
|
1163
|
-
doFocus() {
|
1164
|
-
if (this.autoFocus) {
|
1165
|
-
if (this._host) {
|
1166
|
-
setTimeout(() => {
|
1167
|
-
this._host.focus();
|
1168
|
-
}, this.time);
|
1169
|
-
return;
|
1170
|
-
}
|
1171
|
-
const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map((c) => c + ':not([tabindex="-1"])');
|
1172
|
-
const focusable = this.el.nativeElement.querySelector(list.join(', ')) ?? this.el.nativeElement;
|
1173
|
-
if (isPlatformBrowser(this.platformID)) {
|
1174
|
-
const attr = this.document.createAttribute('autofocus');
|
1175
|
-
focusable.setAttributeNode(attr);
|
1176
|
-
}
|
1177
|
-
const hasTabindex = focusable.hasAttribute('tabindex');
|
1178
|
-
if (!hasTabindex) {
|
1179
|
-
focusable.setAttribute('tabindex', '0');
|
1180
|
-
}
|
1181
|
-
setTimeout(() => {
|
1182
|
-
focusable.focus();
|
1183
|
-
}, this.time);
|
1184
|
-
}
|
1185
|
-
}
|
1186
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXAutoFocusDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: AXFocusableComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
1187
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: AXAutoFocusDirective, isStandalone: true, selector: "[axAutoFocus]", inputs: { autoFocus: ["axAutoFocus", "autoFocus"], time: ["axAutoFocusTime", "time"] }, ngImport: i0 }); }
|
1188
|
-
}
|
1189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXAutoFocusDirective, decorators: [{
|
1190
|
-
type: Directive,
|
1191
|
-
args: [{ selector: '[axAutoFocus]' }]
|
1192
|
-
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: AXFocusableComponent, decorators: [{
|
1193
|
-
type: Host
|
1194
|
-
}, {
|
1195
|
-
type: Self
|
1196
|
-
}, {
|
1197
|
-
type: Optional
|
1198
|
-
}] }], propDecorators: { autoFocus: [{
|
1199
|
-
type: Input,
|
1200
|
-
args: ['axAutoFocus']
|
1201
|
-
}], time: [{
|
1202
|
-
type: Input,
|
1203
|
-
args: ['axAutoFocusTime']
|
1204
|
-
}] } });
|
1205
|
-
|
1206
|
-
class AXHotkeysService {
|
1207
|
-
constructor(eventManager) {
|
1208
|
-
this.eventManager = eventManager;
|
1209
|
-
this.document = inject(DOCUMENT);
|
1210
|
-
this.defaults = {
|
1211
|
-
element: this.document,
|
1212
|
-
};
|
1213
|
-
}
|
1214
|
-
/**
|
1215
|
-
* Add shortcut
|
1216
|
-
*
|
1217
|
-
*
|
1218
|
-
* @param options
|
1219
|
-
* @returns Observable
|
1220
|
-
*
|
1221
|
-
*/
|
1222
|
-
addShortcut(options) {
|
1223
|
-
const merged = { ...this.defaults, ...options };
|
1224
|
-
const event = `keydown.${merged.keys}`;
|
1225
|
-
return new Observable((observer) => {
|
1226
|
-
const handler = (e) => {
|
1227
|
-
e.preventDefault();
|
1228
|
-
observer.next(e);
|
1229
|
-
};
|
1230
|
-
if (merged.element) {
|
1231
|
-
// Todo: check addEventListener is not function
|
1232
|
-
const dispose = this.eventManager.addEventListener(merged.element, event, handler);
|
1233
|
-
return () => {
|
1234
|
-
dispose();
|
1235
|
-
};
|
1236
|
-
}
|
1237
|
-
else {
|
1238
|
-
return null;
|
1239
|
-
}
|
1240
|
-
});
|
1241
|
-
}
|
1242
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXHotkeysService, deps: [{ token: i1.EventManager }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1243
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXHotkeysService }); }
|
1244
|
-
}
|
1245
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXHotkeysService, decorators: [{
|
1246
|
-
type: Injectable
|
1247
|
-
}], ctorParameters: () => [{ type: i1.EventManager }] });
|
1248
|
-
|
1249
|
-
class AXHotkeyDirective {
|
1250
|
-
constructor(el, _host, hs) {
|
1251
|
-
this.el = el;
|
1252
|
-
this._host = _host;
|
1253
|
-
this.hs = hs;
|
1254
|
-
this.axHotkey = '';
|
1255
|
-
this._subs = [];
|
1256
|
-
}
|
1257
|
-
ngAfterViewInit() {
|
1258
|
-
if (!this.axHotkey || !this._host)
|
1259
|
-
return;
|
1260
|
-
if (typeof this.axHotkey == 'string') {
|
1261
|
-
this._addDefaultAction(this.axHotkey);
|
1262
|
-
}
|
1263
|
-
else if (typeof this.axHotkey == 'object' && !Array.isArray(this.axHotkey)) {
|
1264
|
-
this._addHotKeyAction([this.axHotkey]);
|
1265
|
-
}
|
1266
|
-
else if (Array.isArray(this.axHotkey)) {
|
1267
|
-
this._addHotKeyAction(this.axHotkey);
|
1268
|
-
}
|
1269
|
-
}
|
1270
|
-
_addDefaultAction(hotkey) {
|
1271
|
-
this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
|
1272
|
-
['click', 'toggle', 'open', 'focus'].forEach((a) => {
|
1273
|
-
if (this._host[a]) {
|
1274
|
-
this._host[a]();
|
1275
|
-
return;
|
1276
|
-
}
|
1277
|
-
});
|
1278
|
-
}));
|
1279
|
-
}
|
1280
|
-
_addHotKeyAction(hotkeys) {
|
1281
|
-
hotkeys.forEach((k) => {
|
1282
|
-
const hotkey = Object.entries(k)[0][0];
|
1283
|
-
const action = Object.entries(k)[0][1];
|
1284
|
-
if (!action)
|
1285
|
-
this._addDefaultAction(hotkey);
|
1286
|
-
else {
|
1287
|
-
this._subs.push(this.hs.addShortcut({ keys: hotkey }).subscribe(() => {
|
1288
|
-
if (typeof action == 'string' && this._host[action]) {
|
1289
|
-
this._host[action]();
|
1290
|
-
return;
|
1291
|
-
}
|
1292
|
-
if (typeof action == 'function') {
|
1293
|
-
action();
|
1294
|
-
return;
|
1295
|
-
}
|
1296
|
-
}));
|
1297
|
-
}
|
1298
|
-
});
|
1299
|
-
}
|
1300
|
-
ngOnDestroy() {
|
1301
|
-
this._subs.forEach((s) => {
|
1302
|
-
s.unsubscribe();
|
1303
|
-
});
|
1304
|
-
}
|
1305
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXHotkeyDirective, deps: [{ token: i0.ElementRef }, { token: AXComponent, host: true, optional: true, self: true }, { token: AXHotkeysService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
1306
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: AXHotkeyDirective, isStandalone: true, selector: "[axHotkey]", inputs: { axHotkey: "axHotkey" }, ngImport: i0 }); }
|
1307
|
-
}
|
1308
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXHotkeyDirective, decorators: [{
|
1309
|
-
type: Directive,
|
1310
|
-
args: [{ selector: '[axHotkey]' }]
|
1311
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: AXComponent, decorators: [{
|
1312
|
-
type: Host
|
1313
|
-
}, {
|
1314
|
-
type: Self
|
1315
|
-
}, {
|
1316
|
-
type: Optional
|
1317
|
-
}] }, { type: AXHotkeysService }], propDecorators: { axHotkey: [{
|
1318
|
-
type: Input
|
1319
|
-
}] } });
|
1320
|
-
|
1321
|
-
const AX_DEFAULT_SCROLL_POSITION = {
|
1322
|
-
scrollHeight: 0,
|
1323
|
-
scrollTop: 0,
|
1324
|
-
clientHeight: 0,
|
1325
|
-
};
|
1326
|
-
class AXInfiniteScrollerDirective {
|
1327
|
-
constructor(elm) {
|
1328
|
-
this.elm = elm;
|
1329
|
-
this.scrollPercent = 70;
|
1330
|
-
this.isUserScrollingDown = (positions) => {
|
1331
|
-
return positions[0].sT < positions[1].sT;
|
1332
|
-
};
|
1333
|
-
this.isScrollExpectedPercent = (position) => {
|
1334
|
-
return (position.sT + position.cH) / position.sH > this.scrollPercent / 100;
|
1335
|
-
};
|
1336
|
-
}
|
1337
|
-
ngAfterViewInit() {
|
1338
|
-
this.registerScrollEvent();
|
1339
|
-
this.streamScrollEvents();
|
1340
|
-
this.requestCallbackOnScroll();
|
1341
|
-
}
|
1342
|
-
registerScrollEvent() {
|
1343
|
-
this.scrollEvent$ = fromEvent(this.elm.nativeElement, 'scroll');
|
1344
|
-
}
|
1345
|
-
streamScrollEvents() {
|
1346
|
-
this.userScrolledDown$ = this.scrollEvent$.pipe(map((e) => ({
|
1347
|
-
scrollHeight: e.target.scrollHeight,
|
1348
|
-
scrollTop: e.target.scrollTop,
|
1349
|
-
clientHeight: e.target.clientHeight,
|
1350
|
-
})), pairwise(), filter((positions) => this.isUserScrollingDown(positions) && this.isScrollExpectedPercent(positions[1])));
|
1351
|
-
}
|
1352
|
-
requestCallbackOnScroll() {
|
1353
|
-
this.requestOnScroll$ = this.userScrolledDown$;
|
1354
|
-
if (this.immediateCallback) {
|
1355
|
-
this.requestOnScroll$ = this.requestOnScroll$.pipe(startWith([AX_DEFAULT_SCROLL_POSITION, AX_DEFAULT_SCROLL_POSITION]));
|
1356
|
-
}
|
1357
|
-
this.requestOnScroll$.pipe(exhaustMap(() => {
|
1358
|
-
return this.scrollCallback();
|
1359
|
-
}));
|
1360
|
-
}
|
1361
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXInfiniteScrollerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
1362
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: AXInfiniteScrollerDirective, isStandalone: true, selector: "[axInfiniteScroller]", inputs: { scrollCallback: "scrollCallback", immediateCallback: "immediateCallback", scrollPercent: "scrollPercent" }, ngImport: i0 }); }
|
1363
|
-
}
|
1364
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXInfiniteScrollerDirective, decorators: [{
|
1365
|
-
type: Directive,
|
1366
|
-
args: [{ selector: '[axInfiniteScroller]' }]
|
1367
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { scrollCallback: [{
|
1368
|
-
type: Input
|
1369
|
-
}], immediateCallback: [{
|
1370
|
-
type: Input
|
1371
|
-
}], scrollPercent: [{
|
1372
|
-
type: Input
|
1373
|
-
}] } });
|
1374
|
-
|
1375
|
-
class AXResponsiveDirective {
|
1376
|
-
constructor(_elementRef) {
|
1377
|
-
this._elementRef = _elementRef;
|
1378
|
-
this._observer = new ResizeObserver((entries) => {
|
1379
|
-
for (const entry of entries) {
|
1380
|
-
if (entry.target) {
|
1381
|
-
const e = entry.target;
|
1382
|
-
const elements = [e, ...Array.from(e.querySelectorAll(`[class*='sm:']`))];
|
1383
|
-
elements
|
1384
|
-
.map((c) => ({
|
1385
|
-
element: c,
|
1386
|
-
classList: Array.from(c.classList)
|
1387
|
-
.filter((c) => c.includes('sm'))
|
1388
|
-
.map((c) => c.slice(3)),
|
1389
|
-
}))
|
1390
|
-
.forEach((c) => {
|
1391
|
-
e.clientWidth < 320 ? c.element.classList.add(...c.classList) : c.element.classList.remove(...c.classList);
|
1392
|
-
});
|
1393
|
-
}
|
1394
|
-
}
|
1395
|
-
});
|
1396
|
-
this._observer.observe(_elementRef.nativeElement);
|
1397
|
-
}
|
1398
|
-
ngOnDestroy() {
|
1399
|
-
this._observer?.disconnect();
|
1400
|
-
this._observer?.unobserve(this._elementRef.nativeElement);
|
1401
|
-
}
|
1402
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXResponsiveDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
1403
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: AXResponsiveDirective, isStandalone: true, selector: "[axResponsive]", ngImport: i0 }); }
|
1404
|
-
}
|
1405
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXResponsiveDirective, decorators: [{
|
1406
|
-
type: Directive,
|
1407
|
-
args: [{ selector: '[axResponsive]' }]
|
1408
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
1409
|
-
|
1410
|
-
class AXCommonModule {
|
1411
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1412
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXCommonModule, imports: [AXResponsiveDirective, AXInfiniteScrollerDirective, AXAutoFocusDirective, AXHotkeyDirective], exports: [AXResponsiveDirective, AXInfiniteScrollerDirective, AXAutoFocusDirective, AXHotkeyDirective] }); }
|
1413
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXCommonModule, providers: [AXHotkeysService] }); }
|
1414
|
-
}
|
1415
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXCommonModule, decorators: [{
|
1416
|
-
type: NgModule,
|
1417
|
-
args: [{
|
1418
|
-
imports: [AXResponsiveDirective, AXInfiniteScrollerDirective, AXAutoFocusDirective, AXHotkeyDirective],
|
1419
|
-
exports: [AXResponsiveDirective, AXInfiniteScrollerDirective, AXAutoFocusDirective, AXHotkeyDirective],
|
1420
|
-
providers: [AXHotkeysService],
|
1421
|
-
}]
|
1422
|
-
}] });
|
1423
|
-
|
1424
|
-
class MXColorComponent extends MXBaseComponent {
|
1425
|
-
constructor() {
|
1426
|
-
super(...arguments);
|
1427
|
-
this.colorChange = new EventEmitter();
|
1428
|
-
this._color = 'default';
|
1429
|
-
}
|
1430
|
-
/**
|
1431
|
-
* Predefined color schemes
|
1432
|
-
*/
|
1433
|
-
get color() {
|
1434
|
-
return this._color;
|
1435
|
-
}
|
1436
|
-
set color(value) {
|
1437
|
-
this.setOption({
|
1438
|
-
name: 'color',
|
1439
|
-
value,
|
1440
|
-
afterCallback: () => {
|
1441
|
-
this.cdr.markForCheck();
|
1442
|
-
},
|
1443
|
-
});
|
1444
|
-
}
|
1445
|
-
}
|
1446
|
-
|
1447
|
-
class MXLookableComponent {
|
1448
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXLookableComponent, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1449
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXLookableComponent }); }
|
1450
|
-
}
|
1451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXLookableComponent, decorators: [{
|
1452
|
-
type: Injectable
|
1453
|
-
}] });
|
1454
|
-
class MXLookComponent extends MXBaseComponent {
|
1455
|
-
constructor() {
|
1456
|
-
super(...arguments);
|
1457
|
-
this.lookChange = new EventEmitter();
|
1458
|
-
this._look = 'solid';
|
1459
|
-
}
|
1460
|
-
/**
|
1461
|
-
* Predefined look schemes
|
1462
|
-
*/
|
1463
|
-
get look() {
|
1464
|
-
return this._look;
|
1465
|
-
}
|
1466
|
-
set look(value) {
|
1467
|
-
this.setOption({
|
1468
|
-
name: 'look',
|
1469
|
-
value,
|
1470
|
-
afterCallback: () => {
|
1471
|
-
this.cdr.markForCheck();
|
1472
|
-
},
|
1473
|
-
});
|
1474
|
-
}
|
1475
|
-
}
|
1476
|
-
|
1477
|
-
class MXColorLookComponent extends classes(MXColorComponent, MXLookComponent) {
|
1478
|
-
}
|
1479
|
-
|
1480
|
-
class MXButtonBaseComponent extends classes(MXInteractiveComponent, MXColorLookComponent) {
|
1481
|
-
/**
|
1482
|
-
* Defines the primary text to show inside the button.
|
1483
|
-
*/
|
1484
|
-
get text() {
|
1485
|
-
return this._text;
|
1486
|
-
}
|
1487
|
-
set text(v) {
|
1488
|
-
this.setOption({
|
1489
|
-
name: 'text',
|
1490
|
-
value: v,
|
1491
|
-
afterCallback: () => {
|
1492
|
-
this.cdr.markForCheck();
|
1493
|
-
},
|
1494
|
-
});
|
1495
|
-
}
|
1496
|
-
/**
|
1497
|
-
* Provides visual styling that indicates if the Button is active
|
1498
|
-
*/
|
1499
|
-
get toggleable() {
|
1500
|
-
return this._toggleable;
|
1501
|
-
}
|
1502
|
-
set toggleable(value) {
|
1503
|
-
this.setOption({
|
1504
|
-
name: 'toggleable',
|
1505
|
-
value,
|
1506
|
-
});
|
1507
|
-
}
|
1508
|
-
/**
|
1509
|
-
* Indicates if the Button is selected or not
|
1510
|
-
*/
|
1511
|
-
get selected() {
|
1512
|
-
return this._selected;
|
1513
|
-
}
|
1514
|
-
set selected(value) {
|
1515
|
-
this.setOption({
|
1516
|
-
name: 'selected',
|
1517
|
-
value,
|
1518
|
-
afterCallback: () => {
|
1519
|
-
this.cdr.markForCheck();
|
1520
|
-
},
|
1521
|
-
});
|
1522
|
-
}
|
1523
|
-
/**
|
1524
|
-
* @ignore
|
1525
|
-
*/
|
1526
|
-
constructor() {
|
1527
|
-
super();
|
1528
|
-
/**
|
1529
|
-
* Emits an event when the text associated with the button changes.
|
1530
|
-
*
|
1531
|
-
* @event
|
1532
|
-
*/
|
1533
|
-
this.textChange = new EventEmitter();
|
1534
|
-
/**
|
1535
|
-
* Emits an event when the toggleable state of the action sheet changes.
|
1536
|
-
*
|
1537
|
-
* @event
|
1538
|
-
*/
|
1539
|
-
this.toggleableChange = new EventEmitter();
|
1540
|
-
this._toggleable = false;
|
1541
|
-
/**
|
1542
|
-
* Emits an event whenever the selection state of the component changes.
|
1543
|
-
*
|
1544
|
-
* @event
|
1545
|
-
*/
|
1546
|
-
this.selectedChange = new EventEmitter();
|
1547
|
-
this._selected = false;
|
1548
|
-
}
|
1549
|
-
/**
|
1550
|
-
* @ignore
|
1551
|
-
*/
|
1552
|
-
get cssClasses() {
|
1553
|
-
const cssClasses = {
|
1554
|
-
'ax-button-icon': !this.text,
|
1555
|
-
'ax-state-disabled': this.disabled,
|
1556
|
-
'ax-state-selected': this.selected,
|
1557
|
-
};
|
1558
|
-
set(cssClasses, `ax-${this.look || 'solid'}`, true);
|
1559
|
-
set(cssClasses, `ax-${this.color || 'primary'}`, true);
|
1560
|
-
return cssClasses;
|
1561
|
-
}
|
1562
|
-
}
|
1563
|
-
|
1564
|
-
class MXInputBaseValueComponent extends MXValueComponent {
|
1565
|
-
constructor() {
|
1566
|
-
super(...arguments);
|
1567
|
-
/**
|
1568
|
-
* Fires each time the user press a key.
|
1569
|
-
* @event
|
1570
|
-
*/
|
1571
|
-
this.onKeyDown = new EventEmitter();
|
1572
|
-
/**
|
1573
|
-
* Fires each time the user press a key.
|
1574
|
-
* @event
|
1575
|
-
*/
|
1576
|
-
this.onKeyUp = new EventEmitter();
|
1577
|
-
/**
|
1578
|
-
* Fires each time the user press a key.
|
1579
|
-
* @event
|
1580
|
-
*/
|
1581
|
-
this.onKeyPress = new EventEmitter();
|
1582
|
-
/**
|
1583
|
-
* Fires each time the user change the text.
|
1584
|
-
* @event
|
1585
|
-
*/
|
1586
|
-
this.onTextChanged = new EventEmitter();
|
1587
|
-
}
|
1588
|
-
emitOnKeydownEvent(e) {
|
1589
|
-
this.onKeyDown.emit({
|
1590
|
-
component: this,
|
1591
|
-
nativeEvent: e,
|
1592
|
-
});
|
1593
|
-
}
|
1594
|
-
emitOnKeyupEvent(e) {
|
1595
|
-
this.onKeyUp.emit({
|
1596
|
-
component: this,
|
1597
|
-
nativeEvent: e,
|
1598
|
-
});
|
1599
|
-
}
|
1600
|
-
emitOnKeypressEvent(e) {
|
1601
|
-
this.onKeyPress.emit({
|
1602
|
-
component: this,
|
1603
|
-
nativeEvent: e,
|
1604
|
-
});
|
1605
|
-
}
|
1606
|
-
emitOnTextChanged(value, isUserInteraction = false) {
|
1607
|
-
if (isEqual(value, this.oldText))
|
1608
|
-
return;
|
1609
|
-
this.onTextChanged.emit({
|
1610
|
-
value,
|
1611
|
-
name: this.name,
|
1612
|
-
component: this,
|
1613
|
-
isUserInteraction,
|
1614
|
-
oldValue: this.oldText,
|
1615
|
-
htmlElement: this.getHostElement(),
|
1616
|
-
});
|
1617
|
-
this.oldText = value;
|
1618
|
-
}
|
1619
|
-
focus() {
|
1620
|
-
const input = this.getHostElement().querySelector('input');
|
1621
|
-
if (input)
|
1622
|
-
input.focus();
|
1623
|
-
else
|
1624
|
-
super.focus();
|
1625
|
-
}
|
1626
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXInputBaseValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
1627
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXInputBaseValueComponent }); }
|
1628
|
-
}
|
1629
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXInputBaseValueComponent, decorators: [{
|
1630
|
-
type: Injectable
|
1631
|
-
}] });
|
1632
|
-
|
1633
|
-
class MXSelectionBridgeService {
|
1634
|
-
constructor() {
|
1635
|
-
this.selectedItems = [];
|
1636
|
-
this.cacheList = {};
|
1637
|
-
}
|
1638
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXSelectionBridgeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
1639
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXSelectionBridgeService }); }
|
1640
|
-
}
|
1641
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXSelectionBridgeService, decorators: [{
|
1642
|
-
type: Injectable
|
1643
|
-
}] });
|
1644
|
-
const AX_SELECTION_DATA_TOKEN = new InjectionToken('AX_SELECTION_DATA_TOKEN');
|
1645
|
-
class MXSelectionValueComponent extends MXValueComponent {
|
1646
|
-
constructor() {
|
1647
|
-
super(...arguments);
|
1648
|
-
this.formatService = inject(AXFormatService);
|
1649
|
-
this.dataService = inject(AX_SELECTION_DATA_TOKEN);
|
1650
|
-
this._valueField = 'id';
|
1651
|
-
this._textTemplate = '';
|
1652
|
-
this._textField = 'text';
|
1653
|
-
this._disabledField = 'disabled';
|
1654
|
-
this._multiple = false;
|
1655
|
-
}
|
1656
|
-
get valueField() {
|
1657
|
-
return this._valueField;
|
1658
|
-
}
|
1659
|
-
set valueField(v) {
|
1660
|
-
this.setOption({
|
1661
|
-
name: 'valueField',
|
1662
|
-
value: v,
|
1663
|
-
});
|
1664
|
-
}
|
1665
|
-
get textTemplate() {
|
1666
|
-
return this._textTemplate;
|
1667
|
-
}
|
1668
|
-
set textTemplate(v) {
|
1669
|
-
this.setOption({
|
1670
|
-
name: 'textTemplate',
|
1671
|
-
value: v,
|
1672
|
-
});
|
1673
|
-
}
|
1674
|
-
get textField() {
|
1675
|
-
return this._textField;
|
1676
|
-
}
|
1677
|
-
set textField(v) {
|
1678
|
-
this.setOption({
|
1679
|
-
name: 'textField',
|
1680
|
-
value: v,
|
1681
|
-
});
|
1682
|
-
}
|
1683
|
-
get disabledField() {
|
1684
|
-
return this._disabledField;
|
1685
|
-
}
|
1686
|
-
set disabledField(v) {
|
1687
|
-
this.setOption({
|
1688
|
-
name: 'disabledField',
|
1689
|
-
value: v,
|
1690
|
-
});
|
1691
|
-
}
|
1692
|
-
get multiple() {
|
1693
|
-
return this._multiple;
|
1694
|
-
}
|
1695
|
-
set multiple(v) {
|
1696
|
-
this.setOption({
|
1697
|
-
name: 'multiple',
|
1698
|
-
value: v,
|
1699
|
-
afterCallback: () => {
|
1700
|
-
this.reset(false);
|
1701
|
-
},
|
1702
|
-
});
|
1703
|
-
}
|
1704
|
-
get selectedItems() {
|
1705
|
-
return this.dataService.selectedItems || [];
|
1706
|
-
}
|
1707
|
-
internalSetValue(value) {
|
1708
|
-
const isArray = Array.isArray(value);
|
1709
|
-
if (value == null || (isArray && value.length == 0)) {
|
1710
|
-
return this.multiple ? [] : null;
|
1711
|
-
}
|
1712
|
-
const normalizedItems = isArray ? this.normalizeItemsList(value, true) : this.normalizeItemsList([value], true);
|
1713
|
-
if (normalizedItems.length == 0) {
|
1714
|
-
return this.multiple ? [] : null;
|
1715
|
-
}
|
1716
|
-
const result = this.multiple ? normalizedItems.map((c) => c[this.valueField]) : normalizedItems[0][this.valueField];
|
1717
|
-
return result;
|
1718
|
-
}
|
1719
|
-
emitOnValueChangedEvent(oldValue, newValue) {
|
1720
|
-
this._normalizeSelectedItems();
|
1721
|
-
super.emitOnValueChangedEvent(oldValue, newValue);
|
1722
|
-
}
|
1723
|
-
normalizeItemsList(items, findBykey = false) {
|
1724
|
-
if (items == null)
|
1725
|
-
return [];
|
1726
|
-
return items.filter((c) => c != null).map((i) => this.normalizeItem(i, findBykey));
|
1727
|
-
}
|
1728
|
-
normalizeItem(item, findBykey = false) {
|
1729
|
-
const complex = typeof item == 'object';
|
1730
|
-
const key = complex ? item[this.valueField] : `${item}`;
|
1731
|
-
const cacheKey = `k-${key}`;
|
1732
|
-
const hasText = !complex || item[this.textField] != null;
|
1733
|
-
//
|
1734
|
-
if (this.dataService.cacheList[cacheKey] && this.dataService.cacheList[cacheKey][this.textField])
|
1735
|
-
return this.dataService.cacheList[cacheKey];
|
1736
|
-
//
|
1737
|
-
const obj = {};
|
1738
|
-
if (complex && hasText) {
|
1739
|
-
Object.assign(obj, item);
|
1740
|
-
}
|
1741
|
-
else {
|
1742
|
-
const existsItem = findBykey ? this.getItemByKey(key) : null;
|
1743
|
-
if (existsItem && existsItem instanceof Promise) {
|
1744
|
-
obj[this.valueField] = key;
|
1745
|
-
obj['isLoading'] = true;
|
1746
|
-
obj[this.textField] = 'Loading';
|
1747
|
-
//
|
1748
|
-
existsItem
|
1749
|
-
.then((r) => {
|
1750
|
-
if (typeof r === 'object' && r) {
|
1751
|
-
// obj[this.valueField] = r[this.valueField];
|
1752
|
-
// obj[this.textField] = r[this.textField];
|
1753
|
-
Object.assign(obj, cloneDeep(r));
|
1754
|
-
}
|
1755
|
-
else {
|
1756
|
-
obj[this.valueField] = r || key;
|
1757
|
-
obj[this.textField] = r;
|
1758
|
-
}
|
1759
|
-
})
|
1760
|
-
.finally(() => {
|
1761
|
-
delete obj['isLoading'];
|
1762
|
-
this.dataService.cacheList[cacheKey] = obj;
|
1763
|
-
this.cdr.markForCheck();
|
1764
|
-
});
|
1765
|
-
}
|
1766
|
-
else if (existsItem) {
|
1767
|
-
obj[this.valueField] = complex ? existsItem[this.valueField] : existsItem;
|
1768
|
-
obj[this.textField] = complex ? existsItem[this.textField] : existsItem;
|
1769
|
-
}
|
1770
|
-
else {
|
1771
|
-
obj[this.valueField] = complex ? item[this.valueField] : item;
|
1772
|
-
obj[this.textField] = complex ? item[this.textField] : item;
|
1773
|
-
}
|
1774
|
-
}
|
1775
|
-
this.dataService.cacheList[cacheKey] = obj;
|
1776
|
-
return obj;
|
1777
|
-
}
|
1778
|
-
_normalizeSelectedItems() {
|
1779
|
-
const values = Array.isArray(this.value) ? this.value : this.value != null ? [this.value] : [];
|
1780
|
-
this.dataService.selectedItems = values.map((v) => this.normalizeItem(v));
|
1781
|
-
}
|
1782
|
-
unselectItems(...items) {
|
1783
|
-
if (!items || items.length === 0) {
|
1784
|
-
this.commitValue([], true);
|
1785
|
-
return;
|
1786
|
-
}
|
1787
|
-
const normalizeItems = Array.isArray(items) ? this.normalizeItemsList(items) : [this.normalizeItem(items)];
|
1788
|
-
const newSelectedItems = this.selectedItems.filter((i) => !normalizeItems.some((n) => n[this.valueField] == i[this.valueField]));
|
1789
|
-
this.commitValue(newSelectedItems, true);
|
1790
|
-
}
|
1791
|
-
selectItems(...items) {
|
1792
|
-
if (items && items.length) {
|
1793
|
-
let newSelectedItems = Array.isArray(this.value) ? this.value : [this.value];
|
1794
|
-
const normalizeItems = Array.isArray(items) ? this.normalizeItemsList(items) : [this.normalizeItem(items)];
|
1795
|
-
if (this.multiple) {
|
1796
|
-
newSelectedItems = [...newSelectedItems, ...normalizeItems];
|
1797
|
-
}
|
1798
|
-
else {
|
1799
|
-
newSelectedItems = normalizeItems;
|
1800
|
-
}
|
1801
|
-
this.commitValue(newSelectedItems, true);
|
1802
|
-
}
|
1803
|
-
}
|
1804
|
-
toggleSelect(...items) {
|
1805
|
-
items?.forEach((item) => {
|
1806
|
-
if (this.multiple) {
|
1807
|
-
this.isItemSelected(item) ? this.unselectItems(item) : this.selectItems(item);
|
1808
|
-
}
|
1809
|
-
else {
|
1810
|
-
this.selectItems(item);
|
1811
|
-
}
|
1812
|
-
});
|
1813
|
-
}
|
1814
|
-
isItemSelected(item) {
|
1815
|
-
return this.selectedItems.some((c) => c[this.valueField] === this.normalizeItem(item)[this.valueField]);
|
1816
|
-
}
|
1817
|
-
isItemDisabled(item) {
|
1818
|
-
return (this.disabled ||
|
1819
|
-
coerceBooleanProperty(item[this.disabledField]) === true ||
|
1820
|
-
(this.disabledCallback ? this.disabledCallback({ item, index: -1 }) : false));
|
1821
|
-
}
|
1822
|
-
// protected getDisplayText(item: T) {
|
1823
|
-
// const normalizeItem = this.normalizeItem(item) as any;
|
1824
|
-
// return formattedText || normalizeItem[this.valueField];
|
1825
|
-
// }
|
1826
|
-
getDisplayText(item) {
|
1827
|
-
const normalizeItem = this.normalizeItem(item);
|
1828
|
-
const formattedTemplate = this.formatService.format(this.textTemplate, 'string', normalizeItem);
|
1829
|
-
if (this.textTemplate && formattedTemplate != this.textTemplate)
|
1830
|
-
return formattedTemplate;
|
1831
|
-
else
|
1832
|
-
return normalizeItem[this.textField] || normalizeItem[this.valueField];
|
1833
|
-
}
|
1834
|
-
getValue(item) {
|
1835
|
-
const normalizeItem = this.normalizeItem(item);
|
1836
|
-
return normalizeItem[this.valueField];
|
1837
|
-
}
|
1838
|
-
clearSelectionCache() {
|
1839
|
-
this.dataService.cacheList = {};
|
1840
|
-
this.dataService.selectedItems = [];
|
1841
|
-
this.cdr.markForCheck();
|
1842
|
-
}
|
1843
|
-
softClearSelectionCache() {
|
1844
|
-
this.dataService.cacheList = {};
|
1845
|
-
this.cdr.markForCheck();
|
1846
|
-
}
|
1847
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXSelectionValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
1848
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXSelectionValueComponent }); }
|
1849
|
-
}
|
1850
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: MXSelectionValueComponent, decorators: [{
|
1851
|
-
type: Injectable
|
1852
|
-
}] });
|
1853
|
-
|
1854
|
-
/**
|
1855
|
-
* Directive to copy provided context to the clipboard on click,
|
1856
|
-
* using Angular's input signal injection for the context.
|
1857
|
-
* Emits copy status via a writable signal property.
|
1858
|
-
*
|
1859
|
-
* Usage:
|
1860
|
-
* <button
|
1861
|
-
* axCopyClipboard
|
1862
|
-
* [copiedSignal]="copiedSignal"
|
1863
|
-
* >Copy</button>
|
1864
|
-
*/
|
1865
|
-
class AXCopyClipboardDirective {
|
1866
|
-
constructor() {
|
1867
|
-
this.elementRef = inject(ElementRef);
|
1868
|
-
/**
|
1869
|
-
* Required string input signal for the context to copy.
|
1870
|
-
* Bound via: axCopyClipboard="textSignal"
|
1871
|
-
*/
|
1872
|
-
this.context = input.required({ alias: 'axCopyClipboard' });
|
1873
|
-
/**
|
1874
|
-
* WritableSignal to capture copy success (true) or failure (false).
|
1875
|
-
* Can be bound: [copiedSignal]="myWritableSignal"
|
1876
|
-
*/
|
1877
|
-
this.copied = output();
|
1878
|
-
}
|
1879
|
-
/**
|
1880
|
-
* Trigger copy when the host element is clicked.
|
1881
|
-
*/
|
1882
|
-
async onHostHover() {
|
1883
|
-
this.elementRef.nativeElement.style.cursor = 'pointer';
|
1884
|
-
}
|
1885
|
-
/**
|
1886
|
-
* Trigger copy when the host element is clicked.
|
1887
|
-
*/
|
1888
|
-
async onHostClick() {
|
1889
|
-
try {
|
1890
|
-
const text = this.context();
|
1891
|
-
await this.copyToClipboard(text);
|
1892
|
-
console.log(this.elementRef.nativeElement);
|
1893
|
-
this.copied.emit(true);
|
1894
|
-
}
|
1895
|
-
catch (err) {
|
1896
|
-
console.error('Copy failed', err);
|
1897
|
-
this.copied.emit(false);
|
1898
|
-
}
|
1899
|
-
}
|
1900
|
-
/**
|
1901
|
-
* Copy the string to the clipboard.
|
1902
|
-
*/
|
1903
|
-
copyToClipboard(text) {
|
1904
|
-
if (!text) {
|
1905
|
-
return Promise.reject('No text provided to copy');
|
1906
|
-
}
|
1907
|
-
if (!navigator.clipboard?.writeText) {
|
1908
|
-
return Promise.reject('Permission denied to access clipboard');
|
1909
|
-
}
|
1910
|
-
return navigator.clipboard.writeText(text);
|
1911
|
-
}
|
1912
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXCopyClipboardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
1913
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.10", type: AXCopyClipboardDirective, isStandalone: true, selector: "[axCopyClipboard]", inputs: { context: { classPropertyName: "context", publicName: "axCopyClipboard", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { copied: "copied" }, host: { listeners: { "mouseenter": "onHostHover()", "click": "onHostClick()" } }, ngImport: i0 }); }
|
1914
|
-
}
|
1915
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXCopyClipboardDirective, decorators: [{
|
1916
|
-
type: Directive,
|
1917
|
-
args: [{
|
1918
|
-
selector: '[axCopyClipboard]',
|
1919
|
-
}]
|
1920
|
-
}], propDecorators: { onHostHover: [{
|
1921
|
-
type: HostListener,
|
1922
|
-
args: ['mouseenter']
|
1923
|
-
}], onHostClick: [{
|
1924
|
-
type: HostListener,
|
1925
|
-
args: ['click']
|
1926
|
-
}] } });
|
1927
|
-
|
1928
|
-
class AXNgModelDelayedValueChangedDirective {
|
1929
|
-
get delayTime() {
|
1930
|
-
return this._delayTime;
|
1931
|
-
}
|
1932
|
-
set delayTime(v) {
|
1933
|
-
if (v != this._delayTime) {
|
1934
|
-
this._delayTime = v;
|
1935
|
-
this.axDelayTimeChange.emit(v);
|
1936
|
-
this.update();
|
1937
|
-
}
|
1938
|
-
}
|
1939
|
-
ngOnDestroy() {
|
1940
|
-
this.subscription?.unsubscribe();
|
1941
|
-
}
|
1942
|
-
constructor(ngModel) {
|
1943
|
-
this.ngModel = ngModel;
|
1944
|
-
this.axDelayedValueChanged = new EventEmitter();
|
1945
|
-
this.axDelayTimeChange = new EventEmitter();
|
1946
|
-
this._delayTime = 0;
|
1947
|
-
this.delayTime = 0;
|
1948
|
-
}
|
1949
|
-
update() {
|
1950
|
-
this.subscription?.unsubscribe();
|
1951
|
-
//
|
1952
|
-
this.subscription = this.ngModel.control.valueChanges
|
1953
|
-
.pipe(skip(1), // skip initial value
|
1954
|
-
distinctUntilChanged(), debounceTime(this.delayTime))
|
1955
|
-
.subscribe((value) => this.axDelayedValueChanged.emit(value));
|
1956
|
-
}
|
1957
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXNgModelDelayedValueChangedDirective, deps: [{ token: i1$1.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
|
1958
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: AXNgModelDelayedValueChangedDirective, isStandalone: true, selector: "[axDelayedValueChanged]", inputs: { delayTime: "delayTime" }, outputs: { axDelayedValueChanged: "axDelayedValueChanged", axDelayTimeChange: "axDelayTimeChange" }, ngImport: i0 }); }
|
1959
|
-
}
|
1960
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXNgModelDelayedValueChangedDirective, decorators: [{
|
1961
|
-
type: Directive,
|
1962
|
-
args: [{
|
1963
|
-
selector: '[axDelayedValueChanged]',
|
1964
|
-
}]
|
1965
|
-
}], ctorParameters: () => [{ type: i1$1.NgModel }], propDecorators: { axDelayedValueChanged: [{
|
1966
|
-
type: Output
|
1967
|
-
}], axDelayTimeChange: [{
|
1968
|
-
type: Output
|
1969
|
-
}], delayTime: [{
|
1970
|
-
type: Input
|
1971
|
-
}] } });
|
1972
|
-
|
1973
|
-
class AXInvertedColorDirective {
|
1974
|
-
constructor() {
|
1975
|
-
this.color = input.required();
|
1976
|
-
this.ref = inject(ViewContainerRef);
|
1977
|
-
this.platformID = inject(PLATFORM_ID);
|
1978
|
-
afterNextRender(() => {
|
1979
|
-
this.invertColor();
|
1980
|
-
});
|
1981
|
-
effect(() => {
|
1982
|
-
this.invertColor();
|
1983
|
-
});
|
1984
|
-
}
|
1985
|
-
invertColor() {
|
1986
|
-
let color;
|
1987
|
-
let foreColor;
|
1988
|
-
const invertedVariables = [];
|
1989
|
-
if (isPlatformBrowser(this.platformID)) {
|
1990
|
-
if (this.color() === 'default') {
|
1991
|
-
color = getComputedStyle(document.documentElement).getPropertyValue(`--ax-color-${this.color()}`);
|
1992
|
-
foreColor = getComputedStyle(document.documentElement).getPropertyValue(`--ax-color-${this.color()}-fore`);
|
1993
|
-
invertedVariables.push({ name: `--ax-color-ghost`, value: `${foreColor}` });
|
1994
|
-
invertedVariables.push({ name: `--ax-color-ghost-fore`, value: `${color}` });
|
1995
|
-
}
|
1996
|
-
else {
|
1997
|
-
const range = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
|
1998
|
-
color = getComputedStyle(document.documentElement).getPropertyValue(`--ax-color-${this.color()}-500`);
|
1999
|
-
foreColor = getComputedStyle(document.documentElement).getPropertyValue(`--ax-color-${this.color()}-fore`);
|
2000
|
-
range.forEach((c) => {
|
2001
|
-
invertedVariables.push({ name: `--ax-color-${this.color()}-${c}`, value: `${foreColor}` });
|
2002
|
-
});
|
2003
|
-
invertedVariables.push({ name: `--ax-color-${this.color()}-fore`, value: `${color}` });
|
2004
|
-
invertedVariables.push({ name: `--ax-color-${this.color()}-fore-tint`, value: `${color}` });
|
2005
|
-
}
|
2006
|
-
invertedVariables.forEach((c) => {
|
2007
|
-
this.ref.element.nativeElement.style.setProperty(c.name, c.value);
|
2008
|
-
});
|
2009
|
-
}
|
2010
|
-
}
|
2011
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXInvertedColorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
2012
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.10", type: AXInvertedColorDirective, isStandalone: true, selector: "[axInvertedColor]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
2013
|
-
}
|
2014
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXInvertedColorDirective, decorators: [{
|
2015
|
-
type: Directive,
|
2016
|
-
args: [{
|
2017
|
-
selector: '[axInvertedColor]',
|
2018
|
-
}]
|
2019
|
-
}], ctorParameters: () => [] });
|
2020
|
-
|
2021
|
-
class AXRippleDirective {
|
2022
|
-
constructor(el, cdr) {
|
2023
|
-
this.el = el;
|
2024
|
-
this.cdr = cdr;
|
2025
|
-
this.enabled = true;
|
2026
|
-
this.axRippleColor = 'var(--ax-comp-ripple-bg-color, rgba(255, 255, 255, 0.3))';
|
2027
|
-
this.document = inject(DOCUMENT);
|
2028
|
-
this.platformID = inject(PLATFORM_ID);
|
2029
|
-
}
|
2030
|
-
ngOnInit() {
|
2031
|
-
if (this.enabled) {
|
2032
|
-
this.el.nativeElement.addEventListener('click', (event) => {
|
2033
|
-
this.onElementClick(event);
|
2034
|
-
});
|
2035
|
-
}
|
2036
|
-
}
|
2037
|
-
ngOnDestroy() {
|
2038
|
-
this.el.nativeElement.removeEventListener('click', this.createRipple.bind(this));
|
2039
|
-
}
|
2040
|
-
onElementClick(event) {
|
2041
|
-
this.createRipple(event);
|
2042
|
-
}
|
2043
|
-
createRipple(event) {
|
2044
|
-
const element = event.currentTarget;
|
2045
|
-
const exists = element.querySelector('.ax-ripple');
|
2046
|
-
if (exists)
|
2047
|
-
exists.remove();
|
2048
|
-
this.el.nativeElement.style.overflow = 'hidden';
|
2049
|
-
const rect = element.getBoundingClientRect();
|
2050
|
-
const x = Math.floor(((event.clientX - rect.left) / (rect.right - rect.left)) * element.clientWidth);
|
2051
|
-
const y = Math.floor(((event.clientY - rect.top) / (rect.bottom - rect.top)) * element.clientHeight);
|
2052
|
-
if (isPlatformBrowser(this.platformID)) {
|
2053
|
-
const circle = this.document.createElement('span');
|
2054
|
-
const diameter = Math.max(element.clientWidth, element.clientHeight);
|
2055
|
-
const radius = diameter / 2;
|
2056
|
-
circle.style.width = circle.style.height = `${diameter}px`;
|
2057
|
-
circle.style.left = `${x - radius}px`;
|
2058
|
-
circle.style.top = `${y - radius}px`;
|
2059
|
-
circle.style.backgroundColor = `${this.axRippleColor}`;
|
2060
|
-
circle.classList.add('ax-ripple');
|
2061
|
-
element.appendChild(circle);
|
2062
|
-
circle.addEventListener('animationend', () => {
|
2063
|
-
circle?.remove();
|
2064
|
-
});
|
2065
|
-
}
|
2066
|
-
}
|
2067
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRippleDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
2068
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: AXRippleDirective, isStandalone: true, selector: "[axRipple]", inputs: { enabled: ["axRipple", "enabled"], axRippleColor: "axRippleColor" }, ngImport: i0 }); }
|
2069
|
-
}
|
2070
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXRippleDirective, decorators: [{
|
2071
|
-
type: Directive,
|
2072
|
-
args: [{
|
2073
|
-
selector: '[axRipple]',
|
2074
|
-
}]
|
2075
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { enabled: [{
|
2076
|
-
type: Input,
|
2077
|
-
args: ['axRipple']
|
2078
|
-
}], axRippleColor: [{
|
2079
|
-
type: Input
|
2080
|
-
}] } });
|
2081
|
-
|
2082
|
-
/**
|
2083
|
-
* Generated bundle index. Do not edit.
|
2084
|
-
*/
|
2085
|
-
|
2086
|
-
export { AXAutoFocusDirective, AXAutocompleteParentComponent, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosbaleComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXCopyClipboardDirective, AXDataSource, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXInvertedColorDirective, AXItemClickEvent, AXListDataSource, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_SELECTION_DATA_TOKEN, AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXLookableComponent, MXSelectionBridgeService, MXSelectionValueComponent, MXValueComponent, NXButtonComponent, NXClickEvent, NXColorComponent, NXComponent, NXEvent, NXInteractiveComponent, NXLookComponent, NXNativeEvent, NXValueComponent, TAB_META_KEY, convertArrayToDataSource, convertToPlacement };
|
2087
|
-
//# sourceMappingURL=acorex-components-common.mjs.map
|