cmat 0.0.3 → 0.0.5
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/breadcrumb/breadcrumb.component.d.ts +18 -20
- package/components/card/card.component.d.ts +0 -5
- package/components/cascade/cascade-list/cascade-list.component.d.ts +12 -9
- package/components/cascade/cascade-menu/cascade-menu.component.d.ts +0 -1
- package/components/chip-input/chip-input.component.d.ts +34 -0
- package/components/chip-input/index.d.ts +5 -0
- package/components/chip-input/public-api.d.ts +1 -0
- package/components/date-range/date-range.component.d.ts +3 -2
- package/components/json-editor/index.d.ts +5 -0
- package/components/json-editor/json-editor.component.d.ts +25 -0
- package/components/json-editor/public-api.d.ts +1 -0
- package/components/navigation/vertical/components/aside/aside.component.d.ts +2 -2
- package/components/navigation/vertical/components/basic/basic.component.d.ts +2 -2
- package/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +2 -2
- package/components/navigation/vertical/components/divider/divider.component.d.ts +2 -2
- package/components/navigation/vertical/components/group/group.component.d.ts +2 -2
- package/components/navigation/vertical/components/spacer/spacer.component.d.ts +2 -2
- package/components/navigation/vertical/vertical.component.d.ts +2 -2
- package/components/progress-bar/progress-bar.component.d.ts +3 -2
- package/components/rating/rating.component.d.ts +3 -2
- package/components/select-search/select-search.component.d.ts +1 -2
- package/components/select-tree/select-tree.component.d.ts +5 -12
- package/components/timeline/timeline-item/timeline-item.component.d.ts +1 -1
- package/components/transfer-picker/interface.d.ts +1 -1
- package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.d.ts +4 -4
- package/components/transfer-picker/transfer-picker.service.d.ts +2 -1
- package/directives/autofocus/autofocus.directive.d.ts +1 -3
- package/directives/debounce/debounce-keyup.directive.d.ts +1 -1
- package/directives/digit-only/digit-only.directive.d.ts +2 -0
- package/esm2022/animations/dropdown.mjs +26 -0
- package/esm2022/animations/public-api.mjs +2 -2
- package/esm2022/components/adapter/dayjs-date-adapter.mjs +3 -3
- package/esm2022/components/adapter/dayjs-datetime-adapter.mjs +3 -3
- package/esm2022/components/adapter/native-datetime-adapter.mjs +3 -3
- package/esm2022/components/breadcrumb/breadcrumb-item.directive.mjs +3 -3
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +16 -17
- package/esm2022/components/breadcrumb/breadcrumb.service.mjs +4 -4
- package/esm2022/components/card/card.component.mjs +5 -14
- package/esm2022/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.mjs +5 -6
- package/esm2022/components/cascade/cascade-list/cascade-list.component.mjs +65 -39
- package/esm2022/components/cascade/cascade-menu/cascade-menu.component.mjs +5 -9
- package/esm2022/components/chip-input/chip-input.component.mjs +144 -0
- package/esm2022/components/chip-input/cmat-components-chip-input.mjs +5 -0
- package/esm2022/components/chip-input/public-api.mjs +2 -0
- package/esm2022/components/date-range/date-range.component.mjs +13 -9
- package/esm2022/components/drawer/drawer.component.mjs +4 -4
- package/esm2022/components/drawer/drawer.service.mjs +3 -3
- package/esm2022/components/fullscreen/fullscreen.component.mjs +3 -3
- package/esm2022/components/highlight/highlight.component.mjs +3 -3
- package/esm2022/components/highlight/highlight.service.mjs +3 -3
- package/esm2022/components/json-editor/cmat-components-json-editor.mjs +5 -0
- package/esm2022/components/json-editor/json-editor.component.mjs +176 -0
- package/esm2022/components/json-editor/public-api.mjs +2 -0
- package/esm2022/components/masonry/masonry.component.mjs +3 -3
- package/esm2022/components/material-color-picker/material-color-picker.component.mjs +6 -6
- package/esm2022/components/material-datetimepicker/calendar-body.mjs +5 -6
- package/esm2022/components/material-datetimepicker/calendar.mjs +7 -8
- package/esm2022/components/material-datetimepicker/clock.mjs +6 -6
- package/esm2022/components/material-datetimepicker/datetimepicker-input.mjs +3 -3
- package/esm2022/components/material-datetimepicker/datetimepicker-intl.mjs +3 -3
- package/esm2022/components/material-datetimepicker/datetimepicker-toggle.mjs +8 -9
- package/esm2022/components/material-datetimepicker/datetimepicker.mjs +7 -7
- package/esm2022/components/material-datetimepicker/month-view.mjs +5 -6
- package/esm2022/components/material-datetimepicker/multi-year-view.mjs +3 -3
- package/esm2022/components/material-datetimepicker/time.mjs +8 -9
- package/esm2022/components/material-datetimepicker/year-view.mjs +3 -3
- package/esm2022/components/navigation/horizontal/components/basic/basic.component.mjs +6 -6
- package/esm2022/components/navigation/horizontal/components/branch/branch.component.mjs +7 -8
- package/esm2022/components/navigation/horizontal/components/divider/divider.component.mjs +3 -3
- package/esm2022/components/navigation/horizontal/components/spacer/spacer.component.mjs +3 -3
- package/esm2022/components/navigation/horizontal/horizontal.component.mjs +5 -6
- package/esm2022/components/navigation/navigation.service.mjs +3 -3
- package/esm2022/components/navigation/vertical/components/aside/aside.component.mjs +9 -9
- package/esm2022/components/navigation/vertical/components/basic/basic.component.mjs +8 -7
- package/esm2022/components/navigation/vertical/components/collapsable/collapsable.component.mjs +9 -11
- package/esm2022/components/navigation/vertical/components/divider/divider.component.mjs +6 -6
- package/esm2022/components/navigation/vertical/components/group/group.component.mjs +10 -11
- package/esm2022/components/navigation/vertical/components/spacer/spacer.component.mjs +7 -7
- package/esm2022/components/navigation/vertical/vertical.component.mjs +9 -11
- package/esm2022/components/pagination/pagination.component.mjs +6 -7
- package/esm2022/components/pagination/pagination.directive.mjs +3 -3
- package/esm2022/components/pagination/pagination.pipe.mjs +5 -5
- package/esm2022/components/pagination/pagination.service.mjs +3 -3
- package/esm2022/components/password-strength/mat-pass-toggle-visibility/mat-pass-toggle-visibility.component.mjs +3 -3
- package/esm2022/components/password-strength/mat-password-strength/mat-password-strength.component.mjs +6 -6
- package/esm2022/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.mjs +8 -9
- package/esm2022/components/popover/popover.component.mjs +5 -5
- package/esm2022/components/progress-bar/progress-bar.component.mjs +11 -8
- package/esm2022/components/rating/rating.component.mjs +14 -6
- package/esm2022/components/select-search/select-no-entries-found.directive.mjs +3 -3
- package/esm2022/components/select-search/select-search-clear.directive.mjs +3 -3
- package/esm2022/components/select-search/select-search.component.mjs +8 -11
- package/esm2022/components/select-tree/select-tree.component.mjs +13 -29
- package/esm2022/components/timeline/timeline-item/timeline-item.component.mjs +18 -16
- package/esm2022/components/timeline/timeline.component.mjs +3 -3
- package/esm2022/components/toast/toast-modal.component.mjs +7 -7
- package/esm2022/components/toast/toast.component.mjs +6 -6
- package/esm2022/components/toast/toast.service.mjs +3 -3
- package/esm2022/components/transfer-picker/filter/filter.component.mjs +17 -8
- package/esm2022/components/transfer-picker/interface.mjs +1 -1
- package/esm2022/components/transfer-picker/search/search.component.mjs +9 -5
- package/esm2022/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.mjs +44 -21
- package/esm2022/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.mjs +7 -6
- package/esm2022/components/transfer-picker/transfer-picker.component.mjs +9 -7
- package/esm2022/components/transfer-picker/transfer-picker.service.mjs +10 -7
- package/esm2022/directives/animate-on-scroll/animate-on-scroll.directive.mjs +3 -3
- package/esm2022/directives/animate-on-scroll/scroll.service.mjs +3 -3
- package/esm2022/directives/autofocus/autofocus.directive.mjs +7 -7
- package/esm2022/directives/debounce/abstract-debounce.directive.mjs +3 -3
- package/esm2022/directives/debounce/debounce-click.directive.mjs +3 -3
- package/esm2022/directives/debounce/debounce-keyup.directive.mjs +5 -5
- package/esm2022/directives/digit-only/digit-only.directive.mjs +20 -4
- package/esm2022/directives/digit-only/mask.directive.mjs +3 -3
- package/esm2022/directives/digit-only/public-api.mjs +1 -1
- package/esm2022/directives/equal-validator/equal-validator.directive.mjs +3 -3
- package/esm2022/lib/mock-api/mock-api.interceptor.mjs +3 -3
- package/esm2022/lib/mock-api/mock-api.service.mjs +3 -3
- package/esm2022/pipes/bytes/bytes.pipe.mjs +3 -3
- package/esm2022/pipes/date-format/date-format.pipe.mjs +3 -3
- package/esm2022/pipes/find-by-key/find-by-key.pipe.mjs +3 -3
- package/esm2022/pipes/group-by/group-by.pipe.mjs +3 -3
- package/esm2022/pipes/keys/keys.pipe.mjs +3 -3
- package/esm2022/pipes/secure/secure-pipe.mjs +5 -5
- package/esm2022/pipes/uppercase/uppercase.pipe.mjs +3 -3
- package/esm2022/services/alert/alert.service.mjs +16 -16
- package/esm2022/services/config/config.constants.mjs +1 -1
- package/esm2022/services/config/config.service.mjs +3 -3
- package/esm2022/services/config/urlStateConfig.service.mjs +5 -5
- package/esm2022/services/confirmation/confirmation.service.mjs +3 -3
- package/esm2022/services/confirmation/dialog/dialog.component.mjs +6 -6
- package/esm2022/services/data/data.service.mjs +4 -4
- package/esm2022/services/loading/loading.interceptor.mjs +3 -3
- package/esm2022/services/loading/loading.service.mjs +3 -3
- package/esm2022/services/local-storage/local-storage.service.mjs +3 -3
- package/esm2022/services/media-watcher/media-watcher.service.mjs +3 -3
- package/esm2022/services/platform/platform.service.mjs +3 -3
- package/esm2022/services/splash-screen/splash-screen.service.mjs +3 -3
- package/esm2022/services/title/title.service.mjs +3 -3
- package/esm2022/services/translation/translation.service.mjs +3 -3
- package/esm2022/services/utils/utils.service.mjs +3 -3
- package/fesm2022/cmat-animations.mjs.map +1 -1
- package/fesm2022/cmat-components-adapter.mjs +9 -9
- package/fesm2022/cmat-components-breadcrumb.mjs +21 -22
- package/fesm2022/cmat-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/cmat-components-card.mjs +4 -13
- package/fesm2022/cmat-components-card.mjs.map +1 -1
- package/fesm2022/cmat-components-cascade.mjs +72 -49
- package/fesm2022/cmat-components-cascade.mjs.map +1 -1
- package/fesm2022/cmat-components-chip-input.mjs +151 -0
- package/fesm2022/cmat-components-chip-input.mjs.map +1 -0
- package/fesm2022/cmat-components-date-range.mjs +12 -8
- package/fesm2022/cmat-components-date-range.mjs.map +1 -1
- package/fesm2022/cmat-components-drawer.mjs +7 -7
- package/fesm2022/cmat-components-drawer.mjs.map +1 -1
- package/fesm2022/cmat-components-fullscreen.mjs +3 -3
- package/fesm2022/cmat-components-highlight.mjs +6 -6
- package/fesm2022/cmat-components-json-editor.mjs +183 -0
- package/fesm2022/cmat-components-json-editor.mjs.map +1 -0
- package/fesm2022/cmat-components-masonry.mjs +3 -3
- package/fesm2022/cmat-components-material-color-picker.mjs +5 -5
- package/fesm2022/cmat-components-material-color-picker.mjs.map +1 -1
- package/fesm2022/cmat-components-material-datetimepicker.mjs +51 -52
- package/fesm2022/cmat-components-material-datetimepicker.mjs.map +1 -1
- package/fesm2022/cmat-components-navigation.mjs +70 -74
- package/fesm2022/cmat-components-navigation.mjs.map +1 -1
- package/fesm2022/cmat-components-pagination.mjs +15 -16
- package/fesm2022/cmat-components-pagination.mjs.map +1 -1
- package/fesm2022/cmat-components-password-strength.mjs +14 -15
- package/fesm2022/cmat-components-password-strength.mjs.map +1 -1
- package/fesm2022/cmat-components-popover.mjs +4 -4
- package/fesm2022/cmat-components-popover.mjs.map +1 -1
- package/fesm2022/cmat-components-progress-bar.mjs +10 -7
- package/fesm2022/cmat-components-progress-bar.mjs.map +1 -1
- package/fesm2022/cmat-components-rating.mjs +13 -5
- package/fesm2022/cmat-components-rating.mjs.map +1 -1
- package/fesm2022/cmat-components-select-search.mjs +13 -16
- package/fesm2022/cmat-components-select-search.mjs.map +1 -1
- package/fesm2022/cmat-components-select-tree.mjs +12 -28
- package/fesm2022/cmat-components-select-tree.mjs.map +1 -1
- package/fesm2022/cmat-components-timeline.mjs +21 -19
- package/fesm2022/cmat-components-timeline.mjs.map +1 -1
- package/fesm2022/cmat-components-toast.mjs +13 -13
- package/fesm2022/cmat-components-toast.mjs.map +1 -1
- package/fesm2022/cmat-components-transfer-picker.mjs +81 -45
- package/fesm2022/cmat-components-transfer-picker.mjs.map +1 -1
- package/fesm2022/cmat-directives-animate-on-scroll.mjs +6 -6
- package/fesm2022/cmat-directives-autofocus.mjs +6 -6
- package/fesm2022/cmat-directives-autofocus.mjs.map +1 -1
- package/fesm2022/cmat-directives-debounce.mjs +10 -10
- package/fesm2022/cmat-directives-debounce.mjs.map +1 -1
- package/fesm2022/cmat-directives-digit-only.mjs +22 -6
- package/fesm2022/cmat-directives-digit-only.mjs.map +1 -1
- package/fesm2022/cmat-directives-equal-validator.mjs +3 -3
- package/fesm2022/cmat-lib-mock-api.mjs +6 -6
- package/fesm2022/cmat-pipes-bytes.mjs +3 -3
- package/fesm2022/cmat-pipes-date-format.mjs +3 -3
- package/fesm2022/cmat-pipes-find-by-key.mjs +3 -3
- package/fesm2022/cmat-pipes-group-by.mjs +3 -3
- package/fesm2022/cmat-pipes-keys.mjs +3 -3
- package/fesm2022/cmat-pipes-secure.mjs +4 -4
- package/fesm2022/cmat-pipes-secure.mjs.map +1 -1
- package/fesm2022/cmat-pipes-uppercase.mjs +3 -3
- package/fesm2022/cmat-services-alert.mjs +15 -15
- package/fesm2022/cmat-services-alert.mjs.map +1 -1
- package/fesm2022/cmat-services-config.mjs +7 -7
- package/fesm2022/cmat-services-config.mjs.map +1 -1
- package/fesm2022/cmat-services-confirmation.mjs +8 -8
- package/fesm2022/cmat-services-confirmation.mjs.map +1 -1
- package/fesm2022/cmat-services-data.mjs +3 -3
- package/fesm2022/cmat-services-data.mjs.map +1 -1
- package/fesm2022/cmat-services-loading.mjs +6 -6
- package/fesm2022/cmat-services-local-storage.mjs +3 -3
- package/fesm2022/cmat-services-media-watcher.mjs +3 -3
- package/fesm2022/cmat-services-platform.mjs +3 -3
- package/fesm2022/cmat-services-splash-screen.mjs +3 -3
- package/fesm2022/cmat-services-title.mjs +3 -3
- package/fesm2022/cmat-services-translation.mjs +3 -3
- package/fesm2022/cmat-services-utils.mjs +3 -3
- package/package.json +46 -36
- package/pipes/secure/secure-pipe.d.ts +1 -1
- package/services/alert/alert.service.d.ts +4 -4
- package/services/config/config.constants.d.ts +1 -1
- package/services/config/urlStateConfig.service.d.ts +3 -2
- package/styles/components/bundle.scss +559 -0
- package/styles/overrides/angular-material.scss +16 -16
- package/styles/styles.scss +6 -1
- package/styles/tailwind.scss +4 -2
- package/components/breadcrumb/breadcrumb.component.scss +0 -18
- package/components/card/card.component.scss +0 -63
- package/components/cascade/cascade-bottom-sheet/cascade-bottom-sheet.component.scss +0 -43
- package/components/cascade/cascade-list/cascade-list.component.scss +0 -22
- package/components/cascade/cascade-menu/cascade-menu.component.scss +0 -48
- package/components/date-range/date-range.component.scss +0 -232
- package/components/drawer/drawer.component.scss +0 -133
- package/components/highlight/highlight.component.scss +0 -3
- package/components/material-color-picker/material-color-picker.component.scss +0 -5
- package/components/material-datetimepicker/calendar-body.scss +0 -58
- package/components/material-datetimepicker/calendar.scss +0 -194
- package/components/material-datetimepicker/clock.scss +0 -90
- package/components/material-datetimepicker/datetimepicker-content.scss +0 -151
- package/components/material-datetimepicker/datetimepicker.scss +0 -145
- package/components/material-datetimepicker/time.scss +0 -82
- package/components/navigation/horizontal/horizontal.component.scss +0 -167
- package/components/navigation/vertical/styles/appearances/compact.scss +0 -103
- package/components/navigation/vertical/styles/appearances/default.scss +0 -550
- package/components/navigation/vertical/styles/appearances/dense.scss +0 -171
- package/components/navigation/vertical/styles/appearances/thin.scss +0 -91
- package/components/navigation/vertical/vertical.component.scss +0 -4
- package/components/password-strength/mat-password-strength-info/mat-password-strength-info.component.scss +0 -19
- package/components/popover/popover.component.scss +0 -174
- package/components/progress-bar/progress-bar.component.scss +0 -7
- package/components/rating/rating.component.scss +0 -33
- package/components/select-search/select-search.component.scss +0 -126
- package/components/select-tree/select-tree.component.scss +0 -54
- package/components/timeline/timeline-item/timeline-item.component.scss +0 -329
- package/components/timeline/timeline.component.scss +0 -42
- package/components/toast/toast-modal.component.scss +0 -119
- package/components/toast/toast.component.scss +0 -62
- package/components/transfer-picker/filter/filter.component.scss +0 -40
- package/components/transfer-picker/search/search.component.scss +0 -7
- package/components/transfer-picker/transfer-picker-source/transfer-picker-source.component.scss +0 -25
- package/components/transfer-picker/transfer-picker-target/transfer-picker-target.component.scss +0 -27
- package/components/transfer-picker/transfer-picker.component.scss +0 -8
- package/esm2022/animations/drop.mjs +0 -26
- package/styles/main.scss +0 -9
- /package/animations/{drop.d.ts → dropdown.d.ts} +0 -0
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { CdkOverlayOrigin, OverlayConfig } from '@angular/cdk/overlay';
|
|
2
|
+
import { CdkOverlayOrigin, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
3
3
|
import { MatIconModule } from '@angular/material/icon';
|
|
4
|
-
import {
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
5
|
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
6
6
|
import { PortalModule } from '@angular/cdk/portal';
|
|
7
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/cdk/overlay";
|
|
9
10
|
import * as i2 from "../transfer-picker.service";
|
|
10
11
|
import * as i3 from "@angular/material/button-toggle";
|
|
11
12
|
import * as i4 from "@angular/material/icon";
|
|
12
|
-
import * as i5 from "@angular/
|
|
13
|
+
import * as i5 from "@angular/common";
|
|
14
|
+
import * as i6 from "@angular/cdk/portal";
|
|
15
|
+
import * as i7 from "@angular/material/button";
|
|
13
16
|
export class CmatTransferPickerFilterComponent {
|
|
14
17
|
constructor(_overlay, _service) {
|
|
15
18
|
this._overlay = _overlay;
|
|
@@ -31,6 +34,12 @@ export class CmatTransferPickerFilterComponent {
|
|
|
31
34
|
{
|
|
32
35
|
originX: 'end', originY: 'bottom', overlayX: 'end',
|
|
33
36
|
overlayY: 'top', offsetX: 5
|
|
37
|
+
}, {
|
|
38
|
+
originX: 'end',
|
|
39
|
+
originY: 'bottom',
|
|
40
|
+
overlayX: 'end',
|
|
41
|
+
overlayY: 'top',
|
|
42
|
+
offsetX: -5
|
|
34
43
|
}
|
|
35
44
|
]);
|
|
36
45
|
this.overlayRef = this._overlay.create(config);
|
|
@@ -67,12 +76,12 @@ export class CmatTransferPickerFilterComponent {
|
|
|
67
76
|
trackByFn(index, item) {
|
|
68
77
|
return index || item.label;
|
|
69
78
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatTransferPickerFilterComponent, deps: [{ token: i1.Overlay }, { token: i2.CmatTransferPickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CmatTransferPickerFilterComponent, isStandalone: true, selector: "cmat-transfer-picker-filter", inputs: { filters: "filters" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: CdkOverlayOrigin, descendants: true, static: true }, { propertyName: "filterTemplate", first: true, predicate: ["filterTemplate"], descendants: true, static: true }], exportAs: ["cmatTransferPickerFilter"], ngImport: i0, template: "<button type=\"button\" class=\"mr-2 mt-1\" mat-icon-button (click)=\"toggleFilter()\" cdk-overlay-origin>\n <mat-icon svgIcon=\"mat_outline:filter_list\"></mat-icon>\n</button>\n<ng-template cdk-portal #filterTemplate=\"cdkPortal\">\n <div\n class=\"transfer-picker-filter-panel bg-card flex flex-col flex-nowrap place-content-start box-border items-start w-full shadow\">\n <mat-button-toggle-group name=\"condition\" (change)=\"onConditionChange($event.value)\">\n <mat-button-toggle value=\"or\" [checked]=\"filterData.condition === 'or'\">\u6216</mat-button-toggle>\n <mat-button-toggle value=\"and\" [checked]=\"filterData.condition === 'and'\">\u4E14</mat-button-toggle>\n </mat-button-toggle-group>\n\n <div class=\"chip-list\">\n @for (item of filters; track trackByFn($index, item)) {\n <div class=\"chip-wrapper\" role=\"presentation\"\n (click)=\"onFilterClick(item)\">\n <span class=\"chip\" [ngClass]=\"{selected: item?.selected}\">{{item.label}}</span>\n </div>\n }\n </div>\n </div>\n</ng-template>", styles: [".transfer-picker-filter-panel{min-width:276px;padding:10px 0}.transfer-picker-filter-panel .mat-button-toggle-group{font-size:12px;margin-right:15px;margin-bottom:20px;align-self:flex-end}.transfer-picker-filter-panel .mat-button-toggle-group .mat-button-toggle-label-content{line-height:1.8}.transfer-picker-filter-panel .chip-list{width:276px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;box-sizing:border-box}.transfer-picker-filter-panel .chip-list:after{content:\"\";flex:1 1 0%;max-width:33.333333%}.transfer-picker-filter-panel .chip-list .chip-wrapper{flex:1 1 0%;box-sizing:border-box;max-width:33.333333%;text-align:center;margin-bottom:20px}.transfer-picker-filter-panel .chip-list .chip-wrapper .chip{display:inline-block;min-width:50%;cursor:pointer;padding:5px 10px;font-size:12px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i3.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i6.TemplatePortalDirective, selector: "[cdk-portal], [portal]", exportAs: ["cdkPortal"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
72
81
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatTransferPickerFilterComponent, decorators: [{
|
|
74
83
|
type: Component,
|
|
75
|
-
args: [{ selector: 'cmat-transfer-picker-filter', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTransferPickerFilter', standalone: true, imports: [MatButtonToggleModule, MatIconModule,
|
|
84
|
+
args: [{ selector: 'cmat-transfer-picker-filter', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTransferPickerFilter', standalone: true, imports: [MatButtonToggleModule, MatIconModule, CommonModule, PortalModule, MatButtonModule, OverlayModule], template: "<button type=\"button\" class=\"mr-2 mt-1\" mat-icon-button (click)=\"toggleFilter()\" cdk-overlay-origin>\n <mat-icon svgIcon=\"mat_outline:filter_list\"></mat-icon>\n</button>\n<ng-template cdk-portal #filterTemplate=\"cdkPortal\">\n <div\n class=\"transfer-picker-filter-panel bg-card flex flex-col flex-nowrap place-content-start box-border items-start w-full shadow\">\n <mat-button-toggle-group name=\"condition\" (change)=\"onConditionChange($event.value)\">\n <mat-button-toggle value=\"or\" [checked]=\"filterData.condition === 'or'\">\u6216</mat-button-toggle>\n <mat-button-toggle value=\"and\" [checked]=\"filterData.condition === 'and'\">\u4E14</mat-button-toggle>\n </mat-button-toggle-group>\n\n <div class=\"chip-list\">\n @for (item of filters; track trackByFn($index, item)) {\n <div class=\"chip-wrapper\" role=\"presentation\"\n (click)=\"onFilterClick(item)\">\n <span class=\"chip\" [ngClass]=\"{selected: item?.selected}\">{{item.label}}</span>\n </div>\n }\n </div>\n </div>\n</ng-template>", styles: [".transfer-picker-filter-panel{min-width:276px;padding:10px 0}.transfer-picker-filter-panel .mat-button-toggle-group{font-size:12px;margin-right:15px;margin-bottom:20px;align-self:flex-end}.transfer-picker-filter-panel .mat-button-toggle-group .mat-button-toggle-label-content{line-height:1.8}.transfer-picker-filter-panel .chip-list{width:276px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;box-sizing:border-box}.transfer-picker-filter-panel .chip-list:after{content:\"\";flex:1 1 0%;max-width:33.333333%}.transfer-picker-filter-panel .chip-list .chip-wrapper{flex:1 1 0%;box-sizing:border-box;max-width:33.333333%;text-align:center;margin-bottom:20px}.transfer-picker-filter-panel .chip-list .chip-wrapper .chip{display:inline-block;min-width:50%;cursor:pointer;padding:5px 10px;font-size:12px}\n"] }]
|
|
76
85
|
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i2.CmatTransferPickerService }], propDecorators: { filters: [{
|
|
77
86
|
type: Input
|
|
78
87
|
}], overlayOrigin: [{
|
|
@@ -82,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
82
91
|
type: ViewChild,
|
|
83
92
|
args: ['filterTemplate', { static: true }]
|
|
84
93
|
}] } });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy90cmFuc2Zlci1waWNrZXIvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUk1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFZbkQsTUFBTSxPQUFPLGlDQUFpQztJQVUxQyxZQUNZLFFBQWlCLEVBQ2pCLFFBQW1DO1FBRG5DLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBMkI7UUFFM0MsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNkLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDSixNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUM3QixXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsa0NBQWtDO1lBQ2pELGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRTtTQUN6RCxDQUFDLENBQUM7UUFFSCxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVE7YUFDbEMsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ3pDO2dCQUNJLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSztnQkFDbEQsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQzthQUM5QjtTQUFDLENBQUMsQ0FBQztRQUVoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzVCO2FBQU07WUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDL0M7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQThCO1FBQ3hDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRW5DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRGLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDeEM7YUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzlFO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYSxFQUFFLElBQTRCO1FBQ2pELE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDL0IsQ0FBQzs4R0E3RVEsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsc0tBSS9CLGdCQUFnQix1TkN4Qi9CLGdsQ0FrQmMsd3lCREFBLHFCQUFxQixzaEJBQUUsYUFBYSxvTEFBRSxLQUFLLG1IQUFFLE9BQU8sbUZBQUUsWUFBWTs7MkZBRW5FLGlDQUFpQztrQkFWN0MsU0FBUzsrQkFDSSw2QkFBNkIsaUJBR3hCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQztvSEFJN0UsT0FBTztzQkFETixLQUFLO2dCQUd5QyxhQUFhO3NCQUEzRCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxjQUFjO3NCQUE1RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka092ZXJsYXlPcmlnaW4sIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDZGtQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENtYXRUcmFuc2ZlckZpbHRlckRhdGEsIENtYXRUcmFuc2ZlckZpbHRlckl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ21hdFRyYW5zZmVyUGlja2VyU2VydmljZSB9IGZyb20gJy4uL3RyYW5zZmVyLXBpY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY21hdC10cmFuc2Zlci1waWNrZXItZmlsdGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGV4cG9ydEFzOiAnY21hdFRyYW5zZmVyUGlja2VyRmlsdGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtNYXRCdXR0b25Ub2dnbGVNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE5nRm9yLCBOZ0NsYXNzLCBQb3J0YWxNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENtYXRUcmFuc2ZlclBpY2tlckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBmaWx0ZXJzOiBBcnJheTxDbWF0VHJhbnNmZXJGaWx0ZXJJdGVtPjtcblxuICAgIEBWaWV3Q2hpbGQoQ2RrT3ZlcmxheU9yaWdpbiwgeyBzdGF0aWM6IHRydWUgfSkgb3ZlcmxheU9yaWdpbjogQ2RrT3ZlcmxheU9yaWdpbjtcbiAgICBAVmlld0NoaWxkKCdmaWx0ZXJUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGZpbHRlclRlbXBsYXRlOiBDZGtQb3J0YWw7XG4gICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcblxuICAgIGZpbHRlckRhdGE6IENtYXRUcmFuc2ZlckZpbHRlckRhdGE7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSBfc2VydmljZTogQ21hdFRyYW5zZmVyUGlja2VyU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEgPSB7XG4gICAgICAgICAgICBjb25kaXRpb246ICdvcicsXG4gICAgICAgICAgICBmaWx0ZXJzOiBbXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5T3JpZ2luLmVsZW1lbnRSZWYpLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogNVxuICAgICAgICAgICAgICAgICAgICB9XSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRvZ2dsZUZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZiAmJiB0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLmZpbHRlclRlbXBsYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRmlsdGVyQ2xpY2soZmlsdGVyOiBDbWF0VHJhbnNmZXJGaWx0ZXJJdGVtKTogdm9pZCB7XG4gICAgICAgIGZpbHRlci5zZWxlY3RlZCA9ICFmaWx0ZXIuc2VsZWN0ZWQ7XG5cbiAgICAgICAgY29uc3QgZXhpc3RGaWx0ZXIgPSB0aGlzLmZpbHRlckRhdGEuZmlsdGVycy5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gZmlsdGVyLnZhbHVlKTtcblxuICAgICAgICBpZiAoIWV4aXN0RmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICAgIH0gZWxzZSBpZiAoIWZpbHRlci5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmZpbHRlcnMuc3BsaWNlKHRoaXMuZmlsdGVyRGF0YS5maWx0ZXJzLmluZGV4T2YoZmlsdGVyKSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZUZpbHRlckRhdGEoKTtcbiAgICB9XG5cbiAgICBvbkNvbmRpdGlvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YS5jb25kaXRpb24gPSBldmVudDtcblxuICAgICAgICB0aGlzLmNoYW5nZUZpbHRlckRhdGEoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VGaWx0ZXJEYXRhKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXJ2aWNlLmZpbHRlckRhdGFTb3VyY2UoeyBmaWx0ZXJEYXRhOiB0aGlzLmZpbHRlckRhdGEgfSk7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IENtYXRUcmFuc2ZlckZpbHRlckl0ZW0pOiBhbnkge1xuICAgICAgICByZXR1cm4gaW5kZXggfHwgaXRlbS5sYWJlbDtcbiAgICB9XG59XG4iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm1yLTIgbXQtMVwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRmlsdGVyKClcIiBjZGstb3ZlcmxheS1vcmlnaW4+XG4gICAgPG1hdC1pY29uIHN2Z0ljb249XCJtYXRfc29saWQ6ZmlsdGVyX2xpc3RcIj48L21hdC1pY29uPlxuPC9idXR0b24+XG48bmctdGVtcGxhdGUgY2RrLXBvcnRhbCAjZmlsdGVyVGVtcGxhdGU9XCJjZGtQb3J0YWxcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmlsdGVyLXBhbmVsIGJnLWNhcmQgZmxleCBmbGV4LWNvbCBmbGV4LW5vd3JhcCBwbGFjZS1jb250ZW50LXN0YXJ0IGJveC1ib3JkZXIgaXRlbXMtc3RhcnQgdy1mdWxsIHNoYWRvd1wiPlxuICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgbmFtZT1cImNvbmRpdGlvblwiIChjaGFuZ2UpPVwib25Db25kaXRpb25DaGFuZ2UoJGV2ZW50LnZhbHVlKVwiPlxuICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwib3JcIiBbY2hlY2tlZF09XCJmaWx0ZXJEYXRhLmNvbmRpdGlvbiA9PT0gJ29yJ1wiPuaIljwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJhbmRcIiBbY2hlY2tlZF09XCJmaWx0ZXJEYXRhLmNvbmRpdGlvbiA9PT0gJ2FuZCdcIj7kuJQ8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWxpc3RcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLXdyYXBwZXJcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyczt0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkZpbHRlckNsaWNrKGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGlwXCIgW25nQ2xhc3NdPVwie3NlbGVjdGVkOiBpdGVtPy5zZWxlY3RlZH1cIj57e2l0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy90cmFuc2Zlci1waWNrZXIvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBVyxhQUFhLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFJM0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFZM0QsTUFBTSxPQUFPLGlDQUFpQztJQVUxQyxZQUNZLFFBQWlCLEVBQ2pCLFFBQW1DO1FBRG5DLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBMkI7UUFFM0MsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNkLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDSixNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUM3QixXQUFXLEVBQUUsSUFB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L0YsaUNBQWlDO2tCQVY3QyxTQUFTOytCQUNJLDZCQUE2QixpQkFHeEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQywwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMscUJBQXFCLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUMsZUFBZSxFQUFDLGFBQWEsQ0FBQztvSEFJekcsT0FBTztzQkFETixLQUFLO2dCQUd5QyxhQUFhO3NCQUEzRCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxjQUFjO3NCQUE1RCxTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka092ZXJsYXlPcmlnaW4sIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlNb2R1bGUsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDZGtQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENtYXRUcmFuc2ZlckZpbHRlckRhdGEsIENtYXRUcmFuc2ZlckZpbHRlckl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ21hdFRyYW5zZmVyUGlja2VyU2VydmljZSB9IGZyb20gJy4uL3RyYW5zZmVyLXBpY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjbWF0LXRyYW5zZmVyLXBpY2tlci1maWx0ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpbHRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZXhwb3J0QXM6ICdjbWF0VHJhbnNmZXJQaWNrZXJGaWx0ZXInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdEJ1dHRvblRvZ2dsZU1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgQ29tbW9uTW9kdWxlLCBQb3J0YWxNb2R1bGUsTWF0QnV0dG9uTW9kdWxlLE92ZXJsYXlNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENtYXRUcmFuc2ZlclBpY2tlckZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBmaWx0ZXJzOiBBcnJheTxDbWF0VHJhbnNmZXJGaWx0ZXJJdGVtPjtcblxuICAgIEBWaWV3Q2hpbGQoQ2RrT3ZlcmxheU9yaWdpbiwgeyBzdGF0aWM6IHRydWUgfSkgb3ZlcmxheU9yaWdpbjogQ2RrT3ZlcmxheU9yaWdpbjtcbiAgICBAVmlld0NoaWxkKCdmaWx0ZXJUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGZpbHRlclRlbXBsYXRlOiBDZGtQb3J0YWw7XG4gICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcblxuICAgIGZpbHRlckRhdGE6IENtYXRUcmFuc2ZlckZpbHRlckRhdGE7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSBfc2VydmljZTogQ21hdFRyYW5zZmVyUGlja2VyU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmZpbHRlckRhdGEgPSB7XG4gICAgICAgICAgICBjb25kaXRpb246ICdvcicsXG4gICAgICAgICAgICBmaWx0ZXJzOiBbXVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKClcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5T3JpZ2luLmVsZW1lbnRSZWYpLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogNVxuICAgICAgICAgICAgICAgICAgICB9LHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXRYOiAtNVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRvZ2dsZUZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZiAmJiB0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLmZpbHRlclRlbXBsYXRlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRmlsdGVyQ2xpY2soZmlsdGVyOiBDbWF0VHJhbnNmZXJGaWx0ZXJJdGVtKTogdm9pZCB7XG4gICAgICAgIGZpbHRlci5zZWxlY3RlZCA9ICFmaWx0ZXIuc2VsZWN0ZWQ7XG5cbiAgICAgICAgY29uc3QgZXhpc3RGaWx0ZXIgPSB0aGlzLmZpbHRlckRhdGEuZmlsdGVycy5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSA9PT0gZmlsdGVyLnZhbHVlKTtcblxuICAgICAgICBpZiAoIWV4aXN0RmlsdGVyKSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlckRhdGEuZmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgICAgIH0gZWxzZSBpZiAoIWZpbHRlci5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhLmZpbHRlcnMuc3BsaWNlKHRoaXMuZmlsdGVyRGF0YS5maWx0ZXJzLmluZGV4T2YoZmlsdGVyKSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZUZpbHRlckRhdGEoKTtcbiAgICB9XG5cbiAgICBvbkNvbmRpdGlvbkNoYW5nZShldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YS5jb25kaXRpb24gPSBldmVudDtcblxuICAgICAgICB0aGlzLmNoYW5nZUZpbHRlckRhdGEoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VGaWx0ZXJEYXRhKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXJ2aWNlLmZpbHRlckRhdGFTb3VyY2UoeyBmaWx0ZXJEYXRhOiB0aGlzLmZpbHRlckRhdGEgfSk7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IENtYXRUcmFuc2ZlckZpbHRlckl0ZW0pOiBhbnkge1xuICAgICAgICByZXR1cm4gaW5kZXggfHwgaXRlbS5sYWJlbDtcbiAgICB9XG59XG4iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIm1yLTIgbXQtMVwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlRmlsdGVyKClcIiBjZGstb3ZlcmxheS1vcmlnaW4+XG4gIDxtYXQtaWNvbiBzdmdJY29uPVwibWF0X291dGxpbmU6ZmlsdGVyX2xpc3RcIj48L21hdC1pY29uPlxuPC9idXR0b24+XG48bmctdGVtcGxhdGUgY2RrLXBvcnRhbCAjZmlsdGVyVGVtcGxhdGU9XCJjZGtQb3J0YWxcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidHJhbnNmZXItcGlja2VyLWZpbHRlci1wYW5lbCBiZy1jYXJkIGZsZXggZmxleC1jb2wgZmxleC1ub3dyYXAgcGxhY2UtY29udGVudC1zdGFydCBib3gtYm9yZGVyIGl0ZW1zLXN0YXJ0IHctZnVsbCBzaGFkb3dcIj5cbiAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgbmFtZT1cImNvbmRpdGlvblwiIChjaGFuZ2UpPVwib25Db25kaXRpb25DaGFuZ2UoJGV2ZW50LnZhbHVlKVwiPlxuICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIHZhbHVlPVwib3JcIiBbY2hlY2tlZF09XCJmaWx0ZXJEYXRhLmNvbmRpdGlvbiA9PT0gJ29yJ1wiPuaIljwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJhbmRcIiBbY2hlY2tlZF09XCJmaWx0ZXJEYXRhLmNvbmRpdGlvbiA9PT0gJ2FuZCdcIj7kuJQ8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgIDwvbWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXA+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY2hpcC1saXN0XCI+XG4gICAgICBAZm9yIChpdGVtIG9mIGZpbHRlcnM7IHRyYWNrIHRyYWNrQnlGbigkaW5kZXgsIGl0ZW0pKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLXdyYXBwZXJcIiByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib25GaWx0ZXJDbGljayhpdGVtKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcFwiIFtuZ0NsYXNzXT1cIntzZWxlY3RlZDogaXRlbT8uc2VsZWN0ZWR9XCI+e3tpdGVtLmxhYmVsfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
@@ -14,4 +14,4 @@ export var CmatTransferFilterCondition;
|
|
|
14
14
|
CmatTransferFilterCondition[CmatTransferFilterCondition["MORE_THAN"] = 2] = "MORE_THAN";
|
|
15
15
|
CmatTransferFilterCondition[CmatTransferFilterCondition["LESS_THAN"] = 3] = "LESS_THAN";
|
|
16
16
|
})(CmatTransferFilterCondition || (CmatTransferFilterCondition = {}));
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY21hdC9jb21wb25lbnRzL3RyYW5zZmVyLXBpY2tlci9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBQ3pEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtDQVFoQztBQUVELG9FQUFvRTtBQUNwRSxNQUFNLE9BQU8sd0JBQXdCO0NBTXBDO0FBRUQsTUFBTSxDQUFOLElBQVksMkJBS1g7QUFMRCxXQUFZLDJCQUEyQjtJQUNuQyxpRkFBTSxDQUFBO0lBQ04seUZBQVUsQ0FBQTtJQUNWLHVGQUFTLENBQUE7SUFDVCx1RkFBUyxDQUFBO0FBQ2IsQ0FBQyxFQUxXLDJCQUEyQixLQUEzQiwyQkFBMkIsUUFLdEMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cclxuLyoqXHJcbiAqIE5vZGUgZm9yIFRyYW5zZmVyIGl0ZW1cclxuICovXHJcbmV4cG9ydCBjbGFzcyBDbWF0VHJhbnNmZXJJdGVtTm9kZSB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcblxyXG4gICAgY2hpbGRyZW4/OiBBcnJheTxDbWF0VHJhbnNmZXJJdGVtTm9kZT47XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcclxuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcclxuXHJcbn1cclxuXHJcbi8qKiBGbGF0IFRyYW5zZmVyIGl0ZW0gbm9kZSB3aXRoIGV4cGFuZGFibGUgYW5kIGxldmVsIGluZm9ybWF0aW9uICovXHJcbmV4cG9ydCBjbGFzcyBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUge1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgICBsZXZlbDogbnVtYmVyO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgZXhwYW5kYWJsZTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gQ21hdFRyYW5zZmVyRmlsdGVyQ29uZGl0aW9uIHtcclxuICAgIEVRVUFMUyxcclxuICAgIE5PVF9FUVVBTFMsXHJcbiAgICBNT1JFX1RIQU4sXHJcbiAgICBMRVNTX1RIQU5cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbWF0VHJhbnNmZXJGaWx0ZXJJdGVtIHtcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nO1xyXG4gICAgY29uZGl0aW9uOiBBcnJheTxDbWF0VHJhbnNmZXJGaWx0ZXJDb25kaXRpb24+O1xyXG4gICAgZmllbGQ6IHN0cmluZztcclxuICAgIHNlbGVjdGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDbWF0VHJhbnNmZXJGaWx0ZXJEYXRhIHtcclxuICAgIGNvbmRpdGlvbjogJ29yJyB8ICdhbmQnO1xyXG4gICAgZmlsdGVyczogQXJyYXk8Q21hdFRyYW5zZmVyRmlsdGVySXRlbT47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ21hdFNvdXJjZU9wdGlvbnMge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGZpbHRlcmFibGU6IGJvb2xlYW47XHJcbiAgICBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIGZpbHRlcnM6IEFycmF5PENtYXRUcmFuc2ZlckZpbHRlckl0ZW0+O1xyXG59XHJcbiJdfQ==
|
|
@@ -3,11 +3,15 @@ import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
|
3
3
|
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
4
4
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
5
|
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { MatInputModule } from '@angular/material/input';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "../transfer-picker.service";
|
|
8
10
|
import * as i2 from "@angular/material/form-field";
|
|
9
11
|
import * as i3 from "@angular/material/icon";
|
|
10
12
|
import * as i4 from "@angular/forms";
|
|
13
|
+
import * as i5 from "@angular/material/button";
|
|
14
|
+
import * as i6 from "@angular/material/input";
|
|
11
15
|
export class CmatTransferPickerSearchComponent {
|
|
12
16
|
constructor(_service) {
|
|
13
17
|
this._service = _service;
|
|
@@ -22,13 +26,13 @@ export class CmatTransferPickerSearchComponent {
|
|
|
22
26
|
reset() {
|
|
23
27
|
this.keyword.setValue('');
|
|
24
28
|
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatTransferPickerSearchComponent, deps: [{ token: i1.CmatTransferPickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: CmatTransferPickerSearchComponent, isStandalone: true, selector: "cmat-transfer-picker-search", inputs: { searchPlaceholder: "searchPlaceholder" }, exportAs: ["cmatTransferPickerSearch"], ngImport: i0, template: "<mat-form-field>\n <input matInput type=\"text\" placeholder=\"{{searchPlaceholder}}\" [formControl]=\"keyword\">\n @if (keyword.value) {\n <button type=\"button\" matSuffix mat-icon-button (click)=\"reset()\">\n <mat-icon svgIcon=\"mat_outline:close\"></mat-icon>\n </button>\n }\n</mat-form-field>", styles: ["cmat-transfer-picker-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center}cmat-transfer-picker-search .mat-mdc-form-field{width:88%}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
27
31
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatTransferPickerSearchComponent, decorators: [{
|
|
29
33
|
type: Component,
|
|
30
|
-
args: [{ selector: 'cmat-transfer-picker-search', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTransferPickerSearch', standalone: true, imports: [MatFormFieldModule, MatIconModule, ReactiveFormsModule], template: "<mat-form-field>\n
|
|
34
|
+
args: [{ selector: 'cmat-transfer-picker-search', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTransferPickerSearch', standalone: true, imports: [MatFormFieldModule, MatIconModule, ReactiveFormsModule, MatButtonModule, MatInputModule], template: "<mat-form-field>\n <input matInput type=\"text\" placeholder=\"{{searchPlaceholder}}\" [formControl]=\"keyword\">\n @if (keyword.value) {\n <button type=\"button\" matSuffix mat-icon-button (click)=\"reset()\">\n <mat-icon svgIcon=\"mat_outline:close\"></mat-icon>\n </button>\n }\n</mat-form-field>", styles: ["cmat-transfer-picker-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center}cmat-transfer-picker-search .mat-mdc-form-field{width:88%}\n"] }]
|
|
31
35
|
}], ctorParameters: () => [{ type: i1.CmatTransferPickerService }], propDecorators: { searchPlaceholder: [{
|
|
32
36
|
type: Input
|
|
33
37
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NtYXQvY29tcG9uZW50cy90cmFuc2Zlci1waWNrZXIvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7QUFZekQsTUFBTSxPQUFPLGlDQUFpQztJQU0xQyxZQUNZLFFBQW1DO1FBQW5DLGFBQVEsR0FBUixRQUFRLENBQTJCO1FBRTNDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxPQUFPO2FBQ1AsWUFBWTthQUNaLElBQUksQ0FDRCxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLG9CQUFvQixFQUFFLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs4R0F4QlEsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsbUxDcEI5QywyVEFPaUIsNE9EV0gsa0JBQWtCLDBXQUFFLGFBQWEsbUxBQUUsbUJBQW1CLHlrQkFBRSxlQUFlLDJJQUFFLGNBQWM7OzJGQUV4RixpQ0FBaUM7a0JBVjdDLFNBQVM7K0JBQ0ksNkJBQTZCLGlCQUd4QixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLDBCQUEwQixjQUN4QixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQzs4RkFJbEcsaUJBQWlCO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENtYXRUcmFuc2ZlclBpY2tlclNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2Zlci1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcblxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NtYXQtdHJhbnNmZXItcGlja2VyLXNlYXJjaCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBleHBvcnRBczogJ2NtYXRUcmFuc2ZlclBpY2tlclNlYXJjaCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdElucHV0TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDbWF0VHJhbnNmZXJQaWNrZXJTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIGtleXdvcmQ6IEZvcm1Db250cm9sO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3NlcnZpY2U6IENtYXRUcmFuc2ZlclBpY2tlclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5rZXl3b3JkID0gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5d29yZFxuICAgICAgICAgICAgLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoa2V5d29yZDogYW55KSA9PiB0aGlzLl9zZXJ2aWNlLmZpbHRlckRhdGFTb3VyY2UoeyBrZXl3b3JkIH0pKTtcbiAgICB9XG5cbiAgICByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXl3b3JkLnNldFZhbHVlKCcnKTtcbiAgICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQ+XG4gIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwie3tzZWFyY2hQbGFjZWhvbGRlcn19XCIgW2Zvcm1Db250cm9sXT1cImtleXdvcmRcIj5cbiAgQGlmIChrZXl3b3JkLnZhbHVlKSB7XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVzZXQoKVwiPlxuICAgICAgPG1hdC1pY29uIHN2Z0ljb249XCJtYXRfb3V0bGluZTpjbG9zZVwiPjwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIH1cbjwvbWF0LWZvcm0tZmllbGQ+Il19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { SelectionModel } from '@angular/cdk/collections';
|
|
3
3
|
import { FlatTreeControl } from '@angular/cdk/tree';
|
|
4
4
|
import { MatTreeFlatDataSource, MatTreeFlattener, MatTreeModule } from '@angular/material/tree';
|
|
@@ -8,20 +8,22 @@ import { filter, takeUntil } from 'rxjs/operators';
|
|
|
8
8
|
import { MatCardModule } from '@angular/material/card';
|
|
9
9
|
import { CmatTransferPickerFilterComponent } from '../filter/filter.component';
|
|
10
10
|
import { CmatTransferPickerSearchComponent } from '../search/search.component';
|
|
11
|
-
import { NgIf } from '@angular/common';
|
|
12
11
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
13
12
|
import { MatIconModule } from '@angular/material/icon';
|
|
14
13
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
14
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
import * as i1 from "../transfer-picker.service";
|
|
17
17
|
import * as i2 from "@angular/material/card";
|
|
18
18
|
import * as i3 from "@angular/material/tree";
|
|
19
19
|
import * as i4 from "@angular/material/checkbox";
|
|
20
20
|
import * as i5 from "@angular/material/icon";
|
|
21
|
-
import * as i6 from "@angular/
|
|
21
|
+
import * as i6 from "@angular/material/button";
|
|
22
|
+
import * as i7 from "@angular/cdk/scrolling";
|
|
22
23
|
export class CmatTransferPickerSourceComponent {
|
|
23
|
-
constructor(_service) {
|
|
24
|
+
constructor(_service, _changeDetectorRef) {
|
|
24
25
|
this._service = _service;
|
|
26
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
25
27
|
/** Map from nested node to flattened node. This helps us to keep the same object for selection */
|
|
26
28
|
this.nestedNodeMap = new Map();
|
|
27
29
|
/** The selection for checklist */
|
|
@@ -30,7 +32,7 @@ export class CmatTransferPickerSourceComponent {
|
|
|
30
32
|
this.hasChild = (_, _nodeData) => _nodeData.expandable;
|
|
31
33
|
this._getLevel = (node) => node.level;
|
|
32
34
|
this._isExpandable = (node) => node.expandable;
|
|
33
|
-
this._getChildren = (node) => ofObservable(node.children);
|
|
35
|
+
this._getChildren = (node) => ofObservable(node.children ?? []);
|
|
34
36
|
/**
|
|
35
37
|
* Transformer to convert nested node to flat node. Record the nodes in maps for later use.
|
|
36
38
|
*/
|
|
@@ -46,7 +48,6 @@ export class CmatTransferPickerSourceComponent {
|
|
|
46
48
|
this.nestedNodeMap.set(node, flatNode);
|
|
47
49
|
return flatNode;
|
|
48
50
|
};
|
|
49
|
-
this.checklistChange = new EventEmitter();
|
|
50
51
|
}
|
|
51
52
|
ngOnInit() {
|
|
52
53
|
this.treeFlattener = new MatTreeFlattener(this._transformer, this._getLevel, this._isExpandable, this._getChildren);
|
|
@@ -57,7 +58,25 @@ export class CmatTransferPickerSourceComponent {
|
|
|
57
58
|
.pipe(takeUntil(this._unsubscribeAll))
|
|
58
59
|
.subscribe((data) => {
|
|
59
60
|
this.dataSource.data = data;
|
|
60
|
-
this.
|
|
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
|
+
}
|
|
61
80
|
});
|
|
62
81
|
this._service
|
|
63
82
|
.selectedValuesChange
|
|
@@ -70,12 +89,13 @@ export class CmatTransferPickerSourceComponent {
|
|
|
70
89
|
}
|
|
71
90
|
});
|
|
72
91
|
});
|
|
92
|
+
this._changeDetectorRef.markForCheck();
|
|
73
93
|
});
|
|
74
94
|
this._service
|
|
75
95
|
.sourceOptionsChange
|
|
76
96
|
.pipe(takeUntil(this._unsubscribeAll))
|
|
77
97
|
.subscribe((options) => { if (options)
|
|
78
|
-
this.options = options; });
|
|
98
|
+
this.options = options; this._changeDetectorRef.markForCheck(); });
|
|
79
99
|
}
|
|
80
100
|
ngAfterViewInit() {
|
|
81
101
|
this.treeControl.expandAll();
|
|
@@ -94,13 +114,18 @@ export class CmatTransferPickerSourceComponent {
|
|
|
94
114
|
this.checklistSelection.select(item);
|
|
95
115
|
});
|
|
96
116
|
}
|
|
117
|
+
this._changeDetectorRef.markForCheck();
|
|
97
118
|
return this.selectedList;
|
|
98
119
|
}
|
|
99
120
|
resetSelectedItem(item) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
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
|
+
}
|
|
104
129
|
}
|
|
105
130
|
/** Whether all the descendants of the node are selected */
|
|
106
131
|
descendantsAllSelected(node) {
|
|
@@ -165,14 +190,12 @@ export class CmatTransferPickerSourceComponent {
|
|
|
165
190
|
}
|
|
166
191
|
return null;
|
|
167
192
|
}
|
|
168
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
169
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
193
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", 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: "17.2.4", type: CmatTransferPickerSourceComponent, isStandalone: true, selector: "cmat-transfer-picker-source", exportAs: ["cmatTransferPickerSource"], ngImport: i0, template: "<mat-card class=\"transfer-picker-source shadow\">\n <mat-card-header class=\"pb-3 items-center\">\n <mat-card-title class=\"transfer-picker-source-title\">{{options.title}}</mat-card-title>\n @if (options.filterable) {\n <cmat-transfer-picker-filter\n [filters]=\"options.filters\"></cmat-transfer-picker-filter>\n }\n </mat-card-header>\n <mat-card-content class=\"transfer-picker-source-content\">\n @if (options.searchable) {\n <cmat-transfer-picker-search\n [searchPlaceholder]=\"options.searchPlaceholder\"></cmat-transfer-picker-search>\n }\n\n <cdk-virtual-scroll-viewport itemSize=\"48\"\n class=\"transfer-picker-source-scroll-wrapper overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\">\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node *matTreeNodeDef=\"let node\" [matTreeNodePadding]=\"node.level\">\n <button type=\"button\" mat-icon-button disabled> </button>\n <mat-checkbox class=\"checklist-leaf-node\" [checked]=\"checklistSelection.isSelected(node)\"\n [disabled]=\"node?.disabled\" (change)=\"transferLeafItemSelectionToggle(node);\">\n {{node.label}}\n </mat-checkbox>\n </mat-tree-node>\n\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" [matTreeNodePadding]=\"node.level\">\n <button type=\"button\" mat-icon-button matTreeNodeToggle>\n <mat-icon class=\"mat-icon-rtl-mirror\"\n svgIcon=\"{{treeControl.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'}}\">\n </mat-icon>\n </button>\n <mat-checkbox [checked]=\"descendantsAllSelected(node)||node?.disabled\"\n [indeterminate]=\"descendantsPartiallySelected(node)\" [disabled]=\"node?.disabled\"\n (change)=\"transferItemSelectionToggle(node)\">\n {{node.label}}\n </mat-checkbox>\n </mat-tree-node>\n </mat-tree>\n @if (!dataSource?.data?.length) {\n <div class=\"transfer-picker-source-empty\">\u6682\u65E0\u6570\u636E</div>\n }\n </cdk-virtual-scroll-viewport>\n </mat-card-content>\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: ["disabled", "tabIndex"], 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", "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 }); }
|
|
170
195
|
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: CmatTransferPickerSourceComponent, decorators: [{
|
|
172
197
|
type: Component,
|
|
173
|
-
args: [{ selector: 'cmat-transfer-picker-source', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'cmatTransferPickerSource', standalone: true, imports: [MatCardModule, MatTreeModule, MatCheckboxModule, MatIconModule,
|
|
174
|
-
CmatTransferPickerFilterComponent, CmatTransferPickerSearchComponent, ScrollingModule], template: "<mat-card class=\"transfer-picker-source shadow\">\
|
|
175
|
-
}], ctorParameters: () => [{ type: i1.CmatTransferPickerService }
|
|
176
|
-
type: Output
|
|
177
|
-
}] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci1zb3VyY2UvdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci1zb3VyY2UvdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRyxPQUFPLEVBQWMsRUFBRSxJQUFJLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHL0QsT0FBTyxFQUFxQix3QkFBd0IsRUFBd0IsTUFBTSxjQUFjLENBQUM7QUFDakcsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0UsT0FBTyxFQUFFLElB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RyxDQUFDLENBQUM7UUFFaEUsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsWUFBWSxFQUFFO2dCQUM1QyxPQUFPLFdBQVcsQ0FBQzthQUN0QjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs4R0F4TVEsaUNBQWlDO2tHQUFqQyxpQ0FBaUMsZ0xDNUI5Qyx1OEVBdUNXLG9kRGRHLGFBQWEsa1pBQUUsYUFBYSxvb0JBQUUsaUJBQWlCLDZXQUFFLGFBQWEsb0xBQUUsSUFBSSw2RkFDMUUsaUNBQWlDLHFJQUFFLGlDQUFpQyw4SUFBRSxlQUFlOzsyRkFFaEYsaUNBQWlDO2tCQVg3QyxTQUFTOytCQUNJLDZCQUE2QixpQkFHeEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQywwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsSUFBSTt3QkFDMUUsaUNBQWlDLEVBQUUsaUNBQWlDLEVBQUUsZUFBZSxDQUFDOzhGQUkxRixlQUFlO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBNYXRUcmVlRmxhdERhdGFTb3VyY2UsIE1hdFRyZWVGbGF0dGVuZXIsIE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIGFzIG9mT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDbWF0VHJhbnNmZXJQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNmZXItcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ21hdFNvdXJjZU9wdGlvbnMsIENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSwgQ21hdFRyYW5zZmVySXRlbU5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBDbWF0VHJhbnNmZXJQaWNrZXJGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDbWF0VHJhbnNmZXJQaWNrZXJTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY21hdC10cmFuc2Zlci1waWNrZXItc291cmNlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZXhwb3J0QXM6ICdjbWF0VHJhbnNmZXJQaWNrZXJTb3VyY2UnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW01hdENhcmRNb2R1bGUsIE1hdFRyZWVNb2R1bGUsIE1hdENoZWNrYm94TW9kdWxlLCBNYXRJY29uTW9kdWxlLCBOZ0lmLFxuICAgICAgICBDbWF0VHJhbnNmZXJQaWNrZXJGaWx0ZXJDb21wb25lbnQsIENtYXRUcmFuc2ZlclBpY2tlclNlYXJjaENvbXBvbmVudCwgU2Nyb2xsaW5nTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBDbWF0VHJhbnNmZXJQaWNrZXJTb3VyY2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQE91dHB1dCgpXG4gICAgY2hlY2tsaXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PjtcblxuICAgIC8qKiBNYXAgZnJvbSBuZXN0ZWQgbm9kZSB0byBmbGF0dGVuZWQgbm9kZS4gVGhpcyBoZWxwcyB1cyB0byBrZWVwIHRoZSBzYW1lIG9iamVjdCBmb3Igc2VsZWN0aW9uICovXG4gICAgbmVzdGVkTm9kZU1hcCA9IG5ldyBNYXA8Q21hdFRyYW5zZmVySXRlbU5vZGUsIENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZT4oKTtcblxuICAgIHRyZWVDb250cm9sOiBGbGF0VHJlZUNvbnRyb2w8Q21hdFRyYW5zZmVySXRlbUZsYXROb2RlPjtcblxuICAgIHRyZWVGbGF0dGVuZXI6IE1hdFRyZWVGbGF0dGVuZXI8Q21hdFRyYW5zZmVySXRlbU5vZGUsIENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZT47XG5cbiAgICBkYXRhU291cmNlOiBNYXRUcmVlRmxhdERhdGFTb3VyY2U8Q21hdFRyYW5zZmVySXRlbU5vZGUsIENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZT47XG5cbiAgICAvKiogVGhlIHNlbGVjdGlvbiBmb3IgY2hlY2tsaXN0ICovXG4gICAgY2hlY2tsaXN0U2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZT4odHJ1ZSAvKiBtdWx0aXBsZSAqLyk7XG5cbiAgICBvcHRpb25zOiBDbWF0U291cmNlT3B0aW9ucztcblxuICAgIHNlbGVjdGVkTGlzdDogQXJyYXk8Q21hdFRyYW5zZmVySXRlbUZsYXROb2RlPjtcblxuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfc2VydmljZTogQ21hdFRyYW5zZmVyUGlja2VyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jaGVja2xpc3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmVlRmxhdHRlbmVyID0gbmV3IE1hdFRyZWVGbGF0dGVuZXIoXG4gICAgICAgICAgICB0aGlzLl90cmFuc2Zvcm1lcixcbiAgICAgICAgICAgIHRoaXMuX2dldExldmVsLFxuICAgICAgICAgICAgdGhpcy5faXNFeHBhbmRhYmxlLFxuICAgICAgICAgICAgdGhpcy5fZ2V0Q2hpbGRyZW5cbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy50cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8Q21hdFRyYW5zZmVySXRlbUZsYXROb2RlPih0aGlzLl9nZXRMZXZlbCwgdGhpcy5faXNFeHBhbmRhYmxlKTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRyZWVGbGF0RGF0YVNvdXJjZSh0aGlzLnRyZWVDb250cm9sLCB0aGlzLnRyZWVGbGF0dGVuZXIpO1xuXG4gICAgICAgIHRoaXMuX3NlcnZpY2VcbiAgICAgICAgICAgIC5kYXRhU291cmNlQ2hhbmdlXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9zZXJ2aWNlXG4gICAgICAgICAgICAuc2VsZWN0ZWRWYWx1ZXNDaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigodmFsdWVzOiBzdHJpbmcgfCBhbnlbXSkgPT4gISF2YWx1ZXMubGVuZ3RoKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHZhbHVlcy5tYXAoKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMubWFwKChub2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS52YWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5zZWxlY3Qobm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fc2VydmljZVxuICAgICAgICAgICAgLnNvdXJjZU9wdGlvbnNDaGFuZ2VcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChvcHRpb25zOiBDbWF0U291cmNlT3B0aW9ucyB8IHZvaWQpID0+IHsgaWYgKG9wdGlvbnMpIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZEFsbCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KHZvaWQgKDApKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXRTZWxlY3RlZExpc3QoKTogQXJyYXk8Q21hdFRyYW5zZmVySXRlbUZsYXROb2RlPiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0ZWQ7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIC8qIOemgeeUqCAqL1xuICAgICAgICAgICAgICAgIGl0ZW0uZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgLyog6YCJ5LitICovXG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExpc3Q7XG5cbiAgICB9XG5cbiAgICByZXNldFNlbGVjdGVkSXRlbShpdGVtOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiB2b2lkIHtcbiAgICAgICAgLyog5Y+W5raI56aB55SoICovXG4gICAgICAgIGl0ZW0uZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgICAgICAvKiDlj5bmtojpgInkuK0gKi9cbiAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uZGVzZWxlY3QoaXRlbSk7XG4gICAgfVxuICAgIGhhc0NoaWxkID0gKF86IG51bWJlciwgX25vZGVEYXRhOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiBib29sZWFuID0+IF9ub2RlRGF0YS5leHBhbmRhYmxlO1xuXG4gICAgLyoqIFdoZXRoZXIgYWxsIHRoZSBkZXNjZW5kYW50cyBvZiB0aGUgbm9kZSBhcmUgc2VsZWN0ZWQgKi9cbiAgICBkZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGU6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50cyA9IHRoaXMudHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XG4gICAgICAgIHJldHVybiBkZXNjZW5kYW50cy5ldmVyeShjaGlsZCA9PiB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKGNoaWxkKSk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgcGFydCBvZiB0aGUgZGVzY2VuZGFudHMgYXJlIHNlbGVjdGVkICovXG4gICAgZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZGVzY2VuZGFudHMgPSB0aGlzLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBkZXNjZW5kYW50cy5zb21lKGNoaWxkID0+IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiAhdGhpcy5kZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBUb2dnbGUgdGhlIHRyYW5zZmVyIGl0ZW0gc2VsZWN0aW9uLiBTZWxlY3QvZGVzZWxlY3QgYWxsIHRoZSBkZXNjZW5kYW50cyBub2RlICovXG4gICAgdHJhbnNmZXJJdGVtU2VsZWN0aW9uVG9nZ2xlKG5vZGU6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi50b2dnbGUobm9kZSk7XG4gICAgICAgIGxldCBkZXNjZW5kYW50cyA9IHRoaXMudHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XG4gICAgICAgIGRlc2NlbmRhbnRzID0gZGVzY2VuZGFudHMuZmlsdGVyKG4gPT4gIW4uZGlzYWJsZWQpO1xuICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKG5vZGUpXG4gICAgICAgICAgICA/IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdCguLi5kZXNjZW5kYW50cylcbiAgICAgICAgICAgIDogdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uZGVzZWxlY3QoLi4uZGVzY2VuZGFudHMpO1xuXG4gICAgICAgIC8vIEZvcmNlIHVwZGF0ZSBmb3IgdGhlIHBhcmVudFxuICAgICAgICBkZXNjZW5kYW50cy5ldmVyeShjaGlsZCA9PlxuICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uaXNTZWxlY3RlZChjaGlsZClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fY2hlY2tBbGxQYXJlbnRzU2VsZWN0aW9uKG5vZGUpO1xuICAgIH1cblxuICAgIC8qKiBUb2dnbGUgYSBsZWFmIHRyYW5zZmVyIGl0ZW0gc2VsZWN0aW9uLiBDaGVjayBhbGwgdGhlIHBhcmVudHMgdG8gc2VlIGlmIHRoZXkgY2hhbmdlZCAqL1xuICAgIHRyYW5zZmVyTGVhZkl0ZW1TZWxlY3Rpb25Ub2dnbGUobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnRvZ2dsZShub2RlKTtcbiAgICAgICAgdGhpcy5fY2hlY2tBbGxQYXJlbnRzU2VsZWN0aW9uKG5vZGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldExldmVsID0gKG5vZGU6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IG51bWJlciA9PiBub2RlLmxldmVsO1xuXG4gICAgcHJpdmF0ZSBfaXNFeHBhbmRhYmxlID0gKG5vZGU6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IGJvb2xlYW4gPT4gbm9kZS5leHBhbmRhYmxlO1xuXG4gICAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW4gPSAobm9kZTogQ21hdFRyYW5zZmVySXRlbU5vZGUpOiBPYnNlcnZhYmxlPEFycmF5PENtYXRUcmFuc2Zlckl0ZW1Ob2RlPj4gPT4gb2ZPYnNlcnZhYmxlKG5vZGUuY2hpbGRyZW4pO1xuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtZXIgdG8gY29udmVydCBuZXN0ZWQgbm9kZSB0byBmbGF0IG5vZGUuIFJlY29yZCB0aGUgbm9kZXMgaW4gbWFwcyBmb3IgbGF0ZXIgdXNlLlxuICAgICAqL1xuICAgIHByaXZhdGUgX3RyYW5zZm9ybWVyID0gKG5vZGU6IENtYXRUcmFuc2Zlckl0ZW1Ob2RlLCBsZXZlbDogbnVtYmVyKTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlID0+IHtcbiAgICAgICAgY29uc3QgZmxhdE5vZGUgPSB0aGlzLm5lc3RlZE5vZGVNYXAuaGFzKG5vZGUpICYmIHRoaXMubmVzdGVkTm9kZU1hcC5nZXQobm9kZSk/LnZhbHVlID09PSBub2RlLnZhbHVlXG4gICAgICAgICAgICA/IHRoaXMubmVzdGVkTm9kZU1hcC5nZXQobm9kZSkgYXMgQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlXG4gICAgICAgICAgICA6IG5ldyBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUoKTtcbiAgICAgICAgZmxhdE5vZGUubGFiZWwgPSBub2RlLmxhYmVsO1xuICAgICAgICBmbGF0Tm9kZS52YWx1ZSA9IG5vZGUudmFsdWU7XG4gICAgICAgIGZsYXROb2RlLmRpc2FibGVkID0gbm9kZS5kaXNhYmxlZDtcbiAgICAgICAgZmxhdE5vZGUubGV2ZWwgPSBsZXZlbDtcbiAgICAgICAgZmxhdE5vZGUuZXhwYW5kYWJsZSA9ICEhbm9kZS5jaGlsZHJlbjtcbiAgICAgICAgdGhpcy5uZXN0ZWROb2RlTWFwLnNldChub2RlLCBmbGF0Tm9kZSk7XG4gICAgICAgIHJldHVybiBmbGF0Tm9kZTtcbiAgICB9O1xuXG4gICAgLyogQ2hlY2tzIGFsbCB0aGUgcGFyZW50cyB3aGVuIGEgbGVhZiBub2RlIGlzIHNlbGVjdGVkL3Vuc2VsZWN0ZWQgKi9cbiAgICBwcml2YXRlIF9jaGVja0FsbFBhcmVudHNTZWxlY3Rpb24obm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XG4gICAgICAgIGxldCBwYXJlbnQ6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSB8IG51bGwgPSB0aGlzLl9nZXRQYXJlbnROb2RlKG5vZGUpO1xuICAgICAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9jaGVja1Jvb3ROb2RlU2VsZWN0aW9uKHBhcmVudCk7XG4gICAgICAgICAgICBwYXJlbnQgPSB0aGlzLl9nZXRQYXJlbnROb2RlKHBhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hlY2sgcm9vdCBub2RlIGNoZWNrZWQgc3RhdGUgYW5kIGNoYW5nZSBpdCBhY2NvcmRpbmdseSAqL1xuICAgIHByaXZhdGUgX2NoZWNrUm9vdE5vZGVTZWxlY3Rpb24obm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5vZGVTZWxlY3RlZCA9IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSk7XG4gICAgICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICAgICAgY29uc3QgZGVzY0FsbFNlbGVjdGVkID0gZGVzY2VuZGFudHMuZXZlcnkoY2hpbGQgPT5cbiAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpXG4gICAgICAgICk7XG4gICAgICAgIGlmIChub2RlU2VsZWN0ZWQgJiYgIWRlc2NBbGxTZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uZGVzZWxlY3Qobm9kZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoIW5vZGVTZWxlY3RlZCAmJiBkZXNjQWxsU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdChub2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEdldCB0aGUgcGFyZW50IG5vZGUgb2YgYSBub2RlICovXG4gICAgcHJpdmF0ZSBfZ2V0UGFyZW50Tm9kZShub2RlOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUgfCBudWxsIHtcbiAgICAgICAgY29uc3QgY3VycmVudExldmVsID0gdGhpcy5fZ2V0TGV2ZWwobm9kZSk7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRMZXZlbCA8IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLmluZGV4T2Yobm9kZSkgLSAxO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpID49IDA7IGktLSkge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudE5vZGUgPSB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlc1tpXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuX2dldExldmVsKGN1cnJlbnROb2RlKSA8IGN1cnJlbnRMZXZlbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjdXJyZW50Tm9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbn1cbiIsIjxtYXQtY2FyZCBjbGFzcz1cInRyYW5zZmVyLXBpY2tlci1zb3VyY2Ugc2hhZG93XCI+XHJcbiAgICA8bWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cInRyYW5zZmVyLXBpY2tlci1zb3VyY2UtdGl0bGVcIj57e29wdGlvbnMudGl0bGV9fTwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICAgICAgPGNtYXQtdHJhbnNmZXItcGlja2VyLWZpbHRlciAqbmdJZj1cIm9wdGlvbnMuZmlsdGVyYWJsZVwiXHJcbiAgICAgICAgICAgIFtmaWx0ZXJzXT1cIm9wdGlvbnMuZmlsdGVyc1wiPjwvY21hdC10cmFuc2Zlci1waWNrZXItZmlsdGVyPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cInRyYW5zZmVyLXBpY2tlci1zb3VyY2UtY29udGVudFwiPlxyXG4gICAgICAgIDxjbWF0LXRyYW5zZmVyLXBpY2tlci1zZWFyY2ggKm5nSWY9XCJvcHRpb25zLnNlYXJjaGFibGVcIlxyXG4gICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwib3B0aW9ucy5zZWFyY2hQbGFjZWhvbGRlclwiPjwvY21hdC10cmFuc2Zlci1waWNrZXItc2VhcmNoPlxyXG5cclxuICAgICAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IGl0ZW1TaXplPVwiNDhcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInRyYW5zZmVyLXBpY2tlci1zb3VyY2Utc2Nyb2xsLXdyYXBwZXIgb3ZlcmZsb3cteS1hdXRvIGxnOm92ZXJmbG93LXktaGlkZGVuIGxnOmhvdmVyOm92ZXJmbG93LXktYXV0byBzY3JvbGxiYXItY3VzdG9tXCI+XHJcbiAgICAgICAgICAgIDxtYXQtdHJlZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgW3RyZWVDb250cm9sXT1cInRyZWVDb250cm9sXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXRyZWUtbm9kZSAqbWF0VHJlZU5vZGVEZWY9XCJsZXQgbm9kZVwiIG1hdFRyZWVOb2RlVG9nZ2xlIG1hdFRyZWVOb2RlUGFkZGluZz5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJjaGVja2xpc3QtbGVhZi1ub2RlXCIgW2NoZWNrZWRdPVwiY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibm9kZT8uZGlzYWJsZWRcIiAoY2hhbmdlKT1cInRyYW5zZmVyTGVhZkl0ZW1TZWxlY3Rpb25Ub2dnbGUobm9kZSk7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7bm9kZS5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L21hdC10cmVlLW5vZGU+XHJcblxyXG4gICAgICAgICAgICAgICAgPG1hdC10cmVlLW5vZGUgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7IHdoZW46IGhhc0NoaWxkXCIgbWF0VHJlZU5vZGVQYWRkaW5nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUcmVlTm9kZVRvZ2dsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmdJY29uPVwie3t0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpID8gJ21hdF9vdXRsaW5lOmV4cGFuZF9tb3JlJyA6ICdtYXRfb3V0bGluZTpjaGV2cm9uX3JpZ2h0J319XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJkZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlKVwiIFtkaXNhYmxlZF09XCJub2RlPy5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwidHJhbnNmZXJJdGVtU2VsZWN0aW9uVG9nZ2xlKG5vZGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7bm9kZS5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICA8L21hdC10cmVlLW5vZGU+XHJcbiAgICAgICAgICAgIDwvbWF0LXRyZWU+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZGF0YVNvdXJjZT8uZGF0YT8ubGVuZ3RoXCIgY2xhc3M9XCJ0cmFuc2Zlci1waWNrZXItc291cmNlLWVtcHR5XCI+5pqC5peg5pWw5o2uPC9kaXY+XHJcbiAgICAgICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbjwvbWF0LWNhcmQ+Il19
|
|
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\">\n <mat-card-header class=\"pb-3 items-center\">\n <mat-card-title class=\"transfer-picker-source-title\">{{options.title}}</mat-card-title>\n @if (options.filterable) {\n <cmat-transfer-picker-filter\n [filters]=\"options.filters\"></cmat-transfer-picker-filter>\n }\n </mat-card-header>\n <mat-card-content class=\"transfer-picker-source-content\">\n @if (options.searchable) {\n <cmat-transfer-picker-search\n [searchPlaceholder]=\"options.searchPlaceholder\"></cmat-transfer-picker-search>\n }\n\n <cdk-virtual-scroll-viewport itemSize=\"48\"\n class=\"transfer-picker-source-scroll-wrapper overflow-y-auto lg:overflow-y-hidden lg:hover:overflow-y-auto scrollbar-custom\">\n <mat-tree [dataSource]=\"dataSource\" [treeControl]=\"treeControl\">\n <mat-tree-node *matTreeNodeDef=\"let node\" [matTreeNodePadding]=\"node.level\">\n <button type=\"button\" mat-icon-button disabled> </button>\n <mat-checkbox class=\"checklist-leaf-node\" [checked]=\"checklistSelection.isSelected(node)\"\n [disabled]=\"node?.disabled\" (change)=\"transferLeafItemSelectionToggle(node);\">\n {{node.label}}\n </mat-checkbox>\n </mat-tree-node>\n\n <mat-tree-node *matTreeNodeDef=\"let node; when: hasChild\" [matTreeNodePadding]=\"node.level\">\n <button type=\"button\" mat-icon-button matTreeNodeToggle>\n <mat-icon class=\"mat-icon-rtl-mirror\"\n svgIcon=\"{{treeControl.isExpanded(node) ? 'mat_outline:expand_more' : 'mat_outline:chevron_right'}}\">\n </mat-icon>\n </button>\n <mat-checkbox [checked]=\"descendantsAllSelected(node)||node?.disabled\"\n [indeterminate]=\"descendantsPartiallySelected(node)\" [disabled]=\"node?.disabled\"\n (change)=\"transferItemSelectionToggle(node)\">\n {{node.label}}\n </mat-checkbox>\n </mat-tree-node>\n </mat-tree>\n @if (!dataSource?.data?.length) {\n <div class=\"transfer-picker-source-empty\">\u6682\u65E0\u6570\u636E</div>\n }\n </cdk-virtual-scroll-viewport>\n </mat-card-content>\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci1zb3VyY2UvdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbWF0L2NvbXBvbmVudHMvdHJhbnNmZXItcGlja2VyL3RyYW5zZmVyLXBpY2tlci1zb3VyY2UvdHJhbnNmZXItcGlja2VyLXNvdXJjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFxQixTQUFTLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hHLE9BQU8sRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcvRCxPQUFPLEVBQXFCLHdCQUF3QixFQUF3QixNQUFNLGNBQWMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFB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SUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVoRSxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxZQUFZLEVBQUU7Z0JBQzVDLE9BQU8sV0FBVyxDQUFDO2FBQ3RCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzhHQWhPUSxpQ0FBaUM7a0dBQWpDLGlDQUFpQywrSEM3QjlDLDhyRUEyQ1csK2ZEakJHLGFBQWEsa1pBQUUsYUFBYSxvb0JBQUUsaUJBQWlCLDZXQUFFLGFBQWEsbUxBQUUsZUFBZSw0SUFDckYsaUNBQWlDLHFJQUFFLGlDQUFpQyw4SUFBRSxlQUFlOzsyRkFFaEYsaUNBQWlDO2tCQVg3QyxTQUFTOytCQUNJLDZCQUE2QixpQkFHeEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxZQUNyQywwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsZUFBZTt3QkFDckYsaUNBQWlDLEVBQUUsaUNBQWlDLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgRmxhdFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgTWF0VHJlZUZsYXREYXRhU291cmNlLCBNYXRUcmVlRmxhdHRlbmVyLCBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiBhcyBvZk9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ21hdFRyYW5zZmVyUGlja2VyU2VydmljZSB9IGZyb20gJy4uL3RyYW5zZmVyLXBpY2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IENtYXRTb3VyY2VPcHRpb25zLCBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUsIENtYXRUcmFuc2Zlckl0ZW1Ob2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgQ21hdFRyYW5zZmVyUGlja2VyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ21hdFRyYW5zZmVyUGlja2VyU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdjbWF0LXRyYW5zZmVyLXBpY2tlci1zb3VyY2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90cmFuc2Zlci1waWNrZXItc291cmNlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90cmFuc2Zlci1waWNrZXItc291cmNlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBleHBvcnRBczogJ2NtYXRUcmFuc2ZlclBpY2tlclNvdXJjZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTWF0Q2FyZE1vZHVsZSwgTWF0VHJlZU1vZHVsZSwgTWF0Q2hlY2tib3hNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZSwgXG4gICAgICAgIENtYXRUcmFuc2ZlclBpY2tlckZpbHRlckNvbXBvbmVudCwgQ21hdFRyYW5zZmVyUGlja2VyU2VhcmNoQ29tcG9uZW50LCBTY3JvbGxpbmdNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIENtYXRUcmFuc2ZlclBpY2tlclNvdXJjZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogTWFwIGZyb20gbmVzdGVkIG5vZGUgdG8gZmxhdHRlbmVkIG5vZGUuIFRoaXMgaGVscHMgdXMgdG8ga2VlcCB0aGUgc2FtZSBvYmplY3QgZm9yIHNlbGVjdGlvbiAqL1xuICAgIG5lc3RlZE5vZGVNYXAgPSBuZXcgTWFwPENtYXRUcmFuc2Zlckl0ZW1Ob2RlLCBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+KCk7XG5cbiAgICB0cmVlQ29udHJvbDogRmxhdFRyZWVDb250cm9sPENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZT47XG5cbiAgICB0cmVlRmxhdHRlbmVyOiBNYXRUcmVlRmxhdHRlbmVyPENtYXRUcmFuc2Zlckl0ZW1Ob2RlLCBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+O1xuXG4gICAgZGF0YVNvdXJjZTogTWF0VHJlZUZsYXREYXRhU291cmNlPENtYXRUcmFuc2Zlckl0ZW1Ob2RlLCBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+O1xuXG4gICAgLyoqIFRoZSBzZWxlY3Rpb24gZm9yIGNoZWNrbGlzdCAqL1xuICAgIGNoZWNrbGlzdFNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGU+KHRydWUgLyogbXVsdGlwbGUgKi8pO1xuXG4gICAgb3B0aW9uczogQ21hdFNvdXJjZU9wdGlvbnM7XG5cbiAgICBzZWxlY3RlZExpc3Q6IEFycmF5PENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZT47XG5cbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3NlcnZpY2U6IENtYXRUcmFuc2ZlclBpY2tlclNlcnZpY2UsIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJlZUZsYXR0ZW5lciA9IG5ldyBNYXRUcmVlRmxhdHRlbmVyKFxuICAgICAgICAgICAgdGhpcy5fdHJhbnNmb3JtZXIsXG4gICAgICAgICAgICB0aGlzLl9nZXRMZXZlbCxcbiAgICAgICAgICAgIHRoaXMuX2lzRXhwYW5kYWJsZSxcbiAgICAgICAgICAgIHRoaXMuX2dldENoaWxkcmVuXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wgPSBuZXcgRmxhdFRyZWVDb250cm9sPENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZT4odGhpcy5fZ2V0TGV2ZWwsIHRoaXMuX2lzRXhwYW5kYWJsZSk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUcmVlRmxhdERhdGFTb3VyY2UodGhpcy50cmVlQ29udHJvbCwgdGhpcy50cmVlRmxhdHRlbmVyKTtcblxuICAgICAgICB0aGlzLl9zZXJ2aWNlXG4gICAgICAgICAgICAuZGF0YVNvdXJjZUNoYW5nZVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3NlcnZpY2UucmVmcmVzaERhdGFTb3VyY2VDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoc3RhdGU6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdGVkLm1hcCgoc2VsZWN0ZWROb2RlOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzLm1hcCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlLnZhbHVlID09PSBzZWxlY3RlZE5vZGUudmFsdWUpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uZGVzZWxlY3Qoc2VsZWN0ZWROb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KG5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGVkTGlzdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3NlcnZpY2VcbiAgICAgICAgICAgIC5zZWxlY3RlZFZhbHVlc0NoYW5nZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh2YWx1ZXM6IHN0cmluZyB8IGFueVtdKSA9PiAhIXZhbHVlcy5sZW5ndGgpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWVzLm1hcCgodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyZWVDb250cm9sLmRhdGFOb2Rlcy5tYXAoKG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChub2RlLnZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnNlbGVjdChub2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3NlcnZpY2VcbiAgICAgICAgICAgIC5zb3VyY2VPcHRpb25zQ2hhbmdlXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3B0aW9uczogQ21hdFNvdXJjZU9wdGlvbnMgfCB2b2lkKSA9PiB7IGlmIChvcHRpb25zKSB0aGlzLm9wdGlvbnMgPSBvcHRpb25zOyB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTsgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyZWVDb250cm9sLmV4cGFuZEFsbCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KHZvaWQgKDApKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXRTZWxlY3RlZExpc3QoKTogQXJyYXk8Q21hdFRyYW5zZmVySXRlbUZsYXROb2RlPiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0ID0gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0ZWQ7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIC8qIOemgeeUqCAqL1xuICAgICAgICAgICAgICAgIGl0ZW0uZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgLyog6YCJ5LitICovXG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExpc3Q7XG4gICAgfVxuXG4gICAgcmVzZXRTZWxlY3RlZEl0ZW0oaXRlbTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHMgPSB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5zZWxlY3RlZC5maW5kKGkgPT4gaS52YWx1ZSA9PT0gaXRlbS52YWx1ZSk7XG4gICAgICAgIGlmIChzKSB7XG4gICAgICAgICAgICAvKiDlj5bmtojnpoHnlKggKi9cbiAgICAgICAgICAgIHMuZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgLyog5Y+W5raI6YCJ5LitICovXG4gICAgICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5kZXNlbGVjdChzKTtcblxuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaGFzQ2hpbGQgPSAoXzogbnVtYmVyLCBfbm9kZURhdGE6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IGJvb2xlYW4gPT4gX25vZGVEYXRhLmV4cGFuZGFibGU7XG5cbiAgICAvKiogV2hldGhlciBhbGwgdGhlIGRlc2NlbmRhbnRzIG9mIHRoZSBub2RlIGFyZSBzZWxlY3RlZCAqL1xuICAgIGRlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICAgICAgcmV0dXJuIGRlc2NlbmRhbnRzLmV2ZXJ5KGNoaWxkID0+IHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoY2hpbGQpKTtcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciBwYXJ0IG9mIHRoZSBkZXNjZW5kYW50cyBhcmUgc2VsZWN0ZWQgKi9cbiAgICBkZXNjZW5kYW50c1BhcnRpYWxseVNlbGVjdGVkKG5vZGU6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBkZXNjZW5kYW50cyA9IHRoaXMudHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGRlc2NlbmRhbnRzLnNvbWUoY2hpbGQgPT4gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uaXNTZWxlY3RlZChjaGlsZCkpO1xuICAgICAgICByZXR1cm4gcmVzdWx0ICYmICF0aGlzLmRlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZSB0aGUgdHJhbnNmZXIgaXRlbSBzZWxlY3Rpb24uIFNlbGVjdC9kZXNlbGVjdCBhbGwgdGhlIGRlc2NlbmRhbnRzIG5vZGUgKi9cbiAgICB0cmFuc2Zlckl0ZW1TZWxlY3Rpb25Ub2dnbGUobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLnRvZ2dsZShub2RlKTtcbiAgICAgICAgbGV0IGRlc2NlbmRhbnRzID0gdGhpcy50cmVlQ29udHJvbC5nZXREZXNjZW5kYW50cyhub2RlKTtcbiAgICAgICAgZGVzY2VuZGFudHMgPSBkZXNjZW5kYW50cy5maWx0ZXIobiA9PiAhbi5kaXNhYmxlZCk7XG4gICAgICAgIHRoaXMuY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSlcbiAgICAgICAgICAgID8gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KC4uLmRlc2NlbmRhbnRzKVxuICAgICAgICAgICAgOiB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5kZXNlbGVjdCguLi5kZXNjZW5kYW50cyk7XG5cbiAgICAgICAgLy8gRm9yY2UgdXBkYXRlIGZvciB0aGUgcGFyZW50XG4gICAgICAgIGRlc2NlbmRhbnRzLmV2ZXJ5KGNoaWxkID0+XG4gICAgICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5pc1NlbGVjdGVkKGNoaWxkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9jaGVja0FsbFBhcmVudHNTZWxlY3Rpb24obm9kZSk7XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZSBhIGxlYWYgdHJhbnNmZXIgaXRlbSBzZWxlY3Rpb24uIENoZWNrIGFsbCB0aGUgcGFyZW50cyB0byBzZWUgaWYgdGhleSBjaGFuZ2VkICovXG4gICAgdHJhbnNmZXJMZWFmSXRlbVNlbGVjdGlvblRvZ2dsZShub2RlOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24udG9nZ2xlKG5vZGUpO1xuICAgICAgICB0aGlzLl9jaGVja0FsbFBhcmVudHNTZWxlY3Rpb24obm9kZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0TGV2ZWwgPSAobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogbnVtYmVyID0+IG5vZGUubGV2ZWw7XG5cbiAgICBwcml2YXRlIF9pc0V4cGFuZGFibGUgPSAobm9kZTogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlKTogYm9vbGVhbiA9PiBub2RlLmV4cGFuZGFibGU7XG5cbiAgICBwcml2YXRlIF9nZXRDaGlsZHJlbiA9IChub2RlOiBDbWF0VHJhbnNmZXJJdGVtTm9kZSk6IE9ic2VydmFibGU8QXJyYXk8Q21hdFRyYW5zZmVySXRlbU5vZGU+PiA9PiBvZk9ic2VydmFibGUobm9kZS5jaGlsZHJlbiA/PyBbXSk7XG5cbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm1lciB0byBjb252ZXJ0IG5lc3RlZCBub2RlIHRvIGZsYXQgbm9kZS4gUmVjb3JkIHRoZSBub2RlcyBpbiBtYXBzIGZvciBsYXRlciB1c2UuXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdHJhbnNmb3JtZXIgPSAobm9kZTogQ21hdFRyYW5zZmVySXRlbU5vZGUsIGxldmVsOiBudW1iZXIpOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUgPT4ge1xuICAgICAgICBjb25zdCBmbGF0Tm9kZSA9IHRoaXMubmVzdGVkTm9kZU1hcC5oYXMobm9kZSkgJiYgdGhpcy5uZXN0ZWROb2RlTWFwLmdldChub2RlKT8udmFsdWUgPT09IG5vZGUudmFsdWVcbiAgICAgICAgICAgID8gdGhpcy5uZXN0ZWROb2RlTWFwLmdldChub2RlKSBhcyBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGVcbiAgICAgICAgICAgIDogbmV3IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSgpO1xuICAgICAgICBmbGF0Tm9kZS5sYWJlbCA9IG5vZGUubGFiZWw7XG4gICAgICAgIGZsYXROb2RlLnZhbHVlID0gbm9kZS52YWx1ZTtcbiAgICAgICAgZmxhdE5vZGUuZGlzYWJsZWQgPSBub2RlLmRpc2FibGVkO1xuICAgICAgICBmbGF0Tm9kZS5sZXZlbCA9IGxldmVsO1xuICAgICAgICBmbGF0Tm9kZS5leHBhbmRhYmxlID0gISFub2RlLmNoaWxkcmVuO1xuICAgICAgICB0aGlzLm5lc3RlZE5vZGVNYXAuc2V0KG5vZGUsIGZsYXROb2RlKTtcbiAgICAgICAgcmV0dXJuIGZsYXROb2RlO1xuICAgIH07XG5cbiAgICAvKiBDaGVja3MgYWxsIHRoZSBwYXJlbnRzIHdoZW4gYSBsZWFmIG5vZGUgaXMgc2VsZWN0ZWQvdW5zZWxlY3RlZCAqL1xuICAgIHByaXZhdGUgX2NoZWNrQWxsUGFyZW50c1NlbGVjdGlvbihub2RlOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiB2b2lkIHtcbiAgICAgICAgbGV0IHBhcmVudDogQ21hdFRyYW5zZmVySXRlbUZsYXROb2RlIHwgbnVsbCA9IHRoaXMuX2dldFBhcmVudE5vZGUobm9kZSk7XG4gICAgICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrUm9vdE5vZGVTZWxlY3Rpb24ocGFyZW50KTtcbiAgICAgICAgICAgIHBhcmVudCA9IHRoaXMuX2dldFBhcmVudE5vZGUocGFyZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGVjayByb290IG5vZGUgY2hlY2tlZCBzdGF0ZSBhbmQgY2hhbmdlIGl0IGFjY29yZGluZ2x5ICovXG4gICAgcHJpdmF0ZSBfY2hlY2tSb290Tm9kZVNlbGVjdGlvbihub2RlOiBDbWF0VHJhbnNmZXJJdGVtRmxhdE5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm9kZVNlbGVjdGVkID0gdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uaXNTZWxlY3RlZChub2RlKTtcbiAgICAgICAgY29uc3QgZGVzY2VuZGFudHMgPSB0aGlzLnRyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xuICAgICAgICBjb25zdCBkZXNjQWxsU2VsZWN0ZWQgPSBkZXNjZW5kYW50cy5ldmVyeShjaGlsZCA9PlxuICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uaXNTZWxlY3RlZChjaGlsZClcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKG5vZGVTZWxlY3RlZCAmJiAhZGVzY0FsbFNlbGVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrbGlzdFNlbGVjdGlvbi5kZXNlbGVjdChub2RlKTtcbiAgICAgICAgfSBlbHNlIGlmICghbm9kZVNlbGVjdGVkICYmIGRlc2NBbGxTZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5jaGVja2xpc3RTZWxlY3Rpb24uc2VsZWN0KG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogR2V0IHRoZSBwYXJlbnQgbm9kZSBvZiBhIG5vZGUgKi9cbiAgICBwcml2YXRlIF9nZXRQYXJlbnROb2RlKG5vZGU6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSk6IENtYXRUcmFuc2Zlckl0ZW1GbGF0Tm9kZSB8IG51bGwge1xuICAgICAgICBjb25zdCBjdXJyZW50TGV2ZWwgPSB0aGlzLl9nZXRMZXZlbChub2RlKTtcblxuICAgICAgICBpZiAoY3VycmVudExldmVsIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gdGhpcy50cmVlQ29udHJvbC5kYXRhTm9kZXMuaW5kZXhPZihub2RlKSAtIDE7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50Tm9kZSA9IHRoaXMudHJlZUNvbnRyb2wuZGF0YU5vZGVzW2ldO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5fZ2V0TGV2ZWwoY3VycmVudE5vZGUpIDwgY3VycmVudExldmVsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnROb2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxufVxuIiwiPG1hdC1jYXJkIGNsYXNzPVwidHJhbnNmZXItcGlja2VyLXNvdXJjZSBzaGFkb3dcIj5cbiAgPG1hdC1jYXJkLWhlYWRlciBjbGFzcz1cInBiLTMgaXRlbXMtY2VudGVyXCI+XG4gICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwidHJhbnNmZXItcGlja2VyLXNvdXJjZS10aXRsZVwiPnt7b3B0aW9ucy50aXRsZX19PC9tYXQtY2FyZC10aXRsZT5cbiAgICBAaWYgKG9wdGlvbnMuZmlsdGVyYWJsZSkge1xuICAgICAgPGNtYXQtdHJhbnNmZXItcGlja2VyLWZpbHRlclxuICAgICAgW2ZpbHRlcnNdPVwib3B0aW9ucy5maWx0ZXJzXCI+PC9jbWF0LXRyYW5zZmVyLXBpY2tlci1maWx0ZXI+XG4gICAgfVxuICA8L21hdC1jYXJkLWhlYWRlcj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJ0cmFuc2Zlci1waWNrZXItc291cmNlLWNvbnRlbnRcIj5cbiAgICBAaWYgKG9wdGlvbnMuc2VhcmNoYWJsZSkge1xuICAgICAgPGNtYXQtdHJhbnNmZXItcGlja2VyLXNlYXJjaFxuICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIm9wdGlvbnMuc2VhcmNoUGxhY2Vob2xkZXJcIj48L2NtYXQtdHJhbnNmZXItcGlja2VyLXNlYXJjaD5cbiAgICB9XG5cbiAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IGl0ZW1TaXplPVwiNDhcIlxuICAgICAgY2xhc3M9XCJ0cmFuc2Zlci1waWNrZXItc291cmNlLXNjcm9sbC13cmFwcGVyIG92ZXJmbG93LXktYXV0byBsZzpvdmVyZmxvdy15LWhpZGRlbiBsZzpob3ZlcjpvdmVyZmxvdy15LWF1dG8gc2Nyb2xsYmFyLWN1c3RvbVwiPlxuICAgICAgPG1hdC10cmVlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBbdHJlZUNvbnRyb2xdPVwidHJlZUNvbnRyb2xcIj5cbiAgICAgICAgPG1hdC10cmVlLW5vZGUgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGVcIiBbbWF0VHJlZU5vZGVQYWRkaW5nXT1cIm5vZGUubGV2ZWxcIj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+IDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJjaGVja2xpc3QtbGVhZi1ub2RlXCIgW2NoZWNrZWRdPVwiY2hlY2tsaXN0U2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGU/LmRpc2FibGVkXCIgKGNoYW5nZSk9XCJ0cmFuc2ZlckxlYWZJdGVtU2VsZWN0aW9uVG9nZ2xlKG5vZGUpO1wiPlxuICAgICAgICAgICAge3tub2RlLmxhYmVsfX1cbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtdHJlZS1ub2RlPlxuXG4gICAgICAgIDxtYXQtdHJlZS1ub2RlICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBoYXNDaGlsZFwiIFttYXRUcmVlTm9kZVBhZGRpbmddPVwibm9kZS5sZXZlbFwiPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRUcmVlTm9kZVRvZ2dsZT5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIlxuICAgICAgICAgICAgICBzdmdJY29uPVwie3t0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpID8gJ21hdF9vdXRsaW5lOmV4cGFuZF9tb3JlJyA6ICdtYXRfb3V0bGluZTpjaGV2cm9uX3JpZ2h0J319XCI+XG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiZGVzY2VuZGFudHNBbGxTZWxlY3RlZChub2RlKXx8bm9kZT8uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwiZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlKVwiIFtkaXNhYmxlZF09XCJub2RlPy5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cInRyYW5zZmVySXRlbVNlbGVjdGlvblRvZ2dsZShub2RlKVwiPlxuICAgICAgICAgICAge3tub2RlLmxhYmVsfX1cbiAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9tYXQtdHJlZS1ub2RlPlxuICAgICAgPC9tYXQtdHJlZT5cbiAgICAgIEBpZiAoIWRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNmZXItcGlja2VyLXNvdXJjZS1lbXB0eVwiPuaaguaXoOaVsOaNrjwvZGl2PlxuICAgICAgfVxuICAgIDwvY2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0PlxuICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPiJdfQ==
|