@datarailsshared/datarailsshared 1.6.275 → 1.6.279
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datarailsshared-datarailsshared-1.6.279.tgz +0 -0
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +2 -2
- package/esm2022/lib/dr-inputs/date-pickers/dr-fiscal-month-calendar-picker/dr-fiscal-month-calendar-picker.component.mjs +2 -2
- package/esm2022/lib/dr-tags/_consts/scenario-tags-config.mjs +87 -0
- package/esm2022/lib/dr-tags/_interfaces/scenario.mjs +8 -0
- package/esm2022/lib/dr-tags/_services/scenario.service.mjs +195 -0
- package/esm2022/lib/dr-tags/_services/tags-constructor.service.mjs +71 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/any-tag.component.mjs +42 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-date.component.mjs +151 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-day/dr-tag-day.component.mjs +98 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-forecast/dr-tag-forecast.component.mjs +225 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-forecast/forecast-tag.service.mjs +87 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-month/dr-tag-month.component.mjs +101 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-quarter/dr-tag-quarter.component.mjs +129 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-week/dr-tag-week.component.mjs +105 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-year/dr-tag-year.component.mjs +99 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-dynamic/dr-tag-dynamic.component.mjs +230 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag-list/dr-tag-list.component.mjs +85 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag.component.mjs +241 -0
- package/esm2022/lib/dr-tags/dr-tag/dr-tag.types.mjs +2 -0
- package/esm2022/lib/dr-tags/dr-tags-and-scenario/dr-tags-and-scenario.component.mjs +103 -0
- package/esm2022/lib/dr-tags/dr-tags-and-scenario-constructor/dr-tags-and-scenario-constructor.component.mjs +107 -0
- package/esm2022/lib/dr-tags/dr-tags-constructor/dr-tags-constructor.component.mjs +164 -0
- package/esm2022/local-api.mjs +18 -25
- package/fesm2022/datarailsshared-datarailsshared.mjs +8635 -8737
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/{dr-scenario/consts → dr-tags/_consts}/scenario-tags-config.d.ts +1 -1
- package/lib/{dr-scenario/services → dr-tags/_services}/scenario.service.d.ts +1 -1
- package/lib/{dr-tags-constructor → dr-tags/_services}/tags-constructor.service.d.ts +2 -2
- package/lib/{date-tags → dr-tags/dr-tag/dr-tag-date}/any-tag.component.d.ts +1 -1
- package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-date.component.d.ts +18 -0
- package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-day/dr-tag-day.component.d.ts +14 -0
- package/lib/{date-tags/forecast-tag/forecast-tag.component.d.ts → dr-tags/dr-tag/dr-tag-date/dr-tag-forecast/dr-tag-forecast.component.d.ts} +5 -5
- package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-month/dr-tag-month.component.d.ts +14 -0
- package/lib/{date-tags/quarter-tag/quarter-tag.component.d.ts → dr-tags/dr-tag/dr-tag-date/dr-tag-quarter/dr-tag-quarter.component.d.ts} +3 -3
- package/lib/{date-tags/week-tag/week-tag.component.d.ts → dr-tags/dr-tag/dr-tag-date/dr-tag-week/dr-tag-week.component.d.ts} +3 -3
- package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-year/dr-tag-year.component.d.ts +14 -0
- package/lib/{dr-dynamic-tag/dr-dynamic-tag.component.d.ts → dr-tags/dr-tag/dr-tag-dynamic/dr-tag-dynamic.component.d.ts} +5 -5
- package/lib/dr-tags/dr-tag/dr-tag-list/dr-tag-list.component.d.ts +15 -0
- package/lib/dr-tags/{dr-tag.component.d.ts → dr-tag/dr-tag.component.d.ts} +2 -2
- package/lib/dr-tags/dr-tags-and-scenario/dr-tags-and-scenario.component.d.ts +31 -0
- package/lib/{dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.d.ts → dr-tags/dr-tags-and-scenario-constructor/dr-tags-and-scenario-constructor.component.d.ts} +6 -6
- package/lib/{dr-tags-constructor → dr-tags/dr-tags-constructor}/dr-tags-constructor.component.d.ts +6 -6
- package/local-api.d.ts +17 -24
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.6.275.tgz +0 -0
- package/esm2022/lib/date-tags/any-tag.component.mjs +0 -42
- package/esm2022/lib/date-tags/date-tag.component.mjs +0 -131
- package/esm2022/lib/date-tags/date-tag.module.mjs +0 -53
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +0 -95
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +0 -222
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +0 -87
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +0 -98
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +0 -126
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +0 -102
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +0 -96
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +0 -227
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +0 -21
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +0 -104
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +0 -100
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +0 -87
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +0 -27
- package/esm2022/lib/dr-scenario/interfaces/scenario.mjs +0 -8
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +0 -195
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +0 -240
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +0 -23
- package/esm2022/lib/dr-tags/dr-tag.types.mjs +0 -2
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +0 -161
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +0 -24
- package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +0 -71
- package/esm2022/lib/list-tags/list-tag.component.mjs +0 -82
- package/esm2022/lib/list-tags/list-tag.module.mjs +0 -22
- package/lib/date-tags/date-tag.component.d.ts +0 -18
- package/lib/date-tags/date-tag.module.d.ts +0 -21
- package/lib/date-tags/day-tag/day-tag.component.d.ts +0 -14
- package/lib/date-tags/month-tag/month-tag.component.d.ts +0 -14
- package/lib/date-tags/year-tag/year-tag.component.d.ts +0 -14
- package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +0 -10
- package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +0 -31
- package/lib/dr-scenario/dr-scenario.module.d.ts +0 -13
- package/lib/dr-tags/dr-tag.module.d.ts +0 -11
- package/lib/dr-tags-constructor/dr-tags-constructor.module.d.ts +0 -10
- package/lib/list-tags/list-tag.component.d.ts +0 -15
- package/lib/list-tags/list-tag.module.d.ts +0 -10
- /package/lib/{dr-scenario/interfaces → dr-tags/_interfaces}/scenario.d.ts +0 -0
- /package/lib/{date-tags/forecast-tag → dr-tags/dr-tag/dr-tag-date/dr-tag-forecast}/forecast-tag.service.d.ts +0 -0
- /package/lib/dr-tags/{dr-tag.types.d.ts → dr-tag/dr-tag.types.d.ts} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcvZHItdGFnLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElUYWdBZGRpdGlvbmFsU2V0dGluZ3Mge1xuICAgIHRhZ0xhYmVsPzogc3RyaW5nO1xuICAgIGN1c3RvbUR5bmFtaWNUYWdMYWJlbD86IHN0cmluZztcbiAgICBjdXN0b21EYXRlVGFnTGFiZWw/OiBzdHJpbmc7XG4gICAgc2hvd1NwbGl0RHluYW1pY1RhZ0lucHV0cz86IGJvb2xlYW47XG4gICAgc2hvd1NwbGl0RGF0ZUFuZER5bmFtaWNJbnB1dHM/OiBib29sZWFuO1xuICAgIGhpZGVGYXZvcml0ZVN0YXI/OiBib29sZWFuO1xuICAgIGR5bmFtaWNUYWdQYXJlbnRLZXlGb3JtYXQ/OiBzdHJpbmc7XG4gICAgZHluYW1pY1RhZ1BhcmVudEtleUZvcm1hdHRlckZuPzogKG1vbWVudERhdGEpID0+IHN0cmluZztcbiAgICBoaWRlRHluYW1pY1RhZ0xhYmVsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTXVsdGlwbGVMb2NrZWRUYWcge1xuICAgIGlkOiBudW1iZXI7XG4gICAgcGFyZW50X3RhZ192YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG59XG4iXX0=
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { reduce as _reduce, find as _find, merge as _merge } from 'lodash';
|
|
3
|
+
import { Scenario } from '../_interfaces/scenario';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import { DrInputsModule } from '../../dr-inputs/dr-inputs.module';
|
|
6
|
+
import { FormsModule } from '@angular/forms';
|
|
7
|
+
import { DrTagComponent } from '../dr-tag/dr-tag.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
function DrTagsAndScenarioComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
12
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "dr-tag", 2);
|
|
13
|
+
i0.ɵɵlistener("tagChange", function DrTagsAndScenarioComponent_div_0_Template_dr_tag_tagChange_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onTagChange($event)); })("dynamicTagChange", function DrTagsAndScenarioComponent_div_0_Template_dr_tag_dynamicTagChange_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onDynamicTagsChange($event)); });
|
|
14
|
+
i0.ɵɵelementEnd()();
|
|
15
|
+
} if (rf & 2) {
|
|
16
|
+
const tagConfig_r1 = ctx.$implicit;
|
|
17
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
18
|
+
i0.ɵɵadvance(1);
|
|
19
|
+
i0.ɵɵproperty("tagConfig", tagConfig_r1)("selectedTag", ctx_r0.currentTagsMap[tagConfig_r1.id])("lockedDate", ctx_r0.lockedDates)("fiscalYearStartsFrom", ctx_r0.fiscalYearStartsFrom)("fiscalYearBack", ctx_r0.fiscalYearBack)("tagsConfig", ctx_r0.tagsConfig)("dynamicTagValues", ctx_r0.dynamicTagValues)("connectedTags", ctx_r0.connectedTags[tagConfig_r1.id])("isDynamicTagAddEnabled", ctx_r0.isDynamicAddEnabled)("tagAdditionalSettings", ctx_r0.tagAdditionalSettings);
|
|
20
|
+
} }
|
|
21
|
+
export class DrTagsAndScenarioComponent {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.connectedTags = {};
|
|
24
|
+
this.dynamicTagValues = {};
|
|
25
|
+
this.lockedDates = [];
|
|
26
|
+
this.scenarioTagDataChanged = new EventEmitter();
|
|
27
|
+
this.currentTagsMap = {};
|
|
28
|
+
this._currentTags = [];
|
|
29
|
+
this.dynamicTagsToSave = [];
|
|
30
|
+
this.tagsToSave = [];
|
|
31
|
+
}
|
|
32
|
+
set currentTags(tags) {
|
|
33
|
+
this._currentTags = tags;
|
|
34
|
+
this.currentTagsMap = _reduce(tags, (acc, curr) => {
|
|
35
|
+
const tagId = _find(this.tagsConfig, { name: curr.name })?.id;
|
|
36
|
+
if (isNaN(tagId))
|
|
37
|
+
return acc;
|
|
38
|
+
acc[tagId] = curr;
|
|
39
|
+
return acc;
|
|
40
|
+
}, {});
|
|
41
|
+
}
|
|
42
|
+
get currentTags() {
|
|
43
|
+
return this._currentTags;
|
|
44
|
+
}
|
|
45
|
+
ngOnChanges(simpleChanges) {
|
|
46
|
+
this.currentTags = this.currentTags;
|
|
47
|
+
}
|
|
48
|
+
onTagChange($event) {
|
|
49
|
+
const savedTag = _find(this.tagsToSave, { id: $event.id });
|
|
50
|
+
if (savedTag) {
|
|
51
|
+
_merge(savedTag, $event);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.tagsToSave.push($event);
|
|
55
|
+
}
|
|
56
|
+
this.onScenarioTagDataChanged();
|
|
57
|
+
}
|
|
58
|
+
onDynamicTagsChange($event) {
|
|
59
|
+
this.dynamicTagsToSave = $event;
|
|
60
|
+
this.onScenarioTagDataChanged();
|
|
61
|
+
}
|
|
62
|
+
onScenarioTagDataChanged() {
|
|
63
|
+
const tags = [...this.dynamicTagsToSave, ...this.tagsToSave];
|
|
64
|
+
this.scenarioTagDataChanged.emit({
|
|
65
|
+
scenario: this.scenario,
|
|
66
|
+
tagsConfig: this.tagsConfig,
|
|
67
|
+
tags,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/** @nocollapse */ static { this.ɵfac = function DrTagsAndScenarioComponent_Factory(t) { return new (t || DrTagsAndScenarioComponent)(); }; }
|
|
71
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrTagsAndScenarioComponent, selectors: [["dr-tags-and-scenario"]], inputs: { tagsConfig: "tagsConfig", currentTags: "currentTags", scenario: "scenario", connectedTags: "connectedTags", dynamicTagValues: "dynamicTagValues", tagAdditionalSettings: "tagAdditionalSettings", lockedDates: "lockedDates", fiscalYearStartsFrom: "fiscalYearStartsFrom", fiscalYearBack: "fiscalYearBack", isDynamicAddEnabled: "isDynamicAddEnabled" }, outputs: { scenarioTagDataChanged: "scenarioTagDataChanged" }, standalone: true, features: [i0.ɵɵNgOnChangesFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 1, consts: [["class", "scenario-tag-configuration", 4, "ngFor", "ngForOf"], [1, "scenario-tag-configuration"], [3, "tagConfig", "selectedTag", "lockedDate", "fiscalYearStartsFrom", "fiscalYearBack", "tagsConfig", "dynamicTagValues", "connectedTags", "isDynamicTagAddEnabled", "tagAdditionalSettings", "tagChange", "dynamicTagChange"]], template: function DrTagsAndScenarioComponent_Template(rf, ctx) { if (rf & 1) {
|
|
72
|
+
i0.ɵɵtemplate(0, DrTagsAndScenarioComponent_div_0_Template, 2, 10, "div", 0);
|
|
73
|
+
} if (rf & 2) {
|
|
74
|
+
i0.ɵɵproperty("ngForOf", ctx.tagsConfig);
|
|
75
|
+
} }, dependencies: [CommonModule, i1.NgForOf, DrInputsModule, FormsModule, DrTagComponent], styles: [".scenario-tag-configuration[_ngcontent-%COMP%]{margin-bottom:24px}.scenario-tag-configuration[_ngcontent-%COMP%]:last-child{margin-bottom:0}"], changeDetection: 0 }); }
|
|
76
|
+
}
|
|
77
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrTagsAndScenarioComponent, [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'dr-tags-and-scenario', standalone: true, imports: [CommonModule, DrInputsModule, FormsModule, DrTagComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"scenario-tag-configuration\" *ngFor=\"let tagConfig of tagsConfig\">\n <dr-tag\n [tagConfig]=\"tagConfig\"\n [selectedTag]=\"currentTagsMap[tagConfig.id]\"\n [lockedDate]=\"lockedDates\"\n [fiscalYearStartsFrom]=\"fiscalYearStartsFrom\"\n [fiscalYearBack]=\"fiscalYearBack\"\n [tagsConfig]=\"tagsConfig\"\n [dynamicTagValues]=\"dynamicTagValues\"\n [connectedTags]=\"connectedTags[tagConfig.id]\"\n [isDynamicTagAddEnabled]=\"isDynamicAddEnabled\"\n [tagAdditionalSettings]=\"tagAdditionalSettings\"\n (tagChange)=\"onTagChange($event)\"\n (dynamicTagChange)=\"onDynamicTagsChange($event)\"></dr-tag>\n</div>\n", styles: [".scenario-tag-configuration{margin-bottom:24px}.scenario-tag-configuration:last-child{margin-bottom:0}\n"] }]
|
|
80
|
+
}], null, { tagsConfig: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], currentTags: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], scenario: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], connectedTags: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], dynamicTagValues: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], tagAdditionalSettings: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], lockedDates: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], fiscalYearStartsFrom: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], fiscalYearBack: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], isDynamicAddEnabled: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], scenarioTagDataChanged: [{
|
|
101
|
+
type: Output
|
|
102
|
+
}] }); })();
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFncy1hbmQtc2NlbmFyaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWdzLWFuZC1zY2VuYXJpby9kci10YWdzLWFuZC1zY2VuYXJpby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10YWdzL2RyLXRhZ3MtYW5kLXNjZW5hcmlvL2RyLXRhZ3MtYW5kLXNjZW5hcmlvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRTFILE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUF3QixNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7SUNSNUQsOEJBQTZFLGdCQUFBO0lBWXJFLHFMQUFhLGVBQUEsMEJBQW1CLENBQUEsSUFBQyxzTEFDYixlQUFBLGtDQUEyQixDQUFBLElBRGQ7SUFDZ0IsaUJBQVMsRUFBQTs7OztJQVgxRCxlQUF1QjtJQUF2Qix3Q0FBdUIsdURBQUEsa0NBQUEscURBQUEseUNBQUEsaUNBQUEsNkNBQUEsd0RB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QXBDLEtBQUs7WUFFVSxXQUFXO2tCQUExQixLQUFLO1lBQ1Usb0JBQW9CO2tCQUFuQyxLQUFLO1lBQ1UsY0FBYztrQkFBN0IsS0FBSztZQUNVLG1CQUFtQjtrQkFBbEMsS0FBSztZQUVXLHNCQUFzQjtrQkFBdEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVGFnLCBJVGFnRm9yU2VydmVyLCBUQ29ubmVjdGVkVGFncywgVER5bmFtaWNUYWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyByZWR1Y2UgYXMgX3JlZHVjZSwgZmluZCBhcyBfZmluZCwgbWVyZ2UgYXMgX21lcmdlIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFNjZW5hcmlvLCBUU2NlbmFyaW9EYXRhQ2hhbmdlZCB9IGZyb20gJy4uL19pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmltcG9ydCB7IElUYWdBZGRpdGlvbmFsU2V0dGluZ3MgfSBmcm9tICcuLi9kci10YWcvZHItdGFnLnR5cGVzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4uLy4uL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJUYWdDb21wb25lbnQgfSBmcm9tICcuLi9kci10YWcvZHItdGFnLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItdGFncy1hbmQtc2NlbmFyaW8nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci10YWdzLWFuZC1zY2VuYXJpby5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItdGFncy1hbmQtc2NlbmFyaW8uY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERySW5wdXRzTW9kdWxlLCBGb3Jtc01vZHVsZSwgRHJUYWdDb21wb25lbnRdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEclRhZ3NBbmRTY2VuYXJpb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHVibGljIHRhZ3NDb25maWc6IElUYWdbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGN1cnJlbnRUYWdzKHRhZ3M6IElUYWdGb3JTZXJ2ZXJbXSkge1xuICAgICAgICB0aGlzLl9jdXJyZW50VGFncyA9IHRhZ3M7XG4gICAgICAgIHRoaXMuY3VycmVudFRhZ3NNYXAgPSBfcmVkdWNlKFxuICAgICAgICAgICAgdGFncyxcbiAgICAgICAgICAgIChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdJZCA9IF9maW5kKHRoaXMudGFnc0NvbmZpZywgeyBuYW1lOiBjdXJyLm5hbWUgfSk/LmlkO1xuICAgICAgICAgICAgICAgIGlmIChpc05hTih0YWdJZCkpIHJldHVybiBhY2M7XG5cbiAgICAgICAgICAgICAgICBhY2NbdGFnSWRdID0gY3VycjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzY2VuYXJpbzogU2NlbmFyaW87XG4gICAgQElucHV0KCkgcHVibGljIGNvbm5lY3RlZFRhZ3M6IFRDb25uZWN0ZWRUYWdzID0ge307XG4gICAgQElucHV0KCkgcHVibGljIGR5bmFtaWNUYWdWYWx1ZXM6IFREeW5hbWljVGFnID0ge307XG4gICAgQElucHV0KCkgcHVibGljIHRhZ0FkZGl0aW9uYWxTZXR0aW5nczogUmVjb3JkPHN0cmluZywgSVRhZ0FkZGl0aW9uYWxTZXR0aW5ncz47XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbG9ja2VkRGF0ZXM6IHN0cmluZ1tdIHwgbnVtYmVyW10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZmlzY2FsWWVhclN0YXJ0c0Zyb206IG51bWJlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZmlzY2FsWWVhckJhY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGlzRHluYW1pY0FkZEVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHNjZW5hcmlvVGFnRGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxUU2NlbmFyaW9EYXRhQ2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRTY2VuYXJpb0RhdGFDaGFuZ2VkPigpO1xuXG4gICAgcHVibGljIGN1cnJlbnRUYWdzTWFwOiB7IFt0YWdJZDogbnVtYmVyXTogSVRhZ0ZvclNlcnZlciB9ID0ge307XG5cbiAgICBwcml2YXRlIF9jdXJyZW50VGFnczogSVRhZ0ZvclNlcnZlcltdID0gW107XG4gICAgcHJpdmF0ZSBkeW5hbWljVGFnc1RvU2F2ZTogSVRhZ0ZvclNlcnZlcltdID0gW107XG4gICAgcHJpdmF0ZSB0YWdzVG9TYXZlOiBJVGFnRm9yU2VydmVyW10gPSBbXTtcblxuICAgIHB1YmxpYyBnZXQgY3VycmVudFRhZ3MoKTogSVRhZ0ZvclNlcnZlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRUYWdzO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFRhZ3MgPSB0aGlzLmN1cnJlbnRUYWdzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRhZ0NoYW5nZSgkZXZlbnQ6IElUYWdGb3JTZXJ2ZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2F2ZWRUYWcgPSBfZmluZCh0aGlzLnRhZ3NUb1NhdmUsIHsgaWQ6ICRldmVudC5pZCB9KTtcblxuICAgICAgICBpZiAoc2F2ZWRUYWcpIHtcbiAgICAgICAgICAgIF9tZXJnZShzYXZlZFRhZywgJGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnc1RvU2F2ZS5wdXNoKCRldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uU2NlbmFyaW9UYWdEYXRhQ2hhbmdlZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkR5bmFtaWNUYWdzQ2hhbmdlKCRldmVudDogSVRhZ0ZvclNlcnZlcltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhZ3NUb1NhdmUgPSAkZXZlbnQ7XG4gICAgICAgIHRoaXMub25TY2VuYXJpb1RhZ0RhdGFDaGFuZ2VkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2NlbmFyaW9UYWdEYXRhQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFncyA9IFsuLi50aGlzLmR5bmFtaWNUYWdzVG9TYXZlLCAuLi50aGlzLnRhZ3NUb1NhdmVdO1xuICAgICAgICB0aGlzLnNjZW5hcmlvVGFnRGF0YUNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBzY2VuYXJpbzogdGhpcy5zY2VuYXJpbyxcbiAgICAgICAgICAgIHRhZ3NDb25maWc6IHRoaXMudGFnc0NvbmZpZyxcbiAgICAgICAgICAgIHRhZ3MsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzY2VuYXJpby10YWctY29uZmlndXJhdGlvblwiICpuZ0Zvcj1cImxldCB0YWdDb25maWcgb2YgdGFnc0NvbmZpZ1wiPlxuICAgIDxkci10YWdcbiAgICAgICAgW3RhZ0NvbmZpZ109XCJ0YWdDb25maWdcIlxuICAgICAgICBbc2VsZWN0ZWRUYWddPVwiY3VycmVudFRhZ3NNYXBbdGFnQ29uZmlnLmlkXVwiXG4gICAgICAgIFtsb2NrZWREYXRlXT1cImxvY2tlZERhdGVzXCJcbiAgICAgICAgW2Zpc2NhbFllYXJTdGFydHNGcm9tXT1cImZpc2NhbFllYXJTdGFydHNGcm9tXCJcbiAgICAgICAgW2Zpc2NhbFllYXJCYWNrXT1cImZpc2NhbFllYXJCYWNrXCJcbiAgICAgICAgW3RhZ3NDb25maWddPVwidGFnc0NvbmZpZ1wiXG4gICAgICAgIFtkeW5hbWljVGFnVmFsdWVzXT1cImR5bmFtaWNUYWdWYWx1ZXNcIlxuICAgICAgICBbY29ubmVjdGVkVGFnc109XCJjb25uZWN0ZWRUYWdzW3RhZ0NvbmZpZy5pZF1cIlxuICAgICAgICBbaXNEeW5hbWljVGFnQWRkRW5hYmxlZF09XCJpc0R5bmFtaWNBZGRFbmFibGVkXCJcbiAgICAgICAgW3RhZ0FkZGl0aW9uYWxTZXR0aW5nc109XCJ0YWdBZGRpdGlvbmFsU2V0dGluZ3NcIlxuICAgICAgICAodGFnQ2hhbmdlKT1cIm9uVGFnQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAoZHluYW1pY1RhZ0NoYW5nZSk9XCJvbkR5bmFtaWNUYWdzQ2hhbmdlKCRldmVudClcIj48L2RyLXRhZz5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { Scenario } from '../_interfaces/scenario';
|
|
3
|
+
import { ScenarioService } from '../_services/scenario.service';
|
|
4
|
+
import { TagTypes } from '../../models/serverTags';
|
|
5
|
+
import { find as _find } from 'lodash';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { DrInputsModule } from '../../dr-inputs/dr-inputs.module';
|
|
8
|
+
import { FormsModule } from '@angular/forms';
|
|
9
|
+
import { DrTagsConstructorComponent } from '../dr-tags-constructor/dr-tags-constructor.component';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../_services/scenario.service";
|
|
12
|
+
import * as i2 from "@angular/common";
|
|
13
|
+
import * as i3 from "../../dr-inputs/dr-select/dr-select.component";
|
|
14
|
+
import * as i4 from "@angular/forms";
|
|
15
|
+
function DrTagsAndScenarioConstructorComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
17
|
+
i0.ɵɵelementStart(0, "div", 5)(1, "dr-tags-constructor", 6);
|
|
18
|
+
i0.ɵɵlistener("tagChange", function DrTagsAndScenarioConstructorComponent_div_5_Template_dr_tags_constructor_tagChange_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onScenarioDataChange()); })("tagToggle", function DrTagsAndScenarioConstructorComponent_div_5_Template_dr_tags_constructor_tagToggle_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onScenarioTagToggle($event)); });
|
|
19
|
+
i0.ɵɵelementEnd()();
|
|
20
|
+
} if (rf & 2) {
|
|
21
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
22
|
+
i0.ɵɵadvance(1);
|
|
23
|
+
i0.ɵɵproperty("scenarioTagsConfig", ctx_r0.scenarioTags);
|
|
24
|
+
} }
|
|
25
|
+
export class DrTagsAndScenarioConstructorComponent {
|
|
26
|
+
set selectedScenario(scenario) {
|
|
27
|
+
if (!Object.values(Scenario).includes(scenario)) {
|
|
28
|
+
this._selectedScenario = Scenario.ACTUALS;
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this._selectedScenario = scenario;
|
|
32
|
+
}
|
|
33
|
+
get selectedScenario() {
|
|
34
|
+
return this._selectedScenario || Scenario.ACTUALS;
|
|
35
|
+
}
|
|
36
|
+
get scenarioTags() {
|
|
37
|
+
return this._scenarioTags;
|
|
38
|
+
}
|
|
39
|
+
set scenarioTags(tags) {
|
|
40
|
+
this._scenarioTags = tags;
|
|
41
|
+
this.tagNotSupportingDates = _find(tags, { turnOffDateTags: true });
|
|
42
|
+
}
|
|
43
|
+
get dateTag() {
|
|
44
|
+
return _find(this.scenarioTags, { type: TagTypes.DATE });
|
|
45
|
+
}
|
|
46
|
+
constructor(scenarioService) {
|
|
47
|
+
this.scenarioService = scenarioService;
|
|
48
|
+
this._scenarioTags = [];
|
|
49
|
+
this.wholeTagsConfig = [];
|
|
50
|
+
this.isMultipleDimension = false;
|
|
51
|
+
this.isForecastMultipleDimension = false;
|
|
52
|
+
this.scenarioDataChanged = new EventEmitter();
|
|
53
|
+
}
|
|
54
|
+
ngOnInit() {
|
|
55
|
+
this.scenarios = this.scenarioService.scenarios;
|
|
56
|
+
this.scenarioService.initScenarioTags(this.wholeTagsConfig, this.currentTagsConfig, this.isMultipleDimension, this.isForecastMultipleDimension);
|
|
57
|
+
this.scenarioTags = this.scenarioService.getScenarioTagsByScenario(this.selectedScenario);
|
|
58
|
+
}
|
|
59
|
+
onScenarioChange(scenario) {
|
|
60
|
+
this.scenarioTags = this.scenarioService.getScenarioTagsByScenario(scenario);
|
|
61
|
+
this.onScenarioDataChange();
|
|
62
|
+
}
|
|
63
|
+
onScenarioTagToggle(tag) {
|
|
64
|
+
this.scenarioService.tagNotSupportingDatesHandler(tag, this.tagNotSupportingDates, this.dateTag);
|
|
65
|
+
this.scenarioService.tagAcceptableSubTagsHandler(tag, this.dateTag);
|
|
66
|
+
this.onScenarioDataChange();
|
|
67
|
+
}
|
|
68
|
+
onScenarioDataChange() {
|
|
69
|
+
this.scenarioDataChanged.emit({
|
|
70
|
+
scenario: this.selectedScenario,
|
|
71
|
+
tagsConfig: this.scenarioService.getTagsConfigByScenarioTags(this.scenarioTags, this.wholeTagsConfig),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/** @nocollapse */ static { this.ɵfac = function DrTagsAndScenarioConstructorComponent_Factory(t) { return new (t || DrTagsAndScenarioConstructorComponent)(i0.ɵɵdirectiveInject(i1.ScenarioService)); }; }
|
|
75
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrTagsAndScenarioConstructorComponent, selectors: [["dr-tags-and-scenario-constructor"]], inputs: { currentTagsConfig: "currentTagsConfig", wholeTagsConfig: "wholeTagsConfig", selectedScenario: "selectedScenario", isMultipleDimension: "isMultipleDimension", isForecastMultipleDimension: "isForecastMultipleDimension" }, outputs: { scenarioDataChanged: "scenarioDataChanged" }, standalone: true, features: [i0.ɵɵProvidersFeature([ScenarioService]), i0.ɵɵStandaloneFeature], decls: 6, vars: 3, consts: [[1, "scenario"], [1, "scenario__list"], [1, "scenario__title", "scenario__title-list"], ["placeholder", "Select", 3, "ngModel", "items", "ngModelChange"], ["class", "scenario__tags", 4, "ngIf"], [1, "scenario__tags"], [3, "scenarioTagsConfig", "tagChange", "tagToggle"]], template: function DrTagsAndScenarioConstructorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "p", 2);
|
|
77
|
+
i0.ɵɵtext(3, "Scenario");
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
i0.ɵɵelementStart(4, "dr-select", 3);
|
|
80
|
+
i0.ɵɵlistener("ngModelChange", function DrTagsAndScenarioConstructorComponent_Template_dr_select_ngModelChange_4_listener($event) { return ctx.selectedScenario = $event; })("ngModelChange", function DrTagsAndScenarioConstructorComponent_Template_dr_select_ngModelChange_4_listener($event) { return ctx.onScenarioChange($event); });
|
|
81
|
+
i0.ɵɵelementEnd()();
|
|
82
|
+
i0.ɵɵtemplate(5, DrTagsAndScenarioConstructorComponent_div_5_Template, 2, 1, "div", 4);
|
|
83
|
+
i0.ɵɵelementEnd();
|
|
84
|
+
} if (rf & 2) {
|
|
85
|
+
i0.ɵɵadvance(4);
|
|
86
|
+
i0.ɵɵproperty("ngModel", ctx.selectedScenario)("items", ctx.scenarios);
|
|
87
|
+
i0.ɵɵadvance(1);
|
|
88
|
+
i0.ɵɵproperty("ngIf", ctx.scenarioTags == null ? null : ctx.scenarioTags.length);
|
|
89
|
+
} }, dependencies: [CommonModule, i2.NgIf, DrInputsModule, i3.DrSelectComponent, FormsModule, i4.NgControlStatus, i4.NgModel, DrTagsConstructorComponent], styles: [".scenario__title[_ngcontent-%COMP%]{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px;font-weight:600}.scenario__title-list[_ngcontent-%COMP%]{margin-bottom:4px}.scenario__tags[_ngcontent-%COMP%]{margin-top:24px}[_nghost-%COMP%] .toggle-container__item__content{padding:2px 8px!important}"], changeDetection: 0 }); }
|
|
90
|
+
}
|
|
91
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrTagsAndScenarioConstructorComponent, [{
|
|
92
|
+
type: Component,
|
|
93
|
+
args: [{ selector: 'dr-tags-and-scenario-constructor', standalone: true, imports: [CommonModule, DrInputsModule, FormsModule, DrTagsConstructorComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [ScenarioService], template: "<div class=\"scenario\">\n <div class=\"scenario__list\">\n <p class=\"scenario__title scenario__title-list\">Scenario</p>\n <dr-select\n [(ngModel)]=\"selectedScenario\"\n placeholder=\"Select\"\n [items]=\"scenarios\"\n (ngModelChange)=\"onScenarioChange($event)\"></dr-select>\n </div>\n <div class=\"scenario__tags\" *ngIf=\"scenarioTags?.length\">\n <dr-tags-constructor\n [scenarioTagsConfig]=\"scenarioTags\"\n (tagChange)=\"onScenarioDataChange()\"\n (tagToggle)=\"onScenarioTagToggle($any($event))\"></dr-tags-constructor>\n </div>\n</div>\n", styles: [".scenario__title{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px;font-weight:600}.scenario__title-list{margin-bottom:4px}.scenario__tags{margin-top:24px}:host::ng-deep .toggle-container__item__content{padding:2px 8px!important}\n"] }]
|
|
94
|
+
}], function () { return [{ type: i1.ScenarioService }]; }, { currentTagsConfig: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], wholeTagsConfig: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], selectedScenario: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], isMultipleDimension: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], isForecastMultipleDimension: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], scenarioDataChanged: [{
|
|
105
|
+
type: Output
|
|
106
|
+
}] }); })();
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFncy1hbmQtc2NlbmFyaW8tY29uc3RydWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWdzLWFuZC1zY2VuYXJpby1jb25zdHJ1Y3Rvci9kci10YWdzLWFuZC1zY2VuYXJpby1jb25zdHJ1Y3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10YWdzL2RyLXRhZ3MtYW5kLXNjZW5hcmlvLWNvbnN0cnVjdG9yL2RyLXRhZ3MtYW5kLXNjZW5hcmlvLWNvbnN0cnVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFrQixRQUFRLEVBQXdCLE1BQU0seUJBQXlCLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBUSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7SUNDOUYsOEJBQXlELDZCQUFBO0lBR2pELHVNQUFhLGVBQUEsNkJBQXNCLENBQUEsSUFBQyxn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cEVRLHFDQUFxQzttR0FBckMscUNBQXFDLHVZQUZuQyxDQUFDLGVBQWUsQ0FBQztZQ2pCaEMsOEJBQXNCLGFBQUEsV0FBQTtZQUVrQyx3QkFBUTtZQUFBLGlCQUFJO1lBQzVELG9DQUkrQztZQUgzQyw0S0FBOEIsOEhBR2IsNEJBQXdCLElBSFg7WUFHYSxpQkFBWSxFQUFBO1lBRS9ELHNGQUtNO1lBQ1YsaUJBQU07O1lBWE0sZUFBOEI7WUFBOUIsOENBQThCLHdCQUFBO1lBS1QsZUFBMEI7WUFBMUIsZ0ZBQTBCOzRCRE03QyxZQUFZLFdBQUUsY0FBYyx3QkFBRSxXQUFXLGtDQUFFLDBCQUEwQjs7dUZBSXRFLHFDQUFxQztjQVRqRCxTQUFTOzJCQUNJLGtDQUFrQyxjQUdoQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsQ0FBQyxtQkFDL0QsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGVBQWUsQ0FBQztrRUFTWixpQkFBaUI7a0JBQWhDLEtBQUs7WUFDVSxlQUFlO2tCQUE5QixLQUFLO1lBQ2MsZ0JBQWdCO2tCQUFuQyxLQUFLO1lBUVUsbUJBQW1CO2tCQUFsQyxLQUFLO1lBQ1UsMkJBQTJCO2tCQUExQyxLQUFLO1lBRVcsbUJBQW1CO2tCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTY2VuYXJpb1RhZ1VpLCBTY2VuYXJpbywgVFNjZW5hcmlvRGF0YUNoYW5nZWQgfSBmcm9tICcuLi9faW50ZXJmYWNlcy9zY2VuYXJpbyc7XG5pbXBvcnQgeyBTY2VuYXJpb1NlcnZpY2UgfSBmcm9tICcuLi9fc2VydmljZXMvc2NlbmFyaW8uc2VydmljZSc7XG5pbXBvcnQgeyBJVGFnLCBUYWdUeXBlcyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCB7IGZpbmQgYXMgX2ZpbmQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERySW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vZHItaW5wdXRzL2RyLWlucHV0cy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEclRhZ3NDb25zdHJ1Y3RvckNvbXBvbmVudCB9IGZyb20gJy4uL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLXRhZ3MtYW5kLXNjZW5hcmlvLWNvbnN0cnVjdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItdGFncy1hbmQtc2NlbmFyaW8tY29uc3RydWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXRhZ3MtYW5kLXNjZW5hcmlvLWNvbnN0cnVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEcklucHV0c01vZHVsZSwgRm9ybXNNb2R1bGUsIERyVGFnc0NvbnN0cnVjdG9yQ29tcG9uZW50XSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtTY2VuYXJpb1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBEclRhZ3NBbmRTY2VuYXJpb0NvbnN0cnVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgc2NlbmFyaW9zOiBTY2VuYXJpb1tdO1xuXG4gICAgcHJpdmF0ZSBfc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdID0gW107XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRTY2VuYXJpbzogU2NlbmFyaW87XG4gICAgcHJpdmF0ZSB0YWdOb3RTdXBwb3J0aW5nRGF0ZXM6IElTY2VuYXJpb1RhZ1VpO1xuXG4gICAgQElucHV0KCkgcHVibGljIGN1cnJlbnRUYWdzQ29uZmlnOiBJVGFnW107XG4gICAgQElucHV0KCkgcHVibGljIHdob2xlVGFnc0NvbmZpZzogSVRhZ1tdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RlZFNjZW5hcmlvKHNjZW5hcmlvOiBTY2VuYXJpbykge1xuICAgICAgICBpZiAoIU9iamVjdC52YWx1ZXMoU2NlbmFyaW8pLmluY2x1ZGVzKHNjZW5hcmlvKSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTY2VuYXJpbyA9IFNjZW5hcmlvLkFDVFVBTFM7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZWxlY3RlZFNjZW5hcmlvID0gc2NlbmFyaW87XG4gICAgfVxuICAgIEBJbnB1dCgpIHB1YmxpYyBpc011bHRpcGxlRGltZW5zaW9uOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGlzRm9yZWNhc3RNdWx0aXBsZURpbWVuc2lvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzY2VuYXJpb0RhdGFDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8VFNjZW5hcmlvRGF0YUNoYW5nZWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUU2NlbmFyaW9EYXRhQ2hhbmdlZD4oKTtcblxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWRTY2VuYXJpbygpOiBTY2VuYXJpbyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFNjZW5hcmlvIHx8IFNjZW5hcmlvLkFDVFVBTFM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzY2VuYXJpb1RhZ3MoKTogSVNjZW5hcmlvVGFnVWlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY2VuYXJpb1RhZ3M7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBzY2VuYXJpb1RhZ3ModGFnczogSVNjZW5hcmlvVGFnVWlbXSkge1xuICAgICAgICB0aGlzLl9zY2VuYXJpb1RhZ3MgPSB0YWdzO1xuICAgICAgICB0aGlzLnRhZ05vdFN1cHBvcnRpbmdEYXRlcyA9IF9maW5kKHRhZ3MsIHsgdHVybk9mZkRhdGVUYWdzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVRhZygpOiBJU2NlbmFyaW9UYWdVaSB7XG4gICAgICAgIHJldHVybiBfZmluZCh0aGlzLnNjZW5hcmlvVGFncywgeyB0eXBlOiBUYWdUeXBlcy5EQVRFIH0pO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2NlbmFyaW9TZXJ2aWNlOiBTY2VuYXJpb1NlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9zID0gdGhpcy5zY2VuYXJpb1NlcnZpY2Uuc2NlbmFyaW9zO1xuICAgICAgICB0aGlzLnNjZW5hcmlvU2VydmljZS5pbml0U2NlbmFyaW9UYWdzKFxuICAgICAgICAgICAgdGhpcy53aG9sZVRhZ3NDb25maWcsXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRUYWdzQ29uZmlnLFxuICAgICAgICAgICAgdGhpcy5pc011bHRpcGxlRGltZW5zaW9uLFxuICAgICAgICAgICAgdGhpcy5pc0ZvcmVjYXN0TXVsdGlwbGVEaW1lbnNpb24sXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9UYWdzID0gdGhpcy5zY2VuYXJpb1NlcnZpY2UuZ2V0U2NlbmFyaW9UYWdzQnlTY2VuYXJpbyh0aGlzLnNlbGVjdGVkU2NlbmFyaW8pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNjZW5hcmlvQ2hhbmdlKHNjZW5hcmlvOiBTY2VuYXJpbyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjZW5hcmlvVGFncyA9IHRoaXMuc2NlbmFyaW9TZXJ2aWNlLmdldFNjZW5hcmlvVGFnc0J5U2NlbmFyaW8oc2NlbmFyaW8pO1xuICAgICAgICB0aGlzLm9uU2NlbmFyaW9EYXRhQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2NlbmFyaW9UYWdUb2dnbGUodGFnOiBJU2NlbmFyaW9UYWdVaSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjZW5hcmlvU2VydmljZS50YWdOb3RTdXBwb3J0aW5nRGF0ZXNIYW5kbGVyPElTY2VuYXJpb1RhZ1VpPih0YWcsIHRoaXMudGFnTm90U3VwcG9ydGluZ0RhdGVzLCB0aGlzLmRhdGVUYWcpO1xuICAgICAgICB0aGlzLnNjZW5hcmlvU2VydmljZS50YWdBY2NlcHRhYmxlU3ViVGFnc0hhbmRsZXI8SVNjZW5hcmlvVGFnVWk+KHRhZywgdGhpcy5kYXRlVGFnKTtcbiAgICAgICAgdGhpcy5vblNjZW5hcmlvRGF0YUNoYW5nZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNjZW5hcmlvRGF0YUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY2VuYXJpb0RhdGFDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgICAgc2NlbmFyaW86IHRoaXMuc2VsZWN0ZWRTY2VuYXJpbyxcbiAgICAgICAgICAgIHRhZ3NDb25maWc6IHRoaXMuc2NlbmFyaW9TZXJ2aWNlLmdldFRhZ3NDb25maWdCeVNjZW5hcmlvVGFncyh0aGlzLnNjZW5hcmlvVGFncywgdGhpcy53aG9sZVRhZ3NDb25maWcpLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2NlbmFyaW9cIj5cbiAgICA8ZGl2IGNsYXNzPVwic2NlbmFyaW9fX2xpc3RcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJzY2VuYXJpb19fdGl0bGUgc2NlbmFyaW9fX3RpdGxlLWxpc3RcIj5TY2VuYXJpbzwvcD5cbiAgICAgICAgPGRyLXNlbGVjdFxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFNjZW5hcmlvXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0XCJcbiAgICAgICAgICAgIFtpdGVtc109XCJzY2VuYXJpb3NcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TY2VuYXJpb0NoYW5nZSgkZXZlbnQpXCI+PC9kci1zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNjZW5hcmlvX190YWdzXCIgKm5nSWY9XCJzY2VuYXJpb1RhZ3M/Lmxlbmd0aFwiPlxuICAgICAgICA8ZHItdGFncy1jb25zdHJ1Y3RvclxuICAgICAgICAgICAgW3NjZW5hcmlvVGFnc0NvbmZpZ109XCJzY2VuYXJpb1RhZ3NcIlxuICAgICAgICAgICAgKHRhZ0NoYW5nZSk9XCJvblNjZW5hcmlvRGF0YUNoYW5nZSgpXCJcbiAgICAgICAgICAgICh0YWdUb2dnbGUpPVwib25TY2VuYXJpb1RhZ1RvZ2dsZSgkYW55KCRldmVudCkpXCI+PC9kci10YWdzLWNvbnN0cnVjdG9yPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { ToggleButtonMode } from '../../dr-inputs/dr-toggle-button/toggle-button-mode';
|
|
3
|
+
import { reduce as _reduce, some as _some, filter as _filter, forEach as _forEach } from 'lodash';
|
|
4
|
+
import { ScenarioService } from '../_services/scenario.service';
|
|
5
|
+
import { TagsConstructorService } from '../_services/tags-constructor.service';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { FormsModule } from '@angular/forms';
|
|
8
|
+
import { DrInputsModule } from '../../dr-inputs/dr-inputs.module';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../_services/scenario.service";
|
|
11
|
+
import * as i2 from "../_services/tags-constructor.service";
|
|
12
|
+
import * as i3 from "@angular/common";
|
|
13
|
+
import * as i4 from "../../dr-inputs/dr-toggle/dr-toggle.component";
|
|
14
|
+
import * as i5 from "../../dr-inputs/dr-toggle-button/dr-toggle-button.component";
|
|
15
|
+
import * as i6 from "@angular/forms";
|
|
16
|
+
function DrTagsConstructorComponent_div_3_div_8_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
18
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "dr-toggle-button", 13);
|
|
19
|
+
i0.ɵɵlistener("ngModelChange", function DrTagsConstructorComponent_div_3_div_8_div_1_Template_dr_toggle_button_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r6); const tag_r1 = i0.ɵɵnextContext(2).$implicit; return i0.ɵɵresetView(tag_r1.selectedTagSubType = $event); })("ngModelChange", function DrTagsConstructorComponent_div_3_div_8_div_1_Template_dr_toggle_button_ngModelChange_1_listener() { i0.ɵɵrestoreView(_r6); const tag_r1 = i0.ɵɵnextContext(2).$implicit; const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.onSubTagChange(tag_r1)); });
|
|
20
|
+
i0.ɵɵelementEnd()();
|
|
21
|
+
} if (rf & 2) {
|
|
22
|
+
const tag_r1 = i0.ɵɵnextContext(2).$implicit;
|
|
23
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
24
|
+
i0.ɵɵadvance(1);
|
|
25
|
+
i0.ɵɵproperty("ngModel", tag_r1.selectedTagSubType)("items", tag_r1.subTags)("mode", ctx_r3.toggleButtonMode.DOTTED);
|
|
26
|
+
} }
|
|
27
|
+
function DrTagsConstructorComponent_div_3_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵelementStart(0, "div", 10);
|
|
29
|
+
i0.ɵɵtemplate(1, DrTagsConstructorComponent_div_3_div_8_div_1_Template, 2, 3, "div", 11);
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
} if (rf & 2) {
|
|
32
|
+
const tag_r1 = i0.ɵɵnextContext().$implicit;
|
|
33
|
+
i0.ɵɵadvance(1);
|
|
34
|
+
i0.ɵɵproperty("ngIf", tag_r1.subTags == null ? null : tag_r1.subTags.length);
|
|
35
|
+
} }
|
|
36
|
+
function DrTagsConstructorComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
38
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "div", 4)(2, "p", 5);
|
|
39
|
+
i0.ɵɵtext(3);
|
|
40
|
+
i0.ɵɵelementEnd();
|
|
41
|
+
i0.ɵɵelementStart(4, "dr-toggle", 6);
|
|
42
|
+
i0.ɵɵlistener("ngModelChange", function DrTagsConstructorComponent_div_3_Template_dr_toggle_ngModelChange_4_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r12); const tag_r1 = restoredCtx.$implicit; return i0.ɵɵresetView(tag_r1.toggle = $event); })("ngModelChange", function DrTagsConstructorComponent_div_3_Template_dr_toggle_ngModelChange_4_listener() { const restoredCtx = i0.ɵɵrestoreView(_r12); const tag_r1 = restoredCtx.$implicit; const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onTagToggle(tag_r1)); });
|
|
43
|
+
i0.ɵɵelementEnd()();
|
|
44
|
+
i0.ɵɵelementStart(5, "div", 7)(6, "p", 8);
|
|
45
|
+
i0.ɵɵtext(7);
|
|
46
|
+
i0.ɵɵelementEnd()();
|
|
47
|
+
i0.ɵɵtemplate(8, DrTagsConstructorComponent_div_3_div_8_Template, 2, 1, "div", 9);
|
|
48
|
+
i0.ɵɵelementEnd();
|
|
49
|
+
} if (rf & 2) {
|
|
50
|
+
const tag_r1 = ctx.$implicit;
|
|
51
|
+
i0.ɵɵadvance(3);
|
|
52
|
+
i0.ɵɵtextInterpolate(tag_r1.name);
|
|
53
|
+
i0.ɵɵadvance(1);
|
|
54
|
+
i0.ɵɵproperty("ngModel", tag_r1.toggle);
|
|
55
|
+
i0.ɵɵadvance(3);
|
|
56
|
+
i0.ɵɵtextInterpolate(tag_r1.description);
|
|
57
|
+
i0.ɵɵadvance(1);
|
|
58
|
+
i0.ɵɵproperty("ngIf", tag_r1.toggle);
|
|
59
|
+
} }
|
|
60
|
+
export class DrTagsConstructorComponent {
|
|
61
|
+
get currentTags() {
|
|
62
|
+
return this.scenarioTagsConfig || this.tagsUi;
|
|
63
|
+
}
|
|
64
|
+
get isScenarioFlow() {
|
|
65
|
+
return !!this.scenarioTagsConfig;
|
|
66
|
+
}
|
|
67
|
+
get tagsWithSubTags() {
|
|
68
|
+
return _reduce(this.tagsUi, (acc, curr) => {
|
|
69
|
+
if (curr?.subTags?.length) {
|
|
70
|
+
acc.push(curr);
|
|
71
|
+
}
|
|
72
|
+
return acc;
|
|
73
|
+
}, []);
|
|
74
|
+
}
|
|
75
|
+
get tagsNotSupportingDateTag() {
|
|
76
|
+
return _reduce(this.tagsUi, (acc, curr) => {
|
|
77
|
+
if (curr?.turnOffDateTags) {
|
|
78
|
+
acc.push(curr);
|
|
79
|
+
}
|
|
80
|
+
return acc;
|
|
81
|
+
}, []);
|
|
82
|
+
}
|
|
83
|
+
constructor(scenarioService, tagsConstructor) {
|
|
84
|
+
this.scenarioService = scenarioService;
|
|
85
|
+
this.tagsConstructor = tagsConstructor;
|
|
86
|
+
this.toggleButtonMode = ToggleButtonMode;
|
|
87
|
+
/*
|
|
88
|
+
* Used for display provided tagsConfig
|
|
89
|
+
* (for scenario flow, use this input to get tagsConfig data on stateChange emit)
|
|
90
|
+
* */
|
|
91
|
+
this.tagsConfigToDisplay = [];
|
|
92
|
+
/*
|
|
93
|
+
* Used for toggle on provided tagsConfig
|
|
94
|
+
* (not related to scenario flow)
|
|
95
|
+
* */
|
|
96
|
+
this.selectedTagsConfig = [];
|
|
97
|
+
this.tagChange = new EventEmitter();
|
|
98
|
+
this.tagToggle = new EventEmitter();
|
|
99
|
+
this.stateChange = new EventEmitter();
|
|
100
|
+
this.tagsUi = [];
|
|
101
|
+
}
|
|
102
|
+
ngOnInit() {
|
|
103
|
+
if (!this.isScenarioFlow) {
|
|
104
|
+
this.buildTags();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
onSubTagChange(tag) {
|
|
108
|
+
this.onStateChange();
|
|
109
|
+
const tagToEmit = this.isScenarioFlow ? tag : this.getTagsConfig([tag])?.[0];
|
|
110
|
+
this.tagChange.emit(tagToEmit);
|
|
111
|
+
}
|
|
112
|
+
onTagToggle(tag) {
|
|
113
|
+
if (!this.isScenarioFlow) {
|
|
114
|
+
this.updateTagsState(tag);
|
|
115
|
+
}
|
|
116
|
+
this.onStateChange();
|
|
117
|
+
const tagToEmit = this.isScenarioFlow ? tag : this.getTagsConfig([tag])?.[0];
|
|
118
|
+
this.tagToggle.emit(tagToEmit);
|
|
119
|
+
}
|
|
120
|
+
onStateChange() {
|
|
121
|
+
const tagsConfig = this.getTagsConfig(this.currentTags);
|
|
122
|
+
this.stateChange.emit(tagsConfig);
|
|
123
|
+
}
|
|
124
|
+
buildTags() {
|
|
125
|
+
this.tagsUi = this.tagsConstructor.buildTags(this.tagsConfigToDisplay, this.selectedTagsConfig);
|
|
126
|
+
}
|
|
127
|
+
getTagsConfig(currentTags) {
|
|
128
|
+
return _filter(this.tagsConfigToDisplay, (tagConfig) => _some(currentTags, (tag) => tag.toggle && tag.selectedTagSubType === tagConfig.options.sub_type));
|
|
129
|
+
}
|
|
130
|
+
updateTagsState(tag) {
|
|
131
|
+
_forEach(this.tagsWithSubTags, (tagWithSubTag) => this.scenarioService.tagAcceptableSubTagsHandler(tag, tagWithSubTag));
|
|
132
|
+
_forEach(this.tagsNotSupportingDateTag, (tagNotSupportingDate) => {
|
|
133
|
+
_forEach(this.tagsWithSubTags, (tagWithSubTag) => this.scenarioService.tagNotSupportingDatesHandler(tag, tagNotSupportingDate, tagWithSubTag));
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/** @nocollapse */ static { this.ɵfac = function DrTagsConstructorComponent_Factory(t) { return new (t || DrTagsConstructorComponent)(i0.ɵɵdirectiveInject(i1.ScenarioService), i0.ɵɵdirectiveInject(i2.TagsConstructorService)); }; }
|
|
137
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrTagsConstructorComponent, selectors: [["dr-tags-constructor"]], inputs: { scenarioTagsConfig: "scenarioTagsConfig", tagsConfigToDisplay: "tagsConfigToDisplay", selectedTagsConfig: "selectedTagsConfig" }, outputs: { tagChange: "tagChange", tagToggle: "tagToggle", stateChange: "stateChange" }, standalone: true, features: [i0.ɵɵProvidersFeature([ScenarioService, TagsConstructorService]), i0.ɵɵStandaloneFeature], decls: 4, vars: 1, consts: [[1, "tags-constructor"], [1, "tags-constructor__title--extra", "tags-constructor__tags__title"], ["class", "tags-constructor__tag", 4, "ngFor", "ngForOf"], [1, "tags-constructor__tag"], [1, "tags-constructor__tag__header"], [1, "tags-constructor__title"], [3, "ngModel", "ngModelChange"], [1, "tags-constructor__tag__description"], [1, "tags-constructor__text"], ["class", "tags-constructor__tag__body", 4, "ngIf"], [1, "tags-constructor__tag__body"], ["class", "tags-constructor__sub-tag", 4, "ngIf"], [1, "tags-constructor__sub-tag"], ["bindHidden", "hidden", "bindLabel", "name", "bindValue", "subType", 3, "ngModel", "items", "mode", "ngModelChange"]], template: function DrTagsConstructorComponent_Template(rf, ctx) { if (rf & 1) {
|
|
138
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
|
|
139
|
+
i0.ɵɵtext(2, "Tags");
|
|
140
|
+
i0.ɵɵelementEnd();
|
|
141
|
+
i0.ɵɵtemplate(3, DrTagsConstructorComponent_div_3_Template, 9, 4, "div", 2);
|
|
142
|
+
i0.ɵɵelementEnd();
|
|
143
|
+
} if (rf & 2) {
|
|
144
|
+
i0.ɵɵadvance(3);
|
|
145
|
+
i0.ɵɵproperty("ngForOf", ctx.currentTags);
|
|
146
|
+
} }, dependencies: [CommonModule, i3.NgForOf, i3.NgIf, DrInputsModule, i4.DrToggleComponent, i5.DrToggleButtonComponent, FormsModule, i6.NgControlStatus, i6.NgModel], styles: [".tags-constructor__text[_ngcontent-%COMP%]{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px}.tags-constructor__title[_ngcontent-%COMP%]{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px;font-weight:600}.tags-constructor__title--extra[_ngcontent-%COMP%]{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px;font-weight:700}.tags-constructor__tags__title[_ngcontent-%COMP%]{margin-bottom:16px}.tags-constructor__tag[_ngcontent-%COMP%]{margin-bottom:24px;padding-top:16px;border-top:1px solid #dfe0e3}.tags-constructor__tag[_ngcontent-%COMP%]:last-child{margin-bottom:0}.tags-constructor__tag__description[_ngcontent-%COMP%]{margin-top:5px}.tags-constructor__tag__header[_ngcontent-%COMP%]{display:flex;justify-content:space-between}.tags-constructor__sub-tag[_ngcontent-%COMP%]{margin-top:8px}[_nghost-%COMP%] .toggle-container__item__content{padding:2px 8px!important}"] }); }
|
|
147
|
+
}
|
|
148
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrTagsConstructorComponent, [{
|
|
149
|
+
type: Component,
|
|
150
|
+
args: [{ selector: 'dr-tags-constructor', standalone: true, imports: [CommonModule, DrInputsModule, FormsModule], providers: [ScenarioService, TagsConstructorService], template: "<div class=\"tags-constructor\">\n <p class=\"tags-constructor__title--extra tags-constructor__tags__title\">Tags</p>\n <div class=\"tags-constructor__tag\" *ngFor=\"let tag of currentTags\">\n <div class=\"tags-constructor__tag__header\">\n <p class=\"tags-constructor__title\">{{ tag.name }}</p>\n <dr-toggle [(ngModel)]=\"tag.toggle\" (ngModelChange)=\"onTagToggle(tag)\"></dr-toggle>\n </div>\n <div class=\"tags-constructor__tag__description\">\n <p class=\"tags-constructor__text\">{{ tag.description }}</p>\n </div>\n <div *ngIf=\"tag.toggle\" class=\"tags-constructor__tag__body\">\n <div *ngIf=\"tag.subTags?.length\" class=\"tags-constructor__sub-tag\">\n <dr-toggle-button\n [(ngModel)]=\"tag.selectedTagSubType\"\n bindHidden=\"hidden\"\n bindLabel=\"name\"\n bindValue=\"subType\"\n [items]=\"tag.subTags\"\n [mode]=\"toggleButtonMode.DOTTED\"\n (ngModelChange)=\"onSubTagChange(tag)\"></dr-toggle-button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".tags-constructor__text{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px}.tags-constructor__title{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px;font-weight:600}.tags-constructor__title--extra{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px;font-weight:700}.tags-constructor__tags__title{margin-bottom:16px}.tags-constructor__tag{margin-bottom:24px;padding-top:16px;border-top:1px solid #dfe0e3}.tags-constructor__tag:last-child{margin-bottom:0}.tags-constructor__tag__description{margin-top:5px}.tags-constructor__tag__header{display:flex;justify-content:space-between}.tags-constructor__sub-tag{margin-top:8px}:host::ng-deep .toggle-container__item__content{padding:2px 8px!important}\n"] }]
|
|
151
|
+
}], function () { return [{ type: i1.ScenarioService }, { type: i2.TagsConstructorService }]; }, { scenarioTagsConfig: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], tagsConfigToDisplay: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], selectedTagsConfig: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], tagChange: [{
|
|
158
|
+
type: Output
|
|
159
|
+
}], tagToggle: [{
|
|
160
|
+
type: Output
|
|
161
|
+
}], stateChange: [{
|
|
162
|
+
type: Output
|
|
163
|
+
}] }); })();
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10YWdzL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10YWdzL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRXZGLE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxPQUFPLElBQUksUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7OztJQ0V0RCwrQkFBbUUsMkJBQUE7SUFFM0QsOE5BQWEsa0RBQzNCLElBRGtELDhPQU1uQixlQUFBLDZCQUFtQixDQUFBLElBTkE7SUFNRSxpQkFBbUIsRUFBQTs7OztJQU56RCxlQUFvQztJQUFwQyxt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QUFDLHdCQUF3QixFQUFFLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtZQUM3RCxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsR0FBRyxFQUFFLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxDQUM5RixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQW5IUSwwQkFBMEI7bUdBQTFCLDBCQUEwQixnVUFGeEIsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUM7WUNqQnhELDhCQUE4QixXQUFBO1lBQzhDLG9CQUFJO1lBQUEsaUJBQUk7WUFDaEYsMkVBb0JNO1lBQ1YsaUJBQU07O1lBckJpRCxlQUFjO1lBQWQseUNBQWM7NEJEY3ZELFlBQVksdUJBQUUsY0FBYyxvREFBRSxXQUFXOzt1RkFHMUMsMEJBQTBCO2NBUnRDLFNBQVM7MkJBQ0kscUJBQXFCLGNBR25CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDLGFBQ3pDLENBQUMsZUFBZSxFQUFFLHNCQUFzQixDQUFDO3VHQWlCM0Msa0JBQWtCO2tCQUExQixLQUFLO1lBTUcsbUJBQW1CO2tCQUEzQixLQUFLO1lBTUcsa0JBQWtCO2tCQUExQixLQUFLO1lBRUksU0FBUztrQkFBbEIsTUFBTTtZQUNHLFNBQVM7a0JBQWxCLE1BQU07WUFDRyxXQUFXO2tCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNjZW5hcmlvVGFnVWkgfSBmcm9tICcuLi9faW50ZXJmYWNlcy9zY2VuYXJpbyc7XG5pbXBvcnQgeyBUb2dnbGVCdXR0b25Nb2RlIH0gZnJvbSAnLi4vLi4vZHItaW5wdXRzL2RyLXRvZ2dsZS1idXR0b24vdG9nZ2xlLWJ1dHRvbi1tb2RlJztcbmltcG9ydCB7IElUYWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyByZWR1Y2UgYXMgX3JlZHVjZSwgc29tZSBhcyBfc29tZSwgZmlsdGVyIGFzIF9maWx0ZXIsIGZvckVhY2ggYXMgX2ZvckVhY2ggfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgU2NlbmFyaW9TZXJ2aWNlIH0gZnJvbSAnLi4vX3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnc0NvbnN0cnVjdG9yU2VydmljZSB9IGZyb20gJy4uL19zZXJ2aWNlcy90YWdzLWNvbnN0cnVjdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi8uLi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItdGFncy1jb25zdHJ1Y3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLXRhZ3MtY29uc3RydWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXRhZ3MtY29uc3RydWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERySW5wdXRzTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gICAgcHJvdmlkZXJzOiBbU2NlbmFyaW9TZXJ2aWNlLCBUYWdzQ29uc3RydWN0b3JTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJUYWdzQ29uc3RydWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyByZWFkb25seSB0b2dnbGVCdXR0b25Nb2RlID0gVG9nZ2xlQnV0dG9uTW9kZTtcblxuICAgIHB1YmxpYyBnZXQgY3VycmVudFRhZ3MoKTogSVNjZW5hcmlvVGFnVWlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNjZW5hcmlvVGFnc0NvbmZpZyB8fCB0aGlzLnRhZ3NVaTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzU2NlbmFyaW9GbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnNjZW5hcmlvVGFnc0NvbmZpZztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFVzZWQgb25seSBmb3Igc2NlbmFyaW8gZmxvdyAoZHItdGFncy1hbmQtc2NlbmFyaW8tY29uc3RydWN0b3IgdGFnKVxuICAgICAqIChvbmx5IHRoaXMgaW5wdXQgbmVjZXNzYXJ5IGZvciBzY2VuYXJpbyBmbG93KVxuICAgICAqICovXG4gICAgQElucHV0KCkgc2NlbmFyaW9UYWdzQ29uZmlnOiBJU2NlbmFyaW9UYWdVaVtdO1xuXG4gICAgLypcbiAgICAgKiBVc2VkIGZvciBkaXNwbGF5IHByb3ZpZGVkIHRhZ3NDb25maWdcbiAgICAgKiAoZm9yIHNjZW5hcmlvIGZsb3csIHVzZSB0aGlzIGlucHV0IHRvIGdldCB0YWdzQ29uZmlnIGRhdGEgb24gc3RhdGVDaGFuZ2UgZW1pdClcbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpIHRhZ3NDb25maWdUb0Rpc3BsYXk6IElUYWdbXSA9IFtdO1xuXG4gICAgLypcbiAgICAgKiBVc2VkIGZvciB0b2dnbGUgb24gcHJvdmlkZWQgdGFnc0NvbmZpZ1xuICAgICAqIChub3QgcmVsYXRlZCB0byBzY2VuYXJpbyBmbG93KVxuICAgICAqICovXG4gICAgQElucHV0KCkgc2VsZWN0ZWRUYWdzQ29uZmlnOiBJVGFnW10gPSBbXTtcblxuICAgIEBPdXRwdXQoKSB0YWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJU2NlbmFyaW9UYWdVaSB8IElUYWc+ID0gbmV3IEV2ZW50RW1pdHRlcjxJU2NlbmFyaW9UYWdVaSB8IElUYWc+KCk7XG4gICAgQE91dHB1dCgpIHRhZ1RvZ2dsZTogRXZlbnRFbWl0dGVyPElTY2VuYXJpb1RhZ1VpIHwgSVRhZz4gPSBuZXcgRXZlbnRFbWl0dGVyPElTY2VuYXJpb1RhZ1VpIHwgSVRhZz4oKTtcbiAgICBAT3V0cHV0KCkgc3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJVGFnW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxJVGFnW10+KCk7XG5cbiAgICBwcml2YXRlIHRhZ3NVaSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBnZXQgdGFnc1dpdGhTdWJUYWdzKCk6IElTY2VuYXJpb1RhZ1VpW10ge1xuICAgICAgICByZXR1cm4gX3JlZHVjZShcbiAgICAgICAgICAgIHRoaXMudGFnc1VpLFxuICAgICAgICAgICAgKGFjYywgY3VycjogSVNjZW5hcmlvVGFnVWkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY3Vycj8uc3ViVGFncz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjYy5wdXNoKGN1cnIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW10sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgdGFnc05vdFN1cHBvcnRpbmdEYXRlVGFnKCk6IElTY2VuYXJpb1RhZ1VpW10ge1xuICAgICAgICByZXR1cm4gX3JlZHVjZShcbiAgICAgICAgICAgIHRoaXMudGFnc1VpLFxuICAgICAgICAgICAgKGFjYywgY3VycjogSVNjZW5hcmlvVGFnVWkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY3Vycj8udHVybk9mZkRhdGVUYWdzKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjYy5wdXNoKGN1cnIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW10sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2NlbmFyaW9TZXJ2aWNlOiBTY2VuYXJpb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFnc0NvbnN0cnVjdG9yOiBUYWdzQ29uc3RydWN0b3JTZXJ2aWNlLFxuICAgICkge31cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU2NlbmFyaW9GbG93KSB7XG4gICAgICAgICAgICB0aGlzLmJ1aWxkVGFncygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uU3ViVGFnQ2hhbmdlKHRhZzogSVNjZW5hcmlvVGFnVWkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblN0YXRlQ2hhbmdlKCk7XG5cbiAgICAgICAgY29uc3QgdGFnVG9FbWl0OiBJU2NlbmFyaW9UYWdVaSB8IElUYWcgPSB0aGlzLmlzU2NlbmFyaW9GbG93ID8gdGFnIDogdGhpcy5nZXRUYWdzQ29uZmlnKFt0YWddKT8uWzBdO1xuICAgICAgICB0aGlzLnRhZ0NoYW5nZS5lbWl0KHRhZ1RvRW1pdCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVGFnVG9nZ2xlKHRhZzogSVNjZW5hcmlvVGFnVWkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzU2NlbmFyaW9GbG93KSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRhZ3NTdGF0ZSh0YWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vblN0YXRlQ2hhbmdlKCk7XG5cbiAgICAgICAgY29uc3QgdGFnVG9FbWl0OiBJU2NlbmFyaW9UYWdVaSB8IElUYWcgPSB0aGlzLmlzU2NlbmFyaW9GbG93ID8gdGFnIDogdGhpcy5nZXRUYWdzQ29uZmlnKFt0YWddKT8uWzBdO1xuICAgICAgICB0aGlzLnRhZ1RvZ2dsZS5lbWl0KHRhZ1RvRW1pdCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU3RhdGVDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhZ3NDb25maWcgPSB0aGlzLmdldFRhZ3NDb25maWcodGhpcy5jdXJyZW50VGFncyk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2UuZW1pdCh0YWdzQ29uZmlnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkVGFncygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWdzVWkgPSB0aGlzLnRhZ3NDb25zdHJ1Y3Rvci5idWlsZFRhZ3ModGhpcy50YWdzQ29uZmlnVG9EaXNwbGF5LCB0aGlzLnNlbGVjdGVkVGFnc0NvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWdzQ29uZmlnKGN1cnJlbnRUYWdzOiBJU2NlbmFyaW9UYWdVaVtdKTogSVRhZ1tdIHtcbiAgICAgICAgcmV0dXJuIF9maWx0ZXIodGhpcy50YWdzQ29uZmlnVG9EaXNwbGF5LCAodGFnQ29uZmlnKSA9PlxuICAgICAgICAgICAgX3NvbWUoY3VycmVudFRhZ3MsICh0YWcpID0+IHRhZy50b2dnbGUgJiYgdGFnLnNlbGVjdGVkVGFnU3ViVHlwZSA9PT0gdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVGFnc1N0YXRlKHRhZzogSVNjZW5hcmlvVGFnVWkpOiB2b2lkIHtcbiAgICAgICAgX2ZvckVhY2godGhpcy50YWdzV2l0aFN1YlRhZ3MsICh0YWdXaXRoU3ViVGFnKSA9PiB0aGlzLnNjZW5hcmlvU2VydmljZS50YWdBY2NlcHRhYmxlU3ViVGFnc0hhbmRsZXIodGFnLCB0YWdXaXRoU3ViVGFnKSk7XG5cbiAgICAgICAgX2ZvckVhY2godGhpcy50YWdzTm90U3VwcG9ydGluZ0RhdGVUYWcsICh0YWdOb3RTdXBwb3J0aW5nRGF0ZSkgPT4ge1xuICAgICAgICAgICAgX2ZvckVhY2godGhpcy50YWdzV2l0aFN1YlRhZ3MsICh0YWdXaXRoU3ViVGFnKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuc2NlbmFyaW9TZXJ2aWNlLnRhZ05vdFN1cHBvcnRpbmdEYXRlc0hhbmRsZXIodGFnLCB0YWdOb3RTdXBwb3J0aW5nRGF0ZSwgdGFnV2l0aFN1YlRhZyksXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGFncy1jb25zdHJ1Y3RvclwiPlxuICAgIDxwIGNsYXNzPVwidGFncy1jb25zdHJ1Y3Rvcl9fdGl0bGUtLWV4dHJhIHRhZ3MtY29uc3RydWN0b3JfX3RhZ3NfX3RpdGxlXCI+VGFnczwvcD5cbiAgICA8ZGl2IGNsYXNzPVwidGFncy1jb25zdHJ1Y3Rvcl9fdGFnXCIgKm5nRm9yPVwibGV0IHRhZyBvZiBjdXJyZW50VGFnc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy1jb25zdHJ1Y3Rvcl9fdGFnX19oZWFkZXJcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGFncy1jb25zdHJ1Y3Rvcl9fdGl0bGVcIj57eyB0YWcubmFtZSB9fTwvcD5cbiAgICAgICAgICAgIDxkci10b2dnbGUgWyhuZ01vZGVsKV09XCJ0YWcudG9nZ2xlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UYWdUb2dnbGUodGFnKVwiPjwvZHItdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRhZ3MtY29uc3RydWN0b3JfX3RhZ19fZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwidGFncy1jb25zdHJ1Y3Rvcl9fdGV4dFwiPnt7IHRhZy5kZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ0YWcudG9nZ2xlXCIgY2xhc3M9XCJ0YWdzLWNvbnN0cnVjdG9yX190YWdfX2JvZHlcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0YWcuc3ViVGFncz8ubGVuZ3RoXCIgY2xhc3M9XCJ0YWdzLWNvbnN0cnVjdG9yX19zdWItdGFnXCI+XG4gICAgICAgICAgICAgICAgPGRyLXRvZ2dsZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0YWcuc2VsZWN0ZWRUYWdTdWJUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgYmluZEhpZGRlbj1cImhpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBiaW5kVmFsdWU9XCJzdWJUeXBlXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cInRhZy5zdWJUYWdzXCJcbiAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwidG9nZ2xlQnV0dG9uTW9kZS5ET1RURURcIlxuICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblN1YlRhZ0NoYW5nZSh0YWcpXCI+PC9kci10b2dnbGUtYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|