@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.
Files changed (87) hide show
  1. package/datarailsshared-datarailsshared-1.6.279.tgz +0 -0
  2. package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +2 -2
  3. package/esm2022/lib/dr-inputs/date-pickers/dr-fiscal-month-calendar-picker/dr-fiscal-month-calendar-picker.component.mjs +2 -2
  4. package/esm2022/lib/dr-tags/_consts/scenario-tags-config.mjs +87 -0
  5. package/esm2022/lib/dr-tags/_interfaces/scenario.mjs +8 -0
  6. package/esm2022/lib/dr-tags/_services/scenario.service.mjs +195 -0
  7. package/esm2022/lib/dr-tags/_services/tags-constructor.service.mjs +71 -0
  8. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/any-tag.component.mjs +42 -0
  9. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-date.component.mjs +151 -0
  10. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-day/dr-tag-day.component.mjs +98 -0
  11. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-forecast/dr-tag-forecast.component.mjs +225 -0
  12. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-forecast/forecast-tag.service.mjs +87 -0
  13. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-month/dr-tag-month.component.mjs +101 -0
  14. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-quarter/dr-tag-quarter.component.mjs +129 -0
  15. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-week/dr-tag-week.component.mjs +105 -0
  16. package/esm2022/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-year/dr-tag-year.component.mjs +99 -0
  17. package/esm2022/lib/dr-tags/dr-tag/dr-tag-dynamic/dr-tag-dynamic.component.mjs +230 -0
  18. package/esm2022/lib/dr-tags/dr-tag/dr-tag-list/dr-tag-list.component.mjs +85 -0
  19. package/esm2022/lib/dr-tags/dr-tag/dr-tag.component.mjs +241 -0
  20. package/esm2022/lib/dr-tags/dr-tag/dr-tag.types.mjs +2 -0
  21. package/esm2022/lib/dr-tags/dr-tags-and-scenario/dr-tags-and-scenario.component.mjs +103 -0
  22. package/esm2022/lib/dr-tags/dr-tags-and-scenario-constructor/dr-tags-and-scenario-constructor.component.mjs +107 -0
  23. package/esm2022/lib/dr-tags/dr-tags-constructor/dr-tags-constructor.component.mjs +164 -0
  24. package/esm2022/local-api.mjs +18 -25
  25. package/fesm2022/datarailsshared-datarailsshared.mjs +8635 -8737
  26. package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
  27. package/lib/{dr-scenario/consts → dr-tags/_consts}/scenario-tags-config.d.ts +1 -1
  28. package/lib/{dr-scenario/services → dr-tags/_services}/scenario.service.d.ts +1 -1
  29. package/lib/{dr-tags-constructor → dr-tags/_services}/tags-constructor.service.d.ts +2 -2
  30. package/lib/{date-tags → dr-tags/dr-tag/dr-tag-date}/any-tag.component.d.ts +1 -1
  31. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-date.component.d.ts +18 -0
  32. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-day/dr-tag-day.component.d.ts +14 -0
  33. 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
  34. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-month/dr-tag-month.component.d.ts +14 -0
  35. 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
  36. 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
  37. package/lib/dr-tags/dr-tag/dr-tag-date/dr-tag-year/dr-tag-year.component.d.ts +14 -0
  38. 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
  39. package/lib/dr-tags/dr-tag/dr-tag-list/dr-tag-list.component.d.ts +15 -0
  40. package/lib/dr-tags/{dr-tag.component.d.ts → dr-tag/dr-tag.component.d.ts} +2 -2
  41. package/lib/dr-tags/dr-tags-and-scenario/dr-tags-and-scenario.component.d.ts +31 -0
  42. 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
  43. package/lib/{dr-tags-constructor → dr-tags/dr-tags-constructor}/dr-tags-constructor.component.d.ts +6 -6
  44. package/local-api.d.ts +17 -24
  45. package/package.json +1 -1
  46. package/datarailsshared-datarailsshared-1.6.275.tgz +0 -0
  47. package/esm2022/lib/date-tags/any-tag.component.mjs +0 -42
  48. package/esm2022/lib/date-tags/date-tag.component.mjs +0 -131
  49. package/esm2022/lib/date-tags/date-tag.module.mjs +0 -53
  50. package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +0 -95
  51. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +0 -222
  52. package/esm2022/lib/date-tags/forecast-tag/forecast-tag.service.mjs +0 -87
  53. package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +0 -98
  54. package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +0 -126
  55. package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +0 -102
  56. package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +0 -96
  57. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +0 -227
  58. package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +0 -21
  59. package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +0 -104
  60. package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +0 -100
  61. package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +0 -87
  62. package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +0 -27
  63. package/esm2022/lib/dr-scenario/interfaces/scenario.mjs +0 -8
  64. package/esm2022/lib/dr-scenario/services/scenario.service.mjs +0 -195
  65. package/esm2022/lib/dr-tags/dr-tag.component.mjs +0 -240
  66. package/esm2022/lib/dr-tags/dr-tag.module.mjs +0 -23
  67. package/esm2022/lib/dr-tags/dr-tag.types.mjs +0 -2
  68. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +0 -161
  69. package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +0 -24
  70. package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +0 -71
  71. package/esm2022/lib/list-tags/list-tag.component.mjs +0 -82
  72. package/esm2022/lib/list-tags/list-tag.module.mjs +0 -22
  73. package/lib/date-tags/date-tag.component.d.ts +0 -18
  74. package/lib/date-tags/date-tag.module.d.ts +0 -21
  75. package/lib/date-tags/day-tag/day-tag.component.d.ts +0 -14
  76. package/lib/date-tags/month-tag/month-tag.component.d.ts +0 -14
  77. package/lib/date-tags/year-tag/year-tag.component.d.ts +0 -14
  78. package/lib/dr-dynamic-tag/dr-dynamic-tag.module.d.ts +0 -10
  79. package/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.d.ts +0 -31
  80. package/lib/dr-scenario/dr-scenario.module.d.ts +0 -13
  81. package/lib/dr-tags/dr-tag.module.d.ts +0 -11
  82. package/lib/dr-tags-constructor/dr-tags-constructor.module.d.ts +0 -10
  83. package/lib/list-tags/list-tag.component.d.ts +0 -15
  84. package/lib/list-tags/list-tag.module.d.ts +0 -10
  85. /package/lib/{dr-scenario/interfaces → dr-tags/_interfaces}/scenario.d.ts +0 -0
  86. /package/lib/{date-tags/forecast-tag → dr-tags/dr-tag/dr-tag-date/dr-tag-forecast}/forecast-tag.service.d.ts +0 -0
  87. /package/lib/dr-tags/{dr-tag.types.d.ts → dr-tag/dr-tag.types.d.ts} +0 -0
