@koobiq/components 18.38.1 → 19.0.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/accordion/accordion-content.d.ts +2 -2
- package/accordion/accordion-content.directive.d.ts +11 -0
- package/accordion/accordion-header.d.ts +2 -2
- package/accordion/accordion-header.directive.d.ts +7 -0
- package/accordion/accordion-item.d.ts +2 -2
- package/accordion/accordion-item.directive.d.ts +72 -0
- package/accordion/accordion-root.directive.d.ts +64 -0
- package/accordion/accordion-trigger.component.d.ts +2 -2
- package/accordion/accordion-trigger.directive.d.ts +13 -0
- package/accordion/accordion.component.d.ts +2 -4
- package/accordion/accordion.module.d.ts +7 -7
- package/accordion/public-api.d.ts +5 -0
- package/alert/_alert-theme.scss +4 -16
- package/alert/alert-tokens.scss +6 -12
- package/alert/alert.component.d.ts +5 -12
- package/alert/alert.module.d.ts +4 -4
- package/app-switcher/app-switcher.d.ts +4 -4
- package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
- package/autocomplete/autocomplete-trigger.directive.d.ts +1 -1
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/autocomplete/autocomplete.module.d.ts +7 -7
- package/badge/badge.component.d.ts +3 -3
- package/badge/badge.module.d.ts +4 -4
- package/breadcrumbs/breadcrumbs.d.ts +3 -2
- package/breadcrumbs/public-api.d.ts +2 -0
- package/breadcrumbs/roving-focus-group.directive.d.ts +50 -0
- package/breadcrumbs/roving-focus-item.directive.d.ts +50 -0
- package/breadcrumbs/utils.d.ts +19 -0
- package/button/button.component.d.ts +2 -2
- package/button/button.module.d.ts +6 -6
- package/button-toggle/_button-toggle-theme.scss +30 -27
- package/button-toggle/button-toggle.component.d.ts +2 -2
- package/button-toggle/button-toggle.module.d.ts +4 -4
- package/button-toggle/button-toggle.scss +2 -2
- package/checkbox/checkbox-module.d.ts +4 -4
- package/checkbox/checkbox-required-validator.d.ts +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/code-block/code-block.scss +2 -2
- package/core/common-behaviors/index.d.ts +0 -1
- package/core/formatters/date/formatter.pipe.d.ts +13 -0
- package/core/formatters/index.d.ts +4 -4
- package/core/formatters/number/formatter.d.ts +3 -3
- package/core/forms/forms-module.d.ts +1 -1
- package/core/forms/forms.directive.d.ts +2 -2
- package/core/highlight/highlight.pipe.d.ts +1 -1
- package/core/highlight/index.d.ts +3 -3
- package/core/line/line.d.ts +1 -6
- package/core/option/_option-theme.scss +5 -2
- package/core/option/action.d.ts +1 -1
- package/core/option/optgroup.d.ts +1 -1
- package/core/option/option-module.d.ts +5 -5
- package/core/option/option.d.ts +4 -1
- package/core/pop-up/constants.d.ts +4 -0
- package/core/pop-up/pop-up-trigger.d.ts +5 -5
- package/core/pop-up/pop-up.d.ts +1 -1
- package/core/select/common.d.ts +1 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +3 -3
- package/core/styles/common/_select.scss +1 -1
- package/core/styles/theming/_scrollbar-theme.scss +18 -12
- package/core/styles/visual/_layout.scss +10 -0
- package/core/utils/utils.d.ts +3 -0
- package/datepicker/calendar-body.component.d.ts +1 -1
- package/datepicker/calendar-header.component.d.ts +1 -1
- package/datepicker/calendar.component.d.ts +1 -1
- package/datepicker/datepicker-input.directive.d.ts +1 -1
- package/datepicker/datepicker-module.d.ts +15 -15
- package/datepicker/datepicker-toggle.component.d.ts +2 -2
- package/datepicker/datepicker.component.d.ts +2 -2
- package/datepicker/month-view.component.d.ts +1 -1
- package/divider/divider.component.d.ts +5 -1
- package/divider/divider.module.d.ts +3 -3
- package/dl/dl.component.d.ts +3 -3
- package/dl/dl.module.d.ts +4 -4
- package/dropdown/dropdown-content.directive.d.ts +1 -1
- package/dropdown/dropdown-item.component.d.ts +1 -1
- package/dropdown/dropdown-trigger.directive.d.ts +1 -1
- package/dropdown/dropdown.component.d.ts +1 -1
- package/dropdown/dropdown.module.d.ts +8 -8
- package/dropdown/dropdown.scss +1 -0
- package/ellipsis-center/ellipsis-center.directive.d.ts +2 -2
- package/empty-state/empty-state.component.d.ts +5 -5
- package/empty-state/empty-state.module.d.ts +4 -4
- package/fesm2022/koobiq-components-accordion.mjs +459 -40
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +18 -18
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +28 -36
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +49 -52
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +31 -25
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +20 -21
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +339 -36
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +25 -22
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +25 -26
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -16
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +9 -9
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +15 -16
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +55 -57
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +326 -356
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +107 -90
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +16 -14
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +19 -20
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +47 -48
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +16 -19
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +10 -10
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +26 -27
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +306 -98
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +258 -234
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +84 -92
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +18 -18
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +33 -37
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +31 -30
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +11 -10
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +54 -46
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +27 -28
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +14 -14
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +76 -64
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar-ic.mjs +76 -54
- package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +77 -66
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +31 -32
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +16 -19
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +55 -46
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +18 -19
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +21 -23
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +20 -16
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +10 -12
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +13 -12
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +17 -18
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +19 -19
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +110 -73
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +16 -23
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +61 -55
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +12 -12
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +24 -25
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +17 -18
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +85 -89
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +43 -47
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +10 -11
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +38 -40
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +65 -14
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +68 -59
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +9 -10
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +23 -24
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +16 -14
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +20 -23
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +18 -20
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +81 -70
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +77 -66
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +31 -37
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/file-upload.d.ts +11 -0
- package/file-upload/file-upload.module.d.ts +15 -15
- package/file-upload/multiple-file-upload.component.d.ts +12 -9
- package/file-upload/{file-drop.d.ts → primitives/file-drop.d.ts} +3 -3
- package/file-upload/primitives/file-picker.d.ts +82 -0
- package/file-upload/primitives/index.d.ts +2 -0
- package/file-upload/public-api.d.ts +2 -1
- package/file-upload/single-file-upload.component.d.ts +11 -8
- package/filter-bar/filter-bar.d.ts +1 -1
- package/filter-bar/filter-search.d.ts +17 -4
- package/icon/_icon-button-theme.scss +2 -1
- package/inline-edit/inline-edit.d.ts +2 -3
- package/input/_input-theme.scss +2 -1
- package/input/input-number-validators.d.ts +2 -2
- package/input/input-number.d.ts +1 -1
- package/input/input-password.d.ts +1 -1
- package/input/input.d.ts +2 -2
- package/input/input.module.d.ts +8 -8
- package/link/_link-theme.scss +3 -0
- package/link/link.component.d.ts +1 -1
- package/link/link.module.d.ts +3 -3
- package/list/_list-theme.scss +6 -0
- package/list/list-selection.component.d.ts +6 -4
- package/list/list.component.d.ts +2 -2
- package/list/list.module.d.ts +6 -6
- package/list/list.scss +1 -0
- package/loader-overlay/loader-overlay.component.d.ts +4 -4
- package/loader-overlay/loader-overlay.module.d.ts +5 -5
- package/modal/css-unit.pipe.d.ts +1 -1
- package/modal/modal.component.d.ts +1 -1
- package/modal/modal.directive.d.ts +4 -4
- package/modal/modal.module.d.ts +10 -10
- package/modal/modal.service.d.ts +1 -1
- package/navbar/_navbar-theme.scss +1 -0
- package/navbar/navbar-brand.component.d.ts +1 -1
- package/navbar/navbar-item.component.d.ts +7 -7
- package/navbar/navbar-toggle.component.d.ts +1 -1
- package/navbar/navbar-toggle.scss +1 -1
- package/navbar/navbar.component.d.ts +4 -4
- package/navbar/navbar.module.d.ts +10 -10
- package/navbar/vertical-navbar.component.d.ts +1 -1
- package/navbar/vertical-navbar.scss +5 -2
- package/navbar-ic/navbar-ic-header.d.ts +3 -0
- package/navbar-ic/navbar-ic-item.d.ts +18 -0
- package/navbar-ic/navbar-ic.d.ts +13 -7
- package/notification-center/notification-center.d.ts +5 -5
- package/overflow-items/overflow-items.d.ts +1 -1
- package/package.json +9 -140
- package/popover/popover-confirm.component.d.ts +2 -2
- package/popover/popover.component.d.ts +9 -9
- package/popover/popover.module.d.ts +9 -9
- package/popover/popover.scss +3 -2
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/progress-bar.component.d.ts +3 -3
- package/progress-bar/progress-bar.module.d.ts +3 -3
- package/progress-spinner/progress-spinner.component.d.ts +3 -3
- package/progress-spinner/progress-spinner.module.d.ts +4 -4
- package/progress-spinner/progress-spinner.scss +1 -0
- package/radio/_radio-theme.scss +2 -1
- package/radio/radio-tokens.scss +1 -0
- package/radio/radio.component.d.ts +10 -5
- package/radio/radio.module.d.ts +3 -3
- package/risk-level/risk-level.component.d.ts +1 -1
- package/risk-level/risk-level.module.d.ts +4 -4
- package/schematics/migrations/icons-replacement/README.md +5 -1
- package/schematics/migrations/icons-replacement/index.js +1 -1
- package/schematics/ng-add/index.js +4 -5
- package/scrollbar/_scrollbar-component-theme.scss +16 -14
- package/select/select-option.directive.d.ts +1 -1
- package/select/select.component.d.ts +6 -5
- package/select/select.module.d.ts +10 -10
- package/sidebar/sidebar.component.d.ts +3 -3
- package/sidebar/sidebar.module.d.ts +3 -3
- package/sidepanel/sidepanel-container.component.d.ts +1 -1
- package/sidepanel/sidepanel-directives.d.ts +5 -5
- package/sidepanel/sidepanel.module.d.ts +9 -9
- package/splitter/splitter.component.d.ts +4 -4
- package/splitter/splitter.module.d.ts +3 -3
- package/table/_table-theme.scss +1 -0
- package/table/table.component.d.ts +2 -2
- package/table/table.module.d.ts +4 -4
- package/tabs/paginated-tab-header.d.ts +1 -1
- package/tabs/tab-body.component.d.ts +2 -2
- package/tabs/tab-content.directive.d.ts +1 -1
- package/tabs/tab-group.component.d.ts +5 -5
- package/tabs/tab-header.component.d.ts +1 -1
- package/tabs/tab-label-wrapper.directive.d.ts +1 -1
- package/tabs/tab-label.directive.d.ts +1 -1
- package/tabs/tab.component.d.ts +3 -3
- package/tabs/tabs.module.d.ts +15 -15
- package/tags/tag-input.d.ts +1 -1
- package/tags/tag-list.component.d.ts +1 -1
- package/tags/tag.component.d.ts +4 -4
- package/tags/tag.module.d.ts +4 -4
- package/textarea/textarea.component.d.ts +1 -1
- package/textarea/textarea.module.d.ts +4 -4
- package/timepicker/timepicker.directive.d.ts +15 -5
- package/timepicker/timepicker.module.d.ts +5 -5
- package/timezone/cities-by-filter.pipe.d.ts +1 -1
- package/timezone/timezone-option.component.d.ts +1 -1
- package/timezone/timezone-option.directive.d.ts +1 -1
- package/timezone/timezone-select.component.d.ts +2 -2
- package/timezone/timezone.module.d.ts +15 -15
- package/timezone/utc-offset.pipe.d.ts +1 -1
- package/title/title.directive.d.ts +1 -1
- package/title/title.module.d.ts +3 -3
- package/toggle/toggle.component.d.ts +1 -1
- package/toggle/toggle.module.d.ts +3 -3
- package/tooltip/tooltip.component.d.ts +3 -3
- package/top-bar/top-bar.d.ts +1 -1
- package/tree/node.d.ts +1 -1
- package/tree/outlet.d.ts +1 -1
- package/tree/padding.directive.d.ts +1 -1
- package/tree/toggle.d.ts +3 -3
- package/tree/tree-base.d.ts +2 -2
- package/tree/tree-option.component.d.ts +1 -1
- package/tree/tree-selection.component.d.ts +1 -1
- package/tree/tree.d.ts +1 -1
- package/tree/tree.module.d.ts +11 -11
- package/tree-select/tree-select.component.d.ts +2 -2
- package/tree-select/tree-select.module.d.ts +9 -9
- package/core/common-behaviors/focus-monitor.d.ts +0 -19
- package/esm2022/accordion/accordion-content.mjs +0 -19
- package/esm2022/accordion/accordion-header.mjs +0 -19
- package/esm2022/accordion/accordion-item.mjs +0 -25
- package/esm2022/accordion/accordion-trigger.component.mjs +0 -48
- package/esm2022/accordion/accordion.component.mjs +0 -41
- package/esm2022/accordion/accordion.module.mjs +0 -44
- package/esm2022/accordion/index.mjs +0 -2
- package/esm2022/accordion/koobiq-components-accordion.mjs +0 -5
- package/esm2022/accordion/public-api.mjs +0 -7
- package/esm2022/actions-panel/actions-panel-config.mjs +0 -55
- package/esm2022/actions-panel/actions-panel-container.mjs +0 -217
- package/esm2022/actions-panel/actions-panel-ref.mjs +0 -78
- package/esm2022/actions-panel/actions-panel.mjs +0 -133
- package/esm2022/actions-panel/index.mjs +0 -6
- package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +0 -5
- package/esm2022/actions-panel/module.mjs +0 -21
- package/esm2022/alert/alert.component.mjs +0 -124
- package/esm2022/alert/alert.module.mjs +0 -40
- package/esm2022/alert/index.mjs +0 -2
- package/esm2022/alert/koobiq-components-alert.mjs +0 -5
- package/esm2022/alert/public-api.mjs +0 -3
- package/esm2022/app-switcher/app-switcher-animations.mjs +0 -18
- package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +0 -75
- package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +0 -60
- package/esm2022/app-switcher/app-switcher.mjs +0 -446
- package/esm2022/app-switcher/app-switcher.module.mjs +0 -45
- package/esm2022/app-switcher/index.mjs +0 -2
- package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +0 -84
- package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +0 -5
- package/esm2022/app-switcher/public-api.mjs +0 -7
- package/esm2022/autocomplete/autocomplete-origin.directive.mjs +0 -21
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +0 -540
- package/esm2022/autocomplete/autocomplete.component.mjs +0 -178
- package/esm2022/autocomplete/autocomplete.module.mjs +0 -38
- package/esm2022/autocomplete/index.mjs +0 -2
- package/esm2022/autocomplete/koobiq-components-autocomplete.mjs +0 -5
- package/esm2022/autocomplete/public-api.mjs +0 -5
- package/esm2022/badge/badge.component.mjs +0 -124
- package/esm2022/badge/badge.module.mjs +0 -36
- package/esm2022/badge/index.mjs +0 -2
- package/esm2022/badge/koobiq-components-badge.mjs +0 -5
- package/esm2022/badge/public-api.mjs +0 -3
- package/esm2022/breadcrumbs/breadcrumbs.mjs +0 -268
- package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -31
- package/esm2022/breadcrumbs/breadcrumbs.types.mjs +0 -2
- package/esm2022/breadcrumbs/index.mjs +0 -2
- package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +0 -5
- package/esm2022/breadcrumbs/public-api.mjs +0 -4
- package/esm2022/button/button.component.mjs +0 -180
- package/esm2022/button/button.dropdown-trigger.directive.mjs +0 -28
- package/esm2022/button/button.module.mjs +0 -41
- package/esm2022/button/index.mjs +0 -2
- package/esm2022/button/koobiq-components-button.mjs +0 -5
- package/esm2022/button/public-api.mjs +0 -4
- package/esm2022/button-toggle/button-toggle.component.mjs +0 -384
- package/esm2022/button-toggle/button-toggle.module.mjs +0 -19
- package/esm2022/button-toggle/index.mjs +0 -2
- package/esm2022/button-toggle/koobiq-components-button-toggle.mjs +0 -5
- package/esm2022/button-toggle/public-api.mjs +0 -3
- package/esm2022/checkbox/checkbox-config.mjs +0 -6
- package/esm2022/checkbox/checkbox-module.mjs +0 -19
- package/esm2022/checkbox/checkbox-required-validator.mjs +0 -27
- package/esm2022/checkbox/checkbox.mjs +0 -295
- package/esm2022/checkbox/index.mjs +0 -2
- package/esm2022/checkbox/koobiq-components-checkbox.mjs +0 -5
- package/esm2022/checkbox/public-api.mjs +0 -5
- package/esm2022/clamped-text/clamped-text.mjs +0 -202
- package/esm2022/clamped-text/constants.mjs +0 -20
- package/esm2022/clamped-text/index.mjs +0 -4
- package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +0 -5
- package/esm2022/clamped-text/module.mjs +0 -19
- package/esm2022/code-block/code-block-highlight.mjs +0 -418
- package/esm2022/code-block/code-block.mjs +0 -440
- package/esm2022/code-block/code-block.module.mjs +0 -19
- package/esm2022/code-block/index.mjs +0 -2
- package/esm2022/code-block/koobiq-components-code-block.mjs +0 -5
- package/esm2022/code-block/public-api.mjs +0 -5
- package/esm2022/code-block/types.mjs +0 -2
- package/esm2022/content-panel/content-panel.mjs +0 -432
- package/esm2022/content-panel/index.mjs +0 -3
- package/esm2022/content-panel/koobiq-components-content-panel.mjs +0 -5
- package/esm2022/content-panel/module.mjs +0 -42
- package/esm2022/core/animation/animation.mjs +0 -39
- package/esm2022/core/animation/fade-animations.mjs +0 -9
- package/esm2022/core/animation/index.mjs +0 -4
- package/esm2022/core/animation/select-animations.mjs +0 -45
- package/esm2022/core/common-behaviors/checkbox.mjs +0 -2
- package/esm2022/core/common-behaviors/clipboard.mjs +0 -31
- package/esm2022/core/common-behaviors/color.mjs +0 -89
- package/esm2022/core/common-behaviors/common-module.mjs +0 -76
- package/esm2022/core/common-behaviors/constructor.mjs +0 -2
- package/esm2022/core/common-behaviors/disabled.mjs +0 -19
- package/esm2022/core/common-behaviors/error-state.mjs +0 -50
- package/esm2022/core/common-behaviors/focus-monitor.mjs +0 -37
- package/esm2022/core/common-behaviors/hover.mjs +0 -34
- package/esm2022/core/common-behaviors/index.mjs +0 -14
- package/esm2022/core/common-behaviors/orientation.mjs +0 -2
- package/esm2022/core/common-behaviors/read-state.mjs +0 -33
- package/esm2022/core/common-behaviors/size.mjs +0 -2
- package/esm2022/core/common-behaviors/tabindex.mjs +0 -20
- package/esm2022/core/datetime/date-adapter.mjs +0 -14
- package/esm2022/core/datetime/date-formats.mjs +0 -3
- package/esm2022/core/datetime/index.mjs +0 -3
- package/esm2022/core/error/error-state-matcher.mjs +0 -56
- package/esm2022/core/form-field/field-sizing-content.mjs +0 -117
- package/esm2022/core/form-field/form-field-ref.mjs +0 -10
- package/esm2022/core/form-field/index.mjs +0 -3
- package/esm2022/core/formatters/date/formatter.mjs +0 -25
- package/esm2022/core/formatters/date/formatter.pipe.mjs +0 -380
- package/esm2022/core/formatters/filesize/config.mjs +0 -32
- package/esm2022/core/formatters/filesize/formatter.mjs +0 -43
- package/esm2022/core/formatters/filesize/index.mjs +0 -4
- package/esm2022/core/formatters/filesize/size.mjs +0 -65
- package/esm2022/core/formatters/index.mjs +0 -146
- package/esm2022/core/formatters/number/formatter.mjs +0 -347
- package/esm2022/core/forms/forms-module.mjs +0 -24
- package/esm2022/core/forms/forms.directive.mjs +0 -66
- package/esm2022/core/forms/index.mjs +0 -4
- package/esm2022/core/forms/validators.mjs +0 -184
- package/esm2022/core/highlight/highlight.pipe.mjs +0 -23
- package/esm2022/core/highlight/index.mjs +0 -19
- package/esm2022/core/index.mjs +0 -2
- package/esm2022/core/koobiq-components-core.mjs +0 -5
- package/esm2022/core/line/line.mjs +0 -70
- package/esm2022/core/locales/en-US.mjs +0 -210
- package/esm2022/core/locales/es-LA.mjs +0 -209
- package/esm2022/core/locales/formatters.mjs +0 -193
- package/esm2022/core/locales/index.mjs +0 -10
- package/esm2022/core/locales/locale-service.mjs +0 -173
- package/esm2022/core/locales/locale-service.module.mjs +0 -19
- package/esm2022/core/locales/pt-BR.mjs +0 -209
- package/esm2022/core/locales/ru-RU.mjs +0 -224
- package/esm2022/core/locales/tk-TM.mjs +0 -210
- package/esm2022/core/locales/types.mjs +0 -2
- package/esm2022/core/navbar/index.mjs +0 -2
- package/esm2022/core/navbar/rectangle-item.mjs +0 -40
- package/esm2022/core/option/action-container.mjs +0 -23
- package/esm2022/core/option/action.mjs +0 -107
- package/esm2022/core/option/index.mjs +0 -6
- package/esm2022/core/option/optgroup.mjs +0 -37
- package/esm2022/core/option/option-module.mjs +0 -20
- package/esm2022/core/option/option.mjs +0 -322
- package/esm2022/core/overlay/overlay-position-map.mjs +0 -251
- package/esm2022/core/pop-up/constants.mjs +0 -55
- package/esm2022/core/pop-up/focus-trap-strategy.mjs +0 -6
- package/esm2022/core/pop-up/index.mjs +0 -6
- package/esm2022/core/pop-up/pop-up-styles.mjs +0 -24
- package/esm2022/core/pop-up/pop-up-trigger.mjs +0 -343
- package/esm2022/core/pop-up/pop-up.mjs +0 -152
- package/esm2022/core/public-api.mjs +0 -24
- package/esm2022/core/select/common.mjs +0 -203
- package/esm2022/core/select/constants.mjs +0 -25
- package/esm2022/core/select/errors.mjs +0 -26
- package/esm2022/core/select/events.mjs +0 -2
- package/esm2022/core/select/index.mjs +0 -5
- package/esm2022/core/selection/constants.mjs +0 -6
- package/esm2022/core/selection/index.mjs +0 -4
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -43
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +0 -18
- package/esm2022/core/services/measure-scrollbar.service.mjs +0 -42
- package/esm2022/core/services/theme.service.mjs +0 -80
- package/esm2022/core/title/index.mjs +0 -2
- package/esm2022/core/title/title-text-ref.mjs +0 -3
- package/esm2022/core/tokens/index.mjs +0 -2
- package/esm2022/core/tokens/window.mjs +0 -19
- package/esm2022/core/utils/dom.mjs +0 -8
- package/esm2022/core/utils/index.mjs +0 -3
- package/esm2022/core/utils/public-api.mjs +0 -2
- package/esm2022/core/utils/utils.mjs +0 -31
- package/esm2022/core/validation/index.mjs +0 -2
- package/esm2022/core/validation/validation.mjs +0 -27
- package/esm2022/core/version.mjs +0 -3
- package/esm2022/datepicker/calendar-body.component.mjs +0 -87
- package/esm2022/datepicker/calendar-header.component.mjs +0 -164
- package/esm2022/datepicker/calendar.component.mjs +0 -185
- package/esm2022/datepicker/datepicker-animations.mjs +0 -32
- package/esm2022/datepicker/datepicker-errors.mjs +0 -6
- package/esm2022/datepicker/datepicker-input.directive.mjs +0 -1119
- package/esm2022/datepicker/datepicker-intl.mjs +0 -40
- package/esm2022/datepicker/datepicker-module.mjs +0 -103
- package/esm2022/datepicker/datepicker-toggle.component.mjs +0 -170
- package/esm2022/datepicker/datepicker.component.mjs +0 -388
- package/esm2022/datepicker/index.mjs +0 -2
- package/esm2022/datepicker/koobiq-components-datepicker.mjs +0 -5
- package/esm2022/datepicker/month-view.component.mjs +0 -148
- package/esm2022/datepicker/public-api.mjs +0 -11
- package/esm2022/divider/divider.component.mjs +0 -49
- package/esm2022/divider/divider.module.mjs +0 -18
- package/esm2022/divider/index.mjs +0 -2
- package/esm2022/divider/koobiq-components-divider.mjs +0 -5
- package/esm2022/divider/public-api.mjs +0 -3
- package/esm2022/dl/dl.component.mjs +0 -81
- package/esm2022/dl/dl.module.mjs +0 -36
- package/esm2022/dl/index.mjs +0 -2
- package/esm2022/dl/koobiq-components-dl.mjs +0 -5
- package/esm2022/dl/public-api.mjs +0 -3
- package/esm2022/dropdown/dropdown-animations.mjs +0 -41
- package/esm2022/dropdown/dropdown-content.directive.mjs +0 -61
- package/esm2022/dropdown/dropdown-errors.mjs +0 -29
- package/esm2022/dropdown/dropdown-item.component.mjs +0 -150
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +0 -513
- package/esm2022/dropdown/dropdown.component.mjs +0 -293
- package/esm2022/dropdown/dropdown.module.mjs +0 -51
- package/esm2022/dropdown/dropdown.types.mjs +0 -23
- package/esm2022/dropdown/index.mjs +0 -2
- package/esm2022/dropdown/koobiq-components-dropdown.mjs +0 -5
- package/esm2022/dropdown/public-api.mjs +0 -9
- package/esm2022/dynamic-translation/dynamic-translation.mjs +0 -175
- package/esm2022/dynamic-translation/index.mjs +0 -3
- package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +0 -5
- package/esm2022/dynamic-translation/module.mjs +0 -25
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +0 -120
- package/esm2022/ellipsis-center/index.mjs +0 -2
- package/esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs +0 -5
- package/esm2022/ellipsis-center/public-api.mjs +0 -2
- package/esm2022/empty-state/empty-state.component.mjs +0 -109
- package/esm2022/empty-state/empty-state.module.mjs +0 -44
- package/esm2022/empty-state/index.mjs +0 -2
- package/esm2022/empty-state/koobiq-components-empty-state.mjs +0 -5
- package/esm2022/empty-state/public-api.mjs +0 -3
- package/esm2022/file-upload/file-drop.mjs +0 -87
- package/esm2022/file-upload/file-upload.mjs +0 -71
- package/esm2022/file-upload/file-upload.module.mjs +0 -79
- package/esm2022/file-upload/index.mjs +0 -2
- package/esm2022/file-upload/koobiq-components-file-upload.mjs +0 -5
- package/esm2022/file-upload/multiple-file-upload.component.mjs +0 -306
- package/esm2022/file-upload/public-api.mjs +0 -6
- package/esm2022/file-upload/single-file-upload.component.mjs +0 -257
- package/esm2022/filter-bar/filter-bar-button.mjs +0 -31
- package/esm2022/filter-bar/filter-bar.mjs +0 -213
- package/esm2022/filter-bar/filter-bar.module.mjs +0 -67
- package/esm2022/filter-bar/filter-bar.types.mjs +0 -72
- package/esm2022/filter-bar/filter-refresher.mjs +0 -34
- package/esm2022/filter-bar/filter-reset.mjs +0 -49
- package/esm2022/filter-bar/filter-search.mjs +0 -145
- package/esm2022/filter-bar/filters.mjs +0 -266
- package/esm2022/filter-bar/index.mjs +0 -2
- package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +0 -5
- package/esm2022/filter-bar/pipe-add.mjs +0 -140
- package/esm2022/filter-bar/pipe.directive.mjs +0 -37
- package/esm2022/filter-bar/pipes/base-pipe.mjs +0 -146
- package/esm2022/filter-bar/pipes/pipe-button.mjs +0 -72
- package/esm2022/filter-bar/pipes/pipe-date.mjs +0 -206
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +0 -208
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +0 -188
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +0 -260
- package/esm2022/filter-bar/pipes/pipe-readonly.mjs +0 -68
- package/esm2022/filter-bar/pipes/pipe-select.mjs +0 -101
- package/esm2022/filter-bar/pipes/pipe-state.mjs +0 -53
- package/esm2022/filter-bar/pipes/pipe-text.mjs +0 -104
- package/esm2022/filter-bar/pipes/pipe-title.mjs +0 -102
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +0 -142
- package/esm2022/filter-bar/public-api.mjs +0 -22
- package/esm2022/form-field/cleaner.mjs +0 -28
- package/esm2022/form-field/error.mjs +0 -20
- package/esm2022/form-field/fieldset.mjs +0 -84
- package/esm2022/form-field/form-field-control.mjs +0 -4
- package/esm2022/form-field/form-field.mjs +0 -447
- package/esm2022/form-field/form-field.module.mjs +0 -87
- package/esm2022/form-field/hint.mjs +0 -36
- package/esm2022/form-field/index.mjs +0 -2
- package/esm2022/form-field/koobiq-components-form-field.mjs +0 -5
- package/esm2022/form-field/label.mjs +0 -19
- package/esm2022/form-field/password-hint.mjs +0 -165
- package/esm2022/form-field/password-toggle.mjs +0 -129
- package/esm2022/form-field/prefix.mjs +0 -19
- package/esm2022/form-field/public-api.mjs +0 -16
- package/esm2022/form-field/reactive-password-hint.mjs +0 -66
- package/esm2022/form-field/stepper.mjs +0 -144
- package/esm2022/form-field/suffix.mjs +0 -18
- package/esm2022/form-field/validate.directive.mjs +0 -190
- package/esm2022/icon/icon-button.component.mjs +0 -64
- package/esm2022/icon/icon-item.component.mjs +0 -31
- package/esm2022/icon/icon.component.mjs +0 -56
- package/esm2022/icon/icon.module.mjs +0 -27
- package/esm2022/icon/index.mjs +0 -2
- package/esm2022/icon/koobiq-components-icon.mjs +0 -5
- package/esm2022/icon/public-api.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/inline-edit/index.mjs +0 -3
- package/esm2022/inline-edit/inline-edit.mjs +0 -382
- package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +0 -5
- package/esm2022/inline-edit/module.mjs +0 -25
- package/esm2022/input/index.mjs +0 -2
- package/esm2022/input/input-errors.mjs +0 -4
- package/esm2022/input/input-number-validators.mjs +0 -88
- package/esm2022/input/input-number.mjs +0 -386
- package/esm2022/input/input-password.mjs +0 -253
- package/esm2022/input/input-value-accessor.mjs +0 -3
- package/esm2022/input/input.mjs +0 -299
- package/esm2022/input/input.module.mjs +0 -58
- package/esm2022/input/koobiq-components-input.mjs +0 -5
- package/esm2022/input/public-api.mjs +0 -7
- package/esm2022/koobiq-components.mjs +0 -5
- package/esm2022/link/index.mjs +0 -2
- package/esm2022/link/koobiq-components-link.mjs +0 -5
- package/esm2022/link/link.component.mjs +0 -143
- package/esm2022/link/link.module.mjs +0 -20
- package/esm2022/link/public-api.mjs +0 -3
- package/esm2022/list/index.mjs +0 -2
- package/esm2022/list/koobiq-components-list.mjs +0 -5
- package/esm2022/list/list-selection.component.mjs +0 -739
- package/esm2022/list/list.component.mjs +0 -43
- package/esm2022/list/list.module.mjs +0 -60
- package/esm2022/list/public-api.mjs +0 -4
- package/esm2022/loader-overlay/index.mjs +0 -2
- package/esm2022/loader-overlay/koobiq-components-loader-overlay.mjs +0 -5
- package/esm2022/loader-overlay/loader-overlay.component.mjs +0 -110
- package/esm2022/loader-overlay/loader-overlay.module.mjs +0 -44
- package/esm2022/loader-overlay/public-api.mjs +0 -3
- package/esm2022/markdown/index.mjs +0 -2
- package/esm2022/markdown/koobiq-components-markdown.mjs +0 -5
- package/esm2022/markdown/markdown.component.mjs +0 -67
- package/esm2022/markdown/markdown.module.mjs +0 -21
- package/esm2022/markdown/markdown.service.mjs +0 -36
- package/esm2022/markdown/markdown.values.mjs +0 -35
- package/esm2022/markdown/public-api.mjs +0 -5
- package/esm2022/modal/css-unit.pipe.mjs +0 -17
- package/esm2022/modal/index.mjs +0 -2
- package/esm2022/modal/koobiq-components-modal.mjs +0 -5
- package/esm2022/modal/modal-control.service.mjs +0 -89
- package/esm2022/modal/modal-ref.class.mjs +0 -7
- package/esm2022/modal/modal-util.mjs +0 -22
- package/esm2022/modal/modal.component.mjs +0 -540
- package/esm2022/modal/modal.directive.mjs +0 -94
- package/esm2022/modal/modal.module.mjs +0 -78
- package/esm2022/modal/modal.service.mjs +0 -135
- package/esm2022/modal/modal.type.mjs +0 -7
- package/esm2022/modal/public-api.mjs +0 -7
- package/esm2022/navbar/index.mjs +0 -2
- package/esm2022/navbar/koobiq-components-navbar.mjs +0 -5
- package/esm2022/navbar/navbar-brand.component.mjs +0 -105
- package/esm2022/navbar/navbar-item.component.mjs +0 -428
- package/esm2022/navbar/navbar-toggle.component.mjs +0 -88
- package/esm2022/navbar/navbar.component.mjs +0 -251
- package/esm2022/navbar/navbar.module.mjs +0 -84
- package/esm2022/navbar/public-api.mjs +0 -7
- package/esm2022/navbar/vertical-navbar.component.mjs +0 -128
- package/esm2022/navbar-ic/index.mjs +0 -2
- package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +0 -5
- package/esm2022/navbar-ic/navbar-ic-header.mjs +0 -74
- package/esm2022/navbar-ic/navbar-ic-item.mjs +0 -390
- package/esm2022/navbar-ic/navbar-ic.animation.mjs +0 -17
- package/esm2022/navbar-ic/navbar-ic.mjs +0 -310
- package/esm2022/navbar-ic/navbar-ic.module.mjs +0 -74
- package/esm2022/navbar-ic/public-api.mjs +0 -5
- package/esm2022/notification-center/index.mjs +0 -2
- package/esm2022/notification-center/koobiq-components-notification-center.mjs +0 -5
- package/esm2022/notification-center/notification-center-animations.mjs +0 -18
- package/esm2022/notification-center/notification-center.mjs +0 -329
- package/esm2022/notification-center/notification-center.module.mjs +0 -38
- package/esm2022/notification-center/notification-center.service.mjs +0 -127
- package/esm2022/notification-center/notification-item.mjs +0 -70
- package/esm2022/notification-center/public-api.mjs +0 -5
- package/esm2022/overflow-items/index.mjs +0 -3
- package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +0 -5
- package/esm2022/overflow-items/module.mjs +0 -25
- package/esm2022/overflow-items/overflow-items.mjs +0 -290
- package/esm2022/popover/index.mjs +0 -2
- package/esm2022/popover/koobiq-components-popover.mjs +0 -5
- package/esm2022/popover/popover-animations.mjs +0 -16
- package/esm2022/popover/popover-confirm.component.mjs +0 -97
- package/esm2022/popover/popover.component.mjs +0 -410
- package/esm2022/popover/popover.module.mjs +0 -67
- package/esm2022/popover/public-api.mjs +0 -5
- package/esm2022/progress-bar/index.mjs +0 -2
- package/esm2022/progress-bar/koobiq-components-progress-bar.mjs +0 -5
- package/esm2022/progress-bar/progress-bar.component.mjs +0 -62
- package/esm2022/progress-bar/progress-bar.module.mjs +0 -32
- package/esm2022/progress-bar/public-api.mjs +0 -3
- package/esm2022/progress-spinner/index.mjs +0 -2
- package/esm2022/progress-spinner/koobiq-components-progress-spinner.mjs +0 -5
- package/esm2022/progress-spinner/progress-spinner.component.mjs +0 -78
- package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -35
- package/esm2022/progress-spinner/public-api.mjs +0 -3
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/radio/index.mjs +0 -2
- package/esm2022/radio/koobiq-components-radio.mjs +0 -5
- package/esm2022/radio/public-api.mjs +0 -3
- package/esm2022/radio/radio.component.mjs +0 -451
- package/esm2022/radio/radio.module.mjs +0 -18
- package/esm2022/resizer/index.mjs +0 -3
- package/esm2022/resizer/koobiq-components-resizer.mjs +0 -5
- package/esm2022/resizer/module.mjs +0 -17
- package/esm2022/resizer/resizer.mjs +0 -135
- package/esm2022/risk-level/index.mjs +0 -2
- package/esm2022/risk-level/koobiq-components-risk-level.mjs +0 -5
- package/esm2022/risk-level/public-api.mjs +0 -3
- package/esm2022/risk-level/risk-level.component.mjs +0 -40
- package/esm2022/risk-level/risk-level.module.mjs +0 -24
- package/esm2022/scrollbar/index.mjs +0 -2
- package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +0 -5
- package/esm2022/scrollbar/public-api.mjs +0 -5
- package/esm2022/scrollbar/scrollbar.component.mjs +0 -133
- package/esm2022/scrollbar/scrollbar.directive.mjs +0 -105
- package/esm2022/scrollbar/scrollbar.module.mjs +0 -25
- package/esm2022/scrollbar/scrollbar.types.mjs +0 -14
- package/esm2022/search-expandable/index.mjs +0 -2
- package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +0 -5
- package/esm2022/search-expandable/public-api.mjs +0 -3
- package/esm2022/search-expandable/search-expandable.mjs +0 -177
- package/esm2022/search-expandable/search-expandable.module.mjs +0 -18
- package/esm2022/select/index.mjs +0 -2
- package/esm2022/select/koobiq-components-select.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -4
- package/esm2022/select/select-option.directive.mjs +0 -69
- package/esm2022/select/select.component.mjs +0 -1154
- package/esm2022/select/select.module.mjs +0 -81
- package/esm2022/sidebar/index.mjs +0 -2
- package/esm2022/sidebar/koobiq-components-sidebar.mjs +0 -5
- package/esm2022/sidebar/public-api.mjs +0 -3
- package/esm2022/sidebar/sidebar-animations.mjs +0 -23
- package/esm2022/sidebar/sidebar.component.mjs +0 -169
- package/esm2022/sidebar/sidebar.module.mjs +0 -30
- package/esm2022/sidepanel/index.mjs +0 -2
- package/esm2022/sidepanel/koobiq-components-sidepanel.mjs +0 -5
- package/esm2022/sidepanel/public-api.mjs +0 -7
- package/esm2022/sidepanel/sidepanel-animations.mjs +0 -29
- package/esm2022/sidepanel/sidepanel-config.mjs +0 -33
- package/esm2022/sidepanel/sidepanel-container.component.mjs +0 -126
- package/esm2022/sidepanel/sidepanel-directives.mjs +0 -168
- package/esm2022/sidepanel/sidepanel-ref.mjs +0 -60
- package/esm2022/sidepanel/sidepanel.module.mjs +0 -73
- package/esm2022/sidepanel/sidepanel.service.mjs +0 -167
- package/esm2022/split-button/index.mjs +0 -2
- package/esm2022/split-button/koobiq-components-split-button.mjs +0 -5
- package/esm2022/split-button/public-api.mjs +0 -3
- package/esm2022/split-button/split-button.mjs +0 -133
- package/esm2022/split-button/split-button.module.mjs +0 -18
- package/esm2022/splitter/index.mjs +0 -2
- package/esm2022/splitter/koobiq-components-splitter.mjs +0 -5
- package/esm2022/splitter/public-api.mjs +0 -3
- package/esm2022/splitter/splitter.component.mjs +0 -492
- package/esm2022/splitter/splitter.module.mjs +0 -34
- package/esm2022/table/index.mjs +0 -2
- package/esm2022/table/koobiq-components-table.mjs +0 -5
- package/esm2022/table/public-api.mjs +0 -3
- package/esm2022/table/table.component.mjs +0 -36
- package/esm2022/table/table.module.mjs +0 -32
- package/esm2022/tabs/index.mjs +0 -2
- package/esm2022/tabs/koobiq-components-tabs.mjs +0 -5
- package/esm2022/tabs/paginated-tab-header.mjs +0 -490
- package/esm2022/tabs/public-api.mjs +0 -11
- package/esm2022/tabs/tab-body.component.mjs +0 -178
- package/esm2022/tabs/tab-content.directive.mjs +0 -15
- package/esm2022/tabs/tab-group.component.mjs +0 -384
- package/esm2022/tabs/tab-header.component.mjs +0 -60
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +0 -86
- package/esm2022/tabs/tab-label.directive.mjs +0 -17
- package/esm2022/tabs/tab-nav-bar.mjs +0 -292
- package/esm2022/tabs/tab.component.mjs +0 -145
- package/esm2022/tabs/tabs-animations.mjs +0 -24
- package/esm2022/tabs/tabs.module.mjs +0 -95
- package/esm2022/tags/index.mjs +0 -2
- package/esm2022/tags/koobiq-components-tags.mjs +0 -5
- package/esm2022/tags/public-api.mjs +0 -6
- package/esm2022/tags/tag-default-options.mjs +0 -4
- package/esm2022/tags/tag-input.mjs +0 -281
- package/esm2022/tags/tag-list.component.mjs +0 -765
- package/esm2022/tags/tag-text-control.mjs +0 -2
- package/esm2022/tags/tag.component.mjs +0 -647
- package/esm2022/tags/tag.module.mjs +0 -67
- package/esm2022/textarea/index.mjs +0 -2
- package/esm2022/textarea/koobiq-components-textarea.mjs +0 -5
- package/esm2022/textarea/public-api.mjs +0 -3
- package/esm2022/textarea/textarea.component.mjs +0 -300
- package/esm2022/textarea/textarea.module.mjs +0 -20
- package/esm2022/time-range/constants.mjs +0 -42
- package/esm2022/time-range/index.mjs +0 -8
- package/esm2022/time-range/koobiq-components-time-range.mjs +0 -5
- package/esm2022/time-range/module.mjs +0 -36
- package/esm2022/time-range/time-range-editor.mjs +0 -224
- package/esm2022/time-range/time-range-title-as-form-field.mjs +0 -60
- package/esm2022/time-range/time-range-title.mjs +0 -112
- package/esm2022/time-range/time-range.mjs +0 -234
- package/esm2022/time-range/time-range.service.mjs +0 -126
- package/esm2022/time-range/types.mjs +0 -2
- package/esm2022/timepicker/index.mjs +0 -2
- package/esm2022/timepicker/koobiq-components-timepicker.mjs +0 -5
- package/esm2022/timepicker/public-api.mjs +0 -4
- package/esm2022/timepicker/timepicker.constants.mjs +0 -29
- package/esm2022/timepicker/timepicker.directive.mjs +0 -686
- package/esm2022/timepicker/timepicker.module.mjs +0 -29
- package/esm2022/timezone/cities-by-filter.pipe.mjs +0 -17
- package/esm2022/timezone/index.mjs +0 -2
- package/esm2022/timezone/koobiq-components-timezone.mjs +0 -5
- package/esm2022/timezone/public-api.mjs +0 -7
- package/esm2022/timezone/timezone-option.component.mjs +0 -50
- package/esm2022/timezone/timezone-option.directive.mjs +0 -54
- package/esm2022/timezone/timezone-select.component.mjs +0 -55
- package/esm2022/timezone/timezone.models.mjs +0 -2
- package/esm2022/timezone/timezone.module.mjs +0 -82
- package/esm2022/timezone/timezone.utils.mjs +0 -80
- package/esm2022/timezone/utc-offset.pipe.mjs +0 -17
- package/esm2022/title/index.mjs +0 -2
- package/esm2022/title/koobiq-components-title.mjs +0 -5
- package/esm2022/title/public-api.mjs +0 -3
- package/esm2022/title/title.directive.mjs +0 -108
- package/esm2022/title/title.module.mjs +0 -18
- package/esm2022/toast/index.mjs +0 -2
- package/esm2022/toast/koobiq-components-toast.mjs +0 -5
- package/esm2022/toast/public-api.mjs +0 -6
- package/esm2022/toast/toast-animations.mjs +0 -10
- package/esm2022/toast/toast-container.component.mjs +0 -57
- package/esm2022/toast/toast.component.mjs +0 -125
- package/esm2022/toast/toast.module.mjs +0 -26
- package/esm2022/toast/toast.service.mjs +0 -197
- package/esm2022/toast/toast.type.mjs +0 -39
- package/esm2022/toggle/index.mjs +0 -2
- package/esm2022/toggle/koobiq-components-toggle.mjs +0 -5
- package/esm2022/toggle/public-api.mjs +0 -3
- package/esm2022/toggle/toggle.component.mjs +0 -254
- package/esm2022/toggle/toggle.module.mjs +0 -18
- package/esm2022/tooltip/index.mjs +0 -2
- package/esm2022/tooltip/koobiq-components-tooltip.mjs +0 -5
- package/esm2022/tooltip/public-api.mjs +0 -3
- package/esm2022/tooltip/tooltip.animations.mjs +0 -19
- package/esm2022/tooltip/tooltip.component.mjs +0 -400
- package/esm2022/tooltip/tooltip.module.mjs +0 -35
- package/esm2022/top-bar/index.mjs +0 -2
- package/esm2022/top-bar/koobiq-components-top-bar.mjs +0 -5
- package/esm2022/top-bar/module.mjs +0 -25
- package/esm2022/top-bar/public-api.mjs +0 -3
- package/esm2022/top-bar/top-bar.mjs +0 -74
- package/esm2022/tree/control/base-tree-control.mjs +0 -59
- package/esm2022/tree/control/flat-tree-control.filters.mjs +0 -52
- package/esm2022/tree/control/flat-tree-control.mjs +0 -109
- package/esm2022/tree/control/nested-tree-control.mjs +0 -40
- package/esm2022/tree/control/tree-control.mjs +0 -2
- package/esm2022/tree/data-source/flat-data-source.mjs +0 -157
- package/esm2022/tree/data-source/nested-data-source.mjs +0 -28
- package/esm2022/tree/index.mjs +0 -2
- package/esm2022/tree/koobiq-components-tree.mjs +0 -5
- package/esm2022/tree/node.mjs +0 -31
- package/esm2022/tree/outlet.mjs +0 -15
- package/esm2022/tree/padding.directive.mjs +0 -108
- package/esm2022/tree/public-api.mjs +0 -17
- package/esm2022/tree/toggle.mjs +0 -93
- package/esm2022/tree/tree-base.mjs +0 -236
- package/esm2022/tree/tree-errors.mjs +0 -36
- package/esm2022/tree/tree-option.component.mjs +0 -303
- package/esm2022/tree/tree-selection.component.mjs +0 -568
- package/esm2022/tree/tree.mjs +0 -19
- package/esm2022/tree/tree.module.mjs +0 -64
- package/esm2022/tree-select/index.mjs +0 -2
- package/esm2022/tree-select/koobiq-components-tree-select.mjs +0 -5
- package/esm2022/tree-select/public-api.mjs +0 -3
- package/esm2022/tree-select/tree-select.component.mjs +0 -1034
- package/esm2022/tree-select/tree-select.module.mjs +0 -71
- package/esm2022/username/constants.mjs +0 -25
- package/esm2022/username/index.mjs +0 -6
- package/esm2022/username/koobiq-components-username.mjs +0 -5
- package/esm2022/username/module.mjs +0 -35
- package/esm2022/username/types.mjs +0 -32
- package/esm2022/username/username.mjs +0 -129
- package/esm2022/username/username.pipe.mjs +0 -92
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, Directive, inject, input, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { KbqOverflowItems } from '@koobiq/components/overflow-items';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class KbqTopBarSpacer {
|
|
5
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTopBarSpacer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: KbqTopBarSpacer, isStandalone: true, selector: "[kbqTopBarSpacer]", host: { classAttribute: "kbq-top-bar-spacer" }, ngImport: i0 }); }
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTopBarSpacer, decorators: [{
|
|
9
|
-
type: Directive,
|
|
10
|
-
args: [{
|
|
11
|
-
standalone: true,
|
|
12
|
-
selector: '[kbqTopBarSpacer]',
|
|
13
|
-
host: {
|
|
14
|
-
class: 'kbq-top-bar-spacer'
|
|
15
|
-
}
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
/**
|
|
19
|
-
* Directive that dynamically applying CSS classes based on a placement value (left or right).
|
|
20
|
-
*/
|
|
21
|
-
export class KbqTopBarContainer {
|
|
22
|
-
constructor() {
|
|
23
|
-
/**
|
|
24
|
-
* Conditionally applies a CSS class based on the value
|
|
25
|
-
*/
|
|
26
|
-
this.placement = input.required();
|
|
27
|
-
/**
|
|
28
|
-
* Track if container has `KbqOverflowItems` directive assigned.
|
|
29
|
-
* Used to replace `gap` with `margin` so `KbqOverflowItems` will calculate correct width on resize.
|
|
30
|
-
* @docs-private
|
|
31
|
-
*/
|
|
32
|
-
this.overflowItems = inject(KbqOverflowItems, { optional: true, self: true });
|
|
33
|
-
}
|
|
34
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTopBarContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: KbqTopBarContainer, isStandalone: true, selector: "[kbqTopBarContainer]", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.kbq-top-bar-container__start": "placement() === \"start\"", "class.kbq-top-bar-container__end": "placement() === \"end\"", "class.kbq-top-bar-container__with-overflow-items": "overflowItems" }, classAttribute: "kbq-top-bar-container" }, ngImport: i0 }); }
|
|
36
|
-
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTopBarContainer, decorators: [{
|
|
38
|
-
type: Directive,
|
|
39
|
-
args: [{
|
|
40
|
-
standalone: true,
|
|
41
|
-
selector: '[kbqTopBarContainer]',
|
|
42
|
-
host: {
|
|
43
|
-
class: 'kbq-top-bar-container',
|
|
44
|
-
'[class.kbq-top-bar-container__start]': 'placement() === "start"',
|
|
45
|
-
'[class.kbq-top-bar-container__end]': 'placement() === "end"',
|
|
46
|
-
'[class.kbq-top-bar-container__with-overflow-items]': 'overflowItems'
|
|
47
|
-
}
|
|
48
|
-
}]
|
|
49
|
-
}] });
|
|
50
|
-
export class KbqTopBar {
|
|
51
|
-
constructor() {
|
|
52
|
-
/**
|
|
53
|
-
* Enables overflow behavior, applying `kbq-top-bar-overflow` to show a bottom shadow.
|
|
54
|
-
*/
|
|
55
|
-
this.withShadow = false;
|
|
56
|
-
}
|
|
57
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTopBar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.14", type: KbqTopBar, isStandalone: true, selector: "kbq-top-bar", inputs: { withShadow: ["withShadow", "withShadow", booleanAttribute] }, host: { properties: { "class.kbq-top-bar_with-shadow": "withShadow" }, classAttribute: "kbq-top-bar" }, ngImport: i0, template: `
|
|
59
|
-
<ng-content />
|
|
60
|
-
`, isInline: true, styles: [".kbq-top-bar{display:flex;align-items:center;justify-content:space-between;flex-direction:row;box-sizing:border-box;position:var(--kbq-top-bar-position);background-color:var(--kbq-top-bar-background);padding:var(--kbq-top-bar-padding-vertical) var(--kbq-top-bar-padding-horizontal);border-radius:var(--kbq-top-bar-border-radius);font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-top-bar.kbq-top-bar_with-shadow{box-shadow:var(--kbq-top-bar-shadow-bottom);transition:box-shadow var(--kbq-top-bar-shadow-transition)}.kbq-top-bar .kbq-top-bar-spacer{height:100%;flex:0 0 var(--kbq-top-bar-spacer-min-width)}.kbq-top-bar .kbq-top-bar-container:has(>.kbq-overflow-items){gap:unset;overflow:hidden;margin-top:calc(-1 * var(--kbq-size-border-width));margin-bottom:calc(-1 * var(--kbq-size-border-width))}.kbq-top-bar .kbq-top-bar-container .kbq-overflow-items{padding:var(--kbq-size-border-width)}.kbq-top-bar .kbq-top-bar-container .kbq-overflow-items>.kbq-overflow-item:not(:last-of-type){margin-right:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container .kbq-overflow-items>.kbq-overflow-item:last-of-type:is(.kbq-overflow-item_always-visible)+.kbq-overflow-items-result{margin-left:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container .kbq-overflow-items .kbq-overflow-items-result:first-child{margin-right:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__start{display:flex;gap:var(--kbq-top-bar-container-start-gap);flex:1 0 var(--kbq-top-bar-container-start-basis);justify-content:flex-start;min-width:0}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__end{display:flex;gap:var(--kbq-top-bar-container-end-gap);justify-content:end}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__with-overflow-items{gap:unset;justify-content:unset;padding:var(--kbq-size-border-width)}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__with-overflow-items>.kbq-overflow-item:not(:last-of-type){margin-right:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__with-overflow-items>.kbq-overflow-item:last-of-type:is(.kbq-overflow-item_always-visible)+.kbq-overflow-items-result{margin-left:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__with-overflow-items .kbq-overflow-items-result:first-child{margin-right:var(--kbq-top-bar-container-end-gap)}\n", ":where(.kbq-top-bar){--kbq-top-bar-position: sticky;--kbq-top-bar-background: var(--kbq-background-bg);--kbq-top-bar-spacer-min-width: 80px;--kbq-top-bar-padding-vertical: var(--kbq-size-m);--kbq-top-bar-padding-horizontal: var(--kbq-size-xxl);--kbq-top-bar-border-radius: 0;--kbq-top-bar-container-start-gap: 0;--kbq-top-bar-container-start-basis: 0;--kbq-top-bar-container-end-gap: var(--kbq-size-s);--kbq-top-bar-shadow-bottom: var(--kbq-shadow-overflow-normal-bottom);--kbq-top-bar-shadow-transition: ease-out .3s}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqTopBar, decorators: [{
|
|
63
|
-
type: Component,
|
|
64
|
-
args: [{ standalone: true, selector: 'kbq-top-bar', template: `
|
|
65
|
-
<ng-content />
|
|
66
|
-
`, host: {
|
|
67
|
-
class: 'kbq-top-bar',
|
|
68
|
-
'[class.kbq-top-bar_with-shadow]': 'withShadow'
|
|
69
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-top-bar{display:flex;align-items:center;justify-content:space-between;flex-direction:row;box-sizing:border-box;position:var(--kbq-top-bar-position);background-color:var(--kbq-top-bar-background);padding:var(--kbq-top-bar-padding-vertical) var(--kbq-top-bar-padding-horizontal);border-radius:var(--kbq-top-bar-border-radius);font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-top-bar.kbq-top-bar_with-shadow{box-shadow:var(--kbq-top-bar-shadow-bottom);transition:box-shadow var(--kbq-top-bar-shadow-transition)}.kbq-top-bar .kbq-top-bar-spacer{height:100%;flex:0 0 var(--kbq-top-bar-spacer-min-width)}.kbq-top-bar .kbq-top-bar-container:has(>.kbq-overflow-items){gap:unset;overflow:hidden;margin-top:calc(-1 * var(--kbq-size-border-width));margin-bottom:calc(-1 * var(--kbq-size-border-width))}.kbq-top-bar .kbq-top-bar-container .kbq-overflow-items{padding:var(--kbq-size-border-width)}.kbq-top-bar .kbq-top-bar-container .kbq-overflow-items>.kbq-overflow-item:not(:last-of-type){margin-right:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container .kbq-overflow-items>.kbq-overflow-item:last-of-type:is(.kbq-overflow-item_always-visible)+.kbq-overflow-items-result{margin-left:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container .kbq-overflow-items .kbq-overflow-items-result:first-child{margin-right:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__start{display:flex;gap:var(--kbq-top-bar-container-start-gap);flex:1 0 var(--kbq-top-bar-container-start-basis);justify-content:flex-start;min-width:0}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__end{display:flex;gap:var(--kbq-top-bar-container-end-gap);justify-content:end}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__with-overflow-items{gap:unset;justify-content:unset;padding:var(--kbq-size-border-width)}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__with-overflow-items>.kbq-overflow-item:not(:last-of-type){margin-right:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__with-overflow-items>.kbq-overflow-item:last-of-type:is(.kbq-overflow-item_always-visible)+.kbq-overflow-items-result{margin-left:var(--kbq-top-bar-container-end-gap)}.kbq-top-bar .kbq-top-bar-container.kbq-top-bar-container__with-overflow-items .kbq-overflow-items-result:first-child{margin-right:var(--kbq-top-bar-container-end-gap)}\n", ":where(.kbq-top-bar){--kbq-top-bar-position: sticky;--kbq-top-bar-background: var(--kbq-background-bg);--kbq-top-bar-spacer-min-width: 80px;--kbq-top-bar-padding-vertical: var(--kbq-size-m);--kbq-top-bar-padding-horizontal: var(--kbq-size-xxl);--kbq-top-bar-border-radius: 0;--kbq-top-bar-container-start-gap: 0;--kbq-top-bar-container-start-basis: 0;--kbq-top-bar-container-end-gap: var(--kbq-size-s);--kbq-top-bar-shadow-bottom: var(--kbq-shadow-overflow-normal-bottom);--kbq-top-bar-shadow-transition: ease-out .3s}\n"] }]
|
|
70
|
-
}], propDecorators: { withShadow: [{
|
|
71
|
-
type: Input,
|
|
72
|
-
args: [{ transform: booleanAttribute }]
|
|
73
|
-
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdG9wLWJhci90b3AtYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQVNyRSxNQUFNLE9BQU8sZUFBZTtrSUFBZixlQUFlO3NIQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBUDNCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QjtpQkFDSjs7QUFHRDs7R0FFRztBQVdILE1BQU0sT0FBTyxrQkFBa0I7SUFWL0I7UUFXSTs7V0FFRztRQUNILGNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFtQixDQUFDO1FBQzlDOzs7O1dBSUc7UUFDZ0Isa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQy9GO2tJQVhZLGtCQUFrQjtzSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQVY5QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHVCQUF1Qjt3QkFDOUIsc0NBQXNDLEVBQUUseUJBQXlCO3dCQUNqRSxvQ0FBb0MsRUFBRSx1QkFBdUI7d0JBQzdELG9EQUFvRCxFQUFFLGVBQWU7cUJBQ3hFO2lCQUNKOztBQStCRCxNQUFNLE9BQU8sU0FBUztJQWpCdEI7UUFrQkk7O1dBRUc7UUFDcUMsZUFBVSxHQUFZLEtBQUssQ0FBQztLQUN2RTtrSUFMWSxTQUFTO3NIQUFULFNBQVMsa0dBSUUsZ0JBQWdCLHFJQWxCMUI7O0tBRVQ7OzRGQVlRLFNBQVM7a0JBakJyQixTQUFTO2lDQUNNLElBQUksWUFDTixhQUFhLFlBQ2I7O0tBRVQsUUFLSzt3QkFDRixLQUFLLEVBQUUsYUFBYTt3QkFDcEIsaUNBQWlDLEVBQUUsWUFBWTtxQkFDbEQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OEJBTUcsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBJbnB1dCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEticU92ZXJmbG93SXRlbXMgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvb3ZlcmZsb3ctaXRlbXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2ticVRvcEJhclNwYWNlcl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdG9wLWJhci1zcGFjZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUb3BCYXJTcGFjZXIge31cblxuLyoqXG4gKiBEaXJlY3RpdmUgdGhhdCBkeW5hbWljYWxseSBhcHBseWluZyBDU1MgY2xhc3NlcyBiYXNlZCBvbiBhIHBsYWNlbWVudCB2YWx1ZSAobGVmdCBvciByaWdodCkuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdba2JxVG9wQmFyQ29udGFpbmVyXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS10b3AtYmFyLWNvbnRhaW5lcicsXG4gICAgICAgICdbY2xhc3Mua2JxLXRvcC1iYXItY29udGFpbmVyX19zdGFydF0nOiAncGxhY2VtZW50KCkgPT09IFwic3RhcnRcIicsXG4gICAgICAgICdbY2xhc3Mua2JxLXRvcC1iYXItY29udGFpbmVyX19lbmRdJzogJ3BsYWNlbWVudCgpID09PSBcImVuZFwiJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdG9wLWJhci1jb250YWluZXJfX3dpdGgtb3ZlcmZsb3ctaXRlbXNdJzogJ292ZXJmbG93SXRlbXMnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUb3BCYXJDb250YWluZXIge1xuICAgIC8qKlxuICAgICAqIENvbmRpdGlvbmFsbHkgYXBwbGllcyBhIENTUyBjbGFzcyBiYXNlZCBvbiB0aGUgdmFsdWVcbiAgICAgKi9cbiAgICBwbGFjZW1lbnQgPSBpbnB1dC5yZXF1aXJlZDwnc3RhcnQnIHwgJ2VuZCc+KCk7XG4gICAgLyoqXG4gICAgICogVHJhY2sgaWYgY29udGFpbmVyIGhhcyBgS2JxT3ZlcmZsb3dJdGVtc2AgZGlyZWN0aXZlIGFzc2lnbmVkLlxuICAgICAqIFVzZWQgdG8gcmVwbGFjZSBgZ2FwYCB3aXRoIGBtYXJnaW5gIHNvIGBLYnFPdmVyZmxvd0l0ZW1zYCB3aWxsIGNhbGN1bGF0ZSBjb3JyZWN0IHdpZHRoIG9uIHJlc2l6ZS5cbiAgICAgKiBAZG9jcy1wcml2YXRlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG92ZXJmbG93SXRlbXMgPSBpbmplY3QoS2JxT3ZlcmZsb3dJdGVtcywgeyBvcHRpb25hbDogdHJ1ZSwgc2VsZjogdHJ1ZSB9KTtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2ticS10b3AtYmFyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuL3RvcC1iYXIuc2NzcycsXG4gICAgICAgICcuL3RvcC1iYXItdG9rZW5zLnNjc3MnXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLXRvcC1iYXInLFxuICAgICAgICAnW2NsYXNzLmticS10b3AtYmFyX3dpdGgtc2hhZG93XSc6ICd3aXRoU2hhZG93J1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFUb3BCYXIge1xuICAgIC8qKlxuICAgICAqIEVuYWJsZXMgb3ZlcmZsb3cgYmVoYXZpb3IsIGFwcGx5aW5nIGBrYnEtdG9wLWJhci1vdmVyZmxvd2AgdG8gc2hvdyBhIGJvdHRvbSBzaGFkb3cuXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHdpdGhTaGFkb3c6IGJvb2xlYW4gPSBmYWxzZTtcbn1cbiJdfQ==
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
/** Base tree control. It has basic toggle/expand/collapse operations on a single data node. */
|
|
4
|
-
export class BaseTreeControl {
|
|
5
|
-
constructor() {
|
|
6
|
-
/** A selection model with multi-selection to track expansion status. */
|
|
7
|
-
this.expansionModel = new SelectionModel(true);
|
|
8
|
-
this.filterModel = new SelectionModel(true);
|
|
9
|
-
this.filterValue = new BehaviorSubject('');
|
|
10
|
-
}
|
|
11
|
-
/** Toggles one single data node's expanded/collapsed state. */
|
|
12
|
-
toggle(dataNode) {
|
|
13
|
-
if (this.filterValue.value?.length) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
this.expansionModel.toggle(dataNode);
|
|
17
|
-
}
|
|
18
|
-
/** Expands one single data node. */
|
|
19
|
-
expand(dataNode) {
|
|
20
|
-
if (this.filterValue.value?.length) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this.expansionModel.select(dataNode);
|
|
24
|
-
}
|
|
25
|
-
/** Collapses one single data node. */
|
|
26
|
-
collapse(dataNode) {
|
|
27
|
-
if (this.filterValue.value?.length) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
this.expansionModel.deselect(dataNode);
|
|
31
|
-
}
|
|
32
|
-
/** Whether a given data node is expanded or not. Returns true if the data node is expanded. */
|
|
33
|
-
isExpanded(dataNode) {
|
|
34
|
-
return this.expansionModel.isSelected(dataNode);
|
|
35
|
-
}
|
|
36
|
-
/** Toggles a subtree rooted at `node` recursively. */
|
|
37
|
-
toggleDescendants(dataNode) {
|
|
38
|
-
this.expansionModel.isSelected(dataNode)
|
|
39
|
-
? this.collapseDescendants(dataNode)
|
|
40
|
-
: this.expandDescendants(dataNode);
|
|
41
|
-
}
|
|
42
|
-
/** Collapse all dataNodes in the tree. */
|
|
43
|
-
collapseAll() {
|
|
44
|
-
this.expansionModel.clear();
|
|
45
|
-
}
|
|
46
|
-
/** Expands a subtree rooted at given data node recursively. */
|
|
47
|
-
expandDescendants(dataNode) {
|
|
48
|
-
const toBeProcessed = [dataNode];
|
|
49
|
-
toBeProcessed.push(...this.getDescendants(dataNode));
|
|
50
|
-
this.expansionModel.select(...toBeProcessed);
|
|
51
|
-
}
|
|
52
|
-
/** Collapses a subtree rooted at given data node recursively. */
|
|
53
|
-
collapseDescendants(dataNode) {
|
|
54
|
-
const toBeProcessed = [dataNode];
|
|
55
|
-
toBeProcessed.push(...this.getDescendants(dataNode));
|
|
56
|
-
this.expansionModel.deselect(...toBeProcessed);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10cmVlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvY29udHJvbC9iYXNlLXRyZWUtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUduRCwrRkFBK0Y7QUFDL0YsTUFBTSxPQUFnQixlQUFlO0lBQXJDO1FBR0ksd0VBQXdFO1FBQ3hFLG1CQUFjLEdBQXNCLElBQUksY0FBYyxDQUFJLElBQUksQ0FBQyxDQUFDO1FBRWhFLGdCQUFXLEdBQXNCLElBQUksY0FBYyxDQUFJLElBQUksQ0FBQyxDQUFDO1FBRTdELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQXNCLEVBQUUsQ0FBQyxDQUFDO0lBK0UvRCxDQUFDO0lBM0RHLCtEQUErRDtJQUMvRCxNQUFNLENBQUMsUUFBVztRQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDakMsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLE1BQU0sQ0FBQyxRQUFXO1FBQ2QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsUUFBUSxDQUFDLFFBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNqQyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCwrRkFBK0Y7SUFDL0YsVUFBVSxDQUFDLFFBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELGlCQUFpQixDQUFDLFFBQVc7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsK0RBQStEO0lBQy9ELGlCQUFpQixDQUFDLFFBQVc7UUFDekIsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVqQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGlFQUFpRTtJQUNqRSxtQkFBbUIsQ0FBQyxRQUFXO1FBQzNCLE1BQU0sYUFBYSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFakMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJlZUNvbnRyb2wgfSBmcm9tICcuL3RyZWUtY29udHJvbCc7XG5cbi8qKiBCYXNlIHRyZWUgY29udHJvbC4gSXQgaGFzIGJhc2ljIHRvZ2dsZS9leHBhbmQvY29sbGFwc2Ugb3BlcmF0aW9ucyBvbiBhIHNpbmdsZSBkYXRhIG5vZGUuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRyZWVDb250cm9sPFQ+IGltcGxlbWVudHMgVHJlZUNvbnRyb2w8VD4ge1xuICAgIGRhdGFOb2RlczogVFtdO1xuXG4gICAgLyoqIEEgc2VsZWN0aW9uIG1vZGVsIHdpdGggbXVsdGktc2VsZWN0aW9uIHRvIHRyYWNrIGV4cGFuc2lvbiBzdGF0dXMuICovXG4gICAgZXhwYW5zaW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFQ+ID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRydWUpO1xuXG4gICAgZmlsdGVyTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFQ+ID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRydWUpO1xuXG4gICAgZmlsdGVyVmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXSB8IHN0cmluZyB8IG51bGw+KCcnKTtcblxuICAgIC8qKiBHZXQgZGVwdGggb2YgYSBnaXZlbiBkYXRhIG5vZGUsIHJldHVybiB0aGUgbGV2ZWwgbnVtYmVyLiBUaGlzIGlzIGZvciBmbGF0IHRyZWUgbm9kZS4gKi9cbiAgICBnZXRMZXZlbDogKGRhdGFOb2RlOiBUKSA9PiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBkYXRhIG5vZGUgaXMgZXhwYW5kYWJsZS4gUmV0dXJucyB0cnVlIGlmIGV4cGFuZGFibGUuXG4gICAgICogVGhpcyBpcyBmb3IgZmxhdCB0cmVlIG5vZGUuXG4gICAgICovXG4gICAgaXNFeHBhbmRhYmxlOiAoZGF0YU5vZGU6IFQpID0+IGJvb2xlYW47XG5cbiAgICAvKiogR2V0cyBhIHN0cmVhbSB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSBnaXZlbiBkYXRhIG5vZGUncyBjaGlsZHJlbiBjaGFuZ2UuICovXG4gICAgZ2V0Q2hpbGRyZW46IChkYXRhTm9kZTogVCkgPT4gT2JzZXJ2YWJsZTxUW10+O1xuXG4gICAgLyoqIEdldHMgYSBsaXN0IG9mIGRlc2NlbmRlbnQgZGF0YSBub2RlcyBvZiBhIHN1YnRyZWUgcm9vdGVkIGF0IGdpdmVuIGRhdGEgbm9kZSByZWN1cnNpdmVseS4gKi9cbiAgICBhYnN0cmFjdCBnZXREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IFRbXTtcblxuICAgIC8qKiBFeHBhbmRzIGFsbCBkYXRhIG5vZGVzIGluIHRoZSB0cmVlLiAqL1xuICAgIGFic3RyYWN0IGV4cGFuZEFsbCgpOiB2b2lkO1xuXG4gICAgLyoqIFRvZ2dsZXMgb25lIHNpbmdsZSBkYXRhIG5vZGUncyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGUuICovXG4gICAgdG9nZ2xlKGRhdGFOb2RlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpbHRlclZhbHVlLnZhbHVlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwudG9nZ2xlKGRhdGFOb2RlKTtcbiAgICB9XG5cbiAgICAvKiogRXhwYW5kcyBvbmUgc2luZ2xlIGRhdGEgbm9kZS4gKi9cbiAgICBleHBhbmQoZGF0YU5vZGU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyVmFsdWUudmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5zZWxlY3QoZGF0YU5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBDb2xsYXBzZXMgb25lIHNpbmdsZSBkYXRhIG5vZGUuICovXG4gICAgY29sbGFwc2UoZGF0YU5vZGU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyVmFsdWUudmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5kZXNlbGVjdChkYXRhTm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgYSBnaXZlbiBkYXRhIG5vZGUgaXMgZXhwYW5kZWQgb3Igbm90LiBSZXR1cm5zIHRydWUgaWYgdGhlIGRhdGEgbm9kZSBpcyBleHBhbmRlZC4gKi9cbiAgICBpc0V4cGFuZGVkKGRhdGFOb2RlOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuc2lvbk1vZGVsLmlzU2VsZWN0ZWQoZGF0YU5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBUb2dnbGVzIGEgc3VidHJlZSByb290ZWQgYXQgYG5vZGVgIHJlY3Vyc2l2ZWx5LiAqL1xuICAgIHRvZ2dsZURlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuaXNTZWxlY3RlZChkYXRhTm9kZSlcbiAgICAgICAgICAgID8gdGhpcy5jb2xsYXBzZURlc2NlbmRhbnRzKGRhdGFOb2RlKVxuICAgICAgICAgICAgOiB0aGlzLmV4cGFuZERlc2NlbmRhbnRzKGRhdGFOb2RlKTtcbiAgICB9XG5cbiAgICAvKiogQ29sbGFwc2UgYWxsIGRhdGFOb2RlcyBpbiB0aGUgdHJlZS4gKi9cbiAgICBjb2xsYXBzZUFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5jbGVhcigpO1xuICAgIH1cblxuICAgIC8qKiBFeHBhbmRzIGEgc3VidHJlZSByb290ZWQgYXQgZ2l2ZW4gZGF0YSBub2RlIHJlY3Vyc2l2ZWx5LiAqL1xuICAgIGV4cGFuZERlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvQmVQcm9jZXNzZWQgPSBbZGF0YU5vZGVdO1xuXG4gICAgICAgIHRvQmVQcm9jZXNzZWQucHVzaCguLi50aGlzLmdldERlc2NlbmRhbnRzKGRhdGFOb2RlKSk7XG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2VsZWN0KC4uLnRvQmVQcm9jZXNzZWQpO1xuICAgIH1cblxuICAgIC8qKiBDb2xsYXBzZXMgYSBzdWJ0cmVlIHJvb3RlZCBhdCBnaXZlbiBkYXRhIG5vZGUgcmVjdXJzaXZlbHkuICovXG4gICAgY29sbGFwc2VEZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0b0JlUHJvY2Vzc2VkID0gW2RhdGFOb2RlXTtcblxuICAgICAgICB0b0JlUHJvY2Vzc2VkLnB1c2goLi4udGhpcy5nZXREZXNjZW5kYW50cyhkYXRhTm9kZSkpO1xuICAgICAgICB0aGlzLmV4cGFuc2lvbk1vZGVsLmRlc2VsZWN0KC4uLnRvQmVQcm9jZXNzZWQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
export const kbqTreeSelectAllValue = 'selectAll';
|
|
2
|
-
export class FilterByViewValue {
|
|
3
|
-
constructor(control) {
|
|
4
|
-
this.control = control;
|
|
5
|
-
}
|
|
6
|
-
handle(value) {
|
|
7
|
-
const viewValue = value || null;
|
|
8
|
-
this.result = this.control.dataNodes.filter((node) => {
|
|
9
|
-
if (node['value'] === kbqTreeSelectAllValue)
|
|
10
|
-
return true;
|
|
11
|
-
return this.control.compareViewValues(this.control.getViewValue(node), viewValue);
|
|
12
|
-
});
|
|
13
|
-
if (this.result.length === 1 && this.result[0]['value'] === kbqTreeSelectAllValue) {
|
|
14
|
-
this.result.pop();
|
|
15
|
-
}
|
|
16
|
-
return this.result;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export class FilterParentsForNodes {
|
|
20
|
-
constructor(control) {
|
|
21
|
-
this.control = control;
|
|
22
|
-
}
|
|
23
|
-
handle(_, prevFilter) {
|
|
24
|
-
const result = new Set();
|
|
25
|
-
this.control.dataNodes
|
|
26
|
-
.filter((node) => prevFilter?.result.includes(node))
|
|
27
|
-
.forEach((node) => {
|
|
28
|
-
this.control.getParents(node, []).forEach((parent) => result.add(parent));
|
|
29
|
-
result.add(node);
|
|
30
|
-
});
|
|
31
|
-
this.result = Array.from(result);
|
|
32
|
-
return this.result;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export class FilterByValues {
|
|
36
|
-
constructor(control) {
|
|
37
|
-
this.control = control;
|
|
38
|
-
this.values = [];
|
|
39
|
-
this.setValues = (values) => {
|
|
40
|
-
this.values = values;
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
handle(_, prevFilter) {
|
|
44
|
-
const found = this.control.dataNodes.filter((node) => this.values.includes(this.control.getValue(node)));
|
|
45
|
-
this.result = Array.from(new Set([...(prevFilter?.result || []), ...found]));
|
|
46
|
-
return this.result;
|
|
47
|
-
}
|
|
48
|
-
getValues() {
|
|
49
|
-
return this.values;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC10cmVlLWNvbnRyb2wuZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9jb250cm9sL2ZsYXQtdHJlZS1jb250cm9sLmZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsV0FBVyxDQUFDO0FBUWpELE1BQU0sT0FBTyxpQkFBaUI7SUFHMUIsWUFBb0IsT0FBMkI7UUFBM0IsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7SUFBRyxDQUFDO0lBRW5ELE1BQU0sQ0FBQyxLQUFvQjtRQUN2QixNQUFNLFNBQVMsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDO1FBRWhDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUsscUJBQXFCO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRXpELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztZQUNoRixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLHFCQUFxQjtJQUc5QixZQUFvQixPQUEyQjtRQUEzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtJQUFHLENBQUM7SUFFbkQsTUFBTSxDQUFDLENBQUMsRUFBRSxVQUFvQztRQUMxQyxNQUFNLE1BQU0sR0FBVyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUzthQUNqQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25ELE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBRTFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFFUCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxjQUFjO0lBS3ZCLFlBQW9CLE9BQTJCO1FBQTNCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBRnZDLFdBQU0sR0FBYSxFQUFFLENBQUM7UUFZOUIsY0FBUyxHQUFHLENBQUMsTUFBZ0IsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLENBQUMsQ0FBQztJQVpnRCxDQUFDO0lBRW5ELE1BQU0sQ0FBQyxDQUFDLEVBQUUsVUFBcUM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekcsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFN0UsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFNRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJy4vZmxhdC10cmVlLWNvbnRyb2wnO1xuXG5leHBvcnQgY29uc3Qga2JxVHJlZVNlbGVjdEFsbFZhbHVlID0gJ3NlbGVjdEFsbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxhdFRyZWVDb250cm9sRmlsdGVyPFQ+IHtcbiAgICByZXN1bHQ6IFRbXTtcblxuICAgIGhhbmRsZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCwgcHJldkZpbHRlcj86IEZsYXRUcmVlQ29udHJvbEZpbHRlcjxUPiB8IG51bGwpOiBUW107XG59XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJCeVZpZXdWYWx1ZTxUPiBpbXBsZW1lbnRzIEZsYXRUcmVlQ29udHJvbEZpbHRlcjxUPiB7XG4gICAgcmVzdWx0OiBUW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRyb2w6IEZsYXRUcmVlQ29udHJvbDxUPikge31cblxuICAgIGhhbmRsZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IFRbXSB7XG4gICAgICAgIGNvbnN0IHZpZXdWYWx1ZSA9IHZhbHVlIHx8IG51bGw7XG5cbiAgICAgICAgdGhpcy5yZXN1bHQgPSB0aGlzLmNvbnRyb2wuZGF0YU5vZGVzLmZpbHRlcigobm9kZSkgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGVbJ3ZhbHVlJ10gPT09IGticVRyZWVTZWxlY3RBbGxWYWx1ZSkgcmV0dXJuIHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2wuY29tcGFyZVZpZXdWYWx1ZXModGhpcy5jb250cm9sLmdldFZpZXdWYWx1ZShub2RlKSwgdmlld1ZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMucmVzdWx0Lmxlbmd0aCA9PT0gMSAmJiB0aGlzLnJlc3VsdFswXVsndmFsdWUnXSA9PT0ga2JxVHJlZVNlbGVjdEFsbFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnJlc3VsdC5wb3AoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJlc3VsdDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJQYXJlbnRzRm9yTm9kZXM8VD4gaW1wbGVtZW50cyBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD4ge1xuICAgIHJlc3VsdDogVFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb250cm9sOiBGbGF0VHJlZUNvbnRyb2w8VD4pIHt9XG5cbiAgICBoYW5kbGUoXywgcHJldkZpbHRlcjogRmxhdFRyZWVDb250cm9sRmlsdGVyPFQ+KTogVFtdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBTZXQ8VD4gPSBuZXcgU2V0KCk7XG5cbiAgICAgICAgdGhpcy5jb250cm9sLmRhdGFOb2Rlc1xuICAgICAgICAgICAgLmZpbHRlcigobm9kZSkgPT4gcHJldkZpbHRlcj8ucmVzdWx0LmluY2x1ZGVzKG5vZGUpKVxuICAgICAgICAgICAgLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wuZ2V0UGFyZW50cyhub2RlLCBbXSkuZm9yRWFjaCgocGFyZW50KSA9PiByZXN1bHQuYWRkKHBhcmVudCkpO1xuXG4gICAgICAgICAgICAgICAgcmVzdWx0LmFkZChub2RlKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVzdWx0ID0gQXJyYXkuZnJvbShyZXN1bHQpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnJlc3VsdDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGaWx0ZXJCeVZhbHVlczxUPiBpbXBsZW1lbnRzIEZsYXRUcmVlQ29udHJvbEZpbHRlcjxUPiB7XG4gICAgcmVzdWx0OiBUW107XG5cbiAgICBwcml2YXRlIHZhbHVlczogc3RyaW5nW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udHJvbDogRmxhdFRyZWVDb250cm9sPFQ+KSB7fVxuXG4gICAgaGFuZGxlKF8sIHByZXZGaWx0ZXI/OiBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD4pOiBUW10ge1xuICAgICAgICBjb25zdCBmb3VuZCA9IHRoaXMuY29udHJvbC5kYXRhTm9kZXMuZmlsdGVyKChub2RlKSA9PiB0aGlzLnZhbHVlcy5pbmNsdWRlcyh0aGlzLmNvbnRyb2wuZ2V0VmFsdWUobm9kZSkpKTtcblxuICAgICAgICB0aGlzLnJlc3VsdCA9IEFycmF5LmZyb20obmV3IFNldChbLi4uKHByZXZGaWx0ZXI/LnJlc3VsdCB8fCBbXSksIC4uLmZvdW5kXSkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnJlc3VsdDtcbiAgICB9XG5cbiAgICBzZXRWYWx1ZXMgPSAodmFsdWVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcztcbiAgICB9O1xuXG4gICAgZ2V0VmFsdWVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { escapeRegExp } from '@koobiq/components/core';
|
|
2
|
-
import { BaseTreeControl } from './base-tree-control';
|
|
3
|
-
import { FilterByViewValue, FilterParentsForNodes } from './flat-tree-control.filters';
|
|
4
|
-
export function defaultCompareValues(firstValue, secondValue) {
|
|
5
|
-
return firstValue === secondValue;
|
|
6
|
-
}
|
|
7
|
-
export function defaultCompareViewValues(firstViewValue, secondViewValue) {
|
|
8
|
-
return RegExp(escapeRegExp(secondViewValue), 'gi').test(firstViewValue);
|
|
9
|
-
}
|
|
10
|
-
/** Flat tree control. Able to expand/collapse a subtree recursively for flattened tree. */
|
|
11
|
-
export class FlatTreeControl extends BaseTreeControl {
|
|
12
|
-
/** Construct with flat tree data node functions getLevel, isExpandable, getValue and getViewValue. */
|
|
13
|
-
constructor(getLevel, isExpandable,
|
|
14
|
-
/** getValue will be used to determine if the tree contains value or not. Used in method hasValue */
|
|
15
|
-
getValue,
|
|
16
|
-
/** getViewValue will be used for filter nodes. Returned value will be first argument in filterNodesFunction */
|
|
17
|
-
getViewValue,
|
|
18
|
-
/** compareValues will be used to comparing values. */
|
|
19
|
-
compareValues = defaultCompareValues,
|
|
20
|
-
/** compareValues will be used to comparing values. */
|
|
21
|
-
compareViewValues = defaultCompareViewValues,
|
|
22
|
-
/** isDisabled will be used to determine if the node is disabled. */
|
|
23
|
-
isDisabled = () => false) {
|
|
24
|
-
super();
|
|
25
|
-
this.getLevel = getLevel;
|
|
26
|
-
this.isExpandable = isExpandable;
|
|
27
|
-
this.getValue = getValue;
|
|
28
|
-
this.getViewValue = getViewValue;
|
|
29
|
-
this.compareValues = compareValues;
|
|
30
|
-
this.compareViewValues = compareViewValues;
|
|
31
|
-
this.isDisabled = isDisabled;
|
|
32
|
-
this.setFilters(new FilterByViewValue(this), new FilterParentsForNodes(this));
|
|
33
|
-
}
|
|
34
|
-
getFilters() {
|
|
35
|
-
return this.filters;
|
|
36
|
-
}
|
|
37
|
-
setFilters(...filters) {
|
|
38
|
-
this.filters = filters;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Gets a list of the data node's subtree of descendent data nodes.
|
|
42
|
-
*
|
|
43
|
-
* To make this working, the `dataNodes` of the TreeControl must be flattened tree nodes
|
|
44
|
-
* with correct levels.
|
|
45
|
-
*/
|
|
46
|
-
getDescendants(dataNode) {
|
|
47
|
-
const startIndex = this.dataNodes.indexOf(dataNode);
|
|
48
|
-
const results = [];
|
|
49
|
-
// Goes through flattened tree nodes in the `dataNodes` array, and get all descendants.
|
|
50
|
-
// The level of descendants of a tree node must be greater than the level of the given
|
|
51
|
-
// tree node.
|
|
52
|
-
// If we reach a node whose level is equal to the level of the tree node, we hit a sibling.
|
|
53
|
-
// If we reach a node whose level is greater than the level of the tree node, we hit a
|
|
54
|
-
// sibling of an ancestor.
|
|
55
|
-
for (let i = startIndex + 1; i < this.dataNodes.length && this.getLevel(dataNode) < this.getLevel(this.dataNodes[i]); i++) {
|
|
56
|
-
results.push(this.dataNodes[i]);
|
|
57
|
-
}
|
|
58
|
-
return results;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Expands all data nodes in the tree.
|
|
62
|
-
*
|
|
63
|
-
* To make this working, the `dataNodes` variable of the TreeControl must be set to all flattened
|
|
64
|
-
* data nodes of the tree.
|
|
65
|
-
*/
|
|
66
|
-
expandAll() {
|
|
67
|
-
this.expansionModel.select(...this.dataNodes);
|
|
68
|
-
}
|
|
69
|
-
getParents(node, result) {
|
|
70
|
-
if (node.parent) {
|
|
71
|
-
result.unshift(node.parent);
|
|
72
|
-
return this.getParents(node.parent, result);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
return result;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
hasValue(value) {
|
|
79
|
-
return this.dataNodes.find((node) => this.compareValues(this.getValue(node), value));
|
|
80
|
-
}
|
|
81
|
-
filterNodes(value = null) {
|
|
82
|
-
this.saveExpansionState();
|
|
83
|
-
let result = [];
|
|
84
|
-
this.filters.forEach((filter, index, filters) => {
|
|
85
|
-
const prevFilter = filters[index - 1] || null;
|
|
86
|
-
result = filter.handle(value, prevFilter);
|
|
87
|
-
});
|
|
88
|
-
this.filterModel.clear();
|
|
89
|
-
this.filterModel.select(...result);
|
|
90
|
-
// set current expansion state according to filtered tree
|
|
91
|
-
this.expansionModel.setSelection(...result.filter((node) => this.isExpandable(node)));
|
|
92
|
-
this.updateFilterValue(value || result);
|
|
93
|
-
Promise.resolve().then(() => this.restoreExpansionState());
|
|
94
|
-
}
|
|
95
|
-
updateFilterValue(value) {
|
|
96
|
-
Promise.resolve().then(() => this.filterValue.next(value));
|
|
97
|
-
}
|
|
98
|
-
saveExpansionState() {
|
|
99
|
-
if (!this.filterValue.value?.length) {
|
|
100
|
-
this.expandedItemsBeforeFiltration = this.expansionModel.selected;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
restoreExpansionState() {
|
|
104
|
-
if (!this.filterValue.value?.length) {
|
|
105
|
-
this.expansionModel.setSelection(...this.expandedItemsBeforeFiltration);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC10cmVlLWNvbnRyb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvY29udHJvbC9mbGF0LXRyZWUtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBeUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RyxNQUFNLFVBQVUsb0JBQW9CLENBQUMsVUFBa0IsRUFBRSxXQUFtQjtJQUN4RSxPQUFPLFVBQVUsS0FBSyxXQUFXLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxjQUFzQixFQUFFLGVBQXVCO0lBQ3BGLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELDJGQUEyRjtBQUMzRixNQUFNLE9BQU8sZUFBbUIsU0FBUSxlQUFrQjtJQUt0RCxzR0FBc0c7SUFDdEcsWUFDVyxRQUFpQyxFQUNqQyxZQUFzQztJQUM3QyxvR0FBb0c7SUFDN0YsUUFBOEI7SUFDckMsK0dBQStHO0lBQ3hHLFlBQXFDO0lBQzVDLHNEQUFzRDtJQUMvQyxnQkFBc0Qsb0JBQW9CO0lBQ2pGLHNEQUFzRDtJQUMvQyxvQkFBa0Usd0JBQXdCO0lBQ2pHLG9FQUFvRTtJQUM3RCxhQUF1QyxHQUFHLEVBQUUsQ0FBQyxLQUFLO1FBRXpELEtBQUssRUFBRSxDQUFDO1FBYkQsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQTBCO1FBRXRDLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBRTlCLGlCQUFZLEdB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QyxjQUFjLENBQUMsWUFBWSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdEYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQztRQUV4QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQTBCO1FBQ2hELE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsNkJBQTZCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDdEUsQ0FBQztJQUNMLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVzY2FwZVJlZ0V4cCB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9jb3JlJztcbmltcG9ydCB7IEJhc2VUcmVlQ29udHJvbCB9IGZyb20gJy4vYmFzZS10cmVlLWNvbnRyb2wnO1xuaW1wb3J0IHsgRmlsdGVyQnlWaWV3VmFsdWUsIEZpbHRlclBhcmVudHNGb3JOb2RlcywgRmxhdFRyZWVDb250cm9sRmlsdGVyIH0gZnJvbSAnLi9mbGF0LXRyZWUtY29udHJvbC5maWx0ZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb21wYXJlVmFsdWVzKGZpcnN0VmFsdWU6IHN0cmluZywgc2Vjb25kVmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlID09PSBzZWNvbmRWYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb21wYXJlVmlld1ZhbHVlcyhmaXJzdFZpZXdWYWx1ZTogc3RyaW5nLCBzZWNvbmRWaWV3VmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBSZWdFeHAoZXNjYXBlUmVnRXhwKHNlY29uZFZpZXdWYWx1ZSksICdnaScpLnRlc3QoZmlyc3RWaWV3VmFsdWUpO1xufVxuXG4vKiogRmxhdCB0cmVlIGNvbnRyb2wuIEFibGUgdG8gZXhwYW5kL2NvbGxhcHNlIGEgc3VidHJlZSByZWN1cnNpdmVseSBmb3IgZmxhdHRlbmVkIHRyZWUuICovXG5leHBvcnQgY2xhc3MgRmxhdFRyZWVDb250cm9sPFQ+IGV4dGVuZHMgQmFzZVRyZWVDb250cm9sPFQ+IHtcbiAgICBleHBhbmRlZEl0ZW1zQmVmb3JlRmlsdHJhdGlvbjogVFtdO1xuXG4gICAgcHJpdmF0ZSBmaWx0ZXJzOiBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD5bXTtcblxuICAgIC8qKiBDb25zdHJ1Y3Qgd2l0aCBmbGF0IHRyZWUgZGF0YSBub2RlIGZ1bmN0aW9ucyBnZXRMZXZlbCwgaXNFeHBhbmRhYmxlLCBnZXRWYWx1ZSBhbmQgZ2V0Vmlld1ZhbHVlLiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZ2V0TGV2ZWw6IChkYXRhTm9kZTogVCkgPT4gbnVtYmVyLFxuICAgICAgICBwdWJsaWMgaXNFeHBhbmRhYmxlOiAoZGF0YU5vZGU6IFQpID0+IGJvb2xlYW4sXG4gICAgICAgIC8qKiBnZXRWYWx1ZSB3aWxsIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIHRoZSB0cmVlIGNvbnRhaW5zIHZhbHVlIG9yIG5vdC4gVXNlZCBpbiBtZXRob2QgaGFzVmFsdWUgKi9cbiAgICAgICAgcHVibGljIGdldFZhbHVlOiAoZGF0YU5vZGU6IFQpID0+IGFueSxcbiAgICAgICAgLyoqIGdldFZpZXdWYWx1ZSB3aWxsIGJlIHVzZWQgZm9yIGZpbHRlciBub2Rlcy4gUmV0dXJuZWQgdmFsdWUgd2lsbCBiZSBmaXJzdCBhcmd1bWVudCBpbiBmaWx0ZXJOb2Rlc0Z1bmN0aW9uICovXG4gICAgICAgIHB1YmxpYyBnZXRWaWV3VmFsdWU6IChkYXRhTm9kZTogVCkgPT4gc3RyaW5nLFxuICAgICAgICAvKiogY29tcGFyZVZhbHVlcyB3aWxsIGJlIHVzZWQgdG8gY29tcGFyaW5nIHZhbHVlcy4gKi9cbiAgICAgICAgcHVibGljIGNvbXBhcmVWYWx1ZXM6IChmaXJzdFZhbHVlLCBzZWNvbmRWYWx1ZSkgPT4gYm9vbGVhbiA9IGRlZmF1bHRDb21wYXJlVmFsdWVzLFxuICAgICAgICAvKiogY29tcGFyZVZhbHVlcyB3aWxsIGJlIHVzZWQgdG8gY29tcGFyaW5nIHZhbHVlcy4gKi9cbiAgICAgICAgcHVibGljIGNvbXBhcmVWaWV3VmFsdWVzOiAoZmlyc3RWaWV3VmFsdWUsIHNlY29uZFZpZXdWYWx1ZSkgPT4gYm9vbGVhbiA9IGRlZmF1bHRDb21wYXJlVmlld1ZhbHVlcyxcbiAgICAgICAgLyoqIGlzRGlzYWJsZWQgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSBpZiB0aGUgbm9kZSBpcyBkaXNhYmxlZC4gKi9cbiAgICAgICAgcHVibGljIGlzRGlzYWJsZWQ6IChkYXRhTm9kZTogVCkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5zZXRGaWx0ZXJzKG5ldyBGaWx0ZXJCeVZpZXdWYWx1ZTxUPih0aGlzKSwgbmV3IEZpbHRlclBhcmVudHNGb3JOb2RlczxUPih0aGlzKSk7XG4gICAgfVxuXG4gICAgZ2V0RmlsdGVycygpOiBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD5bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcnM7XG4gICAgfVxuXG4gICAgc2V0RmlsdGVycyguLi5maWx0ZXJzOiBGbGF0VHJlZUNvbnRyb2xGaWx0ZXI8VD5bXSkge1xuICAgICAgICB0aGlzLmZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHRoZSBkYXRhIG5vZGUncyBzdWJ0cmVlIG9mIGRlc2NlbmRlbnQgZGF0YSBub2Rlcy5cbiAgICAgKlxuICAgICAqIFRvIG1ha2UgdGhpcyB3b3JraW5nLCB0aGUgYGRhdGFOb2Rlc2Agb2YgdGhlIFRyZWVDb250cm9sIG11c3QgYmUgZmxhdHRlbmVkIHRyZWUgbm9kZXNcbiAgICAgKiB3aXRoIGNvcnJlY3QgbGV2ZWxzLlxuICAgICAqL1xuICAgIGdldERlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogVFtdIHtcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHRoaXMuZGF0YU5vZGVzLmluZGV4T2YoZGF0YU5vZGUpO1xuICAgICAgICBjb25zdCByZXN1bHRzOiBUW10gPSBbXTtcblxuICAgICAgICAvLyBHb2VzIHRocm91Z2ggZmxhdHRlbmVkIHRyZWUgbm9kZXMgaW4gdGhlIGBkYXRhTm9kZXNgIGFycmF5LCBhbmQgZ2V0IGFsbCBkZXNjZW5kYW50cy5cbiAgICAgICAgLy8gVGhlIGxldmVsIG9mIGRlc2NlbmRhbnRzIG9mIGEgdHJlZSBub2RlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHRoZSBsZXZlbCBvZiB0aGUgZ2l2ZW5cbiAgICAgICAgLy8gdHJlZSBub2RlLlxuICAgICAgICAvLyBJZiB3ZSByZWFjaCBhIG5vZGUgd2hvc2UgbGV2ZWwgaXMgZXF1YWwgdG8gdGhlIGxldmVsIG9mIHRoZSB0cmVlIG5vZGUsIHdlIGhpdCBhIHNpYmxpbmcuXG4gICAgICAgIC8vIElmIHdlIHJlYWNoIGEgbm9kZSB3aG9zZSBsZXZlbCBpcyBncmVhdGVyIHRoYW4gdGhlIGxldmVsIG9mIHRoZSB0cmVlIG5vZGUsIHdlIGhpdCBhXG4gICAgICAgIC8vIHNpYmxpbmcgb2YgYW4gYW5jZXN0b3IuXG4gICAgICAgIGZvciAoXG4gICAgICAgICAgICBsZXQgaSA9IHN0YXJ0SW5kZXggKyAxO1xuICAgICAgICAgICAgaSA8IHRoaXMuZGF0YU5vZGVzLmxlbmd0aCAmJiB0aGlzLmdldExldmVsKGRhdGFOb2RlKSA8IHRoaXMuZ2V0TGV2ZWwodGhpcy5kYXRhTm9kZXNbaV0pO1xuICAgICAgICAgICAgaSsrXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHRoaXMuZGF0YU5vZGVzW2ldKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4cGFuZHMgYWxsIGRhdGEgbm9kZXMgaW4gdGhlIHRyZWUuXG4gICAgICpcbiAgICAgKiBUbyBtYWtlIHRoaXMgd29ya2luZywgdGhlIGBkYXRhTm9kZXNgIHZhcmlhYmxlIG9mIHRoZSBUcmVlQ29udHJvbCBtdXN0IGJlIHNldCB0byBhbGwgZmxhdHRlbmVkXG4gICAgICogZGF0YSBub2RlcyBvZiB0aGUgdHJlZS5cbiAgICAgKi9cbiAgICBleHBhbmRBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2VsZWN0KC4uLnRoaXMuZGF0YU5vZGVzKTtcbiAgICB9XG5cbiAgICBnZXRQYXJlbnRzKG5vZGU6IGFueSwgcmVzdWx0OiBUW10pOiBUW10ge1xuICAgICAgICBpZiAobm9kZS5wYXJlbnQpIHtcbiAgICAgICAgICAgIHJlc3VsdC51bnNoaWZ0KG5vZGUucGFyZW50KTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UGFyZW50cyhub2RlLnBhcmVudCwgcmVzdWx0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYXNWYWx1ZSh2YWx1ZTogc3RyaW5nKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFOb2Rlcy5maW5kKChub2RlOiBhbnkpID0+IHRoaXMuY29tcGFyZVZhbHVlcyh0aGlzLmdldFZhbHVlKG5vZGUpLCB2YWx1ZSkpO1xuICAgIH1cblxuICAgIGZpbHRlck5vZGVzKHZhbHVlOiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNhdmVFeHBhbnNpb25TdGF0ZSgpO1xuXG4gICAgICAgIGxldCByZXN1bHQ6IFRbXSA9IFtdO1xuXG4gICAgICAgIHRoaXMuZmlsdGVycy5mb3JFYWNoKChmaWx0ZXIsIGluZGV4LCBmaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcmV2RmlsdGVyID0gZmlsdGVyc1tpbmRleCAtIDFdIHx8IG51bGw7XG5cbiAgICAgICAgICAgIHJlc3VsdCA9IGZpbHRlci5oYW5kbGUodmFsdWUsIHByZXZGaWx0ZXIpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmZpbHRlck1vZGVsLmNsZWFyKCk7XG4gICAgICAgIHRoaXMuZmlsdGVyTW9kZWwuc2VsZWN0KC4uLnJlc3VsdCk7XG5cbiAgICAgICAgLy8gc2V0IGN1cnJlbnQgZXhwYW5zaW9uIHN0YXRlIGFjY29yZGluZyB0byBmaWx0ZXJlZCB0cmVlXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2V0U2VsZWN0aW9uKC4uLnJlc3VsdC5maWx0ZXIoKG5vZGUpID0+IHRoaXMuaXNFeHBhbmRhYmxlKG5vZGUpKSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJWYWx1ZSh2YWx1ZSB8fCByZXN1bHQpO1xuXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5yZXN0b3JlRXhwYW5zaW9uU3RhdGUoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGaWx0ZXJWYWx1ZSh2YWx1ZTogVFtdIHwgc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuZmlsdGVyVmFsdWUubmV4dCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2F2ZUV4cGFuc2lvblN0YXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuZmlsdGVyVmFsdWUudmFsdWU/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRlZEl0ZW1zQmVmb3JlRmlsdHJhdGlvbiA9IHRoaXMuZXhwYW5zaW9uTW9kZWwuc2VsZWN0ZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RvcmVFeHBhbnNpb25TdGF0ZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbHRlclZhbHVlLnZhbHVlPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2V0U2VsZWN0aW9uKC4uLnRoaXMuZXhwYW5kZWRJdGVtc0JlZm9yZUZpbHRyYXRpb24pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { take } from 'rxjs/operators';
|
|
2
|
-
import { BaseTreeControl } from './base-tree-control';
|
|
3
|
-
/** Nested tree control. Able to expand/collapse a subtree recursively for NestedNode type. */
|
|
4
|
-
export class NestedTreeControl extends BaseTreeControl {
|
|
5
|
-
/** Construct with nested tree function getChildren. */
|
|
6
|
-
constructor(getChildren) {
|
|
7
|
-
super();
|
|
8
|
-
this.getChildren = getChildren;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Expands all dataNodes in the tree.
|
|
12
|
-
*
|
|
13
|
-
* To make this working, the `dataNodes` variable of the TreeControl must be set to all root level
|
|
14
|
-
* data nodes of the tree.
|
|
15
|
-
*/
|
|
16
|
-
expandAll() {
|
|
17
|
-
this.expansionModel.clear();
|
|
18
|
-
const allNodes = this.dataNodes.reduce((accumulator, dataNode) => [...accumulator, ...this.getDescendants(dataNode), dataNode], []);
|
|
19
|
-
this.expansionModel.select(...allNodes);
|
|
20
|
-
}
|
|
21
|
-
/** Gets a list of descendant dataNodes of a subtree rooted at given data node recursively. */
|
|
22
|
-
getDescendants(dataNode) {
|
|
23
|
-
const descendants = [];
|
|
24
|
-
this._getDescendants(descendants, dataNode);
|
|
25
|
-
return descendants.splice(1);
|
|
26
|
-
}
|
|
27
|
-
/** A helper function to get descendants recursively. */
|
|
28
|
-
// todo нужно придумать другое название и понять в чем отличие между getDescendants и _getDescendants
|
|
29
|
-
_getDescendants(descendants, dataNode) {
|
|
30
|
-
descendants.push(dataNode);
|
|
31
|
-
this.getChildren(dataNode)
|
|
32
|
-
.pipe(take(1))
|
|
33
|
-
.subscribe((children) => {
|
|
34
|
-
if (children && children.length > 0) {
|
|
35
|
-
children.forEach((child) => this._getDescendants(descendants, child));
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLXRyZWUtY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9jb250cm9sL25lc3RlZC10cmVlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCw4RkFBOEY7QUFDOUYsTUFBTSxPQUFPLGlCQUFxQixTQUFRLGVBQWtCO0lBQ3hELHVEQUF1RDtJQUN2RCxZQUFtQixXQUE2QztRQUM1RCxLQUFLLEVBQUUsQ0FBQztRQURPLGdCQUFXLEdBQVgsV0FBVyxDQUFrQztJQUVoRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FDbEMsQ0FBQyxXQUFnQixFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQzVGLEVBQUUsQ0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsOEZBQThGO0lBQzlGLGNBQWMsQ0FBQyxRQUFXO1FBQ3RCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUU1QyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxxR0FBcUc7SUFDN0YsZUFBZSxDQUFDLFdBQWdCLEVBQUUsUUFBVztRQUNqRCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO2FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNwQixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzdFLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNlVHJlZUNvbnRyb2wgfSBmcm9tICcuL2Jhc2UtdHJlZS1jb250cm9sJztcblxuLyoqIE5lc3RlZCB0cmVlIGNvbnRyb2wuIEFibGUgdG8gZXhwYW5kL2NvbGxhcHNlIGEgc3VidHJlZSByZWN1cnNpdmVseSBmb3IgTmVzdGVkTm9kZSB0eXBlLiAqL1xuZXhwb3J0IGNsYXNzIE5lc3RlZFRyZWVDb250cm9sPFQ+IGV4dGVuZHMgQmFzZVRyZWVDb250cm9sPFQ+IHtcbiAgICAvKiogQ29uc3RydWN0IHdpdGggbmVzdGVkIHRyZWUgZnVuY3Rpb24gZ2V0Q2hpbGRyZW4uICovXG4gICAgY29uc3RydWN0b3IocHVibGljIGdldENoaWxkcmVuOiAoZGF0YU5vZGU6IFQpID0+IE9ic2VydmFibGU8VFtdPikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4cGFuZHMgYWxsIGRhdGFOb2RlcyBpbiB0aGUgdHJlZS5cbiAgICAgKlxuICAgICAqIFRvIG1ha2UgdGhpcyB3b3JraW5nLCB0aGUgYGRhdGFOb2Rlc2AgdmFyaWFibGUgb2YgdGhlIFRyZWVDb250cm9sIG11c3QgYmUgc2V0IHRvIGFsbCByb290IGxldmVsXG4gICAgICogZGF0YSBub2RlcyBvZiB0aGUgdHJlZS5cbiAgICAgKi9cbiAgICBleHBhbmRBbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuY2xlYXIoKTtcbiAgICAgICAgY29uc3QgYWxsTm9kZXMgPSB0aGlzLmRhdGFOb2Rlcy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjdW11bGF0b3I6IFRbXSwgZGF0YU5vZGUpID0+IFsuLi5hY2N1bXVsYXRvciwgLi4udGhpcy5nZXREZXNjZW5kYW50cyhkYXRhTm9kZSksIGRhdGFOb2RlXSxcbiAgICAgICAgICAgIFtdXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5zZWxlY3QoLi4uYWxsTm9kZXMpO1xuICAgIH1cblxuICAgIC8qKiBHZXRzIGEgbGlzdCBvZiBkZXNjZW5kYW50IGRhdGFOb2RlcyBvZiBhIHN1YnRyZWUgcm9vdGVkIGF0IGdpdmVuIGRhdGEgbm9kZSByZWN1cnNpdmVseS4gKi9cbiAgICBnZXREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IFRbXSB7XG4gICAgICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gW107XG5cbiAgICAgICAgdGhpcy5fZ2V0RGVzY2VuZGFudHMoZGVzY2VuZGFudHMsIGRhdGFOb2RlKTtcblxuICAgICAgICByZXR1cm4gZGVzY2VuZGFudHMuc3BsaWNlKDEpO1xuICAgIH1cblxuICAgIC8qKiBBIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgZGVzY2VuZGFudHMgcmVjdXJzaXZlbHkuICovXG4gICAgLy8gdG9kbyDQvdGD0LbQvdC+INC/0YDQuNC00YPQvNCw0YLRjCDQtNGA0YPQs9C+0LUg0L3QsNC30LLQsNC90LjQtSDQuCDQv9C+0L3Rj9GC0Ywg0LIg0YfQtdC8INC+0YLQu9C40YfQuNC1INC80LXQttC00YMgZ2V0RGVzY2VuZGFudHMg0LggX2dldERlc2NlbmRhbnRzXG4gICAgcHJpdmF0ZSBfZ2V0RGVzY2VuZGFudHMoZGVzY2VuZGFudHM6IFRbXSwgZGF0YU5vZGU6IFQpOiB2b2lkIHtcbiAgICAgICAgZGVzY2VuZGFudHMucHVzaChkYXRhTm9kZSk7XG5cbiAgICAgICAgdGhpcy5nZXRDaGlsZHJlbihkYXRhTm9kZSlcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjaGlsZHJlbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbiAmJiBjaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLmZvckVhY2goKGNoaWxkOiBUKSA9PiB0aGlzLl9nZXREZXNjZW5kYW50cyhkZXNjZW5kYW50cywgY2hpbGQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL2NvbnRyb2wvdHJlZS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUcmVlIGNvbnRyb2wgaW50ZXJmYWNlLiBVc2VyIGNhbiBpbXBsZW1lbnQgVHJlZUNvbnRyb2wgdG8gZXhwYW5kL2NvbGxhcHNlIGRhdGFOb2RlcyBpbiB0aGUgdHJlZS5cbiAqIFRoZSBUcmVlIHdpbGwgdXNlIHRoaXMgVHJlZUNvbnRyb2wgdG8gZXhwYW5kL2NvbGxhcHNlIGEgbm9kZS5cbiAqIFVzZXIgY2FuIGFsc28gdXNlIGl0IG91dHNpZGUgdGhlIGA8a2JxLXRyZWU+YCB0byBjb250cm9sIHRoZSBleHBhbnNpb24gc3RhdHVzIG9mIHRoZSB0cmVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVDb250cm9sPFQ+IHtcbiAgICAvKiogVGhlIHNhdmVkIHRyZWUgbm9kZXMgZGF0YSBmb3IgYGV4cGFuZEFsbGAgYWN0aW9uLiAqL1xuICAgIGRhdGFOb2RlczogVFtdO1xuXG4gICAgLyoqIFRoZSBleHBhbnNpb24gbW9kZWwgKi9cbiAgICBleHBhbnNpb25Nb2RlbDogU2VsZWN0aW9uTW9kZWw8VD47XG5cbiAgICBmaWx0ZXJNb2RlbDogU2VsZWN0aW9uTW9kZWw8VD47XG5cbiAgICBmaWx0ZXJWYWx1ZTogQmVoYXZpb3JTdWJqZWN0PFRbXSB8IHN0cmluZyB8IG51bGw+O1xuXG4gICAgLyoqIEdldCBkZXB0aCBvZiBhIGdpdmVuIGRhdGEgbm9kZSwgcmV0dXJuIHRoZSBsZXZlbCBudW1iZXIuIFRoaXMgaXMgZm9yIGZsYXQgdHJlZSBub2RlLiAqL1xuICAgIGdldExldmVsKGRhdGFOb2RlOiBUKTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZGF0YSBub2RlIGlzIGV4cGFuZGFibGUuIFJldHVybnMgdHJ1ZSBpZiBleHBhbmRhYmxlLlxuICAgICAqIFRoaXMgaXMgZm9yIGZsYXQgdHJlZSBub2RlLlxuICAgICAqL1xuICAgIGlzRXhwYW5kYWJsZShkYXRhTm9kZTogVCk6IGJvb2xlYW47XG5cbiAgICAvKiogR2V0cyBhIHN0cmVhbSB0aGF0IGVtaXRzIHdoZW5ldmVyIHRoZSBnaXZlbiBkYXRhIG5vZGUncyBjaGlsZHJlbiBjaGFuZ2UuICovXG4gICAgZ2V0Q2hpbGRyZW4oZGF0YU5vZGU6IFQpOiBPYnNlcnZhYmxlPFRbXT47XG5cbiAgICAvKiogV2hldGhlciB0aGUgZGF0YSBub2RlIGlzIGV4cGFuZGVkIG9yIGNvbGxhcHNlZC4gUmV0dXJuIHRydWUgaWYgaXQncyBleHBhbmRlZC4gKi9cbiAgICBpc0V4cGFuZGVkKGRhdGFOb2RlOiBUKTogYm9vbGVhbjtcblxuICAgIC8qKiBHZXQgYWxsIGRlc2NlbmRhbnRzIG9mIGEgZGF0YSBub2RlICovXG4gICAgZ2V0RGVzY2VuZGFudHMoZGF0YU5vZGU6IFQpOiBhbnlbXTtcblxuICAgIC8qKiBFeHBhbmQgb3IgY29sbGFwc2UgZGF0YSBub2RlICovXG4gICAgdG9nZ2xlKGRhdGFOb2RlOiBUKTogdm9pZDtcblxuICAgIC8qKiBFeHBhbmQgb25lIGRhdGEgbm9kZSAqL1xuICAgIGV4cGFuZChkYXRhTm9kZTogVCk6IHZvaWQ7XG5cbiAgICAvKiogQ29sbGFwc2Ugb25lIGRhdGEgbm9kZSAqL1xuICAgIGNvbGxhcHNlKGRhdGFOb2RlOiBUKTogdm9pZDtcblxuICAgIC8qKiBFeHBhbmQgYWxsIHRoZSBkYXRhTm9kZXMgaW4gdGhlIHRyZWUgKi9cbiAgICBleHBhbmRBbGwoKTogdm9pZDtcblxuICAgIC8qKiBDb2xsYXBzZSBhbGwgdGhlIGRhdGFOb2RlcyBpbiB0aGUgdHJlZSAqL1xuICAgIGNvbGxhcHNlQWxsKCk6IHZvaWQ7XG5cbiAgICAvKiogVG9nZ2xlIGEgZGF0YSBub2RlIGJ5IGV4cGFuZC9jb2xsYXBzZSBpdCBhbmQgYWxsIGl0cyBkZXNjZW5kYW50cyAqL1xuICAgIHRvZ2dsZURlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogdm9pZDtcblxuICAgIC8qKiBFeHBhbmQgYSBkYXRhIG5vZGUgYW5kIGFsbCBpdHMgZGVzY2VuZGFudHMgKi9cbiAgICBleHBhbmREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQ7XG5cbiAgICAvKiogQ29sbGFwc2UgYSBkYXRhIG5vZGUgYW5kIGFsbCBpdHMgZGVzY2VuZGFudHMgKi9cbiAgICBjb2xsYXBzZURlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { DataSource } from '@angular/cdk/collections';
|
|
2
|
-
import { BehaviorSubject, merge } from 'rxjs';
|
|
3
|
-
import { map, take } from 'rxjs/operators';
|
|
4
|
-
/**
|
|
5
|
-
* Tree flattener to convert a normal type of node to node with children & level information.
|
|
6
|
-
* Transform nested nodes of type `T` to flattened nodes of type `F`.
|
|
7
|
-
*
|
|
8
|
-
* For example, the input data of type `T` is nested, and contains its children data:
|
|
9
|
-
* SomeNode: {
|
|
10
|
-
* key: 'Fruits',
|
|
11
|
-
* children: [
|
|
12
|
-
* NodeOne: {
|
|
13
|
-
* key: 'Apple',
|
|
14
|
-
* },
|
|
15
|
-
* NodeTwo: {
|
|
16
|
-
* key: 'Pear',
|
|
17
|
-
* }
|
|
18
|
-
* ]
|
|
19
|
-
* }
|
|
20
|
-
* After flattener flatten the tree, the structure will become
|
|
21
|
-
* SomeNode: {
|
|
22
|
-
* key: 'Fruits',
|
|
23
|
-
* expandable: true,
|
|
24
|
-
* level: 1
|
|
25
|
-
* },
|
|
26
|
-
* NodeOne: {
|
|
27
|
-
* key: 'Apple',
|
|
28
|
-
* expandable: false,
|
|
29
|
-
* level: 2
|
|
30
|
-
* },
|
|
31
|
-
* NodeTwo: {
|
|
32
|
-
* key: 'Pear',
|
|
33
|
-
* expandable: false,
|
|
34
|
-
* level: 2
|
|
35
|
-
* }
|
|
36
|
-
* and the output flattened type is `F` with additional information.
|
|
37
|
-
*/
|
|
38
|
-
export class KbqTreeFlattener {
|
|
39
|
-
constructor(transformFunction, getLevel, isExpandable, getChildren) {
|
|
40
|
-
this.transformFunction = transformFunction;
|
|
41
|
-
this.getLevel = getLevel;
|
|
42
|
-
this.isExpandable = isExpandable;
|
|
43
|
-
this.getChildren = getChildren;
|
|
44
|
-
}
|
|
45
|
-
flattenNode(node, level, resultNodes, parent) {
|
|
46
|
-
const flatNode = this.transformFunction(node, level, parent);
|
|
47
|
-
resultNodes.push(flatNode);
|
|
48
|
-
if (this.isExpandable(flatNode)) {
|
|
49
|
-
const childrenNodes = this.getChildren(node);
|
|
50
|
-
if (childrenNodes) {
|
|
51
|
-
if (Array.isArray(childrenNodes)) {
|
|
52
|
-
this.flattenChildren(childrenNodes, level, resultNodes, flatNode);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
childrenNodes.pipe(take(1)).subscribe((children) => {
|
|
56
|
-
this.flattenChildren(children, level, resultNodes, flatNode);
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
return resultNodes;
|
|
62
|
-
}
|
|
63
|
-
flattenChildren(children, level, resultNodes, parent) {
|
|
64
|
-
children.forEach((child) => {
|
|
65
|
-
this.flattenNode(child, level + 1, resultNodes, parent);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Flatten a list of node type T to flattened version of node F.
|
|
70
|
-
* Please note that type T may be nested, and the length of `structuredData` may be different
|
|
71
|
-
* from that of returned list `F[]`.
|
|
72
|
-
*/
|
|
73
|
-
flattenNodes(structuredData) {
|
|
74
|
-
const resultNodes = [];
|
|
75
|
-
structuredData.forEach((node) => this.flattenNode(node, 0, resultNodes, null));
|
|
76
|
-
return resultNodes;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Expand flattened node with current expansion status.
|
|
80
|
-
* The returned list may have different length.
|
|
81
|
-
*/
|
|
82
|
-
expandFlattenedNodes(nodes, treeControl) {
|
|
83
|
-
const results = [];
|
|
84
|
-
const currentExpand = [];
|
|
85
|
-
currentExpand[0] = true;
|
|
86
|
-
nodes.forEach((node) => {
|
|
87
|
-
let expand = true;
|
|
88
|
-
for (let i = 0; i <= this.getLevel(node); i++) {
|
|
89
|
-
expand = expand && currentExpand[i];
|
|
90
|
-
}
|
|
91
|
-
if (expand) {
|
|
92
|
-
results.push(node);
|
|
93
|
-
}
|
|
94
|
-
if (this.isExpandable(node)) {
|
|
95
|
-
currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
return results;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
var KbqTreeDataSourceChangeTypes;
|
|
102
|
-
(function (KbqTreeDataSourceChangeTypes) {
|
|
103
|
-
KbqTreeDataSourceChangeTypes["Expansion"] = "expansion";
|
|
104
|
-
KbqTreeDataSourceChangeTypes["Filter"] = "filter";
|
|
105
|
-
})(KbqTreeDataSourceChangeTypes || (KbqTreeDataSourceChangeTypes = {}));
|
|
106
|
-
/**
|
|
107
|
-
* Data source for flat tree.
|
|
108
|
-
* The data source need to handle expansion/collapsion of the tree node and change the data feed
|
|
109
|
-
* to `KbqTree`.
|
|
110
|
-
* The nested tree nodes of type `T` are flattened through `MсTreeFlattener`, and converted
|
|
111
|
-
* to type `F` for `KbqTree` to consume.
|
|
112
|
-
*/
|
|
113
|
-
export class KbqTreeFlatDataSource extends DataSource {
|
|
114
|
-
get data() {
|
|
115
|
-
return this._data.value;
|
|
116
|
-
}
|
|
117
|
-
set data(value) {
|
|
118
|
-
this._data.next(value);
|
|
119
|
-
this.flattenedData.next(this.treeFlattener.flattenNodes(this.data));
|
|
120
|
-
this.treeControl.dataNodes = this.flattenedData.value;
|
|
121
|
-
}
|
|
122
|
-
constructor(treeControl, treeFlattener, initialData = []) {
|
|
123
|
-
super();
|
|
124
|
-
this.treeControl = treeControl;
|
|
125
|
-
this.treeFlattener = treeFlattener;
|
|
126
|
-
this.flattenedData = new BehaviorSubject([]);
|
|
127
|
-
this.expandedData = new BehaviorSubject([]);
|
|
128
|
-
this.filteredData = new BehaviorSubject([]);
|
|
129
|
-
this._data = new BehaviorSubject(initialData);
|
|
130
|
-
}
|
|
131
|
-
connect(collectionViewer) {
|
|
132
|
-
return merge(collectionViewer.viewChange, this.treeControl.expansionModel.changed.pipe(map((value) => ({ type: KbqTreeDataSourceChangeTypes.Expansion, value }))), this.treeControl.filterValue.pipe(map((value) => ({ type: KbqTreeDataSourceChangeTypes.Filter, value }))), this.flattenedData).pipe(map((changeObj) => {
|
|
133
|
-
if (changeObj.type === KbqTreeDataSourceChangeTypes.Filter) {
|
|
134
|
-
if (changeObj.value && changeObj.value.length > 0) {
|
|
135
|
-
return this.filterHandler();
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
return this.expansionHandler(changeObj.value);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return this.expansionHandler(changeObj.value);
|
|
142
|
-
}));
|
|
143
|
-
}
|
|
144
|
-
filterHandler() {
|
|
145
|
-
this.filteredData.next(this.treeControl.filterModel.selected);
|
|
146
|
-
return this.filteredData.value;
|
|
147
|
-
}
|
|
148
|
-
expansionHandler(_change) {
|
|
149
|
-
const expandedNodes = this.treeFlattener.expandFlattenedNodes(this.flattenedData.value, this.treeControl);
|
|
150
|
-
this.expandedData.next(expandedNodes);
|
|
151
|
-
return this.expandedData.value;
|
|
152
|
-
}
|
|
153
|
-
disconnect() {
|
|
154
|
-
// no op
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9kYXRhLXNvdXJjZS9mbGF0LWRhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsVUFBVSxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxlQUFlLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsWUFDVyxpQkFBa0UsRUFDbEUsUUFBNkIsRUFDN0IsWUFBa0MsRUFDbEMsV0FBa0U7UUFIbEUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpRDtRQUNsRSxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVEO0lBQzFFLENBQUM7SUFFSixXQUFXLENBQUMsSUFBTyxFQUFFLEtBQWEsRUFBRSxXQUFnQixFQUFFLE1BQWdCO1FBQ2xFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTdELFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFB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RUFBTyxFQUFFO1lBQ3hCLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDekQsSUFBSSxTQUFTLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNoRCxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDaEMsQ0FBQztxQkFBTSxDQUFDO29CQUNKLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEQsQ0FBQztZQUNMLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBMkI7UUFDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFMUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsVUFBVTtRQUNOLFFBQVE7SUFDWixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uVmlld2VyLCBEYXRhU291cmNlLCBTZWxlY3Rpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmxhdFRyZWVDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbC9mbGF0LXRyZWUtY29udHJvbCc7XG5pbXBvcnQgeyBUcmVlQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2wvdHJlZS1jb250cm9sJztcblxuLyoqXG4gKiBUcmVlIGZsYXR0ZW5lciB0byBjb252ZXJ0IGEgbm9ybWFsIHR5cGUgb2Ygbm9kZSB0byBub2RlIHdpdGggY2hpbGRyZW4gJiBsZXZlbCBpbmZvcm1hdGlvbi5cbiAqIFRyYW5zZm9ybSBuZXN0ZWQgbm9kZXMgb2YgdHlwZSBgVGAgdG8gZmxhdHRlbmVkIG5vZGVzIG9mIHR5cGUgYEZgLlxuICpcbiAqIEZvciBleGFtcGxlLCB0aGUgaW5wdXQgZGF0YSBvZiB0eXBlIGBUYCBpcyBuZXN0ZWQsIGFuZCBjb250YWlucyBpdHMgY2hpbGRyZW4gZGF0YTpcbiAqICAgU29tZU5vZGU6IHtcbiAqICAgICBrZXk6ICdGcnVpdHMnLFxuICogICAgIGNoaWxkcmVuOiBbXG4gKiAgICAgICBOb2RlT25lOiB7XG4gKiAgICAgICAgIGtleTogJ0FwcGxlJyxcbiAqICAgICAgIH0sXG4gKiAgICAgICBOb2RlVHdvOiB7XG4gKiAgICAgICAga2V5OiAnUGVhcicsXG4gKiAgICAgIH1cbiAqICAgIF1cbiAqICB9XG4gKiAgQWZ0ZXIgZmxhdHRlbmVyIGZsYXR0ZW4gdGhlIHRyZWUsIHRoZSBzdHJ1Y3R1cmUgd2lsbCBiZWNvbWVcbiAqICBTb21lTm9kZToge1xuICogICAga2V5OiAnRnJ1aXRzJyxcbiAqICAgIGV4cGFuZGFibGU6IHRydWUsXG4gKiAgICBsZXZlbDogMVxuICogIH0sXG4gKiAgTm9kZU9uZToge1xuICogICAga2V5OiAnQXBwbGUnLFxuICogICAgZXhwYW5kYWJsZTogZmFsc2UsXG4gKiAgICBsZXZlbDogMlxuICogIH0sXG4gKiAgTm9kZVR3bzoge1xuICogICBrZXk6ICdQZWFyJyxcbiAqICAgZXhwYW5kYWJsZTogZmFsc2UsXG4gKiAgIGxldmVsOiAyXG4gKiB9XG4gKiBhbmQgdGhlIG91dHB1dCBmbGF0dGVuZWQgdHlwZSBpcyBgRmAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgS2JxVHJlZUZsYXR0ZW5lcjxULCBGPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0cmFuc2Zvcm1GdW5jdGlvbjogKG5vZGU6IFQsIGxldmVsOiBudW1iZXIsIHBhcmVudDogRiB8IG51bGwpID0+IEYsXG4gICAgICAgIHB1YmxpYyBnZXRMZXZlbDogKG5vZGU6IEYpID0+IG51bWJlcixcbiAgICAgICAgcHVibGljIGlzRXhwYW5kYWJsZTogKG5vZGU6IEYpID0+IGJvb2xlYW4sXG4gICAgICAgIHB1YmxpYyBnZXRDaGlsZHJlbjogKG5vZGU6IFQpID0+IE9ic2VydmFibGU8VFtdPiB8IFRbXSB8IHVuZGVmaW5lZCB8IG51bGxcbiAgICApIHt9XG5cbiAgICBmbGF0dGVuTm9kZShub2RlOiBULCBsZXZlbDogbnVtYmVyLCByZXN1bHROb2RlczogRltdLCBwYXJlbnQ6IEYgfCBudWxsKTogRltdIHtcbiAgICAgICAgY29uc3QgZmxhdE5vZGUgPSB0aGlzLnRyYW5zZm9ybUZ1bmN0aW9uKG5vZGUsIGxldmVsLCBwYXJlbnQpO1xuXG4gICAgICAgIHJlc3VsdE5vZGVzLnB1c2goZmxhdE5vZGUpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzRXhwYW5kYWJsZShmbGF0Tm9kZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuTm9kZXMgPSB0aGlzLmdldENoaWxkcmVuKG5vZGUpO1xuXG4gICAgICAgICAgICBpZiAoY2hpbGRyZW5Ob2Rlcykge1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuTm9kZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmxhdHRlbkNoaWxkcmVuKGNoaWxkcmVuTm9kZXMsIGxldmVsLCByZXN1bHROb2RlcywgZmxhdE5vZGUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuTm9kZXMucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGNoaWxkcmVuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZsYXR0ZW5DaGlsZHJlbihjaGlsZHJlbiwgbGV2ZWwsIHJlc3VsdE5vZGVzLCBmbGF0Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHROb2RlcztcbiAgICB9XG5cbiAgICBmbGF0dGVuQ2hpbGRyZW4oY2hpbGRyZW46IFRbXSwgbGV2ZWw6IG51bWJlciwgcmVzdWx0Tm9kZXM6IEZbXSwgcGFyZW50OiBGIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mbGF0dGVuTm9kZShjaGlsZCwgbGV2ZWwgKyAxLCByZXN1bHROb2RlcywgcGFyZW50KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmxhdHRlbiBhIGxpc3Qgb2Ygbm9kZSB0eXBlIFQgdG8gZmxhdHRlbmVkIHZlcnNpb24gb2Ygbm9kZSBGLlxuICAgICAqIFBsZWFzZSBub3RlIHRoYXQgdHlwZSBUIG1heSBiZSBuZXN0ZWQsIGFuZCB0aGUgbGVuZ3RoIG9mIGBzdHJ1Y3R1cmVkRGF0YWAgbWF5IGJlIGRpZmZlcmVudFxuICAgICAqIGZyb20gdGhhdCBvZiByZXR1cm5lZCBsaXN0IGBGW11gLlxuICAgICAqL1xuICAgIGZsYXR0ZW5Ob2RlcyhzdHJ1Y3R1cmVkRGF0YTogVFtdKTogRltdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0Tm9kZXM6IEZbXSA9IFtdO1xuXG4gICAgICAgIHN0cnVjdHVyZWREYXRhLmZvckVhY2goKG5vZGUpID0+IHRoaXMuZmxhdHRlbk5vZGUobm9kZSwgMCwgcmVzdWx0Tm9kZXMsIG51bGwpKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0Tm9kZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhwYW5kIGZsYXR0ZW5lZCBub2RlIHdpdGggY3VycmVudCBleHBhbnNpb24gc3RhdHVzLlxuICAgICAqIFRoZSByZXR1cm5lZCBsaXN0IG1heSBoYXZlIGRpZmZlcmVudCBsZW5ndGguXG4gICAgICovXG4gICAgZXhwYW5kRmxhdHRlbmVkTm9kZXMobm9kZXM6IEZbXSwgdHJlZUNvbnRyb2w6IFRyZWVDb250cm9sPEY+KTogRltdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0czogRltdID0gW107XG4gICAgICAgIGNvbnN0IGN1cnJlbnRFeHBhbmQ6IGJvb2xlYW5bXSA9IFtdO1xuXG4gICAgICAgIGN1cnJlbnRFeHBhbmRbMF0gPSB0cnVlO1xuXG4gICAgICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgIGxldCBleHBhbmQgPSB0cnVlO1xuXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSB0aGlzLmdldExldmVsKG5vZGUpOyBpKyspIHtcbiAgICAgICAgICAgICAgICBleHBhbmQgPSBleHBhbmQgJiYgY3VycmVudEV4cGFuZFtpXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV4cGFuZCkge1xuICAgICAgICAgICAgICAgIHJlc3VsdHMucHVzaChub2RlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNFeHBhbmRhYmxlKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEV4cGFuZFt0aGlzLmdldExldmVsKG5vZGUpICsgMV0gPSB0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG59XG5cbmVudW0gS2JxVHJlZURhdGFTb3VyY2VDaGFuZ2VUeXBlcyB7XG4gICAgRXhwYW5zaW9uID0gJ2V4cGFuc2lvbicsXG4gICAgRmlsdGVyID0gJ2ZpbHRlcidcbn1cblxuLyoqXG4gKiBEYXRhIHNvdXJjZSBmb3IgZmxhdCB0cmVlLlxuICogVGhlIGRhdGEgc291cmNlIG5lZWQgdG8gaGFuZGxlIGV4cGFuc2lvbi9jb2xsYXBzaW9uIG9mIHRoZSB0cmVlIG5vZGUgYW5kIGNoYW5nZSB0aGUgZGF0YSBmZWVkXG4gKiB0byBgS2JxVHJlZWAuXG4gKiBUaGUgbmVzdGVkIHRyZWUgbm9kZXMgb2YgdHlwZSBgVGAgYXJlIGZsYXR0ZW5lZCB0aHJvdWdoIGBN0YFUcmVlRmxhdHRlbmVyYCwgYW5kIGNvbnZlcnRlZFxuICogdG8gdHlwZSBgRmAgZm9yIGBLYnFUcmVlYCB0byBjb25zdW1lLlxuICovXG5leHBvcnQgY2xhc3MgS2JxVHJlZUZsYXREYXRhU291cmNlPFQsIEY+IGV4dGVuZHMgRGF0YVNvdXJjZTxGPiB7XG4gICAgZmxhdHRlbmVkRGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RltdPihbXSk7XG5cbiAgICBleHBhbmRlZERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZbXT4oW10pO1xuXG4gICAgZmlsdGVyZWREYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGW10+KFtdKTtcblxuICAgIGdldCBkYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YS52YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgZGF0YSh2YWx1ZTogVFtdKSB7XG4gICAgICAgIHRoaXMuX2RhdGEubmV4dCh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5mbGF0dGVuZWREYXRhLm5leHQodGhpcy50cmVlRmxhdHRlbmVyLmZsYXR0ZW5Ob2Rlcyh0aGlzLmRhdGEpKTtcbiAgICAgICAgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMgPSB0aGlzLmZsYXR0ZW5lZERhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGF0YTogQmVoYXZpb3JTdWJqZWN0PFRbXT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmVlQ29udHJvbDogRmxhdFRyZWVDb250cm9sPEY+LFxuICAgICAgICBwcml2YXRlIHRyZWVGbGF0dGVuZXI6IEticVRyZWVGbGF0dGVuZXI8VCwgRj4sXG4gICAgICAgIGluaXRpYWxEYXRhOiBUW10gPSBbXVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIHRoaXMuX2RhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRbXT4oaW5pdGlhbERhdGEpO1xuICAgIH1cblxuICAgIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8RltdPiB7XG4gICAgICAgIHJldHVybiBtZXJnZShcbiAgICAgICAgICAgIGNvbGxlY3Rpb25WaWV3ZXIudmlld0NoYW5nZSxcbiAgICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5zaW9uTW9kZWwuY2hhbmdlZC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgodmFsdWUpID0+ICh7IHR5cGU6IEticVRyZWVEYXRhU291cmNlQ2hhbmdlVHlwZXMuRXhwYW5zaW9uLCB2YWx1ZSB9KSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLnRyZWVDb250cm9sLmZpbHRlclZhbHVlLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHsgdHlwZTogS2JxVHJlZURhdGFTb3VyY2VDaGFuZ2VUeXBlcy5GaWx0ZXIsIHZhbHVlIH0pKSksXG4gICAgICAgICAgICB0aGlzLmZsYXR0ZW5lZERhdGFcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjaGFuZ2VPYmo6IGFueSk6IGFueSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNoYW5nZU9iai50eXBlID09PSBLYnFUcmVlRGF0YVNvdXJjZUNoYW5nZVR5cGVzLkZpbHRlcikge1xuICAgICAgICAgICAgICAgICAgICBpZiAoY2hhbmdlT2JqLnZhbHVlICYmIGNoYW5nZU9iai52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJIYW5kbGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5leHBhbnNpb25IYW5kbGVyKGNoYW5nZU9iai52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5leHBhbnNpb25IYW5kbGVyKGNoYW5nZU9iai52YWx1ZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZpbHRlckhhbmRsZXIoKTogRltdIHtcbiAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEubmV4dCh0aGlzLnRyZWVDb250cm9sLmZpbHRlck1vZGVsLnNlbGVjdGVkKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJlZERhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgZXhwYW5zaW9uSGFuZGxlcihfY2hhbmdlOiBTZWxlY3Rpb25DaGFuZ2U8Rj4pOiBGW10ge1xuICAgICAgICBjb25zdCBleHBhbmRlZE5vZGVzID0gdGhpcy50cmVlRmxhdHRlbmVyLmV4cGFuZEZsYXR0ZW5lZE5vZGVzKHRoaXMuZmxhdHRlbmVkRGF0YS52YWx1ZSwgdGhpcy50cmVlQ29udHJvbCk7XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZERhdGEubmV4dChleHBhbmRlZE5vZGVzKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5leHBhbmRlZERhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgZGlzY29ubmVjdCgpIHtcbiAgICAgICAgLy8gbm8gb3BcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { DataSource } from '@angular/cdk/collections';
|
|
2
|
-
import { BehaviorSubject, merge } from 'rxjs';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
/**
|
|
5
|
-
* Data source for nested tree.
|
|
6
|
-
*
|
|
7
|
-
* The data source for nested tree doesn't have to consider node flattener, or the way to expand
|
|
8
|
-
* or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.
|
|
9
|
-
*/
|
|
10
|
-
export class KbqTreeNestedDataSource extends DataSource {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this._data = new BehaviorSubject([]);
|
|
14
|
-
}
|
|
15
|
-
get data() {
|
|
16
|
-
return this._data.value;
|
|
17
|
-
}
|
|
18
|
-
set data(value) {
|
|
19
|
-
this._data.next(value);
|
|
20
|
-
}
|
|
21
|
-
connect(collectionViewer) {
|
|
22
|
-
return merge(...[collectionViewer.viewChange, this._data]).pipe(map(() => this.data));
|
|
23
|
-
}
|
|
24
|
-
disconnect() {
|
|
25
|
-
// no op
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL2RhdGEtc291cmNlL25lc3RlZC1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyx1QkFBMkIsU0FBUSxVQUFhO0lBQTdEOztRQVNZLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztJQVNqRCxDQUFDO0lBakJHLElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBSUQsT0FBTyxDQUFDLGdCQUFrQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELFVBQVU7UUFDTixRQUFRO0lBQ1osQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblZpZXdlciwgRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogRGF0YSBzb3VyY2UgZm9yIG5lc3RlZCB0cmVlLlxuICpcbiAqIFRoZSBkYXRhIHNvdXJjZSBmb3IgbmVzdGVkIHRyZWUgZG9lc24ndCBoYXZlIHRvIGNvbnNpZGVyIG5vZGUgZmxhdHRlbmVyLCBvciB0aGUgd2F5IHRvIGV4cGFuZFxuICogb3IgY29sbGFwc2UuIFRoZSBleHBhbnNpb24vY29sbGFwc2lvbiB3aWxsIGJlIGhhbmRsZWQgYnkgVHJlZUNvbnRyb2wgYW5kIGVhY2ggbm9uLWxlYWYgbm9kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEticVRyZWVOZXN0ZWREYXRhU291cmNlPFQ+IGV4dGVuZHMgRGF0YVNvdXJjZTxUPiB7XG4gICAgZ2V0IGRhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIHNldCBkYXRhKHZhbHVlOiBUW10pIHtcbiAgICAgICAgdGhpcy5fZGF0YS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcblxuICAgIGNvbm5lY3QoY29sbGVjdGlvblZpZXdlcjogQ29sbGVjdGlvblZpZXdlcik6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgICAgIHJldHVybiBtZXJnZSguLi5bY29sbGVjdGlvblZpZXdlci52aWV3Q2hhbmdlLCB0aGlzLl9kYXRhIGFzIGFueV0pLnBpcGUobWFwKCgpID0+IHRoaXMuZGF0YSkpO1xuICAgIH1cblxuICAgIGRpc2Nvbm5lY3QoKSB7XG4gICAgICAgIC8vIG5vIG9wXG4gICAgfVxufVxuIl19
|