@datarailsshared/datarailsshared 1.4.183 → 1.4.185
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 +24 -29
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
- package/datarailsshared-datarailsshared-1.4.185.tgz +0 -0
- package/datarailsshared-datarailsshared.metadata.json +1 -1
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +14 -18
- package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js +9 -9
- package/fesm2015/datarailsshared-datarailsshared.js +20 -25
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
- package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +0 -1
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.4.183.tgz +0 -0
|
@@ -2,6 +2,7 @@ import { Component, Input } from '@angular/core';
|
|
|
2
2
|
import { AnyTagComponent } from '../date-tag.component';
|
|
3
3
|
import { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
4
4
|
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
5
|
+
import { find as _find } from 'lodash';
|
|
5
6
|
// @ts-ignore
|
|
6
7
|
const moment = require('moment');
|
|
7
8
|
export class ForecastTagComponent extends AnyTagComponent {
|
|
@@ -35,7 +36,10 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
35
36
|
this.updateLockedDate();
|
|
36
37
|
}
|
|
37
38
|
updateYear(fiscalYear, month) {
|
|
38
|
-
|
|
39
|
+
const MONTH_DIFF = 1;
|
|
40
|
+
this.dateObj.date = fiscalYear
|
|
41
|
+
? moment(`${month + MONTH_DIFF || '01'}/01/${fiscalYear} 12:00:00`, 'MM/DD/YYYY hh:mm:ss').utc().unix()
|
|
42
|
+
: moment.utc().unix();
|
|
39
43
|
}
|
|
40
44
|
updateLockedDate() {
|
|
41
45
|
const year = moment.unix(this.dateObj.date).year();
|
|
@@ -75,14 +79,6 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
75
79
|
}
|
|
76
80
|
return fiscal_year;
|
|
77
81
|
}
|
|
78
|
-
getForecastLabelFromValue(value, fiscal_year_starts_from, fiscal_year_back) {
|
|
79
|
-
if (!value)
|
|
80
|
-
return '';
|
|
81
|
-
const dateObj = moment.unix(value);
|
|
82
|
-
const fiscal_month = this.getFiscalMonthFromDate(dateObj, fiscal_year_starts_from);
|
|
83
|
-
const fiscal_year = this.getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back);
|
|
84
|
-
return `${fiscal_month}+${12 - fiscal_month} (${fiscal_year})`;
|
|
85
|
-
}
|
|
86
82
|
changeTagInputHandler(event) {
|
|
87
83
|
this.chosenTagHandler();
|
|
88
84
|
}
|
|
@@ -91,26 +87,26 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
91
87
|
this.chosenTagHandler();
|
|
92
88
|
}
|
|
93
89
|
chosenTagHandler() {
|
|
90
|
+
var _a;
|
|
94
91
|
if (this.isDateEventHappened)
|
|
95
92
|
return;
|
|
96
93
|
const month = this.forecastValue;
|
|
97
94
|
const year = moment.unix(this.dateObj.date).year();
|
|
98
|
-
let label = '';
|
|
99
95
|
if (!Number.isNaN(month) && !Number.isNaN(year)) {
|
|
100
|
-
const date =
|
|
96
|
+
const date = new Date(year, month, 1, 12, 0, 0, 0);
|
|
101
97
|
const fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;
|
|
102
98
|
const fiscal_year_back = this.fiscalYearBack || false;
|
|
103
99
|
if (fiscal_year_starts_from !== 1) {
|
|
104
100
|
if (!fiscal_year_back) {
|
|
105
|
-
date.
|
|
101
|
+
date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);
|
|
106
102
|
}
|
|
107
103
|
else {
|
|
108
|
-
date.
|
|
104
|
+
date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);
|
|
109
105
|
}
|
|
110
106
|
}
|
|
111
|
-
|
|
112
|
-
const fiscal_year = this.getFiscalYearFromDate(
|
|
113
|
-
this.updateYear(fiscal_year,
|
|
107
|
+
const momentDate = moment.unix(date.getTime() / 1000);
|
|
108
|
+
const fiscal_year = this.getFiscalYearFromDate(momentDate, fiscal_year_starts_from, fiscal_year_back);
|
|
109
|
+
this.updateYear(fiscal_year, date.getMonth());
|
|
114
110
|
this.isDateEventHappened = true;
|
|
115
111
|
setTimeout(() => {
|
|
116
112
|
this.isDateEventHappened = false;
|
|
@@ -119,7 +115,7 @@ export class ForecastTagComponent extends AnyTagComponent {
|
|
|
119
115
|
const resultTag = {
|
|
120
116
|
name: this.name,
|
|
121
117
|
value: this.dateObj.date,
|
|
122
|
-
label,
|
|
118
|
+
label: (_a = _find(this.forecastTags, { value: this.forecastValue })) === null || _a === void 0 ? void 0 : _a.label,
|
|
123
119
|
locked: !this.dateFilter(moment.unix(this.dateObj.date))
|
|
124
120
|
};
|
|
125
121
|
this.dateChange.emit(resultTag);
|
|
@@ -154,4 +150,4 @@ ForecastTagComponent.propDecorators = {
|
|
|
154
150
|
fiscalYearBack: [{ type: Input }],
|
|
155
151
|
lockedDate: [{ type: Input }]
|
|
156
152
|
};
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV0RyxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBZWpDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFlO0lBdUJyRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBckJILGVBQVUsR0FBVSxFQUFFLENBQUM7UUFFaEMsa0JBQWEsR0FBdUIsU0FBUyxDQUFDO1FBQzlDLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixpQkFBWSxHQUFVO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzNCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzNCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzNCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzFCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzFCLEVBQUUsS0FBSyxFQUFFLENBQUMs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QUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4QyxPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxLQUFLLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFBQSxDQUFDOzs7WUF2S0wsU0FBUyxTQUFDO2dCQUNQLDg0QkFBMEM7Z0JBQzFDLFFBQVEsRUFBRSxjQUFjO2dCQUV4QixTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLFdBQVc7d0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQztxQkFDM0Q7aUJBQ0o7O2FBQ0o7Ozs7bUNBR0ksS0FBSzs2QkFDTCxLQUFLO3lCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJRGF0ZVRhZyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXJ2ZXJUYWdzJztcbmltcG9ydCB7IEFueVRhZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLCBNb21lbnREYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcblxuLy8gQHRzLWlnbm9yZVxuY29uc3QgbW9tZW50ID0gcmVxdWlyZSgnbW9tZW50Jyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgICBzZWxlY3RvcjogJ2ZvcmVjYXN0LXRhZycsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxuICAgICAgICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OU10sXG4gICAgICAgIH1cbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgRm9yZWNhc3RUYWdDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGZpc2NhbFllYXJTdGFydHNGcm9tPzogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGZpc2NhbFllYXJCYWNrPzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yZWNhc3RWYWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlzRGF0ZUV2ZW50SGFwcGVuZWQgPSBmYWxzZTtcblxuICAgIGZvcmVjYXN0VGFnczogYW55W10gPSBbXG4gICAgICAgIHsgdmFsdWU6IDAsIGxhYmVsOiAnMCsxMicgfSxcbiAgICAgICAgeyB2YWx1ZTogMSwgbGFiZWw6ICcxKzExJyB9LFxuICAgICAgICB7IHZhbHVlOiAyLCBsYWJlbDogJzIrMTAnIH0sXG4gICAgICAgIHsgdmFsdWU6IDMsIGxhYmVsOiAnMys5JyB9LFxuICAgICAgICB7IHZhbHVlOiA0LCBsYWJlbDogJzQrOCcgfSxcbiAgICAgICAgeyB2YWx1ZTogNSwgbGFiZWw6ICc1KzcnIH0sXG4gICAgICAgIHsgdmFsdWU6IDYsIGxhYmVsOiAnNis2JyB9LFxuICAgICAgICB7IHZhbHVlOiA3LCBsYWJlbDogJzcrNScgfSxcbiAgICAgICAgeyB2YWx1ZTogOCwgbGFiZWw6ICc4KzQnIH0sXG4gICAgICAgIHsgdmFsdWU6IDksIGxhYmVsOiAnOSszJyB9LFxuICAgICAgICB7IHZhbHVlOiAxMCwgbGFiZWw6ICcxMCsyJyB9LFxuICAgICAgICB7IHZhbHVlOiAxMSwgbGFiZWw6ICcxMSsxJyB9XG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXREYXRlKCkge1xuICAgICAgICBjb25zdCBkYXRlVmFsID0gdGhpcy5kZWZhdWx0VmFsdWUgPyBtb21lbnQudW5peCh0aGlzLmRlZmF1bHRWYWx1ZSkgOiBtb21lbnQoKTtcbiAgICAgICAgY29uc3QgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gPSB0aGlzLmZpc2NhbFllYXJTdGFydHNGcm9tIHx8IDE7XG4gICAgICAgIGNvbnN0IGZpc2NhbF95ZWFyX2JhY2sgPSB0aGlzLmZpc2NhbFllYXJCYWNrIHx8IGZhbHNlO1xuICAgICAgICB0aGlzLmZvcmVjYXN0VmFsdWUgPSB0aGlzLmdldEZpc2NhbE1vbnRoRnJvbURhdGUoZGF0ZVZhbCwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20pIC0gMTtcbiAgICAgICAgY29uc3QgZmlzY2FsX3llYXIgPSB0aGlzLmdldEZpc2NhbFllYXJGcm9tRGF0ZShkYXRlVmFsLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSwgZmlzY2FsX3llYXJfYmFjayk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVZZWFyKGZpc2NhbF95ZWFyLCB0aGlzLmZvcmVjYXN0VmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUxvY2tlZERhdGUoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVZZWFyKGZpc2NhbFllYXI/OiBudW1iZXIsIG1vbnRoPzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZGF0ZU9iai5kYXRlID0gZmlzY2FsWWVhciA/IG1vbWVudChgJHttb250aCB8fCAnMDEnfS8wMS8ke2Zpc2NhbFllYXJ9IDEyOjAwOjAwYCwgJ01NL0REL1lZWVkgaGg6bW06c3MnKS51dGMoKS51bml4KCkgOiBtb21lbnQudXRjKCkudW5peCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUxvY2tlZERhdGUoKSB7XG4gICAgICAgIGNvbnN0IHllYXIgPSBtb21lbnQudW5peCh0aGlzLmRhdGVPYmouZGF0ZSkueWVhcigpO1xuXG4gICAgICAgIGZvciAoY29uc3QgZm9yZWNhc3RUYWcgb2YgdGhpcy5mb3JlY2FzdFRhZ3MpIHtcbiAgICAgICAgICAgIGZvcmVjYXN0VGFnLmRpc2FibGVkID0gdGhpcy5sb2NrZWREYXRlLnNvbWUoKHRpbWVzdGFtcCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2tlZCA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxvY2tlZC5tb250aCgpID09PSBmb3JlY2FzdFRhZy52YWx1ZSAmJiArbG9ja2VkLnllYXIoKSA9PT0gK3llYXI7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXROYW1lKCkge1xuICAgICAgICBpZiAoIXRoaXMubmFtZSkge1xuICAgICAgICAgICAgdGhpcy5uYW1lID0gJ0ZvcmVjYXN0IChOZXcpJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEZpc2NhbE1vbnRoRnJvbURhdGUoZGF0ZU9iaiwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20pIHtcbiAgICAgICAgY29uc3QgYWxsX21vbnRocyA9IFtdO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbTsgaSA8IDEzOyBpKyspIHtcbiAgICAgICAgICAgIGFsbF9tb250aHMucHVzaChpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb207IGkrKykge1xuICAgICAgICAgICAgYWxsX21vbnRocy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFsbF9tb250aHMuaW5kZXhPZihkYXRlT2JqLm1vbnRoKCkgKyAxKSArIDE7XG4gICAgfVxuXG4gICAgZ2V0RmlzY2FsWWVhckZyb21EYXRlKGRhdGVPYmosIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tLCBmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgICAgIGxldCBmaXNjYWxfeWVhciA9IGRhdGVPYmoueWVhcigpO1xuXG4gICAgICAgIGlmICghZmlzY2FsX3llYXJfYmFjaykge1xuICAgICAgICAgICAgaWYgKGRhdGVPYmoubW9udGgoKSArIDEgPj0gZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gJiYgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gIT09IDEpIHtcbiAgICAgICAgICAgICAgICBmaXNjYWxfeWVhciArPSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRhdGVPYmoubW9udGgoKSArIDEgPCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAmJiBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAhPT0gMSkge1xuICAgICAgICAgICAgICAgIGZpc2NhbF95ZWFyIC09IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmlzY2FsX3llYXI7XG4gICAgfVxuXG4gICAgZ2V0Rm9yZWNhc3RMYWJlbEZyb21WYWx1ZSh2YWx1ZSwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuICcnO1xuXG4gICAgICAgIGNvbnN0IGRhdGVPYmogPSBtb21lbnQudW5peCh2YWx1ZSk7XG5cbiAgICAgICAgY29uc3QgZmlzY2FsX21vbnRoID0gdGhpcy5nZXRGaXNjYWxNb250aEZyb21EYXRlKGRhdGVPYmosIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKTtcbiAgICAgICAgY29uc3QgZmlzY2FsX3llYXIgPSB0aGlzLmdldEZpc2NhbFllYXJGcm9tRGF0ZShkYXRlT2JqLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSwgZmlzY2FsX3llYXJfYmFjayk7XG5cbiAgICAgICAgcmV0dXJuIGAkeyBmaXNjYWxfbW9udGggfSskeyAxMiAtIGZpc2NhbF9tb250aCB9ICgkeyBmaXNjYWxfeWVhciB9KWA7XG4gICAgfVxuXG4gICAgY2hhbmdlVGFnSW5wdXRIYW5kbGVyKGV2ZW50OiBNYXRTZWxlY3RDaGFuZ2UgfCBNYXRCdXR0b25Ub2dnbGVDaGFuZ2UpIHtcbiAgICAgICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKCk7XG4gICAgfVxuXG4gICAgY2hhbmdlWWVhcklucHV0SGFuZGxlcihldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVMb2NrZWREYXRlKCk7XG4gICAgICAgIHRoaXMuY2hvc2VuVGFnSGFuZGxlcigpO1xuICAgIH1cblxuICAgIGNob3NlblRhZ0hhbmRsZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRGF0ZUV2ZW50SGFwcGVuZWQpIHJldHVybjtcbiAgICAgICAgY29uc3QgbW9udGggPSB0aGlzLmZvcmVjYXN0VmFsdWU7XG4gICAgICAgIGNvbnN0IHllYXIgPSBtb21lbnQudW5peCh0aGlzLmRhdGVPYmouZGF0ZSkueWVhcigpO1xuICAgICAgICBsZXQgbGFiZWwgPSAnJztcblxuICAgICAgICBpZiAoIU51bWJlci5pc05hTihtb250aCkgJiYgIU51bWJlci5pc05hTih5ZWFyKSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG1vbWVudChgJHttb250aH0vMDEvJHt5ZWFyfSAxMjowMDowMGAsICdNTS9ERC9ZWVlZIGhoOm1tOnNzJyk7XG4gICAgICAgICAgICBjb25zdCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSA9IHRoaXMuZmlzY2FsWWVhclN0YXJ0c0Zyb20gfHwgMTtcbiAgICAgICAgICAgIGNvbnN0IGZpc2NhbF95ZWFyX2JhY2sgPSB0aGlzLmZpc2NhbFllYXJCYWNrIHx8IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGUuc2V0KCdtb250aCcsIGRhdGUubW9udGgoKSAtIDEzICsgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGUuc2V0KCdtb250aCcsIGRhdGUubW9udGgoKSAtIDEgKyBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCA9IHRoaXMuZ2V0Rm9yZWNhc3RMYWJlbEZyb21WYWx1ZShkYXRlLnVuaXgoKSwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spO1xuICAgICAgICAgICAgY29uc3QgZmlzY2FsX3llYXIgPSB0aGlzLmdldEZpc2NhbFllYXJGcm9tRGF0ZShkYXRlLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSwgZmlzY2FsX3llYXJfYmFjayk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVllYXIoZmlzY2FsX3llYXIsIG1vbnRoKTtcbiAgICAgICAgICAgIHRoaXMuaXNEYXRlRXZlbnRIYXBwZW5lZCA9IHRydWU7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgIHRoaXMuaXNEYXRlRXZlbnRIYXBwZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHRUYWc6IElEYXRlVGFnID0ge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuZGF0ZU9iai5kYXRlLFxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIobW9tZW50LnVuaXgodGhpcy5kYXRlT2JqLmRhdGUpKVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gICAgfVxuXG4gICAgZGF0ZUZpbHRlcihkYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5mb3JlY2FzdFZhbHVlO1xuICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS55ZWFyKCk7XG5cbiAgICAgICAgcmV0dXJuICF0aGlzLmxvY2tlZERhdGUuc29tZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG4gICAgICAgICAgICByZXR1cm4gbG9ja0RhdGUubW9udGgoKSA9PT0gbW9udGggJiYgbG9ja0RhdGUueWVhcigpID09PSB5ZWFyO1xuICAgICAgICB9KTtcbiAgICB9O1xufVxuIl19
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWNhc3QtdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RyxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV2QyxhQUFhO0FBQ2IsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBZWpDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFlO0lBdUJyRDtRQUNJLEtBQUssRUFBRSxDQUFDO1FBckJILGVBQVUsR0FBVSxFQUFFLENBQUM7UUFFaEMsa0JBQWEsR0FBdUIsU0FBUyxDQUFDO1FBQzlDLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUU1QixpQkFBWSxHQUFVO1lBQ2xCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzNCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzNCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQzNCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQzFCLEVBQUUsS0FBSyxFQUFFLENBQUMs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QUEwQztnQkFDMUMsUUFBUSxFQUFFLGNBQWM7Z0JBRXhCLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsV0FBVzt3QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjt3QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3FCQUMzRDtpQkFDSjs7YUFDSjs7OzttQ0FHSSxLQUFLOzZCQUNMLEtBQUs7eUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElEYXRlVGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgQW55VGFnQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZS10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFNlbGVjdENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xuaW1wb3J0IHsgZmluZCBhcyBfZmluZCB9IGZyb20gJ2xvZGFzaCc7XG5cbi8vIEB0cy1pZ25vcmVcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogJ2ZvcmVjYXN0LXRhZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc2VsZWN0b3I6ICdmb3JlY2FzdC10YWcnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvcmVjYXN0LXRhZy5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcbiAgICAgICAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgICAgICB9XG4gICAgXVxufSlcblxuZXhwb3J0IGNsYXNzIEZvcmVjYXN0VGFnQ29tcG9uZW50IGV4dGVuZHMgQW55VGFnQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBmaXNjYWxZZWFyU3RhcnRzRnJvbT86IG51bWJlcjtcbiAgICBASW5wdXQoKSBmaXNjYWxZZWFyQmFjaz86IGJvb2xlYW47XG4gICAgQElucHV0KCkgbG9ja2VkRGF0ZTogYW55W10gPSBbXTtcblxuICAgIGZvcmVjYXN0VmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpc0RhdGVFdmVudEhhcHBlbmVkID0gZmFsc2U7XG5cbiAgICBmb3JlY2FzdFRhZ3M6IGFueVtdID0gW1xuICAgICAgICB7IHZhbHVlOiAwLCBsYWJlbDogJzArMTInIH0sXG4gICAgICAgIHsgdmFsdWU6IDEsIGxhYmVsOiAnMSsxMScgfSxcbiAgICAgICAgeyB2YWx1ZTogMiwgbGFiZWw6ICcyKzEwJyB9LFxuICAgICAgICB7IHZhbHVlOiAzLCBsYWJlbDogJzMrOScgfSxcbiAgICAgICAgeyB2YWx1ZTogNCwgbGFiZWw6ICc0KzgnIH0sXG4gICAgICAgIHsgdmFsdWU6IDUsIGxhYmVsOiAnNSs3JyB9LFxuICAgICAgICB7IHZhbHVlOiA2LCBsYWJlbDogJzYrNicgfSxcbiAgICAgICAgeyB2YWx1ZTogNywgbGFiZWw6ICc3KzUnIH0sXG4gICAgICAgIHsgdmFsdWU6IDgsIGxhYmVsOiAnOCs0JyB9LFxuICAgICAgICB7IHZhbHVlOiA5LCBsYWJlbDogJzkrMycgfSxcbiAgICAgICAgeyB2YWx1ZTogMTAsIGxhYmVsOiAnMTArMicgfSxcbiAgICAgICAgeyB2YWx1ZTogMTEsIGxhYmVsOiAnMTErMScgfVxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0RGF0ZSgpIHtcbiAgICAgICAgY29uc3QgZGF0ZVZhbCA9IHRoaXMuZGVmYXVsdFZhbHVlID8gbW9tZW50LnVuaXgodGhpcy5kZWZhdWx0VmFsdWUpIDogbW9tZW50KCk7XG4gICAgICAgIGNvbnN0IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tID0gdGhpcy5maXNjYWxZZWFyU3RhcnRzRnJvbSB8fCAxO1xuICAgICAgICBjb25zdCBmaXNjYWxfeWVhcl9iYWNrID0gdGhpcy5maXNjYWxZZWFyQmFjayB8fCBmYWxzZTtcbiAgICAgICAgdGhpcy5mb3JlY2FzdFZhbHVlID0gdGhpcy5nZXRGaXNjYWxNb250aEZyb21EYXRlKGRhdGVWYWwsIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKSAtIDE7XG4gICAgICAgIGNvbnN0IGZpc2NhbF95ZWFyID0gdGhpcy5nZXRGaXNjYWxZZWFyRnJvbURhdGUoZGF0ZVZhbCwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spO1xuXG4gICAgICAgIHRoaXMudXBkYXRlWWVhcihmaXNjYWxfeWVhciwgdGhpcy5mb3JlY2FzdFZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVMb2NrZWREYXRlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlWWVhcihmaXNjYWxZZWFyPzogbnVtYmVyLCBtb250aD86IG51bWJlcikge1xuICAgICAgICBjb25zdCBNT05USF9ESUZGID0gMTtcblxuICAgICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IGZpc2NhbFllYXJcbiAgICAgICAgICAgID8gbW9tZW50KGAkeyBtb250aCArIE1PTlRIX0RJRkYgfHwgJzAxJyB9LzAxLyR7IGZpc2NhbFllYXIgfSAxMjowMDowMGAsICdNTS9ERC9ZWVlZIGhoOm1tOnNzJykudXRjKCkudW5peCgpXG4gICAgICAgICAgICA6IG1vbWVudC51dGMoKS51bml4KCk7XG4gICAgfVxuXG4gICAgdXBkYXRlTG9ja2VkRGF0ZSgpIHtcbiAgICAgICAgY29uc3QgeWVhciA9IG1vbWVudC51bml4KHRoaXMuZGF0ZU9iai5kYXRlKS55ZWFyKCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBmb3JlY2FzdFRhZyBvZiB0aGlzLmZvcmVjYXN0VGFncykge1xuICAgICAgICAgICAgZm9yZWNhc3RUYWcuZGlzYWJsZWQgPSB0aGlzLmxvY2tlZERhdGUuc29tZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9ja2VkID0gbW9tZW50LnVuaXgodGltZXN0YW1wKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbG9ja2VkLm1vbnRoKCkgPT09IGZvcmVjYXN0VGFnLnZhbHVlICYmICtsb2NrZWQueWVhcigpID09PSAreWVhcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdE5hbWUoKSB7XG4gICAgICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSAnRm9yZWNhc3QgKE5ldyknO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0RmlzY2FsTW9udGhGcm9tRGF0ZShkYXRlT2JqLCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSkge1xuICAgICAgICBjb25zdCBhbGxfbW9udGhzID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tOyBpIDwgMTM7IGkrKykge1xuICAgICAgICAgICAgYWxsX21vbnRocy5wdXNoKGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbTsgaSsrKSB7XG4gICAgICAgICAgICBhbGxfbW9udGhzLnB1c2goaSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWxsX21vbnRocy5pbmRleE9mKGRhdGVPYmoubW9udGgoKSArIDEpICsgMTtcbiAgICB9XG5cbiAgICBnZXRGaXNjYWxZZWFyRnJvbURhdGUoZGF0ZU9iaiwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spIHtcbiAgICAgICAgbGV0IGZpc2NhbF95ZWFyID0gZGF0ZU9iai55ZWFyKCk7XG5cbiAgICAgICAgaWYgKCFmaXNjYWxfeWVhcl9iYWNrKSB7XG4gICAgICAgICAgICBpZiAoZGF0ZU9iai5tb250aCgpICsgMSA+PSBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAmJiBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSAhPT0gMSkge1xuICAgICAgICAgICAgICAgIGZpc2NhbF95ZWFyICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoZGF0ZU9iai5tb250aCgpICsgMSA8IGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tICYmIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tICE9PSAxKSB7XG4gICAgICAgICAgICAgICAgZmlzY2FsX3llYXIgLT0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaXNjYWxfeWVhcjtcbiAgICB9XG5cbiAgICBjaGFuZ2VUYWdJbnB1dEhhbmRsZXIoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSB8IE1hdEJ1dHRvblRvZ2dsZUNoYW5nZSkge1xuICAgICAgICB0aGlzLmNob3NlblRhZ0hhbmRsZXIoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VZZWFySW5wdXRIYW5kbGVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUxvY2tlZERhdGUoKTtcbiAgICAgICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKCk7XG4gICAgfVxuXG4gICAgY2hvc2VuVGFnSGFuZGxlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEYXRlRXZlbnRIYXBwZW5lZCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5mb3JlY2FzdFZhbHVlO1xuICAgICAgICBjb25zdCB5ZWFyID0gbW9tZW50LnVuaXgodGhpcy5kYXRlT2JqLmRhdGUpLnllYXIoKTtcblxuICAgICAgICBpZiAoIU51bWJlci5pc05hTihtb250aCkgJiYgIU51bWJlci5pc05hTih5ZWFyKSkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxLCAxMiwgMCwgMCwgMCk7XG4gICAgICAgICAgICBjb25zdCBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSA9IHRoaXMuZmlzY2FsWWVhclN0YXJ0c0Zyb20gfHwgMTtcbiAgICAgICAgICAgIGNvbnN0IGZpc2NhbF95ZWFyX2JhY2sgPSB0aGlzLmZpc2NhbFllYXJCYWNrIHx8IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20gIT09IDEpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWZpc2NhbF95ZWFyX2JhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgLSAxMyArIGZpc2NhbF95ZWFyX3N0YXJ0c19mcm9tKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkYXRlLnNldE1vbnRoKGRhdGUuZ2V0TW9udGgoKSAtIDEgKyBmaXNjYWxfeWVhcl9zdGFydHNfZnJvbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBtb21lbnREYXRlID0gbW9tZW50LnVuaXgoZGF0ZS5nZXRUaW1lKCkgLyAxMDAwKTtcbiAgICAgICAgICAgIGNvbnN0IGZpc2NhbF95ZWFyID0gdGhpcy5nZXRGaXNjYWxZZWFyRnJvbURhdGUobW9tZW50RGF0ZSwgZmlzY2FsX3llYXJfc3RhcnRzX2Zyb20sIGZpc2NhbF95ZWFyX2JhY2spO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVZZWFyKGZpc2NhbF95ZWFyLCBkYXRlLmdldE1vbnRoKCkpO1xuXG4gICAgICAgICAgICB0aGlzLmlzRGF0ZUV2ZW50SGFwcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0RhdGVFdmVudEhhcHBlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdFRhZzogSURhdGVUYWcgPSB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy5kYXRlT2JqLmRhdGUsXG4gICAgICAgICAgICBsYWJlbDogX2ZpbmQodGhpcy5mb3JlY2FzdFRhZ3MsIHsgdmFsdWU6IHRoaXMuZm9yZWNhc3RWYWx1ZSB9KT8ubGFiZWwsXG4gICAgICAgICAgICBsb2NrZWQ6ICF0aGlzLmRhdGVGaWx0ZXIobW9tZW50LnVuaXgodGhpcy5kYXRlT2JqLmRhdGUpKVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHJlc3VsdFRhZyk7XG4gICAgfVxuXG4gICAgZGF0ZUZpbHRlcihkYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5mb3JlY2FzdFZhbHVlO1xuICAgICAgICBjb25zdCB5ZWFyID0gZGF0ZS55ZWFyKCk7XG5cbiAgICAgICAgcmV0dXJuICF0aGlzLmxvY2tlZERhdGUuc29tZSgodGltZXN0YW1wKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG4gICAgICAgICAgICByZXR1cm4gbG9ja0RhdGUubW9udGgoKSA9PT0gbW9udGggJiYgbG9ja0RhdGUueWVhcigpID09PSB5ZWFyO1xuICAgICAgICB9KTtcbiAgICB9O1xufVxuIl19
|
package/esm2015/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.js
CHANGED
|
@@ -19,13 +19,13 @@ export class DialogModalWrapperComponent {
|
|
|
19
19
|
this.class = (_b = (_a = this === null || this === void 0 ? void 0 : this.dialogData) === null || _a === void 0 ? void 0 : _a.theme) === null || _b === void 0 ? void 0 : _b.themeSize;
|
|
20
20
|
}
|
|
21
21
|
ngOnInit() {
|
|
22
|
-
if (this.dialogData.fields)
|
|
23
|
-
this.
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
22
|
+
if (!this.dialogData.fields)
|
|
23
|
+
this.dialogData.fields = [];
|
|
24
|
+
this.form = new FormGroup(this.dialogData.fields.reduce((accumulator, currentValue) => {
|
|
25
|
+
const currentFormControl = {};
|
|
26
|
+
currentFormControl[currentValue.name] = new FormControl(currentValue.default || null, currentValue.validators || []);
|
|
27
|
+
return Object.assign(accumulator, currentFormControl);
|
|
28
|
+
}, {}));
|
|
29
29
|
}
|
|
30
30
|
onAccept() {
|
|
31
31
|
if (!this.dialogData.confirmFn)
|
|
@@ -56,7 +56,7 @@ DialogModalWrapperComponent.decorators = [
|
|
|
56
56
|
{ type: Component, args: [{
|
|
57
57
|
selector: 'dr-dialog-modal-wrapper',
|
|
58
58
|
template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">{{ dialogData.title }}</h1>\n <i mat-icon-button *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\"\n data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\">\n <ng-container>{{ dialogData.content }}</ng-container>\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div class=\"dr-smart-form_wrapper\">\n <div *ngFor=\"let field of dialogData.fields\" class=\"dr-smart-form_group\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\">{{ field.label }}</label>\n <div class=\"input-group p-0\"\n [ngClass]=\"{ 'col-md-10': field.label && !field.isLabelFullWidth, 'col-md-12': !field.label || field.isLabelFullWidth }\">\n <dr-select *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [required]=\"true\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close();\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\"\n class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}</button>\n </ng-template>\n </dr-select>\n <dr-input *ngIf=\"field.type === dialogFieldType.INPUT\" data-test=\"modalInput\" class=\"form-control\"\n [formControlName]=\"field.name\" [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label class=\"form-field-error-alert\" *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\"\n *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"closeDialog()\"\n [theme]=\"'secondary'\">{{ dialogData.cancelButton.label }}</dr-button>\n <dr-button *ngIf=\"dialogData.acceptButton\" data-test=\"modalAddBtn\" (click)=\"onAccept()\" [theme]=\"'primary'\"\n [isLoading]=\"isLoading\" [disabled]=\"form.invalid\">{{ dialogData.acceptButton.label }}</dr-button>\n </div>\n</div>\n",
|
|
59
|
-
styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,.medium-modal-max-height:host{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:80vh}.header-dialog{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:8px 39px 8px 32px;border-bottom:1px solid #e5e6ea}.title-dialog{color:#151b3f;position:static;font-weight:bold;font-size:18px;line-height:24px}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px}.icon-close{color:#51566f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:500;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #e5e6ea}.buttons-wrapper{display:flex;justify-content:flex-end;padding-top:10px;padding-right:32px;padding-bottom:11px}.buttons-wrapper dr-button:nth-of-type(2){margin-left:12px}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:red}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"]
|
|
59
|
+
styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,.medium-modal-max-height:host{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:80vh}.header-dialog{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:8px 39px 8px 32px;border-bottom:1px solid #e5e6ea}.title-dialog{color:#151b3f;position:static;font-weight:bold;font-size:18px;line-height:24px}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line}.icon-close{color:#51566f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:500;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #e5e6ea}.buttons-wrapper{display:flex;justify-content:flex-end;padding-top:10px;padding-right:32px;padding-bottom:11px}.buttons-wrapper dr-button:nth-of-type(2){margin-left:12px}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:red}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"]
|
|
60
60
|
},] }
|
|
61
61
|
];
|
|
62
62
|
DialogModalWrapperComponent.ctorParameters = () => [
|
|
@@ -67,4 +67,4 @@ DialogModalWrapperComponent.ctorParameters = () => [
|
|
|
67
67
|
DialogModalWrapperComponent.propDecorators = {
|
|
68
68
|
class: [{ type: HostBinding, args: ['class',] }]
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBWSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBUTlELE1BQU0sT0FBTywyQkFBMkI7SUFXcEMsWUFDVyxTQUFvRCxFQUNuRCxhQUE0QixFQUNKLFVBQW9COztRQUY3QyxjQUFTLEdBQVQsU0FBUyxDQUEyQztRQUNuRCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNKLGVBQVUsR0FBVixVQUFVLENBQVU7UUFiL0Msb0JBQWUsR0FBRyxpQkFBaUIsQ0FBQztRQUc3QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQiwyQkFBc0IsR0FBRyxLQUFLLENBQUM7UUFDL0IsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRWpCLFVBQUssR0FBRyxNQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFVBQVUsMENBQUUsS0FBSywwQ0FBRSxTQUFTLENBQUM7SUFPakUsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRXpELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUUsRUFBRTtZQUN4RCxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztZQUM5QixrQkFBa0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNySCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDMUQsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNULENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVM7WUFBRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBRXJGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUMzQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7WUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUNMLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OztZQWpFSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMscTVJQUFvRDs7YUFHdkQ7OztZQVh5QixZQUFZO1lBSTdCLGFBQWE7NENBc0JiLE1BQU0sU0FBQyxlQUFlOzs7b0JBTDFCLFdBQVcsU0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERhdGFQcm9wLCBESUFMT0dfRklFTERfVFlQRSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZGlhbG9nLWRhdGEnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRpYWxvZy1tb2RhbC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG5cbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nTW9kYWxXcmFwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHJlYWRvbmx5IGRpYWxvZ0ZpZWxkVHlwZSA9IERJQUxPR19GSUVMRF9UWVBFO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwO1xuICAgIHNhdmluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBzaG93U2VydmVyRXJyb3JNZXNzYWdlID0gZmFsc2U7XG4gICAgZGVzdHJveSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSB0aGlzPy5kaWFsb2dEYXRhPy50aGVtZT8udGhlbWVTaXplO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEaWFsb2dNb2RhbFdyYXBwZXJDb21wb25lbnQ+LFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGlhbG9nRGF0YTogRGF0YVByb3AsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmZpZWxkcykgdGhpcy5kaWFsb2dEYXRhLmZpZWxkcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZmllbGRzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGb3JtQ29udHJvbCA9IHt9O1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGb3JtQ29udHJvbFtjdXJyZW50VmFsdWUubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woY3VycmVudFZhbHVlLmRlZmF1bHQgfHwgbnVsbCwgY3VycmVudFZhbHVlLnZhbGlkYXRvcnMgfHwgW10pO1xuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGFjY3VtdWxhdG9yLCBjdXJyZW50Rm9ybUNvbnRyb2wpO1xuICAgICAgICAgICAgfSwge30pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25BY2NlcHQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmNvbmZpcm1GbikgcmV0dXJuIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybS52YWx1ZSB8fCB0cnVlKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2aW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuY29uZmlybUZuKHRoaXMuZm9ybS52YWx1ZSkucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd1NlcnZlckVycm9yTWVzc2FnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2dTZXJ2aWNlLnRocm93RXJyKGVyciwgdGhpcy5zYXZpbmckKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2F2aW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybS52YWx1ZSB8fCB0cnVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9vdGVyQWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmFjdGlvbih0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cblxuICAgIGNsb3NlRGlhbG9nKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dChudWxsKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -126,7 +126,10 @@ class ForecastTagComponent extends AnyTagComponent {
|
|
|
126
126
|
this.updateLockedDate();
|
|
127
127
|
}
|
|
128
128
|
updateYear(fiscalYear, month) {
|
|
129
|
-
|
|
129
|
+
const MONTH_DIFF = 1;
|
|
130
|
+
this.dateObj.date = fiscalYear
|
|
131
|
+
? moment$8(`${month + MONTH_DIFF || '01'}/01/${fiscalYear} 12:00:00`, 'MM/DD/YYYY hh:mm:ss').utc().unix()
|
|
132
|
+
: moment$8.utc().unix();
|
|
130
133
|
}
|
|
131
134
|
updateLockedDate() {
|
|
132
135
|
const year = moment$8.unix(this.dateObj.date).year();
|
|
@@ -166,14 +169,6 @@ class ForecastTagComponent extends AnyTagComponent {
|
|
|
166
169
|
}
|
|
167
170
|
return fiscal_year;
|
|
168
171
|
}
|
|
169
|
-
getForecastLabelFromValue(value, fiscal_year_starts_from, fiscal_year_back) {
|
|
170
|
-
if (!value)
|
|
171
|
-
return '';
|
|
172
|
-
const dateObj = moment$8.unix(value);
|
|
173
|
-
const fiscal_month = this.getFiscalMonthFromDate(dateObj, fiscal_year_starts_from);
|
|
174
|
-
const fiscal_year = this.getFiscalYearFromDate(dateObj, fiscal_year_starts_from, fiscal_year_back);
|
|
175
|
-
return `${fiscal_month}+${12 - fiscal_month} (${fiscal_year})`;
|
|
176
|
-
}
|
|
177
172
|
changeTagInputHandler(event) {
|
|
178
173
|
this.chosenTagHandler();
|
|
179
174
|
}
|
|
@@ -182,26 +177,26 @@ class ForecastTagComponent extends AnyTagComponent {
|
|
|
182
177
|
this.chosenTagHandler();
|
|
183
178
|
}
|
|
184
179
|
chosenTagHandler() {
|
|
180
|
+
var _a;
|
|
185
181
|
if (this.isDateEventHappened)
|
|
186
182
|
return;
|
|
187
183
|
const month = this.forecastValue;
|
|
188
184
|
const year = moment$8.unix(this.dateObj.date).year();
|
|
189
|
-
let label = '';
|
|
190
185
|
if (!Number.isNaN(month) && !Number.isNaN(year)) {
|
|
191
|
-
const date =
|
|
186
|
+
const date = new Date(year, month, 1, 12, 0, 0, 0);
|
|
192
187
|
const fiscal_year_starts_from = this.fiscalYearStartsFrom || 1;
|
|
193
188
|
const fiscal_year_back = this.fiscalYearBack || false;
|
|
194
189
|
if (fiscal_year_starts_from !== 1) {
|
|
195
190
|
if (!fiscal_year_back) {
|
|
196
|
-
date.
|
|
191
|
+
date.setMonth(date.getMonth() - 13 + fiscal_year_starts_from);
|
|
197
192
|
}
|
|
198
193
|
else {
|
|
199
|
-
date.
|
|
194
|
+
date.setMonth(date.getMonth() - 1 + fiscal_year_starts_from);
|
|
200
195
|
}
|
|
201
196
|
}
|
|
202
|
-
|
|
203
|
-
const fiscal_year = this.getFiscalYearFromDate(
|
|
204
|
-
this.updateYear(fiscal_year,
|
|
197
|
+
const momentDate = moment$8.unix(date.getTime() / 1000);
|
|
198
|
+
const fiscal_year = this.getFiscalYearFromDate(momentDate, fiscal_year_starts_from, fiscal_year_back);
|
|
199
|
+
this.updateYear(fiscal_year, date.getMonth());
|
|
205
200
|
this.isDateEventHappened = true;
|
|
206
201
|
setTimeout(() => {
|
|
207
202
|
this.isDateEventHappened = false;
|
|
@@ -210,7 +205,7 @@ class ForecastTagComponent extends AnyTagComponent {
|
|
|
210
205
|
const resultTag = {
|
|
211
206
|
name: this.name,
|
|
212
207
|
value: this.dateObj.date,
|
|
213
|
-
label,
|
|
208
|
+
label: (_a = find(this.forecastTags, { value: this.forecastValue })) === null || _a === void 0 ? void 0 : _a.label,
|
|
214
209
|
locked: !this.dateFilter(moment$8.unix(this.dateObj.date))
|
|
215
210
|
};
|
|
216
211
|
this.dateChange.emit(resultTag);
|
|
@@ -3366,13 +3361,13 @@ class DialogModalWrapperComponent {
|
|
|
3366
3361
|
this.class = (_b = (_a = this === null || this === void 0 ? void 0 : this.dialogData) === null || _a === void 0 ? void 0 : _a.theme) === null || _b === void 0 ? void 0 : _b.themeSize;
|
|
3367
3362
|
}
|
|
3368
3363
|
ngOnInit() {
|
|
3369
|
-
if (this.dialogData.fields)
|
|
3370
|
-
this.
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
}
|
|
3364
|
+
if (!this.dialogData.fields)
|
|
3365
|
+
this.dialogData.fields = [];
|
|
3366
|
+
this.form = new FormGroup(this.dialogData.fields.reduce((accumulator, currentValue) => {
|
|
3367
|
+
const currentFormControl = {};
|
|
3368
|
+
currentFormControl[currentValue.name] = new FormControl(currentValue.default || null, currentValue.validators || []);
|
|
3369
|
+
return Object.assign(accumulator, currentFormControl);
|
|
3370
|
+
}, {}));
|
|
3376
3371
|
}
|
|
3377
3372
|
onAccept() {
|
|
3378
3373
|
if (!this.dialogData.confirmFn)
|
|
@@ -3403,7 +3398,7 @@ DialogModalWrapperComponent.decorators = [
|
|
|
3403
3398
|
{ type: Component, args: [{
|
|
3404
3399
|
selector: 'dr-dialog-modal-wrapper',
|
|
3405
3400
|
template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">{{ dialogData.title }}</h1>\n <i mat-icon-button *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\"\n data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\">\n <ng-container>{{ dialogData.content }}</ng-container>\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div class=\"dr-smart-form_wrapper\">\n <div *ngFor=\"let field of dialogData.fields\" class=\"dr-smart-form_group\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\">{{ field.label }}</label>\n <div class=\"input-group p-0\"\n [ngClass]=\"{ 'col-md-10': field.label && !field.isLabelFullWidth, 'col-md-12': !field.label || field.isLabelFullWidth }\">\n <dr-select *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [required]=\"true\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close();\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\"\n class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}</button>\n </ng-template>\n </dr-select>\n <dr-input *ngIf=\"field.type === dialogFieldType.INPUT\" data-test=\"modalInput\" class=\"form-control\"\n [formControlName]=\"field.name\" [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label class=\"form-field-error-alert\" *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\"\n *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"closeDialog()\"\n [theme]=\"'secondary'\">{{ dialogData.cancelButton.label }}</dr-button>\n <dr-button *ngIf=\"dialogData.acceptButton\" data-test=\"modalAddBtn\" (click)=\"onAccept()\" [theme]=\"'primary'\"\n [isLoading]=\"isLoading\" [disabled]=\"form.invalid\">{{ dialogData.acceptButton.label }}</dr-button>\n </div>\n</div>\n",
|
|
3406
|
-
styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,.medium-modal-max-height:host{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:80vh}.header-dialog{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:8px 39px 8px 32px;border-bottom:1px solid #e5e6ea}.title-dialog{color:#151b3f;position:static;font-weight:bold;font-size:18px;line-height:24px}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px}.icon-close{color:#51566f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:500;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #e5e6ea}.buttons-wrapper{display:flex;justify-content:flex-end;padding-top:10px;padding-right:32px;padding-bottom:11px}.buttons-wrapper dr-button:nth-of-type(2){margin-left:12px}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:red}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"]
|
|
3401
|
+
styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,.medium-modal-max-height:host{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height{max-height:80vh}.header-dialog{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:8px 39px 8px 32px;border-bottom:1px solid #e5e6ea}.title-dialog{color:#151b3f;position:static;font-weight:bold;font-size:18px;line-height:24px}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line}.icon-close{color:#51566f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:500;line-height:22px;padding:16px 32px 22px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #e5e6ea}.buttons-wrapper{display:flex;justify-content:flex-end;padding-top:10px;padding-right:32px;padding-bottom:11px}.buttons-wrapper dr-button:nth-of-type(2){margin-left:12px}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:red}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"]
|
|
3407
3402
|
},] }
|
|
3408
3403
|
];
|
|
3409
3404
|
DialogModalWrapperComponent.ctorParameters = () => [
|