@valtimo/components 5.10.0 → 5.11.0

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.
Files changed (40) hide show
  1. package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +89 -11
  2. package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.mjs +6 -3
  3. package/esm2020/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.mjs +295 -0
  4. package/esm2020/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.mjs +147 -0
  5. package/esm2020/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.formio.mjs +43 -0
  6. package/esm2020/lib/components/form-io/form-io.module.mjs +26 -5
  7. package/esm2020/lib/components/view-content/type-converters/dateTypeConverter.mjs +2 -2
  8. package/esm2020/lib/components/view-content/view-content.service.mjs +11 -1
  9. package/esm2020/lib/models/documenten-api-metadata.model.mjs +1 -1
  10. package/esm2020/lib/models/form-io.model.mjs +1 -1
  11. package/esm2020/lib/services/valtimo-modal.service.mjs +9 -2
  12. package/esm2020/public_api.mjs +3 -1
  13. package/fesm2015/valtimo-components.mjs +915 -332
  14. package/fesm2015/valtimo-components.mjs.map +1 -1
  15. package/fesm2020/valtimo-components.mjs +923 -342
  16. package/fesm2020/valtimo-components.mjs.map +1 -1
  17. package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts +34 -5
  18. package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.d.ts.map +1 -1
  19. package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.d.ts +1 -1
  20. package/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.d.ts.map +1 -1
  21. package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts +105 -0
  22. package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts.map +1 -0
  23. package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.d.ts +61 -0
  24. package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.d.ts.map +1 -0
  25. package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.formio.d.ts +4 -0
  26. package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.formio.d.ts.map +1 -0
  27. package/lib/components/form-io/form-io.module.d.ts +11 -9
  28. package/lib/components/form-io/form-io.module.d.ts.map +1 -1
  29. package/lib/components/view-content/type-converters/dateTypeConverter.d.ts.map +1 -1
  30. package/lib/components/view-content/view-content.service.d.ts +1 -0
  31. package/lib/components/view-content/view-content.service.d.ts.map +1 -1
  32. package/lib/models/documenten-api-metadata.model.d.ts +2 -1
  33. package/lib/models/documenten-api-metadata.model.d.ts.map +1 -1
  34. package/lib/models/form-io.model.d.ts +3 -0
  35. package/lib/models/form-io.model.d.ts.map +1 -1
  36. package/lib/services/valtimo-modal.service.d.ts +3 -0
  37. package/lib/services/valtimo-modal.service.d.ts.map +1 -1
  38. package/package.json +1 -1
  39. package/public_api.d.ts +2 -0
  40. package/public_api.d.ts.map +1 -1
