@datarailsshared/datarailsshared 1.2.3 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/datarailsshared-datarailsshared.umd.js +1591 -0
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -0
- package/datarailsshared-datarailsshared-1.3.2.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +5 -0
- package/datarailsshared-datarailsshared.metadata.json +1 -0
- package/esm2015/datarailsshared-datarailsshared.js +6 -0
- package/esm2015/lib/date-tags/date-tag.component.js +70 -0
- package/esm2015/lib/date-tags/date-tag.module.js +50 -0
- package/esm2015/lib/date-tags/day-tag/day-tag.component.js +79 -0
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +143 -0
- package/esm2015/lib/date-tags/month-tag/month-tag.component.js +86 -0
- package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +101 -0
- package/esm2015/lib/date-tags/week-tag/week-tag.component.js +124 -0
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +92 -0
- package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +46 -0
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +147 -0
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +24 -0
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +51 -0
- package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +50 -0
- package/esm2015/lib/dr-tags/dr-tag.component.js +54 -0
- package/esm2015/lib/dr-tags/dr-tag.module.js +22 -0
- package/esm2015/lib/list-tags/list-tag.component.js +41 -0
- package/esm2015/lib/list-tags/list-tag.module.js +29 -0
- package/esm2015/lib/models/serverTags.js +2 -0
- package/esm2015/public-api.js +21 -0
- package/fesm2015/datarailsshared-datarailsshared.js +1152 -0
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -0
- package/{DateTags/dateTag.component.d.ts → lib/date-tags/date-tag.component.d.ts} +27 -27
- package/lib/date-tags/date-tag.module.d.ts +4 -0
- package/{DateTags/dayTag/dayTag.component.d.ts → lib/date-tags/day-tag/day-tag.component.d.ts} +12 -12
- package/{DateTags/forecastTag/forecastTag.component.d.ts → lib/date-tags/forecast-tag/forecast-tag.component.d.ts} +21 -21
- package/{DateTags/monthTag/monthTag.component.d.ts → lib/date-tags/month-tag/month-tag.component.d.ts} +14 -14
- package/{DateTags/quarterTag/quarterTag.component.d.ts → lib/date-tags/quarter-tag/quarter-tag.component.d.ts} +17 -17
- package/{DateTags/weekTag/weekTag.component.d.ts → lib/date-tags/week-tag/week-tag.component.d.ts} +19 -19
- package/{DateTags/yearTag/yearTag.component.d.ts → lib/date-tags/year-tag/year-tag.component.d.ts} +14 -14
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +14 -0
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +44 -0
- package/lib/dr-inputs/dr-inputs.module.d.ts +2 -0
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +27 -0
- package/lib/dr-inputs/radio-button/radio-button.component.d.ts +15 -0
- package/{DrTags/drTag.component.d.ts → lib/dr-tags/dr-tag.component.d.ts} +15 -15
- package/{DrTags/drTag.module.d.ts → lib/dr-tags/dr-tag.module.d.ts} +2 -2
- package/{ListTags/listTag.component.d.ts → lib/list-tags/list-tag.component.d.ts} +14 -14
- package/{ListTags/listTag.module.d.ts → lib/list-tags/list-tag.module.d.ts} +2 -2
- package/{models → lib/models}/serverTags.d.ts +28 -28
- package/package.json +11 -11
- package/public-api.d.ts +18 -0
- package/DateTags/dateTag.module.d.ts +0 -2
- package/bundles/ng-datarails.umd.js +0 -1206
- package/bundles/ng-datarails.umd.js.map +0 -1
- package/datarailsshared-datarailsshared-1.2.3.tgz +0 -0
- package/esm2015/DateTags/dateTag.component.js +0 -69
- package/esm2015/DateTags/dateTag.module.js +0 -54
- package/esm2015/DateTags/dayTag/dayTag.component.js +0 -79
- package/esm2015/DateTags/forecastTag/forecastTag.component.js +0 -143
- package/esm2015/DateTags/monthTag/monthTag.component.js +0 -86
- package/esm2015/DateTags/quarterTag/quarterTag.component.js +0 -101
- package/esm2015/DateTags/weekTag/weekTag.component.js +0 -124
- package/esm2015/DateTags/yearTag/yearTag.component.js +0 -92
- package/esm2015/DrTags/drTag.component.js +0 -54
- package/esm2015/DrTags/drTag.module.js +0 -26
- package/esm2015/ListTags/listTag.component.js +0 -41
- package/esm2015/ListTags/listTag.module.js +0 -33
- package/esm2015/index.js +0 -5
- package/esm2015/models/serverTags.js +0 -2
- package/esm2015/ng-datarails.js +0 -14
- package/fesm2015/ng-datarails.js +0 -854
- package/fesm2015/ng-datarails.js.map +0 -1
- package/index.d.ts +0 -4
- package/ng-datarails.d.ts +0 -13
- package/ng-datarails.metadata.json +0 -1
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { AnyTagComponent } from "../dateTag.component";
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const moment = require("moment");
|
|
5
|
-
export class ForecastTagComponent extends AnyTagComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.lockedDate = [];
|
|
9
|
-
this.forecastValue = undefined;
|
|
10
|
-
this.forecastTags = [
|
|
11
|
-
{ "value": 0, "label": "0+12" },
|
|
12
|
-
{ "value": 1, "label": "1+11" },
|
|
13
|
-
{ "value": 2, "label": "2+10" },
|
|
14
|
-
{ "value": 3, "label": "3+9" },
|
|
15
|
-
{ "value": 4, "label": "4+8" },
|
|
16
|
-
{ "value": 5, "label": "5+7" },
|
|
17
|
-
{ "value": 6, "label": "6+6" },
|
|
18
|
-
{ "value": 7, "label": "7+5" },
|
|
19
|
-
{ "value": 8, "label": "8+4" },
|
|
20
|
-
{ "value": 9, "label": "9+3" },
|
|
21
|
-
{ "value": 10, "label": "10+2" },
|
|
22
|
-
{ "value": 11, "label": "11+1" }
|
|
23
|
-
];
|
|
24
|
-
this.dateFilter = (date) => {
|
|
25
|
-
const forecastDate = moment.unix(date);
|
|
26
|
-
let status = true;
|
|
27
|
-
this.lockedDate.forEach(timestamp => {
|
|
28
|
-
const locked = moment.unix(timestamp);
|
|
29
|
-
return status = !(locked.month() === forecastDate.month() && locked.year() === forecastDate.year());
|
|
30
|
-
});
|
|
31
|
-
return status;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
initDate() {
|
|
35
|
-
let dateVal = new Date();
|
|
36
|
-
if (this.defaultValue) {
|
|
37
|
-
dateVal = new Date(this.defaultValue * 1000);
|
|
38
|
-
}
|
|
39
|
-
let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;
|
|
40
|
-
let fiscal_year_back = this.fiscalYearBack || false;
|
|
41
|
-
this.forecastValue = this.getFiscalMonthFromDate(dateVal, fiscal_year_starts_from) - 1;
|
|
42
|
-
let fiscal_year = this.getFiscalYearFromDate(dateVal, fiscal_year_starts_from, fiscal_year_back);
|
|
43
|
-
console.log("test", dateVal, fiscal_year_starts_from, this.forecastValue, fiscal_year);
|
|
44
|
-
this.dateObj.date = moment(new Date(fiscal_year, 0, 1)).format("YYYY");
|
|
45
|
-
this.updateLockedDate();
|
|
46
|
-
}
|
|
47
|
-
updateLockedDate() {
|
|
48
|
-
for (let forecastTag of this.forecastTags) {
|
|
49
|
-
forecastTag.disable = false;
|
|
50
|
-
this.lockedDate.forEach(timestamp => {
|
|
51
|
-
const locked = moment.unix(timestamp);
|
|
52
|
-
if (locked.month() - 1 === forecastTag.value && +locked.year() + 1 === +this.dateObj.date) {
|
|
53
|
-
forecastTag.disable = true;
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
initName() {
|
|
59
|
-
if (!this.name) {
|
|
60
|
-
this.name = "Forecast";
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
getFiscalMonthFromDate(dateObj, fiscal_year_starts_from) {
|
|
64
|
-
let all_months = [];
|
|
65
|
-
for (let i = fiscal_year_starts_from; i < 13; i++) {
|
|
66
|
-
all_months.push(i);
|
|
67
|
-
}
|
|
68
|
-
for (let i = 1; i < fiscal_year_starts_from; i++) {
|
|
69
|
-
all_months.push(i);
|
|
70
|
-
}
|
|
71
|
-
return all_months.indexOf(dateObj.getMonth() + 1) + 1;
|
|
72
|
-
}
|
|
73
|
-
getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back) {
|
|
74
|
-
let fiscal_year = dateObj.getFullYear();
|
|
75
|
-
if (!fiscal_year_back) {
|
|
76
|
-
if (dateObj.getMonth() + 1 >= fiscal_year_starts_from && fiscal_year_starts_from !== 1) {
|
|
77
|
-
fiscal_year += 1;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
if (dateObj.getMonth() + 1 < fiscal_year_starts_from && fiscal_year_starts_from !== 1) {
|
|
82
|
-
fiscal_year -= 1;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return fiscal_year;
|
|
86
|
-
}
|
|
87
|
-
getForecastLabelFromValue(value, fiscal_year_starts_from, fiscal_year_back) {
|
|
88
|
-
let label = "";
|
|
89
|
-
if (value) {
|
|
90
|
-
let dateObj = new Date(value * 1000);
|
|
91
|
-
let fiscal_month = this.getFiscalMonthFromDate(dateObj, fiscal_year_starts_from);
|
|
92
|
-
let fiscal_year = this.getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back);
|
|
93
|
-
label = (fiscal_month - 1) + "+" + (13 - fiscal_month) + " (" + fiscal_year + ")";
|
|
94
|
-
}
|
|
95
|
-
return label;
|
|
96
|
-
}
|
|
97
|
-
changeTagInputHandler(event) {
|
|
98
|
-
this.chosenTagHandler();
|
|
99
|
-
}
|
|
100
|
-
changeYearInputHandler(event) {
|
|
101
|
-
this.updateLockedDate();
|
|
102
|
-
this.chosenTagHandler();
|
|
103
|
-
}
|
|
104
|
-
chosenTagHandler() {
|
|
105
|
-
let month = this.forecastValue;
|
|
106
|
-
let year = Number.parseInt(this.dateObj.date);
|
|
107
|
-
let timeStampVal = 0;
|
|
108
|
-
let label = "";
|
|
109
|
-
if (!Number.isNaN(month) && !Number.isNaN(year)) {
|
|
110
|
-
let date = new Date(year, month, 1, 12, 0, 0, 0);
|
|
111
|
-
let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;
|
|
112
|
-
let fiscal_year_back = this.fiscalYearBack || false;
|
|
113
|
-
if (fiscal_year_starts_from !== 1) {
|
|
114
|
-
if (!fiscal_year_back)
|
|
115
|
-
date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);
|
|
116
|
-
else
|
|
117
|
-
date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);
|
|
118
|
-
}
|
|
119
|
-
timeStampVal = date.getTime() / 1000;
|
|
120
|
-
label = this.getForecastLabelFromValue(timeStampVal, fiscal_year_starts_from, fiscal_year_back);
|
|
121
|
-
}
|
|
122
|
-
const resultTag = {
|
|
123
|
-
"name": this.name,
|
|
124
|
-
"value": timeStampVal,
|
|
125
|
-
"label": label,
|
|
126
|
-
"locked": !this.dateFilter(timeStampVal)
|
|
127
|
-
};
|
|
128
|
-
this.dateChange.emit(resultTag);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
ForecastTagComponent.decorators = [
|
|
132
|
-
{ type: Component, args: [{
|
|
133
|
-
template: "<div>\n <mat-form-field style=\"margin-right: 3px; margin-bottom:3px\">\n <mat-select placeholder=\"{{name}}\" (selectionChange)=\"changeTagInputHandler($event)\" [(value)]=\"forecastValue\">\n <mat-option *ngFor=\"let forecastTag of forecastTags\" [value]=\"forecastTag.value\" [disabled]=\"forecastTag.disable\">{{forecastTag.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n <mat-form-field class=\"date-select-box\">\n <input matInput placeholder=\"Year\" type=\"number\" name=\"Year\"\n (change)=\"changeYearInputHandler($event)\"\n [(ngModel)]=\"dateObj.date\">\n </mat-form-field>\n</div>\n",
|
|
134
|
-
selector: "forecast-tag"
|
|
135
|
-
},] }
|
|
136
|
-
];
|
|
137
|
-
ForecastTagComponent.ctorParameters = () => [];
|
|
138
|
-
ForecastTagComponent.propDecorators = {
|
|
139
|
-
fiscalYearStartsFrom: [{ type: Input }],
|
|
140
|
-
fiscalYearBack: [{ type: Input }],
|
|
141
|
-
lockedDate: [{ type: Input }]
|
|
142
|
-
};
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWNhc3RUYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRGF0ZVRhZ3MvZm9yZWNhc3RUYWcvZm9yZWNhc3RUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdyRCxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBT2pDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFlO0lBcUJ2RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBbkJELGVBQVUsR0FBVSxFQUFFLENBQUM7UUFDaEMsa0JBQWEsR0FBdUIsU0FBUyxDQUFDO1FBRTlDLGlCQUFZLEdBQVU7WUFDcEIsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUM7WUFDN0IsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUM7WUFDN0IsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUM7WUFDN0IsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDNUIsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDNUIsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDNUIsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDNUIsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDNUIsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8s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RSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLElBQUksQ0FBQyxDQUFDO1lBQzdELElBQUksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUM7WUFDcEQsSUFBSSx1QkFBdUIsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxnQkFBZ0I7b0JBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQyxDQUFDOztvQkFFOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLENBQUM7YUFDaEU7WUFFRCxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUNyQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ2pHO1FBRUQsTUFBTSxTQUFTLEdBQWE7WUFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7U0FDM0MsQ0FBQztRQUVKLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQXZKRixTQUFTLFNBQUM7Z0JBQ1AsMHFCQUF5QztnQkFDekMsUUFBUSxFQUFFLGNBQWM7YUFDM0I7Ozs7bUNBR0UsS0FBSzs2QkFDTCxLQUFLO3lCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHtJRGF0ZVRhZ30gZnJvbSBcIi4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzXCI7XG5pbXBvcnQge0FueVRhZ0NvbXBvbmVudH0gZnJvbSBcIi4uL2RhdGVUYWcuY29tcG9uZW50XCI7XG5pbXBvcnQge01hdFNlbGVjdENoYW5nZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuaW1wb3J0IHtNYXRCdXR0b25Ub2dnbGVDaGFuZ2V9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlXCI7XG4vLyBAdHMtaWdub3JlXG5jb25zdCBtb21lbnQgPSByZXF1aXJlKFwibW9tZW50XCIpO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJmb3JlY2FzdFRhZy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHNlbGVjdG9yOiBcImZvcmVjYXN0LXRhZ1wiLFxufSlcblxuZXhwb3J0IGNsYXNzIEZvcmVjYXN0VGFnQ29tcG9uZW50IGV4dGVuZHMgQW55VGFnQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZmlzY2FsWWVhclN0YXJ0c0Zyb20/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGZpc2NhbFllYXJCYWNrPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbG9ja2VkRGF0ZTogYW55W10gPSBbXTtcbiAgZm9yZWNhc3RWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGZvcmVjYXN0VGFnczogYW55W10gPSBbXG4gICAge1widmFsdWVcIjogMCwgXCJsYWJlbFwiOiBcIjArMTJcIn0sXG4gICAge1widmFsdWVcIjogMSwgXCJsYWJlbFwiOiBcIjErMTFcIn0sXG4gICAge1widmFsdWVcIjogMiwgXCJsYWJlbFwiOiBcIjIrMTBcIn0sXG4gICAge1widmFsdWVcIjogMywgXCJsYWJlbFwiOiBcIjMrOVwifSxcbiAgICB7XCJ2YWx1ZVwiOiA0LCBcImxhYmVsXCI6IFwiNCs4XCJ9LFxuICAgIHtcInZhbHVlXCI6IDUsIFwibGFiZWxcIjogXCI1KzdcIn0sXG4gICAge1widmFsdWVcIjogNiwgXCJsYWJlbFwiOiBcIjYrNlwifSxcbiAgICB7XCJ2YWx1ZVwiOiA3LCBcImxhYmVsXCI6IFwiNys1XCJ9LFxuICAgIHtcInZhbHVlXCI6IDgsIFwibGFiZWxcIjogXCI4KzRcIn0sXG4gICAge1widmFsdWVcIjogOSwgXCJsYWJlbFwiOiBcIjkrM1wifSxcbiAgICB7XCJ2YWx1ZVwiOiAxMCwgXCJsYWJlbFwiOiBcIjEwKzJcIn0sXG4gICAge1widmFsdWVcIjogMTEsIFwibGFiZWxcIjogXCIxMSsxXCJ9XG4gIF07XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGluaXREYXRlKCkge1xuICAgIGxldCBkYXRlVmFsID0gbmV3IERhdGUoKTtcbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUpIHtcbiAgICAgIGRhdGVWYWwgPSBuZXcgRGF0ZSh0aGlzLmRlZmF1bHRWYWx1ZSAqIDEwMDApO1xuICAgIH1cbiAgICBsZXQgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gPSB0aGlzLmZpc2NhbFllYXJTdGFydHNGcm9tIHx8IDE7XG4gICAgbGV0IGZpc2NhbF95ZWFyX2JhY2sgPSB0aGlzLmZpc2NhbFllYXJCYWNrIHx8IGZhbHNlO1xuICAgIHRoaXMuZm9yZWNhc3RWYWx1ZSA9IHRoaXMuZ2V0RmlzY2FsTW9udGhGcm9tRGF0ZShkYXRlVmFsLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSkgLSAxO1xuICAgIGxldCBmaXNjYWxfeWVhciA9IHRoaXMuZ2V0RmlzY2FsWWVhckZyb21EYXRlKGRhdGVWYWwsIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tLCBmaXNjYWxfeWVhcl9iYWNrKTtcblxuICAgIGNvbnNvbGUubG9nKFwidGVzdFwiLCBkYXRlVmFsLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSwgdGhpcy5mb3JlY2FzdFZhbHVlLCBmaXNjYWxfeWVhcik7XG5cbiAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IG1vbWVudChuZXcgRGF0ZShmaXNjYWxfeWVhciwgMCwgMSkpLmZvcm1hdChcIllZWVlcIik7XG5cbiAgICB0aGlzLnVwZGF0ZUxvY2tlZERhdGUoKTtcbiAgfVxuXG4gIHVwZGF0ZUxvY2tlZERhdGUoKSB7XG4gICAgZm9yIChsZXQgZm9yZWNhc3RUYWcgb2YgdGhpcy5mb3JlY2FzdFRhZ3MpIHtcbiAgICAgIGZvcmVjYXN0VGFnLmRpc2FibGUgPSBmYWxzZTtcblxuICAgICAgdGhpcy5sb2NrZWREYXRlLmZvckVhY2godGltZXN0YW1wID0+IHtcbiAgICAgICAgY29uc3QgbG9ja2VkID0gbW9tZW50LnVuaXgodGltZXN0YW1wKTtcblxuICAgICAgICBpZiAobG9ja2VkLm1vbnRoKCkgLSAxID09PSBmb3JlY2FzdFRhZy52YWx1ZSAmJiArbG9ja2VkLnllYXIoKSArIDEgPT09ICt0aGlzLmRhdGVPYmouZGF0ZSkge1xuICAgICAgICAgIGZvcmVjYXN0VGFnLmRpc2FibGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpbml0TmFtZSgpIHtcbiAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgdGhpcy5uYW1lID0gXCJGb3JlY2FzdFwiO1xuICAgIH1cbiAgfVxuXG4gIGdldEZpc2NhbE1vbnRoRnJvbURhdGUoZGF0ZU9iaiwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20pIHtcbiAgICBsZXQgYWxsX21vbnRocyA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tOyBpIDwgMTM7IGkrKykge1xuICAgICAgYWxsX21vbnRocy5wdXNoKGkpO1xuICAgIH1cblxuICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb207IGkrKykge1xuICAgICAgYWxsX21vbnRocy5wdXNoKGkpO1xuICAgIH1cblxuICAgIHJldHVybiBhbGxfbW9udGhzLmluZGV4T2YoZGF0ZU9iai5nZXRNb250aCgpICsgMSkgKyAxO1xuICB9XG5cbiAgZ2V0RmlzY2FsWWVhckZyb21EYXRlKGRhdGVPYmosIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tLCBmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgbGV0IGZpc2NhbF95ZWFyID0gZGF0ZU9iai5nZXRGdWxsWWVhcigpO1xuXG4gICAgaWYgKCFmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgICBpZiAoZGF0ZU9iai5nZXRNb250aCgpICsgMSA+PSBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAmJiBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAhPT0gMSkge1xuICAgICAgICBmaXNjYWxfeWVhciArPSAxO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZGF0ZU9iai5nZXRNb250aCgpICsgMSA8IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tICYmIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tICE9PSAxKSB7XG4gICAgICAgIGZpc2NhbF95ZWFyIC09IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpc2NhbF95ZWFyO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RMYWJlbEZyb21WYWx1ZSh2YWx1ZSwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spIHtcbiAgICBsZXQgbGFiZWwgPSBcIlwiO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgbGV0IGRhdGVPYmogPSBuZXcgRGF0ZSh2YWx1ZSAqIDEwMDApO1xuXG4gICAgICBsZXQgZmlzY2FsX21vbnRoID0gdGhpcy5nZXRGaXNjYWxNb250aEZyb21EYXRlKGRhdGVPYmosIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKTtcbiAgICAgIGxldCBmaXNjYWxfeWVhciA9IHRoaXMuZ2V0RmlzY2FsWWVhckZyb21EYXRlKGRhdGVPYmosIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tLCBmaXNjYWxfeWVhcl9iYWNrKTtcblxuICAgICAgbGFiZWwgPSAoZmlzY2FsX21vbnRoIC0gMSkgKyBcIitcIiArICgxMyAtIGZpc2NhbF9tb250aCkgKyBcIiAoXCIgKyBmaXNjYWxfeWVhciArIFwiKVwiO1xuICAgIH1cbiAgICByZXR1cm4gbGFiZWw7XG4gIH1cblxuICBjaGFuZ2VUYWdJbnB1dEhhbmRsZXIoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSB8IE1hdEJ1dHRvblRvZ2dsZUNoYW5nZSkge1xuICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcigpO1xuICB9XG5cbiAgY2hhbmdlWWVhcklucHV0SGFuZGxlcihldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnVwZGF0ZUxvY2tlZERhdGUoKTtcbiAgICB0aGlzLmNob3NlblRhZ0hhbmRsZXIoKTtcbiAgfVxuXG4gIGNob3NlblRhZ0hhbmRsZXIoKSB7XG4gICAgbGV0IG1vbnRoID0gdGhpcy5mb3JlY2FzdFZhbHVlO1xuICAgIGxldCB5ZWFyID0gTnVtYmVyLnBhcnNlSW50KHRoaXMuZGF0ZU9iai5kYXRlKTtcblxuICAgIGxldCB0aW1lU3RhbXBWYWwgPSAwO1xuICAgIGxldCBsYWJlbCA9IFwiXCI7XG5cbiAgICBpZiAoIU51bWJlci5pc05hTihtb250aCkgJiYgIU51bWJlci5pc05hTih5ZWFyKSkge1xuXG5cbiAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEsIDEyLCAwLCAwLCAwKTtcbiAgICAgIGxldCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSA9IHRoaXMuZmlzY2FsWWVhclN0YXJ0c0Zyb20gfHwgMTtcbiAgICAgIGxldCBmaXNjYWxfeWVhcl9iYWNrID0gdGhpcy5maXNjYWxZZWFyQmFjayB8fCBmYWxzZTtcbiAgICAgIGlmIChmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAhPT0gMSkge1xuICAgICAgICBpZiAoIWZpc2NhbF95ZWFyX2JhY2spXG4gICAgICAgICAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgLSAxMyArIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpIC0gMSArIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKTtcbiAgICAgIH1cblxuICAgICAgdGltZVN0YW1wVmFsID0gZGF0ZS5nZXRUaW1lKCkgLyAxMDAwO1xuICAgICAgbGFiZWwgPSB0aGlzLmdldEZvcmVjYXN0TGFiZWxGcm9tVmFsdWUodGltZVN0YW1wVmFsLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSwgZmlzY2FsX3llYXJfYmFjayk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0VGFnOiBJRGF0ZVRhZyA9IHtcbiAgICAgICAgICBcIm5hbWVcIjogdGhpcy5uYW1lLFxuICAgICAgICAgIFwidmFsdWVcIjogdGltZVN0YW1wVmFsLFxuICAgICAgICAgIFwibGFiZWxcIjogbGFiZWwsXG4gICAgICAgICAgXCJsb2NrZWRcIjogIXRoaXMuZGF0ZUZpbHRlcih0aW1lU3RhbXBWYWwpXG4gICAgICB9O1xuXG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgfVxuXG4gIGRhdGVGaWx0ZXIgPSAoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IGZvcmVjYXN0RGF0ZSA9IG1vbWVudC51bml4KGRhdGUpO1xuICAgIGxldCBzdGF0dXMgPSB0cnVlO1xuXG4gICAgdGhpcy5sb2NrZWREYXRlLmZvckVhY2godGltZXN0YW1wID0+IHtcbiAgICAgIGNvbnN0IGxvY2tlZCA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG5cbiAgICAgIHJldHVybiBzdGF0dXMgPSAhKGxvY2tlZC5tb250aCgpID09PSBmb3JlY2FzdERhdGUubW9udGgoKSAmJiBsb2NrZWQueWVhcigpID09PSBmb3JlY2FzdERhdGUueWVhcigpKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzdGF0dXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { AnyTagComponent } from "../dateTag.component";
|
|
3
|
-
import { FormControl } from "@angular/forms";
|
|
4
|
-
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from "@angular/material/core";
|
|
5
|
-
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from "@angular/material-moment-adapter";
|
|
6
|
-
// @ts-ignore
|
|
7
|
-
const moment = require("moment");
|
|
8
|
-
const MONTH_FORMATS = {
|
|
9
|
-
parse: {
|
|
10
|
-
dateInput: "DD-MM-YYYY",
|
|
11
|
-
},
|
|
12
|
-
display: {
|
|
13
|
-
dateInput: "MMMM YYYY",
|
|
14
|
-
monthYearLabel: "MMMM YYYY",
|
|
15
|
-
dateA11yLabel: "LL",
|
|
16
|
-
monthYearA11yLabel: "MMMM YYYY"
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const ɵ0 = MONTH_FORMATS;
|
|
20
|
-
export class MonthTagComponent extends AnyTagComponent {
|
|
21
|
-
constructor() {
|
|
22
|
-
super();
|
|
23
|
-
this.lockedDate = [];
|
|
24
|
-
this.date = new FormControl(moment());
|
|
25
|
-
this.dateFilter = (date) => {
|
|
26
|
-
const calendarDate = moment(date);
|
|
27
|
-
let status = true;
|
|
28
|
-
this.lockedDate.forEach(timestamp => {
|
|
29
|
-
const lockDate = moment.unix(timestamp);
|
|
30
|
-
return status = !(lockDate.year() === calendarDate.year() && lockDate.month() === calendarDate.month());
|
|
31
|
-
});
|
|
32
|
-
return status;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
initDate() {
|
|
36
|
-
if (this.defaultValue) {
|
|
37
|
-
this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format("YYYY-MM");
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.dateObj.date = moment(new Date()).format("YYYY-MM");
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
initName() {
|
|
44
|
-
if (!this.name) {
|
|
45
|
-
this.name = "Month and Year";
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
chosenTagHandler(value) {
|
|
49
|
-
const resultDate = moment.utc(value);
|
|
50
|
-
resultDate.hour(12);
|
|
51
|
-
const resultTag = {
|
|
52
|
-
name: this.name,
|
|
53
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
54
|
-
label: resultDate.format("MMMM YYYY"),
|
|
55
|
-
locked: !this.dateFilter(value)
|
|
56
|
-
};
|
|
57
|
-
console.log(resultTag, value);
|
|
58
|
-
this.dateChange.emit(resultTag);
|
|
59
|
-
}
|
|
60
|
-
chosenMonthHandler(normalizedMonth, datepicker) {
|
|
61
|
-
this.date.setValue(normalizedMonth);
|
|
62
|
-
this.dateObj.date = this.date.value;
|
|
63
|
-
this.chosenTagHandler(this.date.value);
|
|
64
|
-
datepicker.close();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
MonthTagComponent.decorators = [
|
|
68
|
-
{ type: Component, args: [{
|
|
69
|
-
template: "<div>\n <mat-form-field class=\"date-select-box\">\n <input\n matInput\n placeholder=\"{{name}}\"\n name=\"Month\"\n [formControl]=\"date\"\n [matDatepickerFilter]=\"dateFilter\"\n [matDatepicker]=\"datepicker\">\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\n <mat-datepicker\n #datepicker\n startView=\"year\"\n (monthSelected)=\"chosenMonthHandler($event, datepicker)\"\n ></mat-datepicker>\n </mat-form-field>\n</div>\n",
|
|
70
|
-
selector: "month-tag",
|
|
71
|
-
providers: [
|
|
72
|
-
{
|
|
73
|
-
provide: DateAdapter,
|
|
74
|
-
useClass: MomentDateAdapter,
|
|
75
|
-
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
76
|
-
},
|
|
77
|
-
{ provide: MAT_DATE_FORMATS, useValue: ɵ0 },
|
|
78
|
-
]
|
|
79
|
-
},] }
|
|
80
|
-
];
|
|
81
|
-
MonthTagComponent.ctorParameters = () => [];
|
|
82
|
-
MonthTagComponent.propDecorators = {
|
|
83
|
-
lockedDate: [{ type: Input }]
|
|
84
|
-
};
|
|
85
|
-
export { ɵ0 };
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhUYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRGF0ZVRhZ3MvbW9udGhUYWcvbW9udGhUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFnQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBR2hHLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRyxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxZQUFZO0tBQ3hCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLFdBQVc7UUFDdEIsY0FBYyxFQUFFLFdBQVc7UUFDM0IsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNoQztDQUNGLENBQUM7V0FXMEMsYUFBYTtBQUl6RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsZUFBZTtJQUtsRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBTEgsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUVoQyxTQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQTBDakMsZUFBVSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztZQUVsQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFeEMsT0FBTyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxLQUFLLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFBO0lBakRELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hGO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDbEIsTUFBTSxVQUFVLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sU0FBUyxHQUFhO1lBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsS0FBSyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ2xDLENBQUM7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsZUFBdUIsRUFBRSxVQUFpQztRQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2QyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7O1lBeERKLFNBQVMsU0FBQztnQkFDUCwybEJBQXNDO2dCQUN0QyxRQUFRLEVBQUUsV0FBVztnQkFDckIsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxXQUFXO3dCQUNwQixRQUFRLEVBQUUsaUJBQWlCO3dCQUMzQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsK0JBQStCLENBQUM7cUJBQ3pEO29CQUNELEVBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsSUFBZSxFQUFDO2lCQUNyRDthQUNKOzs7O3lCQUdJLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7SURhdGVUYWd9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2VydmVyVGFnc1wiO1xuaW1wb3J0IHtBbnlUYWdDb21wb25lbnR9IGZyb20gXCIuLi9kYXRlVGFnLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXREYXRlcGlja2VyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlclwiO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQge01BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXJcIjtcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoXCJtb21lbnRcIik7XG5cbmNvbnN0IE1PTlRIX0ZPUk1BVFMgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiBcIkRELU1NLVlZWVlcIixcbiAgfSxcbiAgZGlzcGxheToge1xuICAgIGRhdGVJbnB1dDogXCJNTU1NIFlZWVlcIixcbiAgICBtb250aFllYXJMYWJlbDogXCJNTU1NIFlZWVlcIixcbiAgICBkYXRlQTExeUxhYmVsOiBcIkxMXCIsXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiBcIk1NTU0gWVlZWVwiXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJtb250aFRhZy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHNlbGVjdG9yOiBcIm1vbnRoLXRhZ1wiLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxuICAgICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICAgIH0sXG4gICAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IE1PTlRIX0ZPUk1BVFN9LFxuICAgIF0sXG59KVxuXG5leHBvcnQgY2xhc3MgTW9udGhUYWdDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGxvY2tlZERhdGU6IGFueVtdID0gW107XG5cbiAgICBkYXRlID0gbmV3IEZvcm1Db250cm9sKG1vbWVudCgpKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXREYXRlKCkge1xuICAgICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlKSB7XG4gICAgICAgIHRoaXMuZGF0ZU9iai5kYXRlID0gbW9tZW50KG5ldyBEYXRlKHRoaXMuZGVmYXVsdFZhbHVlICogMTAwMCkpLnV0YygpLmZvcm1hdChcIllZWVktTU1cIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IG1vbWVudChuZXcgRGF0ZSgpKS5mb3JtYXQoXCJZWVlZLU1NXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGluaXROYW1lKCkge1xuICAgICAgaWYgKCF0aGlzLm5hbWUpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gXCJNb250aCBhbmQgWWVhclwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNob3NlblRhZ0hhbmRsZXIodmFsdWUpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0RGF0ZTogTW9tZW50ID0gbW9tZW50LnV0Yyh2YWx1ZSk7XG4gICAgICAgIHJlc3VsdERhdGUuaG91cigxMik7XG4gICAgICAgIGNvbnN0IHJlc3VsdFRhZzogSURhdGVUYWcgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogcGFyc2VJbnQocmVzdWx0RGF0ZS5mb3JtYXQoXCJYXCIpLCAxMCksXG4gICAgICAgICAgICBsYWJlbDogcmVzdWx0RGF0ZS5mb3JtYXQoXCJNTU1NIFlZWVlcIiksXG4gICAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIodmFsdWUpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnNvbGUubG9nKHJlc3VsdFRhZywgdmFsdWUpO1xuICAgICAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChyZXN1bHRUYWcpO1xuICAgIH1cblxuICAgIGNob3Nlbk1vbnRoSGFuZGxlcihub3JtYWxpemVkTW9udGg6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxNb21lbnQ+KSB7XG4gICAgICAgIHRoaXMuZGF0ZS5zZXRWYWx1ZShub3JtYWxpemVkTW9udGgpO1xuICAgICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IHRoaXMuZGF0ZS52YWx1ZTtcblxuICAgICAgICB0aGlzLmNob3NlblRhZ0hhbmRsZXIodGhpcy5kYXRlLnZhbHVlKTtcblxuICAgICAgICBkYXRlcGlja2VyLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgZGF0ZUZpbHRlciA9IChkYXRlKSA9PiB7XG4gICAgICBjb25zdCBjYWxlbmRhckRhdGUgPSBtb21lbnQoZGF0ZSk7XG4gICAgICBsZXQgc3RhdHVzID0gdHJ1ZTtcblxuICAgICAgdGhpcy5sb2NrZWREYXRlLmZvckVhY2godGltZXN0YW1wID0+IHtcbiAgICAgICAgY29uc3QgbG9ja0RhdGUgPSBtb21lbnQudW5peCh0aW1lc3RhbXApO1xuXG4gICAgICAgIHJldHVybiBzdGF0dXMgPSAhKGxvY2tEYXRlLnllYXIoKSA9PT0gY2FsZW5kYXJEYXRlLnllYXIoKSAmJiBsb2NrRGF0ZS5tb250aCgpID09PSBjYWxlbmRhckRhdGUubW9udGgoKSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { AnyTagComponent } from "../dateTag.component";
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const moment = require("moment");
|
|
5
|
-
export class QuarterTagComponent extends AnyTagComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.lockedDate = [];
|
|
9
|
-
this.selectedValue = 0;
|
|
10
|
-
this.quarters = [];
|
|
11
|
-
this.dateFilter = (date) => {
|
|
12
|
-
let status = true;
|
|
13
|
-
this.lockedDate.forEach(timestamp => {
|
|
14
|
-
const lockDate = moment.unix(timestamp);
|
|
15
|
-
const quarterDate = moment.unix(date.value);
|
|
16
|
-
if (lockDate.year() === quarterDate.year() && lockDate.month() === quarterDate.month()) {
|
|
17
|
-
date.disable = true;
|
|
18
|
-
status = false;
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
return status;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
ngOnInit() {
|
|
25
|
-
this.initName();
|
|
26
|
-
this.quarters = this.getQuarterOptions();
|
|
27
|
-
for (const quarter of this.quarters) {
|
|
28
|
-
quarter.disable = false;
|
|
29
|
-
if (quarter.isSelected) {
|
|
30
|
-
this.selectedValue = quarter.value;
|
|
31
|
-
this.chosenTagHandler(quarter.value);
|
|
32
|
-
}
|
|
33
|
-
this.dateFilter(quarter);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
initName() {
|
|
37
|
-
if (!this.name) {
|
|
38
|
-
this.name = "Quarter";
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
changeSelectHandler(event) {
|
|
42
|
-
this.chosenTagHandler(event.value);
|
|
43
|
-
}
|
|
44
|
-
chosenTagHandler(value) {
|
|
45
|
-
const date = new Date(value * 1000);
|
|
46
|
-
const resultDate = moment.utc(date);
|
|
47
|
-
const resultTag = {
|
|
48
|
-
name: this.name,
|
|
49
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
50
|
-
label: this.getQuarterLabel(resultDate.toString()),
|
|
51
|
-
locked: !this.dateFilter(value)
|
|
52
|
-
};
|
|
53
|
-
this.dateChange.emit(resultTag);
|
|
54
|
-
}
|
|
55
|
-
getQuarterOptions() {
|
|
56
|
-
const quartersBeforeToday = 8;
|
|
57
|
-
const quartersAfterToday = 8;
|
|
58
|
-
const dateNow = new Date();
|
|
59
|
-
const dateNowUnix = this.getUTCTimestamp(dateNow);
|
|
60
|
-
let defaultValue = dateNowUnix;
|
|
61
|
-
let tempDate = new Date();
|
|
62
|
-
if (this.defaultValue) {
|
|
63
|
-
defaultValue = this.defaultValue * 1000;
|
|
64
|
-
}
|
|
65
|
-
let afterDefault = Math.round(Math.abs(dateNowUnix - defaultValue) / 7776000000) + quartersAfterToday;
|
|
66
|
-
afterDefault = Math.min(afterDefault, 100);
|
|
67
|
-
let i, tempValue;
|
|
68
|
-
const to_return = [];
|
|
69
|
-
for (i = 0 - quartersBeforeToday; i <= afterDefault; i++) {
|
|
70
|
-
tempDate = new Date(defaultValue);
|
|
71
|
-
tempDate.setDate(15);
|
|
72
|
-
tempDate.setMonth(tempDate.getMonth() + 3 * i);
|
|
73
|
-
tempValue = this.getUTCTimestamp(tempDate);
|
|
74
|
-
to_return.push({
|
|
75
|
-
value: tempValue / 1000,
|
|
76
|
-
label: this.getQuarterLabel(tempValue),
|
|
77
|
-
isSelected: (i === 0),
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
return to_return;
|
|
81
|
-
}
|
|
82
|
-
getQuarterLabel(timeValue) {
|
|
83
|
-
const date = new Date(timeValue);
|
|
84
|
-
return "Q" + Math.floor((date.getMonth() / 3) + 1) + " " + date.getFullYear();
|
|
85
|
-
}
|
|
86
|
-
getUTCTimestamp(date) {
|
|
87
|
-
const month = Math.floor(date.getMonth() / 3) * 3;
|
|
88
|
-
return Date.UTC(date.getFullYear(), month, 1, 12, 0, 0, 0);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
QuarterTagComponent.decorators = [
|
|
92
|
-
{ type: Component, args: [{
|
|
93
|
-
template: "<div>\n <mat-form-field>\n <mat-select placeholder=\"{{name}}\" (selectionChange)=\"changeSelectHandler($event)\" [(value)]=\"selectedValue\">\n <mat-option *ngFor=\"let quarter of quarters\" [value]=\"quarter.value\" [disabled]=\"quarter.disable\">{{quarter.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n",
|
|
94
|
-
selector: "quarter-tag"
|
|
95
|
-
},] }
|
|
96
|
-
];
|
|
97
|
-
QuarterTagComponent.ctorParameters = () => [];
|
|
98
|
-
QuarterTagComponent.propDecorators = {
|
|
99
|
-
lockedDate: [{ type: Input }]
|
|
100
|
-
};
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcnRlclRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9EYXRlVGFncy9xdWFydGVyVGFnL3F1YXJ0ZXJUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBTWpDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxlQUFlO0lBS3BEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFMSCxlQUFVLEdBQVUsRUFBRSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBVSxFQUFFLENBQUM7UUFtRnZCLGVBQVUsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztZQUVsQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRTVDLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN0RixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztvQkFDcEIsTUFBTSxHQUFHLEtBQUssQ0FBQztpQkFDaEI7WUFDSCxDQUFDLENBQUMs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bmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7SURhdGVUYWd9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2VydmVyVGFnc1wiO1xuaW1wb3J0IHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7QW55VGFnQ29tcG9uZW50fSBmcm9tIFwiLi4vZGF0ZVRhZy5jb21wb25lbnRcIjtcbmltcG9ydCB7TWF0U2VsZWN0Q2hhbmdlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0XCI7XG4vLyBAdHMtaWdub3JlXG5jb25zdCBtb21lbnQgPSByZXF1aXJlKFwibW9tZW50XCIpO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJxdWFydGVyVGFnLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc2VsZWN0b3I6IFwicXVhcnRlci10YWdcIixcbn0pXG5leHBvcnQgY2xhc3MgUXVhcnRlclRhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbG9ja2VkRGF0ZTogYW55W10gPSBbXTtcbiAgICBzZWxlY3RlZFZhbHVlID0gMDtcbiAgICBxdWFydGVyczogYW55W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy5pbml0TmFtZSgpO1xuICAgICAgdGhpcy5xdWFydGVycyA9IHRoaXMuZ2V0UXVhcnRlck9wdGlvbnMoKTtcblxuICAgICAgZm9yIChjb25zdCBxdWFydGVyIG9mIHRoaXMucXVhcnRlcnMpIHtcbiAgICAgICAgICBxdWFydGVyLmRpc2FibGUgPSBmYWxzZTtcblxuICAgICAgICAgIGlmIChxdWFydGVyLmlzU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gcXVhcnRlci52YWx1ZTtcbiAgICAgICAgICAgICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKHF1YXJ0ZXIudmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZGF0ZUZpbHRlcihxdWFydGVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0TmFtZSgpIHtcbiAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgIHRoaXMubmFtZSA9IFwiUXVhcnRlclwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNoYW5nZVNlbGVjdEhhbmRsZXIoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSkge1xuICAgICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKGV2ZW50LnZhbHVlKTtcbiAgICB9XG5cbiAgICBjaG9zZW5UYWdIYW5kbGVyKHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSAqIDEwMDApO1xuICAgICAgICBjb25zdCByZXN1bHREYXRlOiBNb21lbnQgPSBtb21lbnQudXRjKGRhdGUpO1xuICAgICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IHBhcnNlSW50KHJlc3VsdERhdGUuZm9ybWF0KFwiWFwiKSwgMTApLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0UXVhcnRlckxhYmVsKHJlc3VsdERhdGUudG9TdHJpbmcoKSksXG4gICAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIodmFsdWUpXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gICAgfVxuXG4gICAgZ2V0UXVhcnRlck9wdGlvbnMoKSB7XG4gICAgICAgIGNvbnN0IHF1YXJ0ZXJzQmVmb3JlVG9kYXkgPSA4O1xuICAgICAgICBjb25zdCBxdWFydGVyc0FmdGVyVG9kYXkgPSA4O1xuICAgICAgICBjb25zdCBkYXRlTm93ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZGF0ZU5vd1VuaXggPSB0aGlzLmdldFVUQ1RpbWVzdGFtcChkYXRlTm93KTtcbiAgICAgICAgbGV0IGRlZmF1bHRWYWx1ZSA9IGRhdGVOb3dVbml4O1xuICAgICAgICBsZXQgdGVtcERhdGUgPSAgbmV3IERhdGUoKTtcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlKSB7XG4gICAgICAgICAgZGVmYXVsdFZhbHVlID0gdGhpcy5kZWZhdWx0VmFsdWUgKiAxMDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGFmdGVyRGVmYXVsdCA9IE1hdGgucm91bmQoTWF0aC5hYnMoZGF0ZU5vd1VuaXggLSBkZWZhdWx0VmFsdWUpIC8gNzc3NjAwMDAwMCkgKyBxdWFydGVyc0FmdGVyVG9kYXk7XG4gICAgICAgIGFmdGVyRGVmYXVsdCA9IE1hdGgubWluKGFmdGVyRGVmYXVsdCwgMTAwKTtcbiAgICAgICAgbGV0IGksIHRlbXBWYWx1ZTtcbiAgICAgICAgY29uc3QgdG9fcmV0dXJuOiBhbnlbXSA9IFtdO1xuICAgICAgICBmb3IgKGkgPSAwIC0gcXVhcnRlcnNCZWZvcmVUb2RheTsgaSA8PSBhZnRlckRlZmF1bHQ7IGkrKykge1xuICAgICAgICAgICAgdGVtcERhdGUgPSBuZXcgRGF0ZShkZWZhdWx0VmFsdWUpO1xuICAgICAgICAgICAgdGVtcERhdGUuc2V0RGF0ZSgxNSk7XG4gICAgICAgICAgICB0ZW1wRGF0ZS5zZXRNb250aCh0ZW1wRGF0ZS5nZXRNb250aCgpICsgMyAqIGkpO1xuICAgICAgICAgICAgdGVtcFZhbHVlID0gdGhpcy5nZXRVVENUaW1lc3RhbXAodGVtcERhdGUpO1xuICAgICAgICAgICAgdG9fcmV0dXJuLnB1c2goe1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wVmFsdWUgLyAxMDAwLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFF1YXJ0ZXJMYWJlbCh0ZW1wVmFsdWUpLFxuICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ6IChpID09PSAwKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0b19yZXR1cm47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRRdWFydGVyTGFiZWwodGltZVZhbHVlKSB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lVmFsdWUpO1xuICAgICAgICByZXR1cm4gXCJRXCIgKyBNYXRoLmZsb29yKChkYXRlLmdldE1vbnRoKCkgLyAzKSArIDEpICsgXCIgXCIgKyBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRVVENUaW1lc3RhbXAoZGF0ZSkge1xuICAgICAgICBjb25zdCBtb250aCA9IE1hdGguZmxvb3IoZGF0ZS5nZXRNb250aCgpIC8gMykgKiAzO1xuICAgICAgICByZXR1cm4gRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBtb250aCwgMSwgMTIsIDAsIDAsIDApO1xuICAgIH1cblxuICBkYXRlRmlsdGVyID0gKGRhdGUpID0+IHtcbiAgICBsZXQgc3RhdHVzID0gdHJ1ZTtcblxuICAgIHRoaXMubG9ja2VkRGF0ZS5mb3JFYWNoKHRpbWVzdGFtcCA9PiB7XG4gICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG4gICAgICBjb25zdCBxdWFydGVyRGF0ZSA9IG1vbWVudC51bml4KGRhdGUudmFsdWUpO1xuXG4gICAgICBpZiAobG9ja0RhdGUueWVhcigpID09PSBxdWFydGVyRGF0ZS55ZWFyKCkgJiYgbG9ja0RhdGUubW9udGgoKSA9PT0gcXVhcnRlckRhdGUubW9udGgoKSkge1xuICAgICAgICBkYXRlLmRpc2FibGUgPSB0cnVlO1xuICAgICAgICBzdGF0dXMgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBzdGF0dXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { AnyTagComponent } from "../dateTag.component";
|
|
3
|
-
import { FormControl } from "@angular/forms";
|
|
4
|
-
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from "@angular/material/core";
|
|
5
|
-
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from "@angular/material-moment-adapter";
|
|
6
|
-
// @ts-ignore
|
|
7
|
-
const moment = require("moment");
|
|
8
|
-
const WEEK_FORMATS = {
|
|
9
|
-
parse: {
|
|
10
|
-
dateInput: "WW-YYYY",
|
|
11
|
-
},
|
|
12
|
-
display: {
|
|
13
|
-
dateInput: "[Week] WW, YYYY",
|
|
14
|
-
monthYearLabel: "MMMM YYYY",
|
|
15
|
-
dateA11yLabel: "LL",
|
|
16
|
-
monthYearA11yLabel: "MMMM YYYY"
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const ɵ0 = WEEK_FORMATS;
|
|
20
|
-
export class WeekTagComponent extends AnyTagComponent {
|
|
21
|
-
constructor() {
|
|
22
|
-
super();
|
|
23
|
-
this.lockedDate = [];
|
|
24
|
-
this.date = new FormControl(moment());
|
|
25
|
-
this.selectedValue = "";
|
|
26
|
-
this.dateFilter = (date) => {
|
|
27
|
-
const calendarDate = moment(date);
|
|
28
|
-
let status = true;
|
|
29
|
-
this.lockedDate.forEach(timestamp => {
|
|
30
|
-
const lockDate = moment.unix(timestamp);
|
|
31
|
-
return status = !(lockDate.week() === calendarDate.week() && lockDate.year() === calendarDate.year());
|
|
32
|
-
});
|
|
33
|
-
return status;
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.initName();
|
|
38
|
-
const now = new Date();
|
|
39
|
-
now.setHours(0, 0, 0, 0);
|
|
40
|
-
const dateUnix = this.getUTCTimestamp(this.getMonday(now));
|
|
41
|
-
let default_value_time = dateUnix;
|
|
42
|
-
const one_day_in_seconds = 86400;
|
|
43
|
-
if (this.defaultValue) {
|
|
44
|
-
default_value_time = (this.defaultValue + one_day_in_seconds) * 1000;
|
|
45
|
-
}
|
|
46
|
-
const default_date = new Date(default_value_time);
|
|
47
|
-
const weekNumber = this.getWeekNumberByDate(default_date);
|
|
48
|
-
const yearNumber = default_date.getFullYear();
|
|
49
|
-
const dateStr = `${yearNumber}-W${weekNumber}`;
|
|
50
|
-
this.dateObj.date = dateStr;
|
|
51
|
-
this.selectedValue = dateStr;
|
|
52
|
-
this.chosenTagHandler(default_date);
|
|
53
|
-
}
|
|
54
|
-
initName() {
|
|
55
|
-
if (!this.name) {
|
|
56
|
-
this.name = "Week";
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
chosenDateHandler(normalizedDay) {
|
|
60
|
-
const date = moment(normalizedDay).unix();
|
|
61
|
-
this.chosenTagHandler(date);
|
|
62
|
-
}
|
|
63
|
-
chosenTagHandler(value) {
|
|
64
|
-
let date;
|
|
65
|
-
console.log("chosenTag", value);
|
|
66
|
-
if (value > 1000000000000) {
|
|
67
|
-
date = new Date(value);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
date = new Date(value * 1000);
|
|
71
|
-
}
|
|
72
|
-
const resultDate = moment(date);
|
|
73
|
-
const resultTag = {
|
|
74
|
-
name: this.name,
|
|
75
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
76
|
-
label: this.getWeekLabel(date),
|
|
77
|
-
locked: !this.dateFilter(value)
|
|
78
|
-
};
|
|
79
|
-
console.log("resultTag", resultTag);
|
|
80
|
-
this.dateChange.emit(resultTag);
|
|
81
|
-
}
|
|
82
|
-
getWeekLabel(date) {
|
|
83
|
-
return "W" + this.pad(moment(date).isoWeek(), 2) +
|
|
84
|
-
" " + moment(date).year();
|
|
85
|
-
}
|
|
86
|
-
getUTCTimestamp(date) {
|
|
87
|
-
return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 12, 0, 0, 0);
|
|
88
|
-
}
|
|
89
|
-
getMonday(date) {
|
|
90
|
-
const day = date.getDay() || 7;
|
|
91
|
-
if (day !== 1) {
|
|
92
|
-
date.setHours(-24 * (day - 1));
|
|
93
|
-
}
|
|
94
|
-
return date;
|
|
95
|
-
}
|
|
96
|
-
getWeekNumberByDate(date) {
|
|
97
|
-
return this.pad(moment(date).isoWeek(), 2);
|
|
98
|
-
}
|
|
99
|
-
pad(n, width, z = "0") {
|
|
100
|
-
z = z || "0";
|
|
101
|
-
n = n + "";
|
|
102
|
-
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
WeekTagComponent.decorators = [
|
|
106
|
-
{ type: Component, args: [{
|
|
107
|
-
template: "<div>\n <mat-form-field class=\"date-select-box\">\n <input\n matInput\n placeholder=\"{{name}}\"\n name=\"week\"\n [formControl]=\"date\"\n [matDatepicker]=\"datepicker\"\n [matDatepickerFilter]=\"dateFilter\"\n (ngModelChange)=\"chosenDateHandler($event)\">\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\n <mat-datepicker\n #datepicker\n startView=\"month\"\n ></mat-datepicker>\n </mat-form-field>\n</div>\n",
|
|
108
|
-
selector: "week-tag",
|
|
109
|
-
providers: [
|
|
110
|
-
{
|
|
111
|
-
provide: DateAdapter,
|
|
112
|
-
useClass: MomentDateAdapter,
|
|
113
|
-
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
114
|
-
},
|
|
115
|
-
{ provide: MAT_DATE_FORMATS, useValue: ɵ0 },
|
|
116
|
-
]
|
|
117
|
-
},] }
|
|
118
|
-
];
|
|
119
|
-
WeekTagComponent.ctorParameters = () => [];
|
|
120
|
-
WeekTagComponent.propDecorators = {
|
|
121
|
-
lockedDate: [{ type: Input }]
|
|
122
|
-
};
|
|
123
|
-
export { ɵ0 };
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla1RhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9EYXRlVGFncy93ZWVrVGFnL3dlZWtUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRyxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sWUFBWSxHQUFHO0lBQ25CLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxTQUFTO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLGlCQUFpQjtRQUM1QixjQUFjLEVBQUUsV0FBVztRQUMzQixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2hDO0NBQ0YsQ0FBQztXQVcwQyxZQUFZO0FBR3hELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxlQUFlO0lBTWpEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFOSCxlQUFVLEdBQVUsRUFBRSxDQUFDO1FBRWhDLFNBQUksR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBdUNuQixlQUFVLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMs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QUUsQ0FBQyxHQUFHLEdBQUc7UUFDM0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUM7UUFDYixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3RSxDQUFDOzs7WUFqSEosU0FBUyxTQUFDO2dCQUNQLDhrQkFBcUM7Z0JBQ3JDLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLFdBQVc7d0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQztxQkFDekQ7b0JBQ0QsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxJQUFjLEVBQUM7aUJBQ3BEO2FBQ0o7Ozs7eUJBRUksS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtJRGF0ZVRhZ30gZnJvbSBcIi4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzXCI7XG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHtBbnlUYWdDb21wb25lbnR9IGZyb20gXCIuLi9kYXRlVGFnLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQge01BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXJcIjtcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoXCJtb21lbnRcIik7XG5cbmNvbnN0IFdFRUtfRk9STUFUUyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6IFwiV1ctWVlZWVwiLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiBcIltXZWVrXSBXVywgWVlZWVwiLFxuICAgIG1vbnRoWWVhckxhYmVsOiBcIk1NTU0gWVlZWVwiLFxuICAgIGRhdGVBMTF5TGFiZWw6IFwiTExcIixcbiAgICBtb250aFllYXJBMTF5TGFiZWw6IFwiTU1NTSBZWVlZXCJcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIndlZWtUYWcuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzZWxlY3RvcjogXCJ3ZWVrLXRhZ1wiLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxuICAgICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICAgIH0sXG4gICAgICB7cHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IFdFRUtfRk9STUFUU30sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgV2Vla1RhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbG9ja2VkRGF0ZTogYW55W10gPSBbXTtcblxuICAgIGRhdGUgPSBuZXcgRm9ybUNvbnRyb2wobW9tZW50KCkpO1xuICAgIHNlbGVjdGVkVmFsdWUgPSBcIlwiO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICB0aGlzLmluaXROYW1lKCk7XG5cbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICBub3cuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG5cbiAgICAgIGNvbnN0IGRhdGVVbml4ID0gdGhpcy5nZXRVVENUaW1lc3RhbXAodGhpcy5nZXRNb25kYXkobm93KSk7XG4gICAgICBsZXQgZGVmYXVsdF92YWx1ZV90aW1lID0gZGF0ZVVuaXg7XG4gICAgICBjb25zdCBvbmVfZGF5X2luX3NlY29uZHMgPSA4NjQwMDtcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xuICAgICAgICBkZWZhdWx0X3ZhbHVlX3RpbWUgPSAodGhpcy5kZWZhdWx0VmFsdWUgKyBvbmVfZGF5X2luX3NlY29uZHMpICogMTAwMDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGVmYXVsdF9kYXRlID0gbmV3IERhdGUoZGVmYXVsdF92YWx1ZV90aW1lKTtcbiAgICAgIGNvbnN0IHdlZWtOdW1iZXIgPSB0aGlzLmdldFdlZWtOdW1iZXJCeURhdGUoZGVmYXVsdF9kYXRlKTtcbiAgICAgIGNvbnN0IHllYXJOdW1iZXIgPSBkZWZhdWx0X2RhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICAgIGNvbnN0IGRhdGVTdHIgPSBgJHt5ZWFyTnVtYmVyfS1XJHt3ZWVrTnVtYmVyfWA7XG4gICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IGRhdGVTdHI7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBkYXRlU3RyO1xuICAgICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKGRlZmF1bHRfZGF0ZSk7XG4gICAgfVxuXG4gICAgaW5pdE5hbWUoKSB7XG4gICAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgICB0aGlzLm5hbWUgPSBcIldlZWtcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjaG9zZW5EYXRlSGFuZGxlcihub3JtYWxpemVkRGF5KSB7XG4gICAgICBjb25zdCBkYXRlID0gbW9tZW50KG5vcm1hbGl6ZWREYXkpLnVuaXgoKTtcbiAgICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcihkYXRlKTtcbiAgICB9XG5cbiAgICBkYXRlRmlsdGVyID0gKGRhdGUpID0+IHtcbiAgICAgIGNvbnN0IGNhbGVuZGFyRGF0ZSA9IG1vbWVudChkYXRlKTtcbiAgICAgIGxldCBzdGF0dXMgPSB0cnVlO1xuXG4gICAgICB0aGlzLmxvY2tlZERhdGUuZm9yRWFjaCh0aW1lc3RhbXAgPT4ge1xuICAgICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG5cbiAgICAgICAgcmV0dXJuIHN0YXR1cyA9ICEobG9ja0RhdGUud2VlaygpID09PSBjYWxlbmRhckRhdGUud2VlaygpICYmIGxvY2tEYXRlLnllYXIoKSA9PT0gY2FsZW5kYXJEYXRlLnllYXIoKSk7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICB9XG5cbiAgICBjaG9zZW5UYWdIYW5kbGVyKHZhbHVlKSB7XG4gICAgICAgIGxldCBkYXRlO1xuICAgICAgICBjb25zb2xlLmxvZyhcImNob3NlblRhZ1wiLCB2YWx1ZSk7XG4gICAgICAgIGlmICh2YWx1ZSA+IDEwMDAwMDAwMDAwMDApIHtcbiAgICAgICAgICBkYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSAqIDEwMDApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0RGF0ZTogTW9tZW50ID0gbW9tZW50KGRhdGUpO1xuICAgICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IHBhcnNlSW50KHJlc3VsdERhdGUuZm9ybWF0KFwiWFwiKSwgMTApLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0V2Vla0xhYmVsKGRhdGUpLFxuICAgICAgICAgICAgbG9ja2VkOiAhdGhpcy5kYXRlRmlsdGVyKHZhbHVlKVxuICAgICAgICB9O1xuICAgICAgICBjb25zb2xlLmxvZyhcInJlc3VsdFRhZ1wiLCByZXN1bHRUYWcpO1xuICAgICAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChyZXN1bHRUYWcpO1xuICAgICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRXZWVrTGFiZWwoZGF0ZSkge1xuICAgICAgcmV0dXJuIFwiV1wiICsgdGhpcy5wYWQoIG1vbWVudChkYXRlKS5pc29XZWVrKCksIDIpICtcbiAgICAgICAgXCIgXCIgKyBtb21lbnQoZGF0ZSkueWVhcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VVRDVGltZXN0YW1wKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIERhdGUuVVRDKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSwgMTIsIDAsIDAsIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TW9uZGF5KGRhdGUpIHtcbiAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXkoKSB8fCA3O1xuICAgICAgICBpZiAoZGF5ICE9PSAxKSB7XG4gICAgICAgICAgICBkYXRlLnNldEhvdXJzKC0yNCAqIChkYXkgLSAxKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRXZWVrTnVtYmVyQnlEYXRlKGRhdGU6IERhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZChtb21lbnQoZGF0ZSkuaXNvV2VlaygpLCAyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhZChuLCB3aWR0aCwgeiA9IFwiMFwiKSB7XG4gICAgICB6ID0geiB8fCBcIjBcIjtcbiAgICAgIG4gPSBuICsgXCJcIjtcbiAgICAgIHJldHVybiBuLmxlbmd0aCA+PSB3aWR0aCA/IG4gOiBuZXcgQXJyYXkod2lkdGggLSBuLmxlbmd0aCArIDEpLmpvaW4oeikgKyBuO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { FormControl } from "@angular/forms";
|
|
3
|
-
import { AnyTagComponent } from "../dateTag.component";
|
|
4
|
-
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from "@angular/material/core";
|
|
5
|
-
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from "@angular/material-moment-adapter";
|
|
6
|
-
// @ts-ignore
|
|
7
|
-
const moment = require("moment");
|
|
8
|
-
const YEAR_FORMATS = {
|
|
9
|
-
parse: {
|
|
10
|
-
dateInput: "YYYY",
|
|
11
|
-
},
|
|
12
|
-
display: {
|
|
13
|
-
dateInput: "YYYY",
|
|
14
|
-
monthYearLabel: "MMMM YYYY",
|
|
15
|
-
dateA11yLabel: "LL",
|
|
16
|
-
monthYearA11yLabel: "MMMM YYYY"
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const ɵ0 = YEAR_FORMATS;
|
|
20
|
-
export class YearTagComponent extends AnyTagComponent {
|
|
21
|
-
constructor() {
|
|
22
|
-
super();
|
|
23
|
-
this.lockedDate = [];
|
|
24
|
-
this.date = new FormControl(moment());
|
|
25
|
-
this.dateFilter = (date) => {
|
|
26
|
-
const calendarDateYear = moment(date).year();
|
|
27
|
-
let status = true;
|
|
28
|
-
this.lockedDate.forEach(timestamp => {
|
|
29
|
-
const lockDate = moment.unix(timestamp);
|
|
30
|
-
return status = !(lockDate.year() === calendarDateYear);
|
|
31
|
-
});
|
|
32
|
-
return status;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
initDate() {
|
|
36
|
-
if (this.defaultValue) {
|
|
37
|
-
this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format("YYYY");
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
this.dateObj.date = moment(new Date()).format("YYYY");
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
initName() {
|
|
44
|
-
if (!this.name) {
|
|
45
|
-
this.name = "Year";
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
chosenTagHandler(value) {
|
|
49
|
-
const date = new Date();
|
|
50
|
-
const year = moment(value).year();
|
|
51
|
-
date.setTime(0);
|
|
52
|
-
date.setFullYear(year, 0, 1);
|
|
53
|
-
const resultDate = moment.utc(date);
|
|
54
|
-
resultDate.hour(12);
|
|
55
|
-
const resultTag = {
|
|
56
|
-
name: this.name,
|
|
57
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
58
|
-
label: resultDate.format("YYYY"),
|
|
59
|
-
locked: !this.dateFilter(value)
|
|
60
|
-
};
|
|
61
|
-
console.log("resultTag", resultTag);
|
|
62
|
-
this.dateChange.emit(resultTag);
|
|
63
|
-
}
|
|
64
|
-
chosenYearHandler(normalizedYear, datepicker) {
|
|
65
|
-
const ctrlValue = this.date.value;
|
|
66
|
-
ctrlValue.year(normalizedYear.year());
|
|
67
|
-
this.date.setValue(ctrlValue);
|
|
68
|
-
this.dateObj.date = this.date.value;
|
|
69
|
-
this.chosenTagHandler(this.date.value);
|
|
70
|
-
datepicker.close();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
YearTagComponent.decorators = [
|
|
74
|
-
{ type: Component, args: [{
|
|
75
|
-
template: "<div>\n <mat-form-field class=\"date-select-box\">\n <input\n matInput\n placeholder=\"{{name}}\"\n name=\"Year\"\n [formControl]=\"date\"\n [matDatepicker]=\"datepicker\"\n [matDatepickerFilter]=\"dateFilter\">\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\n <mat-datepicker\n #datepicker\n startView=\"multi-year\"\n (yearSelected)=\"chosenYearHandler($event, datepicker)\"\n panelClass=\"date-month-picker\"\n ></mat-datepicker>\n </mat-form-field>\n</div>\n",
|
|
76
|
-
selector: "year-tag",
|
|
77
|
-
providers: [
|
|
78
|
-
{
|
|
79
|
-
provide: DateAdapter,
|
|
80
|
-
useClass: MomentDateAdapter,
|
|
81
|
-
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
82
|
-
},
|
|
83
|
-
{ provide: MAT_DATE_FORMATS, useValue: ɵ0 },
|
|
84
|
-
]
|
|
85
|
-
},] }
|
|
86
|
-
];
|
|
87
|
-
YearTagComponent.ctorParameters = () => [];
|
|
88
|
-
YearTagComponent.propDecorators = {
|
|
89
|
-
lockedDate: [{ type: Input }]
|
|
90
|
-
};
|
|
91
|
-
export { ɵ0 };
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhclRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9EYXRlVGFncy95ZWFyVGFnL3llYXJUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFDLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RixPQUFPLEVBQUMsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRyxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRWpDLE1BQU0sWUFBWSxHQUFHO0lBQ25CLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxNQUFNO0tBQ2xCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLE1BQU07UUFDakIsY0FBYyxFQUFFLFdBQVc7UUFDM0IsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FBVztLQUNoQztDQUNGLENBQUM7V0FXMEMsWUFBWTtBQUl4RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQUtuRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBTEQsZUFBVSxHQUFVLEVBQUUsQ0FBQztRQUVoQyxTQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQWdEakMsZUFBVSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0MsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBRWxCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUV4QyxPQUFPLE1BQU0sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLGdCQUFnQixDQUFDLENBQUE7WUFDekQsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUE7SUF2REQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDckY7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQUs7UUFDbEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0IsTUFBTSxVQUFVLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sU0FBUyxHQUFhO1lBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsS0FBSyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ2hDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1NBQ2xDLENBQUM7UUFDRixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsY0FBc0IsRUFBRSxVQUFpQztRQUN6RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNsQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDOzs7WUE5REYsU0FBUyxTQUFDO2dCQUNQLDRvQkFBcUM7Z0JBQ3JDLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLFdBQVc7d0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQztxQkFDekQ7b0JBQ0QsRUFBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxJQUFjLEVBQUM7aUJBQ3BEO2FBQ0o7Ozs7eUJBR0UsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtGb3JtQ29udHJvbH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge01hdERhdGVwaWNrZXJ9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHtJRGF0ZVRhZ30gZnJvbSBcIi4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzXCI7XG5pbXBvcnQge0FueVRhZ0NvbXBvbmVudH0gZnJvbSBcIi4uL2RhdGVUYWcuY29tcG9uZW50XCI7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQge01BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXJcIjtcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoXCJtb21lbnRcIik7XG5cbmNvbnN0IFlFQVJfRk9STUFUUyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6IFwiWVlZWVwiLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiBcIllZWVlcIixcbiAgICBtb250aFllYXJMYWJlbDogXCJNTU1NIFlZWVlcIixcbiAgICBkYXRlQTExeUxhYmVsOiBcIkxMXCIsXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiBcIk1NTU0gWVlZWVwiXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJ5ZWFyVGFnLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc2VsZWN0b3I6IFwieWVhci10YWdcIixcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgICB9LFxuICAgICAge3Byb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBZRUFSX0ZPUk1BVFN9LFxuICAgIF0sXG59KVxuXG5leHBvcnQgY2xhc3MgWWVhclRhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxvY2tlZERhdGU6IGFueVtdID0gW107XG5cbiAgZGF0ZSA9IG5ldyBGb3JtQ29udHJvbChtb21lbnQoKSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGluaXREYXRlKCkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xuICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBtb21lbnQobmV3IERhdGUodGhpcy5kZWZhdWx0VmFsdWUgKiAxMDAwKSkudXRjKCkuZm9ybWF0KFwiWVlZWVwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KFwiWVlZWVwiKTtcbiAgICB9XG4gIH1cblxuICBpbml0TmFtZSgpIHtcbiAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgdGhpcy5uYW1lID0gXCJZZWFyXCI7XG4gICAgfVxuICB9XG5cbiAgY2hvc2VuVGFnSGFuZGxlcih2YWx1ZSkge1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICBjb25zdCB5ZWFyID0gbW9tZW50KHZhbHVlKS55ZWFyKCk7XG4gICAgICBkYXRlLnNldFRpbWUoMCk7XG4gICAgICBkYXRlLnNldEZ1bGxZZWFyKHllYXIsIDAsIDEpO1xuICAgICAgY29uc3QgcmVzdWx0RGF0ZTogTW9tZW50ID0gbW9tZW50LnV0YyhkYXRlKTtcbiAgICAgIHJlc3VsdERhdGUuaG91cigxMik7XG4gICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICB2YWx1ZTogcGFyc2VJbnQocmVzdWx0RGF0ZS5mb3JtYXQoXCJYXCIpLCAxMCksXG4gICAgICAgICAgbGFiZWw6IHJlc3VsdERhdGUuZm9ybWF0KFwiWVlZWVwiKSxcbiAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIodmFsdWUpXG4gICAgICB9O1xuICAgICAgY29uc29sZS5sb2coXCJyZXN1bHRUYWdcIiwgcmVzdWx0VGFnKTtcbiAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gIH1cblxuICBjaG9zZW5ZZWFySGFuZGxlcihub3JtYWxpemVkWWVhcjogTW9tZW50LCBkYXRlcGlja2VyOiBNYXREYXRlcGlja2VyPE1vbWVudD4pIHtcbiAgICBjb25zdCBjdHJsVmFsdWUgPSB0aGlzLmRhdGUudmFsdWU7XG4gICAgY3RybFZhbHVlLnllYXIobm9ybWFsaXplZFllYXIueWVhcigpKTtcblxuICAgIHRoaXMuZGF0ZS5zZXRWYWx1ZShjdHJsVmFsdWUpO1xuICAgIHRoaXMuZGF0ZU9iai5kYXRlID0gdGhpcy5kYXRlLnZhbHVlO1xuICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcih0aGlzLmRhdGUudmFsdWUpO1xuXG4gICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xuICB9XG5cbiAgZGF0ZUZpbHRlciA9IChkYXRlKSA9PiB7XG4gICAgY29uc3QgY2FsZW5kYXJEYXRlWWVhciA9IG1vbWVudChkYXRlKS55ZWFyKCk7XG4gICAgbGV0IHN0YXR1cyA9IHRydWU7XG5cbiAgICB0aGlzLmxvY2tlZERhdGUuZm9yRWFjaCh0aW1lc3RhbXAgPT4ge1xuICAgICAgY29uc3QgbG9ja0RhdGUgPSBtb21lbnQudW5peCh0aW1lc3RhbXApO1xuXG4gICAgICByZXR1cm4gc3RhdHVzID0gIShsb2NrRGF0ZS55ZWFyKCkgPT09IGNhbGVuZGFyRGF0ZVllYXIpXG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3RhdHVzO1xuICB9XG59XG4iXX0=
|