@ptsecurity/mosaic 13.3.0 → 13.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +6 -6
- package/_theming.scss +7091 -6885
- package/_visual.scss +2690 -2580
- package/autocomplete/autocomplete-origin.directive.d.ts +12 -12
- package/autocomplete/autocomplete-trigger.directive.d.ts +167 -167
- package/autocomplete/autocomplete.component.d.ts +73 -73
- package/autocomplete/autocomplete.module.d.ts +12 -12
- package/autocomplete/index.d.ts +1 -1
- package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +5 -5
- package/autocomplete/public-api.d.ts +4 -4
- package/button/button.component.d.ts +40 -40
- package/button/button.module.d.ts +10 -10
- package/button/index.d.ts +1 -1
- package/button/ptsecurity-mosaic-button.d.ts +5 -5
- package/button/public-api.d.ts +2 -2
- package/button-toggle/button-toggle.component.d.ts +141 -141
- package/button-toggle/button-toggle.module.d.ts +9 -9
- package/button-toggle/index.d.ts +1 -1
- package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +5 -5
- package/button-toggle/public-api.d.ts +2 -2
- package/card/card.component.d.ts +26 -26
- package/card/card.module.d.ts +10 -10
- package/card/index.d.ts +1 -1
- package/card/ptsecurity-mosaic-card.d.ts +5 -5
- package/card/public-api.d.ts +2 -2
- package/checkbox/README.md +1 -1
- package/checkbox/checkbox-config.d.ts +13 -13
- package/checkbox/checkbox-module.d.ts +9 -9
- package/checkbox/checkbox-required-validator.d.ts +13 -13
- package/checkbox/checkbox.d.ts +140 -140
- package/checkbox/index.d.ts +1 -1
- package/checkbox/ptsecurity-mosaic-checkbox.d.ts +5 -5
- package/checkbox/public-api.d.ts +4 -4
- package/core/animation/animation.d.ts +6 -6
- package/core/animation/fade-animations.d.ts +2 -2
- package/core/animation/index.d.ts +3 -3
- package/core/animation/select-animations.d.ts +12 -12
- package/core/common-behaviors/color.d.ts +19 -19
- package/core/common-behaviors/common-module.d.ts +25 -25
- package/core/common-behaviors/constructor.d.ts +9 -9
- package/core/common-behaviors/disabled.d.ts +8 -8
- package/core/common-behaviors/error-state.d.ts +25 -25
- package/core/common-behaviors/index.d.ts +5 -5
- package/core/common-behaviors/tabindex.d.ts +8 -8
- package/core/error/error-options.d.ts +14 -14
- package/core/formatters/date/formatter.d.ts +203 -203
- package/core/formatters/date/templates/en-US.d.ts +74 -74
- package/core/formatters/date/templates/ru-RU.d.ts +74 -74
- package/core/formatters/index.d.ts +9 -9
- package/core/formatters/number/formatter.d.ts +27 -27
- package/core/forms/forms-module.d.ts +7 -7
- package/core/forms/forms.directive.d.ts +22 -22
- package/core/forms/index.d.ts +2 -2
- package/core/highlight/highlight.pipe.d.ts +7 -7
- package/core/highlight/index.d.ts +9 -9
- package/core/index.d.ts +1 -1
- package/core/label/label-options.d.ts +13 -13
- package/core/line/line.d.ts +28 -28
- package/core/option/action.d.ts +42 -42
- package/core/option/index.d.ts +4 -4
- package/core/option/optgroup.d.ts +16 -16
- package/core/option/option-module.d.ts +11 -11
- package/core/option/option.d.ts +115 -115
- package/core/overlay/overlay-position-map.d.ts +34 -34
- package/core/pop-up/constants.d.ts +29 -29
- package/core/pop-up/index.d.ts +3 -3
- package/core/pop-up/pop-up-trigger.d.ts +70 -70
- package/core/pop-up/pop-up.d.ts +36 -36
- package/core/ptsecurity-mosaic-core.d.ts +5 -5
- package/core/public-api.d.ts +17 -17
- package/core/select/constants.d.ts +23 -23
- package/core/select/errors.d.ts +19 -19
- package/core/select/events.d.ts +1 -1
- package/core/select/index.d.ts +3 -3
- package/core/selection/constants.d.ts +4 -4
- package/core/selection/index.d.ts +3 -3
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +21 -21
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +8 -8
- package/core/services/measure-scrollbar.service.d.ts +11 -11
- package/core/utils/index.d.ts +1 -1
- package/core/utils/public-api.d.ts +1 -1
- package/core/utils/utils.d.ts +2 -2
- package/core/validation/index.d.ts +1 -1
- package/core/validation/validation.d.ts +18 -16
- package/core/version.d.ts +2 -2
- package/datepicker/calendar-body.component.d.ts +63 -63
- package/datepicker/calendar.component.d.ts +151 -151
- package/datepicker/datepicker-animations.d.ts +9 -9
- package/datepicker/datepicker-errors.d.ts +2 -2
- package/datepicker/datepicker-input.directive.d.ts +178 -172
- package/datepicker/datepicker-intl.d.ts +32 -32
- package/datepicker/datepicker-module.d.ts +20 -20
- package/datepicker/datepicker-toggle.component.d.ts +35 -35
- package/datepicker/datepicker.component.d.ts +158 -158
- package/datepicker/index.d.ts +1 -1
- package/datepicker/month-view.component.d.ts +93 -93
- package/datepicker/multi-year-view.component.d.ts +72 -72
- package/datepicker/ptsecurity-mosaic-datepicker.d.ts +5 -5
- package/datepicker/public-api.d.ts +11 -11
- package/datepicker/year-view.component.d.ts +90 -90
- package/design-tokens/index.d.ts +1 -1
- package/design-tokens/legacy-2017/tokens/components/alert.json5 +83 -0
- package/design-tokens/legacy-2017/tokens/components/autocomplete.json5 +11 -0
- package/design-tokens/legacy-2017/tokens/components/badge.json5 +174 -0
- package/design-tokens/legacy-2017/tokens/components/button-toggle.json5 +10 -0
- package/design-tokens/legacy-2017/tokens/components/button.json5 +142 -0
- package/design-tokens/legacy-2017/tokens/components/card.json5 +51 -0
- package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +97 -0
- package/design-tokens/legacy-2017/tokens/components/datepicker.json5 +64 -0
- package/design-tokens/legacy-2017/tokens/components/divider.json5 +8 -0
- package/design-tokens/legacy-2017/tokens/components/dl.json5 +38 -0
- package/design-tokens/legacy-2017/tokens/components/dropdown.json5 +48 -0
- package/design-tokens/legacy-2017/tokens/components/form-field.json5 +92 -0
- package/design-tokens/legacy-2017/tokens/components/forms.json5 +52 -0
- package/design-tokens/legacy-2017/tokens/components/icon.json5 +104 -0
- package/design-tokens/legacy-2017/tokens/components/input.json5 +12 -0
- package/design-tokens/legacy-2017/tokens/components/link.json5 +50 -0
- package/design-tokens/legacy-2017/tokens/components/list.json5 +13 -0
- package/design-tokens/legacy-2017/tokens/components/modal.json5 +81 -0
- package/design-tokens/legacy-2017/tokens/components/navbar.json5 +70 -0
- package/design-tokens/legacy-2017/tokens/components/optgroup.json5 +10 -0
- package/design-tokens/legacy-2017/tokens/components/option.json5 +12 -0
- package/design-tokens/legacy-2017/tokens/components/popover.json5 +68 -0
- package/design-tokens/legacy-2017/tokens/components/popup.json5 +18 -0
- package/design-tokens/legacy-2017/tokens/components/progress-bar.json5 +13 -0
- package/design-tokens/legacy-2017/tokens/components/progress-spinner.json5 +7 -0
- package/design-tokens/legacy-2017/tokens/components/radio.json5 +44 -0
- package/design-tokens/legacy-2017/tokens/components/select.json5 +24 -0
- package/design-tokens/legacy-2017/tokens/components/sidepanel.json5 +32 -0
- package/design-tokens/legacy-2017/tokens/components/table.json5 +15 -0
- package/design-tokens/legacy-2017/tokens/components/tabs.json5 +101 -0
- package/design-tokens/legacy-2017/tokens/components/tags.json5 +134 -0
- package/design-tokens/legacy-2017/tokens/components/textarea.json5 +12 -0
- package/design-tokens/legacy-2017/tokens/components/timepicker.json5 +7 -0
- package/design-tokens/legacy-2017/tokens/components/toggle.json5 +79 -0
- package/design-tokens/legacy-2017/tokens/components/tooltip.json5 +83 -0
- package/design-tokens/legacy-2017/tokens/components/tree.json5 +15 -0
- package/design-tokens/legacy-2017/tokens/properties/aliases.json5 +3 -0
- package/design-tokens/legacy-2017/tokens/properties/colors.json5 +118 -0
- package/design-tokens/legacy-2017/tokens/properties/font.json5 +12 -0
- package/design-tokens/legacy-2017/tokens/properties/globals.json5 +49 -0
- package/design-tokens/legacy-2017/tokens/properties/padding.json5 +3 -0
- package/design-tokens/legacy-2017/tokens/properties/palette.json5 +163 -0
- package/design-tokens/legacy-2017/tokens/properties/typography.json5 +175 -0
- package/design-tokens/legacy-2017/tokens.d.ts +7839 -7758
- package/design-tokens/pt-2022/tokens/components/alert.json5 +83 -0
- package/design-tokens/pt-2022/tokens/components/autocomplete.json5 +11 -0
- package/design-tokens/pt-2022/tokens/components/badge.json5 +174 -0
- package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +10 -0
- package/design-tokens/pt-2022/tokens/components/button.json5 +142 -0
- package/design-tokens/pt-2022/tokens/components/card.json5 +51 -0
- package/design-tokens/pt-2022/tokens/components/checkbox.json5 +97 -0
- package/design-tokens/pt-2022/tokens/components/datepicker.json5 +64 -0
- package/design-tokens/pt-2022/tokens/components/divider.json5 +8 -0
- package/design-tokens/pt-2022/tokens/components/dl.json5 +38 -0
- package/design-tokens/pt-2022/tokens/components/dropdown.json5 +48 -0
- package/design-tokens/pt-2022/tokens/components/form-field.json5 +92 -0
- package/design-tokens/pt-2022/tokens/components/forms.json5 +52 -0
- package/design-tokens/pt-2022/tokens/components/icon.json5 +104 -0
- package/design-tokens/pt-2022/tokens/components/input.json5 +12 -0
- package/design-tokens/pt-2022/tokens/components/link.json5 +50 -0
- package/design-tokens/pt-2022/tokens/components/list.json5 +13 -0
- package/design-tokens/pt-2022/tokens/components/modal.json5 +81 -0
- package/design-tokens/pt-2022/tokens/components/navbar.json5 +70 -0
- package/design-tokens/pt-2022/tokens/components/optgroup.json5 +10 -0
- package/design-tokens/pt-2022/tokens/components/option.json5 +12 -0
- package/design-tokens/pt-2022/tokens/components/popover.json5 +68 -0
- package/design-tokens/pt-2022/tokens/components/popup.json5 +18 -0
- package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +13 -0
- package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +7 -0
- package/design-tokens/pt-2022/tokens/components/radio.json5 +44 -0
- package/design-tokens/pt-2022/tokens/components/select.json5 +24 -0
- package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +32 -0
- package/design-tokens/pt-2022/tokens/components/table.json5 +15 -0
- package/design-tokens/pt-2022/tokens/components/tabs.json5 +101 -0
- package/design-tokens/pt-2022/tokens/components/tags.json5 +137 -0
- package/design-tokens/pt-2022/tokens/components/textarea.json5 +12 -0
- package/design-tokens/pt-2022/tokens/components/timepicker.json5 +7 -0
- package/design-tokens/pt-2022/tokens/components/toggle.json5 +79 -0
- package/design-tokens/pt-2022/tokens/components/tooltip.json5 +83 -0
- package/design-tokens/pt-2022/tokens/components/tree.json5 +15 -0
- package/design-tokens/pt-2022/tokens/properties/aliases.json5 +3 -0
- package/design-tokens/pt-2022/tokens/properties/colors.json5 +120 -0
- package/design-tokens/pt-2022/tokens/properties/font.json5 +15 -0
- package/design-tokens/pt-2022/tokens/properties/globals.json5 +49 -0
- package/design-tokens/pt-2022/tokens/properties/padding.json5 +3 -0
- package/design-tokens/pt-2022/tokens/properties/palette.json5 +233 -0
- package/design-tokens/pt-2022/tokens/properties/typography.json5 +175 -0
- package/design-tokens/pt-2022/tokens.d.ts +9171 -8795
- package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +5 -5
- package/design-tokens/public-api.d.ts +3 -3
- package/design-tokens/style-dictionary/build.js +63 -0
- package/design-tokens/style-dictionary/configs/css.js +13 -0
- package/design-tokens/style-dictionary/configs/index.js +48 -0
- package/design-tokens/style-dictionary/configs/js.js +9 -0
- package/design-tokens/style-dictionary/configs/scss.js +23 -0
- package/design-tokens/style-dictionary/filters/color.js +7 -0
- package/design-tokens/style-dictionary/filters/palette.js +7 -0
- package/design-tokens/style-dictionary/filters/size.js +7 -0
- package/design-tokens/style-dictionary/filters/typography.js +7 -0
- package/design-tokens/style-dictionary/formats/palette.js +25 -0
- package/design-tokens/style-dictionary/formats/typography.js +52 -0
- package/design-tokens/style-dictionary/transformGroups/css.js +13 -0
- package/design-tokens/style-dictionary/transformGroups/scss.js +12 -0
- package/design-tokens/style-dictionary/transformGroups/ts.js +11 -0
- package/design-tokens/style-dictionary/transforms/attribute/palette.js +9 -0
- package/design-tokens/style-dictionary/transforms/attribute/prefix.js +11 -0
- package/design-tokens/style-dictionary/transforms/attribute/size.js +8 -0
- package/design-tokens/style-dictionary/transforms/attribute/typography.js +9 -0
- package/divider/divider.component.d.ts +11 -11
- package/divider/divider.module.d.ts +8 -8
- package/divider/index.d.ts +1 -1
- package/divider/ptsecurity-mosaic-divider.d.ts +5 -5
- package/divider/public-api.d.ts +2 -2
- package/dl/dl.component.d.ts +26 -26
- package/dl/dl.module.d.ts +10 -10
- package/dl/index.d.ts +1 -1
- package/dl/ptsecurity-mosaic-dl.d.ts +5 -5
- package/dl/public-api.d.ts +2 -2
- package/dropdown/dropdown-animations.d.ts +11 -11
- package/dropdown/dropdown-content.directive.d.ts +32 -32
- package/dropdown/dropdown-errors.d.ts +17 -17
- package/dropdown/dropdown-item.component.d.ts +50 -50
- package/dropdown/dropdown-trigger.directive.d.ts +136 -135
- package/dropdown/dropdown.component.d.ts +121 -121
- package/dropdown/dropdown.module.d.ts +13 -13
- package/dropdown/dropdown.types.d.ts +53 -53
- package/dropdown/index.d.ts +1 -1
- package/dropdown/ptsecurity-mosaic-dropdown.d.ts +5 -5
- package/dropdown/public-api.d.ts +8 -8
- package/esm2020/autocomplete/autocomplete-origin.directive.mjs +21 -21
- package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +555 -555
- package/esm2020/autocomplete/autocomplete.component.mjs +154 -154
- package/esm2020/autocomplete/autocomplete.module.mjs +34 -34
- package/esm2020/autocomplete/index.mjs +2 -2
- package/esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs +4 -4
- package/esm2020/autocomplete/public-api.mjs +5 -5
- package/esm2020/button/button.component.mjs +137 -137
- package/esm2020/button/button.module.mjs +38 -38
- package/esm2020/button/index.mjs +2 -2
- package/esm2020/button/ptsecurity-mosaic-button.mjs +4 -4
- package/esm2020/button/public-api.mjs +3 -3
- package/esm2020/button-toggle/button-toggle.component.mjs +362 -362
- package/esm2020/button-toggle/button-toggle.module.mjs +19 -19
- package/esm2020/button-toggle/index.mjs +2 -2
- package/esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs +4 -4
- package/esm2020/button-toggle/public-api.mjs +3 -3
- package/esm2020/card/card.component.mjs +80 -80
- package/esm2020/card/card.module.mjs +30 -30
- package/esm2020/card/index.mjs +2 -2
- package/esm2020/card/ptsecurity-mosaic-card.mjs +4 -4
- package/esm2020/card/public-api.mjs +3 -3
- package/esm2020/checkbox/checkbox-config.mjs +6 -6
- package/esm2020/checkbox/checkbox-module.mjs +19 -19
- package/esm2020/checkbox/checkbox-required-validator.mjs +27 -27
- package/esm2020/checkbox/checkbox.mjs +316 -315
- package/esm2020/checkbox/index.mjs +2 -2
- package/esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs +4 -4
- package/esm2020/checkbox/public-api.mjs +5 -5
- package/esm2020/core/animation/animation.mjs +8 -8
- package/esm2020/core/animation/fade-animations.mjs +9 -9
- package/esm2020/core/animation/index.mjs +4 -4
- package/esm2020/core/animation/select-animations.mjs +45 -45
- package/esm2020/core/common-behaviors/color.mjs +30 -30
- package/esm2020/core/common-behaviors/common-module.mjs +83 -83
- package/esm2020/core/common-behaviors/constructor.mjs +2 -2
- package/esm2020/core/common-behaviors/disabled.mjs +17 -17
- package/esm2020/core/common-behaviors/error-state.mjs +31 -31
- package/esm2020/core/common-behaviors/index.mjs +6 -6
- package/esm2020/core/common-behaviors/tabindex.mjs +18 -18
- package/esm2020/core/error/error-options.mjs +26 -26
- package/esm2020/core/formatters/date/formatter.mjs +359 -359
- package/esm2020/core/formatters/date/templates/en-US.mjs +281 -281
- package/esm2020/core/formatters/date/templates/ru-RU.mjs +281 -281
- package/esm2020/core/formatters/index.mjs +20 -20
- package/esm2020/core/formatters/number/formatter.mjs +105 -105
- package/esm2020/core/forms/forms-module.mjs +24 -24
- package/esm2020/core/forms/forms.directive.mjs +66 -66
- package/esm2020/core/forms/index.mjs +3 -3
- package/esm2020/core/highlight/highlight.pipe.mjs +17 -17
- package/esm2020/core/highlight/index.mjs +19 -19
- package/esm2020/core/index.mjs +2 -2
- package/esm2020/core/label/label-options.mjs +4 -4
- package/esm2020/core/line/line.mjs +70 -70
- package/esm2020/core/option/action.mjs +121 -121
- package/esm2020/core/option/index.mjs +5 -5
- package/esm2020/core/option/optgroup.mjs +31 -31
- package/esm2020/core/option/option-module.mjs +21 -21
- package/esm2020/core/option/option.mjs +257 -257
- package/esm2020/core/overlay/overlay-position-map.mjs +244 -244
- package/esm2020/core/pop-up/constants.mjs +34 -34
- package/esm2020/core/pop-up/index.mjs +4 -4
- package/esm2020/core/pop-up/pop-up-trigger.mjs +239 -239
- package/esm2020/core/pop-up/pop-up.mjs +94 -94
- package/esm2020/core/ptsecurity-mosaic-core.mjs +4 -4
- package/esm2020/core/public-api.mjs +18 -18
- package/esm2020/core/select/constants.mjs +27 -27
- package/esm2020/core/select/errors.mjs +26 -26
- package/esm2020/core/select/events.mjs +2 -2
- package/esm2020/core/select/index.mjs +4 -4
- package/esm2020/core/selection/constants.mjs +6 -6
- package/esm2020/core/selection/index.mjs +4 -4
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +37 -37
- package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +18 -18
- package/esm2020/core/services/measure-scrollbar.service.mjs +48 -48
- package/esm2020/core/utils/index.mjs +2 -2
- package/esm2020/core/utils/public-api.mjs +2 -2
- package/esm2020/core/utils/utils.mjs +5 -5
- package/esm2020/core/validation/index.mjs +2 -2
- package/esm2020/core/validation/validation.mjs +118 -89
- package/esm2020/core/version.mjs +3 -3
- package/esm2020/datepicker/calendar-body.component.mjs +106 -106
- package/esm2020/datepicker/calendar.component.mjs +362 -362
- package/esm2020/datepicker/datepicker-animations.mjs +32 -32
- package/esm2020/datepicker/datepicker-errors.mjs +6 -6
- package/esm2020/datepicker/datepicker-input.directive.mjs +936 -900
- package/esm2020/datepicker/datepicker-intl.mjs +40 -40
- package/esm2020/datepicker/datepicker-module.mjs +107 -107
- package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -86
- package/esm2020/datepicker/datepicker.component.mjs +408 -408
- package/esm2020/datepicker/index.mjs +2 -2
- package/esm2020/datepicker/month-view.component.mjs +257 -257
- package/esm2020/datepicker/multi-year-view.component.mjs +218 -218
- package/esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs +4 -4
- package/esm2020/datepicker/public-api.mjs +12 -12
- package/esm2020/datepicker/year-view.component.mjs +253 -253
- package/esm2020/design-tokens/index.mjs +2 -2
- package/esm2020/design-tokens/legacy-2017/tokens.mjs +1133 -1052
- package/esm2020/design-tokens/pt-2022/tokens.mjs +1203 -1112
- package/esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs +4 -4
- package/esm2020/design-tokens/public-api.mjs +4 -4
- package/esm2020/divider/divider.component.mjs +39 -39
- package/esm2020/divider/divider.module.mjs +18 -18
- package/esm2020/divider/index.mjs +2 -2
- package/esm2020/divider/ptsecurity-mosaic-divider.mjs +4 -4
- package/esm2020/divider/public-api.mjs +3 -3
- package/esm2020/dl/dl.component.mjs +78 -78
- package/esm2020/dl/dl.module.mjs +42 -42
- package/esm2020/dl/index.mjs +2 -2
- package/esm2020/dl/ptsecurity-mosaic-dl.mjs +4 -4
- package/esm2020/dl/public-api.mjs +3 -3
- package/esm2020/dropdown/dropdown-animations.mjs +41 -41
- package/esm2020/dropdown/dropdown-content.directive.mjs +64 -64
- package/esm2020/dropdown/dropdown-errors.mjs +29 -29
- package/esm2020/dropdown/dropdown-item.component.mjs +139 -139
- package/esm2020/dropdown/dropdown-trigger.directive.mjs +489 -485
- package/esm2020/dropdown/dropdown.component.mjs +292 -292
- package/esm2020/dropdown/dropdown.module.mjs +50 -50
- package/esm2020/dropdown/dropdown.types.mjs +24 -24
- package/esm2020/dropdown/index.mjs +2 -2
- package/esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs +4 -4
- package/esm2020/dropdown/public-api.mjs +9 -9
- package/esm2020/form-field/cleaner.mjs +23 -23
- package/esm2020/form-field/form-field-control.mjs +5 -5
- package/esm2020/form-field/form-field-errors.mjs +7 -7
- package/esm2020/form-field/form-field.mjs +225 -225
- package/esm2020/form-field/form-field.module.mjs +57 -57
- package/esm2020/form-field/hint.mjs +23 -23
- package/esm2020/form-field/index.mjs +2 -2
- package/esm2020/form-field/password-hint.mjs +134 -134
- package/esm2020/form-field/prefix.mjs +13 -13
- package/esm2020/form-field/ptsecurity-mosaic-form-field.mjs +4 -4
- package/esm2020/form-field/public-api.mjs +11 -11
- package/esm2020/form-field/stepper.mjs +55 -55
- package/esm2020/form-field/suffix.mjs +13 -13
- package/esm2020/icon/icon.component.mjs +44 -44
- package/esm2020/icon/icon.module.mjs +38 -38
- package/esm2020/icon/index.mjs +2 -2
- package/esm2020/icon/ptsecurity-mosaic-icon.mjs +4 -4
- package/esm2020/icon/public-api.mjs +3 -3
- package/esm2020/index.mjs +2 -2
- package/esm2020/input/index.mjs +2 -2
- package/esm2020/input/input-errors.mjs +4 -4
- package/esm2020/input/input-number-validators.mjs +92 -92
- package/esm2020/input/input-number.mjs +163 -163
- package/esm2020/input/input-password.mjs +368 -368
- package/esm2020/input/input-value-accessor.mjs +3 -3
- package/esm2020/input/input.mjs +334 -334
- package/esm2020/input/input.module.mjs +65 -65
- package/esm2020/input/ptsecurity-mosaic-input.mjs +4 -4
- package/esm2020/input/public-api.mjs +7 -7
- package/esm2020/link/index.mjs +2 -2
- package/esm2020/link/link.component.mjs +107 -107
- package/esm2020/link/link.module.mjs +26 -26
- package/esm2020/link/ptsecurity-mosaic-link.mjs +4 -4
- package/esm2020/link/public-api.mjs +3 -3
- package/esm2020/list/index.mjs +2 -2
- package/esm2020/list/list-selection.component.mjs +686 -687
- package/esm2020/list/list.component.mjs +44 -44
- package/esm2020/list/list.module.mjs +55 -55
- package/esm2020/list/ptsecurity-mosaic-list.mjs +4 -4
- package/esm2020/list/public-api.mjs +4 -4
- package/esm2020/modal/css-unit.pipe.mjs +17 -17
- package/esm2020/modal/index.mjs +2 -2
- package/esm2020/modal/modal-control.service.mjs +85 -85
- package/esm2020/modal/modal-ref.class.mjs +8 -8
- package/esm2020/modal/modal-util.mjs +17 -17
- package/esm2020/modal/modal.component.mjs +501 -501
- package/esm2020/modal/modal.directive.mjs +52 -52
- package/esm2020/modal/modal.module.mjs +72 -72
- package/esm2020/modal/modal.service.mjs +124 -124
- package/esm2020/modal/modal.type.mjs +7 -7
- package/esm2020/modal/ptsecurity-mosaic-modal.mjs +4 -4
- package/esm2020/modal/public-api.mjs +7 -7
- package/esm2020/navbar/index.mjs +2 -2
- package/esm2020/navbar/navbar-item.component.mjs +582 -584
- package/esm2020/navbar/navbar.component.mjs +237 -237
- package/esm2020/navbar/navbar.module.mjs +92 -92
- package/esm2020/navbar/ptsecurity-mosaic-navbar.mjs +4 -4
- package/esm2020/navbar/public-api.mjs +5 -5
- package/esm2020/navbar/vertical-navbar.animation.mjs +10 -10
- package/esm2020/navbar/vertical-navbar.component.mjs +114 -114
- package/esm2020/popover/index.mjs +2 -2
- package/esm2020/popover/popover-animations.mjs +16 -16
- package/esm2020/popover/popover-confirm.component.mjs +108 -108
- package/esm2020/popover/popover.component.mjs +253 -253
- package/esm2020/popover/popover.module.mjs +24 -24
- package/esm2020/popover/ptsecurity-mosaic-popover.mjs +4 -4
- package/esm2020/popover/public-api.mjs +5 -5
- package/esm2020/progress-bar/index.mjs +2 -2
- package/esm2020/progress-bar/progress-bar.component.mjs +42 -42
- package/esm2020/progress-bar/progress-bar.module.mjs +30 -30
- package/esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs +4 -4
- package/esm2020/progress-bar/public-api.mjs +3 -3
- package/esm2020/progress-spinner/index.mjs +2 -2
- package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -46
- package/esm2020/progress-spinner/progress-spinner.module.mjs +30 -30
- package/esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +4 -4
- package/esm2020/progress-spinner/public-api.mjs +3 -3
- package/esm2020/ptsecurity-mosaic.mjs +4 -4
- package/esm2020/public-api.mjs +2 -2
- package/esm2020/radio/index.mjs +2 -2
- package/esm2020/radio/ptsecurity-mosaic-radio.mjs +4 -4
- package/esm2020/radio/public-api.mjs +3 -3
- package/esm2020/radio/radio.component.mjs +458 -458
- package/esm2020/radio/radio.module.mjs +20 -20
- package/esm2020/select/index.mjs +2 -2
- package/esm2020/select/ptsecurity-mosaic-select.mjs +4 -4
- package/esm2020/select/public-api.mjs +4 -4
- package/esm2020/select/select-option.directive.mjs +65 -65
- package/esm2020/select/select.component.mjs +1107 -1110
- package/esm2020/select/select.module.mjs +73 -73
- package/esm2020/sidebar/index.mjs +2 -2
- package/esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs +4 -4
- package/esm2020/sidebar/public-api.mjs +3 -3
- package/esm2020/sidebar/sidebar-animations.mjs +23 -23
- package/esm2020/sidebar/sidebar.component.mjs +146 -146
- package/esm2020/sidebar/sidebar.module.mjs +30 -30
- package/esm2020/sidepanel/index.mjs +2 -2
- package/esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs +4 -4
- package/esm2020/sidepanel/public-api.mjs +7 -7
- package/esm2020/sidepanel/sidepanel-animations.mjs +26 -26
- package/esm2020/sidepanel/sidepanel-config.mjs +26 -26
- package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -106
- package/esm2020/sidepanel/sidepanel-directives.mjs +159 -159
- package/esm2020/sidepanel/sidepanel-ref.mjs +53 -53
- package/esm2020/sidepanel/sidepanel.module.mjs +74 -74
- package/esm2020/sidepanel/sidepanel.service.mjs +167 -167
- package/esm2020/splitter/index.mjs +2 -2
- package/esm2020/splitter/ptsecurity-mosaic-splitter.mjs +4 -4
- package/esm2020/splitter/public-api.mjs +3 -3
- package/esm2020/splitter/splitter.component.mjs +482 -482
- package/esm2020/splitter/splitter.module.mjs +40 -40
- package/esm2020/table/index.mjs +2 -2
- package/esm2020/table/ptsecurity-mosaic-table.mjs +4 -4
- package/esm2020/table/public-api.mjs +3 -3
- package/esm2020/table/table.component.mjs +16 -16
- package/esm2020/table/table.module.mjs +30 -30
- package/esm2020/tabs/index.mjs +2 -2
- package/esm2020/tabs/paginated-tab-header.mjs +479 -479
- package/esm2020/tabs/ptsecurity-mosaic-tabs.mjs +4 -4
- package/esm2020/tabs/public-api.mjs +11 -11
- package/esm2020/tabs/tab-body.component.mjs +178 -178
- package/esm2020/tabs/tab-content.directive.mjs +15 -15
- package/esm2020/tabs/tab-group.component.mjs +350 -350
- package/esm2020/tabs/tab-header.component.mjs +67 -67
- package/esm2020/tabs/tab-label-wrapper.directive.mjs +78 -78
- package/esm2020/tabs/tab-label.directive.mjs +17 -17
- package/esm2020/tabs/tab-nav-bar/index.mjs +2 -2
- package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -110
- package/esm2020/tabs/tab.component.mjs +133 -133
- package/esm2020/tabs/tabs-animations.mjs +24 -24
- package/esm2020/tabs/tabs.module.mjs +104 -104
- package/esm2020/tags/index.mjs +2 -2
- package/esm2020/tags/ptsecurity-mosaic-tags.mjs +4 -4
- package/esm2020/tags/public-api.mjs +6 -6
- package/esm2020/tags/tag-default-options.mjs +4 -4
- package/esm2020/tags/tag-input.mjs +229 -229
- package/esm2020/tags/tag-list.component.mjs +722 -722
- package/esm2020/tags/tag-text-control.mjs +2 -2
- package/esm2020/tags/tag.component.mjs +375 -377
- package/esm2020/tags/tag.module.mjs +56 -56
- package/esm2020/textarea/index.mjs +2 -2
- package/esm2020/textarea/ptsecurity-mosaic-textarea.mjs +4 -4
- package/esm2020/textarea/public-api.mjs +3 -3
- package/esm2020/textarea/textarea.component.mjs +269 -269
- package/esm2020/textarea/textarea.module.mjs +21 -21
- package/esm2020/timepicker/index.mjs +2 -2
- package/esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs +4 -4
- package/esm2020/timepicker/public-api.mjs +4 -4
- package/esm2020/timepicker/timepicker.constants.mjs +25 -25
- package/esm2020/timepicker/timepicker.directive.mjs +676 -653
- package/esm2020/timepicker/timepicker.module.mjs +34 -34
- package/esm2020/toggle/index.mjs +2 -2
- package/esm2020/toggle/ptsecurity-mosaic-toggle.mjs +4 -4
- package/esm2020/toggle/public-api.mjs +3 -3
- package/esm2020/toggle/toggle.component.mjs +158 -158
- package/esm2020/toggle/toggle.module.mjs +20 -20
- package/esm2020/tooltip/index.mjs +2 -2
- package/esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs +4 -4
- package/esm2020/tooltip/public-api.mjs +3 -3
- package/esm2020/tooltip/tooltip.animations.mjs +19 -19
- package/esm2020/tooltip/tooltip.component.mjs +295 -295
- package/esm2020/tooltip/tooltip.module.mjs +43 -43
- package/esm2020/tree/control/base-tree-control.mjs +60 -60
- package/esm2020/tree/control/flat-tree-control.mjs +123 -123
- package/esm2020/tree/control/nested-tree-control.mjs +41 -41
- package/esm2020/tree/control/tree-control.mjs +2 -2
- package/esm2020/tree/data-source/flat-data-source.mjs +162 -162
- package/esm2020/tree/data-source/nested-data-source.mjs +30 -30
- package/esm2020/tree/index.mjs +2 -2
- package/esm2020/tree/node.mjs +31 -31
- package/esm2020/tree/outlet.mjs +15 -15
- package/esm2020/tree/padding.directive.mjs +110 -113
- package/esm2020/tree/ptsecurity-mosaic-tree.mjs +4 -4
- package/esm2020/tree/public-api.mjs +16 -16
- package/esm2020/tree/toggle.mjs +80 -80
- package/esm2020/tree/tree-base.mjs +243 -243
- package/esm2020/tree/tree-errors.mjs +36 -36
- package/esm2020/tree/tree-option.component.mjs +236 -234
- package/esm2020/tree/tree-selection.component.mjs +540 -535
- package/esm2020/tree/tree.mjs +15 -15
- package/esm2020/tree/tree.module.mjs +57 -53
- package/esm2020/tree-select/index.mjs +2 -2
- package/esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs +4 -4
- package/esm2020/tree-select/public-api.mjs +3 -3
- package/esm2020/tree-select/tree-select.component.mjs +924 -925
- package/esm2020/tree-select/tree-select.module.mjs +47 -47
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +726 -726
- package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +367 -367
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.mjs +160 -160
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-card.mjs +96 -96
- package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs +349 -348
- package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +2642 -2613
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2687 -2649
- package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +2426 -2173
- package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-divider.mjs +48 -48
- package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dl.mjs +108 -108
- package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1069 -1065
- package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.mjs +506 -506
- package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-icon.mjs +73 -73
- package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-input.mjs +975 -975
- package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-link.mjs +121 -121
- package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.mjs +762 -763
- package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-modal.mjs +824 -824
- package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.mjs +993 -995
- package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.mjs +364 -364
- package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +61 -61
- package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +65 -65
- package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-radio.mjs +464 -464
- package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.mjs +1203 -1205
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs +185 -185
- package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +555 -555
- package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.mjs +511 -511
- package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-table.mjs +36 -36
- package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tabs.mjs +1460 -1460
- package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.mjs +1342 -1344
- package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-textarea.mjs +274 -274
- package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs +718 -695
- package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toggle.mjs +163 -163
- package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs +344 -344
- package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +940 -940
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.mjs +1682 -1676
- package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +722 -722
- package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +365 -365
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button.mjs +160 -160
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-card.mjs +96 -96
- package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs +347 -346
- package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +2671 -2642
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs +2672 -2635
- package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +2426 -2173
- package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-divider.mjs +48 -48
- package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dl.mjs +108 -108
- package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs +1056 -1052
- package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-form-field.mjs +491 -491
- package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-icon.mjs +71 -71
- package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-input.mjs +964 -964
- package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-link.mjs +120 -120
- package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-list.mjs +755 -756
- package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-modal.mjs +820 -820
- package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-navbar.mjs +977 -979
- package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-popover.mjs +360 -360
- package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +61 -61
- package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +65 -65
- package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-radio.mjs +462 -462
- package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-select.mjs +1198 -1201
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs +185 -185
- package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +552 -552
- package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-splitter.mjs +511 -511
- package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-table.mjs +36 -36
- package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tabs.mjs +1445 -1445
- package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tags.mjs +1335 -1337
- package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-textarea.mjs +272 -272
- package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs +715 -692
- package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-toggle.mjs +163 -163
- package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs +336 -336
- package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +937 -938
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree.mjs +1669 -1663
- package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic.mjs +2 -2
- package/form-field/cleaner.d.ts +7 -7
- package/form-field/form-field-control.d.ts +37 -37
- package/form-field/form-field-errors.d.ts +2 -2
- package/form-field/form-field.d.ts +69 -69
- package/form-field/form-field.module.d.ts +15 -15
- package/form-field/hint.d.ts +6 -6
- package/form-field/index.d.ts +1 -1
- package/form-field/password-hint.d.ts +40 -40
- package/form-field/prefix.d.ts +5 -5
- package/form-field/ptsecurity-mosaic-form-field.d.ts +5 -5
- package/form-field/public-api.d.ts +10 -10
- package/form-field/stepper.d.ts +11 -11
- package/form-field/suffix.d.ts +5 -5
- package/icon/icon.component.d.ts +18 -18
- package/icon/icon.module.d.ts +10 -10
- package/icon/index.d.ts +1 -1
- package/icon/ptsecurity-mosaic-icon.d.ts +5 -5
- package/icon/public-api.d.ts +2 -2
- package/index.d.ts +1 -1
- package/input/index.d.ts +1 -1
- package/input/input-errors.d.ts +1 -1
- package/input/input-number-validators.d.ts +39 -39
- package/input/input-number.d.ts +33 -33
- package/input/input-password.d.ts +121 -121
- package/input/input-value-accessor.d.ts +4 -4
- package/input/input.d.ts +116 -116
- package/input/input.module.d.ts +14 -14
- package/input/ptsecurity-mosaic-input.d.ts +5 -5
- package/input/public-api.d.ts +6 -6
- package/link/index.d.ts +1 -1
- package/link/link.component.d.ts +38 -38
- package/link/link.module.d.ts +9 -9
- package/link/ptsecurity-mosaic-link.d.ts +5 -5
- package/link/public-api.d.ts +2 -2
- package/list/index.d.ts +1 -1
- package/list/list-selection.component.d.ts +168 -168
- package/list/list.component.d.ts +18 -18
- package/list/list.module.d.ts +11 -11
- package/list/ptsecurity-mosaic-list.d.ts +5 -5
- package/list/public-api.d.ts +3 -3
- package/modal/README.md +33 -33
- package/modal/css-unit.pipe.d.ts +7 -7
- package/modal/index.d.ts +1 -1
- package/modal/modal-control.service.d.ts +20 -20
- package/modal/modal-ref.class.d.ts +36 -36
- package/modal/modal-util.d.ts +12 -12
- package/modal/modal.component.d.ts +126 -126
- package/modal/modal.directive.d.ts +17 -17
- package/modal/modal.module.d.ts +14 -14
- package/modal/modal.service.d.ts +33 -33
- package/modal/modal.type.d.ts +59 -59
- package/modal/ptsecurity-mosaic-modal.d.ts +5 -5
- package/modal/public-api.d.ts +6 -6
- package/navbar/README.md +41 -41
- package/navbar/index.d.ts +1 -1
- package/navbar/navbar-item.component.d.ts +161 -161
- package/navbar/navbar.component.d.ts +58 -58
- package/navbar/navbar.module.d.ts +14 -14
- package/navbar/ptsecurity-mosaic-navbar.d.ts +5 -5
- package/navbar/public-api.d.ts +4 -4
- package/navbar/vertical-navbar.animation.d.ts +2 -2
- package/navbar/vertical-navbar.component.d.ts +23 -23
- package/package.json +13 -10
- package/popover/README.md +32 -32
- package/popover/index.d.ts +1 -1
- package/popover/popover-animations.d.ts +4 -4
- package/popover/popover-confirm.component.d.ts +33 -33
- package/popover/popover.component.d.ts +74 -74
- package/popover/popover.module.d.ts +12 -12
- package/popover/ptsecurity-mosaic-popover.d.ts +5 -5
- package/popover/public-api.d.ts +4 -4
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/progress-bar/index.d.ts +1 -1
- package/progress-bar/progress-bar.component.d.ts +18 -18
- package/progress-bar/progress-bar.module.d.ts +9 -9
- package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +5 -5
- package/progress-bar/public-api.d.ts +2 -2
- package/progress-spinner/index.d.ts +1 -1
- package/progress-spinner/progress-spinner.component.d.ts +19 -19
- package/progress-spinner/progress-spinner.module.d.ts +9 -9
- package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +5 -5
- package/progress-spinner/public-api.d.ts +2 -2
- package/ptsecurity-mosaic.d.ts +5 -5
- package/public-api.d.ts +1 -1
- package/radio/index.d.ts +1 -1
- package/radio/ptsecurity-mosaic-radio.d.ts +5 -5
- package/radio/public-api.d.ts +2 -2
- package/radio/radio.component.d.ts +207 -207
- package/radio/radio.module.d.ts +10 -10
- package/schematics/README.md +35 -35
- package/select/index.d.ts +1 -1
- package/select/ptsecurity-mosaic-select.d.ts +5 -5
- package/select/public-api.d.ts +3 -3
- package/select/select-option.directive.d.ts +20 -20
- package/select/select.component.d.ts +307 -307
- package/select/select.module.d.ts +15 -15
- package/sidebar/index.d.ts +1 -1
- package/sidebar/ptsecurity-mosaic-sidebar.d.ts +5 -5
- package/sidebar/public-api.d.ts +2 -2
- package/sidebar/sidebar-animations.d.ts +8 -8
- package/sidebar/sidebar.component.d.ts +53 -53
- package/sidebar/sidebar.module.d.ts +8 -8
- package/sidepanel/index.d.ts +1 -1
- package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +5 -5
- package/sidepanel/public-api.d.ts +6 -6
- package/sidepanel/sidepanel-animations.d.ts +14 -14
- package/sidepanel/sidepanel-config.d.ts +25 -25
- package/sidepanel/sidepanel-container.component.d.ts +45 -45
- package/sidepanel/sidepanel-directives.d.ts +50 -50
- package/sidepanel/sidepanel-ref.d.ts +24 -24
- package/sidepanel/sidepanel.module.d.ts +15 -15
- package/sidepanel/sidepanel.service.d.ts +57 -57
- package/splitter/index.d.ts +1 -1
- package/splitter/ptsecurity-mosaic-splitter.d.ts +5 -5
- package/splitter/public-api.d.ts +2 -2
- package/splitter/splitter.component.d.ts +130 -130
- package/splitter/splitter.module.d.ts +9 -9
- package/table/index.d.ts +1 -1
- package/table/ptsecurity-mosaic-table.d.ts +5 -5
- package/table/public-api.d.ts +2 -2
- package/table/table.component.d.ts +5 -5
- package/table/table.module.d.ts +10 -10
- package/tabs/index.d.ts +1 -1
- package/tabs/paginated-tab-header.d.ts +179 -179
- package/tabs/ptsecurity-mosaic-tabs.d.ts +5 -5
- package/tabs/public-api.d.ts +10 -10
- package/tabs/tab-body.component.d.ts +95 -95
- package/tabs/tab-content.directive.d.ts +9 -9
- package/tabs/tab-group.component.d.ts +133 -133
- package/tabs/tab-header.component.d.ts +35 -35
- package/tabs/tab-label-wrapper.directive.d.ts +30 -30
- package/tabs/tab-label.directive.d.ts +9 -9
- package/tabs/tab-nav-bar/index.d.ts +1 -1
- package/tabs/tab-nav-bar/tab-nav-bar.d.ts +38 -38
- package/tabs/tab.component.d.ts +66 -66
- package/tabs/tabs-animations.d.ts +4 -4
- package/tabs/tabs.module.d.ts +20 -20
- package/tags/index.d.ts +1 -1
- package/tags/ptsecurity-mosaic-tags.d.ts +5 -5
- package/tags/public-api.d.ts +5 -5
- package/tags/tag-default-options.d.ts +8 -8
- package/tags/tag-input.d.ts +77 -77
- package/tags/tag-list.component.d.ts +240 -240
- package/tags/tag-text-control.d.ts +10 -10
- package/tags/tag.component.d.ts +135 -135
- package/tags/tag.module.d.ts +11 -11
- package/textarea/index.d.ts +1 -1
- package/textarea/ptsecurity-mosaic-textarea.d.ts +5 -5
- package/textarea/public-api.d.ts +2 -2
- package/textarea/textarea.component.d.ts +111 -111
- package/textarea/textarea.module.d.ts +11 -11
- package/timepicker/index.d.ts +1 -1
- package/timepicker/ptsecurity-mosaic-timepicker.d.ts +5 -5
- package/timepicker/public-api.d.ts +3 -3
- package/timepicker/timepicker.constants.d.ts +20 -20
- package/timepicker/timepicker.directive.d.ts +147 -142
- package/timepicker/timepicker.module.d.ts +11 -11
- package/toggle/index.d.ts +1 -1
- package/toggle/ptsecurity-mosaic-toggle.d.ts +5 -5
- package/toggle/public-api.d.ts +2 -2
- package/toggle/toggle.component.d.ts +54 -54
- package/toggle/toggle.module.d.ts +10 -10
- package/tooltip/index.d.ts +1 -1
- package/tooltip/ptsecurity-mosaic-tooltip.d.ts +5 -5
- package/tooltip/public-api.d.ts +2 -2
- package/tooltip/tooltip.animations.d.ts +8 -8
- package/tooltip/tooltip.component.d.ts +91 -91
- package/tooltip/tooltip.module.d.ts +9 -9
- package/tree/control/base-tree-control.d.ts +40 -40
- package/tree/control/flat-tree-control.d.ts +48 -48
- package/tree/control/nested-tree-control.d.ts +19 -19
- package/tree/control/tree-control.d.ts +44 -44
- package/tree/data-source/flat-data-source.d.ts +80 -80
- package/tree/data-source/nested-data-source.d.ts +15 -15
- package/tree/index.d.ts +1 -1
- package/tree/node.d.ts +34 -34
- package/tree/outlet.d.ts +9 -9
- package/tree/padding.directive.d.ts +45 -47
- package/tree/ptsecurity-mosaic-tree.d.ts +5 -5
- package/tree/public-api.d.ts +15 -15
- package/tree/toggle.d.ts +28 -28
- package/tree/tree-base.d.ts +97 -97
- package/tree/tree-errors.d.ts +25 -25
- package/tree/tree-option.component.d.ts +68 -68
- package/tree/tree-selection.component.d.ts +132 -130
- package/tree/tree.d.ts +6 -6
- package/tree/tree.module.d.ts +16 -16
- package/tree-select/index.d.ts +1 -1
- package/tree-select/ptsecurity-mosaic-tree-select.d.ts +5 -5
- package/tree-select/public-api.d.ts +2 -2
- package/tree-select/tree-select.component.d.ts +269 -269
- package/tree-select/tree-select.module.d.ts +14 -14
- package/schematics/collection.json +0 -4
- package/schematics/migration.json +0 -10
- package/schematics/ng-update/data/attribute-selectors.d.ts +0 -2
- package/schematics/ng-update/data/attribute-selectors.js +0 -5
- package/schematics/ng-update/data/attribute-selectors.js.map +0 -1
- package/schematics/ng-update/data/class-names.d.ts +0 -2
- package/schematics/ng-update/data/class-names.js +0 -5
- package/schematics/ng-update/data/class-names.js.map +0 -1
- package/schematics/ng-update/data/constructor-checks.d.ts +0 -2
- package/schematics/ng-update/data/constructor-checks.js +0 -5
- package/schematics/ng-update/data/constructor-checks.js.map +0 -1
- package/schematics/ng-update/data/css-selectors.d.ts +0 -2
- package/schematics/ng-update/data/css-selectors.js +0 -5
- package/schematics/ng-update/data/css-selectors.js.map +0 -1
- package/schematics/ng-update/data/element-selectors.d.ts +0 -2
- package/schematics/ng-update/data/element-selectors.js +0 -5
- package/schematics/ng-update/data/element-selectors.js.map +0 -1
- package/schematics/ng-update/data/index.d.ts +0 -10
- package/schematics/ng-update/data/index.js +0 -14
- package/schematics/ng-update/data/index.js.map +0 -1
- package/schematics/ng-update/data/input-names.d.ts +0 -2
- package/schematics/ng-update/data/input-names.js +0 -35
- package/schematics/ng-update/data/input-names.js.map +0 -1
- package/schematics/ng-update/data/method-call-checks.d.ts +0 -2
- package/schematics/ng-update/data/method-call-checks.js +0 -5
- package/schematics/ng-update/data/method-call-checks.js.map +0 -1
- package/schematics/ng-update/data/output-names.d.ts +0 -2
- package/schematics/ng-update/data/output-names.js +0 -5
- package/schematics/ng-update/data/output-names.js.map +0 -1
- package/schematics/ng-update/data/property-names.d.ts +0 -2
- package/schematics/ng-update/data/property-names.js +0 -5
- package/schematics/ng-update/data/property-names.js.map +0 -1
- package/schematics/ng-update/data/symbol-removal.d.ts +0 -2
- package/schematics/ng-update/data/symbol-removal.js +0 -5
- package/schematics/ng-update/data/symbol-removal.js.map +0 -1
- package/schematics/ng-update/index.d.ts +0 -2
- package/schematics/ng-update/index.js +0 -23
- package/schematics/ng-update/index.js.map +0 -1
- package/schematics/ng-update/update-9.0.0/mosaic-symbols.json +0 -255
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.d.ts +0 -7
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +0 -154
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +0 -1
- package/schematics/ng-update/upgrade-data.d.ts +0 -2
- package/schematics/ng-update/upgrade-data.js +0 -17
- package/schematics/ng-update/upgrade-data.js.map +0 -1
- package/schematics/tsconfig.json +0 -29
- package/schematics/tsconfig.lib-test.json +0 -8
- package/schematics/tsconfig.lib.json +0 -17
@@ -1,41 +1,41 @@
|
|
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
|
-
/* tslint:disable-next-line:naming-convention */
|
30
|
-
_getDescendants(descendants, dataNode) {
|
31
|
-
descendants.push(dataNode);
|
32
|
-
this.getChildren(dataNode)
|
33
|
-
.pipe(take(1))
|
34
|
-
.subscribe((children) => {
|
35
|
-
if (children && children.length > 0) {
|
36
|
-
children.forEach((child) => this._getDescendants(descendants, child));
|
37
|
-
}
|
38
|
-
});
|
39
|
-
}
|
40
|
-
}
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
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
|
+
/* tslint:disable-next-line:naming-convention */
|
30
|
+
_getDescendants(descendants, dataNode) {
|
31
|
+
descendants.push(dataNode);
|
32
|
+
this.getChildren(dataNode)
|
33
|
+
.pipe(take(1))
|
34
|
+
.subscribe((children) => {
|
35
|
+
if (children && children.length > 0) {
|
36
|
+
children.forEach((child) => this._getDescendants(descendants, child));
|
37
|
+
}
|
38
|
+
});
|
39
|
+
}
|
40
|
+
}
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLXRyZWUtY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90cmVlL2NvbnRyb2wvbmVzdGVkLXRyZWUtY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3RELDhGQUE4RjtBQUM5RixNQUFNLE9BQU8saUJBQXFCLFNBQVEsZUFBa0I7SUFFeEQsdURBQXVEO0lBQ3ZELFlBQW1CLFdBQTZDO1FBQzVELEtBQUssRUFBRSxDQUFDO1FBRE8sZ0JBQVcsR0FBWCxXQUFXLENBQWtDO0lBRWhFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVM7UUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUNsQyxDQUFDLFdBQWdCLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsRUFDNUYsRUFBRSxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCw4RkFBOEY7SUFDOUYsY0FBYyxDQUFDLFFBQVc7UUFDdEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTVDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELHFHQUFxRztJQUNyRyxnREFBZ0Q7SUFDeEMsZUFBZSxDQUFDLFdBQWdCLEVBQUUsUUFBVztRQUNqRCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO2FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNwQixJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUM1RTtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZVRyZWVDb250cm9sIH0gZnJvbSAnLi9iYXNlLXRyZWUtY29udHJvbCc7XHJcblxyXG5cclxuLyoqIE5lc3RlZCB0cmVlIGNvbnRyb2wuIEFibGUgdG8gZXhwYW5kL2NvbGxhcHNlIGEgc3VidHJlZSByZWN1cnNpdmVseSBmb3IgTmVzdGVkTm9kZSB0eXBlLiAqL1xyXG5leHBvcnQgY2xhc3MgTmVzdGVkVHJlZUNvbnRyb2w8VD4gZXh0ZW5kcyBCYXNlVHJlZUNvbnRyb2w8VD4ge1xyXG5cclxuICAgIC8qKiBDb25zdHJ1Y3Qgd2l0aCBuZXN0ZWQgdHJlZSBmdW5jdGlvbiBnZXRDaGlsZHJlbi4gKi9cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBnZXRDaGlsZHJlbjogKGRhdGFOb2RlOiBUKSA9PiBPYnNlcnZhYmxlPFRbXT4pIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXhwYW5kcyBhbGwgZGF0YU5vZGVzIGluIHRoZSB0cmVlLlxyXG4gICAgICpcclxuICAgICAqIFRvIG1ha2UgdGhpcyB3b3JraW5nLCB0aGUgYGRhdGFOb2Rlc2AgdmFyaWFibGUgb2YgdGhlIFRyZWVDb250cm9sIG11c3QgYmUgc2V0IHRvIGFsbCByb290IGxldmVsXHJcbiAgICAgKiBkYXRhIG5vZGVzIG9mIHRoZSB0cmVlLlxyXG4gICAgICovXHJcbiAgICBleHBhbmRBbGwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5leHBhbnNpb25Nb2RlbC5jbGVhcigpO1xyXG4gICAgICAgIGNvbnN0IGFsbE5vZGVzID0gdGhpcy5kYXRhTm9kZXMucmVkdWNlKFxyXG4gICAgICAgICAgICAoYWNjdW11bGF0b3I6IFRbXSwgZGF0YU5vZGUpID0+IFsuLi5hY2N1bXVsYXRvciwgLi4udGhpcy5nZXREZXNjZW5kYW50cyhkYXRhTm9kZSksIGRhdGFOb2RlXSxcclxuICAgICAgICAgICAgW11cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZXhwYW5zaW9uTW9kZWwuc2VsZWN0KC4uLmFsbE5vZGVzKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogR2V0cyBhIGxpc3Qgb2YgZGVzY2VuZGFudCBkYXRhTm9kZXMgb2YgYSBzdWJ0cmVlIHJvb3RlZCBhdCBnaXZlbiBkYXRhIG5vZGUgcmVjdXJzaXZlbHkuICovXHJcbiAgICBnZXREZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IFRbXSB7XHJcbiAgICAgICAgY29uc3QgZGVzY2VuZGFudHMgPSBbXTtcclxuICAgICAgICB0aGlzLl9nZXREZXNjZW5kYW50cyhkZXNjZW5kYW50cywgZGF0YU5vZGUpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGVzY2VuZGFudHMuc3BsaWNlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBBIGhlbHBlciBmdW5jdGlvbiB0byBnZXQgZGVzY2VuZGFudHMgcmVjdXJzaXZlbHkuICovXHJcbiAgICAvLyB0b2RvINC90YPQttC90L4g0L/RgNC40LTRg9C80LDRgtGMINC00YDRg9Cz0L7QtSDQvdCw0LfQstCw0L3QuNC1INC4INC/0L7QvdGP0YLRjCDQsiDRh9C10Lwg0L7RgtC70LjRh9C40LUg0LzQtdC20LTRgyBnZXREZXNjZW5kYW50cyDQuCBfZ2V0RGVzY2VuZGFudHNcclxuICAgIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuYW1pbmctY29udmVudGlvbiAqL1xyXG4gICAgcHJpdmF0ZSBfZ2V0RGVzY2VuZGFudHMoZGVzY2VuZGFudHM6IFRbXSwgZGF0YU5vZGU6IFQpOiB2b2lkIHtcclxuICAgICAgICBkZXNjZW5kYW50cy5wdXNoKGRhdGFOb2RlKTtcclxuXHJcbiAgICAgICAgdGhpcy5nZXRDaGlsZHJlbihkYXRhTm9kZSlcclxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hpbGRyZW4pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChjaGlsZHJlbiAmJiBjaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQ6IFQpID0+IHRoaXMuX2dldERlc2NlbmRhbnRzKGRlc2NlbmRhbnRzLCBjaGlsZCkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
export {};
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvY29udHJvbC90cmVlLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5cclxuLyoqXHJcbiAqIFRyZWUgY29udHJvbCBpbnRlcmZhY2UuIFVzZXIgY2FuIGltcGxlbWVudCBUcmVlQ29udHJvbCB0byBleHBhbmQvY29sbGFwc2UgZGF0YU5vZGVzIGluIHRoZSB0cmVlLlxyXG4gKiBUaGUgVHJlZSB3aWxsIHVzZSB0aGlzIFRyZWVDb250cm9sIHRvIGV4cGFuZC9jb2xsYXBzZSBhIG5vZGUuXHJcbiAqIFVzZXIgY2FuIGFsc28gdXNlIGl0IG91dHNpZGUgdGhlIGA8bWMtdHJlZT5gIHRvIGNvbnRyb2wgdGhlIGV4cGFuc2lvbiBzdGF0dXMgb2YgdGhlIHRyZWUuXHJcbiAqL1xyXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bmFtaW5nLWNvbnZlbnRpb25cclxuZXhwb3J0IGludGVyZmFjZSBUcmVlQ29udHJvbDxUPiB7XHJcbiAgICAvKiogVGhlIHNhdmVkIHRyZWUgbm9kZXMgZGF0YSBmb3IgYGV4cGFuZEFsbGAgYWN0aW9uLiAqL1xyXG4gICAgZGF0YU5vZGVzOiBUW107XHJcblxyXG4gICAgLyoqIFRoZSBleHBhbnNpb24gbW9kZWwgKi9cclxuICAgIGV4cGFuc2lvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxUPjtcclxuXHJcbiAgICBmaWx0ZXJNb2RlbDogU2VsZWN0aW9uTW9kZWw8VD47XHJcblxyXG4gICAgZmlsdGVyVmFsdWU6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+O1xyXG5cclxuICAgIC8qKiBHZXQgZGVwdGggb2YgYSBnaXZlbiBkYXRhIG5vZGUsIHJldHVybiB0aGUgbGV2ZWwgbnVtYmVyLiBUaGlzIGlzIGZvciBmbGF0IHRyZWUgbm9kZS4gKi9cclxuICAgIGdldExldmVsKGRhdGFOb2RlOiBUKTogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0aGUgZGF0YSBub2RlIGlzIGV4cGFuZGFibGUuIFJldHVybnMgdHJ1ZSBpZiBleHBhbmRhYmxlLlxyXG4gICAgICogVGhpcyBpcyBmb3IgZmxhdCB0cmVlIG5vZGUuXHJcbiAgICAgKi9cclxuICAgIGlzRXhwYW5kYWJsZShkYXRhTm9kZTogVCk6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqIEdldHMgYSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuZXZlciB0aGUgZ2l2ZW4gZGF0YSBub2RlJ3MgY2hpbGRyZW4gY2hhbmdlLiAqL1xyXG4gICAgZ2V0Q2hpbGRyZW4oZGF0YU5vZGU6IFQpOiBPYnNlcnZhYmxlPFRbXT47XHJcblxyXG5cclxuICAgIC8qKiBXaGV0aGVyIHRoZSBkYXRhIG5vZGUgaXMgZXhwYW5kZWQgb3IgY29sbGFwc2VkLiBSZXR1cm4gdHJ1ZSBpZiBpdCdzIGV4cGFuZGVkLiAqL1xyXG4gICAgaXNFeHBhbmRlZChkYXRhTm9kZTogVCk6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqIEdldCBhbGwgZGVzY2VuZGFudHMgb2YgYSBkYXRhIG5vZGUgKi9cclxuICAgIGdldERlc2NlbmRhbnRzKGRhdGFOb2RlOiBUKTogYW55W107XHJcblxyXG4gICAgLyoqIEV4cGFuZCBvciBjb2xsYXBzZSBkYXRhIG5vZGUgKi9cclxuICAgIHRvZ2dsZShkYXRhTm9kZTogVCk6IHZvaWQ7XHJcblxyXG4gICAgLyoqIEV4cGFuZCBvbmUgZGF0YSBub2RlICovXHJcbiAgICBleHBhbmQoZGF0YU5vZGU6IFQpOiB2b2lkO1xyXG5cclxuICAgIC8qKiBDb2xsYXBzZSBvbmUgZGF0YSBub2RlICovXHJcbiAgICBjb2xsYXBzZShkYXRhTm9kZTogVCk6IHZvaWQ7XHJcblxyXG4gICAgLyoqIEV4cGFuZCBhbGwgdGhlIGRhdGFOb2RlcyBpbiB0aGUgdHJlZSAqL1xyXG4gICAgZXhwYW5kQWxsKCk6IHZvaWQ7XHJcblxyXG4gICAgLyoqIENvbGxhcHNlIGFsbCB0aGUgZGF0YU5vZGVzIGluIHRoZSB0cmVlICovXHJcbiAgICBjb2xsYXBzZUFsbCgpOiB2b2lkO1xyXG5cclxuICAgIC8qKiBUb2dnbGUgYSBkYXRhIG5vZGUgYnkgZXhwYW5kL2NvbGxhcHNlIGl0IGFuZCBhbGwgaXRzIGRlc2NlbmRhbnRzICovXHJcbiAgICB0b2dnbGVEZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQ7XHJcblxyXG4gICAgLyoqIEV4cGFuZCBhIGRhdGEgbm9kZSBhbmQgYWxsIGl0cyBkZXNjZW5kYW50cyAqL1xyXG4gICAgZXhwYW5kRGVzY2VuZGFudHMoZGF0YU5vZGU6IFQpOiB2b2lkO1xyXG5cclxuICAgIC8qKiBDb2xsYXBzZSBhIGRhdGEgbm9kZSBhbmQgYWxsIGl0cyBkZXNjZW5kYW50cyAqL1xyXG4gICAgY29sbGFwc2VEZXNjZW5kYW50cyhkYXRhTm9kZTogVCk6IHZvaWQ7XHJcbn1cclxuIl19
|
@@ -1,162 +1,162 @@
|
|
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 McTreeFlattener {
|
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
|
56
|
-
.pipe(take(1))
|
57
|
-
.subscribe((children) => {
|
58
|
-
this.flattenChildren(children, level, resultNodes, flatNode);
|
59
|
-
});
|
60
|
-
}
|
61
|
-
}
|
62
|
-
}
|
63
|
-
return resultNodes;
|
64
|
-
}
|
65
|
-
flattenChildren(children, level, resultNodes, parent) {
|
66
|
-
children.forEach((child) => {
|
67
|
-
this.flattenNode(child, level + 1, resultNodes, parent);
|
68
|
-
});
|
69
|
-
}
|
70
|
-
/**
|
71
|
-
* Flatten a list of node type T to flattened version of node F.
|
72
|
-
* Please note that type T may be nested, and the length of `structuredData` may be different
|
73
|
-
* from that of returned list `F[]`.
|
74
|
-
*/
|
75
|
-
flattenNodes(structuredData) {
|
76
|
-
const resultNodes = [];
|
77
|
-
structuredData.forEach((node) => this.flattenNode(node, 0, resultNodes, null));
|
78
|
-
return resultNodes;
|
79
|
-
}
|
80
|
-
/**
|
81
|
-
* Expand flattened node with current expansion status.
|
82
|
-
* The returned list may have different length.
|
83
|
-
*/
|
84
|
-
expandFlattenedNodes(nodes, treeControl) {
|
85
|
-
const results = [];
|
86
|
-
const currentExpand = [];
|
87
|
-
currentExpand[0] = true;
|
88
|
-
nodes.forEach((node) => {
|
89
|
-
let expand = true;
|
90
|
-
for (let i = 0; i <= this.getLevel(node); i++) {
|
91
|
-
expand = expand && currentExpand[i];
|
92
|
-
}
|
93
|
-
if (expand) {
|
94
|
-
results.push(node);
|
95
|
-
}
|
96
|
-
if (this.isExpandable(node)) {
|
97
|
-
currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);
|
98
|
-
}
|
99
|
-
});
|
100
|
-
return results;
|
101
|
-
}
|
102
|
-
}
|
103
|
-
var McTreeDataSourceChangeTypes;
|
104
|
-
(function (McTreeDataSourceChangeTypes) {
|
105
|
-
McTreeDataSourceChangeTypes["Expansion"] = "expansion";
|
106
|
-
McTreeDataSourceChangeTypes["Filter"] = "filter";
|
107
|
-
})(McTreeDataSourceChangeTypes || (McTreeDataSourceChangeTypes = {}));
|
108
|
-
/**
|
109
|
-
* Data source for flat tree.
|
110
|
-
* The data source need to handle expansion/collapsion of the tree node and change the data feed
|
111
|
-
* to `McTree`.
|
112
|
-
* The nested tree nodes of type `T` are flattened through `MсTreeFlattener`, and converted
|
113
|
-
* to type `F` for `McTree` to consume.
|
114
|
-
*/
|
115
|
-
export class McTreeFlatDataSource extends DataSource {
|
116
|
-
constructor(treeControl, treeFlattener, initialData = []) {
|
117
|
-
super();
|
118
|
-
this.treeControl = treeControl;
|
119
|
-
this.treeFlattener = treeFlattener;
|
120
|
-
this.flattenedData = new BehaviorSubject([]);
|
121
|
-
this.expandedData = new BehaviorSubject([]);
|
122
|
-
this.filteredData = new BehaviorSubject([]);
|
123
|
-
this._data = new BehaviorSubject(initialData);
|
124
|
-
}
|
125
|
-
get data() {
|
126
|
-
return this._data.value;
|
127
|
-
}
|
128
|
-
set data(value) {
|
129
|
-
this._data.next(value);
|
130
|
-
this.flattenedData.next(this.treeFlattener.flattenNodes(this.data));
|
131
|
-
this.treeControl.dataNodes = this.flattenedData.value;
|
132
|
-
}
|
133
|
-
connect(collectionViewer) {
|
134
|
-
return merge(collectionViewer.viewChange, this.treeControl.expansionModel.changed
|
135
|
-
.pipe(map((value) => ({ type: McTreeDataSourceChangeTypes.Expansion, value }))), this.treeControl.filterValue
|
136
|
-
.pipe(map((value) => ({ type: McTreeDataSourceChangeTypes.Filter, value }))), this.flattenedData)
|
137
|
-
.pipe(map((changeObj) => {
|
138
|
-
if (changeObj.type === McTreeDataSourceChangeTypes.Filter) {
|
139
|
-
if (changeObj.value && changeObj.value.length > 0) {
|
140
|
-
return this.filterHandler();
|
141
|
-
}
|
142
|
-
else {
|
143
|
-
return this.expansionHandler(changeObj.value);
|
144
|
-
}
|
145
|
-
}
|
146
|
-
return this.expansionHandler(changeObj.value);
|
147
|
-
}));
|
148
|
-
}
|
149
|
-
filterHandler() {
|
150
|
-
this.filteredData.next(this.treeControl.filterModel.selected);
|
151
|
-
return this.filteredData.value;
|
152
|
-
}
|
153
|
-
expansionHandler(_change) {
|
154
|
-
const expandedNodes = this.treeFlattener.expandFlattenedNodes(this.flattenedData.value, this.treeControl);
|
155
|
-
this.expandedData.next(expandedNodes);
|
156
|
-
return this.expandedData.value;
|
157
|
-
}
|
158
|
-
disconnect() {
|
159
|
-
// no op
|
160
|
-
}
|
161
|
-
}
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90cmVlL2RhdGEtc291cmNlL2ZsYXQtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixVQUFVLEVBQW1CLE1BQU0sMEJBQTBCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDeEIsWUFDVyxpQkFBa0UsRUFDbEUsUUFBNkIsRUFDN0IsWUFBa0MsRUFDbEMsV0FBa0U7UUFIbEUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpRDtRQUNsRSxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVEO0lBQzFFLENBQUM7SUFFSixXQUFXLENBQUMsSUFBTyxFQUFFLEtBQWEsRUFBRSxXQUFnQixFQUFFLE1BQWdCO1FBQ2xFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFN0MsSUFBSSxhQUFhLEVBQUU7Z0JBQ2YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUM5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QUksU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQy9DLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDSCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2pEO2FBQ0o7WUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBMkI7UUFDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsVUFBVTtRQUNOLFFBQVE7SUFDWixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uVmlld2VyLCBEYXRhU291cmNlLCBTZWxlY3Rpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICcuLi9jb250cm9sL2ZsYXQtdHJlZS1jb250cm9sJztcbmltcG9ydCB7IFRyZWVDb250cm9sIH0gZnJvbSAnLi4vY29udHJvbC90cmVlLWNvbnRyb2wnO1xuXG5cbi8qKlxuICogVHJlZSBmbGF0dGVuZXIgdG8gY29udmVydCBhIG5vcm1hbCB0eXBlIG9mIG5vZGUgdG8gbm9kZSB3aXRoIGNoaWxkcmVuICYgbGV2ZWwgaW5mb3JtYXRpb24uXG4gKiBUcmFuc2Zvcm0gbmVzdGVkIG5vZGVzIG9mIHR5cGUgYFRgIHRvIGZsYXR0ZW5lZCBub2RlcyBvZiB0eXBlIGBGYC5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGlucHV0IGRhdGEgb2YgdHlwZSBgVGAgaXMgbmVzdGVkLCBhbmQgY29udGFpbnMgaXRzIGNoaWxkcmVuIGRhdGE6XG4gKiAgIFNvbWVOb2RlOiB7XG4gKiAgICAga2V5OiAnRnJ1aXRzJyxcbiAqICAgICBjaGlsZHJlbjogW1xuICogICAgICAgTm9kZU9uZToge1xuICogICAgICAgICBrZXk6ICdBcHBsZScsXG4gKiAgICAgICB9LFxuICogICAgICAgTm9kZVR3bzoge1xuICogICAgICAgIGtleTogJ1BlYXInLFxuICogICAgICB9XG4gKiAgICBdXG4gKiAgfVxuICogIEFmdGVyIGZsYXR0ZW5lciBmbGF0dGVuIHRoZSB0cmVlLCB0aGUgc3RydWN0dXJlIHdpbGwgYmVjb21lXG4gKiAgU29tZU5vZGU6IHtcbiAqICAgIGtleTogJ0ZydWl0cycsXG4gKiAgICBleHBhbmRhYmxlOiB0cnVlLFxuICogICAgbGV2ZWw6IDFcbiAqICB9LFxuICogIE5vZGVPbmU6IHtcbiAqICAgIGtleTogJ0FwcGxlJyxcbiAqICAgIGV4cGFuZGFibGU6IGZhbHNlLFxuICogICAgbGV2ZWw6IDJcbiAqICB9LFxuICogIE5vZGVUd286IHtcbiAqICAga2V5OiAnUGVhcicsXG4gKiAgIGV4cGFuZGFibGU6IGZhbHNlLFxuICogICBsZXZlbDogMlxuICogfVxuICogYW5kIHRoZSBvdXRwdXQgZmxhdHRlbmVkIHR5cGUgaXMgYEZgIHdpdGggYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIE1jVHJlZUZsYXR0ZW5lcjxULCBGPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyB0cmFuc2Zvcm1GdW5jdGlvbjogKG5vZGU6IFQsIGxldmVsOiBudW1iZXIsIHBhcmVudDogRiB8IG51bGwpID0+IEYsXG4gICAgICAgIHB1YmxpYyBnZXRMZXZlbDogKG5vZGU6IEYpID0+IG51bWJlcixcbiAgICAgICAgcHVibGljIGlzRXhwYW5kYWJsZTogKG5vZGU6IEYpID0+IGJvb2xlYW4sXG4gICAgICAgIHB1YmxpYyBnZXRDaGlsZHJlbjogKG5vZGU6IFQpID0+IE9ic2VydmFibGU8VFtdPiB8IFRbXSB8IHVuZGVmaW5lZCB8IG51bGxcbiAgICApIHt9XG5cbiAgICBmbGF0dGVuTm9kZShub2RlOiBULCBsZXZlbDogbnVtYmVyLCByZXN1bHROb2RlczogRltdLCBwYXJlbnQ6IEYgfCBudWxsKTogRltdIHtcbiAgICAgICAgY29uc3QgZmxhdE5vZGUgPSB0aGlzLnRyYW5zZm9ybUZ1bmN0aW9uKG5vZGUsIGxldmVsLCBwYXJlbnQpO1xuICAgICAgICByZXN1bHROb2Rlcy5wdXNoKGZsYXROb2RlKTtcblxuICAgICAgICBpZiAodGhpcy5pc0V4cGFuZGFibGUoZmxhdE5vZGUpKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbk5vZGVzID0gdGhpcy5nZXRDaGlsZHJlbihub2RlKTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkcmVuTm9kZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbk5vZGVzKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZsYXR0ZW5DaGlsZHJlbihjaGlsZHJlbk5vZGVzLCBsZXZlbCwgcmVzdWx0Tm9kZXMsIGZsYXROb2RlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbk5vZGVzXG4gICAgICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hpbGRyZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZsYXR0ZW5DaGlsZHJlbihjaGlsZHJlbiwgbGV2ZWwsIHJlc3VsdE5vZGVzLCBmbGF0Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0Tm9kZXM7XG4gICAgfVxuXG4gICAgZmxhdHRlbkNoaWxkcmVuKGNoaWxkcmVuOiBUW10sIGxldmVsOiBudW1iZXIsIHJlc3VsdE5vZGVzOiBGW10sIHBhcmVudDogRiB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmxhdHRlbk5vZGUoY2hpbGQsIGxldmVsICsgMSwgcmVzdWx0Tm9kZXMsIHBhcmVudCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZsYXR0ZW4gYSBsaXN0IG9mIG5vZGUgdHlwZSBUIHRvIGZsYXR0ZW5lZCB2ZXJzaW9uIG9mIG5vZGUgRi5cbiAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHR5cGUgVCBtYXkgYmUgbmVzdGVkLCBhbmQgdGhlIGxlbmd0aCBvZiBgc3RydWN0dXJlZERhdGFgIG1heSBiZSBkaWZmZXJlbnRcbiAgICAgKiBmcm9tIHRoYXQgb2YgcmV0dXJuZWQgbGlzdCBgRltdYC5cbiAgICAgKi9cbiAgICBmbGF0dGVuTm9kZXMoc3RydWN0dXJlZERhdGE6IFRbXSk6IEZbXSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdE5vZGVzOiBGW10gPSBbXTtcbiAgICAgICAgc3RydWN0dXJlZERhdGEuZm9yRWFjaCgobm9kZSkgPT4gdGhpcy5mbGF0dGVuTm9kZShub2RlLCAwLCByZXN1bHROb2RlcywgbnVsbCkpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHROb2RlcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeHBhbmQgZmxhdHRlbmVkIG5vZGUgd2l0aCBjdXJyZW50IGV4cGFuc2lvbiBzdGF0dXMuXG4gICAgICogVGhlIHJldHVybmVkIGxpc3QgbWF5IGhhdmUgZGlmZmVyZW50IGxlbmd0aC5cbiAgICAgKi9cbiAgICBleHBhbmRGbGF0dGVuZWROb2Rlcyhub2RlczogRltdLCB0cmVlQ29udHJvbDogVHJlZUNvbnRyb2w8Rj4pOiBGW10ge1xuICAgICAgICBjb25zdCByZXN1bHRzOiBGW10gPSBbXTtcbiAgICAgICAgY29uc3QgY3VycmVudEV4cGFuZDogYm9vbGVhbltdID0gW107XG4gICAgICAgIGN1cnJlbnRFeHBhbmRbMF0gPSB0cnVlO1xuXG4gICAgICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgIGxldCBleHBhbmQgPSB0cnVlO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gdGhpcy5nZXRMZXZlbChub2RlKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgZXhwYW5kID0gZXhwYW5kICYmIGN1cnJlbnRFeHBhbmRbaV07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChleHBhbmQpIHsgcmVzdWx0cy5wdXNoKG5vZGUpOyB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRXhwYW5kYWJsZShub2RlKSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRFeHBhbmRbdGhpcy5nZXRMZXZlbChub2RlKSArIDFdID0gdHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxufVxuXG5lbnVtIE1jVHJlZURhdGFTb3VyY2VDaGFuZ2VUeXBlcyB7XG4gICAgRXhwYW5zaW9uID0gJ2V4cGFuc2lvbicsXG4gICAgRmlsdGVyID0gJ2ZpbHRlcidcbn1cblxuLyoqXG4gKiBEYXRhIHNvdXJjZSBmb3IgZmxhdCB0cmVlLlxuICogVGhlIGRhdGEgc291cmNlIG5lZWQgdG8gaGFuZGxlIGV4cGFuc2lvbi9jb2xsYXBzaW9uIG9mIHRoZSB0cmVlIG5vZGUgYW5kIGNoYW5nZSB0aGUgZGF0YSBmZWVkXG4gKiB0byBgTWNUcmVlYC5cbiAqIFRoZSBuZXN0ZWQgdHJlZSBub2RlcyBvZiB0eXBlIGBUYCBhcmUgZmxhdHRlbmVkIHRocm91Z2ggYE3RgVRyZWVGbGF0dGVuZXJgLCBhbmQgY29udmVydGVkXG4gKiB0byB0eXBlIGBGYCBmb3IgYE1jVHJlZWAgdG8gY29uc3VtZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1jVHJlZUZsYXREYXRhU291cmNlPFQsIEY+IGV4dGVuZHMgRGF0YVNvdXJjZTxGPiB7XG4gICAgZmxhdHRlbmVkRGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RltdPihbXSk7XG5cbiAgICBleHBhbmRlZERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZbXT4oW10pO1xuXG4gICAgZmlsdGVyZWREYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGW10+KFtdKTtcblxuICAgIGdldCBkYXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YS52YWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgZGF0YSh2YWx1ZTogVFtdKSB7XG4gICAgICAgIHRoaXMuX2RhdGEubmV4dCh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5mbGF0dGVuZWREYXRhLm5leHQodGhpcy50cmVlRmxhdHRlbmVyLmZsYXR0ZW5Ob2Rlcyh0aGlzLmRhdGEpKTtcbiAgICAgICAgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMgPSB0aGlzLmZsYXR0ZW5lZERhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGF0YTogQmVoYXZpb3JTdWJqZWN0PFRbXT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmVlQ29udHJvbDogRmxhdFRyZWVDb250cm9sPEY+LFxuICAgICAgICBwcml2YXRlIHRyZWVGbGF0dGVuZXI6IE1jVHJlZUZsYXR0ZW5lcjxULCBGPixcbiAgICAgICAgaW5pdGlhbERhdGE6IFRbXSA9IFtdXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgdGhpcy5fZGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihpbml0aWFsRGF0YSk7XG4gICAgfVxuXG4gICAgY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogT2JzZXJ2YWJsZTxGW10+IHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgY29sbGVjdGlvblZpZXdlci52aWV3Q2hhbmdlLFxuICAgICAgICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbnNpb25Nb2RlbC5jaGFuZ2VkXG4gICAgICAgICAgICAgICAgLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHsgdHlwZTogTWNUcmVlRGF0YVNvdXJjZUNoYW5nZVR5cGVzLkV4cGFuc2lvbiwgdmFsdWUgfSkpKSxcbiAgICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZmlsdGVyVmFsdWVcbiAgICAgICAgICAgICAgICAucGlwZShtYXAoKHZhbHVlKSA9PiAoeyB0eXBlOiBNY1RyZWVEYXRhU291cmNlQ2hhbmdlVHlwZXMuRmlsdGVyLCB2YWx1ZSB9KSkpLFxuICAgICAgICAgICAgdGhpcy5mbGF0dGVuZWREYXRhXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUobWFwKChjaGFuZ2VPYmo6IGFueSk6IGFueSA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhbmdlT2JqLnR5cGUgPT09IE1jVHJlZURhdGFTb3VyY2VDaGFuZ2VUeXBlcy5GaWx0ZXIpIHtcbiAgICAgICAgICAgICAgICBpZiAoY2hhbmdlT2JqLnZhbHVlICYmIGNoYW5nZU9iai52YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlckhhbmRsZXIoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5leHBhbnNpb25IYW5kbGVyKGNoYW5nZU9iai52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5leHBhbnNpb25IYW5kbGVyKGNoYW5nZU9iai52YWx1ZSk7XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBmaWx0ZXJIYW5kbGVyKCk6IEZbXSB7XG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhLm5leHQodGhpcy50cmVlQ29udHJvbC5maWx0ZXJNb2RlbC5zZWxlY3RlZCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyZWREYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIGV4cGFuc2lvbkhhbmRsZXIoX2NoYW5nZTogU2VsZWN0aW9uQ2hhbmdlPEY+KTogRltdIHtcbiAgICAgICAgY29uc3QgZXhwYW5kZWROb2RlcyA9IHRoaXMudHJlZUZsYXR0ZW5lci5leHBhbmRGbGF0dGVuZWROb2Rlcyh0aGlzLmZsYXR0ZW5lZERhdGEudmFsdWUsIHRoaXMudHJlZUNvbnRyb2wpO1xuICAgICAgICB0aGlzLmV4cGFuZGVkRGF0YS5uZXh0KGV4cGFuZGVkTm9kZXMpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmV4cGFuZGVkRGF0YS52YWx1ZTtcbiAgICB9XG5cbiAgICBkaXNjb25uZWN0KCkge1xuICAgICAgICAvLyBubyBvcFxuICAgIH1cbn1cblxuIl19
|
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 McTreeFlattener {
|
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
|
56
|
+
.pipe(take(1))
|
57
|
+
.subscribe((children) => {
|
58
|
+
this.flattenChildren(children, level, resultNodes, flatNode);
|
59
|
+
});
|
60
|
+
}
|
61
|
+
}
|
62
|
+
}
|
63
|
+
return resultNodes;
|
64
|
+
}
|
65
|
+
flattenChildren(children, level, resultNodes, parent) {
|
66
|
+
children.forEach((child) => {
|
67
|
+
this.flattenNode(child, level + 1, resultNodes, parent);
|
68
|
+
});
|
69
|
+
}
|
70
|
+
/**
|
71
|
+
* Flatten a list of node type T to flattened version of node F.
|
72
|
+
* Please note that type T may be nested, and the length of `structuredData` may be different
|
73
|
+
* from that of returned list `F[]`.
|
74
|
+
*/
|
75
|
+
flattenNodes(structuredData) {
|
76
|
+
const resultNodes = [];
|
77
|
+
structuredData.forEach((node) => this.flattenNode(node, 0, resultNodes, null));
|
78
|
+
return resultNodes;
|
79
|
+
}
|
80
|
+
/**
|
81
|
+
* Expand flattened node with current expansion status.
|
82
|
+
* The returned list may have different length.
|
83
|
+
*/
|
84
|
+
expandFlattenedNodes(nodes, treeControl) {
|
85
|
+
const results = [];
|
86
|
+
const currentExpand = [];
|
87
|
+
currentExpand[0] = true;
|
88
|
+
nodes.forEach((node) => {
|
89
|
+
let expand = true;
|
90
|
+
for (let i = 0; i <= this.getLevel(node); i++) {
|
91
|
+
expand = expand && currentExpand[i];
|
92
|
+
}
|
93
|
+
if (expand) {
|
94
|
+
results.push(node);
|
95
|
+
}
|
96
|
+
if (this.isExpandable(node)) {
|
97
|
+
currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);
|
98
|
+
}
|
99
|
+
});
|
100
|
+
return results;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
var McTreeDataSourceChangeTypes;
|
104
|
+
(function (McTreeDataSourceChangeTypes) {
|
105
|
+
McTreeDataSourceChangeTypes["Expansion"] = "expansion";
|
106
|
+
McTreeDataSourceChangeTypes["Filter"] = "filter";
|
107
|
+
})(McTreeDataSourceChangeTypes || (McTreeDataSourceChangeTypes = {}));
|
108
|
+
/**
|
109
|
+
* Data source for flat tree.
|
110
|
+
* The data source need to handle expansion/collapsion of the tree node and change the data feed
|
111
|
+
* to `McTree`.
|
112
|
+
* The nested tree nodes of type `T` are flattened through `MсTreeFlattener`, and converted
|
113
|
+
* to type `F` for `McTree` to consume.
|
114
|
+
*/
|
115
|
+
export class McTreeFlatDataSource extends DataSource {
|
116
|
+
constructor(treeControl, treeFlattener, initialData = []) {
|
117
|
+
super();
|
118
|
+
this.treeControl = treeControl;
|
119
|
+
this.treeFlattener = treeFlattener;
|
120
|
+
this.flattenedData = new BehaviorSubject([]);
|
121
|
+
this.expandedData = new BehaviorSubject([]);
|
122
|
+
this.filteredData = new BehaviorSubject([]);
|
123
|
+
this._data = new BehaviorSubject(initialData);
|
124
|
+
}
|
125
|
+
get data() {
|
126
|
+
return this._data.value;
|
127
|
+
}
|
128
|
+
set data(value) {
|
129
|
+
this._data.next(value);
|
130
|
+
this.flattenedData.next(this.treeFlattener.flattenNodes(this.data));
|
131
|
+
this.treeControl.dataNodes = this.flattenedData.value;
|
132
|
+
}
|
133
|
+
connect(collectionViewer) {
|
134
|
+
return merge(collectionViewer.viewChange, this.treeControl.expansionModel.changed
|
135
|
+
.pipe(map((value) => ({ type: McTreeDataSourceChangeTypes.Expansion, value }))), this.treeControl.filterValue
|
136
|
+
.pipe(map((value) => ({ type: McTreeDataSourceChangeTypes.Filter, value }))), this.flattenedData)
|
137
|
+
.pipe(map((changeObj) => {
|
138
|
+
if (changeObj.type === McTreeDataSourceChangeTypes.Filter) {
|
139
|
+
if (changeObj.value && changeObj.value.length > 0) {
|
140
|
+
return this.filterHandler();
|
141
|
+
}
|
142
|
+
else {
|
143
|
+
return this.expansionHandler(changeObj.value);
|
144
|
+
}
|
145
|
+
}
|
146
|
+
return this.expansionHandler(changeObj.value);
|
147
|
+
}));
|
148
|
+
}
|
149
|
+
filterHandler() {
|
150
|
+
this.filteredData.next(this.treeControl.filterModel.selected);
|
151
|
+
return this.filteredData.value;
|
152
|
+
}
|
153
|
+
expansionHandler(_change) {
|
154
|
+
const expandedNodes = this.treeFlattener.expandFlattenedNodes(this.flattenedData.value, this.treeControl);
|
155
|
+
this.expandedData.next(expandedNodes);
|
156
|
+
return this.expandedData.value;
|
157
|
+
}
|
158
|
+
disconnect() {
|
159
|
+
// no op
|
160
|
+
}
|
161
|
+
}
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxhdC1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy90cmVlL2RhdGEtc291cmNlL2ZsYXQtZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixVQUFVLEVBQW1CLE1BQU0sMEJBQTBCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUNHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFDeEIsWUFDVyxpQkFBa0UsRUFDbEUsUUFBNkIsRUFDN0IsWUFBa0MsRUFDbEMsV0FBa0U7UUFIbEUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFpRDtRQUNsRSxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUM3QixpQkFBWSxHQUFaLFlBQVksQ0FBc0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQXVEO0lBQzFFLENBQUM7SUFFSixXQUFXLENBQUMsSUFBTyxFQUFFLEtBQWEsRUFBRSxXQUFnQixFQUFFLE1BQWdCO1FBQ2xFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFN0MsSUFBSSxhQUFhLEVBQUU7Z0JBQ2YsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFO29CQUM5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QUksU0FBUyxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQy9DLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUMvQjtxQkFBTTtvQkFDSCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2pEO2FBQ0o7WUFFRCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBMkI7UUFDeEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDMUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsVUFBVTtRQUNOLFFBQVE7SUFDWixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xsZWN0aW9uVmlld2VyLCBEYXRhU291cmNlLCBTZWxlY3Rpb25DaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2wvZmxhdC10cmVlLWNvbnRyb2wnO1xyXG5pbXBvcnQgeyBUcmVlQ29udHJvbCB9IGZyb20gJy4uL2NvbnRyb2wvdHJlZS1jb250cm9sJztcclxuXHJcblxyXG4vKipcclxuICogVHJlZSBmbGF0dGVuZXIgdG8gY29udmVydCBhIG5vcm1hbCB0eXBlIG9mIG5vZGUgdG8gbm9kZSB3aXRoIGNoaWxkcmVuICYgbGV2ZWwgaW5mb3JtYXRpb24uXHJcbiAqIFRyYW5zZm9ybSBuZXN0ZWQgbm9kZXMgb2YgdHlwZSBgVGAgdG8gZmxhdHRlbmVkIG5vZGVzIG9mIHR5cGUgYEZgLlxyXG4gKlxyXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGlucHV0IGRhdGEgb2YgdHlwZSBgVGAgaXMgbmVzdGVkLCBhbmQgY29udGFpbnMgaXRzIGNoaWxkcmVuIGRhdGE6XHJcbiAqICAgU29tZU5vZGU6IHtcclxuICogICAgIGtleTogJ0ZydWl0cycsXHJcbiAqICAgICBjaGlsZHJlbjogW1xyXG4gKiAgICAgICBOb2RlT25lOiB7XHJcbiAqICAgICAgICAga2V5OiAnQXBwbGUnLFxyXG4gKiAgICAgICB9LFxyXG4gKiAgICAgICBOb2RlVHdvOiB7XHJcbiAqICAgICAgICBrZXk6ICdQZWFyJyxcclxuICogICAgICB9XHJcbiAqICAgIF1cclxuICogIH1cclxuICogIEFmdGVyIGZsYXR0ZW5lciBmbGF0dGVuIHRoZSB0cmVlLCB0aGUgc3RydWN0dXJlIHdpbGwgYmVjb21lXHJcbiAqICBTb21lTm9kZToge1xyXG4gKiAgICBrZXk6ICdGcnVpdHMnLFxyXG4gKiAgICBleHBhbmRhYmxlOiB0cnVlLFxyXG4gKiAgICBsZXZlbDogMVxyXG4gKiAgfSxcclxuICogIE5vZGVPbmU6IHtcclxuICogICAga2V5OiAnQXBwbGUnLFxyXG4gKiAgICBleHBhbmRhYmxlOiBmYWxzZSxcclxuICogICAgbGV2ZWw6IDJcclxuICogIH0sXHJcbiAqICBOb2RlVHdvOiB7XHJcbiAqICAga2V5OiAnUGVhcicsXHJcbiAqICAgZXhwYW5kYWJsZTogZmFsc2UsXHJcbiAqICAgbGV2ZWw6IDJcclxuICogfVxyXG4gKiBhbmQgdGhlIG91dHB1dCBmbGF0dGVuZWQgdHlwZSBpcyBgRmAgd2l0aCBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE1jVHJlZUZsYXR0ZW5lcjxULCBGPiB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgdHJhbnNmb3JtRnVuY3Rpb246IChub2RlOiBULCBsZXZlbDogbnVtYmVyLCBwYXJlbnQ6IEYgfCBudWxsKSA9PiBGLFxyXG4gICAgICAgIHB1YmxpYyBnZXRMZXZlbDogKG5vZGU6IEYpID0+IG51bWJlcixcclxuICAgICAgICBwdWJsaWMgaXNFeHBhbmRhYmxlOiAobm9kZTogRikgPT4gYm9vbGVhbixcclxuICAgICAgICBwdWJsaWMgZ2V0Q2hpbGRyZW46IChub2RlOiBUKSA9PiBPYnNlcnZhYmxlPFRbXT4gfCBUW10gfCB1bmRlZmluZWQgfCBudWxsXHJcbiAgICApIHt9XHJcblxyXG4gICAgZmxhdHRlbk5vZGUobm9kZTogVCwgbGV2ZWw6IG51bWJlciwgcmVzdWx0Tm9kZXM6IEZbXSwgcGFyZW50OiBGIHwgbnVsbCk6IEZbXSB7XHJcbiAgICAgICAgY29uc3QgZmxhdE5vZGUgPSB0aGlzLnRyYW5zZm9ybUZ1bmN0aW9uKG5vZGUsIGxldmVsLCBwYXJlbnQpO1xyXG4gICAgICAgIHJlc3VsdE5vZGVzLnB1c2goZmxhdE5vZGUpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pc0V4cGFuZGFibGUoZmxhdE5vZGUpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuTm9kZXMgPSB0aGlzLmdldENoaWxkcmVuKG5vZGUpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGNoaWxkcmVuTm9kZXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuTm9kZXMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mbGF0dGVuQ2hpbGRyZW4oY2hpbGRyZW5Ob2RlcywgbGV2ZWwsIHJlc3VsdE5vZGVzLCBmbGF0Tm9kZSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuTm9kZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoY2hpbGRyZW4pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmxhdHRlbkNoaWxkcmVuKGNoaWxkcmVuLCBsZXZlbCwgcmVzdWx0Tm9kZXMsIGZsYXROb2RlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHROb2RlcztcclxuICAgIH1cclxuXHJcbiAgICBmbGF0dGVuQ2hpbGRyZW4oY2hpbGRyZW46IFRbXSwgbGV2ZWw6IG51bWJlciwgcmVzdWx0Tm9kZXM6IEZbXSwgcGFyZW50OiBGIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGNoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZmxhdHRlbk5vZGUoY2hpbGQsIGxldmVsICsgMSwgcmVzdWx0Tm9kZXMsIHBhcmVudCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGbGF0dGVuIGEgbGlzdCBvZiBub2RlIHR5cGUgVCB0byBmbGF0dGVuZWQgdmVyc2lvbiBvZiBub2RlIEYuXHJcbiAgICAgKiBQbGVhc2Ugbm90ZSB0aGF0IHR5cGUgVCBtYXkgYmUgbmVzdGVkLCBhbmQgdGhlIGxlbmd0aCBvZiBgc3RydWN0dXJlZERhdGFgIG1heSBiZSBkaWZmZXJlbnRcclxuICAgICAqIGZyb20gdGhhdCBvZiByZXR1cm5lZCBsaXN0IGBGW11gLlxyXG4gICAgICovXHJcbiAgICBmbGF0dGVuTm9kZXMoc3RydWN0dXJlZERhdGE6IFRbXSk6IEZbXSB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0Tm9kZXM6IEZbXSA9IFtdO1xyXG4gICAgICAgIHN0cnVjdHVyZWREYXRhLmZvckVhY2goKG5vZGUpID0+IHRoaXMuZmxhdHRlbk5vZGUobm9kZSwgMCwgcmVzdWx0Tm9kZXMsIG51bGwpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdE5vZGVzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXhwYW5kIGZsYXR0ZW5lZCBub2RlIHdpdGggY3VycmVudCBleHBhbnNpb24gc3RhdHVzLlxyXG4gICAgICogVGhlIHJldHVybmVkIGxpc3QgbWF5IGhhdmUgZGlmZmVyZW50IGxlbmd0aC5cclxuICAgICAqL1xyXG4gICAgZXhwYW5kRmxhdHRlbmVkTm9kZXMobm9kZXM6IEZbXSwgdHJlZUNvbnRyb2w6IFRyZWVDb250cm9sPEY+KTogRltdIHtcclxuICAgICAgICBjb25zdCByZXN1bHRzOiBGW10gPSBbXTtcclxuICAgICAgICBjb25zdCBjdXJyZW50RXhwYW5kOiBib29sZWFuW10gPSBbXTtcclxuICAgICAgICBjdXJyZW50RXhwYW5kWzBdID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZXhwYW5kID0gdHJ1ZTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gdGhpcy5nZXRMZXZlbChub2RlKTsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBleHBhbmQgPSBleHBhbmQgJiYgY3VycmVudEV4cGFuZFtpXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGV4cGFuZCkgeyByZXN1bHRzLnB1c2gobm9kZSk7IH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRXhwYW5kYWJsZShub2RlKSkge1xyXG4gICAgICAgICAgICAgICAgY3VycmVudEV4cGFuZFt0aGlzLmdldExldmVsKG5vZGUpICsgMV0gPSB0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xyXG4gICAgfVxyXG59XHJcblxyXG5lbnVtIE1jVHJlZURhdGFTb3VyY2VDaGFuZ2VUeXBlcyB7XHJcbiAgICBFeHBhbnNpb24gPSAnZXhwYW5zaW9uJyxcclxuICAgIEZpbHRlciA9ICdmaWx0ZXInXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRhIHNvdXJjZSBmb3IgZmxhdCB0cmVlLlxyXG4gKiBUaGUgZGF0YSBzb3VyY2UgbmVlZCB0byBoYW5kbGUgZXhwYW5zaW9uL2NvbGxhcHNpb24gb2YgdGhlIHRyZWUgbm9kZSBhbmQgY2hhbmdlIHRoZSBkYXRhIGZlZWRcclxuICogdG8gYE1jVHJlZWAuXHJcbiAqIFRoZSBuZXN0ZWQgdHJlZSBub2RlcyBvZiB0eXBlIGBUYCBhcmUgZmxhdHRlbmVkIHRocm91Z2ggYE3RgVRyZWVGbGF0dGVuZXJgLCBhbmQgY29udmVydGVkXHJcbiAqIHRvIHR5cGUgYEZgIGZvciBgTWNUcmVlYCB0byBjb25zdW1lLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE1jVHJlZUZsYXREYXRhU291cmNlPFQsIEY+IGV4dGVuZHMgRGF0YVNvdXJjZTxGPiB7XHJcbiAgICBmbGF0dGVuZWREYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGW10+KFtdKTtcclxuXHJcbiAgICBleHBhbmRlZERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZbXT4oW10pO1xyXG5cclxuICAgIGZpbHRlcmVkRGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RltdPihbXSk7XHJcblxyXG4gICAgZ2V0IGRhdGEoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGEudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGRhdGEodmFsdWU6IFRbXSkge1xyXG4gICAgICAgIHRoaXMuX2RhdGEubmV4dCh2YWx1ZSk7XHJcblxyXG4gICAgICAgIHRoaXMuZmxhdHRlbmVkRGF0YS5uZXh0KHRoaXMudHJlZUZsYXR0ZW5lci5mbGF0dGVuTm9kZXModGhpcy5kYXRhKSk7XHJcbiAgICAgICAgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMgPSB0aGlzLmZsYXR0ZW5lZERhdGEudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YTogQmVoYXZpb3JTdWJqZWN0PFRbXT47XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSB0cmVlQ29udHJvbDogRmxhdFRyZWVDb250cm9sPEY+LFxyXG4gICAgICAgIHByaXZhdGUgdHJlZUZsYXR0ZW5lcjogTWNUcmVlRmxhdHRlbmVyPFQsIEY+LFxyXG4gICAgICAgIGluaXRpYWxEYXRhOiBUW10gPSBbXVxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fZGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihpbml0aWFsRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29ubmVjdChjb2xsZWN0aW9uVmlld2VyOiBDb2xsZWN0aW9uVmlld2VyKTogT2JzZXJ2YWJsZTxGW10+IHtcclxuICAgICAgICByZXR1cm4gbWVyZ2UoXHJcbiAgICAgICAgICAgIGNvbGxlY3Rpb25WaWV3ZXIudmlld0NoYW5nZSxcclxuICAgICAgICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbnNpb25Nb2RlbC5jaGFuZ2VkXHJcbiAgICAgICAgICAgICAgICAucGlwZShtYXAoKHZhbHVlKSA9PiAoeyB0eXBlOiBNY1RyZWVEYXRhU291cmNlQ2hhbmdlVHlwZXMuRXhwYW5zaW9uLCB2YWx1ZSB9KSkpLFxyXG4gICAgICAgICAgICB0aGlzLnRyZWVDb250cm9sLmZpbHRlclZhbHVlXHJcbiAgICAgICAgICAgICAgICAucGlwZShtYXAoKHZhbHVlKSA9PiAoeyB0eXBlOiBNY1RyZWVEYXRhU291cmNlQ2hhbmdlVHlwZXMuRmlsdGVyLCB2YWx1ZSB9KSkpLFxyXG4gICAgICAgICAgICB0aGlzLmZsYXR0ZW5lZERhdGFcclxuICAgICAgICApXHJcbiAgICAgICAgLnBpcGUobWFwKChjaGFuZ2VPYmo6IGFueSk6IGFueSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjaGFuZ2VPYmoudHlwZSA9PT0gTWNUcmVlRGF0YVNvdXJjZUNoYW5nZVR5cGVzLkZpbHRlcikge1xyXG4gICAgICAgICAgICAgICAgaWYgKGNoYW5nZU9iai52YWx1ZSAmJiBjaGFuZ2VPYmoudmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbHRlckhhbmRsZXIoKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXhwYW5zaW9uSGFuZGxlcihjaGFuZ2VPYmoudmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5leHBhbnNpb25IYW5kbGVyKGNoYW5nZU9iai52YWx1ZSk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGZpbHRlckhhbmRsZXIoKTogRltdIHtcclxuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YS5uZXh0KHRoaXMudHJlZUNvbnRyb2wuZmlsdGVyTW9kZWwuc2VsZWN0ZWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJlZERhdGEudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwYW5zaW9uSGFuZGxlcihfY2hhbmdlOiBTZWxlY3Rpb25DaGFuZ2U8Rj4pOiBGW10ge1xyXG4gICAgICAgIGNvbnN0IGV4cGFuZGVkTm9kZXMgPSB0aGlzLnRyZWVGbGF0dGVuZXIuZXhwYW5kRmxhdHRlbmVkTm9kZXModGhpcy5mbGF0dGVuZWREYXRhLnZhbHVlLCB0aGlzLnRyZWVDb250cm9sKTtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkRGF0YS5uZXh0KGV4cGFuZGVkTm9kZXMpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5leHBhbmRlZERhdGEudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgZGlzY29ubmVjdCgpIHtcclxuICAgICAgICAvLyBubyBvcFxyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=
|
@@ -1,30 +1,30 @@
|
|
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 McTreeNestedDataSource extends DataSource {
|
11
|
-
constructor() {
|
12
|
-
super(...arguments);
|
13
|
-
/* tslint:disable-next-line:naming-convention */
|
14
|
-
this._data = new BehaviorSubject([]);
|
15
|
-
}
|
16
|
-
get data() {
|
17
|
-
return this._data.value;
|
18
|
-
}
|
19
|
-
set data(value) {
|
20
|
-
this._data.next(value);
|
21
|
-
}
|
22
|
-
connect(collectionViewer) {
|
23
|
-
return merge(...[collectionViewer.viewChange, this._data])
|
24
|
-
.pipe(map(() => this.data));
|
25
|
-
}
|
26
|
-
disconnect() {
|
27
|
-
// no op
|
28
|
-
}
|
29
|
-
}
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
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 McTreeNestedDataSource extends DataSource {
|
11
|
+
constructor() {
|
12
|
+
super(...arguments);
|
13
|
+
/* tslint:disable-next-line:naming-convention */
|
14
|
+
this._data = new BehaviorSubject([]);
|
15
|
+
}
|
16
|
+
get data() {
|
17
|
+
return this._data.value;
|
18
|
+
}
|
19
|
+
set data(value) {
|
20
|
+
this._data.next(value);
|
21
|
+
}
|
22
|
+
connect(collectionViewer) {
|
23
|
+
return merge(...[collectionViewer.viewChange, this._data])
|
24
|
+
.pipe(map(() => this.data));
|
25
|
+
}
|
26
|
+
disconnect() {
|
27
|
+
// no op
|
28
|
+
}
|
29
|
+
}
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9zYWljL3RyZWUvZGF0YS1zb3VyY2UvbmVzdGVkLWRhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLHNCQUEwQixTQUFRLFVBQWE7SUFBNUQ7O1FBVUksZ0RBQWdEO1FBQ3hDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztJQVVqRCxDQUFDO0lBbkJHLElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLEtBQVU7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBS0QsT0FBTyxDQUFDLGdCQUFrQztRQUN0QyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNyRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVO1FBQ04sUUFBUTtJQUNaLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25WaWV3ZXIsIERhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1lcmdlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcblxyXG4vKipcclxuICogRGF0YSBzb3VyY2UgZm9yIG5lc3RlZCB0cmVlLlxyXG4gKlxyXG4gKiBUaGUgZGF0YSBzb3VyY2UgZm9yIG5lc3RlZCB0cmVlIGRvZXNuJ3QgaGF2ZSB0byBjb25zaWRlciBub2RlIGZsYXR0ZW5lciwgb3IgdGhlIHdheSB0byBleHBhbmRcclxuICogb3IgY29sbGFwc2UuIFRoZSBleHBhbnNpb24vY29sbGFwc2lvbiB3aWxsIGJlIGhhbmRsZWQgYnkgVHJlZUNvbnRyb2wgYW5kIGVhY2ggbm9uLWxlYWYgbm9kZS5cclxuICovXHJcbmV4cG9ydCBjbGFzcyBNY1RyZWVOZXN0ZWREYXRhU291cmNlPFQ+IGV4dGVuZHMgRGF0YVNvdXJjZTxUPiB7XHJcblxyXG4gICAgZ2V0IGRhdGEoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGEudmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IGRhdGEodmFsdWU6IFRbXSkge1xyXG4gICAgICAgIHRoaXMuX2RhdGEubmV4dCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5hbWluZy1jb252ZW50aW9uICovXHJcbiAgICBwcml2YXRlIF9kYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUW10+KFtdKTtcclxuXHJcbiAgICBjb25uZWN0KGNvbGxlY3Rpb25WaWV3ZXI6IENvbGxlY3Rpb25WaWV3ZXIpOiBPYnNlcnZhYmxlPFRbXT4ge1xyXG4gICAgICAgIHJldHVybiBtZXJnZSguLi5bY29sbGVjdGlvblZpZXdlci52aWV3Q2hhbmdlLCB0aGlzLl9kYXRhXSlcclxuICAgICAgICAgICAgLnBpcGUobWFwKCgpID0+IHRoaXMuZGF0YSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGRpc2Nvbm5lY3QoKSB7XHJcbiAgICAgICAgLy8gbm8gb3BcclxuICAgIH1cclxufVxyXG5cclxuIl19
|
package/esm2020/tree/index.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './public-api';
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
export * from './public-api';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb3NhaWMvdHJlZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XHJcbiJdfQ==
|