@odx/angular 2.11.3 → 2.12.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 +15 -0
- package/components/calendar/index.d.ts +5 -1
- package/components/calendar/lib/calendar.component.d.ts +11 -11
- package/components/calendar/lib/calendar.config.d.ts +42 -0
- package/components/calendar/lib/{services/calendar.service.d.ts → calendar.service.d.ts} +4 -14
- package/components/calendar/lib/components/calendar-header/calendar-header.component.d.ts +17 -27
- package/components/calendar/lib/components/calendar-month/calendar-month.component.d.ts +11 -12
- package/components/calendar/lib/components/calendar-year/calendar-year.component.d.ts +10 -10
- package/components/calendar/lib/components/calendar-years/calendar-years.component.d.ts +9 -9
- package/components/calendar/lib/directives/calendar-cell.directive.d.ts +20 -13
- package/components/calendar/lib/directives/calendar-view.directive.d.ts +23 -12
- package/components/calendar/lib/{enums/calendar-view.enum.d.ts → models/calendar-view.d.ts} +1 -1
- package/components/calendar/lib/models/index.d.ts +1 -0
- package/components/calendar/lib/pipes/date-label.pipe.d.ts +7 -0
- package/components/calendar/lib/services/calendar-month.service.d.ts +6 -8
- package/components/calendar/lib/services/calendar-year.service.d.ts +4 -6
- package/components/calendar/lib/services/calendar-years.service.d.ts +3 -4
- package/components/calendar/lib/services/index.d.ts +0 -1
- package/components/calendar/lib/utils/check-identical-date.d.ts +2 -2
- package/components/calendar/lib/utils/get-A11y-label.d.ts +2 -2
- package/components/calendar/lib/utils/index.d.ts +1 -0
- package/components/calendar/lib/utils/is-date-disabled.d.ts +2 -0
- package/components/calendar/lib/utils/validate-max-date.d.ts +2 -2
- package/components/calendar/lib/utils/validate-min-date.d.ts +2 -2
- package/components/calendar/lib/utils/validate-next-date-set.d.ts +2 -2
- package/components/calendar/lib/utils/validate-previous-date-set.d.ts +2 -2
- package/components/datepicker/lib/datepicker.component.d.ts +3 -1
- package/components/main-menu/index.d.ts +1 -0
- package/components/main-menu/lib/helpers/create-main-menu-links.d.ts +2 -0
- package/components/main-menu/lib/helpers/index.d.ts +1 -0
- package/components/main-menu/lib/main-menu.component.d.ts +3 -0
- package/components/main-menu/lib/main-menu.config.d.ts +8 -0
- package/components/main-menu/lib/main-menu.i18n.d.ts +3 -0
- package/components/main-menu/lib/models/index.d.ts +1 -0
- package/components/main-menu/lib/models/main-menu-link.d.ts +4 -0
- package/esm2020/components/calendar/index.mjs +6 -2
- package/esm2020/components/calendar/lib/calendar.component.mjs +12 -19
- package/esm2020/components/calendar/lib/calendar.config.mjs +8 -1
- package/esm2020/components/calendar/lib/calendar.service.mjs +36 -0
- package/esm2020/components/calendar/lib/components/calendar-header/calendar-header.component.mjs +33 -27
- package/esm2020/components/calendar/lib/components/calendar-month/calendar-month.component.mjs +6 -6
- package/esm2020/components/calendar/lib/components/calendar-year/calendar-year.component.mjs +7 -7
- package/esm2020/components/calendar/lib/components/calendar-years/calendar-years.component.mjs +9 -8
- package/esm2020/components/calendar/lib/directives/calendar-cell.directive.mjs +8 -11
- package/esm2020/components/calendar/lib/directives/calendar-view.directive.mjs +24 -14
- package/esm2020/components/calendar/lib/models/calendar-view.mjs +7 -0
- package/esm2020/components/calendar/lib/models/index.mjs +2 -1
- package/esm2020/components/calendar/lib/pipes/date-label.pipe.mjs +4 -4
- package/esm2020/components/calendar/lib/services/calendar-month.service.mjs +2 -2
- package/esm2020/components/calendar/lib/services/calendar-year.service.mjs +7 -5
- package/esm2020/components/calendar/lib/services/calendar-years.service.mjs +12 -9
- package/esm2020/components/calendar/lib/services/index.mjs +1 -2
- package/esm2020/components/calendar/lib/utils/check-identical-date.mjs +7 -7
- package/esm2020/components/calendar/lib/utils/get-A11y-label.mjs +7 -7
- package/esm2020/components/calendar/lib/utils/index.mjs +2 -1
- package/esm2020/components/calendar/lib/utils/is-date-disabled.mjs +10 -0
- package/esm2020/components/calendar/lib/utils/validate-max-date.mjs +7 -7
- package/esm2020/components/calendar/lib/utils/validate-min-date.mjs +7 -7
- package/esm2020/components/calendar/lib/utils/validate-next-date-set.mjs +7 -8
- package/esm2020/components/calendar/lib/utils/validate-previous-date-set.mjs +7 -8
- package/esm2020/components/datepicker/lib/datepicker.component.mjs +7 -4
- package/esm2020/components/main-menu/index.mjs +2 -1
- package/esm2020/components/main-menu/lib/helpers/create-main-menu-links.mjs +13 -0
- package/esm2020/components/main-menu/lib/helpers/index.mjs +2 -0
- package/esm2020/components/main-menu/lib/main-menu.component.mjs +11 -5
- package/esm2020/components/main-menu/lib/main-menu.config.mjs +6 -0
- package/esm2020/components/main-menu/lib/main-menu.i18n.mjs +17 -0
- package/esm2020/components/main-menu/lib/models/index.mjs +2 -0
- package/esm2020/components/main-menu/lib/models/main-menu-link.mjs +2 -0
- package/esm2020/index.mjs +2 -1
- package/esm2020/internal/translate/index.mjs +7 -0
- package/esm2020/internal/translate/lib/helpers/get-language-code.mjs +6 -0
- package/esm2020/internal/translate/lib/helpers/index.mjs +2 -0
- package/esm2020/internal/translate/lib/models/index.mjs +2 -0
- package/esm2020/internal/translate/lib/models/translation.mjs +2 -0
- package/esm2020/internal/translate/lib/pipes/index.mjs +2 -0
- package/esm2020/internal/translate/lib/pipes/translate.pipe.mjs +22 -0
- package/esm2020/internal/translate/lib/services/index.mjs +2 -0
- package/esm2020/internal/translate/lib/services/language.service.mjs +21 -0
- package/esm2020/internal/translate/lib/translate.config.mjs +15 -0
- package/esm2020/internal/translate/lib/translate.service.mjs +16 -0
- package/esm2020/internal/translate/odx-angular-internal-translate.mjs +5 -0
- package/esm2020/lib/services/window-ref.mjs +3 -2
- package/esm2020/utils/lib/helpers/build-website-url.mjs +6 -0
- package/esm2020/utils/lib/helpers/index.mjs +2 -1
- package/fesm2015/odx-angular-components-calendar.mjs +254 -270
- package/fesm2015/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2015/odx-angular-components-datepicker.mjs +5 -2
- package/fesm2015/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2015/odx-angular-components-main-menu.mjs +43 -6
- package/fesm2015/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2015/odx-angular-internal-translate.mjs +75 -0
- package/fesm2015/odx-angular-internal-translate.mjs.map +1 -0
- package/fesm2015/odx-angular-utils.mjs +6 -1
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2015/odx-angular.mjs +3 -1
- package/fesm2015/odx-angular.mjs.map +1 -1
- package/fesm2020/odx-angular-components-calendar.mjs +254 -269
- package/fesm2020/odx-angular-components-calendar.mjs.map +1 -1
- package/fesm2020/odx-angular-components-datepicker.mjs +5 -2
- package/fesm2020/odx-angular-components-datepicker.mjs.map +1 -1
- package/fesm2020/odx-angular-components-main-menu.mjs +43 -6
- package/fesm2020/odx-angular-components-main-menu.mjs.map +1 -1
- package/fesm2020/odx-angular-internal-translate.mjs +74 -0
- package/fesm2020/odx-angular-internal-translate.mjs.map +1 -0
- package/fesm2020/odx-angular-utils.mjs +6 -1
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular.mjs +3 -1
- package/fesm2020/odx-angular.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/internal/translate/README.md +3 -0
- package/internal/translate/index.d.ts +6 -0
- package/internal/translate/lib/helpers/get-language-code.d.ts +1 -0
- package/internal/translate/lib/helpers/index.d.ts +1 -0
- package/internal/translate/lib/models/index.d.ts +1 -0
- package/internal/translate/lib/models/translation.d.ts +2 -0
- package/internal/translate/lib/pipes/index.d.ts +1 -0
- package/internal/translate/lib/pipes/translate.pipe.d.ts +9 -0
- package/internal/translate/lib/services/index.d.ts +1 -0
- package/internal/translate/lib/services/language.service.d.ts +8 -0
- package/internal/translate/lib/translate.config.d.ts +9 -0
- package/internal/translate/lib/translate.service.d.ts +10 -0
- package/package.json +11 -3
- package/utils/lib/helpers/build-website-url.d.ts +2 -0
- package/utils/lib/helpers/index.d.ts +1 -0
- package/components/calendar/lib/enums/index.d.ts +0 -1
- package/esm2020/components/calendar/lib/enums/calendar-view.enum.mjs +0 -7
- package/esm2020/components/calendar/lib/enums/index.mjs +0 -2
- package/esm2020/components/calendar/lib/services/calendar.service.mjs +0 -73
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './main-menu-link';
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
export * from './lib/calendar.component';
|
|
2
2
|
export * from './lib/calendar.config';
|
|
3
|
-
export * from './lib/
|
|
3
|
+
export * from './lib/calendar.service';
|
|
4
|
+
export * from './lib/components';
|
|
5
|
+
export * from './lib/directives';
|
|
4
6
|
export * from './lib/models';
|
|
5
7
|
export * from './lib/pipes';
|
|
6
|
-
|
|
8
|
+
export * from './lib/services';
|
|
9
|
+
export * from './lib/utils';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jYWxlbmRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2FsZW5kYXIuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NhbGVuZGFyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG4iXX0=
|
|
@@ -4,45 +4,38 @@ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output
|
|
|
4
4
|
import { CoreModule } from '@odx/angular';
|
|
5
5
|
import { CSSComponent } from '@odx/angular/internal';
|
|
6
6
|
import { hasChanged, injectElement } from '@odx/angular/utils';
|
|
7
|
+
import { CalendarService } from './calendar.service';
|
|
7
8
|
import { CalendarMonthComponent, CalendarYearComponent, CalendarYearsComponent } from './components';
|
|
8
|
-
import {
|
|
9
|
-
import { CalendarService } from './services';
|
|
9
|
+
import { CalendarView } from './models';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@angular/common";
|
|
12
|
+
import * as i2 from "@ngrx/component";
|
|
12
13
|
let CalendarComponent = class CalendarComponent {
|
|
13
14
|
constructor() {
|
|
15
|
+
this.CalendarView = CalendarView;
|
|
14
16
|
this.calendar = inject(CalendarService);
|
|
15
17
|
this.element = injectElement();
|
|
16
|
-
this.
|
|
18
|
+
this.selectedDate = null;
|
|
17
19
|
this.minDate = null;
|
|
18
20
|
this.maxDate = null;
|
|
19
21
|
this.filterFn = null;
|
|
20
|
-
this.
|
|
21
|
-
}
|
|
22
|
-
set selectedDate(value) {
|
|
23
|
-
this.calendar.selectDate(value);
|
|
22
|
+
this.selectedDateChange = new EventEmitter();
|
|
24
23
|
}
|
|
25
24
|
ngOnChanges(changes) {
|
|
26
|
-
if (hasChanged(changes, '
|
|
27
|
-
this.calendar.
|
|
28
|
-
}
|
|
29
|
-
if (hasChanged(changes, 'maxDate', false)) {
|
|
30
|
-
this.calendar.maxDate = this.maxDate;
|
|
31
|
-
}
|
|
32
|
-
if (hasChanged(changes, 'filterFn', false)) {
|
|
33
|
-
this.calendar.filterFn = this.filterFn;
|
|
25
|
+
if (hasChanged(changes, 'selectedDate', false)) {
|
|
26
|
+
this.calendar.selectDate(this.selectedDate);
|
|
34
27
|
}
|
|
35
28
|
}
|
|
36
29
|
};
|
|
37
30
|
CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CalendarComponent, isStandalone: true, selector: "odx-calendar", inputs: { selectedDate: "selectedDate", minDate: "minDate", maxDate: "maxDate", filterFn: "filterFn" }, outputs: {
|
|
31
|
+
CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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 [ngrxLet]=\"{ activeDate: calendar.activeDate$, calendarView: calendar.calendarView$, selectedDate: calendar.selectedDate$ }\" let-vm>\n <ng-container [ngSwitch]=\"vm.calendarView\">\n <odx-calendar-year\n [activeDate]=\"vm.activeDate\"\n [selectedDate]=\"vm.selectedDate\"\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 [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 [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [filterFn]=\"filterFn\"\n (selectedChange)=\"selectedDateChange.emit($event)\"\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", outputs: ["selectedChange"] }, { kind: "component", type: CalendarYearComponent, selector: "odx-calendar-year" }, { kind: "component", type: CalendarYearsComponent, selector: "odx-calendar-years" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
39
32
|
CalendarComponent = __decorate([
|
|
40
33
|
CSSComponent('calendar')
|
|
41
34
|
], CalendarComponent);
|
|
42
35
|
export { CalendarComponent };
|
|
43
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
44
37
|
type: Component,
|
|
45
|
-
args: [{ selector: 'odx-calendar', standalone: true, imports: [CoreModule, A11yModule, CalendarMonthComponent, CalendarYearComponent, CalendarYearsComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarService], template: "<ng-
|
|
38
|
+
args: [{ selector: 'odx-calendar', standalone: true, imports: [CoreModule, A11yModule, CalendarMonthComponent, CalendarYearComponent, CalendarYearsComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [CalendarService], template: "<ng-template [ngrxLet]=\"{ activeDate: calendar.activeDate$, calendarView: calendar.calendarView$, selectedDate: calendar.selectedDate$ }\" let-vm>\n <ng-container [ngSwitch]=\"vm.calendarView\">\n <odx-calendar-year\n [activeDate]=\"vm.activeDate\"\n [selectedDate]=\"vm.selectedDate\"\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 [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 [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [filterFn]=\"filterFn\"\n (selectedChange)=\"selectedDateChange.emit($event)\"\n *ngSwitchDefault\n ></odx-calendar-month>\n </ng-container>\n</ng-template>\n" }]
|
|
46
39
|
}], propDecorators: { selectedDate: [{
|
|
47
40
|
type: Input
|
|
48
41
|
}], minDate: [{
|
|
@@ -51,7 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
51
44
|
type: Input
|
|
52
45
|
}], filterFn: [{
|
|
53
46
|
type: Input
|
|
54
|
-
}],
|
|
47
|
+
}], selectedDateChange: [{
|
|
55
48
|
type: Output
|
|
56
49
|
}] } });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQXdCLE1BQU0sVUFBVSxDQUFDOzs7O0FBWXZELElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBQXZCO1FBQ2MsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV0QyxZQUFPLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFHbkMsaUJBQVksR0FBb0IsSUFBSSxDQUFDO1FBR3JDLFlBQU8sR0FBaUIsSUFBSSxDQUFDO1FBRzdCLFlBQU8sR0FBaUIsSUFBSSxDQUFDO1FBRzdCLGFBQVEsR0FBdUIsSUFBSSxDQUFDO1FBR3BDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7S0FPN0Q7SUFMUSxXQUFXLENBQUMsT0FBcUM7UUFDdEQsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0M7SUFDSCxDQUFDOzs4R0F6QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsME5BRmpCLENBQUMsZUFBZSxDQUFDLCtDQ2pCOUIsOGlDQTZCQSwyQ0RoQlksVUFBVSwwWkFBRSxVQUFVLCtCQUFFLHNCQUFzQiw0RkFBRSxxQkFBcUIsOERBQUUsc0JBQXNCO0FBTTVGLGlCQUFpQjtJQVY3QixZQUFZLENBQUMsVUFBVSxDQUFDO0dBVVosaUJBQWlCLENBMEI3QjtTQTFCWSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFUN0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsQ0FBQyxtQkFFdkYsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLGVBQWUsQ0FBQzs4QkFTckIsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxrQkFBa0I7c0JBRHhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgQ1NTQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsJztcbmltcG9ydCB7IGhhc0NoYW5nZWQsIGluamVjdEVsZW1lbnQsIE5nQ2hhbmdlcyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UgfSBmcm9tICcuL2NhbGVuZGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb250aENvbXBvbmVudCwgQ2FsZW5kYXJZZWFyQ29tcG9uZW50LCBDYWxlbmRhclllYXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IENhbGVuZGFyVmlldywgRGF0ZUZpbHRlciwgRGF0ZVR5cGUgfSBmcm9tICcuL21vZGVscyc7XG5cbkBDU1NDb21wb25lbnQoJ2NhbGVuZGFyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb3JlTW9kdWxlLCBBMTF5TW9kdWxlLCBDYWxlbmRhck1vbnRoQ29tcG9uZW50LCBDYWxlbmRhclllYXJDb21wb25lbnQsIENhbGVuZGFyWWVhcnNDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbQ2FsZW5kYXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ2FsZW5kYXJWaWV3ID0gQ2FsZW5kYXJWaWV3O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXIgPSBpbmplY3QoQ2FsZW5kYXJTZXJ2aWNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudCA9IGluamVjdEVsZW1lbnQoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWREYXRlOiBEYXRlVHlwZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhEYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaWx0ZXJGbj86IERhdGVGaWx0ZXIgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkRGF0ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+KCk7XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IE5nQ2hhbmdlczxDYWxlbmRhckNvbXBvbmVudD4pOiB2b2lkIHtcbiAgICBpZiAoaGFzQ2hhbmdlZChjaGFuZ2VzLCAnc2VsZWN0ZWREYXRlJywgZmFsc2UpKSB7XG4gICAgICB0aGlzLmNhbGVuZGFyLnNlbGVjdERhdGUodGhpcy5zZWxlY3RlZERhdGUpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIFtuZ3J4TGV0XT1cInsgYWN0aXZlRGF0ZTogY2FsZW5kYXIuYWN0aXZlRGF0ZSQsIGNhbGVuZGFyVmlldzogY2FsZW5kYXIuY2FsZW5kYXJWaWV3JCwgc2VsZWN0ZWREYXRlOiBjYWxlbmRhci5zZWxlY3RlZERhdGUkIH1cIiBsZXQtdm0+XG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInZtLmNhbGVuZGFyVmlld1wiPlxuICAgIDxvZHgtY2FsZW5kYXIteWVhclxuICAgICAgW2FjdGl2ZURhdGVdPVwidm0uYWN0aXZlRGF0ZVwiXG4gICAgICBbc2VsZWN0ZWREYXRlXT1cInZtLnNlbGVjdGVkRGF0ZVwiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2ZpbHRlckZuXT1cImZpbHRlckZuXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJDYWxlbmRhclZpZXcuWWVhclwiXG4gICAgPjwvb2R4LWNhbGVuZGFyLXllYXI+XG4gICAgPG9keC1jYWxlbmRhci15ZWFyc1xuICAgICAgW2FjdGl2ZURhdGVdPVwidm0uYWN0aXZlRGF0ZVwiXG4gICAgICBbc2VsZWN0ZWREYXRlXT1cInZtLnNlbGVjdGVkRGF0ZVwiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2ZpbHRlckZuXT1cImZpbHRlckZuXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJDYWxlbmRhclZpZXcuWWVhcnNcIlxuICAgID48L29keC1jYWxlbmRhci15ZWFycz5cbiAgICA8b2R4LWNhbGVuZGFyLW1vbnRoXG4gICAgICBbYWN0aXZlRGF0ZV09XCJ2bS5hY3RpdmVEYXRlXCJcbiAgICAgIFtzZWxlY3RlZERhdGVdPVwidm0uc2VsZWN0ZWREYXRlXCJcbiAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICBbZmlsdGVyRm5dPVwiZmlsdGVyRm5cIlxuICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInNlbGVjdGVkRGF0ZUNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgID48L29keC1jYWxlbmRhci1tb250aD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -12,5 +12,12 @@ export const { CalendarConfig, CalendarDefaultConfig, injectCalendarConfig, prov
|
|
|
12
12
|
yearA11yLabel: 'yyyy',
|
|
13
13
|
displayAdjacentDays: true,
|
|
14
14
|
locale: new BehaviorSubject(enGB),
|
|
15
|
+
yearView: {
|
|
16
|
+
itemsPerRow: 3,
|
|
17
|
+
},
|
|
18
|
+
yearsView: {
|
|
19
|
+
itemsPerRow: 3,
|
|
20
|
+
padding: 100,
|
|
21
|
+
},
|
|
15
22
|
});
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jYWxlbmRhci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF5RHZDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLEdBQUcsa0JBQWtCLENBQ3RILFVBQVUsRUFDVixrQ0FBa0MsRUFDbEM7SUFDRSxjQUFjLEVBQUUsV0FBVztJQUMzQixVQUFVLEVBQUUsS0FBSztJQUNqQixTQUFTLEVBQUUsT0FBTztJQUNsQixRQUFRLEVBQUUsR0FBRztJQUNiLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFlBQVksRUFBRSxlQUFlO0lBQzdCLGNBQWMsRUFBRSxZQUFZO0lBQzVCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLG1CQUFtQixFQUFFLElBQUk7SUFDekIsTUFBTSxFQUFFLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQztJQUN6QyxRQUFRLEVBQUU7UUFDUixXQUFXLEVBQUUsQ0FBQztLQUNmO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsV0FBVyxFQUFFLENBQUM7UUFDZCxPQUFPLEVBQUUsR0FBRztLQUNiO0NBQ0YsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29uZmlnVG9rZW5zIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGVuR0IgfSBmcm9tICdkYXRlLWZucy9sb2NhbGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJDb25maWcge1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBtb250aC15ZWFyIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdMTExMIHl5eXknXG4gICAqL1xuICBtb250aFllYXJMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBtb250aCBsYWJlbCBpcyB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCAnTExMJ1xuICAgKi9cbiAgbW9udGhMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCB3ZWVrIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdFRUVFRSdcbiAgICovXG4gIHdlZWtMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBkYXkgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ2QnXG4gICAqL1xuICBkYXlMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBZZWFyIGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICd5eXl5J1xuICAgKi9cbiAgeWVhckxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIEExMXkgZGF5IGxhYmVsIGlzIHRyYW5zZm9ybWVkXG4gICAqIEBkZWZhdWx0ICdNTU1NIGRkLCB5eXl5J1xuICAgKi9cbiAgZGF5QTExeUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBQYXR0ZXJuIGJ5IHdoaWNoIEExMXkgbW9udGggbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ01NTU0sIHl5eXknXG4gICAqL1xuICBtb250aEExMXlMYWJlbDogc3RyaW5nO1xuICAvKipcbiAgICogUGF0dGVybiBieSB3aGljaCBBMTF5IHllYXIgbGFiZWwgaXMgdHJhbnNmb3JtZWRcbiAgICogQGRlZmF1bHQgJ3l5eXknXG4gICAqL1xuICB5ZWFyQTExeUxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0aGUgYWRqYWNlbnQgZGF5cyBpbiBtb250aCBjYWxlbmRhciB2aWV3XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGRpc3BsYXlBZGphY2VudERheXM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBMb2NhbGUgYnkgd2hpY2ggY2FsZW5kYXIgbGFiZWxzIGFyZSB0cmFuc2Zvcm1lZFxuICAgKiBAZGVmYXVsdCBlbkdCXG4gICAqL1xuICBsb2NhbGU6IEJlaGF2aW9yU3ViamVjdDxMb2NhbGU+O1xuICB5ZWFyVmlldzogeyBpdGVtc1BlclJvdzogbnVtYmVyIH07XG4gIHllYXJzVmlldzogeyBpdGVtc1BlclJvdzogbnVtYmVyOyBwYWRkaW5nOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHsgQ2FsZW5kYXJDb25maWcsIENhbGVuZGFyRGVmYXVsdENvbmZpZywgaW5qZWN0Q2FsZW5kYXJDb25maWcsIHByb3ZpZGVDYWxlbmRhckNvbmZpZyB9ID0gY3JlYXRlQ29uZmlnVG9rZW5zKFxuICAnQ2FsZW5kYXInLFxuICAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXInLFxuICB7XG4gICAgbW9udGhZZWFyTGFiZWw6ICdMTExMIHl5eXknLFxuICAgIG1vbnRoTGFiZWw6ICdMTEwnLFxuICAgIHdlZWtMYWJlbDogJ0VFRUVFJyxcbiAgICBkYXlMYWJlbDogJ2QnLFxuICAgIHllYXJMYWJlbDogJ3l5eXknLFxuICAgIGRheUExMXlMYWJlbDogJ01NTU0gZGQsIHl5eXknLFxuICAgIG1vbnRoQTExeUxhYmVsOiAnTU1NTSwgeXl5eScsXG4gICAgeWVhckExMXlMYWJlbDogJ3l5eXknLFxuICAgIGRpc3BsYXlBZGphY2VudERheXM6IHRydWUsXG4gICAgbG9jYWxlOiBuZXcgQmVoYXZpb3JTdWJqZWN0PExvY2FsZT4oZW5HQiksXG4gICAgeWVhclZpZXc6IHtcbiAgICAgIGl0ZW1zUGVyUm93OiAzLFxuICAgIH0sXG4gICAgeWVhcnNWaWV3OiB7XG4gICAgICBpdGVtc1BlclJvdzogMyxcbiAgICAgIHBhZGRpbmc6IDEwMCxcbiAgICB9LFxuICB9LFxuKTtcbiJdfQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { isPresent } from '@odx/angular/utils';
|
|
3
|
+
import { isEqual, startOfDay } from 'date-fns';
|
|
4
|
+
import { BehaviorSubject, distinctUntilChanged, filter, merge, shareReplay, Subject } from 'rxjs';
|
|
5
|
+
import { CalendarView } from './models';
|
|
6
|
+
import { parseDate } from './utils';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class CalendarService {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.calendarView$$ = new BehaviorSubject(CalendarView.Month);
|
|
11
|
+
this.activeDate$$ = new Subject();
|
|
12
|
+
this.selectedDate$$ = new BehaviorSubject(null);
|
|
13
|
+
this.calendarView$ = this.calendarView$$.pipe(shareReplay({ refCount: true }));
|
|
14
|
+
this.selectedDate$ = this.selectedDate$$.pipe(shareReplay({ refCount: true }));
|
|
15
|
+
this.activeDate$ = merge(this.activeDate$$, this.selectedDate$).pipe(filter(Boolean), distinctUntilChanged((prev, curr) => isEqual(prev, curr)), shareReplay({ refCount: true }));
|
|
16
|
+
}
|
|
17
|
+
setActiveDate(value) {
|
|
18
|
+
if (!isPresent(value))
|
|
19
|
+
return;
|
|
20
|
+
this.activeDate$$.next(parseDate(value));
|
|
21
|
+
}
|
|
22
|
+
selectDate(value) {
|
|
23
|
+
const date = isPresent(value) ? startOfDay(parseDate(value)) : null;
|
|
24
|
+
this.selectedDate$$.next(date);
|
|
25
|
+
this.setActiveDate(date);
|
|
26
|
+
}
|
|
27
|
+
changeView(view) {
|
|
28
|
+
this.calendarView$$.next(view);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
CalendarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
CalendarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarService });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarService, decorators: [{
|
|
34
|
+
type: Injectable
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRyxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBR3BDLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRW1CLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFjLElBQUksQ0FBQyxDQUFDO1FBRXpELGtCQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDMUUsZ0JBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUM3RSxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2Ysb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQ3pELFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUNoQyxDQUFDO0tBZ0JIO0lBZFEsYUFBYSxDQUFDLEtBQXNCO1FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQXNCO1FBQ3RDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sVUFBVSxDQUFDLElBQWtCO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OzRHQTFCVSxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUHJlc2VudCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBpc0VxdWFsLCBzdGFydE9mRGF5IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtZXJnZSwgc2hhcmVSZXBsYXksIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENhbGVuZGFyVmlldywgRGF0ZVR5cGUgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBwYXJzZURhdGUgfSBmcm9tICcuL3V0aWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FsZW5kYXJWaWV3JCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENhbGVuZGFyVmlldz4oQ2FsZW5kYXJWaWV3Lk1vbnRoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVEYXRlJCQgPSBuZXcgU3ViamVjdDxEYXRlPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGVkRGF0ZSQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRlIHwgbnVsbD4obnVsbCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGNhbGVuZGFyVmlldyQgPSB0aGlzLmNhbGVuZGFyVmlldyQkLnBpcGUoc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSk7XG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3RlZERhdGUkID0gdGhpcy5zZWxlY3RlZERhdGUkJC5waXBlKHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUgfSkpO1xuICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlRGF0ZSQgPSBtZXJnZSh0aGlzLmFjdGl2ZURhdGUkJCwgdGhpcy5zZWxlY3RlZERhdGUkKS5waXBlKFxuICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gaXNFcXVhbChwcmV2LCBjdXJyKSksXG4gICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KSxcbiAgKTtcblxuICBwdWJsaWMgc2V0QWN0aXZlRGF0ZSh2YWx1ZTogRGF0ZVR5cGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCFpc1ByZXNlbnQodmFsdWUpKSByZXR1cm47XG4gICAgdGhpcy5hY3RpdmVEYXRlJCQubmV4dChwYXJzZURhdGUodmFsdWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3REYXRlKHZhbHVlOiBEYXRlVHlwZSB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRlID0gaXNQcmVzZW50KHZhbHVlKSA/IHN0YXJ0T2ZEYXkocGFyc2VEYXRlKHZhbHVlKSkgOiBudWxsO1xuICAgIHRoaXMuc2VsZWN0ZWREYXRlJCQubmV4dChkYXRlKTtcbiAgICB0aGlzLnNldEFjdGl2ZURhdGUoZGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlVmlldyh2aWV3OiBDYWxlbmRhclZpZXcpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyVmlldyQkLm5leHQodmlldyk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2020/components/calendar/lib/components/calendar-header/calendar-header.component.mjs
CHANGED
|
@@ -1,59 +1,65 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { ChangeDetectionStrategy, Component, EventEmitter,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { CoreModule } from '@odx/angular';
|
|
4
4
|
import { ActionGroupComponent } from '@odx/angular/components/action-group';
|
|
5
5
|
import { ButtonComponent } from '@odx/angular/components/button';
|
|
6
6
|
import { IconComponent } from '@odx/angular/components/icon';
|
|
7
7
|
import { CSSComponent } from '@odx/angular/internal';
|
|
8
|
-
import { injectElement } from '@odx/angular/utils';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { CalendarService } from '../../services';
|
|
8
|
+
import { hasChanged, injectElement } from '@odx/angular/utils';
|
|
9
|
+
import { CalendarView } from '../../models';
|
|
10
|
+
import { validateNextDateSet, validatePreviousDateSet } from '../../utils';
|
|
12
11
|
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular
|
|
14
|
-
import * as i2 from "@odx/angular";
|
|
12
|
+
import * as i1 from "@odx/angular";
|
|
15
13
|
let CalendarHeaderComponent = class CalendarHeaderComponent {
|
|
16
14
|
constructor() {
|
|
17
|
-
this.
|
|
15
|
+
this.isPreviousDisabled = false;
|
|
16
|
+
this.isNextDisabled = false;
|
|
18
17
|
this.element = injectElement();
|
|
18
|
+
this.minDate = null;
|
|
19
|
+
this.maxDate = null;
|
|
19
20
|
this.previous = new EventEmitter();
|
|
20
21
|
this.next = new EventEmitter();
|
|
21
22
|
this.changeView = new EventEmitter();
|
|
22
|
-
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges(changes) {
|
|
25
|
+
if (hasChanged(changes, ['activeDate', 'calendarView', 'minDate', 'maxDate'], false)) {
|
|
26
|
+
this.isPreviousDisabled = this.minDate ? validatePreviousDateSet(this.minDate, this.activeDate, this.calendarView) : false;
|
|
27
|
+
this.isNextDisabled = this.maxDate ? validateNextDateSet(this.maxDate, this.activeDate, this.calendarView) : false;
|
|
28
|
+
}
|
|
23
29
|
}
|
|
24
30
|
previousClicked(event) {
|
|
25
|
-
|
|
31
|
+
if (this.isPreviousDisabled)
|
|
32
|
+
return;
|
|
33
|
+
this.previous.emit(event);
|
|
26
34
|
}
|
|
27
35
|
nextClicked(event) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return this.calendar.activeDate$.pipe(map(() => this.isPreviousDisabled));
|
|
32
|
-
}
|
|
33
|
-
get handleIsNextDisabled$() {
|
|
34
|
-
return this.calendar.activeDate$.pipe(map(() => this.isNextDisabled));
|
|
35
|
-
}
|
|
36
|
-
get isPreviousDisabled() {
|
|
37
|
-
return this.calendar.isPreviousDateSetDisabled();
|
|
38
|
-
}
|
|
39
|
-
get isNextDisabled() {
|
|
40
|
-
return this.calendar.isNextDateSetDisabled();
|
|
36
|
+
if (this.isNextDisabled)
|
|
37
|
+
return;
|
|
38
|
+
this.next.emit(event);
|
|
41
39
|
}
|
|
42
40
|
};
|
|
43
41
|
CalendarHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
CalendarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CalendarHeaderComponent, isStandalone: true, selector: "odx-calendar-header", outputs: { previous: "previous", next: "next", changeView: "changeView" }, ngImport: i0, template: "<odx-action-group>\n <button odxButton (click)=\"previousClicked($event)\"
|
|
42
|
+
CalendarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CalendarHeaderComponent, isStandalone: true, selector: "odx-calendar-header", inputs: { activeDate: "activeDate", calendarView: "calendarView", minDate: "minDate", maxDate: "maxDate" }, outputs: { previous: "previous", next: "next", changeView: "changeView" }, usesOnChanges: true, ngImport: i0, template: "<odx-action-group>\n <button odxButton [disabled]=\"isPreviousDisabled\" (click)=\"previousClicked($event)\">\n <odx-icon name=\"chevron-left\"></odx-icon>\n </button>\n\n <button odxButton class=\"odx-calendar-header__title\" (click)=\"changeView.emit()\">\n <ng-content></ng-content>\n </button>\n\n <button odxButton [disabled]=\"isNextDisabled\" (click)=\"nextClicked($event)\">\n <odx-icon name=\"chevron-right\"></odx-icon>\n </button>\n</odx-action-group>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "directive", type: i1.DisabledController, selector: "[disabled]", inputs: ["disabled"] }, { kind: "component", type: ActionGroupComponent, selector: "odx-action-group", inputs: ["reverse"] }, { kind: "component", type: ButtonComponent, selector: "button[odxButton], a[odxButton]", inputs: ["variant", "size"] }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
45
43
|
CalendarHeaderComponent = __decorate([
|
|
46
44
|
CSSComponent('calendar-header')
|
|
47
45
|
], CalendarHeaderComponent);
|
|
48
46
|
export { CalendarHeaderComponent };
|
|
49
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarHeaderComponent, decorators: [{
|
|
50
48
|
type: Component,
|
|
51
|
-
args: [{ selector: 'odx-calendar-header', standalone: true, imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<odx-action-group>\n <button odxButton (click)=\"previousClicked($event)\"
|
|
52
|
-
}], propDecorators: {
|
|
49
|
+
args: [{ selector: 'odx-calendar-header', standalone: true, imports: [CoreModule, ActionGroupComponent, ButtonComponent, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<odx-action-group>\n <button odxButton [disabled]=\"isPreviousDisabled\" (click)=\"previousClicked($event)\">\n <odx-icon name=\"chevron-left\"></odx-icon>\n </button>\n\n <button odxButton class=\"odx-calendar-header__title\" (click)=\"changeView.emit()\">\n <ng-content></ng-content>\n </button>\n\n <button odxButton [disabled]=\"isNextDisabled\" (click)=\"nextClicked($event)\">\n <odx-icon name=\"chevron-right\"></odx-icon>\n </button>\n</odx-action-group>\n" }]
|
|
50
|
+
}], propDecorators: { activeDate: [{
|
|
51
|
+
type: Input
|
|
52
|
+
}], calendarView: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], minDate: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], maxDate: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], previous: [{
|
|
53
59
|
type: Output
|
|
54
60
|
}], next: [{
|
|
55
61
|
type: Output
|
|
56
62
|
}], changeView: [{
|
|
57
63
|
type: Output
|
|
58
64
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1oZWFkZXIvY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1oZWFkZXIvY2FsZW5kYXItaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQWEsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBV3BFLElBQU0sdUJBQXVCLEdBQTdCLE1BQU0sdUJBQXVCO0lBQTdCO1FBQ0ssdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFlBQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQVNuQyxZQUFPLEdBQWlCLElBQUksQ0FBQztRQUc3QixZQUFPLEdBQWlCLElBQUksQ0FBQztRQUc3QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUcxQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUd0QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQWtCOUM7SUFoQlEsV0FBVyxDQUFDLE9BQTJDO1FBQzVELElBQUksVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ3BGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDcEg7SUFDSCxDQUFDO0lBRVMsZUFBZSxDQUFDLEtBQWlCO1FBQ3pDLElBQUksSUFBSSxDQUFDLGtCQUFrQjtZQUFFLE9BQU87UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVTLFdBQVcsQ0FBQyxLQUFpQjtRQUNyQyxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QixDQUFDOztvSEExQ1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMlJDbkJwQyxpZUFhQSwyQ0RDWSxVQUFVLGlJQUFFLG9CQUFvQixrRkFBRSxlQUFlLHlHQUFFLGFBQWE7QUFLL0QsdUJBQXVCO0lBVG5DLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztHQVNuQix1QkFBdUIsQ0EyQ25DO1NBM0NZLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLGFBQWEsQ0FBQyxtQkFFMUQsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs4QkFTOUIsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsUUFBUTtzQkFEZCxNQUFNO2dCQUlBLElBQUk7c0JBRFYsTUFBTTtnQkFJQSxVQUFVO3NCQURoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IEFjdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYWN0aW9uLWdyb3VwJztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvaWNvbic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaGFzQ2hhbmdlZCwgaW5qZWN0RWxlbWVudCwgTmdDaGFuZ2VzIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IENhbGVuZGFyVmlldyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyB2YWxpZGF0ZU5leHREYXRlU2V0LCB2YWxpZGF0ZVByZXZpb3VzRGF0ZVNldCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENTU0NvbXBvbmVudCgnY2FsZW5kYXItaGVhZGVyJylcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29keC1jYWxlbmRhci1oZWFkZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQWN0aW9uR3JvdXBDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgSWNvbkNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcm90ZWN0ZWQgaXNQcmV2aW91c0Rpc2FibGVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBpc05leHREaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyByZWFkb25seSBlbGVtZW50ID0gaW5qZWN0RWxlbWVudCgpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3RpdmVEYXRlITogRGF0ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FsZW5kYXJWaWV3ITogQ2FsZW5kYXJWaWV3O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtaW5EYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhEYXRlPzogRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcHJldmlvdXMgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBuZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2hhbmdlVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogTmdDaGFuZ2VzPENhbGVuZGFySGVhZGVyQ29tcG9uZW50Pik6IHZvaWQge1xuICAgIGlmIChoYXNDaGFuZ2VkKGNoYW5nZXMsIFsnYWN0aXZlRGF0ZScsICdjYWxlbmRhclZpZXcnLCAnbWluRGF0ZScsICdtYXhEYXRlJ10sIGZhbHNlKSkge1xuICAgICAgdGhpcy5pc1ByZXZpb3VzRGlzYWJsZWQgPSB0aGlzLm1pbkRhdGUgPyB2YWxpZGF0ZVByZXZpb3VzRGF0ZVNldCh0aGlzLm1pbkRhdGUsIHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5jYWxlbmRhclZpZXcpIDogZmFsc2U7XG4gICAgICB0aGlzLmlzTmV4dERpc2FibGVkID0gdGhpcy5tYXhEYXRlID8gdmFsaWRhdGVOZXh0RGF0ZVNldCh0aGlzLm1heERhdGUsIHRoaXMuYWN0aXZlRGF0ZSwgdGhpcy5jYWxlbmRhclZpZXcpIDogZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzQ2xpY2tlZChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzUHJldmlvdXNEaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMucHJldmlvdXMuZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dENsaWNrZWQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc05leHREaXNhYmxlZCkgcmV0dXJuO1xuICAgIHRoaXMubmV4dC5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPG9keC1hY3Rpb24tZ3JvdXA+XG4gIDxidXR0b24gb2R4QnV0dG9uIFtkaXNhYmxlZF09XCJpc1ByZXZpb3VzRGlzYWJsZWRcIiAoY2xpY2spPVwicHJldmlvdXNDbGlja2VkKCRldmVudClcIj5cbiAgICA8b2R4LWljb24gbmFtZT1cImNoZXZyb24tbGVmdFwiPjwvb2R4LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gb2R4QnV0dG9uIGNsYXNzPVwib2R4LWNhbGVuZGFyLWhlYWRlcl9fdGl0bGVcIiAoY2xpY2spPVwiY2hhbmdlVmlldy5lbWl0KClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvYnV0dG9uPlxuXG4gIDxidXR0b24gb2R4QnV0dG9uIFtkaXNhYmxlZF09XCJpc05leHREaXNhYmxlZFwiIChjbGljayk9XCJuZXh0Q2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgPG9keC1pY29uIG5hbWU9XCJjaGV2cm9uLXJpZ2h0XCI+PC9vZHgtaWNvbj5cbiAgPC9idXR0b24+XG48L29keC1hY3Rpb24tZ3JvdXA+XG4iXX0=
|
package/esm2020/components/calendar/lib/components/calendar-month/calendar-month.component.mjs
CHANGED
|
@@ -4,7 +4,7 @@ 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';
|
|
6
6
|
import { CalendarCellDirective, CalendarViewDirective } from '../../directives';
|
|
7
|
-
import {
|
|
7
|
+
import { CalendarView } from '../../models';
|
|
8
8
|
import { DateLabelPipe } from '../../pipes';
|
|
9
9
|
import { CalendarMonthService } from '../../services';
|
|
10
10
|
import { CalendarHeaderComponent } from '../calendar-header';
|
|
@@ -15,8 +15,8 @@ let CalendarMonthComponent = class CalendarMonthComponent extends CalendarViewDi
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super(...arguments);
|
|
17
17
|
this.calendarMonth = inject(CalendarMonthService);
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
18
|
+
this.nextView = CalendarView.Years;
|
|
19
|
+
this.currentView = CalendarView.Month;
|
|
20
20
|
this.selectedChange = new EventEmitter();
|
|
21
21
|
}
|
|
22
22
|
previousDay(event) {
|
|
@@ -45,15 +45,15 @@ let CalendarMonthComponent = class CalendarMonthComponent extends CalendarViewDi
|
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
CalendarMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarMonthComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
CalendarMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CalendarMonthComponent, isStandalone: true, selector: "odx-calendar-month", outputs: { selectedChange: "selectedChange" }, 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
|
|
48
|
+
CalendarMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CalendarMonthComponent, isStandalone: true, selector: "odx-calendar-month", outputs: { selectedChange: "selectedChange" }, 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 (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"] }, { 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 });
|
|
49
49
|
CalendarMonthComponent = __decorate([
|
|
50
50
|
CSSComponent('calendar-month')
|
|
51
51
|
], CalendarMonthComponent);
|
|
52
52
|
export { CalendarMonthComponent };
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarMonthComponent, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
|
-
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
|
|
55
|
+
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" }]
|
|
56
56
|
}], propDecorators: { selectedChange: [{
|
|
57
57
|
type: Output
|
|
58
58
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2NvbXBvbmVudHMvY2FsZW5kYXIvc3JjL2xpYi9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLW1vbnRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBWXRELElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXVCLFNBQVEscUJBQXFCO0lBQTFEOztRQUNjLGtCQUFhLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDN0MsYUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBRzdDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztLQWdDekQ7SUE5QlcsV0FBVyxDQUFDLEtBQVk7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFUyxPQUFPLENBQUMsS0FBWTtRQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFUyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVc7UUFDOUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU87UUFFdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7bUhBckNVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGdIQUZ0QixDQUFDLG9CQUFvQixDQUFDLGlEQ2xCbkMsOHFEQWtEQSwyQ0RwQ1ksVUFBVSxtVEFBRSxxQkFBcUIsc0xBQUUsdUJBQXVCLHNLQUFFLGFBQWE7QUFNeEUsc0JBQXNCO0lBVmxDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQztHQVVsQixzQkFBc0IsQ0FzQ2xDO1NBdENZLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxVQUFVLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxDQUFDLG1CQUVuRSx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsb0JBQW9CLENBQUM7OEJBUTFCLGNBQWM7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkRGF5cywgYWRkTW9udGhzLCBhZGRXZWVrcywgc3ViRGF5cywgc3ViTW9udGhzLCBzdWJXZWVrcyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IENhbGVuZGFyTW9udGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXJIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9jYWxlbmRhci1oZWFkZXInO1xuXG5AQ1NTQ29tcG9uZW50KCdjYWxlbmRhci1tb250aCcpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvZHgtY2FsZW5kYXItbW9udGgnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhckhlYWRlckNvbXBvbmVudCwgRGF0ZUxhYmVsUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci1tb250aC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtDYWxlbmRhck1vbnRoU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyTW9udGhDb21wb25lbnQgZXh0ZW5kcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJNb250aCA9IGluamVjdChDYWxlbmRhck1vbnRoU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBuZXh0VmlldyA9IENhbGVuZGFyVmlldy5ZZWFycztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbnRWaWV3ID0gQ2FsZW5kYXJWaWV3Lk1vbnRoO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgc2VsZWN0ZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xuXG4gIHByb3RlY3RlZCBwcmV2aW91c0RheShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1YkRheXModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dERheShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZERheXModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJldmlvdXNXZWVrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViV2Vla3ModGhpcy5hY3RpdmVEYXRlLCAxKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFdlZWsoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRXZWVrcyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c01vbnRoKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3REYXRlKHZhbHVlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXRlRGlzYWJsZWQodmFsdWUpKSByZXR1cm47XG5cbiAgICB0aGlzLmNhbGVuZGFyLnNlbGVjdERhdGUodmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIm9keC1jYWxlbmRhcl9fdGFibGVcIiByb2xlPVwiZ3JpZFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJvZHgtY2FsZW5kYXJcIj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aCBjb2xzcGFuPVwiN1wiPlxuICAgICAgICA8b2R4LWNhbGVuZGFyLWhlYWRlclxuICAgICAgICAgIFtjYWxlbmRhclZpZXddPVwiY3VycmVudFZpZXdcIlxuICAgICAgICAgIFthY3RpdmVEYXRlXT1cImFjdGl2ZURhdGVcIlxuICAgICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgICAgIChwcmV2aW91cyk9XCJwcmV2aW91c01vbnRoKCRldmVudClcIlxuICAgICAgICAgIChuZXh0KT1cIm5leHRNb250aCgkZXZlbnQpXCJcbiAgICAgICAgICAoY2hhbmdlVmlldyk9XCJjaGFuZ2VWaWV3KClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgYWN0aXZlRGF0ZSB8IG9keERhdGVMYWJlbDogY29uZmlnLm1vbnRoWWVhckxhYmVsIH19XG4gICAgICAgIDwvb2R4LWNhbGVuZGFyLWhlYWRlcj5cbiAgICAgIDwvdGg+XG4gICAgPC90cj5cblxuICAgIDx0ciBjbGFzcz1cIm9keC1jYWxlbmRhcl9fd2Vla2RheXNcIj5cbiAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgZGF5IG9mIGNhbGVuZGFyTW9udGgud2Vla0RheXMkIHwgYXN5bmNcIj5cbiAgICAgICAge3sgZGF5IHwgb2R4RGF0ZUxhYmVsOiBjb25maWcud2Vla0xhYmVsIH19XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGhlYWQ+XG5cbiAgPHRib2R5XG4gICAgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX2JvZHlcIlxuICAgIChrZXlkb3duLkFycm93TGVmdCk9XCJwcmV2aW91c0RheSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd1JpZ2h0KT1cIm5leHREYXkoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dVcCk9XCJwcmV2aW91c1dlZWsoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uQXJyb3dEb3duKT1cIm5leHRXZWVrKCRldmVudClcIlxuICAgIChrZXlkb3duLlBhZ2VVcCk9XCJwcmV2aW91c01vbnRoKCRldmVudClcIlxuICAgIChrZXlkb3duLlBhZ2VEb3duKT1cIm5leHRNb250aCgkZXZlbnQpXCJcbiAgPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgd2VlayBvZiBjYWxlbmRhck1vbnRoLndlZWtzJCB8IGFzeW5jOyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIj5cbiAgICAgIDx0ZCByb2xlPVwiZ3JpZGNlbGxcIiAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWs7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGF0ZURpc2FibGVkKGRheSlcIlxuICAgICAgICAgIFtvZHhDYWxlbmRhckNlbGxdPVwiZGF5XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQWN0aXZlRGF0ZV09XCJhY3RpdmVEYXRlXCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsQ2FsZW5kYXJWaWV3XT1cImN1cnJlbnRWaWV3XCJcbiAgICAgICAgICBbb2R4Q2FsZW5kYXJDZWxsU2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdERhdGUoZGF5KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBkYXkgfCBvZHhEYXRlTGFiZWw6IGNvbmZpZy5kYXlMYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvdGQ+XG4gICAgPC90cj5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG4iXX0=
|
package/esm2020/components/calendar/lib/components/calendar-year/calendar-year.component.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { CoreModule } from '@odx/angular';
|
|
|
4
4
|
import { CSSComponent } from '@odx/angular/internal';
|
|
5
5
|
import { addMonths, getMonth, setMonth, subMonths } from 'date-fns';
|
|
6
6
|
import { CalendarCellDirective, CalendarViewDirective } from '../../directives';
|
|
7
|
-
import {
|
|
7
|
+
import { CalendarView } from '../../models';
|
|
8
8
|
import { DateLabelPipe } from '../../pipes';
|
|
9
9
|
import { CalendarYearService } from '../../services';
|
|
10
10
|
import { CalendarHeaderComponent } from '../calendar-header';
|
|
@@ -15,8 +15,8 @@ let CalendarYearComponent = class CalendarYearComponent extends CalendarViewDire
|
|
|
15
15
|
constructor() {
|
|
16
16
|
super(...arguments);
|
|
17
17
|
this.calendarYear = inject(CalendarYearService);
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
18
|
+
this.nextView = CalendarView.Month;
|
|
19
|
+
this.currentView = CalendarView.Year;
|
|
20
20
|
}
|
|
21
21
|
previousMonth(event) {
|
|
22
22
|
this.updateActiveDate(event, subMonths(this.activeDate, 1));
|
|
@@ -39,19 +39,19 @@ let CalendarYearComponent = class CalendarYearComponent extends CalendarViewDire
|
|
|
39
39
|
selectDate(value) {
|
|
40
40
|
if (this.isDateDisabled(value))
|
|
41
41
|
return;
|
|
42
|
-
const date = setMonth(this.
|
|
42
|
+
const date = setMonth(this.activeDate, getMonth(value));
|
|
43
43
|
this.calendar.selectDate(date);
|
|
44
44
|
this.changeView();
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
CalendarYearComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
CalendarYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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
|
|
48
|
+
CalendarYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", 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 });
|
|
49
49
|
CalendarYearComponent = __decorate([
|
|
50
50
|
CSSComponent('calendar-year')
|
|
51
51
|
], CalendarYearComponent);
|
|
52
52
|
export { CalendarYearComponent };
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CalendarYearComponent, decorators: [{
|
|
54
54
|
type: Component,
|
|
55
|
-
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
|
|
55
|
+
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" }]
|
|
56
56
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIteWVhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvY29tcG9uZW50cy9jYWxlbmRhci9zcmMvbGliL2NvbXBvbmVudHMvY2FsZW5kYXIteWVhci9jYWxlbmRhci15ZWFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9jb21wb25lbnRzL2NhbGVuZGFyL3NyYy9saWIvY29tcG9uZW50cy9jYWxlbmRhci15ZWFyL2NhbGVuZGFyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7O0FBWXRELElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEscUJBQXFCO0lBQXpEOztRQUNjLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDM0MsYUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO0tBa0NwRDtJQWhDVyxhQUFhLENBQUMsS0FBWTtRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRVMsY0FBYyxDQUFDLEtBQVk7UUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBWTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsUUFBUSxDQUFDLEtBQVk7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFUyxVQUFVLENBQUMsS0FBVztRQUM5QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTztRQUV2QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUvQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7a0hBcENVLHFCQUFxQjtzR0FBckIscUJBQXFCLGdFQUZyQixDQUFDLG1CQUFtQixDQUFDLGlEQ2xCbEMsa2lEQTRDQSwyQ0Q5QlksVUFBVSxtVEFBRSxxQkFBcUIsc0xBQUUsdUJBQXVCLHNLQUFFLGFBQWE7QUFNeEUscUJBQXFCO0lBVmpDLFlBQVksQ0FBQyxlQUFlLENBQUM7R0FVakIscUJBQXFCLENBcUNqQztTQXJDWSxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFUakMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsVUFBVSxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLGFBQWEsQ0FBQyxtQkFFbkUsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBDU1NDb21wb25lbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvaW50ZXJuYWwnO1xuaW1wb3J0IHsgYWRkTW9udGhzLCBnZXRNb250aCwgc2V0TW9udGgsIHN1Yk1vbnRocyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IENhbGVuZGFyQ2VsbERpcmVjdGl2ZSwgQ2FsZW5kYXJWaWV3RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBDYWxlbmRhclZpZXcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRGF0ZUxhYmVsUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzJztcbmltcG9ydCB7IENhbGVuZGFyWWVhclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDYWxlbmRhckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4uL2NhbGVuZGFyLWhlYWRlcic7XG5cbkBDU1NDb21wb25lbnQoJ2NhbGVuZGFyLXllYXInKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnb2R4LWNhbGVuZGFyLXllYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLCBDYWxlbmRhckhlYWRlckNvbXBvbmVudCwgRGF0ZUxhYmVsUGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci15ZWFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW0NhbGVuZGFyWWVhclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhclllYXJDb21wb25lbnQgZXh0ZW5kcyBDYWxlbmRhclZpZXdEaXJlY3RpdmUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJZZWFyID0gaW5qZWN0KENhbGVuZGFyWWVhclNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmV4dFZpZXcgPSBDYWxlbmRhclZpZXcuTW9udGg7XG4gIHByb3RlY3RlZCByZWFkb25seSBjdXJyZW50VmlldyA9IENhbGVuZGFyVmlldy5ZZWFyO1xuXG4gIHByb3RlY3RlZCBwcmV2aW91c01vbnRoKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgc3ViTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG5leHRNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIGFkZE1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2aW91c1NlYXNvbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDMpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0U2Vhc29uKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlQWN0aXZlRGF0ZShldmVudCwgYWRkTW9udGhzKHRoaXMuYWN0aXZlRGF0ZSwgMykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzWWVhcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUFjdGl2ZURhdGUoZXZlbnQsIHN1Yk1vbnRocyh0aGlzLmFjdGl2ZURhdGUsIDEyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbmV4dFllYXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVBY3RpdmVEYXRlKGV2ZW50LCBhZGRNb250aHModGhpcy5hY3RpdmVEYXRlLCAxMikpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNlbGVjdERhdGUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0RhdGVEaXNhYmxlZCh2YWx1ZSkpIHJldHVybjtcblxuICAgIGNvbnN0IGRhdGUgPSBzZXRNb250aCh0aGlzLmFjdGl2ZURhdGUsIGdldE1vbnRoKHZhbHVlKSk7XG4gICAgdGhpcy5jYWxlbmRhci5zZWxlY3REYXRlKGRhdGUpO1xuXG4gICAgdGhpcy5jaGFuZ2VWaWV3KCk7XG4gIH1cbn1cbiIsIjx0YWJsZSBjbGFzcz1cIm9keC1jYWxlbmRhcl9fdGFibGVcIiByb2xlPVwiZ3JpZFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJvZHgtY2FsZW5kYXJcIj5cbiAgPHRoZWFkPlxuICAgIDx0cj5cbiAgICAgIDx0aCBjb2xzcGFuPVwiM1wiPlxuICAgICAgICA8b2R4LWNhbGVuZGFyLWhlYWRlclxuICAgICAgICAgIChwcmV2aW91cyk9XCJwcmV2aW91c1llYXIoJGV2ZW50KVwiXG4gICAgICAgICAgW2NhbGVuZGFyVmlld109XCJjdXJyZW50Vmlld1wiXG4gICAgICAgICAgW2FjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXG4gICAgICAgICAgKG5leHQpPVwibmV4dFllYXIoJGV2ZW50KVwiXG4gICAgICAgICAgKGNoYW5nZVZpZXcpPVwiY2hhbmdlVmlldygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGFjdGl2ZURhdGUgfCBvZHhEYXRlTGFiZWw6IGNvbmZpZy55ZWFyTGFiZWwgfX1cbiAgICAgICAgPC9vZHgtY2FsZW5kYXItaGVhZGVyPlxuICAgICAgPC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuXG4gIDx0Ym9keVxuICAgIGNsYXNzPVwib2R4LWNhbGVuZGFyX19ib2R5XCJcbiAgICAoa2V5ZG93bi5BcnJvd0xlZnQpPVwicHJldmlvdXNNb250aCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd1JpZ2h0KT1cIm5leHRNb250aCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5BcnJvd1VwKT1cInByZXZpb3VzU2Vhc29uKCRldmVudClcIlxuICAgIChrZXlkb3duLkFycm93RG93bik9XCJuZXh0U2Vhc29uKCRldmVudClcIlxuICAgIChrZXlkb3duLlBhZ2VEb3duKT1cIm5leHRZZWFyKCRldmVudClcIlxuICAgIChrZXlkb3duLlBhZ2VVcCk9XCJwcmV2aW91c1llYXIoJGV2ZW50KVwiXG4gID5cbiAgICA8dHIgY2xhc3M9XCJvZHgtY2FsZW5kYXJfX3NlYXNvblwiICpuZ0Zvcj1cImxldCBzZWFzb24gb2YgY2FsZW5kYXJZZWFyLnNlYXNvbnMkIHwgYXN5bmM7IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuICAgICAgPHRkIHJvbGU9XCJncmlkY2VsbFwiICpuZ0Zvcj1cImxldCBtb250aCBvZiBzZWFzb247IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzRGF0ZURpc2FibGVkKG1vbnRoKVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbF09XCJtb250aFwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbEFjdGl2ZURhdGVdPVwiYWN0aXZlRGF0ZVwiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbENhbGVuZGFyVmlld109XCJjdXJyZW50Vmlld1wiXG4gICAgICAgICAgW29keENhbGVuZGFyQ2VsbFNlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGVcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKG1vbnRoKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBtb250aCB8IG9keERhdGVMYWJlbDogY29uZmlnLm1vbnRoTGFiZWwgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuIl19
|