@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,126 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import { AnyTagComponent } from '../any-tag.component';
3
- import moment from 'moment';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- import * as i2 from "../../dr-inputs/dr-select/dr-select.component";
7
- export class QuarterTagComponent extends AnyTagComponent {
8
- get isLocked() {
9
- return this.quarters ? this.quarters.some((quarter) => !this.dateFilter(moment.unix(quarter.value))) : false;
10
- }
11
- constructor() {
12
- super();
13
- this.lockedDate = [];
14
- this.selectedValue = 0;
15
- this.quarters = [];
16
- }
17
- ngOnChanges(changes) {
18
- if (changes.lockedDate) {
19
- this.initName();
20
- this.initTags();
21
- }
22
- }
23
- ngOnInit() {
24
- this.initName();
25
- this.initTags();
26
- }
27
- initName() {
28
- if (!this.name) {
29
- this.name = 'Quarter';
30
- }
31
- }
32
- initTags() {
33
- this.quarters = this.getQuarterOptions();
34
- for (const quarter of this.quarters) {
35
- if (quarter.isSelected) {
36
- this.selectedValue = quarter;
37
- this.chosenTagHandler(quarter);
38
- }
39
- this.dateFilter(quarter);
40
- }
41
- }
42
- chosenTagHandler(quarter) {
43
- const resultDate = moment.unix(quarter.value);
44
- const resultTag = {
45
- name: this.name,
46
- value: resultDate.unix(),
47
- label: this.getQuarterLabel(resultDate.toString()),
48
- locked: !this.dateFilter(quarter),
49
- };
50
- this.dateChange.emit(resultTag);
51
- }
52
- getQuarterOptions() {
53
- const quartersBeforeToday = 8;
54
- const quartersAfterToday = 8;
55
- const dateNow = new Date();
56
- const dateNowUnix = this.getUTCTimestamp(dateNow);
57
- let defaultValue = dateNowUnix;
58
- let tempDate = new Date();
59
- if (this.defaultValue) {
60
- defaultValue = this.defaultValue * 1000;
61
- }
62
- let afterDefault = Math.round(Math.abs(dateNowUnix - defaultValue) / 7776000000) + quartersAfterToday;
63
- afterDefault = Math.min(afterDefault, 100);
64
- let i;
65
- let tempValue;
66
- const to_return = [];
67
- for (i = 0 - quartersBeforeToday; i <= afterDefault; i++) {
68
- tempDate = new Date(defaultValue);
69
- tempDate.setDate(15);
70
- tempDate.setMonth(tempDate.getMonth() + 3 * i);
71
- tempValue = this.getUTCTimestamp(tempDate);
72
- to_return.push({
73
- value: tempValue / 1000,
74
- label: this.getQuarterLabel(tempValue),
75
- isSelected: i === 0,
76
- disabled: false,
77
- });
78
- }
79
- return to_return;
80
- }
81
- getQuarterLabel(timeValue) {
82
- const date = new Date(timeValue);
83
- return 'Q' + Math.floor(date.getMonth() / 3 + 1) + ' ' + date.getFullYear();
84
- }
85
- getUTCTimestamp(date) {
86
- const month = Math.floor(date.getMonth() / 3) * 3;
87
- return Date.UTC(date.getFullYear(), month, 1, 12, 0, 0, 0);
88
- }
89
- dateFilter(quarter) {
90
- const quarterDate = moment.unix(quarter.value);
91
- return !this.lockedDate.some((timestamp) => {
92
- const lockDate = moment.unix(timestamp);
93
- if (lockDate.year() === quarterDate.year() && lockDate.quarter() === quarterDate.quarter()) {
94
- quarter.disabled = true;
95
- return true;
96
- }
97
- return false;
98
- });
99
- }
100
- /** @nocollapse */ static { this.ɵfac = function QuarterTagComponent_Factory(t) { return new (t || QuarterTagComponent)(); }; }
101
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: QuarterTagComponent, selectors: [["quarter-tag"]], hostVars: 2, hostBindings: function QuarterTagComponent_HostBindings(rf, ctx) { if (rf & 2) {
102
- i0.ɵɵclassProp("locked", ctx.isLocked);
103
- } }, inputs: { lockedDate: "lockedDate" }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], decls: 4, vars: 4, consts: [[1, "tag-wrapper", "quarter-tag"], [1, "tag__label"], ["placeholder", "Select", "bindLabel", "label", "dropdownClass", "quarter-tag__select dr-tag__select", 1, "quarter-tag__list", 3, "ngModel", "disabled", "items", "ngModelChange"]], template: function QuarterTagComponent_Template(rf, ctx) { if (rf & 1) {
104
- i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
105
- i0.ɵɵtext(2);
106
- i0.ɵɵelementEnd();
107
- i0.ɵɵelementStart(3, "dr-select", 2);
108
- i0.ɵɵlistener("ngModelChange", function QuarterTagComponent_Template_dr_select_ngModelChange_3_listener($event) { return ctx.selectedValue = $event; })("ngModelChange", function QuarterTagComponent_Template_dr_select_ngModelChange_3_listener($event) { return ctx.chosenTagHandler($event); });
109
- i0.ɵɵelementEnd()();
110
- } if (rf & 2) {
111
- i0.ɵɵadvance(2);
112
- i0.ɵɵtextInterpolate(ctx.name);
113
- i0.ɵɵadvance(1);
114
- i0.ɵɵproperty("ngModel", ctx.selectedValue)("disabled", ctx.disabled)("items", ctx.quarters);
115
- } }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.DrSelectComponent], styles: [".locked[_nghost-%COMP%] > .tag-wrapper[_ngcontent-%COMP%] > dr-select.quarter-tag__list[_ngcontent-%COMP%]{opacity:.4}.tag__label[_ngcontent-%COMP%]{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}"] }); }
116
- }
117
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(QuarterTagComponent, [{
118
- type: Component,
119
- args: [{ selector: 'quarter-tag', template: "<div class=\"tag-wrapper quarter-tag\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-select\n class=\"quarter-tag__list\"\n placeholder=\"Select\"\n bindLabel=\"label\"\n [(ngModel)]=\"selectedValue\"\n [disabled]=\"disabled\"\n [items]=\"quarters\"\n dropdownClass=\"quarter-tag__select dr-tag__select\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-select>\n</div>\n", styles: [":host.locked>.tag-wrapper>dr-select.quarter-tag__list{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"] }]
120
- }], function () { return []; }, { isLocked: [{
121
- type: HostBinding,
122
- args: ['class.locked']
123
- }], lockedDate: [{
124
- type: Input
125
- }] }); })();
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcnRlci10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZGF0ZS10YWdzL3F1YXJ0ZXItdGFnL3F1YXJ0ZXItdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy9xdWFydGVyLXRhZy9xdWFydGVyLXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7QUFPNUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUFDcEQsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pILENBQUM7SUFNRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBTEgsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixhQUFRLEdBQVUsRUFBRSxDQUFDO0lBSXJCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJ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Z0JBQ3hGLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUN4QixPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3VHQTVHUSxtQkFBbUI7bUdBQW5CLG1CQUFtQjs7O1lDVmhDLDhCQUFxQyxXQUFBO1lBQ1gsWUFBVTtZQUFBLGlCQUFJO1lBQ3BDLG9DQVErQztZQUozQyx1SkFBMkIsNEdBSVYsNEJBQXdCLElBSmQ7WUFJZ0IsaUJBQVksRUFBQTs7WUFUckMsZUFBVTtZQUFWLDhCQUFVO1lBSzVCLGVBQTJCO1lBQTNCLDJDQUEyQiwwQkFBQSx1QkFBQTs7O3VGREl0QixtQkFBbUI7Y0FML0IsU0FBUzsyQkFHSSxhQUFhO3NDQUluQixRQUFRO2tCQURYLFdBQVc7bUJBQUMsY0FBYztZQUtsQixVQUFVO2tCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRGF0ZVRhZyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCB7IEFueVRhZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FueS10YWcuY29tcG9uZW50JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICdxdWFydGVyLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcXVhcnRlci10YWcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzZWxlY3RvcjogJ3F1YXJ0ZXItdGFnJyxcbn0pXG5leHBvcnQgY2xhc3MgUXVhcnRlclRhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvY2tlZCcpXG4gICAgZ2V0IGlzTG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5xdWFydGVycyA/IHRoaXMucXVhcnRlcnMuc29tZSgocXVhcnRlcikgPT4gIXRoaXMuZGF0ZUZpbHRlcihtb21lbnQudW5peChxdWFydGVyLnZhbHVlKSkpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbG9ja2VkRGF0ZTogYW55W10gPSBbXTtcbiAgICBzZWxlY3RlZFZhbHVlID0gMDtcbiAgICBxdWFydGVyczogYW55W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXMubG9ja2VkRGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5pbml0TmFtZSgpO1xuICAgICAgICAgICAgdGhpcy5pbml0VGFncygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdE5hbWUoKTtcbiAgICAgICAgdGhpcy5pbml0VGFncygpO1xuICAgIH1cblxuICAgIGluaXROYW1lKCkge1xuICAgICAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gJ1F1YXJ0ZXInO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdFRhZ3MoKSB7XG4gICAgICAgIHRoaXMucXVhcnRlcnMgPSB0aGlzLmdldFF1YXJ0ZXJPcHRpb25zKCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBxdWFydGVyIG9mIHRoaXMucXVhcnRlcnMpIHtcbiAgICAgICAgICAgIGlmIChxdWFydGVyLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBxdWFydGVyO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcihxdWFydGVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5kYXRlRmlsdGVyKHF1YXJ0ZXIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hvc2VuVGFnSGFuZGxlcihxdWFydGVyKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdERhdGUgPSBtb21lbnQudW5peChxdWFydGVyLnZhbHVlKTtcbiAgICAgICAgY29uc3QgcmVzdWx0VGFnOiBJRGF0ZVRhZyA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiByZXN1bHREYXRlLnVuaXgoKSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFF1YXJ0ZXJMYWJlbChyZXN1bHREYXRlLnRvU3RyaW5nKCkpLFxuICAgICAgICAgICAgbG9ja2VkOiAhdGhpcy5kYXRlRmlsdGVyKHF1YXJ0ZXIpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChyZXN1bHRUYWcpO1xuICAgIH1cblxuICAgIGdldFF1YXJ0ZXJPcHRpb25zKCkge1xuICAgICAgICBjb25zdCBxdWFydGVyc0JlZm9yZVRvZGF5ID0gODtcbiAgICAgICAgY29uc3QgcXVhcnRlcnNBZnRlclRvZGF5ID0gODtcbiAgICAgICAgY29uc3QgZGF0ZU5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IGRhdGVOb3dVbml4ID0gdGhpcy5nZXRVVENUaW1lc3RhbXAoZGF0ZU5vdyk7XG4gICAgICAgIGxldCBkZWZhdWx0VmFsdWUgPSBkYXRlTm93VW5peDtcbiAgICAgICAgbGV0IHRlbXBEYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlKSB7XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWUgPSB0aGlzLmRlZmF1bHRWYWx1ZSAqIDEwMDA7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYWZ0ZXJEZWZhdWx0ID0gTWF0aC5yb3VuZChNYXRoLmFicyhkYXRlTm93VW5peCAtIGRlZmF1bHRWYWx1ZSkgLyA3Nzc2MDAwMDAwKSArIHF1YXJ0ZXJzQWZ0ZXJUb2RheTtcbiAgICAgICAgYWZ0ZXJEZWZhdWx0ID0gTWF0aC5taW4oYWZ0ZXJEZWZhdWx0LCAxMDApO1xuICAgICAgICBsZXQgaTtcbiAgICAgICAgbGV0IHRlbXBWYWx1ZTtcbiAgICAgICAgY29uc3QgdG9fcmV0dXJuOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IgKGkgPSAwIC0gcXVhcnRlcnNCZWZvcmVUb2RheTsgaSA8PSBhZnRlckRlZmF1bHQ7IGkrKykge1xuICAgICAgICAgICAgdGVtcERhdGUgPSBuZXcgRGF0ZShkZWZhdWx0VmFsdWUpO1xuICAgICAgICAgICAgdGVtcERhdGUuc2V0RGF0ZSgxNSk7XG4gICAgICAgICAgICB0ZW1wRGF0ZS5zZXRNb250aCh0ZW1wRGF0ZS5nZXRNb250aCgpICsgMyAqIGkpO1xuICAgICAgICAgICAgdGVtcFZhbHVlID0gdGhpcy5nZXRVVENUaW1lc3RhbXAodGVtcERhdGUpO1xuICAgICAgICAgICAgdG9fcmV0dXJuLnB1c2goe1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wVmFsdWUgLyAxMDAwLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFF1YXJ0ZXJMYWJlbCh0ZW1wVmFsdWUpLFxuICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ6IGkgPT09IDAsXG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRvX3JldHVybjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFF1YXJ0ZXJMYWJlbCh0aW1lVmFsdWUpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHRpbWVWYWx1ZSk7XG4gICAgICAgIHJldHVybiAnUScgKyBNYXRoLmZsb29yKGRhdGUuZ2V0TW9udGgoKSAvIDMgKyAxKSArICcgJyArIGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVUQ1RpbWVzdGFtcChkYXRlKSB7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gTWF0aC5mbG9vcihkYXRlLmdldE1vbnRoKCkgLyAzKSAqIDM7XG4gICAgICAgIHJldHVybiBEYXRlLlVUQyhkYXRlLmdldEZ1bGxZZWFyKCksIG1vbnRoLCAxLCAxMiwgMCwgMCwgMCk7XG4gICAgfVxuXG4gICAgZGF0ZUZpbHRlcihxdWFydGVyKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJEYXRlID0gbW9tZW50LnVuaXgocXVhcnRlci52YWx1ZSk7XG4gICAgICAgIHJldHVybiAhdGhpcy5sb2NrZWREYXRlLnNvbWUoKHRpbWVzdGFtcCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9ja0RhdGUgPSBtb21lbnQudW5peCh0aW1lc3RhbXApO1xuICAgICAgICAgICAgaWYgKGxvY2tEYXRlLnllYXIoKSA9PT0gcXVhcnRlckRhdGUueWVhcigpICYmIGxvY2tEYXRlLnF1YXJ0ZXIoKSA9PT0gcXVhcnRlckRhdGUucXVhcnRlcigpKSB7XG4gICAgICAgICAgICAgICAgcXVhcnRlci5kaXNhYmxlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhZy13cmFwcGVyIHF1YXJ0ZXItdGFnXCI+XG4gICAgPHAgY2xhc3M9XCJ0YWdfX2xhYmVsXCI+e3sgbmFtZSB9fTwvcD5cbiAgICA8ZHItc2VsZWN0XG4gICAgICAgIGNsYXNzPVwicXVhcnRlci10YWdfX2xpc3RcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdFwiXG4gICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFZhbHVlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2l0ZW1zXT1cInF1YXJ0ZXJzXCJcbiAgICAgICAgZHJvcGRvd25DbGFzcz1cInF1YXJ0ZXItdGFnX19zZWxlY3QgZHItdGFnX19zZWxlY3RcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaG9zZW5UYWdIYW5kbGVyKCRldmVudClcIj48L2RyLXNlbGVjdD5cbjwvZGl2PlxuIl19
@@ -1,102 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import { AnyTagComponent } from '../any-tag.component';
3
- import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
4
- import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';
5
- import moment from 'moment';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "../../dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component";
9
- const WEEK_FORMATS = {
10
- parse: {
11
- dateInput: 'WW-YYYY',
12
- },
13
- display: {
14
- dateInput: '[Week] WW, YYYY',
15
- monthYearLabel: 'MMMM YYYY',
16
- dateA11yLabel: 'LL',
17
- monthYearA11yLabel: 'MMMM YYYY',
18
- },
19
- };
20
- export class WeekTagComponent extends AnyTagComponent {
21
- get isLocked() {
22
- return this.date ? !this.dateFilter(moment.unix(this.date)) : false;
23
- }
24
- constructor() {
25
- super();
26
- this.lockedDate = [];
27
- }
28
- ngOnInit() {
29
- this.initName();
30
- const timestamp = this.defaultValue || moment().unix();
31
- this.date = timestamp;
32
- this.dateObj.date = timestamp;
33
- this.chosenTagHandler(timestamp);
34
- }
35
- initName() {
36
- if (!this.name) {
37
- this.name = 'Week';
38
- }
39
- }
40
- dateFilter(date) {
41
- const week = date.week();
42
- const year = date.year();
43
- return !this.lockedDate.some((timestamp) => {
44
- const lockDate = moment.unix(timestamp);
45
- return lockDate.week() === week && lockDate.year() === year;
46
- });
47
- }
48
- chosenTagHandler(value) {
49
- const resultDate = moment.unix(value).utc().weekday(1);
50
- const resultTag = {
51
- name: this.name,
52
- value: resultDate.unix(),
53
- label: this.getWeekLabel(resultDate),
54
- locked: !this.dateFilter(resultDate),
55
- };
56
- console.log('resultTag', resultTag);
57
- this.dateChange.emit(resultTag);
58
- }
59
- getWeekLabel(moment) {
60
- return `W${moment.week()} ${moment.year()}`;
61
- }
62
- /** @nocollapse */ static { this.ɵfac = function WeekTagComponent_Factory(t) { return new (t || WeekTagComponent)(); }; }
63
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: WeekTagComponent, selectors: [["week-tag"]], hostVars: 2, hostBindings: function WeekTagComponent_HostBindings(rf, ctx) { if (rf & 2) {
64
- i0.ɵɵclassProp("locked", ctx.isLocked);
65
- } }, inputs: { lockedDate: "lockedDate" }, features: [i0.ɵɵProvidersFeature([
66
- {
67
- provide: DateAdapter,
68
- useClass: MomentDateAdapter,
69
- deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
70
- },
71
- { provide: MAT_DATE_FORMATS, useValue: WEEK_FORMATS },
72
- ]), i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 4, consts: [[1, "tag-wrapper"], [1, "tag__label"], ["format", "week", 3, "ngModel", "disabled", "datepickerFilter", "ngModelChange"]], template: function WeekTagComponent_Template(rf, ctx) { if (rf & 1) {
73
- i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
74
- i0.ɵɵtext(2);
75
- i0.ɵɵelementEnd();
76
- i0.ɵɵelementStart(3, "dr-date-picker", 2);
77
- i0.ɵɵlistener("ngModelChange", function WeekTagComponent_Template_dr_date_picker_ngModelChange_3_listener($event) { return ctx.date = $event; })("ngModelChange", function WeekTagComponent_Template_dr_date_picker_ngModelChange_3_listener($event) { return ctx.chosenTagHandler($event); });
78
- i0.ɵɵelementEnd()();
79
- } if (rf & 2) {
80
- i0.ɵɵadvance(2);
81
- i0.ɵɵtextInterpolate(ctx.name);
82
- i0.ɵɵadvance(1);
83
- i0.ɵɵproperty("ngModel", ctx.date)("disabled", ctx.disabled)("datepickerFilter", ctx.dateFilter.bind(ctx));
84
- } }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.DrDatePickerComponent], styles: [".locked[_nghost-%COMP%] > .tag-wrapper[_ngcontent-%COMP%] > dr-date-picker[_ngcontent-%COMP%]{opacity:.4}.tag__label[_ngcontent-%COMP%]{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}"] }); }
85
- }
86
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WeekTagComponent, [{
87
- type: Component,
88
- args: [{ selector: 'week-tag', providers: [
89
- {
90
- provide: DateAdapter,
91
- useClass: MomentDateAdapter,
92
- deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
93
- },
94
- { provide: MAT_DATE_FORMATS, useValue: WEEK_FORMATS },
95
- ], template: "<div class=\"tag-wrapper\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-date-picker\n format=\"week\"\n [(ngModel)]=\"date\"\n [disabled]=\"disabled\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-date-picker>\n</div>\n", styles: [":host.locked>.tag-wrapper>dr-date-picker{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"] }]
96
- }], function () { return []; }, { isLocked: [{
97
- type: HostBinding,
98
- args: ['class.locked']
99
- }], lockedDate: [{
100
- type: Input
101
- }] }); })();
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZGF0ZS10YWdzL3dlZWstdGFnL3dlZWstdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy93ZWVrLXRhZy93ZWVrLXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEcsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7O0FBRTVCLE1BQU0sWUFBWSxHQUFHO0lBQ2pCLEtBQUssRUFBRTtRQUNILFNBQVMsRUFBRSxTQUFTO0tBQ3ZCO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsU0FBUyxFQUFFLGlCQUFpQjtRQUM1QixjQUFjLEVBQUUsV0FBVztRQUMzQixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2xDO0NBQ0osQ0FBQztBQWVGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO0lBQ2pELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtB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QUNELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUU7aUJBQ3hEO3NDQUlHLFFBQVE7a0JBRFgsV0FBVzttQkFBQyxjQUFjO1lBS2xCLFVBQVU7a0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRGF0ZVRhZyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCB7IEFueVRhZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FueS10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5jb25zdCBXRUVLX0ZPUk1BVFMgPSB7XG4gICAgcGFyc2U6IHtcbiAgICAgICAgZGF0ZUlucHV0OiAnV1ctWVlZWScsXG4gICAgfSxcbiAgICBkaXNwbGF5OiB7XG4gICAgICAgIGRhdGVJbnB1dDogJ1tXZWVrXSBXVywgWVlZWScsXG4gICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgICAgICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICd3ZWVrLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc2VsZWN0b3I6ICd3ZWVrLXRhZycsXG4gICAgc3R5bGVVcmxzOiBbJy4vd2Vlay10YWcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogV0VFS19GT1JNQVRTIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2Vla1RhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5sb2NrZWQnKVxuICAgIGdldCBpc0xvY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZSA/ICF0aGlzLmRhdGVGaWx0ZXIobW9tZW50LnVuaXgodGhpcy5kYXRlKSkgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuXG4gICAgZGF0ZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXROYW1lKCk7XG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IHRoaXMuZGVmYXVsdFZhbHVlIHx8IG1vbWVudCgpLnVuaXgoKTtcbiAgICAgICAgdGhpcy5kYXRlID0gdGltZXN0YW1wO1xuICAgICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IHRpbWVzdGFtcDtcbiAgICAgICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKHRpbWVzdGFtcCk7XG4gICAgfVxuXG4gICAgaW5pdE5hbWUoKSB7XG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSAnV2Vlayc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRlRmlsdGVyKGRhdGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgd2VlayA9IGRhdGUud2VlaygpO1xuICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS55ZWFyKCk7XG5cbiAgICAgICAgcmV0dXJuICF0aGlzLmxvY2tlZERhdGUuc29tZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG4gICAgICAgICAgICByZXR1cm4gbG9ja0RhdGUud2VlaygpID09PSB3ZWVrICYmIGxvY2tEYXRlLnllYXIoKSA9PT0geWVhcjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2hvc2VuVGFnSGFuZGxlcih2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdERhdGUgPSBtb21lbnQudW5peCh2YWx1ZSkudXRjKCkud2Vla2RheSgxKTtcbiAgICAgICAgY29uc3QgcmVzdWx0VGFnOiBJRGF0ZVRhZyA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiByZXN1bHREYXRlLnVuaXgoKSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFdlZWtMYWJlbChyZXN1bHREYXRlKSxcbiAgICAgICAgICAgIGxvY2tlZDogIXRoaXMuZGF0ZUZpbHRlcihyZXN1bHREYXRlKSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc29sZS5sb2coJ3Jlc3VsdFRhZycsIHJlc3VsdFRhZyk7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRXZWVrTGFiZWwobW9tZW50KSB7XG4gICAgICAgIHJldHVybiBgVyR7bW9tZW50LndlZWsoKX0gJHttb21lbnQueWVhcigpfWA7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhZy13cmFwcGVyXCI+XG4gICAgPHAgY2xhc3M9XCJ0YWdfX2xhYmVsXCI+e3sgbmFtZSB9fTwvcD5cbiAgICA8ZHItZGF0ZS1waWNrZXJcbiAgICAgICAgZm9ybWF0PVwid2Vla1wiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGF0ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtkYXRlcGlja2VyRmlsdGVyXT1cImRhdGVGaWx0ZXIuYmluZCh0aGlzKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNob3NlblRhZ0hhbmRsZXIoJGV2ZW50KVwiPjwvZHItZGF0ZS1waWNrZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,96 +0,0 @@
1
- import { Component, HostBinding, Input } from '@angular/core';
2
- import { AnyTagComponent } from '../any-tag.component';
3
- import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
4
- import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';
5
- import moment from 'moment';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "../../dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component";
9
- const YEAR_FORMATS = {
10
- parse: {
11
- dateInput: 'YYYY',
12
- },
13
- display: {
14
- dateInput: 'YYYY',
15
- monthYearLabel: 'MMMM YYYY',
16
- dateA11yLabel: 'LL',
17
- monthYearA11yLabel: 'MMMM YYYY',
18
- },
19
- };
20
- export class YearTagComponent extends AnyTagComponent {
21
- get isLocked() {
22
- return this.date ? !this.dateFilter(moment.unix(this.date)) : false;
23
- }
24
- constructor() {
25
- super();
26
- this.lockedDate = [];
27
- }
28
- initDate() {
29
- this.date = this.defaultValue || moment().unix();
30
- this.dateObj.date = this.date;
31
- }
32
- initName() {
33
- if (!this.name) {
34
- this.name = 'Year';
35
- }
36
- }
37
- chosenTagHandler(value) {
38
- const resultDate = moment.unix(value);
39
- resultDate.hour(12);
40
- const resultTag = {
41
- name: this.name,
42
- value: resultDate.unix(),
43
- label: resultDate.format('YYYY'),
44
- locked: !this.dateFilter(resultDate),
45
- };
46
- console.log('resultTag', resultTag);
47
- this.dateChange.emit(resultTag);
48
- }
49
- dateFilter(date) {
50
- const calendarDateYear = date.year();
51
- return !this.lockedDate.some((timestamp) => {
52
- const lockDate = moment.unix(timestamp);
53
- return lockDate.year() === calendarDateYear;
54
- });
55
- }
56
- /** @nocollapse */ static { this.ɵfac = function YearTagComponent_Factory(t) { return new (t || YearTagComponent)(); }; }
57
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: YearTagComponent, selectors: [["year-tag"]], hostVars: 2, hostBindings: function YearTagComponent_HostBindings(rf, ctx) { if (rf & 2) {
58
- i0.ɵɵclassProp("locked", ctx.isLocked);
59
- } }, inputs: { lockedDate: "lockedDate" }, features: [i0.ɵɵProvidersFeature([
60
- {
61
- provide: DateAdapter,
62
- useClass: MomentDateAdapter,
63
- deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
64
- },
65
- { provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS },
66
- ]), i0.ɵɵInheritDefinitionFeature], decls: 4, vars: 4, consts: [[1, "tag-wrapper"], [1, "tag__label"], ["format", "year", 3, "ngModel", "disabled", "datepickerFilter", "ngModelChange"]], template: function YearTagComponent_Template(rf, ctx) { if (rf & 1) {
67
- i0.ɵɵelementStart(0, "div", 0)(1, "p", 1);
68
- i0.ɵɵtext(2);
69
- i0.ɵɵelementEnd();
70
- i0.ɵɵelementStart(3, "dr-date-picker", 2);
71
- i0.ɵɵlistener("ngModelChange", function YearTagComponent_Template_dr_date_picker_ngModelChange_3_listener($event) { return ctx.date = $event; })("ngModelChange", function YearTagComponent_Template_dr_date_picker_ngModelChange_3_listener($event) { return ctx.chosenTagHandler($event); });
72
- i0.ɵɵelementEnd()();
73
- } if (rf & 2) {
74
- i0.ɵɵadvance(2);
75
- i0.ɵɵtextInterpolate(ctx.name);
76
- i0.ɵɵadvance(1);
77
- i0.ɵɵproperty("ngModel", ctx.date)("disabled", ctx.disabled)("datepickerFilter", ctx.dateFilter.bind(ctx));
78
- } }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.DrDatePickerComponent], styles: [".locked[_nghost-%COMP%] > .tag-wrapper[_ngcontent-%COMP%] > dr-date-picker[_ngcontent-%COMP%]{opacity:.4}.tag__label[_ngcontent-%COMP%]{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}"] }); }
79
- }
80
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(YearTagComponent, [{
81
- type: Component,
82
- args: [{ selector: 'year-tag', providers: [
83
- {
84
- provide: DateAdapter,
85
- useClass: MomentDateAdapter,
86
- deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
87
- },
88
- { provide: MAT_DATE_FORMATS, useValue: YEAR_FORMATS },
89
- ], template: "<div class=\"tag-wrapper\">\n <p class=\"tag__label\">{{ name }}</p>\n <dr-date-picker\n format=\"year\"\n [(ngModel)]=\"date\"\n [disabled]=\"disabled\"\n [datepickerFilter]=\"dateFilter.bind(this)\"\n (ngModelChange)=\"chosenTagHandler($event)\"></dr-date-picker>\n</div>\n", styles: [":host.locked>.tag-wrapper>dr-date-picker{opacity:.4}.tag__label{margin:0 0 4px;color:#0c142b;font-size:14px;font-weight:400;line-height:22px}\n"] }]
90
- }], function () { return []; }, { isLocked: [{
91
- type: HostBinding,
92
- args: ['class.locked']
93
- }], lockedDate: [{
94
- type: Input
95
- }] }); })();
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZGF0ZS10YWdzL3llYXItdGFnL3llYXItdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy95ZWFyLXRhZy95ZWFyLXRhZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEcsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7O0FBRTVCLE1BQU0sWUFBWSxHQUFHO0lBQ2pCLEtBQUssRUFBRTtRQUNILFNBQVMsRUFBRSxNQUFNO0tBQ3BCO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsU0FBUyxFQUFFLE1BQU07UUFDakIsY0FBYyxFQUFFLFdBQVc7UUFDM0IsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNsQztDQUNKLENBQUM7QUFlRixNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQUNqRCxJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEUsQ0FBQztJQU1EO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFMSCxlQUFVLEdBQVUsRUFBRSxDQUFDO0lBTWhDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWE7UUFDMUIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBCLE1BQU0sU0FBUyxHQUFhO1lBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3hCLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNoQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUN2QyxDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFJO1FBQ1gsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFckMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDdkMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7b0dBOUNRLGdCQUFnQjttR0FBaEIsZ0JBQWdCOztvRkFUZDtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsV0FBVztvQkFDcEIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO2lCQUMzRDtnQkFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2FBQ3hEO1lDOUJMLDhCQUF5QixXQUFBO1lBQ0MsWUFBVTtZQUFBLGlCQUFJO1lBQ3BDLHlDQUsrQztZQUgzQyxnSkFBa0IsOEdBR0QsNEJBQXdCLElBSHZCO1lBR3lCLGlCQUFpQixFQUFBOztZQU4xQyxlQUFVO1lBQVYsOEJBQVU7WUFHNUIsZUFBa0I7WUFBbEIsa0NBQWtCLDBCQUFBLDhDQUFBOzs7dUZENEJiLGdCQUFnQjtjQWI1QixTQUFTOzJCQUVJLFVBQVUsYUFFVDtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsV0FBVzt3QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjt3QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3FCQUMzRDtvQkFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFO2lCQUN4RDtzQ0FJRyxRQUFRO2tCQURYLFdBQVc7bUJBQUMsY0FBYztZQUtsQixVQUFVO2tCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRlVGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgQW55VGFnQ29tcG9uZW50IH0gZnJvbSAnLi4vYW55LXRhZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUywgTW9tZW50RGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbmNvbnN0IFlFQVJfRk9STUFUUyA9IHtcbiAgICBwYXJzZToge1xuICAgICAgICBkYXRlSW5wdXQ6ICdZWVlZJyxcbiAgICB9LFxuICAgIGRpc3BsYXk6IHtcbiAgICAgICAgZGF0ZUlucHV0OiAnWVlZWScsXG4gICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgICAgICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcbiAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICd5ZWFyLXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc2VsZWN0b3I6ICd5ZWFyLXRhZycsXG4gICAgc3R5bGVVcmxzOiBbJy4veWVhci10YWcuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIsXG4gICAgICAgICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogWUVBUl9GT1JNQVRTIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgWWVhclRhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5sb2NrZWQnKVxuICAgIGdldCBpc0xvY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZSA/ICF0aGlzLmRhdGVGaWx0ZXIobW9tZW50LnVuaXgodGhpcy5kYXRlKSkgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuXG4gICAgZGF0ZTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXREYXRlKCkge1xuICAgICAgICB0aGlzLmRhdGUgPSB0aGlzLmRlZmF1bHRWYWx1ZSB8fCBtb21lbnQoKS51bml4KCk7XG4gICAgICAgIHRoaXMuZGF0ZU9iai5kYXRlID0gdGhpcy5kYXRlO1xuICAgIH1cblxuICAgIGluaXROYW1lKCkge1xuICAgICAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gJ1llYXInO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hvc2VuVGFnSGFuZGxlcih2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdERhdGUgPSBtb21lbnQudW5peCh2YWx1ZSk7XG4gICAgICAgIHJlc3VsdERhdGUuaG91cigxMik7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0VGFnOiBJRGF0ZVRhZyA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiByZXN1bHREYXRlLnVuaXgoKSxcbiAgICAgICAgICAgIGxhYmVsOiByZXN1bHREYXRlLmZvcm1hdCgnWVlZWScpLFxuICAgICAgICAgICAgbG9ja2VkOiAhdGhpcy5kYXRlRmlsdGVyKHJlc3VsdERhdGUpLFxuICAgICAgICB9O1xuICAgICAgICBjb25zb2xlLmxvZygncmVzdWx0VGFnJywgcmVzdWx0VGFnKTtcbiAgICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgICB9XG5cbiAgICBkYXRlRmlsdGVyKGRhdGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY2FsZW5kYXJEYXRlWWVhciA9IGRhdGUueWVhcigpO1xuXG4gICAgICAgIHJldHVybiAhdGhpcy5sb2NrZWREYXRlLnNvbWUoKHRpbWVzdGFtcCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbG9ja0RhdGUgPSBtb21lbnQudW5peCh0aW1lc3RhbXApO1xuICAgICAgICAgICAgcmV0dXJuIGxvY2tEYXRlLnllYXIoKSA9PT0gY2FsZW5kYXJEYXRlWWVhcjtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRhZy13cmFwcGVyXCI+XG4gICAgPHAgY2xhc3M9XCJ0YWdfX2xhYmVsXCI+e3sgbmFtZSB9fTwvcD5cbiAgICA8ZHItZGF0ZS1waWNrZXJcbiAgICAgICAgZm9ybWF0PVwieWVhclwiXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGF0ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtkYXRlcGlja2VyRmlsdGVyXT1cImRhdGVGaWx0ZXIuYmluZCh0aGlzKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNob3NlblRhZ0hhbmRsZXIoJGV2ZW50KVwiPjwvZHItZGF0ZS1waWNrZXI+XG48L2Rpdj5cbiJdfQ==