@valtimo/dossier-management 11.3.2 → 12.1.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.
- package/esm2022/lib/components/dossier-management-assignee/dossier-management-assignee.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-connect-modal/dossier-management-connect-modal.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-create/dossier-management-create.component.mjs +119 -0
- package/esm2022/lib/components/dossier-management-detail/dossier-management-detail.component.mjs +34 -12
- package/esm2022/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.mjs +114 -36
- package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.mjs +159 -0
- package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.mjs +147 -0
- package/esm2022/lib/components/dossier-management-list/dossier-management-list.component.mjs +33 -16
- package/esm2022/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.mjs +12 -11
- package/esm2022/lib/components/dossier-management-processes/dossier-management-processes.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-remove-modal/dossier-management-remove-modal.component.mjs +7 -7
- package/esm2022/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.mjs +56 -38
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.mjs +285 -0
- package/esm2022/lib/components/dossier-management-statuses/dossier-management-statuses.component.mjs +154 -0
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.mjs +41 -18
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.mjs +13 -11
- package/esm2022/lib/components/dossier-management-tabs/dossier-management-tabs.component.mjs +59 -29
- package/esm2022/lib/components/dossier-management-tabs/tab-form/tab-form.component.mjs +49 -16
- package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.component.mjs +14 -17
- package/esm2022/lib/components/dossier-management-upload/dossier-management-upload.constants.mjs +16 -1
- package/esm2022/lib/components/dossier-management-upload/step/dossier-management-upload-step.component.mjs +20 -5
- package/esm2022/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.mjs +218 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.mjs +104 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.mjs +194 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.mjs +133 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.mjs +107 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/index.mjs +21 -0
- package/esm2022/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.mjs +96 -0
- package/esm2022/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.mjs +160 -0
- package/esm2022/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.mjs +208 -0
- package/esm2022/lib/components/dossier-management-widget-tab/json-editor/dossier-management-widgets-json-editor.component.mjs +190 -0
- package/esm2022/lib/components/dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal.mjs +110 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.mjs +160 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/index.mjs +26 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.mjs +52 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.mjs +41 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.mjs +45 -0
- package/esm2022/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.mjs +43 -0
- package/esm2022/lib/dossier-management-routing.module.mjs +23 -8
- package/esm2022/lib/dossier-management.module.mjs +37 -18
- package/esm2022/lib/models/index.mjs +6 -2
- package/esm2022/lib/models/list-column.model.mjs +2 -2
- package/esm2022/lib/models/status.model.mjs +17 -0
- package/esm2022/lib/models/tab.enum.mjs +3 -2
- package/esm2022/lib/models/widget-content.model.mjs +17 -0
- package/esm2022/lib/models/widget-editor.model.mjs +30 -0
- package/esm2022/lib/models/widget-wizard.model.mjs +78 -0
- package/esm2022/lib/services/dossier-detail.service.mjs +18 -11
- package/esm2022/lib/services/dossier-export.service.mjs +7 -7
- package/esm2022/lib/services/dossier-management.service.mjs +38 -0
- package/esm2022/lib/services/index.mjs +9 -5
- package/esm2022/lib/services/tab-management.service.mjs +16 -10
- package/esm2022/lib/services/tab.service.mjs +26 -8
- package/esm2022/lib/services/widget-fields.service.mjs +104 -0
- package/esm2022/lib/services/widget-json-editor.service.mjs +31 -0
- package/esm2022/lib/services/widget-tab-management.service.mjs +26 -0
- package/esm2022/lib/services/widget-wizard.service.mjs +41 -0
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/valtimo-dossier-management.mjs +4668 -1796
- package/fesm2022/valtimo-dossier-management.mjs.map +1 -1
- package/lib/components/dossier-management-create/dossier-management-create.component.d.ts +26 -0
- package/lib/components/dossier-management-create/dossier-management-create.component.d.ts.map +1 -0
- package/lib/components/dossier-management-detail/dossier-management-detail.component.d.ts +9 -3
- package/lib/components/dossier-management-detail/dossier-management-detail.component.d.ts.map +1 -1
- package/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.d.ts +27 -14
- package/lib/components/dossier-management-detail-container/dossier-management-detail-container.component.d.ts.map +1 -1
- package/lib/components/dossier-management-detail-container-actions/{dossier-management-detail-container-actions.d.ts → dossier-management-detail-container-actions.component.d.ts} +9 -3
- package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.component.d.ts.map +1 -0
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.d.ts +48 -0
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.component.d.ts.map +1 -0
- package/lib/components/dossier-management-list/dossier-management-list.component.d.ts +7 -4
- package/lib/components/dossier-management-list/dossier-management-list.component.d.ts.map +1 -1
- package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts +2 -2
- package/lib/components/dossier-management-list-columns/dossier-management-list-columns.component.d.ts.map +1 -1
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts +10 -4
- package/lib/components/dossier-management-search-fields/dossier-management-search-fields.component.d.ts.map +1 -1
- package/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.d.ts +78 -0
- package/lib/components/dossier-management-statuses/dossier-management-status-modal/dossier-management-status-modal.component.d.ts.map +1 -0
- package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts +47 -0
- package/lib/components/dossier-management-statuses/dossier-management-statuses.component.d.ts.map +1 -0
- package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts +7 -9
- package/lib/components/dossier-management-tabs/dossier-management-add-tab-modal/dossier-management-add-tab-modal.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/dossier-management-edit-tab-modal/dossier-management-edit-tab-modal.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts +10 -5
- package/lib/components/dossier-management-tabs/dossier-management-tabs.component.d.ts.map +1 -1
- package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts +13 -4
- package/lib/components/dossier-management-tabs/tab-form/tab-form.component.d.ts.map +1 -1
- package/lib/components/dossier-management-upload/dossier-management-upload.component.d.ts +3 -5
- package/lib/components/dossier-management-upload/dossier-management-upload.component.d.ts.map +1 -1
- package/lib/components/dossier-management-upload/dossier-management-upload.constants.d.ts.map +1 -1
- package/lib/components/dossier-management-upload/step/dossier-management-upload-step.component.d.ts.map +1 -1
- package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts +57 -0
- package/lib/components/dossier-management-widget-configurators/collection/dossier-management-widget-collection.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.d.ts +40 -0
- package/lib/components/dossier-management-widget-configurators/custom/dossier-management-widget-custom.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts +50 -0
- package/lib/components/dossier-management-widget-configurators/fields/column/dossier-management-widget-fields-column.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts +38 -0
- package/lib/components/dossier-management-widget-configurators/fields/dossier-management-widget-fields.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.d.ts +41 -0
- package/lib/components/dossier-management-widget-configurators/formio/dossier-management-widget-formio.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/index.d.ts +6 -0
- package/lib/components/dossier-management-widget-configurators/index.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts +32 -0
- package/lib/components/dossier-management-widget-configurators/table/dossier-management-widget-table.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts +50 -0
- package/lib/components/dossier-management-widget-tab/dossier-management-widget-tab.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.d.ts +40 -0
- package/lib/components/dossier-management-widget-tab/editor/dossier-management-widgets-editor.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-tab/json-editor/dossier-management-widgets-json-editor.component.d.ts +47 -0
- package/lib/components/dossier-management-widget-tab/json-editor/dossier-management-widgets-json-editor.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal.d.ts +32 -0
- package/lib/components/dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts +34 -0
- package/lib/components/dossier-management-widget-wizard/dossier-management-widget-wizard.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/index.d.ts +6 -0
- package/lib/components/dossier-management-widget-wizard/steps/index.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.d.ts +15 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-content-step/widget-wizard-content-step.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.d.ts +15 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-style-step/widget-wizard-style-step.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.d.ts +15 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-type-step/widget-wizard-type-step.component.d.ts.map +1 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.d.ts +16 -0
- package/lib/components/dossier-management-widget-wizard/steps/widget-wizard-width-step/widget-wizard-width-step.component.d.ts.map +1 -0
- package/lib/dossier-management-routing.module.d.ts.map +1 -1
- package/lib/dossier-management.module.d.ts +25 -22
- package/lib/dossier-management.module.d.ts.map +1 -1
- package/lib/models/index.d.ts +4 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/status.model.d.ts +4 -0
- package/lib/models/status.model.d.ts.map +1 -0
- package/lib/models/tab.enum.d.ts +2 -1
- package/lib/models/tab.enum.d.ts.map +1 -1
- package/lib/models/widget-content.model.d.ts +5 -0
- package/lib/models/widget-content.model.d.ts.map +1 -0
- package/lib/models/widget-editor.model.d.ts +10 -0
- package/lib/models/widget-editor.model.d.ts.map +1 -0
- package/lib/models/widget-wizard.model.d.ts +29 -0
- package/lib/models/widget-wizard.model.d.ts.map +1 -0
- package/lib/services/dossier-detail.service.d.ts +4 -1
- package/lib/services/dossier-detail.service.d.ts.map +1 -1
- package/lib/services/{dossier-import.service.d.ts → dossier-management.service.d.ts} +4 -4
- package/lib/services/dossier-management.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +7 -3
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/tab-management.service.d.ts +3 -1
- package/lib/services/tab-management.service.d.ts.map +1 -1
- package/lib/services/tab.service.d.ts +10 -4
- package/lib/services/tab.service.d.ts.map +1 -1
- package/lib/services/widget-fields.service.d.ts +17 -0
- package/lib/services/widget-fields.service.d.ts.map +1 -0
- package/lib/services/widget-json-editor.service.d.ts +7 -0
- package/lib/services/widget-json-editor.service.d.ts.map +1 -0
- package/lib/services/widget-tab-management.service.d.ts +16 -0
- package/lib/services/widget-tab-management.service.d.ts.map +1 -0
- package/lib/services/widget-wizard.service.d.ts +18 -0
- package/lib/services/widget-wizard.service.d.ts.map +1 -0
- package/package.json +3 -3
- package/esm2022/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.mjs +0 -152
- package/esm2022/lib/components/dossier-management-document-definition/dossier-management-document-definition.mjs +0 -48
- package/esm2022/lib/components/dossier-management-link-process/dossier-management-link-process.component.mjs +0 -84
- package/esm2022/lib/services/dossier-import.service.mjs +0 -38
- package/lib/components/dossier-management-detail-container-actions/dossier-management-detail-container-actions.d.ts.map +0 -1
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.d.ts +0 -15
- package/lib/components/dossier-management-document-definition/dossier-management-document-definition.d.ts.map +0 -1
- package/lib/components/dossier-management-link-process/dossier-management-link-process.component.d.ts +0 -27
- package/lib/components/dossier-management-link-process/dossier-management-link-process.component.d.ts.map +0 -1
- package/lib/services/dossier-import.service.d.ts.map +0 -1
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2024 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 { CommonModule } from '@angular/common';
|
|
17
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Output, } from '@angular/core';
|
|
18
|
+
import { ReactiveFormsModule, Validators } from '@angular/forms';
|
|
19
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
20
|
+
import { CARBON_THEME, CurrentCarbonTheme } from '@valtimo/components';
|
|
21
|
+
import { DropdownModule, InputModule, SelectModule } from 'carbon-components-angular';
|
|
22
|
+
import { BehaviorSubject, combineLatest, filter, map, Subscription } from 'rxjs';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
import * as i1 from "@valtimo/components";
|
|
25
|
+
import * as i2 from "@angular/forms";
|
|
26
|
+
import * as i3 from "../../../services";
|
|
27
|
+
import * as i4 from "@valtimo/form";
|
|
28
|
+
import * as i5 from "@angular/common";
|
|
29
|
+
import * as i6 from "@ngx-translate/core";
|
|
30
|
+
import * as i7 from "carbon-components-angular";
|
|
31
|
+
export class DossierManagementWidgetFormioComponent {
|
|
32
|
+
get widgetTitle() {
|
|
33
|
+
return this.form.get('widgetTitle');
|
|
34
|
+
}
|
|
35
|
+
constructor(cdsThemeService, fb, widgetWizardService, formService) {
|
|
36
|
+
this.cdsThemeService = cdsThemeService;
|
|
37
|
+
this.fb = fb;
|
|
38
|
+
this.widgetWizardService = widgetWizardService;
|
|
39
|
+
this.formService = formService;
|
|
40
|
+
this.changeValidEvent = new EventEmitter();
|
|
41
|
+
this.form = this.fb.group({
|
|
42
|
+
widgetTitle: this.fb.control(this.widgetWizardService.widgetTitle(), Validators.required),
|
|
43
|
+
});
|
|
44
|
+
this.theme$ = this.cdsThemeService.currentTheme$.pipe(map((theme) => theme === CurrentCarbonTheme.G10 ? CARBON_THEME.WHITE : CARBON_THEME.G90));
|
|
45
|
+
this._selectedFormDefinitionId$ = new BehaviorSubject(null);
|
|
46
|
+
this._formDefinitionOptions$ = new BehaviorSubject([]);
|
|
47
|
+
this.formListItems$ = combineLatest([
|
|
48
|
+
this._formDefinitionOptions$,
|
|
49
|
+
this._selectedFormDefinitionId$,
|
|
50
|
+
]).pipe(filter(([options]) => !!options), map(([options, selectedFormId]) => options.map(option => ({
|
|
51
|
+
content: option.name,
|
|
52
|
+
id: option.name,
|
|
53
|
+
selected: option.name === selectedFormId,
|
|
54
|
+
}))));
|
|
55
|
+
this._subscriptions = new Subscription();
|
|
56
|
+
}
|
|
57
|
+
componentDropDownChange(event) {
|
|
58
|
+
const formDefinitionId = event?.item?.id;
|
|
59
|
+
if (!formDefinitionId)
|
|
60
|
+
return;
|
|
61
|
+
this._selectedFormDefinitionId$.next(formDefinitionId);
|
|
62
|
+
this.widgetWizardService.widgetContent.set({ formDefinitionName: formDefinitionId });
|
|
63
|
+
this.changeValidEvent.emit(true);
|
|
64
|
+
}
|
|
65
|
+
ngOnInit() {
|
|
66
|
+
this.fetchFormDefinition();
|
|
67
|
+
this.openTitleSubscription();
|
|
68
|
+
this.prefill();
|
|
69
|
+
}
|
|
70
|
+
ngOnDestroy() {
|
|
71
|
+
this._subscriptions.unsubscribe();
|
|
72
|
+
}
|
|
73
|
+
openTitleSubscription() {
|
|
74
|
+
this._subscriptions.add(this.widgetTitle?.valueChanges.subscribe(title => {
|
|
75
|
+
this.widgetWizardService.widgetTitle.set(title);
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
fetchFormDefinition() {
|
|
79
|
+
this.formService.getAllFormDefinitions().subscribe(definitions => {
|
|
80
|
+
this._formDefinitionOptions$.next(definitions);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
prefill() {
|
|
84
|
+
const formDefinitionId = this.widgetWizardService.widgetContent()
|
|
85
|
+
?.formDefinitionName;
|
|
86
|
+
if (!formDefinitionId)
|
|
87
|
+
return;
|
|
88
|
+
this._selectedFormDefinitionId$.next(formDefinitionId);
|
|
89
|
+
this.changeValidEvent.emit(true);
|
|
90
|
+
}
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetFormioComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }, { token: i4.FormService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementWidgetFormioComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<form\n class=\"valtimo-dossier-management-widget-formio\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <cds-text-label class=\"valtimo-dossier-management-widget-field__input\">\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.formio.selectForm' | translate }}\n\n <cds-dropdown\n *ngIf=\"formListItems$ | async as formListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.formio.placeholder' | translate\"\n [disabled]=\"formListItems.length === 0\"\n [dropUp]=\"false\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"formListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n</form>\n", styles: [".valtimo-dossier-management-widget-formio{display:flex;flex-direction:column}.valtimo-dossier-management-widget-formio>*:first-child{margin-bottom:16px}.valtimo-dossier-management-widget-formio ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-dossier-management-widget-formio ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i7.Label, selector: "cds-label, ibm-label", inputs: ["labelInputID", "disabled", "skeleton", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "component", type: i7.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i7.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: SelectModule }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i7.Dropdown, selector: "cds-dropdown, ibm-dropdown", inputs: ["id", "label", "helperText", "placeholder", "displayValue", "clearText", "size", "type", "theme", "disabled", "skeleton", "inline", "disableArrowKeys", "invalid", "invalidText", "warn", "warnText", "appendInline", "scrollableContainer", "itemValueKey", "selectionFeedback", "menuButtonLabel", "selectedLabel", "dropUp"], outputs: ["selected", "onClose", "close"] }, { kind: "component", type: i7.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
93
|
+
}
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetFormioComponent, decorators: [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
97
|
+
CommonModule,
|
|
98
|
+
TranslateModule,
|
|
99
|
+
InputModule,
|
|
100
|
+
ReactiveFormsModule,
|
|
101
|
+
SelectModule,
|
|
102
|
+
DropdownModule,
|
|
103
|
+
], template: "<!--\n ~ Copyright 2015-2024 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<form\n class=\"valtimo-dossier-management-widget-formio\"\n [formGroup]=\"form\"\n [attr.data-carbon-theme]=\"theme$ | async\"\n>\n <cds-text-label class=\"valtimo-dossier-management-widget-field__input\">\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"widgetTitle\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-label class=\"dropdown-label\">\n {{ 'widgetTabManagement.content.formio.selectForm' | translate }}\n\n <cds-dropdown\n *ngIf=\"formListItems$ | async as formListItems\"\n [appendInline]=\"false\"\n [placeholder]=\"'widgetTabManagement.content.formio.placeholder' | translate\"\n [disabled]=\"formListItems.length === 0\"\n [dropUp]=\"false\"\n (selected)=\"componentDropDownChange($event)\"\n >\n <cds-dropdown-list [items]=\"formListItems\"> </cds-dropdown-list>\n </cds-dropdown>\n </cds-label>\n</form>\n", styles: [".valtimo-dossier-management-widget-formio{display:flex;flex-direction:column}.valtimo-dossier-management-widget-formio>*:first-child{margin-bottom:16px}.valtimo-dossier-management-widget-formio ::ng-deep .dropdown-label label{display:flex;flex-direction:column;width:100%}.valtimo-dossier-management-widget-formio ::ng-deep .dropdown-label cds-dropdown{margin-top:8px}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
104
|
+
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i2.FormBuilder }, { type: i3.WidgetWizardService }, { type: i4.FormService }], propDecorators: { changeValidEvent: [{
|
|
105
|
+
type: Output
|
|
106
|
+
}] } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9mb3JtaW8vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy9mb3JtaW8vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQStCLG1CQUFtQixFQUFFLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsWUFBWSxFQUFtQixrQkFBa0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBR3RGLE9BQU8sRUFBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXBGLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFB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QVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMvRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLE9BQU87UUFDYixNQUFNLGdCQUFnQixHQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQTBCO1lBQ3hGLEVBQUUsa0JBQWtCLENBQUM7UUFFdkIsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFFOUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs4R0EzRlUsc0NBQXNDO2tHQUF0QyxzQ0FBc0MsMkhDakRuRCw0cURBK0NBLHlpQ0ROSSxZQUFZLHVMQUNaLGVBQWUsMkZBQ2YsV0FBVywrbUJBQ1gsbUJBQW1CLDQ4QkFDbkIsWUFBWSw4QkFDWixjQUFjOzsyRkFHTCxzQ0FBc0M7a0JBZGxELFNBQVM7c0NBR1MsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGNBQWM7cUJBQ2Y7MEtBS3lCLGdCQUFnQjtzQkFBekMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Q0FSQk9OX1RIRU1FLCBDZHNUaGVtZVNlcnZpY2UsIEN1cnJlbnRDYXJib25UaGVtZX0gZnJvbSAnQHZhbHRpbW8vY29tcG9uZW50cyc7XG5pbXBvcnQge1dpZGdldEZvcm1pb0NvbnRlbnR9IGZyb20gJ0B2YWx0aW1vL2Rvc3NpZXInO1xuaW1wb3J0IHtGb3JtRGVmaW5pdGlvbk9wdGlvbiwgRm9ybVNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2Zvcm0nO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZSwgSW5wdXRNb2R1bGUsIFNlbGVjdE1vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQge0xpc3RJdGVtfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL2Ryb3Bkb3duL2xpc3QtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtXaWRnZXRDb250ZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtXaWRnZXRXaXphcmRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1mb3JtaW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZvcm1pby5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTZWxlY3RNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0Rm9ybWlvQ29tcG9uZW50XG4gIGltcGxlbWVudHMgV2lkZ2V0Q29udGVudENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXRcbntcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjaGFuZ2VWYWxpZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgd2lkZ2V0VGl0bGU6IHRoaXMuZmIuY29udHJvbCh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0VGl0bGUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gIH0pO1xuXG4gIHB1YmxpYyBnZXQgd2lkZ2V0VGl0bGUoKTogQWJzdHJhY3RDb250cm9sPHN0cmluZyB8IG51bGw+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3dpZGdldFRpdGxlJyk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWUkID0gdGhpcy5jZHNUaGVtZVNlcnZpY2UuY3VycmVudFRoZW1lJC5waXBlKFxuICAgIG1hcCgodGhlbWU6IEN1cnJlbnRDYXJib25UaGVtZSkgPT5cbiAgICAgIHRoZW1lID09PSBDdXJyZW50Q2FyYm9uVGhlbWUuRzEwID8gQ0FSQk9OX1RIRU1FLldISVRFIDogQ0FSQk9OX1RIRU1FLkc5MFxuICAgIClcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mb3JtRGVmaW5pdGlvbk9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtRGVmaW5pdGlvbk9wdGlvbltdPihbXSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1MaXN0SXRlbXMkOiBPYnNlcnZhYmxlPExpc3RJdGVtW10+ID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fZm9ybURlZmluaXRpb25PcHRpb25zJCxcbiAgICB0aGlzLl9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkLFxuICBdKS5waXBlKFxuICAgIGZpbHRlcigoW29wdGlvbnNdKSA9PiAhIW9wdGlvbnMpLFxuICAgIG1hcCgoW29wdGlvbnMsIHNlbGVjdGVkRm9ybUlkXSkgPT5cbiAgICAgIG9wdGlvbnMubWFwKG9wdGlvbiA9PiAoe1xuICAgICAgICBjb250ZW50OiBvcHRpb24ubmFtZSxcbiAgICAgICAgaWQ6IG9wdGlvbi5uYW1lLFxuICAgICAgICBzZWxlY3RlZDogb3B0aW9uLm5hbWUgPT09IHNlbGVjdGVkRm9ybUlkLFxuICAgICAgfSkpXG4gICAgKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHNUaGVtZVNlcnZpY2U6IENkc1RoZW1lU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldFdpemFyZFNlcnZpY2U6IFdpZGdldFdpemFyZFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtU2VydmljZTogRm9ybVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBjb21wb25lbnREcm9wRG93bkNoYW5nZShldmVudDoge1xuICAgIGl0ZW06IHtpZDogc3RyaW5nOyBzZWxlY3RlZDogYm9vbGVhbn07XG4gICAgaXNVcGRhdGU6IGJvb2xlYW47XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtRGVmaW5pdGlvbklkID0gZXZlbnQ/Lml0ZW0/LmlkO1xuXG4gICAgaWYgKCFmb3JtRGVmaW5pdGlvbklkKSByZXR1cm47XG5cbiAgICB0aGlzLl9zZWxlY3RlZEZvcm1EZWZpbml0aW9uSWQkLm5leHQoZm9ybURlZmluaXRpb25JZCk7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQuc2V0KHtmb3JtRGVmaW5pdGlvbk5hbWU6IGZvcm1EZWZpbml0aW9uSWR9KTtcbiAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZldGNoRm9ybURlZmluaXRpb24oKTtcbiAgICB0aGlzLm9wZW5UaXRsZVN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMucHJlZmlsbCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblRpdGxlU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy53aWRnZXRUaXRsZT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh0aXRsZSA9PiB7XG4gICAgICAgIHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRUaXRsZS5zZXQodGl0bGUpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaEZvcm1EZWZpbml0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybVNlcnZpY2UuZ2V0QWxsRm9ybURlZmluaXRpb25zKCkuc3Vic2NyaWJlKGRlZmluaXRpb25zID0+IHtcbiAgICAgIHRoaXMuX2Zvcm1EZWZpbml0aW9uT3B0aW9ucyQubmV4dChkZWZpbml0aW9ucyk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByZWZpbGwoKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybURlZmluaXRpb25JZCA9ICh0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudCgpIGFzIFdpZGdldEZvcm1pb0NvbnRlbnQpXG4gICAgICA/LmZvcm1EZWZpbml0aW9uTmFtZTtcblxuICAgIGlmICghZm9ybURlZmluaXRpb25JZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbklkJC5uZXh0KGZvcm1EZWZpbml0aW9uSWQpO1xuICAgIHRoaXMuY2hhbmdlVmFsaWRFdmVudC5lbWl0KHRydWUpO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxmb3JtXG4gIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZvcm1pb1wiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIFthdHRyLmRhdGEtY2FyYm9uLXRoZW1lXT1cInRoZW1lJCB8IGFzeW5jXCJcbj5cbiAgPGNkcy10ZXh0LWxhYmVsIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkX19pbnB1dFwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQud2lkZ2V0VGl0bGUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cIndpZGdldFRpdGxlXCJcbiAgICAgIGNkc1RleHRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuXG4gIDxjZHMtbGFiZWwgY2xhc3M9XCJkcm9wZG93bi1sYWJlbFwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQuZm9ybWlvLnNlbGVjdEZvcm0nIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8Y2RzLWRyb3Bkb3duXG4gICAgICAqbmdJZj1cImZvcm1MaXN0SXRlbXMkIHwgYXN5bmMgYXMgZm9ybUxpc3RJdGVtc1wiXG4gICAgICBbYXBwZW5kSW5saW5lXT1cImZhbHNlXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LmZvcm1pby5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgW2Rpc2FibGVkXT1cImZvcm1MaXN0SXRlbXMubGVuZ3RoID09PSAwXCJcbiAgICAgIFtkcm9wVXBdPVwiZmFsc2VcIlxuICAgICAgKHNlbGVjdGVkKT1cImNvbXBvbmVudERyb3BEb3duQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgIDxjZHMtZHJvcGRvd24tbGlzdCBbaXRlbXNdPVwiZm9ybUxpc3RJdGVtc1wiPiA8L2Nkcy1kcm9wZG93bi1saXN0PlxuICAgIDwvY2RzLWRyb3Bkb3duPlxuICA8L2Nkcy1sYWJlbD5cbjwvZm9ybT5cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2024 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 * from './fields/dossier-management-widget-fields.component';
|
|
17
|
+
export * from './custom/dossier-management-widget-custom.component';
|
|
18
|
+
export * from './formio/dossier-management-widget-formio.component';
|
|
19
|
+
export * from './table/dossier-management-widget-table.component';
|
|
20
|
+
export * from './collection/dossier-management-widget-collection.component';
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1jb25maWd1cmF0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDZEQUE2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9maWVsZHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY3VzdG9tLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1pby9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZvcm1pby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbGxlY3Rpb24vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1jb2xsZWN0aW9uLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2024 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 { CommonModule } from '@angular/common';
|
|
17
|
+
import { ChangeDetectionStrategy, Component, computed, EventEmitter, HostBinding, Output, signal, ViewEncapsulation, } from '@angular/core';
|
|
18
|
+
import { ReactiveFormsModule, Validators } from '@angular/forms';
|
|
19
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
20
|
+
import { CARBON_THEME, CurrentCarbonTheme } from '@valtimo/components';
|
|
21
|
+
import { ButtonModule, InputModule, ToggleModule } from 'carbon-components-angular';
|
|
22
|
+
import { debounceTime, map, Subscription } from 'rxjs';
|
|
23
|
+
import { DossierManagementWidgetFieldsColumnComponent } from '../fields/column/dossier-management-widget-fields-column.component';
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
import * as i1 from "@valtimo/components";
|
|
26
|
+
import * as i2 from "@angular/forms";
|
|
27
|
+
import * as i3 from "../../../services";
|
|
28
|
+
import * as i4 from "@angular/common";
|
|
29
|
+
import * as i5 from "@ngx-translate/core";
|
|
30
|
+
import * as i6 from "carbon-components-angular";
|
|
31
|
+
export class DossierManagementWidgetTableComponent {
|
|
32
|
+
constructor(cdsThemeService, fb, widgetWizardService) {
|
|
33
|
+
this.cdsThemeService = cdsThemeService;
|
|
34
|
+
this.fb = fb;
|
|
35
|
+
this.widgetWizardService = widgetWizardService;
|
|
36
|
+
this.class = 'valtimo-dossier-management-widget-table';
|
|
37
|
+
this.changeValidEvent = new EventEmitter();
|
|
38
|
+
this.form = this.fb.group({
|
|
39
|
+
title: this.fb.control(this.widgetWizardService.widgetTitle() ?? '', Validators.required),
|
|
40
|
+
collection: this.fb.control(this.widgetWizardService.widgetContent()?.collection ?? '', Validators.required),
|
|
41
|
+
defaultPageSize: this.fb.control(this.widgetWizardService.widgetContent()?.defaultPageSize ?? 5, Validators.required),
|
|
42
|
+
});
|
|
43
|
+
this.theme$ = this.cdsThemeService.currentTheme$.pipe(map((currentTheme) => currentTheme === CurrentCarbonTheme.G10 ? CARBON_THEME.WHITE : CARBON_THEME.G90));
|
|
44
|
+
this.content = this.widgetWizardService
|
|
45
|
+
.widgetContent;
|
|
46
|
+
this.checked = computed(() => this.widgetWizardService.widgetContent()?.firstColumnAsTitle || false);
|
|
47
|
+
this._contentValid = signal(this.widgetWizardService.editMode());
|
|
48
|
+
this._subscriptions = new Subscription();
|
|
49
|
+
}
|
|
50
|
+
ngOnInit() {
|
|
51
|
+
this._subscriptions.add(this.form.valueChanges.pipe(debounceTime(500)).subscribe(value => {
|
|
52
|
+
this.widgetWizardService.widgetTitle.set(value?.title ?? '');
|
|
53
|
+
this.widgetWizardService.widgetContent.update((content) => ({
|
|
54
|
+
...content,
|
|
55
|
+
collection: value?.collection || '',
|
|
56
|
+
defaultPageSize: value?.defaultPageSize || 5,
|
|
57
|
+
}));
|
|
58
|
+
this.changeValidEvent.emit(this.form.valid && this._contentValid());
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
ngOnDestroy() {
|
|
62
|
+
this._contentValid.set(false);
|
|
63
|
+
this._subscriptions.unsubscribe();
|
|
64
|
+
this.changeValidEvent.emit(false);
|
|
65
|
+
this.form.reset();
|
|
66
|
+
}
|
|
67
|
+
onColumnUpdateEvent(event) {
|
|
68
|
+
const { data, valid } = event;
|
|
69
|
+
this.widgetWizardService.widgetContent.update((content) => ({ ...content, columns: data }));
|
|
70
|
+
this._contentValid.set(valid);
|
|
71
|
+
this.changeValidEvent.emit(valid && this.form.valid);
|
|
72
|
+
}
|
|
73
|
+
onCheckedChange(firstColumnAsTitle) {
|
|
74
|
+
this.widgetWizardService.widgetContent.update((content) => ({ ...content, firstColumnAsTitle }));
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetTableComponent, deps: [{ token: i1.CdsThemeService }, { token: i2.FormBuilder }, { token: i3.WidgetWizardService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: DossierManagementWidgetTableComponent, isStandalone: true, selector: "ng-component", outputs: { changeValidEvent: "changeValidEvent" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.table.defaultPageSize' | translate }}\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.table.collection' | translate }}\n\n <input\n formControlName=\"collection\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.collectionPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:flex;gap:16px}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: DossierManagementWidgetFieldsColumnComponent, selector: "valtimo-dossier-management-widget-fields-column", inputs: ["columnData", "addTranslateKey", "fieldWidthDropdown"], outputs: ["columnUpdateEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputModule }, { kind: "component", type: i6.TextInputLabelComponent, selector: "cds-text-label, ibm-text-label", inputs: ["labelInputID", "disabled", "skeleton", "labelTemplate", "textInputTemplate", "helperText", "invalidText", "invalid", "warn", "warnText", "ariaLabel"] }, { kind: "directive", type: i6.TextInput, selector: "[cdsText], [ibmText]", inputs: ["theme", "size", "invalid", "warn", "skeleton"] }, { kind: "ngmodule", type: ToggleModule }, { kind: "component", type: i6.Toggle, selector: "cds-toggle, ibm-toggle", inputs: ["offText", "onText", "label", "size", "hideLabel", "skeleton"] }, { kind: "ngmodule", type: ButtonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
78
|
+
}
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetTableComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, encapsulation: ViewEncapsulation.None, imports: [
|
|
82
|
+
CommonModule,
|
|
83
|
+
TranslateModule,
|
|
84
|
+
DossierManagementWidgetFieldsColumnComponent,
|
|
85
|
+
ReactiveFormsModule,
|
|
86
|
+
InputModule,
|
|
87
|
+
ToggleModule,
|
|
88
|
+
ButtonModule,
|
|
89
|
+
], template: "<!--\n ~ Copyright 2015-2024 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<form\n *ngIf=\"{theme: theme$ | async} as obs\"\n [formGroup]=\"form\"\n class=\"valtimo-dossier-management-widget-table__form\"\n>\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.widgetTitle' | translate }}\n\n <input\n formControlName=\"title\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.widgetTitlePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.table.defaultPageSize' | translate }}\n\n <input\n formControlName=\"defaultPageSize\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.defaultPageSizePlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n\n <cds-text-label [attr.data-carbon-theme]=\"obs.theme\">\n {{ 'widgetTabManagement.content.table.collection' | translate }}\n\n <input\n formControlName=\"collection\"\n cdsText\n [placeholder]=\"'widgetTabManagement.content.table.collectionPlaceholder' | translate\"\n type=\"text\"\n />\n </cds-text-label>\n</form>\n\n<span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.columns' | translate }}\n</span>\n\n<valtimo-dossier-management-widget-fields-column\n [addTranslateKey]=\"'widgetTabManagement.content.table.addColumn'\"\n [columnData]=\"content()?.columns\"\n (columnUpdateEvent)=\"onColumnUpdateEvent($event)\"\n></valtimo-dossier-management-widget-fields-column>\n\n<section class=\"valtimo-dossier-management-widget-table__toggle\">\n <span class=\"valtimo-dossier-management-widget-table__subtitle\">\n {{ 'widgetTabManagement.content.table.options' | translate }}\n </span>\n\n <cds-toggle\n [checked]=\"checked()\"\n [label]=\"'widgetTabManagement.content.table.firstColumnAsTitle' | translate\"\n [onText]=\"'interface.yes' | translate\"\n [offText]=\"'interface.no' | translate\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></cds-toggle>\n</section>\n", styles: [".valtimo-dossier-management-widget-table{display:flex;flex-direction:column;gap:24px}.valtimo-dossier-management-widget-table__form{display:flex;gap:16px}.valtimo-dossier-management-widget-table__subtitle{font-size:16px;font-weight:600;line-height:22px}.valtimo-dossier-management-widget-table__toggle{display:flex;flex-direction:column;gap:8px}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
90
|
+
}], ctorParameters: () => [{ type: i1.CdsThemeService }, { type: i2.FormBuilder }, { type: i3.WidgetWizardService }], propDecorators: { class: [{
|
|
91
|
+
type: HostBinding,
|
|
92
|
+
args: ['class']
|
|
93
|
+
}], changeValidEvent: [{
|
|
94
|
+
type: Output
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2Rvc3NpZXItbWFuYWdlbWVudC9zcmMvbGliL2NvbXBvbmVudHMvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1jb25maWd1cmF0b3JzL3RhYmxlL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtY29uZmlndXJhdG9ycy90YWJsZS9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osV0FBVyxFQUdYLE1BQU0sRUFDTixNQUFNLEVBQ04saUJBQWlCLEdBRWxCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsVUFBVSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQW1CLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdEYsT0FBTyxFQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDbEYsT0FBTyxFQUFDLFlBQVksRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBR2pFLE9BQU8sRUFBQyw0Q0FBNEMsRUFBQyxNQUFNLG9FQUFvRSxDQUFDOzs7Ozs7OztBQWtCaEksTUFBTSxPQUFPLHFDQUFxQztJQW9DaEQsWUFDbUIsZUFBZ0MsRUFDaEMsRUFBZSxFQUNmLG1CQUF3QztRQUZ4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFwQ3JCLFVBQUssR0FBRyx5Q0FBeUMsQ0FBQztRQUM5RCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXpELFNBQUksR0FBYyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQzVDLFVBQVUsQ0FBQyxRQUFRLENBQ3BCO1lBQ0QsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUF5QixFQUFFLFVBQVUsSUFBSSxFQUFFLEVBQ2xGLFVBQVUsQ0FBQyxRQUFRLENBQ3BCO1lBQ0QsZUFBZSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUM3QixJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxFQUF5QixFQUFFLGVBQWUsSUFBSSxDQUFDLEVBQ3RGLFVBQVUsQ0FBQyxRQUFRLENBQ3BCO1NBQ0YsQ0FBQyxDQUFDO1FBRWEsV0FBTSxHQUE2QixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3hGLEdBQUcsQ0FBQyxDQUFDLFlBQWdDLEVBQUUsRUFBRSxDQUN2QyxZQUFZLEtBQUssa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNoRixDQUNGLENBQUM7UUFFYyxZQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQjthQUMvQyxhQUFtRCxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxRQUFRLENBQ2hDLEdBQUcsRUFBRSxDQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQXlCLEVBQUUsa0JBQWtCLElBQUksS0FBSyxDQUNoRyxDQUFDO1FBQ2Usa0JBQWEsR0FBRyxNQUFNLENBQVUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDckUsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTWxELENBQUM7SUFFRyxRQUFRO1FBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztZQUU3RCxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FDM0MsQ0FBQyxPQUF1QyxFQUFFLEVBQUUsQ0FDMUMsQ0FBQztnQkFDQyxHQUFHLE9BQU87Z0JBQ1YsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLElBQUksRUFBRTtnQkFDbkMsZUFBZSxFQUFFLEtBQUssRUFBRSxlQUFlLElBQUksQ0FBQzthQUM3QyxDQUF1QixDQUMzQixDQUFDO1lBRUYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQXNEO1FBQy9FLE1BQU0sRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUMzQyxDQUFDLE9BQXVDLEVBQUUsRUFBRSxDQUMxQyxDQUFDLEVBQUMsR0FBRyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxDQUF1QixDQUN0RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU0sZUFBZSxDQUFDLGtCQUEyQjtRQUNoRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FDM0MsQ0FBQyxPQUF1QyxFQUFFLEVBQUUsQ0FDMUMsQ0FBQyxFQUFDLEdBQUcsT0FBTyxFQUFFLGtCQUFrQixFQUFDLENBQXVCLENBQzNELENBQUM7SUFDSixDQUFDOzhHQW5GVSxxQ0FBcUM7a0dBQXJDLHFDQUFxQyw0S0N2RGxELDZzRkE4RUEsa2hDRGhDSSxZQUFZLHVMQUNaLGVBQWUsNEZBQ2YsNENBQTRDLDRMQUM1QyxtQkFBbUIsNDhCQUNuQixXQUFXLDJhQUNYLFlBQVksbUxBQ1osWUFBWTs7MkZBR0gscUNBQXFDO2tCQWhCakQsU0FBUztzQ0FHUyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksaUJBQ0QsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsNENBQTRDO3dCQUM1QyxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3FCQUNiO2dKQUtxQyxLQUFLO3NCQUExQyxXQUFXO3VCQUFDLE9BQU87Z0JBQ00sZ0JBQWdCO3NCQUF6QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIHNpZ25hbCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDQVJCT05fVEhFTUUsIENkc1RoZW1lU2VydmljZSwgQ3VycmVudENhcmJvblRoZW1lfSBmcm9tICdAdmFsdGltby9jb21wb25lbnRzJztcbmltcG9ydCB7RmllbGRzQ2FzZVdpZGdldFZhbHVlLCBXaWRnZXRDb250ZW50UHJvcGVydGllcywgV2lkZ2V0VGFibGVDb250ZW50fSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJbnB1dE1vZHVsZSwgVG9nZ2xlTW9kdWxlfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1dpZGdldENvbnRlbnRDb21wb25lbnR9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1dpZGdldFdpemFyZFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7RG9zc2llck1hbmFnZW1lbnRXaWRnZXRGaWVsZHNDb2x1bW5Db21wb25lbnR9IGZyb20gJy4uL2ZpZWxkcy9jb2x1bW4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMtY29sdW1uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0RmllbGRzQ29sdW1uQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRNb2R1bGUsXG4gICAgVG9nZ2xlTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRG9zc2llck1hbmFnZW1lbnRXaWRnZXRUYWJsZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzIFdpZGdldENvbnRlbnRDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95XG57XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBwdWJsaWMgcmVhZG9ubHkgY2xhc3MgPSAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlJztcbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjaGFuZ2VWYWxpZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICB0aXRsZTogdGhpcy5mYi5jb250cm9sPHN0cmluZz4oXG4gICAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0VGl0bGUoKSA/PyAnJyxcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICApLFxuICAgIGNvbGxlY3Rpb246IHRoaXMuZmIuY29udHJvbDxzdHJpbmc+KFxuICAgICAgKHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS53aWRnZXRDb250ZW50KCkgYXMgV2lkZ2V0VGFibGVDb250ZW50KT8uY29sbGVjdGlvbiA/PyAnJyxcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICApLFxuICAgIGRlZmF1bHRQYWdlU2l6ZTogdGhpcy5mYi5jb250cm9sPG51bWJlcj4oXG4gICAgICAodGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQoKSBhcyBXaWRnZXRUYWJsZUNvbnRlbnQpPy5kZWZhdWx0UGFnZVNpemUgPz8gNSxcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICApLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGhlbWUkOiBPYnNlcnZhYmxlPENBUkJPTl9USEVNRT4gPSB0aGlzLmNkc1RoZW1lU2VydmljZS5jdXJyZW50VGhlbWUkLnBpcGUoXG4gICAgbWFwKChjdXJyZW50VGhlbWU6IEN1cnJlbnRDYXJib25UaGVtZSkgPT5cbiAgICAgIGN1cnJlbnRUaGVtZSA9PT0gQ3VycmVudENhcmJvblRoZW1lLkcxMCA/IENBUkJPTl9USEVNRS5XSElURSA6IENBUkJPTl9USEVNRS5HOTBcbiAgICApXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnQgPSB0aGlzLndpZGdldFdpemFyZFNlcnZpY2VcbiAgICAud2lkZ2V0Q29udGVudCBhcyBXcml0YWJsZVNpZ25hbDxXaWRnZXRUYWJsZUNvbnRlbnQ+O1xuICBwdWJsaWMgcmVhZG9ubHkgY2hlY2tlZCA9IGNvbXB1dGVkKFxuICAgICgpID0+XG4gICAgICAodGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQoKSBhcyBXaWRnZXRUYWJsZUNvbnRlbnQpPy5maXJzdENvbHVtbkFzVGl0bGUgfHwgZmFsc2VcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29udGVudFZhbGlkID0gc2lnbmFsPGJvb2xlYW4+KHRoaXMud2lkZ2V0V2l6YXJkU2VydmljZS5lZGl0TW9kZSgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkc1RoZW1lU2VydmljZTogQ2RzVGhlbWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0V2l6YXJkU2VydmljZTogV2lkZ2V0V2l6YXJkU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0VGl0bGUuc2V0KHZhbHVlPy50aXRsZSA/PyAnJyk7XG5cbiAgICAgICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKFxuICAgICAgICAgIChjb250ZW50OiBXaWRnZXRDb250ZW50UHJvcGVydGllcyB8IG51bGwpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAuLi5jb250ZW50LFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uOiB2YWx1ZT8uY29sbGVjdGlvbiB8fCAnJyxcbiAgICAgICAgICAgICAgZGVmYXVsdFBhZ2VTaXplOiB2YWx1ZT8uZGVmYXVsdFBhZ2VTaXplIHx8IDUsXG4gICAgICAgICAgICB9KSBhcyBXaWRnZXRUYWJsZUNvbnRlbnRcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdCh0aGlzLmZvcm0udmFsaWQgJiYgdGhpcy5fY29udGVudFZhbGlkKCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbnRlbnRWYWxpZC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdChmYWxzZSk7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Db2x1bW5VcGRhdGVFdmVudChldmVudDoge2RhdGE6IEZpZWxkc0Nhc2VXaWRnZXRWYWx1ZVtdOyB2YWxpZDogYm9vbGVhbn0pOiB2b2lkIHtcbiAgICBjb25zdCB7ZGF0YSwgdmFsaWR9ID0gZXZlbnQ7XG4gICAgdGhpcy53aWRnZXRXaXphcmRTZXJ2aWNlLndpZGdldENvbnRlbnQudXBkYXRlKFxuICAgICAgKGNvbnRlbnQ6IFdpZGdldENvbnRlbnRQcm9wZXJ0aWVzIHwgbnVsbCkgPT5cbiAgICAgICAgKHsuLi5jb250ZW50LCBjb2x1bW5zOiBkYXRhfSkgYXMgV2lkZ2V0VGFibGVDb250ZW50XG4gICAgKTtcbiAgICB0aGlzLl9jb250ZW50VmFsaWQuc2V0KHZhbGlkKTtcbiAgICB0aGlzLmNoYW5nZVZhbGlkRXZlbnQuZW1pdCh2YWxpZCAmJiB0aGlzLmZvcm0udmFsaWQpO1xuICB9XG5cbiAgcHVibGljIG9uQ2hlY2tlZENoYW5nZShmaXJzdENvbHVtbkFzVGl0bGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLndpZGdldFdpemFyZFNlcnZpY2Uud2lkZ2V0Q29udGVudC51cGRhdGUoXG4gICAgICAoY29udGVudDogV2lkZ2V0Q29udGVudFByb3BlcnRpZXMgfCBudWxsKSA9PlxuICAgICAgICAoey4uLmNvbnRlbnQsIGZpcnN0Q29sdW1uQXNUaXRsZX0pIGFzIFdpZGdldFRhYmxlQ29udGVudFxuICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGZvcm1cbiAgKm5nSWY9XCJ7dGhlbWU6IHRoZW1lJCB8IGFzeW5jfSBhcyBvYnNcIlxuICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZV9fZm9ybVwiXG4+XG4gIDxjZHMtdGV4dC1sYWJlbCBbYXR0ci5kYXRhLWNhcmJvbi10aGVtZV09XCJvYnMudGhlbWVcIj5cbiAgICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LndpZGdldFRpdGxlJyB8IHRyYW5zbGF0ZSB9fVxuXG4gICAgPGlucHV0XG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiXG4gICAgICBjZHNUZXh0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC53aWRnZXRUaXRsZVBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cbiAgPC9jZHMtdGV4dC1sYWJlbD5cblxuICA8Y2RzLXRleHQtbGFiZWwgW2F0dHIuZGF0YS1jYXJib24tdGhlbWVdPVwib2JzLnRoZW1lXCI+XG4gICAge3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5kZWZhdWx0UGFnZVNpemUnIHwgdHJhbnNsYXRlIH19XG5cbiAgICA8aW5wdXRcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlZmF1bHRQYWdlU2l6ZVwiXG4gICAgICBjZHNUZXh0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5kZWZhdWx0UGFnZVNpemVQbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgIC8+XG4gIDwvY2RzLXRleHQtbGFiZWw+XG5cbiAgPGNkcy10ZXh0LWxhYmVsIFthdHRyLmRhdGEtY2FyYm9uLXRoZW1lXT1cIm9icy50aGVtZVwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUuY29sbGVjdGlvbicgfCB0cmFuc2xhdGUgfX1cblxuICAgIDxpbnB1dFxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY29sbGVjdGlvblwiXG4gICAgICBjZHNUZXh0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5jb2xsZWN0aW9uUGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAvPlxuICA8L2Nkcy10ZXh0LWxhYmVsPlxuPC9mb3JtPlxuXG48c3BhbiBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZV9fc3VidGl0bGVcIj5cbiAge3sgJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5jb2x1bW5zJyB8IHRyYW5zbGF0ZSB9fVxuPC9zcGFuPlxuXG48dmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LWZpZWxkcy1jb2x1bW5cbiAgW2FkZFRyYW5zbGF0ZUtleV09XCInd2lkZ2V0VGFiTWFuYWdlbWVudC5jb250ZW50LnRhYmxlLmFkZENvbHVtbidcIlxuICBbY29sdW1uRGF0YV09XCJjb250ZW50KCk/LmNvbHVtbnNcIlxuICAoY29sdW1uVXBkYXRlRXZlbnQpPVwib25Db2x1bW5VcGRhdGVFdmVudCgkZXZlbnQpXCJcbj48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC1maWVsZHMtY29sdW1uPlxuXG48c2VjdGlvbiBjbGFzcz1cInZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWJsZV9fdG9nZ2xlXCI+XG4gIDxzcGFuIGNsYXNzPVwidmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYmxlX19zdWJ0aXRsZVwiPlxuICAgIHt7ICd3aWRnZXRUYWJNYW5hZ2VtZW50LmNvbnRlbnQudGFibGUub3B0aW9ucycgfCB0cmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuXG4gIDxjZHMtdG9nZ2xlXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZCgpXCJcbiAgICBbbGFiZWxdPVwiJ3dpZGdldFRhYk1hbmFnZW1lbnQuY29udGVudC50YWJsZS5maXJzdENvbHVtbkFzVGl0bGUnIHwgdHJhbnNsYXRlXCJcbiAgICBbb25UZXh0XT1cIidpbnRlcmZhY2UueWVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgW29mZlRleHRdPVwiJ2ludGVyZmFjZS5ubycgfCB0cmFuc2xhdGVcIlxuICAgIChjaGVja2VkQ2hhbmdlKT1cIm9uQ2hlY2tlZENoYW5nZSgkZXZlbnQpXCJcbiAgPjwvY2RzLXRvZ2dsZT5cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2024 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 { CommonModule } from '@angular/common';
|
|
17
|
+
import { ChangeDetectionStrategy, Component, signal, } from '@angular/core';
|
|
18
|
+
import { Edit16 } from '@carbon/icons';
|
|
19
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
20
|
+
import { PendingChangesComponent, RenderInPageHeaderDirectiveModule, } from '@valtimo/components';
|
|
21
|
+
import { ButtonModule, IconModule, TabsModule } from 'carbon-components-angular';
|
|
22
|
+
import moment from 'moment/moment';
|
|
23
|
+
import { BehaviorSubject, combineLatest, filter, map, switchMap, tap } from 'rxjs';
|
|
24
|
+
import { WidgetEditorTab } from '../../models';
|
|
25
|
+
import { DossierManagementWidgetTabEditModalComponent } from '../dossier-management-widget-tab-edit-modal/dossier-management-widget-tab-edit-modal';
|
|
26
|
+
import { DossierManagementWidgetsEditorComponent } from './editor/dossier-management-widgets-editor.component';
|
|
27
|
+
import { DossierManagementWidgetsJsonEditorComponent } from './json-editor/dossier-management-widgets-json-editor.component';
|
|
28
|
+
import * as i0 from "@angular/core";
|
|
29
|
+
import * as i1 from "@valtimo/components";
|
|
30
|
+
import * as i2 from "carbon-components-angular";
|
|
31
|
+
import * as i3 from "@angular/router";
|
|
32
|
+
import * as i4 from "../../services";
|
|
33
|
+
import * as i5 from "@ngx-translate/core";
|
|
34
|
+
import * as i6 from "@angular/common";
|
|
35
|
+
export class DossierManagementWidgetTabComponent extends PendingChangesComponent {
|
|
36
|
+
constructor(breadcrumbService, iconService, pageTitleService, route, tabManagementService, widgetTabManagementService, translateService, pageHeaderService, widgetJsonEditorService) {
|
|
37
|
+
super();
|
|
38
|
+
this.breadcrumbService = breadcrumbService;
|
|
39
|
+
this.iconService = iconService;
|
|
40
|
+
this.pageTitleService = pageTitleService;
|
|
41
|
+
this.route = route;
|
|
42
|
+
this.tabManagementService = tabManagementService;
|
|
43
|
+
this.widgetTabManagementService = widgetTabManagementService;
|
|
44
|
+
this.translateService = translateService;
|
|
45
|
+
this.pageHeaderService = pageHeaderService;
|
|
46
|
+
this.widgetJsonEditorService = widgetJsonEditorService;
|
|
47
|
+
this.documentDefinitionName$ = this.route.params.pipe(map(params => params.name || ''), filter(documentDefinitionName => !!documentDefinitionName), tap(documentDefinitionName => this.tabManagementService.setCaseDefinitionId(documentDefinitionName)));
|
|
48
|
+
this.tabWidgetKey$ = this.route.params.pipe(map(params => params.key || ''), filter(tabWidgetKey => !!tabWidgetKey));
|
|
49
|
+
this._refreshWidgetTabSubject$ = new BehaviorSubject(null);
|
|
50
|
+
this.showEditWidgetTabModal$ = new BehaviorSubject(false);
|
|
51
|
+
this.currentWidgetTabItem$ = combineLatest([
|
|
52
|
+
this.tabWidgetKey$,
|
|
53
|
+
this.translateService.stream('key'),
|
|
54
|
+
this._refreshWidgetTabSubject$,
|
|
55
|
+
]).pipe(switchMap(([tabKey]) => this.tabManagementService.getTab(tabKey)), tap(tabItem => {
|
|
56
|
+
const title = tabItem.name ||
|
|
57
|
+
this.translateService.instant(`widgetTabManagement.metadata.${tabItem.key}`);
|
|
58
|
+
this.pageTitleService.setCustomPageTitle(title);
|
|
59
|
+
this.pageTitleService.setCustomPageSubtitle(this.translateService.instant('widgetTabManagement.tab.metadata', {
|
|
60
|
+
createdBy: tabItem?.createdBy || '-',
|
|
61
|
+
createdOn: !!tabItem?.createdOn
|
|
62
|
+
? moment(tabItem?.createdOn).format('DD MMM YYYY HH:mm')
|
|
63
|
+
: '-',
|
|
64
|
+
key: tabItem.key,
|
|
65
|
+
}));
|
|
66
|
+
}));
|
|
67
|
+
this.currentWidgetTab$ = combineLatest([
|
|
68
|
+
this.documentDefinitionName$,
|
|
69
|
+
this.tabWidgetKey$,
|
|
70
|
+
this._refreshWidgetTabSubject$,
|
|
71
|
+
]).pipe(switchMap(([caseDefinitionName, tabWidgetKey]) => this.widgetTabManagementService.getWidgetTabConfiguration(caseDefinitionName, tabWidgetKey)));
|
|
72
|
+
this.WidgetEditorTab = WidgetEditorTab;
|
|
73
|
+
this.activeTab = signal(WidgetEditorTab.VISUAL);
|
|
74
|
+
this.activeContent = signal(WidgetEditorTab.VISUAL);
|
|
75
|
+
this.compactMode$ = this.pageHeaderService.compactMode$;
|
|
76
|
+
this._pendingTab = null;
|
|
77
|
+
}
|
|
78
|
+
ngOnInit() {
|
|
79
|
+
this.pageTitleService.disableReset();
|
|
80
|
+
}
|
|
81
|
+
ngAfterViewInit() {
|
|
82
|
+
this.iconService.registerAll([Edit16]);
|
|
83
|
+
this.initBreadcrumb();
|
|
84
|
+
}
|
|
85
|
+
ngOnDestroy() {
|
|
86
|
+
this.breadcrumbService.clearThirdBreadcrumb();
|
|
87
|
+
this.pageTitleService.disableReset();
|
|
88
|
+
}
|
|
89
|
+
displayBodyComponent(tab) {
|
|
90
|
+
if (this.pendingChanges && tab !== this.activeTab()) {
|
|
91
|
+
this._pendingTab = this.activeTab();
|
|
92
|
+
this.activeTab.set(tab);
|
|
93
|
+
this.onCanDeactivate();
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
this.activeTab.set(tab);
|
|
97
|
+
this.activeContent.set(tab);
|
|
98
|
+
}
|
|
99
|
+
editWidgetTab() {
|
|
100
|
+
this.showEditWidgetTabModal();
|
|
101
|
+
}
|
|
102
|
+
onPendingChangesUpdate(changeActive) {
|
|
103
|
+
this.pendingChanges = changeActive;
|
|
104
|
+
}
|
|
105
|
+
showEditWidgetTabModal() {
|
|
106
|
+
this.showEditWidgetTabModal$.next(true);
|
|
107
|
+
}
|
|
108
|
+
refreshWidgetTab() {
|
|
109
|
+
if (this.pendingChanges)
|
|
110
|
+
this.onCustomConfirm();
|
|
111
|
+
this._refreshWidgetTabSubject$.next(null);
|
|
112
|
+
}
|
|
113
|
+
onCustomModalLoaded(modal) {
|
|
114
|
+
if (!!this.customModal)
|
|
115
|
+
return;
|
|
116
|
+
this.customModal = modal;
|
|
117
|
+
}
|
|
118
|
+
onJsonCanDeactivate(canDeactivate) {
|
|
119
|
+
if (canDeactivate) {
|
|
120
|
+
this.onCustomConfirm();
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
this.onCustomCancel();
|
|
124
|
+
}
|
|
125
|
+
onCancelRedirect() {
|
|
126
|
+
this.activeTab.set(this._pendingTab);
|
|
127
|
+
}
|
|
128
|
+
onConfirmRedirect() {
|
|
129
|
+
this.activeContent.set(this.activeTab());
|
|
130
|
+
}
|
|
131
|
+
onCanDeactivate() {
|
|
132
|
+
this.widgetJsonEditorService.showPendingModal.set(true);
|
|
133
|
+
}
|
|
134
|
+
initBreadcrumb() {
|
|
135
|
+
this.documentDefinitionName$.subscribe(documentDefinitionName => {
|
|
136
|
+
this.breadcrumbService.setThirdBreadcrumb({
|
|
137
|
+
route: [`/dossier-management/dossier/${documentDefinitionName}`],
|
|
138
|
+
content: documentDefinitionName,
|
|
139
|
+
href: `/dossier-management/dossier/${documentDefinitionName}`,
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetTabComponent, deps: [{ token: i1.BreadcrumbService }, { token: i2.IconService }, { token: i1.PageTitleService }, { token: i3.ActivatedRoute }, { token: i4.TabManagementService }, { token: i4.WidgetTabManagementService }, { token: i5.TranslateService }, { token: i1.PageHeaderService }, { token: i4.WidgetJsonEditorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.3", type: DossierManagementWidgetTabComponent, isStandalone: true, selector: "valtimo-dossier-management-case-widgets", usesInheritance: true, ngImport: i0, template: "<!--\n ~ Copyright 2015-2024 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<valtimo-dossier-management-widget-tab-edit-modal\n [tabItem]=\"currentWidgetTabItem$ | async\"\n [showModal$]=\"showEditWidgetTabModal$\"\n (saveEvent)=\"refreshWidgetTab()\"\n>\n</valtimo-dossier-management-widget-tab-edit-modal>\n\n<cds-tabs type=\"contained\">\n <cds-tab\n [active]=\"activeTab() === WidgetEditorTab.VISUAL\"\n [heading]=\"'interface.editor.visualEditor' | translate\"\n (selected)=\"displayBodyComponent(WidgetEditorTab.VISUAL)\"\n >\n </cds-tab>\n\n <cds-tab\n [active]=\"activeTab() === WidgetEditorTab.JSON\"\n [heading]=\"'interface.editor.jsonEditor' | translate\"\n (selected)=\"displayBodyComponent(WidgetEditorTab.JSON)\"\n >\n </cds-tab>\n</cds-tabs>\n\n@switch (activeContent()) {\n @case (WidgetEditorTab.VISUAL) {\n <valtimo-dossier-management-widgets-editor\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [tabWidgetKey]=\"tabWidgetKey$ | async\"\n [currentWidgetTab]=\"currentWidgetTab$ | async\"\n (changeSaved)=\"refreshWidgetTab()\"\n ></valtimo-dossier-management-widgets-editor>\n }\n @case (WidgetEditorTab.JSON) {\n <valtimo-dossier-management-widgets-json-editor\n [currentWidgetTab]=\"currentWidgetTab$ | async\"\n (canDeactivate)=\"onJsonCanDeactivate($event)\"\n (changeSaved)=\"refreshWidgetTab()\"\n (customModalLoaded)=\"onCustomModalLoaded($event)\"\n (pendingChangesUpdate)=\"onPendingChangesUpdate($event)\"\n ></valtimo-dossier-management-widgets-json-editor>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"tertiary\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n (click)=\"editWidgetTab()\"\n >\n {{ 'widgetTabManagement.tab.editButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .cds--tab-content{padding:0}\n/*!\n * Copyright 2015-2024 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"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "component", type: DossierManagementWidgetsEditorComponent, selector: "valtimo-dossier-management-widgets-editor", inputs: ["documentDefinitionName", "tabWidgetKey", "currentWidgetTab"], outputs: ["changeSaved"] }, { kind: "component", type: DossierManagementWidgetTabEditModalComponent, selector: "valtimo-dossier-management-widget-tab-edit-modal", inputs: ["showModal$", "tabItem"], outputs: ["saveEvent"] }, { kind: "component", type: DossierManagementWidgetsJsonEditorComponent, selector: "valtimo-dossier-management-widgets-json-editor", inputs: ["currentWidgetTab"], outputs: ["customModalLoaded", "canDeactivate", "pendingChangesUpdate", "changeSaved"] }, { kind: "ngmodule", type: RenderInPageHeaderDirectiveModule }, { kind: "directive", type: i1.RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: ["fullWidth"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i2.Button, selector: "[cdsButton], [ibmButton]", inputs: ["ibmButton", "cdsButton", "size", "skeleton", "iconOnly", "isExpressive"] }, { kind: "ngmodule", type: IconModule }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }, { kind: "ngmodule", type: TabsModule }, { kind: "component", type: i2.Tabs, selector: "cds-tabs, ibm-tabs", inputs: ["position", "cacheActive", "followFocus", "isNavigation", "ariaLabel", "ariaLabelledby", "type", "theme", "skeleton"] }, { kind: "component", type: i2.Tab, selector: "cds-tab, ibm-tab", inputs: ["heading", "title", "context", "active", "disabled", "tabIndex", "id", "cacheActive"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
145
|
+
}
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: DossierManagementWidgetTabComponent, decorators: [{
|
|
147
|
+
type: Component,
|
|
148
|
+
args: [{ selector: 'valtimo-dossier-management-case-widgets', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
149
|
+
CommonModule,
|
|
150
|
+
TranslateModule,
|
|
151
|
+
DossierManagementWidgetsEditorComponent,
|
|
152
|
+
DossierManagementWidgetTabEditModalComponent,
|
|
153
|
+
DossierManagementWidgetsJsonEditorComponent,
|
|
154
|
+
RenderInPageHeaderDirectiveModule,
|
|
155
|
+
ButtonModule,
|
|
156
|
+
IconModule,
|
|
157
|
+
TabsModule,
|
|
158
|
+
], template: "<!--\n ~ Copyright 2015-2024 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<valtimo-dossier-management-widget-tab-edit-modal\n [tabItem]=\"currentWidgetTabItem$ | async\"\n [showModal$]=\"showEditWidgetTabModal$\"\n (saveEvent)=\"refreshWidgetTab()\"\n>\n</valtimo-dossier-management-widget-tab-edit-modal>\n\n<cds-tabs type=\"contained\">\n <cds-tab\n [active]=\"activeTab() === WidgetEditorTab.VISUAL\"\n [heading]=\"'interface.editor.visualEditor' | translate\"\n (selected)=\"displayBodyComponent(WidgetEditorTab.VISUAL)\"\n >\n </cds-tab>\n\n <cds-tab\n [active]=\"activeTab() === WidgetEditorTab.JSON\"\n [heading]=\"'interface.editor.jsonEditor' | translate\"\n (selected)=\"displayBodyComponent(WidgetEditorTab.JSON)\"\n >\n </cds-tab>\n</cds-tabs>\n\n@switch (activeContent()) {\n @case (WidgetEditorTab.VISUAL) {\n <valtimo-dossier-management-widgets-editor\n [documentDefinitionName]=\"documentDefinitionName$ | async\"\n [tabWidgetKey]=\"tabWidgetKey$ | async\"\n [currentWidgetTab]=\"currentWidgetTab$ | async\"\n (changeSaved)=\"refreshWidgetTab()\"\n ></valtimo-dossier-management-widgets-editor>\n }\n @case (WidgetEditorTab.JSON) {\n <valtimo-dossier-management-widgets-json-editor\n [currentWidgetTab]=\"currentWidgetTab$ | async\"\n (canDeactivate)=\"onJsonCanDeactivate($event)\"\n (changeSaved)=\"refreshWidgetTab()\"\n (customModalLoaded)=\"onCustomModalLoaded($event)\"\n (pendingChangesUpdate)=\"onPendingChangesUpdate($event)\"\n ></valtimo-dossier-management-widgets-json-editor>\n }\n}\n\n<ng-container renderInPageHeader>\n <ng-template>\n <button\n cdsButton=\"tertiary\"\n [size]=\"(compactMode$ | async) ? 'sm' : 'md'\"\n (click)=\"editWidgetTab()\"\n >\n {{ 'widgetTabManagement.tab.editButton' | translate }}\n\n <svg class=\"cds--btn__icon\" cdsIcon=\"edit\" size=\"16\"></svg>\n </button>\n </ng-template>\n</ng-container>\n", styles: ["::ng-deep .cds--tab-content{padding:0}\n/*!\n * Copyright 2015-2024 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"] }]
|
|
159
|
+
}], ctorParameters: () => [{ type: i1.BreadcrumbService }, { type: i2.IconService }, { type: i1.PageTitleService }, { type: i3.ActivatedRoute }, { type: i4.TabManagementService }, { type: i4.WidgetTabManagementService }, { type: i5.TranslateService }, { type: i1.PageHeaderService }, { type: i4.WidgetJsonEditorService }] });
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9kb3NzaWVyLW1hbmFnZW1lbnQvc3JjL2xpYi9jb21wb25lbnRzL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFiL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFiLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vZG9zc2llci1tYW5hZ2VtZW50L3NyYy9saWIvY29tcG9uZW50cy9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYi9kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0LXRhYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFHVCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFLTCx1QkFBdUIsRUFDdkIsaUNBQWlDLEdBQ2xDLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFDLFlBQVksRUFBRSxVQUFVLEVBQWUsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ25DLE9BQU8sRUFBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3RixPQUFPLEVBQUMsZUFBZSxF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O3dCQUNaLFVBQVU7d0JBQ1YsVUFBVTtxQkFDWCIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7RWRpdDE2fSBmcm9tICdAY2FyYm9uL2ljb25zJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEJyZWFkY3J1bWJTZXJ2aWNlLFxuICBDb25maXJtYXRpb25Nb2RhbENvbXBvbmVudCxcbiAgUGFnZUhlYWRlclNlcnZpY2UsXG4gIFBhZ2VUaXRsZVNlcnZpY2UsXG4gIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50LFxuICBSZW5kZXJJblBhZ2VIZWFkZXJEaXJlY3RpdmVNb2R1bGUsXG59IGZyb20gJ0B2YWx0aW1vL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtBcGlUYWJJdGVtfSBmcm9tICdAdmFsdGltby9kb3NzaWVyJztcbmltcG9ydCB7QnV0dG9uTW9kdWxlLCBJY29uTW9kdWxlLCBJY29uU2VydmljZSwgVGFic01vZHVsZX0gZnJvbSAnY2FyYm9uLWNvbXBvbmVudHMtYW5ndWxhcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1dpZGdldEVkaXRvclRhYn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIFRhYk1hbmFnZW1lbnRTZXJ2aWNlLFxuICBXaWRnZXRKc29uRWRpdG9yU2VydmljZSxcbiAgV2lkZ2V0VGFiTWFuYWdlbWVudFNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7RG9zc2llck1hbmFnZW1lbnRXaWRnZXRUYWJFZGl0TW9kYWxDb21wb25lbnR9IGZyb20gJy4uL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFiLWVkaXQtbW9kYWwvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWItZWRpdC1tb2RhbCc7XG5pbXBvcnQge0Rvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0c0VkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9lZGl0b3IvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQge0Rvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0c0pzb25FZGl0b3JDb21wb25lbnR9IGZyb20gJy4vanNvbi1lZGl0b3IvZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtanNvbi1lZGl0b3IuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtY2FzZS13aWRnZXRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFiLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Rvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFiLmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIERvc3NpZXJNYW5hZ2VtZW50V2lkZ2V0c0VkaXRvckNvbXBvbmVudCxcbiAgICBEb3NzaWVyTWFuYWdlbWVudFdpZGdldFRhYkVkaXRNb2RhbENvbXBvbmVudCxcbiAgICBEb3NzaWVyTWFuYWdlbWVudFdpZGdldHNKc29uRWRpdG9yQ29tcG9uZW50LFxuICAgIFJlbmRlckluUGFnZUhlYWRlckRpcmVjdGl2ZU1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBUYWJzTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEb3NzaWVyTWFuYWdlbWVudFdpZGdldFRhYkNvbXBvbmVudFxuICBleHRlbmRzIFBlbmRpbmdDaGFuZ2VzQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50RGVmaW5pdGlvbk5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnJvdXRlLnBhcmFtcy5waXBlKFxuICAgIG1hcChwYXJhbXMgPT4gcGFyYW1zLm5hbWUgfHwgJycpLFxuICAgIGZpbHRlcihkb2N1bWVudERlZmluaXRpb25OYW1lID0+ICEhZG9jdW1lbnREZWZpbml0aW9uTmFtZSksXG4gICAgdGFwKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT5cbiAgICAgIHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2Uuc2V0Q2FzZURlZmluaXRpb25JZChkb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgIClcbiAgKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgdGFiV2lkZ2V0S2V5JDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5yb3V0ZS5wYXJhbXMucGlwZShcbiAgICBtYXAocGFyYW1zID0+IHBhcmFtcy5rZXkgfHwgJycpLFxuICAgIGZpbHRlcih0YWJXaWRnZXRLZXkgPT4gISF0YWJXaWRnZXRLZXkpXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfcmVmcmVzaFdpZGdldFRhYlN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHNob3dFZGl0V2lkZ2V0VGFiTW9kYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50V2lkZ2V0VGFiSXRlbSQ6IE9ic2VydmFibGU8QXBpVGFiSXRlbT4gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLnRhYldpZGdldEtleSQsXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnN0cmVhbSgna2V5JyksXG4gICAgdGhpcy5fcmVmcmVzaFdpZGdldFRhYlN1YmplY3QkLFxuICBdKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW3RhYktleV0pID0+IHRoaXMudGFiTWFuYWdlbWVudFNlcnZpY2UuZ2V0VGFiKHRhYktleSkpLFxuICAgIHRhcCh0YWJJdGVtID0+IHtcbiAgICAgIGNvbnN0IHRpdGxlID1cbiAgICAgICAgdGFiSXRlbS5uYW1lIHx8XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KGB3aWRnZXRUYWJNYW5hZ2VtZW50Lm1ldGFkYXRhLiR7dGFiSXRlbS5rZXl9YCk7XG4gICAgICB0aGlzLnBhZ2VUaXRsZVNlcnZpY2Uuc2V0Q3VzdG9tUGFnZVRpdGxlKHRpdGxlKTtcbiAgICAgIHRoaXMucGFnZVRpdGxlU2VydmljZS5zZXRDdXN0b21QYWdlU3VidGl0bGUoXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3aWRnZXRUYWJNYW5hZ2VtZW50LnRhYi5tZXRhZGF0YScsIHtcbiAgICAgICAgICBjcmVhdGVkQnk6IHRhYkl0ZW0/LmNyZWF0ZWRCeSB8fCAnLScsXG4gICAgICAgICAgY3JlYXRlZE9uOiAhIXRhYkl0ZW0/LmNyZWF0ZWRPblxuICAgICAgICAgICAgPyBtb21lbnQodGFiSXRlbT8uY3JlYXRlZE9uKS5mb3JtYXQoJ0REIE1NTSBZWVlZIEhIOm1tJylcbiAgICAgICAgICAgIDogJy0nLFxuICAgICAgICAgIGtleTogdGFiSXRlbS5rZXksXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0pXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50V2lkZ2V0VGFiJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQsXG4gICAgdGhpcy50YWJXaWRnZXRLZXkkLFxuICAgIHRoaXMuX3JlZnJlc2hXaWRnZXRUYWJTdWJqZWN0JCxcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFtjYXNlRGVmaW5pdGlvbk5hbWUsIHRhYldpZGdldEtleV0pID0+XG4gICAgICB0aGlzLndpZGdldFRhYk1hbmFnZW1lbnRTZXJ2aWNlLmdldFdpZGdldFRhYkNvbmZpZ3VyYXRpb24oY2FzZURlZmluaXRpb25OYW1lLCB0YWJXaWRnZXRLZXkpXG4gICAgKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBXaWRnZXRFZGl0b3JUYWIgPSBXaWRnZXRFZGl0b3JUYWI7XG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVUYWIgPSBzaWduYWw8V2lkZ2V0RWRpdG9yVGFiIHwgbnVsbD4oV2lkZ2V0RWRpdG9yVGFiLlZJU1VBTCk7XG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVDb250ZW50ID0gc2lnbmFsPFdpZGdldEVkaXRvclRhYiB8IG51bGw+KFdpZGdldEVkaXRvclRhYi5WSVNVQUwpO1xuICBwdWJsaWMgcmVhZG9ubHkgY29tcGFjdE1vZGUkID0gdGhpcy5wYWdlSGVhZGVyU2VydmljZS5jb21wYWN0TW9kZSQ7XG5cbiAgcHJpdmF0ZSBfcGVuZGluZ1RhYjogV2lkZ2V0RWRpdG9yVGFiIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYlNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29uU2VydmljZTogSWNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFiTWFuYWdlbWVudFNlcnZpY2U6IFRhYk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2lkZ2V0VGFiTWFuYWdlbWVudFNlcnZpY2U6IFdpZGdldFRhYk1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2VIZWFkZXJTZXJ2aWNlOiBQYWdlSGVhZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpZGdldEpzb25FZGl0b3JTZXJ2aWNlOiBXaWRnZXRKc29uRWRpdG9yU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucGFnZVRpdGxlU2VydmljZS5kaXNhYmxlUmVzZXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pY29uU2VydmljZS5yZWdpc3RlckFsbChbRWRpdDE2XSk7XG4gICAgdGhpcy5pbml0QnJlYWRjcnVtYigpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuYnJlYWRjcnVtYlNlcnZpY2UuY2xlYXJUaGlyZEJyZWFkY3J1bWIoKTtcbiAgICB0aGlzLnBhZ2VUaXRsZVNlcnZpY2UuZGlzYWJsZVJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheUJvZHlDb21wb25lbnQodGFiOiBXaWRnZXRFZGl0b3JUYWIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nQ2hhbmdlcyAmJiB0YWIgIT09IHRoaXMuYWN0aXZlVGFiKCkpIHtcbiAgICAgIHRoaXMuX3BlbmRpbmdUYWIgPSB0aGlzLmFjdGl2ZVRhYigpO1xuICAgICAgdGhpcy5hY3RpdmVUYWIuc2V0KHRhYik7XG4gICAgICB0aGlzLm9uQ2FuRGVhY3RpdmF0ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZVRhYi5zZXQodGFiKTtcbiAgICB0aGlzLmFjdGl2ZUNvbnRlbnQuc2V0KHRhYik7XG4gIH1cblxuICBwdWJsaWMgZWRpdFdpZGdldFRhYigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dFZGl0V2lkZ2V0VGFiTW9kYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblBlbmRpbmdDaGFuZ2VzVXBkYXRlKGNoYW5nZUFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucGVuZGluZ0NoYW5nZXMgPSBjaGFuZ2VBY3RpdmU7XG4gIH1cblxuICBwcml2YXRlIHNob3dFZGl0V2lkZ2V0VGFiTW9kYWwoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93RWRpdFdpZGdldFRhYk1vZGFsJC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIHJlZnJlc2hXaWRnZXRUYWIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0NoYW5nZXMpIHRoaXMub25DdXN0b21Db25maXJtKCk7XG4gICAgdGhpcy5fcmVmcmVzaFdpZGdldFRhYlN1YmplY3QkLm5leHQobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb25DdXN0b21Nb2RhbExvYWRlZChtb2RhbDogQ29uZmlybWF0aW9uTW9kYWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICBpZiAoISF0aGlzLmN1c3RvbU1vZGFsKSByZXR1cm47XG5cbiAgICB0aGlzLmN1c3RvbU1vZGFsID0gbW9kYWw7XG4gIH1cblxuICBwdWJsaWMgb25Kc29uQ2FuRGVhY3RpdmF0ZShjYW5EZWFjdGl2YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGNhbkRlYWN0aXZhdGUpIHtcbiAgICAgIHRoaXMub25DdXN0b21Db25maXJtKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vbkN1c3RvbUNhbmNlbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2FuY2VsUmVkaXJlY3QoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVUYWIuc2V0KHRoaXMuX3BlbmRpbmdUYWIpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ29uZmlybVJlZGlyZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlQ29udGVudC5zZXQodGhpcy5hY3RpdmVUYWIoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25DYW5EZWFjdGl2YXRlKCk6IHZvaWQge1xuICAgIHRoaXMud2lkZ2V0SnNvbkVkaXRvclNlcnZpY2Uuc2hvd1BlbmRpbmdNb2RhbC5zZXQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRCcmVhZGNydW1iKCk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnREZWZpbml0aW9uTmFtZSQuc3Vic2NyaWJlKGRvY3VtZW50RGVmaW5pdGlvbk5hbWUgPT4ge1xuICAgICAgdGhpcy5icmVhZGNydW1iU2VydmljZS5zZXRUaGlyZEJyZWFkY3J1bWIoe1xuICAgICAgICByb3V0ZTogW2AvZG9zc2llci1tYW5hZ2VtZW50L2Rvc3NpZXIvJHtkb2N1bWVudERlZmluaXRpb25OYW1lfWBdLFxuICAgICAgICBjb250ZW50OiBkb2N1bWVudERlZmluaXRpb25OYW1lLFxuICAgICAgICBocmVmOiBgL2Rvc3NpZXItbWFuYWdlbWVudC9kb3NzaWVyLyR7ZG9jdW1lbnREZWZpbml0aW9uTmFtZX1gLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPHZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldC10YWItZWRpdC1tb2RhbFxuICBbdGFiSXRlbV09XCJjdXJyZW50V2lkZ2V0VGFiSXRlbSQgfCBhc3luY1wiXG4gIFtzaG93TW9kYWwkXT1cInNob3dFZGl0V2lkZ2V0VGFiTW9kYWwkXCJcbiAgKHNhdmVFdmVudCk9XCJyZWZyZXNoV2lkZ2V0VGFiKClcIlxuPlxuPC92YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXQtdGFiLWVkaXQtbW9kYWw+XG5cbjxjZHMtdGFicyB0eXBlPVwiY29udGFpbmVkXCI+XG4gIDxjZHMtdGFiXG4gICAgW2FjdGl2ZV09XCJhY3RpdmVUYWIoKSA9PT0gV2lkZ2V0RWRpdG9yVGFiLlZJU1VBTFwiXG4gICAgW2hlYWRpbmddPVwiJ2ludGVyZmFjZS5lZGl0b3IudmlzdWFsRWRpdG9yJyB8IHRyYW5zbGF0ZVwiXG4gICAgKHNlbGVjdGVkKT1cImRpc3BsYXlCb2R5Q29tcG9uZW50KFdpZGdldEVkaXRvclRhYi5WSVNVQUwpXCJcbiAgPlxuICA8L2Nkcy10YWI+XG5cbiAgPGNkcy10YWJcbiAgICBbYWN0aXZlXT1cImFjdGl2ZVRhYigpID09PSBXaWRnZXRFZGl0b3JUYWIuSlNPTlwiXG4gICAgW2hlYWRpbmddPVwiJ2ludGVyZmFjZS5lZGl0b3IuanNvbkVkaXRvcicgfCB0cmFuc2xhdGVcIlxuICAgIChzZWxlY3RlZCk9XCJkaXNwbGF5Qm9keUNvbXBvbmVudChXaWRnZXRFZGl0b3JUYWIuSlNPTilcIlxuICA+XG4gIDwvY2RzLXRhYj5cbjwvY2RzLXRhYnM+XG5cbkBzd2l0Y2ggKGFjdGl2ZUNvbnRlbnQoKSkge1xuICBAY2FzZSAoV2lkZ2V0RWRpdG9yVGFiLlZJU1VBTCkge1xuICAgIDx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXRzLWVkaXRvclxuICAgICAgW2RvY3VtZW50RGVmaW5pdGlvbk5hbWVdPVwiZG9jdW1lbnREZWZpbml0aW9uTmFtZSQgfCBhc3luY1wiXG4gICAgICBbdGFiV2lkZ2V0S2V5XT1cInRhYldpZGdldEtleSQgfCBhc3luY1wiXG4gICAgICBbY3VycmVudFdpZGdldFRhYl09XCJjdXJyZW50V2lkZ2V0VGFiJCB8IGFzeW5jXCJcbiAgICAgIChjaGFuZ2VTYXZlZCk9XCJyZWZyZXNoV2lkZ2V0VGFiKClcIlxuICAgID48L3ZhbHRpbW8tZG9zc2llci1tYW5hZ2VtZW50LXdpZGdldHMtZWRpdG9yPlxuICB9XG4gIEBjYXNlIChXaWRnZXRFZGl0b3JUYWIuSlNPTikge1xuICAgIDx2YWx0aW1vLWRvc3NpZXItbWFuYWdlbWVudC13aWRnZXRzLWpzb24tZWRpdG9yXG4gICAgICBbY3VycmVudFdpZGdldFRhYl09XCJjdXJyZW50V2lkZ2V0VGFiJCB8IGFzeW5jXCJcbiAgICAgIChjYW5EZWFjdGl2YXRlKT1cIm9uSnNvbkNhbkRlYWN0aXZhdGUoJGV2ZW50KVwiXG4gICAgICAoY2hhbmdlU2F2ZWQpPVwicmVmcmVzaFdpZGdldFRhYigpXCJcbiAgICAgIChjdXN0b21Nb2RhbExvYWRlZCk9XCJvbkN1c3RvbU1vZGFsTG9hZGVkKCRldmVudClcIlxuICAgICAgKHBlbmRpbmdDaGFuZ2VzVXBkYXRlKT1cIm9uUGVuZGluZ0NoYW5nZXNVcGRhdGUoJGV2ZW50KVwiXG4gICAgPjwvdmFsdGltby1kb3NzaWVyLW1hbmFnZW1lbnQtd2lkZ2V0cy1qc29uLWVkaXRvcj5cbiAgfVxufVxuXG48bmctY29udGFpbmVyIHJlbmRlckluUGFnZUhlYWRlcj5cbiAgPG5nLXRlbXBsYXRlPlxuICAgIDxidXR0b25cbiAgICAgIGNkc0J1dHRvbj1cInRlcnRpYXJ5XCJcbiAgICAgIFtzaXplXT1cIihjb21wYWN0TW9kZSQgfCBhc3luYykgPyAnc20nIDogJ21kJ1wiXG4gICAgICAoY2xpY2spPVwiZWRpdFdpZGdldFRhYigpXCJcbiAgICA+XG4gICAgICB7eyAnd2lkZ2V0VGFiTWFuYWdlbWVudC50YWIuZWRpdEJ1dHRvbicgfCB0cmFuc2xhdGUgfX1cblxuICAgICAgPHN2ZyBjbGFzcz1cImNkcy0tYnRuX19pY29uXCIgY2RzSWNvbj1cImVkaXRcIiBzaXplPVwiMTZcIj48L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|