@siemens/element-ng 48.10.0 → 49.0.0-rc.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/about/package.json +2 -1
- package/accordion/package.json +2 -1
- package/action-modal/package.json +2 -1
- package/ag-grid/package.json +2 -1
- package/application-header/package.json +2 -1
- package/auto-collapsable-list/package.json +2 -1
- package/autocomplete/package.json +2 -1
- package/avatar/package.json +2 -1
- package/badge/package.json +2 -1
- package/breadcrumb/package.json +2 -1
- package/breadcrumb-router/package.json +2 -1
- package/card/package.json +2 -1
- package/chat-messages/package.json +2 -1
- package/circle-status/package.json +2 -1
- package/color-picker/package.json +2 -1
- package/column-selection-dialog/package.json +2 -1
- package/common/package.json +2 -1
- package/connection-strength/package.json +2 -1
- package/content-action-bar/package.json +2 -1
- package/copyright-notice/package.json +2 -1
- package/dashboard/package.json +2 -1
- package/datatable/package.json +2 -1
- package/date-range-filter/package.json +2 -1
- package/datepicker/package.json +2 -1
- package/electron-titlebar/package.json +2 -1
- package/empty-state/package.json +2 -1
- package/fesm2022/siemens-element-ng-about.mjs +25 -24
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +49 -75
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +59 -55
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +33 -37
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +122 -150
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +30 -32
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +34 -48
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +23 -24
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +6 -6
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +16 -16
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +18 -17
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +32 -34
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +204 -109
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +26 -26
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +18 -17
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +36 -35
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +13 -38
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-connection-strength.mjs +11 -11
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +33 -30
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +13 -13
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +161 -169
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +9 -9
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +128 -149
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +260 -271
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +19 -18
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +11 -11
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +66 -69
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +23 -23
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +141 -159
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +10 -10
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +99 -85
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +96 -94
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +33 -33
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +7 -6
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon-status.mjs +4 -4
- package/fesm2022/siemens-element-ng-icon.mjs +53 -135
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +11 -12
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +15 -16
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +16 -16
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +71 -71
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +13 -13
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +22 -23
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +68 -86
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +38 -52
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +14 -11
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +30 -30
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs +5 -5
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +55 -54
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +10 -13
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +183 -298
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +43 -43
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +14 -13
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +32 -32
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +21 -20
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +21 -21
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +19 -15
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +56 -50
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +48 -47
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +45 -44
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs +31 -31
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +29 -29
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +15 -15
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +25 -61
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +13 -12
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +25 -24
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +204 -347
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +144 -69
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +13 -13
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +30 -29
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +14 -13
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +26 -28
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +42 -43
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs +11 -12
- package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +15 -16
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +16 -17
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +16 -16
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +7 -7
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +16 -16
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +44 -47
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +4 -4
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +51 -71
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +26 -52
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +60 -68
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +20 -20
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +92 -117
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +46 -62
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +49 -48
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/file-uploader/package.json +2 -1
- package/filter-bar/package.json +2 -1
- package/filtered-search/package.json +2 -1
- package/footer/package.json +2 -1
- package/form/package.json +2 -1
- package/formly/package.json +2 -1
- package/header-dropdown/package.json +2 -1
- package/help-button/package.json +2 -1
- package/icon/package.json +2 -1
- package/icon-status/package.json +2 -1
- package/info-page/package.json +2 -1
- package/inline-notification/package.json +2 -1
- package/ip-input/package.json +2 -1
- package/landing-page/package.json +2 -1
- package/language-switcher/package.json +2 -1
- package/link/package.json +2 -1
- package/list-details/package.json +2 -1
- package/loading-spinner/package.json +2 -1
- package/localization/package.json +2 -1
- package/main-detail-container/package.json +2 -1
- package/markdown-renderer/package.json +2 -1
- package/menu/package.json +2 -1
- package/modal/package.json +2 -1
- package/navbar/package.json +2 -1
- package/navbar-vertical/package.json +2 -1
- package/notification-item/package.json +2 -1
- package/number-input/package.json +2 -1
- package/package.json +115 -107
- package/pagination/package.json +2 -1
- package/password-strength/package.json +2 -1
- package/password-toggle/package.json +2 -1
- package/phone-number/package.json +2 -1
- package/photo-upload/package.json +2 -1
- package/pills-input/package.json +2 -1
- package/popover/package.json +2 -1
- package/popover-legacy/package.json +2 -1
- package/progressbar/package.json +2 -1
- package/resize-observer/package.json +2 -1
- package/result-details-list/package.json +2 -1
- package/schematics/collection.json +0 -12
- package/schematics/migration.json +15 -0
- package/schematics/migrations/data/attribute-selectors.js +1 -6
- package/schematics/migrations/data/component-names.js +9 -68
- package/schematics/migrations/data/element-selectors.js +9 -8
- package/schematics/migrations/data/index.js +0 -1
- package/schematics/migrations/data/migration-test-data.js +167 -0
- package/schematics/migrations/data/output-names.js +1 -7
- package/schematics/migrations/data/symbol-removals.js +4 -45
- package/schematics/migrations/element-migration/element-migration.js +1 -3
- package/schematics/migrations/index.js +15 -5
- package/schematics/migrations/ngx-translate/index.js +93 -0
- package/schematics/ng-update/index.js +17 -0
- package/schematics/ng-update/schema.json +15 -0
- package/schematics/simpl-siemens-migration/index.js +1 -5
- package/schematics/utils/ts-utils.js +135 -0
- package/search-bar/package.json +2 -1
- package/select/package.json +2 -1
- package/shadow-root/package.json +2 -1
- package/side-panel/package.json +2 -1
- package/skip-links/package.json +2 -1
- package/slider/package.json +2 -1
- package/sort-bar/package.json +2 -1
- package/split/package.json +2 -1
- package/status-bar/package.json +2 -1
- package/status-counter/package.json +2 -1
- package/status-toggle/package.json +2 -1
- package/summary-chip/package.json +2 -1
- package/summary-widget/package.json +2 -1
- package/system-banner/package.json +2 -1
- package/tabs/package.json +2 -1
- package/tabs-legacy/package.json +2 -1
- package/template-i18n.json +32 -25
- package/test-styles.scss +5 -0
- package/theme/package.json +2 -1
- package/threshold/package.json +2 -1
- package/toast-notification/package.json +2 -1
- package/tooltip/package.json +2 -1
- package/tour/package.json +2 -1
- package/translate/package.json +2 -1
- package/tree-view/package.json +2 -1
- package/typeahead/package.json +2 -1
- package/{accordion/index.d.ts → types/siemens-element-ng-accordion.d.ts} +2 -3
- package/{application-header/index.d.ts → types/siemens-element-ng-application-header.d.ts} +19 -18
- package/{autocomplete/index.d.ts → types/siemens-element-ng-autocomplete.d.ts} +1 -3
- package/{breadcrumb/index.d.ts → types/siemens-element-ng-breadcrumb.d.ts} +2 -2
- package/{chat-messages/index.d.ts → types/siemens-element-ng-chat-messages.d.ts} +72 -10
- package/{common/index.d.ts → types/siemens-element-ng-common.d.ts} +2 -30
- package/{content-action-bar/index.d.ts → types/siemens-element-ng-content-action-bar.d.ts} +2 -2
- package/{dashboard/index.d.ts → types/siemens-element-ng-dashboard.d.ts} +6 -6
- package/{date-range-filter/index.d.ts → types/siemens-element-ng-date-range-filter.d.ts} +28 -27
- package/{datepicker/index.d.ts → types/siemens-element-ng-datepicker.d.ts} +5 -6
- package/{electron-titlebar/index.d.ts → types/siemens-element-ng-electron-titlebar.d.ts} +4 -4
- package/{file-uploader/index.d.ts → types/siemens-element-ng-file-uploader.d.ts} +26 -26
- package/{filter-bar/index.d.ts → types/siemens-element-ng-filter-bar.d.ts} +4 -4
- package/{filtered-search/index.d.ts → types/siemens-element-ng-filtered-search.d.ts} +6 -21
- package/{form/index.d.ts → types/siemens-element-ng-form.d.ts} +4 -6
- package/{formly/index.d.ts → types/siemens-element-ng-formly.d.ts} +1 -1
- package/types/siemens-element-ng-icon.d.ts +203 -0
- package/{landing-page/index.d.ts → types/siemens-element-ng-landing-page.d.ts} +15 -15
- package/{language-switcher/index.d.ts → types/siemens-element-ng-language-switcher.d.ts} +1 -2
- package/{list-details/index.d.ts → types/siemens-element-ng-list-details.d.ts} +4 -11
- package/{loading-spinner/index.d.ts → types/siemens-element-ng-loading-spinner.d.ts} +2 -3
- package/{modal/index.d.ts → types/siemens-element-ng-modal.d.ts} +0 -6
- package/{navbar-vertical/index.d.ts → types/siemens-element-ng-navbar-vertical.d.ts} +12 -7
- package/{navbar/index.d.ts → types/siemens-element-ng-navbar.d.ts} +11 -11
- package/{notification-item/index.d.ts → types/siemens-element-ng-notification-item.d.ts} +15 -3
- package/{pagination/index.d.ts → types/siemens-element-ng-pagination.d.ts} +4 -4
- package/{password-toggle/index.d.ts → types/siemens-element-ng-password-toggle.d.ts} +6 -4
- package/{phone-number/index.d.ts → types/siemens-element-ng-phone-number.d.ts} +8 -11
- package/{pills-input/index.d.ts → types/siemens-element-ng-pills-input.d.ts} +3 -3
- package/{popover/index.d.ts → types/siemens-element-ng-popover.d.ts} +2 -2
- package/{resize-observer/index.d.ts → types/siemens-element-ng-resize-observer.d.ts} +0 -30
- package/{search-bar/index.d.ts → types/siemens-element-ng-search-bar.d.ts} +2 -2
- package/{select/index.d.ts → types/siemens-element-ng-select.d.ts} +18 -97
- package/{side-panel/index.d.ts → types/siemens-element-ng-side-panel.d.ts} +26 -5
- package/{slider/index.d.ts → types/siemens-element-ng-slider.d.ts} +4 -4
- package/{split/index.d.ts → types/siemens-element-ng-split.d.ts} +1 -3
- package/{status-bar/index.d.ts → types/siemens-element-ng-status-bar.d.ts} +6 -6
- package/{tabs-legacy/index.d.ts → types/siemens-element-ng-tabs-legacy.d.ts} +5 -0
- package/{threshold/index.d.ts → types/siemens-element-ng-threshold.d.ts} +7 -7
- package/{toast-notification/index.d.ts → types/siemens-element-ng-toast-notification.d.ts} +3 -4
- package/{tooltip/index.d.ts → types/siemens-element-ng-tooltip.d.ts} +3 -6
- package/{tour/index.d.ts → types/siemens-element-ng-tour.d.ts} +1 -10
- package/{translate/index.d.ts → types/siemens-element-ng-translate.d.ts} +8 -1
- package/{tree-view/index.d.ts → types/siemens-element-ng-tree-view.d.ts} +0 -1
- package/{typeahead/index.d.ts → types/siemens-element-ng-typeahead.d.ts} +0 -2
- package/{wizard/index.d.ts → types/siemens-element-ng-wizard.d.ts} +6 -6
- package/wizard/package.json +2 -1
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs +0 -75
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +0 -1
- package/icon/index.d.ts +0 -285
- package/schematics/migrations/action-modal-migration/action-modal-migration.js +0 -162
- package/schematics/migrations/action-modal-migration/action-modal.mappings.js +0 -98
- package/schematics/migrations/action-modal-migration/index.js +0 -5
- package/schematics/migrations/wizard-migration/index.js +0 -80
- package/schematics/scss-import-to-siemens-migration/index.js +0 -101
- package/schematics/scss-import-to-siemens-migration/schema.json +0 -16
- package/schematics/scss-import-to-siemens-migration/style-mappings.js +0 -62
- package/schematics/ts-import-to-siemens-migration/index.js +0 -230
- package/schematics/ts-import-to-siemens-migration/mappings/charts-ng-mappings.js +0 -71
- package/schematics/ts-import-to-siemens-migration/mappings/dashboards-ng-mappings.js +0 -54
- package/schematics/ts-import-to-siemens-migration/mappings/element-ng-mappings.js +0 -705
- package/schematics/ts-import-to-siemens-migration/mappings/element-translate-ng-mappings.js +0 -21
- package/schematics/ts-import-to-siemens-migration/mappings/index.js +0 -10
- package/schematics/ts-import-to-siemens-migration/mappings/maps-ng-mappings.js +0 -47
- package/schematics/ts-import-to-siemens-migration/mappings/native-charts-ng-mappings.js +0 -33
- package/schematics/ts-import-to-siemens-migration/model.js +0 -4
- package/schematics/ts-import-to-siemens-migration/schema.json +0 -16
- package/unauthorized-page/index.d.ts +0 -44
- package/unauthorized-page/package.json +0 -3
- /package/{about/index.d.ts → types/siemens-element-ng-about.d.ts} +0 -0
- /package/{action-modal/index.d.ts → types/siemens-element-ng-action-modal.d.ts} +0 -0
- /package/{ag-grid/index.d.ts → types/siemens-element-ng-ag-grid.d.ts} +0 -0
- /package/{auto-collapsable-list/index.d.ts → types/siemens-element-ng-auto-collapsable-list.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/siemens-element-ng-avatar.d.ts} +0 -0
- /package/{badge/index.d.ts → types/siemens-element-ng-badge.d.ts} +0 -0
- /package/{breadcrumb-router/index.d.ts → types/siemens-element-ng-breadcrumb-router.d.ts} +0 -0
- /package/{card/index.d.ts → types/siemens-element-ng-card.d.ts} +0 -0
- /package/{circle-status/index.d.ts → types/siemens-element-ng-circle-status.d.ts} +0 -0
- /package/{color-picker/index.d.ts → types/siemens-element-ng-color-picker.d.ts} +0 -0
- /package/{column-selection-dialog/index.d.ts → types/siemens-element-ng-column-selection-dialog.d.ts} +0 -0
- /package/{connection-strength/index.d.ts → types/siemens-element-ng-connection-strength.d.ts} +0 -0
- /package/{copyright-notice/index.d.ts → types/siemens-element-ng-copyright-notice.d.ts} +0 -0
- /package/{datatable/index.d.ts → types/siemens-element-ng-datatable.d.ts} +0 -0
- /package/{empty-state/index.d.ts → types/siemens-element-ng-empty-state.d.ts} +0 -0
- /package/{footer/index.d.ts → types/siemens-element-ng-footer.d.ts} +0 -0
- /package/{header-dropdown/index.d.ts → types/siemens-element-ng-header-dropdown.d.ts} +0 -0
- /package/{help-button/index.d.ts → types/siemens-element-ng-help-button.d.ts} +0 -0
- /package/{icon-status/index.d.ts → types/siemens-element-ng-icon-status.d.ts} +0 -0
- /package/{info-page/index.d.ts → types/siemens-element-ng-info-page.d.ts} +0 -0
- /package/{inline-notification/index.d.ts → types/siemens-element-ng-inline-notification.d.ts} +0 -0
- /package/{ip-input/index.d.ts → types/siemens-element-ng-ip-input.d.ts} +0 -0
- /package/{link/index.d.ts → types/siemens-element-ng-link.d.ts} +0 -0
- /package/{localization/index.d.ts → types/siemens-element-ng-localization.d.ts} +0 -0
- /package/{main-detail-container/index.d.ts → types/siemens-element-ng-main-detail-container.d.ts} +0 -0
- /package/{markdown-renderer/index.d.ts → types/siemens-element-ng-markdown-renderer.d.ts} +0 -0
- /package/{menu/index.d.ts → types/siemens-element-ng-menu.d.ts} +0 -0
- /package/{number-input/index.d.ts → types/siemens-element-ng-number-input.d.ts} +0 -0
- /package/{password-strength/index.d.ts → types/siemens-element-ng-password-strength.d.ts} +0 -0
- /package/{photo-upload/index.d.ts → types/siemens-element-ng-photo-upload.d.ts} +0 -0
- /package/{popover-legacy/index.d.ts → types/siemens-element-ng-popover-legacy.d.ts} +0 -0
- /package/{progressbar/index.d.ts → types/siemens-element-ng-progressbar.d.ts} +0 -0
- /package/{result-details-list/index.d.ts → types/siemens-element-ng-result-details-list.d.ts} +0 -0
- /package/{shadow-root/index.d.ts → types/siemens-element-ng-shadow-root.d.ts} +0 -0
- /package/{skip-links/index.d.ts → types/siemens-element-ng-skip-links.d.ts} +0 -0
- /package/{sort-bar/index.d.ts → types/siemens-element-ng-sort-bar.d.ts} +0 -0
- /package/{status-counter/index.d.ts → types/siemens-element-ng-status-counter.d.ts} +0 -0
- /package/{status-toggle/index.d.ts → types/siemens-element-ng-status-toggle.d.ts} +0 -0
- /package/{summary-chip/index.d.ts → types/siemens-element-ng-summary-chip.d.ts} +0 -0
- /package/{summary-widget/index.d.ts → types/siemens-element-ng-summary-widget.d.ts} +0 -0
- /package/{system-banner/index.d.ts → types/siemens-element-ng-system-banner.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/siemens-element-ng-tabs.d.ts} +0 -0
- /package/{theme/index.d.ts → types/siemens-element-ng-theme.d.ts} +0 -0
- /package/{index.d.ts → types/siemens-element-ng.d.ts} +0 -0
|
@@ -3,13 +3,14 @@ import { MediaMatcher } from '@angular/cdk/layout';
|
|
|
3
3
|
import { CdkOption, CdkListbox } from '@angular/cdk/listbox';
|
|
4
4
|
import * as i2 from '@angular/cdk/overlay';
|
|
5
5
|
import { OverlayModule } from '@angular/cdk/overlay';
|
|
6
|
-
import {
|
|
6
|
+
import { NgTemplateOutlet, DatePipe } from '@angular/common';
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
8
|
import { Injectable, input, booleanAttribute, output, signal, computed, ChangeDetectionStrategy, Component, Pipe, inject, model, NgModule } from '@angular/core';
|
|
9
9
|
import * as i1 from '@angular/forms';
|
|
10
10
|
import { FormsModule } from '@angular/forms';
|
|
11
|
+
import { elementDown2 } from '@siemens/element-icons';
|
|
11
12
|
import { isValid, SiCalendarButtonComponent, SiDatepickerComponent, SiDatepickerDirective } from '@siemens/element-ng/datepicker';
|
|
12
|
-
import { addIcons,
|
|
13
|
+
import { addIcons, SiIconComponent } from '@siemens/element-ng/icon';
|
|
13
14
|
import { BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';
|
|
14
15
|
import { SiSearchBarComponent } from '@siemens/element-ng/search-bar';
|
|
15
16
|
import { t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
|
|
@@ -72,10 +73,10 @@ class SiDateRangeCalculationService {
|
|
|
72
73
|
date.setMilliseconds(0);
|
|
73
74
|
return date;
|
|
74
75
|
}
|
|
75
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
76
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
76
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeCalculationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeCalculationService, providedIn: 'root' });
|
|
77
78
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeCalculationService, decorators: [{
|
|
79
80
|
type: Injectable,
|
|
80
81
|
args: [{ providedIn: 'root' }]
|
|
81
82
|
}] });
|
|
@@ -89,15 +90,16 @@ const ONE_DAY = ONE_MINUTE * 60 * 24;
|
|
|
89
90
|
*/
|
|
90
91
|
class SiRelativeDateComponent {
|
|
91
92
|
/** @defaultValue 0 */
|
|
92
|
-
|
|
93
|
+
// eslint-disable-next-line @angular-eslint/prefer-signal-model
|
|
94
|
+
value = input(0, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
93
95
|
/** @defaultValue false */
|
|
94
|
-
enableTimeSelection = input(false, { transform: booleanAttribute });
|
|
95
|
-
valueLabel = input.required();
|
|
96
|
-
unitLabel = input.required();
|
|
96
|
+
enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : {}), transform: booleanAttribute });
|
|
97
|
+
valueLabel = input.required(...(ngDevMode ? [{ debugName: "valueLabel" }] : []));
|
|
98
|
+
unitLabel = input.required(...(ngDevMode ? [{ debugName: "unitLabel" }] : []));
|
|
97
99
|
valueChange = output();
|
|
98
|
-
internalValue = signal(0);
|
|
99
|
-
offset = signal(0);
|
|
100
|
-
unit = signal('days');
|
|
100
|
+
internalValue = signal(0, ...(ngDevMode ? [{ debugName: "internalValue" }] : []));
|
|
101
|
+
offset = signal(0, ...(ngDevMode ? [{ debugName: "offset" }] : []));
|
|
102
|
+
unit = signal('days', ...(ngDevMode ? [{ debugName: "unit" }] : []));
|
|
101
103
|
fullOffsetList = [
|
|
102
104
|
{
|
|
103
105
|
type: 'option',
|
|
@@ -138,7 +140,7 @@ class SiRelativeDateComponent {
|
|
|
138
140
|
];
|
|
139
141
|
offsetList = computed(() => this.enableTimeSelection()
|
|
140
142
|
? this.fullOffsetList
|
|
141
|
-
: this.fullOffsetList.filter(item => item.offset >= ONE_DAY));
|
|
143
|
+
: this.fullOffsetList.filter(item => item.offset >= ONE_DAY), ...(ngDevMode ? [{ debugName: "offsetList" }] : []));
|
|
142
144
|
ngOnChanges(changes) {
|
|
143
145
|
const value = this.value();
|
|
144
146
|
if (changes.value && value !== this.internalValue()) {
|
|
@@ -178,10 +180,10 @@ class SiRelativeDateComponent {
|
|
|
178
180
|
this.internalValue.set(this.offset() * item.offset);
|
|
179
181
|
this.valueChange.emit(this.internalValue());
|
|
180
182
|
}
|
|
181
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
182
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
183
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiRelativeDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
184
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiRelativeDateComponent, isStandalone: true, selector: "si-relative-date", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: true, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<si-number-input\n class=\"form-control mb-4\"\n [aria-label]=\"valueLabel()\"\n [ngModel]=\"offset()\"\n (ngModelChange)=\"updateValue($event)\"\n/>\n<si-select\n class=\"form-control\"\n min=\"0\"\n [ariaLabel]=\"unitLabel()\"\n [options]=\"offsetList()\"\n [ngModel]=\"unit()\"\n (ngModelChange)=\"changeUnit($event)\"\n/>\n", styles: [".form-control{min-inline-size:0}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SiNumberInputComponent, selector: "si-number-input", inputs: ["min", "max", "step", "value", "unit", "showButtons", "aria-label", "inputId", "disabled", "readonly", "placeholder", "errormessageId"], outputs: ["valueChange"] }, { kind: "component", type: SiSelectComponent, selector: "si-select", inputs: ["id", "ariaLabel", "labelledby", "filterPlaceholder", "noResultsFoundLabel", "placeholder", "readonly", "errormessageId", "hasFilter"], outputs: ["openChange"] }, { kind: "directive", type: SiSelectSingleValueDirective, selector: "si-select:not([multi])" }, { kind: "directive", type: SiSelectSimpleOptionsDirective, selector: "si-select[options]", inputs: ["options", "optionEqualCheckFn"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
183
185
|
}
|
|
184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiRelativeDateComponent, decorators: [{
|
|
185
187
|
type: Component,
|
|
186
188
|
args: [{ selector: 'si-relative-date', imports: [
|
|
187
189
|
FormsModule,
|
|
@@ -190,7 +192,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
190
192
|
SiSelectSingleValueDirective,
|
|
191
193
|
SiSelectSimpleOptionsDirective
|
|
192
194
|
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<si-number-input\n class=\"form-control mb-4\"\n [aria-label]=\"valueLabel()\"\n [ngModel]=\"offset()\"\n (ngModelChange)=\"updateValue($event)\"\n/>\n<si-select\n class=\"form-control\"\n min=\"0\"\n [ariaLabel]=\"unitLabel()\"\n [options]=\"offsetList()\"\n [ngModel]=\"unit()\"\n (ngModelChange)=\"changeUnit($event)\"\n/>\n", styles: [".form-control{min-inline-size:0}\n"] }]
|
|
193
|
-
}] });
|
|
195
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], enableTimeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableTimeSelection", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueLabel", required: true }] }], unitLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitLabel", required: true }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
194
196
|
|
|
195
197
|
/**
|
|
196
198
|
* Copyright (c) Siemens 2016 - 2025
|
|
@@ -200,10 +202,10 @@ class PresetMatchFilterPipe {
|
|
|
200
202
|
transform(value, term) {
|
|
201
203
|
return !term ? true : value.toLowerCase().includes(term.toLowerCase());
|
|
202
204
|
}
|
|
203
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
204
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PresetMatchFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
206
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: PresetMatchFilterPipe, isStandalone: true, name: "presetMatchFilter" });
|
|
205
207
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: PresetMatchFilterPipe, decorators: [{
|
|
207
209
|
type: Pipe,
|
|
208
210
|
args: [{ name: 'presetMatchFilter', pure: true }]
|
|
209
211
|
}] });
|
|
@@ -212,46 +214,46 @@ class SiDateRangeFilterComponent {
|
|
|
212
214
|
mediaMatcher = inject(MediaMatcher);
|
|
213
215
|
smallScreen = this.mediaMatcher.matchMedia(`(max-width: ${BOOTSTRAP_BREAKPOINTS.mdMinimum}px)`).matches;
|
|
214
216
|
/** The filter range object */
|
|
215
|
-
range = model.required();
|
|
217
|
+
range = model.required(...(ngDevMode ? [{ debugName: "range" }] : []));
|
|
216
218
|
/** List of preset time ranges. When not present or empty, the preset section won't show */
|
|
217
|
-
presetList = input();
|
|
219
|
+
presetList = input(...(ngDevMode ? [undefined, { debugName: "presetList" }] : []));
|
|
218
220
|
/**
|
|
219
221
|
* Determines if there's a search field for the preset list
|
|
220
222
|
*
|
|
221
223
|
* @defaultValue true
|
|
222
224
|
*/
|
|
223
|
-
presetSearch = input(true, { transform: booleanAttribute });
|
|
225
|
+
presetSearch = input(true, { ...(ngDevMode ? { debugName: "presetSearch" } : {}), transform: booleanAttribute });
|
|
224
226
|
/**
|
|
225
227
|
* Determines if time is selectable or only dates
|
|
226
228
|
*
|
|
227
229
|
* @defaultValue false
|
|
228
230
|
*/
|
|
229
|
-
enableTimeSelection = input(false, { transform: booleanAttribute });
|
|
231
|
+
enableTimeSelection = input(false, { ...(ngDevMode ? { debugName: "enableTimeSelection" } : {}), transform: booleanAttribute });
|
|
230
232
|
/**
|
|
231
233
|
* Determines whether to show input fields or a date-range calendar in basic mode.
|
|
232
234
|
* When time selection is enabled, this has no effect and input fields are always shown.
|
|
233
235
|
*
|
|
234
236
|
* @defaultValue 'calendar'
|
|
235
237
|
*/
|
|
236
|
-
basicMode = input('calendar');
|
|
238
|
+
basicMode = input('calendar', ...(ngDevMode ? [{ debugName: "basicMode" }] : []));
|
|
237
239
|
/**
|
|
238
240
|
* Reverses the order of the from/to fields
|
|
239
241
|
*
|
|
240
242
|
* @defaultValue false
|
|
241
243
|
*/
|
|
242
|
-
reverseInputFields = input(false, { transform: booleanAttribute });
|
|
244
|
+
reverseInputFields = input(false, { ...(ngDevMode ? { debugName: "reverseInputFields" } : {}), transform: booleanAttribute });
|
|
243
245
|
/**
|
|
244
246
|
* Determines whether to show the 'Apply' button
|
|
245
247
|
*
|
|
246
248
|
* @defaultValue false
|
|
247
249
|
*/
|
|
248
|
-
showApplyButton = input(false, { transform: booleanAttribute });
|
|
250
|
+
showApplyButton = input(false, { ...(ngDevMode ? { debugName: "showApplyButton" } : {}), transform: booleanAttribute });
|
|
249
251
|
/**
|
|
250
252
|
* Hides the advanced mode if input allows
|
|
251
253
|
*
|
|
252
254
|
* @defaultValue false
|
|
253
255
|
*/
|
|
254
|
-
hideAdvancedMode = input(false, { transform: booleanAttribute });
|
|
256
|
+
hideAdvancedMode = input(false, { ...(ngDevMode ? { debugName: "hideAdvancedMode" } : {}), transform: booleanAttribute });
|
|
255
257
|
/**
|
|
256
258
|
* label for the "Reference point" title
|
|
257
259
|
*
|
|
@@ -260,7 +262,7 @@ class SiDateRangeFilterComponent {
|
|
|
260
262
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`)
|
|
261
263
|
* ```
|
|
262
264
|
*/
|
|
263
|
-
refLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`));
|
|
265
|
+
refLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.REF_POINT:Reference point`), ...(ngDevMode ? [{ debugName: "refLabel" }] : []));
|
|
264
266
|
/**
|
|
265
267
|
* label for the "Reference point" title
|
|
266
268
|
*
|
|
@@ -269,7 +271,7 @@ class SiDateRangeFilterComponent {
|
|
|
269
271
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.FROM:From`)
|
|
270
272
|
* ```
|
|
271
273
|
*/
|
|
272
|
-
fromLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.FROM:From`));
|
|
274
|
+
fromLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.FROM:From`), ...(ngDevMode ? [{ debugName: "fromLabel" }] : []));
|
|
273
275
|
/**
|
|
274
276
|
* label for the "Reference point" title
|
|
275
277
|
*
|
|
@@ -278,7 +280,7 @@ class SiDateRangeFilterComponent {
|
|
|
278
280
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.TO:To`)
|
|
279
281
|
* ```
|
|
280
282
|
*/
|
|
281
|
-
toLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TO:To`));
|
|
283
|
+
toLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TO:To`), ...(ngDevMode ? [{ debugName: "toLabel" }] : []));
|
|
282
284
|
/**
|
|
283
285
|
* label for the "Range" title
|
|
284
286
|
*
|
|
@@ -287,7 +289,7 @@ class SiDateRangeFilterComponent {
|
|
|
287
289
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.RANGE:Range`)
|
|
288
290
|
* ```
|
|
289
291
|
*/
|
|
290
|
-
rangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.RANGE:Range`));
|
|
292
|
+
rangeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.RANGE:Range`), ...(ngDevMode ? [{ debugName: "rangeLabel" }] : []));
|
|
291
293
|
/**
|
|
292
294
|
* label for the "Today" checkbox
|
|
293
295
|
*
|
|
@@ -296,7 +298,7 @@ class SiDateRangeFilterComponent {
|
|
|
296
298
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.TODAY:Today`)
|
|
297
299
|
* ```
|
|
298
300
|
*/
|
|
299
|
-
todayLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TODAY:Today`));
|
|
301
|
+
todayLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.TODAY:Today`), ...(ngDevMode ? [{ debugName: "todayLabel" }] : []));
|
|
300
302
|
/**
|
|
301
303
|
* label for the "Now" checkbox
|
|
302
304
|
*
|
|
@@ -305,7 +307,7 @@ class SiDateRangeFilterComponent {
|
|
|
305
307
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.NOW:Now`)
|
|
306
308
|
* ```
|
|
307
309
|
*/
|
|
308
|
-
nowLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.NOW:Now`));
|
|
310
|
+
nowLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.NOW:Now`), ...(ngDevMode ? [{ debugName: "nowLabel" }] : []));
|
|
309
311
|
/**
|
|
310
312
|
* label for "Date" field / radio button
|
|
311
313
|
*
|
|
@@ -314,7 +316,7 @@ class SiDateRangeFilterComponent {
|
|
|
314
316
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.DATE:Date`)
|
|
315
317
|
* ```
|
|
316
318
|
*/
|
|
317
|
-
dateLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE:Date`));
|
|
319
|
+
dateLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE:Date`), ...(ngDevMode ? [{ debugName: "dateLabel" }] : []));
|
|
318
320
|
/**
|
|
319
321
|
* label for the "Preview" title
|
|
320
322
|
*
|
|
@@ -323,7 +325,7 @@ class SiDateRangeFilterComponent {
|
|
|
323
325
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`)
|
|
324
326
|
* ```
|
|
325
327
|
*/
|
|
326
|
-
previewLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`));
|
|
328
|
+
previewLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PREVIEW:Preview`), ...(ngDevMode ? [{ debugName: "previewLabel" }] : []));
|
|
327
329
|
/**
|
|
328
330
|
* Placeholder for date fields
|
|
329
331
|
*
|
|
@@ -332,7 +334,7 @@ class SiDateRangeFilterComponent {
|
|
|
332
334
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`)
|
|
333
335
|
* ```
|
|
334
336
|
*/
|
|
335
|
-
datePlaceholder = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`));
|
|
337
|
+
datePlaceholder = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER:Select date`), ...(ngDevMode ? [{ debugName: "datePlaceholder" }] : []));
|
|
336
338
|
/**
|
|
337
339
|
* label for the "Before" toggle
|
|
338
340
|
*
|
|
@@ -341,7 +343,7 @@ class SiDateRangeFilterComponent {
|
|
|
341
343
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.BEFORE:Before`)
|
|
342
344
|
* ```
|
|
343
345
|
*/
|
|
344
|
-
beforeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.BEFORE:Before`));
|
|
346
|
+
beforeLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.BEFORE:Before`), ...(ngDevMode ? [{ debugName: "beforeLabel" }] : []));
|
|
345
347
|
/**
|
|
346
348
|
* label for the "After" toggle
|
|
347
349
|
*
|
|
@@ -350,7 +352,7 @@ class SiDateRangeFilterComponent {
|
|
|
350
352
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.AFTER:After`)
|
|
351
353
|
* ```
|
|
352
354
|
*/
|
|
353
|
-
afterLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.AFTER:After`));
|
|
355
|
+
afterLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.AFTER:After`), ...(ngDevMode ? [{ debugName: "afterLabel" }] : []));
|
|
354
356
|
/**
|
|
355
357
|
* label for the "Within" toggle
|
|
356
358
|
*
|
|
@@ -359,7 +361,7 @@ class SiDateRangeFilterComponent {
|
|
|
359
361
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.WITHIN:Within`)
|
|
360
362
|
* ```
|
|
361
363
|
*/
|
|
362
|
-
withinLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.WITHIN:Within`));
|
|
364
|
+
withinLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.WITHIN:Within`), ...(ngDevMode ? [{ debugName: "withinLabel" }] : []));
|
|
363
365
|
/**
|
|
364
366
|
* label for the "value" number input
|
|
365
367
|
*
|
|
@@ -368,7 +370,7 @@ class SiDateRangeFilterComponent {
|
|
|
368
370
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.VALUE:Value`)
|
|
369
371
|
* ```
|
|
370
372
|
*/
|
|
371
|
-
valueLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.VALUE:Value`));
|
|
373
|
+
valueLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.VALUE:Value`), ...(ngDevMode ? [{ debugName: "valueLabel" }] : []));
|
|
372
374
|
/**
|
|
373
375
|
* label for the "Unit" select
|
|
374
376
|
*
|
|
@@ -377,7 +379,7 @@ class SiDateRangeFilterComponent {
|
|
|
377
379
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.UNIT:Unit`)
|
|
378
380
|
* ```
|
|
379
381
|
*/
|
|
380
|
-
unitLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.UNIT:Unit`));
|
|
382
|
+
unitLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.UNIT:Unit`), ...(ngDevMode ? [{ debugName: "unitLabel" }] : []));
|
|
381
383
|
/**
|
|
382
384
|
* label for the "search" input
|
|
383
385
|
*
|
|
@@ -386,7 +388,7 @@ class SiDateRangeFilterComponent {
|
|
|
386
388
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.SEARCH:Search`)
|
|
387
389
|
* ```
|
|
388
390
|
*/
|
|
389
|
-
searchLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SEARCH:Search`));
|
|
391
|
+
searchLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.SEARCH:Search`), ...(ngDevMode ? [{ debugName: "searchLabel" }] : []));
|
|
390
392
|
/**
|
|
391
393
|
* label for the "search" input
|
|
392
394
|
*
|
|
@@ -395,7 +397,7 @@ class SiDateRangeFilterComponent {
|
|
|
395
397
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`)
|
|
396
398
|
* ```
|
|
397
399
|
*/
|
|
398
|
-
presetLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`));
|
|
400
|
+
presetLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.PRESETS:Presets`), ...(ngDevMode ? [{ debugName: "presetLabel" }] : []));
|
|
399
401
|
/**
|
|
400
402
|
* label for the "advanced" switch
|
|
401
403
|
*
|
|
@@ -404,7 +406,7 @@ class SiDateRangeFilterComponent {
|
|
|
404
406
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`)
|
|
405
407
|
* ```
|
|
406
408
|
*/
|
|
407
|
-
advancedLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`));
|
|
409
|
+
advancedLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.ADVANCED:Advanced`), ...(ngDevMode ? [{ debugName: "advancedLabel" }] : []));
|
|
408
410
|
/**
|
|
409
411
|
* label for the "apply" switch
|
|
410
412
|
*
|
|
@@ -413,59 +415,59 @@ class SiDateRangeFilterComponent {
|
|
|
413
415
|
* t(() => $localize`:@@SI_DATE_RANGE_FILTER.APPLY:Apply`)
|
|
414
416
|
* ```
|
|
415
417
|
*/
|
|
416
|
-
applyLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.APPLY:Apply`));
|
|
418
|
+
applyLabel = input(t(() => $localize `:@@SI_DATE_RANGE_FILTER.APPLY:Apply`), ...(ngDevMode ? [{ debugName: "applyLabel" }] : []));
|
|
417
419
|
/** Event fired when the apply button has been clicked */
|
|
418
420
|
applyClicked = output();
|
|
419
421
|
/** Base configuration on how the dates should be displayed, parts of it may be overwritten internally. */
|
|
420
|
-
datepickerConfig = input();
|
|
422
|
+
datepickerConfig = input(...(ngDevMode ? [undefined, { debugName: "datepickerConfig" }] : []));
|
|
421
423
|
icons = addIcons({ elementDown2 });
|
|
422
|
-
advancedMode = false;
|
|
423
|
-
dateRange = signal({ start: undefined, end: undefined });
|
|
424
|
-
point1Now = true;
|
|
425
|
-
point2Mode = 'duration';
|
|
426
|
-
point1date = this.getDateNow();
|
|
427
|
-
point2date = this.getDateNow();
|
|
428
|
-
point2offset = 0;
|
|
429
|
-
point2range = 'before';
|
|
430
|
-
calculatedRange = computed(() => this.resolve(this.range()));
|
|
424
|
+
advancedMode = signal(false, ...(ngDevMode ? [{ debugName: "advancedMode" }] : []));
|
|
425
|
+
dateRange = signal({ start: undefined, end: undefined }, ...(ngDevMode ? [{ debugName: "dateRange" }] : []));
|
|
426
|
+
point1Now = signal(true, ...(ngDevMode ? [{ debugName: "point1Now" }] : []));
|
|
427
|
+
point2Mode = signal('duration', ...(ngDevMode ? [{ debugName: "point2Mode" }] : []));
|
|
428
|
+
point1date = signal(this.getDateNow(), ...(ngDevMode ? [{ debugName: "point1date" }] : []));
|
|
429
|
+
point2date = signal(this.getDateNow(), ...(ngDevMode ? [{ debugName: "point2date" }] : []));
|
|
430
|
+
point2offset = signal(0, ...(ngDevMode ? [{ debugName: "point2offset" }] : []));
|
|
431
|
+
point2range = signal('before', ...(ngDevMode ? [{ debugName: "point2range" }] : []));
|
|
432
|
+
calculatedRange = computed(() => this.resolve(this.range()), ...(ngDevMode ? [{ debugName: "calculatedRange" }] : []));
|
|
431
433
|
pipeFormat = computed(() => this.enableTimeSelection()
|
|
432
434
|
? (this.datepickerConfig()?.dateTimeFormat ?? 'short')
|
|
433
|
-
: (this.datepickerConfig()?.dateFormat ?? 'shortDate'));
|
|
435
|
+
: (this.datepickerConfig()?.dateFormat ?? 'shortDate'), ...(ngDevMode ? [{ debugName: "pipeFormat" }] : []));
|
|
434
436
|
datepickerConfigInternal = computed(() => ({
|
|
435
437
|
...(this.datepickerConfig() ?? {}),
|
|
436
438
|
enableDateRange: false,
|
|
437
439
|
showTime: this.enableTimeSelection(),
|
|
438
440
|
mandatoryTime: this.enableTimeSelection()
|
|
439
|
-
}));
|
|
441
|
+
}), ...(ngDevMode ? [{ debugName: "datepickerConfigInternal" }] : []));
|
|
440
442
|
dateRangeConfig = computed(() => ({
|
|
441
443
|
...(this.datepickerConfig() ?? {}),
|
|
442
444
|
enableDateRange: true
|
|
443
|
-
}));
|
|
445
|
+
}), ...(ngDevMode ? [{ debugName: "dateRangeConfig" }] : []));
|
|
444
446
|
filteredPresetList = computed(() => {
|
|
445
447
|
const timeFilter = (item) => {
|
|
446
448
|
const timeOnly = item.type === 'custom' ? item.timeOnly : item.offset < ONE_DAY;
|
|
447
449
|
return this.enableTimeSelection() || !timeOnly;
|
|
448
450
|
};
|
|
449
451
|
return (this.presetList() ?? []).filter(timeFilter);
|
|
450
|
-
});
|
|
452
|
+
}, ...(ngDevMode ? [{ debugName: "filteredPresetList" }] : []));
|
|
451
453
|
focusedDate = computed(() => {
|
|
452
454
|
const range = this.dateRange();
|
|
453
455
|
const date = range.end ?? range.start;
|
|
454
456
|
return isValid(date) ? date : undefined;
|
|
455
|
-
});
|
|
456
|
-
presetFilter = signal('');
|
|
457
|
-
presetOpen = signal(false);
|
|
458
|
-
inputMode = computed(() => this.basicMode() === 'input' || this.enableTimeSelection());
|
|
457
|
+
}, ...(ngDevMode ? [{ debugName: "focusedDate" }] : []));
|
|
458
|
+
presetFilter = signal('', ...(ngDevMode ? [{ debugName: "presetFilter" }] : []));
|
|
459
|
+
presetOpen = signal(false, ...(ngDevMode ? [{ debugName: "presetOpen" }] : []));
|
|
460
|
+
inputMode = computed(() => this.basicMode() === 'input' || this.enableTimeSelection(), ...(ngDevMode ? [{ debugName: "inputMode" }] : []));
|
|
459
461
|
ngOnChanges(changes) {
|
|
460
462
|
if (changes.enableTimeSelection ||
|
|
461
463
|
changes.datepickerConfig ||
|
|
462
464
|
(changes.range && this.rangeChanged(changes.range.previousValue, changes.range.currentValue))) {
|
|
463
|
-
this.updateFromRange();
|
|
465
|
+
this.updateFromRange(this.range());
|
|
464
466
|
}
|
|
465
467
|
if ((changes.basicMode || changes.enableTimeSelection) &&
|
|
466
468
|
this.inputMode() &&
|
|
467
|
-
!this.advancedMode) {
|
|
468
|
-
this.point2Mode
|
|
469
|
+
!this.advancedMode()) {
|
|
470
|
+
this.point2Mode.set('date');
|
|
469
471
|
this.point2Changed();
|
|
470
472
|
}
|
|
471
473
|
}
|
|
@@ -477,29 +479,27 @@ class SiDateRangeFilterComponent {
|
|
|
477
479
|
return now;
|
|
478
480
|
}
|
|
479
481
|
rangeChanged(oldRange, newRange) {
|
|
480
|
-
return (!oldRange ||
|
|
482
|
+
return (!oldRange || // eslint-disable-line @typescript-eslint/prefer-optional-chain
|
|
481
483
|
oldRange.point1 !== newRange.point1 ||
|
|
482
484
|
oldRange.point2 !== newRange.point2 ||
|
|
483
485
|
oldRange.range !== newRange.range);
|
|
484
486
|
}
|
|
485
|
-
updateFromRange() {
|
|
486
|
-
|
|
487
|
-
this.
|
|
488
|
-
this.point1date = rangeVal.point1 === 'now' ? this.getDateNow() : rangeVal.point1;
|
|
487
|
+
updateFromRange(rangeVal) {
|
|
488
|
+
this.point1Now.set(rangeVal.point1 === 'now');
|
|
489
|
+
this.point1date.set(rangeVal.point1 === 'now' ? this.getDateNow() : rangeVal.point1);
|
|
489
490
|
if (rangeVal.point2) {
|
|
490
|
-
this.point2Mode
|
|
491
|
-
this.point2date
|
|
492
|
-
this.point2range
|
|
493
|
-
this.point2offset
|
|
494
|
-
rangeVal.point2
|
|
495
|
-
|
|
496
|
-
: rangeVal.point2;
|
|
491
|
+
this.point2Mode.set(rangeVal.point2 instanceof Date ? 'date' : 'duration');
|
|
492
|
+
this.point2date.set(rangeVal.point2 instanceof Date ? rangeVal.point2 : this.getDateNow());
|
|
493
|
+
this.point2range.set(rangeVal.range ?? 'before');
|
|
494
|
+
this.point2offset.set(rangeVal.point2 instanceof Date
|
|
495
|
+
? Math.abs(Math.round(this.point1date().getTime() - rangeVal.point2.getTime()))
|
|
496
|
+
: rangeVal.point2);
|
|
497
497
|
}
|
|
498
|
-
if ((this.point1Now && this.basicMode() !== 'input') || this.point2Mode !== 'date') {
|
|
499
|
-
this.advancedMode
|
|
498
|
+
if ((this.point1Now() && this.basicMode() !== 'input') || this.point2Mode() !== 'date') {
|
|
499
|
+
this.advancedMode.set(true);
|
|
500
500
|
}
|
|
501
501
|
else {
|
|
502
|
-
this.advancedMode
|
|
502
|
+
this.advancedMode.set(false);
|
|
503
503
|
this.updateDateRange();
|
|
504
504
|
}
|
|
505
505
|
}
|
|
@@ -514,11 +514,13 @@ class SiDateRangeFilterComponent {
|
|
|
514
514
|
this.dateRange.set({ start: calculatedRange.start, end: calculatedRange.end });
|
|
515
515
|
}
|
|
516
516
|
updateOnModeChange() {
|
|
517
|
-
if (this.advancedMode) {
|
|
517
|
+
if (this.advancedMode()) {
|
|
518
518
|
const calculatedRange = this.resolve(this.range());
|
|
519
|
-
this.
|
|
520
|
-
this.
|
|
521
|
-
this.
|
|
519
|
+
this.point1date.set(calculatedRange.start);
|
|
520
|
+
this.point2Mode.set('duration');
|
|
521
|
+
this.point2range.set('after');
|
|
522
|
+
this.point2offset.set(Math.abs(calculatedRange.end.getTime() - calculatedRange.start.getTime()));
|
|
523
|
+
this.updateRange();
|
|
522
524
|
}
|
|
523
525
|
else {
|
|
524
526
|
this.updateSimpleMode(this.range());
|
|
@@ -526,34 +528,35 @@ class SiDateRangeFilterComponent {
|
|
|
526
528
|
}
|
|
527
529
|
updateSimpleMode(newRange) {
|
|
528
530
|
if (this.inputMode()) {
|
|
529
|
-
this.range.update(oldRange => ({
|
|
530
|
-
...oldRange,
|
|
531
|
-
point1: newRange.point1
|
|
532
|
-
}));
|
|
533
531
|
// input mode supports `now`, so point1 needs to remain unchanged
|
|
534
532
|
if (newRange.point1 === 'now') {
|
|
535
|
-
this.point1Now
|
|
536
|
-
this.point1date
|
|
533
|
+
this.point1Now.set(true);
|
|
534
|
+
this.point1date.set(this.getDateNow());
|
|
537
535
|
}
|
|
538
536
|
else {
|
|
539
|
-
this.point1Now
|
|
540
|
-
this.point1date
|
|
537
|
+
this.point1Now.set(false);
|
|
538
|
+
this.point1date.set(newRange.point1);
|
|
541
539
|
}
|
|
542
540
|
const calculatedRange = this.resolve(newRange, true);
|
|
543
|
-
this.point2Mode
|
|
544
|
-
this.point2date
|
|
545
|
-
this.
|
|
546
|
-
...oldRange,
|
|
547
|
-
range: undefined,
|
|
548
|
-
point2: calculatedRange.end
|
|
549
|
-
}));
|
|
541
|
+
this.point2Mode.set('date');
|
|
542
|
+
this.point2date.set(calculatedRange.end);
|
|
543
|
+
this.updateRange();
|
|
550
544
|
}
|
|
551
545
|
else {
|
|
552
|
-
this.point1Now
|
|
546
|
+
this.point1Now.set(false);
|
|
553
547
|
this.updateDateRange(newRange);
|
|
554
548
|
this.updateFromDateRange();
|
|
555
549
|
}
|
|
556
550
|
}
|
|
551
|
+
updateRange() {
|
|
552
|
+
const point2isDate = this.point2Mode() === 'date';
|
|
553
|
+
const newRange = {
|
|
554
|
+
point1: this.point1Now() ? 'now' : this.point1date(),
|
|
555
|
+
point2: point2isDate ? this.point2date() : this.point2offset(),
|
|
556
|
+
range: point2isDate ? undefined : this.point2range()
|
|
557
|
+
};
|
|
558
|
+
this.range.update(old => ({ ...old, ...newRange }));
|
|
559
|
+
}
|
|
557
560
|
updateFromDateRange(dateRange) {
|
|
558
561
|
if (dateRange) {
|
|
559
562
|
this.dateRange.set(dateRange);
|
|
@@ -561,65 +564,41 @@ class SiDateRangeFilterComponent {
|
|
|
561
564
|
const range = this.dateRange();
|
|
562
565
|
const startDate = range.start ?? this.getDateNow();
|
|
563
566
|
const endDate = range.end ?? this.getDateNow();
|
|
564
|
-
this.point1date
|
|
565
|
-
this.point2date
|
|
566
|
-
this.
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
range: undefined
|
|
570
|
-
});
|
|
571
|
-
this.point2Mode = 'date';
|
|
572
|
-
this.point2offset = 0;
|
|
567
|
+
this.point1date.set(startDate);
|
|
568
|
+
this.point2date.set(endDate);
|
|
569
|
+
this.point2Mode.set('date');
|
|
570
|
+
this.point2offset.set(0);
|
|
571
|
+
this.updateRange();
|
|
573
572
|
}
|
|
574
573
|
point1Changed() {
|
|
575
|
-
if (this.point1Now) {
|
|
576
|
-
this.
|
|
577
|
-
this.point1date = this.getDateNow();
|
|
578
|
-
if (this.point2Mode !== 'date') {
|
|
579
|
-
this.point2range ??= 'before';
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
else {
|
|
583
|
-
this.range.update(oldRange => ({ ...oldRange, point1: this.point1date ?? new Date(NaN) }));
|
|
574
|
+
if (this.point1Now()) {
|
|
575
|
+
this.point1date.set(this.getDateNow());
|
|
584
576
|
}
|
|
577
|
+
this.updateRange();
|
|
585
578
|
}
|
|
586
579
|
point2Changed() {
|
|
587
|
-
if (this.point2Mode === 'date') {
|
|
580
|
+
if (this.point2Mode() === 'date') {
|
|
588
581
|
if (!(this.range().point2 instanceof Date)) {
|
|
589
582
|
const calculatedRange = this.resolve(this.range());
|
|
590
583
|
if (calculatedRange.valid) {
|
|
591
|
-
this.point2date
|
|
592
|
-
this.point1date < calculatedRange.end ? calculatedRange.start : calculatedRange.end;
|
|
584
|
+
this.point2date.set(this.point1date() < calculatedRange.end ? calculatedRange.start : calculatedRange.end);
|
|
593
585
|
}
|
|
594
586
|
}
|
|
595
|
-
this.range.update(oldRange => ({
|
|
596
|
-
...oldRange,
|
|
597
|
-
range: undefined,
|
|
598
|
-
point2: this.point2date
|
|
599
|
-
}));
|
|
600
587
|
}
|
|
601
588
|
else {
|
|
602
|
-
this.range.update(oldRange => ({
|
|
603
|
-
...oldRange,
|
|
604
|
-
range: this.point2range
|
|
605
|
-
}));
|
|
606
589
|
if (this.range().point2 instanceof Date) {
|
|
607
590
|
const calculatedRange = this.resolve(this.range());
|
|
608
|
-
this.point2offset
|
|
591
|
+
this.point2offset.set(Math.round(calculatedRange.end.getTime() - calculatedRange.start.getTime()));
|
|
609
592
|
}
|
|
610
|
-
this.range.update(oldRange => ({
|
|
611
|
-
...oldRange,
|
|
612
|
-
point2: this.point2offset
|
|
613
|
-
}));
|
|
614
593
|
}
|
|
594
|
+
this.updateRange();
|
|
615
595
|
}
|
|
616
596
|
selectPresetItem(event, item) {
|
|
617
597
|
const newRange = item.type === 'custom'
|
|
618
598
|
? item.calculate(item, this.range())
|
|
619
599
|
: { point1: 'now', range: 'before', point2: item.offset };
|
|
620
|
-
if (this.advancedMode) {
|
|
621
|
-
|
|
622
|
-
this.updateFromRange();
|
|
600
|
+
if (this.advancedMode()) {
|
|
601
|
+
this.updateFromRange(newRange);
|
|
623
602
|
}
|
|
624
603
|
else {
|
|
625
604
|
this.updateSimpleMode(newRange);
|
|
@@ -630,10 +609,10 @@ class SiDateRangeFilterComponent {
|
|
|
630
609
|
this.presetOpen.set(false);
|
|
631
610
|
}
|
|
632
611
|
}
|
|
633
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
634
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiDateRangeFilterComponent, isStandalone: true, selector: "si-date-range-filter", inputs: { range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: true, transformFunction: null }, presetList: { classPropertyName: "presetList", publicName: "presetList", isSignal: true, isRequired: false, transformFunction: null }, presetSearch: { classPropertyName: "presetSearch", publicName: "presetSearch", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, basicMode: { classPropertyName: "basicMode", publicName: "basicMode", isSignal: true, isRequired: false, transformFunction: null }, reverseInputFields: { classPropertyName: "reverseInputFields", publicName: "reverseInputFields", isSignal: true, isRequired: false, transformFunction: null }, showApplyButton: { classPropertyName: "showApplyButton", publicName: "showApplyButton", isSignal: true, isRequired: false, transformFunction: null }, hideAdvancedMode: { classPropertyName: "hideAdvancedMode", publicName: "hideAdvancedMode", isSignal: true, isRequired: false, transformFunction: null }, refLabel: { classPropertyName: "refLabel", publicName: "refLabel", isSignal: true, isRequired: false, transformFunction: null }, fromLabel: { classPropertyName: "fromLabel", publicName: "fromLabel", isSignal: true, isRequired: false, transformFunction: null }, toLabel: { classPropertyName: "toLabel", publicName: "toLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeLabel: { classPropertyName: "rangeLabel", publicName: "rangeLabel", isSignal: true, isRequired: false, transformFunction: null }, todayLabel: { classPropertyName: "todayLabel", publicName: "todayLabel", isSignal: true, isRequired: false, transformFunction: null }, nowLabel: { classPropertyName: "nowLabel", publicName: "nowLabel", isSignal: true, isRequired: false, transformFunction: null }, dateLabel: { classPropertyName: "dateLabel", publicName: "dateLabel", isSignal: true, isRequired: false, transformFunction: null }, previewLabel: { classPropertyName: "previewLabel", publicName: "previewLabel", isSignal: true, isRequired: false, transformFunction: null }, datePlaceholder: { classPropertyName: "datePlaceholder", publicName: "datePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, beforeLabel: { classPropertyName: "beforeLabel", publicName: "beforeLabel", isSignal: true, isRequired: false, transformFunction: null }, afterLabel: { classPropertyName: "afterLabel", publicName: "afterLabel", isSignal: true, isRequired: false, transformFunction: null }, withinLabel: { classPropertyName: "withinLabel", publicName: "withinLabel", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: false, transformFunction: null }, searchLabel: { classPropertyName: "searchLabel", publicName: "searchLabel", isSignal: true, isRequired: false, transformFunction: null }, presetLabel: { classPropertyName: "presetLabel", publicName: "presetLabel", isSignal: true, isRequired: false, transformFunction: null }, advancedLabel: { classPropertyName: "advancedLabel", publicName: "advancedLabel", isSignal: true, isRequired: false, transformFunction: null }, applyLabel: { classPropertyName: "applyLabel", publicName: "applyLabel", isSignal: true, isRequired: false, transformFunction: null }, datepickerConfig: { classPropertyName: "datepickerConfig", publicName: "datepickerConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { range: "rangeChange", applyClicked: "applyClicked" }, host: { properties: { "class.mobile": "smallScreen" } }, usesOnChanges: true, ngImport: i0, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n }\n @if (point2Mode === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode || !hideAdvancedMode()) {\n <label class=\"form-switch form-check ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (calculatedRange().valid) {\n {{ calculatedRange().start | date: pipeFormat() }} -\n {{ calculatedRange().end | date: pipeFormat() }}\n } @else {\n ?\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul class=\"overflow-auto\" cdkListbox [attr.aria-label]=\"presetLabel() | translate\">\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li\n class=\"preset-item focus-inside px-8 py-5\"\n [cdkOption]=\"item.label\"\n (click)=\"selectPresetItem($event, item)\"\n (keydown.enter)=\"selectPresetItem($event, item)\"\n >\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-8\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [disabled]=\"point1Now\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-4 text-nowrap form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [attr.aria-label]=\"dateLabel() | translate\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--element-base-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--element-ui-4)}.main-form{inline-size:348px;grid-area:main}.advanced-form{block-size:392px}.preset-select{display:flex;inline-size:200px;flex-direction:column;grid-area:preset;background:var(--element-base-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:1.1428571429}.preset-item:hover{background:var(--element-base-1-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"], dependencies: [{ kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "pipe", type: PresetMatchFilterPipe, name: "presetMatchFilter" }, { kind: "component", type: SiCalendarButtonComponent, selector: "si-calendar-button", inputs: ["ariaLabel"] }, { kind: "component", type: SiDatepickerComponent, selector: "si-datepicker", inputs: ["focusedDate", "date", "dateRange", "dateRangeRole", "initialFocus", "disabledTime", "config", "previousLabel", "nextLabel", "calenderWeekLabel", "calendarWeekLabel", "time12h", "rangeType", "minMonth", "maxMonth", "hideTimeToggle", "hideCalendar", "timepickerLabel", "activeHover"], outputs: ["focusedDateChange", "dateChange", "dateRangeChange", "disabledTimeChange", "configChange", "rangeTypeChange", "activeHoverChange"] }, { kind: "directive", type: SiDatepickerDirective, selector: "[siDatepicker]", inputs: ["autoClose"], exportAs: ["siDatepicker"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiRelativeDateComponent, selector: "si-relative-date", inputs: ["value", "enableTimeSelection", "valueLabel", "unitLabel"], outputs: ["valueChange"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
612
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
613
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiDateRangeFilterComponent, isStandalone: true, selector: "si-date-range-filter", inputs: { range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: true, transformFunction: null }, presetList: { classPropertyName: "presetList", publicName: "presetList", isSignal: true, isRequired: false, transformFunction: null }, presetSearch: { classPropertyName: "presetSearch", publicName: "presetSearch", isSignal: true, isRequired: false, transformFunction: null }, enableTimeSelection: { classPropertyName: "enableTimeSelection", publicName: "enableTimeSelection", isSignal: true, isRequired: false, transformFunction: null }, basicMode: { classPropertyName: "basicMode", publicName: "basicMode", isSignal: true, isRequired: false, transformFunction: null }, reverseInputFields: { classPropertyName: "reverseInputFields", publicName: "reverseInputFields", isSignal: true, isRequired: false, transformFunction: null }, showApplyButton: { classPropertyName: "showApplyButton", publicName: "showApplyButton", isSignal: true, isRequired: false, transformFunction: null }, hideAdvancedMode: { classPropertyName: "hideAdvancedMode", publicName: "hideAdvancedMode", isSignal: true, isRequired: false, transformFunction: null }, refLabel: { classPropertyName: "refLabel", publicName: "refLabel", isSignal: true, isRequired: false, transformFunction: null }, fromLabel: { classPropertyName: "fromLabel", publicName: "fromLabel", isSignal: true, isRequired: false, transformFunction: null }, toLabel: { classPropertyName: "toLabel", publicName: "toLabel", isSignal: true, isRequired: false, transformFunction: null }, rangeLabel: { classPropertyName: "rangeLabel", publicName: "rangeLabel", isSignal: true, isRequired: false, transformFunction: null }, todayLabel: { classPropertyName: "todayLabel", publicName: "todayLabel", isSignal: true, isRequired: false, transformFunction: null }, nowLabel: { classPropertyName: "nowLabel", publicName: "nowLabel", isSignal: true, isRequired: false, transformFunction: null }, dateLabel: { classPropertyName: "dateLabel", publicName: "dateLabel", isSignal: true, isRequired: false, transformFunction: null }, previewLabel: { classPropertyName: "previewLabel", publicName: "previewLabel", isSignal: true, isRequired: false, transformFunction: null }, datePlaceholder: { classPropertyName: "datePlaceholder", publicName: "datePlaceholder", isSignal: true, isRequired: false, transformFunction: null }, beforeLabel: { classPropertyName: "beforeLabel", publicName: "beforeLabel", isSignal: true, isRequired: false, transformFunction: null }, afterLabel: { classPropertyName: "afterLabel", publicName: "afterLabel", isSignal: true, isRequired: false, transformFunction: null }, withinLabel: { classPropertyName: "withinLabel", publicName: "withinLabel", isSignal: true, isRequired: false, transformFunction: null }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, unitLabel: { classPropertyName: "unitLabel", publicName: "unitLabel", isSignal: true, isRequired: false, transformFunction: null }, searchLabel: { classPropertyName: "searchLabel", publicName: "searchLabel", isSignal: true, isRequired: false, transformFunction: null }, presetLabel: { classPropertyName: "presetLabel", publicName: "presetLabel", isSignal: true, isRequired: false, transformFunction: null }, advancedLabel: { classPropertyName: "advancedLabel", publicName: "advancedLabel", isSignal: true, isRequired: false, transformFunction: null }, applyLabel: { classPropertyName: "applyLabel", publicName: "applyLabel", isSignal: true, isRequired: false, transformFunction: null }, datepickerConfig: { classPropertyName: "datepickerConfig", publicName: "datepickerConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { range: "rangeChange", applyClicked: "applyClicked" }, host: { properties: { "class.mobile": "smallScreen" } }, usesOnChanges: true, ngImport: i0, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (calculatedRange().valid) {\n {{ calculatedRange().start | date: pipeFormat() }} -\n {{ calculatedRange().end | date: pipeFormat() }}\n } @else {\n ?\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul class=\"overflow-auto\" cdkListbox [attr.aria-label]=\"presetLabel() | translate\">\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li\n class=\"preset-item focus-inside px-8 py-5\"\n [cdkOption]=\"item.label\"\n (click)=\"selectPresetItem($event, item)\"\n (keydown.enter)=\"selectPresetItem($event, item)\"\n >\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-8\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-4 text-nowrap form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [attr.aria-label]=\"dateLabel() | translate\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--element-base-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--element-ui-4)}.main-form{inline-size:348px;grid-area:main}.advanced-form{block-size:392px}.preset-select{display:flex;inline-size:200px;flex-direction:column;grid-area:preset;background:var(--element-base-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:1.1428571429}.preset-item:hover{background:var(--element-base-1-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"], dependencies: [{ kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]):not([formArray]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiCalendarButtonComponent, selector: "si-calendar-button", inputs: ["ariaLabel"] }, { kind: "component", type: SiDatepickerComponent, selector: "si-datepicker", inputs: ["focusedDate", "date", "dateRange", "dateRangeRole", "initialFocus", "disabledTime", "config", "previousLabel", "nextLabel", "calenderWeekLabel", "calendarWeekLabel", "time12h", "rangeType", "minMonth", "maxMonth", "hideTimeToggle", "hideCalendar", "timepickerLabel", "activeHover"], outputs: ["focusedDateChange", "dateChange", "dateRangeChange", "disabledTimeChange", "configChange", "rangeTypeChange", "activeHoverChange"] }, { kind: "directive", type: SiDatepickerDirective, selector: "[siDatepicker]", inputs: ["autoClose"], exportAs: ["siDatepicker"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiRelativeDateComponent, selector: "si-relative-date", inputs: ["value", "enableTimeSelection", "valueLabel", "unitLabel"], outputs: ["valueChange"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: PresetMatchFilterPipe, name: "presetMatchFilter" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
635
614
|
}
|
|
636
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
615
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterComponent, decorators: [{
|
|
637
616
|
type: Component,
|
|
638
617
|
args: [{ selector: 'si-date-range-filter', imports: [
|
|
639
618
|
CdkOption,
|
|
@@ -653,19 +632,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
|
|
|
653
632
|
SiTranslatePipe
|
|
654
633
|
], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
655
634
|
'[class.mobile]': 'smallScreen'
|
|
656
|
-
}, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n }
|
|
657
|
-
}] });
|
|
635
|
+
}, template: "@if (presetList()?.length) {\n @if (this.smallScreen) {\n <div class=\"presets d-flex\">\n <button\n #presetTrigger=\"cdkOverlayOrigin\"\n type=\"button\"\n class=\"btn btn-tertiary dropdown-toggle m-5 flex-grow-1\"\n cdkOverlayOrigin\n [class.show]=\"presetOpen()\"\n [attr.aria-expanded]=\"presetOpen()\"\n (click)=\"presetOpen.set(true)\"\n >\n {{ presetLabel() | translate }}\n <si-icon class=\"dropdown-caret icon\" [icon]=\"icons.elementDown2\" />\n </button>\n <ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n cdkConnectedOverlayHasBackdrop\n [cdkConnectedOverlayOpen]=\"presetOpen()\"\n [cdkConnectedOverlayOrigin]=\"presetTrigger\"\n [cdkConnectedOverlayMinWidth]=\"\n presetTrigger.elementRef.nativeElement?.getBoundingClientRect().width\n \"\n (backdropClick)=\"presetOpen.set(false)\"\n (detach)=\"presetOpen.set(false)\"\n >\n <div\n cdkTrapFocus\n class=\"preset-select mobile elevation-2 rounded-2 w-100\"\n cdkTrapFocusAutoCapture\n >\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n </ng-template>\n </div>\n } @else {\n <div class=\"preset-select border-end\">\n <ng-container *ngTemplateOutlet=\"presets\" />\n </div>\n }\n}\n<form class=\"main-form d-flex flex-column flex-fill\">\n @if (advancedMode() || inputMode()) {\n <div class=\"advanced-form px-6 py-4\">\n @if (!reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n\n <div class=\"mb-8\">\n @if (point2Mode() === 'date') {\n <ng-container *ngTemplateOutlet=\"formPoint2Date\" />\n } @else if (point2Mode() === 'duration') {\n <ng-container *ngTemplateOutlet=\"formPoint2Duration\" />\n }\n </div>\n\n @if (reverseInputFields()) {\n <ng-container *ngTemplateOutlet=\"formReferencePoint\" />\n }\n </div>\n } @else {\n <si-datepicker\n [config]=\"dateRangeConfig()\"\n [focusedDate]=\"focusedDate()\"\n [dateRange]=\"dateRange()\"\n (dateRangeChange)=\"updateFromDateRange($event)\"\n />\n }\n\n @if (advancedMode() || !hideAdvancedMode()) {\n <label class=\"form-switch form-check ms-6\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"advancedMode\"\n role=\"switch\"\n [(ngModel)]=\"advancedMode\"\n (ngModelChange)=\"updateOnModeChange()\"\n />\n <span class=\"form-check-label\">{{ advancedLabel() | translate }}</span>\n </label>\n }\n\n <div class=\"mt-4 mb-6 ms-6\">\n {{ previewLabel() | translate }}:\n <span class=\"preview\">\n @if (calculatedRange().valid) {\n {{ calculatedRange().start | date: pipeFormat() }} -\n {{ calculatedRange().end | date: pipeFormat() }}\n } @else {\n ?\n }\n </span>\n </div>\n</form>\n\n@if (showApplyButton()) {\n <div class=\"footer border-top px-6 py-5 d-flex\">\n <button type=\"button\" class=\"btn btn-primary ms-auto\" (click)=\"applyClicked.emit()\">\n {{ applyLabel() | translate }}\n </button>\n </div>\n}\n<ng-template #presets>\n @if (presetSearch()) {\n <si-search-bar\n colorVariant=\"base-0\"\n class=\"mx-6 mt-5 mb-6\"\n [placeholder]=\"searchLabel() | translate\"\n [showIcon]=\"true\"\n [(ngModel)]=\"presetFilter\"\n />\n }\n <ul class=\"overflow-auto\" cdkListbox [attr.aria-label]=\"presetLabel() | translate\">\n @for (item of filteredPresetList(); track $index) {\n @if (item.label | translate | presetMatchFilter: presetFilter()) {\n <li\n class=\"preset-item focus-inside px-8 py-5\"\n [cdkOption]=\"item.label\"\n (click)=\"selectPresetItem($event, item)\"\n (keydown.enter)=\"selectPresetItem($event, item)\"\n >\n {{ item.label | translate }}\n </li>\n }\n }\n </ul>\n</ng-template>\n<ng-template #formReferencePoint>\n <div class=\"mb-8\">\n <label class=\"d-block\">\n <span class=\"form-label\">{{\n (advancedMode() ? refLabel() : reverseInputFields() ? toLabel() : fromLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point1\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [disabled]=\"point1Now()\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point1date\"\n (ngModelChange)=\"point1Changed()\"\n />\n </si-calendar-button>\n </label>\n <label class=\"ms-4 mt-4 text-nowrap form-check\">\n <input\n type=\"checkbox\"\n class=\"form-check-input\"\n name=\"point1now\"\n [(ngModel)]=\"point1Now\"\n (ngModelChange)=\"point1Changed()\"\n />\n <span class=\"form-check-label\">{{\n (enableTimeSelection() ? nowLabel() : todayLabel()) | translate\n }}</span>\n </label>\n </div>\n</ng-template>\n\n<ng-template #formPoint2Date>\n <label class=\"d-block mb-4 bp-9\">\n <span class=\"form-label\">{{\n (reverseInputFields() ? fromLabel() : toLabel()) | translate\n }}</span>\n <si-calendar-button class=\"w-100\">\n <input\n type=\"text\"\n class=\"form-control\"\n name=\"point2\"\n required\n siDatepicker\n [siDatepickerConfig]=\"datepickerConfigInternal()\"\n [attr.aria-label]=\"dateLabel() | translate\"\n [placeholder]=\"datePlaceholder() | translate\"\n [(ngModel)]=\"point2date\"\n (ngModelChange)=\"point2Changed()\"\n />\n </si-calendar-button>\n </label>\n</ng-template>\n\n<ng-template #formPoint2Duration>\n <div>\n <span class=\"form-label\">{{ rangeLabel() | translate }}</span>\n <si-relative-date\n class=\"d-block mb-4\"\n [unitLabel]=\"unitLabel() | translate\"\n [valueLabel]=\"valueLabel() | translate\"\n [enableTimeSelection]=\"enableTimeSelection()\"\n [(value)]=\"point2offset\"\n (valueChange)=\"point2Changed()\"\n />\n <div class=\"range-type ms-4\">\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"before\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ beforeLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"after\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ afterLabel() | translate }}\n </span>\n </label>\n <label class=\"form-check form-check-inline\">\n <input\n type=\"radio\"\n class=\"form-check-input\"\n value=\"within\"\n name=\"point2range\"\n [(ngModel)]=\"point2range\"\n (ngModelChange)=\"point2Changed()\"\n />\n <span class=\"form-check-label\">\n {{ withinLabel() | translate }}\n </span>\n </label>\n </div>\n </div>\n</ng-template>\n", styles: [":host{display:inline-grid;background:var(--element-base-1);grid-template-areas:\"preset main\" \"footer footer\"}:host.mobile{grid-template-areas:\"preset\" \"main\" \"footer\";justify-items:stretch}:host.mobile .presets{border-block-end:1px solid var(--element-ui-4)}.main-form{inline-size:348px;grid-area:main}.advanced-form{block-size:392px}.preset-select{display:flex;inline-size:200px;flex-direction:column;grid-area:preset;background:var(--element-base-1)}.preset-select.mobile{max-block-size:346px;inline-size:unset}ul{flex:1 1 auto;padding-inline-start:0;list-style:none}.preset-item{cursor:pointer;line-height:1.1428571429}.preset-item:hover{background:var(--element-base-1-hover)}.form-check-input{inset-block-start:0}.element-zoom{rotate:45deg}.footer{grid-area:footer}\n"] }]
|
|
636
|
+
}], propDecorators: { range: [{ type: i0.Input, args: [{ isSignal: true, alias: "range", required: true }] }, { type: i0.Output, args: ["rangeChange"] }], presetList: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetList", required: false }] }], presetSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetSearch", required: false }] }], enableTimeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableTimeSelection", required: false }] }], basicMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "basicMode", required: false }] }], reverseInputFields: [{ type: i0.Input, args: [{ isSignal: true, alias: "reverseInputFields", required: false }] }], showApplyButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showApplyButton", required: false }] }], hideAdvancedMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideAdvancedMode", required: false }] }], refLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "refLabel", required: false }] }], fromLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "fromLabel", required: false }] }], toLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toLabel", required: false }] }], rangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "rangeLabel", required: false }] }], todayLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "todayLabel", required: false }] }], nowLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nowLabel", required: false }] }], dateLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateLabel", required: false }] }], previewLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "previewLabel", required: false }] }], datePlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "datePlaceholder", required: false }] }], beforeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "beforeLabel", required: false }] }], afterLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "afterLabel", required: false }] }], withinLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "withinLabel", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueLabel", required: false }] }], unitLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitLabel", required: false }] }], searchLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchLabel", required: false }] }], presetLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "presetLabel", required: false }] }], advancedLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "advancedLabel", required: false }] }], applyLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "applyLabel", required: false }] }], applyClicked: [{ type: i0.Output, args: ["applyClicked"] }], datepickerConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "datepickerConfig", required: false }] }] } });
|
|
658
637
|
|
|
659
638
|
/**
|
|
660
639
|
* Copyright (c) Siemens 2016 - 2025
|
|
661
640
|
* SPDX-License-Identifier: MIT
|
|
662
641
|
*/
|
|
663
642
|
class SiDateRangeFilterModule {
|
|
664
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
665
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
666
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
643
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
644
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterModule, imports: [SiDateRangeFilterComponent], exports: [SiDateRangeFilterComponent] });
|
|
645
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterModule, imports: [SiDateRangeFilterComponent] });
|
|
667
646
|
}
|
|
668
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
647
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiDateRangeFilterModule, decorators: [{
|
|
669
648
|
type: NgModule,
|
|
670
649
|
args: [{
|
|
671
650
|
imports: [SiDateRangeFilterComponent],
|