@siemens/element-ng 47.3.0 → 47.5.0
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/badge/si-badge.component.d.ts +1 -1
- package/breadcrumb/breadcrumb-item.model.d.ts +36 -0
- package/breadcrumb/index.d.ts +7 -0
- package/breadcrumb/package.json +3 -0
- package/breadcrumb/si-breadcrumb-item-template.directive.d.ts +10 -0
- package/breadcrumb/si-breadcrumb.component.d.ts +46 -0
- package/breadcrumb/si-breadcrumb.module.d.ts +7 -0
- package/card/index.d.ts +6 -0
- package/card/package.json +3 -0
- package/card/si-card.component.d.ts +79 -0
- package/card/si-card.module.d.ts +7 -0
- package/circle-status/index.d.ts +6 -0
- package/circle-status/package.json +3 -0
- package/circle-status/si-circle-status.component.d.ts +66 -0
- package/circle-status/si-circle-status.module.d.ts +7 -0
- package/column-selection-dialog/column-selection-editor/si-column-selection-editor.component.d.ts +23 -0
- package/column-selection-dialog/index.d.ts +6 -0
- package/column-selection-dialog/package.json +3 -0
- package/column-selection-dialog/si-column-selection-dialog.component.d.ts +114 -0
- package/column-selection-dialog/si-column-selection-dialog.service.d.ts +20 -0
- package/column-selection-dialog/si-column-selection-dialog.types.d.ts +68 -0
- package/common/models/status-type.model.d.ts +4 -2
- package/datatable/index.d.ts +42 -0
- package/datatable/package.json +3 -0
- package/datatable/si-datatable-interaction.directive.d.ts +34 -0
- package/datatable/si-datatable.module.d.ts +7 -0
- package/date-range-filter/index.d.ts +8 -0
- package/date-range-filter/package.json +3 -0
- package/date-range-filter/si-date-range-calculation.service.d.ts +33 -0
- package/date-range-filter/si-date-range-filter.component.d.ts +248 -0
- package/date-range-filter/si-date-range-filter.module.d.ts +7 -0
- package/date-range-filter/si-date-range-filter.types.d.ts +40 -0
- package/date-range-filter/si-relative-date.component.d.ts +31 -0
- package/datepicker/components/si-calendar-body.component.d.ts +137 -0
- package/datepicker/components/si-calendar-date-cell.directive.d.ts +16 -0
- package/datepicker/components/si-calendar-direction-button.component.d.ts +18 -0
- package/datepicker/components/si-compare-adapter.d.ts +37 -0
- package/datepicker/components/si-day-selection.component.d.ts +76 -0
- package/datepicker/components/si-initial-focus.component.d.ts +74 -0
- package/datepicker/components/si-month-selection.component.d.ts +62 -0
- package/datepicker/components/si-year-selection.component.d.ts +65 -0
- package/datepicker/date-time-helper.d.ts +302 -0
- package/datepicker/index.d.ts +15 -0
- package/datepicker/package.json +3 -0
- package/datepicker/si-calendar-button.component.d.ts +49 -0
- package/datepicker/si-date-input.directive.d.ts +114 -0
- package/datepicker/si-date-range.component.d.ts +150 -0
- package/datepicker/si-datepicker-overlay.component.d.ts +82 -0
- package/datepicker/si-datepicker-overlay.directive.d.ts +104 -0
- package/datepicker/si-datepicker.component.d.ts +228 -0
- package/datepicker/si-datepicker.directive.d.ts +62 -0
- package/datepicker/si-datepicker.model.d.ts +129 -0
- package/datepicker/si-datepicker.module.d.ts +12 -0
- package/datepicker/si-timepicker.component.d.ts +214 -0
- package/electron-titlebar/electron.helpers.d.ts +5 -0
- package/electron-titlebar/index.d.ts +7 -0
- package/electron-titlebar/package.json +3 -0
- package/electron-titlebar/si-electron-titlebar.component.d.ts +72 -0
- package/electron-titlebar/si-electron-titlebar.module.d.ts +7 -0
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +302 -0
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-card.mjs +122 -0
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-circle-status.mjs +146 -0
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +369 -0
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +173 -0
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +649 -0
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-datepicker.mjs +4231 -0
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +142 -0
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-file-uploader.mjs +751 -0
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-filter-bar.mjs +153 -0
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-filtered-search.mjs +1139 -0
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-formly.mjs +935 -0
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-icon.mjs +52 -14
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +63 -0
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-inline-notification.mjs +4 -6
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +451 -0
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-list-details.mjs +390 -0
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +15 -12
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +306 -0
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-modal.mjs +4 -1
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +22 -16
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +426 -0
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-photo-upload.mjs +480 -0
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-result-details-list.mjs +74 -0
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-search-bar.mjs +193 -0
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-shadow-root.mjs +70 -0
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-side-panel.mjs +554 -0
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-slider.mjs +313 -0
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-sort-bar.mjs +89 -0
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-split.mjs +575 -0
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-status-bar.mjs +348 -0
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-status-toggle.mjs +196 -0
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-system-banner.mjs +47 -0
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-tabs-next.mjs +491 -0
- package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-tabs.mjs +395 -0
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +2936 -0
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs +76 -0
- package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-wizard.mjs +2 -2
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/file-uploader/index.d.ts +8 -0
- package/file-uploader/package.json +3 -0
- package/file-uploader/si-file-dropzone.component.d.ts +106 -0
- package/file-uploader/si-file-uploader.component.d.ts +296 -0
- package/file-uploader/si-file-uploader.model.d.ts +12 -0
- package/file-uploader/si-file-uploader.module.d.ts +8 -0
- package/filter-bar/filter.d.ts +26 -0
- package/filter-bar/index.d.ts +8 -0
- package/filter-bar/package.json +3 -0
- package/filter-bar/si-filter-bar.component.d.ts +65 -0
- package/filter-bar/si-filter-bar.module.d.ts +7 -0
- package/filter-bar/si-filter-pill.component.d.ts +20 -0
- package/filtered-search/index.d.ts +7 -0
- package/filtered-search/package.json +3 -0
- package/filtered-search/si-filtered-search-helper.d.ts +22 -0
- package/filtered-search/si-filtered-search-value.component.d.ts +53 -0
- package/filtered-search/si-filtered-search.component.d.ts +329 -0
- package/filtered-search/si-filtered-search.model.d.ts +139 -0
- package/filtered-search/si-filtered-search.module.d.ts +7 -0
- package/filtered-search/values/date-value/si-filtered-search-date-value.component.d.ts +57 -0
- package/filtered-search/values/si-filtered-search-value.base.d.ts +27 -0
- package/filtered-search/values/typeahead/si-filtered-search-typeahead.component.d.ts +45 -0
- package/formly/fields/button/si-formly-button.component.d.ts +7 -0
- package/formly/fields/date-range/si-formly-date-range.component.d.ts +6 -0
- package/formly/fields/datetime/si-formly-datetime.component.d.ts +13 -0
- package/formly/fields/email/si-formly-email.component.d.ts +6 -0
- package/formly/fields/ip-input/si-formly-ip-input.component.d.ts +6 -0
- package/formly/fields/number/si-formly-number.component.d.ts +6 -0
- package/formly/fields/password/si-formly-password.component.d.ts +6 -0
- package/formly/fields/select/si-formly-select.component.d.ts +6 -0
- package/formly/fields/text/si-formly-text-display.component.d.ts +7 -0
- package/formly/fields/textarea/si-formly-textarea.component.d.ts +18 -0
- package/formly/fields/time/si-formly-time.component.d.ts +13 -0
- package/formly/index.d.ts +6 -0
- package/formly/package.json +3 -0
- package/formly/si-formly-translate.extension.d.ts +11 -0
- package/formly/si-formly.component.d.ts +62 -0
- package/formly/si-formly.module.d.ts +35 -0
- package/formly/structural/si-formly-accordion/si-formly-accordion.component.d.ts +13 -0
- package/formly/structural/si-formly-array/si-formly-array.component.d.ts +6 -0
- package/formly/structural/si-formly-object/si-formly-object.component.d.ts +6 -0
- package/formly/structural/si-formly-object-grid/si-formly-object-grid.component.d.ts +22 -0
- package/formly/structural/si-formly-object-grid/si-formly-object-grid.model.d.ts +21 -0
- package/formly/structural/si-formly-object-plain/si-formly-object-plain.component.d.ts +6 -0
- package/formly/structural/si-formly-tabset/si-formly-object-tabset.component.d.ts +7 -0
- package/formly/utils.d.ts +6 -0
- package/formly/wrapper/si-formly-fieldset.component.d.ts +8 -0
- package/formly/wrapper/si-formly-form-field-provider.directive.d.ts +19 -0
- package/formly/wrapper/si-formly-horizontal-wrapper.component.d.ts +6 -0
- package/formly/wrapper/si-formly-icon-wrapper.component.d.ts +6 -0
- package/formly/wrapper/si-formly-wrapper.component.d.ts +8 -0
- package/icon/element-icons.d.ts +15 -0
- package/icon/si-status-icon.component.d.ts +6 -1
- package/info-page/index.d.ts +5 -0
- package/info-page/package.json +3 -0
- package/info-page/si-info-page.component.d.ts +38 -0
- package/inline-notification/si-inline-notification.component.d.ts +0 -2
- package/ip-input/address-utils.d.ts +28 -0
- package/ip-input/address-validators.d.ts +21 -0
- package/ip-input/index.d.ts +7 -0
- package/ip-input/package.json +3 -0
- package/ip-input/si-ip-input.directive.d.ts +53 -0
- package/ip-input/si-ip4-input.directive.d.ts +9 -0
- package/ip-input/si-ip6-input.directive.d.ts +10 -0
- package/list-details/index.d.ts +12 -0
- package/list-details/package.json +3 -0
- package/list-details/si-details-pane/si-details-pane.component.d.ts +8 -0
- package/list-details/si-details-pane-body/si-details-pane-body.component.d.ts +6 -0
- package/list-details/si-details-pane-footer/si-details-pane-footer.component.d.ts +6 -0
- package/list-details/si-details-pane-header/si-details-pane-header.component.d.ts +38 -0
- package/list-details/si-list-details.component.d.ts +100 -0
- package/list-details/si-list-pane/si-list-pane.component.d.ts +10 -0
- package/list-details/si-list-pane-body/si-list-pane-body.component.d.ts +6 -0
- package/list-details/si-list-pane-header/si-list-pane-header.component.d.ts +6 -0
- package/loading-spinner/si-loading-spinner.directive.d.ts +3 -2
- package/localization/index.d.ts +8 -0
- package/localization/package.json +3 -0
- package/localization/si-directionality.d.ts +41 -0
- package/localization/si-locale-id.d.ts +22 -0
- package/localization/si-locale-store.d.ts +16 -0
- package/localization/si-locale.service.d.ts +73 -0
- package/package.json +161 -9
- package/password-strength/si-password-strength.directive.d.ts +11 -0
- package/phone-number/index.d.ts +7 -0
- package/phone-number/package.json +3 -0
- package/phone-number/si-phone-number-input-select.directive.d.ts +10 -0
- package/phone-number/si-phone-number-input.component.d.ts +137 -0
- package/phone-number/si-phone-number-input.models.d.ts +48 -0
- package/phone-number/si-phone-number-input.module.d.ts +7 -0
- package/photo-upload/index.d.ts +6 -0
- package/photo-upload/package.json +3 -0
- package/photo-upload/si-image-cropper-style.component.d.ts +5 -0
- package/photo-upload/si-photo-upload.component.d.ts +298 -0
- package/result-details-list/index.d.ts +7 -0
- package/result-details-list/package.json +3 -0
- package/result-details-list/si-result-details-list.component.d.ts +14 -0
- package/result-details-list/si-result-details-list.datamodel.d.ts +48 -0
- package/result-details-list/si-result-details-list.module.d.ts +7 -0
- package/search-bar/index.d.ts +6 -0
- package/search-bar/package.json +3 -0
- package/search-bar/si-search-bar.component.d.ts +87 -0
- package/search-bar/si-search-bar.module.d.ts +7 -0
- package/shadow-root/index.d.ts +5 -0
- package/shadow-root/package.json +3 -0
- package/shadow-root/si-shadow-root.directive.d.ts +39 -0
- package/side-panel/index.d.ts +9 -0
- package/side-panel/package.json +3 -0
- package/side-panel/si-side-panel-content.component.d.ts +105 -0
- package/side-panel/si-side-panel.component.d.ts +108 -0
- package/side-panel/si-side-panel.module.d.ts +8 -0
- package/side-panel/si-side-panel.service.d.ts +45 -0
- package/side-panel/side-panel.model.d.ts +16 -0
- package/slider/index.d.ts +6 -0
- package/slider/package.json +3 -0
- package/slider/si-slider.component.d.ts +129 -0
- package/slider/si-slider.module.d.ts +7 -0
- package/sort-bar/index.d.ts +6 -0
- package/sort-bar/package.json +3 -0
- package/sort-bar/si-sort-bar.component.d.ts +42 -0
- package/sort-bar/si-sort-bar.module.d.ts +7 -0
- package/split/index.d.ts +8 -0
- package/split/package.json +3 -0
- package/split/si-split-part.component.d.ts +154 -0
- package/split/si-split.component.d.ts +48 -0
- package/split/si-split.interfaces.d.ts +17 -0
- package/split/si-split.module.d.ts +8 -0
- package/status-bar/index.d.ts +7 -0
- package/status-bar/package.json +3 -0
- package/status-bar/si-status-bar-item/index.d.ts +6 -0
- package/status-bar/si-status-bar-item/si-status-bar-item.component.d.ts +22 -0
- package/status-bar/si-status-bar-item/si-status-bar-item.model.d.ts +33 -0
- package/status-bar/si-status-bar.component.d.ts +116 -0
- package/status-bar/si-status-bar.module.d.ts +7 -0
- package/status-toggle/index.d.ts +6 -0
- package/status-toggle/package.json +3 -0
- package/status-toggle/si-status-toggle.component.d.ts +54 -0
- package/status-toggle/status-toggle.model.d.ts +26 -0
- package/system-banner/index.d.ts +5 -0
- package/system-banner/package.json +3 -0
- package/system-banner/system-banner.component.d.ts +23 -0
- package/tabs/index.d.ts +7 -0
- package/tabs/package.json +3 -0
- package/tabs/si-tab/index.d.ts +5 -0
- package/tabs/si-tab/si-tab.component.d.ts +58 -0
- package/tabs/si-tabs.module.d.ts +8 -0
- package/tabs/si-tabset/index.d.ts +5 -0
- package/tabs/si-tabset/si-tabset.component.d.ts +100 -0
- package/tabs-next/index.d.ts +7 -0
- package/tabs-next/package.json +3 -0
- package/tabs-next/si-tab-next-base.directive.d.ts +66 -0
- package/tabs-next/si-tab-next-link.component.d.ts +18 -0
- package/tabs-next/si-tab-next.component.d.ts +16 -0
- package/tabs-next/si-tabs-tokens.d.ts +7 -0
- package/tabs-next/si-tabset-next.component.d.ts +72 -0
- package/template-i18n.json +111 -0
- package/translate/si-translatable-keys.interface.d.ts +111 -0
- package/tree-view/drag-drop.util.d.ts +32 -0
- package/tree-view/index.d.ts +12 -0
- package/tree-view/package.json +3 -0
- package/tree-view/si-tree-view-converter.service.d.ts +41 -0
- package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +105 -0
- package/tree-view/si-tree-view-item/si-tree-view-item.directive.d.ts +24 -0
- package/tree-view/si-tree-view-item-context.d.ts +11 -0
- package/tree-view/si-tree-view-item-height.service.d.ts +49 -0
- package/tree-view/si-tree-view-item-template.directive.d.ts +18 -0
- package/tree-view/si-tree-view-virtualization.service.d.ts +150 -0
- package/tree-view/si-tree-view.component.d.ts +466 -0
- package/tree-view/si-tree-view.model.d.ts +146 -0
- package/tree-view/si-tree-view.module.d.ts +10 -0
- package/tree-view/si-tree-view.service.d.ts +55 -0
- package/tree-view/si-tree-view.utils.d.ts +46 -0
- package/unauthorized-page/index.d.ts +6 -0
- package/unauthorized-page/package.json +3 -0
- package/unauthorized-page/si-unauthorized-page.component.d.ts +35 -0
- package/unauthorized-page/si-unauthorized-page.module.d.ts +7 -0
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Siemens 2016 - 2025.
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
|
6
|
+
import { BackgroundColorVariant } from '@siemens/element-ng/common';
|
|
7
|
+
import { TypeaheadOption } from '@siemens/element-ng/typeahead';
|
|
8
|
+
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
9
|
+
import { Observable } from 'rxjs';
|
|
10
|
+
import { InternalCriterionDefinition } from './si-filtered-search-helper';
|
|
11
|
+
import { Criterion, CriterionDefinition, CriterionValue, DisplayedCriteriaEventArgs, OptionType, SearchCriteria } from './si-filtered-search.model';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export declare class SiFilteredSearchComponent implements OnInit, OnChanges, OnDestroy {
|
|
14
|
+
private static readonly criterionRegex;
|
|
15
|
+
/**
|
|
16
|
+
* Output callback event that provides an object describing the
|
|
17
|
+
* selected criteria and additional filter text.
|
|
18
|
+
*/
|
|
19
|
+
readonly doSearch: import("@angular/core").OutputEmitterRef<SearchCriteria>;
|
|
20
|
+
/**
|
|
21
|
+
* If this is set to `true`, the search triggers for each input (implicit search).
|
|
22
|
+
* By default, the search is triggered when the user submits by pressing the
|
|
23
|
+
* search button or by pressing enter.
|
|
24
|
+
*
|
|
25
|
+
* @defaultValue false
|
|
26
|
+
*/
|
|
27
|
+
readonly doSearchOnInputChange: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
28
|
+
/**
|
|
29
|
+
* In addition to lazy loaded value, you can also lazy load the criteria itself
|
|
30
|
+
*/
|
|
31
|
+
readonly lazyCriterionProvider: import("@angular/core").InputSignal<((typed: string, searchCriteria?: SearchCriteria) => Observable<Criterion[] | CriterionDefinition[]>) | undefined>;
|
|
32
|
+
/**
|
|
33
|
+
* In many cases, your application defines the criteria, but the values need
|
|
34
|
+
* to be loaded from a server. In this case you can provide a function that
|
|
35
|
+
* returns the possible criterion options as an Observable.
|
|
36
|
+
*/
|
|
37
|
+
readonly lazyValueProvider: import("@angular/core").InputSignal<((criterionName: string, typed: string | string[]) => Observable<OptionType[]>) | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* Disable any interactivity.
|
|
40
|
+
*
|
|
41
|
+
* @defaultValue false
|
|
42
|
+
*/
|
|
43
|
+
readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
44
|
+
/**
|
|
45
|
+
* Do not allow changes. Search can still be triggered.
|
|
46
|
+
*
|
|
47
|
+
* @deprecated Use {@link disabled} instead.
|
|
48
|
+
*
|
|
49
|
+
* @defaultValue false
|
|
50
|
+
*/
|
|
51
|
+
readonly readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
52
|
+
/**
|
|
53
|
+
* Limit criteria to the predefined ones.
|
|
54
|
+
*
|
|
55
|
+
* @defaultValue false
|
|
56
|
+
*/
|
|
57
|
+
readonly strictCriterion: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
58
|
+
/**
|
|
59
|
+
* Limit criterion options to the predefined ones. `[strictValue]`
|
|
60
|
+
* enforces `[strictCriterion]` to true automatically.
|
|
61
|
+
*
|
|
62
|
+
* @defaultValue false
|
|
63
|
+
*/
|
|
64
|
+
readonly strictValue: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
65
|
+
/**
|
|
66
|
+
* Limit criterion options to the predefined ones and prevent typing. `[onlySelectValue]`
|
|
67
|
+
* enforces `[strictValue]` and `[strictCriterion]` to true automatically.
|
|
68
|
+
*
|
|
69
|
+
* @defaultValue false
|
|
70
|
+
*/
|
|
71
|
+
readonly onlySelectValue: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
72
|
+
/**
|
|
73
|
+
* Custom debounce time for lazy loading of criteria data.
|
|
74
|
+
*
|
|
75
|
+
* @defaultValue 500
|
|
76
|
+
*/
|
|
77
|
+
readonly lazyLoadingDebounceTime: import("@angular/core").InputSignal<number>;
|
|
78
|
+
/**
|
|
79
|
+
* Custom debounce time (in mills) to delay the search emission.
|
|
80
|
+
* (Default is 0 as in most cases a users manually triggers a search.
|
|
81
|
+
* Recommended to increase a bit when using doSearchOnInputChange=true)
|
|
82
|
+
*
|
|
83
|
+
* @defaultValue 0
|
|
84
|
+
*/
|
|
85
|
+
readonly searchDebounceTime: import("@angular/core").InputSignal<number>;
|
|
86
|
+
/**
|
|
87
|
+
* The placeholder for input field.
|
|
88
|
+
*
|
|
89
|
+
* @defaultValue ''
|
|
90
|
+
*/
|
|
91
|
+
readonly placeholder: import("@angular/core").InputSignal<string>;
|
|
92
|
+
/**
|
|
93
|
+
* @deprecated This property is unused and will be removed without a replacement.
|
|
94
|
+
*
|
|
95
|
+
* @defaultValue false
|
|
96
|
+
*/
|
|
97
|
+
readonly showIcon: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
98
|
+
/**
|
|
99
|
+
* @deprecated This property is unused and will be removed without a replacement.
|
|
100
|
+
* To provide translation for the new search button, use the {@link submitButtonLabel} input.
|
|
101
|
+
*
|
|
102
|
+
* @defaultValue
|
|
103
|
+
* ```
|
|
104
|
+
* $localize`:@@SI_FILTERED_SEARCH.SUBMIT:Apply search criteria`
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
readonly submitText: import("@angular/core").InputSignal<TranslatableString>;
|
|
108
|
+
/**
|
|
109
|
+
* @deprecated Setting this property will make it harder for user to submit a search.
|
|
110
|
+
* Instead of using this property to preselect to most relevant option, sort the options by relevance.
|
|
111
|
+
*/
|
|
112
|
+
readonly selectedCriteriaIndex: import("@angular/core").InputSignal<number | undefined>;
|
|
113
|
+
/**
|
|
114
|
+
* Defines the number of criteria, criteria values and operators visible at once.
|
|
115
|
+
*
|
|
116
|
+
* @defaultValue 10
|
|
117
|
+
*/
|
|
118
|
+
readonly optionsInScrollableView: import("@angular/core").InputSignal<number>;
|
|
119
|
+
/**
|
|
120
|
+
* The current selected search criteria and entered search text.
|
|
121
|
+
*
|
|
122
|
+
* @defaultValue
|
|
123
|
+
* ```
|
|
124
|
+
* { criteria: [], value: '' }
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
readonly searchCriteria: import("@angular/core").ModelSignal<SearchCriteria>;
|
|
128
|
+
/**
|
|
129
|
+
* Predefine criteria options.
|
|
130
|
+
*
|
|
131
|
+
* @defaultValue []
|
|
132
|
+
*/
|
|
133
|
+
readonly criteria: import("@angular/core").InputSignal<Criterion[] | CriterionDefinition[]>;
|
|
134
|
+
/**
|
|
135
|
+
* Opt-in to search for each criterion only once.
|
|
136
|
+
*
|
|
137
|
+
* @defaultValue false
|
|
138
|
+
*/
|
|
139
|
+
readonly exclusiveCriteria: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
140
|
+
/**
|
|
141
|
+
* Limit the number of possible criteria. The default is undefined so that any number of criteria can be used.
|
|
142
|
+
* For example, setting the value to 1 let you only select one criterion that you need to remove before being
|
|
143
|
+
* able to set another one.
|
|
144
|
+
*
|
|
145
|
+
* @defaultValue undefined
|
|
146
|
+
*/
|
|
147
|
+
readonly maxCriteria: import("@angular/core").InputSignal<number | undefined>;
|
|
148
|
+
/**
|
|
149
|
+
* Defines the maximum options within one criterion. The default is 20 and 0 means unlimited.
|
|
150
|
+
*
|
|
151
|
+
* @defaultValue 20
|
|
152
|
+
*/
|
|
153
|
+
readonly maxCriteriaOptions: import("@angular/core").InputSignal<number>;
|
|
154
|
+
/**
|
|
155
|
+
* Search input aria label, Needed by a11y
|
|
156
|
+
*
|
|
157
|
+
* @defaultValue
|
|
158
|
+
* ```
|
|
159
|
+
* $localize`:@@SI_FILTERED_SEARCH.SEARCH:Search`
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
readonly searchLabel: import("@angular/core").InputSignal<TranslatableString>;
|
|
163
|
+
/**
|
|
164
|
+
* Clear button aria label. Needed for a11y
|
|
165
|
+
*
|
|
166
|
+
* @defaultValue
|
|
167
|
+
* ```
|
|
168
|
+
* $localize`:@@SI_FILTERED_SEARCH.CLEAR:Clear`
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
readonly clearButtonLabel: import("@angular/core").InputSignal<TranslatableString>;
|
|
172
|
+
/**
|
|
173
|
+
* The accessible label of the search button.
|
|
174
|
+
*
|
|
175
|
+
* @defaultValue
|
|
176
|
+
* ```
|
|
177
|
+
* $localize`:@@SI_FILTERED_SEARCH.SUBMIT_BUTTON:Submit search`
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
readonly submitButtonLabel: import("@angular/core").InputSignal<TranslatableString>;
|
|
181
|
+
/**
|
|
182
|
+
* Items count text appended to the count in case of multi-selection of values.
|
|
183
|
+
* Translation key, `{{itemCount}}` in the translation will be replaced with the actual value.
|
|
184
|
+
*
|
|
185
|
+
* @defaultValue ''
|
|
186
|
+
*/
|
|
187
|
+
readonly itemCountText: import("@angular/core").InputSignal<TranslatableString>;
|
|
188
|
+
/**
|
|
189
|
+
* Color variant to determine component background
|
|
190
|
+
*
|
|
191
|
+
* @defaultValue 'base-1'
|
|
192
|
+
*/
|
|
193
|
+
readonly colorVariant: import("@angular/core").InputSignal<BackgroundColorVariant>;
|
|
194
|
+
/**
|
|
195
|
+
* Text or translate key for multi selection pills text.
|
|
196
|
+
*
|
|
197
|
+
* @deprecated Use the new input {@link itemCountText} instead.
|
|
198
|
+
*
|
|
199
|
+
* @defaultValue
|
|
200
|
+
* ```
|
|
201
|
+
* $localize`:@@SI_FILTERED_SEARCH.ITEMS:items`
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
204
|
+
readonly items: import("@angular/core").InputSignal<TranslatableString>;
|
|
205
|
+
/**
|
|
206
|
+
* Disables the free text search to only use the criterion for filtering.
|
|
207
|
+
*
|
|
208
|
+
* @defaultValue false
|
|
209
|
+
*/
|
|
210
|
+
readonly disableFreeTextSearch: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
211
|
+
/**
|
|
212
|
+
* Limit on the number of criteria/criteria value to be displayed by the typeahead
|
|
213
|
+
*
|
|
214
|
+
* @defaultValue 20
|
|
215
|
+
*/
|
|
216
|
+
readonly typeaheadOptionsLimit: import("@angular/core").InputSignal<number>;
|
|
217
|
+
/**
|
|
218
|
+
* @deprecated This property is unused and will be removed without a replacement.
|
|
219
|
+
*
|
|
220
|
+
* @defaultValue
|
|
221
|
+
* ```
|
|
222
|
+
* $localize`:@@SI_FILTERED_SEARCH.NO_MATCHING_CRITERIA:No matching criteria`
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
readonly noMatchingCriteriaText: import("@angular/core").InputSignal<TranslatableString>;
|
|
226
|
+
/**
|
|
227
|
+
* By default, the Filtered Search will treat `:` as a special character
|
|
228
|
+
* to submit the current input in the freetext and immediately create a criterion.
|
|
229
|
+
* Use this input to disable this behavior.
|
|
230
|
+
*
|
|
231
|
+
* @defaultValue false
|
|
232
|
+
*/
|
|
233
|
+
readonly disableSelectionByColonAndSemicolon: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
234
|
+
/**
|
|
235
|
+
* The interceptor is called when the list of criteria is shown as soon as the user starts typing in the input field.
|
|
236
|
+
* The interceptor's {@link DisplayedCriteriaEventArgs.allow} method can be used to filter the list of displayed criteria.
|
|
237
|
+
*
|
|
238
|
+
* **Note:** The interceptor is called as long as the {@link searchCriteria} does not exceed {@link maxCriteria}.
|
|
239
|
+
* Further, the interceptor is not called when using the {@link lazyCriterionProvider}.
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```
|
|
243
|
+
* <si-filtered-search
|
|
244
|
+
* [criteria]="[{ name: 'foo', label: 'Foo' }, { name: 'bar', label: 'Bar' }]"
|
|
245
|
+
* (interceptDisplayedCriteria)="$event.allow(
|
|
246
|
+
* $event.searchCriteria.criteria.some(s => s.name === 'foo')
|
|
247
|
+
* ? $event.criteria.filter(c => c !== 'foo')
|
|
248
|
+
* : $event.criteria
|
|
249
|
+
* )">
|
|
250
|
+
* </si-filtered-search>
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
readonly interceptDisplayedCriteria: import("@angular/core").OutputEmitterRef<DisplayedCriteriaEventArgs>;
|
|
254
|
+
private readonly freeTextInputElement;
|
|
255
|
+
private readonly scrollContainer;
|
|
256
|
+
private readonly valueComponents;
|
|
257
|
+
protected dataSource: Observable<InternalCriterionDefinition[]>;
|
|
258
|
+
protected autoEditCriteria: boolean;
|
|
259
|
+
protected values: {
|
|
260
|
+
config: InternalCriterionDefinition;
|
|
261
|
+
value: CriterionValue;
|
|
262
|
+
}[];
|
|
263
|
+
protected searchValue: string;
|
|
264
|
+
/** Internal criteria model */
|
|
265
|
+
protected internalCriterionDefinitions: InternalCriterionDefinition[];
|
|
266
|
+
protected readonly icons: Record<"elementCancel" | "elementSearch", string>;
|
|
267
|
+
/** Used to trigger a renewed search */
|
|
268
|
+
private typeaheadInputChange;
|
|
269
|
+
/** Used to debounce the Search emissions */
|
|
270
|
+
private searchEmitQueue;
|
|
271
|
+
private destroySubscriptions;
|
|
272
|
+
private cdRef;
|
|
273
|
+
private translateService;
|
|
274
|
+
private locale;
|
|
275
|
+
/**
|
|
276
|
+
* The cache is used to control when the interceptDisplayedCriteria event needs to be called.
|
|
277
|
+
* Every time a criteria gain the focus we have to reset the cache to call the interceptor.
|
|
278
|
+
*/
|
|
279
|
+
private allowedCriteriaCache?;
|
|
280
|
+
private lastEmittedSearchCriteria?;
|
|
281
|
+
protected readonly isStrictOrOnlySelectValue: import("@angular/core").Signal<boolean>;
|
|
282
|
+
private readonly strictCriterionOrValue;
|
|
283
|
+
private readonly lazyLoadedCriteria;
|
|
284
|
+
private readonly loadedCriteria;
|
|
285
|
+
private readonly isReadOnly;
|
|
286
|
+
constructor();
|
|
287
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
288
|
+
ngOnInit(): void;
|
|
289
|
+
ngOnDestroy(): void;
|
|
290
|
+
private initCriteria;
|
|
291
|
+
private initValue;
|
|
292
|
+
/**
|
|
293
|
+
* Deletes all currently selected criteria and effectively resets the filtered search.
|
|
294
|
+
*/
|
|
295
|
+
deleteAllCriteria(event?: MouseEvent): void;
|
|
296
|
+
protected deleteCriterion(criterion: CriterionValue, index: number, event: {
|
|
297
|
+
triggerSearch: boolean;
|
|
298
|
+
} | void): void;
|
|
299
|
+
protected submit(): void;
|
|
300
|
+
protected typeaheadOnSelectCriterion(event: TypeaheadOption): void;
|
|
301
|
+
protected validateCriterionLabel(criterion: InternalCriterionDefinition): boolean;
|
|
302
|
+
/**
|
|
303
|
+
* Converts the internally used data model to the external model.
|
|
304
|
+
* In case options for Criterion is Option[] map to the value from the label.
|
|
305
|
+
*/
|
|
306
|
+
private convertToExternalModel;
|
|
307
|
+
private addCriterion;
|
|
308
|
+
/**
|
|
309
|
+
* Get criteria list to be shown in typeahead.
|
|
310
|
+
* @param token - input field value.
|
|
311
|
+
* @returns list of criteria to be shown in typeahead.
|
|
312
|
+
*/
|
|
313
|
+
private getFilteredTypeaheadCriteria;
|
|
314
|
+
private getCriteriaToDisplayFromSubscription;
|
|
315
|
+
protected freeTextFocus(): void;
|
|
316
|
+
protected freeTextBackspace(event: Event): void;
|
|
317
|
+
protected freeTextInput(event: Event): void;
|
|
318
|
+
protected valueChange(value: CriterionValue, criterion: {
|
|
319
|
+
config: InternalCriterionDefinition;
|
|
320
|
+
value: CriterionValue;
|
|
321
|
+
}): void;
|
|
322
|
+
protected focusNext(index: number, event: {
|
|
323
|
+
freeText: string;
|
|
324
|
+
} | void): void;
|
|
325
|
+
private updateAndEmitSearchCriteria;
|
|
326
|
+
private emitChangeEvent;
|
|
327
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFilteredSearchComponent, never>;
|
|
328
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiFilteredSearchComponent, "si-filtered-search", never, { "doSearchOnInputChange": { "alias": "doSearchOnInputChange"; "required": false; "isSignal": true; }; "lazyCriterionProvider": { "alias": "lazyCriterionProvider"; "required": false; "isSignal": true; }; "lazyValueProvider": { "alias": "lazyValueProvider"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "strictCriterion": { "alias": "strictCriterion"; "required": false; "isSignal": true; }; "strictValue": { "alias": "strictValue"; "required": false; "isSignal": true; }; "onlySelectValue": { "alias": "onlySelectValue"; "required": false; "isSignal": true; }; "lazyLoadingDebounceTime": { "alias": "lazyLoadingDebounceTime"; "required": false; "isSignal": true; }; "searchDebounceTime": { "alias": "searchDebounceTime"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "submitText": { "alias": "submitText"; "required": false; "isSignal": true; }; "selectedCriteriaIndex": { "alias": "selectedCriteriaIndex"; "required": false; "isSignal": true; }; "optionsInScrollableView": { "alias": "optionsInScrollableView"; "required": false; "isSignal": true; }; "searchCriteria": { "alias": "searchCriteria"; "required": false; "isSignal": true; }; "criteria": { "alias": "criteria"; "required": false; "isSignal": true; }; "exclusiveCriteria": { "alias": "exclusiveCriteria"; "required": false; "isSignal": true; }; "maxCriteria": { "alias": "maxCriteria"; "required": false; "isSignal": true; }; "maxCriteriaOptions": { "alias": "maxCriteriaOptions"; "required": false; "isSignal": true; }; "searchLabel": { "alias": "searchLabel"; "required": false; "isSignal": true; }; "clearButtonLabel": { "alias": "clearButtonLabel"; "required": false; "isSignal": true; }; "submitButtonLabel": { "alias": "submitButtonLabel"; "required": false; "isSignal": true; }; "itemCountText": { "alias": "itemCountText"; "required": false; "isSignal": true; }; "colorVariant": { "alias": "colorVariant"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "disableFreeTextSearch": { "alias": "disableFreeTextSearch"; "required": false; "isSignal": true; }; "typeaheadOptionsLimit": { "alias": "typeaheadOptionsLimit"; "required": false; "isSignal": true; }; "noMatchingCriteriaText": { "alias": "noMatchingCriteriaText"; "required": false; "isSignal": true; }; "disableSelectionByColonAndSemicolon": { "alias": "disableSelectionByColonAndSemicolon"; "required": false; "isSignal": true; }; }, { "doSearch": "doSearch"; "searchCriteria": "searchCriteriaChange"; "interceptDisplayedCriteria": "interceptDisplayedCriteria"; }, never, never, true, never>;
|
|
329
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Siemens 2016 - 2025.
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import { DatepickerInputConfig } from '@siemens/element-ng/datepicker';
|
|
6
|
+
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
7
|
+
export type ValidationType = 'string' | 'integer' | 'float' | 'date' | 'date-time';
|
|
8
|
+
/**
|
|
9
|
+
* A CriterionValue is the input/output value of the {@link SiFilteredSearchComponent}, containing the user input.
|
|
10
|
+
*/
|
|
11
|
+
export interface CriterionValue {
|
|
12
|
+
/**
|
|
13
|
+
* The mandatory name of a criterion.
|
|
14
|
+
*/
|
|
15
|
+
name: string;
|
|
16
|
+
/**
|
|
17
|
+
* This property holds the selected or entered operator of the criterion.
|
|
18
|
+
*/
|
|
19
|
+
operator?: string;
|
|
20
|
+
/**
|
|
21
|
+
* The value property holds the selected or entered value/values of the criterion.
|
|
22
|
+
* The value can also be passed as an array of strings. When `multiSelect` is enabled,
|
|
23
|
+
* the items in the value array will be shown as selected values in value input and the typeahead.
|
|
24
|
+
*/
|
|
25
|
+
value?: string | string[];
|
|
26
|
+
/** If the criterion was defined as date or date-time this field will contain the value das js Date. */
|
|
27
|
+
dateValue?: Date;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* A CriterionDefinition is the definition of criteria in the {@link SiFilteredSearchComponent}.
|
|
31
|
+
* It defines the type and based this further attributes
|
|
32
|
+
* like multiselect and available options.
|
|
33
|
+
*/
|
|
34
|
+
export interface CriterionDefinition {
|
|
35
|
+
/**
|
|
36
|
+
* The mandatory name of a criterion.
|
|
37
|
+
*/
|
|
38
|
+
name: string;
|
|
39
|
+
/**
|
|
40
|
+
* An optional label, which is used in the user interface.
|
|
41
|
+
*/
|
|
42
|
+
label?: TranslatableString;
|
|
43
|
+
/**
|
|
44
|
+
* The options provide possible values that the user can select for this criterion.
|
|
45
|
+
*/
|
|
46
|
+
options?: OptionType[];
|
|
47
|
+
/**
|
|
48
|
+
* This provides possible operators that the user can select for this criterion.
|
|
49
|
+
*/
|
|
50
|
+
operators?: string[];
|
|
51
|
+
/**
|
|
52
|
+
* This provides the value type of the input field.
|
|
53
|
+
*/
|
|
54
|
+
validationType?: ValidationType;
|
|
55
|
+
/**
|
|
56
|
+
* Optional configuration object for the datepicker.
|
|
57
|
+
*/
|
|
58
|
+
datepickerConfig?: DatepickerInputConfig;
|
|
59
|
+
/**
|
|
60
|
+
* Limit criterion options to the predefined ones.
|
|
61
|
+
*/
|
|
62
|
+
strictValue?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Limit criterion options to the predefined ones and prevent typing. `onlySelectValue`
|
|
65
|
+
* enforces `strictValue` to true automatically.
|
|
66
|
+
*/
|
|
67
|
+
onlySelectValue?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Defines whether multi selection of the options is possible in a typeahead. Setting it to `true`
|
|
70
|
+
* enables the checkbox besides the option values. When `multiSelect` is `true`,
|
|
71
|
+
* the value input field will be readonly, allowing user to select the values only from the typeahead.
|
|
72
|
+
*/
|
|
73
|
+
multiSelect?: boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @deprecated Use one the more specific types instead:
|
|
77
|
+
* - {@link CriterionValue} for the output value of the FilteredSearch, containing the user input.
|
|
78
|
+
* - {@link CriterionDefinition} for the definition of criteria so the [criteria] input of the {@link SiFilteredSearchComponent}.
|
|
79
|
+
*/
|
|
80
|
+
export type Criterion = CriterionValue & CriterionDefinition;
|
|
81
|
+
/**
|
|
82
|
+
* Type for options
|
|
83
|
+
*/
|
|
84
|
+
export type OptionType = string | OptionCriterion;
|
|
85
|
+
/**
|
|
86
|
+
* It allows to specify a different value between the one which is rendered
|
|
87
|
+
* and the one which is used for the search.
|
|
88
|
+
*/
|
|
89
|
+
export interface OptionCriterion {
|
|
90
|
+
/**
|
|
91
|
+
* The label to show
|
|
92
|
+
*/
|
|
93
|
+
label?: TranslatableString;
|
|
94
|
+
/**
|
|
95
|
+
* The value to use on searching
|
|
96
|
+
*/
|
|
97
|
+
value: string;
|
|
98
|
+
/**
|
|
99
|
+
* The icon to be displayed besides value in the typeahead
|
|
100
|
+
*/
|
|
101
|
+
iconClass?: string;
|
|
102
|
+
/**
|
|
103
|
+
* Shows whether the option is selected in the multi-select dropdown
|
|
104
|
+
*/
|
|
105
|
+
selected?: boolean;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* On search, the filtered search component emits a SearchCriteria object.
|
|
109
|
+
* It consists of all user selected criteria and the free text input value.
|
|
110
|
+
*/
|
|
111
|
+
export interface SearchCriteria {
|
|
112
|
+
/**
|
|
113
|
+
* The selected criteria of the filtered search. Each criteria has a name
|
|
114
|
+
* and a value.
|
|
115
|
+
*/
|
|
116
|
+
criteria: (CriterionValue & Criterion)[];
|
|
117
|
+
/**
|
|
118
|
+
* Additional unstructured free text, which the user entered in the search.
|
|
119
|
+
*/
|
|
120
|
+
value: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Event allows to intercept and change the displayed criteria before shown in typeahead.
|
|
124
|
+
*/
|
|
125
|
+
export interface DisplayedCriteriaEventArgs {
|
|
126
|
+
/**
|
|
127
|
+
* List of criteria names to display in typeahead.
|
|
128
|
+
*/
|
|
129
|
+
criteria: string[];
|
|
130
|
+
/**
|
|
131
|
+
* Current search criteria.
|
|
132
|
+
*/
|
|
133
|
+
searchCriteria: SearchCriteria;
|
|
134
|
+
/**
|
|
135
|
+
* Interceptor function allows to reduce the list of displayed criteria.
|
|
136
|
+
* @param criteriaNamesToDisplay - list of criteria names to be displayed.
|
|
137
|
+
*/
|
|
138
|
+
allow(criteriaNamesToDisplay: string[]): void;
|
|
139
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./si-filtered-search.component";
|
|
3
|
+
export declare class SiFilteredSearchModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFilteredSearchModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SiFilteredSearchModule, never, [typeof i1.SiFilteredSearchComponent], [typeof i1.SiFilteredSearchComponent]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<SiFilteredSearchModule>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { SiFilteredSearchValueBase } from '../si-filtered-search-value.base';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class SiFilteredSearchDateValueComponent extends SiFilteredSearchValueBase {
|
|
5
|
+
private locale;
|
|
6
|
+
protected readonly valueInput: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
7
|
+
private readonly datepickerOverlay;
|
|
8
|
+
protected readonly disableTime: import("@angular/core").WritableSignal<boolean>;
|
|
9
|
+
protected readonly shortDateFormat: string;
|
|
10
|
+
readonly focusInOverlay: import("@angular/core").Signal<boolean>;
|
|
11
|
+
readonly validFormat: import("@angular/core").Signal<boolean>;
|
|
12
|
+
readonly dateConfig: import("@angular/core").Signal<{
|
|
13
|
+
disabledTime: boolean;
|
|
14
|
+
dateTimeFormat?: string;
|
|
15
|
+
dateFormat?: string;
|
|
16
|
+
todayText?: import("@siemens/element-translate-ng/translate").TranslatableString;
|
|
17
|
+
weekStartDay?: import("@siemens/element-ng/datepicker").WeekStart;
|
|
18
|
+
hideWeekNumbers?: boolean;
|
|
19
|
+
showTime?: boolean;
|
|
20
|
+
showMinutes?: boolean;
|
|
21
|
+
showSeconds?: boolean;
|
|
22
|
+
showMilliseconds?: boolean;
|
|
23
|
+
mandatoryTime?: boolean;
|
|
24
|
+
enabledTimeText?: import("@siemens/element-translate-ng/translate").TranslatableString;
|
|
25
|
+
disabledTimeText?: import("@siemens/element-translate-ng/translate").TranslatableString;
|
|
26
|
+
minDate?: Date;
|
|
27
|
+
maxDate?: Date;
|
|
28
|
+
enableDateRange?: boolean;
|
|
29
|
+
enableTwoMonthDateRange?: boolean;
|
|
30
|
+
enableTimeValidation?: boolean;
|
|
31
|
+
onlyMonthSelection?: boolean;
|
|
32
|
+
hoursLabel?: string;
|
|
33
|
+
minutesLabel?: string;
|
|
34
|
+
secondsLabel?: string;
|
|
35
|
+
millisecondsLabel?: string;
|
|
36
|
+
hideLabels?: boolean;
|
|
37
|
+
hoursAriaLabel?: string;
|
|
38
|
+
minutesAriaLabel?: string;
|
|
39
|
+
secondsAriaLabel?: string;
|
|
40
|
+
millisecondsAriaLabel?: string;
|
|
41
|
+
hoursPlaceholder?: string;
|
|
42
|
+
minutesPlaceholder?: string;
|
|
43
|
+
secondsPlaceholder?: string;
|
|
44
|
+
millisecondsPlaceholder?: string;
|
|
45
|
+
meridians?: string[];
|
|
46
|
+
meridiansLabel?: string;
|
|
47
|
+
meridiansAriaLabel?: string;
|
|
48
|
+
startTimeLabel?: string;
|
|
49
|
+
endTimeLabel?: string;
|
|
50
|
+
}>;
|
|
51
|
+
readonly dateFormat: import("@angular/core").Signal<string>;
|
|
52
|
+
readonly validValue: import("@angular/core").Signal<boolean>;
|
|
53
|
+
constructor();
|
|
54
|
+
protected valueDateSelect(date: Date): void;
|
|
55
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFilteredSearchDateValueComponent, never>;
|
|
56
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiFilteredSearchDateValueComponent, "si-filtered-search-date-value", never, {}, {}, never, never, true, never>;
|
|
57
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Siemens 2016 - 2025.
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import { ElementRef, Signal } from '@angular/core';
|
|
6
|
+
import { CriterionDefinition, CriterionValue } from '../si-filtered-search.model';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare abstract class SiFilteredSearchValueBase {
|
|
9
|
+
readonly active: import("@angular/core").ModelSignal<boolean>;
|
|
10
|
+
readonly criterionValue: import("@angular/core").ModelSignal<CriterionValue>;
|
|
11
|
+
readonly definition: import("@angular/core").InputSignal<CriterionDefinition>;
|
|
12
|
+
readonly disabled: import("@angular/core").InputSignal<boolean>;
|
|
13
|
+
readonly searchLabel: import("@angular/core").InputSignal<string>;
|
|
14
|
+
readonly submitValue: import("@angular/core").OutputEmitterRef<void | {
|
|
15
|
+
freeText: string;
|
|
16
|
+
}>;
|
|
17
|
+
readonly editValue: import("@angular/core").OutputEmitterRef<void>;
|
|
18
|
+
readonly backspaceOverflow: import("@angular/core").OutputEmitterRef<void>;
|
|
19
|
+
protected abstract readonly valueInput: Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
20
|
+
protected abstract readonly validValue: Signal<boolean>;
|
|
21
|
+
readonly focusInOverlay: Signal<boolean>;
|
|
22
|
+
focus(): void;
|
|
23
|
+
protected valueEnter(): void;
|
|
24
|
+
protected valueBackspace(): void;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFilteredSearchValueBase, never>;
|
|
26
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SiFilteredSearchValueBase, never, never, { "active": { "alias": "active"; "required": true; "isSignal": true; }; "criterionValue": { "alias": "criterionValue"; "required": true; "isSignal": true; }; "definition": { "alias": "definition"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": true; "isSignal": true; }; "searchLabel": { "alias": "searchLabel"; "required": true; "isSignal": true; }; }, { "active": "activeChange"; "criterionValue": "criterionValueChange"; "submitValue": "submitValue"; "editValue": "editValue"; "backspaceOverflow": "backspaceOverflow"; }, never, never, true, never>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Siemens 2016 - 2025.
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import { ElementRef, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
6
|
+
import { TypeaheadMatch } from '@siemens/element-ng/typeahead';
|
|
7
|
+
import { Observable } from 'rxjs';
|
|
8
|
+
import { TypeaheadOptionCriterion } from '../../si-filtered-search-helper';
|
|
9
|
+
import { OptionCriterion, OptionType } from '../../si-filtered-search.model';
|
|
10
|
+
import { SiFilteredSearchValueBase } from '../si-filtered-search-value.base';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export declare class SiFilteredSearchTypeaheadComponent extends SiFilteredSearchValueBase implements OnChanges, OnInit {
|
|
13
|
+
readonly lazyValueProvider: import("@angular/core").InputSignal<((criterionName: string, typed: string | string[]) => Observable<OptionType[]>) | undefined>;
|
|
14
|
+
readonly searchDebounceTime: import("@angular/core").InputSignal<number>;
|
|
15
|
+
readonly itemCountText: import("@angular/core").InputSignal<string>;
|
|
16
|
+
readonly items: import("@angular/core").InputSignal<string>;
|
|
17
|
+
readonly onlySelectValue: import("@angular/core").InputSignal<boolean>;
|
|
18
|
+
readonly maxCriteriaOptions: import("@angular/core").InputSignal<number>;
|
|
19
|
+
readonly optionsInScrollableView: import("@angular/core").InputSignal<number>;
|
|
20
|
+
readonly readonly: import("@angular/core").InputSignal<boolean>;
|
|
21
|
+
readonly disableSelectionByColonAndSemicolon: import("@angular/core").InputSignal<boolean>;
|
|
22
|
+
readonly isStrictOrOnlySelectValue: import("@angular/core").InputSignal<boolean>;
|
|
23
|
+
private readonly inputChange;
|
|
24
|
+
private readonly selectionChange;
|
|
25
|
+
protected readonly valueInput: import("@angular/core").Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
26
|
+
protected readonly optionValue: import("@angular/core").WritableSignal<OptionCriterion[]>;
|
|
27
|
+
private readonly destroyRef;
|
|
28
|
+
private readonly translateService;
|
|
29
|
+
readonly inputType: import("@angular/core").Signal<"number" | "text">;
|
|
30
|
+
readonly step: import("@angular/core").Signal<"any" | "1">;
|
|
31
|
+
readonly options: import("@angular/core").Signal<Observable<TypeaheadOptionCriterion[]> | undefined>;
|
|
32
|
+
readonly hasMultiSelections: import("@angular/core").Signal<boolean | undefined>;
|
|
33
|
+
readonly validValue: import("@angular/core").Signal<boolean>;
|
|
34
|
+
readonly valueLabel: import("@angular/core").Signal<string>;
|
|
35
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
36
|
+
ngOnInit(): void;
|
|
37
|
+
protected valueFilterKeys(event: KeyboardEvent): void;
|
|
38
|
+
protected valueChange(newValue: string | string[]): void;
|
|
39
|
+
protected valueTypeaheadFullMatch(match: TypeaheadMatch): void;
|
|
40
|
+
protected valueTypeaheadSelect(match: TypeaheadMatch): void;
|
|
41
|
+
private buildOptions;
|
|
42
|
+
private buildOptionValue;
|
|
43
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFilteredSearchTypeaheadComponent, never>;
|
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiFilteredSearchTypeaheadComponent, "si-filtered-search-typeahead", never, { "lazyValueProvider": { "alias": "lazyValueProvider"; "required": false; "isSignal": true; }; "searchDebounceTime": { "alias": "searchDebounceTime"; "required": true; "isSignal": true; }; "itemCountText": { "alias": "itemCountText"; "required": true; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "onlySelectValue": { "alias": "onlySelectValue"; "required": true; "isSignal": true; }; "maxCriteriaOptions": { "alias": "maxCriteriaOptions"; "required": true; "isSignal": true; }; "optionsInScrollableView": { "alias": "optionsInScrollableView"; "required": true; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": true; "isSignal": true; }; "disableSelectionByColonAndSemicolon": { "alias": "disableSelectionByColonAndSemicolon"; "required": true; "isSignal": true; }; "isStrictOrOnlySelectValue": { "alias": "isStrictOrOnlySelectValue"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
45
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FieldType } from '@ngx-formly/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SiFormlyButtonComponent extends FieldType {
|
|
4
|
+
protected click(): void;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFormlyButtonComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiFormlyButtonComponent, "si-formly-button", never, {}, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FieldType, FieldTypeConfig } from '@ngx-formly/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SiFormlyDateRangeComponent extends FieldType<FieldTypeConfig> {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFormlyDateRangeComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiFormlyDateRangeComponent, "si-formly-date-range", never, {}, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Siemens 2016 - 2025.
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import { OnInit } from '@angular/core';
|
|
6
|
+
import { FieldType, FieldTypeConfig } from '@ngx-formly/core';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class SiFormlyDateTimeComponent extends FieldType<FieldTypeConfig> implements OnInit {
|
|
9
|
+
ngOnInit(): void;
|
|
10
|
+
private convertValidStringToDate;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFormlyDateTimeComponent, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiFormlyDateTimeComponent, "si-formly-datetime", never, {}, {}, never, never, true, never>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FieldType, FieldTypeConfig } from '@ngx-formly/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SiFormlyEmailComponent extends FieldType<FieldTypeConfig> {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFormlyEmailComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiFormlyEmailComponent, "si-formly-email", never, {}, {}, never, never, true, never>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FieldType, FieldTypeConfig } from '@ngx-formly/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SiFormlyIpInputComponent extends FieldType<FieldTypeConfig> {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiFormlyIpInputComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiFormlyIpInputComponent, "si-formly-ip-address", never, {}, {}, never, never, true, never>;
|
|
6
|
+
}
|