@datarailsshared/datarailsshared 1.2.2 → 1.3.2-beta
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 +1546 -0
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -0
- package/datarailsshared-datarailsshared-1.3.2-beta.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 +31 -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 +1108 -0
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -0
- package/{DateTags/dateTag.component.d.ts → lib/date-tags/date-tag.component.d.ts} +27 -26
- package/lib/date-tags/date-tag.module.d.ts +4 -0
- package/lib/date-tags/day-tag/day-tag.component.d.ts +12 -0
- package/{DateTags/forecastTag/forecastTag.component.d.ts → lib/date-tags/forecast-tag/forecast-tag.component.d.ts} +21 -18
- package/lib/date-tags/month-tag/month-tag.component.d.ts +14 -0
- package/{DateTags/quarterTag/quarterTag.component.d.ts → lib/date-tags/quarter-tag/quarter-tag.component.d.ts} +17 -15
- package/{DateTags/weekTag/weekTag.component.d.ts → lib/date-tags/week-tag/week-tag.component.d.ts} +19 -15
- package/lib/date-tags/year-tag/year-tag.component.d.ts +14 -0
- 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/radio-button/radio-button.component.d.ts +15 -0
- package/{DrTags/drTag.component.d.ts → lib/dr-tags/dr-tag.component.d.ts} +15 -14
- 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 -25
- package/package.json +11 -11
- package/public-api.d.ts +17 -0
- package/DateTags/dateTag.module.d.ts +0 -2
- package/DateTags/dayTag/dayTag.component.d.ts +0 -7
- package/DateTags/monthTag/monthTag.component.d.ts +0 -7
- package/DateTags/yearTag/yearTag.component.d.ts +0 -7
- package/bundles/ng-datarails.umd.js +0 -986
- package/bundles/ng-datarails.umd.js.map +0 -1
- package/datarailsshared-datarailsshared-1.2.2.tgz +0 -0
- package/esm2015/DateTags/dateTag.component.js +0 -71
- package/esm2015/DateTags/dateTag.module.js +0 -54
- package/esm2015/DateTags/dayTag/dayTag.component.js +0 -41
- package/esm2015/DateTags/forecastTag/forecastTag.component.js +0 -118
- package/esm2015/DateTags/monthTag/monthTag.component.js +0 -41
- package/esm2015/DateTags/quarterTag/quarterTag.component.js +0 -82
- package/esm2015/DateTags/weekTag/weekTag.component.js +0 -84
- package/esm2015/DateTags/yearTag/yearTag.component.js +0 -43
- package/esm2015/DrTags/drTag.component.js +0 -52
- 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 -653
- 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,118 +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.forecastValue = undefined;
|
|
9
|
-
this.forecastTags = [
|
|
10
|
-
{ "value": 0, "label": "0+12" },
|
|
11
|
-
{ "value": 1, "label": "1+11" },
|
|
12
|
-
{ "value": 2, "label": "2+10" },
|
|
13
|
-
{ "value": 3, "label": "3+9" },
|
|
14
|
-
{ "value": 4, "label": "4+8" },
|
|
15
|
-
{ "value": 5, "label": "5+7" },
|
|
16
|
-
{ "value": 6, "label": "6+6" },
|
|
17
|
-
{ "value": 7, "label": "7+5" },
|
|
18
|
-
{ "value": 8, "label": "8+4" },
|
|
19
|
-
{ "value": 9, "label": "9+3" },
|
|
20
|
-
{ "value": 10, "label": "10+2" },
|
|
21
|
-
{ "value": 11, "label": "11+1" }
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
|
-
initDate() {
|
|
25
|
-
let dateVal = new Date();
|
|
26
|
-
if (this.defaultValue) {
|
|
27
|
-
dateVal = new Date(this.defaultValue * 1000);
|
|
28
|
-
}
|
|
29
|
-
let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;
|
|
30
|
-
let fiscal_year_back = this.fiscalYearBack || false;
|
|
31
|
-
this.forecastValue = this.getFiscalMonthFromDate(dateVal, fiscal_year_starts_from) - 1;
|
|
32
|
-
let fiscal_year = this.getFiscalYearFromDate(dateVal, fiscal_year_starts_from, fiscal_year_back);
|
|
33
|
-
console.log("test", dateVal, fiscal_year_starts_from, this.forecastValue, fiscal_year);
|
|
34
|
-
this.dateObj.date = moment(new Date(fiscal_year, 0, 1)).format("YYYY");
|
|
35
|
-
}
|
|
36
|
-
initName() {
|
|
37
|
-
if (!this.name) {
|
|
38
|
-
this.name = "Forecast";
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
getFiscalMonthFromDate(dateObj, fiscal_year_starts_from) {
|
|
42
|
-
let all_months = [];
|
|
43
|
-
for (let i = fiscal_year_starts_from; i < 13; i++) {
|
|
44
|
-
all_months.push(i);
|
|
45
|
-
}
|
|
46
|
-
for (let i = 1; i < fiscal_year_starts_from; i++) {
|
|
47
|
-
all_months.push(i);
|
|
48
|
-
}
|
|
49
|
-
return all_months.indexOf(dateObj.getMonth() + 1) + 1;
|
|
50
|
-
}
|
|
51
|
-
getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back) {
|
|
52
|
-
let fiscal_year = dateObj.getFullYear();
|
|
53
|
-
if (!fiscal_year_back) {
|
|
54
|
-
if (dateObj.getMonth() + 1 >= fiscal_year_starts_from && fiscal_year_starts_from !== 1) {
|
|
55
|
-
fiscal_year += 1;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
if (dateObj.getMonth() + 1 < fiscal_year_starts_from && fiscal_year_starts_from !== 1) {
|
|
60
|
-
fiscal_year -= 1;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return fiscal_year;
|
|
64
|
-
}
|
|
65
|
-
getForecastLabelFromValue(value, fiscal_year_starts_from, fiscal_year_back) {
|
|
66
|
-
let label = "";
|
|
67
|
-
if (value) {
|
|
68
|
-
let dateObj = new Date(value * 1000);
|
|
69
|
-
let fiscal_month = this.getFiscalMonthFromDate(dateObj, fiscal_year_starts_from);
|
|
70
|
-
let fiscal_year = this.getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back);
|
|
71
|
-
label = (fiscal_month - 1) + "+" + (13 - fiscal_month) + " (" + fiscal_year + ")";
|
|
72
|
-
}
|
|
73
|
-
return label;
|
|
74
|
-
}
|
|
75
|
-
changeTagInputHandler(event) {
|
|
76
|
-
this.chosenTagHandler();
|
|
77
|
-
}
|
|
78
|
-
changeYearInputHandler(event) {
|
|
79
|
-
this.chosenTagHandler();
|
|
80
|
-
}
|
|
81
|
-
chosenTagHandler() {
|
|
82
|
-
let month = this.forecastValue;
|
|
83
|
-
let year = Number.parseInt(this.dateObj.date);
|
|
84
|
-
let timeStampVal = 0;
|
|
85
|
-
let label = "";
|
|
86
|
-
if (!Number.isNaN(month) && !Number.isNaN(year)) {
|
|
87
|
-
let date = new Date(year, month, 1, 12, 0, 0, 0);
|
|
88
|
-
let fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;
|
|
89
|
-
let fiscal_year_back = this.fiscalYearBack || false;
|
|
90
|
-
if (fiscal_year_starts_from !== 1) {
|
|
91
|
-
if (!fiscal_year_back)
|
|
92
|
-
date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);
|
|
93
|
-
else
|
|
94
|
-
date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);
|
|
95
|
-
}
|
|
96
|
-
timeStampVal = date.getTime() / 1000;
|
|
97
|
-
label = this.getForecastLabelFromValue(timeStampVal, fiscal_year_starts_from, fiscal_year_back);
|
|
98
|
-
}
|
|
99
|
-
const resultTag = {
|
|
100
|
-
"name": this.name,
|
|
101
|
-
"value": timeStampVal,
|
|
102
|
-
"label": label
|
|
103
|
-
};
|
|
104
|
-
this.dateChange.emit(resultTag);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
ForecastTagComponent.decorators = [
|
|
108
|
-
{ type: Component, args: [{
|
|
109
|
-
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\">{{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",
|
|
110
|
-
selector: "forecast-tag"
|
|
111
|
-
},] }
|
|
112
|
-
];
|
|
113
|
-
ForecastTagComponent.ctorParameters = () => [];
|
|
114
|
-
ForecastTagComponent.propDecorators = {
|
|
115
|
-
fiscalYearStartsFrom: [{ type: Input }],
|
|
116
|
-
fiscalYearBack: [{ type: Input }]
|
|
117
|
-
};
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWNhc3RUYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRGF0ZVRhZ3MvZm9yZWNhc3RUYWcvZm9yZWNhc3RUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUdyRCxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBT2pDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFlO0lBb0J2RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBbEJWLGtCQUFhLEdBQXVCLFNBQVMsQ0FBQztRQUU5QyxpQkFBWSxHQUFVO1lBQ3BCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDO1lBQzdCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDO1lBQzdCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDO1lBQzdCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDO1lBQzVCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDO1lBQzVCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDO1lBQzVCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDO1lBQzVCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDO1lBQzVCLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFDO1lBQzVCLEVBQUMs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QUF1QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLENBQUM7WUFDN0QsSUFBSSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQztZQUNwRCxJQUFJLHVCQUF1QixLQUFLLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLGdCQUFnQjtvQkFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxHQUFHLHVCQUF1QixDQUFDLENBQUM7O29CQUU5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsQ0FBQzthQUNoRTtZQUVELFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3JDLEtBQUssR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWSxFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDakc7UUFFRCxNQUFNLFNBQVMsR0FBYTtZQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDakIsT0FBTyxFQUFFLFlBQVk7WUFDckIsT0FBTyxFQUFFLEtBQUs7U0FDakIsQ0FBQztRQUVKLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQXBJRixTQUFTLFNBQUM7Z0JBQ1AsdW9CQUF5QztnQkFDekMsUUFBUSxFQUFFLGNBQWM7YUFDM0I7Ozs7bUNBR0UsS0FBSzs2QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7SURhdGVUYWd9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2VydmVyVGFnc1wiO1xuaW1wb3J0IHtBbnlUYWdDb21wb25lbnR9IGZyb20gXCIuLi9kYXRlVGFnLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXRTZWxlY3RDaGFuZ2V9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcbmltcG9ydCB7TWF0QnV0dG9uVG9nZ2xlQ2hhbmdlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZVwiO1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgbW9tZW50ID0gcmVxdWlyZShcIm1vbWVudFwiKTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6IFwiZm9yZWNhc3RUYWcuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzZWxlY3RvcjogXCJmb3JlY2FzdC10YWdcIixcbn0pXG5cbmV4cG9ydCBjbGFzcyBGb3JlY2FzdFRhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZpc2NhbFllYXJTdGFydHNGcm9tPzogbnVtYmVyO1xuICBASW5wdXQoKSBmaXNjYWxZZWFyQmFjaz86IGJvb2xlYW47XG4gIGZvcmVjYXN0VmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBmb3JlY2FzdFRhZ3M6IGFueVtdID0gW1xuICAgIHtcInZhbHVlXCI6IDAsIFwibGFiZWxcIjogXCIwKzEyXCJ9LFxuICAgIHtcInZhbHVlXCI6IDEsIFwibGFiZWxcIjogXCIxKzExXCJ9LFxuICAgIHtcInZhbHVlXCI6IDIsIFwibGFiZWxcIjogXCIyKzEwXCJ9LFxuICAgIHtcInZhbHVlXCI6IDMsIFwibGFiZWxcIjogXCIzKzlcIn0sXG4gICAge1widmFsdWVcIjogNCwgXCJsYWJlbFwiOiBcIjQrOFwifSxcbiAgICB7XCJ2YWx1ZVwiOiA1LCBcImxhYmVsXCI6IFwiNSs3XCJ9LFxuICAgIHtcInZhbHVlXCI6IDYsIFwibGFiZWxcIjogXCI2KzZcIn0sXG4gICAge1widmFsdWVcIjogNywgXCJsYWJlbFwiOiBcIjcrNVwifSxcbiAgICB7XCJ2YWx1ZVwiOiA4LCBcImxhYmVsXCI6IFwiOCs0XCJ9LFxuICAgIHtcInZhbHVlXCI6IDksIFwibGFiZWxcIjogXCI5KzNcIn0sXG4gICAge1widmFsdWVcIjogMTAsIFwibGFiZWxcIjogXCIxMCsyXCJ9LFxuICAgIHtcInZhbHVlXCI6IDExLCBcImxhYmVsXCI6IFwiMTErMVwifVxuICBdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBpbml0RGF0ZSgpIHtcbiAgICBsZXQgZGF0ZVZhbCA9IG5ldyBEYXRlKCk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFZhbHVlKSB7XG4gICAgICBkYXRlVmFsID0gbmV3IERhdGUodGhpcy5kZWZhdWx0VmFsdWUgKiAxMDAwKTtcbiAgICB9XG4gICAgbGV0IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tID0gdGhpcy5maXNjYWxZZWFyU3RhcnRzRnJvbSB8fCAxO1xuICAgIGxldCBmaXNjYWxfeWVhcl9iYWNrID0gdGhpcy5maXNjYWxZZWFyQmFjayB8fCBmYWxzZTtcbiAgICB0aGlzLmZvcmVjYXN0VmFsdWUgPSB0aGlzLmdldEZpc2NhbE1vbnRoRnJvbURhdGUoZGF0ZVZhbCwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20pIC0gMTtcbiAgICBsZXQgZmlzY2FsX3llYXIgPSB0aGlzLmdldEZpc2NhbFllYXJGcm9tRGF0ZShkYXRlVmFsLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSwgZmlzY2FsX3llYXJfYmFjayk7XG5cbiAgICBjb25zb2xlLmxvZyhcInRlc3RcIiwgZGF0ZVZhbCwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIHRoaXMuZm9yZWNhc3RWYWx1ZSwgZmlzY2FsX3llYXIpO1xuXG4gICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBtb21lbnQobmV3IERhdGUoZmlzY2FsX3llYXIsIDAsIDEpKS5mb3JtYXQoXCJZWVlZXCIpO1xuICB9XG5cbiAgaW5pdE5hbWUoKSB7XG4gICAgaWYgKCF0aGlzLm5hbWUpIHtcbiAgICAgIHRoaXMubmFtZSA9IFwiRm9yZWNhc3RcIjtcbiAgICB9XG4gIH1cblxuICBnZXRGaXNjYWxNb250aEZyb21EYXRlKGRhdGVPYmosIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKSB7XG4gICAgbGV0IGFsbF9tb250aHMgPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbTsgaSA8IDEzOyBpKyspIHtcbiAgICAgIGFsbF9tb250aHMucHVzaChpKTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tOyBpKyspIHtcbiAgICAgIGFsbF9tb250aHMucHVzaChpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYWxsX21vbnRocy5pbmRleE9mKGRhdGVPYmouZ2V0TW9udGgoKSArIDEpICsgMTtcbiAgfVxuXG4gIGdldEZpc2NhbFllYXJGcm9tRGF0ZShkYXRlT2JqLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSwgZmlzY2FsX3llYXJfYmFjaykge1xuICAgIGxldCBmaXNjYWxfeWVhciA9IGRhdGVPYmouZ2V0RnVsbFllYXIoKTtcblxuICAgIGlmICghZmlzY2FsX3llYXJfYmFjaykge1xuICAgICAgaWYgKGRhdGVPYmouZ2V0TW9udGgoKSArIDEgPj0gZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gJiYgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gIT09IDEpIHtcbiAgICAgICAgZmlzY2FsX3llYXIgKz0gMTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGRhdGVPYmouZ2V0TW9udGgoKSArIDEgPCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAmJiBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAhPT0gMSkge1xuICAgICAgICBmaXNjYWxfeWVhciAtPSAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaXNjYWxfeWVhcjtcbiAgfVxuXG4gIGdldEZvcmVjYXN0TGFiZWxGcm9tVmFsdWUodmFsdWUsIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tLCBmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgbGV0IGxhYmVsID0gXCJcIjtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGxldCBkYXRlT2JqID0gbmV3IERhdGUodmFsdWUgKiAxMDAwKTtcblxuICAgICAgbGV0IGZpc2NhbF9tb250aCA9IHRoaXMuZ2V0RmlzY2FsTW9udGhGcm9tRGF0ZShkYXRlT2JqLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSk7XG4gICAgICBsZXQgZmlzY2FsX3llYXIgPSB0aGlzLmdldEZpc2NhbFllYXJGcm9tRGF0ZShkYXRlT2JqLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSwgZmlzY2FsX3llYXJfYmFjayk7XG5cbiAgICAgIGxhYmVsID0gKGZpc2NhbF9tb250aCAtIDEpICsgXCIrXCIgKyAoMTMgLSBmaXNjYWxfbW9udGgpICsgXCIgKFwiICsgZmlzY2FsX3llYXIgKyBcIilcIjtcbiAgICB9XG4gICAgcmV0dXJuIGxhYmVsO1xuICB9XG5cbiAgY2hhbmdlVGFnSW5wdXRIYW5kbGVyKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UgfCBNYXRCdXR0b25Ub2dnbGVDaGFuZ2UpIHtcbiAgICB0aGlzLmNob3NlblRhZ0hhbmRsZXIoKTtcbiAgfVxuXG4gIGNoYW5nZVllYXJJbnB1dEhhbmRsZXIoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKCk7XG4gIH1cblxuICBjaG9zZW5UYWdIYW5kbGVyKCkge1xuICAgIGxldCBtb250aCA9IHRoaXMuZm9yZWNhc3RWYWx1ZTtcbiAgICBsZXQgeWVhciA9IE51bWJlci5wYXJzZUludCh0aGlzLmRhdGVPYmouZGF0ZSk7XG5cbiAgICBsZXQgdGltZVN0YW1wVmFsID0gMDtcbiAgICBsZXQgbGFiZWwgPSBcIlwiO1xuXG4gICAgaWYgKCFOdW1iZXIuaXNOYU4obW9udGgpICYmICFOdW1iZXIuaXNOYU4oeWVhcikpIHtcblxuXG4gICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxLCAxMiwgMCwgMCwgMCk7XG4gICAgICBsZXQgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gPSB0aGlzLmZpc2NhbFllYXJTdGFydHNGcm9tIHx8IDE7XG4gICAgICBsZXQgZmlzY2FsX3llYXJfYmFjayA9IHRoaXMuZmlzY2FsWWVhckJhY2sgfHwgZmFsc2U7XG4gICAgICBpZiAoZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gIT09IDEpIHtcbiAgICAgICAgaWYgKCFmaXNjYWxfeWVhcl9iYWNrKVxuICAgICAgICAgIGRhdGUuc2V0TW9udGgoZGF0ZS5nZXRNb250aCgpIC0gMTMgKyBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSAtIDEgKyBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSk7XG4gICAgICB9XG5cbiAgICAgIHRpbWVTdGFtcFZhbCA9IGRhdGUuZ2V0VGltZSgpIC8gMTAwMDtcbiAgICAgIGxhYmVsID0gdGhpcy5nZXRGb3JlY2FzdExhYmVsRnJvbVZhbHVlKHRpbWVTdGFtcFZhbCwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdFRhZzogSURhdGVUYWcgPSB7XG4gICAgICAgICAgXCJuYW1lXCI6IHRoaXMubmFtZSxcbiAgICAgICAgICBcInZhbHVlXCI6IHRpbWVTdGFtcFZhbCxcbiAgICAgICAgICBcImxhYmVsXCI6IGxhYmVsXG4gICAgICB9O1xuXG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgfVxufVxuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { AnyTagComponent } from "../dateTag.component";
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const moment = require("moment");
|
|
5
|
-
export class MonthTagComponent extends AnyTagComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
}
|
|
9
|
-
initDate() {
|
|
10
|
-
if (this.defaultValue) {
|
|
11
|
-
this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format("YYYY-MM");
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
this.dateObj.date = moment(new Date()).format("YYYY-MM");
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
initName() {
|
|
18
|
-
if (!this.name) {
|
|
19
|
-
this.name = "Month and Year";
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
chosenTagHandler(value) {
|
|
23
|
-
const resultDate = moment.utc(value);
|
|
24
|
-
resultDate.hour(12);
|
|
25
|
-
const resultTag = {
|
|
26
|
-
name: this.name,
|
|
27
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
28
|
-
label: resultDate.format("MMMM YYYY"),
|
|
29
|
-
};
|
|
30
|
-
console.log(resultTag, value);
|
|
31
|
-
this.dateChange.emit(resultTag);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
MonthTagComponent.decorators = [
|
|
35
|
-
{ type: Component, args: [{
|
|
36
|
-
template: "<div>\n <mat-form-field class=\"date-select-box\">\n <input matInput placeholder=\"{{name}}\" type=\"month\" name=\"Month\"\n (change)=\"changeInputHandler($event)\"\n [(ngModel)]=\"dateObj.date\">\n </mat-form-field>\n</div>\n",
|
|
37
|
-
selector: "month-tag"
|
|
38
|
-
},] }
|
|
39
|
-
];
|
|
40
|
-
MonthTagComponent.ctorParameters = () => [];
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGhUYWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRGF0ZVRhZ3MvbW9udGhUYWcvbW9udGhUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBR3RFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBT2pDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBQ2xEO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4RjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sVUFBVSxHQUFXLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0MsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNwQixNQUFNLFNBQVMsR0FBYTtZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNDLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztTQUN4QyxDQUFDO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7O1lBbENKLFNBQVMsU0FBQztnQkFDUCx3UkFBc0M7Z0JBQ3RDLFFBQVEsRUFBRSxXQUFXO2FBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHtJRGF0ZVRhZ30gZnJvbSBcIi4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzXCI7XG5pbXBvcnQge0FueVRhZ0NvbXBvbmVudH0gZnJvbSBcIi4uL2RhdGVUYWcuY29tcG9uZW50XCI7XG4vLyBAdHMtaWdub3JlXG5jb25zdCBtb21lbnQgPSByZXF1aXJlKFwibW9tZW50XCIpO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJtb250aFRhZy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHNlbGVjdG9yOiBcIm1vbnRoLXRhZ1wiLFxufSlcblxuZXhwb3J0IGNsYXNzIE1vbnRoVGFnQ29tcG9uZW50IGV4dGVuZHMgQW55VGFnQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0RGF0ZSgpIHtcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xuICAgICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IG1vbWVudChuZXcgRGF0ZSh0aGlzLmRlZmF1bHRWYWx1ZSAqIDEwMDApKS51dGMoKS5mb3JtYXQoXCJZWVlZLU1NXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KFwiWVlZWS1NTVwiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbml0TmFtZSgpIHtcbiAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgIHRoaXMubmFtZSA9IFwiTW9udGggYW5kIFllYXJcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjaG9zZW5UYWdIYW5kbGVyKHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdERhdGU6IE1vbWVudCA9IG1vbWVudC51dGModmFsdWUpO1xuICAgICAgICByZXN1bHREYXRlLmhvdXIoMTIpO1xuICAgICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IHBhcnNlSW50KHJlc3VsdERhdGUuZm9ybWF0KFwiWFwiKSwgMTApLFxuICAgICAgICAgICAgbGFiZWw6IHJlc3VsdERhdGUuZm9ybWF0KFwiTU1NTSBZWVlZXCIpLFxuICAgICAgICB9O1xuICAgICAgICBjb25zb2xlLmxvZyhyZXN1bHRUYWcsIHZhbHVlKTtcbiAgICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { Component } 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.selectedValue = 0;
|
|
9
|
-
this.quarters = [];
|
|
10
|
-
}
|
|
11
|
-
ngOnInit() {
|
|
12
|
-
this.initName();
|
|
13
|
-
this.quarters = this.getQuarterOptions();
|
|
14
|
-
for (const quarter of this.quarters) {
|
|
15
|
-
if (quarter.isSelected) {
|
|
16
|
-
this.selectedValue = quarter.value;
|
|
17
|
-
this.chosenTagHandler(quarter.value);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
initName() {
|
|
22
|
-
if (!this.name) {
|
|
23
|
-
this.name = "Quarter";
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
changeSelectHandler(event) {
|
|
27
|
-
this.chosenTagHandler(event.value);
|
|
28
|
-
}
|
|
29
|
-
chosenTagHandler(value) {
|
|
30
|
-
const date = new Date(value * 1000);
|
|
31
|
-
const resultDate = moment.utc(date);
|
|
32
|
-
const resultTag = {
|
|
33
|
-
name: this.name,
|
|
34
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
35
|
-
label: this.getQuarterLabel(resultDate.toString()),
|
|
36
|
-
};
|
|
37
|
-
this.dateChange.emit(resultTag);
|
|
38
|
-
}
|
|
39
|
-
getQuarterOptions() {
|
|
40
|
-
const quartersBeforeToday = 8;
|
|
41
|
-
const quartersAfterToday = 8;
|
|
42
|
-
const dateNow = new Date();
|
|
43
|
-
const dateNowUnix = this.getUTCTimestamp(dateNow);
|
|
44
|
-
let defaultValue = dateNowUnix;
|
|
45
|
-
let tempDate = new Date();
|
|
46
|
-
if (this.defaultValue) {
|
|
47
|
-
defaultValue = this.defaultValue * 1000;
|
|
48
|
-
}
|
|
49
|
-
let afterDefault = Math.round(Math.abs(dateNowUnix - defaultValue) / 7776000000) + quartersAfterToday;
|
|
50
|
-
afterDefault = Math.min(afterDefault, 100);
|
|
51
|
-
let i, tempValue;
|
|
52
|
-
const to_return = [];
|
|
53
|
-
for (i = 0 - quartersBeforeToday; i <= afterDefault; i++) {
|
|
54
|
-
tempDate = new Date(defaultValue);
|
|
55
|
-
tempDate.setDate(15);
|
|
56
|
-
tempDate.setMonth(tempDate.getMonth() + 3 * i);
|
|
57
|
-
tempValue = this.getUTCTimestamp(tempDate);
|
|
58
|
-
to_return.push({
|
|
59
|
-
value: tempValue / 1000,
|
|
60
|
-
label: this.getQuarterLabel(tempValue),
|
|
61
|
-
isSelected: (i === 0),
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
return to_return;
|
|
65
|
-
}
|
|
66
|
-
getQuarterLabel(timeValue) {
|
|
67
|
-
const date = new Date(timeValue);
|
|
68
|
-
return "Q" + Math.floor((date.getMonth() / 3) + 1) + " " + date.getFullYear();
|
|
69
|
-
}
|
|
70
|
-
getUTCTimestamp(date) {
|
|
71
|
-
const month = Math.floor(date.getMonth() / 3) * 3;
|
|
72
|
-
return Date.UTC(date.getFullYear(), month, 1, 12, 0, 0, 0);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
QuarterTagComponent.decorators = [
|
|
76
|
-
{ type: Component, args: [{
|
|
77
|
-
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\">{{quarter.label}}</mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n",
|
|
78
|
-
selector: "quarter-tag"
|
|
79
|
-
},] }
|
|
80
|
-
];
|
|
81
|
-
QuarterTagComponent.ctorParameters = () => [];
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcnRlclRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9EYXRlVGFncy9xdWFydGVyVGFnL3F1YXJ0ZXJUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFHaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXJELGFBQWE7QUFDYixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFNakMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGVBQWU7SUFJcEQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUpaLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGFBQVEsR0FBVSxFQUFFLENBQUM7SUFJckIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QyxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO2dCQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDeEM7U0FDSjtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLFVBQVUsR0FBVyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sU0FBUyxHQUFhO1lBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3JELENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDOUIsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7UUFDN0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELElBQUksWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLFFBQVEsR0FBSSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzNCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDekM7UUFFRCxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLGtCQUFrQixDQUFDO1FBQ3RHLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUM7UUFDakIsTUFBTSxTQUFTLEdBQVUsRUFBRSxDQUFDO1FBQzVCLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxDQUFDLElBQUksWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3RELFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNsQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzQyxTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNYLEtBQUssRUFBRSxTQUFTLEdBQUcsSUFBSTtnQkFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO2dCQUN0QyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCLENBQUMsQ0FBQztTQUNOO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxTQUFTO1FBQzdCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRixDQUFDO0lBRU8sZUFBZSxDQUFDLElBQUk7UUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOzs7WUFsRkosU0FBUyxTQUFDO2dCQUNQLGlWQUF3QztnQkFDeEMsUUFBUSxFQUFFLGFBQWE7YUFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtJRGF0ZVRhZ30gZnJvbSBcIi4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzXCI7XG5pbXBvcnQge01vbWVudH0gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHtBbnlUYWdDb21wb25lbnR9IGZyb20gXCIuLi9kYXRlVGFnLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtNYXRTZWxlY3RDaGFuZ2V9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoXCJtb21lbnRcIik7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcInF1YXJ0ZXJUYWcuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzZWxlY3RvcjogXCJxdWFydGVyLXRhZ1wiLFxufSlcbmV4cG9ydCBjbGFzcyBRdWFydGVyVGFnQ29tcG9uZW50IGV4dGVuZHMgQW55VGFnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzZWxlY3RlZFZhbHVlID0gMDtcbiAgICBxdWFydGVyczogYW55W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy5pbml0TmFtZSgpO1xuICAgICAgdGhpcy5xdWFydGVycyA9IHRoaXMuZ2V0UXVhcnRlck9wdGlvbnMoKTtcblxuICAgICAgZm9yIChjb25zdCBxdWFydGVyIG9mIHRoaXMucXVhcnRlcnMpIHtcbiAgICAgICAgICBpZiAocXVhcnRlci5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHF1YXJ0ZXIudmFsdWU7XG4gICAgICAgICAgICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcihxdWFydGVyLnZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5pdE5hbWUoKSB7XG4gICAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgICB0aGlzLm5hbWUgPSBcIlF1YXJ0ZXJcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VTZWxlY3RIYW5kbGVyKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcihldmVudC52YWx1ZSk7XG4gICAgfVxuXG4gICAgY2hvc2VuVGFnSGFuZGxlcih2YWx1ZSkge1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodmFsdWUgKiAxMDAwKTtcbiAgICAgICAgY29uc3QgcmVzdWx0RGF0ZTogTW9tZW50ID0gbW9tZW50LnV0YyhkYXRlKTtcbiAgICAgICAgY29uc3QgcmVzdWx0VGFnOiBJRGF0ZVRhZyA9IHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiBwYXJzZUludChyZXN1bHREYXRlLmZvcm1hdChcIlhcIiksIDEwKSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldFF1YXJ0ZXJMYWJlbChyZXN1bHREYXRlLnRvU3RyaW5nKCkpLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChyZXN1bHRUYWcpO1xuICAgIH1cblxuICAgIGdldFF1YXJ0ZXJPcHRpb25zKCkge1xuICAgICAgICBjb25zdCBxdWFydGVyc0JlZm9yZVRvZGF5ID0gODtcbiAgICAgICAgY29uc3QgcXVhcnRlcnNBZnRlclRvZGF5ID0gODtcbiAgICAgICAgY29uc3QgZGF0ZU5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IGRhdGVOb3dVbml4ID0gdGhpcy5nZXRVVENUaW1lc3RhbXAoZGF0ZU5vdyk7XG4gICAgICAgIGxldCBkZWZhdWx0VmFsdWUgPSBkYXRlTm93VW5peDtcbiAgICAgICAgbGV0IHRlbXBEYXRlID0gIG5ldyBEYXRlKCk7XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xuICAgICAgICAgIGRlZmF1bHRWYWx1ZSA9IHRoaXMuZGVmYXVsdFZhbHVlICogMTAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhZnRlckRlZmF1bHQgPSBNYXRoLnJvdW5kKE1hdGguYWJzKGRhdGVOb3dVbml4IC0gZGVmYXVsdFZhbHVlKSAvIDc3NzYwMDAwMDApICsgcXVhcnRlcnNBZnRlclRvZGF5O1xuICAgICAgICBhZnRlckRlZmF1bHQgPSBNYXRoLm1pbihhZnRlckRlZmF1bHQsIDEwMCk7XG4gICAgICAgIGxldCBpLCB0ZW1wVmFsdWU7XG4gICAgICAgIGNvbnN0IHRvX3JldHVybjogYW55W10gPSBbXTtcbiAgICAgICAgZm9yIChpID0gMCAtIHF1YXJ0ZXJzQmVmb3JlVG9kYXk7IGkgPD0gYWZ0ZXJEZWZhdWx0OyBpKyspIHtcbiAgICAgICAgICAgIHRlbXBEYXRlID0gbmV3IERhdGUoZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgICAgIHRlbXBEYXRlLnNldERhdGUoMTUpO1xuICAgICAgICAgICAgdGVtcERhdGUuc2V0TW9udGgodGVtcERhdGUuZ2V0TW9udGgoKSArIDMgKiBpKTtcbiAgICAgICAgICAgIHRlbXBWYWx1ZSA9IHRoaXMuZ2V0VVRDVGltZXN0YW1wKHRlbXBEYXRlKTtcbiAgICAgICAgICAgIHRvX3JldHVybi5wdXNoKHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcFZhbHVlIC8gMTAwMCxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRRdWFydGVyTGFiZWwodGVtcFZhbHVlKSxcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGVkOiAoaSA9PT0gMCksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdG9fcmV0dXJuO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UXVhcnRlckxhYmVsKHRpbWVWYWx1ZSkge1xuICAgICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodGltZVZhbHVlKTtcbiAgICAgICAgcmV0dXJuIFwiUVwiICsgTWF0aC5mbG9vcigoZGF0ZS5nZXRNb250aCgpIC8gMykgKyAxKSArIFwiIFwiICsgZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VVRDVGltZXN0YW1wKGRhdGUpIHtcbiAgICAgICAgY29uc3QgbW9udGggPSBNYXRoLmZsb29yKGRhdGUuZ2V0TW9udGgoKSAvIDMpICogMztcbiAgICAgICAgcmV0dXJuIERhdGUuVVRDKGRhdGUuZ2V0RnVsbFllYXIoKSwgbW9udGgsIDEsIDEyLCAwLCAwLCAwKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { AnyTagComponent } from "../dateTag.component";
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const moment = require("moment");
|
|
5
|
-
export class WeekTagComponent extends AnyTagComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.selectedValue = "";
|
|
9
|
-
}
|
|
10
|
-
ngOnInit() {
|
|
11
|
-
this.initName();
|
|
12
|
-
const now = new Date();
|
|
13
|
-
now.setHours(0, 0, 0, 0);
|
|
14
|
-
const dateUnix = this.getUTCTimestamp(this.getMonday(now));
|
|
15
|
-
let default_value_time = dateUnix;
|
|
16
|
-
const one_day_in_seconds = 86400;
|
|
17
|
-
if (this.defaultValue) {
|
|
18
|
-
default_value_time = (this.defaultValue + one_day_in_seconds) * 1000;
|
|
19
|
-
}
|
|
20
|
-
const default_date = new Date(default_value_time);
|
|
21
|
-
const weekNumber = this.getWeekNumberByDate(default_date);
|
|
22
|
-
const yearNumber = default_date.getFullYear();
|
|
23
|
-
const dateStr = `${yearNumber}-W${weekNumber}`;
|
|
24
|
-
this.dateObj.date = dateStr;
|
|
25
|
-
this.selectedValue = dateStr;
|
|
26
|
-
this.chosenTagHandler(default_date);
|
|
27
|
-
}
|
|
28
|
-
initName() {
|
|
29
|
-
if (!this.name) {
|
|
30
|
-
this.name = "Week";
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
changeInputHandler(event) {
|
|
34
|
-
const input = event.target;
|
|
35
|
-
this.chosenTagHandler(input.valueAsNumber);
|
|
36
|
-
}
|
|
37
|
-
chosenTagHandler(value) {
|
|
38
|
-
let date;
|
|
39
|
-
console.log("chosenTag", value);
|
|
40
|
-
if (value > 1000000000000) {
|
|
41
|
-
date = new Date(value);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
date = new Date(value * 1000);
|
|
45
|
-
}
|
|
46
|
-
const resultDate = moment(date);
|
|
47
|
-
const resultTag = {
|
|
48
|
-
name: this.name,
|
|
49
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
50
|
-
label: this.getWeekLabel(date),
|
|
51
|
-
};
|
|
52
|
-
this.dateChange.emit(resultTag);
|
|
53
|
-
}
|
|
54
|
-
getWeekLabel(date) {
|
|
55
|
-
return "W" + this.pad(moment(date).isoWeek(), 2) +
|
|
56
|
-
" " + moment(date).year();
|
|
57
|
-
}
|
|
58
|
-
getUTCTimestamp(date) {
|
|
59
|
-
return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 12, 0, 0, 0);
|
|
60
|
-
}
|
|
61
|
-
getMonday(date) {
|
|
62
|
-
const day = date.getDay() || 7;
|
|
63
|
-
if (day !== 1) {
|
|
64
|
-
date.setHours(-24 * (day - 1));
|
|
65
|
-
}
|
|
66
|
-
return date;
|
|
67
|
-
}
|
|
68
|
-
getWeekNumberByDate(date) {
|
|
69
|
-
return this.pad(moment(date).isoWeek(), 2);
|
|
70
|
-
}
|
|
71
|
-
pad(n, width, z = "0") {
|
|
72
|
-
z = z || "0";
|
|
73
|
-
n = n + "";
|
|
74
|
-
return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
WeekTagComponent.decorators = [
|
|
78
|
-
{ type: Component, args: [{
|
|
79
|
-
template: "<div>\n <mat-form-field class=\"date-select-box\">\n <input matInput placeholder=\"{{name}}\" type=\"week\" name=\"week\"\n [(value)]=\"selectedValue\"\n (change)=\"changeInputHandler($event)\"\n [(ngModel)]=\"dateObj.date\">\n </mat-form-field>\n</div>\n",
|
|
80
|
-
selector: "week-tag"
|
|
81
|
-
},] }
|
|
82
|
-
];
|
|
83
|
-
WeekTagComponent.ctorParameters = () => [];
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla1RhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9EYXRlVGFncy93ZWVrVGFnL3dlZWtUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFHaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELGFBQWE7QUFDYixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFNakMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFHakQ7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUhaLGtCQUFhLEdBQUcsRUFBRSxDQUFDO0lBSW5CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUV6QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztRQUNsQyxNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3RFO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMs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QUMsR0FBRyxFQUFFLENBQUM7UUFDWCxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0UsQ0FBQzs7O1lBdkZKLFNBQVMsU0FBQztnQkFDUCxrVUFBcUM7Z0JBQ3JDLFFBQVEsRUFBRSxVQUFVO2FBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIE9uSW5pdH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7SURhdGVUYWd9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2VydmVyVGFnc1wiO1xuaW1wb3J0IHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7QW55VGFnQ29tcG9uZW50fSBmcm9tIFwiLi4vZGF0ZVRhZy5jb21wb25lbnRcIjtcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoXCJtb21lbnRcIik7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIndlZWtUYWcuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzZWxlY3RvcjogXCJ3ZWVrLXRhZ1wiLFxufSlcbmV4cG9ydCBjbGFzcyBXZWVrVGFnQ29tcG9uZW50IGV4dGVuZHMgQW55VGFnQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBzZWxlY3RlZFZhbHVlID0gXCJcIjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgdGhpcy5pbml0TmFtZSgpO1xuXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgbm93LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuXG4gICAgICBjb25zdCBkYXRlVW5peCA9IHRoaXMuZ2V0VVRDVGltZXN0YW1wKHRoaXMuZ2V0TW9uZGF5KG5vdykpO1xuICAgICAgbGV0IGRlZmF1bHRfdmFsdWVfdGltZSA9IGRhdGVVbml4O1xuICAgICAgY29uc3Qgb25lX2RheV9pbl9zZWNvbmRzID0gODY0MDA7XG4gICAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUpIHtcbiAgICAgICAgZGVmYXVsdF92YWx1ZV90aW1lID0gKHRoaXMuZGVmYXVsdFZhbHVlICsgb25lX2RheV9pbl9zZWNvbmRzKSAqIDEwMDA7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGRlZmF1bHRfZGF0ZSA9IG5ldyBEYXRlKGRlZmF1bHRfdmFsdWVfdGltZSk7XG4gICAgICBjb25zdCB3ZWVrTnVtYmVyID0gdGhpcy5nZXRXZWVrTnVtYmVyQnlEYXRlKGRlZmF1bHRfZGF0ZSk7XG4gICAgICBjb25zdCB5ZWFyTnVtYmVyID0gZGVmYXVsdF9kYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgICBjb25zdCBkYXRlU3RyID0gYCR7eWVhck51bWJlcn0tVyR7d2Vla051bWJlcn1gO1xuICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBkYXRlU3RyO1xuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZGF0ZVN0cjtcbiAgICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcihkZWZhdWx0X2RhdGUpO1xuICAgIH1cblxuICAgIGluaXROYW1lKCkge1xuICAgICAgaWYgKCF0aGlzLm5hbWUpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gXCJXZWVrXCI7XG4gICAgICB9XG4gICAgfVxuXG4gIGNoYW5nZUlucHV0SGFuZGxlcihldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCBpbnB1dDogSFRNTElucHV0RWxlbWVudCA9IDxIVE1MSW5wdXRFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmNob3NlblRhZ0hhbmRsZXIoaW5wdXQudmFsdWVBc051bWJlcik7XG4gIH1cblxuICBjaG9zZW5UYWdIYW5kbGVyKHZhbHVlKSB7XG4gICAgICBsZXQgZGF0ZTtcbiAgICAgIGNvbnNvbGUubG9nKFwiY2hvc2VuVGFnXCIsIHZhbHVlKTtcbiAgICAgIGlmICh2YWx1ZSA+IDEwMDAwMDAwMDAwMDApIHtcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSAqIDEwMDApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHREYXRlOiBNb21lbnQgPSBtb21lbnQoZGF0ZSk7XG4gICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICB2YWx1ZTogcGFyc2VJbnQocmVzdWx0RGF0ZS5mb3JtYXQoXCJYXCIpLCAxMCksXG4gICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0V2Vla0xhYmVsKGRhdGUpLFxuICAgICAgfTtcbiAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRXZWVrTGFiZWwoZGF0ZSkge1xuICAgICAgcmV0dXJuIFwiV1wiICsgdGhpcy5wYWQoIG1vbWVudChkYXRlKS5pc29XZWVrKCksIDIpICtcbiAgICAgICAgXCIgXCIgKyBtb21lbnQoZGF0ZSkueWVhcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VVRDVGltZXN0YW1wKGRhdGUpIHtcbiAgICAgICAgcmV0dXJuIERhdGUuVVRDKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSwgMTIsIDAsIDAsIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TW9uZGF5KGRhdGUpIHtcbiAgICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXkoKSB8fCA3O1xuICAgICAgICBpZiAoZGF5ICE9PSAxKSB7XG4gICAgICAgICAgICBkYXRlLnNldEhvdXJzKC0yNCAqIChkYXkgLSAxKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRXZWVrTnVtYmVyQnlEYXRlKGRhdGU6IERhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhZChtb21lbnQoZGF0ZSkuaXNvV2VlaygpLCAyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhZChuLCB3aWR0aCwgeiA9IFwiMFwiKSB7XG4gICAgICB6ID0geiB8fCBcIjBcIjtcbiAgICAgIG4gPSBuICsgXCJcIjtcbiAgICAgIHJldHVybiBuLmxlbmd0aCA+PSB3aWR0aCA/IG4gOiBuZXcgQXJyYXkod2lkdGggLSBuLmxlbmd0aCArIDEpLmpvaW4oeikgKyBuO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { AnyTagComponent } from "../dateTag.component";
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const moment = require("moment");
|
|
5
|
-
export class YearTagComponent extends AnyTagComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
}
|
|
9
|
-
initDate() {
|
|
10
|
-
if (this.defaultValue) {
|
|
11
|
-
this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format("YYYY");
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
this.dateObj.date = moment(new Date()).format("YYYY");
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
initName() {
|
|
18
|
-
if (!this.name) {
|
|
19
|
-
this.name = "Year";
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
chosenTagHandler(value) {
|
|
23
|
-
const date = new Date();
|
|
24
|
-
date.setTime(0);
|
|
25
|
-
date.setFullYear(value, 0, 1);
|
|
26
|
-
const resultDate = moment.utc(date);
|
|
27
|
-
resultDate.hour(12);
|
|
28
|
-
const resultTag = {
|
|
29
|
-
name: this.name,
|
|
30
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
31
|
-
label: resultDate.format("YYYY"),
|
|
32
|
-
};
|
|
33
|
-
this.dateChange.emit(resultTag);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
YearTagComponent.decorators = [
|
|
37
|
-
{ type: Component, args: [{
|
|
38
|
-
template: "<div>\n <mat-form-field class=\"date-select-box\">\n <input matInput placeholder=\"{{name}}\" type=\"number\" name=\"Year\"\n (change)=\"changeInputHandler($event)\"\n [(ngModel)]=\"dateObj.date\">\n </mat-form-field>\n</div>\n",
|
|
39
|
-
selector: "year-tag"
|
|
40
|
-
},] }
|
|
41
|
-
];
|
|
42
|
-
YearTagComponent.ctorParameters = () => [];
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhclRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9EYXRlVGFncy95ZWFyVGFnL3llYXJUYWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFHaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELGFBQWE7QUFDYixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFPakMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFFbkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JGO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxVQUFVLEdBQVcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sU0FBUyxHQUFhO1lBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsS0FBSyxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1NBQ25DLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUFyQ0YsU0FBUyxTQUFDO2dCQUNQLHdSQUFxQztnQkFDckMsUUFBUSxFQUFFLFVBQVU7YUFDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgT25Jbml0fSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtNb21lbnR9IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7SURhdGVUYWd9IGZyb20gXCIuLi8uLi9tb2RlbHMvc2VydmVyVGFnc1wiO1xuaW1wb3J0IHtBbnlUYWdDb21wb25lbnR9IGZyb20gXCIuLi9kYXRlVGFnLmNvbXBvbmVudFwiO1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgbW9tZW50ID0gcmVxdWlyZShcIm1vbWVudFwiKTtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6IFwieWVhclRhZy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHNlbGVjdG9yOiBcInllYXItdGFnXCIsXG59KVxuXG5leHBvcnQgY2xhc3MgWWVhclRhZ0NvbXBvbmVudCBleHRlbmRzIEFueVRhZ0NvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGluaXREYXRlKCkge1xuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSkge1xuICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBtb21lbnQobmV3IERhdGUodGhpcy5kZWZhdWx0VmFsdWUgKiAxMDAwKSkudXRjKCkuZm9ybWF0KFwiWVlZWVwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRlT2JqLmRhdGUgPSBtb21lbnQobmV3IERhdGUoKSkuZm9ybWF0KFwiWVlZWVwiKTtcbiAgICB9XG4gIH1cblxuICBpbml0TmFtZSgpIHtcbiAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgdGhpcy5uYW1lID0gXCJZZWFyXCI7XG4gICAgfVxuICB9XG5cbiAgY2hvc2VuVGFnSGFuZGxlcih2YWx1ZSkge1xuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICBkYXRlLnNldFRpbWUoMCk7XG4gICAgICBkYXRlLnNldEZ1bGxZZWFyKHZhbHVlLCAwLCAxKTtcbiAgICAgIGNvbnN0IHJlc3VsdERhdGU6IE1vbWVudCA9IG1vbWVudC51dGMoZGF0ZSk7XG4gICAgICByZXN1bHREYXRlLmhvdXIoMTIpO1xuICAgICAgY29uc3QgcmVzdWx0VGFnOiBJRGF0ZVRhZyA9IHtcbiAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgdmFsdWU6IHBhcnNlSW50KHJlc3VsdERhdGUuZm9ybWF0KFwiWFwiKSwgMTApLFxuICAgICAgICAgIGxhYmVsOiByZXN1bHREYXRlLmZvcm1hdChcIllZWVlcIiksXG4gICAgICB9O1xuICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgfVxufVxuIl19
|