@datarailsshared/datarailsshared 1.6.275 → 1.6.277

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 (86) hide show
  1. package/datarailsshared-datarailsshared-1.6.277.tgz +0 -0
  2. package/esm2022/lib/dr-inputs/date-pickers/dr-fiscal-month-calendar-picker/dr-fiscal-month-calendar-picker.component.mjs +2 -2
  3. package/esm2022/lib/dr-tags/_consts/scenario-tags-config.mjs +87 -0
  4. package/esm2022/lib/dr-tags/_interfaces/scenario.mjs +8 -0
  5. package/esm2022/lib/dr-tags/_services/scenario.service.mjs +195 -0
  6. package/esm2022/lib/dr-tags/_services/tags-constructor.service.mjs +71 -0
  7. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/any-tag.component.mjs +42 -0
  8. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-date.component.mjs +151 -0
  9. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-day/dr-tag-day.component.mjs +98 -0
  10. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-forecast/dr-tag-forecast.component.mjs +225 -0
  11. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-forecast/forecast-tag.service.mjs +87 -0
  12. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-month/dr-tag-month.component.mjs +101 -0
  13. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-quarter/dr-tag-quarter.component.mjs +129 -0
  14. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-week/dr-tag-week.component.mjs +105 -0
  15. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-year/dr-tag-year.component.mjs +99 -0
  16. package/esm2022/lib/dr-tags/dr-tag/dr-tag-dynamic/dr-tag-dynamic.component.mjs +230 -0
  17. package/esm2022/lib/dr-tags/dr-tag/dr-tag-list/dr-tag-list.component.mjs +85 -0
  18. package/esm2022/lib/dr-tags/dr-tag/dr-tag.component.mjs +241 -0
  19. package/esm2022/lib/dr-tags/dr-tag/dr-tag.types.mjs +2 -0
  20. package/esm2022/lib/dr-tags/dr-tags-and-scenario/dr-tags-and-scenario.component.mjs +103 -0
  21. package/esm2022/lib/dr-tags/dr-tags-and-scenario-constructor/dr-tags-and-scenario-constructor.component.mjs +107 -0
  22. package/esm2022/lib/dr-tags/dr-tags-constructor/dr-tags-constructor.component.mjs +164 -0
  23. package/esm2022/local-api.mjs +18 -25
  24. package/fesm2022/datarailsshared-datarailsshared.mjs +8634 -8736
  25. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
  26. package/lib/{dr-scenario/consts → dr-tags/_consts}/scenario-tags-config.d.ts +1 -1
  27. package/lib/{dr-scenario/services → dr-tags/_services}/scenario.service.d.ts +1 -1
  28. package/lib/{dr-tags-constructor → dr-tags/_services}/tags-constructor.service.d.ts +2 -2
  29. package/lib/{date-tags → dr-tags/dr-tag/dr-tag-date}/any-tag.component.d.ts +1 -1
  30. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-date.component.d.ts +18 -0
  31. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-day/dr-tag-day.component.d.ts +14 -0
  32. 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
  33. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-month/dr-tag-month.component.d.ts +14 -0
  34. 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
  35. 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
  36. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-year/dr-tag-year.component.d.ts +14 -0
  37. 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
  38. package/lib/dr-tags/dr-tag/dr-tag-list/dr-tag-list.component.d.ts +15 -0
  39. package/lib/dr-tags/{dr-tag.component.d.ts → dr-tag/dr-tag.component.d.ts} +2 -2
  40. package/lib/dr-tags/dr-tags-and-scenario/dr-tags-and-scenario.component.d.ts +31 -0
  41. 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
  42. package/lib/{dr-tags-constructor → dr-tags/dr-tags-constructor}/dr-tags-constructor.component.d.ts +6 -6
  43. package/local-api.d.ts +17 -24
  44. package/package.json +1 -1
  45. package/datarailsshared-datarailsshared-1.6.275.tgz +0 -0
  46. package/esm2022/lib/date-tags/any-tag.component.mjs +0 -42
  47. package/esm2022/lib/date-tags/date-tag.component.mjs +0 -131
  48. package/esm2022/lib/date-tags/date-tag.module.mjs +0 -53
  49. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +0 -95
  50. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +0 -222
  51. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +0 -87
  52. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +0 -98
  53. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +0 -126
  54. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +0 -102
  55. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +0 -96
  56. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +0 -227
  57. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +0 -21
  58. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +0 -104
  59. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +0 -100
  60. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +0 -87
  61. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +0 -27
  62. package/esm2022/lib/dr-scenario/interfaces/scenario.mjs +0 -8
  63. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +0 -195
  64. package/esm2022/lib/dr-tags/dr-tag.component.mjs +0 -240
  65. package/esm2022/lib/dr-tags/dr-tag.module.mjs +0 -23
  66. package/esm2022/lib/dr-tags/dr-tag.types.mjs +0 -2
  67. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +0 -161
  68. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +0 -24
  69. package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +0 -71
  70. package/esm2022/lib/list-tags/list-tag.component.mjs +0 -82
  71. package/esm2022/lib/list-tags/list-tag.module.mjs +0 -22
  72. package/lib/date-tags/date-tag.component.d.ts +0 -18
  73. package/lib/date-tags/date-tag.module.d.ts +0 -21
  74. package/lib/date-tags/day-tag/day-tag.component.d.ts +0 -14
  75. package/lib/date-tags/month-tag/month-tag.component.d.ts +0 -14
  76. package/lib/date-tags/year-tag/year-tag.component.d.ts +0 -14
  77. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +0 -10
  78. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +0 -31
  79. package/lib/dr-scenario/dr-scenario.module.d.ts +0 -13
  80. package/lib/dr-tags/dr-tag.module.d.ts +0 -11
  81. package/lib/dr-tags-constructor/dr-tags-constructor.module.d.ts +0 -10
  82. package/lib/list-tags/list-tag.component.d.ts +0 -15
  83. package/lib/list-tags/list-tag.module.d.ts +0 -10
  84. /package/lib/{dr-scenario/interfaces → dr-tags/_interfaces}/scenario.d.ts +0 -0
  85. /package/lib/{date-tags/forecast-tag → dr-tags/dr-tag/dr-tag-date/dr-tag-forecast}/forecast-tag.service.d.ts +0 -0
  86. /package/lib/dr-tags/{dr-tag.types.d.ts → dr-tag/dr-tag.types.d.ts} +0 -0
