@datarailsshared/datarailsshared 1.6.257 → 1.6.260
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/datarailsshared-datarailsshared-1.6.260.tgz +0 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +2 -9
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +7 -11
- package/esm2022/lib/dr-inputs/date-pickers/dr-fiscal-month-calendar-picker/dr-fiscal-month-calendar-header.component.mjs +5 -5
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +1 -2
- package/fesm2022/datarailsshared-datarailsshared.mjs +11 -23
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.d.ts +1 -2
- package/lib/dr-inputs/date-pickers/services/dr-date-picker.service.d.ts +0 -1
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.6.257.tgz +0 -0
|
@@ -66,13 +66,13 @@ function DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template(rf, ctx) { i
|
|
|
66
66
|
const quarter_r12 = ctx.$implicit;
|
|
67
67
|
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
68
68
|
i0.ɵɵclassMap(quarter_r12 === ctx_r11.selectedQuarter ? "selected" : "");
|
|
69
|
-
i0.ɵɵclassProp("quarter-selector--disabled", ctx_r11.isQuarterDisabled(quarter_r12))
|
|
69
|
+
i0.ɵɵclassProp("quarter-selector--disabled", ctx_r11.isQuarterDisabled(quarter_r12));
|
|
70
70
|
i0.ɵɵadvance(1);
|
|
71
71
|
i0.ɵɵtextInterpolate1(" Q", quarter_r12, " ");
|
|
72
72
|
} }
|
|
73
73
|
function DrFiscalMonthCalendarHeaderComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
74
74
|
i0.ɵɵelementStart(0, "div", 16, 17);
|
|
75
|
-
i0.ɵɵtemplate(2, DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template, 2,
|
|
75
|
+
i0.ɵɵtemplate(2, DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template, 2, 5, "div", 18);
|
|
76
76
|
i0.ɵɵelementEnd();
|
|
77
77
|
} if (rf & 2) {
|
|
78
78
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -110,7 +110,7 @@ export class DrFiscalMonthCalendarHeaderComponent extends DrDatePickerCustomHead
|
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
112
|
/** @nocollapse */ static { this.ɵfac = /** @pureOrBreakMyCode */ function () { let ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory; return function DrFiscalMonthCalendarHeaderComponent_Factory(t) { return (ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory || (ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(DrFiscalMonthCalendarHeaderComponent)))(t || DrFiscalMonthCalendarHeaderComponent); }; }(); }
|
|
113
|
-
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrFiscalMonthCalendarHeaderComponent, selectors: [["dr-fiscal-month-calendar-header", 8, "component"]], features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["class", "dr-datepicker__timeframe-select", "bindLabel", "title", "bindValue", "value", 3, "ngModel", "items", "ngModelChange", 4, "ngIf"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags", 3, "ngClass"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector", 3, "class", "quarter-selector--disabled", "
|
|
113
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrFiscalMonthCalendarHeaderComponent, selectors: [["dr-fiscal-month-calendar-header", 8, "component"]], features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["class", "dr-datepicker__timeframe-select", "bindLabel", "title", "bindValue", "value", 3, "ngModel", "items", "ngModelChange", 4, "ngIf"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags", 3, "ngClass"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector quarter-selector--select-current-quarter", 3, "class", "quarter-selector--disabled", "click", 4, "ngFor", "ngForOf"], [1, "quarter-selector", "quarter-selector--select-current-quarter", 3, "click"]], template: function DrFiscalMonthCalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
114
114
|
i0.ɵɵtemplate(0, DrFiscalMonthCalendarHeaderComponent_div_0_Template, 3, 2, "div", 0);
|
|
115
115
|
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2);
|
|
116
116
|
i0.ɵɵlistener("click", function DrFiscalMonthCalendarHeaderComponent_Template_div_click_2_listener() { return ctx.pagingClicked(false); });
|
|
@@ -141,6 +141,6 @@ export class DrFiscalMonthCalendarHeaderComponent extends DrDatePickerCustomHead
|
|
|
141
141
|
}
|
|
142
142
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrFiscalMonthCalendarHeaderComponent, [{
|
|
143
143
|
type: Component,
|
|
144
|
-
args: [{ selector: 'dr-fiscal-month-calendar-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div\n class=\"dr-datepicker-preset-date__tags\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags--solo': !datePickerService.isUsingTimeFrameSelect }\">\n <div\n *ngFor=\"let tag of datePickerService.availableDateTagPresets\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n *ngIf=\"datePickerService.isUsingTimeFrameSelect\"\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\"
|
|
144
|
+
args: [{ selector: 'dr-fiscal-month-calendar-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div\n class=\"dr-datepicker-preset-date__tags\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags--solo': !datePickerService.isUsingTimeFrameSelect }\">\n <div\n *ngFor=\"let tag of datePickerService.availableDateTagPresets\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n *ngIf=\"datePickerService.isUsingTimeFrameSelect\"\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector quarter-selector--select-current-quarter\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\">\n Q{{ quarter }}\n </div>\n</div>\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;flex-wrap:wrap;row-gap:8px;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags--solo{padding:16px 32px;gap:16px;justify-content:center}.dr-datepicker-preset-date__tags--solo .dr-datepicker-preset-date__tags__tag{padding:4px 8px;justify-content:center;display:flex;flex:1 0 0}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9ea1aa;border-radius:18px;background:#fff;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#f2f2fb;border:1px solid #4646ce}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}.dr-quarterly-datepicker .quarter-selector--disabled,.dr-quarterly-datepicker .quarter-selector--disabled.selected{pointer-events:none;background-color:transparent;color:#aeabac;font-weight:400}.dr-quarterly-datepicker .quarter-selector--select-current-quarter.quarter-selector--disabled.selected{pointer-events:none;background-color:#673ab7;opacity:.4;color:#f2f2fb;font-weight:400}\n"] }]
|
|
145
145
|
}], null, null); })();
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZmlzY2FsLW1vbnRoLWNhbGVuZGFyLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWZpc2NhbC1tb250aC1jYWxlbmRhci1waWNrZXIvZHItZmlzY2FsLW1vbnRoLWNhbGVuZGFyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUMzSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7SUNHL0IsK0JBT2dDO0lBSDVCLHFQQUFTLGVBQUEsZ0NBQXNCLENBQUEsSUFBQztJQUloQyxZQUNKO0lBQUEsaUJBQU07Ozs7SUFKRiw2RkFBK0YsK0VBQUEsNEJBQUE7SUFHL0YsZUFDSjtJQURJLDZDQUNKOzs7O0lBYlIsK0JBQXVGLGNBQUE7SUFJL0Usa0dBU007SUFDVixpQkFBTSxFQUFBOzs7SUFYRixlQUFrRztJQUFsRyxzR0FBa0c7SUFFOUUsZUFBNEM7SUFBNUMsMEVBQTRDOzs7O0lBV3hFLHFDQU8yQztJQUF2Qyx1TkFBaUIsZUFBQSwyQkFBb0IsQ0FBQSxJQUFDOztJQUMxQyxpQkFBWTs7O0lBTFIsa0RBQTZCLHNHQUFBOzs7SUFwQnJDLDhCQUE0RztJQUN4RywyRkFlTTtJQUNOLHdHQVFZO0lBQ2hCLGlCQUFNOzs7SUF6QkksZUFBNkM7SUFBN0MscUVBQTZDO0lBaUI5QyxlQUE4QztJQUE5QyxzRUFBOEM7Ozs7SUF1Qm5ELCtCQUtvRTtJQUZoRSx1UEFBUyxlQUFBLG9DQUF3QixDQUFBLElBQUM7SUFHbEMsWUFDSjtJQUFBLGlCQUFNOzs7O0lBSEYsd0VBQXVEO0lBQ3ZELG9GQUErRDtJQUMvRCxlQUNKO0lBREksNkNBQ0o7OztJQVJKLG1DQUF1RjtJQUNuRiw2RkFPTTtJQUNWLGlCQUFNOzs7SUFQc0IsZUFBVztJQUFYLHlDQUFXOztBRGhDdkMsTUFBTSxPQUFPLG9DQUE2QyxTQUFRLGlDQUF5QztJQUM5RixRQUFRO1FBQ2IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyx5Q0FBeUMsRUFBRSxDQUFDO2FBQ3BEO1lBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtnQkFDekIsSUFBSSxDQUFDLDJDQUEyQyxFQUFFLENBQUM7YUFDdEQ7WUFDRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCwyQ0FBMkM7UUFDdkMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0NBQWdDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM3RyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztZQUNuRCxJQUFJLENBQUMsU0FBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUM3RDtJQUNMLENBQUM7SUFFa0IsMkJBQTJCO1FBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN2RSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLENBQUM7YUFDcEQ7WUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO2dCQUN6QixJQUFJLENBQUMsMkNBQTJDLEVBQUUsQ0FBQzthQUN0RDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3VkFoQ1Esb0NBQW9DLFNBQXBDLG9DQUFvQzttR0FBcEMsb0NBQW9DO1lDVmpELHFGQTBCTTtZQUVOLDhCQUE0QixhQUFBO1lBQ3FCLDhHQUFTLGtCQUFjLEtBQUssQ0FBQyxJQUFDO1lBQ3ZFLHVCQUFzRTtZQUMxRSxpQkFBTTtZQUNOLCtCQUFtQyxjQUFBO1lBQ3pCLCtHQUFTLCtEQUF1RCxJQUFDO1lBQUMsWUFBNEI7WUFBQSxpQkFBTztZQUMzRywrQkFBdUU7WUFBakUsK0dBQVMsOERBQXNELElBQUM7WUFBQyxZQUFxQjtZQUFBLGlCQUFPLEVBQUE7WUFFdkcsOEJBQTJFO1lBQTlCLDhHQUFTLGtCQUFjLElBQUksQ0FBQyxJQUFDO1lBQ3RFLHdCQUF1RTtZQUMzRSxpQkFBTSxFQUFBO1lBRVYsdUZBU007O1lBakRBLHdFQUFtRDtZQWlDdUIsZUFBNEI7WUFBNUIsZ0RBQTRCO1lBQzdCLGVBQXFCO1lBQXJCLHlDQUFxQjtZQU16QyxlQUEwQjtZQUExQiwrQ0FBMEI7Ozt1RkQ5QnhFLG9DQUFvQztjQU5oRCxTQUFTOzJCQUNJLDJDQUEyQyxtQkFHcEMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWZpc2NhbC1tb250aC1jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4uL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4uL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckZpc2NhbE1vbnRoQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQ8TW9tZW50PiBleHRlbmRzIERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudDxNb21lbnQ+IHtcbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2FsZW5kYXIubXVsdGlZZWFyVmlldykge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtRGF0ZUluTXVsdGl5ZWFyVmlld0FjY29yZGluZ1RvRlkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLl9jYWxlbmRhci55ZWFyVmlldykge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtRGF0ZUluRmlzY2FsTW9udGhWaWV3QWNjb3JkaW5nVG9GWSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5nb1RvQ3VycmVudERhdGVJblZpZXdCeUZZKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHRyYW5zZm9ybURhdGVJbkZpc2NhbE1vbnRoVmlld0FjY29yZGluZ1RvRlkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jYWxlbmRhci5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXIuc2VsZWN0ZWQgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnN1YnRyYWN0RmlzY2FsWWVhck1vbnRoc0Zyb21EYXRlKHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpO1xuICAgICAgICAgICAgdGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSA9IHRoaXMuX2NhbGVuZGFyLnNlbGVjdGVkO1xuICAgICAgICAgICAgKHRoaXMuX2NhbGVuZGFyIGFzIGFueSkuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGxpc3RlblRvQ2FsZW5kYXJWaWV3Q2hhbmdlcygpIHtcbiAgICAgICAgdGhpcy5fY2FsZW5kYXIudmlld0NoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0UGVyaW9kTGFiZWxzKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5fY2FsZW5kYXIubXVsdGlZZWFyVmlldykge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtRGF0ZUluTXVsdGl5ZWFyVmlld0FjY29yZGluZ1RvRlkoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX2NhbGVuZGFyLnllYXJWaWV3KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1EYXRlSW5GaXNjYWxNb250aFZpZXdBY2NvcmRpbmdUb0ZZKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJkYXRlUGlja2VyU2VydmljZS5pc1RpbWVmcmFtZVNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cImRyLWRhdGVwaWNrZXJfX3RpbWVmcmFtZS1zZWxlY3RfX3dyYXBwZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0ZVBpY2tlclNlcnZpY2UuaXNVc2luZ0RhdGVUYWdQcmVzZXRzXCIgY2xhc3M9XCJkci1kYXRlcGlja2VyLXByZXNldC1kYXRlXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiZHItZGF0ZXBpY2tlci1wcmVzZXQtZGF0ZV9fdGFnc1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkci1kYXRlcGlja2VyLXByZXNldC1kYXRlX190YWdzLS1zb2xvJzogIWRhdGVQaWNrZXJTZXJ2aWNlLmlzVXNpbmdUaW1lRnJhbWVTZWxlY3QgfVwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWcgb2YgZGF0ZVBpY2tlclNlcnZpY2UuYXZhaWxhYmxlRGF0ZVRhZ1ByZXNldHNcIlxuICAgICAgICAgICAgICAgIGlkPVwicHJlc2V0X3RhZ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkci1kYXRlcGlja2VyLXByZXNldC1kYXRlX190YWdzX190YWdcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlbGVjdFByZXNldFRhZyh0YWcpXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdkci1kYXRlcGlja2VyLXByZXNldC1kYXRlX190YWdzX190YWctLXNlbGVjdGVkJzogdGFnLmtleSA9PT0gc2VsZWN0ZWRQcmVzZXRUYWcgfVwiXG4gICAgICAgICAgICAgICAgW2RyVG9vbHRpcF09XCJzZWxlY3RlZFByZXNldFRhZyA9PT0gdGFnLmtleSA/ICdVbnNlbGVjdCBwcmVzZXQnIDogJydcIlxuICAgICAgICAgICAgICAgIFtkclRvb2x0aXBQb3NpdGlvbl09XCIndG9wJ1wiPlxuICAgICAgICAgICAgICAgIHt7IHRhZy5sYWJlbCB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkci1zZWxlY3RcbiAgICAgICAgKm5nSWY9XCJkYXRlUGlja2VyU2VydmljZS5pc1VzaW5nVGltZUZyYW1lU2VsZWN0XCJcbiAgICAgICAgY2xhc3M9XCJkci1kYXRlcGlja2VyX190aW1lZnJhbWUtc2VsZWN0XCJcbiAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRUaW1lZnJhbWVcIlxuICAgICAgICBbaXRlbXNdPVwidGltZWZyYW1lT3B0aW9ucyB8IGRyU2hvd1RpbWVmcmFtZVBpcGU6IGRhdGVQaWNrZXJTZXJ2aWNlLmF2YWlsYWJsZVRpbWVmcmFtZXNcIlxuICAgICAgICBiaW5kTGFiZWw9XCJ0aXRsZVwiXG4gICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0VGltZWZyYW1lKCRldmVudClcIj5cbiAgICA8L2RyLXNlbGVjdD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZHItZGF0ZS1wYWdpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZHItZGF0ZS1wYWdpbmcgZmxpcC1wYWdlLWJ1dHRvblwiIChjbGljayk9XCJwYWdpbmdDbGlja2VkKGZhbHNlKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImRyLWljb24tYXJyb3ctbGVmdCBwcmVzZW50YXRpb25fYnV0dG9ucy1uYXZpZ2F0ZV9pbnB1dFwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBjbGFzcz1cImV4YW1wbGUtaGVhZGVyLWxhYmVsXCI+XG4gICAgICAgIDxzcGFuIChjbGljayk9XCJzd2l0Y2hWaWV3T25DbGlja09uUGVyaW9kTGFiZWwoY2FsZW5kYXJWaWV3LkZPUl9NT05USFMpXCI+e3sgcGVyaW9kTW9udGhMYWJlbCArICcgJyB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cInN3aXRjaFZpZXdPbkNsaWNrT25QZXJpb2RMYWJlbChjYWxlbmRhclZpZXcuRk9SX1lFQVJTKVwiPnt7IHBlcmlvZFllYXJMYWJlbCB9fTwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICAgPGRpdiBjbGFzcz1cImRyLWRhdGUtcGFnaW5nIGZsaXAtcGFnZS1idXR0b25cIiAoY2xpY2spPVwicGFnaW5nQ2xpY2tlZCh0cnVlKVwiPlxuICAgICAgICA8aSBjbGFzcz1cImRyLWljb24tYXJyb3ctcmlnaHQgcHJlc2VudGF0aW9uX2J1dHRvbnMtbmF2aWdhdGVfaW5wdXRcIj48L2k+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgI3F1YXJ0ZXJseURhdGVQaWNrZXIgY2xhc3M9XCJkci1xdWFydGVybHktZGF0ZXBpY2tlclwiICpuZ0lmPVwiY3VycmVudFZpZXdJc1F1YXJ0ZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBxdWFydGVyIG9mIHF1YXJ0ZXJzXCJcbiAgICAgICAgY2xhc3M9XCJxdWFydGVyLXNlbGVjdG9yIHF1YXJ0ZXItc2VsZWN0b3ItLXNlbGVjdC1jdXJyZW50LXF1YXJ0ZXJcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RRdWFydGVyKHF1YXJ0ZXIpXCJcbiAgICAgICAgW2NsYXNzXT1cInF1YXJ0ZXIgPT09IHNlbGVjdGVkUXVhcnRlciA/ICdzZWxlY3RlZCcgOiAnJ1wiXG4gICAgICAgIFtjbGFzcy5xdWFydGVyLXNlbGVjdG9yLS1kaXNhYmxlZF09XCJpc1F1YXJ0ZXJEaXNhYmxlZChxdWFydGVyKVwiPlxuICAgICAgICBRe3sgcXVhcnRlciB9fVxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -39,7 +39,6 @@ export class DrDatePickerService {
|
|
|
39
39
|
};
|
|
40
40
|
this.fiscalYearMonthsModifier = 0;
|
|
41
41
|
this.fiscalYearBack = false;
|
|
42
|
-
this.selectCurrentQuarter = false;
|
|
43
42
|
this._innerValue$ = new BehaviorSubject(null);
|
|
44
43
|
this.innerValue$ = this._innerValue$.asObservable();
|
|
45
44
|
}
|
|
@@ -261,4 +260,4 @@ export class DrDatePickerService {
|
|
|
261
260
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDatePickerService, [{
|
|
262
261
|
type: Injectable
|
|
263
262
|
}], null, null); })();
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUEyQixlQUFlLEVBQW9CLE1BQU0sNEJBQTRCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUc3RCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRUksZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQXNDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRixlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBVTFGLG9FQUFvRTtRQUNwRSwrRUFBK0U7UUFDL0UsaUVBQWlFO1FBQ2pFLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBUyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUUzRSxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDL0IseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUN4RCx5QkFBb0IsR0FBRyxJQUFJLE9B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XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGVGcm9tYXRzLCBEYXRlVGFncywgSURhdGVQaWNrZXJGb3JtYXRDb25maWcsIFRpbWVmcmFtZU9wdGlvbiwgVFRpbWVmcmFtZU9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kYXRlUGlja2VyJztcbmltcG9ydCB7IERyU2hhcmVkVXRpbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9kci1zaGFyZWQtdXRpbHMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgV2Vla0luZm8gfSBmcm9tICcuLi93ZWVrLXNlbGVjdG9yL3dlZWstc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFBSRVNFVF9UQUdTX0xJU1QgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY29uc3RhbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERyRGF0ZVBpY2tlclNlcnZpY2Uge1xuICAgIGlzVGltZWZyYW1lU2VsZWN0aW9uRW5hYmxlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpbWVmcmFtZSQ6IEJlaGF2aW9yU3ViamVjdDxUVGltZWZyYW1lT3B0aW9uPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoVGltZWZyYW1lT3B0aW9uLkRBWSk7XG4gICAgcHVibGljIHJlYWRvbmx5IHRpbWVmcmFtZSQgPSB0aGlzLl90aW1lZnJhbWUkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgICBwdWJsaWMgZ2V0IHRpbWVmcmFtZSgpOiBUVGltZWZyYW1lT3B0aW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpbWVmcmFtZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHRpbWVmcmFtZSh2YWx1ZTogVFRpbWVmcmFtZU9wdGlvbikge1xuICAgICAgICB0aGlzLl90aW1lZnJhbWUkLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGhlcmUgd2UgY2FuIGhhdmUgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIGZvcm1hdCBhbmQgdGltZWZyYW1lXG4gICAgLy8gd2UgbmVlZCB0byBnZXQgcmlkIG9mIGEgc2VwYXJhdGUgc3ViamVjdCBhbmQgdXNlIHBpcGUgZnJvbSB0aW1lZnJhbWUkIGZvciBpdFxuICAgIC8vIG1ha2luZyBASW5wdXQoKSBmb3JtYXQgaW4gY29tcG9uZW50IGp1c3Qgc2V0dGluZyB0aGUgdGltZWZyYW1lXG4gICAgZm9ybWF0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihEYXRlRnJvbWF0cy5NQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCk7XG5cbiAgICB1cGRhdGVkUXVhcnRlciQgPSBuZXcgU3ViamVjdDxNb21lbnQ+KCk7XG4gICAgcmVhZG9ubHkgd2Vla1NlbGVjdGlvbkNoYW5nZSQgPSBuZXcgU3ViamVjdDxXZWVrSW5mbz4oKTtcbiAgICB1cGRhdGVkRGF0ZUFuZENsb3NlJCA9IG5ldyBTdWJqZWN0PE1vbWVudD4oKTtcbiAgICBkYXRlUGlja2VySW5zdGFuY2U6IE1hdERhdGVwaWNrZXI8YW55PjtcbiAgICBpc1VzaW5nRGF0ZVRhZ1ByZXNldHM6IGJvb2xlYW47XG4gICAgaXNVc2luZ1RpbWVGcmFtZVNlbGVjdDogYm9vbGVhbiA9IHRydWU7XG4gICAgcHJlc2V0VGFnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0ZVRhZ3M+KCcnIGFzIERhdGVUYWdzKTtcbiAgICBvblNhbWVEYXlTZWxlY3RlZEluQ2FsZW5kYXIkID0gbmV3IFN1YmplY3Q8TW9tZW50PigpO1xuICAgIGtlZXBQcmVzZXRUYWcgPSBmYWxzZTtcbiAgICBpc1ZhbHVlVXBkYXRpbmcgPSBmYWxzZTtcbiAgICBhdmFpbGFibGVEYXRlVGFnUHJlc2V0cyA9IFBSRVNFVF9UQUdTX0xJU1Q7XG4gICAgYXZhaWxhYmxlVGltZWZyYW1lcyA9IFtcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLkRBWSxcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLldFRUssXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5NT05USCxcbiAgICAgICAgVGltZWZyYW1lT3B0aW9uLlFVQVJURVIsXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5ZRUFSLFxuICAgIF07XG5cbiAgICBwdWJsaWMgZm9ybWF0Q29uZmlnOiBJRGF0ZVBpY2tlckZvcm1hdENvbmZpZyA9IHtcbiAgICAgICAgZGF5OiBEYXRlRnJvbWF0cy5NQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCxcbiAgICAgICAgbW9udGg6IERhdGVGcm9tYXRzLk1PTlRIX1lFQVJfRk9STUFULFxuICAgICAgICB5ZWFyOiBEYXRlRnJvbWF0cy5ZRUFSX0ZPUk1BVCxcbiAgICAgICAgcXVhcnRlcjogRGF0ZUZyb21hdHMuUVVBUlRFUl9GT1JNQVQsXG4gICAgICAgIHdlZWs6IERhdGVGcm9tYXRzLldFRUtfRk9STUFULFxuICAgIH07XG4gICAgcHVibGljIGNhbGVuZGFySW5zdGFuY2U6IE1hdENhbGVuZGFyPGFueT47XG4gICAgcHVibGljIG1heERhdGU6IE1vbWVudDtcbiAgICBwdWJsaWMgZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyID0gMDtcbiAgICBwdWJsaWMgZmlzY2FsWWVhckJhY2sgPSBmYWxzZTtcbiAgICBwdWJsaWMgZGF0ZXBpY2tlckZpbHRlcjogKG1vbWVudDogTW9tZW50KSA9PiBib29sZWFuO1xuICAgIHB1YmxpYyBzZWxlY3RDdXJyZW50UXVhcnRlciA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaW5uZXJWYWx1ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1vbWVudD4obnVsbCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGlubmVyVmFsdWUkID0gdGhpcy5faW5uZXJWYWx1ZSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwdWJsaWMgc2V0IGlubmVyVmFsdWUodmFsdWU6IE1vbWVudCkge1xuICAgICAgICB0aGlzLl9pbm5lclZhbHVlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBpbm5lclZhbHVlKCk6IE1vbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbm5lclZhbHVlJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIGdldERpc3BsYXlQcmVmaXgoKSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdENhY2hlZCA9IHRoaXMuZ2V0Q29uZmlndXJlZEZvcm1hdCh0aGlzLnRpbWVmcmFtZSk7XG4gICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgICAgY2FzZSBmb3JtYXRDYWNoZWQ/LmluY2x1ZGVzKCdRJyk6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdRJztcbiAgICAgICAgICAgIGNhc2UgZm9ybWF0Q2FjaGVkPy5pbmNsdWRlcygnVycpOlxuICAgICAgICAgICAgICAgIHJldHVybiAnVyc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRpbWVmcmFtZShmb3JtYXQ6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gRHJTaGFyZWRVdGlscy5nZXRUaW1lZnJhbWVCeURhdGVGb3JtYXQoZm9ybWF0KTtcbiAgICB9XG5cbiAgICBnZXRDb25maWd1cmVkRm9ybWF0KHRpbWVmcmFtZTogVFRpbWVmcmFtZU9wdGlvbik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdENvbmZpZ1t0aW1lZnJhbWVdO1xuICAgIH1cblxuICAgIHVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChmb3JtYXQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBub3JtYWxpemVkRm9ybWF0ID0gdGhpcy5ub3JtYWxpemVWYWx1ZShmb3JtYXQgfHwgdGhpcy5mb3JtYXQkLmdldFZhbHVlKCkpO1xuICAgICAgICB0aGlzLnRpbWVmcmFtZSA9IHRoaXMuZ2V0VGltZWZyYW1lKG5vcm1hbGl6ZWRGb3JtYXQpO1xuICAgICAgICB0aGlzLmZvcm1hdCQubmV4dCh0aGlzLmdldENvbmZpZ3VyZWRGb3JtYXQodGhpcy50aW1lZnJhbWUpKTtcbiAgICB9XG5cbiAgICBub3JtYWxpemVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL2QvZywgJ0QnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgcXVhcnRlciBudW1iZXIgZm9yIGRhdGUgYWNjb3JkaW5nIHRvIGZpc2NhbCB5ZWFyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRRdWFydGVyQWNjb3JkaW5nVG9GaXNjYWxZZWFyKGRhdGU6IE1vbWVudCk6IG51bWJlciB7XG4gICAgICAgIGxldCBmaXNjYWxNb250aCA9IHRoaXMuZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyO1xuICAgICAgICBjb25zdCBkYXRlTW9udGggPSBkYXRlLm1vbnRoKCk7XG4gICAgICAgIGlmIChkYXRlTW9udGggPCBmaXNjYWxNb250aCkge1xuICAgICAgICAgICAgZmlzY2FsTW9udGggLT0gMTI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE1hdGgudHJ1bmMoKGRhdGUubW9udGgoKSAtIGZpc2NhbE1vbnRoKSAvIDMpICsgMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRhdGUgdG8gZW5kIG9mIHF1YXJ0ZXIgaW4gRlkgYnkgcGFzc2VkIHF1YXJ0ZXIgbnVtYmVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqIEBwYXJhbSBxdWFydGVyTnVtYmVyXG4gICAgICovXG4gICAgcHVibGljIHNldEVuZE9mUXVhcnRlcihkYXRlOiBNb21lbnQsIHF1YXJ0ZXJOdW1iZXI6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBkYXRlLnN1YnRyYWN0KHRoaXMuZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyLCAnTScpXG4gICAgICAgICAgICAuc3RhcnRPZigneWVhcicpXG4gICAgICAgICAgICAuYWRkKHRoaXMuZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyICsgcXVhcnRlck51bWJlciAqIDMgLSAxLCAnTScpXG4gICAgICAgICAgICAuZW5kT2YoJ21vbnRoJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBkYXRlIHRvIHN0YXJ0IG9mIHF1YXJ0ZXIgaW4gRlkgYnkgcGFzc2VkIHF1YXJ0ZXIgbnVtYmVyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqIEBwYXJhbSBxdWFydGVyTnVtYmVyXG4gICAgICovXG4gICAgcHVibGljIHNldFN0YXJ0T2ZRdWFydGVyKGRhdGU6IE1vbWVudCwgcXVhcnRlck51bWJlcjogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGRhdGUuc3VidHJhY3QodGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXIsICdNJylcbiAgICAgICAgICAgIC5zdGFydE9mKCd5ZWFyJylcbiAgICAgICAgICAgIC5hZGQodGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXIgKyAocXVhcnRlck51bWJlciAtIDEpICogMywgJ00nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRhdGUgdG8gZW5kIG9mIGN1cnJlbnQgcXVhcnRlciAoaW4gd2hpY2ggZGF0ZSBpcyBsb2NhdGVkKSBhY2NvcmRpbmcgdG8gRllcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHNldEVuZE9mQ3VycmVudFF1YXJ0ZXIoZGF0ZTogTW9tZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0RW5kT2ZRdWFydGVyKGRhdGUsIHRoaXMuZ2V0UXVhcnRlckFjY29yZGluZ1RvRmlzY2FsWWVhcihkYXRlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBkYXRlIHRvIHN0YXJ0IG9mIGN1cnJlbnQgcXVhcnRlciAoaW4gd2hpY2ggZGF0ZSBpcyBsb2NhdGVkKSBhY2NvcmRpbmcgdG8gRllcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHNldFN0YXJ0T2ZDdXJyZW50UXVhcnRlcihkYXRlOiBNb21lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTdGFydE9mUXVhcnRlcihkYXRlLCB0aGlzLmdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIoZGF0ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIGRhdGUgc2VsZWN0aW9uIG9uIHRoaXMgdGltZWZyYW1lIGRlcGVuZHMgb24gRmlzY2FsIFllYXJcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aW1lZnJhbWVcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNUaW1lZnJhbWVEZXBlbmRpbmdPbkZZKHRpbWVmcmFtZTogVGltZWZyYW1lT3B0aW9uKSB7XG4gICAgICAgIHJldHVybiBfLmluY2x1ZGVzKFtUaW1lZnJhbWVPcHRpb24uUVVBUlRFUiwgVGltZWZyYW1lT3B0aW9uLllFQVJdLCB0aW1lZnJhbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFN1YnRyYWN0IGZyb20gZGF0ZSBmaXNjYWwgeWVhciBzaGlmdCBtb250aHMgY291bnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIHN1YnRyYWN0RmlzY2FsWWVhck1vbnRoc0Zyb21EYXRlKGRhdGU6IE1vbWVudCk6IE1vbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVNb2RpZmllZEJ5RmlzY2FsTW9udGhzKGRhdGUsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0byBkYXRlIGZpc2NhbCB5ZWFyIHNoaWZ0IG1vbnRocyBjb3VudFxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkRmlzY2FsWWVhck1vbnRoc1RvRGF0ZShkYXRlOiBNb21lbnQpOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlTW9kaWZpZWRCeUZpc2NhbE1vbnRocyhkYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5RmlzY2FsWWVhclNoaWZ0Rm9yWWVhcihtb21lbnREYXRlOiBNb21lbnQsIGlzU3VidHJhY3Q6IGJvb2xlYW4gPSBmYWxzZSk6IE1vbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh0aGlzLmZpc2NhbFllYXJCYWNrIHx8ICF0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllcikgcmV0dXJuO1xuICAgICAgICByZXR1cm4gbW9tZW50RGF0ZVtpc1N1YnRyYWN0ID8gJ3N1YnRyYWN0JyA6ICdhZGQnXSgxLCAneWVhcicpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRGaXNjYWxZZWFyU2hpZnRGb3JZZWFyKG1vbWVudERhdGU6IE1vbWVudCk6IE1vbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGx5RmlzY2FsWWVhclNoaWZ0Rm9yWWVhcihtb21lbnREYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3VidHJhY3RGaXNjYWxZZWFyU2hpZnRGb3JZZWFyKG1vbWVudERhdGU6IE1vbWVudCk6IE1vbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcGx5RmlzY2FsWWVhclNoaWZ0Rm9yWWVhcihtb21lbnREYXRlLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgb3Igc3VidHJhY3QgZGVwZW5kaW5nIG9uIGlzUmV2ZXJ0IHBhcmVtZXRlciBGaXNjYWwgeWVhciBtb250aCBzaGlmdFxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcGFyYW0gaXNTdWJ0cmFjdFxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0RGF0ZU1vZGlmaWVkQnlGaXNjYWxNb250aHMoZGF0ZTogTW9tZW50LCBpc1N1YnRyYWN0ID0gZmFsc2UpOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gZGF0ZSA/IF8uY2xvbmVEZWVwKGRhdGUpW2lzU3VidHJhY3QgPyAnc3VidHJhY3QnIDogJ2FkZCddKHRoaXMuZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyLCAnbW9udGgnKSA6IGRhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZURhdGVQaWNrZXJCeVByZXNldCh0YWc6IERhdGVUYWdzLCBjYWxlbmRlcjogYW55KSB7XG4gICAgICAgIHRoaXMua2VlcFByZXNldFRhZyA9IHRydWU7XG4gICAgICAgIGxldCBkYXRlID0gbnVsbDtcbiAgICAgICAgaWYgKHRhZykge1xuICAgICAgICAgICAgZGF0ZSA9IERyU2hhcmVkVXRpbHMuZ2V0RGF0ZUJ5VGFnKHRhZyk7XG4gICAgICAgICAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuVE9EQVk6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZWZyYW1lQW5kRm9ybWF0KERhdGVGcm9tYXRzLk1BVF9ERUZBVUxUX0RBVEVfRk9STUFUKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBEYXRlVGFncy5ZRVNURVJEQVk6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZWZyYW1lQW5kRm9ybWF0KERhdGVGcm9tYXRzLk1BVF9ERUZBVUxUX0RBVEVfRk9STUFUKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBEYXRlVGFncy5USElTX01PTlRIOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5NT05USF9ZRUFSX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZUluQ2FsZW5kYXJNb250aFZpZXcoZGF0ZSwgY2FsZW5kZXIpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIERhdGVUYWdzLlBSRVZfTU9OVEg6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZWZyYW1lQW5kRm9ybWF0KERhdGVGcm9tYXRzLk1PTlRIX1lFQVJfRk9STUFUKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3REYXRlSW5DYWxlbmRhck1vbnRoVmlldyhkYXRlLCBjYWxlbmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuVEhJU19RVUFSVEVSOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5RVUFSVEVSX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZUluQ2FsZW5kYXJRdWFydGVyVmlldyhkYXRlLCBjYWxlbmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuUFJFVl9RVUFSVEVSOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5RVUFSVEVSX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZUluQ2FsZW5kYXJRdWFydGVyVmlldyhkYXRlLCBjYWxlbmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuVEhJU19ZRUFSOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5ZRUFSX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZUluQ2FsZW5kYXJZZWFyVmlldyhkYXRlLCBjYWxlbmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuUFJFVl9ZRUFSOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5ZRUFSX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZUluQ2FsZW5kYXJZZWFyVmlldyhkYXRlLCBjYWxlbmRlcik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJlc2V0VGFnJC5uZXh0KHRhZyk7XG4gICAgICAgIHRoaXMudXBkYXRlZERhdGVBbmRDbG9zZSQubmV4dChkYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RGF0ZUluQ2FsZW5kYXJNb250aFZpZXcoZGF0ZTogTW9tZW50LCBjYWxlbmRlcjogYW55KTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9udGhWaWV3ID0gY2FsZW5kZXIubW9udGhWaWV3IGFzIGFueTtcbiAgICAgICAgICAgIGlmIChtb250aFZpZXcpIHtcbiAgICAgICAgICAgICAgICBtb250aFZpZXcuX2FjdGl2ZURhdGUgPSBkYXRlO1xuICAgICAgICAgICAgICAgIG1vbnRoVmlldy5fc2VsZWN0ZWQgPSBkYXRlO1xuICAgICAgICAgICAgICAgIG1vbnRoVmlldy5faW5pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RGF0ZUluQ2FsZW5kYXJRdWFydGVyVmlldyhkYXRlOiBNb21lbnQsIGNhbGVuZGVyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB5ZWFyVmlldyA9IGNhbGVuZGVyLnllYXJWaWV3IGFzIGFueTtcbiAgICAgICAgICAgIGlmICh5ZWFyVmlldykge1xuICAgICAgICAgICAgICAgIHllYXJWaWV3Ll9hY3RpdmVEYXRlID0gZGF0ZTtcbiAgICAgICAgICAgICAgICB5ZWFyVmlldy5fc2VsZWN0ZWQgPSBkYXRlO1xuICAgICAgICAgICAgICAgIHllYXJWaWV3Ll9pbml0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3REYXRlSW5DYWxlbmRhclllYXJWaWV3KGRhdGU6IE1vbWVudCwgY2FsZW5kZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG11bHRpWWVhclZpZXcgPSBjYWxlbmRlci5tdWx0aVllYXJWaWV3IGFzIGFueTtcbiAgICAgICAgICAgIGlmIChtdWx0aVllYXJWaWV3KSB7XG4gICAgICAgICAgICAgICAgbXVsdGlZZWFyVmlldy5fYWN0aXZlRGF0ZSA9IGRhdGU7XG4gICAgICAgICAgICAgICAgbXVsdGlZZWFyVmlldy5fc2VsZWN0ZWRZZWFyID0gZGF0ZS55ZWFyKCk7XG4gICAgICAgICAgICAgICAgbXVsdGlZZWFyVmlldy5faW5pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXRQcmVzZXRUYWcoKSB7XG4gICAgICAgIGlmICghdGhpcy5rZWVwUHJlc2V0VGFnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXNldFRhZyQubmV4dChudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMua2VlcFByZXNldFRhZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUEyQixlQUFlLEVBQW9CLE1BQU0sNEJBQTRCLENBQUM7QUFDL0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUc3RCxNQUFNLE9BQU8sbUJBQW1CO0lBRGhDO1FBRUksZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQXNDLElBQUksZUFBZSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRixlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBVTFGLG9FQUFvRTtRQUNwRSwrRUFBK0U7UUFDL0UsaUVBQWlFO1FBQ2pFLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBUyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUUzRSxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDL0IseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQVksQ0FBQztRQUN4RCx5QkFBb0IsR0FBRyxJQUFJLE9B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RUFBRSxDQUFDO2FBQ3JCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sK0JBQStCLENBQUMsSUFBWSxFQUFFLFFBQWE7UUFDOUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFlLENBQUM7WUFDMUMsSUFBSSxRQUFRLEVBQUU7Z0JBQ1YsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQzVCLFFBQVEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDcEI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSw0QkFBNEIsQ0FBQyxJQUFZLEVBQUUsUUFBYTtRQUMzRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQW9CLENBQUM7WUFDcEQsSUFBSSxhQUFhLEVBQUU7Z0JBQ2YsYUFBYSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ2pDLGFBQWEsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMxQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUM5QjtJQUNMLENBQUM7dUdBdFJRLG1CQUFtQjtzR0FBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQjs7dUZBQW5CLG1CQUFtQjtjQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIsIE1hdERhdGVwaWNrZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlRnJvbWF0cywgRGF0ZVRhZ3MsIElEYXRlUGlja2VyRm9ybWF0Q29uZmlnLCBUaW1lZnJhbWVPcHRpb24sIFRUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBEclNoYXJlZFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZHItc2hhcmVkLXV0aWxzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFdlZWtJbmZvIH0gZnJvbSAnLi4vd2Vlay1zZWxlY3Rvci93ZWVrLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQUkVTRVRfVEFHU19MSVNUIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEckRhdGVQaWNrZXJTZXJ2aWNlIHtcbiAgICBpc1RpbWVmcmFtZVNlbGVjdGlvbkVuYWJsZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF90aW1lZnJhbWUkOiBCZWhhdmlvclN1YmplY3Q8VFRpbWVmcmFtZU9wdGlvbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFRpbWVmcmFtZU9wdGlvbi5EQVkpO1xuICAgIHB1YmxpYyByZWFkb25seSB0aW1lZnJhbWUkID0gdGhpcy5fdGltZWZyYW1lJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gICAgcHVibGljIGdldCB0aW1lZnJhbWUoKTogVFRpbWVmcmFtZU9wdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aW1lZnJhbWUkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB0aW1lZnJhbWUodmFsdWU6IFRUaW1lZnJhbWVPcHRpb24pIHtcbiAgICAgICAgdGhpcy5fdGltZWZyYW1lJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBoZXJlIHdlIGNhbiBoYXZlIGluY29uc2lzdGVuY3kgYmV0d2VlbiBmb3JtYXQgYW5kIHRpbWVmcmFtZVxuICAgIC8vIHdlIG5lZWQgdG8gZ2V0IHJpZCBvZiBhIHNlcGFyYXRlIHN1YmplY3QgYW5kIHVzZSBwaXBlIGZyb20gdGltZWZyYW1lJCBmb3IgaXRcbiAgICAvLyBtYWtpbmcgQElucHV0KCkgZm9ybWF0IGluIGNvbXBvbmVudCBqdXN0IHNldHRpbmcgdGhlIHRpbWVmcmFtZVxuICAgIGZvcm1hdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oRGF0ZUZyb21hdHMuTUFUX0RFRkFVTFRfREFURV9GT1JNQVQpO1xuXG4gICAgdXBkYXRlZFF1YXJ0ZXIkID0gbmV3IFN1YmplY3Q8TW9tZW50PigpO1xuICAgIHJlYWRvbmx5IHdlZWtTZWxlY3Rpb25DaGFuZ2UkID0gbmV3IFN1YmplY3Q8V2Vla0luZm8+KCk7XG4gICAgdXBkYXRlZERhdGVBbmRDbG9zZSQgPSBuZXcgU3ViamVjdDxNb21lbnQ+KCk7XG4gICAgZGF0ZVBpY2tlckluc3RhbmNlOiBNYXREYXRlcGlja2VyPGFueT47XG4gICAgaXNVc2luZ0RhdGVUYWdQcmVzZXRzOiBib29sZWFuO1xuICAgIGlzVXNpbmdUaW1lRnJhbWVTZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuICAgIHByZXNldFRhZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGVUYWdzPignJyBhcyBEYXRlVGFncyk7XG4gICAgb25TYW1lRGF5U2VsZWN0ZWRJbkNhbGVuZGFyJCA9IG5ldyBTdWJqZWN0PE1vbWVudD4oKTtcbiAgICBrZWVwUHJlc2V0VGFnID0gZmFsc2U7XG4gICAgaXNWYWx1ZVVwZGF0aW5nID0gZmFsc2U7XG4gICAgYXZhaWxhYmxlRGF0ZVRhZ1ByZXNldHMgPSBQUkVTRVRfVEFHU19MSVNUO1xuICAgIGF2YWlsYWJsZVRpbWVmcmFtZXMgPSBbXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5EQVksXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5XRUVLLFxuICAgICAgICBUaW1lZnJhbWVPcHRpb24uTU9OVEgsXG4gICAgICAgIFRpbWVmcmFtZU9wdGlvbi5RVUFSVEVSLFxuICAgICAgICBUaW1lZnJhbWVPcHRpb24uWUVBUixcbiAgICBdO1xuXG4gICAgcHVibGljIGZvcm1hdENvbmZpZzogSURhdGVQaWNrZXJGb3JtYXRDb25maWcgPSB7XG4gICAgICAgIGRheTogRGF0ZUZyb21hdHMuTUFUX0RFRkFVTFRfREFURV9GT1JNQVQsXG4gICAgICAgIG1vbnRoOiBEYXRlRnJvbWF0cy5NT05USF9ZRUFSX0ZPUk1BVCxcbiAgICAgICAgeWVhcjogRGF0ZUZyb21hdHMuWUVBUl9GT1JNQVQsXG4gICAgICAgIHF1YXJ0ZXI6IERhdGVGcm9tYXRzLlFVQVJURVJfRk9STUFULFxuICAgICAgICB3ZWVrOiBEYXRlRnJvbWF0cy5XRUVLX0ZPUk1BVCxcbiAgICB9O1xuICAgIHB1YmxpYyBjYWxlbmRhckluc3RhbmNlOiBNYXRDYWxlbmRhcjxhbnk+O1xuICAgIHB1YmxpYyBtYXhEYXRlOiBNb21lbnQ7XG4gICAgcHVibGljIGZpc2NhbFllYXJNb250aHNNb2RpZmllciA9IDA7XG4gICAgcHVibGljIGZpc2NhbFllYXJCYWNrID0gZmFsc2U7XG4gICAgcHVibGljIGRhdGVwaWNrZXJGaWx0ZXI6IChtb21lbnQ6IE1vbWVudCkgPT4gYm9vbGVhbjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2lubmVyVmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNb21lbnQ+KG51bGwpO1xuICAgIHB1YmxpYyByZWFkb25seSBpbm5lclZhbHVlJCA9IHRoaXMuX2lubmVyVmFsdWUkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHVibGljIHNldCBpbm5lclZhbHVlKHZhbHVlOiBNb21lbnQpIHtcbiAgICAgICAgdGhpcy5faW5uZXJWYWx1ZSQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgaW5uZXJWYWx1ZSgpOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5faW5uZXJWYWx1ZSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBnZXREaXNwbGF5UHJlZml4KCkge1xuICAgICAgICBjb25zdCBmb3JtYXRDYWNoZWQgPSB0aGlzLmdldENvbmZpZ3VyZWRGb3JtYXQodGhpcy50aW1lZnJhbWUpO1xuICAgICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgIGNhc2UgZm9ybWF0Q2FjaGVkPy5pbmNsdWRlcygnUScpOlxuICAgICAgICAgICAgICAgIHJldHVybiAnUSc7XG4gICAgICAgICAgICBjYXNlIGZvcm1hdENhY2hlZD8uaW5jbHVkZXMoJ1cnKTpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ1cnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRUaW1lZnJhbWUoZm9ybWF0OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIERyU2hhcmVkVXRpbHMuZ2V0VGltZWZyYW1lQnlEYXRlRm9ybWF0KGZvcm1hdCk7XG4gICAgfVxuXG4gICAgZ2V0Q29uZmlndXJlZEZvcm1hdCh0aW1lZnJhbWU6IFRUaW1lZnJhbWVPcHRpb24pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRDb25maWdbdGltZWZyYW1lXTtcbiAgICB9XG5cbiAgICB1cGRhdGVUaW1lZnJhbWVBbmRGb3JtYXQoZm9ybWF0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZEZvcm1hdCA9IHRoaXMubm9ybWFsaXplVmFsdWUoZm9ybWF0IHx8IHRoaXMuZm9ybWF0JC5nZXRWYWx1ZSgpKTtcbiAgICAgICAgdGhpcy50aW1lZnJhbWUgPSB0aGlzLmdldFRpbWVmcmFtZShub3JtYWxpemVkRm9ybWF0KTtcbiAgICAgICAgdGhpcy5mb3JtYXQkLm5leHQodGhpcy5nZXRDb25maWd1cmVkRm9ybWF0KHRoaXMudGltZWZyYW1lKSk7XG4gICAgfVxuXG4gICAgbm9ybWFsaXplVmFsdWUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9kL2csICdEJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHF1YXJ0ZXIgbnVtYmVyIGZvciBkYXRlIGFjY29yZGluZyB0byBmaXNjYWwgeWVhclxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UXVhcnRlckFjY29yZGluZ1RvRmlzY2FsWWVhcihkYXRlOiBNb21lbnQpOiBudW1iZXIge1xuICAgICAgICBsZXQgZmlzY2FsTW9udGggPSB0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllcjtcbiAgICAgICAgY29uc3QgZGF0ZU1vbnRoID0gZGF0ZS5tb250aCgpO1xuICAgICAgICBpZiAoZGF0ZU1vbnRoIDwgZmlzY2FsTW9udGgpIHtcbiAgICAgICAgICAgIGZpc2NhbE1vbnRoIC09IDEyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBNYXRoLnRydW5jKChkYXRlLm1vbnRoKCkgLSBmaXNjYWxNb250aCkgLyAzKSArIDE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBkYXRlIHRvIGVuZCBvZiBxdWFydGVyIGluIEZZIGJ5IHBhc3NlZCBxdWFydGVyIG51bWJlclxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcGFyYW0gcXVhcnRlck51bWJlclxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRFbmRPZlF1YXJ0ZXIoZGF0ZTogTW9tZW50LCBxdWFydGVyTnVtYmVyOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgZGF0ZS5zdWJ0cmFjdCh0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllciwgJ00nKVxuICAgICAgICAgICAgLnN0YXJ0T2YoJ3llYXInKVxuICAgICAgICAgICAgLmFkZCh0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllciArIHF1YXJ0ZXJOdW1iZXIgKiAzIC0gMSwgJ00nKVxuICAgICAgICAgICAgLmVuZE9mKCdtb250aCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGF0ZSB0byBzdGFydCBvZiBxdWFydGVyIGluIEZZIGJ5IHBhc3NlZCBxdWFydGVyIG51bWJlclxuICAgICAqXG4gICAgICogQHBhcmFtIGRhdGVcbiAgICAgKiBAcGFyYW0gcXVhcnRlck51bWJlclxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRTdGFydE9mUXVhcnRlcihkYXRlOiBNb21lbnQsIHF1YXJ0ZXJOdW1iZXI6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBkYXRlLnN1YnRyYWN0KHRoaXMuZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyLCAnTScpXG4gICAgICAgICAgICAuc3RhcnRPZigneWVhcicpXG4gICAgICAgICAgICAuYWRkKHRoaXMuZmlzY2FsWWVhck1vbnRoc01vZGlmaWVyICsgKHF1YXJ0ZXJOdW1iZXIgLSAxKSAqIDMsICdNJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBkYXRlIHRvIGVuZCBvZiBjdXJyZW50IHF1YXJ0ZXIgKGluIHdoaWNoIGRhdGUgaXMgbG9jYXRlZCkgYWNjb3JkaW5nIHRvIEZZXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRFbmRPZkN1cnJlbnRRdWFydGVyKGRhdGU6IE1vbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEVuZE9mUXVhcnRlcihkYXRlLCB0aGlzLmdldFF1YXJ0ZXJBY2NvcmRpbmdUb0Zpc2NhbFllYXIoZGF0ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGF0ZSB0byBzdGFydCBvZiBjdXJyZW50IHF1YXJ0ZXIgKGluIHdoaWNoIGRhdGUgaXMgbG9jYXRlZCkgYWNjb3JkaW5nIHRvIEZZXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRTdGFydE9mQ3VycmVudFF1YXJ0ZXIoZGF0ZTogTW9tZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0U3RhcnRPZlF1YXJ0ZXIoZGF0ZSwgdGhpcy5nZXRRdWFydGVyQWNjb3JkaW5nVG9GaXNjYWxZZWFyKGRhdGUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBkYXRlIHNlbGVjdGlvbiBvbiB0aGlzIHRpbWVmcmFtZSBkZXBlbmRzIG9uIEZpc2NhbCBZZWFyXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdGltZWZyYW1lXG4gICAgICovXG4gICAgcHVibGljIGlzVGltZWZyYW1lRGVwZW5kaW5nT25GWSh0aW1lZnJhbWU6IFRpbWVmcmFtZU9wdGlvbikge1xuICAgICAgICByZXR1cm4gXy5pbmNsdWRlcyhbVGltZWZyYW1lT3B0aW9uLlFVQVJURVIsIFRpbWVmcmFtZU9wdGlvbi5ZRUFSXSwgdGltZWZyYW1lKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdWJ0cmFjdCBmcm9tIGRhdGUgZmlzY2FsIHllYXIgc2hpZnQgbW9udGhzIGNvdW50XG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzdWJ0cmFjdEZpc2NhbFllYXJNb250aHNGcm9tRGF0ZShkYXRlOiBNb21lbnQpOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlTW9kaWZpZWRCeUZpc2NhbE1vbnRocyhkYXRlLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdG8gZGF0ZSBmaXNjYWwgeWVhciBzaGlmdCBtb250aHMgY291bnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICovXG4gICAgcHVibGljIGFkZEZpc2NhbFllYXJNb250aHNUb0RhdGUoZGF0ZTogTW9tZW50KTogTW9tZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF0ZU1vZGlmaWVkQnlGaXNjYWxNb250aHMoZGF0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseUZpc2NhbFllYXJTaGlmdEZvclllYXIobW9tZW50RGF0ZTogTW9tZW50LCBpc1N1YnRyYWN0OiBib29sZWFuID0gZmFsc2UpOiBNb21lbnQgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAodGhpcy5maXNjYWxZZWFyQmFjayB8fCAhdGhpcy5maXNjYWxZZWFyTW9udGhzTW9kaWZpZXIpIHJldHVybjtcbiAgICAgICAgcmV0dXJuIG1vbWVudERhdGVbaXNTdWJ0cmFjdCA/ICdzdWJ0cmFjdCcgOiAnYWRkJ10oMSwgJ3llYXInKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkRmlzY2FsWWVhclNoaWZ0Rm9yWWVhcihtb21lbnREYXRlOiBNb21lbnQpOiBNb21lbnQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBseUZpc2NhbFllYXJTaGlmdEZvclllYXIobW9tZW50RGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN1YnRyYWN0RmlzY2FsWWVhclNoaWZ0Rm9yWWVhcihtb21lbnREYXRlOiBNb21lbnQpOiBNb21lbnQgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBseUZpc2NhbFllYXJTaGlmdEZvclllYXIobW9tZW50RGF0ZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIG9yIHN1YnRyYWN0IGRlcGVuZGluZyBvbiBpc1JldmVydCBwYXJlbWV0ZXIgRmlzY2FsIHllYXIgbW9udGggc2hpZnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRlXG4gICAgICogQHBhcmFtIGlzU3VidHJhY3RcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldERhdGVNb2RpZmllZEJ5RmlzY2FsTW9udGhzKGRhdGU6IE1vbWVudCwgaXNTdWJ0cmFjdCA9IGZhbHNlKTogTW9tZW50IHtcbiAgICAgICAgcmV0dXJuIGRhdGUgPyBfLmNsb25lRGVlcChkYXRlKVtpc1N1YnRyYWN0ID8gJ3N1YnRyYWN0JyA6ICdhZGQnXSh0aGlzLmZpc2NhbFllYXJNb250aHNNb2RpZmllciwgJ21vbnRoJykgOiBkYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVEYXRlUGlja2VyQnlQcmVzZXQodGFnOiBEYXRlVGFncywgY2FsZW5kZXI6IGFueSkge1xuICAgICAgICB0aGlzLmtlZXBQcmVzZXRUYWcgPSB0cnVlO1xuICAgICAgICBsZXQgZGF0ZSA9IG51bGw7XG4gICAgICAgIGlmICh0YWcpIHtcbiAgICAgICAgICAgIGRhdGUgPSBEclNoYXJlZFV0aWxzLmdldERhdGVCeVRhZyh0YWcpO1xuICAgICAgICAgICAgc3dpdGNoICh0YWcpIHtcbiAgICAgICAgICAgICAgICBjYXNlIERhdGVUYWdzLlRPREFZOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5NQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuWUVTVEVSREFZOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5NQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgRGF0ZVRhZ3MuVEhJU19NT05USDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lZnJhbWVBbmRGb3JtYXQoRGF0ZUZyb21hdHMuTU9OVEhfWUVBUl9GT1JNQVQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdERhdGVJbkNhbGVuZGFyTW9udGhWaWV3KGRhdGUsIGNhbGVuZGVyKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBEYXRlVGFncy5QUkVWX01PTlRIOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChEYXRlRnJvbWF0cy5NT05USF9ZRUFSX0ZPUk1BVCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0RGF0ZUluQ2FsZW5kYXJNb250aFZpZXcoZGF0ZSwgY2FsZW5kZXIpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIERhdGVUYWdzLlRISVNfUVVBUlRFUjpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lZnJhbWVBbmRGb3JtYXQoRGF0ZUZyb21hdHMuUVVBUlRFUl9GT1JNQVQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdERhdGVJbkNhbGVuZGFyUXVhcnRlclZpZXcoZGF0ZSwgY2FsZW5kZXIpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIERhdGVUYWdzLlBSRVZfUVVBUlRFUjpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lZnJhbWVBbmRGb3JtYXQoRGF0ZUZyb21hdHMuUVVBUlRFUl9GT1JNQVQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdERhdGVJbkNhbGVuZGFyUXVhcnRlclZpZXcoZGF0ZSwgY2FsZW5kZXIpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIERhdGVUYWdzLlRISVNfWUVBUjpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lZnJhbWVBbmRGb3JtYXQoRGF0ZUZyb21hdHMuWUVBUl9GT1JNQVQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdERhdGVJbkNhbGVuZGFyWWVhclZpZXcoZGF0ZSwgY2FsZW5kZXIpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIERhdGVUYWdzLlBSRVZfWUVBUjpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lZnJhbWVBbmRGb3JtYXQoRGF0ZUZyb21hdHMuWUVBUl9GT1JNQVQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdERhdGVJbkNhbGVuZGFyWWVhclZpZXcoZGF0ZSwgY2FsZW5kZXIpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnByZXNldFRhZyQubmV4dCh0YWcpO1xuICAgICAgICB0aGlzLnVwZGF0ZWREYXRlQW5kQ2xvc2UkLm5leHQoZGF0ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdERhdGVJbkNhbGVuZGFyTW9udGhWaWV3KGRhdGU6IE1vbWVudCwgY2FsZW5kZXI6IGFueSk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vbnRoVmlldyA9IGNhbGVuZGVyLm1vbnRoVmlldyBhcyBhbnk7XG4gICAgICAgICAgICBpZiAobW9udGhWaWV3KSB7XG4gICAgICAgICAgICAgICAgbW9udGhWaWV3Ll9hY3RpdmVEYXRlID0gZGF0ZTtcbiAgICAgICAgICAgICAgICBtb250aFZpZXcuX3NlbGVjdGVkID0gZGF0ZTtcbiAgICAgICAgICAgICAgICBtb250aFZpZXcuX2luaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlbGVjdERhdGVJbkNhbGVuZGFyUXVhcnRlclZpZXcoZGF0ZTogTW9tZW50LCBjYWxlbmRlcjogYW55KTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeWVhclZpZXcgPSBjYWxlbmRlci55ZWFyVmlldyBhcyBhbnk7XG4gICAgICAgICAgICBpZiAoeWVhclZpZXcpIHtcbiAgICAgICAgICAgICAgICB5ZWFyVmlldy5fYWN0aXZlRGF0ZSA9IGRhdGU7XG4gICAgICAgICAgICAgICAgeWVhclZpZXcuX3NlbGVjdGVkID0gZGF0ZTtcbiAgICAgICAgICAgICAgICB5ZWFyVmlldy5faW5pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0RGF0ZUluQ2FsZW5kYXJZZWFyVmlldyhkYXRlOiBNb21lbnQsIGNhbGVuZGVyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtdWx0aVllYXJWaWV3ID0gY2FsZW5kZXIubXVsdGlZZWFyVmlldyBhcyBhbnk7XG4gICAgICAgICAgICBpZiAobXVsdGlZZWFyVmlldykge1xuICAgICAgICAgICAgICAgIG11bHRpWWVhclZpZXcuX2FjdGl2ZURhdGUgPSBkYXRlO1xuICAgICAgICAgICAgICAgIG11bHRpWWVhclZpZXcuX3NlbGVjdGVkWWVhciA9IGRhdGUueWVhcigpO1xuICAgICAgICAgICAgICAgIG11bHRpWWVhclZpZXcuX2luaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlc2V0UHJlc2V0VGFnKCkge1xuICAgICAgICBpZiAoIXRoaXMua2VlcFByZXNldFRhZykge1xuICAgICAgICAgICAgdGhpcy5wcmVzZXRUYWckLm5leHQobnVsbCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmtlZXBQcmVzZXRUYWcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -387,7 +387,6 @@ class DrDatePickerService {
|
|
|
387
387
|
};
|
|
388
388
|
this.fiscalYearMonthsModifier = 0;
|
|
389
389
|
this.fiscalYearBack = false;
|
|
390
|
-
this.selectCurrentQuarter = false;
|
|
391
390
|
this._innerValue$ = new BehaviorSubject(null);
|
|
392
391
|
this.innerValue$ = this._innerValue$.asObservable();
|
|
393
392
|
}
|
|
@@ -2077,13 +2076,13 @@ function DrDatePickerCustomHeaderComponent_div_11_div_2_Template(rf, ctx) { if (
|
|
|
2077
2076
|
const quarter_r12 = ctx.$implicit;
|
|
2078
2077
|
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
2079
2078
|
i0.ɵɵclassMap(quarter_r12 === ctx_r11.selectedQuarter ? "selected" : "");
|
|
2080
|
-
i0.ɵɵclassProp("quarter-selector--disabled", ctx_r11.isQuarterDisabled(quarter_r12))
|
|
2079
|
+
i0.ɵɵclassProp("quarter-selector--disabled", ctx_r11.isQuarterDisabled(quarter_r12));
|
|
2081
2080
|
i0.ɵɵadvance(1);
|
|
2082
2081
|
i0.ɵɵtextInterpolate1(" Q", quarter_r12, " ");
|
|
2083
2082
|
} }
|
|
2084
2083
|
function DrDatePickerCustomHeaderComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
2085
2084
|
i0.ɵɵelementStart(0, "div", 16, 17);
|
|
2086
|
-
i0.ɵɵtemplate(2, DrDatePickerCustomHeaderComponent_div_11_div_2_Template, 2,
|
|
2085
|
+
i0.ɵɵtemplate(2, DrDatePickerCustomHeaderComponent_div_11_div_2_Template, 2, 5, "div", 18);
|
|
2087
2086
|
i0.ɵɵelementEnd();
|
|
2088
2087
|
} if (rf & 2) {
|
|
2089
2088
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -2166,9 +2165,7 @@ class DrDatePickerCustomHeaderComponent {
|
|
|
2166
2165
|
_calendar.currentView = this.selectedTimeframe;
|
|
2167
2166
|
this.setPeriodLabels();
|
|
2168
2167
|
if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {
|
|
2169
|
-
const date = this.
|
|
2170
|
-
? this._calendar.selected ?? this._calendar.activeDate
|
|
2171
|
-
: this._calendar.activeDate;
|
|
2168
|
+
const date = this._calendar.selected ?? this._calendar.activeDate;
|
|
2172
2169
|
this.selectedQuarter = this.datePickerService.getQuarterAccordingToFiscalYear(date);
|
|
2173
2170
|
}
|
|
2174
2171
|
});
|
|
@@ -2224,9 +2221,7 @@ class DrDatePickerCustomHeaderComponent {
|
|
|
2224
2221
|
const chosenTimeframeOption = this.timeframeOptions.filter((option) => option.value === this.selectedTimeframe)[0];
|
|
2225
2222
|
this.datePickerService.updateTimeframeAndFormat(chosenTimeframeOption.format);
|
|
2226
2223
|
if (this.selectedTimeframe === CalendarView.FOR_QUARTERS) {
|
|
2227
|
-
const date = this.
|
|
2228
|
-
? this._calendar.selected ?? this._calendar.activeDate
|
|
2229
|
-
: this._calendar.activeDate;
|
|
2224
|
+
const date = this._calendar.selected ?? this._calendar.activeDate;
|
|
2230
2225
|
this.selectedQuarter = this.datePickerService.getQuarterAccordingToFiscalYear(date);
|
|
2231
2226
|
}
|
|
2232
2227
|
}
|
|
@@ -2309,7 +2304,7 @@ class DrDatePickerCustomHeaderComponent {
|
|
|
2309
2304
|
calendar.insertBefore(selector.location.nativeElement, calendar.firstChild);
|
|
2310
2305
|
}
|
|
2311
2306
|
/** @nocollapse */ static { this.ɵfac = function DrDatePickerCustomHeaderComponent_Factory(t) { return new (t || DrDatePickerCustomHeaderComponent)(i0.ɵɵdirectiveInject(i6.MatCalendar), i0.ɵɵdirectiveInject(i1$3.DateAdapter), i0.ɵɵdirectiveInject(MAT_DATE_FORMATS), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(DrDatePickerService)); }; }
|
|
2312
|
-
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDatePickerCustomHeaderComponent, selectors: [["dr-date-picker_custom-header", 8, "component"]], attrs: _c0$S, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["class", "dr-datepicker__timeframe-select", "bindLabel", "title", "bindValue", "value", 3, "ngModel", "items", "ngModelChange", 4, "ngIf"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags", 3, "ngClass"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector", 3, "class", "quarter-selector--disabled", "
|
|
2307
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrDatePickerCustomHeaderComponent, selectors: [["dr-date-picker_custom-header", 8, "component"]], attrs: _c0$S, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["class", "dr-datepicker__timeframe-select", "bindLabel", "title", "bindValue", "value", 3, "ngModel", "items", "ngModelChange", 4, "ngIf"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags", 3, "ngClass"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector quarter-selector--select-current-quarter", 3, "class", "quarter-selector--disabled", "click", 4, "ngFor", "ngForOf"], [1, "quarter-selector", "quarter-selector--select-current-quarter", 3, "click"]], template: function DrDatePickerCustomHeaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
2313
2308
|
i0.ɵɵtemplate(0, DrDatePickerCustomHeaderComponent_div_0_Template, 3, 2, "div", 0);
|
|
2314
2309
|
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2);
|
|
2315
2310
|
i0.ɵɵlistener("click", function DrDatePickerCustomHeaderComponent_Template_div_click_2_listener() { return ctx.pagingClicked(false); });
|
|
@@ -2340,7 +2335,7 @@ class DrDatePickerCustomHeaderComponent {
|
|
|
2340
2335
|
}
|
|
2341
2336
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrDatePickerCustomHeaderComponent, [{
|
|
2342
2337
|
type: Component,
|
|
2343
|
-
args: [{ selector: 'dr-date-picker_custom-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div\n class=\"dr-datepicker-preset-date__tags\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags--solo': !datePickerService.isUsingTimeFrameSelect }\">\n <div\n *ngFor=\"let tag of datePickerService.availableDateTagPresets\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n *ngIf=\"datePickerService.isUsingTimeFrameSelect\"\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\"
|
|
2338
|
+
args: [{ selector: 'dr-date-picker_custom-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div\n class=\"dr-datepicker-preset-date__tags\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags--solo': !datePickerService.isUsingTimeFrameSelect }\">\n <div\n *ngFor=\"let tag of datePickerService.availableDateTagPresets\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n *ngIf=\"datePickerService.isUsingTimeFrameSelect\"\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector quarter-selector--select-current-quarter\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\">\n Q{{ quarter }}\n </div>\n</div>\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;flex-wrap:wrap;row-gap:8px;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags--solo{padding:16px 32px;gap:16px;justify-content:center}.dr-datepicker-preset-date__tags--solo .dr-datepicker-preset-date__tags__tag{padding:4px 8px;justify-content:center;display:flex;flex:1 0 0}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9ea1aa;border-radius:18px;background:#fff;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#f2f2fb;border:1px solid #4646ce}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}.dr-quarterly-datepicker .quarter-selector--disabled,.dr-quarterly-datepicker .quarter-selector--disabled.selected{pointer-events:none;background-color:transparent;color:#aeabac;font-weight:400}.dr-quarterly-datepicker .quarter-selector--select-current-quarter.quarter-selector--disabled.selected{pointer-events:none;background-color:#673ab7;opacity:.4;color:#f2f2fb;font-weight:400}\n"] }]
|
|
2344
2339
|
}], function () { return [{ type: i6.MatCalendar }, { type: i1$3.DateAdapter }, { type: CustomDateFormat, decorators: [{
|
|
2345
2340
|
type: Inject,
|
|
2346
2341
|
args: [MAT_DATE_FORMATS]
|
|
@@ -2650,7 +2645,6 @@ class DrDatePickerComponent {
|
|
|
2650
2645
|
this.placeholder = 'Select...';
|
|
2651
2646
|
this.fiscalYearMonthsModifier = 0;
|
|
2652
2647
|
this.fiscalYearBack = false;
|
|
2653
|
-
this.selectCurrentQuarter = false;
|
|
2654
2648
|
this.destroyed$ = new Subject();
|
|
2655
2649
|
this.calendarViewsTimeframeMapping = {
|
|
2656
2650
|
year: 'multi-year',
|
|
@@ -2709,7 +2703,6 @@ class DrDatePickerComponent {
|
|
|
2709
2703
|
this.datePickerService.fiscalYearMonthsModifier = this.fiscalYearMonthsModifier;
|
|
2710
2704
|
this.datePickerService.fiscalYearBack = this.fiscalYearBack;
|
|
2711
2705
|
this.datePickerService.datepickerFilter = this.dateFilter;
|
|
2712
|
-
this.datePickerService.selectCurrentQuarter = this.selectCurrentQuarter;
|
|
2713
2706
|
}
|
|
2714
2707
|
ngOnDestroy() {
|
|
2715
2708
|
this.destroyed$.next();
|
|
@@ -2725,9 +2718,6 @@ class DrDatePickerComponent {
|
|
|
2725
2718
|
if (changes.fiscalYearBack) {
|
|
2726
2719
|
this.datePickerService.fiscalYearBack = this.fiscalYearBack;
|
|
2727
2720
|
}
|
|
2728
|
-
if (changes.selectCurrentQuarter) {
|
|
2729
|
-
this.datePickerService.selectCurrentQuarter = this.selectCurrentQuarter;
|
|
2730
|
-
}
|
|
2731
2721
|
}
|
|
2732
2722
|
/**
|
|
2733
2723
|
* Updating component inner value according to datepicker timeframe (day, month etc.)
|
|
@@ -2900,7 +2890,7 @@ class DrDatePickerComponent {
|
|
|
2900
2890
|
} }, hostVars: 7, hostBindings: function DrDatePickerComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
2901
2891
|
i0.ɵɵattribute("id", ctx.hostId);
|
|
2902
2892
|
i0.ɵɵclassProp("use-button-picker", ctx.useButton)("disabled", ctx.disabled)("active", ctx.active);
|
|
2903
|
-
} }, inputs: { id: "id", useButton: "useButton", buttonLabel: "buttonLabel", iconAfterButton: "iconAfterButton", panelClass: "panelClass", useDarkTheme: "useDarkTheme", format: "format", min: "min", max: "max", startAt: "startAt", periodPosition: "periodPosition", placeholder: "placeholder", disabled: "disabled", fiscalYearMonthsModifier: "fiscalYearMonthsModifier", fiscalYearBack: "fiscalYearBack", datepickerFilter: "datepickerFilter"
|
|
2893
|
+
} }, inputs: { id: "id", useButton: "useButton", buttonLabel: "buttonLabel", iconAfterButton: "iconAfterButton", panelClass: "panelClass", useDarkTheme: "useDarkTheme", format: "format", min: "min", max: "max", startAt: "startAt", periodPosition: "periodPosition", placeholder: "placeholder", disabled: "disabled", fiscalYearMonthsModifier: "fiscalYearMonthsModifier", fiscalYearBack: "fiscalYearBack", datepickerFilter: "datepickerFilter" }, features: [i0.ɵɵProvidersFeature([
|
|
2904
2894
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerComponent, multi: true },
|
|
2905
2895
|
{ provide: DateAdapter, useClass: CustomDateAdapter },
|
|
2906
2896
|
{ provide: MAT_DATE_RANGE_SELECTION_STRATEGY, useClass: WeekSelectionStrategy },
|
|
@@ -2968,8 +2958,6 @@ class DrDatePickerComponent {
|
|
|
2968
2958
|
type: Input
|
|
2969
2959
|
}], datepickerFilter: [{
|
|
2970
2960
|
type: Input
|
|
2971
|
-
}], selectCurrentQuarter: [{
|
|
2972
|
-
type: Input
|
|
2973
2961
|
}], datePicker: [{
|
|
2974
2962
|
type: ViewChild,
|
|
2975
2963
|
args: ['datePicker']
|
|
@@ -5183,13 +5171,13 @@ function DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template(rf, ctx) { i
|
|
|
5183
5171
|
const quarter_r12 = ctx.$implicit;
|
|
5184
5172
|
const ctx_r11 = i0.ɵɵnextContext(2);
|
|
5185
5173
|
i0.ɵɵclassMap(quarter_r12 === ctx_r11.selectedQuarter ? "selected" : "");
|
|
5186
|
-
i0.ɵɵclassProp("quarter-selector--disabled", ctx_r11.isQuarterDisabled(quarter_r12))
|
|
5174
|
+
i0.ɵɵclassProp("quarter-selector--disabled", ctx_r11.isQuarterDisabled(quarter_r12));
|
|
5187
5175
|
i0.ɵɵadvance(1);
|
|
5188
5176
|
i0.ɵɵtextInterpolate1(" Q", quarter_r12, " ");
|
|
5189
5177
|
} }
|
|
5190
5178
|
function DrFiscalMonthCalendarHeaderComponent_div_11_Template(rf, ctx) { if (rf & 1) {
|
|
5191
5179
|
i0.ɵɵelementStart(0, "div", 16, 17);
|
|
5192
|
-
i0.ɵɵtemplate(2, DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template, 2,
|
|
5180
|
+
i0.ɵɵtemplate(2, DrFiscalMonthCalendarHeaderComponent_div_11_div_2_Template, 2, 5, "div", 18);
|
|
5193
5181
|
i0.ɵɵelementEnd();
|
|
5194
5182
|
} if (rf & 2) {
|
|
5195
5183
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -5227,7 +5215,7 @@ class DrFiscalMonthCalendarHeaderComponent extends DrDatePickerCustomHeaderCompo
|
|
|
5227
5215
|
});
|
|
5228
5216
|
}
|
|
5229
5217
|
/** @nocollapse */ static { this.ɵfac = /** @pureOrBreakMyCode */ function () { let ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory; return function DrFiscalMonthCalendarHeaderComponent_Factory(t) { return (ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory || (ɵDrFiscalMonthCalendarHeaderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(DrFiscalMonthCalendarHeaderComponent)))(t || DrFiscalMonthCalendarHeaderComponent); }; }(); }
|
|
5230
|
-
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrFiscalMonthCalendarHeaderComponent, selectors: [["dr-fiscal-month-calendar-header", 8, "component"]], features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0$K, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["class", "dr-datepicker__timeframe-select", "bindLabel", "title", "bindValue", "value", 3, "ngModel", "items", "ngModelChange", 4, "ngIf"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags", 3, "ngClass"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector", 3, "class", "quarter-selector--disabled", "
|
|
5218
|
+
/** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DrFiscalMonthCalendarHeaderComponent, selectors: [["dr-fiscal-month-calendar-header", 8, "component"]], features: [i0.ɵɵInheritDefinitionFeature], attrs: _c0$K, decls: 12, vars: 4, consts: [["class", "dr-datepicker__timeframe-select__wrapper", 4, "ngIf"], [1, "dr-date-paging"], [1, "dr-date-paging", "flip-page-button", 3, "click"], [1, "dr-icon-arrow-left", "presentation_buttons-navigate_input"], [1, "example-header-label"], [3, "click"], [1, "dr-icon-arrow-right", "presentation_buttons-navigate_input"], ["class", "dr-quarterly-datepicker", 4, "ngIf"], [1, "dr-datepicker__timeframe-select__wrapper"], ["class", "dr-datepicker-preset-date", 4, "ngIf"], ["class", "dr-datepicker__timeframe-select", "bindLabel", "title", "bindValue", "value", 3, "ngModel", "items", "ngModelChange", 4, "ngIf"], [1, "dr-datepicker-preset-date"], [1, "dr-datepicker-preset-date__tags", 3, "ngClass"], ["id", "preset_tag", "class", "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click", 4, "ngFor", "ngForOf"], ["id", "preset_tag", 1, "dr-datepicker-preset-date__tags__tag", 3, "ngClass", "drTooltip", "drTooltipPosition", "click"], ["bindLabel", "title", "bindValue", "value", 1, "dr-datepicker__timeframe-select", 3, "ngModel", "items", "ngModelChange"], [1, "dr-quarterly-datepicker"], ["quarterlyDatePicker", ""], ["class", "quarter-selector quarter-selector--select-current-quarter", 3, "class", "quarter-selector--disabled", "click", 4, "ngFor", "ngForOf"], [1, "quarter-selector", "quarter-selector--select-current-quarter", 3, "click"]], template: function DrFiscalMonthCalendarHeaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
5231
5219
|
i0.ɵɵtemplate(0, DrFiscalMonthCalendarHeaderComponent_div_0_Template, 3, 2, "div", 0);
|
|
5232
5220
|
i0.ɵɵelementStart(1, "div", 1)(2, "div", 2);
|
|
5233
5221
|
i0.ɵɵlistener("click", function DrFiscalMonthCalendarHeaderComponent_Template_div_click_2_listener() { return ctx.pagingClicked(false); });
|
|
@@ -5258,7 +5246,7 @@ class DrFiscalMonthCalendarHeaderComponent extends DrDatePickerCustomHeaderCompo
|
|
|
5258
5246
|
}
|
|
5259
5247
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrFiscalMonthCalendarHeaderComponent, [{
|
|
5260
5248
|
type: Component,
|
|
5261
|
-
args: [{ selector: 'dr-fiscal-month-calendar-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div\n class=\"dr-datepicker-preset-date__tags\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags--solo': !datePickerService.isUsingTimeFrameSelect }\">\n <div\n *ngFor=\"let tag of datePickerService.availableDateTagPresets\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n *ngIf=\"datePickerService.isUsingTimeFrameSelect\"\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\"
|
|
5249
|
+
args: [{ selector: 'dr-fiscal-month-calendar-header.component', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"datePickerService.isTimeframeSelectionEnabled\" class=\"dr-datepicker__timeframe-select__wrapper\">\n <div *ngIf=\"datePickerService.isUsingDateTagPresets\" class=\"dr-datepicker-preset-date\">\n <div\n class=\"dr-datepicker-preset-date__tags\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags--solo': !datePickerService.isUsingTimeFrameSelect }\">\n <div\n *ngFor=\"let tag of datePickerService.availableDateTagPresets\"\n id=\"preset_tag\"\n class=\"dr-datepicker-preset-date__tags__tag\"\n (click)=\"onSelectPresetTag(tag)\"\n [ngClass]=\"{ 'dr-datepicker-preset-date__tags__tag--selected': tag.key === selectedPresetTag }\"\n [drTooltip]=\"selectedPresetTag === tag.key ? 'Unselect preset' : ''\"\n [drTooltipPosition]=\"'top'\">\n {{ tag.label }}\n </div>\n </div>\n </div>\n <dr-select\n *ngIf=\"datePickerService.isUsingTimeFrameSelect\"\n class=\"dr-datepicker__timeframe-select\"\n [ngModel]=\"selectedTimeframe\"\n [items]=\"timeframeOptions | drShowTimeframePipe: datePickerService.availableTimeframes\"\n bindLabel=\"title\"\n bindValue=\"value\"\n (ngModelChange)=\"setTimeframe($event)\">\n </dr-select>\n</div>\n\n<div class=\"dr-date-paging\">\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(false)\">\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i>\n </div>\n <span class=\"example-header-label\">\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_MONTHS)\">{{ periodMonthLabel + ' ' }}</span>\n <span (click)=\"switchViewOnClickOnPeriodLabel(calendarView.FOR_YEARS)\">{{ periodYearLabel }}</span>\n </span>\n <div class=\"dr-date-paging flip-page-button\" (click)=\"pagingClicked(true)\">\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\n </div>\n</div>\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuarter\">\n <div\n *ngFor=\"let quarter of quarters\"\n class=\"quarter-selector quarter-selector--select-current-quarter\"\n (click)=\"onSelectQuarter(quarter)\"\n [class]=\"quarter === selectedQuarter ? 'selected' : ''\"\n [class.quarter-selector--disabled]=\"isQuarterDisabled(quarter)\">\n Q{{ quarter }}\n </div>\n</div>\n", styles: [":host{height:54px;align-items:center;font-family:Poppins;font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-datepicker-preset-date{display:flex;flex-direction:column}.dr-datepicker-preset-date__tags{display:flex;flex-wrap:wrap;row-gap:8px;padding-bottom:21px;padding-top:10px;font-size:12px}.dr-datepicker-preset-date__tags--solo{padding:16px 32px;gap:16px;justify-content:center}.dr-datepicker-preset-date__tags--solo .dr-datepicker-preset-date__tags__tag{padding:4px 8px;justify-content:center;display:flex;flex:1 0 0}.dr-datepicker-preset-date__tags__tag{cursor:pointer;font-weight:400;line-height:20px!important;padding:2px 8px;border:1px solid #9ea1aa;border-radius:18px;background:#fff;margin-right:4px}.dr-datepicker-preset-date__tags__tag--selected{color:#4646ce;background:#f2f2fb;border:1px solid #4646ce}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 32px 32px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#f2f2fb;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#f2f2fb;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}.dr-quarterly-datepicker .quarter-selector--disabled,.dr-quarterly-datepicker .quarter-selector--disabled.selected{pointer-events:none;background-color:transparent;color:#aeabac;font-weight:400}.dr-quarterly-datepicker .quarter-selector--select-current-quarter.quarter-selector--disabled.selected{pointer-events:none;background-color:#673ab7;opacity:.4;color:#f2f2fb;font-weight:400}\n"] }]
|
|
5262
5250
|
}], null, null); })();
|
|
5263
5251
|
|
|
5264
5252
|
function DrFiscalMonthCalendarPickerComponent_i_0_Template(rf, ctx) { if (rf & 1) {
|