@@ -0,0 +1,295 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ export const documentenApiUploaderEditForm = () => ({
17
+ components: [
18
+ { key: 'type', type: 'hidden' },
19
+ {
20
+ type: 'textfield',
21
+ input: true,
22
+ key: 'label',
23
+ label: 'Label',
24
+ placeholder: 'Label',
25
+ validate: {
26
+ required: true,
27
+ },
28
+ },
29
+ {
30
+ type: 'textfield',
31
+ input: true,
32
+ key: 'key',
33
+ label: 'Property Name',
34
+ placeholder: 'Property Name',
35
+ tooltip: 'The name of this field in the API endpoint.',
36
+ validate: {
37
+ required: true,
38
+ },
39
+ },
40
+ {
41
+ type: 'textfield',
42
+ input: true,
43
+ key: 'customOptions.title',
44
+ label: 'Title',
45
+ placeholder: 'Title',
46
+ tooltip: 'Leave empty to use the default title',
47
+ validate: {
48
+ required: false,
49
+ },
50
+ },
51
+ {
52
+ type: 'checkbox',
53
+ input: true,
54
+ inputType: 'checkbox',
55
+ key: 'customOptions.hideTitle',
56
+ label: 'Hide title',
57
+ validate: {
58
+ required: false,
59
+ },
60
+ },
61
+ {
62
+ type: 'textfield',
63
+ input: true,
64
+ key: 'customOptions.subtitle',
65
+ label: 'Subtitle',
66
+ placeholder: 'Title',
67
+ tooltip: 'Leave empty to hide subtitle',
68
+ validate: {
69
+ required: false,
70
+ },
71
+ },
72
+ {
73
+ type: 'number',
74
+ input: true,
75
+ key: 'customOptions.maxFileSize',
76
+ label: 'Maximum file size',
77
+ placeholder: 'Maximum file size',
78
+ defaultValue: 5,
79
+ validate: {
80
+ required: true,
81
+ },
82
+ },
83
+ {
84
+ type: 'checkbox',
85
+ input: true,
86
+ inputType: 'checkbox',
87
+ key: 'customOptions.hideMaxFileSize',
88
+ label: 'Hide maximum file size',
89
+ validate: {
90
+ required: false,
91
+ },
92
+ },
93
+ {
94
+ type: 'checkbox',
95
+ input: true,
96
+ inputType: 'checkbox',
97
+ key: 'customOptions.camera',
98
+ label: 'Allow camera uploads',
99
+ validate: {
100
+ required: false,
101
+ },
102
+ },
103
+ {
104
+ type: 'textfield',
105
+ input: true,
106
+ key: 'customOptions.documentTitle',
107
+ label: 'Default document title',
108
+ tooltip: 'Leave empty to let the user input their own title',
109
+ validate: {
110
+ required: false,
111
+ },
112
+ },
113
+ {
114
+ type: 'checkbox',
115
+ input: true,
116
+ inputType: 'checkbox',
117
+ key: 'customOptions.disableDocumentTitle',
118
+ label: 'Disable document title input',
119
+ validate: {
120
+ required: false,
121
+ },
122
+ },
123
+ {
124
+ type: 'textfield',
125
+ input: true,
126
+ key: 'customOptions.filename',
127
+ label: 'Default filename',
128
+ tooltip: 'Leave empty to let the user input their own filename',
129
+ validate: {
130
+ required: false,
131
+ },
132
+ },
133
+ {
134
+ type: 'checkbox',
135
+ input: true,
136
+ inputType: 'checkbox',
137
+ key: 'customOptions.disableFilename',
138
+ label: 'Disable filename input',
139
+ validate: {
140
+ required: false,
141
+ },
142
+ },
143
+ {
144
+ type: 'textfield',
145
+ input: true,
146
+ key: 'customOptions.author',
147
+ label: 'Default author',
148
+ tooltip: 'Leave empty to let the user input their own author',
149
+ validate: {
150
+ required: false,
151
+ },
152
+ },
153
+ {
154
+ type: 'checkbox',
155
+ input: true,
156
+ inputType: 'checkbox',
157
+ key: 'customOptions.disableAuthor',
158
+ label: 'Disable author input',
159
+ validate: {
160
+ required: false,
161
+ },
162
+ },
163
+ {
164
+ type: 'select',
165
+ label: 'Default status',
166
+ key: 'customOptions.status',
167
+ placeholder: 'Select a default status',
168
+ data: {
169
+ values: [
170
+ { value: 'in_bewerking', label: 'In editing' },
171
+ { value: 'ter_vaststelling', label: 'To be confirmed' },
172
+ { value: 'definitief', label: 'Definitive' },
173
+ { value: 'gearchiveerd', label: 'Archived' },
174
+ ],
175
+ },
176
+ dataSrc: 'values',
177
+ input: true,
178
+ validate: {
179
+ required: false,
180
+ },
181
+ },
182
+ {
183
+ type: 'checkbox',
184
+ input: true,
185
+ inputType: 'checkbox',
186
+ key: 'customOptions.disableStatus',
187
+ label: 'Disable status input',
188
+ validate: {
189
+ required: false,
190
+ },
191
+ },
192
+ {
193
+ type: 'select',
194
+ label: 'Default language',
195
+ key: 'customOptions.language',
196
+ placeholder: 'Select a default language',
197
+ data: {
198
+ values: [
199
+ { value: 'nld', label: 'Dutch' },
200
+ { value: 'eng', label: 'English' },
201
+ { value: 'deu', label: 'German' },
202
+ ],
203
+ },
204
+ dataSrc: 'values',
205
+ input: true,
206
+ validate: {
207
+ required: false,
208
+ },
209
+ },
210
+ {
211
+ type: 'checkbox',
212
+ input: true,
213
+ inputType: 'checkbox',
214
+ key: 'customOptions.disableLanguage',
215
+ label: 'Disable language input',
216
+ validate: {
217
+ required: false,
218
+ },
219
+ },
220
+ {
221
+ type: 'textfield',
222
+ input: true,
223
+ key: 'customOptions.documentType',
224
+ label: 'Default document type url',
225
+ tooltip: 'Must match the document type url exactly. Leave empty to let the user input their own document type',
226
+ validate: {
227
+ required: false,
228
+ },
229
+ },
230
+ {
231
+ type: 'checkbox',
232
+ input: true,
233
+ inputType: 'checkbox',
234
+ key: 'customOptions.disableDocumentType',
235
+ label: 'Disable document type input',
236
+ validate: {
237
+ required: false,
238
+ },
239
+ },
240
+ {
241
+ type: 'textfield',
242
+ input: true,
243
+ key: 'customOptions.description',
244
+ label: 'Default description',
245
+ tooltip: 'Leave empty to let the user input their own description',
246
+ validate: {
247
+ required: false,
248
+ },
249
+ },
250
+ {
251
+ type: 'checkbox',
252
+ input: true,
253
+ inputType: 'checkbox',
254
+ key: 'customOptions.disableDescription',
255
+ label: 'Disable description input',
256
+ validate: {
257
+ required: false,
258
+ },
259
+ },
260
+ {
261
+ type: 'select',
262
+ label: 'Default confidentiality level',
263
+ key: 'customOptions.confidentialityLevel',
264
+ placeholder: 'Select a default confidentiality level',
265
+ data: {
266
+ values: [
267
+ { value: 'openbaar', label: 'Public' },
268
+ { value: 'beperkt_openbaar', label: 'Restricted public' },
269
+ { value: 'intern', label: 'Internal' },
270
+ { value: 'zaakvertrouwelijk', label: 'Case confidential' },
271
+ { value: 'vertrouwelijk', label: 'Private' },
272
+ { value: 'confidentieel', label: 'Confidential' },
273
+ { value: 'geheim', label: 'Secret' },
274
+ { value: 'zeer_geheim', label: 'Very secret' },
275
+ ],
276
+ },
277
+ dataSrc: 'values',
278
+ input: true,
279
+ validate: {
280
+ required: false,
281
+ },
282
+ },
283
+ {
284
+ type: 'checkbox',
285
+ input: true,
286
+ inputType: 'checkbox',
287
+ key: 'customOptions.disableConfidentialityLevel',
288
+ label: 'Disable confidentiality level input',
289
+ validate: {
290
+ required: false,
291
+ },
292
+ },
293
+ ],
294
+ });
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktdXBsb2FkZXItZWRpdC1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlvL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLWVkaXQtZm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEQsVUFBVSxFQUFFO1FBQ1YsRUFBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUM7UUFDN0I7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLEdBQUcsRUFBRSxPQUFPO1lBQ1osS0FBSyxFQUFFLE9BQU87WUFDZCxXQUFXLEVBQUUsT0FBTztZQUNwQixRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLEdBQUcsRUFBRSxLQUFLO1lBQ1YsS0FBSyxFQUFFLGVBQWU7WUFDdEIsV0FBVyxFQUFFLGVBQWU7WUFDNUIsT0FBTyxFQUFFLDZDQUE2QztZQUN0RCxRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLElBQUk7YUFDZjtTQUNGO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLEdBQUcsRUFBRSxxQkFBcUI7WUFDMUIsS0FBSyxFQUFFLE9BQU87WUFDZCxXQUFXLEVBQUUsT0FBTztZQUNwQixPQUFPLEVBQUUsc0NBQXNDO1lBQy9DLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsS0FBSzthQUNoQjtT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QUFJLEVBQUUsUUFBUTtZQUNkLEtBQUssRUFBRSwrQkFBK0I7WUFDdEMsR0FBRyxFQUFFLG9DQUFvQztZQUN6QyxXQUFXLEVBQUUsd0NBQXdDO1lBQ3JELElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUU7b0JBQ04sRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUM7b0JBQ3BDLEVBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBQztvQkFDdkQsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUM7b0JBQ3BDLEVBQUMsS0FBSyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBQztvQkFDeEQsRUFBQyxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUM7b0JBQzFDLEVBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFDO29CQUMvQyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQztvQkFDbEMsRUFBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUM7aUJBQzdDO2FBQ0Y7WUFDRCxPQUFPLEVBQUUsUUFBUTtZQUNqQixLQUFLLEVBQUUsSUFBSTtZQUNYLFFBQVEsRUFBRTtnQkFDUixRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGO1FBQ0Q7WUFDRSxJQUFJLEVBQUUsVUFBVTtZQUNoQixLQUFLLEVBQUUsSUFBSTtZQUNYLFNBQVMsRUFBRSxVQUFVO1lBQ3JCLEdBQUcsRUFBRSwyQ0FBMkM7WUFDaEQsS0FBSyxFQUFFLHFDQUFxQztZQUM1QyxRQUFRLEVBQUU7Z0JBQ1IsUUFBUSxFQUFFLEtBQUs7YUFDaEI7U0FDRjtLQUNGO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0IGNvbnN0IGRvY3VtZW50ZW5BcGlVcGxvYWRlckVkaXRGb3JtID0gKCkgPT4gKHtcbiAgY29tcG9uZW50czogW1xuICAgIHtrZXk6ICd0eXBlJywgdHlwZTogJ2hpZGRlbid9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdsYWJlbCcsXG4gICAgICBsYWJlbDogJ0xhYmVsJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnTGFiZWwnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2tleScsXG4gICAgICBsYWJlbDogJ1Byb3BlcnR5IE5hbWUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdQcm9wZXJ0eSBOYW1lJyxcbiAgICAgIHRvb2x0aXA6ICdUaGUgbmFtZSBvZiB0aGlzIGZpZWxkIGluIHRoZSBBUEkgZW5kcG9pbnQuJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLnRpdGxlJyxcbiAgICAgIGxhYmVsOiAnVGl0bGUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdUaXRsZScsXG4gICAgICB0b29sdGlwOiAnTGVhdmUgZW1wdHkgdG8gdXNlIHRoZSBkZWZhdWx0IHRpdGxlJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmhpZGVUaXRsZScsXG4gICAgICBsYWJlbDogJ0hpZGUgdGl0bGUnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLnN1YnRpdGxlJyxcbiAgICAgIGxhYmVsOiAnU3VidGl0bGUnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdUaXRsZScsXG4gICAgICB0b29sdGlwOiAnTGVhdmUgZW1wdHkgdG8gaGlkZSBzdWJ0aXRsZScsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMubWF4RmlsZVNpemUnLFxuICAgICAgbGFiZWw6ICdNYXhpbXVtIGZpbGUgc2l6ZScsXG4gICAgICBwbGFjZWhvbGRlcjogJ01heGltdW0gZmlsZSBzaXplJyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogNSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuaGlkZU1heEZpbGVTaXplJyxcbiAgICAgIGxhYmVsOiAnSGlkZSBtYXhpbXVtIGZpbGUgc2l6ZScsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5jYW1lcmEnLFxuICAgICAgbGFiZWw6ICdBbGxvdyBjYW1lcmEgdXBsb2FkcycsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZG9jdW1lbnRUaXRsZScsXG4gICAgICBsYWJlbDogJ0RlZmF1bHQgZG9jdW1lbnQgdGl0bGUnLFxuICAgICAgdG9vbHRpcDogJ0xlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gdGl0bGUnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZURvY3VtZW50VGl0bGUnLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlIGRvY3VtZW50IHRpdGxlIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5maWxlbmFtZScsXG4gICAgICBsYWJlbDogJ0RlZmF1bHQgZmlsZW5hbWUnLFxuICAgICAgdG9vbHRpcDogJ0xlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gZmlsZW5hbWUnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZUZpbGVuYW1lJyxcbiAgICAgIGxhYmVsOiAnRGlzYWJsZSBmaWxlbmFtZSBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3RleHRmaWVsZCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuYXV0aG9yJyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBhdXRob3InLFxuICAgICAgdG9vbHRpcDogJ0xlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gYXV0aG9yJyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVBdXRob3InLFxuICAgICAgbGFiZWw6ICdEaXNhYmxlIGF1dGhvciBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgICBsYWJlbDogJ0RlZmF1bHQgc3RhdHVzJyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuc3RhdHVzJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnU2VsZWN0IGEgZGVmYXVsdCBzdGF0dXMnLFxuICAgICAgZGF0YToge1xuICAgICAgICB2YWx1ZXM6IFtcbiAgICAgICAgICB7dmFsdWU6ICdpbl9iZXdlcmtpbmcnLCBsYWJlbDogJ0luIGVkaXRpbmcnfSxcbiAgICAgICAgICB7dmFsdWU6ICd0ZXJfdmFzdHN0ZWxsaW5nJywgbGFiZWw6ICdUbyBiZSBjb25maXJtZWQnfSxcbiAgICAgICAgICB7dmFsdWU6ICdkZWZpbml0aWVmJywgbGFiZWw6ICdEZWZpbml0aXZlJ30sXG4gICAgICAgICAge3ZhbHVlOiAnZ2VhcmNoaXZlZXJkJywgbGFiZWw6ICdBcmNoaXZlZCd9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGRhdGFTcmM6ICd2YWx1ZXMnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kaXNhYmxlU3RhdHVzJyxcbiAgICAgIGxhYmVsOiAnRGlzYWJsZSBzdGF0dXMgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgbGFiZWw6ICdEZWZhdWx0IGxhbmd1YWdlJyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMubGFuZ3VhZ2UnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgYSBkZWZhdWx0IGxhbmd1YWdlJyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdmFsdWVzOiBbXG4gICAgICAgICAge3ZhbHVlOiAnbmxkJywgbGFiZWw6ICdEdXRjaCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2VuZycsIGxhYmVsOiAnRW5nbGlzaCd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2RldScsIGxhYmVsOiAnR2VybWFuJ30sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgZGF0YVNyYzogJ3ZhbHVlcycsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBpbnB1dFR5cGU6ICdjaGVja2JveCcsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRpc2FibGVMYW5ndWFnZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGUgbGFuZ3VhZ2UgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICd0ZXh0ZmllbGQnLFxuICAgICAgaW5wdXQ6IHRydWUsXG4gICAgICBrZXk6ICdjdXN0b21PcHRpb25zLmRvY3VtZW50VHlwZScsXG4gICAgICBsYWJlbDogJ0RlZmF1bHQgZG9jdW1lbnQgdHlwZSB1cmwnLFxuICAgICAgdG9vbHRpcDpcbiAgICAgICAgJ011c3QgbWF0Y2ggdGhlIGRvY3VtZW50IHR5cGUgdXJsIGV4YWN0bHkuIExlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gZG9jdW1lbnQgdHlwZScsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgaW5wdXRUeXBlOiAnY2hlY2tib3gnLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kaXNhYmxlRG9jdW1lbnRUeXBlJyxcbiAgICAgIGxhYmVsOiAnRGlzYWJsZSBkb2N1bWVudCB0eXBlIGlucHV0JyxcbiAgICAgIHZhbGlkYXRlOiB7XG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAndGV4dGZpZWxkJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAga2V5OiAnY3VzdG9tT3B0aW9ucy5kZXNjcmlwdGlvbicsXG4gICAgICBsYWJlbDogJ0RlZmF1bHQgZGVzY3JpcHRpb24nLFxuICAgICAgdG9vbHRpcDogJ0xlYXZlIGVtcHR5IHRvIGxldCB0aGUgdXNlciBpbnB1dCB0aGVpciBvd24gZGVzY3JpcHRpb24nLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZURlc2NyaXB0aW9uJyxcbiAgICAgIGxhYmVsOiAnRGlzYWJsZSBkZXNjcmlwdGlvbiBpbnB1dCcsXG4gICAgICB2YWxpZGF0ZToge1xuICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgICBsYWJlbDogJ0RlZmF1bHQgY29uZmlkZW50aWFsaXR5IGxldmVsJyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuY29uZmlkZW50aWFsaXR5TGV2ZWwnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdTZWxlY3QgYSBkZWZhdWx0IGNvbmZpZGVudGlhbGl0eSBsZXZlbCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHZhbHVlczogW1xuICAgICAgICAgIHt2YWx1ZTogJ29wZW5iYWFyJywgbGFiZWw6ICdQdWJsaWMnfSxcbiAgICAgICAgICB7dmFsdWU6ICdiZXBlcmt0X29wZW5iYWFyJywgbGFiZWw6ICdSZXN0cmljdGVkIHB1YmxpYyd9LFxuICAgICAgICAgIHt2YWx1ZTogJ2ludGVybicsIGxhYmVsOiAnSW50ZXJuYWwnfSxcbiAgICAgICAgICB7dmFsdWU6ICd6YWFrdmVydHJvdXdlbGlqaycsIGxhYmVsOiAnQ2FzZSBjb25maWRlbnRpYWwnfSxcbiAgICAgICAgICB7dmFsdWU6ICd2ZXJ0cm91d2VsaWprJywgbGFiZWw6ICdQcml2YXRlJ30sXG4gICAgICAgICAge3ZhbHVlOiAnY29uZmlkZW50aWVlbCcsIGxhYmVsOiAnQ29uZmlkZW50aWFsJ30sXG4gICAgICAgICAge3ZhbHVlOiAnZ2VoZWltJywgbGFiZWw6ICdTZWNyZXQnfSxcbiAgICAgICAgICB7dmFsdWU6ICd6ZWVyX2dlaGVpbScsIGxhYmVsOiAnVmVyeSBzZWNyZXQnfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBkYXRhU3JjOiAndmFsdWVzJyxcbiAgICAgIGlucHV0OiB0cnVlLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBpbnB1dDogdHJ1ZSxcbiAgICAgIGlucHV0VHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIGtleTogJ2N1c3RvbU9wdGlvbnMuZGlzYWJsZUNvbmZpZGVudGlhbGl0eUxldmVsJyxcbiAgICAgIGxhYmVsOiAnRGlzYWJsZSBjb25maWRlbnRpYWxpdHkgbGV2ZWwgaW5wdXQnLFxuICAgICAgdmFsaWRhdGU6IHtcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdLFxufSk7XG4iXX0=
@@ -0,0 +1,147 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
17
+ import { BehaviorSubject, combineLatest, of, startWith, Subject, switchMap } from 'rxjs';
18
+ import { filter, map, take, tap } from 'rxjs/operators';
19
+ import * as i0 from "@angular/core";
20
+ import * as i1 from "@valtimo/resource";
21
+ import * as i2 from "../services/form-io-state.service";
22
+ import * as i3 from "../services/form-io-dom.service";
23
+ import * as i4 from "../../../services/valtimo-modal.service";
24
+ import * as i5 from "@valtimo/security";
25
+ import * as i6 from "@angular/router";
26
+ import * as i7 from "../../dropzone/dropzone.component";
27
+ import * as i8 from "../../documenten-api-metadata-modal/documenten-api-metadata-modal.component";
28
+ import * as i9 from "@angular/common";
29
+ import * as i10 from "@ngx-translate/core";
30
+ import * as i11 from "../../file-size/file-size.pipe";
31
+ export class DocumentenApiUploaderComponent {
32
+ constructor(uploadProviderService, stateService, domService, downloadService, modalService, userProviderService, route) {
33
+ this.uploadProviderService = uploadProviderService;
34
+ this.stateService = stateService;
35
+ this.domService = domService;
36
+ this.downloadService = downloadService;
37
+ this.modalService = modalService;
38
+ this.userProviderService = userProviderService;
39
+ this.route = route;
40
+ this.valueChange = new EventEmitter();
41
+ this.uploading$ = new BehaviorSubject(false);
42
+ this.fileToBeUploaded$ = new BehaviorSubject(null);
43
+ this.modalDisabled$ = new BehaviorSubject(false);
44
+ this.showModal$ = new Subject();
45
+ this.hideModal$ = new Subject();
46
+ this.uploadProcessLinked$ = combineLatest([
47
+ this.route?.params || of(null),
48
+ this.route?.firstChild?.params || of(null),
49
+ this.modalService.documentDefinitionName$,
50
+ ]).pipe(filter(([params, firstChildParams, documentDefinitionName]) => !!(params?.documentDefinitionName ||
51
+ firstChildParams?.documentDefinitionName ||
52
+ documentDefinitionName)), switchMap(([params, firstChildParams, documentDefinitionName]) => this.uploadProviderService.checkUploadProcessLink(params?.documentDefinitionName ||
53
+ firstChildParams?.documentDefinitionName ||
54
+ documentDefinitionName)), startWith('loading'));
55
+ this.isAdmin$ = this.userProviderService
56
+ .getUserSubject()
57
+ .pipe(map(userIdentity => userIdentity?.roles.includes('ROLE_ADMIN')));
58
+ this._value = [];
59
+ }
60
+ get value() {
61
+ return this._value;
62
+ }
63
+ set value(value) {
64
+ if (Array.isArray(value)) {
65
+ this._value = value;
66
+ }
67
+ }
68
+ fileSelected(file) {
69
+ this.fileToBeUploaded$.next(file);
70
+ this.showModal$.next(null);
71
+ }
72
+ deleteFile(id) {
73
+ this.domService.toggleSubmitButton(true);
74
+ this._value = this._value.filter((file) => file?.id ? file?.id !== id : true);
75
+ this.valueChange.emit(this._value);
76
+ }
77
+ metadataSet(metadata) {
78
+ this.uploading$.next(true);
79
+ this.hideModal$.next(null);
80
+ this.domService.toggleSubmitButton(true);
81
+ this.fileToBeUploaded$
82
+ .pipe(take(1), switchMap(file => this.uploadProviderService.uploadTempFileWithMetadata(file, metadata)), tap(result => {
83
+ this.domService.toggleSubmitButton(false);
84
+ this.uploading$.next(false);
85
+ this._value.push(result);
86
+ this.valueChange.emit(this._value);
87
+ }))
88
+ .subscribe();
89
+ }
90
+ }
91
+ DocumentenApiUploaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiUploaderComponent, deps: [{ token: i1.UploadProviderService }, { token: i2.FormIoStateService }, { token: i3.FormIoDomService }, { token: i1.DownloadService }, { token: i4.ValtimoModalService }, { token: i5.UserProviderService }, { token: i6.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
92
+ DocumentenApiUploaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DocumentenApiUploaderComponent, selector: "valtimo-documenten-api-formio-uploader", inputs: { disabled: "disabled", title: "title", hideTitle: "hideTitle", subtitle: "subtitle", maxFileSize: "maxFileSize", hideMaxFileSize: "hideMaxFileSize", camera: "camera", documentTitle: "documentTitle", disableDocumentTitle: "disableDocumentTitle", filename: "filename", disableFilename: "disableFilename", author: "author", disableAuthor: "disableAuthor", status: "status", disableStatus: "disableStatus", language: "language", disableLanguage: "disableLanguage", documentType: "documentType", disableDocumentType: "disableDocumentType", description: "description", disableDescription: "disableDescription", confidentialityLevel: "confidentialityLevel", disableConfidentialityLevel: "disableConfidentialityLevel", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [author]=\"author\"\n [confidentialityLevel]=\"confidentialityLevel\"\n [description]=\"description\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [documentTitle]=\"documentTitle\"\n [documentType]=\"documentType\"\n [file$]=\"fileToBeUploaded$\"\n [filename]=\"filename\"\n [hide$]=\"hideModal$\"\n [language]=\"language\"\n [show$]=\"showModal$\"\n [status]=\"status\"\n></valtimo-documenten-api-metadata-modal>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n"], components: [{ type: i7.DropzoneComponent, selector: "valtimo-dropzone", inputs: ["title", "hideTitle", "subtitle", "externalError$", "maxFileSize", "showMaxFileSize", "acceptedFiles", "clear$", "disabled", "hideFilePreview", "uploading", "camera", "maxFiles"], outputs: ["fileSelected"] }, { type: i8.DocumentenApiMetadataModalComponent, selector: "valtimo-documenten-api-metadata-modal", inputs: ["show$", "hide$", "disabled$", "file$", "documentTitle", "disableDocumentTitle", "filename", "disableFilename", "author", "disableAuthor", "status", "disableStatus", "language", "disableLanguage", "documentType", "disableDocumentType", "description", "disableDescription", "confidentialityLevel", "disableConfidentialityLevel"], outputs: ["metadata"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i9.AsyncPipe, "filesize": i11.FileSizePipe } });
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DocumentenApiUploaderComponent, decorators: [{
94
+ type: Component,
95
+ args: [{ selector: 'valtimo-documenten-api-formio-uploader', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{linked: uploadProcessLinked$ | async, isAdmin: isAdmin$ | async} as obs\">\n <div *ngIf=\"obs.linked === false\">\n <div\n *ngIf=\"obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.adminRole'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n <div\n *ngIf=\"!obs.isAdmin\"\n [translate]=\"'dossier.documenten.noProcessLinked.regularUser'\"\n class=\"bg-warning text-black mb-2 p-3 text-center\"\n ></div>\n </div>\n <valtimo-dropzone\n (fileSelected)=\"fileSelected($event)\"\n [acceptedFiles]=\"null\"\n [camera]=\"camera\"\n [disabled]=\"disabled || obs.linked === false || obs.linked === 'loading'\"\n [hideFilePreview]=\"true\"\n [hideTitle]=\"hideTitle\"\n [maxFileSize]=\"maxFileSize\"\n [maxFiles]=\"1\"\n [showMaxFileSize]=\"!hideMaxFileSize\"\n [subtitle]=\"subtitle\"\n [title]=\"title\"\n [uploading]=\"uploading$ | async\"\n ></valtimo-dropzone>\n</ng-container>\n\n<div *ngFor=\"let resource of _value\" class=\"file-preview\">\n <div class=\"file-preview-name\">\n <span>\n {{ resource.filename }}\n </span>\n </div>\n <div class=\"file-preview-size\">\n <span>\n {{ resource.sizeInBytes | filesize }}\n </span>\n </div>\n <div *ngIf=\"!disabled\" class=\"file-preview-delete\">\n <a (click)=\"deleteFile(resource.id)\">\n <i class=\"icon mdi mdi-delete\"></i>\n </a>\n </div>\n</div>\n\n<valtimo-documenten-api-metadata-modal\n (metadata)=\"metadataSet($event)\"\n [author]=\"author\"\n [confidentialityLevel]=\"confidentialityLevel\"\n [description]=\"description\"\n [disableAuthor]=\"disableAuthor\"\n [disableConfidentialityLevel]=\"disableConfidentialityLevel\"\n [disableDescription]=\"disableDescription\"\n [disableDocumentTitle]=\"disableDocumentTitle\"\n [disableDocumentType]=\"disableDocumentType\"\n [disableFilename]=\"disableFilename\"\n [disableLanguage]=\"disableLanguage\"\n [disableStatus]=\"disableStatus\"\n [disabled$]=\"modalDisabled$\"\n [documentTitle]=\"documentTitle\"\n [documentType]=\"documentType\"\n [file$]=\"fileToBeUploaded$\"\n [filename]=\"filename\"\n [hide$]=\"hideModal$\"\n [language]=\"language\"\n [show$]=\"showModal$\"\n [status]=\"status\"\n></valtimo-documenten-api-metadata-modal>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.progress-bar-container{padding:15px 20px}::ng-deep .formio-component-valtimo-file .formio-button-add-another,::ng-deep .formio-component-valtimo-file .btn-secondary{display:none}::ng-deep .formio-component-valtimo-file td{padding:0!important;border:none}::ng-deep .formio-component-valtimo-file .table{border-collapse:collapse;border:none;margin:10px 0}.dropzone-container{margin-bottom:12px}.file-preview{margin-top:-1px;display:flex;border:1px solid #dee2e6}.file-preview div{padding:12px 10px}.file-preview .file-preview-name{width:65%}.file-preview .file-preview-size{width:35%}.file-preview .icon{color:#a1a1a1;font-size:1.3846rem;line-height:18px;cursor:pointer}.file-preview .icon:hover{color:gray}\n"] }]
96
+ }], ctorParameters: function () { return [{ type: i1.UploadProviderService }, { type: i2.FormIoStateService }, { type: i3.FormIoDomService }, { type: i1.DownloadService }, { type: i4.ValtimoModalService }, { type: i5.UserProviderService }, { type: i6.ActivatedRoute }]; }, propDecorators: { disabled: [{
97
+ type: Input
98
+ }], title: [{
99
+ type: Input
100
+ }], hideTitle: [{
101
+ type: Input
102
+ }], subtitle: [{
103
+ type: Input
104
+ }], maxFileSize: [{
105
+ type: Input
106
+ }], hideMaxFileSize: [{
107
+ type: Input
108
+ }], camera: [{
109
+ type: Input
110
+ }], documentTitle: [{
111
+ type: Input
112
+ }], disableDocumentTitle: [{
113
+ type: Input
114
+ }], filename: [{
115
+ type: Input
116
+ }], disableFilename: [{
117
+ type: Input
118
+ }], author: [{
119
+ type: Input
120
+ }], disableAuthor: [{
121
+ type: Input
122
+ }], status: [{
123
+ type: Input
124
+ }], disableStatus: [{
125
+ type: Input
126
+ }], language: [{
127
+ type: Input
128
+ }], disableLanguage: [{
129
+ type: Input
130
+ }], documentType: [{
131
+ type: Input
132
+ }], disableDocumentType: [{
133
+ type: Input
134
+ }], description: [{
135
+ type: Input
136
+ }], disableDescription: [{
137
+ type: Input
138
+ }], confidentialityLevel: [{
139
+ type: Input
140
+ }], disableConfidentialityLevel: [{
141
+ type: Input
142
+ }], valueChange: [{
143
+ type: Output
144
+ }], value: [{
145
+ type: Input
146
+ }] } });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktdXBsb2FkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlvL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS1pby9kb2N1bWVudGVuLWFwaS11cGxvYWRlci9kb2N1bWVudGVuLWFwaS11cGxvYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBU25HLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVV0RCxNQUFNLE9BQU8sOEJBQThCO0lBNkR6QyxZQUNtQixxQkFBNEMsRUFDNUMsWUFBZ0MsRUFDaEMsVUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsWUFBaUMsRUFDakMsbUJBQXdDLEVBQ3hDLEtBQXFCO1FBTnJCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsaUJBQVksR0FBWixZQUFZLENBQW9CO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNo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O3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQWtESSxLQUFLO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybWlvQ3VzdG9tQ29tcG9uZW50fSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBzdGFydFdpdGgsIFN1YmplY3QsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBEb2N1bWVudGVuQXBpRmlsZVJlZmVyZW5jZSxcbiAgRG93bmxvYWRTZXJ2aWNlLFxuICBVcGxvYWRQcm92aWRlclNlcnZpY2UsXG59IGZyb20gJ0B2YWx0aW1vL3Jlc291cmNlJztcbmltcG9ydCB7Rm9ybUlvU3RhdGVTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLWlvLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHtGb3JtSW9Eb21TZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLWlvLWRvbS5zZXJ2aWNlJztcbmltcG9ydCB7RG9jdW1lbnRlbkFwaU1ldGFkYXRhfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtmaWx0ZXIsIG1hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1ZhbHRpbW9Nb2RhbFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ZhbHRpbW8tbW9kYWwuc2VydmljZSc7XG5pbXBvcnQge1VzZXJQcm92aWRlclNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3NlY3VyaXR5JztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tZG9jdW1lbnRlbi1hcGktZm9ybWlvLXVwbG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRlbi1hcGktdXBsb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRlbkFwaVVwbG9hZGVyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgRm9ybWlvQ3VzdG9tQ29tcG9uZW50PEFycmF5PERvY3VtZW50ZW5BcGlGaWxlUmVmZXJlbmNlPj5cbntcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhpZGVUaXRsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgc3VidGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgbWF4RmlsZVNpemU6IG51bWJlcjtcbiAgQElucHV0KCkgaGlkZU1heEZpbGVTaXplOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW1lcmE6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgZG9jdW1lbnRUaXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlRG9jdW1lbnRUaXRsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZmlsZW5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZUZpbGVuYW1lOiBib29sZWFuO1xuICBASW5wdXQoKSBhdXRob3I6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZUF1dGhvcjogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RhdHVzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVTdGF0dXM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxhbmd1YWdlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVMYW5ndWFnZTogYm9vbGVhbjtcbiAgQElucHV0KCkgZG9jdW1lbnRUeXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVEb2N1bWVudFR5cGU6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc2FibGVEZXNjcmlwdGlvbjogYm9vbGVhbjtcbiAgQElucHV0KCkgY29uZmlkZW50aWFsaXR5TGV2ZWw6IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZUNvbmZpZGVudGlhbGl0eUxldmVsOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8RG9jdW1lbnRlbkFwaUZpbGVSZWZlcmVuY2U+PigpO1xuXG4gIHJlYWRvbmx5IHVwbG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgZmlsZVRvQmVVcGxvYWRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbGUgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgbW9kYWxEaXNhYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd01vZGFsJCA9IG5ldyBTdWJqZWN0PG51bGw+KCk7XG4gIHJlYWRvbmx5IGhpZGVNb2RhbCQgPSBuZXcgU3ViamVjdDxudWxsPigpO1xuICByZWFkb25seSB1cGxvYWRQcm9jZXNzTGlua2VkJDogT2JzZXJ2YWJsZTxib29sZWFuIHwgc3RyaW5nPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMucm91dGU/LnBhcmFtcyB8fCBvZihudWxsKSxcbiAgICB0aGlzLnJvdXRlPy5maXJzdENoaWxkPy5wYXJhbXMgfHwgb2YobnVsbCksXG4gICAgdGhpcy5tb2RhbFNlcnZpY2UuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQsXG4gIF0pLnBpcGUoXG4gICAgZmlsdGVyKFxuICAgICAgKFtwYXJhbXMsIGZpcnN0Q2hpbGRQYXJhbXMsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVdKSA9PlxuICAgICAgICAhIShcbiAgICAgICAgICBwYXJhbXM/LmRvY3VtZW50RGVmaW5pdGlvbk5hbWUgfHxcbiAgICAgICAgICBmaXJzdENoaWxkUGFyYW1zPy5kb2N1bWVudERlZmluaXRpb25OYW1lIHx8XG4gICAgICAgICAgZG9jdW1lbnREZWZpbml0aW9uTmFtZVxuICAgICAgICApXG4gICAgKSxcbiAgICBzd2l0Y2hNYXAoKFtwYXJhbXMsIGZpcnN0Q2hpbGRQYXJhbXMsIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVdKSA9PlxuICAgICAgdGhpcy51cGxvYWRQcm92aWRlclNlcnZpY2UuY2hlY2tVcGxvYWRQcm9jZXNzTGluayhcbiAgICAgICAgcGFyYW1zPy5kb2N1bWVudERlZmluaXRpb25OYW1lIHx8XG4gICAgICAgICAgZmlyc3RDaGlsZFBhcmFtcz8uZG9jdW1lbnREZWZpbml0aW9uTmFtZSB8fFxuICAgICAgICAgIGRvY3VtZW50RGVmaW5pdGlvbk5hbWVcbiAgICAgIClcbiAgICApLFxuICAgIHN0YXJ0V2l0aCgnbG9hZGluZycpXG4gICk7XG4gIHJlYWRvbmx5IGlzQWRtaW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy51c2VyUHJvdmlkZXJTZXJ2aWNlXG4gICAgLmdldFVzZXJTdWJqZWN0KClcbiAgICAucGlwZShtYXAodXNlcklkZW50aXR5ID0+IHVzZXJJZGVudGl0eT8ucm9sZXMuaW5jbHVkZXMoJ1JPTEVfQURNSU4nKSkpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBsb2FkUHJvdmlkZXJTZXJ2aWNlOiBVcGxvYWRQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IEZvcm1Jb1N0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvbVNlcnZpY2U6IEZvcm1Jb0RvbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb3dubG9hZFNlcnZpY2U6IERvd25sb2FkU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogVmFsdGltb01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQcm92aWRlclNlcnZpY2U6IFVzZXJQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7fVxuXG4gIF92YWx1ZTogQXJyYXk8RG9jdW1lbnRlbkFwaUZpbGVSZWZlcmVuY2U+ID0gW107XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBBcnJheTxEb2N1bWVudGVuQXBpRmlsZVJlZmVyZW5jZT4ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IEFycmF5PERvY3VtZW50ZW5BcGlGaWxlUmVmZXJlbmNlPikge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBmaWxlU2VsZWN0ZWQoZmlsZTogRmlsZSk6IHZvaWQge1xuICAgIHRoaXMuZmlsZVRvQmVVcGxvYWRlZCQubmV4dChmaWxlKTtcbiAgICB0aGlzLnNob3dNb2RhbCQubmV4dChudWxsKTtcbiAgfVxuXG4gIGRlbGV0ZUZpbGUoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZG9tU2VydmljZS50b2dnbGVTdWJtaXRCdXR0b24odHJ1ZSk7XG4gICAgdGhpcy5fdmFsdWUgPSB0aGlzLl92YWx1ZS5maWx0ZXIoKGZpbGU6IERvY3VtZW50ZW5BcGlGaWxlUmVmZXJlbmNlKSA9PlxuICAgICAgZmlsZT8uaWQgPyBmaWxlPy5pZCAhPT0gaWQgOiB0cnVlXG4gICAgKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICB9XG5cbiAgbWV0YWRhdGFTZXQobWV0YWRhdGE6IERvY3VtZW50ZW5BcGlNZXRhZGF0YSk6IHZvaWQge1xuICAgIHRoaXMudXBsb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuaGlkZU1vZGFsJC5uZXh0KG51bGwpO1xuICAgIHRoaXMuZG9tU2VydmljZS50b2dnbGVTdWJtaXRCdXR0b24odHJ1ZSk7XG5cbiAgICB0aGlzLmZpbGVUb0JlVXBsb2FkZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKGZpbGUgPT4gdGhpcy51cGxvYWRQcm92aWRlclNlcnZpY2UudXBsb2FkVGVtcEZpbGVXaXRoTWV0YWRhdGEoZmlsZSwgbWV0YWRhdGEpKSxcbiAgICAgICAgdGFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgdGhpcy5kb21TZXJ2aWNlLnRvZ2dsZVN1Ym1pdEJ1dHRvbihmYWxzZSk7XG4gICAgICAgICAgdGhpcy51cGxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuX3ZhbHVlLnB1c2gocmVzdWx0KTtcbiAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJ7bGlua2VkOiB1cGxvYWRQcm9jZXNzTGlua2VkJCB8IGFzeW5jLCBpc0FkbWluOiBpc0FkbWluJCB8IGFzeW5jfSBhcyBvYnNcIj5cbiAgPGRpdiAqbmdJZj1cIm9icy5saW5rZWQgPT09IGZhbHNlXCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCJvYnMuaXNBZG1pblwiXG4gICAgICBbdHJhbnNsYXRlXT1cIidkb3NzaWVyLmRvY3VtZW50ZW4ubm9Qcm9jZXNzTGlua2VkLmFkbWluUm9sZSdcIlxuICAgICAgY2xhc3M9XCJiZy13YXJuaW5nIHRleHQtYmxhY2sgbWItMiBwLTMgdGV4dC1jZW50ZXJcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFvYnMuaXNBZG1pblwiXG4gICAgICBbdHJhbnNsYXRlXT1cIidkb3NzaWVyLmRvY3VtZW50ZW4ubm9Qcm9jZXNzTGlua2VkLnJlZ3VsYXJVc2VyJ1wiXG4gICAgICBjbGFzcz1cImJnLXdhcm5pbmcgdGV4dC1ibGFjayBtYi0yIHAtMyB0ZXh0LWNlbnRlclwiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbiAgPHZhbHRpbW8tZHJvcHpvbmVcbiAgICAoZmlsZVNlbGVjdGVkKT1cImZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICBbYWNjZXB0ZWRGaWxlc109XCJudWxsXCJcbiAgICBbY2FtZXJhXT1cImNhbWVyYVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IG9icy5saW5rZWQgPT09IGZhbHNlIHx8IG9icy5saW5rZWQgPT09ICdsb2FkaW5nJ1wiXG4gICAgW2hpZGVGaWxlUHJldmlld109XCJ0cnVlXCJcbiAgICBbaGlkZVRpdGxlXT1cImhpZGVUaXRsZVwiXG4gICAgW21heEZpbGVTaXplXT1cIm1heEZpbGVTaXplXCJcbiAgICBbbWF4RmlsZXNdPVwiMVwiXG4gICAgW3Nob3dNYXhGaWxlU2l6ZV09XCIhaGlkZU1heEZpbGVTaXplXCJcbiAgICBbc3VidGl0bGVdPVwic3VidGl0bGVcIlxuICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgW3VwbG9hZGluZ109XCJ1cGxvYWRpbmckIHwgYXN5bmNcIlxuICA+PC92YWx0aW1vLWRyb3B6b25lPlxuPC9uZy1jb250YWluZXI+XG5cbjxkaXYgKm5nRm9yPVwibGV0IHJlc291cmNlIG9mIF92YWx1ZVwiIGNsYXNzPVwiZmlsZS1wcmV2aWV3XCI+XG4gIDxkaXYgY2xhc3M9XCJmaWxlLXByZXZpZXctbmFtZVwiPlxuICAgIDxzcGFuPlxuICAgICAge3sgcmVzb3VyY2UuZmlsZW5hbWUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmlsZS1wcmV2aWV3LXNpemVcIj5cbiAgICA8c3Bhbj5cbiAgICAgIHt7IHJlc291cmNlLnNpemVJbkJ5dGVzIHwgZmlsZXNpemUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiIWRpc2FibGVkXCIgY2xhc3M9XCJmaWxlLXByZXZpZXctZGVsZXRlXCI+XG4gICAgPGEgKGNsaWNrKT1cImRlbGV0ZUZpbGUocmVzb3VyY2UuaWQpXCI+XG4gICAgICA8aSBjbGFzcz1cImljb24gbWRpIG1kaS1kZWxldGVcIj48L2k+XG4gICAgPC9hPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48dmFsdGltby1kb2N1bWVudGVuLWFwaS1tZXRhZGF0YS1tb2RhbFxuICAobWV0YWRhdGEpPVwibWV0YWRhdGFTZXQoJGV2ZW50KVwiXG4gIFthdXRob3JdPVwiYXV0aG9yXCJcbiAgW2NvbmZpZGVudGlhbGl0eUxldmVsXT1cImNvbmZpZGVudGlhbGl0eUxldmVsXCJcbiAgW2Rlc2NyaXB0aW9uXT1cImRlc2NyaXB0aW9uXCJcbiAgW2Rpc2FibGVBdXRob3JdPVwiZGlzYWJsZUF1dGhvclwiXG4gIFtkaXNhYmxlQ29uZmlkZW50aWFsaXR5TGV2ZWxdPVwiZGlzYWJsZUNvbmZpZGVudGlhbGl0eUxldmVsXCJcbiAgW2Rpc2FibGVEZXNjcmlwdGlvbl09XCJkaXNhYmxlRGVzY3JpcHRpb25cIlxuICBbZGlzYWJsZURvY3VtZW50VGl0bGVdPVwiZGlzYWJsZURvY3VtZW50VGl0bGVcIlxuICBbZGlzYWJsZURvY3VtZW50VHlwZV09XCJkaXNhYmxlRG9jdW1lbnRUeXBlXCJcbiAgW2Rpc2FibGVGaWxlbmFtZV09XCJkaXNhYmxlRmlsZW5hbWVcIlxuICBbZGlzYWJsZUxhbmd1YWdlXT1cImRpc2FibGVMYW5ndWFnZVwiXG4gIFtkaXNhYmxlU3RhdHVzXT1cImRpc2FibGVTdGF0dXNcIlxuICBbZGlzYWJsZWQkXT1cIm1vZGFsRGlzYWJsZWQkXCJcbiAgW2RvY3VtZW50VGl0bGVdPVwiZG9jdW1lbnRUaXRsZVwiXG4gIFtkb2N1bWVudFR5cGVdPVwiZG9jdW1lbnRUeXBlXCJcbiAgW2ZpbGUkXT1cImZpbGVUb0JlVXBsb2FkZWQkXCJcbiAgW2ZpbGVuYW1lXT1cImZpbGVuYW1lXCJcbiAgW2hpZGUkXT1cImhpZGVNb2RhbCRcIlxuICBbbGFuZ3VhZ2VdPVwibGFuZ3VhZ2VcIlxuICBbc2hvdyRdPVwic2hvd01vZGFsJFwiXG4gIFtzdGF0dXNdPVwic3RhdHVzXCJcbj48L3ZhbHRpbW8tZG9jdW1lbnRlbi1hcGktbWV0YWRhdGEtbW9kYWw+XG4iXX0=
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Copyright 2015-2020 Ritense BV, the Netherlands.
3
+ *
4
+ * Licensed under EUPL, Version 1.2 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" basis,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { createCustomFormioComponent, registerCustomFormioComponentWithClass, } from '@formio/angular';
17
+ import { DocumentenApiUploaderComponent } from './documenten-api-uploader.component';
18
+ import { documentenApiUploaderEditForm } from './documenten-api-uploader-edit-form';
19
+ export const customDocumentApiUploaderType = 'documenten-api-file';
20
+ const COMPONENT_OPTIONS = {
21
+ type: customDocumentApiUploaderType,
22
+ selector: 'documenten-api-form-io-uploader',
23
+ title: 'Documenten API File Upload',
24
+ group: 'advanced',
25
+ icon: 'upload',
26
+ // set empty value to force formio to accept arrays as valid input value for this field type
27
+ emptyValue: [],
28
+ editForm: documentenApiUploaderEditForm,
29
+ };
30
+ export function registerDocumentenApiFormioUploadComponent(injector) {
31
+ const originalUploadComponent = createCustomFormioComponent(COMPONENT_OPTIONS);
32
+ // override setValue function to allow for setting an array value
33
+ class UploaderComponent extends originalUploadComponent {
34
+ setValue(value) {
35
+ this._customAngularElement.value = value;
36
+ return true;
37
+ }
38
+ }
39
+ if (!customElements.get(COMPONENT_OPTIONS.selector)) {
40
+ registerCustomFormioComponentWithClass(COMPONENT_OPTIONS, DocumentenApiUploaderComponent, UploaderComponent, injector);
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRlbi1hcGktdXBsb2FkZXIuZm9ybWlvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWlvL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyL2RvY3VtZW50ZW4tYXBpLXVwbG9hZGVyLmZvcm1pby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUdILE9BQU8sRUFDTCwyQkFBMkIsRUFFM0Isc0NBQXNDLEdBQ3ZDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDbkYsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcscUJBQXFCLENBQUM7QUFFbkUsTUFBTSxpQkFBaUIsR0FBOEI7SUFDbkQsSUFBSSxFQUFFLDZCQUE2QjtJQUNuQyxRQUFRLEVBQUUsaUNBQWlDO0lBQzNDLEtBQUssRUFBRSw0QkFBNEI7SUFDbkMsS0FBSyxFQUFFLFVBQVU7SUFDakIsSUFBSSxFQUFFLFFBQVE7SUFDZCw0RkFBNEY7SUFDNUYsVUFBVSxFQUFFLEVBQUU7SUFDZCxRQUFRLEVBQUUsNkJBQTZCO0NBQ3hDLENBQUM7QUFFRixNQUFNLFVBQVUsMENBQTBDLENBQUMsUUFBa0I7SUFDM0UsTUFBTSx1QkFBdUIsR0FBRywyQkFBMkIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRS9FLGlFQUFpRTtJQUNqRSxNQUFNLGlCQUFrQixTQUFRLHVCQUF1QjtRQUNyRCxRQUFRLENBQUMsS0FBSztZQUNaLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUNGO0lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDbkQsc0NBQXNDLENBQ3BDLGlCQUFpQixFQUNqQiw4QkFBOEIsRUFDOUIsaUJBQWlCLEVBQ2pCLFFBQVEsQ0FDVCxDQUFDO0tBQ0g7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBjcmVhdGVDdXN0b21Gb3JtaW9Db21wb25lbnQsXG4gIEZvcm1pb0N1c3RvbUNvbXBvbmVudEluZm8sXG4gIHJlZ2lzdGVyQ3VzdG9tRm9ybWlvQ29tcG9uZW50V2l0aENsYXNzLFxufSBmcm9tICdAZm9ybWlvL2FuZ3VsYXInO1xuaW1wb3J0IHtEb2N1bWVudGVuQXBpVXBsb2FkZXJDb21wb25lbnR9IGZyb20gJy4vZG9jdW1lbnRlbi1hcGktdXBsb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7ZG9jdW1lbnRlbkFwaVVwbG9hZGVyRWRpdEZvcm19IGZyb20gJy4vZG9jdW1lbnRlbi1hcGktdXBsb2FkZXItZWRpdC1mb3JtJztcblxuZXhwb3J0IGNvbnN0IGN1c3RvbURvY3VtZW50QXBpVXBsb2FkZXJUeXBlID0gJ2RvY3VtZW50ZW4tYXBpLWZpbGUnO1xuXG5jb25zdCBDT01QT05FTlRfT1BUSU9OUzogRm9ybWlvQ3VzdG9tQ29tcG9uZW50SW5mbyA9IHtcbiAgdHlwZTogY3VzdG9tRG9jdW1lbnRBcGlVcGxvYWRlclR5cGUsXG4gIHNlbGVjdG9yOiAnZG9jdW1lbnRlbi1hcGktZm9ybS1pby11cGxvYWRlcicsXG4gIHRpdGxlOiAnRG9jdW1lbnRlbiBBUEkgRmlsZSBVcGxvYWQnLFxuICBncm91cDogJ2FkdmFuY2VkJyxcbiAgaWNvbjogJ3VwbG9hZCcsXG4gIC8vIHNldCBlbXB0eSB2YWx1ZSB0byBmb3JjZSBmb3JtaW8gdG8gYWNjZXB0IGFycmF5cyBhcyB2YWxpZCBpbnB1dCB2YWx1ZSBmb3IgdGhpcyBmaWVsZCB0eXBlXG4gIGVtcHR5VmFsdWU6IFtdLFxuICBlZGl0Rm9ybTogZG9jdW1lbnRlbkFwaVVwbG9hZGVyRWRpdEZvcm0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEb2N1bWVudGVuQXBpRm9ybWlvVXBsb2FkQ29tcG9uZW50KGluamVjdG9yOiBJbmplY3Rvcikge1xuICBjb25zdCBvcmlnaW5hbFVwbG9hZENvbXBvbmVudCA9IGNyZWF0ZUN1c3RvbUZvcm1pb0NvbXBvbmVudChDT01QT05FTlRfT1BUSU9OUyk7XG5cbiAgLy8gb3ZlcnJpZGUgc2V0VmFsdWUgZnVuY3Rpb24gdG8gYWxsb3cgZm9yIHNldHRpbmcgYW4gYXJyYXkgdmFsdWVcbiAgY2xhc3MgVXBsb2FkZXJDb21wb25lbnQgZXh0ZW5kcyBvcmlnaW5hbFVwbG9hZENvbXBvbmVudCB7XG4gICAgc2V0VmFsdWUodmFsdWUpOiBib29sZWFuIHtcbiAgICAgIHRoaXMuX2N1c3RvbUFuZ3VsYXJFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoIWN1c3RvbUVsZW1lbnRzLmdldChDT01QT05FTlRfT1BUSU9OUy5zZWxlY3RvcikpIHtcbiAgICByZWdpc3RlckN1c3RvbUZvcm1pb0NvbXBvbmVudFdpdGhDbGFzcyhcbiAgICAgIENPTVBPTkVOVF9PUFRJT05TLFxuICAgICAgRG9jdW1lbnRlbkFwaVVwbG9hZGVyQ29tcG9uZW50LFxuICAgICAgVXBsb2FkZXJDb21wb25lbnQsXG4gICAgICBpbmplY3RvclxuICAgICk7XG4gIH1cbn1cbiJdfQ==