@@ -1,23 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { DrTagComponent } from './dr-tag.component';
4
- import { ListTagModule } from '../list-tags/list-tag.module';
5
- import { DateTagModule } from '../date-tags/date-tag.module';
6
- import { DrDynamicTagModule } from '../dr-dynamic-tag/dr-dynamic-tag.module';
7
- import * as i0 from "@angular/core";
8
- export class DrTagModule {
9
- /** @nocollapse */ static { this.ɵfac = function DrTagModule_Factory(t) { return new (t || DrTagModule)(); }; }
10
- /** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrTagModule }); }
11
- /** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [CommonModule, DateTagModule, ListTagModule, DrDynamicTagModule] }); }
12
- }
13
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrTagModule, [{
14
- type: NgModule,
15
- args: [{
16
- imports: [CommonModule, DateTagModule, ListTagModule, DrDynamicTagModule],
17
- exports: [DrTagComponent],
18
- providers: [],
19
- declarations: [DrTagComponent],
20
- }]
21
- }], null, null); })();
22
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrTagModule, { declarations: [DrTagComponent], imports: [CommonModule, DateTagModule, ListTagModule, DrDynamicTagModule], exports: [DrTagComponent] }); })();
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXRhZ3MvZHItdGFnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFRN0UsTUFBTSxPQUFPLFdBQVc7K0ZBQVgsV0FBVztrR0FBWCxXQUFXO3NHQUxWLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGtCQUFrQjs7dUZBSy9ELFdBQVc7Y0FOdkIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDO2dCQUN6RSxPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSxFQUFFO2dCQUNiLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQzthQUNqQzs7d0ZBQ1ksV0FBVyxtQkFGTCxjQUFjLGFBSG5CLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixhQUM5RCxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEclRhZ0NvbXBvbmVudCB9IGZyb20gJy4vZHItdGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0VGFnTW9kdWxlIH0gZnJvbSAnLi4vbGlzdC10YWdzL2xpc3QtdGFnLm1vZHVsZSc7XG5pbXBvcnQgeyBEYXRlVGFnTW9kdWxlIH0gZnJvbSAnLi4vZGF0ZS10YWdzL2RhdGUtdGFnLm1vZHVsZSc7XG5pbXBvcnQgeyBEckR5bmFtaWNUYWdNb2R1bGUgfSBmcm9tICcuLi9kci1keW5hbWljLXRhZy9kci1keW5hbWljLXRhZy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERhdGVUYWdNb2R1bGUsIExpc3RUYWdNb2R1bGUsIERyRHluYW1pY1RhZ01vZHVsZV0sXG4gICAgZXhwb3J0czogW0RyVGFnQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtdLFxuICAgIGRlY2xhcmF0aW9uczogW0RyVGFnQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJUYWdNb2R1bGUge31cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFnLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy9kci10YWcudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVRhZ0FkZGl0aW9uYWxTZXR0aW5ncyB7XG4gICAgdGFnTGFiZWw/OiBzdHJpbmc7XG4gICAgY3VzdG9tRHluYW1pY1RhZ0xhYmVsPzogc3RyaW5nO1xuICAgIGN1c3RvbURhdGVUYWdMYWJlbD86IHN0cmluZztcbiAgICBzaG93U3BsaXREeW5hbWljVGFnSW5wdXRzPzogYm9vbGVhbjtcbiAgICBzaG93U3BsaXREYXRlQW5kRHluYW1pY0lucHV0cz86IGJvb2xlYW47XG4gICAgaGlkZUZhdm9yaXRlU3Rhcj86IGJvb2xlYW47XG4gICAgZHluYW1pY1RhZ1BhcmVudEtleUZvcm1hdD86IHN0cmluZztcbiAgICBkeW5hbWljVGFnUGFyZW50S2V5Rm9ybWF0dGVyRm4/OiAobW9tZW50RGF0YSkgPT4gc3RyaW5nO1xuICAgIGhpZGVEeW5hbWljVGFnTGFiZWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNdWx0aXBsZUxvY2tlZFRhZyB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBwYXJlbnRfdGFnX3ZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,161 +0,0 @@
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 '../dr-scenario/services/scenario.service';
5
- import { TagsConstructorService } from './tags-constructor.service';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../dr-scenario/services/scenario.service";
8
- import * as i2 from "./tags-constructor.service";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "../dr-inputs/dr-toggle/dr-toggle.component";
11
- import * as i5 from "../dr-inputs/dr-toggle-button/dr-toggle-button.component";
12
- import * as i6 from "@angular/forms";
13
- function DrTagsConstructorComponent_div_3_div_8_div_1_Template(rf, ctx) { if (rf & 1) {
14
- const _r6 = i0.ɵɵgetCurrentView();
15
- i0.ɵɵelementStart(0, "div", 12)(1, "dr-toggle-button", 13);
16
- 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)); });
17
- i0.ɵɵelementEnd()();
18
- } if (rf & 2) {
19
- const tag_r1 = i0.ɵɵnextContext(2).$implicit;
20
- const ctx_r3 = i0.ɵɵnextContext();
21
- i0.ɵɵadvance(1);
22
- i0.ɵɵproperty("ngModel", tag_r1.selectedTagSubType)("items", tag_r1.subTags)("mode", ctx_r3.toggleButtonMode.DOTTED);
23
- } }
24
- function DrTagsConstructorComponent_div_3_div_8_Template(rf, ctx) { if (rf & 1) {
25
- i0.ɵɵelementStart(0, "div", 10);
26
- i0.ɵɵtemplate(1, DrTagsConstructorComponent_div_3_div_8_div_1_Template, 2, 3, "div", 11);
27
- i0.ɵɵelementEnd();
28
- } if (rf & 2) {
29
- const tag_r1 = i0.ɵɵnextContext().$implicit;
30
- i0.ɵɵadvance(1);
31
- i0.ɵɵproperty("ngIf", tag_r1.subTags == null ? null : tag_r1.subTags.length);
32
- } }
33
- function DrTagsConstructorComponent_div_3_Template(rf, ctx) { if (rf & 1) {
34
- const _r12 = i0.ɵɵgetCurrentView();
35
- i0.ɵɵelementStart(0, "div", 3)(1, "div", 4)(2, "p", 5);
36
- i0.ɵɵtext(3);
37
- i0.ɵɵelementEnd();
38
- i0.ɵɵelementStart(4, "dr-toggle", 6);
39
- 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)); });
40
- i0.ɵɵelementEnd()();
41
- i0.ɵɵelementStart(5, "div", 7)(6, "p", 8);
42
- i0.ɵɵtext(7);
43
- i0.ɵɵelementEnd()();
44
- i0.ɵɵtemplate(8, DrTagsConstructorComponent_div_3_div_8_Template, 2, 1, "div", 9);
45
- i0.ɵɵelementEnd();
46
- } if (rf & 2) {
47
- const tag_r1 = ctx.$implicit;
48
- i0.ɵɵadvance(3);
49
- i0.ɵɵtextInterpolate(tag_r1.name);
50
- i0.ɵɵadvance(1);
51
- i0.ɵɵproperty("ngModel", tag_r1.toggle);
52
- i0.ɵɵadvance(3);
53
- i0.ɵɵtextInterpolate(tag_r1.description);
54
- i0.ɵɵadvance(1);
55
- i0.ɵɵproperty("ngIf", tag_r1.toggle);
56
- } }
57
- export class DrTagsConstructorComponent {
58
- get currentTags() {
59
- return this.scenarioTagsConfig || this.tagsUi;
60
- }
61
- get isScenarioFlow() {
62
- return !!this.scenarioTagsConfig;
63
- }
64
- get tagsWithSubTags() {
65
- return _reduce(this.tagsUi, (acc, curr) => {
66
- if (curr?.subTags?.length) {
67
- acc.push(curr);
68
- }
69
- return acc;
70
- }, []);
71
- }
72
- get tagsNotSupportingDateTag() {
73
- return _reduce(this.tagsUi, (acc, curr) => {
74
- if (curr?.turnOffDateTags) {
75
- acc.push(curr);
76
- }
77
- return acc;
78
- }, []);
79
- }
80
- constructor(scenarioService, tagsConstructor) {
81
- this.scenarioService = scenarioService;
82
- this.tagsConstructor = tagsConstructor;
83
- this.toggleButtonMode = ToggleButtonMode;
84
- /*
85
- * Used for display provided tagsConfig
86
- * (for scenario flow, use this input to get tagsConfig data on stateChange emit)
87
- * */
88
- this.tagsConfigToDisplay = [];
89
- /*
90
- * Used for toggle on provided tagsConfig
91
- * (not related to scenario flow)
92
- * */
93
- this.selectedTagsConfig = [];
94
- this.tagChange = new EventEmitter();
95
- this.tagToggle = new EventEmitter();
96
- this.stateChange = new EventEmitter();
97
- this.tagsUi = [];
98
- }
99
- ngOnInit() {
100
- if (!this.isScenarioFlow) {
101
- this.buildTags();
102
- }
103
- }
104
- onSubTagChange(tag) {
105
- this.onStateChange();
106
- const tagToEmit = this.isScenarioFlow ? tag : this.getTagsConfig([tag])?.[0];
107
- this.tagChange.emit(tagToEmit);
108
- }
109
- onTagToggle(tag) {
110
- if (!this.isScenarioFlow) {
111
- this.updateTagsState(tag);
112
- }
113
- this.onStateChange();
114
- const tagToEmit = this.isScenarioFlow ? tag : this.getTagsConfig([tag])?.[0];
115
- this.tagToggle.emit(tagToEmit);
116
- }
117
- onStateChange() {
118
- const tagsConfig = this.getTagsConfig(this.currentTags);
119
- this.stateChange.emit(tagsConfig);
120
- }
121
- buildTags() {
122
- this.tagsUi = this.tagsConstructor.buildTags(this.tagsConfigToDisplay, this.selectedTagsConfig);
123
- }
124
- getTagsConfig(currentTags) {
125
- return _filter(this.tagsConfigToDisplay, (tagConfig) => _some(currentTags, (tag) => tag.toggle && tag.selectedTagSubType === tagConfig.options.sub_type));
126
- }
127
- updateTagsState(tag) {
128
- _forEach(this.tagsWithSubTags, (tagWithSubTag) => this.scenarioService.tagAcceptableSubTagsHandler(tag, tagWithSubTag));
129
- _forEach(this.tagsNotSupportingDateTag, (tagNotSupportingDate) => {
130
- _forEach(this.tagsWithSubTags, (tagWithSubTag) => this.scenarioService.tagNotSupportingDatesHandler(tag, tagNotSupportingDate, tagWithSubTag));
131
- });
132
- }
133
- /** @nocollapse */ static { this.ɵfac = function DrTagsConstructorComponent_Factory(t) { return new (t || DrTagsConstructorComponent)(i0.ɵɵdirectiveInject(i1.ScenarioService), i0.ɵɵdirectiveInject(i2.TagsConstructorService)); }; }
134
- /** @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" }, 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) {
135
- i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
136
- i0.ɵɵtext(2, "Tags");
137
- i0.ɵɵelementEnd();
138
- i0.ɵɵtemplate(3, DrTagsConstructorComponent_div_3_Template, 9, 4, "div", 2);
139
- i0.ɵɵelementEnd();
140
- } if (rf & 2) {
141
- i0.ɵɵadvance(3);
142
- i0.ɵɵproperty("ngForOf", ctx.currentTags);
143
- } }, dependencies: [i3.NgForOf, i3.NgIf, i4.DrToggleComponent, i5.DrToggleButtonComponent, 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}"] }); }
144
- }
145
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrTagsConstructorComponent, [{
146
- type: Component,
147
- args: [{ selector: 'dr-tags-constructor', 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"] }]
148
- }], function () { return [{ type: i1.ScenarioService }, { type: i2.TagsConstructorService }]; }, { scenarioTagsConfig: [{
149
- type: Input
150
- }], tagsConfigToDisplay: [{
151
- type: Input
152
- }], selectedTagsConfig: [{
153
- type: Input
154
- }], tagChange: [{
155
- type: Output
156
- }], tagToggle: [{
157
- type: Output
158
- }], stateChange: [{
159
- type: Output
160
- }] }); })();
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL2RyLXRhZ3MtY29uc3RydWN0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy1jb25zdHJ1Y3Rvci9kci10YWdzLWNvbnN0cnVjdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFcEYsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0lDS3hELCtCQUFtRSwyQkFBQTtJQUUzRCw4TkFBYSxrREFDM0IsSUFEa0QsOE9BTW5CLGVBQUEsNkJBQW1CLENBQUEsSUFOQTtJQU1FLGlCQUFtQixFQUFBOzs7O0lBTnpELGVBQW9DO0lBQXBDLG1EQUFvQyx5QkFBQSx3Q0FBQTs7O0lBSGhELCtCQUE0RDtJQUN4RCx3RkFTTTtJQUNWLGlCQUFNOzs7SUFWSSxlQUF5QjtJQUF6Qiw0RUFBeUI7Ozs7SUFUdkMsOEJBQW1FLGFBQUEsV0FBQTtJQUV4QixZQUFjO0lBQUEsaUJBQUk7SUFDckQsb0NBQXVFO0lBQTVELHdO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QUUsYUFBYSxDQUFDLENBQzlGLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBbkhRLDBCQUEwQjttR0FBMUIsMEJBQTBCO1lDYnZDLDhCQUE4QixXQUFBO1lBQzhDLG9CQUFJO1lBQUEsaUJBQUk7WUFDaEYsMkVBb0JNO1lBQ1YsaUJBQU07O1lBckJpRCxlQUFjO1lBQWQseUNBQWM7Ozt1RkRXeEQsMEJBQTBCO2NBTHRDLFNBQVM7MkJBQ0kscUJBQXFCO3VHQW1CdEIsa0JBQWtCO2tCQUExQixLQUFLO1lBTUcsbUJBQW1CO2tCQUEzQixLQUFLO1lBTUcsa0JBQWtCO2tCQUExQixLQUFLO1lBRUksU0FBUztrQkFBbEIsTUFBTTtZQUNHLFNBQVM7a0JBQWxCLE1BQU07WUFDRyxXQUFXO2tCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVNjZW5hcmlvVGFnVWkgfSBmcm9tICcuLi9kci1zY2VuYXJpby9pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmltcG9ydCB7IFRvZ2dsZUJ1dHRvbk1vZGUgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLW1vZGUnO1xuaW1wb3J0IHsgSVRhZyB9IGZyb20gJy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCB7IHJlZHVjZSBhcyBfcmVkdWNlLCBzb21lIGFzIF9zb21lLCBmaWx0ZXIgYXMgX2ZpbHRlciwgZm9yRWFjaCBhcyBfZm9yRWFjaCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTY2VuYXJpb1NlcnZpY2UgfSBmcm9tICcuLi9kci1zY2VuYXJpby9zZXJ2aWNlcy9zY2VuYXJpby5zZXJ2aWNlJztcbmltcG9ydCB7IFRhZ3NDb25zdHJ1Y3RvclNlcnZpY2UgfSBmcm9tICcuL3RhZ3MtY29uc3RydWN0b3Iuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItdGFncy1jb25zdHJ1Y3RvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLXRhZ3MtY29uc3RydWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RyLXRhZ3MtY29uc3RydWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJUYWdzQ29uc3RydWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyByZWFkb25seSB0b2dnbGVCdXR0b25Nb2RlID0gVG9nZ2xlQnV0dG9uTW9kZTtcblxuICAgIHB1YmxpYyBnZXQgY3VycmVudFRhZ3MoKTogSVNjZW5hcmlvVGFnVWlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNjZW5hcmlvVGFnc0NvbmZpZyB8fCB0aGlzLnRhZ3NVaTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzU2NlbmFyaW9GbG93KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnNjZW5hcmlvVGFnc0NvbmZpZztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFVzZWQgb25seSBmb3Igc2NlbmFyaW8gZmxvdyAoZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbiB0YWcpXG4gICAgICogKG9ubHkgdGhpcyBpbnB1dCBuZWNlc3NhcnkgZm9yIHNjZW5hcmlvIGZsb3cpXG4gICAgICogKi9cbiAgICBASW5wdXQoKSBzY2VuYXJpb1RhZ3NDb25maWc6IElTY2VuYXJpb1RhZ1VpW107XG5cbiAgICAvKlxuICAgICAqIFVzZWQgZm9yIGRpc3BsYXkgcHJvdmlkZWQgdGFnc0NvbmZpZ1xuICAgICAqIChmb3Igc2NlbmFyaW8gZmxvdywgdXNlIHRoaXMgaW5wdXQgdG8gZ2V0IHRhZ3NDb25maWcgZGF0YSBvbiBzdGF0ZUNoYW5nZSBlbWl0KVxuICAgICAqICovXG4gICAgQElucHV0KCkgdGFnc0NvbmZpZ1RvRGlzcGxheTogSVRhZ1tdID0gW107XG5cbiAgICAvKlxuICAgICAqIFVzZWQgZm9yIHRvZ2dsZSBvbiBwcm92aWRlZCB0YWdzQ29uZmlnXG4gICAgICogKG5vdCByZWxhdGVkIHRvIHNjZW5hcmlvIGZsb3cpXG4gICAgICogKi9cbiAgICBASW5wdXQoKSBzZWxlY3RlZFRhZ3NDb25maWc6IElUYWdbXSA9IFtdO1xuXG4gICAgQE91dHB1dCgpIHRhZ0NoYW5nZTogRXZlbnRFbWl0dGVyPElTY2VuYXJpb1RhZ1VpIHwgSVRhZz4gPSBuZXcgRXZlbnRFbWl0dGVyPElTY2VuYXJpb1RhZ1VpIHwgSVRhZz4oKTtcbiAgICBAT3V0cHV0KCkgdGFnVG9nZ2xlOiBFdmVudEVtaXR0ZXI8SVNjZW5hcmlvVGFnVWkgfCBJVGFnPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVNjZW5hcmlvVGFnVWkgfCBJVGFnPigpO1xuICAgIEBPdXRwdXQoKSBzdGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElUYWdbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPElUYWdbXT4oKTtcblxuICAgIHByaXZhdGUgdGFnc1VpID0gW107XG5cbiAgICBwcml2YXRlIGdldCB0YWdzV2l0aFN1YlRhZ3MoKTogSVNjZW5hcmlvVGFnVWlbXSB7XG4gICAgICAgIHJldHVybiBfcmVkdWNlKFxuICAgICAgICAgICAgdGhpcy50YWdzVWksXG4gICAgICAgICAgICAoYWNjLCBjdXJyOiBJU2NlbmFyaW9UYWdVaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyPy5zdWJUYWdzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2goY3Vycik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0YWdzTm90U3VwcG9ydGluZ0RhdGVUYWcoKTogSVNjZW5hcmlvVGFnVWlbXSB7XG4gICAgICAgIHJldHVybiBfcmVkdWNlKFxuICAgICAgICAgICAgdGhpcy50YWdzVWksXG4gICAgICAgICAgICAoYWNjLCBjdXJyOiBJU2NlbmFyaW9UYWdVaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyPy50dXJuT2ZmRGF0ZVRhZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgYWNjLnB1c2goY3Vycik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzY2VuYXJpb1NlcnZpY2U6IFNjZW5hcmlvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0YWdzQ29uc3RydWN0b3I6IFRhZ3NDb25zdHJ1Y3RvclNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNTY2VuYXJpb0Zsb3cpIHtcbiAgICAgICAgICAgIHRoaXMuYnVpbGRUYWdzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25TdWJUYWdDaGFuZ2UodGFnOiBJU2NlbmFyaW9UYWdVaSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uU3RhdGVDaGFuZ2UoKTtcblxuICAgICAgICBjb25zdCB0YWdUb0VtaXQ6IElTY2VuYXJpb1RhZ1VpIHwgSVRhZyA9IHRoaXMuaXNTY2VuYXJpb0Zsb3cgPyB0YWcgOiB0aGlzLmdldFRhZ3NDb25maWcoW3RhZ10pPy5bMF07XG4gICAgICAgIHRoaXMudGFnQ2hhbmdlLmVtaXQodGFnVG9FbWl0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWdUb2dnbGUodGFnOiBJU2NlbmFyaW9UYWdVaSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNTY2VuYXJpb0Zsb3cpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGFnc1N0YXRlKHRhZyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uU3RhdGVDaGFuZ2UoKTtcblxuICAgICAgICBjb25zdCB0YWdUb0VtaXQ6IElTY2VuYXJpb1RhZ1VpIHwgSVRhZyA9IHRoaXMuaXNTY2VuYXJpb0Zsb3cgPyB0YWcgOiB0aGlzLmdldFRhZ3NDb25maWcoW3RhZ10pPy5bMF07XG4gICAgICAgIHRoaXMudGFnVG9nZ2xlLmVtaXQodGFnVG9FbWl0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TdGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFnc0NvbmZpZyA9IHRoaXMuZ2V0VGFnc0NvbmZpZyh0aGlzLmN1cnJlbnRUYWdzKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZS5lbWl0KHRhZ3NDb25maWcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRUYWdzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhZ3NVaSA9IHRoaXMudGFnc0NvbnN0cnVjdG9yLmJ1aWxkVGFncyh0aGlzLnRhZ3NDb25maWdUb0Rpc3BsYXksIHRoaXMuc2VsZWN0ZWRUYWdzQ29uZmlnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRhZ3NDb25maWcoY3VycmVudFRhZ3M6IElTY2VuYXJpb1RhZ1VpW10pOiBJVGFnW10ge1xuICAgICAgICByZXR1cm4gX2ZpbHRlcih0aGlzLnRhZ3NDb25maWdUb0Rpc3BsYXksICh0YWdDb25maWcpID0+XG4gICAgICAgICAgICBfc29tZShjdXJyZW50VGFncywgKHRhZykgPT4gdGFnLnRvZ2dsZSAmJiB0YWcuc2VsZWN0ZWRUYWdTdWJUeXBlID09PSB0YWdDb25maWcub3B0aW9ucy5zdWJfdHlwZSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUYWdzU3RhdGUodGFnOiBJU2NlbmFyaW9UYWdVaSk6IHZvaWQge1xuICAgICAgICBfZm9yRWFjaCh0aGlzLnRhZ3NXaXRoU3ViVGFncywgKHRhZ1dpdGhTdWJUYWcpID0+IHRoaXMuc2NlbmFyaW9TZXJ2aWNlLnRhZ0FjY2VwdGFibGVTdWJUYWdzSGFuZGxlcih0YWcsIHRhZ1dpdGhTdWJUYWcpKTtcblxuICAgICAgICBfZm9yRWFjaCh0aGlzLnRhZ3NOb3RTdXBwb3J0aW5nRGF0ZVRhZywgKHRhZ05vdFN1cHBvcnRpbmdEYXRlKSA9PiB7XG4gICAgICAgICAgICBfZm9yRWFjaCh0aGlzLnRhZ3NXaXRoU3ViVGFncywgKHRhZ1dpdGhTdWJUYWcpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zY2VuYXJpb1NlcnZpY2UudGFnTm90U3VwcG9ydGluZ0RhdGVzSGFuZGxlcih0YWcsIHRhZ05vdFN1cHBvcnRpbmdEYXRlLCB0YWdXaXRoU3ViVGFnKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0YWdzLWNvbnN0cnVjdG9yXCI+XG4gICAgPHAgY2xhc3M9XCJ0YWdzLWNvbnN0cnVjdG9yX190aXRsZS0tZXh0cmEgdGFncy1jb25zdHJ1Y3Rvcl9fdGFnc19fdGl0bGVcIj5UYWdzPC9wPlxuICAgIDxkaXYgY2xhc3M9XCJ0YWdzLWNvbnN0cnVjdG9yX190YWdcIiAqbmdGb3I9XCJsZXQgdGFnIG9mIGN1cnJlbnRUYWdzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0YWdzLWNvbnN0cnVjdG9yX190YWdfX2hlYWRlclwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0YWdzLWNvbnN0cnVjdG9yX190aXRsZVwiPnt7IHRhZy5uYW1lIH19PC9wPlxuICAgICAgICAgICAgPGRyLXRvZ2dsZSBbKG5nTW9kZWwpXT1cInRhZy50b2dnbGVcIiAobmdNb2RlbENoYW5nZSk9XCJvblRhZ1RvZ2dsZSh0YWcpXCI+PC9kci10b2dnbGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFncy1jb25zdHJ1Y3Rvcl9fdGFnX19kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJ0YWdzLWNvbnN0cnVjdG9yX190ZXh0XCI+e3sgdGFnLmRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInRhZy50b2dnbGVcIiBjbGFzcz1cInRhZ3MtY29uc3RydWN0b3JfX3RhZ19fYm9keVwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInRhZy5zdWJUYWdzPy5sZW5ndGhcIiBjbGFzcz1cInRhZ3MtY29uc3RydWN0b3JfX3N1Yi10YWdcIj5cbiAgICAgICAgICAgICAgICA8ZHItdG9nZ2xlLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZy5zZWxlY3RlZFRhZ1N1YlR5cGVcIlxuICAgICAgICAgICAgICAgICAgICBiaW5kSGlkZGVuPVwiaGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGJpbmRWYWx1ZT1cInN1YlR5cGVcIlxuICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidGFnLnN1YlRhZ3NcIlxuICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJ0b2dnbGVCdXR0b25Nb2RlLkRPVFRFRFwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU3ViVGFnQ2hhbmdlKHRhZylcIj48L2RyLXRvZ2dsZS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
4
- import { DrTagsConstructorComponent } from './dr-tags-constructor.component';
5
- import { FormsModule } from '@angular/forms';
6
- import { ScenarioService } from '../dr-scenario/services/scenario.service';
7
- import { TagsConstructorService } from './tags-constructor.service';
8
- import * as i0 from "@angular/core";
9
- export class DrTagsConstructorModule {
10
- /** @nocollapse */ static { this.ɵfac = function DrTagsConstructorModule_Factory(t) { return new (t || DrTagsConstructorModule)(); }; }
11
- /** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrTagsConstructorModule }); }
12
- /** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ providers: [ScenarioService, TagsConstructorService], imports: [CommonModule, DrInputsModule, FormsModule] }); }
13
- }
14
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrTagsConstructorModule, [{
15
- type: NgModule,
16
- args: [{
17
- declarations: [DrTagsConstructorComponent],
18
- imports: [CommonModule, DrInputsModule, FormsModule],
19
- providers: [ScenarioService, TagsConstructorService],
20
- exports: [DrTagsConstructorComponent],
21
- }]
22
- }], null, null); })();
23
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrTagsConstructorModule, { declarations: [DrTagsConstructorComponent], imports: [CommonModule, DrInputsModule, FormsModule], exports: [DrTagsConstructorComponent] }); })();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItdGFncy1jb25zdHJ1Y3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL2RyLXRhZ3MtY29uc3RydWN0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVFwRSxNQUFNLE9BQU8sdUJBQXVCOzJHQUF2Qix1QkFBdUI7a0dBQXZCLHVCQUF1Qjt1R0FIckIsQ0FBQyxlQUFlLEVBQUUsc0JBQXNCLENBQUMsWUFEMUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXOzt1RkFJMUMsdUJBQXVCO2NBTm5DLFFBQVE7ZUFBQztnQkFDTixZQUFZLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztnQkFDMUMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLENBQUM7Z0JBQ3BELFNBQVMsRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsQ0FBQztnQkFDcEQsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7YUFDeEM7O3dGQUNZLHVCQUF1QixtQkFMakIsMEJBQTBCLGFBQy9CLFlBQVksRUFBRSxjQUFjLEVBQUUsV0FBVyxhQUV6QywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERySW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vZHItaW5wdXRzL2RyLWlucHV0cy5tb2R1bGUnO1xuaW1wb3J0IHsgRHJUYWdzQ29uc3RydWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2RyLXRhZ3MtY29uc3RydWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2NlbmFyaW9TZXJ2aWNlIH0gZnJvbSAnLi4vZHItc2NlbmFyaW8vc2VydmljZXMvc2NlbmFyaW8uc2VydmljZSc7XG5pbXBvcnQgeyBUYWdzQ29uc3RydWN0b3JTZXJ2aWNlIH0gZnJvbSAnLi90YWdzLWNvbnN0cnVjdG9yLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW0RyVGFnc0NvbnN0cnVjdG9yQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEcklucHV0c01vZHVsZSwgRm9ybXNNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW1NjZW5hcmlvU2VydmljZSwgVGFnc0NvbnN0cnVjdG9yU2VydmljZV0sXG4gICAgZXhwb3J0czogW0RyVGFnc0NvbnN0cnVjdG9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRHJUYWdzQ29uc3RydWN0b3JNb2R1bGUge31cbiJdfQ==
@@ -1,71 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { TagsConfigSubType, TagTypes } from '../models/serverTags';
3
- import { find as _find, reduce as _reduce, some as _some } from 'lodash';
4
- import { ScenarioService } from '../dr-scenario/services/scenario.service';
5
- import * as i0 from "@angular/core";
6
- export class TagsConstructorService {
7
- constructor() {
8
- this.tagsNotSupportingDatesTag = [TagsConfigSubType.PLAN];
9
- this.tagsAcceptableSubTags = {
10
- [TagsConfigSubType.BUDGET_CYCLE]: [TagsConfigSubType.YEAR],
11
- };
12
- }
13
- buildTags(tagsConfigToDisplay, selectedTagsConfig) {
14
- return _reduce(tagsConfigToDisplay, (acc, tagConfig) => {
15
- const isTagWithSubTags = tagConfig.type === TagTypes.DATE && tagConfig.options.sub_type !== TagsConfigSubType.FORECAST_NEW;
16
- const tagWithSubTags = isTagWithSubTags && _find(acc, { type: tagConfig.type });
17
- const tag = tagWithSubTags || this.prepareTag(tagConfig, selectedTagsConfig, isTagWithSubTags);
18
- if (isTagWithSubTags) {
19
- this.updateSubTags(tag, tagConfig, selectedTagsConfig);
20
- tag.subTags = ScenarioService.sortedSubTags(tag);
21
- }
22
- if (tagWithSubTags)
23
- return acc;
24
- acc.push(tag);
25
- return acc;
26
- }, []);
27
- }
28
- updateSubTags(tag, tagConfig, selectedTagsConfig) {
29
- const tagSubType = tagConfig.options.sub_type;
30
- if (tagSubType === TagsConfigSubType.FORECAST_NEW)
31
- return;
32
- if (!tag.subTags) {
33
- tag.subTags = [];
34
- }
35
- tag.name = 'Date';
36
- const enabledTagSubType = _find(selectedTagsConfig, (_tagConfig) => _tagConfig.options.sub_type === tagSubType)?.options
37
- ?.sub_type;
38
- tag.toggle = !!enabledTagSubType || tag.toggle;
39
- if (tag.toggle && enabledTagSubType) {
40
- tag.selectedTagSubType = tagSubType;
41
- }
42
- tag.subTags.push({
43
- subType: tagSubType,
44
- name: tagConfig.name,
45
- });
46
- }
47
- prepareTag(tagConfig, selectedTagsConfig, isTagWithSubTags) {
48
- const selectedTagSubType = isTagWithSubTags ? TagsConfigSubType.MONTH : tagConfig.options.sub_type;
49
- const toggleStatus = _some(selectedTagsConfig, (_tagConfig) => _tagConfig.options.sub_type === selectedTagSubType);
50
- const tag = {
51
- toggle: toggleStatus,
52
- name: tagConfig.name,
53
- description: tagConfig.description,
54
- type: tagConfig.type,
55
- selectedTagSubType,
56
- };
57
- if (this.tagsNotSupportingDatesTag.includes(selectedTagSubType)) {
58
- tag.turnOffDateTags = true;
59
- }
60
- if (this.tagsAcceptableSubTags[selectedTagSubType]) {
61
- tag.acceptableSubTags = this.tagsAcceptableSubTags[selectedTagSubType];
62
- }
63
- return tag;
64
- }
65
- /** @nocollapse */ static { this.ɵfac = function TagsConstructorService_Factory(t) { return new (t || TagsConstructorService)(); }; }
66
- /** @nocollapse */ static { this.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: TagsConstructorService, factory: TagsConstructorService.ɵfac }); }
67
- }
68
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TagsConstructorService, [{
69
- type: Injectable
70
- }], null, null); })();
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy1jb25zdHJ1Y3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItdGFncy1jb25zdHJ1Y3Rvci90YWdzLWNvbnN0cnVjdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVEsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFJM0UsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVxQiw4QkFBeUIsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELDBCQUFxQixHQUFHO1lBQ3JDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7U0FDN0QsQ0FBQztLQXVFTDtJQXJFVSxTQUFTLENBQUMsbUJBQTJCLEVBQUUsa0JBQTBCO1FBQ3BFLE9BQU8sT0FBTyxDQUNWLG1CQUFtQixFQUNuQixDQUFDLEdBQUcsRUFBRSxTQUFlLEVBQUUsRUFBRTtZQUNyQixNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7WUFDM0gsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUVoRixNQUFNLEdBQUcsR0FBRyxjQUFjLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUUvRixJQUFJLGdCQUFnQixFQUFFO2dCQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDdkQsR0FBRyxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BEO1lBRUQsSUFBSSxjQUFjO2dCQUFFLE9BQU8sR0FBRyxDQUFDO1lBRS9CLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDZCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFDRCxFQUFFLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyxhQUFhLENBQUMsR0FBbUIsRUFBRSxTQUFlLEVBQUUsa0JBQTBCO1FBQ2xGLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzlDLElBQUksVUFBVSxLQUFLLGlCQUFpQixDQUFDLFlBQVk7WUFBRSxPQUFPO1FBRTFELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFO1lBQ2QsR0FBRyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDcEI7UUFFRCxHQUFHLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUVsQixNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLEVBQUUsT0FBTztZQUNwSCxFQUFFLFFBQVEsQ0FBQztRQUNmLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFFL0MsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLGlCQUFpQixFQUFFO1lBQ2pDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLENBQUM7U0FDdkM7UUFFRCxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNiLE9BQU8sRUFBRSxVQUFVO1lBQ25CLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtTQUN2QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sVUFBVSxDQUFDLFNBQWUsRUFBRSxrQkFBMEIsRUFBRSxnQkFBeUI7UUFDckYsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNuRyxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLGtCQUFrQixDQUFDLENBQUM7UUFFbkgsTUFBTSxHQUFHLEdBQW1CO1lBQ3hCLE1BQU0sRUFBRSxZQUFZO1lBQ3BCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixXQUFXLEVBQUUsU0FBUyxDQUFDLFdBQVc7WUFDbEMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1lBQ3BCLGtCQUFrQjtTQUNyQixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7WUFDN0QsR0FBRyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDOUI7UUFFRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ2hELEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUMxRTtRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzswR0ExRVEsc0JBQXNCO3NHQUF0QixzQkFBc0IsV0FBdEIsc0JBQXNCOzt1RkFBdEIsc0JBQXNCO2NBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVGFnLCBUYWdzQ29uZmlnU3ViVHlwZSwgVGFnVHlwZXMgfSBmcm9tICcuLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBmaW5kIGFzIF9maW5kLCByZWR1Y2UgYXMgX3JlZHVjZSwgc29tZSBhcyBfc29tZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTY2VuYXJpb1NlcnZpY2UgfSBmcm9tICcuLi9kci1zY2VuYXJpby9zZXJ2aWNlcy9zY2VuYXJpby5zZXJ2aWNlJztcbmltcG9ydCB7IElTY2VuYXJpb1RhZ1VpIH0gZnJvbSAnLi4vZHItc2NlbmFyaW8vaW50ZXJmYWNlcy9zY2VuYXJpbyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWdzQ29uc3RydWN0b3JTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhZ3NOb3RTdXBwb3J0aW5nRGF0ZXNUYWcgPSBbVGFnc0NvbmZpZ1N1YlR5cGUuUExBTl07XG4gICAgcHJpdmF0ZSByZWFkb25seSB0YWdzQWNjZXB0YWJsZVN1YlRhZ3MgPSB7XG4gICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5CVURHRVRfQ1lDTEVdOiBbVGFnc0NvbmZpZ1N1YlR5cGUuWUVBUl0sXG4gICAgfTtcblxuICAgIHB1YmxpYyBidWlsZFRhZ3ModGFnc0NvbmZpZ1RvRGlzcGxheTogSVRhZ1tdLCBzZWxlY3RlZFRhZ3NDb25maWc6IElUYWdbXSk6IElTY2VuYXJpb1RhZ1VpW10ge1xuICAgICAgICByZXR1cm4gX3JlZHVjZShcbiAgICAgICAgICAgIHRhZ3NDb25maWdUb0Rpc3BsYXksXG4gICAgICAgICAgICAoYWNjLCB0YWdDb25maWc6IElUYWcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1RhZ1dpdGhTdWJUYWdzID0gdGFnQ29uZmlnLnR5cGUgPT09IFRhZ1R5cGVzLkRBVEUgJiYgdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUgIT09IFRhZ3NDb25maWdTdWJUeXBlLkZPUkVDQVNUX05FVztcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdXaXRoU3ViVGFncyA9IGlzVGFnV2l0aFN1YlRhZ3MgJiYgX2ZpbmQoYWNjLCB7IHR5cGU6IHRhZ0NvbmZpZy50eXBlIH0pO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdGFnID0gdGFnV2l0aFN1YlRhZ3MgfHwgdGhpcy5wcmVwYXJlVGFnKHRhZ0NvbmZpZywgc2VsZWN0ZWRUYWdzQ29uZmlnLCBpc1RhZ1dpdGhTdWJUYWdzKTtcblxuICAgICAgICAgICAgICAgIGlmIChpc1RhZ1dpdGhTdWJUYWdzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3ViVGFncyh0YWcsIHRhZ0NvbmZpZywgc2VsZWN0ZWRUYWdzQ29uZmlnKTtcbiAgICAgICAgICAgICAgICAgICAgdGFnLnN1YlRhZ3MgPSBTY2VuYXJpb1NlcnZpY2Uuc29ydGVkU3ViVGFncyh0YWcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0YWdXaXRoU3ViVGFncykgcmV0dXJuIGFjYztcblxuICAgICAgICAgICAgICAgIGFjYy5wdXNoKHRhZyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVN1YlRhZ3ModGFnOiBJU2NlbmFyaW9UYWdVaSwgdGFnQ29uZmlnOiBJVGFnLCBzZWxlY3RlZFRhZ3NDb25maWc6IElUYWdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YWdTdWJUeXBlID0gdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGU7XG4gICAgICAgIGlmICh0YWdTdWJUeXBlID09PSBUYWdzQ29uZmlnU3ViVHlwZS5GT1JFQ0FTVF9ORVcpIHJldHVybjtcblxuICAgICAgICBpZiAoIXRhZy5zdWJUYWdzKSB7XG4gICAgICAgICAgICB0YWcuc3ViVGFncyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGFnLm5hbWUgPSAnRGF0ZSc7XG5cbiAgICAgICAgY29uc3QgZW5hYmxlZFRhZ1N1YlR5cGUgPSBfZmluZChzZWxlY3RlZFRhZ3NDb25maWcsIChfdGFnQ29uZmlnKSA9PiBfdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUgPT09IHRhZ1N1YlR5cGUpPy5vcHRpb25zXG4gICAgICAgICAgICA/LnN1Yl90eXBlO1xuICAgICAgICB0YWcudG9nZ2xlID0gISFlbmFibGVkVGFnU3ViVHlwZSB8fCB0YWcudG9nZ2xlO1xuXG4gICAgICAgIGlmICh0YWcudG9nZ2xlICYmIGVuYWJsZWRUYWdTdWJUeXBlKSB7XG4gICAgICAgICAgICB0YWcuc2VsZWN0ZWRUYWdTdWJUeXBlID0gdGFnU3ViVHlwZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhZy5zdWJUYWdzLnB1c2goe1xuICAgICAgICAgICAgc3ViVHlwZTogdGFnU3ViVHlwZSxcbiAgICAgICAgICAgIG5hbWU6IHRhZ0NvbmZpZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVUYWcodGFnQ29uZmlnOiBJVGFnLCBzZWxlY3RlZFRhZ3NDb25maWc6IElUYWdbXSwgaXNUYWdXaXRoU3ViVGFnczogYm9vbGVhbik6IElTY2VuYXJpb1RhZ1VpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUYWdTdWJUeXBlID0gaXNUYWdXaXRoU3ViVGFncyA/IFRhZ3NDb25maWdTdWJUeXBlLk1PTlRIIDogdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGU7XG4gICAgICAgIGNvbnN0IHRvZ2dsZVN0YXR1cyA9IF9zb21lKHNlbGVjdGVkVGFnc0NvbmZpZywgKF90YWdDb25maWcpID0+IF90YWdDb25maWcub3B0aW9ucy5zdWJfdHlwZSA9PT0gc2VsZWN0ZWRUYWdTdWJUeXBlKTtcblxuICAgICAgICBjb25zdCB0YWc6IElTY2VuYXJpb1RhZ1VpID0ge1xuICAgICAgICAgICAgdG9nZ2xlOiB0b2dnbGVTdGF0dXMsXG4gICAgICAgICAgICBuYW1lOiB0YWdDb25maWcubmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiB0YWdDb25maWcuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICB0eXBlOiB0YWdDb25maWcudHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkVGFnU3ViVHlwZSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy50YWdzTm90U3VwcG9ydGluZ0RhdGVzVGFnLmluY2x1ZGVzKHNlbGVjdGVkVGFnU3ViVHlwZSkpIHtcbiAgICAgICAgICAgIHRhZy50dXJuT2ZmRGF0ZVRhZ3MgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudGFnc0FjY2VwdGFibGVTdWJUYWdzW3NlbGVjdGVkVGFnU3ViVHlwZV0pIHtcbiAgICAgICAgICAgIHRhZy5hY2NlcHRhYmxlU3ViVGFncyA9IHRoaXMudGFnc0FjY2VwdGFibGVTdWJUYWdzW3NlbGVjdGVkVGFnU3ViVHlwZV07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFnO1xuICAgIH1cbn1cbiJdfQ==