ngx-formly-zorro-antd 17.0.10 → 17.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +1 -1
- package/autocomplete/autocomplete.props.d.ts +2 -4
- package/card-wrapper/card-wrapper.props.d.ts +3 -2
- package/common/interface.d.ts +3 -1
- package/esm2022/autocomplete/autocomplete.props.mjs +1 -1
- package/esm2022/autocomplete/public_api.mjs +1 -1
- package/esm2022/button/button.module.mjs +1 -1
- package/esm2022/button/button.type.mjs +123 -123
- package/esm2022/button/public_api.mjs +1 -1
- package/esm2022/button-group/button-group.module.mjs +1 -1
- package/esm2022/button-group/button-group.type.mjs +67 -67
- package/esm2022/button-group/public_api.mjs +1 -1
- package/esm2022/card/card.module.mjs +1 -1
- package/esm2022/card/card.type.mjs +51 -51
- package/esm2022/card/public_api.mjs +1 -1
- package/esm2022/card-wrapper/card-wrapper.module.mjs +1 -1
- package/esm2022/card-wrapper/card-wrapper.props.mjs +1 -1
- package/esm2022/card-wrapper/card.wrapper.mjs +37 -37
- package/esm2022/card-wrapper/public_api.mjs +1 -1
- package/esm2022/cascader/cascader.module.mjs +1 -1
- package/esm2022/cascader/cascader.type.mjs +65 -65
- package/esm2022/cascader/public_api.mjs +1 -1
- package/esm2022/checkbox/checkbox.module.mjs +1 -1
- package/esm2022/checkbox/checkbox.type.mjs +39 -39
- package/esm2022/checkbox/public_api.mjs +1 -1
- package/esm2022/common/common.module.mjs +1 -1
- package/esm2022/common/formly-box-templates.directive.mjs +1 -1
- package/esm2022/common/formly-utils.mjs +1 -1
- package/esm2022/common/interface.mjs +1 -1
- package/esm2022/common/public_api.mjs +1 -1
- package/esm2022/datepicker/datepicker.module.mjs +1 -1
- package/esm2022/datepicker/datepicker.props.mjs +1 -1
- package/esm2022/datepicker/datepicker.type.mjs +149 -149
- package/esm2022/datepicker/public_api.mjs +1 -1
- package/esm2022/extension/public_api.mjs +1 -1
- package/esm2022/extension/value-changes-extension.mjs +1 -1
- package/esm2022/form-field/form-field.module.mjs +1 -1
- package/esm2022/form-field/form-field.props.mjs +1 -1
- package/esm2022/form-field/form-field.wrapper.mjs +125 -125
- package/esm2022/form-field/public_api.mjs +1 -1
- package/esm2022/grid/grid.module.mjs +1 -1
- package/esm2022/grid/grid.props.mjs +1 -1
- package/esm2022/grid/grid.type.mjs +59 -59
- package/esm2022/grid/public_api.mjs +1 -1
- package/esm2022/index.mjs +1 -1
- package/esm2022/input/input.module.mjs +1 -1
- package/esm2022/input/input.props.mjs +1 -1
- package/esm2022/input/input.type.mjs +297 -286
- package/esm2022/input/public_api.mjs +1 -1
- package/esm2022/input-group/input-group.module.mjs +1 -1
- package/esm2022/input-group/input-group.props.mjs +1 -1
- package/esm2022/input-group/input-group.type.mjs +39 -39
- package/esm2022/input-group/public_api.mjs +1 -1
- package/esm2022/input-number/input-number.module.mjs +1 -1
- package/esm2022/input-number/input-number.props.mjs +1 -1
- package/esm2022/input-number/input-number.type.mjs +89 -89
- package/esm2022/input-number/public_api.mjs +1 -1
- package/esm2022/lib/ui-ng-zorro-antd.mjs +1 -1
- package/esm2022/lib/ui-ng-zorro-antd.module.mjs +1 -1
- package/esm2022/radio/public_api.mjs +1 -1
- package/esm2022/radio/radio.module.mjs +1 -1
- package/esm2022/radio/radio.type.mjs +81 -81
- package/esm2022/rate/public_api.mjs +1 -1
- package/esm2022/rate/rate.module.mjs +1 -1
- package/esm2022/rate/rate.type.mjs +33 -33
- package/esm2022/ref-template/public_api.mjs +1 -1
- package/esm2022/ref-template/ref-template.module.mjs +1 -1
- package/esm2022/ref-template/ref-template.type.mjs +9 -9
- package/esm2022/select/public_api.mjs +1 -1
- package/esm2022/select/select.module.mjs +1 -1
- package/esm2022/select/select.props.mjs +1 -1
- package/esm2022/select/select.type.mjs +123 -123
- package/esm2022/slider/public_api.mjs +1 -1
- package/esm2022/slider/slider.module.mjs +1 -1
- package/esm2022/slider/slider.type.mjs +33 -33
- package/esm2022/space/public_api.mjs +1 -1
- package/esm2022/space/space.module.mjs +1 -1
- package/esm2022/space/space.type.mjs +27 -27
- package/esm2022/switch/public_api.mjs +1 -1
- package/esm2022/switch/switch.module.mjs +1 -1
- package/esm2022/switch/switch.type.mjs +25 -25
- package/esm2022/tabs/public_api.mjs +1 -1
- package/esm2022/tabs/tabs.module.mjs +1 -1
- package/esm2022/tabs/tabs.props.mjs +1 -1
- package/esm2022/tabs/tabs.wrapper.mjs +79 -79
- package/esm2022/text-value/ngx-formly-zorro-antd-text-value.mjs +5 -0
- package/esm2022/text-value/public_api.mjs +3 -0
- package/esm2022/text-value/text-value.module.mjs +46 -0
- package/esm2022/text-value/text-value.type.mjs +68 -0
- package/esm2022/textarea/public_api.mjs +1 -1
- package/esm2022/textarea/textarea.module.mjs +1 -1
- package/esm2022/textarea/textarea.type.mjs +113 -113
- package/esm2022/timepicker/public_api.mjs +1 -1
- package/esm2022/timepicker/timepicker.module.mjs +1 -1
- package/esm2022/timepicker/timepicker.type.mjs +61 -61
- package/esm2022/transfer/public_api.mjs +1 -1
- package/esm2022/transfer/transfer.component.mjs +49 -49
- package/esm2022/transfer/transfer.module.mjs +1 -1
- package/esm2022/transfer/transfer.type.mjs +47 -47
- package/esm2022/tree-select/public_api.mjs +1 -1
- package/esm2022/tree-select/tree-select.module.mjs +1 -1
- package/esm2022/tree-select/tree-select.type.mjs +69 -69
- package/esm2022/upload/public_api.mjs +1 -1
- package/esm2022/upload/upload.component.mjs +145 -145
- package/esm2022/upload/upload.module.mjs +1 -1
- package/esm2022/upload/upload.props.mjs +1 -1
- package/esm2022/upload/upload.type.mjs +88 -87
- package/fesm2022/ngx-formly-zorro-antd-button-group.mjs +66 -66
- package/fesm2022/ngx-formly-zorro-antd-button-group.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-button.mjs +122 -122
- package/fesm2022/ngx-formly-zorro-antd-button.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-card-wrapper.mjs +36 -36
- package/fesm2022/ngx-formly-zorro-antd-card-wrapper.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-card.mjs +50 -50
- package/fesm2022/ngx-formly-zorro-antd-card.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-cascader.mjs +64 -64
- package/fesm2022/ngx-formly-zorro-antd-cascader.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-checkbox.mjs +38 -38
- package/fesm2022/ngx-formly-zorro-antd-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-common.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-datepicker.mjs +148 -148
- package/fesm2022/ngx-formly-zorro-antd-datepicker.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-extension.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-form-field.mjs +124 -124
- package/fesm2022/ngx-formly-zorro-antd-form-field.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-grid.mjs +58 -58
- package/fesm2022/ngx-formly-zorro-antd-grid.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-input-group.mjs +38 -38
- package/fesm2022/ngx-formly-zorro-antd-input-group.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-input-number.mjs +88 -88
- package/fesm2022/ngx-formly-zorro-antd-input-number.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-input.mjs +297 -286
- package/fesm2022/ngx-formly-zorro-antd-input.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-radio.mjs +80 -80
- package/fesm2022/ngx-formly-zorro-antd-radio.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-rate.mjs +32 -32
- package/fesm2022/ngx-formly-zorro-antd-rate.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-ref-template.mjs +8 -8
- package/fesm2022/ngx-formly-zorro-antd-ref-template.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-select.mjs +122 -122
- package/fesm2022/ngx-formly-zorro-antd-select.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-slider.mjs +32 -32
- package/fesm2022/ngx-formly-zorro-antd-slider.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-space.mjs +26 -26
- package/fesm2022/ngx-formly-zorro-antd-space.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-switch.mjs +24 -24
- package/fesm2022/ngx-formly-zorro-antd-switch.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-tabs.mjs +78 -78
- package/fesm2022/ngx-formly-zorro-antd-tabs.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-text-value.mjs +115 -0
- package/fesm2022/ngx-formly-zorro-antd-text-value.mjs.map +1 -0
- package/fesm2022/ngx-formly-zorro-antd-textarea.mjs +112 -112
- package/fesm2022/ngx-formly-zorro-antd-textarea.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-timepicker.mjs +60 -60
- package/fesm2022/ngx-formly-zorro-antd-timepicker.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-transfer.mjs +94 -94
- package/fesm2022/ngx-formly-zorro-antd-transfer.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-tree-select.mjs +68 -68
- package/fesm2022/ngx-formly-zorro-antd-tree-select.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd-upload.mjs +230 -230
- package/fesm2022/ngx-formly-zorro-antd-upload.mjs.map +1 -1
- package/fesm2022/ngx-formly-zorro-antd.mjs.map +1 -1
- package/form-field/form-field.props.d.ts +8 -16
- package/grid/grid.props.d.ts +6 -9
- package/input/input.type.d.ts +6 -1
- package/input-group/input-group.props.d.ts +4 -0
- package/package.json +24 -18
- package/text-value/index.d.ts +5 -0
- package/text-value/public_api.d.ts +2 -0
- package/text-value/text-value.module.d.ts +11 -0
- package/text-value/text-value.type.d.ts +37 -0
- package/tree-select/tree-select.type.d.ts +2 -3
- package/upload/upload.component.d.ts +3 -4
- package/autocomplete/package.json +0 -3
- package/button/package.json +0 -3
- package/button-group/package.json +0 -3
- package/card/package.json +0 -3
- package/card-wrapper/package.json +0 -3
- package/cascader/package.json +0 -3
- package/checkbox/package.json +0 -3
- package/common/package.json +0 -3
- package/datepicker/package.json +0 -3
- package/extension/package.json +0 -3
- package/form-field/package.json +0 -3
- package/grid/package.json +0 -3
- package/input/package.json +0 -3
- package/input-group/package.json +0 -3
- package/input-number/package.json +0 -3
- package/radio/package.json +0 -3
- package/rate/package.json +0 -3
- package/ref-template/package.json +0 -3
- package/select/package.json +0 -3
- package/slider/package.json +0 -3
- package/space/package.json +0 -3
- package/switch/package.json +0 -3
- package/tabs/package.json +0 -3
- package/textarea/package.json +0 -3
- package/timepicker/package.json +0 -3
- package/transfer/package.json +0 -3
- package/tree-select/package.json +0 -3
- package/upload/package.json +0 -3
@@ -1,15 +1,18 @@
|
|
1
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
1
|
+
import { Component, Optional, ChangeDetectionStrategy } from '@angular/core';
|
2
2
|
import { FieldType } from '@ngx-formly/core';
|
3
|
+
import { FormlyBoxTemplates, resolveTplName } from 'ngx-formly-zorro-antd/common';
|
3
4
|
import * as i0 from "@angular/core";
|
4
|
-
import * as i1 from "
|
5
|
-
import * as i2 from "@angular/
|
6
|
-
import * as i3 from "
|
7
|
-
import * as i4 from "ng-zorro-antd/
|
8
|
-
import * as i5 from "ng-zorro-antd/
|
9
|
-
import * as i6 from "
|
5
|
+
import * as i1 from "ngx-formly-zorro-antd/common";
|
6
|
+
import * as i2 from "@angular/common";
|
7
|
+
import * as i3 from "@angular/forms";
|
8
|
+
import * as i4 from "ng-zorro-antd/input";
|
9
|
+
import * as i5 from "ng-zorro-antd/auto-complete";
|
10
|
+
import * as i6 from "ng-zorro-antd/icon";
|
11
|
+
import * as i7 from "@ngx-formly/core";
|
10
12
|
export class FormlyFieldInput extends FieldType {
|
11
|
-
constructor() {
|
12
|
-
super(
|
13
|
+
constructor(fieldTemplates) {
|
14
|
+
super();
|
15
|
+
this.fieldTemplates = fieldTemplates;
|
13
16
|
this.defaultOptions = {
|
14
17
|
props: {
|
15
18
|
borderless: false,
|
@@ -25,289 +28,297 @@ export class FormlyFieldInput extends FieldType {
|
|
25
28
|
};
|
26
29
|
this.passwordVisible = false;
|
27
30
|
}
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
[nzPrefixIcon]="props['prefixIcon']"
|
34
|
-
[nzSuffixIcon]="props['suffixIcon']"
|
35
|
-
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
36
|
-
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
37
|
-
[nzAddOnBefore]="props['addOnBefore']"
|
38
|
-
[nzAddOnAfter]="props['addOnAfter']"
|
39
|
-
[nzPrefix]="props['prefix']"
|
40
|
-
[nzCompact]="props['compact']!!"
|
41
|
-
[nzSearch]="props['search']!!"
|
42
|
-
[nzSize]="props['size']!"
|
43
|
-
[nzStatus]="props['status']!"
|
44
|
-
[nzSuffix]="passwordEyeTpl"
|
45
|
-
>
|
46
|
-
<input
|
47
|
-
[type]="passwordVisible ? 'text' : 'password'"
|
48
|
-
nz-input
|
49
|
-
[formControl]="formControl"
|
50
|
-
[formlyAttributes]="field"
|
51
|
-
[nzBorderless]="props['borderless']!!"
|
52
|
-
(ngModelChange)="props['modelChange'] && props['modelChange'](field, $event)"
|
53
|
-
/>
|
54
|
-
</nz-input-group>
|
55
|
-
}
|
56
|
-
@case ('autoComplete') {
|
57
|
-
<nz-input-group
|
58
|
-
[nzSize]="props['size']"
|
59
|
-
[nzPrefixIcon]="props['prefixIcon']"
|
60
|
-
[nzSuffixIcon]="props['suffixIcon']"
|
61
|
-
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
62
|
-
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
63
|
-
[nzAddOnBefore]="props['addOnBefore']"
|
64
|
-
[nzAddOnAfter]="props['addOnAfter']"
|
65
|
-
[nzPrefix]="props['prefix']"
|
66
|
-
[nzSuffix]="props['allowClear']!! ? inputClearTpl : props['suffix']"
|
67
|
-
>
|
68
|
-
<input
|
69
|
-
nz-input
|
70
|
-
[nzBorderless]="props['borderless']"
|
71
|
-
[nzAutocomplete]="auto"
|
72
|
-
[formControl]="formControl"
|
73
|
-
[formlyAttributes]="field"
|
74
|
-
/>
|
75
|
-
<nz-autocomplete
|
76
|
-
[nzBackfill]="props['autocompleteOptions']?.backfill"
|
77
|
-
[nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
|
78
|
-
[nzWidth]="props['autocompleteOptions']?.width"
|
79
|
-
[nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
|
80
|
-
[nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
|
81
|
-
[compareWith]="props['autocompleteOptions']?.compareWith"
|
82
|
-
#auto
|
83
|
-
>
|
84
|
-
@for (option of props['autocompleteOptions'].dataSource; track option) {
|
85
|
-
<nz-auto-option [nzLabel]="option.label" [nzValue]="option.value">
|
86
|
-
{{ option.label }}
|
87
|
-
</nz-auto-option>
|
88
|
-
}
|
89
|
-
</nz-autocomplete>
|
90
|
-
</nz-input-group>
|
91
|
-
}
|
92
|
-
@case ('group') {
|
93
|
-
<nz-input-group
|
94
|
-
[nzPrefixIcon]="props['prefixIcon']"
|
95
|
-
[nzSuffixIcon]="props['suffixIcon']"
|
96
|
-
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
97
|
-
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
98
|
-
[nzAddOnBefore]="props['addOnBefore']"
|
99
|
-
[nzAddOnAfter]="props['addOnAfter']"
|
100
|
-
[nzPrefix]="props['prefix']"
|
101
|
-
[nzSuffix]="props['allowClear']!! ? inputClearTpl : props['suffix']"
|
102
|
-
[nzCompact]="props['compact']!!"
|
103
|
-
[nzSearch]="props['search']!!"
|
104
|
-
[nzSize]="props['size']!"
|
105
|
-
[nzStatus]="props['status']!"
|
106
|
-
>
|
107
|
-
<input
|
108
|
-
nz-input
|
109
|
-
type="text"
|
110
|
-
[ngClass]="props['className']"
|
111
|
-
[ngStyle]="props['style']"
|
112
|
-
[formControl]="formControl"
|
113
|
-
[formlyAttributes]="field"
|
114
|
-
[nzBorderless]="!!props['borderless']!!"
|
115
|
-
(ngModelChange)="props['modelChange']?.(field, $event)"
|
116
|
-
/>
|
117
|
-
</nz-input-group>
|
118
|
-
}
|
119
|
-
@default {
|
120
|
-
<input
|
121
|
-
nz-input
|
122
|
-
type="text"
|
123
|
-
[ngClass]="props['className']"
|
124
|
-
[ngStyle]="props['style']"
|
125
|
-
[formControl]="formControl"
|
126
|
-
[formlyAttributes]="field"
|
127
|
-
[nzSize]="props['size']"
|
128
|
-
[nzStatus]="props['status']"
|
129
|
-
[nzBorderless]="props['borderless']!!"
|
130
|
-
(ngModelChange)="props['modelChange'] && props['modelChange'](field, $event)"
|
131
|
-
/>
|
132
|
-
}
|
31
|
+
get addOnBefore() {
|
32
|
+
return resolveTplName(this.props, this.fieldTemplates, 'addOnBefore');
|
33
|
+
}
|
34
|
+
get addOnAfter() {
|
35
|
+
return resolveTplName(this.props, this.fieldTemplates, 'addOnAfter');
|
133
36
|
}
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
nz-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FormlyFieldInput, deps: [{ token: i1.FormlyBoxTemplates, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.6", type: FormlyFieldInput, selector: "formly-field-input", usesInheritance: true, ngImport: i0, template: `
|
39
|
+
@switch (props.type) {
|
40
|
+
@case ('password') {
|
41
|
+
<nz-input-group
|
42
|
+
[nzPrefixIcon]="props['prefixIcon']"
|
43
|
+
[nzSuffixIcon]="props['suffixIcon']"
|
44
|
+
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
45
|
+
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
46
|
+
[nzAddOnBefore]="addOnBefore"
|
47
|
+
[nzAddOnAfter]="addOnAfter"
|
48
|
+
[nzPrefix]="props['prefix']"
|
49
|
+
[nzCompact]="props['compact']!!"
|
50
|
+
[nzSearch]="props['search']!!"
|
51
|
+
[nzSize]="props['size']!"
|
52
|
+
[nzStatus]="props['status']!"
|
53
|
+
[nzSuffix]="passwordEyeTpl"
|
54
|
+
>
|
55
|
+
<input
|
56
|
+
[type]="passwordVisible ? 'text' : 'password'"
|
57
|
+
nz-input
|
58
|
+
[formControl]="formControl"
|
59
|
+
[formlyAttributes]="field"
|
60
|
+
[nzBorderless]="props['borderless']!!"
|
61
|
+
(ngModelChange)="props['modelChange'] && props['modelChange'](field, $event)"
|
62
|
+
/>
|
63
|
+
</nz-input-group>
|
64
|
+
}
|
65
|
+
@case ('autoComplete') {
|
66
|
+
<nz-input-group
|
67
|
+
[nzSize]="props['size']"
|
68
|
+
[nzPrefixIcon]="props['prefixIcon']"
|
69
|
+
[nzSuffixIcon]="props['suffixIcon']"
|
70
|
+
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
71
|
+
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
72
|
+
[nzAddOnBefore]="addOnBefore"
|
73
|
+
[nzAddOnAfter]="addOnAfter"
|
74
|
+
[nzPrefix]="props['prefix']"
|
75
|
+
[nzSuffix]="props['allowClear']!! ? inputClearTpl : props['suffix']"
|
76
|
+
>
|
77
|
+
<input
|
78
|
+
nz-input
|
79
|
+
[nzBorderless]="props['borderless']"
|
80
|
+
[nzAutocomplete]="auto"
|
81
|
+
[formControl]="formControl"
|
82
|
+
[formlyAttributes]="field"
|
83
|
+
/>
|
84
|
+
<nz-autocomplete
|
85
|
+
[nzBackfill]="props['autocompleteOptions']?.backfill"
|
86
|
+
[nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
|
87
|
+
[nzWidth]="props['autocompleteOptions']?.width"
|
88
|
+
[nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
|
89
|
+
[nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
|
90
|
+
[compareWith]="props['autocompleteOptions']?.compareWith"
|
91
|
+
#auto
|
92
|
+
>
|
93
|
+
@for (option of props['autocompleteOptions'].dataSource; track option) {
|
94
|
+
<nz-auto-option [nzLabel]="option.label" [nzValue]="option.value">
|
95
|
+
{{ option.label }}
|
96
|
+
</nz-auto-option>
|
97
|
+
}
|
98
|
+
</nz-autocomplete>
|
99
|
+
</nz-input-group>
|
100
|
+
}
|
101
|
+
@case ('group') {
|
102
|
+
<nz-input-group
|
103
|
+
[nzPrefixIcon]="props['prefixIcon']"
|
104
|
+
[nzSuffixIcon]="props['suffixIcon']"
|
105
|
+
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
106
|
+
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
107
|
+
[nzAddOnBefore]="addOnBefore"
|
108
|
+
[nzAddOnAfter]="addOnAfter"
|
109
|
+
[nzPrefix]="props['prefix']"
|
110
|
+
[nzSuffix]="props['allowClear']!! ? inputClearTpl : props['suffix']"
|
111
|
+
[nzCompact]="props['compact']!!"
|
112
|
+
[nzSearch]="props['search']!!"
|
113
|
+
[nzSize]="props['size']!"
|
114
|
+
[nzStatus]="props['status']!"
|
115
|
+
>
|
116
|
+
<input
|
117
|
+
nz-input
|
118
|
+
type="text"
|
119
|
+
[ngClass]="props['ngClass']"
|
120
|
+
[ngStyle]="props['ngStyle']"
|
121
|
+
[formControl]="formControl"
|
122
|
+
[formlyAttributes]="field"
|
123
|
+
[nzBorderless]="!!props['borderless']!!"
|
124
|
+
(ngModelChange)="props['modelChange']?.(field, $event)"
|
125
|
+
/>
|
126
|
+
</nz-input-group>
|
127
|
+
}
|
128
|
+
@default {
|
129
|
+
<input
|
130
|
+
nz-input
|
131
|
+
type="text"
|
132
|
+
[ngClass]="props['ngClass']"
|
133
|
+
[ngStyle]="props['ngStyle']"
|
134
|
+
[formControl]="formControl"
|
135
|
+
[formlyAttributes]="field"
|
136
|
+
[nzSize]="props['size']"
|
137
|
+
[nzStatus]="props['status']"
|
138
|
+
[nzBorderless]="props['borderless']!!"
|
139
|
+
(ngModelChange)="props['modelChange'] && props['modelChange'](field, $event)"
|
140
|
+
/>
|
141
|
+
}
|
142
|
+
}
|
143
|
+
|
144
|
+
<!-- 查看密码 -->
|
145
|
+
<ng-template #passwordEyeTpl>
|
146
|
+
<span
|
147
|
+
nz-icon
|
148
|
+
class="cursor-pointer"
|
149
|
+
[nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
|
150
|
+
(click)="passwordVisible = !passwordVisible"
|
151
|
+
></span>
|
152
|
+
|
153
|
+
@if (formControl.value && props['allowClear']!!) {
|
154
|
+
<span
|
155
|
+
nz-icon
|
156
|
+
class="ant-input-clear-icon"
|
157
|
+
nzTheme="fill"
|
158
|
+
nzType="close-circle"
|
159
|
+
(click)="formControl.reset()"
|
160
|
+
></span>
|
161
|
+
}
|
162
|
+
</ng-template>
|
163
|
+
<!-- 清除数据 -->
|
164
|
+
<ng-template #inputClearTpl>
|
165
|
+
@if (formControl.value && !props['disabled'] && !props['readonly']) {
|
166
|
+
<span
|
167
|
+
nz-icon
|
168
|
+
class="ant-input-clear-icon"
|
169
|
+
nzTheme="fill"
|
170
|
+
nzType="close-circle"
|
171
|
+
(click)="formControl.reset()"
|
172
|
+
></span>
|
173
|
+
}
|
174
|
+
</ng-template>
|
175
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i4.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i4.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "component", type: i5.NzAutocompleteComponent, selector: "nz-autocomplete", inputs: ["nzWidth", "nzOverlayClassName", "nzOverlayStyle", "nzDefaultActiveFirstOption", "nzBackfill", "compareWith", "nzDataSource"], outputs: ["selectionChange"], exportAs: ["nzAutocomplete"] }, { kind: "component", type: i5.NzAutocompleteOptionComponent, selector: "nz-auto-option", inputs: ["nzValue", "nzLabel", "nzDisabled"], outputs: ["selectionChange", "mouseEntered"], exportAs: ["nzAutoOption"] }, { kind: "directive", type: i5.NzAutocompleteTriggerDirective, selector: "input[nzAutocomplete], textarea[nzAutocomplete]", inputs: ["nzAutocomplete"], exportAs: ["nzAutocompleteTrigger"] }, { kind: "directive", type: i6.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i7.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
167
176
|
}
|
168
177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: FormlyFieldInput, decorators: [{
|
169
178
|
type: Component,
|
170
179
|
args: [{
|
171
180
|
selector: 'formly-field-input',
|
172
|
-
template: `
|
173
|
-
@switch (props.type) {
|
174
|
-
@case ('password') {
|
175
|
-
<nz-input-group
|
176
|
-
[nzPrefixIcon]="props['prefixIcon']"
|
177
|
-
[nzSuffixIcon]="props['suffixIcon']"
|
178
|
-
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
179
|
-
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
180
|
-
[nzAddOnBefore]="
|
181
|
-
[nzAddOnAfter]="
|
182
|
-
[nzPrefix]="props['prefix']"
|
183
|
-
[nzCompact]="props['compact']!!"
|
184
|
-
[nzSearch]="props['search']!!"
|
185
|
-
[nzSize]="props['size']!"
|
186
|
-
[nzStatus]="props['status']!"
|
187
|
-
[nzSuffix]="passwordEyeTpl"
|
188
|
-
>
|
189
|
-
<input
|
190
|
-
[type]="passwordVisible ? 'text' : 'password'"
|
191
|
-
nz-input
|
192
|
-
[formControl]="formControl"
|
193
|
-
[formlyAttributes]="field"
|
194
|
-
[nzBorderless]="props['borderless']!!"
|
195
|
-
(ngModelChange)="props['modelChange'] && props['modelChange'](field, $event)"
|
196
|
-
/>
|
197
|
-
</nz-input-group>
|
198
|
-
}
|
199
|
-
@case ('autoComplete') {
|
200
|
-
<nz-input-group
|
201
|
-
[nzSize]="props['size']"
|
202
|
-
[nzPrefixIcon]="props['prefixIcon']"
|
203
|
-
[nzSuffixIcon]="props['suffixIcon']"
|
204
|
-
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
205
|
-
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
206
|
-
[nzAddOnBefore]="
|
207
|
-
[nzAddOnAfter]="
|
208
|
-
[nzPrefix]="props['prefix']"
|
209
|
-
[nzSuffix]="props['allowClear']!! ? inputClearTpl : props['suffix']"
|
210
|
-
>
|
211
|
-
<input
|
212
|
-
nz-input
|
213
|
-
[nzBorderless]="props['borderless']"
|
214
|
-
[nzAutocomplete]="auto"
|
215
|
-
[formControl]="formControl"
|
216
|
-
[formlyAttributes]="field"
|
217
|
-
/>
|
218
|
-
<nz-autocomplete
|
219
|
-
[nzBackfill]="props['autocompleteOptions']?.backfill"
|
220
|
-
[nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
|
221
|
-
[nzWidth]="props['autocompleteOptions']?.width"
|
222
|
-
[nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
|
223
|
-
[nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
|
224
|
-
[compareWith]="props['autocompleteOptions']?.compareWith"
|
225
|
-
#auto
|
226
|
-
>
|
227
|
-
@for (option of props['autocompleteOptions'].dataSource; track option) {
|
228
|
-
<nz-auto-option [nzLabel]="option.label" [nzValue]="option.value">
|
229
|
-
{{ option.label }}
|
230
|
-
</nz-auto-option>
|
231
|
-
}
|
232
|
-
</nz-autocomplete>
|
233
|
-
</nz-input-group>
|
234
|
-
}
|
235
|
-
@case ('group') {
|
236
|
-
<nz-input-group
|
237
|
-
[nzPrefixIcon]="props['prefixIcon']"
|
238
|
-
[nzSuffixIcon]="props['suffixIcon']"
|
239
|
-
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
240
|
-
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
241
|
-
[nzAddOnBefore]="
|
242
|
-
[nzAddOnAfter]="
|
243
|
-
[nzPrefix]="props['prefix']"
|
244
|
-
[nzSuffix]="props['allowClear']!! ? inputClearTpl : props['suffix']"
|
245
|
-
[nzCompact]="props['compact']!!"
|
246
|
-
[nzSearch]="props['search']!!"
|
247
|
-
[nzSize]="props['size']!"
|
248
|
-
[nzStatus]="props['status']!"
|
249
|
-
>
|
250
|
-
<input
|
251
|
-
nz-input
|
252
|
-
type="text"
|
253
|
-
[ngClass]="props['
|
254
|
-
[ngStyle]="props['
|
255
|
-
[formControl]="formControl"
|
256
|
-
[formlyAttributes]="field"
|
257
|
-
[nzBorderless]="!!props['borderless']!!"
|
258
|
-
(ngModelChange)="props['modelChange']?.(field, $event)"
|
259
|
-
/>
|
260
|
-
</nz-input-group>
|
261
|
-
}
|
262
|
-
@default {
|
263
|
-
<input
|
264
|
-
nz-input
|
265
|
-
type="text"
|
266
|
-
[ngClass]="props['
|
267
|
-
[ngStyle]="props['
|
268
|
-
[formControl]="formControl"
|
269
|
-
[formlyAttributes]="field"
|
270
|
-
[nzSize]="props['size']"
|
271
|
-
[nzStatus]="props['status']"
|
272
|
-
[nzBorderless]="props['borderless']!!"
|
273
|
-
(ngModelChange)="props['modelChange'] && props['modelChange'](field, $event)"
|
274
|
-
/>
|
275
|
-
}
|
276
|
-
}
|
277
|
-
|
278
|
-
<!-- 查看密码 -->
|
279
|
-
<ng-template #passwordEyeTpl>
|
280
|
-
<span
|
281
|
-
nz-icon
|
282
|
-
class="cursor-pointer"
|
283
|
-
[nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
|
284
|
-
(click)="passwordVisible = !passwordVisible"
|
285
|
-
></span>
|
286
|
-
|
287
|
-
@if (formControl.value && props['allowClear']!!) {
|
288
|
-
<span
|
289
|
-
nz-icon
|
290
|
-
class="ant-input-clear-icon"
|
291
|
-
nzTheme="fill"
|
292
|
-
nzType="close-circle"
|
293
|
-
(click)="formControl.reset()"
|
294
|
-
></span>
|
295
|
-
}
|
296
|
-
</ng-template>
|
297
|
-
<!-- 清除数据 -->
|
298
|
-
<ng-template #inputClearTpl>
|
299
|
-
@if (formControl.value && !props['disabled'] && !props['readonly']) {
|
300
|
-
<span
|
301
|
-
nz-icon
|
302
|
-
class="ant-input-clear-icon"
|
303
|
-
nzTheme="fill"
|
304
|
-
nzType="close-circle"
|
305
|
-
(click)="formControl.reset()"
|
306
|
-
></span>
|
307
|
-
}
|
308
|
-
</ng-template>
|
181
|
+
template: `
|
182
|
+
@switch (props.type) {
|
183
|
+
@case ('password') {
|
184
|
+
<nz-input-group
|
185
|
+
[nzPrefixIcon]="props['prefixIcon']"
|
186
|
+
[nzSuffixIcon]="props['suffixIcon']"
|
187
|
+
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
188
|
+
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
189
|
+
[nzAddOnBefore]="addOnBefore"
|
190
|
+
[nzAddOnAfter]="addOnAfter"
|
191
|
+
[nzPrefix]="props['prefix']"
|
192
|
+
[nzCompact]="props['compact']!!"
|
193
|
+
[nzSearch]="props['search']!!"
|
194
|
+
[nzSize]="props['size']!"
|
195
|
+
[nzStatus]="props['status']!"
|
196
|
+
[nzSuffix]="passwordEyeTpl"
|
197
|
+
>
|
198
|
+
<input
|
199
|
+
[type]="passwordVisible ? 'text' : 'password'"
|
200
|
+
nz-input
|
201
|
+
[formControl]="formControl"
|
202
|
+
[formlyAttributes]="field"
|
203
|
+
[nzBorderless]="props['borderless']!!"
|
204
|
+
(ngModelChange)="props['modelChange'] && props['modelChange'](field, $event)"
|
205
|
+
/>
|
206
|
+
</nz-input-group>
|
207
|
+
}
|
208
|
+
@case ('autoComplete') {
|
209
|
+
<nz-input-group
|
210
|
+
[nzSize]="props['size']"
|
211
|
+
[nzPrefixIcon]="props['prefixIcon']"
|
212
|
+
[nzSuffixIcon]="props['suffixIcon']"
|
213
|
+
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
214
|
+
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
215
|
+
[nzAddOnBefore]="addOnBefore"
|
216
|
+
[nzAddOnAfter]="addOnAfter"
|
217
|
+
[nzPrefix]="props['prefix']"
|
218
|
+
[nzSuffix]="props['allowClear']!! ? inputClearTpl : props['suffix']"
|
219
|
+
>
|
220
|
+
<input
|
221
|
+
nz-input
|
222
|
+
[nzBorderless]="props['borderless']"
|
223
|
+
[nzAutocomplete]="auto"
|
224
|
+
[formControl]="formControl"
|
225
|
+
[formlyAttributes]="field"
|
226
|
+
/>
|
227
|
+
<nz-autocomplete
|
228
|
+
[nzBackfill]="props['autocompleteOptions']?.backfill"
|
229
|
+
[nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
|
230
|
+
[nzWidth]="props['autocompleteOptions']?.width"
|
231
|
+
[nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
|
232
|
+
[nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
|
233
|
+
[compareWith]="props['autocompleteOptions']?.compareWith"
|
234
|
+
#auto
|
235
|
+
>
|
236
|
+
@for (option of props['autocompleteOptions'].dataSource; track option) {
|
237
|
+
<nz-auto-option [nzLabel]="option.label" [nzValue]="option.value">
|
238
|
+
{{ option.label }}
|
239
|
+
</nz-auto-option>
|
240
|
+
}
|
241
|
+
</nz-autocomplete>
|
242
|
+
</nz-input-group>
|
243
|
+
}
|
244
|
+
@case ('group') {
|
245
|
+
<nz-input-group
|
246
|
+
[nzPrefixIcon]="props['prefixIcon']"
|
247
|
+
[nzSuffixIcon]="props['suffixIcon']"
|
248
|
+
[nzAddOnAfterIcon]="props['addOnAfterIcon']"
|
249
|
+
[nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
|
250
|
+
[nzAddOnBefore]="addOnBefore"
|
251
|
+
[nzAddOnAfter]="addOnAfter"
|
252
|
+
[nzPrefix]="props['prefix']"
|
253
|
+
[nzSuffix]="props['allowClear']!! ? inputClearTpl : props['suffix']"
|
254
|
+
[nzCompact]="props['compact']!!"
|
255
|
+
[nzSearch]="props['search']!!"
|
256
|
+
[nzSize]="props['size']!"
|
257
|
+
[nzStatus]="props['status']!"
|
258
|
+
>
|
259
|
+
<input
|
260
|
+
nz-input
|
261
|
+
type="text"
|
262
|
+
[ngClass]="props['ngClass']"
|
263
|
+
[ngStyle]="props['ngStyle']"
|
264
|
+
[formControl]="formControl"
|
265
|
+
[formlyAttributes]="field"
|
266
|
+
[nzBorderless]="!!props['borderless']!!"
|
267
|
+
(ngModelChange)="props['modelChange']?.(field, $event)"
|
268
|
+
/>
|
269
|
+
</nz-input-group>
|
270
|
+
}
|
271
|
+
@default {
|
272
|
+
<input
|
273
|
+
nz-input
|
274
|
+
type="text"
|
275
|
+
[ngClass]="props['ngClass']"
|
276
|
+
[ngStyle]="props['ngStyle']"
|
277
|
+
[formControl]="formControl"
|
278
|
+
[formlyAttributes]="field"
|
279
|
+
[nzSize]="props['size']"
|
280
|
+
[nzStatus]="props['status']"
|
281
|
+
[nzBorderless]="props['borderless']!!"
|
282
|
+
(ngModelChange)="props['modelChange'] && props['modelChange'](field, $event)"
|
283
|
+
/>
|
284
|
+
}
|
285
|
+
}
|
286
|
+
|
287
|
+
<!-- 查看密码 -->
|
288
|
+
<ng-template #passwordEyeTpl>
|
289
|
+
<span
|
290
|
+
nz-icon
|
291
|
+
class="cursor-pointer"
|
292
|
+
[nzType]="passwordVisible ? 'eye-invisible' : 'eye'"
|
293
|
+
(click)="passwordVisible = !passwordVisible"
|
294
|
+
></span>
|
295
|
+
|
296
|
+
@if (formControl.value && props['allowClear']!!) {
|
297
|
+
<span
|
298
|
+
nz-icon
|
299
|
+
class="ant-input-clear-icon"
|
300
|
+
nzTheme="fill"
|
301
|
+
nzType="close-circle"
|
302
|
+
(click)="formControl.reset()"
|
303
|
+
></span>
|
304
|
+
}
|
305
|
+
</ng-template>
|
306
|
+
<!-- 清除数据 -->
|
307
|
+
<ng-template #inputClearTpl>
|
308
|
+
@if (formControl.value && !props['disabled'] && !props['readonly']) {
|
309
|
+
<span
|
310
|
+
nz-icon
|
311
|
+
class="ant-input-clear-icon"
|
312
|
+
nzTheme="fill"
|
313
|
+
nzType="close-circle"
|
314
|
+
(click)="formControl.reset()"
|
315
|
+
></span>
|
316
|
+
}
|
317
|
+
</ng-template>
|
309
318
|
`,
|
310
319
|
changeDetection: ChangeDetectionStrategy.OnPush
|
311
320
|
}]
|
312
|
-
}]
|
313
|
-
|
321
|
+
}], ctorParameters: () => [{ type: i1.FormlyBoxTemplates, decorators: [{
|
322
|
+
type: Optional
|
323
|
+
}] }] });
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zvcm1seWFudGQvaW5wdXQvc3JjL2lucHV0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7OztBQXNKbEYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQTBCO0lBZ0I5RCxZQUErQixjQUFrQztRQUMvRCxLQUFLLEVBQUUsQ0FBQztRQURxQixtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFmeEQsbUJBQWMsR0FBRztZQUN4QixLQUFLLEVBQUU7Z0JBQ0wsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE1BQU0sRUFBRSxLQUFLO2dCQUNiLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixtQkFBbUIsRUFBRTtvQkFDbkIsUUFBUSxFQUFFLEtBQUs7b0JBQ2Ysd0JBQXdCLEVBQUUsSUFBSTtvQkFDOUIsV0FBVyxFQUFFLENBQUMsRUFBYSxFQUFFLEVBQWEsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUU7aUJBQ3pEO2FBQ0Y7U0FDRixDQUFDO1FBQ0Ysb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFJeEIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7OEdBMUJVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLGlGQTVJakI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUlUOzsyRkFHVSxnQkFBZ0I7a0JBOUk1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5SVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFpQmMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3B0aW9uYWwsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XHJcbmltcG9ydCB0eXBlIHsgTnpGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ25neC1mb3JtbHktem9ycm8tYW50ZC9jb21tb24nO1xyXG5pbXBvcnQgdHlwZSB7IE56U2FmZUFueSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XHJcbmltcG9ydCB7IEZvcm1seUJveFRlbXBsYXRlcywgcmVzb2x2ZVRwbE5hbWUgfSBmcm9tICduZ3gtZm9ybWx5LXpvcnJvLWFudGQvY29tbW9uJztcclxuXHJcbmltcG9ydCB0eXBlIHsgSW5wdXRQcm9wcyB9IGZyb20gJy4vaW5wdXQucHJvcHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtbHlJbnB1dEZpZWxkQ29uZmlnIGV4dGVuZHMgTnpGb3JtbHlGaWVsZENvbmZpZzxJbnB1dFByb3BzPiB7XHJcbiAgdHlwZTogJ2lucHV0JyB8ICdzdHJpbmcnIHwgJ3Bhc3N3b3JkJyB8IFR5cGU8Rm9ybWx5RmllbGRJbnB1dD47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLWlucHV0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgQHN3aXRjaCAocHJvcHMudHlwZSkge1xyXG4gICAgICBAY2FzZSAoJ3Bhc3N3b3JkJykge1xyXG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxyXG4gICAgICAgICAgW256UHJlZml4SWNvbl09XCJwcm9wc1sncHJlZml4SWNvbiddXCJcclxuICAgICAgICAgIFtuelN1ZmZpeEljb25dPVwicHJvcHNbJ3N1ZmZpeEljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVySWNvbl09XCJwcm9wc1snYWRkT25BZnRlckljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkJlZm9yZUljb25dPVwicHJvcHNbJ2FkZE9uQmVmb3JlSWNvbiddXCJcclxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlXT1cImFkZE9uQmVmb3JlXCJcclxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJdPVwiYWRkT25BZnRlclwiXHJcbiAgICAgICAgICBbbnpQcmVmaXhdPVwicHJvcHNbJ3ByZWZpeCddXCJcclxuICAgICAgICAgIFtuekNvbXBhY3RdPVwicHJvcHNbJ2NvbXBhY3QnXSEhXCJcclxuICAgICAgICAgIFtuelNlYXJjaF09XCJwcm9wc1snc2VhcmNoJ10hIVwiXHJcbiAgICAgICAgICBbbnpTaXplXT1cInByb3BzWydzaXplJ10hXCJcclxuICAgICAgICAgIFtuelN0YXR1c109XCJwcm9wc1snc3RhdHVzJ10hXCJcclxuICAgICAgICAgIFtuelN1ZmZpeF09XCJwYXNzd29yZEV5ZVRwbFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIFt0eXBlXT1cInBhc3N3b3JkVmlzaWJsZSA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIlxyXG4gICAgICAgICAgICBuei1pbnB1dFxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXHJcbiAgICAgICAgICAgIFtuekJvcmRlcmxlc3NdPVwicHJvcHNbJ2JvcmRlcmxlc3MnXSEhXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcHNbJ21vZGVsQ2hhbmdlJ10gJiYgcHJvcHNbJ21vZGVsQ2hhbmdlJ10oZmllbGQsICRldmVudClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L256LWlucHV0LWdyb3VwPlxyXG4gICAgICB9XHJcbiAgICAgIEBjYXNlICgnYXV0b0NvbXBsZXRlJykge1xyXG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxyXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddXCJcclxuICAgICAgICAgIFtuelByZWZpeEljb25dPVwicHJvcHNbJ3ByZWZpeEljb24nXVwiXHJcbiAgICAgICAgICBbbnpTdWZmaXhJY29uXT1cInByb3BzWydzdWZmaXhJY29uJ11cIlxyXG4gICAgICAgICAgW256QWRkT25BZnRlckljb25dPVwicHJvcHNbJ2FkZE9uQWZ0ZXJJY29uJ11cIlxyXG4gICAgICAgICAgW256QWRkT25CZWZvcmVJY29uXT1cInByb3BzWydhZGRPbkJlZm9yZUljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkJlZm9yZV09XCJhZGRPbkJlZm9yZVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVyXT1cImFkZE9uQWZ0ZXJcIlxyXG4gICAgICAgICAgW256UHJlZml4XT1cInByb3BzWydwcmVmaXgnXVwiXHJcbiAgICAgICAgICBbbnpTdWZmaXhdPVwicHJvcHNbJ2FsbG93Q2xlYXInXSEhID8gaW5wdXRDbGVhclRwbCA6IHByb3BzWydzdWZmaXgnXVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIG56LWlucHV0XHJcbiAgICAgICAgICAgIFtuekJvcmRlcmxlc3NdPVwicHJvcHNbJ2JvcmRlcmxlc3MnXVwiXHJcbiAgICAgICAgICAgIFtuekF1dG9jb21wbGV0ZV09XCJhdXRvXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxuei1hdXRvY29tcGxldGVcclxuICAgICAgICAgICAgW256QmFja2ZpbGxdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8uYmFja2ZpbGxcIlxyXG4gICAgICAgICAgICBbbnpEZWZhdWx0QWN0aXZlRmlyc3RPcHRpb25dPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8uZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uXCJcclxuICAgICAgICAgICAgW256V2lkdGhdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ud2lkdGhcIlxyXG4gICAgICAgICAgICBbbnpPdmVybGF5Q2xhc3NOYW1lXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/Lm92ZXJsYXlDbGFzc05hbWVcIlxyXG4gICAgICAgICAgICBbbnpPdmVybGF5U3R5bGVdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ub3ZlcmxheVN0eWxlXCJcclxuICAgICAgICAgICAgW2NvbXBhcmVXaXRoXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/LmNvbXBhcmVXaXRoXCJcclxuICAgICAgICAgICAgI2F1dG9cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10uZGF0YVNvdXJjZTsgdHJhY2sgb3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgPG56LWF1dG8tb3B0aW9uIFtuekxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiIFtuelZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgPC9uei1hdXRvLW9wdGlvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9uei1hdXRvY29tcGxldGU+XHJcbiAgICAgICAgPC9uei1pbnB1dC1ncm91cD5cclxuICAgICAgfVxyXG4gICAgICBAY2FzZSAoJ2dyb3VwJykge1xyXG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxyXG4gICAgICAgICAgW256UHJlZml4SWNvbl09XCJwcm9wc1sncHJlZml4SWNvbiddXCJcclxuICAgICAgICAgIFtuelN1ZmZpeEljb25dPVwicHJvcHNbJ3N1ZmZpeEljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVySWNvbl09XCJwcm9wc1snYWRkT25BZnRlckljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkJlZm9yZUljb25dPVwicHJvcHNbJ2FkZE9uQmVmb3JlSWNvbiddXCJcclxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlXT1cImFkZE9uQmVmb3JlXCJcclxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJdPVwiYWRkT25BZnRlclwiXHJcbiAgICAgICAgICBbbnpQcmVmaXhdPVwicHJvcHNbJ3ByZWZpeCddXCJcclxuICAgICAgICAgIFtuelN1ZmZpeF09XCJwcm9wc1snYWxsb3dDbGVhciddISEgPyBpbnB1dENsZWFyVHBsIDogcHJvcHNbJ3N1ZmZpeCddXCJcclxuICAgICAgICAgIFtuekNvbXBhY3RdPVwicHJvcHNbJ2NvbXBhY3QnXSEhXCJcclxuICAgICAgICAgIFtuelNlYXJjaF09XCJwcm9wc1snc2VhcmNoJ10hIVwiXHJcbiAgICAgICAgICBbbnpTaXplXT1cInByb3BzWydzaXplJ10hXCJcclxuICAgICAgICAgIFtuelN0YXR1c109XCJwcm9wc1snc3RhdHVzJ10hXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgbnotaW5wdXRcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJwcm9wc1snbmdDbGFzcyddXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwicHJvcHNbJ25nU3R5bGUnXVwiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcclxuICAgICAgICAgICAgW256Qm9yZGVybGVzc109XCIhIXByb3BzWydib3JkZXJsZXNzJ10hIVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BzWydtb2RlbENoYW5nZSddPy4oZmllbGQsICRldmVudClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L256LWlucHV0LWdyb3VwPlxyXG4gICAgICB9XHJcbiAgICAgIEBkZWZhdWx0IHtcclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG56LWlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJwcm9wc1snbmdDbGFzcyddXCJcclxuICAgICAgICAgIFtuZ1N0eWxlXT1cInByb3BzWyduZ1N0eWxlJ11cIlxyXG4gICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcclxuICAgICAgICAgIFtuelNpemVdPVwicHJvcHNbJ3NpemUnXVwiXHJcbiAgICAgICAgICBbbnpTdGF0dXNdPVwicHJvcHNbJ3N0YXR1cyddXCJcclxuICAgICAgICAgIFtuekJvcmRlcmxlc3NdPVwicHJvcHNbJ2JvcmRlcmxlc3MnXSEhXCJcclxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BzWydtb2RlbENoYW5nZSddICYmIHByb3BzWydtb2RlbENoYW5nZSddKGZpZWxkLCAkZXZlbnQpXCJcclxuICAgICAgICAvPlxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPCEtLSDmn6XnnIvlr4bnoIEgLS0+XHJcbiAgICA8bmctdGVtcGxhdGUgI3Bhc3N3b3JkRXllVHBsPlxyXG4gICAgICA8c3BhblxyXG4gICAgICAgIG56LWljb25cclxuICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcclxuICAgICAgICBbbnpUeXBlXT1cInBhc3N3b3JkVmlzaWJsZSA/ICdleWUtaW52aXNpYmxlJyA6ICdleWUnXCJcclxuICAgICAgICAoY2xpY2spPVwicGFzc3dvcmRWaXNpYmxlID0gIXBhc3N3b3JkVmlzaWJsZVwiXHJcbiAgICAgID48L3NwYW4+XHJcblxyXG4gICAgICBAaWYgKGZvcm1Db250cm9sLnZhbHVlICYmIHByb3BzWydhbGxvd0NsZWFyJ10hISkge1xyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBuei1pY29uXHJcbiAgICAgICAgICBjbGFzcz1cImFudC1pbnB1dC1jbGVhci1pY29uXCJcclxuICAgICAgICAgIG56VGhlbWU9XCJmaWxsXCJcclxuICAgICAgICAgIG56VHlwZT1cImNsb3NlLWNpcmNsZVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwiZm9ybUNvbnRyb2wucmVzZXQoKVwiXHJcbiAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS0g5riF6Zmk5pWw5o2uIC0tPlxyXG4gICAgPG5nLXRlbXBsYXRlICNpbnB1dENsZWFyVHBsPlxyXG4gICAgICBAaWYgKGZvcm1Db250cm9sLnZhbHVlICYmICFwcm9wc1snZGlzYWJsZWQnXSAmJiAhcHJvcHNbJ3JlYWRvbmx5J10pIHtcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgbnotaWNvblxyXG4gICAgICAgICAgY2xhc3M9XCJhbnQtaW5wdXQtY2xlYXItaWNvblwiXHJcbiAgICAgICAgICBuelRoZW1lPVwiZmlsbFwiXHJcbiAgICAgICAgICBuelR5cGU9XCJjbG9zZS1jaXJjbGVcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImZvcm1Db250cm9sLnJlc2V0KClcIlxyXG4gICAgICAgID48L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRJbnB1dCBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc+IHtcclxuICBvdmVycmlkZSBkZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgIHByb3BzOiB7XHJcbiAgICAgIGJvcmRlcmxlc3M6IGZhbHNlLFxyXG4gICAgICBjb21wYWN0OiBmYWxzZSxcclxuICAgICAgc2VhcmNoOiBmYWxzZSxcclxuICAgICAgYWxsb3dDbGVhcjogZmFsc2UsXHJcbiAgICAgIGF1dG9jb21wbGV0ZU9wdGlvbnM6IHtcclxuICAgICAgICBiYWNrZmlsbDogZmFsc2UsXHJcbiAgICAgICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uOiB0cnVlLFxyXG4gICAgICAgIGNvbXBhcmVXaXRoOiAobzE6IE56U2FmZUFueSwgbzI6IE56U2FmZUFueSkgPT4gbzEgPT09IG8yXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG4gIHBhc3N3b3JkVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZmllbGRUZW1wbGF0ZXM6IEZvcm1seUJveFRlbXBsYXRlcykge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRPbkJlZm9yZSgpIHtcclxuICAgIHJldHVybiByZXNvbHZlVHBsTmFtZSh0aGlzLnByb3BzLCB0aGlzLmZpZWxkVGVtcGxhdGVzLCAnYWRkT25CZWZvcmUnKTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRPbkFmdGVyKCkge1xyXG4gICAgcmV0dXJuIHJlc29sdmVUcGxOYW1lKHRoaXMucHJvcHMsIHRoaXMuZmllbGRUZW1wbGF0ZXMsICdhZGRPbkFmdGVyJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|