@tetacom/ng-components 1.4.22 → 1.5.1
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/.eslintrc.json +3 -5
- package/component/dropdown/dropdown-base.d.ts +1 -1
- package/directive/dynamic-content-base.directive.d.ts +1 -1
- package/directive/only-number/only-number.directive.d.ts +1 -0
- package/fesm2022/tetacom-ng-components.mjs +533 -497
- package/fesm2022/tetacom-ng-components.mjs.map +1 -1
- package/package.json +3 -5
- package/pipe/prepend-zero/prepend-zero.pipe.d.ts +7 -0
- package/pipe/prepend-zero/public-api.d.ts +1 -0
- package/pipe/public-api.d.ts +1 -0
- package/style/badge.scss +6 -4
- package/style/checkbox.scss +3 -1
- package/style/chips.scss +3 -1
- package/style/icon.scss +3 -1
- package/style/message.scss +3 -1
- package/style/navigation.scss +3 -1
- package/style/presets/view-types.scss +3 -1
- package/style/toggle.scss +3 -1
- package/style/toolbar.scss +3 -1
- package/esm2022/common/contract/auto-close-ignore-case.mjs +0 -2
- package/esm2022/common/contract/constructor-type.mjs +0 -2
- package/esm2022/common/contract/dynamic-data.mjs +0 -10
- package/esm2022/common/contract/i-dictionary.mjs +0 -2
- package/esm2022/common/contract/i-id-name.mjs +0 -2
- package/esm2022/common/contract/i-id.mjs +0 -2
- package/esm2022/common/contract/i-rect.mjs +0 -2
- package/esm2022/common/contract/i-tree-data.mjs +0 -2
- package/esm2022/common/contract/public-api.mjs +0 -10
- package/esm2022/common/contract/teta-content-ref.mjs +0 -8
- package/esm2022/common/enum/align.enum.mjs +0 -13
- package/esm2022/common/enum/public-api.mjs +0 -4
- package/esm2022/common/enum/teta-size.enum.mjs +0 -9
- package/esm2022/common/enum/vertical-align.enum.mjs +0 -11
- package/esm2022/common/model/public-api.mjs +0 -2
- package/esm2022/common/model/view-type.model.mjs +0 -2
- package/esm2022/common/public-api.mjs +0 -6
- package/esm2022/common/service/click.service.mjs +0 -23
- package/esm2022/common/service/dynamic-component.service.mjs +0 -93
- package/esm2022/common/service/overlay-container.service.mjs +0 -41
- package/esm2022/common/service/public-api.mjs +0 -4
- package/esm2022/common/util/array-util.mjs +0 -121
- package/esm2022/common/util/dom-util.mjs +0 -19
- package/esm2022/common/util/position-util.mjs +0 -136
- package/esm2022/common/util/public-api.mjs +0 -4
- package/esm2022/component/accordion/accordion/accordion.component.mjs +0 -17
- package/esm2022/component/accordion/accordion-content.directive.mjs +0 -17
- package/esm2022/component/accordion/accordion-head/accordion-head.component.mjs +0 -51
- package/esm2022/component/accordion/accordion-item/accordion-item.component.mjs +0 -62
- package/esm2022/component/accordion/public-api.mjs +0 -5
- package/esm2022/component/autocomplete/autocomplete/autocomplete.component.mjs +0 -13
- package/esm2022/component/autocomplete/public-api.mjs +0 -2
- package/esm2022/component/avatar/avatar/avatar.component.mjs +0 -55
- package/esm2022/component/avatar/model/avatar-color.enum.mjs +0 -22
- package/esm2022/component/avatar/public-api.mjs +0 -2
- package/esm2022/component/button/button/button.component.mjs +0 -67
- package/esm2022/component/button/public-api.mjs +0 -2
- package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +0 -241
- package/esm2022/component/chart-3d/model/base-3d-point.mjs +0 -2
- package/esm2022/component/chart-3d/model/chart-3d-options.mjs +0 -7
- package/esm2022/component/chart-3d/model/public-api.mjs +0 -3
- package/esm2022/component/chart-3d/model/series-3d.mjs +0 -7
- package/esm2022/component/chart-3d/public-api.mjs +0 -3
- package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +0 -137
- package/esm2022/component/checkbox/public-api.mjs +0 -2
- package/esm2022/component/date-picker/base-calendar.mjs +0 -121
- package/esm2022/component/date-picker/base-picker.mjs +0 -109
- package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +0 -50
- package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +0 -228
- package/esm2022/component/date-picker/date-range/date-range.component.mjs +0 -233
- package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +0 -118
- package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +0 -15
- package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +0 -118
- package/esm2022/component/date-picker/model/date-period.mjs +0 -7
- package/esm2022/component/date-picker/model/date-picker-mode.enum.mjs +0 -7
- package/esm2022/component/date-picker/model/day-model.mjs +0 -13
- package/esm2022/component/date-picker/model/from-to.model.mjs +0 -2
- package/esm2022/component/date-picker/model/min-max-date.model.mjs +0 -2
- package/esm2022/component/date-picker/model/public-api.mjs +0 -6
- package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +0 -47
- package/esm2022/component/date-picker/public-api.mjs +0 -6
- package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +0 -27
- package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +0 -48
- package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +0 -63
- package/esm2022/component/delimiter/public-api.mjs +0 -2
- package/esm2022/component/divider/divider/divider.component.mjs +0 -18
- package/esm2022/component/divider/public-api.mjs +0 -2
- package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +0 -30
- package/esm2022/component/dropdown/dropdown-base.mjs +0 -224
- package/esm2022/component/dropdown/dropdown-content.directive.mjs +0 -18
- package/esm2022/component/dropdown/dropdown-head.directive.mjs +0 -19
- package/esm2022/component/dropdown/dropdown.directive.mjs +0 -38
- package/esm2022/component/dropdown/public-api.mjs +0 -5
- package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +0 -53
- package/esm2022/component/dynamic-component/public-api.mjs +0 -2
- package/esm2022/component/expand-card/expand-card/expand-card.component.mjs +0 -34
- package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +0 -25
- package/esm2022/component/expand-card/public-api.mjs +0 -3
- package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +0 -65
- package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +0 -17
- package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +0 -17
- package/esm2022/component/expand-panel/public-api.mjs +0 -4
- package/esm2022/component/file-upload/file-item/file-item.component.mjs +0 -13
- package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +0 -87
- package/esm2022/component/file-upload/public-api.mjs +0 -3
- package/esm2022/component/filter/base/filter-base.mjs +0 -10
- package/esm2022/component/filter/base/filter-component-base.mjs +0 -3
- package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +0 -63
- package/esm2022/component/filter/contarct/boolean-filter.mjs +0 -8
- package/esm2022/component/filter/contarct/date-filter-value.mjs +0 -9
- package/esm2022/component/filter/contarct/date-filter.mjs +0 -11
- package/esm2022/component/filter/contarct/filter-component-map.mjs +0 -15
- package/esm2022/component/filter/contarct/filter-item.mjs +0 -34
- package/esm2022/component/filter/contarct/filter-state.mjs +0 -145
- package/esm2022/component/filter/contarct/i-filter.mjs +0 -2
- package/esm2022/component/filter/contarct/list-filter.mjs +0 -12
- package/esm2022/component/filter/contarct/numeric-filter-value.mjs +0 -10
- package/esm2022/component/filter/contarct/numeric-filter.mjs +0 -9
- package/esm2022/component/filter/contarct/sort-param.mjs +0 -14
- package/esm2022/component/filter/contarct/string-filter.mjs +0 -12
- package/esm2022/component/filter/date-filter/date-filter.component.mjs +0 -64
- package/esm2022/component/filter/enum/filter-type.enum.mjs +0 -10
- package/esm2022/component/filter/enum/list-filter-type.enum.mjs +0 -6
- package/esm2022/component/filter/enum/string-filter-type.enum.mjs +0 -20
- package/esm2022/component/filter/filter-host/filter-host.component.mjs +0 -79
- package/esm2022/component/filter/list-filter/list-filter.component.mjs +0 -96
- package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +0 -64
- package/esm2022/component/filter/public-api.mjs +0 -23
- package/esm2022/component/filter/string-filter/string-filter.component.mjs +0 -64
- package/esm2022/component/icon/icon/icon.component.mjs +0 -54
- package/esm2022/component/icon/icon-file/icon-file.component.mjs +0 -27
- package/esm2022/component/icon/icon-sprite.directive.mjs +0 -34
- package/esm2022/component/icon/icon.service.mjs +0 -58
- package/esm2022/component/icon/public-api.mjs +0 -5
- package/esm2022/component/input/color-input/color-input.component.mjs +0 -71
- package/esm2022/component/input/form-group-title/form-group-title.component.mjs +0 -18
- package/esm2022/component/input/input/input.component.mjs +0 -38
- package/esm2022/component/input/public-api.mjs +0 -6
- package/esm2022/component/input/text-field/text-field.component.mjs +0 -94
- package/esm2022/component/message/message/message.component.mjs +0 -76
- package/esm2022/component/message/message-host/message-host.component.mjs +0 -84
- package/esm2022/component/message/message.service.mjs +0 -35
- package/esm2022/component/message/model/message.mjs +0 -23
- package/esm2022/component/message/public-api.mjs +0 -5
- package/esm2022/component/modal/dialog/dialog.component.mjs +0 -46
- package/esm2022/component/modal/dialog.service.mjs +0 -40
- package/esm2022/component/modal/modal-container/modal-container.component.mjs +0 -77
- package/esm2022/component/modal/modal.module.mjs +0 -32
- package/esm2022/component/modal/modal.service.mjs +0 -122
- package/esm2022/component/modal/model/current-modal.mjs +0 -3
- package/esm2022/component/modal/model/i-modal-config.mjs +0 -2
- package/esm2022/component/modal/model/i-modal-result.mjs +0 -2
- package/esm2022/component/modal/model/modal-close-reason.enum.mjs +0 -8
- package/esm2022/component/modal/model/modal-instance.mjs +0 -34
- package/esm2022/component/modal/public-api.mjs +0 -11
- package/esm2022/component/pager/model/pager-state.mjs +0 -51
- package/esm2022/component/pager/pager/pager.component.mjs +0 -13
- package/esm2022/component/pager/public-api.mjs +0 -4
- package/esm2022/component/pager/util/pager-util.mjs +0 -6
- package/esm2022/component/panel/panel/panel.component.mjs +0 -45
- package/esm2022/component/panel/public-api.mjs +0 -2
- package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +0 -130
- package/esm2022/component/progress-bar/public-api.mjs +0 -2
- package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +0 -24
- package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +0 -133
- package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +0 -20
- package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +0 -97
- package/esm2022/component/property-grid/public-api.mjs +0 -4
- package/esm2022/component/public-api.mjs +0 -72
- package/esm2022/component/radio/public-api.mjs +0 -3
- package/esm2022/component/radio/radio/radio.component.mjs +0 -240
- package/esm2022/component/radio/radio-button/radio-button.component.mjs +0 -63
- package/esm2022/component/resize-panel/public-api.mjs +0 -2
- package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +0 -166
- package/esm2022/component/select/public-api.mjs +0 -4
- package/esm2022/component/select/select/select.component.mjs +0 -272
- package/esm2022/component/select/select-option.directive.mjs +0 -17
- package/esm2022/component/select/select-value.directive.mjs +0 -17
- package/esm2022/component/sidebar/public-api.mjs +0 -3
- package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +0 -48
- package/esm2022/component/sidebar/sidebar-position.enum.mjs +0 -8
- package/esm2022/component/stepper/public-api.mjs +0 -2
- package/esm2022/component/stepper/stepper/stepper.component.mjs +0 -16
- package/esm2022/component/switch/public-api.mjs +0 -3
- package/esm2022/component/switch/switch/switch.component.mjs +0 -61
- package/esm2022/component/switch/switch-button/switch-button.component.mjs +0 -47
- package/esm2022/component/switch/switch.service.mjs +0 -21
- package/esm2022/component/table/base/cell-component-base.mjs +0 -158
- package/esm2022/component/table/base/detail-component-base.mjs +0 -3
- package/esm2022/component/table/base/head-cell-component-base.mjs +0 -18
- package/esm2022/component/table/cell/cell.component.mjs +0 -28
- package/esm2022/component/table/cell-host/cell-host.component.mjs +0 -56
- package/esm2022/component/table/contract/cell-components-map.mjs +0 -15
- package/esm2022/component/table/contract/column-reorder-event.mjs +0 -7
- package/esm2022/component/table/contract/column-resize-event.mjs +0 -7
- package/esm2022/component/table/contract/head-dropdown-tab.mjs +0 -2
- package/esm2022/component/table/contract/i-cell-coordinates.mjs +0 -2
- package/esm2022/component/table/contract/i-cell-event.mjs +0 -2
- package/esm2022/component/table/contract/i-cell-instance.mjs +0 -2
- package/esm2022/component/table/contract/i-cell-value.mjs +0 -2
- package/esm2022/component/table/contract/public-api.mjs +0 -13
- package/esm2022/component/table/contract/sort-event.mjs +0 -7
- package/esm2022/component/table/contract/table-column-store.mjs +0 -12
- package/esm2022/component/table/contract/table-column.mjs +0 -44
- package/esm2022/component/table/contract/table-row.mjs +0 -7
- package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +0 -39
- package/esm2022/component/table/default/date-cell/date-cell.component.mjs +0 -40
- package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +0 -40
- package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +0 -49
- package/esm2022/component/table/default/list-cell/list-cell.component.mjs +0 -60
- package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +0 -39
- package/esm2022/component/table/default/string-cell/string-cell.component.mjs +0 -40
- package/esm2022/component/table/enum/aggregation-type.enum.mjs +0 -9
- package/esm2022/component/table/enum/edit-event.enum.mjs +0 -7
- package/esm2022/component/table/enum/edit-type.enum.mjs +0 -7
- package/esm2022/component/table/enum/public-api.mjs +0 -5
- package/esm2022/component/table/enum/select-type.enum.mjs +0 -7
- package/esm2022/component/table/head-cell/head-cell.component.mjs +0 -204
- package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +0 -50
- package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +0 -60
- package/esm2022/component/table/public-api.mjs +0 -42
- package/esm2022/component/table/selection-cell/selection-cell.component.mjs +0 -46
- package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +0 -45
- package/esm2022/component/table/service/table.service.mjs +0 -650
- package/esm2022/component/table/table/table.component.mjs +0 -470
- package/esm2022/component/table/table-body/table-body.component.mjs +0 -210
- package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +0 -57
- package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +0 -89
- package/esm2022/component/table/table-head/table-head.component.mjs +0 -76
- package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +0 -154
- package/esm2022/component/table/table-head-group/table-head-group.component.mjs +0 -72
- package/esm2022/component/table/table-row/table-row.component.mjs +0 -42
- package/esm2022/component/table/util/public-api.mjs +0 -3
- package/esm2022/component/table/util/state-util.mjs +0 -146
- package/esm2022/component/table/util/table-util.mjs +0 -133
- package/esm2022/component/tabs/public-api.mjs +0 -11
- package/esm2022/component/tabs/tab/tab.component.mjs +0 -42
- package/esm2022/component/tabs/tab-content.directive.mjs +0 -17
- package/esm2022/component/tabs/tab-title.directive.mjs +0 -17
- package/esm2022/component/tabs/tabs/tabs.component.mjs +0 -82
- package/esm2022/component/theme-switch/public-api.mjs +0 -3
- package/esm2022/component/theme-switch/theme-switch/theme-switch.component.mjs +0 -30
- package/esm2022/component/theme-switch/theme-switch.service.mjs +0 -34
- package/esm2022/component/toggle/public-api.mjs +0 -2
- package/esm2022/component/toggle/toggle/toggle.component.mjs +0 -79
- package/esm2022/component/toolbar/public-api.mjs +0 -5
- package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +0 -26
- package/esm2022/component/tree/public-api.mjs +0 -4
- package/esm2022/component/tree/tree/tree.component.mjs +0 -143
- package/esm2022/component/tree/tree-item/tree-item.component.mjs +0 -75
- package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +0 -28
- package/esm2022/component/tree/tree.service.mjs +0 -40
- package/esm2022/directive/auto-position/auto-position.directive.mjs +0 -71
- package/esm2022/directive/auto-position/public-api.mjs +0 -2
- package/esm2022/directive/click-outside/click-outside.directive.mjs +0 -66
- package/esm2022/directive/click-outside/public-api.mjs +0 -2
- package/esm2022/directive/context-menu/context-menu.directive.mjs +0 -119
- package/esm2022/directive/context-menu/public-api.mjs +0 -2
- package/esm2022/directive/disable-control/disable-control.directive.mjs +0 -35
- package/esm2022/directive/disable-control/public-api.mjs +0 -2
- package/esm2022/directive/drag-drop/drag-container.directive.mjs +0 -92
- package/esm2022/directive/drag-drop/drag-drop.service.mjs +0 -145
- package/esm2022/directive/drag-drop/drag-placeholder.directive.mjs +0 -15
- package/esm2022/directive/drag-drop/drag-preview.directive.mjs +0 -17
- package/esm2022/directive/drag-drop/drag.directive.mjs +0 -138
- package/esm2022/directive/drag-drop/model/drag-container-instance.mjs +0 -8
- package/esm2022/directive/drag-drop/model/drag-instance.mjs +0 -7
- package/esm2022/directive/drag-drop/model/drag-process.mjs +0 -2
- package/esm2022/directive/drag-drop/model/drag-selection.mjs +0 -2
- package/esm2022/directive/drag-drop/model/drop-event.mjs +0 -2
- package/esm2022/directive/drag-drop/model/drop-target.mjs +0 -2
- package/esm2022/directive/drag-drop/model/point.mjs +0 -2
- package/esm2022/directive/drag-drop/model/public-api.mjs +0 -8
- package/esm2022/directive/drag-drop/public-api.mjs +0 -7
- package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +0 -65
- package/esm2022/directive/drag-sort/drag-sort-event.mjs +0 -2
- package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +0 -111
- package/esm2022/directive/drag-sort/public-api.mjs +0 -4
- package/esm2022/directive/dynamic-content-base.directive.mjs +0 -80
- package/esm2022/directive/highlight/highlight.directive.mjs +0 -72
- package/esm2022/directive/highlight/public-api.mjs +0 -2
- package/esm2022/directive/hint/hint.directive.mjs +0 -102
- package/esm2022/directive/hint/public-api.mjs +0 -2
- package/esm2022/directive/let/let.directive.mjs +0 -39
- package/esm2022/directive/let/public-api.mjs +0 -2
- package/esm2022/directive/loader/loader.directive.mjs +0 -85
- package/esm2022/directive/loader/public-api.mjs +0 -2
- package/esm2022/directive/no-autofill/no-autofill.directive.mjs +0 -31
- package/esm2022/directive/no-autofill/public-api.mjs +0 -2
- package/esm2022/directive/only-number/only-number.directive.mjs +0 -184
- package/esm2022/directive/only-number/public-api.mjs +0 -2
- package/esm2022/directive/public-api.mjs +0 -19
- package/esm2022/directive/resize-drag/public-api.mjs +0 -2
- package/esm2022/directive/resize-drag/resize-drag.directive.mjs +0 -72
- package/esm2022/directive/scroll-into-view/public-api.mjs +0 -2
- package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +0 -41
- package/esm2022/directive/scrollable/public-api.mjs +0 -3
- package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +0 -98
- package/esm2022/directive/scrollable/scrollable.directive.mjs +0 -20
- package/esm2022/directive/teta-template/public-api.mjs +0 -2
- package/esm2022/directive/teta-template/teta-template.directive.mjs +0 -23
- package/esm2022/directive/tooltip/public-api.mjs +0 -2
- package/esm2022/directive/tooltip/tooltip.directive.mjs +0 -81
- package/esm2022/index.mjs +0 -22
- package/esm2022/locale/en.mjs +0 -50
- package/esm2022/locale/public-api.mjs +0 -5
- package/esm2022/locale/ru.mjs +0 -50
- package/esm2022/locale/teta-config.service.mjs +0 -28
- package/esm2022/locale/teta-localisation.mjs +0 -2
- package/esm2022/observable/animation-frame.mjs +0 -30
- package/esm2022/observable/public-api.mjs +0 -3
- package/esm2022/observable/zone-observable.mjs +0 -15
- package/esm2022/pipe/date-pipe/public-api.mjs +0 -2
- package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +0 -43
- package/esm2022/pipe/number-pipe/number.pipe.mjs +0 -28
- package/esm2022/pipe/number-pipe/public-api.mjs +0 -2
- package/esm2022/pipe/public-api.mjs +0 -4
- package/esm2022/pipe/util/number-helper.mjs +0 -25
- package/esm2022/tetacom-ng-components.mjs +0 -5
- package/esm2022/util/bool-or-func.mjs +0 -13
- package/esm2022/util/date-util.mjs +0 -231
- package/esm2022/util/export-dom-image.mjs +0 -22
- package/esm2022/util/forms-util.mjs +0 -85
- package/esm2022/util/is-function.mjs +0 -4
- package/esm2022/util/public-api.mjs +0 -7
- package/esm2022/util/string-util.mjs +0 -9
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, NgZone, Output, ViewChild, } from '@angular/core';
|
|
2
|
-
import { TreeService } from '../tree.service';
|
|
3
|
-
import { TetaTemplateDirective } from '../../../directive/teta-template/teta-template.directive';
|
|
4
|
-
import { filter, takeWhile } from 'rxjs/operators';
|
|
5
|
-
import { CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf } from '@angular/cdk/scrolling';
|
|
6
|
-
import { TreeItemComponent } from '../tree-item/tree-item.component';
|
|
7
|
-
import { ScrollableDirective } from '../../../directive/scrollable/scrollable.directive';
|
|
8
|
-
import { ScrollableComponent } from '../../../directive/scrollable/scrollable/scrollable.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
import * as i1 from "../tree.service";
|
|
11
|
-
export class TreeComponent {
|
|
12
|
-
set data(data) {
|
|
13
|
-
this._data = data;
|
|
14
|
-
}
|
|
15
|
-
get data() {
|
|
16
|
-
return this._data;
|
|
17
|
-
}
|
|
18
|
-
set openItems(items) {
|
|
19
|
-
this._openItems = items;
|
|
20
|
-
this._service.setOpenItems(items);
|
|
21
|
-
}
|
|
22
|
-
constructor(_service, _elementRef, _cdr, _zone) {
|
|
23
|
-
this._service = _service;
|
|
24
|
-
this._elementRef = _elementRef;
|
|
25
|
-
this._cdr = _cdr;
|
|
26
|
-
this._zone = _zone;
|
|
27
|
-
this.padding = 8;
|
|
28
|
-
this.childNodeName = 'children';
|
|
29
|
-
this.height = 28;
|
|
30
|
-
this.service = new EventEmitter();
|
|
31
|
-
this.openItemsChange = new EventEmitter();
|
|
32
|
-
this._alive = true;
|
|
33
|
-
this.treeClass = true;
|
|
34
|
-
this.trackRow = (index, item) => {
|
|
35
|
-
if (this.compareItems) {
|
|
36
|
-
return this.compareItems(item);
|
|
37
|
-
}
|
|
38
|
-
return index;
|
|
39
|
-
};
|
|
40
|
-
this._service.openItems
|
|
41
|
-
.pipe(takeWhile((_) => this._alive), filter((_) => this._openItems !== _))
|
|
42
|
-
.subscribe((_) => {
|
|
43
|
-
this._openItems = _;
|
|
44
|
-
this.displayData = this.getDisplayData(this._data, 0);
|
|
45
|
-
this.openItemsChange.emit(_);
|
|
46
|
-
this.viewport?.checkViewportSize();
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
set compareItems(func) {
|
|
50
|
-
this._service.compareItems = func;
|
|
51
|
-
}
|
|
52
|
-
get compareItems() {
|
|
53
|
-
return this._service.compareItems;
|
|
54
|
-
}
|
|
55
|
-
ngOnInit() {
|
|
56
|
-
this.service.emit(this._service);
|
|
57
|
-
this.addResizeObserver();
|
|
58
|
-
}
|
|
59
|
-
ngOnChanges(changes) {
|
|
60
|
-
this.displayData = this.getDisplayData(this._data, 0);
|
|
61
|
-
this.childPadding = this.hasChildren(this._data);
|
|
62
|
-
this.viewport?.checkViewportSize();
|
|
63
|
-
}
|
|
64
|
-
ngOnDestroy() {
|
|
65
|
-
this._alive = false;
|
|
66
|
-
this.removeResizeObserver();
|
|
67
|
-
}
|
|
68
|
-
ngAfterViewInit() {
|
|
69
|
-
this._service.scrollToIndex.pipe(takeWhile(() => this._alive)).subscribe((index) => {
|
|
70
|
-
this._zone.runOutsideAngular(() => {
|
|
71
|
-
setTimeout(() => {
|
|
72
|
-
this.viewport?.scrollToIndex(index, 'smooth');
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
hasChildren(data) {
|
|
78
|
-
return data?.some((_) => _[this.childNodeName]?.length > 0);
|
|
79
|
-
}
|
|
80
|
-
getDisplayData(data, level) {
|
|
81
|
-
const result = [];
|
|
82
|
-
data?.forEach((item) => {
|
|
83
|
-
item['level'] = level;
|
|
84
|
-
result.push(item);
|
|
85
|
-
if (item[this.childNodeName]?.length > 0 &&
|
|
86
|
-
this._openItems?.find((openItem) => this.compareItems(openItem) === this.compareItems(item))) {
|
|
87
|
-
result.push(...this.getDisplayData(item[this.childNodeName], level + 1));
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return result;
|
|
91
|
-
}
|
|
92
|
-
addResizeObserver() {
|
|
93
|
-
this._obs = new ResizeObserver((_) => {
|
|
94
|
-
this.viewport?.checkViewportSize();
|
|
95
|
-
});
|
|
96
|
-
this._obs.observe(this._elementRef.nativeElement);
|
|
97
|
-
}
|
|
98
|
-
removeResizeObserver() {
|
|
99
|
-
this._obs.unobserve(this._elementRef.nativeElement);
|
|
100
|
-
this._obs.disconnect();
|
|
101
|
-
}
|
|
102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeComponent, deps: [{ token: i1.TreeService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: TreeComponent, isStandalone: true, selector: "teta-tree", inputs: { data: "data", padding: "padding", childNodeName: "childNodeName", virtual: "virtual", height: "height", openItems: "openItems", compareItems: "compareItems" }, outputs: { service: "service", openItemsChange: "openItemsChange" }, host: { properties: { "class.tree": "this.treeClass" } }, providers: [TreeService], queries: [{ propertyName: "template", first: true, predicate: TetaTemplateDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "viewport", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesOnChanges: true, ngImport: i0, template: "@if (virtual) {\n <teta-scrollable class=\"column column_auto\">\n <cdk-virtual-scroll-viewport tetaScrollable class=\"table-body-container\" [itemSize]=\"height\">\n <teta-tree-item\n *cdkVirtualFor=\"let item of displayData; templateCacheSize: 0; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"\n ></teta-tree-item>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n} @else {\n <teta-scrollable class=\"column column_auto\" direction=\"column\">\n @for (item of displayData; track trackRow($index, item)) {\n <teta-tree-item\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"\n ></teta-tree-item>\n }\n </teta-scrollable>\n}\n", styles: [""], dependencies: [{ kind: "component", type: ScrollableComponent, selector: "teta-scrollable", inputs: ["direction", "showScrollbars", "contentClass"], outputs: ["scroll"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ScrollableDirective, selector: "[tetaScrollable]" }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: TreeItemComponent, selector: "teta-tree-item", inputs: ["item", "depth", "padding", "childNodeName", "template", "childPadding"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
104
|
-
}
|
|
105
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeComponent, decorators: [{
|
|
106
|
-
type: Component,
|
|
107
|
-
args: [{ selector: 'teta-tree', providers: [TreeService], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
108
|
-
ScrollableComponent,
|
|
109
|
-
CdkVirtualScrollViewport,
|
|
110
|
-
CdkFixedSizeVirtualScroll,
|
|
111
|
-
ScrollableDirective,
|
|
112
|
-
CdkVirtualForOf,
|
|
113
|
-
TreeItemComponent,
|
|
114
|
-
], template: "@if (virtual) {\n <teta-scrollable class=\"column column_auto\">\n <cdk-virtual-scroll-viewport tetaScrollable class=\"table-body-container\" [itemSize]=\"height\">\n <teta-tree-item\n *cdkVirtualFor=\"let item of displayData; templateCacheSize: 0; trackBy: trackRow\"\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"\n ></teta-tree-item>\n </cdk-virtual-scroll-viewport>\n </teta-scrollable>\n} @else {\n <teta-scrollable class=\"column column_auto\" direction=\"column\">\n @for (item of displayData; track trackRow($index, item)) {\n <teta-tree-item\n [item]=\"item\"\n [style.height.px]=\"height\"\n [depth]=\"item['level']\"\n [padding]=\"padding\"\n [childNodeName]=\"childNodeName\"\n [childPadding]=\"childPadding\"\n [template]=\"template?.template\"\n ></teta-tree-item>\n }\n </teta-scrollable>\n}\n" }]
|
|
115
|
-
}], ctorParameters: () => [{ type: i1.TreeService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }], propDecorators: { data: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], padding: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], childNodeName: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], virtual: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], height: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], openItems: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], service: [{
|
|
128
|
-
type: Output
|
|
129
|
-
}], openItemsChange: [{
|
|
130
|
-
type: Output
|
|
131
|
-
}], viewport: [{
|
|
132
|
-
type: ViewChild,
|
|
133
|
-
args: [CdkVirtualScrollViewport, { static: false }]
|
|
134
|
-
}], template: [{
|
|
135
|
-
type: ContentChild,
|
|
136
|
-
args: [TetaTemplateDirective, { static: true }]
|
|
137
|
-
}], compareItems: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], treeClass: [{
|
|
140
|
-
type: HostBinding,
|
|
141
|
-
args: ['class.tree']
|
|
142
|
-
}] } });
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RyZWUvdHJlZS90cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlL3RyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDOzs7QUFrQnBHLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLElBQ0ksSUFBSSxDQUFDLElBQWlCO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQU9ELElBQ0ksU0FBUyxDQUFDLEtBQWtCO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFpQkQsWUFDVSxRQUFxQixFQUNyQixXQUF1QixFQUN2QixJQUF1QixFQUN2QixLQUFhO1FBSGIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBOUJkLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixrQkFBYSxHQUFHLFVBQVUsQ0FBQztRQUUzQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBUVgsWUFBTyxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDO1FBQ3JFLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVd2QyxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBK0JzQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBNEI3RCxhQUFRLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBZSxFQUFPLEVBQUU7WUFDakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUF2REEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2FBQ3BCLElBQUksQ0FDSCxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDN0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsQ0FBQyxDQUNyQzthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQWMsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUNJLFlBQVksQ0FBQyxJQUE4QjtRQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7SUFDcEMsQ0FBQztJQUlELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtnQkFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ2hELENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFTTyxXQUFXLENBQUMsSUFBaUI7UUFDbkMsT0FBTyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sY0FBYyxDQUFDLElBQWlCLEVBQUUsS0FBYTtRQUNyRCxNQUFNLE1BQU0sR0FBZ0IsRUFBRSxDQUFDO1FBQy9CLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFlLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsSUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQzVGLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBaklVLGFBQWE7a0dBQWIsYUFBYSxpV0FaYixDQUFDLFdBQVcsQ0FBQyxnRUFzQ1YscUJBQXFCLHdHQUZ4Qix3QkFBd0IscUVDbEVyQyx1bENBOEJBLDBERElJLG1CQUFtQiwwSUFDbkIsd0JBQXdCLGlKQUN4Qix5QkFBeUIsc0lBQ3pCLG1CQUFtQiw2REFDbkIsZUFBZSw2TEFDZixpQkFBaUI7OzJGQUdSLGFBQWE7a0JBaEJ6QixTQUFTOytCQUNFLFdBQVcsYUFHVixDQUFDLFdBQVcsQ0FBQyxtQkFDUCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQjs4SkFJRyxJQUFJO3NCQURQLEtBQUs7Z0JBU0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7Z0JBTUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVpRCxRQUFRO3NCQUEvRCxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFHdEQsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkE4QmpELFlBQVk7c0JBRGYsS0FBSztnQkFTc0MsU0FBUztzQkFBcEQsV0FBVzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRyZWVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktdHJlZS1kYXRhJztcbmltcG9ydCB7IFRyZWVTZXJ2aWNlIH0gZnJvbSAnLi4vdHJlZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRldGFUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS90ZXRhLXRlbXBsYXRlL3RldGEtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LCBDZGtGaXhlZFNpemVWaXJ0dWFsU2Nyb2xsLCBDZGtWaXJ0dWFsRm9yT2YgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IFRyZWVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vdHJlZS1pdGVtL3RyZWUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2Nyb2xsYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9zY3JvbGxhYmxlL3Njcm9sbGFibGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNjcm9sbGFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmUvc2Nyb2xsYWJsZS9zY3JvbGxhYmxlL3Njcm9sbGFibGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10cmVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1RyZWVTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBTY3JvbGxhYmxlQ29tcG9uZW50LFxuICAgIENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCxcbiAgICBDZGtGaXhlZFNpemVWaXJ0dWFsU2Nyb2xsLFxuICAgIFNjcm9sbGFibGVEaXJlY3RpdmUsXG4gICAgQ2RrVmlydHVhbEZvck9mLFxuICAgIFRyZWVJdGVtQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHNldCBkYXRhKGRhdGE6IElUcmVlRGF0YVtdKSB7XG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XG4gIH1cblxuICBnZXQgZGF0YSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YTtcbiAgfVxuXG4gIEBJbnB1dCgpIHBhZGRpbmcgPSA4O1xuICBASW5wdXQoKSBjaGlsZE5vZGVOYW1lID0gJ2NoaWxkcmVuJztcbiAgQElucHV0KCkgdmlydHVhbDogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVpZ2h0ID0gMjg7XG5cbiAgQElucHV0KClcbiAgc2V0IG9wZW5JdGVtcyhpdGVtczogSVRyZWVEYXRhW10pIHtcbiAgICB0aGlzLl9vcGVuSXRlbXMgPSBpdGVtcztcbiAgICB0aGlzLl9zZXJ2aWNlLnNldE9wZW5JdGVtcyhpdGVtcyk7XG4gIH1cblxuICBAT3V0cHV0KCkgc2VydmljZTogRXZlbnRFbWl0dGVyPFRyZWVTZXJ2aWNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJlZVNlcnZpY2U+KCk7XG4gIEBPdXRwdXQoKSBvcGVuSXRlbXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQsIHsgc3RhdGljOiBmYWxzZSB9KSB2aWV3cG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xuXG4gIEBDb250ZW50Q2hpbGQoVGV0YVRlbXBsYXRlRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICB0ZW1wbGF0ZTogVGV0YVRlbXBsYXRlRGlyZWN0aXZlO1xuICBjaGlsZFBhZGRpbmc6IGJvb2xlYW47XG4gIGRpc3BsYXlEYXRhOiBJVHJlZURhdGFbXTtcblxuICBwcml2YXRlIF9kYXRhOiBJVHJlZURhdGFbXTtcbiAgcHJpdmF0ZSBfb3Blbkl0ZW1zOiBJVHJlZURhdGFbXTtcbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBwcml2YXRlIF9vYnM6IFJlc2l6ZU9ic2VydmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3NlcnZpY2U6IFRyZWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICkge1xuICAgIHRoaXMuX3NlcnZpY2Uub3Blbkl0ZW1zXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVdoaWxlKChfKSA9PiB0aGlzLl9hbGl2ZSksXG4gICAgICAgIGZpbHRlcigoXykgPT4gdGhpcy5fb3Blbkl0ZW1zICE9PSBfKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKF86IElUcmVlRGF0YVtdKSA9PiB7XG4gICAgICAgIHRoaXMuX29wZW5JdGVtcyA9IF87XG4gICAgICAgIHRoaXMuZGlzcGxheURhdGEgPSB0aGlzLmdldERpc3BsYXlEYXRhKHRoaXMuX2RhdGEsIDApO1xuICAgICAgICB0aGlzLm9wZW5JdGVtc0NoYW5nZS5lbWl0KF8pO1xuICAgICAgICB0aGlzLnZpZXdwb3J0Py5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgY29tcGFyZUl0ZW1zKGZ1bmM6IChpdGVtOiBJVHJlZURhdGEpID0+IGFueSkge1xuICAgIHRoaXMuX3NlcnZpY2UuY29tcGFyZUl0ZW1zID0gZnVuYztcbiAgfVxuXG4gIGdldCBjb21wYXJlSXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlcnZpY2UuY29tcGFyZUl0ZW1zO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50cmVlJykgcHJpdmF0ZSByZWFkb25seSB0cmVlQ2xhc3MgPSB0cnVlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5lbWl0KHRoaXMuX3NlcnZpY2UpO1xuICAgIHRoaXMuYWRkUmVzaXplT2JzZXJ2ZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlEYXRhID0gdGhpcy5nZXREaXNwbGF5RGF0YSh0aGlzLl9kYXRhLCAwKTtcbiAgICB0aGlzLmNoaWxkUGFkZGluZyA9IHRoaXMuaGFzQ2hpbGRyZW4odGhpcy5fZGF0YSk7XG4gICAgdGhpcy52aWV3cG9ydD8uY2hlY2tWaWV3cG9ydFNpemUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gICAgdGhpcy5yZW1vdmVSZXNpemVPYnNlcnZlcigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuX3NlcnZpY2Uuc2Nyb2xsVG9JbmRleC5waXBlKHRha2VXaGlsZSgoKSA9PiB0aGlzLl9hbGl2ZSkpLnN1YnNjcmliZSgoaW5kZXgpID0+IHtcbiAgICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnZpZXdwb3J0Py5zY3JvbGxUb0luZGV4KGluZGV4LCAnc21vb3RoJyk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICB0cmFja1JvdyA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBJVHJlZURhdGEpOiBhbnkgPT4ge1xuICAgIGlmICh0aGlzLmNvbXBhcmVJdGVtcykge1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZUl0ZW1zKGl0ZW0pO1xuICAgIH1cbiAgICByZXR1cm4gaW5kZXg7XG4gIH07XG5cbiAgcHJpdmF0ZSBoYXNDaGlsZHJlbihkYXRhOiBJVHJlZURhdGFbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRhPy5zb21lKChfKSA9PiBfW3RoaXMuY2hpbGROb2RlTmFtZV0/Lmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5RGF0YShkYXRhOiBJVHJlZURhdGFbXSwgbGV2ZWw6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc3VsdDogSVRyZWVEYXRhW10gPSBbXTtcbiAgICBkYXRhPy5mb3JFYWNoKChpdGVtOiBJVHJlZURhdGEpID0+IHtcbiAgICAgIGl0ZW1bJ2xldmVsJ10gPSBsZXZlbDtcbiAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xuICAgICAgaWYgKFxuICAgICAgICBpdGVtW3RoaXMuY2hpbGROb2RlTmFtZV0/Lmxlbmd0aCA+IDAgJiZcbiAgICAgICAgdGhpcy5fb3Blbkl0ZW1zPy5maW5kKChvcGVuSXRlbSkgPT4gdGhpcy5jb21wYXJlSXRlbXMob3Blbkl0ZW0pID09PSB0aGlzLmNvbXBhcmVJdGVtcyhpdGVtKSlcbiAgICAgICkge1xuICAgICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldERpc3BsYXlEYXRhKGl0ZW1bdGhpcy5jaGlsZE5vZGVOYW1lXSwgbGV2ZWwgKyAxKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkUmVzaXplT2JzZXJ2ZXIoKSB7XG4gICAgdGhpcy5fb2JzID0gbmV3IFJlc2l6ZU9ic2VydmVyKChfKSA9PiB7XG4gICAgICB0aGlzLnZpZXdwb3J0Py5jaGVja1ZpZXdwb3J0U2l6ZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fb2JzLm9ic2VydmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUmVzaXplT2JzZXJ2ZXIoKSB7XG4gICAgdGhpcy5fb2JzLnVub2JzZXJ2ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuX29icy5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiIsIkBpZiAodmlydHVhbCkge1xuICA8dGV0YS1zY3JvbGxhYmxlIGNsYXNzPVwiY29sdW1uIGNvbHVtbl9hdXRvXCI+XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCB0ZXRhU2Nyb2xsYWJsZSBjbGFzcz1cInRhYmxlLWJvZHktY29udGFpbmVyXCIgW2l0ZW1TaXplXT1cImhlaWdodFwiPlxuICAgICAgPHRldGEtdHJlZS1pdGVtXG4gICAgICAgICpjZGtWaXJ0dWFsRm9yPVwibGV0IGl0ZW0gb2YgZGlzcGxheURhdGE7IHRlbXBsYXRlQ2FjaGVTaXplOiAwOyB0cmFja0J5OiB0cmFja1Jvd1wiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4gICAgICAgIFtkZXB0aF09XCJpdGVtWydsZXZlbCddXCJcbiAgICAgICAgW3BhZGRpbmddPVwicGFkZGluZ1wiXG4gICAgICAgIFtjaGlsZE5vZGVOYW1lXT1cImNoaWxkTm9kZU5hbWVcIlxuICAgICAgICBbY2hpbGRQYWRkaW5nXT1cImNoaWxkUGFkZGluZ1wiXG4gICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVcIlxuICAgICAgPjwvdGV0YS10cmVlLWl0ZW0+XG4gICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG4gIDwvdGV0YS1zY3JvbGxhYmxlPlxufSBAZWxzZSB7XG4gIDx0ZXRhLXNjcm9sbGFibGUgY2xhc3M9XCJjb2x1bW4gY29sdW1uX2F1dG9cIiBkaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICBAZm9yIChpdGVtIG9mIGRpc3BsYXlEYXRhOyB0cmFjayB0cmFja1JvdygkaW5kZXgsIGl0ZW0pKSB7XG4gICAgICA8dGV0YS10cmVlLWl0ZW1cbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiaGVpZ2h0XCJcbiAgICAgICAgW2RlcHRoXT1cIml0ZW1bJ2xldmVsJ11cIlxuICAgICAgICBbcGFkZGluZ109XCJwYWRkaW5nXCJcbiAgICAgICAgW2NoaWxkTm9kZU5hbWVdPVwiY2hpbGROb2RlTmFtZVwiXG4gICAgICAgIFtjaGlsZFBhZGRpbmddPVwiY2hpbGRQYWRkaW5nXCJcbiAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlPy50ZW1wbGF0ZVwiXG4gICAgICA+PC90ZXRhLXRyZWUtaXRlbT5cbiAgICB9XG4gIDwvdGV0YS1zY3JvbGxhYmxlPlxufVxuIl19
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, TemplateRef, } from '@angular/core';
|
|
2
|
-
import { TreeService } from '../tree.service';
|
|
3
|
-
import { takeWhile } from 'rxjs/operators';
|
|
4
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
5
|
-
import { NgClass, NgTemplateOutlet } from '@angular/common';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../tree.service";
|
|
8
|
-
/**
|
|
9
|
-
* TODO: Lazy загрузка дочерних элементов, Output onExpand, шаблон для иконки expand
|
|
10
|
-
*/
|
|
11
|
-
export class TreeItemComponent {
|
|
12
|
-
get computedDepth() {
|
|
13
|
-
return this.depth + (this.item[this.childNodeName]?.length > 0 ? 0 : this.childPadding ? 2 : 1);
|
|
14
|
-
}
|
|
15
|
-
constructor(service, _cdr) {
|
|
16
|
-
this.service = service;
|
|
17
|
-
this._cdr = _cdr;
|
|
18
|
-
this.depth = 0;
|
|
19
|
-
this.padding = 16;
|
|
20
|
-
this.childNodeName = 'children';
|
|
21
|
-
this.treeItemClass = true;
|
|
22
|
-
this.itemIsOpen = false;
|
|
23
|
-
this._alive = true;
|
|
24
|
-
this.treeItemInstance = true;
|
|
25
|
-
}
|
|
26
|
-
openItem() {
|
|
27
|
-
this.service.openItem(this.item);
|
|
28
|
-
}
|
|
29
|
-
ngOnInit() {
|
|
30
|
-
this.service.openItems.pipe(takeWhile((_) => this._alive)).subscribe((_) => {
|
|
31
|
-
const found = _?.find((x) => this.service.compareItems(x) === this.service.compareItems(this.item));
|
|
32
|
-
this.itemIsOpen = found != null;
|
|
33
|
-
this._cdr.markForCheck();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
ngOnChanges(changes) { }
|
|
37
|
-
ngOnDestroy() {
|
|
38
|
-
this._alive = false;
|
|
39
|
-
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeItemComponent, deps: [{ token: i1.TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: TreeItemComponent, isStandalone: true, selector: "teta-tree-item", inputs: { item: "item", depth: "depth", padding: "padding", childNodeName: "childNodeName", template: "template", childPadding: "childPadding" }, host: { properties: { "class.tree__item-container": "this.treeItemClass", "@treeItemInstance": "this.treeItemInstance" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree__item_content\" [ngClass]=\"'tree__item_content-' + computedDepth\" (click)=\"openItem()\">\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: { $implicit: item, item: item, open: itemIsOpen, service: service, depth: depth }\n \"\n ></ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
42
|
-
trigger('treeItemInstance', [
|
|
43
|
-
transition('void => *', [style({ opacity: '0' }), animate(200, style({ opacity: '1' }))]),
|
|
44
|
-
// transition('* => void', [animate(200, style({opacity: '0'}))]),
|
|
45
|
-
]),
|
|
46
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
47
|
-
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeItemComponent, decorators: [{
|
|
49
|
-
type: Component,
|
|
50
|
-
args: [{ selector: 'teta-tree-item', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
51
|
-
trigger('treeItemInstance', [
|
|
52
|
-
transition('void => *', [style({ opacity: '0' }), animate(200, style({ opacity: '1' }))]),
|
|
53
|
-
// transition('* => void', [animate(200, style({opacity: '0'}))]),
|
|
54
|
-
]),
|
|
55
|
-
], standalone: true, imports: [NgClass, NgTemplateOutlet], template: "<div class=\"tree__item_content\" [ngClass]=\"'tree__item_content-' + computedDepth\" (click)=\"openItem()\">\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: { $implicit: item, item: item, open: itemIsOpen, service: service, depth: depth }\n \"\n ></ng-container>\n</div>\n" }]
|
|
56
|
-
}], ctorParameters: () => [{ type: i1.TreeService }, { type: i0.ChangeDetectorRef }], propDecorators: { item: [{
|
|
57
|
-
type: Input
|
|
58
|
-
}], depth: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], padding: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], childNodeName: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], template: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], childPadding: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], treeItemClass: [{
|
|
69
|
-
type: HostBinding,
|
|
70
|
-
args: ['class.tree__item-container']
|
|
71
|
-
}], treeItemInstance: [{
|
|
72
|
-
type: HostBinding,
|
|
73
|
-
args: ['@treeItemInstance']
|
|
74
|
-
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlLWl0ZW0vdHJlZS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUtMLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUU1RDs7R0FFRztBQWVILE1BQU0sT0FBTyxpQkFBaUI7SUFlNUIsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxZQUNTLE9BQW9CLEVBQ25CLElBQXVCO1FBRHhCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7UUFuQnhCLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2Isa0JBQWEsR0FBRyxVQUFVLENBQUM7UUFJd0Isa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFFakYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVYLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDNkIscUJBQWdCLEdBQUcsSUFBSSxDQUFDO0lBU3hFLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDcEcsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCLElBQVMsQ0FBQztJQUU1QyxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs4R0F4Q1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsNldDbkM5QixtVEFRQSwwRER5QlksT0FBTyxvRkFBRSxnQkFBZ0Isc0lBUHZCO1lBQ1YsT0FBTyxDQUFDLGtCQUFrQixFQUFFO2dCQUMxQixVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pGLGtFQUFrRTthQUNuRSxDQUFDO1NBQ0g7OzJGQUlVLGlCQUFpQjtrQkFkN0IsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQzt3QkFDVixPQUFPLENBQUMsa0JBQWtCLEVBQUU7NEJBQzFCLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDekYsa0VBQWtFO3lCQUNuRSxDQUFDO3FCQUNILGNBQ1csSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLGdCQUFnQixDQUFDO2dIQUczQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFc0QsYUFBYTtzQkFBeEUsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBS1UsZ0JBQWdCO3NCQUFsRSxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElUcmVlRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLXRyZWUtZGF0YSc7XG5pbXBvcnQgeyBUcmVlU2VydmljZSB9IGZyb20gJy4uL3RyZWUuc2VydmljZSc7XG5pbXBvcnQgeyB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICogVE9ETzogTGF6eSDQt9Cw0LPRgNGD0LfQutCwINC00L7Rh9C10YDQvdC40YUg0Y3Qu9C10LzQtdC90YLQvtCyLCBPdXRwdXQgb25FeHBhbmQsINGI0LDQsdC70L7QvSDQtNC70Y8g0LjQutC+0L3QutC4IGV4cGFuZFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0ZXRhLXRyZWUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCd0cmVlSXRlbUluc3RhbmNlJywgW1xuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgW3N0eWxlKHsgb3BhY2l0eTogJzAnIH0pLCBhbmltYXRlKDIwMCwgc3R5bGUoeyBvcGFjaXR5OiAnMScgfSkpXSksXG4gICAgICAvLyB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBbYW5pbWF0ZSgyMDAsIHN0eWxlKHtvcGFjaXR5OiAnMCd9KSldKSxcbiAgICBdKSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmVlSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBpdGVtOiBJVHJlZURhdGE7XG4gIEBJbnB1dCgpIGRlcHRoID0gMDtcbiAgQElucHV0KCkgcGFkZGluZyA9IDE2O1xuICBASW5wdXQoKSBjaGlsZE5vZGVOYW1lID0gJ2NoaWxkcmVuJztcbiAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGNoaWxkUGFkZGluZzogYm9vbGVhbjtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRyZWVfX2l0ZW0tY29udGFpbmVyJykgcHJpdmF0ZSByZWFkb25seSB0cmVlSXRlbUNsYXNzID0gdHJ1ZTtcblxuICBpdGVtSXNPcGVuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuICBASG9zdEJpbmRpbmcoJ0B0cmVlSXRlbUluc3RhbmNlJykgcHJpdmF0ZSByZWFkb25seSB0cmVlSXRlbUluc3RhbmNlID0gdHJ1ZTtcblxuICBnZXQgY29tcHV0ZWREZXB0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRlcHRoICsgKHRoaXMuaXRlbVt0aGlzLmNoaWxkTm9kZU5hbWVdPy5sZW5ndGggPiAwID8gMCA6IHRoaXMuY2hpbGRQYWRkaW5nID8gMiA6IDEpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IFRyZWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBvcGVuSXRlbSgpIHtcbiAgICB0aGlzLnNlcnZpY2Uub3Blbkl0ZW0odGhpcy5pdGVtKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5vcGVuSXRlbXMucGlwZSh0YWtlV2hpbGUoKF8pID0+IHRoaXMuX2FsaXZlKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICBjb25zdCBmb3VuZCA9IF8/LmZpbmQoKHgpID0+IHRoaXMuc2VydmljZS5jb21wYXJlSXRlbXMoeCkgPT09IHRoaXMuc2VydmljZS5jb21wYXJlSXRlbXModGhpcy5pdGVtKSk7XG4gICAgICB0aGlzLml0ZW1Jc09wZW4gPSBmb3VuZCAhPSBudWxsO1xuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbGl2ZSA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidHJlZV9faXRlbV9jb250ZW50XCIgW25nQ2xhc3NdPVwiJ3RyZWVfX2l0ZW1fY29udGVudC0nICsgY29tcHV0ZWREZXB0aFwiIChjbGljayk9XCJvcGVuSXRlbSgpXCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgdGVtcGxhdGU7XG4gICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSwgaXRlbTogaXRlbSwgb3BlbjogaXRlbUlzT3Blbiwgc2VydmljZTogc2VydmljZSwgZGVwdGg6IGRlcHRoIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input } from '@angular/core';
|
|
2
|
-
import { TreeService } from '../tree.service';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import { AsyncPipe } from '@angular/common';
|
|
5
|
-
import { IconComponent } from '../../icon/icon/icon.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../tree.service";
|
|
8
|
-
export class TreeItemToggleComponent {
|
|
9
|
-
constructor(service, _cdr) {
|
|
10
|
-
this.service = service;
|
|
11
|
-
this._cdr = _cdr;
|
|
12
|
-
}
|
|
13
|
-
ngOnInit() {
|
|
14
|
-
this.open = this.service.openItems.pipe(map((_) => {
|
|
15
|
-
const found = _?.find((x) => this.service.compareItems(x) === this.service.compareItems(this.item));
|
|
16
|
-
return found != null;
|
|
17
|
-
}));
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeItemToggleComponent, deps: [{ token: i1.TreeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.1", type: TreeItemToggleComponent, isStandalone: true, selector: "teta-tree-item-toggle", inputs: { item: "item" }, ngImport: i0, template: "<teta-icon [name]=\"(open | async) ? 'arrowDownKey' : 'arrowRightKey'\" class=\"tree__icon\"></teta-icon>\n", styles: [":host{display:inline-flex;align-items:center}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeItemToggleComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'teta-tree-item-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [IconComponent, AsyncPipe], template: "<teta-icon [name]=\"(open | async) ? 'arrowDownKey' : 'arrowRightKey'\" class=\"tree__icon\"></teta-icon>\n", styles: [":host{display:inline-flex;align-items:center}\n"] }]
|
|
25
|
-
}], ctorParameters: () => [{ type: i1.TreeService }, { type: i0.ChangeDetectorRef }], propDecorators: { item: [{
|
|
26
|
-
type: Input
|
|
27
|
-
}] } });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1pdGVtLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L3RyZWUvdHJlZS1pdGVtLXRvZ2dsZS90cmVlLWl0ZW0tdG9nZ2xlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnQvdHJlZS90cmVlLWl0ZW0tdG9nZ2xlL3RyZWUtaXRlbS10b2dnbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFVL0QsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQyxZQUNTLE9BQW9CLEVBQ25CLElBQXVCO1FBRHhCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBbUI7SUFDOUIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDUixNQUFNLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNwRyxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OEdBaEJVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDJHQ2hCcEMsNkdBQ0EseUdEYVksYUFBYSwrRkFBRSxTQUFTOzsyRkFFdkIsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDO2dIQUcxQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZVNlcnZpY2UgfSBmcm9tICcuLi90cmVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVRyZWVEYXRhIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbnRyYWN0L2ktdHJlZS1kYXRhJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uL2ljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS10cmVlLWl0ZW0tdG9nZ2xlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtaXRlbS10b2dnbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90cmVlLWl0ZW0tdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSWNvbkNvbXBvbmVudCwgQXN5bmNQaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZUl0ZW1Ub2dnbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBpdGVtOiBJVHJlZURhdGE7XG4gIG9wZW46IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZpY2U6IFRyZWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4gPSB0aGlzLnNlcnZpY2Uub3Blbkl0ZW1zLnBpcGUoXG4gICAgICBtYXAoKF8pID0+IHtcbiAgICAgICAgY29uc3QgZm91bmQgPSBfPy5maW5kKCh4KSA9PiB0aGlzLnNlcnZpY2UuY29tcGFyZUl0ZW1zKHgpID09PSB0aGlzLnNlcnZpY2UuY29tcGFyZUl0ZW1zKHRoaXMuaXRlbSkpO1xuICAgICAgICByZXR1cm4gZm91bmQgIT0gbnVsbDtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiIsIjx0ZXRhLWljb24gW25hbWVdPVwiKG9wZW4gfCBhc3luYykgPyAnYXJyb3dEb3duS2V5JyA6ICdhcnJvd1JpZ2h0S2V5J1wiIGNsYXNzPVwidHJlZV9faWNvblwiPjwvdGV0YS1pY29uPlxuIl19
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TreeService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this._openItems = new BehaviorSubject([]);
|
|
7
|
-
this._scrollToIndex = new BehaviorSubject(0);
|
|
8
|
-
this.compareItems = (item) => item;
|
|
9
|
-
this.openItems = this._openItems.asObservable();
|
|
10
|
-
this.scrollToIndex = this._scrollToIndex.asObservable();
|
|
11
|
-
}
|
|
12
|
-
openItem(item) {
|
|
13
|
-
const newValue = this.addOrRemove(item, this._openItems.value);
|
|
14
|
-
this.setOpenItems(newValue);
|
|
15
|
-
}
|
|
16
|
-
setOpenItems(items) {
|
|
17
|
-
this._openItems.next(items);
|
|
18
|
-
}
|
|
19
|
-
scrollTo(index) {
|
|
20
|
-
this._scrollToIndex.next(index);
|
|
21
|
-
}
|
|
22
|
-
addOrRemove(needle, list) {
|
|
23
|
-
const found = list?.find((x) => this.compareItems(x) === this.compareItems(needle));
|
|
24
|
-
if (found) {
|
|
25
|
-
return list.filter((x) => this.compareItems(x) !== this.compareItems(needle));
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
return [...list, needle];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
32
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeService, providedIn: 'root' }); }
|
|
33
|
-
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: TreeService, decorators: [{
|
|
35
|
-
type: Injectable,
|
|
36
|
-
args: [{
|
|
37
|
-
providedIn: 'root',
|
|
38
|
-
}]
|
|
39
|
-
}], ctorParameters: () => [] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC90cmVlL3RyZWUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQXVCLE1BQU0sTUFBTSxDQUFDOztBQUs1RCxNQUFNLE9BQU8sV0FBVztJQU90QjtRQUhRLGVBQVUsR0FBaUMsSUFBSSxlQUFlLENBQWMsRUFBRSxDQUFDLENBQUM7UUFDaEYsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQU94RCxpQkFBWSxHQUE2QixDQUFDLElBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBSmpFLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUQsQ0FBQztJQUlELFFBQVEsQ0FBQyxJQUFlO1FBQ3RCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWtCO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sV0FBVyxDQUFJLE1BQVMsRUFBRSxJQUFTO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDOzhHQWxDVSxXQUFXO2tIQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElUcmVlRGF0YSB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb250cmFjdC9pLXRyZWUtZGF0YSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVTZXJ2aWNlIHtcbiAgb3Blbkl0ZW1zOiBPYnNlcnZhYmxlPElUcmVlRGF0YVtdPjtcbiAgc2Nyb2xsVG9JbmRleDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuXG4gIHByaXZhdGUgX29wZW5JdGVtczogQmVoYXZpb3JTdWJqZWN0PElUcmVlRGF0YVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVRyZWVEYXRhW10+KFtdKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsVG9JbmRleCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLm9wZW5JdGVtcyA9IHRoaXMuX29wZW5JdGVtcy5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLnNjcm9sbFRvSW5kZXggPSB0aGlzLl9zY3JvbGxUb0luZGV4LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgY29tcGFyZUl0ZW1zOiAoaXRlbTogSVRyZWVEYXRhKSA9PiBhbnkgPSAoaXRlbTogSVRyZWVEYXRhKSA9PiBpdGVtO1xuXG4gIG9wZW5JdGVtKGl0ZW06IElUcmVlRGF0YSkge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5hZGRPclJlbW92ZShpdGVtLCB0aGlzLl9vcGVuSXRlbXMudmFsdWUpO1xuICAgIHRoaXMuc2V0T3Blbkl0ZW1zKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHNldE9wZW5JdGVtcyhpdGVtczogSVRyZWVEYXRhW10pIHtcbiAgICB0aGlzLl9vcGVuSXRlbXMubmV4dChpdGVtcyk7XG4gIH1cblxuICBzY3JvbGxUbyhpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5fc2Nyb2xsVG9JbmRleC5uZXh0KGluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkT3JSZW1vdmU8Rz4obmVlZGxlOiBHLCBsaXN0OiBHW10pOiBHW10ge1xuICAgIGNvbnN0IGZvdW5kID0gbGlzdD8uZmluZCgoeCkgPT4gdGhpcy5jb21wYXJlSXRlbXMoeCkgPT09IHRoaXMuY29tcGFyZUl0ZW1zKG5lZWRsZSkpO1xuICAgIGlmIChmb3VuZCkge1xuICAgICAgcmV0dXJuIGxpc3QuZmlsdGVyKCh4KSA9PiB0aGlzLmNvbXBhcmVJdGVtcyh4KSAhPT0gdGhpcy5jb21wYXJlSXRlbXMobmVlZGxlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbLi4ubGlzdCwgbmVlZGxlXTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostBinding, Input, NgZone } from '@angular/core';
|
|
2
|
-
import { Align } from '../../common/enum/align.enum';
|
|
3
|
-
import { VerticalAlign } from '../../common/enum/vertical-align.enum';
|
|
4
|
-
import { DomUtil } from '../../common/util/dom-util';
|
|
5
|
-
import { PositionUtil } from '../../common/util/position-util';
|
|
6
|
-
import { takeWhile } from 'rxjs/operators';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class AutoPositionDirective {
|
|
9
|
-
constructor(_elementRef, _zone) {
|
|
10
|
-
this._elementRef = _elementRef;
|
|
11
|
-
this._zone = _zone;
|
|
12
|
-
this.verticalAlign = VerticalAlign.auto;
|
|
13
|
-
this.fixed = 'fixed';
|
|
14
|
-
this._alive = true;
|
|
15
|
-
}
|
|
16
|
-
ngAfterViewInit() {
|
|
17
|
-
this.setPosition();
|
|
18
|
-
this._zone.onStable.pipe(takeWhile(() => this._alive)).subscribe(() => {
|
|
19
|
-
this.setPosition();
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
ngOnDestroy() {
|
|
23
|
-
this._alive = false;
|
|
24
|
-
}
|
|
25
|
-
setPosition() {
|
|
26
|
-
const target = this._elementRef.nativeElement;
|
|
27
|
-
const containerPosition = this._elementRef.nativeElement.parentElement.getBoundingClientRect();
|
|
28
|
-
const targetPosition = target.getBoundingClientRect();
|
|
29
|
-
const rect = {
|
|
30
|
-
bottom: containerPosition.bottom,
|
|
31
|
-
top: containerPosition.top,
|
|
32
|
-
left: containerPosition.left,
|
|
33
|
-
right: containerPosition.right,
|
|
34
|
-
};
|
|
35
|
-
const targetRect = {
|
|
36
|
-
bottom: targetPosition.bottom,
|
|
37
|
-
top: targetPosition.top,
|
|
38
|
-
left: targetPosition.left,
|
|
39
|
-
right: targetPosition.right,
|
|
40
|
-
};
|
|
41
|
-
const targetTransformedParent = DomUtil.findTransformedParent(target);
|
|
42
|
-
let parentPosition = {
|
|
43
|
-
left: 0,
|
|
44
|
-
right: 0,
|
|
45
|
-
top: 0,
|
|
46
|
-
bottom: 0,
|
|
47
|
-
};
|
|
48
|
-
if (targetTransformedParent) {
|
|
49
|
-
parentPosition = targetTransformedParent.getBoundingClientRect();
|
|
50
|
-
}
|
|
51
|
-
const position = PositionUtil.getPosition(rect, targetRect, this.align, this.verticalAlign, 0, 0, parentPosition);
|
|
52
|
-
PositionUtil.setElementPosition(target, position);
|
|
53
|
-
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AutoPositionDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
55
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: AutoPositionDirective, isStandalone: true, selector: "[tetaAutoPosition]", inputs: { align: "align", verticalAlign: "verticalAlign" }, host: { properties: { "style.position": "this.fixed" } }, ngImport: i0 }); }
|
|
56
|
-
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: AutoPositionDirective, decorators: [{
|
|
58
|
-
type: Directive,
|
|
59
|
-
args: [{
|
|
60
|
-
selector: '[tetaAutoPosition]',
|
|
61
|
-
standalone: true,
|
|
62
|
-
}]
|
|
63
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { align: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], verticalAlign: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], fixed: [{
|
|
68
|
-
type: HostBinding,
|
|
69
|
-
args: ['style.position']
|
|
70
|
-
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2F1dG8tcG9zaXRpb24vYXV0by1wb3NpdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxxQkFBcUI7SUFRaEMsWUFDVSxXQUF1QixFQUN2QixLQUFhO1FBRGIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQVJkLGtCQUFhLEdBQWtCLGFBQWEsQ0FBQyxJQUFJLENBQUM7UUFFNUIsVUFBSyxHQUFHLE9BQU8sQ0FBQztRQUV2QyxXQUFNLEdBQUcsSUFBSSxDQUFDO0lBS25CLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNwRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQzlDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0YsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFdEQsTUFBTSxJQUFJLEdBQVU7WUFDbEIsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU07WUFDaEMsR0FBRyxFQUFFLGlCQUFpQixDQUFDLEdBQUc7WUFDMUIsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUk7WUFDNUIsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEtBQUs7U0FDL0IsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFVO1lBQ3hCLE1BQU0sRUFBRSxjQUFjLENBQUMsTUFBTTtZQUM3QixHQUFHLEVBQUUsY0FBYyxDQUFDLEdBQUc7WUFDdkIsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3pCLEtBQUssRUFBRSxjQUFjLENBQUMsS0FBSztTQUM1QixDQUFDO1FBRUYsTUFBTSx1QkFBdUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEUsSUFBSSxjQUFjLEdBQUc7WUFDbkIsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsQ0FBQztZQUNSLEdBQUcsRUFBRSxDQUFDO1lBQ04sTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO1FBQ0YsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQzVCLGNBQWMsR0FBRyx1QkFBdUIsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ25FLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFFbEgsWUFBWSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNwRCxDQUFDOzhHQXpEVSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7b0dBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRXlCLEtBQUs7c0JBQW5DLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBbGlnbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHsgSVJlY3QgfSBmcm9tICcuLi8uLi9jb21tb24vY29udHJhY3QvaS1yZWN0JztcbmltcG9ydCB7IERvbVV0aWwgfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9kb20tdXRpbCc7XG5pbXBvcnQgeyBQb3NpdGlvblV0aWwgfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9wb3NpdGlvbi11dGlsJztcbmltcG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RldGFBdXRvUG9zaXRpb25dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b1Bvc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduO1xuICBASW5wdXQoKSB2ZXJ0aWNhbEFsaWduOiBWZXJ0aWNhbEFsaWduID0gVmVydGljYWxBbGlnbi5hdXRvO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUucG9zaXRpb24nKSBmaXhlZCA9ICdmaXhlZCc7XG5cbiAgcHJpdmF0ZSBfYWxpdmUgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfem9uZTogTmdab25lLFxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcbiAgICB0aGlzLl96b25lLm9uU3RhYmxlLnBpcGUodGFrZVdoaWxlKCgpID0+IHRoaXMuX2FsaXZlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2FsaXZlID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIHNldFBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjb250YWluZXJQb3NpdGlvbiA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHRhcmdldFBvc2l0aW9uID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgcmVjdDogSVJlY3QgPSB7XG4gICAgICBib3R0b206IGNvbnRhaW5lclBvc2l0aW9uLmJvdHRvbSxcbiAgICAgIHRvcDogY29udGFpbmVyUG9zaXRpb24udG9wLFxuICAgICAgbGVmdDogY29udGFpbmVyUG9zaXRpb24ubGVmdCxcbiAgICAgIHJpZ2h0OiBjb250YWluZXJQb3NpdGlvbi5yaWdodCxcbiAgICB9O1xuXG4gICAgY29uc3QgdGFyZ2V0UmVjdDogSVJlY3QgPSB7XG4gICAgICBib3R0b206IHRhcmdldFBvc2l0aW9uLmJvdHRvbSxcbiAgICAgIHRvcDogdGFyZ2V0UG9zaXRpb24udG9wLFxuICAgICAgbGVmdDogdGFyZ2V0UG9zaXRpb24ubGVmdCxcbiAgICAgIHJpZ2h0OiB0YXJnZXRQb3NpdGlvbi5yaWdodCxcbiAgICB9O1xuXG4gICAgY29uc3QgdGFyZ2V0VHJhbnNmb3JtZWRQYXJlbnQgPSBEb21VdGlsLmZpbmRUcmFuc2Zvcm1lZFBhcmVudCh0YXJnZXQpO1xuICAgIGxldCBwYXJlbnRQb3NpdGlvbiA9IHtcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogMCxcbiAgICAgIHRvcDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICB9O1xuICAgIGlmICh0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudCkge1xuICAgICAgcGFyZW50UG9zaXRpb24gPSB0YXJnZXRUcmFuc2Zvcm1lZFBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbiA9IFBvc2l0aW9uVXRpbC5nZXRQb3NpdGlvbihyZWN0LCB0YXJnZXRSZWN0LCB0aGlzLmFsaWduLCB0aGlzLnZlcnRpY2FsQWxpZ24sIDAsIDAsIHBhcmVudFBvc2l0aW9uKTtcblxuICAgIFBvc2l0aW9uVXRpbC5zZXRFbGVtZW50UG9zaXRpb24odGFyZ2V0LCBwb3NpdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './auto-position.directive';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvYXV0by1wb3NpdGlvbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG8tcG9zaXRpb24uZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, EventEmitter, Input, NgZone, Output } from '@angular/core';
|
|
2
|
-
import { DomUtil } from '../../common/util/dom-util';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class ClickOutsideDirective {
|
|
5
|
-
set tetaClickOutside(val) {
|
|
6
|
-
this._handleEvents = val;
|
|
7
|
-
if (this._handleEvents) {
|
|
8
|
-
this._ngZone.runOutsideAngular(() => {
|
|
9
|
-
setTimeout(() => {
|
|
10
|
-
this.addListener(this.rightClick);
|
|
11
|
-
});
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
this.removeListener();
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
get tetaClickOutside() {
|
|
19
|
-
return this._handleEvents;
|
|
20
|
-
}
|
|
21
|
-
constructor(_elementRef, _ngZone) {
|
|
22
|
-
this._elementRef = _elementRef;
|
|
23
|
-
this._ngZone = _ngZone;
|
|
24
|
-
this.clickOutside = new EventEmitter();
|
|
25
|
-
this.rightClick = false;
|
|
26
|
-
this._handleEvents = false;
|
|
27
|
-
this.listener = (click) => {
|
|
28
|
-
if (!this._handleEvents) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
const clickedInside = DomUtil.clickedInside(this._elementRef.nativeElement, click);
|
|
32
|
-
if (!clickedInside) {
|
|
33
|
-
this.clickOutside.emit(click);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
ngOnDestroy() {
|
|
38
|
-
this.removeListener();
|
|
39
|
-
}
|
|
40
|
-
addListener(handleRightClick) {
|
|
41
|
-
window.addEventListener('click', this.listener);
|
|
42
|
-
if (handleRightClick) {
|
|
43
|
-
window.addEventListener('contextmenu', this.listener);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
removeListener() {
|
|
47
|
-
window.removeEventListener('click', this.listener);
|
|
48
|
-
window.removeEventListener('contextmenu', this.listener);
|
|
49
|
-
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
51
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.1", type: ClickOutsideDirective, isStandalone: true, selector: "[tetaClickOutside]", inputs: { rightClick: "rightClick", tetaClickOutside: "tetaClickOutside" }, outputs: { clickOutside: "clickOutside" }, ngImport: i0 }); }
|
|
52
|
-
}
|
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
54
|
-
type: Directive,
|
|
55
|
-
args: [{
|
|
56
|
-
selector: '[tetaClickOutside]',
|
|
57
|
-
standalone: true,
|
|
58
|
-
}]
|
|
59
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { clickOutside: [{
|
|
60
|
-
type: Output
|
|
61
|
-
}], rightClick: [{
|
|
62
|
-
type: Input
|
|
63
|
-
}], tetaClickOutside: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}] } });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGlyZWN0aXZlL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFNckQsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxJQUNJLGdCQUFnQixDQUFDLEdBQVk7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsWUFDVSxXQUF1QixFQUN2QixPQUFlO1FBRGYsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQXpCZixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFDL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVwQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQXlDdEIsYUFBUSxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3hCLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDLENBQUM7SUExQkMsQ0FBQztJQUVKLFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxnQkFBeUI7UUFDM0MsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzRCxDQUFDOzhHQTNDVSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7b0dBRVcsWUFBWTtzQkFBckIsTUFBTTtnQkFDRSxVQUFVO3NCQUFsQixLQUFLO2dCQUtGLGdCQUFnQjtzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tVXRpbCB9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2RvbS11dGlsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3RldGFDbGlja091dHNpZGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIGNsaWNrT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgQElucHV0KCkgcmlnaHRDbGljayA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2hhbmRsZUV2ZW50cyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB0ZXRhQ2xpY2tPdXRzaWRlKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMuX2hhbmRsZUV2ZW50cyA9IHZhbDtcbiAgICBpZiAodGhpcy5faGFuZGxlRXZlbnRzKSB7XG4gICAgICB0aGlzLl9uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmFkZExpc3RlbmVyKHRoaXMucmlnaHRDbGljayk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdGV0YUNsaWNrT3V0c2lkZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGFuZGxlRXZlbnRzO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkTGlzdGVuZXIoaGFuZGxlUmlnaHRDbGljazogYm9vbGVhbik6IHZvaWQge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubGlzdGVuZXIpO1xuICAgIGlmIChoYW5kbGVSaWdodENsaWNrKSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCB0aGlzLmxpc3RlbmVyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMubGlzdGVuZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5lciA9IChjbGljazogTW91c2VFdmVudCkgPT4ge1xuICAgIGlmICghdGhpcy5faGFuZGxlRXZlbnRzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSBEb21VdGlsLmNsaWNrZWRJbnNpZGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBjbGljayk7XG4gICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZS5lbWl0KGNsaWNrKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './click-outside.directive';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kaXJlY3RpdmUvY2xpY2stb3V0c2lkZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcbiJdfQ==
|