@apipass/inputs 1.0.7 → 1.0.9
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/ace-editor/component.d.ts +52 -52
- package/ace-editor/directive.d.ts +39 -39
- package/assets/css/colors.scss +34 -34
- package/assets/css/fonts.scss +24 -24
- package/assets/css/inputs.scss +245 -245
- package/assets/css/pt_sans.scss +143 -143
- package/assets/css/spacing.scss +28 -28
- package/assets/css/texts.scss +18 -18
- package/custom-select/custom-select-item.d.ts +5 -5
- package/custom-select/custom-select.component.d.ts +51 -51
- package/debounce-model-directive/debouceInput.directive.d.ts +14 -14
- package/esm2022/ace-editor/component.mjs +200 -0
- package/esm2022/ace-editor/directive.mjs +153 -0
- package/{esm2020 → esm2022}/apipass-inputs.mjs +4 -4
- package/esm2022/custom-select/custom-select-item.mjs +9 -0
- package/esm2022/custom-select/custom-select.component.mjs +213 -0
- package/esm2022/debounce-model-directive/debouceInput.directive.mjs +34 -0
- package/esm2022/field/field.component.mjs +56 -0
- package/esm2022/input-avatar/input-avatar.component.mjs +91 -0
- package/esm2022/input-boolean/input-boolean.component.mjs +54 -0
- package/esm2022/input-file/input-file.component.mjs +82 -0
- package/esm2022/input-number/input-number.component.mjs +60 -0
- package/esm2022/input-password/input-password.component.mjs +94 -0
- package/esm2022/input-text/input-text.component.mjs +60 -0
- package/esm2022/inputs.module.mjs +150 -0
- package/{esm2020 → esm2022}/public-api.mjs +17 -17
- package/esm2022/select-box/mat-select-infinite-scroll.directive.mjs +91 -0
- package/esm2022/select-box/select-box.component.mjs +226 -0
- package/esm2022/select-enum/select-enum.component.mjs +47 -0
- package/esm2022/select-interpolation/select-interpolation.component.mjs +177 -0
- package/esm2022/value-acessor-base.mjs +30 -0
- package/fesm2022/apipass-inputs.mjs +1711 -0
- package/fesm2022/apipass-inputs.mjs.map +1 -0
- package/field/field.component.d.ts +15 -15
- package/index.d.ts +5 -5
- package/input-avatar/input-avatar.component.d.ts +29 -29
- package/input-boolean/input-boolean.component.d.ts +15 -15
- package/input-file/input-file.component.d.ts +31 -31
- package/input-number/input-number.component.d.ts +17 -17
- package/input-password/input-password.component.d.ts +28 -28
- package/input-text/input-text.component.d.ts +17 -17
- package/inputs.module.d.ts +36 -36
- package/package.json +28 -25
- package/public-api.d.ts +16 -16
- package/select-box/mat-select-infinite-scroll.directive.d.ts +26 -26
- package/select-box/select-box.component.d.ts +57 -57
- package/select-enum/select-enum.component.d.ts +12 -12
- package/select-interpolation/select-interpolation.component.d.ts +44 -44
- package/value-acessor-base.d.ts +13 -13
- package/esm2020/ace-editor/component.mjs +0 -195
- package/esm2020/ace-editor/directive.mjs +0 -148
- package/esm2020/custom-select/custom-select-item.mjs +0 -7
- package/esm2020/custom-select/custom-select.component.mjs +0 -204
- package/esm2020/debounce-model-directive/debouceInput.directive.mjs +0 -31
- package/esm2020/field/field.component.mjs +0 -51
- package/esm2020/input-avatar/input-avatar.component.mjs +0 -92
- package/esm2020/input-boolean/input-boolean.component.mjs +0 -56
- package/esm2020/input-file/input-file.component.mjs +0 -82
- package/esm2020/input-number/input-number.component.mjs +0 -62
- package/esm2020/input-password/input-password.component.mjs +0 -96
- package/esm2020/input-text/input-text.component.mjs +0 -62
- package/esm2020/inputs.module.mjs +0 -149
- package/esm2020/select-box/mat-select-infinite-scroll.directive.mjs +0 -86
- package/esm2020/select-box/select-box.component.mjs +0 -225
- package/esm2020/select-enum/select-enum.component.mjs +0 -48
- package/esm2020/select-interpolation/select-interpolation.component.mjs +0 -169
- package/esm2020/value-acessor-base.mjs +0 -31
- package/fesm2015/apipass-inputs.mjs +0 -1706
- package/fesm2015/apipass-inputs.mjs.map +0 -1
- package/fesm2020/apipass-inputs.mjs +0 -1696
- package/fesm2020/apipass-inputs.mjs.map +0 -1
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FormsModule } from '@angular/forms';
|
|
3
|
-
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { SelectEnumComponent } from './select-enum/select-enum.component';
|
|
5
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
-
import { MatInputModule } from '@angular/material/input';
|
|
7
|
-
import { MatSelectModule } from '@angular/material/select';
|
|
8
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
9
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
10
|
-
import { InputPasswordComponent } from './input-password/input-password.component';
|
|
11
|
-
import { InputTextComponent } from './input-text/input-text.component';
|
|
12
|
-
import { InputAvatarComponent } from './input-avatar/input-avatar.component';
|
|
13
|
-
import { FieldComponent } from './field/field.component';
|
|
14
|
-
import { SelectBoxComponent } from './select-box/select-box.component';
|
|
15
|
-
import { MatSelectInfiniteScrollDirective } from './select-box/mat-select-infinite-scroll.directive';
|
|
16
|
-
import { NgSelectModule } from '@ng-select/ng-select';
|
|
17
|
-
import { CustomSelectComponent } from './custom-select/custom-select.component';
|
|
18
|
-
import { DndModule } from 'ngx-drag-drop';
|
|
19
|
-
import { IconsModule } from '@apipass/icons';
|
|
20
|
-
import { PipeModule } from '@apipass/pipes';
|
|
21
|
-
import { RouterModule } from '@angular/router';
|
|
22
|
-
import { MatPasswordStrengthModule } from '@angular-material-extensions/password-strength';
|
|
23
|
-
import { InputFileComponent } from './input-file/input-file.component';
|
|
24
|
-
import { AceEditorComponent } from './ace-editor/component';
|
|
25
|
-
import { AceEditorDirective } from './ace-editor/directive';
|
|
26
|
-
import { InputNumberComponent } from './input-number/input-number.component';
|
|
27
|
-
import { InputBooleanComponent } from './input-boolean/input-boolean.component';
|
|
28
|
-
import { ButtonsModule } from '@apipass/buttons';
|
|
29
|
-
import { DebouceInputDirective } from './debounce-model-directive/debouceInput.directive';
|
|
30
|
-
import { OverlayModule } from '@angular/cdk/overlay';
|
|
31
|
-
import { SelectInterpolationComponent } from './select-interpolation/select-interpolation.component';
|
|
32
|
-
import * as i0 from "@angular/core";
|
|
33
|
-
import * as i1 from "@angular/router";
|
|
34
|
-
export class InputsModule {
|
|
35
|
-
}
|
|
36
|
-
InputsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: InputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
37
|
-
InputsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: InputsModule, declarations: [MatSelectInfiniteScrollDirective,
|
|
38
|
-
SelectBoxComponent,
|
|
39
|
-
SelectEnumComponent,
|
|
40
|
-
InputTextComponent,
|
|
41
|
-
InputNumberComponent,
|
|
42
|
-
InputBooleanComponent,
|
|
43
|
-
InputPasswordComponent,
|
|
44
|
-
InputAvatarComponent,
|
|
45
|
-
InputFileComponent,
|
|
46
|
-
CustomSelectComponent,
|
|
47
|
-
SelectInterpolationComponent,
|
|
48
|
-
FieldComponent,
|
|
49
|
-
AceEditorComponent,
|
|
50
|
-
AceEditorDirective,
|
|
51
|
-
DebouceInputDirective], imports: [i1.RouterModule, CommonModule,
|
|
52
|
-
FormsModule,
|
|
53
|
-
MatFormFieldModule,
|
|
54
|
-
MatInputModule,
|
|
55
|
-
MatPasswordStrengthModule,
|
|
56
|
-
MatSelectModule,
|
|
57
|
-
NgSelectModule,
|
|
58
|
-
PipeModule,
|
|
59
|
-
MatIconModule,
|
|
60
|
-
IconsModule,
|
|
61
|
-
MatTooltipModule,
|
|
62
|
-
DndModule,
|
|
63
|
-
ButtonsModule,
|
|
64
|
-
OverlayModule], exports: [SelectBoxComponent,
|
|
65
|
-
SelectEnumComponent,
|
|
66
|
-
InputTextComponent,
|
|
67
|
-
InputNumberComponent,
|
|
68
|
-
InputBooleanComponent,
|
|
69
|
-
InputPasswordComponent,
|
|
70
|
-
InputAvatarComponent,
|
|
71
|
-
InputFileComponent,
|
|
72
|
-
CustomSelectComponent,
|
|
73
|
-
SelectInterpolationComponent,
|
|
74
|
-
FieldComponent,
|
|
75
|
-
AceEditorComponent,
|
|
76
|
-
AceEditorDirective,
|
|
77
|
-
DebouceInputDirective] });
|
|
78
|
-
InputsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: InputsModule, imports: [RouterModule.forChild([]),
|
|
79
|
-
CommonModule,
|
|
80
|
-
FormsModule,
|
|
81
|
-
MatFormFieldModule,
|
|
82
|
-
MatInputModule,
|
|
83
|
-
MatPasswordStrengthModule,
|
|
84
|
-
MatSelectModule,
|
|
85
|
-
NgSelectModule,
|
|
86
|
-
PipeModule,
|
|
87
|
-
MatIconModule,
|
|
88
|
-
IconsModule,
|
|
89
|
-
MatTooltipModule,
|
|
90
|
-
DndModule,
|
|
91
|
-
ButtonsModule,
|
|
92
|
-
OverlayModule] });
|
|
93
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: InputsModule, decorators: [{
|
|
94
|
-
type: NgModule,
|
|
95
|
-
args: [{
|
|
96
|
-
imports: [
|
|
97
|
-
RouterModule.forChild([]),
|
|
98
|
-
CommonModule,
|
|
99
|
-
FormsModule,
|
|
100
|
-
MatFormFieldModule,
|
|
101
|
-
MatInputModule,
|
|
102
|
-
MatPasswordStrengthModule,
|
|
103
|
-
MatSelectModule,
|
|
104
|
-
NgSelectModule,
|
|
105
|
-
PipeModule,
|
|
106
|
-
MatIconModule,
|
|
107
|
-
IconsModule,
|
|
108
|
-
MatTooltipModule,
|
|
109
|
-
DndModule,
|
|
110
|
-
ButtonsModule,
|
|
111
|
-
OverlayModule
|
|
112
|
-
],
|
|
113
|
-
declarations: [
|
|
114
|
-
MatSelectInfiniteScrollDirective,
|
|
115
|
-
SelectBoxComponent,
|
|
116
|
-
SelectEnumComponent,
|
|
117
|
-
InputTextComponent,
|
|
118
|
-
InputNumberComponent,
|
|
119
|
-
InputBooleanComponent,
|
|
120
|
-
InputPasswordComponent,
|
|
121
|
-
InputAvatarComponent,
|
|
122
|
-
InputFileComponent,
|
|
123
|
-
CustomSelectComponent,
|
|
124
|
-
SelectInterpolationComponent,
|
|
125
|
-
FieldComponent,
|
|
126
|
-
AceEditorComponent,
|
|
127
|
-
AceEditorDirective,
|
|
128
|
-
DebouceInputDirective
|
|
129
|
-
],
|
|
130
|
-
exports: [
|
|
131
|
-
SelectBoxComponent,
|
|
132
|
-
SelectEnumComponent,
|
|
133
|
-
InputTextComponent,
|
|
134
|
-
InputNumberComponent,
|
|
135
|
-
InputBooleanComponent,
|
|
136
|
-
InputPasswordComponent,
|
|
137
|
-
InputAvatarComponent,
|
|
138
|
-
InputFileComponent,
|
|
139
|
-
CustomSelectComponent,
|
|
140
|
-
SelectInterpolationComponent,
|
|
141
|
-
FieldComponent,
|
|
142
|
-
AceEditorComponent,
|
|
143
|
-
AceEditorDirective,
|
|
144
|
-
DebouceInputDirective
|
|
145
|
-
],
|
|
146
|
-
providers: []
|
|
147
|
-
}]
|
|
148
|
-
}] });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUE7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFBO0FBQ3BHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFBO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFBO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQTtBQUN6RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDcEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sdURBQXVELENBQUE7OztBQXVEcEcsTUFBTSxPQUFPLFlBQVk7O3lHQUFaLFlBQVk7MEdBQVosWUFBWSxpQkFsQ3JCLGdDQUFnQztRQUNoQyxrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQiw0QkFBNEI7UUFDNUIsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIscUJBQXFCLDhCQTlCckIsWUFBWTtRQUNaLFdBQVc7UUFDWCxrQkFBa0I7UUFDbEIsY0FBYztRQUNkLHlCQUF5QjtRQUN6QixlQUFlO1FBQ2YsY0FBYztRQUNkLFVBQVU7UUFDVixhQUFhO1FBQ2IsV0FBVztRQUNYLGdCQUFnQjtRQUNoQixTQUFTO1FBQ1QsYUFBYTtRQUNiLGFBQWEsYUFvQmIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIsb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIsNEJBQTRCO1FBQzVCLGNBQWM7UUFDZCxrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjswR0FJWixZQUFZLFlBbkRyQixZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUN6QixZQUFZO1FBQ1osV0FBVztRQUNYLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QseUJBQXlCO1FBQ3pCLGVBQWU7UUFDZixjQUFjO1FBQ2QsVUFBVTtRQUNWLGFBQWE7UUFDYixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLFNBQVM7UUFDVCxhQUFhO1FBQ2IsYUFBYTsyRkFxQ0osWUFBWTtrQkFyRHhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUN6QixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLHlCQUF5Qjt3QkFDekIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsU0FBUzt3QkFDVCxhQUFhO3dCQUNiLGFBQWE7cUJBQ2Q7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGdDQUFnQzt3QkFDaEMsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjt3QkFDckIsNEJBQTRCO3dCQUM1QixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixxQkFBcUI7cUJBQ3RCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQiw0QkFBNEI7d0JBQzVCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgU2VsZWN0RW51bUNvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LWVudW0vc2VsZWN0LWVudW0uY29tcG9uZW50J1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0J1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnXHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCdcclxuaW1wb3J0IHsgSW5wdXRQYXNzd29yZENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtcGFzc3dvcmQvaW5wdXQtcGFzc3dvcmQuY29tcG9uZW50J1xyXG5pbXBvcnQgeyBJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXRleHQvaW5wdXQtdGV4dC5jb21wb25lbnQnXHJcbmltcG9ydCB7IElucHV0QXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1hdmF0YXIvaW5wdXQtYXZhdGFyLmNvbXBvbmVudCdcclxuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCdcclxuaW1wb3J0IHsgU2VsZWN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtYm94L3NlbGVjdC1ib3guY29tcG9uZW50J1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWJveC9tYXQtc2VsZWN0LWluZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnXHJcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnXHJcbmltcG9ydCB7IEN1c3RvbVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudCdcclxuaW1wb3J0IHsgRG5kTW9kdWxlIH0gZnJvbSAnbmd4LWRyYWctZHJvcCdcclxuaW1wb3J0IHsgSWNvbnNNb2R1bGUgfSBmcm9tICdAYXBpcGFzcy9pY29ucydcclxuaW1wb3J0IHsgUGlwZU1vZHVsZSB9IGZyb20gJ0BhcGlwYXNzL3BpcGVzJ1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXHJcbmltcG9ydCB7IE1hdFBhc3N3b3JkU3RyZW5ndGhNb2R1bGUgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1leHRlbnNpb25zL3Bhc3N3b3JkLXN0cmVuZ3RoJ1xyXG5pbXBvcnQgeyBJbnB1dEZpbGVDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb21wb25lbnQnXHJcbmltcG9ydCB7IEFjZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYWNlLWVkaXRvci9jb21wb25lbnQnXHJcbmltcG9ydCB7IEFjZUVkaXRvckRpcmVjdGl2ZSB9IGZyb20gJy4vYWNlLWVkaXRvci9kaXJlY3RpdmUnXHJcbmltcG9ydCB7IElucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudCdcclxuaW1wb3J0IHsgSW5wdXRCb29sZWFuQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1ib29sZWFuL2lucHV0LWJvb2xlYW4uY29tcG9uZW50J1xyXG5pbXBvcnQgeyBCdXR0b25zTW9kdWxlIH0gZnJvbSAnQGFwaXBhc3MvYnV0dG9ucydcclxuaW1wb3J0IHsgRGVib3VjZUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kZWJvdW5jZS1tb2RlbC1kaXJlY3RpdmUvZGVib3VjZUlucHV0LmRpcmVjdGl2ZSdcclxuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5J1xyXG5pbXBvcnQgeyBTZWxlY3RJbnRlcnBvbGF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9zZWxlY3QtaW50ZXJwb2xhdGlvbi9zZWxlY3QtaW50ZXJwb2xhdGlvbi5jb21wb25lbnQnXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIFJvdXRlck1vZHVsZS5mb3JDaGlsZChbXSksXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0UGFzc3dvcmRTdHJlbmd0aE1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE5nU2VsZWN0TW9kdWxlLFxyXG4gICAgUGlwZU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBJY29uc01vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBEbmRNb2R1bGUsXHJcbiAgICBCdXR0b25zTW9kdWxlLFxyXG4gICAgT3ZlcmxheU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSxcclxuICAgIFNlbGVjdEJveENvbXBvbmVudCxcclxuICAgIFNlbGVjdEVudW1Db21wb25lbnQsXHJcbiAgICBJbnB1dFRleHRDb21wb25lbnQsXHJcbiAgICBJbnB1dE51bWJlckNvbXBvbmVudCxcclxuICAgIElucHV0Qm9vbGVhbkNvbXBvbmVudCxcclxuICAgIElucHV0UGFzc3dvcmRDb21wb25lbnQsXHJcbiAgICBJbnB1dEF2YXRhckNvbXBvbmVudCxcclxuICAgIElucHV0RmlsZUNvbXBvbmVudCxcclxuICAgIEN1c3RvbVNlbGVjdENvbXBvbmVudCxcclxuICAgIFNlbGVjdEludGVycG9sYXRpb25Db21wb25lbnQsXHJcbiAgICBGaWVsZENvbXBvbmVudCxcclxuICAgIEFjZUVkaXRvckNvbXBvbmVudCxcclxuICAgIEFjZUVkaXRvckRpcmVjdGl2ZSxcclxuICAgIERlYm91Y2VJbnB1dERpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2VsZWN0Qm94Q29tcG9uZW50LFxyXG4gICAgU2VsZWN0RW51bUNvbXBvbmVudCxcclxuICAgIElucHV0VGV4dENvbXBvbmVudCxcclxuICAgIElucHV0TnVtYmVyQ29tcG9uZW50LFxyXG4gICAgSW5wdXRCb29sZWFuQ29tcG9uZW50LFxyXG4gICAgSW5wdXRQYXNzd29yZENvbXBvbmVudCxcclxuICAgIElucHV0QXZhdGFyQ29tcG9uZW50LFxyXG4gICAgSW5wdXRGaWxlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgU2VsZWN0SW50ZXJwb2xhdGlvbkNvbXBvbmVudCxcclxuICAgIEZpZWxkQ29tcG9uZW50LFxyXG4gICAgQWNlRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgQWNlRWRpdG9yRGlyZWN0aXZlLFxyXG4gICAgRGVib3VjZUlucHV0RGlyZWN0aXZlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dHNNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, NgZone, Output } from '@angular/core';
|
|
2
|
-
import { MatSelect } from '@angular/material/select';
|
|
3
|
-
import { debounceTime, takeUntil, tap } from 'rxjs/operators';
|
|
4
|
-
import { fromEvent, Subject } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/material/select";
|
|
7
|
-
/** The height of the select items in `em` units. */
|
|
8
|
-
const SELECT_ITEM_HEIGHT_EM = 3;
|
|
9
|
-
export class MatSelectInfiniteScrollDirective {
|
|
10
|
-
constructor(matSelect, ngZone) {
|
|
11
|
-
this.matSelect = matSelect;
|
|
12
|
-
this.ngZone = ngZone;
|
|
13
|
-
this.threshold = '15%';
|
|
14
|
-
this.debounceTime = 150;
|
|
15
|
-
this.infiniteScroll = new EventEmitter();
|
|
16
|
-
this.thrPx = 0;
|
|
17
|
-
this.thrPc = 0;
|
|
18
|
-
this.singleOptionHeight = SELECT_ITEM_HEIGHT_EM;
|
|
19
|
-
this.destroyed$ = new Subject();
|
|
20
|
-
}
|
|
21
|
-
ngOnInit() {
|
|
22
|
-
this.evaluateThreshold();
|
|
23
|
-
}
|
|
24
|
-
ngAfterViewInit() {
|
|
25
|
-
this.matSelect.openedChange.pipe(takeUntil(this.destroyed$)).subscribe((opened) => {
|
|
26
|
-
if (opened) {
|
|
27
|
-
this.panel = this.matSelect.panel.nativeElement;
|
|
28
|
-
this.singleOptionHeight = this.getSelectItemHeightPx();
|
|
29
|
-
this.registerScrollListener();
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
ngOnDestroy() {
|
|
34
|
-
this.destroyed$.next(true);
|
|
35
|
-
this.destroyed$.complete();
|
|
36
|
-
}
|
|
37
|
-
evaluateThreshold() {
|
|
38
|
-
if (this.threshold.lastIndexOf('%') > -1) {
|
|
39
|
-
this.thrPx = 0;
|
|
40
|
-
this.thrPc = (parseFloat(this.threshold) / 100);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
this.thrPx = parseFloat(this.threshold);
|
|
44
|
-
this.thrPc = 0;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
registerScrollListener() {
|
|
48
|
-
fromEvent(this.panel, 'scroll').pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime), tap((event) => {
|
|
49
|
-
this.handleScrollEvent(event);
|
|
50
|
-
})).subscribe();
|
|
51
|
-
}
|
|
52
|
-
handleScrollEvent(event) {
|
|
53
|
-
this.ngZone.runOutsideAngular(() => {
|
|
54
|
-
if (this.complete) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const countOfRenderedOptions = this.matSelect.options.length;
|
|
58
|
-
const infiniteScrollDistance = this.singleOptionHeight * countOfRenderedOptions;
|
|
59
|
-
const threshold = this.thrPc !== 0 ? (infiniteScrollDistance * this.thrPc) : this.thrPx;
|
|
60
|
-
const scrolledDistance = this.panel.clientHeight + event.target.scrollTop;
|
|
61
|
-
if ((scrolledDistance + threshold) >= infiniteScrollDistance) {
|
|
62
|
-
this.ngZone.run(() => { this.infiniteScroll.emit(); });
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
getSelectItemHeightPx() {
|
|
67
|
-
return parseFloat(getComputedStyle(this.panel).fontSize) * SELECT_ITEM_HEIGHT_EM;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
MatSelectInfiniteScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: MatSelectInfiniteScrollDirective, deps: [{ token: i1.MatSelect }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
71
|
-
MatSelectInfiniteScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.3", type: MatSelectInfiniteScrollDirective, selector: "[msInfiniteScroll]", inputs: { threshold: "threshold", debounceTime: "debounceTime", complete: "complete" }, outputs: { infiniteScroll: "infiniteScroll" }, ngImport: i0 });
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: MatSelectInfiniteScrollDirective, decorators: [{
|
|
73
|
-
type: Directive,
|
|
74
|
-
args: [{
|
|
75
|
-
selector: '[msInfiniteScroll]'
|
|
76
|
-
}]
|
|
77
|
-
}], ctorParameters: function () { return [{ type: i1.MatSelect }, { type: i0.NgZone }]; }, propDecorators: { threshold: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], debounceTime: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], complete: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], infiniteScroll: [{
|
|
84
|
-
type: Output
|
|
85
|
-
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXNlbGVjdC1pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9zZWxlY3QtYm94L21hdC1zZWxlY3QtaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTs7O0FBRXpDLG9EQUFvRDtBQUNwRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQTtBQUsvQixNQUFNLE9BQU8sZ0NBQWdDO0lBYTNDLFlBQThCLFNBQW9CLEVBQW1CLE1BQWM7UUFBckQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFtQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWjFFLGNBQVMsR0FBRyxLQUFLLENBQUE7UUFDakIsaUJBQVksR0FBRyxHQUFHLENBQUE7UUFFakIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO1FBRzNDLFVBQUssR0FBRyxDQUFDLENBQUE7UUFDVCxVQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ1QsdUJBQWtCLEdBQUcscUJBQXFCLENBQUE7UUFFakMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUE7SUFHcEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxD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QztrQkFINUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQjtxSEFFVSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnXHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcydcclxuXHJcbi8qKiBUaGUgaGVpZ2h0IG9mIHRoZSBzZWxlY3QgaXRlbXMgaW4gYGVtYCB1bml0cy4gKi9cclxuY29uc3QgU0VMRUNUX0lURU1fSEVJR0hUX0VNID0gM1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbXNJbmZpbml0ZVNjcm9sbF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcclxuICBASW5wdXQoKSB0aHJlc2hvbGQgPSAnMTUlJ1xyXG4gIEBJbnB1dCgpIGRlYm91bmNlVGltZSA9IDE1MFxyXG4gIEBJbnB1dCgpIGNvbXBsZXRlITogYm9vbGVhblxyXG4gIEBPdXRwdXQoKSBpbmZpbml0ZVNjcm9sbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxyXG5cclxuICBwcml2YXRlIHBhbmVsITogRWxlbWVudFxyXG4gIHByaXZhdGUgdGhyUHggPSAwXHJcbiAgcHJpdmF0ZSB0aHJQYyA9IDBcclxuICBwcml2YXRlIHNpbmdsZU9wdGlvbkhlaWdodCA9IFNFTEVDVF9JVEVNX0hFSUdIVF9FTVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpXHJcblxyXG4gIGNvbnN0cnVjdG9yIChwcml2YXRlIHJlYWRvbmx5IG1hdFNlbGVjdDogTWF0U2VsZWN0LCBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmV2YWx1YXRlVGhyZXNob2xkKClcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1hdFNlbGVjdC5vcGVuZWRDaGFuZ2UucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJClcclxuICAgICkuc3Vic2NyaWJlKChvcGVuZWQpID0+IHtcclxuICAgICAgaWYgKG9wZW5lZCkge1xyXG4gICAgICAgIHRoaXMucGFuZWwgPSB0aGlzLm1hdFNlbGVjdC5wYW5lbC5uYXRpdmVFbGVtZW50XHJcbiAgICAgICAgdGhpcy5zaW5nbGVPcHRpb25IZWlnaHQgPSB0aGlzLmdldFNlbGVjdEl0ZW1IZWlnaHRQeCgpXHJcbiAgICAgICAgdGhpcy5yZWdpc3RlclNjcm9sbExpc3RlbmVyKClcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95ICgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KHRydWUpXHJcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKVxyXG4gIH1cclxuXHJcbiAgZXZhbHVhdGVUaHJlc2hvbGQgKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudGhyZXNob2xkLmxhc3RJbmRleE9mKCclJykgPiAtMSkge1xyXG4gICAgICB0aGlzLnRoclB4ID0gMFxyXG4gICAgICB0aGlzLnRoclBjID0gKHBhcnNlRmxvYXQodGhpcy50aHJlc2hvbGQpIC8gMTAwKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50aHJQeCA9IHBhcnNlRmxvYXQodGhpcy50aHJlc2hvbGQpXHJcbiAgICAgIHRoaXMudGhyUGMgPSAwXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3RlclNjcm9sbExpc3RlbmVyICgpOiB2b2lkIHtcclxuICAgIGZyb21FdmVudCh0aGlzLnBhbmVsLCAnc2Nyb2xsJykucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXHJcbiAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSksXHJcbiAgICAgIHRhcCgoZXZlbnQpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVNjcm9sbEV2ZW50KGV2ZW50KVxyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2Nyb2xsRXZlbnQgKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29tcGxldGUpIHtcclxuICAgICAgICByZXR1cm5cclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjb3VudE9mUmVuZGVyZWRPcHRpb25zID0gdGhpcy5tYXRTZWxlY3Qub3B0aW9ucy5sZW5ndGhcclxuICAgICAgY29uc3QgaW5maW5pdGVTY3JvbGxEaXN0YW5jZSA9IHRoaXMuc2luZ2xlT3B0aW9uSGVpZ2h0ICogY291bnRPZlJlbmRlcmVkT3B0aW9uc1xyXG4gICAgICBjb25zdCB0aHJlc2hvbGQgPSB0aGlzLnRoclBjICE9PSAwID8gKGluZmluaXRlU2Nyb2xsRGlzdGFuY2UgKiB0aGlzLnRoclBjKSA6IHRoaXMudGhyUHhcclxuXHJcbiAgICAgIGNvbnN0IHNjcm9sbGVkRGlzdGFuY2UgPSB0aGlzLnBhbmVsLmNsaWVudEhlaWdodCArIGV2ZW50LnRhcmdldC5zY3JvbGxUb3BcclxuXHJcbiAgICAgIGlmICgoc2Nyb2xsZWREaXN0YW5jZSArIHRocmVzaG9sZCkgPj0gaW5maW5pdGVTY3JvbGxEaXN0YW5jZSkge1xyXG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7IHRoaXMuaW5maW5pdGVTY3JvbGwuZW1pdCgpIH0pXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RJdGVtSGVpZ2h0UHggKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMucGFuZWwpLmZvbnRTaXplKSAqIFNFTEVDVF9JVEVNX0hFSUdIVF9FTVxyXG4gIH1cclxufVxyXG4iXX0=
|