@valtimo/process-link 12.14.0 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/fesm2022/valtimo-process-link.mjs +691 -685
  2. package/fesm2022/valtimo-process-link.mjs.map +1 -1
  3. package/lib/components/choose-process-link-type/choose-process-link-type.component.d.ts.map +1 -1
  4. package/lib/components/form-display-configuration/form-display-configuration.component.d.ts +1 -4
  5. package/lib/components/form-display-configuration/form-display-configuration.component.d.ts.map +1 -1
  6. package/lib/components/form-flow/form-flow.component.d.ts +1 -1
  7. package/lib/components/form-flow/form-flow.component.d.ts.map +1 -1
  8. package/lib/components/form-flow-configuration-container/form-flow-configuration-container.component.d.ts.map +1 -1
  9. package/lib/components/form-link-process-diagram/form-link-process-diagram.component.d.ts +1 -1
  10. package/lib/components/form-link-process-diagram/form-link-process-diagram.component.d.ts.map +1 -1
  11. package/lib/components/import-plugin-configuration/import-plugin-configuration.component.d.ts.map +1 -1
  12. package/lib/components/plugin-action-configuration/plugin-action-configuration.component.d.ts.map +1 -1
  13. package/lib/components/process-link/process-link.component.d.ts.map +1 -1
  14. package/lib/components/process-link-modal/process-link-modal.component.d.ts +1 -1
  15. package/lib/components/process-link-modal/process-link-modal.component.d.ts.map +1 -1
  16. package/lib/components/select-form/select-form.component.d.ts +12 -9
  17. package/lib/components/select-form/select-form.component.d.ts.map +1 -1
  18. package/lib/components/select-form-flow/select-form-flow.component.d.ts +14 -12
  19. package/lib/components/select-form-flow/select-form-flow.component.d.ts.map +1 -1
  20. package/lib/components/select-plugin-action/select-plugin-action.component.d.ts +3 -2
  21. package/lib/components/select-plugin-action/select-plugin-action.component.d.ts.map +1 -1
  22. package/lib/components/select-plugin-configuration/select-plugin-configuration.component.d.ts.map +1 -1
  23. package/lib/components/select-ui-component/select-ui-component.component.d.ts.map +1 -1
  24. package/lib/models/form-link.model.d.ts +1 -0
  25. package/lib/models/form-link.model.d.ts.map +1 -1
  26. package/lib/models/process-link.model.d.ts +48 -4
  27. package/lib/models/process-link.model.d.ts.map +1 -1
  28. package/lib/process-link.module.d.ts +11 -12
  29. package/lib/process-link.module.d.ts.map +1 -1
  30. package/lib/services/form-flow.service.d.ts +6 -8
  31. package/lib/services/form-flow.service.d.ts.map +1 -1
  32. package/lib/services/index.d.ts +2 -0
  33. package/lib/services/index.d.ts.map +1 -1
  34. package/lib/services/process-link-button.service.d.ts.map +1 -1
  35. package/lib/services/process-link-state.service.d.ts +20 -8
  36. package/lib/services/process-link-state.service.d.ts.map +1 -1
  37. package/lib/services/process-link-step.service.d.ts.map +1 -1
  38. package/lib/services/process-link.service.d.ts +6 -4
  39. package/lib/services/process-link.service.d.ts.map +1 -1
  40. package/lib/services/url-resolver.service.d.ts.map +1 -1
  41. package/lib/services/url-validator.service.d.ts.map +1 -1
  42. package/package.json +4 -6
  43. package/public-api.d.ts +1 -5
  44. package/public-api.d.ts.map +1 -1
  45. package/esm2022/lib/components/choose-process-link-type/choose-process-link-type.component.mjs +0 -38
  46. package/esm2022/lib/components/choose-process-link-type/index.mjs +0 -17
  47. package/esm2022/lib/components/form-display-configuration/form-display-configuration.component.mjs +0 -119
  48. package/esm2022/lib/components/form-flow/form-flow.component.mjs +0 -206
  49. package/esm2022/lib/components/form-flow-configuration-container/form-flow-configuration-container.component.mjs +0 -107
  50. package/esm2022/lib/components/form-flow-configuration-container/index.mjs +0 -17
  51. package/esm2022/lib/components/form-link-process-diagram/form-link-process-diagram.component.mjs +0 -150
  52. package/esm2022/lib/components/import-plugin-configuration/import-plugin-configuration.component.mjs +0 -133
  53. package/esm2022/lib/components/plugin-action-configuration/plugin-action-configuration.component.mjs +0 -137
  54. package/esm2022/lib/components/process-link/process-link.component.mjs +0 -69
  55. package/esm2022/lib/components/process-link-modal/process-link-modal.component.mjs +0 -91
  56. package/esm2022/lib/components/select-form/index.mjs +0 -17
  57. package/esm2022/lib/components/select-form/select-form.component.mjs +0 -172
  58. package/esm2022/lib/components/select-form-flow/index.mjs +0 -17
  59. package/esm2022/lib/components/select-form-flow/select-form-flow.component.mjs +0 -160
  60. package/esm2022/lib/components/select-plugin-action/select-plugin-action.component.mjs +0 -74
  61. package/esm2022/lib/components/select-plugin-configuration/select-plugin-configuration.component.mjs +0 -75
  62. package/esm2022/lib/components/select-ui-component/select-ui-component.component.mjs +0 -128
  63. package/esm2022/lib/components/select-url/select-url.component.mjs +0 -125
  64. package/esm2022/lib/constants/index.mjs +0 -18
  65. package/esm2022/lib/constants/injection-tokens.mjs +0 -20
  66. package/esm2022/lib/constants/process.link.mjs +0 -23
  67. package/esm2022/lib/models/form-custom-component.model.mjs +0 -17
  68. package/esm2022/lib/models/form-flow.model.mjs +0 -17
  69. package/esm2022/lib/models/form-link.model.mjs +0 -17
  70. package/esm2022/lib/models/index.mjs +0 -20
  71. package/esm2022/lib/models/process-link-url.model.mjs +0 -17
  72. package/esm2022/lib/models/process-link.model.mjs +0 -17
  73. package/esm2022/lib/process-link-routing.module.mjs +0 -44
  74. package/esm2022/lib/process-link.module.mjs +0 -203
  75. package/esm2022/lib/services/form-flow-component.service.mjs +0 -44
  76. package/esm2022/lib/services/form-flow.service.mjs +0 -59
  77. package/esm2022/lib/services/index.mjs +0 -23
  78. package/esm2022/lib/services/plugin-state.service.mjs +0 -90
  79. package/esm2022/lib/services/process-link-button.service.mjs +0 -106
  80. package/esm2022/lib/services/process-link-state.service.mjs +0 -173
  81. package/esm2022/lib/services/process-link-step.service.mjs +0 -269
  82. package/esm2022/lib/services/process-link.service.mjs +0 -117
  83. package/esm2022/lib/services/url-resolver.service.mjs +0 -18
  84. package/esm2022/lib/services/url-validator.service.mjs +0 -26
  85. package/esm2022/public-api.mjs +0 -34
  86. package/esm2022/valtimo-process-link.mjs +0 -5
  87. package/lib/components/select-url/select-url.component.d.ts +0 -31
  88. package/lib/components/select-url/select-url.component.d.ts.map +0 -1
