@odx/angular 5.5.5 → 5.6.0
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/CHANGELOG.md +12 -0
- package/components/calendar/lib/calendar.component.d.ts +9 -3
- package/components/calendar/lib/calendar.config.d.ts +11 -0
- package/components/calendar/lib/calendar.service.d.ts +10 -4
- package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +1 -3
- package/components/calendar/lib/daterange.service.d.ts +14 -0
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +19 -4
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +5 -2
- package/components/calendar/lib/models/date-range.d.ts +18 -0
- package/components/calendar/lib/models/index.d.ts +3 -0
- package/components/calendar/lib/models/selected-date.d.ts +9 -0
- package/components/calendar/lib/models/selection-mode.d.ts +4 -0
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +1 -0
- package/components/calendar/lib/utils/check-cell-in-range.d.ts +7 -0
- package/components/calendar/lib/utils/index.d.ts +1 -0
- package/components/calendar/lib/utils/validate-daterange.d.ts +1 -0
- package/components/daterangepicker/README.md +3 -0
- package/components/daterangepicker/index.d.ts +7 -0
- package/components/daterangepicker/lib/daterangepicker.component.d.ts +40 -0
- package/components/daterangepicker/lib/daterangepicker.config.d.ts +29 -0
- package/components/daterangepicker/lib/daterangepicker.module.d.ts +11 -0
- package/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.d.ts +25 -0
- package/components/daterangepicker/lib/directives/index.d.ts +1 -0
- package/components/daterangepicker/lib/models/daterangepicker-input-date-order.d.ts +1 -0
- package/components/daterangepicker/lib/models/daterangepicker-input-pattern.d.ts +1 -0
- package/components/daterangepicker/lib/models/index.d.ts +2 -0
- package/components/daterangepicker/lib/range.validator.d.ts +10 -0
- package/components/daterangepicker/lib/required.validator.d.ts +10 -0
- package/components/daterangepicker/lib/utils/get-daterangepicker-input-pattern.d.ts +3 -0
- package/components/daterangepicker/lib/utils/get-daterangepicker-input-value-as-date.d.ts +2 -0
- package/components/daterangepicker/lib/utils/index.d.ts +2 -0
- package/esm2022/cdk/active-indicator/lib/active-indicator.directive.mjs +2 -2
- package/esm2022/components/calendar/lib/calendar.component.mjs +25 -11
- package/esm2022/components/calendar/lib/calendar.config.mjs +3 -1
- package/esm2022/components/calendar/lib/calendar.service.mjs +28 -13
- package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +6 -10
- package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +4 -4
- package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +4 -4
- package/esm2022/components/calendar/lib/daterange.service.mjs +57 -0
- package/esm2022/components/calendar/lib/directives/calendar-cell.directive.mjs +85 -5
- package/esm2022/components/calendar/lib/directives/calendar-view.directive.mjs +8 -2
- package/esm2022/components/calendar/lib/models/date-range.mjs +7 -0
- package/esm2022/components/calendar/lib/models/index.mjs +4 -1
- package/esm2022/components/calendar/lib/models/selected-date.mjs +5 -0
- package/esm2022/components/calendar/lib/models/selection-mode.mjs +6 -0
- package/esm2022/components/calendar/lib/services/calendar-month.service.mjs +1 -1
- package/esm2022/components/calendar/lib/utils/check-cell-in-range.mjs +28 -0
- package/esm2022/components/calendar/lib/utils/index.mjs +2 -1
- package/esm2022/components/calendar/lib/utils/validate-daterange.mjs +5 -0
- package/esm2022/components/datepicker/lib/datepicker.component.mjs +2 -2
- package/esm2022/components/daterangepicker/index.mjs +8 -0
- package/esm2022/components/daterangepicker/lib/daterangepicker.component.mjs +174 -0
- package/esm2022/components/daterangepicker/lib/daterangepicker.config.mjs +7 -0
- package/esm2022/components/daterangepicker/lib/daterangepicker.module.mjs +21 -0
- package/esm2022/components/daterangepicker/lib/directives/daterangepicker-input-control.directive.mjs +65 -0
- package/esm2022/components/daterangepicker/lib/directives/index.mjs +2 -0
- package/esm2022/components/daterangepicker/lib/models/daterangepicker-input-date-order.mjs +2 -0
- package/esm2022/components/daterangepicker/lib/models/daterangepicker-input-pattern.mjs +2 -0
- package/esm2022/components/daterangepicker/lib/models/index.mjs +3 -0
- package/esm2022/components/daterangepicker/lib/range.validator.mjs +37 -0
- package/esm2022/components/daterangepicker/lib/required.validator.mjs +34 -0
- package/esm2022/components/daterangepicker/lib/utils/get-daterangepicker-input-pattern.mjs +16 -0
- package/esm2022/components/daterangepicker/lib/utils/get-daterangepicker-input-value-as-date.mjs +30 -0
- package/esm2022/components/daterangepicker/lib/utils/index.mjs +3 -0
- package/esm2022/components/daterangepicker/odx-angular-components-daterangepicker.mjs +5 -0
- package/esm2022/components/list/lib/components/expandable-list-item/expandable-list-item.component.mjs +3 -3
- package/esm2022/utils/lib/helpers/event-manager.mjs +27 -8
- package/fesm2022/odx-angular-cdk-active-indicator.mjs.map +1 -1
- package/fesm2022/odx-angular-components-calendar.mjs +261 -56
- package/fesm2022/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs +1 -1
- package/fesm2022/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2022/odx-angular-components-daterangepicker.mjs +364 -0
- package/fesm2022/odx-angular-components-daterangepicker.mjs.map +1 -0
- package/fesm2022/odx-angular-components-list.mjs +2 -2
- package/fesm2022/odx-angular-components-list.mjs.map +1 -1
- package/fesm2022/odx-angular-utils.mjs +33 -16
- package/fesm2022/odx-angular-utils.mjs.map +1 -1
- package/package.json +7 -1
- package/utils/lib/helpers/event-manager.d.ts +3 -1
|
@@ -1,41 +1,53 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
2
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
4
4
|
import { CoreModule } from '@odx/angular';
|
|
5
5
|
import { CSSComponent } from '@odx/angular/internal';
|
|
6
|
-
import { hasChanged, injectElement } from '@odx/angular/utils';
|
|
6
|
+
import { EventManager, hasChanged, injectElement } from '@odx/angular/utils';
|
|
7
|
+
import { injectCalendarConfig } from './calendar.config';
|
|
7
8
|
import { CalendarService } from './calendar.service';
|
|
8
9
|
import { CalendarMonthComponent, CalendarYearComponent, CalendarYearsComponent } from './components';
|
|
9
|
-
import {
|
|
10
|
+
import { DaterangeService } from './daterange.service';
|
|
11
|
+
import { CalendarSelectionMode, CalendarView } from './models';
|
|
10
12
|
import * as i0 from "@angular/core";
|
|
11
13
|
import * as i1 from "@angular/common";
|
|
12
14
|
import * as i2 from "@ngrx/component";
|
|
13
15
|
export let CalendarComponent = class CalendarComponent {
|
|
14
16
|
constructor() {
|
|
15
|
-
this.
|
|
17
|
+
this.config = injectCalendarConfig();
|
|
16
18
|
this.calendar = inject(CalendarService);
|
|
19
|
+
this.daterange = inject(DaterangeService);
|
|
20
|
+
this.CalendarView = CalendarView;
|
|
17
21
|
this.element = injectElement();
|
|
18
22
|
this.selectedDate = null;
|
|
23
|
+
this.selectedDateRange = null;
|
|
19
24
|
this.minDate = null;
|
|
20
25
|
this.maxDate = null;
|
|
21
26
|
this.filterFn = null;
|
|
22
|
-
this.selectedDateChange =
|
|
27
|
+
this.selectedDateChange = this.calendar.outputDate$;
|
|
28
|
+
this.selectedDateRangeChange = this.daterange.outputDateRange$;
|
|
23
29
|
}
|
|
24
30
|
ngOnChanges(changes) {
|
|
25
31
|
if (hasChanged(changes, 'selectedDate', false)) {
|
|
26
|
-
this.calendar.selectDate(this.selectedDate);
|
|
32
|
+
this.calendar.selectDate(this.selectedDate, { skipDaterangeUpdate: true });
|
|
33
|
+
}
|
|
34
|
+
if (this.selectedDateRange && hasChanged(changes, 'selectedDateRange', false) && this.config.selectionMode === CalendarSelectionMode.DateRange) {
|
|
35
|
+
this.daterange.setDateRange(this.selectedDateRange);
|
|
27
36
|
}
|
|
28
37
|
}
|
|
29
38
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarComponent, isStandalone: true, selector: "odx-calendar", inputs: { selectedDate: "selectedDate", minDate: "minDate", maxDate: "maxDate", filterFn: "filterFn" }, outputs: { selectedDateChange: "selectedDateChange" }, providers: [CalendarService], usesOnChanges: true, ngImport: i0, template: "<ng-template
|
|
39
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarComponent, isStandalone: true, selector: "odx-calendar", inputs: { selectedDate: "selectedDate", selectedDateRange: "selectedDateRange", minDate: "minDate", maxDate: "maxDate", filterFn: "filterFn" }, outputs: { selectedDateChange: "selectedDateChange", selectedDateRangeChange: "selectedDateRangeChange" }, providers: [CalendarService, EventManager, DaterangeService], usesOnChanges: true, ngImport: i0, template: "<ng-template\n [ngrxLet]=\"{\n activeDate: calendar.activeDate$,\n calendarView: calendar.calendarView$,\n selectedDate: calendar.selectedDate$,\n selectedDateRange: daterange.dateRangeState$,\n previewDate: calendar.previewDate$\n }\"\n let-vm\n>\n <ng-container [ngSwitch]=\"vm.calendarView\">\n <odx-calendar-year\n [activeDate]=\"vm.activeDate\"\n [selectedDate]=\"vm.selectedDate\"\n [selectedDateRange]=\"vm.selectedDateRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [filterFn]=\"filterFn\"\n *ngSwitchCase=\"CalendarView.Year\"\n ></odx-calendar-year>\n <odx-calendar-years\n [activeDate]=\"vm.activeDate\"\n [selectedDate]=\"vm.selectedDate\"\n [selectedDateRange]=\"vm.selectedDateRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [filterFn]=\"filterFn\"\n *ngSwitchCase=\"CalendarView.Years\"\n ></odx-calendar-years>\n <odx-calendar-month\n [activeDate]=\"vm.activeDate\"\n [selectedDate]=\"vm.selectedDate\"\n [selectedDateRange]=\"vm.selectedDateRange\"\n [previewDate]=\"vm.previewDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [filterFn]=\"filterFn\"\n *ngSwitchDefault\n ></odx-calendar-month>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i2.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "ngmodule", type: A11yModule }, { kind: "component", type: CalendarMonthComponent, selector: "odx-calendar-month" }, { kind: "component", type: CalendarYearComponent, selector: "odx-calendar-year" }, { kind: "component", type: CalendarYearsComponent, selector: "odx-calendar-years" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
31
40
|
};
|
|
32
41
|
CalendarComponent = __decorate([
|
|
33
|
-
CSSComponent('calendar')
|
|
42
|
+
CSSComponent('calendar'),
|
|
43
|
+
__metadata("design:paramtypes", [])
|
|
34
44
|
], CalendarComponent);
|
|
35
45
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
36
46
|
type: Component,
|
|
37
|
-
args: [{ selector: 'odx-calendar', standalone: true, imports: [CoreModule, A11yModule, CalendarMonthComponent, CalendarYearComponent, CalendarYearsComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarService], template: "<ng-template
|
|
38
|
-
}], propDecorators: { selectedDate: [{
|
|
47
|
+
args: [{ selector: 'odx-calendar', standalone: true, imports: [CoreModule, A11yModule, CalendarMonthComponent, CalendarYearComponent, CalendarYearsComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarService, EventManager, DaterangeService], template: "<ng-template\n [ngrxLet]=\"{\n activeDate: calendar.activeDate$,\n calendarView: calendar.calendarView$,\n selectedDate: calendar.selectedDate$,\n selectedDateRange: daterange.dateRangeState$,\n previewDate: calendar.previewDate$\n }\"\n let-vm\n>\n <ng-container [ngSwitch]=\"vm.calendarView\">\n <odx-calendar-year\n [activeDate]=\"vm.activeDate\"\n [selectedDate]=\"vm.selectedDate\"\n [selectedDateRange]=\"vm.selectedDateRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [filterFn]=\"filterFn\"\n *ngSwitchCase=\"CalendarView.Year\"\n ></odx-calendar-year>\n <odx-calendar-years\n [activeDate]=\"vm.activeDate\"\n [selectedDate]=\"vm.selectedDate\"\n [selectedDateRange]=\"vm.selectedDateRange\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [filterFn]=\"filterFn\"\n *ngSwitchCase=\"CalendarView.Years\"\n ></odx-calendar-years>\n <odx-calendar-month\n [activeDate]=\"vm.activeDate\"\n [selectedDate]=\"vm.selectedDate\"\n [selectedDateRange]=\"vm.selectedDateRange\"\n [previewDate]=\"vm.previewDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [filterFn]=\"filterFn\"\n *ngSwitchDefault\n ></odx-calendar-month>\n </ng-container>\n</ng-template>\n" }]
|
|
48
|
+
}], ctorParameters: function () { return []; }, propDecorators: { selectedDate: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}], selectedDateRange: [{
|
|
39
51
|
type: Input
|
|
40
52
|
}], minDate: [{
|
|
41
53
|
type: Input
|
|
@@ -45,5 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
45
57
|
type: Input
|
|
46
58
|
}], selectedDateChange: [{
|
|
47
59
|
type: Output
|
|
60
|
+
}], selectedDateRangeChange: [{
|
|
61
|
+
type: Output
|
|
48
62
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFhLE1BQU0sb0JBQW9CLENBQUM7QUFDeEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxFQUFrRCxNQUFNLFVBQVUsQ0FBQzs7OztBQVl4RyxXQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQTZCNUI7UUE1QmlCLFdBQU0sR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlCLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JDLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBRS9CLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUduQyxpQkFBWSxHQUFvQixJQUFJLENBQUM7UUFHckMsc0JBQWlCLEdBQTBCLElBQUksQ0FBQztRQUdoRCxZQUFPLEdBQWlCLElBQUksQ0FBQztRQUc3QixZQUFPLEdBQWlCLElBQUksQ0FBQztRQUc3QixhQUFRLEdBQXVCLElBQUksQ0FBQztRQVN6QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUM7SUFDakUsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFxQztRQUN0RCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzVFO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsS0FBSyxxQkFBcUIsQ0FBQyxTQUFTLEVBQUU7WUFDOUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDckQ7SUFDSCxDQUFDOytHQTFDVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixzVEFGakIsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLCtDQ25COUQsNHlDQXlDQSwyQ0QxQlksVUFBVSwwWkFBRSxVQUFVLCtCQUFFLHNCQUFzQiwrREFBRSxxQkFBcUIsOERBQUUsc0JBQXNCOztBQU01RixpQkFBaUI7SUFWN0IsWUFBWSxDQUFDLFVBQVUsQ0FBQzs7R0FVWixpQkFBaUIsQ0EyQzdCOzRGQTNDWSxpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLENBQUMsbUJBRXZGLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDOzBFQVdyRCxZQUFZO3NCQURsQixLQUFLO2dCQUlDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLE1BQU07Z0JBSUEsdUJBQXVCO3NCQUQ3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBFdmVudE1hbmFnZXIsIGhhc0NoYW5nZWQsIGluamVjdEVsZW1lbnQsIE5nQ2hhbmdlcyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBpbmplY3RDYWxlbmRhckNvbmZpZyB9IGZyb20gJy4vY2FsZW5kYXIuY29uZmlnJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSB9IGZyb20gJy4vY2FsZW5kYXIuc2VydmljZSc7XG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoQ29tcG9uZW50LCBDYWxlbmRhclllYXJDb21wb25lbnQsIENhbGVuZGFyWWVhcnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgRGF0ZXJhbmdlU2VydmljZSB9IGZyb20gJy4vZGF0ZXJhbmdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FsZW5kYXJTZWxlY3Rpb25Nb2RlLCBDYWxlbmRhclZpZXcsIERhdGVGaWx0ZXIsIERhdGVSYW5nZSwgRGF0ZVR5cGUsIERhdGVUeXBlUmFuZ2UgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDU1NDb21wb25lbnQoJ2NhbGVuZGFyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBBMTF5TW9kdWxlLCBDYWxlbmRhck1vbnRoQ29tcG9uZW50LCBDYWxlbmRhclllYXJDb21wb25lbnQsIENhbGVuZGFyWWVhcnNDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQ2FsZW5kYXJTZXJ2aWNlLCBFdmVudE1hbmFnZXIsIERhdGVyYW5nZVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0Q2FsZW5kYXJDb25maWcoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyID0gaW5qZWN0KENhbGVuZGFyU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkYXRlcmFuZ2UgPSBpbmplY3QoRGF0ZXJhbmdlU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBDYWxlbmRhclZpZXcgPSBDYWxlbmRhclZpZXc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3RFbGVtZW50KCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogRGF0ZVR5cGUgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWREYXRlUmFuZ2U/OiBEYXRlVHlwZVJhbmdlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1pbkRhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG1heERhdGU/OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZpbHRlckZuPzogRGF0ZUZpbHRlciB8IG51bGwgPSBudWxsO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWREYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+O1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWREYXRlUmFuZ2VDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlUmFuZ2UgfCBudWxsPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZUNoYW5nZSA9IHRoaXMuY2FsZW5kYXIub3V0cHV0RGF0ZSQ7XG4gICAgdGhpcy5zZWxlY3RlZERhdGVSYW5nZUNoYW5nZSA9IHRoaXMuZGF0ZXJhbmdlLm91dHB1dERhdGVSYW5nZSQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogTmdDaGFuZ2VzPENhbGVuZGFyQ29tcG9uZW50Pik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsICdzZWxlY3RlZERhdGUnLCBmYWxzZSkpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0RGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZSwgeyBza2lwRGF0ZXJhbmdlVXBkYXRlOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlICYmIGhhc0NoYW5nZWQoY2hhbmdlcywgJ3NlbGVjdGVkRGF0ZVJhbmdlJywgZmFsc2UpICYmIHRoaXMuY29uZmlnLnNlbGVjdGlvbk1vZGUgPT09IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlUmFuZ2UpIHtcbiAgICAgIHRoaXMuZGF0ZXJhbmdlLnNldERhdGVSYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZVJhbmdlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZVxuICBbbmdyeExldF09XCJ7XG4gICAgYWN0aXZlRGF0ZTogY2FsZW5kYXIuYWN0aXZlRGF0ZSQsXG4gICAgY2FsZW5kYXJWaWV3OiBjYWxlbmRhci5jYWxlbmRhclZpZXckLFxuICAgIHNlbGVjdGVkRGF0ZTogY2FsZW5kYXIuc2VsZWN0ZWREYXRlJCxcbiAgICBzZWxlY3RlZERhdGVSYW5nZTogZGF0ZXJhbmdlLmRhdGVSYW5nZVN0YXRlJCxcbiAgICBwcmV2aWV3RGF0ZTogY2FsZW5kYXIucHJldmlld0RhdGUkXG4gIH1cIlxuICBsZXQtdm1cbj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidm0uY2FsZW5kYXJWaWV3XCI+XG4gICAgPG9keC1jYWxlbmRhci15ZWFyXG4gICAgICBbYWN0aXZlRGF0ZV09XCJ2bS5hY3RpdmVEYXRlXCJcbiAgICAgIFtzZWxlY3RlZERhdGVdPVwidm0uc2VsZWN0ZWREYXRlXCJcbiAgICAgIFtzZWxlY3RlZERhdGVSYW5nZV09XCJ2bS5zZWxlY3RlZERhdGVSYW5nZVwiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2ZpbHRlckZuXT1cImZpbHRlckZuXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJDYWxlbmRhclZpZXcuWWVhclwiXG4gICAgPjwvb2R4LWNhbGVuZGFyLXllYXI+XG4gICAgPG9keC1jYWxlbmRhci15ZWFyc1xuICAgICAgW2FjdGl2ZURhdGVdPVwidm0uYWN0aXZlRGF0ZVwiXG4gICAgICBbc2VsZWN0ZWREYXRlXT1cInZtLnNlbGVjdGVkRGF0ZVwiXG4gICAgICBbc2VsZWN0ZWREYXRlUmFuZ2VdPVwidm0uc2VsZWN0ZWREYXRlUmFuZ2VcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFtmaWx0ZXJGbl09XCJmaWx0ZXJGblwiXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiQ2FsZW5kYXJWaWV3LlllYXJzXCJcbiAgICA+PC9vZHgtY2FsZW5kYXIteWVhcnM+XG4gICAgPG9keC1jYWxlbmRhci1tb250aFxuICAgICAgW2FjdGl2ZURhdGVdPVwidm0uYWN0aXZlRGF0ZVwiXG4gICAgICBbc2VsZWN0ZWREYXRlXT1cInZtLnNlbGVjdGVkRGF0ZVwiXG4gICAgICBbc2VsZWN0ZWREYXRlUmFuZ2VdPVwidm0uc2VsZWN0ZWREYXRlUmFuZ2VcIlxuICAgICAgW3ByZXZpZXdEYXRlXT1cInZtLnByZXZpZXdEYXRlXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbZmlsdGVyRm5dPVwiZmlsdGVyRm5cIlxuICAgICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgID48L29keC1jYWxlbmRhci1tb250aD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createConfigTokens } from '@odx/angular/utils';
|
|
2
2
|
import { enGB } from 'date-fns/locale';
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { CalendarSelectionMode } from './models/selection-mode';
|
|
4
5
|
export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, provideCalendarConfig } = createConfigTokens('Calendar', '@odx/angular/components/calendar', {
|
|
5
6
|
monthYearLabel: 'LLLL yyyy',
|
|
6
7
|
monthLabel: 'LLL',
|
|
@@ -12,6 +13,7 @@ export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, prov
|
|
|
12
13
|
yearA11yLabel: 'yyyy',
|
|
13
14
|
displayAdjacentDays: true,
|
|
14
15
|
locale: new BehaviorSubject(enGB),
|
|
16
|
+
selectionMode: CalendarSelectionMode.Date,
|
|
15
17
|
yearView: {
|
|
16
18
|
itemsPerRow: 3,
|
|
17
19
|
},
|
|
@@ -20,4 +22,4 @@ export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, prov
|
|
|
20
22
|
padding: 100,
|
|
21
23
|
},
|
|
22
24
|
});
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUE4RGhFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLEdBQUcsa0JBQWtCLENBQ3RILFVBQVUsRUFDVixrQ0FBa0MsRUFDbEM7SUFDRSxjQUFjLEVBQUUsV0FBVztJQUMzQixVQUFVLEVBQUUsS0FBSztJQUNqQixTQUFTLEVBQUUsT0FBTztJQUNsQixRQUFRLEVBQUUsR0FBRztJQUNiLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFlBQVksRUFBRSxlQUFlO0lBQzdCLGNBQWMsRUFBRSxZQUFZO0lBQzVCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLG1CQUFtQixFQUFFLElBQUk7SUFDekIsTUFBTSxFQUFFLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQztJQUN6QyxhQUFhLEVBQUUscUJBQXFCLENBQUMsSUFBSTtJQUN6QyxRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsQ0FBQztLQUNmO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsV0FBVyxFQUFFLENBQUM7UUFDZCxPQUFPLEVBQUUsR0FBRztLQUNiO0NBQ0YsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29uZmlnVG9rZW5zIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGVuR0IgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlbGVjdGlvbk1vZGUgfSBmcm9tICcuL21vZGVscy9zZWxlY3Rpb24tbW9kZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJDb25maWcge1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBtb250aC15ZWFyIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdMTExMIHl5eXknXG4gICAqL1xuICBtb250aFllYXJMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBtb250aCBsYWJlbCBpcyB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCAnTExMJ1xuICAgKi9cbiAgbW9udGhMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCB3ZWVrIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdFRUVFRSdcbiAgICovXG4gIHdlZWtMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBkYXkgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ2QnXG4gICAqL1xuICBkYXlMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBZZWFyIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICd5eXl5J1xuICAgKi9cbiAgeWVhckxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIEExMXkgZGF5IGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdNTU1NIGRkLCB5eXl5J1xuICAgKi9cbiAgZGF5QTExeUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIEExMXkgbW9udGggbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ01NTU0sIHl5eXknXG4gICAqL1xuICBtb250aEExMXlMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBBMTF5IHllYXIgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ3l5eXknXG4gICAqL1xuICB5ZWFyQTExeUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0aGUgYWRqYWNlbnQgZGF5cyBpbiBtb250aCBjYWxlbmRhciB2aWV3XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRpc3BsYXlBZGphY2VudERheXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMb2NhbGUgYnkgd2hpY2ggY2FsZW5kYXIgbGFiZWxzIGFyZSB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCBlbkdCXG4gICAqL1xuICBsb2NhbGU6IEJlaGF2aW9yU3ViamVjdDxMb2NhbGU+O1xuICAvKipcbiAgICogU2V0dGluZyBieSB3aGljaCBjYWxlbmRhciBzd2l0Y2hlcyB0byBzZWxlY3RpbmcgYSBkYXRlIHJhbmdlXG4gICAqIEBkZWZhdWx0IENhbGVuZGFyU2VsZWN0aW9uTW9kZS5EYXRlXG4gICAqL1xuICBzZWxlY3Rpb25Nb2RlOiBDYWxlbmRhclNlbGVjdGlvbk1vZGU7XG4gIHllYXJWaWV3OiB7IGl0ZW1zUGVyUm93OiBudW1iZXIgfTtcbiAgeWVhcnNWaWV3OiB7IGl0ZW1zUGVyUm93OiBudW1iZXI7IHBhZGRpbmc6IG51bWJlciB9O1xufVxuXG5leHBvcnQgY29uc3QgeyBDYWxlbmRhckNvbmZpZywgQ2FsZW5kYXJEZWZhdWx0Q29uZmlnLCBpbmplY3RDYWxlbmRhckNvbmZpZywgcHJvdmlkZUNhbGVuZGFyQ29uZmlnIH0gPSBjcmVhdGVDb25maWdUb2tlbnMoXG4gICdDYWxlbmRhcicsXG4gICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhcicsXG4gIHtcbiAgICBtb250aFllYXJMYWJlbDogJ0xMTEwgeXl5eScsXG4gICAgbW9udGhMYWJlbDogJ0xMTCcsXG4gICAgd2Vla0xhYmVsOiAnRUVFRUUnLFxuICAgIGRheUxhYmVsOiAnZCcsXG4gICAgeWVhckxhYmVsOiAneXl5eScsXG4gICAgZGF5QTExeUxhYmVsOiAnTU1NTSBkZCwgeXl5eScsXG4gICAgbW9udGhBMTF5TGFiZWw6ICdNTU1NLCB5eXl5JyxcbiAgICB5ZWFyQTExeUxhYmVsOiAneXl5eScsXG4gICAgZGlzcGxheUFkamFjZW50RGF5czogdHJ1ZSxcbiAgICBsb2NhbGU6IG5ldyBCZWhhdmlvclN1YmplY3Q8TG9jYWxlPihlbkdCKSxcbiAgICBzZWxlY3Rpb25Nb2RlOiBDYWxlbmRhclNlbGVjdGlvbk1vZGUuRGF0ZSxcbiAgICB5ZWFyVmlldzoge1xuICAgICAgaXRlbXNQZXJSb3c6IDMsXG4gICAgfSxcbiAgICB5ZWFyc1ZpZXc6IHtcbiAgICAgIGl0ZW1zUGVyUm93OiAzLFxuICAgICAgcGFkZGluZzogMTAwLFxuICAgIH0sXG4gIH0sXG4pO1xuIl19
|
|
@@ -1,27 +1,42 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { isPresent } from '@odx/angular/utils';
|
|
1
|
+
import { EventEmitter, Injectable } from '@angular/core';
|
|
2
|
+
import { isPresent as isNonNullable } from '@odx/angular/utils';
|
|
3
3
|
import { isEqual, startOfDay } from 'date-fns';
|
|
4
|
-
import { BehaviorSubject,
|
|
5
|
-
import { CalendarView } from './models';
|
|
4
|
+
import { BehaviorSubject, distinctUntilChanged, filter, map, merge, shareReplay } from 'rxjs';
|
|
5
|
+
import { CalendarView, dateSelectOptionsDefaults } from './models';
|
|
6
6
|
import { parseDate } from './utils';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class CalendarService {
|
|
9
9
|
constructor() {
|
|
10
|
+
this.activeDate$$ = new BehaviorSubject(null); // the date that is being focused by click or arrow keys
|
|
11
|
+
this.hoveredDate$$ = new BehaviorSubject(null); // the date that is being hovered by a pointing device
|
|
10
12
|
this.calendarView$$ = new BehaviorSubject(CalendarView.Month);
|
|
11
|
-
this.
|
|
12
|
-
|
|
13
|
+
this.dateSelectEvents$$ = new BehaviorSubject({
|
|
14
|
+
date: null,
|
|
15
|
+
options: dateSelectOptionsDefaults,
|
|
16
|
+
});
|
|
17
|
+
this.outputDate$ = new EventEmitter();
|
|
13
18
|
this.calendarView$ = this.calendarView$$.pipe(shareReplay({ bufferSize: 1, refCount: true }));
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
19
|
+
this.dateSelectEvents$ = this.dateSelectEvents$$.asObservable();
|
|
20
|
+
this.selectedDate$ = this.dateSelectEvents$$.pipe(map((x) => x.date), shareReplay({ bufferSize: 1, refCount: true }));
|
|
21
|
+
this.activeDate$ = this.activeDate$$.pipe(filter(Boolean), distinctUntilChanged((prev, curr) => isEqual(prev, curr)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
22
|
+
this.previewDate$ = merge(this.activeDate$$, this.hoveredDate$$).pipe(filter(Boolean), distinctUntilChanged((prev, curr) => isEqual(prev, curr)), shareReplay({ bufferSize: 1, refCount: true }));
|
|
16
23
|
}
|
|
17
24
|
setActiveDate(value) {
|
|
18
|
-
if (!
|
|
25
|
+
if (!isNonNullable(value))
|
|
19
26
|
return;
|
|
20
27
|
this.activeDate$$.next(parseDate(value));
|
|
21
28
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
setHoveredDate(value) {
|
|
30
|
+
if (!isNonNullable(value))
|
|
31
|
+
return;
|
|
32
|
+
this.hoveredDate$$.next(parseDate(value));
|
|
33
|
+
}
|
|
34
|
+
selectDate(value, options) {
|
|
35
|
+
const date = isNonNullable(value) ? startOfDay(parseDate(value)) : null;
|
|
36
|
+
this.dateSelectEvents$$.next({ date, options: { ...dateSelectOptionsDefaults, ...options } });
|
|
37
|
+
if (options?.emitOutside) {
|
|
38
|
+
this.outputDate$.next(date);
|
|
39
|
+
}
|
|
25
40
|
this.setActiveDate(date);
|
|
26
41
|
}
|
|
27
42
|
changeView(view) {
|
|
@@ -33,4 +48,4 @@ export class CalendarService {
|
|
|
33
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarService, decorators: [{
|
|
34
49
|
type: Injectable
|
|
35
50
|
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsU0FBUyxJQUFJLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxZQUFZLEVBQWdELHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBR3BDLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRW1CLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyx3REFBd0Q7UUFDL0csa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLHNEQUFzRDtRQUM5RyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFlLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RSx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBa0I7WUFDekUsSUFBSSxFQUFFLElBQUk7WUFDVixPQUFPLEVBQUUseUJBQXlCO1NBQ25DLENBQUMsQ0FBQztRQUVhLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUM5QyxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RixzQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0Qsa0JBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUMxRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDbEIsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDL0MsQ0FBQztRQUNjLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2xELE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDZixvQkFBb0IsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFDekQsV0FBVyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDL0MsQ0FBQztRQUNjLGlCQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDOUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUNmLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUN6RCxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO0tBd0JIO0lBdEJRLGFBQWEsQ0FBQyxLQUFzQjtRQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLGNBQWMsQ0FBQyxLQUFzQjtRQUMxQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFzQixFQUFFLE9BQTJCO1FBQ25FLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDeEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLHlCQUF5QixFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlGLElBQUksT0FBTyxFQUFFLFdBQVcsRUFBRTtZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVNLFVBQVUsQ0FBQyxJQUFrQjtRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQWhEVSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUHJlc2VudCBhcyBpc05vbk51bGxhYmxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IGlzRXF1YWwsIHN0YXJ0T2ZEYXkgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgbWVyZ2UsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcsIERhdGVTZWxlY3RFdmVudCwgRGF0ZVNlbGVjdE9wdGlvbnMsIERhdGVUeXBlLCBkYXRlU2VsZWN0T3B0aW9uc0RlZmF1bHRzIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgcGFyc2VEYXRlIH0gZnJvbSAnLi91dGlscyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2ZURhdGUkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0ZSB8IG51bGw+KG51bGwpOyAvLyB0aGUgZGF0ZSB0aGF0IGlzIGJlaW5nIGZvY3VzZWQgYnkgY2xpY2sgb3IgYXJyb3cga2V5c1xuICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyZWREYXRlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGUgfCBudWxsPihudWxsKTsgLy8gdGhlIGRhdGUgdGhhdCBpcyBiZWluZyBob3ZlcmVkIGJ5IGEgcG9pbnRpbmcgZGV2aWNlXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXJWaWV3JCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENhbGVuZGFyVmlldz4oQ2FsZW5kYXJWaWV3Lk1vbnRoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRlU2VsZWN0RXZlbnRzJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGVTZWxlY3RFdmVudD4oe1xuICAgIGRhdGU6IG51bGwsXG4gICAgb3B0aW9uczogZGF0ZVNlbGVjdE9wdGlvbnNEZWZhdWx0cyxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG91dHB1dERhdGUkID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGNhbGVuZGFyVmlldyQgPSB0aGlzLmNhbGVuZGFyVmlldyQkLnBpcGUoc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogdHJ1ZSB9KSk7XG4gIHB1YmxpYyByZWFkb25seSBkYXRlU2VsZWN0RXZlbnRzJCA9IHRoaXMuZGF0ZVNlbGVjdEV2ZW50cyQkLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWREYXRlJCA9IHRoaXMuZGF0ZVNlbGVjdEV2ZW50cyQkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmRhdGUpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG4gIHB1YmxpYyByZWFkb25seSBhY3RpdmVEYXRlJCA9IHRoaXMuYWN0aXZlRGF0ZSQkLnBpcGUoXG4gICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiBpc0VxdWFsKHByZXYsIGN1cnIpKSxcbiAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJldmlld0RhdGUkID0gbWVyZ2UodGhpcy5hY3RpdmVEYXRlJCQsIHRoaXMuaG92ZXJlZERhdGUkJCkucGlwZShcbiAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IGlzRXF1YWwocHJldiwgY3VycikpLFxuICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gICk7XG5cbiAgcHVibGljIHNldEFjdGl2ZURhdGUodmFsdWU6IERhdGVUeXBlIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghaXNOb25OdWxsYWJsZSh2YWx1ZSkpIHJldHVybjtcbiAgICB0aGlzLmFjdGl2ZURhdGUkJC5uZXh0KHBhcnNlRGF0ZSh2YWx1ZSkpO1xuICB9XG5cbiAgcHVibGljIHNldEhvdmVyZWREYXRlKHZhbHVlOiBEYXRlVHlwZSB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoIWlzTm9uTnVsbGFibGUodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5ob3ZlcmVkRGF0ZSQkLm5leHQocGFyc2VEYXRlKHZhbHVlKSk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZVR5cGUgfCBudWxsLCBvcHRpb25zPzogRGF0ZVNlbGVjdE9wdGlvbnMpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gaXNOb25OdWxsYWJsZSh2YWx1ZSkgPyBzdGFydE9mRGF5KHBhcnNlRGF0ZSh2YWx1ZSkpIDogbnVsbDtcbiAgICB0aGlzLmRhdGVTZWxlY3RFdmVudHMkJC5uZXh0KHsgZGF0ZSwgb3B0aW9uczogeyAuLi5kYXRlU2VsZWN0T3B0aW9uc0RlZmF1bHRzLCAuLi5vcHRpb25zIH0gfSk7XG4gICAgaWYgKG9wdGlvbnM/LmVtaXRPdXRzaWRlKSB7XG4gICAgICB0aGlzLm91dHB1dERhdGUkLm5leHQoZGF0ZSk7XG4gICAgfVxuICAgIHRoaXMuc2V0QWN0aXZlRGF0ZShkYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VWaWV3KHZpZXc6IENhbGVuZGFyVmlldyk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXJWaWV3JCQubmV4dCh2aWV3KTtcbiAgfVxufVxuIl19
|
package/esm2022/components/calendar/lib/components/calendar-month/calendar-month.component.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { CoreModule } from '@odx/angular';
|
|
4
4
|
import { CSSComponent } from '@odx/angular/internal';
|
|
5
5
|
import { addDays, addMonths, addWeeks, subDays, subMonths, subWeeks } from 'date-fns';
|
|
@@ -17,7 +17,6 @@ export let CalendarMonthComponent = class CalendarMonthComponent extends Calenda
|
|
|
17
17
|
this.calendarMonth = inject(CalendarMonthService);
|
|
18
18
|
this.nextView = CalendarView.Years;
|
|
19
19
|
this.currentView = CalendarView.Month;
|
|
20
|
-
this.selectedChange = new EventEmitter();
|
|
21
20
|
}
|
|
22
21
|
previousDay(event) {
|
|
23
22
|
this.updateActiveDate(event, subDays(this.activeDate, 1));
|
|
@@ -40,19 +39,16 @@ export let CalendarMonthComponent = class CalendarMonthComponent extends Calenda
|
|
|
40
39
|
selectDate(value) {
|
|
41
40
|
if (this.isDateDisabled(value))
|
|
42
41
|
return;
|
|
43
|
-
this.calendar.selectDate(value);
|
|
44
|
-
this.selectedChange.emit(value);
|
|
42
|
+
this.calendar.selectDate(value, { emitOutside: true });
|
|
45
43
|
}
|
|
46
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarMonthComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarMonthComponent, isStandalone: true, selector: "odx-calendar-month",
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarMonthComponent, isStandalone: true, selector: "odx-calendar-month", providers: [CalendarMonthService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.monthYearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ day | odxDateLabel: config.weekLabel }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n [odxCalendarCellPreviewDate]=\"previewDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: config.dayLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
48
46
|
};
|
|
49
47
|
CalendarMonthComponent = __decorate([
|
|
50
48
|
CSSComponent('calendar-month')
|
|
51
49
|
], CalendarMonthComponent);
|
|
52
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarMonthComponent, decorators: [{
|
|
53
51
|
type: Component,
|
|
54
|
-
args: [{ selector: 'odx-calendar-month', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarMonthService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.monthYearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ day | odxDateLabel: config.weekLabel }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: config.dayLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
55
|
-
}]
|
|
56
|
-
|
|
57
|
-
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBWXRELFdBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXVCLFNBQVEscUJBQXFCO0lBQTFEOztRQUNjLGtCQUFhLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBRzdDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztLQWdDekQ7SUE5QlcsV0FBVyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFUyxPQUFPLENBQUMsS0FBWTtRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFUyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVc7UUFDOUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzsrR0FyQ1Usc0JBQXNCO21HQUF0QixzQkFBc0IsZ0hBRnRCLENBQUMsb0JBQW9CLENBQUMsaURDbEJuQyw4cURBa0RBLDJDRHBDWSxVQUFVLG1UQUFFLHFCQUFxQixzTEFBRSx1QkFBdUIsc0tBQUUsYUFBYTs7QUFNeEUsc0JBQXNCO0lBVmxDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztHQVVsQixzQkFBc0IsQ0FzQ2xDOzRGQXRDWSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxvQkFBb0IsQ0FBQzs4QkFRMUIsY0FBYztzQkFEcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IENTU0NvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGREYXlzLCBhZGRNb250aHMsIGFkZFdlZWtzLCBzdWJEYXlzLCBzdWJNb250aHMsIHN1YldlZWtzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhclZpZXdEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhbGVuZGFyVmlldyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBEYXRlTGFiZWxQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb250aFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYWxlbmRhckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NhbGVuZGFyLWhlYWRlcic7XG5cbkBDU1NDb21wb25lbnQoJ2NhbGVuZGFyLW1vbnRoJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhci1tb250aCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFySGVhZGVyQ29tcG9uZW50LCBEYXRlTGFiZWxQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW0NhbGVuZGFyTW9udGhTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJNb250aENvbXBvbmVudCBleHRlbmRzIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhck1vbnRoID0gaW5qZWN0KENhbGVuZGFyTW9udGhTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5leHRWaWV3ID0gQ2FsZW5kYXJWaWV3LlllYXJzO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudFZpZXcgPSBDYWxlbmRhclZpZXcuTW9udGg7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzRGF5KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViRGF5cyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0RGF5KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkRGF5cyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c1dlZWsoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJXZWVrcyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0V2VlayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZFdlZWtzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzTW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dE1vbnRoKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdERhdGUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0RhdGVEaXNhYmxlZCh2YWx1ZSkpIHJldHVybjtcblxuICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0RGF0ZSh2YWx1ZSk7XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwib2R4LWNhbGVuZGFyX190YWJsZVwiIHJvbGU9XCJncmlkXCIgYXJpYS1kZXNjcmliZWRieT1cIm9keC1jYWxlbmRhclwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoIGNvbHNwYW49XCI3XCI+XG4gICAgICAgIDxvZHgtY2FsZW5kYXItaGVhZGVyXG4gICAgICAgICAgW2NhbGVuZGFyVmlld109XCJjdXJyZW50Vmlld1wiXG4gICAgICAgICAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgKHByZXZpb3VzKT1cInByZXZpb3VzTW9udGgoJGV2ZW50KVwiXG4gICAgICAgICAgKG5leHQpPVwibmV4dE1vbnRoKCRldmVudClcIlxuICAgICAgICAgIChjaGFuZ2VWaWV3KT1cImNoYW5nZVZpZXcoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBhY3RpdmVEYXRlIHwgb2R4RGF0ZUxhYmVsOiBjb25maWcubW9udGhZZWFyTGFiZWwgfX1cbiAgICAgICAgPC9vZHgtY2FsZW5kYXItaGVhZGVyPlxuICAgICAgPC90aD5cbiAgICA8L3RyPlxuXG4gICAgPHRyIGNsYXNzPVwib2R4LWNhbGVuZGFyX193ZWVrZGF5c1wiPlxuICAgICAgPHRkICpuZ0Zvcj1cImxldCBkYXkgb2YgY2FsZW5kYXJNb250aC53ZWVrRGF5cyQgfCBhc3luY1wiPlxuICAgICAgICB7eyBkYXkgfCBvZHhEYXRlTGFiZWw6IGNvbmZpZy53ZWVrTGFiZWwgfX1cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cblxuICA8dGJvZHlcbiAgICBjbGFzcz1cIm9keC1jYWxlbmRhcl9fYm9keVwiXG4gICAgKGtleWRvd24uQXJyb3dMZWZ0KT1cInByZXZpb3VzRGF5KCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dERheSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd1VwKT1cInByZXZpb3VzV2VlaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwibmV4dFdlZWsoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZVVwKT1cInByZXZpb3VzTW9udGgoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZURvd24pPVwibmV4dE1vbnRoKCRldmVudClcIlxuICA+XG4gICAgPHRyICpuZ0Zvcj1cImxldCB3ZWVrIG9mIGNhbGVuZGFyTW9udGgud2Vla3MkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuICAgICAgPHRkIHJvbGU9XCJncmlkY2VsbFwiICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2VlazsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWQoZGF5KVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbF09XCJkYXlcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxBY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxDYWxlbmRhclZpZXddPVwiY3VycmVudFZpZXdcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxTZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZShkYXkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGRheSB8IG9keERhdGVMYWJlbDogY29uZmlnLmRheUxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
|
|
52
|
+
args: [{ selector: 'odx-calendar-month', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarMonthService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"7\">\n <odx-calendar-header\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (previous)=\"previousMonth($event)\"\n (next)=\"nextMonth($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.monthYearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n\n <tr class=\"odx-calendar__weekdays\">\n <td *ngFor=\"let day of calendarMonth.weekDays$ | async\">\n {{ day | odxDateLabel: config.weekLabel }}\n </td>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousDay($event)\"\n (keydown.ArrowRight)=\"nextDay($event)\"\n (keydown.ArrowUp)=\"previousWeek($event)\"\n (keydown.ArrowDown)=\"nextWeek($event)\"\n (keydown.PageUp)=\"previousMonth($event)\"\n (keydown.PageDown)=\"nextMonth($event)\"\n >\n <tr *ngFor=\"let week of calendarMonth.weeks$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let day of week; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(day)\"\n [odxCalendarCell]=\"day\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n [odxCalendarCellPreviewDate]=\"previewDate\"\n (click)=\"selectDate(day)\"\n >\n {{ day | odxDateLabel: config.dayLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
53
|
+
}] });
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVl0RCxXQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLHFCQUFxQjtJQUExRDs7UUFDYyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzdDLGFBQVEsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztLQStCckQ7SUE3QlcsV0FBVyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFUyxPQUFPLENBQUMsS0FBWTtRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFUyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVc7UUFDOUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQzsrR0FqQ1Usc0JBQXNCO21HQUF0QixzQkFBc0IsaUVBRnRCLENBQUMsb0JBQW9CLENBQUMsaURDbEJuQywweURBb0RBLDJDRHRDWSxVQUFVLG1UQUFFLHFCQUFxQix3UEFBRSx1QkFBdUIsc0tBQUUsYUFBYTs7QUFNeEUsc0JBQXNCO0lBVmxDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztHQVVsQixzQkFBc0IsQ0FrQ2xDOzRGQWxDWSxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGFkZERheXMsIGFkZE1vbnRocywgYWRkV2Vla3MsIHN1YkRheXMsIHN1Yk1vbnRocywgc3ViV2Vla3MgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENhbGVuZGFySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXItaGVhZGVyJztcblxuQENTU0NvbXBvbmVudCgnY2FsZW5kYXItbW9udGgnKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWNhbGVuZGFyLW1vbnRoJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsIERhdGVMYWJlbFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXItbW9udGguY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQ2FsZW5kYXJNb250aFNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhck1vbnRoQ29tcG9uZW50IGV4dGVuZHMgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyTW9udGggPSBpbmplY3QoQ2FsZW5kYXJNb250aFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcnM7XG4gIHByb3RlY3RlZCByZWFkb25seSBjdXJyZW50VmlldyA9IENhbGVuZGFyVmlldy5Nb250aDtcblxuICBwcm90ZWN0ZWQgcHJldmlvdXNEYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJEYXlzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHREYXkoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGREYXlzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzV2VlayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1YldlZWtzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRXZWVrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkV2Vla3ModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0TW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKHZhbHVlLCB7IGVtaXRPdXRzaWRlOiB0cnVlIH0pO1xuICB9XG59XG4iLCI8dGFibGUgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3RhYmxlXCIgcm9sZT1cImdyaWRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwib2R4LWNhbGVuZGFyXCI+XG4gIDx0aGVhZD5cbiAgICA8dHI+XG4gICAgICA8dGggY29sc3Bhbj1cIjdcIj5cbiAgICAgICAgPG9keC1jYWxlbmRhci1oZWFkZXJcbiAgICAgICAgICBbY2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAocHJldmlvdXMpPVwicHJldmlvdXNNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICAobmV4dCk9XCJuZXh0TW9udGgoJGV2ZW50KVwiXG4gICAgICAgICAgKGNoYW5nZVZpZXcpPVwiY2hhbmdlVmlldygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGFjdGl2ZURhdGUgfCBvZHhEYXRlTGFiZWw6IGNvbmZpZy5tb250aFllYXJMYWJlbCB9fVxuICAgICAgICA8L29keC1jYWxlbmRhci1oZWFkZXI+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG5cbiAgICA8dHIgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3dlZWtkYXlzXCI+XG4gICAgICA8dGQgKm5nRm9yPVwibGV0IGRheSBvZiBjYWxlbmRhck1vbnRoLndlZWtEYXlzJCB8IGFzeW5jXCI+XG4gICAgICAgIHt7IGRheSB8IG9keERhdGVMYWJlbDogY29uZmlnLndlZWtMYWJlbCB9fVxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keVxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNEYXkoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dSaWdodCk9XCJuZXh0RGF5KCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93VXApPVwicHJldmlvdXNXZWVrKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93RG93bik9XCJuZXh0V2VlaygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5QYWdlVXApPVwicHJldmlvdXNNb250aCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5QYWdlRG93bik9XCJuZXh0TW9udGgoJGV2ZW50KVwiXG4gID5cbiAgICA8dHIgKm5nRm9yPVwibGV0IHdlZWsgb2YgY2FsZW5kYXJNb250aC53ZWVrcyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICA8dGQgcm9sZT1cImdyaWRjZWxsXCIgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZChkYXkpXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsXT1cImRheVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbEFjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbENhbGVuZGFyVmlld109XCJjdXJyZW50Vmlld1wiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxTZWxlY3RlZERhdGVSYW5nZV09XCJzZWxlY3RlZERhdGVSYW5nZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFByZXZpZXdEYXRlXT1cInByZXZpZXdEYXRlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZShkYXkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGRheSB8IG9keERhdGVMYWJlbDogY29uZmlnLmRheUxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
|
package/esm2022/components/calendar/lib/components/calendar-year/calendar-year.component.mjs
CHANGED
|
@@ -40,17 +40,17 @@ export let CalendarYearComponent = class CalendarYearComponent extends CalendarV
|
|
|
40
40
|
if (this.isDateDisabled(value))
|
|
41
41
|
return;
|
|
42
42
|
const date = setMonth(this.activeDate, getMonth(value));
|
|
43
|
-
this.calendar.selectDate(date);
|
|
43
|
+
this.calendar.selectDate(date, { skipDaterangeUpdate: true });
|
|
44
44
|
this.changeView();
|
|
45
45
|
}
|
|
46
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearComponent, isStandalone: true, selector: "odx-calendar-year", providers: [CalendarYearService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.yearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: config.monthLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearComponent, isStandalone: true, selector: "odx-calendar-year", providers: [CalendarYearService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.yearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: config.monthLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "component", type: CalendarHeaderComponent, selector: "odx-calendar-header", inputs: ["activeDate", "calendarView", "minDate", "maxDate"], outputs: ["previous", "next", "changeView"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
48
48
|
};
|
|
49
49
|
CalendarYearComponent = __decorate([
|
|
50
50
|
CSSComponent('calendar-year')
|
|
51
51
|
], CalendarYearComponent);
|
|
52
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
|
-
args: [{ selector: 'odx-calendar-year', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.yearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: config.monthLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
54
|
+
args: [{ selector: 'odx-calendar-year', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\">\n <thead>\n <tr>\n <th colspan=\"3\">\n <odx-calendar-header\n (previous)=\"previousYear($event)\"\n [calendarView]=\"currentView\"\n [activeDate]=\"activeDate\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (next)=\"nextYear($event)\"\n (changeView)=\"changeView()\"\n >\n {{ activeDate | odxDateLabel: config.yearLabel }}\n </odx-calendar-header>\n </th>\n </tr>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousMonth($event)\"\n (keydown.ArrowRight)=\"nextMonth($event)\"\n (keydown.ArrowUp)=\"previousSeason($event)\"\n (keydown.ArrowDown)=\"nextSeason($event)\"\n (keydown.PageDown)=\"nextYear($event)\"\n (keydown.PageUp)=\"previousYear($event)\"\n >\n <tr class=\"odx-calendar__season\" *ngFor=\"let season of calendarYear.seasons$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let month of season; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(month)\"\n [odxCalendarCell]=\"month\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(month)\"\n >\n {{ month | odxDateLabel: config.monthLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
55
55
|
}] });
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIteWVhci9jYWxlbmRhci15ZWFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFyL2NhbGVuZGFyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBWXRELFdBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEscUJBQXFCO0lBQXpEOztRQUNjLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsYUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO0tBa0NwRDtJQWhDVyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBWTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBVztRQUM5QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUV2QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDOytHQXBDVSxxQkFBcUI7bUdBQXJCLHFCQUFxQixnRUFGckIsQ0FBQyxtQkFBbUIsQ0FBQyxpRENsQmxDLHNtREE2Q0EsMkNEL0JZLFVBQVUsbVRBQUUscUJBQXFCLHdQQUFFLHVCQUF1QixzS0FBRSxhQUFhOztBQU14RSxxQkFBcUI7SUFWakMsWUFBWSxDQUFDLGVBQWUsQ0FBQztHQVVqQixxQkFBcUIsQ0FxQ2pDOzRGQXJDWSxxQkFBcUI7a0JBVGpDLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSx1QkFBdUIsRUFBRSxhQUFhLENBQUMsbUJBRW5FLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGFkZE1vbnRocywgZ2V0TW9udGgsIHNldE1vbnRoLCBzdWJNb250aHMgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDYWxlbmRhckNlbGxEaXJlY3RpdmUsIENhbGVuZGFyVmlld0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJWaWV3IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IERhdGVMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclllYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhci15ZWFyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvcmVNb2R1bGUsIENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQsIERhdGVMYWJlbFBpcGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIteWVhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJZZWFyQ29tcG9uZW50IGV4dGVuZHMgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhciA9IGluamVjdChDYWxlbmRhclllYXJTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5leHRWaWV3ID0gQ2FsZW5kYXJWaWV3Lk1vbnRoO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3VycmVudFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcblxuICBwcm90ZWN0ZWQgcHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0TW9udGgoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNTZWFzb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFNlYXNvbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c1llYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMikpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3REYXRlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQodmFsdWUpKSByZXR1cm47XG5cbiAgICBjb25zdCBkYXRlID0gc2V0TW9udGgodGhpcy5hY3RpdmVEYXRlLCBnZXRNb250aCh2YWx1ZSkpO1xuICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0RGF0ZShkYXRlLCB7IHNraXBEYXRlcmFuZ2VVcGRhdGU6IHRydWUgfSk7XG5cbiAgICB0aGlzLmNoYW5nZVZpZXcoKTtcbiAgfVxufVxuIiwiPHRhYmxlIGNsYXNzPVwib2R4LWNhbGVuZGFyX190YWJsZVwiIHJvbGU9XCJncmlkXCIgYXJpYS1kZXNjcmliZWRieT1cIm9keC1jYWxlbmRhclwiPlxuICA8dGhlYWQ+XG4gICAgPHRyPlxuICAgICAgPHRoIGNvbHNwYW49XCIzXCI+XG4gICAgICAgIDxvZHgtY2FsZW5kYXItaGVhZGVyXG4gICAgICAgICAgKHByZXZpb3VzKT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgICAgICAgICBbY2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbYWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgICAgICAobmV4dCk9XCJuZXh0WWVhcigkZXZlbnQpXCJcbiAgICAgICAgICAoY2hhbmdlVmlldyk9XCJjaGFuZ2VWaWV3KClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aXZlRGF0ZSB8IG9keERhdGVMYWJlbDogY29uZmlnLnllYXJMYWJlbCB9fVxuICAgICAgICA8L29keC1jYWxlbmRhci1oZWFkZXI+XG4gICAgICA8L3RoPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG5cbiAgPHRib2R5XG4gICAgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX2JvZHlcIlxuICAgIChrZXlkb3duLkFycm93TGVmdCk9XCJwcmV2aW91c01vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dE1vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93VXApPVwicHJldmlvdXNTZWFzb24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dEb3duKT1cIm5leHRTZWFzb24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZURvd24pPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uUGFnZVVwKT1cInByZXZpb3VzWWVhcigkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9fc2Vhc29uXCIgKm5nRm9yPVwibGV0IHNlYXNvbiBvZiBjYWxlbmRhclllYXIuc2Vhc29ucyQgfCBhc3luYzsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICA8dGQgcm9sZT1cImdyaWRjZWxsXCIgKm5nRm9yPVwibGV0IG1vbnRoIG9mIHNlYXNvbjsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNEYXRlRGlzYWJsZWQobW9udGgpXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsXT1cIm1vbnRoXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZShtb250aClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbW9udGggfCBvZHhEYXRlTGFiZWw6IGNvbmZpZy5tb250aExhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
|
package/esm2022/components/calendar/lib/components/calendar-years/calendar-years.component.mjs
CHANGED
|
@@ -41,7 +41,7 @@ export let CalendarYearsComponent = class CalendarYearsComponent extends Calenda
|
|
|
41
41
|
if (this.isDateDisabled(value))
|
|
42
42
|
return;
|
|
43
43
|
const date = setYear(this.activeDate, getYear(value));
|
|
44
|
-
this.calendar.selectDate(date);
|
|
44
|
+
this.calendar.selectDate(date, { skipDaterangeUpdate: true });
|
|
45
45
|
this.changeView();
|
|
46
46
|
}
|
|
47
47
|
scrollCurrentYearIntoView() {
|
|
@@ -53,13 +53,13 @@ export let CalendarYearsComponent = class CalendarYearsComponent extends Calenda
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearsComponent, isStandalone: true, selector: "odx-calendar-years", providers: [CalendarYearsService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CalendarYearsComponent, isStandalone: true, selector: "odx-calendar-years", providers: [CalendarYearsService], usesInheritance: true, ngImport: i0, template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "directive", type: i2.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "directive", type: i3.LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }, { kind: "directive", type: CalendarCellDirective, selector: "[odxCalendarCell]", inputs: ["odxCalendarCell", "odxCalendarCellCalendarView", "odxCalendarCellActiveDate", "odxCalendarCellSelectedDate", "odxCalendarCellSelectedDateRange", "odxCalendarCellPreviewDate"] }, { kind: "pipe", type: DateLabelPipe, name: "odxDateLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
57
57
|
};
|
|
58
58
|
CalendarYearsComponent = __decorate([
|
|
59
59
|
CSSComponent('calendar-years')
|
|
60
60
|
], CalendarYearsComponent);
|
|
61
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CalendarYearsComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
|
-
args: [{ selector: 'odx-calendar-years', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearsService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"
|
|
63
|
+
args: [{ selector: 'odx-calendar-years', standalone: true, imports: [CoreModule, CalendarCellDirective, CalendarHeaderComponent, DateLabelPipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarYearsService], template: "<table class=\"odx-calendar__table\" role=\"grid\" aria-describedby=\"odx-calendar\" *ngrxLet=\"calendar.activeDate$ as activeDate\">\n <thead aria-hidden=\"true\">\n <th></th>\n </thead>\n\n <tbody\n class=\"odx-calendar__body\"\n (keydown.ArrowLeft)=\"previousYear($event)\"\n (keydown.ArrowRight)=\"nextYear($event)\"\n (keydown.ArrowUp)=\"previousRow($event)\"\n (keydown.ArrowDown)=\"nextRow($event)\"\n >\n <tr class=\"odx-calendar__year-row\" *ngFor=\"let yearRow of calendarYears.years$ | async; trackBy: trackByIndex\">\n <td role=\"gridcell\" *ngFor=\"let year of yearRow; trackBy: trackByIndex\">\n <button\n [disabled]=\"isDateDisabled(year)\"\n [odxCalendarCell]=\"year\"\n [odxCalendarCellActiveDate]=\"activeDate\"\n [odxCalendarCellCalendarView]=\"currentView\"\n [odxCalendarCellSelectedDate]=\"selectedDate\"\n [odxCalendarCellSelectedDateRange]=\"selectedDateRange\"\n (click)=\"selectDate(year)\"\n >\n {{ year | odxDateLabel: config.yearLabel }}\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n" }]
|
|
64
64
|
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLXllYXJzL2NhbGVuZGFyLXllYXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFycy9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVl0RCxXQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUF1QixTQUFRLHFCQUFxQjtJQUExRDs7UUFDWSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDN0IsZ0JBQVcsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO0tBeUNyRDtJQXZDUSxlQUFlO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFUyxZQUFZLENBQUMsS0FBWTtRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVTLFFBQVEsQ0FBQyxLQUFZO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsV0FBVyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQVk7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVc7UUFDOUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFdkMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7UUFFbEYsTUFBTSxPQUFPLEdBQUcsWUFBWSxJQUFJLFdBQVcsQ0FBQztRQUU1QyxJQUFJLE9BQU8sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2pELE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2pFO0lBQ0gsQ0FBQzsrR0E3Q1Usc0JBQXNCO21HQUF0QixzQkFBc0IsaUVBRnRCLENBQUMsb0JBQW9CLENBQUMsaURDcEJuQywrbkNBNkJBLDJDRGJZLFVBQVUsbWFBQUUscUJBQXFCLG1QQUEyQixhQUFhOztBQU14RSxzQkFBc0I7SUFWbEMsWUFBWSxDQUFDLGdCQUFnQixDQUFDO0dBVWxCLHNCQUFzQixDQThDbEM7NEZBOUNZLHNCQUFzQjtrQkFUbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLGFBQWEsQ0FBQyxtQkFFbkUsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgZGVmZXJGbiwgaXNGdW5jdGlvbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBhZGRNb250aHMsIGdldFllYXIsIHNldFllYXIsIHN1Yk1vbnRocyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IENhbGVuZGFyWWVhcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci15ZWFycycpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtY2FsZW5kYXIteWVhcnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhckhlYWRlckNvbXBvbmVudCwgRGF0ZUxhYmVsUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci15ZWFycy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhclllYXJzU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyWWVhcnNDb21wb25lbnQgZXh0ZW5kcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyWWVhcnMgPSBpbmplY3QoQ2FsZW5kYXJZZWFyc1NlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuWWVhcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRWaWV3ID0gQ2FsZW5kYXJWaWV3LlllYXJzO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgZGVmZXJGbigoKSA9PiB0aGlzLnNjcm9sbEN1cnJlbnRZZWFySW50b1ZpZXcoKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNZZWFyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0WWVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNSb3coZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBzdWJNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMiAqIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0Um93KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMTIgKiAzKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0RGF0ZSh2YWx1ZTogRGF0ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF0ZURpc2FibGVkKHZhbHVlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGF0ZSA9IHNldFllYXIodGhpcy5hY3RpdmVEYXRlLCBnZXRZZWFyKHZhbHVlKSk7XG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKGRhdGUsIHsgc2tpcERhdGVyYW5nZVVwZGF0ZTogdHJ1ZSB9KTtcblxuICAgIHRoaXMuY2hhbmdlVmlldygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxDdXJyZW50WWVhckludG9WaWV3KCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkWWVhciA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm9keC1jYWxlbmRhci1jZWxsLmlzLXNlbGVjdGVkJyk7XG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vZHgtY2FsZW5kYXItY2VsbC0taXMtY3VycmVudCcpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHNlbGVjdGVkWWVhciB8fCBjdXJyZW50WWVhcjtcblxuICAgIGlmIChlbGVtZW50ICYmIGlzRnVuY3Rpb24oZWxlbWVudC5zY3JvbGxJbnRvVmlldykpIHtcbiAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIm9keC1jYWxlbmRhcl9fdGFibGVcIiByb2xlPVwiZ3JpZFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJvZHgtY2FsZW5kYXJcIiAqbmdyeExldD1cImNhbGVuZGFyLmFjdGl2ZURhdGUkIGFzIGFjdGl2ZURhdGVcIj5cbiAgPHRoZWFkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDx0aD48L3RoPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keVxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNZZWFyKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93UmlnaHQpPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1JvdygkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd0Rvd24pPVwibmV4dFJvdygkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9feWVhci1yb3dcIiAqbmdGb3I9XCJsZXQgeWVhclJvdyBvZiBjYWxlbmRhclllYXJzLnllYXJzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyUm93OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0RhdGVEaXNhYmxlZCh5ZWFyKVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbF09XCJ5ZWFyXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZVJhbmdlXT1cInNlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0RGF0ZSh5ZWFyKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB5ZWFyIHwgb2R4RGF0ZUxhYmVsOiBjb25maWcueWVhckxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbiJdfQ==
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { EventEmitter, Injectable, inject } from '@angular/core';
|
|
2
|
+
import { deferFn } from '@odx/angular/utils';
|
|
3
|
+
import { BehaviorSubject, distinctUntilChanged, filter, map, shareReplay, withLatestFrom } from 'rxjs';
|
|
4
|
+
import { CalendarService } from './calendar.service';
|
|
5
|
+
import { DateRangeSelectionState } from './models';
|
|
6
|
+
import { validateDaterange } from './utils';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class DaterangeService {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.calendar = inject(CalendarService);
|
|
11
|
+
this.dateRangeState$$ = new BehaviorSubject({
|
|
12
|
+
selectionState: DateRangeSelectionState.NothingSelected,
|
|
13
|
+
dateRange: { start: null, end: null },
|
|
14
|
+
});
|
|
15
|
+
this.outputDateRange$ = new EventEmitter();
|
|
16
|
+
this.dateRangeState$ = this.calendar.dateSelectEvents$.pipe(filter((newSelectedDate) => Boolean(newSelectedDate.date)), withLatestFrom(this.dateRangeState$$), map(([newSelectedDate, currentDateRangeState]) => {
|
|
17
|
+
const newDate = newSelectedDate.date;
|
|
18
|
+
const currentStart = currentDateRangeState.dateRange.start;
|
|
19
|
+
const newDateRangeState = {
|
|
20
|
+
selectionState: DateRangeSelectionState.NothingSelected,
|
|
21
|
+
dateRange: { start: null, end: null },
|
|
22
|
+
};
|
|
23
|
+
if (newSelectedDate.options.skipDaterangeUpdate) {
|
|
24
|
+
return currentDateRangeState;
|
|
25
|
+
}
|
|
26
|
+
if (currentStart &&
|
|
27
|
+
newDate &&
|
|
28
|
+
currentDateRangeState.selectionState === DateRangeSelectionState.StartSelected &&
|
|
29
|
+
validateDaterange(currentStart, newDate)) {
|
|
30
|
+
newDateRangeState.dateRange = { start: currentStart, end: newDate };
|
|
31
|
+
newDateRangeState.selectionState = DateRangeSelectionState.EndSelected;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
newDateRangeState.dateRange = { start: newDate, end: null };
|
|
35
|
+
newDateRangeState.selectionState = DateRangeSelectionState.StartSelected;
|
|
36
|
+
}
|
|
37
|
+
this.dateRangeState$$.next(newDateRangeState);
|
|
38
|
+
if (newSelectedDate.options?.emitOutside) {
|
|
39
|
+
this.outputDateRange$.next(newDateRangeState.dateRange);
|
|
40
|
+
}
|
|
41
|
+
return newDateRangeState;
|
|
42
|
+
}), distinctUntilChanged((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)), shareReplay({ refCount: true }));
|
|
43
|
+
}
|
|
44
|
+
setDateRange(value) {
|
|
45
|
+
deferFn(() => {
|
|
46
|
+
this.calendar.selectDate(value.start);
|
|
47
|
+
this.calendar.selectDate(value.end);
|
|
48
|
+
this.calendar.setActiveDate(value.start);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
52
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangeService }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DaterangeService, decorators: [{
|
|
55
|
+
type: Injectable
|
|
56
|
+
}] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXJhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2RhdGVyYW5nZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBYSx1QkFBdUIsRUFBa0MsTUFBTSxVQUFVLENBQUM7QUFFOUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUU1QyxNQUFNLE9BQU8sZ0JBQWdCO0lBRDdCO1FBRW1CLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbkMscUJBQWdCLEdBQUcsSUFBSSxlQUFlLENBQWlCO1lBQ3RFLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxlQUFlO1lBQ3ZELFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRTtTQUN0QyxDQUFDLENBQUM7UUFFYSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUV4RCxvQkFBZSxHQUErQixJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDaEcsTUFBTSxDQUFDLENBQUMsZUFBZ0MsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMzRSxjQUFjLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLHFCQUFxQixDQUFDLEVBQUUsRUFBRTtZQUMvQyxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQ3JDLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7WUFDM0QsTUFBTSxpQkFBaUIsR0FBbUI7Z0JBQ3hDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxlQUFlO2dCQUN2RCxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUU7YUFDdEMsQ0FBQztZQUVGLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtnQkFDL0MsT0FBTyxxQkFBcUIsQ0FBQzthQUM5QjtZQUVELElBQ0UsWUFBWTtnQkFDWixPQUFPO2dCQUNQLHFCQUFxQixDQUFDLGNBQWMsS0FBSyx1QkFBdUIsQ0FBQyxhQUFhO2dCQUM5RSxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQ3hDO2dCQUNBLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUNwRSxpQkFBaUIsQ0FBQyxjQUFjLEdBQUcsdUJBQXVCLENBQUMsV0FBVyxDQUFDO2FBQ3hFO2lCQUFNO2dCQUNMLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUM1RCxpQkFBaUIsQ0FBQyxjQUFjLEdBQUcsdUJBQXVCLENBQUMsYUFBYSxDQUFDO2FBQzFFO1lBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzlDLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDekQ7WUFDRCxPQUFPLGlCQUFpQixDQUFDO1FBQzNCLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ25GLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO0tBU0g7SUFQUSxZQUFZLENBQUMsS0FBb0I7UUFDdEMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F0RFUsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVmZXJGbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlLCBEYXRlUmFuZ2VTZWxlY3Rpb25TdGF0ZSwgRGF0ZVNlbGVjdEV2ZW50LCBEYXRlVHlwZVJhbmdlIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlU3RhdGUgfSBmcm9tICcuL21vZGVscy9kYXRlLXJhbmdlJztcbmltcG9ydCB7IHZhbGlkYXRlRGF0ZXJhbmdlIH0gZnJvbSAnLi91dGlscyc7XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0ZXJhbmdlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXIgPSBpbmplY3QoQ2FsZW5kYXJTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRhdGVSYW5nZVN0YXRlJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERhdGVSYW5nZVN0YXRlPih7XG4gICAgc2VsZWN0aW9uU3RhdGU6IERhdGVSYW5nZVNlbGVjdGlvblN0YXRlLk5vdGhpbmdTZWxlY3RlZCxcbiAgICBkYXRlUmFuZ2U6IHsgc3RhcnQ6IG51bGwsIGVuZDogbnVsbCB9LFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb3V0cHV0RGF0ZVJhbmdlJCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVJhbmdlIHwgbnVsbD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZGF0ZVJhbmdlU3RhdGUkOiBPYnNlcnZhYmxlPERhdGVSYW5nZVN0YXRlPiA9IHRoaXMuY2FsZW5kYXIuZGF0ZVNlbGVjdEV2ZW50cyQucGlwZShcbiAgICBmaWx0ZXIoKG5ld1NlbGVjdGVkRGF0ZTogRGF0ZVNlbGVjdEV2ZW50KSA9PiBCb29sZWFuKG5ld1NlbGVjdGVkRGF0ZS5kYXRlKSksXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5kYXRlUmFuZ2VTdGF0ZSQkKSxcbiAgICBtYXAoKFtuZXdTZWxlY3RlZERhdGUsIGN1cnJlbnREYXRlUmFuZ2VTdGF0ZV0pID0+IHtcbiAgICAgIGNvbnN0IG5ld0RhdGUgPSBuZXdTZWxlY3RlZERhdGUuZGF0ZTtcbiAgICAgIGNvbnN0IGN1cnJlbnRTdGFydCA9IGN1cnJlbnREYXRlUmFuZ2VTdGF0ZS5kYXRlUmFuZ2Uuc3RhcnQ7XG4gICAgICBjb25zdCBuZXdEYXRlUmFuZ2VTdGF0ZTogRGF0ZVJhbmdlU3RhdGUgPSB7XG4gICAgICAgIHNlbGVjdGlvblN0YXRlOiBEYXRlUmFuZ2VTZWxlY3Rpb25TdGF0ZS5Ob3RoaW5nU2VsZWN0ZWQsXG4gICAgICAgIGRhdGVSYW5nZTogeyBzdGFydDogbnVsbCwgZW5kOiBudWxsIH0sXG4gICAgICB9O1xuXG4gICAgICBpZiAobmV3U2VsZWN0ZWREYXRlLm9wdGlvbnMuc2tpcERhdGVyYW5nZVVwZGF0ZSkge1xuICAgICAgICByZXR1cm4gY3VycmVudERhdGVSYW5nZVN0YXRlO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGN1cnJlbnRTdGFydCAmJlxuICAgICAgICBuZXdEYXRlICYmXG4gICAgICAgIGN1cnJlbnREYXRlUmFuZ2VTdGF0ZS5zZWxlY3Rpb25TdGF0ZSA9PT0gRGF0ZVJhbmdlU2VsZWN0aW9uU3RhdGUuU3RhcnRTZWxlY3RlZCAmJlxuICAgICAgICB2YWxpZGF0ZURhdGVyYW5nZShjdXJyZW50U3RhcnQsIG5ld0RhdGUpXG4gICAgICApIHtcbiAgICAgICAgbmV3RGF0ZVJhbmdlU3RhdGUuZGF0ZVJhbmdlID0geyBzdGFydDogY3VycmVudFN0YXJ0LCBlbmQ6IG5ld0RhdGUgfTtcbiAgICAgICAgbmV3RGF0ZVJhbmdlU3RhdGUuc2VsZWN0aW9uU3RhdGUgPSBEYXRlUmFuZ2VTZWxlY3Rpb25TdGF0ZS5FbmRTZWxlY3RlZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld0RhdGVSYW5nZVN0YXRlLmRhdGVSYW5nZSA9IHsgc3RhcnQ6IG5ld0RhdGUsIGVuZDogbnVsbCB9O1xuICAgICAgICBuZXdEYXRlUmFuZ2VTdGF0ZS5zZWxlY3Rpb25TdGF0ZSA9IERhdGVSYW5nZVNlbGVjdGlvblN0YXRlLlN0YXJ0U2VsZWN0ZWQ7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGF0ZVJhbmdlU3RhdGUkJC5uZXh0KG5ld0RhdGVSYW5nZVN0YXRlKTtcbiAgICAgIGlmIChuZXdTZWxlY3RlZERhdGUub3B0aW9ucz8uZW1pdE91dHNpZGUpIHtcbiAgICAgICAgdGhpcy5vdXRwdXREYXRlUmFuZ2UkLm5leHQobmV3RGF0ZVJhbmdlU3RhdGUuZGF0ZVJhbmdlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXdEYXRlUmFuZ2VTdGF0ZTtcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gSlNPTi5zdHJpbmdpZnkocHJldikgPT09IEpTT04uc3RyaW5naWZ5KGN1cnIpKSxcbiAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlIH0pLFxuICApO1xuXG4gIHB1YmxpYyBzZXREYXRlUmFuZ2UodmFsdWU6IERhdGVUeXBlUmFuZ2UpIHtcbiAgICBkZWZlckZuKCgpID0+IHtcbiAgICAgIHRoaXMuY2FsZW5kYXIuc2VsZWN0RGF0ZSh2YWx1ZS5zdGFydCk7XG4gICAgICB0aGlzLmNhbGVuZGFyLnNlbGVjdERhdGUodmFsdWUuZW5kKTtcbiAgICAgIHRoaXMuY2FsZW5kYXIuc2V0QWN0aXZlRGF0ZSh2YWx1ZS5zdGFydCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|