@wemake4u/form-player-se 1.0.39 → 1.0.40
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/esm2022/lib/builtIn/builtIn.mjs +24 -0
- package/esm2022/lib/builtIn/console.json +253 -0
- package/esm2022/lib/builtIn/dialog.json +109 -0
- package/esm2022/lib/builtIn/feel.json +26 -0
- package/esm2022/lib/builtIn/form.json +172 -0
- package/esm2022/lib/builtIn/formGroup.json +218 -0
- package/esm2022/lib/builtIn/formatter.json +112 -0
- package/esm2022/lib/builtIn/function.json +53 -0
- package/esm2022/lib/builtIn/register.json +14 -0
- package/esm2022/lib/components/setFilter/setFilter.component.mjs +18 -3
- package/esm2022/lib/directives/accordionpanel.directive.mjs +10 -5
- package/esm2022/lib/directives/collapse.directive.mjs +22 -12
- package/esm2022/lib/directives/collapsepatch.directive.mjs +2 -1
- package/esm2022/lib/directives/datetime.directive.mjs +18 -21
- package/esm2022/lib/directives/dropdown.directive.mjs +31 -16
- package/esm2022/lib/directives/grid.directive.mjs +10 -8
- package/esm2022/lib/directives/readonly.directive.mjs +10 -9
- package/esm2022/lib/directives/register.directive.mjs +8 -10
- package/esm2022/lib/directives/required.directive.mjs +57 -0
- package/esm2022/lib/directives/tabcontrol.directive.mjs +10 -9
- package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +20 -4
- package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +43 -21
- package/esm2022/lib/dynamic-host/dynamic-host.component.mjs +32 -10
- package/esm2022/lib/services/event.service.mjs +17 -6
- package/esm2022/lib/services/grid.service.mjs +4 -1
- package/esm2022/lib/services/listener.service.mjs +23 -0
- package/esm2022/lib/services/programmability.service.mjs +54 -38
- package/esm2022/lib/services/status.service.mjs +10 -5
- package/esm2022/lib/services/subscribe.service.mjs +54 -0
- package/esm2022/lib/services/validation.service.mjs +11 -2
- package/esm2022/lib/utils/deepEqual.mjs +46 -0
- package/esm2022/lib/utils/observable.mjs +7 -0
- package/esm2022/lib/utils/proxy.mjs +28 -1
- package/esm2022/lib/utils/resolveRefs.mjs +67 -0
- package/esm2022/public-api.mjs +5 -1
- package/fesm2022/wemake4u-form-player-se.mjs +1573 -175
- package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
- package/lib/builtIn/builtIn.d.ts +32 -0
- package/lib/components/setFilter/setFilter.component.d.ts +1 -0
- package/lib/directives/accordionpanel.directive.d.ts +4 -2
- package/lib/directives/collapse.directive.d.ts +5 -3
- package/lib/directives/datetime.directive.d.ts +7 -8
- package/lib/directives/dropdown.directive.d.ts +6 -3
- package/lib/directives/grid.directive.d.ts +4 -3
- package/lib/directives/readonly.directive.d.ts +3 -4
- package/lib/directives/register.directive.d.ts +3 -3
- package/lib/directives/required.directive.d.ts +17 -0
- package/lib/directives/tabcontrol.directive.d.ts +5 -6
- package/lib/dynamic-fields/dynamic-fields.component.d.ts +1 -0
- package/lib/dynamic-form/dynamic-form.component.d.ts +4 -1
- package/lib/dynamic-host/dynamic-host.component.d.ts +6 -2
- package/lib/services/event.service.d.ts +8 -2
- package/lib/services/listener.service.d.ts +11 -0
- package/lib/services/programmability.service.d.ts +8 -9
- package/lib/services/status.service.d.ts +5 -1
- package/lib/services/subscribe.service.d.ts +14 -0
- package/lib/services/validation.service.d.ts +5 -2
- package/lib/utils/deepEqual.d.ts +1 -0
- package/lib/utils/observable.d.ts +2 -0
- package/lib/utils/proxy.d.ts +2 -0
- package/lib/utils/resolveRefs.d.ts +12 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "formGroup",
|
|
3
|
+
"detail": "Form",
|
|
4
|
+
"info": "Tracks the value and validity state of a group of FormControl instances.\n\n---\n\n### Description\n\nA FormGroup aggregates the values and validation status of multiple child controls and allows managing them as a single unit.\n\n---\n\n### Examples\n\n```ts\nconst form = new FormGroup({\n name: new FormControl(''),\n age: new FormControl(0)\n});\n```",
|
|
5
|
+
"entries": [
|
|
6
|
+
{
|
|
7
|
+
"name": "get",
|
|
8
|
+
"type": "function",
|
|
9
|
+
"detail": "Returns a child control given its path",
|
|
10
|
+
"info": "Returns a child control identified by the given path.\n\n---\n\n### Function signature\n\n```\nget(path: string | (string | number)[]): AbstractControl | null\n```\n\n---\n\n### Examples\n\n```ts\nform.get('name');\nform.get(['address', 'street']);\n```",
|
|
11
|
+
"params": [
|
|
12
|
+
{
|
|
13
|
+
"name": "path",
|
|
14
|
+
"type": "string | (string | number)[]"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "setValue",
|
|
20
|
+
"type": "function",
|
|
21
|
+
"detail": "Sets the value of the FormGroup",
|
|
22
|
+
"info": "Sets the value of the entire FormGroup.\n\n---\n\n### Function signature\n\n```\nsetValue(value: object, options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.setValue({ name: 'Mario', age: 30 });\n```",
|
|
23
|
+
"params": [
|
|
24
|
+
{
|
|
25
|
+
"name": "value",
|
|
26
|
+
"type": "object"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "options",
|
|
30
|
+
"type": "object",
|
|
31
|
+
"optional": true
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "patchValue",
|
|
37
|
+
"type": "function",
|
|
38
|
+
"detail": "Patches the value of the FormGroup",
|
|
39
|
+
"info": "Updates one or more values of the FormGroup without affecting other controls.\n\n---\n\n### Function signature\n\n```\npatchValue(value: object, options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.patchValue({ name: 'Luigi' });\n```",
|
|
40
|
+
"params": [
|
|
41
|
+
{
|
|
42
|
+
"name": "value",
|
|
43
|
+
"type": "object"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "options",
|
|
47
|
+
"type": "object",
|
|
48
|
+
"optional": true
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "reset",
|
|
54
|
+
"type": "function",
|
|
55
|
+
"detail": "Resets the FormGroup",
|
|
56
|
+
"info": "Resets the FormGroup to an initial or provided state.\n\n---\n\n### Function signature\n\n```\nreset(value?: object, options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.reset();\nform.reset({ name: 'Anna', age: 25 });\n```",
|
|
57
|
+
"params": [
|
|
58
|
+
{
|
|
59
|
+
"name": "value",
|
|
60
|
+
"type": "object",
|
|
61
|
+
"optional": true
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "options",
|
|
65
|
+
"type": "object",
|
|
66
|
+
"optional": true
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "addControl",
|
|
72
|
+
"type": "function",
|
|
73
|
+
"detail": "Adds a new control to the group",
|
|
74
|
+
"info": "Adds a new control to the FormGroup.\n\n---\n\n### Function signature\n\n```\naddControl(name: string, control: AbstractControl): void\n```\n\n---\n\n### Examples\n\n```ts\nform.addControl('email', new FormControl(''));\n```",
|
|
75
|
+
"params": [
|
|
76
|
+
{
|
|
77
|
+
"name": "name",
|
|
78
|
+
"type": "string"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "control",
|
|
82
|
+
"type": "AbstractControl"
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "removeControl",
|
|
88
|
+
"type": "function",
|
|
89
|
+
"detail": "Removes an existing control from the group",
|
|
90
|
+
"info": "Removes a control from the FormGroup.\n\n---\n\n### Function signature\n\n```\nremoveControl(name: string): void\n```\n\n---\n\n### Examples\n\n```ts\nform.removeControl('age');\n```",
|
|
91
|
+
"params": [
|
|
92
|
+
{
|
|
93
|
+
"name": "name",
|
|
94
|
+
"type": "string"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "contains",
|
|
100
|
+
"type": "function",
|
|
101
|
+
"detail": "Checks if the group contains a control",
|
|
102
|
+
"info": "Checks whether a control with the given name exists in the FormGroup.\n\n---\n\n### Function signature\n\n```\ncontains(controlName: string): boolean\n```\n\n---\n\n### Examples\n\n```ts\nform.contains('name'); // true\n```",
|
|
103
|
+
"params": [
|
|
104
|
+
{
|
|
105
|
+
"name": "controlName",
|
|
106
|
+
"type": "string"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "setControl",
|
|
112
|
+
"type": "function",
|
|
113
|
+
"detail": "Replaces an existing control",
|
|
114
|
+
"info": "Replaces an existing control with a new one.\n\n---\n\n### Function signature\n\n```\nsetControl(name: string, control: AbstractControl): void\n```\n\n---\n\n### Examples\n\n```ts\nform.setControl('name', new FormControl('Giulia'));\n```",
|
|
115
|
+
"params": [
|
|
116
|
+
{
|
|
117
|
+
"name": "name",
|
|
118
|
+
"type": "string"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "control",
|
|
122
|
+
"type": "AbstractControl"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "markAsTouched",
|
|
128
|
+
"type": "function",
|
|
129
|
+
"detail": "",
|
|
130
|
+
"info": "Marks all controls in the FormGroup as touched.\n\n---\n\n### Function signature\n\n```\nmarkAsTouched(options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.markAsTouched();\n```",
|
|
131
|
+
"params": [
|
|
132
|
+
{
|
|
133
|
+
"name": "options",
|
|
134
|
+
"type": "object",
|
|
135
|
+
"optional": true
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "markAsUntouched",
|
|
141
|
+
"type": "function",
|
|
142
|
+
"detail": "",
|
|
143
|
+
"info": "Marks all controls in the FormGroup as untouched.\n\n---\n\n### Function signature\n\n```\nmarkAsUntouched(options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.markAsUntouched();\n```",
|
|
144
|
+
"params": [
|
|
145
|
+
{
|
|
146
|
+
"name": "options",
|
|
147
|
+
"type": "object",
|
|
148
|
+
"optional": true
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "markAsDirty",
|
|
154
|
+
"type": "function",
|
|
155
|
+
"detail": "",
|
|
156
|
+
"info": "Marks all controls in the FormGroup as dirty.\n\n---\n\n### Function signature\n\n```\nmarkAsDirty(options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.markAsDirty();\n```",
|
|
157
|
+
"params": [
|
|
158
|
+
{
|
|
159
|
+
"name": "options",
|
|
160
|
+
"type": "object",
|
|
161
|
+
"optional": true
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"name": "markAsPristine",
|
|
167
|
+
"type": "function",
|
|
168
|
+
"detail": "",
|
|
169
|
+
"info": "Marks all controls in the FormGroup as pristine.\n\n---\n\n### Function signature\n\n```\nmarkAsPristine(options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.markAsPristine();\n```",
|
|
170
|
+
"params": [
|
|
171
|
+
{
|
|
172
|
+
"name": "options",
|
|
173
|
+
"type": "object",
|
|
174
|
+
"optional": true
|
|
175
|
+
}
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "disable",
|
|
180
|
+
"type": "function",
|
|
181
|
+
"detail": "Disables the control",
|
|
182
|
+
"info": "Disables the FormGroup and all its child controls.\n\n---\n\n### Function signature\n\n```\ndisable(options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.disable();\n```",
|
|
183
|
+
"params": [
|
|
184
|
+
{
|
|
185
|
+
"name": "options",
|
|
186
|
+
"type": "object",
|
|
187
|
+
"optional": true
|
|
188
|
+
}
|
|
189
|
+
]
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "enable",
|
|
193
|
+
"type": "function",
|
|
194
|
+
"detail": "Enables the control",
|
|
195
|
+
"info": "Enables the FormGroup and all its child controls.\n\n---\n\n### Function signature\n\n```\nenable(options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.enable();\n```",
|
|
196
|
+
"params": [
|
|
197
|
+
{
|
|
198
|
+
"name": "options",
|
|
199
|
+
"type": "object",
|
|
200
|
+
"optional": true
|
|
201
|
+
}
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "updateValueAndValidity",
|
|
206
|
+
"type": "function",
|
|
207
|
+
"detail": "Recalculates the value and validation status",
|
|
208
|
+
"info": "Recalculates the value and validation status of the FormGroup.\n\n---\n\n### Function signature\n\n```\nupdateValueAndValidity(options?: object): void\n```\n\n---\n\n### Examples\n\n```ts\nform.updateValueAndValidity();\n```",
|
|
209
|
+
"params": [
|
|
210
|
+
{
|
|
211
|
+
"name": "options",
|
|
212
|
+
"type": "object",
|
|
213
|
+
"optional": true
|
|
214
|
+
}
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
]
|
|
218
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "formatDate",
|
|
4
|
+
"type": "function",
|
|
5
|
+
"detail": "Formats a date value",
|
|
6
|
+
"info": "Formats an ISO date string into a localized date representation.\n\n---\n\n### Function signature\n\n```\nformatDate(isoDate: string | null | undefined, options?: Intl.DateTimeFormatOptions, locale?: string): string\n```\n\n---\n\n### Examples\n\n```feel\nformatDate(\"2024-01-15\")\n// \"15/01/2024\"\n\nformatDate(\"2024-01-15\", { month: \"long\" })\n// \"15 gennaio 2024\"\n\nformatDate(null)\n// \"\"\n```",
|
|
7
|
+
"params": [
|
|
8
|
+
{
|
|
9
|
+
"name": "isoDate",
|
|
10
|
+
"type": "string | null | undefined"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "options",
|
|
14
|
+
"type": "Intl.DateTimeFormatOptions",
|
|
15
|
+
"optional": true
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "locale",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"optional": true
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "formatTime",
|
|
26
|
+
"type": "function",
|
|
27
|
+
"detail": "Formats a time value",
|
|
28
|
+
"info": "Formats an ISO date string into a localized time representation using a 24-hour clock.\n\n---\n\n### Function signature\n\n```\nformatTime(isoDate: string | null | undefined, options?: Intl.DateTimeFormatOptions, locale?: string): string\n```\n\n---\n\n### Examples\n\n```feel\nformatTime(\"2024-01-15T14:30:45\")\n// \"14:30:45\"\n\nformatTime(\"2024-01-15T14:30:45\", { second: undefined })\n// \"14:30\"\n```",
|
|
29
|
+
"params": [
|
|
30
|
+
{
|
|
31
|
+
"name": "isoDate",
|
|
32
|
+
"type": "string | null | undefined"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "options",
|
|
36
|
+
"type": "Intl.DateTimeFormatOptions",
|
|
37
|
+
"optional": true
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "locale",
|
|
41
|
+
"type": "string",
|
|
42
|
+
"optional": true
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "formatDateTime",
|
|
48
|
+
"type": "function",
|
|
49
|
+
"detail": "Formats a date and time value",
|
|
50
|
+
"info": "Formats an ISO date string into a localized date and time representation.\n\n---\n\n### Function signature\n\n```\nformatDateTime(isoDate: string | null | undefined, options?: Intl.DateTimeFormatOptions, locale?: string): string\n```\n\n---\n\n### Examples\n\n```feel\nformatDateTime(\"2024-01-15T14:30:45\")\n// \"15/01/2024 14:30:45\"\n```",
|
|
51
|
+
"params": [
|
|
52
|
+
{
|
|
53
|
+
"name": "isoDate",
|
|
54
|
+
"type": "string | null | undefined"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"name": "options",
|
|
58
|
+
"type": "Intl.DateTimeFormatOptions",
|
|
59
|
+
"optional": true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"name": "locale",
|
|
63
|
+
"type": "string",
|
|
64
|
+
"optional": true
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "formatCurrency",
|
|
70
|
+
"type": "function",
|
|
71
|
+
"detail": "Formats a currency value",
|
|
72
|
+
"info": "Formats a numeric value as a localized currency string.\n\n---\n\n### Function signature\n\n```\nformatCurrency(value: number, currency?: string, locale?: string): string\n```\n\n---\n\n### Examples\n\n```feel\nformatCurrency(1234.5)\n// \"€ 1.234,50\"\n\nformatCurrency(1234.5, \"USD\", \"en-US\")\n// \"$1,234.50\"\n```",
|
|
73
|
+
"params": [
|
|
74
|
+
{
|
|
75
|
+
"name": "value",
|
|
76
|
+
"type": "number"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "currency",
|
|
80
|
+
"type": "string",
|
|
81
|
+
"optional": true
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "locale",
|
|
85
|
+
"type": "string",
|
|
86
|
+
"optional": true
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "formatNumber",
|
|
92
|
+
"type": "function",
|
|
93
|
+
"detail": "Formats a numeric value",
|
|
94
|
+
"info": "Formats a numeric value using localized decimal formatting and a fixed number of decimal places.\n\n---\n\n### Function signature\n\n```\nformatNumber(value: number, decimals?: number, locale?: string): string\n```\n\n---\n\n### Examples\n\n```feel\nformatNumber(1234.567)\n// \"1.234,57\"\n\nformatNumber(1234.5, 0)\n// \"1.235\"\n\nformatNumber(1234.5, 3, \"en-US\")\n// \"1,234.500\"\n```",
|
|
95
|
+
"params": [
|
|
96
|
+
{
|
|
97
|
+
"name": "value",
|
|
98
|
+
"type": "number"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "decimals",
|
|
102
|
+
"type": "number",
|
|
103
|
+
"optional": true
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "locale",
|
|
107
|
+
"type": "string",
|
|
108
|
+
"optional": true
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
]
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "invokable",
|
|
4
|
+
"type": "function",
|
|
5
|
+
"detail": "Wraps an invokable object into a function",
|
|
6
|
+
"info": "Wraps an object exposing an `invoke` method into a callable function.\n\n---\n\n### Function signature\n\n```\ninvokable(func: any): Function\n```\n\n---\n\n### Notes\n\nIf the provided object does not expose an `invoke` method, a no-op function is returned.\n\n---\n\n### Examples\n\n```ts\nconst fn = {\n invoke: (args: any[]) => console.log(args)\n};\n\nconst wrapped = invokable(fn);\nwrapped(1, 2, 3);\n```",
|
|
7
|
+
"params": [
|
|
8
|
+
{
|
|
9
|
+
"name": "func",
|
|
10
|
+
"type": "any"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"name": "executeOnce",
|
|
16
|
+
"type": "function",
|
|
17
|
+
"detail": "Executes a callback once on an observable",
|
|
18
|
+
"info": "Executes a callback when the first value is emitted by an observable.\n\n---\n\n### Function signature\n\n```\nexecuteOnce<T>(observable: Observable<T>, callback: any): void\n```\n\n---\n\n### Notes\n\nThe observable is automatically completed after the first emitted value using `take(1)`.\n\n---\n\n### Examples\n\n```ts\nexecuteOnce(userLoaded$, {\n invoke: user => console.log(user)\n});\n```",
|
|
19
|
+
"params": [
|
|
20
|
+
{
|
|
21
|
+
"name": "observable",
|
|
22
|
+
"type": "Observable<any>"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "callback",
|
|
26
|
+
"type": "any"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"name": "openForm",
|
|
32
|
+
"type": "function",
|
|
33
|
+
"detail": "Opens a form dialog",
|
|
34
|
+
"info": "Opens a dialog using a form template or a form schema object.\n\n---\n\n### Function signature\n\n```\nopenForm(template: string | object, options: DialogOptions): void\n```\n\n---\n\n### Notes\n\nIf a template name is provided, the form schema is resolved through metadata. Dependency injection is applied to the dialog context.\n\n---\n\n### Examples\n\n```ts\nopenForm(\"userForm\", {\n title: \"Edit user\"\n});\n```\n\n```ts\nopenForm({ forms: [] }, {\n title: \"Custom form\",\n buttons: \"OKCancel\"\n});\n```",
|
|
35
|
+
"params": [
|
|
36
|
+
{
|
|
37
|
+
"name": "template",
|
|
38
|
+
"type": "string | object"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "options",
|
|
42
|
+
"type": "DialogOptions"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "newGuid",
|
|
48
|
+
"type": "function",
|
|
49
|
+
"detail": "Generates a new unique identifier",
|
|
50
|
+
"info": "Generates and returns a new globally unique identifier.\n\n---\n\n### Function signature\n\n```\nnewGuid(): string\n```\n\n---\n\n### Examples\n\n```ts\nconst id = newGuid();\n// \"550e8400-e29b-41d4-a716-446655440000\"\n```",
|
|
51
|
+
"params": []
|
|
52
|
+
}
|
|
53
|
+
]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "control",
|
|
4
|
+
"type": "function",
|
|
5
|
+
"detail": "Returns a form control by name",
|
|
6
|
+
"info": "Returns the form control associated with the provided control name.\n\n---\n\n### Function signature\n\n```\ncontrol(name: string): Control | null\n```\n\n---\n\n### Notes\n\nThe control is resolved from the local registry. If not found, the lookup continues in parent scopes. A name starting with `\"../\"` explicitly resolves the control from the parent scope.\n\n---\n\n### Examples\n\n```ts\ncontrol(\"username\")\n```\n\n```ts\ncontrol(\"address\")\n```\n\n```ts\n// Resolve control from parent scope\ncontrol(\"../total\")\n```\n\n```ts\n// Returns null if not found\ncontrol(\"unknown\")\n```",
|
|
7
|
+
"params": [
|
|
8
|
+
{
|
|
9
|
+
"name": "name",
|
|
10
|
+
"type": "string"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
]
|
|
@@ -52,15 +52,16 @@ export class SetFilterComponent {
|
|
|
52
52
|
type: 'excludeAll'
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
+
const filterType = this.getFilterType();
|
|
55
56
|
const filters = selectedValues.map(value => ({
|
|
56
|
-
filterType:
|
|
57
|
+
filterType: filterType,
|
|
57
58
|
type: 'equals',
|
|
58
59
|
filter: value
|
|
59
60
|
}));
|
|
60
61
|
if (filters.length === 1)
|
|
61
62
|
return filters[0];
|
|
62
63
|
return {
|
|
63
|
-
filterType:
|
|
64
|
+
filterType: filterType,
|
|
64
65
|
operator: 'OR',
|
|
65
66
|
conditions: filters
|
|
66
67
|
};
|
|
@@ -99,6 +100,20 @@ export class SetFilterComponent {
|
|
|
99
100
|
resolvePath(obj, path) {
|
|
100
101
|
return path.split('.').reduce((acc, part) => acc?.[part], obj);
|
|
101
102
|
}
|
|
103
|
+
getFilterType() {
|
|
104
|
+
const cellDataType = this.params?.colDef?.cellDataType;
|
|
105
|
+
switch (cellDataType) {
|
|
106
|
+
case 'number':
|
|
107
|
+
return 'number';
|
|
108
|
+
case 'date':
|
|
109
|
+
case 'dateTime':
|
|
110
|
+
return 'date';
|
|
111
|
+
case 'text':
|
|
112
|
+
return 'text';
|
|
113
|
+
default:
|
|
114
|
+
return 'number';
|
|
115
|
+
}
|
|
116
|
+
}
|
|
102
117
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SetFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
103
118
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SetFilterComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div style=\"padding: 5px;background-color: white;\">\r\n\r\n <div style=\"padding: 5px\">\r\n <ngx-sirio-input type=\"text\"\r\n [placeholder]=\"Texts.TypeToSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchChange()\">\r\n </ngx-sirio-input>\r\n </div>\r\n\r\n <div style=\"padding: 5px; max-height: 200px; overflow-y: auto;\">\r\n <ngx-sirio-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"onSelectAllChange()\">{{Texts.SelectAll}}</ngx-sirio-checkbox>\r\n\r\n <ngx-sirio-checkbox-group>\r\n <ngx-sirio-checkbox *ngFor=\"let option of filteredOptions\"\r\n [(ngModel)]=\"option.selected\"\r\n [value]=\"option.value\"\r\n (change)=\"onSelectionChange()\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SirioInputComponent, selector: "ngx-sirio-input", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "type", "name", "placeholder", "textHelp", "textFeedback", "rows", "cols", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "role"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioCheckboxComponent, selector: "ngx-sirio-checkbox", inputs: ["disabled", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "disabledState", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioCheckboxGroupComponent, selector: "ngx-sirio-checkbox-group", inputs: ["textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }] });
|
|
104
119
|
}
|
|
@@ -108,4 +123,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
108
123
|
SirioCheckboxComponent, SirioCheckboxGroupComponent,
|
|
109
124
|
SirioButtonComponent], template: "<div style=\"padding: 5px;background-color: white;\">\r\n\r\n <div style=\"padding: 5px\">\r\n <ngx-sirio-input type=\"text\"\r\n [placeholder]=\"Texts.TypeToSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchChange()\">\r\n </ngx-sirio-input>\r\n </div>\r\n\r\n <div style=\"padding: 5px; max-height: 200px; overflow-y: auto;\">\r\n <ngx-sirio-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"onSelectAllChange()\">{{Texts.SelectAll}}</ngx-sirio-checkbox>\r\n\r\n <ngx-sirio-checkbox-group>\r\n <ngx-sirio-checkbox *ngFor=\"let option of filteredOptions\"\r\n [(ngModel)]=\"option.selected\"\r\n [value]=\"option.value\"\r\n (change)=\"onSelectionChange()\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </div>\r\n\r\n</div>\r\n" }]
|
|
110
125
|
}] });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0RmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2NvbXBvbmVudHMvc2V0RmlsdGVyL3NldEZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9jb21wb25lbnRzL3NldEZpbHRlci9zZXRmaWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBUy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFDckIsTUFBTSxDQUFpQjtJQUN2QixTQUFTLENBQVU7SUFFM0IsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVkLFNBQVMsR0FBWSxJQUFJLENBQUM7SUFDMUIsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUV4QixPQUFPLEdBQXVELEVBQUUsQ0FBQztJQUNqRSxlQUFlLEdBQXdCLEVBQUUsQ0FBQztJQUUxQyxNQUFNLENBQUMsTUFBcUI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQU0sQ0FBQztRQUV0QyxNQUFNLEdBQUcsR0FBRyxNQUFN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LEVBQUUsQ0FDN0MsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRU8sV0FBVyxDQUFDLEdBQVEsRUFBRSxJQUFZO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO3dHQXZIVSxrQkFBa0I7NEZBQWxCLGtCQUFrQix3RUNoQi9CLHE4QkF3QkEsMkNEWlksWUFBWSwySkFBRSxXQUFXLCtWQUFFLG1CQUFtQiwyWEFDcEQsc0JBQXNCLHFQQUFFLDJCQUEyQjs7NEZBRzVDLGtCQUFrQjtrQkFQOUIsU0FBUztpQ0FFSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLG1CQUFtQjt3QkFDcEQsc0JBQXNCLEVBQUUsMkJBQTJCO3dCQUNuRCxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSUZpbHRlclBhcmFtcywgSURvZXNGaWx0ZXJQYXNzUGFyYW1zIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xyXG5pbXBvcnQgeyBJRmlsdGVyQW5ndWxhckNvbXAgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvYW5ndWxhcic7XHJcbmltcG9ydCB7IFNpcmlvSW5wdXRDb21wb25lbnQsIFNpcmlvQ2hlY2tib3hHcm91cENvbXBvbmVudCwgU2lyaW9DaGVja2JveENvbXBvbmVudCwgU2lyaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICduZ3gtc2lyaW8tbGliJztcclxuaW1wb3J0IHsgaXNSZWNvcmQgfSBmcm9tICcuLi8uLi9jb21tb24vcmVjb3JkJztcclxuaW1wb3J0IHsgVGV4dHMgfSBmcm9tICcuLi8uLi9sb2NhbGUvbG9jYWxlLWl0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXRmaWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIFNpcmlvSW5wdXRDb21wb25lbnRcclxuICAgICwgU2lyaW9DaGVja2JveENvbXBvbmVudCwgU2lyaW9DaGVja2JveEdyb3VwQ29tcG9uZW50XHJcbiAgICAsIFNpcmlvQnV0dG9uQ29tcG9uZW50XSwgIFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2V0RmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgSUZpbHRlckFuZ3VsYXJDb21wIHtcclxuICBwcml2YXRlIHBhcmFtcyE6IElGaWx0ZXJQYXJhbXM7XHJcbiAgcHJpdmF0ZSBmaWVsZE5hbWUhOiBzdHJpbmc7XHJcblxyXG4gIFRleHRzID0gVGV4dHM7XHJcblxyXG4gIHNlbGVjdEFsbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgc2VhcmNoVGV4dDogc3RyaW5nID0gJyc7XHJcblxyXG4gIG9wdGlvbnM6IHsgdmFsdWU6IGFueTsgbGFiZWw6IHN0cmluZzsgc2VsZWN0ZWQ6IGJvb2xlYW4gfVtdID0gW107XHJcbiAgZmlsdGVyZWRPcHRpb25zOiB0eXBlb2YgdGhpcy5vcHRpb25zID0gW107XHJcblxyXG4gIGFnSW5pdChwYXJhbXM6IElGaWx0ZXJQYXJhbXMpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgdGhpcy5maWVsZE5hbWUgPSBwYXJhbXMuY29sRGVmLmZpZWxkITtcclxuXHJcbiAgICBjb25zdCBtYXAgPSBwYXJhbXMuY29sRGVmLmZpbHRlclBhcmFtcz8ubWFwO1xyXG5cclxuICAgIGNvbnN0IHJlc3VsdCA9IGlzUmVjb3JkKFxyXG4gICAgICBtYXAsXHJcbiAgICAgIGtleSA9PiB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyxcclxuICAgICAgdmFsID0+IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmVudHJpZXMobWFwKS5tYXAoKFtrZXksIGxhYmVsXSkgPT4gKHtcclxuICAgICAgICB2YWx1ZTogdGhpcy5wYXJzZUtleShrZXkpLFxyXG4gICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgICBzZWxlY3RlZDogdHJ1ZVxyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5vcHRpb25zID0gW107XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMuZmlsdGVyZWRPcHRpb25zID0gWy4uLnRoaXMub3B0aW9uc107XHJcbiAgfVxyXG5cclxuICBpc0ZpbHRlckFjdGl2ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc29tZShvID0+ICFvLnNlbGVjdGVkKTtcclxuICB9XHJcblxyXG4gIGRvZXNGaWx0ZXJQYXNzKHBhcmFtczogSURvZXNGaWx0ZXJQYXNzUGFyYW1zKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVzb2x2ZVBhdGgocGFyYW1zLmRhdGEsIHRoaXMuZmllbGROYW1lKTtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc29tZShvID0+IG8uc2VsZWN0ZWQgJiYgby52YWx1ZSA9PT0gdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlcyA9IHRoaXMub3B0aW9uc1xyXG4gICAgICAuZmlsdGVyKG8gPT4gby5zZWxlY3RlZClcclxuICAgICAgLm1hcChvID0+IG8udmFsdWUpO1xyXG5cclxuICAgIGlmIChzZWxlY3RlZFZhbHVlcy5sZW5ndGggPT09IHRoaXMub3B0aW9ucy5sZW5ndGgpIHsgXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZWxlY3RlZFZhbHVlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBmaWx0ZXJUeXBlOiAndGV4dCcsXHJcbiAgICAgICAgdHlwZTogJ2V4Y2x1ZGVBbGwnXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmaWx0ZXJzID0gc2VsZWN0ZWRWYWx1ZXMubWFwKHZhbHVlID0+ICh7XHJcbiAgICAgIGZpbHRlclR5cGU6ICdudW1iZXInLFxyXG4gICAgICB0eXBlOiAnZXF1YWxzJyxcclxuICAgICAgZmlsdGVyOiB2YWx1ZVxyXG4gICAgfSkpO1xyXG5cclxuICAgIGlmIChmaWx0ZXJzLmxlbmd0aCA9PT0gMSlcclxuICAgICAgcmV0dXJuIGZpbHRlcnNbMF07XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZmlsdGVyVHlwZTogJ251bWJlcicsXHJcbiAgICAgIG9wZXJhdG9yOiAnT1InLFxyXG4gICAgICBjb25kaXRpb25zOiBmaWx0ZXJzXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRNb2RlbChtb2RlbDogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IG1vZGVsPy52YWx1ZXMgPz8gdGhpcy5vcHRpb25zLm1hcChvID0+IG8udmFsdWUpO1xyXG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2gobyA9PiBvLnNlbGVjdGVkID0gc2VsZWN0ZWQuaW5jbHVkZXMoby52YWx1ZSkpO1xyXG4gICAgdGhpcy51cGRhdGVGaWx0ZXJlZE9wdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMuZmlsdGVyQ2hhbmdlZENhbGxiYWNrKCk7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaENoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlRmlsdGVyZWRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEFsbENoYW5nZSgpOiB2b2lkIHsgICAgXHJcbiAgICB0aGlzLnNldEFsbCh0aGlzLnNlbGVjdEFsbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICBpZiAoa2V5ID09PSAndHJ1ZScpIHJldHVybiB0cnVlO1xyXG4gICAgaWYgKGtleSA9PT0gJ2ZhbHNlJykgcmV0dXJuIGZhbHNlO1xyXG4gICAgY29uc3QgbnVtID0gTnVtYmVyKGtleSk7XHJcbiAgICByZXR1cm4gaXNOYU4obnVtKSA/IGtleSA6IG51bTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QWxsKHNlbGVjdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2gobyA9PiBvLnNlbGVjdGVkID0gc2VsZWN0KTtcclxuICAgIHRoaXMudXBkYXRlRmlsdGVyZWRPcHRpb25zKCk7XHJcbiAgICB0aGlzLnBhcmFtcy5maWx0ZXJDaGFuZ2VkQ2FsbGJhY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRmlsdGVyZWRPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIobyA9PlxyXG4gICAgICBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzb2x2ZVBhdGgob2JqOiBhbnksIHBhdGg6IHN0cmluZyk6IGFueSB7XHJcbiAgICByZXR1cm4gcGF0aC5zcGxpdCgnLicpLnJlZHVjZSgoYWNjLCBwYXJ0KSA9PiBhY2M/LltwYXJ0XSwgb2JqKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBzdHlsZT1cInBhZGRpbmc6IDVweDtiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcIj5cclxuXHJcbiAgPGRpdiBzdHlsZT1cInBhZGRpbmc6IDVweFwiPlxyXG4gICAgPG5neC1zaXJpby1pbnB1dCB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJUZXh0cy5UeXBlVG9TZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaENoYW5nZSgpXCI+XHJcbiAgICA8L25neC1zaXJpby1pbnB1dD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBzdHlsZT1cInBhZGRpbmc6IDVweDsgbWF4LWhlaWdodDogMjAwcHg7IG92ZXJmbG93LXk6IGF1dG87XCI+XHJcbiAgICA8bmd4LXNpcmlvLWNoZWNrYm94IFsobmdNb2RlbCldPVwic2VsZWN0QWxsXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3RBbGxDaGFuZ2UoKVwiPnt7VGV4dHMuU2VsZWN0QWxsfX08L25neC1zaXJpby1jaGVja2JveD5cclxuXHJcbiAgICA8bmd4LXNpcmlvLWNoZWNrYm94LWdyb3VwPlxyXG4gICAgICA8bmd4LXNpcmlvLWNoZWNrYm94ICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm9wdGlvbi5zZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgpXCI+XHJcbiAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICAgIDwvbmd4LXNpcmlvLWNoZWNrYm94PlxyXG4gICAgPC9uZ3gtc2lyaW8tY2hlY2tib3gtZ3JvdXA+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0RmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zaXJpby9zcmMvbGliL2NvbXBvbmVudHMvc2V0RmlsdGVyL3NldEZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2lyaW8vc3JjL2xpYi9jb21wb25lbnRzL3NldEZpbHRlci9zZXRmaWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBUy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFDckIsTUFBTSxDQUFpQjtJQUN2QixTQUFTLENBQVU7SUFFM0IsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUVkLFNBQVMsR0FBWSxJQUFJLENBQUM7SUFDMUIsVUFBVSxHQUFXLEVBQUUsQ0FBQztJQUV4QixPQUFPLEdBQXVELEVBQUUsQ0FBQztJQUNqRSxlQUFlLEdBQXdCLEVBQUUsQ0FBQztJQUUxQyxNQUFNLENBQUMsTUFBcUI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQU0sQ0FBQztRQUV0QyxNQUFNLEdBQUcsR0FBRyxNQUFN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ZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzdDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUN2QyxDQUFDO0lBQ0osQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFRLEVBQUUsSUFBWTtRQUN4QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDO1FBRXZELFFBQVEsWUFBWSxFQUFFLENBQUM7WUFDckIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxVQUFVO2dCQUNiLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssTUFBTTtnQkFDVCxPQUFPLE1BQU0sQ0FBQztZQUNoQjtnQkFDRSxPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO0lBRUgsQ0FBQzt3R0ExSVUsa0JBQWtCOzRGQUFsQixrQkFBa0Isd0VDaEIvQixxOEJBd0JBLDJDRFpZLFlBQVksMkpBQUUsV0FBVywrVkFBRSxtQkFBbUIsMlhBQ3BELHNCQUFzQixxUEFBRSwyQkFBMkI7OzRGQUc1QyxrQkFBa0I7a0JBUDlCLFNBQVM7aUNBRUksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUI7d0JBQ3BELHNCQUFzQixFQUFFLDJCQUEyQjt3QkFDbkQsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IElGaWx0ZXJQYXJhbXMsIElEb2VzRmlsdGVyUGFzc1BhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcclxuaW1wb3J0IHsgSUZpbHRlckFuZ3VsYXJDb21wIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBTaXJpb0lucHV0Q29tcG9uZW50LCBTaXJpb0NoZWNrYm94R3JvdXBDb21wb25lbnQsIFNpcmlvQ2hlY2tib3hDb21wb25lbnQsIFNpcmlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnbmd4LXNpcmlvLWxpYic7XHJcbmltcG9ydCB7IGlzUmVjb3JkIH0gZnJvbSAnLi4vLi4vY29tbW9uL3JlY29yZCc7XHJcbmltcG9ydCB7IFRleHRzIH0gZnJvbSAnLi4vLi4vbG9jYWxlL2xvY2FsZS1pdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vc2V0ZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBTaXJpb0lucHV0Q29tcG9uZW50XHJcbiAgICAsIFNpcmlvQ2hlY2tib3hDb21wb25lbnQsIFNpcmlvQ2hlY2tib3hHcm91cENvbXBvbmVudFxyXG4gICAgLCBTaXJpb0J1dHRvbkNvbXBvbmVudF0sICBcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIElGaWx0ZXJBbmd1bGFyQ29tcCB7XHJcbiAgcHJpdmF0ZSBwYXJhbXMhOiBJRmlsdGVyUGFyYW1zO1xyXG4gIHByaXZhdGUgZmllbGROYW1lITogc3RyaW5nO1xyXG5cclxuICBUZXh0cyA9IFRleHRzO1xyXG5cclxuICBzZWxlY3RBbGw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNlYXJjaFRleHQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICBvcHRpb25zOiB7IHZhbHVlOiBhbnk7IGxhYmVsOiBzdHJpbmc7IHNlbGVjdGVkOiBib29sZWFuIH1bXSA9IFtdO1xyXG4gIGZpbHRlcmVkT3B0aW9uczogdHlwZW9mIHRoaXMub3B0aW9ucyA9IFtdO1xyXG5cclxuICBhZ0luaXQocGFyYW1zOiBJRmlsdGVyUGFyYW1zKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICAgIHRoaXMuZmllbGROYW1lID0gcGFyYW1zLmNvbERlZi5maWVsZCE7XHJcblxyXG4gICAgY29uc3QgbWFwID0gcGFyYW1zLmNvbERlZi5maWx0ZXJQYXJhbXM/Lm1hcDtcclxuXHJcbiAgICBjb25zdCByZXN1bHQgPSBpc1JlY29yZChcclxuICAgICAgbWFwLFxyXG4gICAgICBrZXkgPT4gdHlwZW9mIGtleSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGtleSA9PT0gJ251bWJlcicsXHJcbiAgICAgIHZhbCA9PiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJ1xyXG4gICAgKTtcclxuXHJcbiAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5lbnRyaWVzKG1hcCkubWFwKChba2V5LCBsYWJlbF0pID0+ICh7XHJcbiAgICAgICAgdmFsdWU6IHRoaXMucGFyc2VLZXkoa2V5KSxcclxuICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgICAgc2VsZWN0ZWQ6IHRydWVcclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucyA9IFtdO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IFsuLi50aGlzLm9wdGlvbnNdO1xyXG4gIH1cclxuXHJcbiAgaXNGaWx0ZXJBY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNvbWUobyA9PiAhby5zZWxlY3RlZCk7XHJcbiAgfVxyXG5cclxuICBkb2VzRmlsdGVyUGFzcyhwYXJhbXM6IElEb2VzRmlsdGVyUGFzc1BhcmFtcyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnJlc29sdmVQYXRoKHBhcmFtcy5kYXRhLCB0aGlzLmZpZWxkTmFtZSk7XHJcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNvbWUobyA9PiBvLnNlbGVjdGVkICYmIG8udmFsdWUgPT09IHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldE1vZGVsKCkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLm9wdGlvbnNcclxuICAgICAgLmZpbHRlcihvID0+IG8uc2VsZWN0ZWQpXHJcbiAgICAgIC5tYXAobyA9PiBvLnZhbHVlKTtcclxuXHJcbiAgICBpZiAoc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID09PSB0aGlzLm9wdGlvbnMubGVuZ3RoKSB7IFxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgZmlsdGVyVHlwZTogJ3RleHQnLFxyXG4gICAgICAgIHR5cGU6ICdleGNsdWRlQWxsJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmlsdGVyVHlwZSA9IHRoaXMuZ2V0RmlsdGVyVHlwZSgpO1xyXG5cclxuICAgIGNvbnN0IGZpbHRlcnMgPSBzZWxlY3RlZFZhbHVlcy5tYXAodmFsdWUgPT4gKHtcclxuICAgICAgZmlsdGVyVHlwZTogZmlsdGVyVHlwZSxcclxuICAgICAgdHlwZTogJ2VxdWFscycsXHJcbiAgICAgIGZpbHRlcjogdmFsdWVcclxuICAgIH0pKTtcclxuXHJcbiAgICBpZiAoZmlsdGVycy5sZW5ndGggPT09IDEpXHJcbiAgICAgIHJldHVybiBmaWx0ZXJzWzBdO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGZpbHRlclR5cGU6IGZpbHRlclR5cGUsXHJcbiAgICAgIG9wZXJhdG9yOiAnT1InLFxyXG4gICAgICBjb25kaXRpb25zOiBmaWx0ZXJzXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRNb2RlbChtb2RlbDogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9IG1vZGVsPy52YWx1ZXMgPz8gdGhpcy5vcHRpb25zLm1hcChvID0+IG8udmFsdWUpO1xyXG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2gobyA9PiBvLnNlbGVjdGVkID0gc2VsZWN0ZWQuaW5jbHVkZXMoby52YWx1ZSkpO1xyXG4gICAgdGhpcy51cGRhdGVGaWx0ZXJlZE9wdGlvbnMoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMuZmlsdGVyQ2hhbmdlZENhbGxiYWNrKCk7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaENoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlRmlsdGVyZWRPcHRpb25zKCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEFsbENoYW5nZSgpOiB2b2lkIHsgICAgXHJcbiAgICB0aGlzLnNldEFsbCh0aGlzLnNlbGVjdEFsbCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhcnNlS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICBpZiAoa2V5ID09PSAndHJ1ZScpIHJldHVybiB0cnVlO1xyXG4gICAgaWYgKGtleSA9PT0gJ2ZhbHNlJykgcmV0dXJuIGZhbHNlO1xyXG4gICAgY29uc3QgbnVtID0gTnVtYmVyKGtleSk7XHJcbiAgICByZXR1cm4gaXNOYU4obnVtKSA/IGtleSA6IG51bTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QWxsKHNlbGVjdDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5vcHRpb25zLmZvckVhY2gobyA9PiBvLnNlbGVjdGVkID0gc2VsZWN0KTtcclxuICAgIHRoaXMudXBkYXRlRmlsdGVyZWRPcHRpb25zKCk7XHJcbiAgICB0aGlzLnBhcmFtcy5maWx0ZXJDaGFuZ2VkQ2FsbGJhY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRmlsdGVyZWRPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VhcmNoID0gdGhpcy5zZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIobyA9PlxyXG4gICAgICBvLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzb2x2ZVBhdGgob2JqOiBhbnksIHBhdGg6IHN0cmluZyk6IGFueSB7XHJcbiAgICByZXR1cm4gcGF0aC5zcGxpdCgnLicpLnJlZHVjZSgoYWNjLCBwYXJ0KSA9PiBhY2M/LltwYXJ0XSwgb2JqKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RmlsdGVyVHlwZSgpIHtcclxuICAgIGNvbnN0IGNlbGxEYXRhVHlwZSA9IHRoaXMucGFyYW1zPy5jb2xEZWY/LmNlbGxEYXRhVHlwZTtcclxuXHJcbiAgICBzd2l0Y2ggKGNlbGxEYXRhVHlwZSkge1xyXG4gICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgIHJldHVybiAnbnVtYmVyJztcclxuICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcclxuICAgICAgICByZXR1cm4gJ2RhdGUnO1xyXG4gICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICByZXR1cm4gJ3RleHQnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAnbnVtYmVyJztcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IHN0eWxlPVwicGFkZGluZzogNXB4O2JhY2tncm91bmQtY29sb3I6IHdoaXRlO1wiPlxyXG5cclxuICA8ZGl2IHN0eWxlPVwicGFkZGluZzogNXB4XCI+XHJcbiAgICA8bmd4LXNpcmlvLWlucHV0IHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIlRleHRzLlR5cGVUb1NlYXJjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VhcmNoQ2hhbmdlKClcIj5cclxuICAgIDwvbmd4LXNpcmlvLWlucHV0PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IHN0eWxlPVwicGFkZGluZzogNXB4OyBtYXgtaGVpZ2h0OiAyMDBweDsgb3ZlcmZsb3cteTogYXV0bztcIj5cclxuICAgIDxuZ3gtc2lyaW8tY2hlY2tib3ggWyhuZ01vZGVsKV09XCJzZWxlY3RBbGxcIiAobmdNb2RlbENoYW5nZSk9XCJvblNlbGVjdEFsbENoYW5nZSgpXCI+e3tUZXh0cy5TZWxlY3RBbGx9fTwvbmd4LXNpcmlvLWNoZWNrYm94PlxyXG5cclxuICAgIDxuZ3gtc2lyaW8tY2hlY2tib3gtZ3JvdXA+XHJcbiAgICAgIDxuZ3gtc2lyaW8tY2hlY2tib3ggKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwib3B0aW9uLnNlbGVjdGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKClcIj5cclxuICAgICAgICB7eyBvcHRpb24ubGFiZWwgfX1cclxuICAgICAgPC9uZ3gtc2lyaW8tY2hlY2tib3g+XHJcbiAgICA8L25neC1zaXJpby1jaGVja2JveC1ncm91cD5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { Directive, Host } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "ngx-sirio-lib";
|
|
4
5
|
export class AccordionPanelDirective {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
destroyRef;
|
|
7
|
+
constructor(panel, destroyRef) {
|
|
8
|
+
this.destroyRef = destroyRef;
|
|
9
|
+
panel.opened
|
|
10
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
11
|
+
.subscribe((event) => {
|
|
7
12
|
const element = event.component.body.el.nativeElement;
|
|
8
13
|
// delay height calculation to allow for DOM updates
|
|
9
14
|
setTimeout(() => {
|
|
@@ -13,7 +18,7 @@ export class AccordionPanelDirective {
|
|
|
13
18
|
}, 0);
|
|
14
19
|
});
|
|
15
20
|
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionPanelDirective, deps: [{ token: i1.SirioAccordionPanelComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionPanelDirective, deps: [{ token: i1.SirioAccordionPanelComponent, host: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
17
22
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: AccordionPanelDirective, isStandalone: true, selector: "[accordionPanel]", ngImport: i0 });
|
|
18
23
|
}
|
|
19
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AccordionPanelDirective, decorators: [{
|
|
@@ -24,5 +29,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
24
29
|
}]
|
|
25
30
|
}], ctorParameters: () => [{ type: i1.SirioAccordionPanelComponent, decorators: [{
|
|
26
31
|
type: Host
|
|
27
|
-
}] }] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
}] }, { type: i0.DestroyRef }] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9ucGFuZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvZGlyZWN0aXZlcy9hY2NvcmRpb25wYW5lbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQU9oRSxNQUFNLE9BQU8sdUJBQXVCO0lBSXhCO0lBRlYsWUFDVSxLQUFtQyxFQUNuQyxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTlCLEtBQUssQ0FBQyxNQUFNO2FBQ1QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsQ0FBQyxLQUFrRCxFQUFFLEVBQUU7WUFDbEUsTUFBTSxPQUFPLEdBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFZLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztZQUMvRCxvREFBb0Q7WUFDcEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCw0Q0FBNEM7Z0JBQzVDLDZDQUE2QztnQkFDN0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQzVCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FqQlUsdUJBQXVCOzRGQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzswQkFJSSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBIb3N0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHsgU2lyaW9BY2NvcmRpb25QYW5lbENvbXBvbmVudCwgTmd4U2lyaW9FdmVudCB9IGZyb20gJ25neC1zaXJpby1saWInO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYWNjb3JkaW9uUGFuZWxdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25QYW5lbERpcmVjdGl2ZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBwYW5lbDogU2lyaW9BY2NvcmRpb25QYW5lbENvbXBvbmVudCxcclxuICAgIHByaXZhdGUgZGVzdHJveVJlZjogRGVzdHJveVJlZlxyXG4gICkge1xyXG4gICAgcGFuZWwub3BlbmVkXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxyXG4gICAgICAuc3Vic2NyaWJlKChldmVudDogTmd4U2lyaW9FdmVudDxTaXJpb0FjY29yZGlvblBhbmVsQ29tcG9uZW50PikgPT4ge1xyXG4gICAgICBjb25zdCBlbGVtZW50ID0gKGV2ZW50LmNvbXBvbmVudC5ib2R5IGFzIGFueSkuZWwubmF0aXZlRWxlbWVudDtcclxuICAgICAgLy8gZGVsYXkgaGVpZ2h0IGNhbGN1bGF0aW9uIHRvIGFsbG93IGZvciBET00gdXBkYXRlc1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvL2NvbnN0IHNjcm9sbEhlaWdodCA9IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xyXG4gICAgICAgIC8vZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtzY3JvbGxIZWlnaHR9cHhgO1xyXG4gICAgICAgIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJyc7XHJcbiAgICAgIH0sIDApO1xyXG4gICAgfSk7ICAgIFxyXG4gIH1cclxufVxyXG4iXX0=
|