@@ -1,160 +0,0 @@
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 { Component } from '@angular/core';
17
- import { BehaviorSubject, combineLatest, map, Subscription, switchMap, tap } from 'rxjs';
18
- import { take } from 'rxjs/operators';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "@valtimo/config";
21
- import * as i2 from "../../services";
22
- import * as i3 from "@angular/common";
23
- import * as i4 from "carbon-components-angular";
24
- import * as i5 from "carbon-components-angular/dropdown";
25
- import * as i6 from "../form-display-configuration/form-display-configuration.component";
26
- import * as i7 from "@ngx-translate/core";
27
- export class SelectFormFlowComponent {
28
- constructor(configService, formFlowService, stateService, processLinkService, buttonService) {
29
- this.configService = configService;
30
- this.formFlowService = formFlowService;
31
- this.stateService = stateService;
32
- this.processLinkService = processLinkService;
33
- this.buttonService = buttonService;
34
- this.formDisplayValue = '';
35
- this.formSizeValue = '';
36
- this.subtitlesValue = [];
37
- this.saving$ = this.stateService.saving$;
38
- this.formFlowDefinitions$ = this.formFlowService.getFormFlowDefinitions();
39
- this._taskPanelToggle = this.configService.featureToggles?.enableTaskPanel;
40
- this.formFlowDefinitionListItems$ = combineLatest([this.stateService.selectedProcessLink$, this.formFlowDefinitions$]).pipe(map(([selectedProcessLink, formFlowDefinitions]) => formFlowDefinitions.map(definition => ({
41
- content: definition.name,
42
- id: definition.id,
43
- selected: selectedProcessLink
44
- ? selectedProcessLink.formFlowDefinitionId === definition.id
45
- : false,
46
- }))), tap(formFlowDefinitionListItems => {
47
- const selectedItem = formFlowDefinitionListItems.find(item => item.selected);
48
- if (selectedItem) {
49
- this.selectFormFlowDefinition(selectedItem);
50
- }
51
- }));
52
- this._subscriptions = new Subscription();
53
- this.isUserTask$ = new BehaviorSubject(false);
54
- }
55
- ngOnInit() {
56
- this.openBackButtonSubscription();
57
- this.openSaveButtonSubscription();
58
- this._subscriptions.add(combineLatest([
59
- this.stateService.selectedProcessLink$,
60
- this.stateService.modalParams$,
61
- ]).subscribe(([selectedProcessLink, modalParams]) => {
62
- if (selectedProcessLink) {
63
- this.formDisplayValue = selectedProcessLink.formDisplayType;
64
- this.formSizeValue = selectedProcessLink.formSize;
65
- }
66
- this.isUserTask$.next(modalParams?.element?.type === 'bpmn:UserTask');
67
- }));
68
- }
69
- ngOnDestroy() {
70
- this._subscriptions.unsubscribe();
71
- }
72
- selectedFormDisplayValue(formDisplay) {
73
- this.formDisplayValue = formDisplay;
74
- }
75
- selectedFormSizeValue(formSize) {
76
- this.formSizeValue = formSize;
77
- }
78
- selectFormFlowDefinition(formFlowDefinition) {
79
- this.selectedFormFlowDefinition = formFlowDefinition?.id ? formFlowDefinition : null;
80
- this.selectedFormFlowDefinition
81
- ? this.buttonService.enableSaveButton()
82
- : this.buttonService.disableSaveButton();
83
- }
84
- selectedSubtitlesValue(subtitles) {
85
- this.subtitlesValue = subtitles;
86
- }
87
- openBackButtonSubscription() {
88
- this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
89
- this.stateService.setInitial();
90
- }));
91
- }
92
- openSaveButtonSubscription() {
93
- this._subscriptions.add(this.buttonService.saveButtonClick$.subscribe(() => {
94
- this.stateService.startSaving();
95
- this.saveFormFlowLink();
96
- }));
97
- }
98
- saveFormFlowLink() {
99
- this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
100
- if (selectedProcessLink) {
101
- this.updateProcessLink();
102
- }
103
- else {
104
- this.saveNewProcessLink();
105
- }
106
- });
107
- }
108
- updateProcessLink() {
109
- combineLatest(this.stateService.selectedProcessLink$, this.isUserTask$)
110
- .pipe(take(1))
111
- .subscribe(([selectedProcessLink, isUserTask]) => {
112
- const updateProcessLinkRequest = {
113
- id: selectedProcessLink.id,
114
- formFlowDefinitionId: this.selectedFormFlowDefinition.id,
115
- ...(this._taskPanelToggle &&
116
- isUserTask && {
117
- formDisplayType: this.formDisplayValue,
118
- }),
119
- ...(this._taskPanelToggle && isUserTask && { formSize: this.formSizeValue }),
120
- ...(isUserTask && { subtitles: this.subtitlesValue }),
121
- };
122
- this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe(() => {
123
- this.stateService.closeModal();
124
- }, () => {
125
- this.stateService.stopSaving();
126
- });
127
- });
128
- }
129
- saveNewProcessLink() {
130
- combineLatest([
131
- this.stateService.modalParams$,
132
- this.stateService.selectedProcessLinkTypeId$,
133
- this.isUserTask$,
134
- ])
135
- .pipe(take(1), switchMap(([modalParams, processLinkTypeId, isUserTask]) => this.processLinkService.saveProcessLink({
136
- formFlowDefinitionId: this.selectedFormFlowDefinition.id,
137
- activityType: modalParams.element.activityListenerType,
138
- processDefinitionId: modalParams.processDefinitionId,
139
- processLinkType: processLinkTypeId,
140
- activityId: modalParams.element.id,
141
- ...(isUserTask && {
142
- formDisplayType: this.formDisplayValue,
143
- }),
144
- ...(isUserTask && { formSize: this.formSizeValue }),
145
- ...(isUserTask && { subtitles: this.subtitlesValue }),
146
- })))
147
- .subscribe(() => {
148
- this.stateService.closeModal();
149
- }, () => {
150
- this.stateService.stopSaving();
151
- });
152
- }
153
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, deps: [{ token: i1.ConfigService }, { token: i2.FormFlowService }, { token: i2.ProcessLinkStateService }, { token: i2.ProcessLinkService }, { token: i2.ProcessLinkButtonService }], target: i0.ɵɵFactoryTarget.Component }); }
154
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectFormFlowComponent, selector: "valtimo-select-form-flow", 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<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\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: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i5.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "component", type: i6.FormDisplayConfigurationComponent, selector: "valtimo-form-display-configuration", inputs: ["selectedFormDefinition"], outputs: ["formDisplayValue", "formSizeValue", "subtitlesValue"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
155
- }
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectFormFlowComponent, decorators: [{
157
- type: Component,
158
- args: [{ selector: 'valtimo-select-form-flow', 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<ng-container\n *ngIf=\"{\n formFlowDefinitions: formFlowDefinitionListItems$ | async,\n saving: saving$ | async,\n } as obs\"\n>\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.chooseFormFlowDescription' | translate }}\n </p>\n <div class=\"select-form-flow\">\n <cds-combo-box\n [appendInline]=\"true\"\n [disabled]=\"!obs.formFlowDefinitions || obs.saving\"\n [items]=\"obs.formFlowDefinitions || []\"\n [placeholder]=\"'interface.typeToSearch' | translate\"\n (selected)=\"selectFormFlowDefinition($event)\"\n [label]=\"'processLinkSteps.selectFormFlow' | translate\"\n ><cds-dropdown-list></cds-dropdown-list\n ></cds-combo-box>\n <br />\n\n <valtimo-form-display-configuration\n [selectedFormDefinition]=\"selectedFormFlowDefinition\"\n (formDisplayValue)=\"selectedFormDisplayValue($event)\"\n (formSizeValue)=\"selectedFormSizeValue($event)\"\n (subtitlesValue)=\"selectedSubtitlesValue($event)\"\n ></valtimo-form-display-configuration>\n </div>\n</ng-container>\n", styles: [".label-with-tooltip{display:flex;align-items:center}.select-form-flow{display:flex;flex-direction:column;width:100%;margin-top:24px}\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.ConfigService }, { type: i2.FormFlowService }, { type: i2.ProcessLinkStateService }, { type: i2.ProcessLinkService }, { type: i2.ProcessLinkButtonService }] });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZvcm0tZmxvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbGluay9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LWZvcm0tZmxvdy9zZWxlY3QtZm9ybS1mbG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtZm9ybS1mbG93L3NlbGVjdC1mb3JtLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUMsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbkcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7QUFlcEMsTUFBTSxPQUFPLHVCQUF1QjtJQWdDbEMsWUFDbUIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsWUFBcUMsRUFDckMsa0JBQXNDLEVBQ3RDLGFBQXVDO1FBSnZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFwQ25ELHFCQUFnQixHQUFXLEVBQUUsQ0FBQztRQUM5QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUUzQixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUNyQixZQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FB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LElBQUksQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQ3hELFlBQVksRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLG9CQUFvQjtZQUN0RCxtQkFBbUIsRUFBRSxXQUFXLENBQUMsbUJBQW1CO1lBQ3BELGVBQWUsRUFBRSxpQkFBaUI7WUFDbEMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNsQyxHQUFHLENBQUMsVUFBVSxJQUFJO2dCQUNoQixlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN2QyxDQUFDO1lBQ0YsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFDLENBQUM7WUFDakQsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFDLENBQUM7U0FDcEQsQ0FBQyxDQUNILENBQ0Y7YUFDQSxTQUFTLENBQ1IsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqQyxDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQ0YsQ0FBQztJQUNOLENBQUM7K0dBdEtVLHVCQUF1QjttR0FBdkIsdUJBQXVCLGdFQ2hDcEMsb3NEQTZDQTs7NEZEYmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge0NvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2V9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Rm9ybURlZmluaXRpb25MaXN0SXRlbSwgRm9ybUZsb3dQcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG99IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1xuICBGb3JtRmxvd1NlcnZpY2UsXG4gIFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTZXJ2aWNlLFxuICBQcm9jZXNzTGlua1N0YXRlU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLXNlbGVjdC1mb3JtLWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZvcm0tZmxvdy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1mb3JtLWZsb3cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Rm9ybUZsb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBmb3JtRGlzcGxheVZhbHVlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGZvcm1TaXplVmFsdWU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24hOiBGb3JtRGVmaW5pdGlvbkxpc3RJdGVtO1xuICBwdWJsaWMgc3VidGl0bGVzVmFsdWU6IHN0cmluZ1tdID0gW107XG4gIHB1YmxpYyByZWFkb25seSBzYXZpbmckID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc2F2aW5nJDtcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmxvd0RlZmluaXRpb25zJCA9IHRoaXMuZm9ybUZsb3dTZXJ2aWNlLmdldEZvcm1GbG93RGVmaW5pdGlvbnMoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdGFza1BhbmVsVG9nZ2xlID0gdGhpcy5jb25maWdTZXJ2aWNlLmZlYXR1cmVUb2dnbGVzPy5lbmFibGVUYXNrUGFuZWw7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1GbG93RGVmaW5pdGlvbkxpc3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8Rm9ybURlZmluaXRpb25MaXN0SXRlbT4+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJCwgdGhpcy5mb3JtRmxvd0RlZmluaXRpb25zJF0pLnBpcGUoXG4gICAgICBtYXAoKFtzZWxlY3RlZFByb2Nlc3NMaW5rLCBmb3JtRmxvd0RlZmluaXRpb25zXSkgPT5cbiAgICAgICAgZm9ybUZsb3dEZWZpbml0aW9ucy5tYXAoZGVmaW5pdGlvbiA9PiAoe1xuICAgICAgICAgIGNvbnRlbnQ6IGRlZmluaXRpb24ubmFtZSxcbiAgICAgICAgICBpZDogZGVmaW5pdGlvbi5pZCxcbiAgICAgICAgICBzZWxlY3RlZDogc2VsZWN0ZWRQcm9jZXNzTGlua1xuICAgICAgICAgICAgPyBzZWxlY3RlZFByb2Nlc3NMaW5rLmZvcm1GbG93RGVmaW5pdGlvbklkID09PSBkZWZpbml0aW9uLmlkXG4gICAgICAgICAgICA6IGZhbHNlLFxuICAgICAgICB9KSlcbiAgICAgICksXG4gICAgICB0YXAoZm9ybUZsb3dEZWZpbml0aW9uTGlzdEl0ZW1zID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gZm9ybUZsb3dEZWZpbml0aW9uTGlzdEl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKTtcblxuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RGb3JtRmxvd0RlZmluaXRpb24oc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgaXNVc2VyVGFzayQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRmxvd1NlcnZpY2U6IEZvcm1GbG93U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzTGlua1NlcnZpY2U6IFByb2Nlc3NMaW5rU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJ1dHRvblNlcnZpY2U6IFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJCxcbiAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UubW9kYWxQYXJhbXMkLFxuICAgICAgXSkuc3Vic2NyaWJlKChbc2VsZWN0ZWRQcm9jZXNzTGluaywgbW9kYWxQYXJhbXNdKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3RlZFByb2Nlc3NMaW5rKSB7XG4gICAgICAgICAgdGhpcy5mb3JtRGlzcGxheVZhbHVlID0gc2VsZWN0ZWRQcm9jZXNzTGluay5mb3JtRGlzcGxheVR5cGU7XG4gICAgICAgICAgdGhpcy5mb3JtU2l6ZVZhbHVlID0gc2VsZWN0ZWRQcm9jZXNzTGluay5mb3JtU2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNVc2VyVGFzayQubmV4dChtb2RhbFBhcmFtcz8uZWxlbWVudD8udHlwZSA9PT0gJ2JwbW46VXNlclRhc2snKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZEZvcm1EaXNwbGF5VmFsdWUoZm9ybURpc3BsYXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybURpc3BsYXlWYWx1ZSA9IGZvcm1EaXNwbGF5O1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkRm9ybVNpemVWYWx1ZShmb3JtU2l6ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtU2l6ZVZhbHVlID0gZm9ybVNpemU7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0Rm9ybUZsb3dEZWZpbml0aW9uKGZvcm1GbG93RGVmaW5pdGlvbjogRm9ybURlZmluaXRpb25MaXN0SXRlbSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24gPSBmb3JtRmxvd0RlZmluaXRpb24/LmlkID8gZm9ybUZsb3dEZWZpbml0aW9uIDogbnVsbDtcblxuICAgIHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb25cbiAgICAgID8gdGhpcy5idXR0b25TZXJ2aWNlLmVuYWJsZVNhdmVCdXR0b24oKVxuICAgICAgOiB0aGlzLmJ1dHRvblNlcnZpY2UuZGlzYWJsZVNhdmVCdXR0b24oKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZFN1YnRpdGxlc1ZhbHVlKHN1YnRpdGxlczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLnN1YnRpdGxlc1ZhbHVlID0gc3VidGl0bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldEluaXRpYWwoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2F2ZUJ1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdGFydFNhdmluZygpO1xuICAgICAgICB0aGlzLnNhdmVGb3JtRmxvd0xpbmsoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZUZvcm1GbG93TGluaygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzZWxlY3RlZFByb2Nlc3NMaW5rID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZFByb2Nlc3NMaW5rKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvY2Vzc0xpbmsoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2F2ZU5ld1Byb2Nlc3NMaW5rKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVByb2Nlc3NMaW5rKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QodGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQsIHRoaXMuaXNVc2VyVGFzayQpXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoW3NlbGVjdGVkUHJvY2Vzc0xpbmssIGlzVXNlclRhc2tdKSA9PiB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdDogRm9ybUZsb3dQcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG8gPSB7XG4gICAgICAgICAgaWQ6IHNlbGVjdGVkUHJvY2Vzc0xpbmsuaWQsXG4gICAgICAgICAgZm9ybUZsb3dEZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24uaWQsXG4gICAgICAgICAgLi4uKHRoaXMuX3Rhc2tQYW5lbFRvZ2dsZSAmJlxuICAgICAgICAgICAgaXNVc2VyVGFzayAmJiB7XG4gICAgICAgICAgICAgIGZvcm1EaXNwbGF5VHlwZTogdGhpcy5mb3JtRGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgLi4uKHRoaXMuX3Rhc2tQYW5lbFRvZ2dsZSAmJiBpc1VzZXJUYXNrICYmIHtmb3JtU2l6ZTogdGhpcy5mb3JtU2l6ZVZhbHVlfSksXG4gICAgICAgICAgLi4uKGlzVXNlclRhc2sgJiYge3N1YnRpdGxlczogdGhpcy5zdWJ0aXRsZXNWYWx1ZX0pLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMucHJvY2Vzc0xpbmtTZXJ2aWNlLnVwZGF0ZVByb2Nlc3NMaW5rKHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdCkuc3Vic2NyaWJlKFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnN0b3BTYXZpbmcoKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2ZU5ld1Byb2Nlc3NMaW5rKCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2UubW9kYWxQYXJhbXMkLFxuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGlua1R5cGVJZCQsXG4gICAgICB0aGlzLmlzVXNlclRhc2skLFxuICAgIF0pXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgc3dpdGNoTWFwKChbbW9kYWxQYXJhbXMsIHByb2Nlc3NMaW5rVHlwZUlkLCBpc1VzZXJUYXNrXSkgPT5cbiAgICAgICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS5zYXZlUHJvY2Vzc0xpbmsoe1xuICAgICAgICAgICAgZm9ybUZsb3dEZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRGb3JtRmxvd0RlZmluaXRpb24uaWQsXG4gICAgICAgICAgICBhY3Rpdml0eVR5cGU6IG1vZGFsUGFyYW1zLmVsZW1lbnQuYWN0aXZpdHlMaXN0ZW5lclR5cGUsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbklkOiBtb2RhbFBhcmFtcy5wcm9jZXNzRGVmaW5pdGlvbklkLFxuICAgICAgICAgICAgcHJvY2Vzc0xpbmtUeXBlOiBwcm9jZXNzTGlua1R5cGVJZCxcbiAgICAgICAgICAgIGFjdGl2aXR5SWQ6IG1vZGFsUGFyYW1zLmVsZW1lbnQuaWQsXG4gICAgICAgICAgICAuLi4oaXNVc2VyVGFzayAmJiB7XG4gICAgICAgICAgICAgIGZvcm1EaXNwbGF5VHlwZTogdGhpcy5mb3JtRGlzcGxheVZhbHVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAuLi4oaXNVc2VyVGFzayAmJiB7Zm9ybVNpemU6IHRoaXMuZm9ybVNpemVWYWx1ZX0pLFxuICAgICAgICAgICAgLi4uKGlzVXNlclRhc2sgJiYge3N1YnRpdGxlczogdGhpcy5zdWJ0aXRsZXNWYWx1ZX0pLFxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdG9wU2F2aW5nKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBmb3JtRmxvd0RlZmluaXRpb25zOiBmb3JtRmxvd0RlZmluaXRpb25MaXN0SXRlbXMkIHwgYXN5bmMsXG4gICAgc2F2aW5nOiBzYXZpbmckIHwgYXN5bmMsXG4gIH0gYXMgb2JzXCJcbj5cbiAgPHAgY2xhc3M9XCJzdGVwLWRlc2NyaXB0aW9uXCI+XG4gICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5jaG9vc2VGb3JtRmxvd0Rlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZSB9fVxuICA8L3A+XG4gIDxkaXYgY2xhc3M9XCJzZWxlY3QtZm9ybS1mbG93XCI+XG4gICAgPGNkcy1jb21iby1ib3hcbiAgICAgIFthcHBlbmRJbmxpbmVdPVwidHJ1ZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIW9icy5mb3JtRmxvd0RlZmluaXRpb25zIHx8IG9icy5zYXZpbmdcIlxuICAgICAgW2l0ZW1zXT1cIm9icy5mb3JtRmxvd0RlZmluaXRpb25zIHx8IFtdXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInaW50ZXJmYWNlLnR5cGVUb1NlYXJjaCcgfCB0cmFuc2xhdGVcIlxuICAgICAgKHNlbGVjdGVkKT1cInNlbGVjdEZvcm1GbG93RGVmaW5pdGlvbigkZXZlbnQpXCJcbiAgICAgIFtsYWJlbF09XCIncHJvY2Vzc0xpbmtTdGVwcy5zZWxlY3RGb3JtRmxvdycgfCB0cmFuc2xhdGVcIlxuICAgICAgPjxjZHMtZHJvcGRvd24tbGlzdD48L2Nkcy1kcm9wZG93bi1saXN0XG4gICAgPjwvY2RzLWNvbWJvLWJveD5cbiAgICA8YnIgLz5cblxuICAgIDx2YWx0aW1vLWZvcm0tZGlzcGxheS1jb25maWd1cmF0aW9uXG4gICAgICBbc2VsZWN0ZWRGb3JtRGVmaW5pdGlvbl09XCJzZWxlY3RlZEZvcm1GbG93RGVmaW5pdGlvblwiXG4gICAgICAoZm9ybURpc3BsYXlWYWx1ZSk9XCJzZWxlY3RlZEZvcm1EaXNwbGF5VmFsdWUoJGV2ZW50KVwiXG4gICAgICAoZm9ybVNpemVWYWx1ZSk9XCJzZWxlY3RlZEZvcm1TaXplVmFsdWUoJGV2ZW50KVwiXG4gICAgICAoc3VidGl0bGVzVmFsdWUpPVwic2VsZWN0ZWRTdWJ0aXRsZXNWYWx1ZSgkZXZlbnQpXCJcbiAgICA+PC92YWx0aW1vLWZvcm0tZGlzcGxheS1jb25maWd1cmF0aW9uPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,74 +0,0 @@
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 { Component } from '@angular/core';
17
- import { of, Subscription } from 'rxjs';
18
- import { switchMap, take } from 'rxjs/operators';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "../../services";
21
- import * as i2 from "@valtimo/plugin";
22
- import * as i3 from "@angular/common";
23
- import * as i4 from "carbon-components-angular";
24
- import * as i5 from "@ngx-translate/core";
25
- export class SelectPluginActionComponent {
26
- constructor(buttonService, pluginManagementService, stateService, stepService) {
27
- this.buttonService = buttonService;
28
- this.pluginManagementService = pluginManagementService;
29
- this.stateService = stateService;
30
- this.stepService = stepService;
31
- this.pluginFunctions$ = this.stateService.selectedPluginDefinition$.pipe(switchMap(selectedDefinition => selectedDefinition
32
- ? this.pluginManagementService.getPluginFunctions(selectedDefinition.key)
33
- : of(undefined)));
34
- this.selectedPluginDefinition$ = this.stateService.selectedPluginDefinition$;
35
- this.selectedPluginFunction$ = this.stateService.selectedPluginFunction$;
36
- this._subscriptions = new Subscription();
37
- }
38
- ngOnInit() {
39
- this.openBackButtonSubscription();
40
- this.openNextButtonSubscription();
41
- }
42
- ngOnDestroy() {
43
- this._subscriptions.unsubscribe();
44
- }
45
- selectFunction(pluginFunction) {
46
- this.stateService.selectPluginFunction(pluginFunction);
47
- }
48
- selected(event) {
49
- this.selectFunction(JSON.parse(event.value));
50
- this.buttonService.enableNextButton();
51
- }
52
- stringify(object) {
53
- return JSON.stringify(object);
54
- }
55
- openBackButtonSubscription() {
56
- this.buttonService.backButtonClick$
57
- .pipe(switchMap(() => this.stepService.hasOneProcessLinkType$), take(1))
58
- .subscribe((hasOneOption) => {
59
- this.stepService.setProcessLinkTypeSteps('plugin', hasOneOption);
60
- });
61
- }
62
- openNextButtonSubscription() {
63
- this._subscriptions.add(this.buttonService.nextButtonClick$.subscribe(() => {
64
- this.stepService.setConfigurePluginActionSteps();
65
- }));
66
- }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, deps: [{ token: i1.ProcessLinkButtonService }, { token: i2.PluginManagementService }, { token: i1.PluginStateService }, { token: i1.ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginActionComponent, selector: "valtimo-select-plugin-action", 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<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\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: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i4.SelectionTile, selector: "cds-selection-tile, ibm-selection-tile", inputs: ["theme", "id", "selected", "value", "disabled"], outputs: ["change"] }, { kind: "component", type: i4.TileGroup, selector: "cds-tile-group, ibm-tile-group", inputs: ["name", "multiple", "legend"], outputs: ["selected"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i2.PluginTranslatePipe, name: "pluginTranslate" }] }); }
69
- }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginActionComponent, decorators: [{
71
- type: Component,
72
- args: [{ selector: 'valtimo-select-plugin-action', 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<ng-container *ngIf=\"pluginFunctions$ | async as pluginFunctions; else loading\">\n <div class=\"choose-plugin-action\" *ngIf=\"pluginFunctions?.length > 0\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginActionDescription' | translate }}\n </p>\n <div class=\"action-tiles\">\n <cds-tile-group\n [multiple]=\"false\"\n *ngIf=\"{selectedPluginDefinition: selectedPluginDefinition$ | async} as obs\"\n (selected)=\"selected($event)\"\n >\n <cds-selection-tile\n *ngFor=\"let pluginFunction of pluginFunctions\"\n [value]=\"stringify(pluginFunction)\"\n [selected]=\"false\"\n >{{\n pluginFunction.key | pluginTranslate: obs.selectedPluginDefinition.key | async\n }}</cds-selection-tile\n >\n </cds-tile-group>\n </div>\n </div>\n <ng-container *ngIf=\"!pluginFunctions || pluginFunctions?.length === 0\">\n <ng-container *ngTemplateOutlet=\"noPluginFunctionsTemplate\"> </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #noPluginFunctionsTemplate>\n <p class=\"step-description\">\n {{ 'processLink.noPluginFunctions' | translate }}\n </p>\n</ng-template>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.action-tiles{margin-top:24px;width:calc(100% + 8px);margin-left:-8px}::ng-deep .choose-plugin-action cds-selection-tile{display:flex;width:calc(33.3% - 8px)}::ng-deep .choose-plugin-action .cds--tile{width:100%}::ng-deep .choose-plugin-action cds-tile-group fieldset{display:flex;flex-direction:row;flex-wrap:wrap}::ng-deep .choose-plugin-action cds-selection-tile{margin-left:8px}::ng-deep .choose-plugin-action cds-selection-tile:nth-child(n+4){margin-top:8px}::ng-deep .action-tiles .cds--tile{background-color:var(--cds-layer-02, #ffffff)}::ng-deep .action-tiles .cds--tile:hover{background:var(--cds-layer-hover)}\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"] }]
73
- }], ctorParameters: () => [{ type: i1.ProcessLinkButtonService }, { type: i2.PluginManagementService }, { type: i1.PluginStateService }, { type: i1.ProcessLinkStepService }] });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBsdWdpbi1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9wcm9jZXNzLWxpbmsvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC1wbHVnaW4tYWN0aW9uL3NlbGVjdC1wbHVnaW4tYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtcGx1Z2luLWFjdGlvbi9zZWxlY3QtcGx1Z2luLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBYSxFQUFFLEVBQUUsWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFTL0MsTUFBTSxPQUFPLDJCQUEyQjtJQWdCdEMsWUFDbUIsYUFBdUMsRUFDdkMsdUJBQWdELEVBQ2hELFlBQWdDLEVBQ2hDLFdBQW1DO1FBSG5DLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXlCO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFuQnRDLHFCQUFnQixHQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FDOUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FDN0Isa0JBQWtCO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDO1lBQ3pFLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQ2xCLENBQ0YsQ0FBQztRQUNZLDhCQUF5QixHQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDO1FBQzlCLDRCQUF1QixHQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDO1FBRXBDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU96QyxDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxjQUE4QjtRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBc0I7UUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWM7UUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0I7YUFDaEMsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEVBQ3hELElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUjthQUNBLFNBQVMsQ0FBQyxDQUFDLFlBQXFCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNuRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7K0dBOURVLDJCQUEyQjttR0FBM0IsMkJBQTJCLG9FQzNCeEMsbStEQXNEQTs7NEZEM0JhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGx1Z2luRGVmaW5pdGlvbiwgUGx1Z2luRnVuY3Rpb24sIFBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9wbHVnaW4nO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7UHJvY2Vzc0xpbmtCdXR0b25TZXJ2aWNlLCBQcm9jZXNzTGlua1N0ZXBTZXJ2aWNlLCBQbHVnaW5TdGF0ZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zZWxlY3QtcGx1Z2luLWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtcGx1Z2luLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdC1wbHVnaW4tYWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFBsdWdpbkFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IHBsdWdpbkZ1bmN0aW9ucyQ6IE9ic2VydmFibGU8QXJyYXk8UGx1Z2luRnVuY3Rpb24+IHwgdW5kZWZpbmVkPiA9XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQbHVnaW5EZWZpbml0aW9uJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKHNlbGVjdGVkRGVmaW5pdGlvbiA9PlxuICAgICAgICBzZWxlY3RlZERlZmluaXRpb25cbiAgICAgICAgICA/IHRoaXMucGx1Z2luTWFuYWdlbWVudFNlcnZpY2UuZ2V0UGx1Z2luRnVuY3Rpb25zKHNlbGVjdGVkRGVmaW5pdGlvbi5rZXkpXG4gICAgICAgICAgOiBvZih1bmRlZmluZWQpXG4gICAgICApXG4gICAgKTtcbiAgcHVibGljIHJlYWRvbmx5IHNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQ6IE9ic2VydmFibGU8UGx1Z2luRGVmaW5pdGlvbj4gPVxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQ7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZFBsdWdpbkZ1bmN0aW9uJDogT2JzZXJ2YWJsZTxQbHVnaW5GdW5jdGlvbj4gPVxuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luRnVuY3Rpb24kO1xuXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW5NYW5hZ2VtZW50U2VydmljZTogUGx1Z2luTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IFBsdWdpblN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0ZXBTZXJ2aWNlOiBQcm9jZXNzTGlua1N0ZXBTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3Blbk5leHRCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RnVuY3Rpb24ocGx1Z2luRnVuY3Rpb246IFBsdWdpbkZ1bmN0aW9uKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0UGx1Z2luRnVuY3Rpb24ocGx1Z2luRnVuY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkKGV2ZW50OiB7dmFsdWU6IHN0cmluZ30pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdEZ1bmN0aW9uKEpTT04ucGFyc2UoZXZlbnQudmFsdWUpKTtcbiAgICB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlTmV4dEJ1dHRvbigpO1xuICB9XG5cbiAgcHVibGljIHN0cmluZ2lmeShvYmplY3Q6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iamVjdCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5CYWNrQnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RlcFNlcnZpY2UuaGFzT25lUHJvY2Vzc0xpbmtUeXBlJCksXG4gICAgICAgIHRha2UoMSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKGhhc09uZU9wdGlvbjogYm9vbGVhbikgPT4ge1xuICAgICAgICB0aGlzLnN0ZXBTZXJ2aWNlLnNldFByb2Nlc3NMaW5rVHlwZVN0ZXBzKCdwbHVnaW4nLCBoYXNPbmVPcHRpb24pO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5OZXh0QnV0dG9uU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5idXR0b25TZXJ2aWNlLm5leHRCdXR0b25DbGljayQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGVwU2VydmljZS5zZXRDb25maWd1cmVQbHVnaW5BY3Rpb25TdGVwcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyNCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwbHVnaW5GdW5jdGlvbnMkIHwgYXN5bmMgYXMgcGx1Z2luRnVuY3Rpb25zOyBlbHNlIGxvYWRpbmdcIj5cbiAgPGRpdiBjbGFzcz1cImNob29zZS1wbHVnaW4tYWN0aW9uXCIgKm5nSWY9XCJwbHVnaW5GdW5jdGlvbnM/Lmxlbmd0aCA+IDBcIj5cbiAgICA8cCBjbGFzcz1cInN0ZXAtZGVzY3JpcHRpb25cIj5cbiAgICAgIHt7ICdwcm9jZXNzTGlua0NvbmZpZ3VyYXRpb24uY2hvb3NlUGx1Z2luQWN0aW9uRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG4gICAgPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb24tdGlsZXNcIj5cbiAgICAgIDxjZHMtdGlsZS1ncm91cFxuICAgICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgICAqbmdJZj1cIntzZWxlY3RlZFBsdWdpbkRlZmluaXRpb246IHNlbGVjdGVkUGx1Z2luRGVmaW5pdGlvbiQgfCBhc3luY30gYXMgb2JzXCJcbiAgICAgICAgKHNlbGVjdGVkKT1cInNlbGVjdGVkKCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8Y2RzLXNlbGVjdGlvbi10aWxlXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHBsdWdpbkZ1bmN0aW9uIG9mIHBsdWdpbkZ1bmN0aW9uc1wiXG4gICAgICAgICAgW3ZhbHVlXT1cInN0cmluZ2lmeShwbHVnaW5GdW5jdGlvbilcIlxuICAgICAgICAgIFtzZWxlY3RlZF09XCJmYWxzZVwiXG4gICAgICAgICAgPnt7XG4gICAgICAgICAgICBwbHVnaW5GdW5jdGlvbi5rZXkgfCBwbHVnaW5UcmFuc2xhdGU6IG9icy5zZWxlY3RlZFBsdWdpbkRlZmluaXRpb24ua2V5IHwgYXN5bmNcbiAgICAgICAgICB9fTwvY2RzLXNlbGVjdGlvbi10aWxlXG4gICAgICAgID5cbiAgICAgIDwvY2RzLXRpbGUtZ3JvdXA+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXBsdWdpbkZ1bmN0aW9ucyB8fCBwbHVnaW5GdW5jdGlvbnM/Lmxlbmd0aCA9PT0gMFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub1BsdWdpbkZ1bmN0aW9uc1RlbXBsYXRlXCI+IDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI25vUGx1Z2luRnVuY3Rpb25zVGVtcGxhdGU+XG4gIDxwIGNsYXNzPVwic3RlcC1kZXNjcmlwdGlvblwiPlxuICAgIHt7ICdwcm9jZXNzTGluay5ub1BsdWdpbkZ1bmN0aW9ucycgfCB0cmFuc2xhdGUgfX1cbiAgPC9wPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsb2FkaW5nPlxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIj5cbiAgICA8Y2RzLWxvYWRpbmc+PC9jZHMtbG9hZGluZz5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,75 +0,0 @@
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 { Component } from '@angular/core';
17
- import { map, switchMap } from 'rxjs/operators';
18
- import { combineLatest, of, Subscription } from 'rxjs';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "@valtimo/plugin";
21
- import * as i2 from "../../services/plugin-state.service";
22
- import * as i3 from "../../services";
23
- import * as i4 from "@angular/common";
24
- import * as i5 from "carbon-components-angular";
25
- import * as i6 from "@ngx-translate/core";
26
- export class SelectPluginConfigurationComponent {
27
- constructor(pluginManagementService, pluginStateService, pluginService, stateService, buttonService, stepService) {
28
- this.pluginManagementService = pluginManagementService;
29
- this.pluginStateService = pluginStateService;
30
- this.pluginService = pluginService;
31
- this.stateService = stateService;
32
- this.buttonService = buttonService;
33
- this.stepService = stepService;
34
- this.pluginConfigurations$ = this.stateService.modalParams$.pipe(switchMap(modalData => combineLatest([
35
- modalData?.element?.type
36
- ? this.pluginManagementService.getAllPluginConfigurationsWithLogos(modalData?.element?.activityListenerType)
37
- : of(undefined),
38
- this.pluginService.availablePluginIds$,
39
- ]).pipe(map(([pluginConfigurations, availablePluginIds]) => pluginConfigurations?.filter(configuration => availablePluginIds.includes(configuration.pluginDefinition.key))))));
40
- this.selectedPluginConfiguration$ = this.pluginStateService.selectedPluginConfiguration$;
41
- this._subscriptions = new Subscription();
42
- }
43
- ngOnInit() {
44
- this.openBackButtonSubscription();
45
- this.openNextButtonSubscription();
46
- }
47
- ngOnDestroy() {
48
- this._subscriptions.unsubscribe();
49
- }
50
- selected(event) {
51
- this.selectConfiguration(event.value);
52
- this.buttonService.enableNextButton();
53
- }
54
- selectConfiguration(configuration) {
55
- this.pluginStateService.selectPluginDefinition({ key: configuration.pluginDefinition.key });
56
- this.pluginStateService.selectPluginConfiguration(configuration);
57
- }
58
- openBackButtonSubscription() {
59
- this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
60
- this.stateService.setInitial();
61
- }));
62
- }
63
- openNextButtonSubscription() {
64
- this._subscriptions.add(this.buttonService.nextButtonClick$.subscribe(() => {
65
- this.stepService.setChoosePluginActionSteps();
66
- }));
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginConfigurationComponent, deps: [{ token: i1.PluginManagementService }, { token: i2.PluginStateService }, { token: i1.PluginService }, { token: i3.ProcessLinkStateService }, { token: i3.ProcessLinkButtonService }, { token: i3.ProcessLinkStepService }], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectPluginConfigurationComponent, selector: "valtimo-select-plugin-configuration", 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<ng-container *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\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: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.Loading, selector: "cds-loading, ibm-loading", inputs: ["title", "isActive", "size", "overlay"] }, { kind: "component", type: i5.StructuredList, selector: "cds-structured-list, ibm-structured-list", inputs: ["selection", "flushed", "condensed", "name", "skeleton"], outputs: ["selected"] }, { kind: "component", type: i5.ListRow, selector: "cds-list-row, ibm-list-row", inputs: ["selected", "label", "value"], outputs: ["change"] }, { kind: "component", type: i5.ListHeader, selector: "cds-list-header, ibm-list-header", inputs: ["skeleton"] }, { kind: "component", type: i5.ListColumn, selector: "cds-list-column, ibm-list-column", inputs: ["skeleton", "nowrap"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.PluginTranslatePipe, name: "pluginTranslate" }] }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectPluginConfigurationComponent, decorators: [{
72
- type: Component,
73
- args: [{ selector: 'valtimo-select-plugin-configuration', 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<ng-container *ngIf=\"pluginConfigurations$ | async as pluginConfigurations; else loading\">\n <p class=\"step-description\">\n {{ 'processLinkConfiguration.choosePluginConfigurationDescription' | translate }}\n </p>\n <div class=\"list-container\">\n <cds-structured-list (selected)=\"selected($event)\" selection=\"true\">\n <cds-list-header>\n <cds-list-column nowrap=\"true\"></cds-list-column>\n <cds-list-column nowrap=\"true\">{{\n 'pluginManagement.labels.configurationName' | translate\n }}</cds-list-column>\n <cds-list-column>{{\n 'processLinkConfiguration.pluginDescription' | translate\n }}</cds-list-column>\n </cds-list-header>\n <cds-list-row\n *ngFor=\"let pluginConfiguration of pluginConfigurations\"\n [value]=\"pluginConfiguration\"\n >\n <cds-list-column>\n <div *ngIf=\"pluginConfiguration.pluginLogoBase64\">\n <img\n [src]=\"pluginConfiguration.pluginLogoBase64\"\n [title]=\"'title' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async\"\n class=\"plugin-configuration-logo\"\n /></div\n ></cds-list-column>\n <cds-list-column>{{ pluginConfiguration.title }}</cds-list-column>\n <cds-list-column>\n {{ 'description' | pluginTranslate: pluginConfiguration.pluginDefinition.key | async }}\n </cds-list-column>\n </cds-list-row>\n </cds-structured-list>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"loading-container\">\n <cds-loading></cds-loading>\n </div>\n</ng-template>\n", styles: [".btn-back{position:absolute}.cards-container{display:flex;flex-flow:row wrap;width:100%}.card{width:calc(33.3% - 20px);margin-right:30px}.card:nth-child(3n+3){margin-right:0}.card-header{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plugin-configuration-logo{object-fit:contain;height:60px;width:100%;margin-bottom:-.5rem}.loading-container{display:flex;justify-content:center;margin-top:40px;flex-direction:row}.list-container{margin-top:32px;margin-bottom:32px}::ng-deep .list-container .cds--structured-list-td{vertical-align:top}\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"] }]
74
- }], ctorParameters: () => [{ type: i1.PluginManagementService }, { type: i2.PluginStateService }, { type: i1.PluginService }, { type: i3.ProcessLinkStateService }, { type: i3.ProcessLinkButtonService }, { type: i3.ProcessLinkStepService }] });
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXBsdWdpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24vc2VsZWN0LXBsdWdpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24vc2VsZWN0LXBsdWdpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUMsYUFBYSxFQUFjLEVBQUUsRUFBRSxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBa0JqRSxNQUFNLE9BQU8sa0NBQWtDO0lBeUI3QyxZQUNtQix1QkFBZ0QsRUFDaEQsa0JBQXNDLEVBQ3RDLGFBQTRCLEVBQzVCLFlBQXFDLEVBQ3JDLGFBQXVDLEVBQ3ZDLFdBQW1DO1FBTG5DLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3ZDLGdCQUFXLEdBQVgsV0FBVyxDQUF3QjtRQTlCN0MsMEJBQXFCLEdBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDakMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQ3BCLGFBQWEsQ0FBQztZQUNaLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSTtnQkFDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQ0FBbUMsQ0FDOUQsU0FBUyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsQ0FDekM7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUI7U0FDdkMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxDQUNqRCxvQkFBb0IsRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FDM0Msa0JBQWtCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FDaEUsQ0FDRixDQUNGLENBQ0YsQ0FDRixDQUFDO1FBRUssaUNBQTRCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDO1FBRXJGLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVN6QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQW1DO1FBQzFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxhQUFrQztRQUM1RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFTywwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNqRCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQW5FVSxrQ0FBa0M7bUdBQWxDLGtDQUFrQywyRUNyQy9DLDh3RUF5REE7OzRGRHBCYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7UGx1Z2luU3RhdGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wbHVnaW4tc3RhdGUuc2VydmljZSc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgUGx1Z2luQ29uZmlndXJhdGlvbixcbiAgUGx1Z2luQ29uZmlndXJhdGlvbldpdGhMb2dvLFxuICBQbHVnaW5NYW5hZ2VtZW50U2VydmljZSxcbiAgUGx1Z2luU2VydmljZSxcbn0gZnJvbSAnQHZhbHRpbW8vcGx1Z2luJztcbmltcG9ydCB7XG4gIFByb2Nlc3NMaW5rQnV0dG9uU2VydmljZSxcbiAgUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU3RlcFNlcnZpY2UsXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zZWxlY3QtcGx1Z2luLWNvbmZpZ3VyYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LXBsdWdpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0LXBsdWdpbi1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFBsdWdpbkNvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHBsdWdpbkNvbmZpZ3VyYXRpb25zJDogT2JzZXJ2YWJsZTxBcnJheTxQbHVnaW5Db25maWd1cmF0aW9uV2l0aExvZ28+PiA9XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UubW9kYWxQYXJhbXMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAobW9kYWxEYXRhID0+XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIG1vZGFsRGF0YT8uZWxlbWVudD8udHlwZVxuICAgICAgICAgICAgPyB0aGlzLnBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlLmdldEFsbFBsdWdpbkNvbmZpZ3VyYXRpb25zV2l0aExvZ29zKFxuICAgICAgICAgICAgICAgIG1vZGFsRGF0YT8uZWxlbWVudD8uYWN0aXZpdHlMaXN0ZW5lclR5cGVcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZih1bmRlZmluZWQpLFxuICAgICAgICAgIHRoaXMucGx1Z2luU2VydmljZS5hdmFpbGFibGVQbHVnaW5JZHMkLFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgIG1hcCgoW3BsdWdpbkNvbmZpZ3VyYXRpb25zLCBhdmFpbGFibGVQbHVnaW5JZHNdKSA9PlxuICAgICAgICAgICAgcGx1Z2luQ29uZmlndXJhdGlvbnM/LmZpbHRlcihjb25maWd1cmF0aW9uID0+XG4gICAgICAgICAgICAgIGF2YWlsYWJsZVBsdWdpbklkcy5pbmNsdWRlcyhjb25maWd1cmF0aW9uLnBsdWdpbkRlZmluaXRpb24ua2V5KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRQbHVnaW5Db25maWd1cmF0aW9uJCA9IHRoaXMucGx1Z2luU3RhdGVTZXJ2aWNlLnNlbGVjdGVkUGx1Z2luQ29uZmlndXJhdGlvbiQ7XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbk1hbmFnZW1lbnRTZXJ2aWNlOiBQbHVnaW5NYW5hZ2VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpblN0YXRlU2VydmljZTogUGx1Z2luU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luU2VydmljZTogUGx1Z2luU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogUHJvY2Vzc0xpbmtTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBidXR0b25TZXJ2aWNlOiBQcm9jZXNzTGlua0J1dHRvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGVwU2VydmljZTogUHJvY2Vzc0xpbmtTdGVwU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpO1xuICAgIHRoaXMub3Blbk5leHRCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHNlbGVjdGVkKGV2ZW50OiB7dmFsdWU6IFBsdWdpbkNvbmZpZ3VyYXRpb259KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RDb25maWd1cmF0aW9uKGV2ZW50LnZhbHVlKTtcbiAgICB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlTmV4dEJ1dHRvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb246IFBsdWdpbkNvbmZpZ3VyYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RQbHVnaW5EZWZpbml0aW9uKHtrZXk6IGNvbmZpZ3VyYXRpb24ucGx1Z2luRGVmaW5pdGlvbi5rZXl9KTtcbiAgICB0aGlzLnBsdWdpblN0YXRlU2VydmljZS5zZWxlY3RQbHVnaW5Db25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldEluaXRpYWwoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3Blbk5leHRCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2UubmV4dEJ1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0ZXBTZXJ2aWNlLnNldENob29zZVBsdWdpbkFjdGlvblN0ZXBzKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInBsdWdpbkNvbmZpZ3VyYXRpb25zJCB8IGFzeW5jIGFzIHBsdWdpbkNvbmZpZ3VyYXRpb25zOyBlbHNlIGxvYWRpbmdcIj5cbiAgPHAgY2xhc3M9XCJzdGVwLWRlc2NyaXB0aW9uXCI+XG4gICAge3sgJ3Byb2Nlc3NMaW5rQ29uZmlndXJhdGlvbi5jaG9vc2VQbHVnaW5Db25maWd1cmF0aW9uRGVzY3JpcHRpb24nIHwgdHJhbnNsYXRlIH19XG4gIDwvcD5cbiAgPGRpdiBjbGFzcz1cImxpc3QtY29udGFpbmVyXCI+XG4gICAgPGNkcy1zdHJ1Y3R1cmVkLWxpc3QgKHNlbGVjdGVkKT1cInNlbGVjdGVkKCRldmVudClcIiBzZWxlY3Rpb249XCJ0cnVlXCI+XG4gICAgICA8Y2RzLWxpc3QtaGVhZGVyPlxuICAgICAgICA8Y2RzLWxpc3QtY29sdW1uIG5vd3JhcD1cInRydWVcIj48L2Nkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgPGNkcy1saXN0LWNvbHVtbiBub3dyYXA9XCJ0cnVlXCI+e3tcbiAgICAgICAgICAncGx1Z2luTWFuYWdlbWVudC5sYWJlbHMuY29uZmlndXJhdGlvbk5hbWUnIHwgdHJhbnNsYXRlXG4gICAgICAgIH19PC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgICAgIDxjZHMtbGlzdC1jb2x1bW4+e3tcbiAgICAgICAgICAncHJvY2Vzc0xpbmtDb25maWd1cmF0aW9uLnBsdWdpbkRlc2NyaXB0aW9uJyB8IHRyYW5zbGF0ZVxuICAgICAgICB9fTwvY2RzLWxpc3QtY29sdW1uPlxuICAgICAgPC9jZHMtbGlzdC1oZWFkZXI+XG4gICAgICA8Y2RzLWxpc3Qtcm93XG4gICAgICAgICpuZ0Zvcj1cImxldCBwbHVnaW5Db25maWd1cmF0aW9uIG9mIHBsdWdpbkNvbmZpZ3VyYXRpb25zXCJcbiAgICAgICAgW3ZhbHVlXT1cInBsdWdpbkNvbmZpZ3VyYXRpb25cIlxuICAgICAgPlxuICAgICAgICA8Y2RzLWxpc3QtY29sdW1uPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJwbHVnaW5Db25maWd1cmF0aW9uLnBsdWdpbkxvZ29CYXNlNjRcIj5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgW3NyY109XCJwbHVnaW5Db25maWd1cmF0aW9uLnBsdWdpbkxvZ29CYXNlNjRcIlxuICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3RpdGxlJyB8IHBsdWdpblRyYW5zbGF0ZTogcGx1Z2luQ29uZmlndXJhdGlvbi5wbHVnaW5EZWZpbml0aW9uLmtleSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJwbHVnaW4tY29uZmlndXJhdGlvbi1sb2dvXCJcbiAgICAgICAgICAgIC8+PC9kaXZcbiAgICAgICAgPjwvY2RzLWxpc3QtY29sdW1uPlxuICAgICAgICA8Y2RzLWxpc3QtY29sdW1uPnt7IHBsdWdpbkNvbmZpZ3VyYXRpb24udGl0bGUgfX08L2Nkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgPGNkcy1saXN0LWNvbHVtbj5cbiAgICAgICAgICB7eyAnZGVzY3JpcHRpb24nIHwgcGx1Z2luVHJhbnNsYXRlOiBwbHVnaW5Db25maWd1cmF0aW9uLnBsdWdpbkRlZmluaXRpb24ua2V5IHwgYXN5bmMgfX1cbiAgICAgICAgPC9jZHMtbGlzdC1jb2x1bW4+XG4gICAgICA8L2Nkcy1saXN0LXJvdz5cbiAgICA8L2Nkcy1zdHJ1Y3R1cmVkLWxpc3Q+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGRpdiBjbGFzcz1cImxvYWRpbmctY29udGFpbmVyXCI+XG4gICAgPGNkcy1sb2FkaW5nPjwvY2RzLWxvYWRpbmc+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,128 +0,0 @@
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 { ChangeDetectionStrategy, Component, Inject, Optional, } from '@angular/core';
17
- import { BehaviorSubject, combineLatest, map, Subscription, switchMap, take, tap, } from 'rxjs';
18
- import { FORM_CUSTOM_COMPONENT_TOKEN } from '../../constants';
19
- import * as i0 from "@angular/core";
20
- import * as i1 from "../../services";
21
- import * as i2 from "@angular/forms";
22
- import * as i3 from "carbon-components-angular";
23
- import * as i4 from "carbon-components-angular/dropdown";
24
- import * as i5 from "@angular/common";
25
- import * as i6 from "@ngx-translate/core";
26
- export class SelectUIComponentComponent {
27
- constructor(stateService, buttonService, processLinkService, formCustomComponentConfig) {
28
- this.stateService = stateService;
29
- this.buttonService = buttonService;
30
- this.processLinkService = processLinkService;
31
- this.formCustomComponentConfig = formCustomComponentConfig;
32
- this._formCustomComponentConfig$ = new BehaviorSubject({});
33
- this.formCustomComponentListItems$ = combineLatest([
34
- this.stateService.selectedProcessLink$,
35
- this._formCustomComponentConfig$,
36
- ]).pipe(map(([selectedProcessLink, formCustomComponentConfigs]) => Object.keys(formCustomComponentConfigs).map(key => ({
37
- content: key,
38
- selected: selectedProcessLink ? selectedProcessLink?.componentKey === key : false,
39
- }))), tap(formCustomComponentListItems => {
40
- const selectedItem = formCustomComponentListItems.find(item => item.selected);
41
- if (selectedItem) {
42
- this.selectCustomComponent(selectedItem);
43
- }
44
- }));
45
- this._subscriptions = new Subscription();
46
- this._formCustomComponentConfig$.next(this.formCustomComponentConfig);
47
- }
48
- ngOnInit() {
49
- this.openBackButtonSubscription();
50
- this.openSaveButtonSubscription();
51
- }
52
- ngOnDestroy() {
53
- this._subscriptions.unsubscribe();
54
- }
55
- selectCustomComponent(selectedCustomComponent) {
56
- this._selectedCustomComponent = selectedCustomComponent;
57
- this._selectedCustomComponent.content
58
- ? this.buttonService.enableSaveButton()
59
- : this.buttonService.disableSaveButton();
60
- }
61
- openBackButtonSubscription() {
62
- this._subscriptions.add(this.buttonService.backButtonClick$.subscribe(() => {
63
- this.stateService.setInitial();
64
- }));
65
- }
66
- openSaveButtonSubscription() {
67
- this._subscriptions.add(this.buttonService.saveButtonClick$.subscribe(() => {
68
- this.stateService.startSaving();
69
- this.saveProcessLink();
70
- }));
71
- }
72
- saveProcessLink() {
73
- this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
74
- if (selectedProcessLink) {
75
- this.updateProcessLink();
76
- }
77
- else {
78
- this.saveNewProcessLink();
79
- }
80
- });
81
- }
82
- updateProcessLink() {
83
- this.stateService.selectedProcessLink$.pipe(take(1)).subscribe(selectedProcessLink => {
84
- const updateProcessLinkRequest = {
85
- id: selectedProcessLink.id,
86
- componentKey: this._selectedCustomComponent.content,
87
- };
88
- this.processLinkService.updateProcessLink(updateProcessLinkRequest).subscribe({
89
- next: () => {
90
- this.stateService.closeModal();
91
- },
92
- error: () => {
93
- this.stateService.stopSaving();
94
- },
95
- });
96
- });
97
- }
98
- saveNewProcessLink() {
99
- combineLatest([this.stateService.modalParams$, this.stateService.selectedProcessLinkTypeId$])
100
- .pipe(take(1), switchMap(([modalParams, processLinkTypeId]) => this.processLinkService.saveProcessLink({
101
- componentKey: this._selectedCustomComponent.content,
102
- activityType: modalParams.element.activityListenerType || '',
103
- processDefinitionId: modalParams.processDefinitionId,
104
- processLinkType: processLinkTypeId,
105
- activityId: modalParams.element.id,
106
- })))
107
- .subscribe({
108
- next: () => {
109
- this.stateService.closeModal();
110
- },
111
- error: () => {
112
- this.stateService.stopSaving();
113
- },
114
- });
115
- }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectUIComponentComponent, deps: [{ token: i1.ProcessLinkStateService }, { token: i1.ProcessLinkButtonService }, { token: i1.ProcessLinkService }, { token: FORM_CUSTOM_COMPONENT_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SelectUIComponentComponent, selector: "valtimo-select-ui-component", 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<cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"formCustomComponentListItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'processLinkSteps.uiComponent' | translate\"\n (selected)=\"selectCustomComponent($event)\"\n>\n <cds-dropdown-list></cds-dropdown-list>\n</cds-combo-box>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\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: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.ComboBox, selector: "cds-combo-box, ibm-combo-box", inputs: ["placeholder", "openMenuAria", "closeMenuAria", "clearSelectionsTitle", "clearSelectionsAria", "clearSelectionTitle", "clearSelectionAria", "id", "labelId", "items", "type", "size", "itemValueKey", "label", "hideLabel", "helperText", "appendInline", "invalid", "invalidText", "warn", "warnText", "maxLength", "theme", "selectionFeedback", "autocomplete", "dropUp", "disabled"], outputs: ["selected", "submit", "close", "search", "clear"] }, { kind: "component", type: i4.DropdownList, selector: "cds-dropdown-list, ibm-dropdown-list", inputs: ["ariaLabel", "items", "listTpl", "type", "showTitles"], outputs: ["select", "scroll", "blurIntent"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
118
- }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectUIComponentComponent, decorators: [{
120
- type: Component,
121
- args: [{ selector: 'valtimo-select-ui-component', changeDetection: ChangeDetectionStrategy.OnPush, 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<cds-combo-box\n [dropUp]=\"false\"\n formControlName=\"contentKey\"\n [items]=\"formCustomComponentListItems$ | async\"\n itemValueKey=\"contentKey\"\n [label]=\"'processLinkSteps.uiComponent' | translate\"\n (selected)=\"selectCustomComponent($event)\"\n>\n <cds-dropdown-list></cds-dropdown-list>\n</cds-combo-box>\n", styles: [".custom-widget{padding:24px}.custom-widget__header{display:flex;align-items:center;justify-content:space-between}.custom-widget__title{color:var(--cds-text-primary);font-weight:600;font-size:16px;line-height:24px}\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"] }]
122
- }], ctorParameters: () => [{ type: i1.ProcessLinkStateService }, { type: i1.ProcessLinkButtonService }, { type: i1.ProcessLinkService }, { type: undefined, decorators: [{
123
- type: Optional
124
- }, {
125
- type: Inject,
126
- args: [FORM_CUSTOM_COMPONENT_TOKEN]
127
- }] }] });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXVpLWNvbXBvbmVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL3Byb2Nlc3MtbGluay9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0LXVpLWNvbXBvbmVudC9zZWxlY3QtdWktY29tcG9uZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vcHJvY2Vzcy1saW5rL3NyYy9saWIvY29tcG9uZW50cy9zZWxlY3QtdWktY29tcG9uZW50L3NlbGVjdC11aS1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBR04sUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxFQUNiLEdBQUcsRUFFSCxZQUFZLEVBQ1osU0FBUyxFQUNULElBQUksRUFDSixHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFRZCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFRNUQsTUFBTSxPQUFPLDBCQUEwQjtJQTRCckMsWUFDbUIsWUFBcUMsRUFDckMsYUFBdUMsRUFDdkMsa0JBQXNDLEVBR3RDLHlCQUFvRDtRQUxwRCxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFDckMsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3ZDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFHdEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQWpDdEQsZ0NBQTJCLEdBQUcsSUFBSSxlQUFlLENBRWhFLEVBQUUsQ0FBQyxDQUFDO1FBRVUsa0NBQTZCLEdBQWdDLGFBQWEsQ0FBQztZQUN6RixJQUFJLENBQUMs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RSxDQUFDO1lBQ2pDLENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7K0dBM0hVLDBCQUEwQixtSUFpQzNCLDJCQUEyQjttR0FqQzFCLDBCQUEwQixtRUNqRHZDLHM5QkF5QkE7OzRGRHdCYSwwQkFBMEI7a0JBTnRDLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNOzswQkFrQzVDLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjQgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBtYXAsXG4gIE9ic2VydmFibGUsXG4gIFN1YnNjcmlwdGlvbixcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtGb3JtQ3VzdG9tQ29tcG9uZW50Q29uZmlnLCBVSUNvbXBvbmVudFByb2Nlc3NMaW5rVXBkYXRlUmVxdWVzdER0b30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TGlzdEl0ZW19IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgUHJvY2Vzc0xpbmtCdXR0b25TZXJ2aWNlLFxuICBQcm9jZXNzTGlua1NlcnZpY2UsXG4gIFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge0ZPUk1fQ1VTVE9NX0NPTVBPTkVOVF9UT0tFTn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zZWxlY3QtdWktY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC11aS1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtdWktY29tcG9uZW50LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RVSUNvbXBvbmVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUN1c3RvbUNvbXBvbmVudENvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgIEZvcm1DdXN0b21Db21wb25lbnRDb25maWcgfCB7fVxuICA+KHt9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybUN1c3RvbUNvbXBvbmVudExpc3RJdGVtcyQ6IE9ic2VydmFibGU8QXJyYXk8TGlzdEl0ZW0+PiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUHJvY2Vzc0xpbmskLFxuICAgIHRoaXMuX2Zvcm1DdXN0b21Db21wb25lbnRDb25maWckLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3NlbGVjdGVkUHJvY2Vzc0xpbmssIGZvcm1DdXN0b21Db21wb25lbnRDb25maWdzXSkgPT5cbiAgICAgIE9iamVjdC5rZXlzKGZvcm1DdXN0b21Db21wb25lbnRDb25maWdzKS5tYXAoa2V5ID0+ICh7XG4gICAgICAgIGNvbnRlbnQ6IGtleSxcbiAgICAgICAgc2VsZWN0ZWQ6IHNlbGVjdGVkUHJvY2Vzc0xpbmsgPyBzZWxlY3RlZFByb2Nlc3NMaW5rPy5jb21wb25lbnRLZXkgPT09IGtleSA6IGZhbHNlLFxuICAgICAgfSkpXG4gICAgKSxcbiAgICB0YXAoZm9ybUN1c3RvbUNvbXBvbmVudExpc3RJdGVtcyA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSBmb3JtQ3VzdG9tQ29tcG9uZW50TGlzdEl0ZW1zLmZpbmQoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKTtcblxuICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xuICAgICAgICB0aGlzLnNlbGVjdEN1c3RvbUNvbXBvbmVudChzZWxlY3RlZEl0ZW0pO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIF9zZWxlY3RlZEN1c3RvbUNvbXBvbmVudDogTGlzdEl0ZW07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IFByb2Nlc3NMaW5rU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYnV0dG9uU2VydmljZTogUHJvY2Vzc0xpbmtCdXR0b25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0xpbmtTZXJ2aWNlOiBQcm9jZXNzTGlua1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KEZPUk1fQ1VTVE9NX0NPTVBPTkVOVF9UT0tFTilcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1DdXN0b21Db21wb25lbnRDb25maWc6IEZvcm1DdXN0b21Db21wb25lbnRDb25maWdcbiAgKSB7XG4gICAgdGhpcy5fZm9ybUN1c3RvbUNvbXBvbmVudENvbmZpZyQubmV4dCh0aGlzLmZvcm1DdXN0b21Db21wb25lbnRDb25maWcpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkJhY2tCdXR0b25TdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLm9wZW5TYXZlQnV0dG9uU3Vic2NyaXB0aW9uKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEN1c3RvbUNvbXBvbmVudChzZWxlY3RlZEN1c3RvbUNvbXBvbmVudDogTGlzdEl0ZW0pOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZEN1c3RvbUNvbXBvbmVudCA9IHNlbGVjdGVkQ3VzdG9tQ29tcG9uZW50O1xuXG4gICAgdGhpcy5fc2VsZWN0ZWRDdXN0b21Db21wb25lbnQuY29udGVudFxuICAgICAgPyB0aGlzLmJ1dHRvblNlcnZpY2UuZW5hYmxlU2F2ZUJ1dHRvbigpXG4gICAgICA6IHRoaXMuYnV0dG9uU2VydmljZS5kaXNhYmxlU2F2ZUJ1dHRvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuQmFja0J1dHRvblN1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuYnV0dG9uU2VydmljZS5iYWNrQnV0dG9uQ2xpY2skLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldEluaXRpYWwoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNhdmVCdXR0b25TdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLmJ1dHRvblNlcnZpY2Uuc2F2ZUJ1dHRvbkNsaWNrJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5zdGFydFNhdmluZygpO1xuICAgICAgICB0aGlzLnNhdmVQcm9jZXNzTGluaygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZlUHJvY2Vzc0xpbmsoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2VsZWN0ZWRQcm9jZXNzTGluayQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoc2VsZWN0ZWRQcm9jZXNzTGluayA9PiB7XG4gICAgICBpZiAoc2VsZWN0ZWRQcm9jZXNzTGluaykge1xuICAgICAgICB0aGlzLnVwZGF0ZVByb2Nlc3NMaW5rKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNhdmVOZXdQcm9jZXNzTGluaygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQcm9jZXNzTGluaygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZWxlY3RlZFByb2Nlc3NMaW5rJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShzZWxlY3RlZFByb2Nlc3NMaW5rID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZVByb2Nlc3NMaW5rUmVxdWVzdDogVUlDb21wb25lbnRQcm9jZXNzTGlua1VwZGF0ZVJlcXVlc3REdG8gPSB7XG4gICAgICAgIGlkOiBzZWxlY3RlZFByb2Nlc3NMaW5rLmlkLFxuICAgICAgICBjb21wb25lbnRLZXk6IHRoaXMuX3NlbGVjdGVkQ3VzdG9tQ29tcG9uZW50LmNvbnRlbnQsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnByb2Nlc3NMaW5rU2VydmljZS51cGRhdGVQcm9jZXNzTGluayh1cGRhdGVQcm9jZXNzTGlua1JlcXVlc3QpLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc3RvcFNhdmluZygpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNhdmVOZXdQcm9jZXNzTGluaygpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0YXRlU2VydmljZS5tb2RhbFBhcmFtcyQsIHRoaXMuc3RhdGVTZXJ2aWNlLnNlbGVjdGVkUHJvY2Vzc0xpbmtUeXBlSWQkXSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgICBzd2l0Y2hNYXAoKFttb2RhbFBhcmFtcywgcHJvY2Vzc0xpbmtUeXBlSWRdKSA9PlxuICAgICAgICAgIHRoaXMucHJvY2Vzc0xpbmtTZXJ2aWNlLnNhdmVQcm9jZXNzTGluayh7XG4gICAgICAgICAgICBjb21wb25lbnRLZXk6IHRoaXMuX3NlbGVjdGVkQ3VzdG9tQ29tcG9uZW50LmNvbnRlbnQsXG4gICAgICAgICAgICBhY3Rpdml0eVR5cGU6IG1vZGFsUGFyYW1zLmVsZW1lbnQuYWN0aXZpdHlMaXN0ZW5lclR5cGUgfHwgJycsXG4gICAgICAgICAgICBwcm9jZXNzRGVmaW5pdGlvbklkOiBtb2RhbFBhcmFtcy5wcm9jZXNzRGVmaW5pdGlvbklkLFxuICAgICAgICAgICAgcHJvY2Vzc0xpbmtUeXBlOiBwcm9jZXNzTGlua1R5cGVJZCxcbiAgICAgICAgICAgIGFjdGl2aXR5SWQ6IG1vZGFsUGFyYW1zLmVsZW1lbnQuaWQsXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0YXRlU2VydmljZS5jbG9zZU1vZGFsKCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc3RvcFNhdmluZygpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDI0IFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cbjxjZHMtY29tYm8tYm94XG4gIFtkcm9wVXBdPVwiZmFsc2VcIlxuICBmb3JtQ29udHJvbE5hbWU9XCJjb250ZW50S2V5XCJcbiAgW2l0ZW1zXT1cImZvcm1DdXN0b21Db21wb25lbnRMaXN0SXRlbXMkIHwgYXN5bmNcIlxuICBpdGVtVmFsdWVLZXk9XCJjb250ZW50S2V5XCJcbiAgW2xhYmVsXT1cIidwcm9jZXNzTGlua1N0ZXBzLnVpQ29tcG9uZW50JyB8IHRyYW5zbGF0ZVwiXG4gIChzZWxlY3RlZCk9XCJzZWxlY3RDdXN0b21Db21wb25lbnQoJGV2ZW50KVwiXG4+XG4gIDxjZHMtZHJvcGRvd24tbGlzdD48L2Nkcy1kcm9wZG93bi1saXN0PlxuPC9jZHMtY29tYm8tYm94PlxuIl19