@@ -1,227 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { find as _find, isNil as _isNil, isNumber as _isNumber, isObject as _isObject, map as _map } from 'lodash';
3
- import moment from 'moment';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../dr-inputs/dr-select/dr-select.component";
7
- import * as i3 from "../dr-inputs/dr-select-add-item/dr-select-add-item.component";
8
- import * as i4 from "@angular/forms";
9
- function DrDynamicTagComponent_p_0_Template(rf, ctx) { if (rf & 1) {
10
- i0.ɵɵelementStart(0, "p", 5);
11
- i0.ɵɵtext(1);
12
- i0.ɵɵelementEnd();
13
- } if (rf & 2) {
14
- const ctx_r0 = i0.ɵɵnextContext();
15
- i0.ɵɵadvance(1);
16
- i0.ɵɵtextInterpolate(ctx_r0.label || ctx_r0.tagConfig.name);
17
- } }
18
- function DrDynamicTagComponent_2_ng_template_0_Template(rf, ctx) { if (rf & 1) {
19
- const _r9 = i0.ɵɵgetCurrentView();
20
- i0.ɵɵelementStart(0, "dr-select-add-item", 7);
21
- i0.ɵɵlistener("dynamicValueAdded", function DrDynamicTagComponent_2_ng_template_0_Template_dr_select_add_item_dynamicValueAdded_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.onDynamicValueAdd($event)); });
22
- i0.ɵɵelementEnd();
23
- } if (rf & 2) {
24
- const ctx_r7 = i0.ɵɵnextContext(2);
25
- i0.ɵɵproperty("values", ctx_r7.currentValues)("dynamicAddLabel", " Add new " + ctx_r7.tagConfig.name);
26
- } }
27
- function DrDynamicTagComponent_2_Template(rf, ctx) { if (rf & 1) {
28
- i0.ɵɵtemplate(0, DrDynamicTagComponent_2_ng_template_0_Template, 1, 2, "ng-template", null, 6, i0.ɵɵtemplateRefExtractor);
29
- } }
30
- function DrDynamicTagComponent_ng_template_3_i_3_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelement(0, "i", 11);
32
- } }
33
- function DrDynamicTagComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelementStart(0, "div", 8)(1, "p", 9);
35
- i0.ɵɵtext(2);
36
- i0.ɵɵelementEnd();
37
- i0.ɵɵtemplate(3, DrDynamicTagComponent_ng_template_3_i_3_Template, 1, 0, "i", 10);
38
- i0.ɵɵelementEnd();
39
- } if (rf & 2) {
40
- const item_r10 = ctx.item;
41
- const ctx_r3 = i0.ɵɵnextContext();
42
- i0.ɵɵadvance(2);
43
- i0.ɵɵtextInterpolate((item_r10 == null ? null : item_r10.value) || item_r10);
44
- i0.ɵɵadvance(1);
45
- i0.ɵɵproperty("ngIf", (item_r10 == null ? null : item_r10.is_favorite) && !ctx_r3.hideFavoriteStar);
46
- } }
47
- function DrDynamicTagComponent_ng_template_5_i_3_Template(rf, ctx) { if (rf & 1) {
48
- i0.ɵɵelement(0, "i", 11);
49
- } }
50
- function DrDynamicTagComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) {
51
- const _r15 = i0.ɵɵgetCurrentView();
52
- i0.ɵɵelementStart(0, "div", 12);
53
- i0.ɵɵlistener("click", function DrDynamicTagComponent_ng_template_5_Template_div_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r15); const item_r12 = restoredCtx.item; const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.onOptionClick($event, (item_r12 == null ? null : item_r12.value) || item_r12)); });
54
- i0.ɵɵelementStart(1, "p", 9);
55
- i0.ɵɵtext(2);
56
- i0.ɵɵelementEnd();
57
- i0.ɵɵtemplate(3, DrDynamicTagComponent_ng_template_5_i_3_Template, 1, 0, "i", 10);
58
- i0.ɵɵelementEnd();
59
- } if (rf & 2) {
60
- const item_r12 = ctx.item;
61
- const ctx_r5 = i0.ɵɵnextContext();
62
- i0.ɵɵclassProp("disabled", ctx_r5.isLockedTag((item_r12 == null ? null : item_r12.value) || item_r12));
63
- i0.ɵɵadvance(2);
64
- i0.ɵɵtextInterpolate((item_r12 == null ? null : item_r12.value) || item_r12);
65
- i0.ɵɵadvance(1);
66
- i0.ɵɵproperty("ngIf", item_r12 == null ? null : item_r12.is_favorite);
67
- } }
68
- export class DrDynamicTagComponent {
69
- constructor() {
70
- this.hideLabel = false;
71
- this.lockedTags = [];
72
- this.tagChange = new EventEmitter();
73
- this.tagAdd = new EventEmitter();
74
- this.DEFAULT_PARENT_KEY_FORMAT = 'yyyy';
75
- this._parentKeyFormat = this.DEFAULT_PARENT_KEY_FORMAT;
76
- }
77
- set parentKeyFormat(format) {
78
- this._parentKeyFormat = format || this.DEFAULT_PARENT_KEY_FORMAT;
79
- }
80
- get parentKeyFormat() {
81
- return this._parentKeyFormat;
82
- }
83
- get isPrimitiveDataSource() {
84
- const values = Object.values(this.values) || [];
85
- return !_isObject(values[0]);
86
- }
87
- ngOnChanges(changes) {
88
- this.updateDynamicTagValues();
89
- }
90
- onTagChanged($event) {
91
- const resultEvent = {
92
- id: this.tagConfig.id,
93
- name: this.tagConfig.name,
94
- value: $event,
95
- locked: this.isLockedTag($event),
96
- };
97
- if (!_isNil(this.selectedTag?.locked)) {
98
- resultEvent.locked = this.selectedTag.locked;
99
- }
100
- if (!_isNil(this.selectedTag?.label)) {
101
- resultEvent.label = this.selectedTag.label;
102
- }
103
- this.isLockedTagSelected = resultEvent.locked;
104
- this.tagChange.emit(resultEvent);
105
- }
106
- onOptionClick($event, tagValue) {
107
- if (this.isLockedTag(tagValue)) {
108
- $event.stopImmediatePropagation();
109
- }
110
- }
111
- onDynamicValueAdd($event) {
112
- const parentValueKey = this.getParentValueKey();
113
- const parentValues = this.values[parentValueKey] || [];
114
- if (this.isPrimitiveDataSource) {
115
- this.values[parentValueKey] = [$event, ...parentValues];
116
- }
117
- else {
118
- this.values[parentValueKey] = [{ value: $event }, ...parentValues];
119
- }
120
- this.selectedDynamicTag = $event;
121
- this.currentValues = this.values[parentValueKey];
122
- this.onTagChanged($event);
123
- this.tagAdd.emit($event);
124
- }
125
- updateDynamicTagValues() {
126
- const parentValueKey = this.getParentValueKey();
127
- this.currentValues = this.values?.[parentValueKey];
128
- this.selectedDynamicTag = this.getSelectedDynamicTag(this.currentValues, this.selectedTag?.value);
129
- this.onTagChanged(this.selectedDynamicTag);
130
- }
131
- getSelectedDynamicTag(currentValues, selectedValue) {
132
- if (!currentValues?.length)
133
- return null;
134
- if (_isObject(currentValues[0])) {
135
- const valueFromConfig = _find(currentValues, { value: selectedValue });
136
- const favoriteValue = _find(currentValues, { is_favorite: true });
137
- return (valueFromConfig || favoriteValue || currentValues[0]).value;
138
- }
139
- const valueFromConfig = _find(currentValues, (value) => value === selectedValue);
140
- return (valueFromConfig || currentValues[0]);
141
- }
142
- getParentValueKey() {
143
- return _map(this.connectedTags, (connectedTag) => {
144
- return this.getSingleParentKey(connectedTag.value);
145
- }).join('__');
146
- }
147
- isLockedTag(tagValue) {
148
- if (!!this.lockedMultipleTags?.length) {
149
- return this.hasLockedTagInMultiple(tagValue);
150
- }
151
- return this.lockedTags.includes(tagValue);
152
- }
153
- getSingleParentKey(value) {
154
- if (_isNumber(value)) {
155
- const momentData = moment.unix(value);
156
- const convertedParentKey = this.parentKeyFormatterFn
157
- ? this.parentKeyFormatterFn(momentData)
158
- : momentData.format(this.parentKeyFormat);
159
- if (momentData.isValid() && convertedParentKey) {
160
- return convertedParentKey;
161
- }
162
- }
163
- return value;
164
- }
165
- hasLockedTagInMultiple(selectedTagValue) {
166
- const parentValueKey = this.getParentValueKey();
167
- return this.lockedMultipleTags?.some((tag) => tag.value === selectedTagValue && this.getSingleParentKey(tag.parent_tag_value) === parentValueKey);
168
- }
169
- /** @nocollapse */ static { this.ɵfac = function DrDynamicTagComponent_Factory(t) { return new (t || DrDynamicTagComponent)(); }; }
170
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDynamicTagComponent, selectors: [["dr-dynamic-tag"]], inputs: { values: "values", tagConfig: "tagConfig", selectedTag: "selectedTag", hideLabel: "hideLabel", lockedTags: "lockedTags", connectedTags: "connectedTags", isDynamicTagAddEnabled: "isDynamicTagAddEnabled", disabled: "disabled", lockedMultipleTags: "lockedMultipleTags", tagsConfig: "tagsConfig", fiscalYearStartsFrom: "fiscalYearStartsFrom", fiscalYearBack: "fiscalYearBack", parentKeyFormat: "parentKeyFormat", parentKeyFormatterFn: "parentKeyFormatterFn", label: "label", hideFavoriteStar: "hideFavoriteStar" }, outputs: { tagChange: "tagChange", tagAdd: "tagAdd" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 7, consts: [["class", "dynamic-tag__label", 4, "ngIf"], ["bindLabel", "value", "bindValue", "value", "dropdownClass", "dynamic-tag__select dr-tag__select", 3, "ngModel", "items", "disabled", "ngModelChange"], [4, "ngIf"], ["labelTemplate", ""], ["optionTemplate", ""], [1, "dynamic-tag__label"], ["optionHeaderTemplate", ""], ["bindValue", "value", 3, "values", "dynamicAddLabel", "dynamicValueAdded"], [1, "dynamic-tag__field--label"], [1, "dynamic-tag__field__text"], ["class", "dynamic-tag__field__icon dr-icon-star-fill", 4, "ngIf"], [1, "dynamic-tag__field__icon", "dr-icon-star-fill"], [1, "dynamic-tag__field--option", 3, "click"]], template: function DrDynamicTagComponent_Template(rf, ctx) { if (rf & 1) {
171
- i0.ɵɵtemplate(0, DrDynamicTagComponent_p_0_Template, 2, 1, "p", 0);
172
- i0.ɵɵelementStart(1, "dr-select", 1);
173
- i0.ɵɵlistener("ngModelChange", function DrDynamicTagComponent_Template_dr_select_ngModelChange_1_listener($event) { return ctx.selectedDynamicTag = $event; })("ngModelChange", function DrDynamicTagComponent_Template_dr_select_ngModelChange_1_listener($event) { return ctx.onTagChanged($event); });
174
- i0.ɵɵtemplate(2, DrDynamicTagComponent_2_Template, 2, 0, null, 2);
175
- i0.ɵɵtemplate(3, DrDynamicTagComponent_ng_template_3_Template, 4, 2, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor);
176
- i0.ɵɵtemplate(5, DrDynamicTagComponent_ng_template_5_Template, 4, 4, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
177
- i0.ɵɵelementEnd();
178
- } if (rf & 2) {
179
- i0.ɵɵproperty("ngIf", !ctx.hideLabel);
180
- i0.ɵɵadvance(1);
181
- i0.ɵɵclassProp("dynamic-tag__locked", ctx.isLockedTagSelected);
182
- i0.ɵɵproperty("ngModel", ctx.selectedDynamicTag)("items", ctx.currentValues)("disabled", ctx.disabled);
183
- i0.ɵɵadvance(1);
184
- i0.ɵɵproperty("ngIf", ctx.isDynamicTagAddEnabled);
185
- } }, dependencies: [i1.NgIf, i2.DrSelectComponent, i3.DrSelectAddItemComponent, i4.NgControlStatus, i4.NgModel], styles: ["[_nghost-%COMP%]{flex-grow:1}.dynamic-tag__label[_ngcontent-%COMP%]{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.dynamic-tag__field[_ngcontent-%COMP%]{cursor:pointer;height:24px}.dynamic-tag__field--option[_ngcontent-%COMP%]{cursor:pointer;height:24px;padding:8px 12px;width:100%;display:flex;justify-content:space-between;align-items:center}.dynamic-tag__field--option.disabled[_ngcontent-%COMP%]{opacity:.5;box-sizing:content-box}.dynamic-tag__field--label[_ngcontent-%COMP%]{cursor:pointer;height:24px;display:flex;align-items:center}.dynamic-tag__field--label[_ngcontent-%COMP%] > .dynamic-tag__field__icon[_ngcontent-%COMP%]{position:absolute;right:25px}.dynamic-tag__field--label[_ngcontent-%COMP%] > dynamic-tag__field__text[_ngcontent-%COMP%]{margin:0}.dr-icon-star-fill[_ngcontent-%COMP%]{color:#f0bc57} dr-select.dynamic-tag__locked>ng-select>.ng-select-container{opacity:.4} .ng-option:has(.dynamic-tag__field--option){padding:0!important}"] }); }
186
- }
187
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDynamicTagComponent, [{
188
- type: Component,
189
- args: [{ selector: 'dr-dynamic-tag', template: "<p *ngIf=\"!hideLabel\" class=\"dynamic-tag__label\">{{ label || tagConfig.name }}</p>\n<dr-select\n [(ngModel)]=\"selectedDynamicTag\"\n [class.dynamic-tag__locked]=\"isLockedTagSelected\"\n bindLabel=\"value\"\n bindValue=\"value\"\n [items]=\"currentValues\"\n [disabled]=\"disabled\"\n dropdownClass=\"dynamic-tag__select dr-tag__select\"\n (ngModelChange)=\"onTagChanged($event)\">\n <ng-template #optionHeaderTemplate *ngIf=\"isDynamicTagAddEnabled\">\n <dr-select-add-item\n bindValue=\"value\"\n [values]=\"currentValues\"\n [dynamicAddLabel]=\"' Add new ' + tagConfig.name\"\n (dynamicValueAdded)=\"onDynamicValueAdd($event)\"></dr-select-add-item>\n </ng-template>\n <ng-template #labelTemplate let-item=\"item\">\n <div class=\"dynamic-tag__field--label\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite && !hideFavoriteStar\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n <ng-template #optionTemplate let-item=\"item\">\n <div\n class=\"dynamic-tag__field--option\"\n [class.disabled]=\"isLockedTag(item?.value || item)\"\n (click)=\"onOptionClick($event, item?.value || item)\">\n <p class=\"dynamic-tag__field__text\">{{ item?.value || item }}</p>\n <i *ngIf=\"item?.is_favorite\" class=\"dynamic-tag__field__icon dr-icon-star-fill\"></i>\n </div>\n </ng-template>\n</dr-select>\n", styles: [":host{flex-grow:1}.dynamic-tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}.dynamic-tag__field{cursor:pointer;height:24px}.dynamic-tag__field--option{cursor:pointer;height:24px;padding:8px 12px;width:100%;display:flex;justify-content:space-between;align-items:center}.dynamic-tag__field--option.disabled{opacity:.5;box-sizing:content-box}.dynamic-tag__field--label{cursor:pointer;height:24px;display:flex;align-items:center}.dynamic-tag__field--label>.dynamic-tag__field__icon{position:absolute;right:25px}.dynamic-tag__field--label>dynamic-tag__field__text{margin:0}.dr-icon-star-fill{color:#f0bc57}::ng-deep dr-select.dynamic-tag__locked>ng-select>.ng-select-container{opacity:.4}::ng-deep .ng-option:has(.dynamic-tag__field--option){padding:0!important}\n"] }]
190
- }], null, { values: [{
191
- type: Input
192
- }], tagConfig: [{
193
- type: Input
194
- }], selectedTag: [{
195
- type: Input
196
- }], hideLabel: [{
197
- type: Input
198
- }], lockedTags: [{
199
- type: Input
200
- }], connectedTags: [{
201
- type: Input
202
- }], isDynamicTagAddEnabled: [{
203
- type: Input
204
- }], disabled: [{
205
- type: Input
206
- }], lockedMultipleTags: [{
207
- type: Input
208
- }], tagsConfig: [{
209
- type: Input
210
- }], fiscalYearStartsFrom: [{
211
- type: Input
212
- }], fiscalYearBack: [{
213
- type: Input
214
- }], parentKeyFormat: [{
215
- type: Input
216
- }], parentKeyFormatterFn: [{
217
- type: Input
218
- }], label: [{
219
- type: Input
220
- }], hideFavoriteStar: [{
221
- type: Input
222
- }], tagChange: [{
223
- type: Output
224
- }], tagAdd: [{
225
- type: Output
226
- }] }); })();
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHluYW1pYy10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFBRSxRQUFRLElBQUksU0FBUyxFQUFFLFFBQVEsSUFBSSxTQUFTLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVuSCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7Ozs7SUNINUIsNEJBQWlEO0lBQUEsWUFBNkI7SUFBQSxpQkFBSTs7O0lBQWpDLGVBQTZCO0lBQTdCLDJEQUE2Qjs7OztJQVd0RSw2Q0FJb0Q7SUFBaEQsdU5BQXFCLGVBQUEsZ0NBQXlCLENBQUEsSUFBQztJQUFDLGlCQUFxQjs7O0lBRnJFLDZDQUF3Qix3REFBQTs7O0lBSGhDLHlIQU1jOzs7SUFJTix3QkFBeUc7OztJQUY3Ryw4QkFBdUMsV0FBQTtJQUNDLFlBQXlCO0lBQUEsaUJBQUk7SUFDakUsaUZBQXlHO0lBQzdHLGlCQUFNOzs7O0lBRmtDLGVBQXlCO0lBQXpCLDRFQUF5QjtJQUN6RCxlQUE0QztJQUE1QyxtR0FBNEM7OztJQVNoRCx3QkFBb0Y7Ozs7SUFMeEYsK0JBR3lEO0lBQXJELHNPQUFTLGVBQUEscUZBQTBDLENBQUEsSUFBQztJQUNwRCw0QkFBb0M7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bnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaW5kIGFzIF9maW5kLCBpc05pbCBhcyBfaXNOaWwsIGlzTnVtYmVyIGFzIF9pc051bWJlciwgaXNPYmplY3QgYXMgX2lzT2JqZWN0LCBtYXAgYXMgX21hcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJRHluYW1pY1RhZywgSVRhZywgSVRhZ0ZvclNlcnZlciwgVER5bmFtaWNUYWcsIFREeW5hbWljVGFnVmFsdWUgfSBmcm9tICcuLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBJTXVsdGlwbGVMb2NrZWRUYWcgfSBmcm9tICcuLi9kci10YWdzL2RyLXRhZy50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItZHluYW1pYy10YWcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1keW5hbWljLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItZHluYW1pYy10YWcuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJEeW5hbWljVGFnQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVzOiBURHluYW1pY1RhZztcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnQ29uZmlnOiBJVGFnO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZFRhZzogSVRhZ0ZvclNlcnZlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlkZUxhYmVsOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGxvY2tlZFRhZ3M6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIGNvbm5lY3RlZFRhZ3M6IElUYWdGb3JTZXJ2ZXJbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNEeW5hbWljVGFnQWRkRW5hYmxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbG9ja2VkTXVsdGlwbGVUYWdzOiBJTXVsdGlwbGVMb2NrZWRUYWdbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgdGFnc0NvbmZpZzogSVRhZ1tdO1xuXG4gICAgQElucHV0KCkgZmlzY2FsWWVhclN0YXJ0c0Zyb206IG51bWJlcjtcbiAgICBASW5wdXQoKSBmaXNjYWxZZWFyQmFjazogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHNldCBwYXJlbnRLZXlGb3JtYXQoZm9ybWF0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fcGFyZW50S2V5Rm9ybWF0ID0gZm9ybWF0IHx8IHRoaXMuREVGQVVMVF9QQVJFTlRfS0VZX0ZPUk1BVDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwYXJlbnRLZXlGb3JtYXR0ZXJGbjogKG1vbWVudERhdGEpID0+IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaGlkZUZhdm9yaXRlU3RhcjogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSB0YWdDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJVGFnRm9yU2VydmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8SVRhZ0ZvclNlcnZlcj4oKTtcbiAgICBAT3V0cHV0KCkgdGFnQWRkOiBFdmVudEVtaXR0ZXI8VER5bmFtaWNUYWdWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFREeW5hbWljVGFnVmFsdWU+KCk7XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWREeW5hbWljVGFnOiBURHluYW1pY1RhZ1ZhbHVlO1xuICAgIHB1YmxpYyBjdXJyZW50VmFsdWVzOiBURHluYW1pY1RhZ1ZhbHVlW107XG4gICAgcHVibGljIGlzTG9ja2VkVGFnU2VsZWN0ZWQ6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfUEFSRU5UX0tFWV9GT1JNQVQgPSAneXl5eSc7XG4gICAgcHJpdmF0ZSBfcGFyZW50S2V5Rm9ybWF0OiBzdHJpbmcgPSB0aGlzLkRFRkFVTFRfUEFSRU5UX0tFWV9GT1JNQVQ7XG5cbiAgICBwdWJsaWMgZ2V0IHBhcmVudEtleUZvcm1hdCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyZW50S2V5Rm9ybWF0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNQcmltaXRpdmVEYXRhU291cmNlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKHRoaXMudmFsdWVzKSB8fCBbXTtcbiAgICAgICAgcmV0dXJuICFfaXNPYmplY3QodmFsdWVzWzBdKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUR5bmFtaWNUYWdWYWx1ZXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWdDaGFuZ2VkKCRldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlc3VsdEV2ZW50OiBJVGFnRm9yU2VydmVyID0ge1xuICAgICAgICAgICAgaWQ6IHRoaXMudGFnQ29uZmlnLmlkLFxuICAgICAgICAgICAgbmFtZTogdGhpcy50YWdDb25maWcubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiAkZXZlbnQsXG4gICAgICAgICAgICBsb2NrZWQ6IHRoaXMuaXNMb2NrZWRUYWcoJGV2ZW50KSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIV9pc05pbCh0aGlzLnNlbGVjdGVkVGFnPy5sb2NrZWQpKSB7XG4gICAgICAgICAgICByZXN1bHRFdmVudC5sb2NrZWQgPSB0aGlzLnNlbGVjdGVkVGFnLmxvY2tlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghX2lzTmlsKHRoaXMuc2VsZWN0ZWRUYWc/LmxhYmVsKSkge1xuICAgICAgICAgICAgcmVzdWx0RXZlbnQubGFiZWwgPSB0aGlzLnNlbGVjdGVkVGFnLmxhYmVsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0xvY2tlZFRhZ1NlbGVjdGVkID0gcmVzdWx0RXZlbnQubG9ja2VkO1xuICAgICAgICB0aGlzLnRhZ0NoYW5nZS5lbWl0KHJlc3VsdEV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25PcHRpb25DbGljaygkZXZlbnQ6IEV2ZW50LCB0YWdWYWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTG9ja2VkVGFnKHRhZ1ZhbHVlKSkge1xuICAgICAgICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uRHluYW1pY1ZhbHVlQWRkKCRldmVudDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudFZhbHVlS2V5ID0gdGhpcy5nZXRQYXJlbnRWYWx1ZUtleSgpO1xuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZXMgPSB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV0gfHwgW107XG5cbiAgICAgICAgaWYgKHRoaXMuaXNQcmltaXRpdmVEYXRhU291cmNlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlc1twYXJlbnRWYWx1ZUtleV0gPSBbJGV2ZW50LCAuLi5wYXJlbnRWYWx1ZXNdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXNbcGFyZW50VmFsdWVLZXldID0gW3sgdmFsdWU6ICRldmVudCB9LCAuLi5wYXJlbnRWYWx1ZXNdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZER5bmFtaWNUYWcgPSAkZXZlbnQ7XG5cbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWVzID0gdGhpcy52YWx1ZXNbcGFyZW50VmFsdWVLZXldO1xuICAgICAgICB0aGlzLm9uVGFnQ2hhbmdlZCgkZXZlbnQpO1xuICAgICAgICB0aGlzLnRhZ0FkZC5lbWl0KCRldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVEeW5hbWljVGFnVmFsdWVzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRWYWx1ZUtleSA9IHRoaXMuZ2V0UGFyZW50VmFsdWVLZXkoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWVzID0gdGhpcy52YWx1ZXM/LltwYXJlbnRWYWx1ZUtleV07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREeW5hbWljVGFnID0gdGhpcy5nZXRTZWxlY3RlZER5bmFtaWNUYWcodGhpcy5jdXJyZW50VmFsdWVzLCB0aGlzLnNlbGVjdGVkVGFnPy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25UYWdDaGFuZ2VkKHRoaXMuc2VsZWN0ZWREeW5hbWljVGFnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGVkRHluYW1pY1RhZyhjdXJyZW50VmFsdWVzOiBURHluYW1pY1RhZ1ZhbHVlW10sIHNlbGVjdGVkVmFsdWU6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmICghY3VycmVudFZhbHVlcz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAoX2lzT2JqZWN0KGN1cnJlbnRWYWx1ZXNbMF0pKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUZyb21Db25maWcgPSBfZmluZChjdXJyZW50VmFsdWVzLCB7IHZhbHVlOiBzZWxlY3RlZFZhbHVlIH0pIGFzIElEeW5hbWljVGFnO1xuICAgICAgICAgICAgY29uc3QgZmF2b3JpdGVWYWx1ZSA9IF9maW5kKGN1cnJlbnRWYWx1ZXMsIHsgaXNfZmF2b3JpdGU6IHRydWUgfSkgYXMgSUR5bmFtaWNUYWc7XG4gICAgICAgICAgICByZXR1cm4gKHZhbHVlRnJvbUNvbmZpZyB8fCBmYXZvcml0ZVZhbHVlIHx8IGN1cnJlbnRWYWx1ZXNbMF0pLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsdWVGcm9tQ29uZmlnID0gX2ZpbmQoY3VycmVudFZhbHVlcywgKHZhbHVlKSA9PiB2YWx1ZSA9PT0gc2VsZWN0ZWRWYWx1ZSk7XG4gICAgICAgIHJldHVybiAodmFsdWVGcm9tQ29uZmlnIHx8IGN1cnJlbnRWYWx1ZXNbMF0pIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBhcmVudFZhbHVlS2V5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBfbWFwKHRoaXMuY29ubmVjdGVkVGFncywgKGNvbm5lY3RlZFRhZykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2luZ2xlUGFyZW50S2V5KGNvbm5lY3RlZFRhZy52YWx1ZSk7XG4gICAgICAgIH0pLmpvaW4oJ19fJyk7XG4gICAgfVxuXG4gICAgaXNMb2NrZWRUYWcodGFnVmFsdWU6IHN0cmluZyB8IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoISF0aGlzLmxvY2tlZE11bHRpcGxlVGFncz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYXNMb2NrZWRUYWdJbk11bHRpcGxlKHRhZ1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5sb2NrZWRUYWdzLmluY2x1ZGVzKHRhZ1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNpbmdsZVBhcmVudEtleSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgICAgIGlmIChfaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgICAgICAgICBjb25zdCBtb21lbnREYXRhID0gbW9tZW50LnVuaXgodmFsdWUpO1xuXG4gICAgICAgICAgICBjb25zdCBjb252ZXJ0ZWRQYXJlbnRLZXkgPSB0aGlzLnBhcmVudEtleUZvcm1hdHRlckZuXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBhcmVudEtleUZvcm1hdHRlckZuKG1vbWVudERhdGEpXG4gICAgICAgICAgICAgICAgOiBtb21lbnREYXRhLmZvcm1hdCh0aGlzLnBhcmVudEtleUZvcm1hdCk7XG5cbiAgICAgICAgICAgIGlmIChtb21lbnREYXRhLmlzVmFsaWQoKSAmJiBjb252ZXJ0ZWRQYXJlbnRLZXkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVkUGFyZW50S2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzTG9ja2VkVGFnSW5NdWx0aXBsZShzZWxlY3RlZFRhZ1ZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcGFyZW50VmFsdWVLZXkgPSB0aGlzLmdldFBhcmVudFZhbHVlS2V5KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2tlZE11bHRpcGxlVGFncz8uc29tZShcbiAgICAgICAgICAgICh0YWcpID0+IHRhZy52YWx1ZSA9PT0gc2VsZWN0ZWRUYWdWYWx1ZSAmJiB0aGlzLmdldFNpbmdsZVBhcmVudEtleSh0YWcucGFyZW50X3RhZ192YWx1ZSkgPT09IHBhcmVudFZhbHVlS2V5LFxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxwICpuZ0lmPVwiIWhpZGVMYWJlbFwiIGNsYXNzPVwiZHluYW1pYy10YWdfX2xhYmVsXCI+e3sgbGFiZWwgfHwgdGFnQ29uZmlnLm5hbWUgfX08L3A+XG48ZHItc2VsZWN0XG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZER5bmFtaWNUYWdcIlxuICAgIFtjbGFzcy5keW5hbWljLXRhZ19fbG9ja2VkXT1cImlzTG9ja2VkVGFnU2VsZWN0ZWRcIlxuICAgIGJpbmRMYWJlbD1cInZhbHVlXCJcbiAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgW2l0ZW1zXT1cImN1cnJlbnRWYWx1ZXNcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgZHJvcGRvd25DbGFzcz1cImR5bmFtaWMtdGFnX19zZWxlY3QgZHItdGFnX19zZWxlY3RcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGFnQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgPG5nLXRlbXBsYXRlICNvcHRpb25IZWFkZXJUZW1wbGF0ZSAqbmdJZj1cImlzRHluYW1pY1RhZ0FkZEVuYWJsZWRcIj5cbiAgICAgICAgPGRyLXNlbGVjdC1hZGQtaXRlbVxuICAgICAgICAgICAgYmluZFZhbHVlPVwidmFsdWVcIlxuICAgICAgICAgICAgW3ZhbHVlc109XCJjdXJyZW50VmFsdWVzXCJcbiAgICAgICAgICAgIFtkeW5hbWljQWRkTGFiZWxdPVwiJyBBZGQgbmV3ICcgKyB0YWdDb25maWcubmFtZVwiXG4gICAgICAgICAgICAoZHluYW1pY1ZhbHVlQWRkZWQpPVwib25EeW5hbWljVmFsdWVBZGQoJGV2ZW50KVwiPjwvZHItc2VsZWN0LWFkZC1pdGVtPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNsYWJlbFRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkLS1sYWJlbFwiPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJkeW5hbWljLXRhZ19fZmllbGRfX3RleHRcIj57eyBpdGVtPy52YWx1ZSB8fCBpdGVtIH19PC9wPlxuICAgICAgICAgICAgPGkgKm5nSWY9XCJpdGVtPy5pc19mYXZvcml0ZSAmJiAhaGlkZUZhdm9yaXRlU3RhclwiIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkX19pY29uIGRyLWljb24tc3Rhci1maWxsXCI+PC9pPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkLS1vcHRpb25cIlxuICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImlzTG9ja2VkVGFnKGl0ZW0/LnZhbHVlIHx8IGl0ZW0pXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbk9wdGlvbkNsaWNrKCRldmVudCwgaXRlbT8udmFsdWUgfHwgaXRlbSlcIj5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiZHluYW1pYy10YWdfX2ZpZWxkX190ZXh0XCI+e3sgaXRlbT8udmFsdWUgfHwgaXRlbSB9fTwvcD5cbiAgICAgICAgICAgIDxpICpuZ0lmPVwiaXRlbT8uaXNfZmF2b3JpdGVcIiBjbGFzcz1cImR5bmFtaWMtdGFnX19maWVsZF9faWNvbiBkci1pY29uLXN0YXItZmlsbFwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvZHItc2VsZWN0PlxuIl19
@@ -1,21 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { DrDynamicTagComponent } from './dr-dynamic-tag.component';
4
- import { DrInputsModule } from '../dr-inputs/dr-inputs.module';
5
- import { FormsModule } from '@angular/forms';
6
- import * as i0 from "@angular/core";
7
- export class DrDynamicTagModule {
8
- /** @nocollapse */ static { this.ɵfac = function DrDynamicTagModule_Factory(t) { return new (t || DrDynamicTagModule)(); }; }
9
- /** @nocollapse */ static { this.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DrDynamicTagModule }); }
10
- /** @nocollapse */ static { this.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({ imports: [CommonModule, DrInputsModule, FormsModule] }); }
11
- }
12
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDynamicTagModule, [{
13
- type: NgModule,
14
- args: [{
15
- declarations: [DrDynamicTagComponent],
16
- imports: [CommonModule, DrInputsModule, FormsModule],
17
- exports: [DrDynamicTagComponent],
18
- }]
19
- }], null, null); })();
20
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DrDynamicTagModule, { declarations: [DrDynamicTagComponent], imports: [CommonModule, DrInputsModule, FormsModule], exports: [DrDynamicTagComponent] }); })();
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHluYW1pYy10YWcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHluYW1pYy10YWcvZHItZHluYW1pYy10YWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzdDLE1BQU0sT0FBTyxrQkFBa0I7c0dBQWxCLGtCQUFrQjtrR0FBbEIsa0JBQWtCO3NHQUhqQixZQUFZLEVBQUUsY0FBYyxFQUFFLFdBQVc7O3VGQUcxQyxrQkFBa0I7Y0FMOUIsUUFBUTtlQUFDO2dCQUNOLFlBQVksRUFBRSxDQUFDLHFCQUFxQixDQUFDO2dCQUNyQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFdBQVcsQ0FBQztnQkFDcEQsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7YUFDbkM7O3dGQUNZLGtCQUFrQixtQkFKWixxQkFBcUIsYUFDMUIsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLGFBQ3pDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJEeW5hbWljVGFnQ29tcG9uZW50IH0gZnJvbSAnLi9kci1keW5hbWljLXRhZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuLi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtEckR5bmFtaWNUYWdDb21wb25lbnRdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERySW5wdXRzTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gICAgZXhwb3J0czogW0RyRHluYW1pY1RhZ0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIERyRHluYW1pY1RhZ01vZHVsZSB7fVxuIl19
@@ -1,104 +0,0 @@
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 * as i0 from "@angular/core";
7
- import * as i1 from "../../services/scenario.service";
8
- import * as i2 from "@angular/common";
9
- import * as i3 from "../../../dr-inputs/dr-select/dr-select.component";
10
- import * as i4 from "@angular/forms";
11
- import * as i5 from "../../../dr-tags-constructor/dr-tags-constructor.component";
12
- function DrScenarioConfigurationComponent_div_5_Template(rf, ctx) { if (rf & 1) {
13
- const _r2 = i0.ɵɵgetCurrentView();
14
- i0.ɵɵelementStart(0, "div", 5)(1, "dr-tags-constructor", 6);
15
- i0.ɵɵlistener("tagChange", function DrScenarioConfigurationComponent_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 DrScenarioConfigurationComponent_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)); });
16
- i0.ɵɵelementEnd()();
17
- } if (rf & 2) {
18
- const ctx_r0 = i0.ɵɵnextContext();
19
- i0.ɵɵadvance(1);
20
- i0.ɵɵproperty("scenarioTagsConfig", ctx_r0.scenarioTags);
21
- } }
22
- export class DrScenarioConfigurationComponent {
23
- set selectedScenario(scenario) {
24
- if (!Object.values(Scenario).includes(scenario)) {
25
- this._selectedScenario = Scenario.ACTUALS;
26
- return;
27
- }
28
- this._selectedScenario = scenario;
29
- }
30
- get selectedScenario() {
31
- return this._selectedScenario || Scenario.ACTUALS;
32
- }
33
- get scenarioTags() {
34
- return this._scenarioTags;
35
- }
36
- set scenarioTags(tags) {
37
- this._scenarioTags = tags;
38
- this.tagNotSupportingDates = _find(tags, { turnOffDateTags: true });
39
- }
40
- get dateTag() {
41
- return _find(this.scenarioTags, { type: TagTypes.DATE });
42
- }
43
- constructor(scenarioService) {
44
- this.scenarioService = scenarioService;
45
- this._scenarioTags = [];
46
- this.wholeTagsConfig = [];
47
- this.isMultipleDimension = false;
48
- this.isForecastMultipleDimension = false;
49
- this.scenarioDataChanged = new EventEmitter();
50
- }
51
- ngOnInit() {
52
- this.scenarios = this.scenarioService.scenarios;
53
- this.scenarioService.initScenarioTags(this.wholeTagsConfig, this.currentTagsConfig, this.isMultipleDimension, this.isForecastMultipleDimension);
54
- this.scenarioTags = this.scenarioService.getScenarioTagsByScenario(this.selectedScenario);
55
- }
56
- onScenarioChange(scenario) {
57
- this.scenarioTags = this.scenarioService.getScenarioTagsByScenario(scenario);
58
- this.onScenarioDataChange();
59
- }
60
- onScenarioTagToggle(tag) {
61
- this.scenarioService.tagNotSupportingDatesHandler(tag, this.tagNotSupportingDates, this.dateTag);
62
- this.scenarioService.tagAcceptableSubTagsHandler(tag, this.dateTag);
63
- this.onScenarioDataChange();
64
- }
65
- onScenarioDataChange() {
66
- this.scenarioDataChanged.emit({
67
- scenario: this.selectedScenario,
68
- tagsConfig: this.scenarioService.getTagsConfigByScenarioTags(this.scenarioTags, this.wholeTagsConfig),
69
- });
70
- }
71
- /** @nocollapse */ static { this.ɵfac = function DrScenarioConfigurationComponent_Factory(t) { return new (t || DrScenarioConfigurationComponent)(i0.ɵɵdirectiveInject(i1.ScenarioService)); }; }
72
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrScenarioConfigurationComponent, selectors: [["dr-scenario-configuration"]], inputs: { currentTagsConfig: "currentTagsConfig", wholeTagsConfig: "wholeTagsConfig", selectedScenario: "selectedScenario", isMultipleDimension: "isMultipleDimension", isForecastMultipleDimension: "isForecastMultipleDimension" }, outputs: { scenarioDataChanged: "scenarioDataChanged" }, features: [i0.ɵɵProvidersFeature([ScenarioService])], 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 DrScenarioConfigurationComponent_Template(rf, ctx) { if (rf & 1) {
73
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "p", 2);
74
- i0.ɵɵtext(3, "Scenario");
75
- i0.ɵɵelementEnd();
76
- i0.ɵɵelementStart(4, "dr-select", 3);
77
- i0.ɵɵlistener("ngModelChange", function DrScenarioConfigurationComponent_Template_dr_select_ngModelChange_4_listener($event) { return ctx.selectedScenario = $event; })("ngModelChange", function DrScenarioConfigurationComponent_Template_dr_select_ngModelChange_4_listener($event) { return ctx.onScenarioChange($event); });
78
- i0.ɵɵelementEnd()();
79
- i0.ɵɵtemplate(5, DrScenarioConfigurationComponent_div_5_Template, 2, 1, "div", 4);
80
- i0.ɵɵelementEnd();
81
- } if (rf & 2) {
82
- i0.ɵɵadvance(4);
83
- i0.ɵɵproperty("ngModel", ctx.selectedScenario)("items", ctx.scenarios);
84
- i0.ɵɵadvance(1);
85
- i0.ɵɵproperty("ngIf", ctx.scenarioTags == null ? null : ctx.scenarioTags.length);
86
- } }, dependencies: [i2.NgIf, i3.DrSelectComponent, i4.NgControlStatus, i4.NgModel, i5.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 }); }
87
- }
88
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrScenarioConfigurationComponent, [{
89
- type: Component,
90
- args: [{ selector: 'dr-scenario-configuration', 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"] }]
91
- }], function () { return [{ type: i1.ScenarioService }]; }, { currentTagsConfig: [{
92
- type: Input
93
- }], wholeTagsConfig: [{
94
- type: Input
95
- }], selectedScenario: [{
96
- type: Input
97
- }], isMultipleDimension: [{
98
- type: Input
99
- }], isForecastMultipleDimension: [{
100
- type: Input
101
- }], scenarioDataChanged: [{
102
- type: Output
103
- }] }); })();
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBa0IsUUFBUSxFQUF3QixNQUFNLDJCQUEyQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQVEsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7OztJQ0tuQyw4QkFBeUQsNkJBQUE7SUFHakQsa01BQWEsZUFBQSw2QkFBc0IsQ0FBQSxJQUFDLDJMQUN2QixlQUFBLGtDQUFpQyxDQUFBLElBRFY7SUFDWSxpQkFBc0IsRUFBQTs7O0lBRnRFLGVBQW1DO0lBQW5DLHdEQUFtQzs7QURFL0MsTUFBTSxPQUFPLGdDQUFnQztJQVN6QyxJQUFvQixnQkFBZ0IsQ0FBQyxRQUFrQjtRQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDMUMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztJQUN0QyxDQUFDO0lBTUQsSUFBVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxZQUFZLENBQUMsSUFBc0I7UUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBcEM1QyxrQkFBYSxHQUFxQixFQUFFLENBQUM7UUFLN0Isb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFTN0Isd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLGdDQUEyQixHQUFZLEtBQUssQ0FBQztRQUU1Qyx3QkFBbUIsR0FBdUMsSUFBSSxZQUFZLEVBQXdCLENBQUM7SUFtQjdELENBQUM7SUFFakQsUUFBUTtRQUNYLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7UUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDaEosSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxRQUFrQjtRQUN0QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEdBQW1CO1FBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQWlCLEdBQUcsRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pILElBQUksQ0FBQyxlQUFlLENBQUMsMkJBQTJCLENBQWlCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLG9CQUFvQjtRQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQzFCLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUN4RyxDQUFDLENBQUM7SUFDUCxDQUFDO29IQS9EUSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyw4V0FGOUIsQ0FBQyxlQUFlLENBQUM7WUNYaEMsOEJBQXNCLGFBQUEsV0FBQTtZQUVrQyx3QkFBUTtZQUFBLGlCQUFJO1lBQzVELG9DQUkrQztZQUgzQyx1S0FBOEIseUhBR2IsNEJBQXdCLElBSFg7WUFHYSxpQkFBWSxFQUFBO1lBRS9ELGlGQUtNO1lBQ1YsaUJBQU07O1lBWE0sZUFBOEI7WUFBOUIsOENBQThCLHdCQUFBO1lBS1QsZUFBMEI7WUFBMUIsZ0ZBQTBCOzs7dUZESTlDLGdDQUFnQztjQVA1QyxTQUFTOzJCQUNJLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGVBQWUsQ0FBQztrRUFTWixpQkFBaUI7a0JBQWhDLEtBQUs7WUFDVSxlQUFlO2tCQUE5QixLQUFLO1lBQ2MsZ0JBQWdCO2tCQUFuQyxLQUFLO1lBUVUsbUJBQW1CO2tCQUFsQyxLQUFLO1lBQ1UsMkJBQTJCO2tCQUExQyxLQUFLO1lBRVcsbUJBQW1CO2tCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTY2VuYXJpb1RhZ1VpLCBTY2VuYXJpbywgVFNjZW5hcmlvRGF0YUNoYW5nZWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmltcG9ydCB7IFNjZW5hcmlvU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVRhZywgVGFnVHlwZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBmaW5kIGFzIF9maW5kIH0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zY2VuYXJpby1jb25maWd1cmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1NjZW5hcmlvU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIERyU2NlbmFyaW9Db25maWd1cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgc2NlbmFyaW9zOiBTY2VuYXJpb1tdO1xuXG4gICAgcHJpdmF0ZSBfc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdID0gW107XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRTY2VuYXJpbzogU2NlbmFyaW87XG4gICAgcHJpdmF0ZSB0YWdOb3RTdXBwb3J0aW5nRGF0ZXM6IElTY2VuYXJpb1RhZ1VpO1xuXG4gICAgQElucHV0KCkgcHVibGljIGN1cnJlbnRUYWdzQ29uZmlnOiBJVGFnW107XG4gICAgQElucHV0KCkgcHVibGljIHdob2xlVGFnc0NvbmZpZzogSVRhZ1tdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RlZFNjZW5hcmlvKHNjZW5hcmlvOiBTY2VuYXJpbykge1xuICAgICAgICBpZiAoIU9iamVjdC52YWx1ZXMoU2NlbmFyaW8pLmluY2x1ZGVzKHNjZW5hcmlvKSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTY2VuYXJpbyA9IFNjZW5hcmlvLkFDVFVBTFM7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZWxlY3RlZFNjZW5hcmlvID0gc2NlbmFyaW87XG4gICAgfVxuICAgIEBJbnB1dCgpIHB1YmxpYyBpc011bHRpcGxlRGltZW5zaW9uOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGlzRm9yZWNhc3RNdWx0aXBsZURpbWVuc2lvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzY2VuYXJpb0RhdGFDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8VFNjZW5hcmlvRGF0YUNoYW5nZWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUU2NlbmFyaW9EYXRhQ2hhbmdlZD4oKTtcblxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWRTY2VuYXJpbygpOiBTY2VuYXJpbyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZFNjZW5hcmlvIHx8IFNjZW5hcmlvLkFDVFVBTFM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzY2VuYXJpb1RhZ3MoKTogSVNjZW5hcmlvVGFnVWlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zY2VuYXJpb1RhZ3M7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBzY2VuYXJpb1RhZ3ModGFnczogSVNjZW5hcmlvVGFnVWlbXSkge1xuICAgICAgICB0aGlzLl9zY2VuYXJpb1RhZ3MgPSB0YWdzO1xuICAgICAgICB0aGlzLnRhZ05vdFN1cHBvcnRpbmdEYXRlcyA9IF9maW5kKHRhZ3MsIHsgdHVybk9mZkRhdGVUYWdzOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVRhZygpOiBJU2NlbmFyaW9UYWdVaSB7XG4gICAgICAgIHJldHVybiBfZmluZCh0aGlzLnNjZW5hcmlvVGFncywgeyB0eXBlOiBUYWdUeXBlcy5EQVRFIH0pO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc2NlbmFyaW9TZXJ2aWNlOiBTY2VuYXJpb1NlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9zID0gdGhpcy5zY2VuYXJpb1NlcnZpY2Uuc2NlbmFyaW9zO1xuICAgICAgICB0aGlzLnNjZW5hcmlvU2VydmljZS5pbml0U2NlbmFyaW9UYWdzKHRoaXMud2hvbGVUYWdzQ29uZmlnLCB0aGlzLmN1cnJlbnRUYWdzQ29uZmlnLCB0aGlzLmlzTXVsdGlwbGVEaW1lbnNpb24sIHRoaXMuaXNGb3JlY2FzdE11bHRpcGxlRGltZW5zaW9uKTtcbiAgICAgICAgdGhpcy5zY2VuYXJpb1RhZ3MgPSB0aGlzLnNjZW5hcmlvU2VydmljZS5nZXRTY2VuYXJpb1RhZ3NCeVNjZW5hcmlvKHRoaXMuc2VsZWN0ZWRTY2VuYXJpbyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2NlbmFyaW9DaGFuZ2Uoc2NlbmFyaW86IFNjZW5hcmlvKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9UYWdzID0gdGhpcy5zY2VuYXJpb1NlcnZpY2UuZ2V0U2NlbmFyaW9UYWdzQnlTY2VuYXJpbyhzY2VuYXJpbyk7XG4gICAgICAgIHRoaXMub25TY2VuYXJpb0RhdGFDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TY2VuYXJpb1RhZ1RvZ2dsZSh0YWc6IElTY2VuYXJpb1RhZ1VpKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9TZXJ2aWNlLnRhZ05vdFN1cHBvcnRpbmdEYXRlc0hhbmRsZXI8SVNjZW5hcmlvVGFnVWk+KHRhZywgdGhpcy50YWdOb3RTdXBwb3J0aW5nRGF0ZXMsIHRoaXMuZGF0ZVRhZyk7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9TZXJ2aWNlLnRhZ0FjY2VwdGFibGVTdWJUYWdzSGFuZGxlcjxJU2NlbmFyaW9UYWdVaT4odGFnLCB0aGlzLmRhdGVUYWcpO1xuICAgICAgICB0aGlzLm9uU2NlbmFyaW9EYXRhQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2NlbmFyaW9EYXRhQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjZW5hcmlvRGF0YUNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBzY2VuYXJpbzogdGhpcy5zZWxlY3RlZFNjZW5hcmlvLFxuICAgICAgICAgICAgdGFnc0NvbmZpZzogdGhpcy5zY2VuYXJpb1NlcnZpY2UuZ2V0VGFnc0NvbmZpZ0J5U2NlbmFyaW9UYWdzKHRoaXMuc2NlbmFyaW9UYWdzLCB0aGlzLndob2xlVGFnc0NvbmZpZyksXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzY2VuYXJpb1wiPlxuICAgIDxkaXYgY2xhc3M9XCJzY2VuYXJpb19fbGlzdFwiPlxuICAgICAgICA8cCBjbGFzcz1cInNjZW5hcmlvX190aXRsZSBzY2VuYXJpb19fdGl0bGUtbGlzdFwiPlNjZW5hcmlvPC9wPlxuICAgICAgICA8ZHItc2VsZWN0XG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU2NlbmFyaW9cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3RcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cInNjZW5hcmlvc1wiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblNjZW5hcmlvQ2hhbmdlKCRldmVudClcIj48L2RyLXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic2NlbmFyaW9fX3RhZ3NcIiAqbmdJZj1cInNjZW5hcmlvVGFncz8ubGVuZ3RoXCI+XG4gICAgICAgIDxkci10YWdzLWNvbnN0cnVjdG9yXG4gICAgICAgICAgICBbc2NlbmFyaW9UYWdzQ29uZmlnXT1cInNjZW5hcmlvVGFnc1wiXG4gICAgICAgICAgICAodGFnQ2hhbmdlKT1cIm9uU2NlbmFyaW9EYXRhQ2hhbmdlKClcIlxuICAgICAgICAgICAgKHRhZ1RvZ2dsZSk9XCJvblNjZW5hcmlvVGFnVG9nZ2xlKCRhbnkoJGV2ZW50KSlcIj48L2RyLXRhZ3MtY29uc3RydWN0b3I+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,100 +0,0 @@
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 * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../../../dr-tags/dr-tag.component";
7
- function DrScenarioTagConfigurationComponent_div_0_Template(rf, ctx) { if (rf & 1) {
8
- const _r3 = i0.ɵɵgetCurrentView();
9
- i0.ɵɵelementStart(0, "div", 1)(1, "dr-tag", 2);
10
- i0.ɵɵlistener("tagChange", function DrScenarioTagConfigurationComponent_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 DrScenarioTagConfigurationComponent_div_0_Template_dr_tag_dynamicTagChange_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onDynamicTagsChange($event)); });
11
- i0.ɵɵelementEnd()();
12
- } if (rf & 2) {
13
- const tagConfig_r1 = ctx.$implicit;
14
- const ctx_r0 = i0.ɵɵnextContext();
15
- i0.ɵɵadvance(1);
16
- 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);
17
- } }
18
- export class DrScenarioTagConfigurationComponent {
19
- constructor() {
20
- this.connectedTags = {};
21
- this.dynamicTagValues = {};
22
- this.lockedDates = [];
23
- this.scenarioTagDataChanged = new EventEmitter();
24
- this.currentTagsMap = {};
25
- this._currentTags = [];
26
- this.dynamicTagsToSave = [];
27
- this.tagsToSave = [];
28
- }
29
- set currentTags(tags) {
30
- this._currentTags = tags;
31
- this.currentTagsMap = _reduce(tags, (acc, curr) => {
32
- const tagId = _find(this.tagsConfig, { name: curr.name })?.id;
33
- if (isNaN(tagId))
34
- return acc;
35
- acc[tagId] = curr;
36
- return acc;
37
- }, {});
38
- }
39
- get currentTags() {
40
- return this._currentTags;
41
- }
42
- ngOnChanges(simpleChanges) {
43
- this.currentTags = this.currentTags;
44
- }
45
- onTagChange($event) {
46
- const savedTag = _find(this.tagsToSave, { id: $event.id });
47
- if (savedTag) {
48
- _merge(savedTag, $event);
49
- }
50
- else {
51
- this.tagsToSave.push($event);
52
- }
53
- this.onScenarioTagDataChanged();
54
- }
55
- onDynamicTagsChange($event) {
56
- this.dynamicTagsToSave = $event;
57
- this.onScenarioTagDataChanged();
58
- }
59
- onScenarioTagDataChanged() {
60
- const tags = [...this.dynamicTagsToSave, ...this.tagsToSave];
61
- this.scenarioTagDataChanged.emit({
62
- scenario: this.scenario,
63
- tagsConfig: this.tagsConfig,
64
- tags,
65
- });
66
- }
67
- /** @nocollapse */ static { this.ɵfac = function DrScenarioTagConfigurationComponent_Factory(t) { return new (t || DrScenarioTagConfigurationComponent)(); }; }
68
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrScenarioTagConfigurationComponent, selectors: [["dr-scenario-tag-configuration"]], inputs: { tagsConfig: "tagsConfig", currentTags: "currentTags", scenario: "scenario", connectedTags: "connectedTags", dynamicTagValues: "dynamicTagValues", tagAdditionalSettings: "tagAdditionalSettings", lockedDates: "lockedDates", fiscalYearStartsFrom: "fiscalYearStartsFrom", fiscalYearBack: "fiscalYearBack", isDynamicAddEnabled: "isDynamicAddEnabled" }, outputs: { scenarioTagDataChanged: "scenarioTagDataChanged" }, features: [i0.ɵɵNgOnChangesFeature], 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 DrScenarioTagConfigurationComponent_Template(rf, ctx) { if (rf & 1) {
69
- i0.ɵɵtemplate(0, DrScenarioTagConfigurationComponent_div_0_Template, 2, 10, "div", 0);
70
- } if (rf & 2) {
71
- i0.ɵɵproperty("ngForOf", ctx.tagsConfig);
72
- } }, dependencies: [i1.NgForOf, i2.DrTagComponent], styles: [".scenario-tag-configuration[_ngcontent-%COMP%]{margin-bottom:24px}.scenario-tag-configuration[_ngcontent-%COMP%]:last-child{margin-bottom:0}"], changeDetection: 0 }); }
73
- }
74
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrScenarioTagConfigurationComponent, [{
75
- type: Component,
76
- args: [{ selector: 'dr-scenario-tag-configuration', 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"] }]
77
- }], null, { tagsConfig: [{
78
- type: Input
79
- }], currentTags: [{
80
- type: Input
81
- }], scenario: [{
82
- type: Input
83
- }], connectedTags: [{
84
- type: Input
85
- }], dynamicTagValues: [{
86
- type: Input
87
- }], tagAdditionalSettings: [{
88
- type: Input
89
- }], lockedDates: [{
90
- type: Input
91
- }], fiscalYearStartsFrom: [{
92
- type: Input
93
- }], fiscalYearBack: [{
94
- type: Input
95
- }], isDynamicAddEnabled: [{
96
- type: Input
97
- }], scenarioTagDataChanged: [{
98
- type: Output
99
- }] }); })();
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRTFILE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUF3QixNQUFNLDJCQUEyQixDQUFDOzs7Ozs7SUNIM0UsOEJBQTZFLGdCQUFBO0lBWXJFLDhMQUFhLGVBQUEsMEJBQW1CLENBQUEsSUFBQywrTEFDYixlQUFBLGtDQUEyQixDQUFBLElBRGQ7SUFDZ0IsaUJBQVMsRUFBQTs7OztJQVgxRCxlQUF1QjtJQUF2Qix3Q0FBdUIsdURBQUEsa0NBQUEscURBQUEseUNBQUEsaUNBQUEsNkNBQUEsd0RBQUEsc0RBQUEsdURBQUE7O0FEVS9CLE1BQU0sT0FBTyxtQ0FBbUM7SUFOaEQ7UUF3Qm9CLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FB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dEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRhZywgSVRhZ0ZvclNlcnZlciwgVENvbm5lY3RlZFRhZ3MsIFREeW5hbWljVGFnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgcmVkdWNlIGFzIF9yZWR1Y2UsIGZpbmQgYXMgX2ZpbmQsIG1lcmdlIGFzIF9tZXJnZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTY2VuYXJpbywgVFNjZW5hcmlvRGF0YUNoYW5nZWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmltcG9ydCB7IElUYWdBZGRpdGlvbmFsU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9kci10YWdzL2RyLXRhZy50eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRHJTY2VuYXJpb1RhZ0NvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0YWdzQ29uZmlnOiBJVGFnW107XG4gICAgQElucHV0KCkgcHVibGljIHNldCBjdXJyZW50VGFncyh0YWdzOiBJVGFnRm9yU2VydmVyW10pIHtcbiAgICAgICAgdGhpcy5fY3VycmVudFRhZ3MgPSB0YWdzO1xuICAgICAgICB0aGlzLmN1cnJlbnRUYWdzTWFwID0gX3JlZHVjZShcbiAgICAgICAgICAgIHRhZ3MsXG4gICAgICAgICAgICAoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFnSWQgPSBfZmluZCh0aGlzLnRhZ3NDb25maWcsIHsgbmFtZTogY3Vyci5uYW1lIH0pPy5pZDtcbiAgICAgICAgICAgICAgICBpZiAoaXNOYU4odGFnSWQpKSByZXR1cm4gYWNjO1xuXG4gICAgICAgICAgICAgICAgYWNjW3RhZ0lkXSA9IGN1cnI7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2NlbmFyaW86IFNjZW5hcmlvO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb25uZWN0ZWRUYWdzOiBUQ29ubmVjdGVkVGFncyA9IHt9O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkeW5hbWljVGFnVmFsdWVzOiBURHluYW1pY1RhZyA9IHt9O1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0YWdBZGRpdGlvbmFsU2V0dGluZ3M6IFJlY29yZDxzdHJpbmcsIElUYWdBZGRpdGlvbmFsU2V0dGluZ3M+O1xuXG4gICAgQElucHV0KCkgcHVibGljIGxvY2tlZERhdGVzOiBzdHJpbmdbXSB8IG51bWJlcltdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIGZpc2NhbFllYXJTdGFydHNGcm9tOiBudW1iZXI7XG4gICAgQElucHV0KCkgcHVibGljIGZpc2NhbFllYXJCYWNrOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0R5bmFtaWNBZGRFbmFibGVkOiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzY2VuYXJpb1RhZ0RhdGFDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8VFNjZW5hcmlvRGF0YUNoYW5nZWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUU2NlbmFyaW9EYXRhQ2hhbmdlZD4oKTtcblxuICAgIHB1YmxpYyBjdXJyZW50VGFnc01hcDogeyBbdGFnSWQ6IG51bWJlcl06IElUYWdGb3JTZXJ2ZXIgfSA9IHt9O1xuXG4gICAgcHJpdmF0ZSBfY3VycmVudFRhZ3M6IElUYWdGb3JTZXJ2ZXJbXSA9IFtdO1xuICAgIHByaXZhdGUgZHluYW1pY1RhZ3NUb1NhdmU6IElUYWdGb3JTZXJ2ZXJbXSA9IFtdO1xuICAgIHByaXZhdGUgdGFnc1RvU2F2ZTogSVRhZ0ZvclNlcnZlcltdID0gW107XG5cbiAgICBwdWJsaWMgZ2V0IGN1cnJlbnRUYWdzKCk6IElUYWdGb3JTZXJ2ZXJbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jdXJyZW50VGFncztcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRUYWdzID0gdGhpcy5jdXJyZW50VGFncztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25UYWdDaGFuZ2UoJGV2ZW50OiBJVGFnRm9yU2VydmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNhdmVkVGFnID0gX2ZpbmQodGhpcy50YWdzVG9TYXZlLCB7IGlkOiAkZXZlbnQuaWQgfSk7XG5cbiAgICAgICAgaWYgKHNhdmVkVGFnKSB7XG4gICAgICAgICAgICBfbWVyZ2Uoc2F2ZWRUYWcsICRldmVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRhZ3NUb1NhdmUucHVzaCgkZXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vblNjZW5hcmlvVGFnRGF0YUNoYW5nZWQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EeW5hbWljVGFnc0NoYW5nZSgkZXZlbnQ6IElUYWdGb3JTZXJ2ZXJbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmR5bmFtaWNUYWdzVG9TYXZlID0gJGV2ZW50O1xuICAgICAgICB0aGlzLm9uU2NlbmFyaW9UYWdEYXRhQ2hhbmdlZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNjZW5hcmlvVGFnRGF0YUNoYW5nZWQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhZ3MgPSBbLi4udGhpcy5keW5hbWljVGFnc1RvU2F2ZSwgLi4udGhpcy50YWdzVG9TYXZlXTtcbiAgICAgICAgdGhpcy5zY2VuYXJpb1RhZ0RhdGFDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgICAgc2NlbmFyaW86IHRoaXMuc2NlbmFyaW8sXG4gICAgICAgICAgICB0YWdzQ29uZmlnOiB0aGlzLnRhZ3NDb25maWcsXG4gICAgICAgICAgICB0YWdzLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb25cIiAqbmdGb3I9XCJsZXQgdGFnQ29uZmlnIG9mIHRhZ3NDb25maWdcIj5cbiAgICA8ZHItdGFnXG4gICAgICAgIFt0YWdDb25maWddPVwidGFnQ29uZmlnXCJcbiAgICAgICAgW3NlbGVjdGVkVGFnXT1cImN1cnJlbnRUYWdzTWFwW3RhZ0NvbmZpZy5pZF1cIlxuICAgICAgICBbbG9ja2VkRGF0ZV09XCJsb2NrZWREYXRlc1wiXG4gICAgICAgIFtmaXNjYWxZZWFyU3RhcnRzRnJvbV09XCJmaXNjYWxZZWFyU3RhcnRzRnJvbVwiXG4gICAgICAgIFtmaXNjYWxZZWFyQmFja109XCJmaXNjYWxZZWFyQmFja1wiXG4gICAgICAgIFt0YWdzQ29uZmlnXT1cInRhZ3NDb25maWdcIlxuICAgICAgICBbZHluYW1pY1RhZ1ZhbHVlc109XCJkeW5hbWljVGFnVmFsdWVzXCJcbiAgICAgICAgW2Nvbm5lY3RlZFRhZ3NdPVwiY29ubmVjdGVkVGFnc1t0YWdDb25maWcuaWRdXCJcbiAgICAgICAgW2lzRHluYW1pY1RhZ0FkZEVuYWJsZWRdPVwiaXNEeW5hbWljQWRkRW5hYmxlZFwiXG4gICAgICAgIFt0YWdBZGRpdGlvbmFsU2V0dGluZ3NdPVwidGFnQWRkaXRpb25hbFNldHRpbmdzXCJcbiAgICAgICAgKHRhZ0NoYW5nZSk9XCJvblRhZ0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGR5bmFtaWNUYWdDaGFuZ2UpPVwib25EeW5hbWljVGFnc0NoYW5nZSgkZXZlbnQpXCI+PC9kci10YWc+XG48L2Rpdj5cbiJdfQ==