cmat 0.0.16 → 0.0.18
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/components/carousel/carousel.component.d.ts +136 -0
- package/components/carousel/carousel.interface.d.ts +38 -0
- package/components/carousel/index.d.ts +5 -0
- package/components/carousel/public-api.d.ts +2 -0
- package/components/custom-formly/public-api.d.ts +1 -0
- package/components/custom-formly/types/knob/knob.component.d.ts +36 -0
- package/components/custom-formly/types/table/table.component.d.ts +3 -8
- package/components/custom-formly/wrappers/form-field/form-field.component.d.ts +4 -4
- package/components/image-viewer/image-viewer.component.d.ts +76 -0
- package/components/image-viewer/index.d.ts +5 -0
- package/components/image-viewer/public-api.d.ts +1 -0
- package/components/knob-input/index.d.ts +5 -0
- package/components/knob-input/knob-input.component.d.ts +95 -0
- package/components/knob-input/public-api.d.ts +1 -0
- package/components/material-datetimepicker/datetimepicker-input.d.ts +2 -2
- package/components/opt-input/index.d.ts +5 -0
- package/components/opt-input/models/config.d.ts +14 -0
- package/components/opt-input/otp-input.component.d.ts +70 -0
- package/components/opt-input/public-api.d.ts +1 -0
- package/components/opt-input/utils/keyboard-util.d.ts +9 -0
- package/components/opt-input/utils/object-util.d.ts +3 -0
- package/components/org-chart/designer/chart-designer.component.d.ts +17 -0
- package/components/org-chart/index.d.ts +5 -0
- package/components/org-chart/node/chart-node.component.d.ts +17 -0
- package/components/org-chart/node/node.type.d.ts +22 -0
- package/components/org-chart/org-chart.component.d.ts +12 -0
- package/components/org-chart/public-api.d.ts +2 -0
- package/components/popover/popover.interfaces.d.ts +1 -1
- package/components/select-search/select-search.component.d.ts +2 -1
- package/components/select-table/index.d.ts +5 -0
- package/components/select-table/public-api.d.ts +2 -0
- package/components/select-table/select-table.component.d.ts +96 -0
- package/components/select-table/select-table.type.d.ts +20 -0
- package/components/select-tree/select-tree.component.d.ts +11 -12
- package/components/speed-dial/index.d.ts +5 -0
- package/components/speed-dial/public-api.d.ts +2 -0
- package/components/speed-dial/speed-dial.component.d.ts +63 -0
- package/components/transfer-picker/interface.d.ts +0 -1
- package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +8 -6
- package/components/treetable/index.d.ts +5 -0
- package/components/treetable/public-api.d.ts +2 -0
- package/components/treetable/treetable.component.d.ts +32 -0
- package/components/treetable/treetable.interface.d.ts +9 -0
- package/directives/animate-on-scroll/animate-on-scroll.directive.d.ts +4 -4
- package/directives/arrow-cursor/arrow-cursor.directive.d.ts +31 -0
- package/directives/arrow-cursor/index.d.ts +5 -0
- package/directives/arrow-cursor/public-api.d.ts +1 -0
- package/directives/data-exporter/constants.d.ts +26 -0
- package/directives/data-exporter/data-exporter.directive.d.ts +18 -0
- package/directives/data-exporter/index.d.ts +5 -0
- package/directives/data-exporter/mime.d.ts +5 -0
- package/directives/data-exporter/options.d.ts +21 -0
- package/directives/data-exporter/public-api.d.ts +2 -0
- package/directives/data-exporter/services/exporters/csv-exporter.service.d.ts +12 -0
- package/directives/data-exporter/services/exporters/exporter.d.ts +4 -0
- package/directives/data-exporter/services/exporters/file-exporter.d.ts +8 -0
- package/directives/data-exporter/services/exporters/json-exporter.service.d.ts +11 -0
- package/directives/data-exporter/services/exporters/txt-exporter.service.d.ts +12 -0
- package/directives/data-exporter/services/exporters/worksheet-exporter.d.ts +10 -0
- package/directives/data-exporter/services/exporters/xls-exporter.service.d.ts +14 -0
- package/directives/data-exporter/services/exporters/xlsx-exporter.service.d.ts +9 -0
- package/directives/data-exporter/services/file-util.d.ts +8 -0
- package/directives/data-exporter/services/service-locator.service.d.ts +11 -0
- package/directives/debounce/abstract-debounce.directive.d.ts +1 -1
- package/fesm2022/cmat-animations.mjs.map +1 -1
- package/fesm2022/cmat-components-adapter.mjs +9 -9
- package/fesm2022/cmat-components-adapter.mjs.map +1 -1
- package/fesm2022/cmat-components-breadcrumb.mjs +10 -10
- package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/cmat-components-card.mjs +4 -4
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-carousel.mjs +711 -0
- package/fesm2022/cmat-components-carousel.mjs.map +1 -0
- package/fesm2022/cmat-components-cascade.mjs +12 -12
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +5 -5
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -1
- package/fesm2022/cmat-components-custom-formly.mjs +168 -155
- package/fesm2022/cmat-components-custom-formly.mjs.map +1 -1
- package/fesm2022/cmat-components-date-range.mjs +5 -5
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +6 -6
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +4 -4
- package/fesm2022/cmat-components-fullscreen.mjs.map +1 -1
- package/fesm2022/cmat-components-highlight.mjs +7 -7
- package/fesm2022/cmat-components-highlight.mjs.map +1 -1
- package/fesm2022/cmat-components-image-viewer.mjs +227 -0
- package/fesm2022/cmat-components-image-viewer.mjs.map +1 -0
- package/fesm2022/cmat-components-json-editor.mjs +4 -4
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -1
- package/fesm2022/cmat-components-knob-input.mjs +404 -0
- package/fesm2022/cmat-components-knob-input.mjs.map +1 -0
- package/fesm2022/cmat-components-masonry.mjs +4 -4
- package/fesm2022/cmat-components-masonry.mjs.map +1 -1
- package/fesm2022/cmat-components-material-color-picker.mjs +4 -4
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +53 -53
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +51 -51
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-opt-input.mjs +457 -0
- package/fesm2022/cmat-components-opt-input.mjs.map +1 -0
- package/fesm2022/cmat-components-org-chart.mjs +141 -0
- package/fesm2022/cmat-components-org-chart.mjs.map +1 -0
- package/fesm2022/cmat-components-pagination.mjs +13 -13
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +12 -12
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +10 -10
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +4 -4
- package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
- package/fesm2022/cmat-components-rating.mjs +4 -4
- package/fesm2022/cmat-components-rating.mjs.map +1 -1
- package/fesm2022/cmat-components-select-search.mjs +11 -11
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-table.mjs +658 -0
- package/fesm2022/cmat-components-select-table.mjs.map +1 -0
- package/fesm2022/cmat-components-select-tree.mjs +75 -57
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-speed-dial.mjs +312 -0
- package/fesm2022/cmat-components-speed-dial.mjs.map +1 -0
- package/fesm2022/cmat-components-timeline.mjs +14 -14
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +11 -11
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +60 -41
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-treetable.mjs +122 -0
- package/fesm2022/cmat-components-treetable.mjs.map +1 -0
- package/fesm2022/cmat-components-upload.mjs +11 -11
- package/fesm2022/cmat-components-upload.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +21 -21
- package/fesm2022/cmat-directives-animate-on-scroll.mjs.map +1 -1
- package/fesm2022/cmat-directives-arrow-cursor.mjs +184 -0
- package/fesm2022/cmat-directives-arrow-cursor.mjs.map +1 -0
- package/fesm2022/cmat-directives-autofocus.mjs +3 -3
- package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
- package/fesm2022/cmat-directives-data-exporter.mjs +324 -0
- package/fesm2022/cmat-directives-data-exporter.mjs.map +1 -0
- package/fesm2022/cmat-directives-debounce.mjs +9 -9
- package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
- package/fesm2022/cmat-directives-digit-only.mjs +8 -6
- package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
- package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
- package/fesm2022/cmat-directives-equal-validator.mjs.map +1 -1
- package/fesm2022/cmat-lib-mock-api.mjs +6 -6
- package/fesm2022/cmat-lib-mock-api.mjs.map +1 -1
- package/fesm2022/cmat-pipes-bytes.mjs +3 -3
- package/fesm2022/cmat-pipes-bytes.mjs.map +1 -1
- package/fesm2022/cmat-pipes-date-format.mjs +3 -3
- package/fesm2022/cmat-pipes-date-format.mjs.map +1 -1
- package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs.map +1 -1
- package/fesm2022/cmat-pipes-group-by.mjs +3 -3
- package/fesm2022/cmat-pipes-group-by.mjs.map +1 -1
- package/fesm2022/cmat-pipes-keys.mjs +3 -3
- package/fesm2022/cmat-pipes-keys.mjs.map +1 -1
- package/fesm2022/cmat-pipes-secure.mjs +3 -3
- package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
- package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
- package/fesm2022/cmat-pipes-uppercase.mjs.map +1 -1
- package/fesm2022/cmat-services-alert.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs.map +1 -1
- package/fesm2022/cmat-services-config.mjs +6 -6
- package/fesm2022/cmat-services-config.mjs.map +1 -1
- package/fesm2022/cmat-services-confirmation.mjs +7 -7
- package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
- package/fesm2022/cmat-services-data.mjs +5 -5
- package/fesm2022/cmat-services-data.mjs.map +1 -1
- package/fesm2022/cmat-services-export-as.mjs +211 -0
- package/fesm2022/cmat-services-export-as.mjs.map +1 -0
- package/fesm2022/cmat-services-loading.mjs +6 -6
- package/fesm2022/cmat-services-loading.mjs.map +1 -1
- package/fesm2022/cmat-services-local-storage.mjs +3 -3
- package/fesm2022/cmat-services-local-storage.mjs.map +1 -1
- package/fesm2022/cmat-services-media-watcher.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs.map +1 -1
- package/fesm2022/cmat-services-platform.mjs +3 -3
- package/fesm2022/cmat-services-platform.mjs.map +1 -1
- package/fesm2022/cmat-services-splash-screen.mjs +3 -3
- package/fesm2022/cmat-services-splash-screen.mjs.map +1 -1
- package/fesm2022/cmat-services-title.mjs +3 -3
- package/fesm2022/cmat-services-title.mjs.map +1 -1
- package/fesm2022/cmat-services-translation.mjs +3 -3
- package/fesm2022/cmat-services-translation.mjs.map +1 -1
- package/fesm2022/cmat-services-utils.mjs +35 -3
- package/fesm2022/cmat-services-utils.mjs.map +1 -1
- package/fesm2022/cmat-validators.mjs.map +1 -1
- package/fesm2022/cmat-version.mjs.map +1 -1
- package/icons/arrow-cursor.svg +1 -1
- package/package.json +81 -147
- package/services/data/data.service.d.ts +1 -1
- package/services/export-as/export-as-config.model.d.ts +8 -0
- package/services/export-as/export-as.service.d.ts +43 -0
- package/services/export-as/index.d.ts +5 -0
- package/services/export-as/public-api.d.ts +2 -0
- package/services/utils/utils.service.d.ts +4 -0
- package/styles/overrides/angular-material.scss +95 -13
- package/esm2022/animations/cmat-animations.mjs +0 -5
- package/esm2022/animations/defaults.mjs +0 -12
- package/esm2022/animations/dropdown.mjs +0 -26
- package/esm2022/animations/expand-collapse.mjs +0 -17
- package/esm2022/animations/fade.mjs +0 -170
- package/esm2022/animations/public-api.mjs +0 -19
- package/esm2022/animations/shake.mjs +0 -59
- package/esm2022/animations/slide.mjs +0 -124
- package/esm2022/animations/transform.mjs +0 -16
- package/esm2022/animations/zoom.mjs +0 -38
- package/esm2022/cmat.mjs +0 -5
- package/esm2022/components/adapter/cmat-components-adapter.mjs +0 -5
- package/esm2022/components/adapter/datetime-adapter.mjs +0 -127
- package/esm2022/components/adapter/datetime-formats.mjs +0 -3
- package/esm2022/components/adapter/dayjs-date-adapter.mjs +0 -198
- package/esm2022/components/adapter/dayjs-date-formats.mjs +0 -12
- package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +0 -100
- package/esm2022/components/adapter/dayjs-datetime-formats.mjs +0 -21
- package/esm2022/components/adapter/native-datetime-adapter.mjs +0 -130
- package/esm2022/components/adapter/native-datetime-formats.mjs +0 -15
- package/esm2022/components/adapter/public-api.mjs +0 -9
- package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +0 -19
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -94
- package/esm2022/components/breadcrumb/breadcrumb.service.mjs +0 -333
- package/esm2022/components/breadcrumb/cmat-components-breadcrumb.mjs +0 -5
- package/esm2022/components/breadcrumb/public-api.mjs +0 -6
- package/esm2022/components/breadcrumb/types/breadcrumb.config.mjs +0 -2
- package/esm2022/components/breadcrumb/types/breadcrumb.mjs +0 -2
- package/esm2022/components/card/card.component.mjs +0 -49
- package/esm2022/components/card/card.types.mjs +0 -2
- package/esm2022/components/card/cmat-components-card.mjs +0 -5
- package/esm2022/components/card/public-api.mjs +0 -3
- package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +0 -49
- package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +0 -384
- package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +0 -22
- package/esm2022/components/cascade/cmat-components-cascade.mjs +0 -5
- package/esm2022/components/cascade/options.interface.mjs +0 -2
- package/esm2022/components/cascade/public-api.mjs +0 -4
- package/esm2022/components/chip-input/chip-input.component.mjs +0 -251
- package/esm2022/components/chip-input/cmat-components-chip-input.mjs +0 -5
- package/esm2022/components/chip-input/public-api.mjs +0 -2
- package/esm2022/components/custom-formly/cmat-components-custom-formly.mjs +0 -5
- package/esm2022/components/custom-formly/extension/addons.extension.mjs +0 -13
- package/esm2022/components/custom-formly/public-api.mjs +0 -29
- package/esm2022/components/custom-formly/types/button/button.component.mjs +0 -81
- package/esm2022/components/custom-formly/types/cascade/cascade.component.mjs +0 -71
- package/esm2022/components/custom-formly/types/checklist/checklist.component.mjs +0 -161
- package/esm2022/components/custom-formly/types/chips/chips.component.mjs +0 -55
- package/esm2022/components/custom-formly/types/color-picker/color-picker.component.mjs +0 -15
- package/esm2022/components/custom-formly/types/date-range/date-range.component.mjs +0 -25
- package/esm2022/components/custom-formly/types/datepicker/datepicker.component.mjs +0 -51
- package/esm2022/components/custom-formly/types/multicheckbox/multicheckbox.component.mjs +0 -88
- package/esm2022/components/custom-formly/types/number/number.component.mjs +0 -27
- package/esm2022/components/custom-formly/types/quill/quill.component.mjs +0 -171
- package/esm2022/components/custom-formly/types/radio/radio.component.mjs +0 -87
- package/esm2022/components/custom-formly/types/rating/rating.component.mjs +0 -27
- package/esm2022/components/custom-formly/types/repeat/repeat.component.mjs +0 -25
- package/esm2022/components/custom-formly/types/select/select.component.mjs +0 -167
- package/esm2022/components/custom-formly/types/select-tree/select-tree.component.mjs +0 -66
- package/esm2022/components/custom-formly/types/stepper/horizontal/stepper.component.mjs +0 -28
- package/esm2022/components/custom-formly/types/stepper/stepper.type.mjs +0 -2
- package/esm2022/components/custom-formly/types/stepper/vertical/stepper.component.mjs +0 -28
- package/esm2022/components/custom-formly/types/table/table.component.mjs +0 -127
- package/esm2022/components/custom-formly/types/tabs/tab.component.mjs +0 -16
- package/esm2022/components/custom-formly/types/tags/tags.component.mjs +0 -146
- package/esm2022/components/custom-formly/types/textarea/textarea.component.mjs +0 -25
- package/esm2022/components/custom-formly/types/upload/upload.component.mjs +0 -58
- package/esm2022/components/custom-formly/wrappers/addons/addons.component.mjs +0 -92
- package/esm2022/components/custom-formly/wrappers/card/card.component.mjs +0 -14
- package/esm2022/components/custom-formly/wrappers/expansion/expansion.component.mjs +0 -14
- package/esm2022/components/custom-formly/wrappers/form-field/form-field.component.mjs +0 -47
- package/esm2022/components/custom-formly/wrappers/panel/panel.component.mjs +0 -12
- package/esm2022/components/date-range/cmat-components-date-range.mjs +0 -5
- package/esm2022/components/date-range/date-range.component.mjs +0 -558
- package/esm2022/components/date-range/public-api.mjs +0 -2
- package/esm2022/components/drawer/cmat-components-drawer.mjs +0 -5
- package/esm2022/components/drawer/drawer.component.mjs +0 -301
- package/esm2022/components/drawer/drawer.service.mjs +0 -41
- package/esm2022/components/drawer/drawer.types.mjs +0 -2
- package/esm2022/components/drawer/public-api.mjs +0 -4
- package/esm2022/components/fullscreen/cmat-components-fullscreen.mjs +0 -5
- package/esm2022/components/fullscreen/fullscreen.component.mjs +0 -44
- package/esm2022/components/fullscreen/public-api.mjs +0 -2
- package/esm2022/components/highlight/cmat-components-highlight.mjs +0 -5
- package/esm2022/components/highlight/highlight.component.mjs +0 -80
- package/esm2022/components/highlight/highlight.service.mjs +0 -47
- package/esm2022/components/highlight/public-api.mjs +0 -3
- package/esm2022/components/json-editor/cmat-components-json-editor.mjs +0 -5
- package/esm2022/components/json-editor/json-editor.component.mjs +0 -176
- package/esm2022/components/json-editor/public-api.mjs +0 -2
- package/esm2022/components/masonry/cmat-components-masonry.mjs +0 -5
- package/esm2022/components/masonry/masonry.component.mjs +0 -54
- package/esm2022/components/masonry/public-api.mjs +0 -2
- package/esm2022/components/material-color-picker/base-color.mjs +0 -13
- package/esm2022/components/material-color-picker/cmat-components-material-color-picker.mjs +0 -5
- package/esm2022/components/material-color-picker/material-color-picker.component.mjs +0 -147
- package/esm2022/components/material-color-picker/public-api.mjs +0 -3
- package/esm2022/components/material-color-picker/selected-color.mjs +0 -3
- package/esm2022/components/material-datetimepicker/calendar-body.mjs +0 -76
- package/esm2022/components/material-datetimepicker/calendar.mjs +0 -670
- package/esm2022/components/material-datetimepicker/clock.mjs +0 -290
- package/esm2022/components/material-datetimepicker/cmat-components-material-datetimepicker.mjs +0 -5
- package/esm2022/components/material-datetimepicker/datetimepicker-animations.mjs +0 -34
- package/esm2022/components/material-datetimepicker/datetimepicker-errors.mjs +0 -6
- package/esm2022/components/material-datetimepicker/datetimepicker-filtertype.mjs +0 -8
- package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +0 -341
- package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +0 -63
- package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +0 -87
- package/esm2022/components/material-datetimepicker/datetimepicker-types.mjs +0 -2
- package/esm2022/components/material-datetimepicker/datetimepicker.mjs +0 -531
- package/esm2022/components/material-datetimepicker/month-view.mjs +0 -141
- package/esm2022/components/material-datetimepicker/multi-year-view.mjs +0 -197
- package/esm2022/components/material-datetimepicker/public-api.mjs +0 -11
- package/esm2022/components/material-datetimepicker/time.mjs +0 -455
- package/esm2022/components/material-datetimepicker/year-view.mjs +0 -124
- package/esm2022/components/navigation/cmat-components-navigation.mjs +0 -5
- package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +0 -70
- package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +0 -82
- package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +0 -47
- package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +0 -47
- package/esm2022/components/navigation/horizontal/horizontal.component.mjs +0 -87
- package/esm2022/components/navigation/navigation.service.mjs +0 -140
- package/esm2022/components/navigation/navigation.types.mjs +0 -3
- package/esm2022/components/navigation/public-api.mjs +0 -5
- package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +0 -162
- package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +0 -60
- package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +0 -277
- package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +0 -56
- package/esm2022/components/navigation/vertical/components/group/group.component.mjs +0 -78
- package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +0 -56
- package/esm2022/components/navigation/vertical/vertical.component.mjs +0 -584
- package/esm2022/components/pagination/cmat-components-pagination.mjs +0 -5
- package/esm2022/components/pagination/pagination.component.mjs +0 -67
- package/esm2022/components/pagination/pagination.directive.mjs +0 -197
- package/esm2022/components/pagination/pagination.instance.mjs +0 -2
- package/esm2022/components/pagination/pagination.pipe.mjs +0 -100
- package/esm2022/components/pagination/pagination.service.mjs +0 -90
- package/esm2022/components/pagination/public-api.mjs +0 -6
- package/esm2022/components/password-strength/animations/index.mjs +0 -48
- package/esm2022/components/password-strength/cmat-components-password-strength.mjs +0 -5
- package/esm2022/components/password-strength/enum.mjs +0 -17
- package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +0 -27
- package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +0 -206
- package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +0 -150
- package/esm2022/components/password-strength/mat-password-strength-validator.mjs +0 -36
- package/esm2022/components/password-strength/public-api.mjs +0 -4
- package/esm2022/components/password-strength/regexp.class.mjs +0 -8
- package/esm2022/components/popover/cmat-components-popover.mjs +0 -5
- package/esm2022/components/popover/popover-trigger.mjs +0 -442
- package/esm2022/components/popover/popover.component.mjs +0 -348
- package/esm2022/components/popover/popover.errors.mjs +0 -27
- package/esm2022/components/popover/popover.interfaces.mjs +0 -2
- package/esm2022/components/popover/popover.target.mjs +0 -18
- package/esm2022/components/popover/popover.type.mjs +0 -2
- package/esm2022/components/popover/public-api.mjs +0 -5
- package/esm2022/components/progress-bar/cmat-components-progress-bar.mjs +0 -5
- package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -58
- package/esm2022/components/progress-bar/public-api.mjs +0 -2
- package/esm2022/components/rating/cmat-components-rating.mjs +0 -5
- package/esm2022/components/rating/public-api.mjs +0 -2
- package/esm2022/components/rating/rating.component.mjs +0 -202
- package/esm2022/components/select-search/cmat-components-select-search.mjs +0 -5
- package/esm2022/components/select-search/default-options.mjs +0 -16
- package/esm2022/components/select-search/public-api.mjs +0 -3
- package/esm2022/components/select-search/select-no-entries-found.directive.mjs +0 -14
- package/esm2022/components/select-search/select-search-clear.directive.mjs +0 -14
- package/esm2022/components/select-search/select-search.component.mjs +0 -485
- package/esm2022/components/select-tree/cmat-components-select-tree.mjs +0 -5
- package/esm2022/components/select-tree/public-api.mjs +0 -4
- package/esm2022/components/select-tree/select-tree.component.mjs +0 -565
- package/esm2022/components/select-tree/select-tree.flatnode.mjs +0 -3
- package/esm2022/components/select-tree/select-tree.node.mjs +0 -3
- package/esm2022/components/timeline/cmat-components-timeline.mjs +0 -5
- package/esm2022/components/timeline/public-api.mjs +0 -3
- package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +0 -70
- package/esm2022/components/timeline/timeline.component.mjs +0 -107
- package/esm2022/components/toast/cmat-components-toast.mjs +0 -5
- package/esm2022/components/toast/models/global-config.model.mjs +0 -2
- package/esm2022/components/toast/models/toast.model.mjs +0 -2
- package/esm2022/components/toast/models/type.model.mjs +0 -2
- package/esm2022/components/toast/public-api.mjs +0 -7
- package/esm2022/components/toast/toast-modal.component.mjs +0 -53
- package/esm2022/components/toast/toast.component.mjs +0 -30
- package/esm2022/components/toast/toast.service.mjs +0 -122
- package/esm2022/components/transfer-picker/cmat-components-transfer-picker.mjs +0 -5
- package/esm2022/components/transfer-picker/filter/filter.component.mjs +0 -91
- package/esm2022/components/transfer-picker/interface.mjs +0 -17
- package/esm2022/components/transfer-picker/public-api.mjs +0 -8
- package/esm2022/components/transfer-picker/search/search.component.mjs +0 -38
- package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +0 -201
- package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +0 -32
- package/esm2022/components/transfer-picker/transfer-picker.component.mjs +0 -84
- package/esm2022/components/transfer-picker/transfer-picker.service.mjs +0 -137
- package/esm2022/components/upload/cmat-components-upload.mjs +0 -5
- package/esm2022/components/upload/files.type.mjs +0 -2
- package/esm2022/components/upload/files.util.service.mjs +0 -89
- package/esm2022/components/upload/public-api.mjs +0 -5
- package/esm2022/components/upload/upload-queue/upload-queue.component.mjs +0 -155
- package/esm2022/components/upload/upload.component.mjs +0 -118
- package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +0 -126
- package/esm2022/directives/animate-on-scroll/cmat-directives-animate-on-scroll.mjs +0 -5
- package/esm2022/directives/animate-on-scroll/public-api.mjs +0 -2
- package/esm2022/directives/animate-on-scroll/scroll.service.mjs +0 -38
- package/esm2022/directives/autofocus/autofocus.directive.mjs +0 -20
- package/esm2022/directives/autofocus/cmat-directives-autofocus.mjs +0 -5
- package/esm2022/directives/autofocus/public-api.mjs +0 -2
- package/esm2022/directives/debounce/abstract-debounce.directive.mjs +0 -34
- package/esm2022/directives/debounce/cmat-directives-debounce.mjs +0 -5
- package/esm2022/directives/debounce/debounce-click.directive.mjs +0 -25
- package/esm2022/directives/debounce/debounce-keyup.directive.mjs +0 -25
- package/esm2022/directives/debounce/public-api.mjs +0 -3
- package/esm2022/directives/digit-only/cmat-directives-digit-only.mjs +0 -5
- package/esm2022/directives/digit-only/digit-only.directive.mjs +0 -298
- package/esm2022/directives/digit-only/mask.directive.mjs +0 -84
- package/esm2022/directives/digit-only/public-api.mjs +0 -3
- package/esm2022/directives/equal-validator/cmat-directives-equal-validator.mjs +0 -5
- package/esm2022/directives/equal-validator/equal-validator.directive.mjs +0 -54
- package/esm2022/directives/equal-validator/public-api.mjs +0 -2
- package/esm2022/lib/mock-api/cmat-lib-mock-api.mjs +0 -5
- package/esm2022/lib/mock-api/mock-api.constants.mjs +0 -3
- package/esm2022/lib/mock-api/mock-api.interceptor.mjs +0 -73
- package/esm2022/lib/mock-api/mock-api.request-handler.mjs +0 -48
- package/esm2022/lib/mock-api/mock-api.service.mjs +0 -93
- package/esm2022/lib/mock-api/mock-api.types.mjs +0 -2
- package/esm2022/lib/mock-api/mock-api.utils.mjs +0 -16
- package/esm2022/lib/mock-api/public-api.mjs +0 -6
- package/esm2022/pipes/bytes/bytes.pipe.mjs +0 -25
- package/esm2022/pipes/bytes/cmat-pipes-bytes.mjs +0 -5
- package/esm2022/pipes/bytes/public-api.mjs +0 -2
- package/esm2022/pipes/date-format/cmat-pipes-date-format.mjs +0 -5
- package/esm2022/pipes/date-format/date-format.pipe.mjs +0 -20
- package/esm2022/pipes/date-format/public-api.mjs +0 -2
- package/esm2022/pipes/find-by-key/cmat-pipes-find-by-key.mjs +0 -5
- package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +0 -23
- package/esm2022/pipes/find-by-key/public-api.mjs +0 -2
- package/esm2022/pipes/group-by/cmat-pipes-group-by.mjs +0 -5
- package/esm2022/pipes/group-by/group-by.pipe.mjs +0 -29
- package/esm2022/pipes/group-by/public-api.mjs +0 -2
- package/esm2022/pipes/keys/cmat-pipes-keys.mjs +0 -5
- package/esm2022/pipes/keys/keys.pipe.mjs +0 -26
- package/esm2022/pipes/keys/public-api.mjs +0 -2
- package/esm2022/pipes/secure/cmat-pipes-secure.mjs +0 -5
- package/esm2022/pipes/secure/public-api.mjs +0 -2
- package/esm2022/pipes/secure/secure-pipe.mjs +0 -46
- package/esm2022/pipes/uppercase/cmat-pipes-uppercase.mjs +0 -5
- package/esm2022/pipes/uppercase/public-api.mjs +0 -2
- package/esm2022/pipes/uppercase/uppercase.pipe.mjs +0 -17
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/services/alert/alert.dialog.mjs +0 -12
- package/esm2022/services/alert/alert.message.mjs +0 -9
- package/esm2022/services/alert/alert.service.mjs +0 -166
- package/esm2022/services/alert/cmat-services-alert.mjs +0 -5
- package/esm2022/services/alert/enum.mjs +0 -15
- package/esm2022/services/alert/public-api.mjs +0 -5
- package/esm2022/services/config/cmat-services-config.mjs +0 -5
- package/esm2022/services/config/config.constants.mjs +0 -3
- package/esm2022/services/config/config.service.mjs +0 -35
- package/esm2022/services/config/public-api.mjs +0 -4
- package/esm2022/services/config/urlStateConfig.service.mjs +0 -30
- package/esm2022/services/confirmation/cmat-services-confirmation.mjs +0 -5
- package/esm2022/services/confirmation/confirmation.service.mjs +0 -51
- package/esm2022/services/confirmation/confirmation.types.mjs +0 -2
- package/esm2022/services/confirmation/dialog/dialog.component.mjs +0 -25
- package/esm2022/services/confirmation/public-api.mjs +0 -3
- package/esm2022/services/data/cmat-services-data.mjs +0 -5
- package/esm2022/services/data/data.service.mjs +0 -169
- package/esm2022/services/data/public-api.mjs +0 -2
- package/esm2022/services/loading/cmat-services-loading.mjs +0 -5
- package/esm2022/services/loading/loading.interceptor.mjs +0 -29
- package/esm2022/services/loading/loading.service.mjs +0 -72
- package/esm2022/services/loading/public-api.mjs +0 -3
- package/esm2022/services/local-storage/cmat-services-local-storage.mjs +0 -5
- package/esm2022/services/local-storage/local-storage.service.mjs +0 -22
- package/esm2022/services/local-storage/public-api.mjs +0 -2
- package/esm2022/services/media-watcher/cmat-services-media-watcher.mjs +0 -5
- package/esm2022/services/media-watcher/media-watcher.service.mjs +0 -55
- package/esm2022/services/media-watcher/public-api.mjs +0 -2
- package/esm2022/services/platform/cmat-services-platform.mjs +0 -5
- package/esm2022/services/platform/platform.service.mjs +0 -46
- package/esm2022/services/platform/public-api.mjs +0 -2
- package/esm2022/services/splash-screen/cmat-services-splash-screen.mjs +0 -5
- package/esm2022/services/splash-screen/public-api.mjs +0 -2
- package/esm2022/services/splash-screen/splash-screen.service.mjs +0 -42
- package/esm2022/services/title/cmat-services-title.mjs +0 -5
- package/esm2022/services/title/public-api.mjs +0 -2
- package/esm2022/services/title/title.service.mjs +0 -46
- package/esm2022/services/translation/cmat-services-translation.mjs +0 -5
- package/esm2022/services/translation/public-api.mjs +0 -2
- package/esm2022/services/translation/translation.service.mjs +0 -62
- package/esm2022/services/utils/cmat-services-utils.mjs +0 -5
- package/esm2022/services/utils/public-api.mjs +0 -2
- package/esm2022/services/utils/utils.service.mjs +0 -435
- package/esm2022/validators/cmat-validators.mjs +0 -5
- package/esm2022/validators/public-api.mjs +0 -2
- package/esm2022/validators/validators.mjs +0 -33
- package/esm2022/version/cmat-version.mjs +0 -5
- package/esm2022/version/public-api.mjs +0 -2
- package/esm2022/version/version.mjs +0 -11
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
3
|
-
import { FlatTreeControl } from '@angular/cdk/tree';
|
|
4
|
-
import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
|
|
5
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
-
import { MatCardModule } from '@angular/material/card';
|
|
7
|
-
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
8
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
-
import { MatTreeFlatDataSource, MatTreeFlattener, MatTreeModule } from '@angular/material/tree';
|
|
10
|
-
import { of as ofObservable, Subject } from 'rxjs';
|
|
11
|
-
import { filter, takeUntil } from 'rxjs/operators';
|
|
12
|
-
import { CmatTransferPickerFilterComponent } from '../filter/filter.component';
|
|
13
|
-
import { CmatTransferItemFlatNode } from '../interface';
|
|
14
|
-
import { CmatTransferPickerSearchComponent } from '../search/search.component';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
import * as i1 from "../transfer-picker.service";
|
|
17
|
-
import * as i2 from "@angular/material/card";
|
|
18
|
-
import * as i3 from "@angular/material/tree";
|
|
19
|
-
import * as i4 from "@angular/material/checkbox";
|
|
20
|
-
import * as i5 from "@angular/material/icon";
|
|
21
|
-
import * as i6 from "@angular/material/button";
|
|
22
|
-
import * as i7 from "@angular/cdk/scrolling";
|
|
23
|
-
export class CmatTransferPickerSourceComponent {
|
|
24
|
-
constructor(_service, _changeDetectorRef) {
|
|
25
|
-
this._service = _service;
|
|
26
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
27
|
-
/** Map from nested node to flattened node. This helps us to keep the same object for selection */
|
|
28
|
-
this.nestedNodeMap = new Map();
|
|
29
|
-
/** The selection for checklist */
|
|
30
|
-
this.checklistSelection = new SelectionModel(true /* multiple */);
|
|
31
|
-
this._unsubscribeAll = new Subject();
|
|
32
|
-
this.hasChild = (_, _nodeData) => _nodeData.expandable;
|
|
33
|
-
this._getLevel = (node) => node.level;
|
|
34
|
-
this._isExpandable = (node) => node.expandable;
|
|
35
|
-
this._getChildren = (node) => ofObservable(node.children ?? []);
|
|
36
|
-
/**
|
|
37
|
-
* Transformer to convert nested node to flat node. Record the nodes in maps for later use.
|
|
38
|
-
*/
|
|
39
|
-
this._transformer = (node, level) => {
|
|
40
|
-
const flatNode = this.nestedNodeMap.has(node) && this.nestedNodeMap.get(node)?.value === node.value
|
|
41
|
-
? this.nestedNodeMap.get(node)
|
|
42
|
-
: new CmatTransferItemFlatNode();
|
|
43
|
-
flatNode.label = node.label;
|
|
44
|
-
flatNode.value = node.value;
|
|
45
|
-
flatNode.disabled = node.disabled;
|
|
46
|
-
flatNode.level = level;
|
|
47
|
-
flatNode.expandable = !!node.children;
|
|
48
|
-
this.nestedNodeMap.set(node, flatNode);
|
|
49
|
-
return flatNode;
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
ngOnInit() {
|
|
53
|
-
this.treeFlattener = new MatTreeFlattener(this._transformer, this._getLevel, this._isExpandable, this._getChildren);
|
|
54
|
-
this.treeControl = new FlatTreeControl(this._getLevel, this._isExpandable);
|
|
55
|
-
this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
|
|
56
|
-
this._service
|
|
57
|
-
.dataSourceChange
|
|
58
|
-
.pipe(takeUntil(this._unsubscribeAll))
|
|
59
|
-
.subscribe((data) => {
|
|
60
|
-
this.dataSource.data = data;
|
|
61
|
-
this._changeDetectorRef.markForCheck();
|
|
62
|
-
});
|
|
63
|
-
this._service.refreshDataSourceChange.pipe(takeUntil(this._unsubscribeAll))
|
|
64
|
-
.subscribe((state) => {
|
|
65
|
-
if (state) {
|
|
66
|
-
this.checklistSelection.clear();
|
|
67
|
-
this._changeDetectorRef.markForCheck();
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
this.checklistSelection.selected.map((selectedNode) => {
|
|
71
|
-
this.treeControl.dataNodes.map((node) => {
|
|
72
|
-
if (node.value === selectedNode.value) {
|
|
73
|
-
this.checklistSelection.deselect(selectedNode);
|
|
74
|
-
this.checklistSelection.select(node);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
this.getSelectedList();
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
this._service
|
|
82
|
-
.selectedValuesChange
|
|
83
|
-
.pipe(filter((values) => !!values.length), takeUntil(this._unsubscribeAll))
|
|
84
|
-
.subscribe((values) => {
|
|
85
|
-
values.map((value) => {
|
|
86
|
-
this.treeControl.dataNodes.map((node) => {
|
|
87
|
-
if (node.value === value) {
|
|
88
|
-
this.checklistSelection.select(node);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
this._changeDetectorRef.markForCheck();
|
|
93
|
-
});
|
|
94
|
-
this._service
|
|
95
|
-
.sourceOptionsChange
|
|
96
|
-
.pipe(takeUntil(this._unsubscribeAll))
|
|
97
|
-
.subscribe((options) => { if (options)
|
|
98
|
-
this.options = options; this._changeDetectorRef.markForCheck(); });
|
|
99
|
-
}
|
|
100
|
-
ngAfterViewInit() {
|
|
101
|
-
this.treeControl.expandAll();
|
|
102
|
-
}
|
|
103
|
-
ngOnDestroy() {
|
|
104
|
-
this._unsubscribeAll.next(void (0));
|
|
105
|
-
this._unsubscribeAll.complete();
|
|
106
|
-
}
|
|
107
|
-
getSelectedList() {
|
|
108
|
-
this.selectedList = this.checklistSelection.selected;
|
|
109
|
-
if (this.selectedList.length) {
|
|
110
|
-
this.selectedList.map((item) => {
|
|
111
|
-
/* 禁用 */
|
|
112
|
-
item.disabled = true;
|
|
113
|
-
/* 选中 */
|
|
114
|
-
this.checklistSelection.select(item);
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
this._changeDetectorRef.markForCheck();
|
|
118
|
-
return this.selectedList;
|
|
119
|
-
}
|
|
120
|
-
resetSelectedItem(item) {
|
|
121
|
-
const s = this.checklistSelection.selected.find(i => i.value === item.value);
|
|
122
|
-
if (s) {
|
|
123
|
-
/* 取消禁用 */
|
|
124
|
-
s.disabled = false;
|
|
125
|
-
/* 取消选中 */
|
|
126
|
-
this.checklistSelection.deselect(s);
|
|
127
|
-
this._changeDetectorRef.markForCheck();
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/** Whether all the descendants of the node are selected */
|
|
131
|
-
descendantsAllSelected(node) {
|
|
132
|
-
const descendants = this.treeControl.getDescendants(node);
|
|
133
|
-
return descendants.every(child => this.checklistSelection.isSelected(child));
|
|
134
|
-
}
|
|
135
|
-
/** Whether part of the descendants are selected */
|
|
136
|
-
descendantsPartiallySelected(node) {
|
|
137
|
-
const descendants = this.treeControl.getDescendants(node);
|
|
138
|
-
const result = descendants.some(child => this.checklistSelection.isSelected(child));
|
|
139
|
-
return result && !this.descendantsAllSelected(node);
|
|
140
|
-
}
|
|
141
|
-
/** Toggle the transfer item selection. Select/deselect all the descendants node */
|
|
142
|
-
transferItemSelectionToggle(node) {
|
|
143
|
-
this.checklistSelection.toggle(node);
|
|
144
|
-
let descendants = this.treeControl.getDescendants(node);
|
|
145
|
-
descendants = descendants.filter(n => !n.disabled);
|
|
146
|
-
this.checklistSelection.isSelected(node)
|
|
147
|
-
? this.checklistSelection.select(...descendants)
|
|
148
|
-
: this.checklistSelection.deselect(...descendants);
|
|
149
|
-
// Force update for the parent
|
|
150
|
-
descendants.every(child => this.checklistSelection.isSelected(child));
|
|
151
|
-
this._checkAllParentsSelection(node);
|
|
152
|
-
}
|
|
153
|
-
/** Toggle a leaf transfer item selection. Check all the parents to see if they changed */
|
|
154
|
-
transferLeafItemSelectionToggle(node) {
|
|
155
|
-
this.checklistSelection.toggle(node);
|
|
156
|
-
this._checkAllParentsSelection(node);
|
|
157
|
-
}
|
|
158
|
-
/* Checks all the parents when a leaf node is selected/unselected */
|
|
159
|
-
_checkAllParentsSelection(node) {
|
|
160
|
-
let parent = this._getParentNode(node);
|
|
161
|
-
while (parent) {
|
|
162
|
-
this._checkRootNodeSelection(parent);
|
|
163
|
-
parent = this._getParentNode(parent);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
/** Check root node checked state and change it accordingly */
|
|
167
|
-
_checkRootNodeSelection(node) {
|
|
168
|
-
const nodeSelected = this.checklistSelection.isSelected(node);
|
|
169
|
-
const descendants = this.treeControl.getDescendants(node);
|
|
170
|
-
const descAllSelected = descendants.every(child => this.checklistSelection.isSelected(child));
|
|
171
|
-
if (nodeSelected && !descAllSelected) {
|
|
172
|
-
this.checklistSelection.deselect(node);
|
|
173
|
-
}
|
|
174
|
-
else if (!nodeSelected && descAllSelected) {
|
|
175
|
-
this.checklistSelection.select(node);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
/* Get the parent node of a node */
|
|
179
|
-
_getParentNode(node) {
|
|
180
|
-
const currentLevel = this._getLevel(node);
|
|
181
|
-
if (currentLevel < 1) {
|
|
182
|
-
return null;
|
|
183
|
-
}
|
|
184
|
-
const startIndex = this.treeControl.dataNodes.indexOf(node) - 1;
|
|
185
|
-
for (let i = startIndex; i >= 0; i--) {
|
|
186
|
-
const currentNode = this.treeControl.dataNodes[i];
|
|
187
|
-
if (this._getLevel(currentNode) < currentLevel) {
|
|
188
|
-
return currentNode;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return null;
|
|
192
|
-
}
|
|
193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerSourceComponent, deps: [{ token: i1.CmatTransferPickerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
194
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: CmatTransferPickerSourceComponent, isStandalone: true, selector: "cmat-transfer-picker-source", exportAs: ["cmatTransferPickerSource"], ngImport: i0, template: "<mat-card class=\"transfer-picker-source shadow\">\r\n <mat-card-header class=\"pb-3 items-center\">\r\n <mat-card-title class=\"transfer-picker-source-title\">{{options.title}}</mat-card-title>\r\n @if (options.filterable) {\r\n <cmat-transfer-picker-filter\r\n [filters]=\"options.filters\"></cmat-transfer-picker-filter>\r\n }\r\n </mat-card-header>\r\n <mat-card-content class=\"transfer-picker-source-content\">\r\n @if (options.searchable) {\r\n <cmat-transfer-picker-search\r\n [searchPlaceholder]=\"options.searchPlaceholder\"></cmat-transfer-picker-search>\r\n }\r\n\r\n <cdk-virtual-scroll-viewport itemSize=\"48\"\r\n class=\"transfer-picker-source-scroll-wrapper overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\">\r\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" [matTreeNodePadding]=\"node.level\">\r\n <button type=\"button\" mat-icon-button disabled> </button>\r\n <mat-checkbox class=\"checklist-leaf-node\" [checked]=\"checklistSelection.isSelected(node)\"\r\n [disabled]=\"node?.disabled\" (change)=\"transferLeafItemSelectionToggle(node);\">\r\n {{node.label}}\r\n </mat-checkbox>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" [matTreeNodePadding]=\"node.level\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle>\r\n <mat-icon class=\"mat-icon-rtl-mirror\"\r\n svgIcon=\"{{treeControl.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'}}\">\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox [checked]=\"descendantsAllSelected(node)||node?.disabled\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\" [disabled]=\"node?.disabled\"\r\n (change)=\"transferItemSelectionToggle(node)\">\r\n {{node.label}}\r\n </mat-checkbox>\r\n </mat-tree-node>\r\n </mat-tree>\r\n @if (!dataSource?.data?.length) {\r\n <div class=\"transfer-picker-source-empty\">\u6682\u65E0\u6570\u636E</div>\r\n }\r\n </cdk-virtual-scroll-viewport>\r\n </mat-card-content>\r\n</mat-card>", styles: [".transfer-picker-source{width:276px;height:100%;padding:0}.transfer-picker-source .mat-mdc-card-header{display:flex;flex-direction:row;flex-wrap:nowrap;box-sizing:border-box;place-content:space-between;align-items:flex-start;margin-bottom:-8px}.transfer-picker-source-title{font-size:1rem;margin-bottom:0}.transfer-picker-source-scroll-wrapper{height:300px}.transfer-picker-source-empty{text-align:center;font-size:1rem;margin-top:20px;color:#00000040}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i2.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i2.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i3.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i3.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i3.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i3.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i3.MatTreeNode, selector: "mat-tree-node", inputs: ["tabIndex", "disabled"], outputs: ["activation", "expandedChange"], exportAs: ["matTreeNode"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i4.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: CmatTransferPickerFilterComponent, selector: "cmat-transfer-picker-filter", inputs: ["filters"], exportAs: ["cmatTransferPickerFilter"] }, { kind: "component", type: CmatTransferPickerSearchComponent, selector: "cmat-transfer-picker-search", inputs: ["searchPlaceholder"], exportAs: ["cmatTransferPickerSearch"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i7.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "component", type: i7.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
195
|
-
}
|
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerSourceComponent, decorators: [{
|
|
197
|
-
type: Component,
|
|
198
|
-
args: [{ selector: 'cmat-transfer-picker-source', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTransferPickerSource', standalone: true, imports: [MatCardModule, MatTreeModule, MatCheckboxModule, MatIconModule, MatButtonModule,
|
|
199
|
-
CmatTransferPickerFilterComponent, CmatTransferPickerSearchComponent, ScrollingModule], template: "<mat-card class=\"transfer-picker-source shadow\">\r\n <mat-card-header class=\"pb-3 items-center\">\r\n <mat-card-title class=\"transfer-picker-source-title\">{{options.title}}</mat-card-title>\r\n @if (options.filterable) {\r\n <cmat-transfer-picker-filter\r\n [filters]=\"options.filters\"></cmat-transfer-picker-filter>\r\n }\r\n </mat-card-header>\r\n <mat-card-content class=\"transfer-picker-source-content\">\r\n @if (options.searchable) {\r\n <cmat-transfer-picker-search\r\n [searchPlaceholder]=\"options.searchPlaceholder\"></cmat-transfer-picker-search>\r\n }\r\n\r\n <cdk-virtual-scroll-viewport itemSize=\"48\"\r\n class=\"transfer-picker-source-scroll-wrapper overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\">\r\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\r\n <mat-tree-node *matTreeNodeDef=\"let node\" [matTreeNodePadding]=\"node.level\">\r\n <button type=\"button\" mat-icon-button disabled> </button>\r\n <mat-checkbox class=\"checklist-leaf-node\" [checked]=\"checklistSelection.isSelected(node)\"\r\n [disabled]=\"node?.disabled\" (change)=\"transferLeafItemSelectionToggle(node);\">\r\n {{node.label}}\r\n </mat-checkbox>\r\n </mat-tree-node>\r\n\r\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" [matTreeNodePadding]=\"node.level\">\r\n <button type=\"button\" mat-icon-button matTreeNodeToggle>\r\n <mat-icon class=\"mat-icon-rtl-mirror\"\r\n svgIcon=\"{{treeControl.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'}}\">\r\n </mat-icon>\r\n </button>\r\n <mat-checkbox [checked]=\"descendantsAllSelected(node)||node?.disabled\"\r\n [indeterminate]=\"descendantsPartiallySelected(node)\" [disabled]=\"node?.disabled\"\r\n (change)=\"transferItemSelectionToggle(node)\">\r\n {{node.label}}\r\n </mat-checkbox>\r\n </mat-tree-node>\r\n </mat-tree>\r\n @if (!dataSource?.data?.length) {\r\n <div class=\"transfer-picker-source-empty\">\u6682\u65E0\u6570\u636E</div>\r\n }\r\n </cdk-virtual-scroll-viewport>\r\n </mat-card-content>\r\n</mat-card>", styles: [".transfer-picker-source{width:276px;height:100%;padding:0}.transfer-picker-source .mat-mdc-card-header{display:flex;flex-direction:row;flex-wrap:nowrap;box-sizing:border-box;place-content:space-between;align-items:flex-start;margin-bottom:-8px}.transfer-picker-source-title{font-size:1rem;margin-bottom:0}.transfer-picker-source-scroll-wrapper{height:300px}.transfer-picker-source-empty{text-align:center;font-size:1rem;margin-top:20px;color:#00000040}\n"] }]
|
|
200
|
-
}], ctorParameters: () => [{ type: i1.CmatTransferPickerService }, { type: i0.ChangeDetectorRef }] });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci1zb3VyY2UvdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci1zb3VyY2UvdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQWlCLHVCQUF1QixFQUFxQixTQUFTLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQWMsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FB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SSxDQUFDLENBQUM7UUFFMUMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEUsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxZQUFZLEVBQUUsQ0FBQztnQkFDN0MsT0FBTyxXQUFXLENBQUM7WUFDdkIsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzhHQWhPUSxpQ0FBaUM7a0dBQWpDLGlDQUFpQywrSEMzQjlDLG94RUEyQ1csK2ZEbkJHLGFBQWEsa1pBQUUsYUFBYSwrcUJBQUUsaUJBQWlCLG9ZQUFFLGFBQWEsbUxBQUUsZUFBZSw0SUFDckYsaUNBQWlDLHFJQUFFLGlDQUFpQyw4SUFBRSxlQUFlOzsyRkFFaEYsaUNBQWlDO2tCQVg3QyxTQUFTOytCQUNJLDZCQUE2QixpQkFHeEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQywwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZTt3QkFDckYsaUNBQWlDLEVBQUUsaUNBQWlDLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgRmxhdFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xyXG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VHJlZUZsYXREYXRhU291cmNlLCBNYXRUcmVlRmxhdHRlbmVyLCBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIGFzIG9mT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ21hdFRyYW5zZmVyUGlja2VyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDbWF0U291cmNlT3B0aW9ucywgQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlLCBDbWF0VHJhbnNmZXJJdGVtTm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENtYXRUcmFuc2ZlclBpY2tlclNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ21hdFRyYW5zZmVyUGlja2VyU2VydmljZSB9IGZyb20gJy4uL3RyYW5zZmVyLXBpY2tlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LXRyYW5zZmVyLXBpY2tlci1zb3VyY2UnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyYW5zZmVyLXBpY2tlci1zb3VyY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZXhwb3J0QXM6ICdjbWF0VHJhbnNmZXJQaWNrZXJTb3VyY2UnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtNYXRDYXJkTW9kdWxlLCBNYXRUcmVlTW9kdWxlLCBNYXRDaGVja2JveE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBcclxuICAgICAgICBDbWF0VHJhbnNmZXJQaWNrZXJGaWx0ZXJDb21wb25lbnQsIENtYXRUcmFuc2ZlclBpY2tlclNlYXJjaENvbXBvbmVudCwgU2Nyb2xsaW5nTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ21hdFRyYW5zZmVyUGlja2VyU291cmNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgLyoqIE1hcCBmcm9tIG5lc3RlZCBub2RlIHRvIGZsYXR0ZW5lZCBub2RlLiBUaGlzIGhlbHBzIHVzIHRvIGtlZXAgdGhlIHNhbWUgb2JqZWN0IGZvciBzZWxlY3Rpb24gKi9cclxuICAgIG5lc3RlZE5vZGVNYXAgPSBuZXcgTWFwPENtYXRUcmFuc2Zlckl0ZW1Ob2RlLCBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+KCk7XHJcblxyXG4gICAgdHJlZUNvbnRyb2w6IEZsYXRUcmVlQ29udHJvbDxDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+O1xyXG5cclxuICAgIHRyZWVGbGF0dGVuZXI6IE1hdFRyZWVGbGF0dGVuZXI8Q21hdFRyYW5zZmVySXRlbU5vZGUsIENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZT47XHJcblxyXG4gICAgZGF0YVNvdXJjZTogTWF0VHJlZUZsYXREYXRhU291cmNlPENtYXRUcmFuc2Zlckl0ZW1Ob2RlLCBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+O1xyXG5cclxuICAgIC8qKiBUaGUgc2VsZWN0aW9uIGZvciBjaGVja2xpc3QgKi9cclxuICAgIGNoZWNrbGlzdFNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+KHRydWUgLyogbXVsdGlwbGUgKi8pO1xyXG5cclxuICAgIG9wdGlvbnM6IENtYXRTb3VyY2VPcHRpb25zO1xyXG5cclxuICAgIHNlbGVjdGVkTGlzdDogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlW107XHJcblxyXG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9zZXJ2aWNlOiBDbWF0VHJhbnNmZXJQaWNrZXJTZXJ2aWNlLCBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRyZWVGbGF0dGVuZXIgPSBuZXcgTWF0VHJlZUZsYXR0ZW5lcihcclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNmb3JtZXIsXHJcbiAgICAgICAgICAgIHRoaXMuX2dldExldmVsLFxyXG4gICAgICAgICAgICB0aGlzLl9pc0V4cGFuZGFibGUsXHJcbiAgICAgICAgICAgIHRoaXMuX2dldENoaWxkcmVuXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnRyZWVDb250cm9sID0gbmV3IEZsYXRUcmVlQ29udHJvbDxDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+KHRoaXMuX2dldExldmVsLCB0aGlzLl9pc0V4cGFuZGFibGUpO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUcmVlRmxhdERhdGFTb3VyY2UodGhpcy50cmVlQ29udHJvbCwgdGhpcy50cmVlRmxhdHRlbmVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc2VydmljZVxyXG4gICAgICAgICAgICAuZGF0YVNvdXJjZUNoYW5nZVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5fc2VydmljZS5yZWZyZXNoRGF0YVNvdXJjZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHN0YXRlOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0ZWQubWFwKChzZWxlY3RlZE5vZGU6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5tYXAoKG5vZGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlLnZhbHVlID09PSBzZWxlY3RlZE5vZGUudmFsdWUpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5kZXNlbGVjdChzZWxlY3RlZE5vZGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdChub2RlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRMaXN0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLl9zZXJ2aWNlXHJcbiAgICAgICAgICAgIC5zZWxlY3RlZFZhbHVlc0NoYW5nZVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGZpbHRlcigodmFsdWVzOiBzdHJpbmcgfCBhbnlbXSkgPT4gISF2YWx1ZXMubGVuZ3RoKSxcclxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbClcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdmFsdWVzLm1hcCgodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLm1hcCgobm9kZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS52YWx1ZSA9PT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdChub2RlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLl9zZXJ2aWNlXHJcbiAgICAgICAgICAgIC5zb3VyY2VPcHRpb25zQ2hhbmdlXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG9wdGlvbnM6IENtYXRTb3VyY2VPcHRpb25zIHwgdm9pZCkgPT4geyBpZiAob3B0aW9ucykgdGhpcy5vcHRpb25zID0gb3B0aW9uczsgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZEFsbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQodm9pZCAoMCkpO1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U2VsZWN0ZWRMaXN0KCk6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZVtdIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdGVkO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3QubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvKiDnpoHnlKggKi9cclxuICAgICAgICAgICAgICAgIGl0ZW0uZGlzYWJsZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIC8qIOmAieS4rSAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KGl0ZW0pO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExpc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXRTZWxlY3RlZEl0ZW0oaXRlbTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgcyA9IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdGVkLmZpbmQoaSA9PiBpLnZhbHVlID09PSBpdGVtLnZhbHVlKTtcclxuICAgICAgICBpZiAocykge1xyXG4gICAgICAgICAgICAvKiDlj5bmtojnpoHnlKggKi9cclxuICAgICAgICAgICAgcy5kaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgLyog5Y+W5raI6YCJ5LitICovXHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmRlc2VsZWN0KHMpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaGFzQ2hpbGQgPSAoXzogbnVtYmVyLCBfbm9kZURhdGE6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IGJvb2xlYW4gPT4gX25vZGVEYXRhLmV4cGFuZGFibGU7XHJcblxyXG4gICAgLyoqIFdoZXRoZXIgYWxsIHRoZSBkZXNjZW5kYW50cyBvZiB0aGUgbm9kZSBhcmUgc2VsZWN0ZWQgKi9cclxuICAgIGRlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZGVzY2VuZGFudHMgPSB0aGlzLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xyXG4gICAgICAgIHJldHVybiBkZXNjZW5kYW50cy5ldmVyeShjaGlsZCA9PiB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKGNoaWxkKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFdoZXRoZXIgcGFydCBvZiB0aGUgZGVzY2VuZGFudHMgYXJlIHNlbGVjdGVkICovXHJcbiAgICBkZXNjZW5kYW50c1BhcnRpYWxseVNlbGVjdGVkKG5vZGU6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBkZXNjZW5kYW50cy5zb21lKGNoaWxkID0+IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpKTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0ICYmICF0aGlzLmRlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFRvZ2dsZSB0aGUgdHJhbnNmZXIgaXRlbSBzZWxlY3Rpb24uIFNlbGVjdC9kZXNlbGVjdCBhbGwgdGhlIGRlc2NlbmRhbnRzIG5vZGUgKi9cclxuICAgIHRyYW5zZmVySXRlbVNlbGVjdGlvblRvZ2dsZShub2RlOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi50b2dnbGUobm9kZSk7XHJcbiAgICAgICAgbGV0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcclxuICAgICAgICBkZXNjZW5kYW50cyA9IGRlc2NlbmRhbnRzLmZpbHRlcihuID0+ICFuLmRpc2FibGVkKTtcclxuICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKG5vZGUpXHJcbiAgICAgICAgICAgID8gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KC4uLmRlc2NlbmRhbnRzKVxyXG4gICAgICAgICAgICA6IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmRlc2VsZWN0KC4uLmRlc2NlbmRhbnRzKTtcclxuXHJcbiAgICAgICAgLy8gRm9yY2UgdXBkYXRlIGZvciB0aGUgcGFyZW50XHJcbiAgICAgICAgZGVzY2VuZGFudHMuZXZlcnkoY2hpbGQgPT5cclxuICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uaXNTZWxlY3RlZChjaGlsZClcclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX2NoZWNrQWxsUGFyZW50c1NlbGVjdGlvbihub2RlKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogVG9nZ2xlIGEgbGVhZiB0cmFuc2ZlciBpdGVtIHNlbGVjdGlvbi4gQ2hlY2sgYWxsIHRoZSBwYXJlbnRzIHRvIHNlZSBpZiB0aGV5IGNoYW5nZWQgKi9cclxuICAgIHRyYW5zZmVyTGVhZkl0ZW1TZWxlY3Rpb25Ub2dnbGUobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24udG9nZ2xlKG5vZGUpO1xyXG4gICAgICAgIHRoaXMuX2NoZWNrQWxsUGFyZW50c1NlbGVjdGlvbihub2RlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRMZXZlbCA9IChub2RlOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiBudW1iZXIgPT4gbm9kZS5sZXZlbDtcclxuXHJcbiAgICBwcml2YXRlIF9pc0V4cGFuZGFibGUgPSAobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogYm9vbGVhbiA9PiBub2RlLmV4cGFuZGFibGU7XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW4gPSAobm9kZTogQ21hdFRyYW5zZmVySXRlbU5vZGUpOiBPYnNlcnZhYmxlPENtYXRUcmFuc2Zlckl0ZW1Ob2RlW10+ID0+IG9mT2JzZXJ2YWJsZShub2RlLmNoaWxkcmVuID8/IFtdKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyYW5zZm9ybWVyIHRvIGNvbnZlcnQgbmVzdGVkIG5vZGUgdG8gZmxhdCBub2RlLiBSZWNvcmQgdGhlIG5vZGVzIGluIG1hcHMgZm9yIGxhdGVyIHVzZS5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNmb3JtZXIgPSAobm9kZTogQ21hdFRyYW5zZmVySXRlbU5vZGUsIGxldmVsOiBudW1iZXIpOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUgPT4ge1xyXG4gICAgICAgIGNvbnN0IGZsYXROb2RlID0gdGhpcy5uZXN0ZWROb2RlTWFwLmhhcyhub2RlKSAmJiB0aGlzLm5lc3RlZE5vZGVNYXAuZ2V0KG5vZGUpPy52YWx1ZSA9PT0gbm9kZS52YWx1ZVxyXG4gICAgICAgICAgICA/IHRoaXMubmVzdGVkTm9kZU1hcC5nZXQobm9kZSkhXHJcbiAgICAgICAgICAgIDogbmV3IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSgpO1xyXG4gICAgICAgIGZsYXROb2RlLmxhYmVsID0gbm9kZS5sYWJlbDtcclxuICAgICAgICBmbGF0Tm9kZS52YWx1ZSA9IG5vZGUudmFsdWU7XHJcbiAgICAgICAgZmxhdE5vZGUuZGlzYWJsZWQgPSBub2RlLmRpc2FibGVkO1xyXG4gICAgICAgIGZsYXROb2RlLmxldmVsID0gbGV2ZWw7XHJcbiAgICAgICAgZmxhdE5vZGUuZXhwYW5kYWJsZSA9ICEhbm9kZS5jaGlsZHJlbjtcclxuICAgICAgICB0aGlzLm5lc3RlZE5vZGVNYXAuc2V0KG5vZGUsIGZsYXROb2RlKTtcclxuICAgICAgICByZXR1cm4gZmxhdE5vZGU7XHJcbiAgICB9O1xyXG5cclxuICAgIC8qIENoZWNrcyBhbGwgdGhlIHBhcmVudHMgd2hlbiBhIGxlYWYgbm9kZSBpcyBzZWxlY3RlZC91bnNlbGVjdGVkICovXHJcbiAgICBwcml2YXRlIF9jaGVja0FsbFBhcmVudHNTZWxlY3Rpb24obm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IHBhcmVudDogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlIHwgbnVsbCA9IHRoaXMuX2dldFBhcmVudE5vZGUobm9kZSk7XHJcbiAgICAgICAgd2hpbGUgKHBhcmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jaGVja1Jvb3ROb2RlU2VsZWN0aW9uKHBhcmVudCk7XHJcbiAgICAgICAgICAgIHBhcmVudCA9IHRoaXMuX2dldFBhcmVudE5vZGUocGFyZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIENoZWNrIHJvb3Qgbm9kZSBjaGVja2VkIHN0YXRlIGFuZCBjaGFuZ2UgaXQgYWNjb3JkaW5nbHkgKi9cclxuICAgIHByaXZhdGUgX2NoZWNrUm9vdE5vZGVTZWxlY3Rpb24obm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgbm9kZVNlbGVjdGVkID0gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uaXNTZWxlY3RlZChub2RlKTtcclxuICAgICAgICBjb25zdCBkZXNjZW5kYW50cyA9IHRoaXMudHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XHJcbiAgICAgICAgY29uc3QgZGVzY0FsbFNlbGVjdGVkID0gZGVzY2VuZGFudHMuZXZlcnkoY2hpbGQgPT5cclxuICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uaXNTZWxlY3RlZChjaGlsZClcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmIChub2RlU2VsZWN0ZWQgJiYgIWRlc2NBbGxTZWxlY3RlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5kZXNlbGVjdChub2RlKTtcclxuICAgICAgICB9IGVsc2UgaWYgKCFub2RlU2VsZWN0ZWQgJiYgZGVzY0FsbFNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdChub2RlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogR2V0IHRoZSBwYXJlbnQgbm9kZSBvZiBhIG5vZGUgKi9cclxuICAgIHByaXZhdGUgX2dldFBhcmVudE5vZGUobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudExldmVsID0gdGhpcy5fZ2V0TGV2ZWwobm9kZSk7XHJcblxyXG4gICAgICAgIGlmIChjdXJyZW50TGV2ZWwgPCAxKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLmluZGV4T2Yobm9kZSkgLSAxO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAgY29uc3QgY3VycmVudE5vZGUgPSB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlc1tpXTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9nZXRMZXZlbChjdXJyZW50Tm9kZSkgPCBjdXJyZW50TGV2ZWwpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPG1hdC1jYXJkIGNsYXNzPVwidHJhbnNmZXItcGlja2VyLXNvdXJjZSBzaGFkb3dcIj5cclxuICA8bWF0LWNhcmQtaGVhZGVyIGNsYXNzPVwicGItMyBpdGVtcy1jZW50ZXJcIj5cclxuICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInRyYW5zZmVyLXBpY2tlci1zb3VyY2UtdGl0bGVcIj57e29wdGlvbnMudGl0bGV9fTwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICBAaWYgKG9wdGlvbnMuZmlsdGVyYWJsZSkge1xyXG4gICAgICA8Y21hdC10cmFuc2Zlci1waWNrZXItZmlsdGVyXHJcbiAgICAgIFtmaWx0ZXJzXT1cIm9wdGlvbnMuZmlsdGVyc1wiPjwvY21hdC10cmFuc2Zlci1waWNrZXItZmlsdGVyPlxyXG4gICAgfVxyXG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwidHJhbnNmZXItcGlja2VyLXNvdXJjZS1jb250ZW50XCI+XHJcbiAgICBAaWYgKG9wdGlvbnMuc2VhcmNoYWJsZSkge1xyXG4gICAgICA8Y21hdC10cmFuc2Zlci1waWNrZXItc2VhcmNoXHJcbiAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJvcHRpb25zLnNlYXJjaFBsYWNlaG9sZGVyXCI+PC9jbWF0LXRyYW5zZmVyLXBpY2tlci1zZWFyY2g+XHJcbiAgICB9XHJcblxyXG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBpdGVtU2l6ZT1cIjQ4XCJcclxuICAgICAgY2xhc3M9XCJ0cmFuc2Zlci1waWNrZXItc291cmNlLXNjcm9sbC13cmFwcGVyIG92ZXJmbG93LXktYXV0byBsZzpvdmVyZmxvdy15LWhpZGRlbiBsZzpob3ZlcjpvdmVyZmxvdy15LWF1dG8gc2Nyb2xsYmFyLWN1c3RvbVwiPlxyXG4gICAgICA8bWF0LXRyZWUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJ0cmVlQ29udHJvbFwiPlxyXG4gICAgICAgIDxtYXQtdHJlZS1ub2RlICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlXCIgW21hdFRyZWVOb2RlUGFkZGluZ109XCJub2RlLmxldmVsXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCBjbGFzcz1cImNoZWNrbGlzdC1sZWFmLW5vZGVcIiBbY2hlY2tlZF09XCJjaGVja2xpc3RTZWxlY3Rpb24uaXNTZWxlY3RlZChub2RlKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJub2RlPy5kaXNhYmxlZFwiIChjaGFuZ2UpPVwidHJhbnNmZXJMZWFmSXRlbVNlbGVjdGlvblRvZ2dsZShub2RlKTtcIj5cclxuICAgICAgICAgICAge3tub2RlLmxhYmVsfX1cclxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvbWF0LXRyZWUtbm9kZT5cclxuXHJcbiAgICAgICAgPG1hdC10cmVlLW5vZGUgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7IHdoZW46IGhhc0NoaWxkXCIgW21hdFRyZWVOb2RlUGFkZGluZ109XCJub2RlLmxldmVsXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gbWF0VHJlZU5vZGVUb2dnbGU+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIlxyXG4gICAgICAgICAgICAgIHN2Z0ljb249XCJ7e3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSkgPyAnbWF0X291dGxpbmU6ZXhwYW5kX21vcmUnIDogJ21hdF9vdXRsaW5lOmNoZXZyb25fcmlnaHQnfX1cIj5cclxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJkZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGUpfHxub2RlPy5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cImRlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQobm9kZSlcIiBbZGlzYWJsZWRdPVwibm9kZT8uZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRyYW5zZmVySXRlbVNlbGVjdGlvblRvZ2dsZShub2RlKVwiPlxyXG4gICAgICAgICAgICB7e25vZGUubGFiZWx9fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9tYXQtdHJlZS1ub2RlPlxyXG4gICAgICA8L21hdC10cmVlPlxyXG4gICAgICBAaWYgKCFkYXRhU291cmNlPy5kYXRhPy5sZW5ndGgpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNmZXItcGlja2VyLXNvdXJjZS1lbXB0eVwiPuaaguaXoOaVsOaNrjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbjwvbWF0LWNhcmQ+Il19
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatCardModule } from '@angular/material/card';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatListModule } from '@angular/material/list';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/material/card";
|
|
9
|
-
import * as i2 from "@angular/material/list";
|
|
10
|
-
import * as i3 from "@angular/material/icon";
|
|
11
|
-
import * as i4 from "@angular/cdk/scrolling";
|
|
12
|
-
import * as i5 from "@angular/material/button";
|
|
13
|
-
export class CmatTransferPickerTargetComponent {
|
|
14
|
-
constructor() {
|
|
15
|
-
this.clearItemChange = new EventEmitter();
|
|
16
|
-
}
|
|
17
|
-
clearItem(item) {
|
|
18
|
-
this.selectedList.splice(this.selectedList.indexOf(item), 1);
|
|
19
|
-
this.clearItemChange.next(item);
|
|
20
|
-
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerTargetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: CmatTransferPickerTargetComponent, isStandalone: true, selector: "cmat-transfer-picker-target", inputs: { selectedList: "selectedList" }, outputs: { clearItemChange: "clearItemChange" }, exportAs: ["cmatTransferPickerTarget"], ngImport: i0, template: "<mat-card class=\"transfer-picker-target shadow\">\r\n <mat-card-header class=\"pb-3 items-center\">\r\n <mat-card-title class=\"transfer-picker-target-title\">\u5DF2\u9009\u62E9 {{selectedList.length}} \u9879</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <cdk-virtual-scroll-viewport itemSize=\"40\"\r\n class=\"transfer-picker-target-scroll-wrapper overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\">\r\n <mat-list dense>\r\n @for (item of selectedList; track $index) {\r\n <mat-list-item class=\"transfer-picker-target-item\">\r\n <div mat-line class=\"flex flex-row items-center\">\r\n <div class=\"flex-1\">{{item.label}}</div>\r\n <button type=\"button\" mat-icon-button (click)=\"clearItem(item)\">\r\n <mat-icon svgIcon=\"heroicons_solid:x-circle\"></mat-icon>\r\n </button>\r\n </div>\r\n </mat-list-item>\r\n }\r\n </mat-list>\r\n @if (!selectedList.length) {\r\n <div class=\"transfer-picker-target-empty\">\u6682\u65E0\u6570\u636E</div>\r\n }\r\n </cdk-virtual-scroll-viewport>\r\n </mat-card-content>\r\n</mat-card>", styles: [".transfer-picker-target{height:100%;padding:0;width:276px}.transfer-picker-target .mat-mdc-card-header{margin-bottom:-8px}.transfer-picker-target-title{font-size:1rem;margin-bottom:0;padding:12px 0}.transfer-picker-target-item{width:100%}.transfer-picker-target-scroll-wrapper{height:356px}.transfer-picker-target-empty{text-align:center;margin-top:20px;color:#00000040}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatListModule }, { kind: "component", type: i2.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i4.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "component", type: i4.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerTargetComponent, decorators: [{
|
|
25
|
-
type: Component,
|
|
26
|
-
args: [{ selector: 'cmat-transfer-picker-target', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTransferPickerTarget', standalone: true, imports: [MatCardModule, MatListModule, MatIconModule, ScrollingModule, MatButtonModule], template: "<mat-card class=\"transfer-picker-target shadow\">\r\n <mat-card-header class=\"pb-3 items-center\">\r\n <mat-card-title class=\"transfer-picker-target-title\">\u5DF2\u9009\u62E9 {{selectedList.length}} \u9879</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <cdk-virtual-scroll-viewport itemSize=\"40\"\r\n class=\"transfer-picker-target-scroll-wrapper overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\">\r\n <mat-list dense>\r\n @for (item of selectedList; track $index) {\r\n <mat-list-item class=\"transfer-picker-target-item\">\r\n <div mat-line class=\"flex flex-row items-center\">\r\n <div class=\"flex-1\">{{item.label}}</div>\r\n <button type=\"button\" mat-icon-button (click)=\"clearItem(item)\">\r\n <mat-icon svgIcon=\"heroicons_solid:x-circle\"></mat-icon>\r\n </button>\r\n </div>\r\n </mat-list-item>\r\n }\r\n </mat-list>\r\n @if (!selectedList.length) {\r\n <div class=\"transfer-picker-target-empty\">\u6682\u65E0\u6570\u636E</div>\r\n }\r\n </cdk-virtual-scroll-viewport>\r\n </mat-card-content>\r\n</mat-card>", styles: [".transfer-picker-target{height:100%;padding:0;width:276px}.transfer-picker-target .mat-mdc-card-header{margin-bottom:-8px}.transfer-picker-target-title{font-size:1rem;margin-bottom:0;padding:12px 0}.transfer-picker-target-item{width:100%}.transfer-picker-target-scroll-wrapper{height:356px}.transfer-picker-target-empty{text-align:center;margin-top:20px;color:#00000040}\n"] }]
|
|
27
|
-
}], ctorParameters: () => [], propDecorators: { selectedList: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}], clearItemChange: [{
|
|
30
|
-
type: Output
|
|
31
|
-
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItcGlja2VyLXRhcmdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci10YXJnZXQvdHJhbnNmZXItcGlja2VyLXRhcmdldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci10YXJnZXQvdHJhbnNmZXItcGlja2VyLXRhcmdldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7QUFhdkQsTUFBTSxPQUFPLGlDQUFpQztJQVExQztRQUNJLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxZQUFZLEVBQTRCLENBQUM7SUFDeEUsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUE4QjtRQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOzhHQWZRLGlDQUFpQztrR0FBakMsaUNBQWlDLDBOQ2xCOUMsa3RDQXdCVyw2YURSRyxhQUFhLGtaQUFFLGFBQWEsdVJBQUUsYUFBYSxtTEFBRSxlQUFlLDRXQUFFLGVBQWU7OzJGQUU5RSxpQ0FBaUM7a0JBVjdDLFNBQVM7K0JBQ0ksNkJBQTZCLGlCQUd4QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLDBCQUEwQixjQUN4QixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDO3dEQUt4RixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LXRyYW5zZmVyLXBpY2tlci10YXJnZXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RyYW5zZmVyLXBpY2tlci10YXJnZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdHJhbnNmZXItcGlja2VyLXRhcmdldC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZXhwb3J0QXM6ICdjbWF0VHJhbnNmZXJQaWNrZXJUYXJnZXQnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtNYXRDYXJkTW9kdWxlLCBNYXRMaXN0TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBTY3JvbGxpbmdNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIENtYXRUcmFuc2ZlclBpY2tlclRhcmdldENvbXBvbmVudCB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNlbGVjdGVkTGlzdDogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlW107XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBjbGVhckl0ZW1DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuY2xlYXJJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJJdGVtKGl0ZW06IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0LnNwbGljZSh0aGlzLnNlbGVjdGVkTGlzdC5pbmRleE9mKGl0ZW0pLCAxKTtcclxuICAgICAgICB0aGlzLmNsZWFySXRlbUNoYW5nZS5uZXh0KGl0ZW0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxtYXQtY2FyZCBjbGFzcz1cInRyYW5zZmVyLXBpY2tlci10YXJnZXQgc2hhZG93XCI+XHJcbiAgPG1hdC1jYXJkLWhlYWRlciBjbGFzcz1cInBiLTMgaXRlbXMtY2VudGVyXCI+XHJcbiAgICA8bWF0LWNhcmQtdGl0bGUgY2xhc3M9XCJ0cmFuc2Zlci1waWNrZXItdGFyZ2V0LXRpdGxlXCI+5bey6YCJ5oupIHt7c2VsZWN0ZWRMaXN0Lmxlbmd0aH19IOmhuTwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IGl0ZW1TaXplPVwiNDBcIlxyXG4gICAgICBjbGFzcz1cInRyYW5zZmVyLXBpY2tlci10YXJnZXQtc2Nyb2xsLXdyYXBwZXIgb3ZlcmZsb3cteS1hdXRvIGxnOm92ZXJmbG93LXktaGlkZGVuIGxnOmhvdmVyOm92ZXJmbG93LXktYXV0byBzY3JvbGxiYXItY3VzdG9tXCI+XHJcbiAgICAgIDxtYXQtbGlzdCBkZW5zZT5cclxuICAgICAgICBAZm9yIChpdGVtIG9mIHNlbGVjdGVkTGlzdDsgdHJhY2sgJGluZGV4KSB7XHJcbiAgICAgICAgICA8bWF0LWxpc3QtaXRlbSBjbGFzcz1cInRyYW5zZmVyLXBpY2tlci10YXJnZXQtaXRlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IG1hdC1saW5lIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC0xXCI+e3tpdGVtLmxhYmVsfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsZWFySXRlbShpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJoZXJvaWNvbnNfc29saWQ6eC1jaXJjbGVcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvbWF0LWxpc3Q+XHJcbiAgICAgIEBpZiAoIXNlbGVjdGVkTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNmZXItcGlja2VyLXRhcmdldC1lbXB0eVwiPuaaguaXoOaVsOaNrjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbjwvbWF0LWNhcmQ+Il19
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
-
import { CmatTransferPickerSourceComponent } from './transfer-picker-source/transfer-picker-source.component';
|
|
5
|
-
import { CmatTransferPickerTargetComponent } from './transfer-picker-target/transfer-picker-target.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "./transfer-picker.service";
|
|
8
|
-
import * as i2 from "@angular/material/icon";
|
|
9
|
-
import * as i3 from "@angular/material/button";
|
|
10
|
-
export class CmatTransferPickerComponent {
|
|
11
|
-
constructor(_service, _changeDetectorRef) {
|
|
12
|
-
this._service = _service;
|
|
13
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
14
|
-
this.filterable = true;
|
|
15
|
-
this.dataSource = [];
|
|
16
|
-
this.filters = [];
|
|
17
|
-
this.selectedList = [];
|
|
18
|
-
this.selectedValues = [];
|
|
19
|
-
}
|
|
20
|
-
ngOnInit() {
|
|
21
|
-
this._service.dataSource = this.dataSource;
|
|
22
|
-
this._service.selectedValues = this.selectedValues;
|
|
23
|
-
this._service.sourceOptions = {
|
|
24
|
-
title: this.title || '数据源',
|
|
25
|
-
filterable: this.filterable || true,
|
|
26
|
-
searchable: this.searchable || true,
|
|
27
|
-
searchPlaceholder: this.searchPlaceholder || '搜索关键字',
|
|
28
|
-
filters: this.filters || []
|
|
29
|
-
};
|
|
30
|
-
this.selectChange = new EventEmitter();
|
|
31
|
-
}
|
|
32
|
-
ngAfterViewInit() {
|
|
33
|
-
if (this.selectedValues.length) {
|
|
34
|
-
this.pick();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
pick() {
|
|
38
|
-
this.selectedList = this.source.getSelectedList() || [];
|
|
39
|
-
this._emitterChange();
|
|
40
|
-
}
|
|
41
|
-
reset() {
|
|
42
|
-
if (this.selectedList.length) {
|
|
43
|
-
this.selectedList = [];
|
|
44
|
-
this._service.resetDataSource(true);
|
|
45
|
-
this._emitterChange();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
onClearItemChange(item) {
|
|
49
|
-
if (item) {
|
|
50
|
-
this.source.resetSelectedItem(item);
|
|
51
|
-
this._emitterChange();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
_emitterChange() {
|
|
55
|
-
this.selectChange.next(this.selectedList);
|
|
56
|
-
this._changeDetectorRef.detectChanges();
|
|
57
|
-
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerComponent, deps: [{ token: i1.CmatTransferPickerService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
59
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CmatTransferPickerComponent, isStandalone: true, selector: "cmat-transfer-picker", inputs: { title: "title", filterable: "filterable", searchable: "searchable", searchPlaceholder: "searchPlaceholder", dataSource: "dataSource", filters: "filters", selectedValues: "selectedValues" }, outputs: { selectChange: "selectChange" }, viewQueries: [{ propertyName: "source", first: true, predicate: CmatTransferPickerSourceComponent, descendants: true, static: true }], exportAs: ["cmatTransferPicker"], ngImport: i0, template: "<cmat-transfer-picker-source></cmat-transfer-picker-source>\r\n<div class=\"cmat-transfer-picker-operation flex flex-col flex-nowrap gap-2 mx-2\">\r\n <button type=\"button\" class=\"pl-2\" mat-raised-button color=\"primary\" (click)=\"pick()\">\r\n \u9009\u62E9<mat-icon svgIcon=\"mat_outline:chevron_right\"></mat-icon>\r\n </button>\r\n <button type=\"button\" class=\"pl-2\" mat-raised-button color=\"primary\" (click)=\"reset()\">\r\n <mat-icon svgIcon=\"mat_outline:chevron_left\"></mat-icon>\u91CD\u7F6E\r\n </button>\r\n</div>\r\n<cmat-transfer-picker-target [selectedList]=\"selectedList\" (clearItemChange)=\"onClearItemChange($event)\">\r\n</cmat-transfer-picker-target>", styles: ["cmat-transfer-picker{height:100%;overflow:hidden;padding:1rem;display:flex;flex-wrap:nowrap;justify-items:center;align-items:center;gap:.5rem}cmat-transfer-picker cmat-transfer-picker-source,cmat-transfer-picker cmat-transfer-picker-target{height:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: CmatTransferPickerSourceComponent, selector: "cmat-transfer-picker-source", exportAs: ["cmatTransferPickerSource"] }, { kind: "component", type: CmatTransferPickerTargetComponent, selector: "cmat-transfer-picker-target", inputs: ["selectedList"], outputs: ["clearItemChange"], exportAs: ["cmatTransferPickerTarget"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
60
|
-
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerComponent, decorators: [{
|
|
62
|
-
type: Component,
|
|
63
|
-
args: [{ selector: 'cmat-transfer-picker', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTransferPicker', standalone: true, imports: [MatIconModule, MatButtonModule, CmatTransferPickerSourceComponent, CmatTransferPickerTargetComponent], template: "<cmat-transfer-picker-source></cmat-transfer-picker-source>\r\n<div class=\"cmat-transfer-picker-operation flex flex-col flex-nowrap gap-2 mx-2\">\r\n <button type=\"button\" class=\"pl-2\" mat-raised-button color=\"primary\" (click)=\"pick()\">\r\n \u9009\u62E9<mat-icon svgIcon=\"mat_outline:chevron_right\"></mat-icon>\r\n </button>\r\n <button type=\"button\" class=\"pl-2\" mat-raised-button color=\"primary\" (click)=\"reset()\">\r\n <mat-icon svgIcon=\"mat_outline:chevron_left\"></mat-icon>\u91CD\u7F6E\r\n </button>\r\n</div>\r\n<cmat-transfer-picker-target [selectedList]=\"selectedList\" (clearItemChange)=\"onClearItemChange($event)\">\r\n</cmat-transfer-picker-target>", styles: ["cmat-transfer-picker{height:100%;overflow:hidden;padding:1rem;display:flex;flex-wrap:nowrap;justify-items:center;align-items:center;gap:.5rem}cmat-transfer-picker cmat-transfer-picker-source,cmat-transfer-picker cmat-transfer-picker-target{height:100%}\n"] }]
|
|
64
|
-
}], ctorParameters: () => [{ type: i1.CmatTransferPickerService }, { type: i0.ChangeDetectorRef }], propDecorators: { title: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], filterable: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], searchable: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], searchPlaceholder: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], dataSource: [{
|
|
73
|
-
type: Input
|
|
74
|
-
}], filters: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], selectedValues: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}], selectChange: [{
|
|
79
|
-
type: Output
|
|
80
|
-
}], source: [{
|
|
81
|
-
type: ViewChild,
|
|
82
|
-
args: [CmatTransferPickerSourceComponent, { static: true }]
|
|
83
|
-
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy90cmFuc2Zlci1waWNrZXIvdHJhbnNmZXItcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy90cmFuc2Zlci1waWNrZXIvdHJhbnNmZXItcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEssT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7QUFhOUcsTUFBTSxPQUFPLDJCQUEyQjtJQThCcEMsWUFDWSxRQUFtQyxFQUNuQyxrQkFBcUM7UUFEckMsYUFBUSxHQUFSLFFBQVEsQ0FBMkI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUU3QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUVuRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRztZQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLO1lBQzFCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUk7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSTtZQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksT0FBTztZQUNwRCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFO1NBQzlCLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUE4QixDQUFDO0lBQ3ZFLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsS0FBSztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUE4QjtRQUM1QyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUMsQ0FBQzs4R0F0RlEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsMldBeUJ6QixpQ0FBaUMsZ0dDM0NoRCxxc0JBVThCLHVURE1oQixhQUFhLG1MQUFDLGVBQWUsNE5BQUUsaUNBQWlDLGdIQUFFLGlDQUFpQzs7MkZBRXBHLDJCQUEyQjtrQkFWdkMsU0FBUzsrQkFDSSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLGFBQWEsRUFBQyxlQUFlLEVBQUUsaUNBQWlDLEVBQUUsaUNBQWlDLENBQUM7OEhBSTlHLEtBQUs7c0JBREosS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixZQUFZO3NCQURYLE1BQU07Z0JBSVAsTUFBTTtzQkFETCxTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IENtYXRUcmFuc2ZlckZpbHRlckl0ZW0sIENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSwgQ21hdFRyYW5zZmVySXRlbU5vZGUgfSBmcm9tICcuL2ludGVyZmFjZSc7XHJcbmltcG9ydCB7IENtYXRUcmFuc2ZlclBpY2tlclNvdXJjZUNvbXBvbmVudCB9IGZyb20gJy4vdHJhbnNmZXItcGlja2VyLXNvdXJjZS90cmFuc2Zlci1waWNrZXItc291cmNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENtYXRUcmFuc2ZlclBpY2tlclRhcmdldENvbXBvbmVudCB9IGZyb20gJy4vdHJhbnNmZXItcGlja2VyLXRhcmdldC90cmFuc2Zlci1waWNrZXItdGFyZ2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENtYXRUcmFuc2ZlclBpY2tlclNlcnZpY2UgfSBmcm9tICcuL3RyYW5zZmVyLXBpY2tlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjbWF0LXRyYW5zZmVyLXBpY2tlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNmZXItcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RyYW5zZmVyLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgZXhwb3J0QXM6ICdjbWF0VHJhbnNmZXJQaWNrZXInLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtNYXRJY29uTW9kdWxlLE1hdEJ1dHRvbk1vZHVsZSwgQ21hdFRyYW5zZmVyUGlja2VyU291cmNlQ29tcG9uZW50LCBDbWF0VHJhbnNmZXJQaWNrZXJUYXJnZXRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0VHJhbnNmZXJQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gICAgQElucHV0KClcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGZpbHRlcmFibGU6IGJvb2xlYW47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNlYXJjaGFibGU6IGJvb2xlYW47XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGRhdGFTb3VyY2U6IENtYXRUcmFuc2Zlckl0ZW1Ob2RlW107XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGZpbHRlcnM6IENtYXRUcmFuc2ZlckZpbHRlckl0ZW1bXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2VsZWN0ZWRWYWx1ZXM6IHN0cmluZ1tdO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgc2VsZWN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Q21hdFRyYW5zZmVySXRlbUZsYXROb2RlW10+O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoQ21hdFRyYW5zZmVyUGlja2VyU291cmNlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgc291cmNlOiBDbWF0VHJhbnNmZXJQaWNrZXJTb3VyY2VDb21wb25lbnQ7XHJcblxyXG4gICAgc2VsZWN0ZWRMaXN0OiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGVbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9zZXJ2aWNlOiBDbWF0VHJhbnNmZXJQaWNrZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJhYmxlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBbXTtcclxuICAgICAgICB0aGlzLmZpbHRlcnMgPSBbXTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdCA9IFtdO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZXJ2aWNlLmRhdGFTb3VyY2UgPSB0aGlzLmRhdGFTb3VyY2U7XHJcbiAgICAgICAgdGhpcy5fc2VydmljZS5zZWxlY3RlZFZhbHVlcyA9IHRoaXMuc2VsZWN0ZWRWYWx1ZXM7XHJcblxyXG4gICAgICAgIHRoaXMuX3NlcnZpY2Uuc291cmNlT3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudGl0bGUgfHwgJ+aVsOaNrua6kCcsXHJcbiAgICAgICAgICAgIGZpbHRlcmFibGU6IHRoaXMuZmlsdGVyYWJsZSB8fCB0cnVlLFxyXG4gICAgICAgICAgICBzZWFyY2hhYmxlOiB0aGlzLnNlYXJjaGFibGUgfHwgdHJ1ZSxcclxuICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6IHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIgfHwgJ+aQnOe0ouWFs+mUruWtlycsXHJcbiAgICAgICAgICAgIGZpbHRlcnM6IHRoaXMuZmlsdGVycyB8fCBbXVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGVbXT4oKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMucGljaygpOyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5zb3VyY2UuZ2V0U2VsZWN0ZWRMaXN0KCkgfHwgW107XHJcbiAgICAgICAgdGhpcy5fZW1pdHRlckNoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlzdC5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3QgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5fc2VydmljZS5yZXNldERhdGFTb3VyY2UodHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2VtaXR0ZXJDaGFuZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25DbGVhckl0ZW1DaGFuZ2UoaXRlbTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5zb3VyY2UucmVzZXRTZWxlY3RlZEl0ZW0oaXRlbSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2VtaXR0ZXJDaGFuZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZW1pdHRlckNoYW5nZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdENoYW5nZS5uZXh0KHRoaXMuc2VsZWN0ZWRMaXN0KTtcclxuXHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxjbWF0LXRyYW5zZmVyLXBpY2tlci1zb3VyY2U+PC9jbWF0LXRyYW5zZmVyLXBpY2tlci1zb3VyY2U+XHJcbjxkaXYgY2xhc3M9XCJjbWF0LXRyYW5zZmVyLXBpY2tlci1vcGVyYXRpb24gZmxleCBmbGV4LWNvbCBmbGV4LW5vd3JhcCBnYXAtMiBteC0yXCI+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInBsLTJcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwicGljaygpXCI+XHJcbiAgICAgICAg6YCJ5oupPG1hdC1pY29uIHN2Z0ljb249XCJtYXRfb3V0bGluZTpjaGV2cm9uX3JpZ2h0XCI+PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwbC0yXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInJlc2V0KClcIj5cclxuICAgICAgICA8bWF0LWljb24gc3ZnSWNvbj1cIm1hdF9vdXRsaW5lOmNoZXZyb25fbGVmdFwiPjwvbWF0LWljb24+6YeN572uXHJcbiAgICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbjxjbWF0LXRyYW5zZmVyLXBpY2tlci10YXJnZXQgW3NlbGVjdGVkTGlzdF09XCJzZWxlY3RlZExpc3RcIiAoY2xlYXJJdGVtQ2hhbmdlKT1cIm9uQ2xlYXJJdGVtQ2hhbmdlKCRldmVudClcIj5cclxuPC9jbWF0LXRyYW5zZmVyLXBpY2tlci10YXJnZXQ+Il19
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class CmatTransferPickerService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.dataSourceChange = new BehaviorSubject([]);
|
|
7
|
-
this.refreshDataSourceChange = new BehaviorSubject(true);
|
|
8
|
-
this.filtersChange = new BehaviorSubject([]);
|
|
9
|
-
this.sourceOptionsChange = new BehaviorSubject(void 0);
|
|
10
|
-
this.selectedValuesChange = new BehaviorSubject([]);
|
|
11
|
-
this._compareMap = new Map([
|
|
12
|
-
['0', (a, b) => a === b],
|
|
13
|
-
['1', (a, b) => a !== b],
|
|
14
|
-
['2', (a, b) => a > b],
|
|
15
|
-
['3', (a, b) => a < b],
|
|
16
|
-
['0,2', (a, b) => a >= b],
|
|
17
|
-
['0,2', (a, b) => a <= b]
|
|
18
|
-
]);
|
|
19
|
-
this._conditionMap = new Map([
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
21
|
-
['or', arr => arr.reduce((o, item) => (o.result = o.result || item || o.prev, o.prev = item, o), {
|
|
22
|
-
result: false,
|
|
23
|
-
prev: arr[0]
|
|
24
|
-
}).result],
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
26
|
-
['and', arr => arr.reduce((o, item) => (o.result = o.result && item && o.prev, o.prev = item, o), {
|
|
27
|
-
result: true,
|
|
28
|
-
prev: arr[0]
|
|
29
|
-
}).result],
|
|
30
|
-
]);
|
|
31
|
-
}
|
|
32
|
-
get dataSource() {
|
|
33
|
-
return this._dataSource;
|
|
34
|
-
}
|
|
35
|
-
set dataSource(data) {
|
|
36
|
-
this._dataSource = data;
|
|
37
|
-
if (!this._originalDataSource) {
|
|
38
|
-
this._originalDataSource = JSON.parse(JSON.stringify(data));
|
|
39
|
-
}
|
|
40
|
-
this.dataSourceChange.next(data);
|
|
41
|
-
}
|
|
42
|
-
set sourceOptions(value) {
|
|
43
|
-
this.sourceOptionsChange.next(value);
|
|
44
|
-
}
|
|
45
|
-
set selectedValues(value) {
|
|
46
|
-
this.selectedValuesChange.next(value);
|
|
47
|
-
}
|
|
48
|
-
filterDataSource({ filterData, keyword }) {
|
|
49
|
-
this._filterData = filterData ?? this._filterData;
|
|
50
|
-
this._keyword = keyword === void (0) ? this._keyword : keyword;
|
|
51
|
-
if (filterData?.filters.length) {
|
|
52
|
-
this._filterDataSourceByType(this._keyword ? this._filteredDataSource : this._originalDataSource, 'Filters');
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
else if (filterData && !filterData.filters.length) {
|
|
56
|
-
if (this._keyword) {
|
|
57
|
-
this._filterDataSourceByType(this._originalDataSource, 'Keyword');
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
this.resetDataSource(false);
|
|
61
|
-
}
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (keyword) {
|
|
65
|
-
this._filterDataSourceByType(this._filterData?.filters.length ? this._filteredDataSource : this._originalDataSource, 'Keyword');
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
else if (!keyword) {
|
|
69
|
-
if (this._filterData?.filters.length) {
|
|
70
|
-
this._filterDataSourceByType(this._originalDataSource, 'Filters');
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
this.resetDataSource(false);
|
|
74
|
-
}
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
resetDataSource(clear) {
|
|
79
|
-
this.dataSource = this._originalDataSource;
|
|
80
|
-
this._filteredDataSource = [];
|
|
81
|
-
this.refreshDataSourceChange.next(clear);
|
|
82
|
-
}
|
|
83
|
-
_filterDataSourceByType(dataSource, type) {
|
|
84
|
-
this._filteredDataSource = [];
|
|
85
|
-
switch (type) {
|
|
86
|
-
case 'Filters':
|
|
87
|
-
this._setFilteredDataSourceByFilters(dataSource);
|
|
88
|
-
break;
|
|
89
|
-
case 'Keyword':
|
|
90
|
-
this._setFilteredDataSourceByKeyword(dataSource);
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
this.dataSource = this._filteredDataSource;
|
|
94
|
-
this.refreshDataSourceChange.next(false);
|
|
95
|
-
}
|
|
96
|
-
_setFilteredDataSourceByFilters(dataSource) {
|
|
97
|
-
dataSource.map((data) => {
|
|
98
|
-
const compareResultArr = [];
|
|
99
|
-
this._filterData.filters.map((filter) => {
|
|
100
|
-
if (Object.prototype.hasOwnProperty.call(data, filter.field)) {
|
|
101
|
-
const compare = this._compareMap.get(filter.condition.sort().toString())?.(filter.value, data[filter.field]);
|
|
102
|
-
if (this._filterData.filters.length < 2 && compare) {
|
|
103
|
-
this._filteredDataSource.push(data);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
compareResultArr.push(compare);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
if (compareResultArr.length && this._conditionMap.get(this._filterData.condition)?.(compareResultArr)) {
|
|
111
|
-
this._filteredDataSource.push(data);
|
|
112
|
-
}
|
|
113
|
-
if (data.children && data.children.length > 0) {
|
|
114
|
-
this._setFilteredDataSourceByFilters(data.children);
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
_setFilteredDataSourceByKeyword(dataSource) {
|
|
119
|
-
dataSource.map((data) => {
|
|
120
|
-
if (data.label.includes(this._keyword)) {
|
|
121
|
-
this._filteredDataSource.push(data);
|
|
122
|
-
}
|
|
123
|
-
else if (data.children && data.children.length > 0) {
|
|
124
|
-
this._setFilteredDataSourceByKeyword(data.children);
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
129
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerService, providedIn: 'root' }); }
|
|
130
|
-
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CmatTransferPickerService, decorators: [{
|
|
132
|
-
type: Injectable,
|
|
133
|
-
args: [{
|
|
134
|
-
providedIn: 'root'
|
|
135
|
-
}]
|
|
136
|
-
}], ctorParameters: () => [] });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItcGlja2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFXdkMsTUFBTSxPQUFPLHlCQUF5QjtJQWdCbEM7UUFDSSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxlQUFlLENBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyx1QkFBdUIsR0FBRSxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksZUFBZSxDQUEyQixFQUFFLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxlQUFlLENBQTJCLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQXNDO1lBQzVELENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBVyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9CLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENB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ckMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gICAgQ21hdFNvdXJjZU9wdGlvbnMsXHJcbiAgICBDbWF0VHJhbnNmZXJGaWx0ZXJEYXRhLFxyXG4gICAgQ21hdFRyYW5zZmVyRmlsdGVySXRlbSxcclxuICAgIENtYXRUcmFuc2Zlckl0ZW1Ob2RlXHJcbn0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDbWF0VHJhbnNmZXJQaWNrZXJTZXJ2aWNlIHtcclxuICAgIGRhdGFTb3VyY2VDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxDbWF0VHJhbnNmZXJJdGVtTm9kZVtdPjtcclxuICAgIHJlZnJlc2hEYXRhU291cmNlQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XHJcbiAgICBmaWx0ZXJzQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Q21hdFRyYW5zZmVyRmlsdGVySXRlbVtdPjtcclxuICAgIHNvdXJjZU9wdGlvbnNDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxDbWF0U291cmNlT3B0aW9ucyB8IHZvaWQ+O1xyXG4gICAgc2VsZWN0ZWRWYWx1ZXNDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT47XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YVNvdXJjZTogQ21hdFRyYW5zZmVySXRlbU5vZGVbXTtcclxuXHJcbiAgICBwcml2YXRlIF9maWx0ZXJEYXRhOiBDbWF0VHJhbnNmZXJGaWx0ZXJEYXRhO1xyXG4gICAgcHJpdmF0ZSBfa2V5d29yZDogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBfb3JpZ2luYWxEYXRhU291cmNlOiBDbWF0VHJhbnNmZXJJdGVtTm9kZVtdO1xyXG4gICAgcHJpdmF0ZSBfZmlsdGVyZWREYXRhU291cmNlOiBDbWF0VHJhbnNmZXJJdGVtTm9kZVtdO1xyXG4gICAgcHJpdmF0ZSBfY29tcGFyZU1hcDogTWFwPHN0cmluZywgKGE6IGFueSwgYjogYW55KSA9PiBib29sZWFuPjtcclxuICAgIHByaXZhdGUgX2NvbmRpdGlvbk1hcDogTWFwPHN0cmluZywgKGFycjogYm9vbGVhbltdKSA9PiBib29sZWFuPjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2VDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENtYXRUcmFuc2Zlckl0ZW1Ob2RlW10+KFtdKTtcclxuICAgICAgICB0aGlzLnJlZnJlc2hEYXRhU291cmNlQ2hhbmdlPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyc0NoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q21hdFRyYW5zZmVyRmlsdGVySXRlbVtdPihbXSk7XHJcbiAgICAgICAgdGhpcy5zb3VyY2VPcHRpb25zQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbWF0U291cmNlT3B0aW9ucyB8IHZvaWQ+KHZvaWQgMCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlc0NoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcclxuXHJcbiAgICAgICAgdGhpcy5fY29tcGFyZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCAoYTogYW55LCBiOiBhbnkpID0+IGJvb2xlYW4+KFtcclxuICAgICAgICAgICAgWycwJywgKGEsIGIpOiBib29sZWFuID0+IGEgPT09IGJdLFxyXG4gICAgICAgICAgICBbJzEnLCAoYSwgYik6IGJvb2xlYW4gPT4gYSAhPT0gYl0sXHJcbiAgICAgICAgICAgIFsnMicsIChhLCBiKTogYm9vbGVhbiA9PiBhID4gYl0sXHJcbiAgICAgICAgICAgIFsnMycsIChhLCBiKTogYm9vbGVhbiA9PiBhIDwgYl0sXHJcbiAgICAgICAgICAgIFsnMCwyJywgKGEsIGIpOiBib29sZWFuID0+IGEgPj0gYl0sXHJcbiAgICAgICAgICAgIFsnMCwyJywgKGEsIGIpOiBib29sZWFuID0+IGEgPD0gYl1cclxuICAgICAgICBdKTtcclxuXHJcbiAgICAgICAgdGhpcy5fY29uZGl0aW9uTWFwID0gbmV3IE1hcDxzdHJpbmcsIChhcnI6IGJvb2xlYW5bXSkgPT4gYm9vbGVhbj4oW1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LWZ1bmN0aW9uLXJldHVybi10eXBlXHJcbiAgICAgICAgICAgIFsnb3InLCBhcnIgPT4gYXJyLnJlZHVjZSgobywgaXRlbSkgPT4gKG8ucmVzdWx0ID0gby5yZXN1bHQgfHwgaXRlbSB8fCBvLnByZXYsIG8ucHJldiA9IGl0ZW0sIG8pLCB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgcHJldjogYXJyWzBdXHJcbiAgICAgICAgICAgIH0pLnJlc3VsdF0sXHJcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtZnVuY3Rpb24tcmV0dXJuLXR5cGVcclxuICAgICAgICAgICAgWydhbmQnLCBhcnIgPT4gYXJyLnJlZHVjZSgobywgaXRlbSkgPT4gKG8ucmVzdWx0ID0gby5yZXN1bHQgJiYgaXRlbSAmJiBvLnByZXYsIG8ucHJldiA9IGl0ZW0sIG8pLCB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBwcmV2OiBhcnJbMF1cclxuICAgICAgICAgICAgfSkucmVzdWx0XSxcclxuICAgICAgICBdKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZGF0YVNvdXJjZSgpOiBDbWF0VHJhbnNmZXJJdGVtTm9kZVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgZGF0YVNvdXJjZShkYXRhOiBDbWF0VHJhbnNmZXJJdGVtTm9kZVtdKSB7XHJcbiAgICAgICAgdGhpcy5fZGF0YVNvdXJjZSA9IGRhdGE7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fb3JpZ2luYWxEYXRhU291cmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29yaWdpbmFsRGF0YVNvdXJjZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlQ2hhbmdlLm5leHQoZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0IHNvdXJjZU9wdGlvbnModmFsdWU6IENtYXRTb3VyY2VPcHRpb25zKSB7XHJcbiAgICAgICAgdGhpcy5zb3VyY2VPcHRpb25zQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBzZWxlY3RlZFZhbHVlcyh2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBmaWx0ZXJEYXRhU291cmNlKHsgZmlsdGVyRGF0YSwga2V5d29yZCB9OiB7IGZpbHRlckRhdGE/OiBDbWF0VHJhbnNmZXJGaWx0ZXJEYXRhOyBrZXl3b3JkPzogc3RyaW5nIH0pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9maWx0ZXJEYXRhID0gZmlsdGVyRGF0YSA/PyB0aGlzLl9maWx0ZXJEYXRhO1xyXG4gICAgICAgIHRoaXMuX2tleXdvcmQgPSBrZXl3b3JkID09PSB2b2lkICgwKSA/IHRoaXMuX2tleXdvcmQgOiBrZXl3b3JkO1xyXG5cclxuICAgICAgICBpZiAoZmlsdGVyRGF0YT8uZmlsdGVycy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5fZmlsdGVyRGF0YVNvdXJjZUJ5VHlwZSh0aGlzLl9rZXl3b3JkID8gdGhpcy5fZmlsdGVyZWREYXRhU291cmNlIDogdGhpcy5fb3JpZ2luYWxEYXRhU291cmNlLCAnRmlsdGVycycpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWx0ZXJEYXRhICYmICFmaWx0ZXJEYXRhLmZpbHRlcnMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9rZXl3b3JkKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9maWx0ZXJEYXRhU291cmNlQnlUeXBlKHRoaXMuX29yaWdpbmFsRGF0YVNvdXJjZSwgJ0tleXdvcmQnKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVzZXREYXRhU291cmNlKGZhbHNlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoa2V5d29yZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9maWx0ZXJEYXRhU291cmNlQnlUeXBlKHRoaXMuX2ZpbHRlckRhdGE/LmZpbHRlcnMubGVuZ3RoID8gdGhpcy5fZmlsdGVyZWREYXRhU291cmNlIDogdGhpcy5fb3JpZ2luYWxEYXRhU291cmNlLCAnS2V5d29yZCcpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIGlmICgha2V5d29yZCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fZmlsdGVyRGF0YT8uZmlsdGVycy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlckRhdGFTb3VyY2VCeVR5cGUodGhpcy5fb3JpZ2luYWxEYXRhU291cmNlLCAnRmlsdGVycycpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldERhdGFTb3VyY2UoZmFsc2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVzZXREYXRhU291cmNlKGNsZWFyOmJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLl9vcmlnaW5hbERhdGFTb3VyY2U7XHJcbiAgICAgICAgdGhpcy5fZmlsdGVyZWREYXRhU291cmNlID0gW107XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoRGF0YVNvdXJjZUNoYW5nZS5uZXh0KGNsZWFyKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9maWx0ZXJEYXRhU291cmNlQnlUeXBlKGRhdGFTb3VyY2U6IENtYXRUcmFuc2Zlckl0ZW1Ob2RlW10sIHR5cGU6ICdGaWx0ZXJzJyB8ICdLZXl3b3JkJyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2ZpbHRlcmVkRGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICdGaWx0ZXJzJzpcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NldEZpbHRlcmVkRGF0YVNvdXJjZUJ5RmlsdGVycyhkYXRhU291cmNlKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdLZXl3b3JkJzpcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NldEZpbHRlcmVkRGF0YVNvdXJjZUJ5S2V5d29yZChkYXRhU291cmNlKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLl9maWx0ZXJlZERhdGFTb3VyY2U7XHJcbiAgICAgICAgdGhpcy5yZWZyZXNoRGF0YVNvdXJjZUNoYW5nZS5uZXh0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9zZXRGaWx0ZXJlZERhdGFTb3VyY2VCeUZpbHRlcnMoZGF0YVNvdXJjZTogQ21hdFRyYW5zZmVySXRlbU5vZGVbXSk6IHZvaWQge1xyXG4gICAgICAgIGRhdGFTb3VyY2UubWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbXBhcmVSZXN1bHRBcnI6IGFueSA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLl9maWx0ZXJEYXRhLmZpbHRlcnMubWFwKChmaWx0ZXIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YSwgZmlsdGVyLmZpZWxkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBhcmUgPSB0aGlzLl9jb21wYXJlTWFwLmdldChmaWx0ZXIuY29uZGl0aW9uLnNvcnQoKS50b1N0cmluZygpKT8uKGZpbHRlci52YWx1ZSwgZGF0YVtmaWx0ZXIuZmllbGRdKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2ZpbHRlckRhdGEuZmlsdGVycy5sZW5ndGggPCAyICYmIGNvbXBhcmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVyZWREYXRhU291cmNlLnB1c2goZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyZVJlc3VsdEFyci5wdXNoKGNvbXBhcmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoY29tcGFyZVJlc3VsdEFyci5sZW5ndGggJiYgdGhpcy5fY29uZGl0aW9uTWFwLmdldCh0aGlzLl9maWx0ZXJEYXRhLmNvbmRpdGlvbik/Lihjb21wYXJlUmVzdWx0QXJyKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVyZWREYXRhU291cmNlLnB1c2goZGF0YSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChkYXRhLmNoaWxkcmVuICYmIGRhdGEuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0RmlsdGVyZWREYXRhU291cmNlQnlGaWx0ZXJzKGRhdGEuY2hpbGRyZW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfc2V0RmlsdGVyZWREYXRhU291cmNlQnlLZXl3b3JkKGRhdGFTb3VyY2U6IENtYXRUcmFuc2Zlckl0ZW1Ob2RlW10pOiB2b2lkIHtcclxuICAgICAgICBkYXRhU291cmNlLm1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGF0YS5sYWJlbC5pbmNsdWRlcyh0aGlzLl9rZXl3b3JkKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVyZWREYXRhU291cmNlLnB1c2goZGF0YSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5jaGlsZHJlbiAmJiBkYXRhLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3NldEZpbHRlcmVkRGF0YVNvdXJjZUJ5S2V5d29yZChkYXRhLmNoaWxkcmVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21hdC1jb21wb25lbnRzLXVwbG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy91cGxvYWQvY21hdC1jb21wb25lbnRzLXVwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|