@wlcm/angular 17.4.1 → 17.5.2
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/core/esm2022/index.mjs +7 -8
- package/core/esm2022/lib/constants/_index.mjs +3 -0
- package/core/esm2022/lib/directives/_index.mjs +2 -0
- package/core/esm2022/lib/directives/icon.directive.mjs +8 -3
- package/core/esm2022/lib/models/_index.mjs +5 -0
- package/core/fesm2022/wlcm-angular-core.mjs +42 -37
- package/core/fesm2022/wlcm-angular-core.mjs.map +1 -1
- package/core/index.d.ts +3 -7
- package/core/lib/constants/_index.d.ts +2 -0
- package/core/lib/directives/_index.d.ts +1 -0
- package/core/lib/directives/icon.directive.d.ts +2 -1
- package/core/lib/models/_index.d.ts +4 -0
- package/{date-range-picker → datepicker}/README.md +2 -2
- package/datepicker/esm2022/index.mjs +10 -0
- package/datepicker/esm2022/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.mjs +54 -0
- package/datepicker/esm2022/lib/components/range/date-range-picker/date-range-picker.component.mjs +170 -0
- package/{date-range-picker/esm2022/lib/components → datepicker/esm2022/lib/components/range}/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +1 -1
- package/datepicker/esm2022/lib/components/range/date-range-picker-input/date-range-picker-input.component.mjs +122 -0
- package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +88 -0
- package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +27 -0
- package/datepicker/esm2022/lib/constants/datepicker.constants.mjs +20 -0
- package/datepicker/esm2022/lib/constants/range/date-range-picker.constants.mjs +3 -0
- package/datepicker/esm2022/lib/constants/range/date-range-selection-model.constants.mjs +10 -0
- package/datepicker/esm2022/lib/constants/range/date-range-trigger-selection-model.constants.mjs +10 -0
- package/datepicker/esm2022/lib/datepicker.module.mjs +33 -0
- package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +80 -0
- package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +80 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +77 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +77 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +49 -0
- package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +46 -0
- package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +59 -0
- package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +67 -0
- package/datepicker/esm2022/lib/models/date-picker.models.mjs +27 -0
- package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +43 -0
- package/datepicker/esm2022/lib/models/range/date-range-picker.models.mjs +2 -0
- package/datepicker/esm2022/lib/models/range/date-range-validation.models.mjs +5 -0
- package/datepicker/esm2022/lib/utils/range/date-range-input.validators.mjs +16 -0
- package/datepicker/esm2022/lib/utils/range/date-range-picker-errors.mjs +9 -0
- package/datepicker/esm2022/wlcm-angular-datepicker.mjs +5 -0
- package/{date-range-picker/fesm2022/wlcm-angular-date-range-picker.mjs → datepicker/fesm2022/wlcm-angular-datepicker.mjs} +761 -572
- package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -0
- package/datepicker/index.d.ts +9 -0
- package/datepicker/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.d.ts +18 -0
- package/{date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker/date-range-picker.component.d.ts +8 -7
- package/{date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker-input/date-range-picker-input.component.d.ts +4 -3
- package/datepicker/lib/components/single/datepicker-input-container/datepicker-input-container.component.d.ts +30 -0
- package/datepicker/lib/components/single/datepicker-panel/datepicker-panel.component.d.ts +13 -0
- package/datepicker/lib/constants/datepicker.constants.d.ts +4 -0
- package/datepicker/lib/constants/range/date-range-picker.constants.d.ts +3 -0
- package/datepicker/lib/datepicker.module.d.ts +12 -0
- package/{date-range-picker/lib/directives/date-range-picker-input-base.directive.d.ts → datepicker/lib/directives/datepicker-input.base.d.ts} +12 -15
- package/datepicker/lib/directives/datepicker-trigger.base.d.ts +26 -0
- package/{date-range-picker/lib/directives → datepicker/lib/directives/ragne}/date-range-picker-input-end.directive.d.ts +5 -3
- package/{date-range-picker/lib/directives → datepicker/lib/directives/ragne}/date-range-picker-input-start.directive.d.ts +5 -3
- package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +20 -0
- package/{date-range-picker/lib/directives → datepicker/lib/directives/ragne}/left-calendar.directive.d.ts +1 -1
- package/{date-range-picker/lib/directives → datepicker/lib/directives/ragne}/right-calendar.directive.d.ts +1 -1
- package/datepicker/lib/directives/single/datepicker-input.directive.d.ts +21 -0
- package/datepicker/lib/models/date-picker.models.d.ts +10 -0
- package/datepicker/lib/models/range/date-range-picker.models.d.ts +4 -0
- package/datepicker/lib/models/range/date-range-validation.models.d.ts +3 -0
- package/forms/esm2022/lib/forms/components/select/select.component.mjs +3 -3
- package/forms/fesm2022/wlcm-angular-forms.mjs +2 -2
- package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
- package/package.json +6 -6
- package/shared/calendar/esm2022/index.mjs +4 -0
- package/shared/calendar/esm2022/lib/calendar.module.mjs +21 -0
- package/shared/calendar/esm2022/lib/components/calendar-header/calendar-header.component.mjs +107 -0
- package/shared/calendar/esm2022/lib/directives/calendar.directive.mjs +15 -0
- package/shared/calendar/esm2022/wlcm-angular-calendar.mjs +5 -0
- package/shared/calendar/index.d.ts +3 -0
- package/shared/calendar/lib/calendar.module.d.ts +9 -0
- package/shared/calendar/lib/components/calendar-header/calendar-header.component.d.ts +22 -0
- package/shared/calendar/lib/directives/calendar.directive.d.ts +5 -0
- package/styles/components/calendar/_calendar.scss +110 -0
- package/styles/components/calendar/index.scss +7 -0
- package/styles/components/date-range-picker/_date-range-picker-body.scss +0 -104
- package/styles/components/date-range-picker/index.scss +0 -2
- package/styles/components/datepicker/_datepicker-input-container.scss +11 -0
- package/styles/components/datepicker/_datepicker-panel.scss +15 -0
- package/styles/components/datepicker/index.scss +7 -0
- package/styles/core/_all-theme.scss +7 -3
- package/date-range-picker/esm2022/index.mjs +0 -7
- package/date-range-picker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +0 -62
- package/date-range-picker/esm2022/lib/components/date-range-picker/date-range-picker.component.mjs +0 -157
- package/date-range-picker/esm2022/lib/components/date-range-picker-input/date-range-picker-input.component.mjs +0 -122
- package/date-range-picker/esm2022/lib/constants/date-range-selection-model.constants.mjs +0 -10
- package/date-range-picker/esm2022/lib/constants/date-range-trigger-selection-model.constants.mjs +0 -10
- package/date-range-picker/esm2022/lib/date-range-picker.module.mjs +0 -67
- package/date-range-picker/esm2022/lib/directives/date-range-picker-input-base.directive.mjs +0 -93
- package/date-range-picker/esm2022/lib/directives/date-range-picker-input-end.directive.mjs +0 -65
- package/date-range-picker/esm2022/lib/directives/date-range-picker-input-start.directive.mjs +0 -65
- package/date-range-picker/esm2022/lib/directives/date-range-picker-trigger.directive.mjs +0 -80
- package/date-range-picker/esm2022/lib/directives/left-calendar.directive.mjs +0 -46
- package/date-range-picker/esm2022/lib/directives/right-calendar.directive.mjs +0 -59
- package/date-range-picker/esm2022/lib/models/data-range-calendar.models.mjs +0 -43
- package/date-range-picker/esm2022/lib/models/date-range-validation.models.mjs +0 -5
- package/date-range-picker/esm2022/lib/services/date-adapter.service.mjs +0 -23
- package/date-range-picker/esm2022/lib/utils/date-range-input.validators.mjs +0 -16
- package/date-range-picker/esm2022/lib/utils/date-range-picker-errors.mjs +0 -9
- package/date-range-picker/esm2022/wlcm-angular-date-range-picker.mjs +0 -5
- package/date-range-picker/fesm2022/wlcm-angular-date-range-picker.mjs.map +0 -1
- package/date-range-picker/index.d.ts +0 -6
- package/date-range-picker/lib/components/calendar-header/calendar-header.component.d.ts +0 -19
- package/date-range-picker/lib/date-range-picker.module.d.ts +0 -12
- package/date-range-picker/lib/directives/date-range-picker-trigger.directive.d.ts +0 -26
- package/date-range-picker/lib/models/date-range-validation.models.d.ts +0 -3
- package/date-range-picker/lib/services/date-adapter.service.d.ts +0 -7
- /package/{date-range-picker/lib/components → datepicker/lib/components/range}/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.d.ts +0 -0
- /package/{date-range-picker/lib/constants → datepicker/lib/constants/range}/date-range-selection-model.constants.d.ts +0 -0
- /package/{date-range-picker/lib/constants → datepicker/lib/constants/range}/date-range-trigger-selection-model.constants.d.ts +0 -0
- /package/{date-range-picker/lib/models → datepicker/lib/models/range}/data-range-calendar.models.d.ts +0 -0
- /package/{date-range-picker/lib/utils → datepicker/lib/utils/range}/date-range-input.validators.d.ts +0 -0
- /package/{date-range-picker/lib/utils → datepicker/lib/utils/range}/date-range-picker-errors.d.ts +0 -0
- /package/styles/components/{date-range-picker/_date-range-picker-header.scss → calendar/_calendar-header.scss} +0 -0
- /package/styles/components/phone-input/{indes.scss → index.scss} +0 -0
- /package/styles/components/stepper/{indes.scss → index.scss} +0 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
import { NgModule } from '@angular/core';
|
2
|
+
import { CommonModule } from '@angular/common';
|
3
|
+
import { WlcmDatepickerInputContainerComponent } from './components/single/datepicker-input-container/datepicker-input-container.component';
|
4
|
+
import { WlcmDateRangePickerInputComponent } from './components/range/date-range-picker-input/date-range-picker-input.component';
|
5
|
+
import { DateRangePickerInputStartDirective } from './directives/ragne/date-range-picker-input-start.directive';
|
6
|
+
import { DateRangePickerInputEndDirective } from './directives/ragne/date-range-picker-input-end.directive';
|
7
|
+
import { WlcmDatepickerInputDirective } from './directives/single/datepicker-input.directive';
|
8
|
+
import { WLCM_DEFAULT_DATEPICKER_PROVIDERS } from './constants/datepicker.constants';
|
9
|
+
import * as i0 from "@angular/core";
|
10
|
+
const publicComponents = [WlcmDatepickerInputContainerComponent, WlcmDateRangePickerInputComponent];
|
11
|
+
const publicDirectives = [
|
12
|
+
WlcmDatepickerInputDirective,
|
13
|
+
DateRangePickerInputStartDirective,
|
14
|
+
DateRangePickerInputEndDirective,
|
15
|
+
];
|
16
|
+
export class WlcmDatepickerModule {
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerModule, imports: [CommonModule, WlcmDatepickerInputContainerComponent, WlcmDateRangePickerInputComponent, WlcmDatepickerInputDirective,
|
19
|
+
DateRangePickerInputStartDirective,
|
20
|
+
DateRangePickerInputEndDirective], exports: [WlcmDatepickerInputContainerComponent, WlcmDateRangePickerInputComponent, WlcmDatepickerInputDirective,
|
21
|
+
DateRangePickerInputStartDirective,
|
22
|
+
DateRangePickerInputEndDirective] }); }
|
23
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerModule, providers: [...WLCM_DEFAULT_DATEPICKER_PROVIDERS], imports: [CommonModule, publicComponents] }); }
|
24
|
+
}
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerModule, decorators: [{
|
26
|
+
type: NgModule,
|
27
|
+
args: [{
|
28
|
+
imports: [CommonModule, ...publicComponents, ...publicDirectives],
|
29
|
+
exports: [...publicComponents, ...publicDirectives],
|
30
|
+
providers: [...WLCM_DEFAULT_DATEPICKER_PROVIDERS],
|
31
|
+
}]
|
32
|
+
}] });
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9kYXRlcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxxRkFBcUYsQ0FBQztBQUM1SSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFFckYsTUFBTSxnQkFBZ0IsR0FBb0IsQ0FBQyxxQ0FBcUMsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO0FBRXJILE1BQU0sZ0JBQWdCLEdBQW9CO0lBQ3hDLDRCQUE0QjtJQUM1QixrQ0FBa0M7SUFDbEMsZ0NBQWdDO0NBQ2pDLENBQUM7QUFPRixNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQUpyQixZQUFZLEVBVG1CLHFDQUFxQyxFQUFFLGlDQUFpQyxFQUdqSCw0QkFBNEI7WUFDNUIsa0NBQWtDO1lBQ2xDLGdDQUFnQyxhQUxTLHFDQUFxQyxFQUFFLGlDQUFpQyxFQUdqSCw0QkFBNEI7WUFDNUIsa0NBQWtDO1lBQ2xDLGdDQUFnQzsrR0FRckIsb0JBQW9CLGFBRnBCLENBQUMsR0FBRyxpQ0FBaUMsQ0FBQyxZQUZ2QyxZQUFZLEVBQUssZ0JBQWdCOzsyRkFJaEMsb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxHQUFHLGdCQUFnQixFQUFFLEdBQUcsZ0JBQWdCLENBQUM7b0JBQ2pFLE9BQU8sRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztvQkFDbkQsU0FBUyxFQUFFLENBQUMsR0FBRyxpQ0FBaUMsQ0FBQztpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VySW5wdXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2luZ2xlL2RhdGVwaWNrZXItaW5wdXQtY29udGFpbmVyL2RhdGVwaWNrZXItaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXbGNtRGF0ZVJhbmdlUGlja2VySW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmFuZ2UvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVSYW5nZVBpY2tlcklucHV0U3RhcnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcmFnbmUvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtc3RhcnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IERhdGVSYW5nZVBpY2tlcklucHV0RW5kRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JhZ25lL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LWVuZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zaW5nbGUvZGF0ZXBpY2tlci1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV0xDTV9ERUZBVUxUX0RBVEVQSUNLRVJfUFJPVklERVJTIH0gZnJvbSAnLi9jb25zdGFudHMvZGF0ZXBpY2tlci5jb25zdGFudHMnO1xuXG5jb25zdCBwdWJsaWNDb21wb25lbnRzOiBUeXBlPHVua25vd24+W10gPSBbV2xjbURhdGVwaWNrZXJJbnB1dENvbnRhaW5lckNvbXBvbmVudCwgV2xjbURhdGVSYW5nZVBpY2tlcklucHV0Q29tcG9uZW50XTtcblxuY29uc3QgcHVibGljRGlyZWN0aXZlczogVHlwZTx1bmtub3duPltdID0gW1xuICBXbGNtRGF0ZXBpY2tlcklucHV0RGlyZWN0aXZlLFxuICBEYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0RGlyZWN0aXZlLFxuICBEYXRlUmFuZ2VQaWNrZXJJbnB1dEVuZERpcmVjdGl2ZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLnB1YmxpY0NvbXBvbmVudHMsIC4uLnB1YmxpY0RpcmVjdGl2ZXNdLFxuICBleHBvcnRzOiBbLi4ucHVibGljQ29tcG9uZW50cywgLi4ucHVibGljRGlyZWN0aXZlc10sXG4gIHByb3ZpZGVyczogWy4uLldMQ01fREVGQVVMVF9EQVRFUElDS0VSX1BST1ZJREVSU10sXG59KVxuZXhwb3J0IGNsYXNzIFdsY21EYXRlcGlja2VyTW9kdWxlIHt9XG4iXX0=
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { Directive, ElementRef, HostListener } from '@angular/core';
|
2
|
+
import { DateAdapter } from '@angular/material/core';
|
3
|
+
import { format, isValid, parse } from 'date-fns';
|
4
|
+
import { WlcmDateValidation } from '../models/date-picker.models';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
import * as i1 from "@angular/material/core";
|
7
|
+
export class WlcmDatepickerInputBase {
|
8
|
+
handleBlur() {
|
9
|
+
this.updateSelection();
|
10
|
+
this._touched?.();
|
11
|
+
}
|
12
|
+
handleInput() {
|
13
|
+
if (this.isValidFormat(this.currentValue, this.dateFormats.parse.dateInput)) {
|
14
|
+
this.updateSelection();
|
15
|
+
}
|
16
|
+
this._validatorChanged?.();
|
17
|
+
}
|
18
|
+
constructor(element, dateAdapter, dateFormats) {
|
19
|
+
this.element = element;
|
20
|
+
this.dateAdapter = dateAdapter;
|
21
|
+
this.dateFormats = dateFormats;
|
22
|
+
}
|
23
|
+
writeValue(value) {
|
24
|
+
this.updateInputValue(value);
|
25
|
+
}
|
26
|
+
registerOnChange(callback) {
|
27
|
+
this._changed = callback;
|
28
|
+
}
|
29
|
+
registerOnTouched(callback) {
|
30
|
+
this._touched = callback;
|
31
|
+
}
|
32
|
+
registerOnValidatorChange(callback) {
|
33
|
+
this._validatorChanged = callback;
|
34
|
+
}
|
35
|
+
validate() {
|
36
|
+
if (!this.currentValue)
|
37
|
+
return null;
|
38
|
+
const isValid = this.isValidFormat(this.currentValue, this.dateFormats.parse.dateInput);
|
39
|
+
if (!isValid) {
|
40
|
+
return {
|
41
|
+
[WlcmDateValidation.Format]: { value: this.currentValue, format: this.dateFormats.parse.dateInput },
|
42
|
+
required: false,
|
43
|
+
};
|
44
|
+
}
|
45
|
+
return null;
|
46
|
+
}
|
47
|
+
parseCurrentValue() {
|
48
|
+
const date = this.dateAdapter.parse(this.currentValue, this.dateFormats.parse.dateInput);
|
49
|
+
return this.dateAdapter.getValidDateOrNull(date);
|
50
|
+
}
|
51
|
+
isValidFormat(value, pattern) {
|
52
|
+
const parsedDate = parse(value, pattern, new Date());
|
53
|
+
return isValid(parsedDate) && value === format(parsedDate, pattern);
|
54
|
+
}
|
55
|
+
get inputElement() {
|
56
|
+
return this.element.nativeElement;
|
57
|
+
}
|
58
|
+
get currentValue() {
|
59
|
+
return this.inputElement.value;
|
60
|
+
}
|
61
|
+
updateInputValue(value) {
|
62
|
+
let newValue = '';
|
63
|
+
if (value) {
|
64
|
+
newValue = this.dateAdapter.format(value, this.dateFormats.display.dateInput);
|
65
|
+
}
|
66
|
+
this.inputElement.value = newValue;
|
67
|
+
}
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerInputBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
69
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmDatepickerInputBase, host: { listeners: { "blur": "handleBlur()", "input": "handleInput()" } }, ngImport: i0 }); }
|
70
|
+
}
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerInputBase, decorators: [{
|
72
|
+
type: Directive
|
73
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined }], propDecorators: { handleBlur: [{
|
74
|
+
type: HostListener,
|
75
|
+
args: ['blur']
|
76
|
+
}], handleInput: [{
|
77
|
+
type: HostListener,
|
78
|
+
args: ['input']
|
79
|
+
}] } });
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbnB1dC5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvZGlyZWN0aXZlcy9kYXRlcGlja2VyLWlucHV0LmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxXQUFXLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHbEUsTUFBTSxPQUFnQix1QkFBdUI7SUFDckIsVUFBVTtRQUM5QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVzQixXQUFXO1FBQ2hDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDNUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFRRCxZQUNZLE9BQW1CLEVBQ25CLFdBQThCLEVBQzlCLFdBQTJCO1FBRjNCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtJQUNwQyxDQUFDO0lBRUosVUFBVSxDQUFDLEtBQWtCO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBc0M7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQW9CO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxRQUFvQjtRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFcEMsTUFBTSxPQUFPLEdBQVksSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87Z0JBQ0wsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7Z0JBQ25HLFFBQVEsRUFBRSxLQUFLO2FBQ2hCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxJQUFJLEdBQWdCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEcsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFUyxhQUFhLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDcEQsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXJELE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFJRCxJQUFjLFlBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBYyxZQUFZO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVTLGdCQUFnQixDQUFDLEtBQWtCO1FBQzNDLElBQUksUUFBUSxHQUFXLEVBQUUsQ0FBQztRQUUxQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRixDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQ3JDLENBQUM7OEdBeEZtQix1QkFBdUI7a0dBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFENUMsU0FBUzs4SEFFYyxVQUFVO3NCQUEvQixZQUFZO3VCQUFDLE1BQU07Z0JBTUcsV0FBVztzQkFBakMsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IGZvcm1hdCwgaXNWYWxpZCwgcGFyc2UgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBXbGNtRGF0ZVZhbGlkYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZGF0ZS1waWNrZXIubW9kZWxzJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2xjbURhdGVwaWNrZXJJbnB1dEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIHtcbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpIGhhbmRsZUJsdXIoKSB7XG4gICAgdGhpcy51cGRhdGVTZWxlY3Rpb24oKTtcblxuICAgIHRoaXMuX3RvdWNoZWQ/LigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnKSBoYW5kbGVJbnB1dCgpIHtcbiAgICBpZiAodGhpcy5pc1ZhbGlkRm9ybWF0KHRoaXMuY3VycmVudFZhbHVlLCB0aGlzLmRhdGVGb3JtYXRzLnBhcnNlLmRhdGVJbnB1dCkpIHtcbiAgICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlZD8uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NoYW5nZWQ/OiAodmFsdWU6IERhdGUgfCBudWxsKSA9PiB2b2lkO1xuXG4gIHByb3RlY3RlZCBfdG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0b3JDaGFuZ2VkPzogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcm90ZWN0ZWQgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGU+LFxuICAgIHByb3RlY3RlZCBkYXRlRm9ybWF0czogTWF0RGF0ZUZvcm1hdHNcbiAgKSB7fVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoY2FsbGJhY2s6ICh2YWx1ZTogRGF0ZSB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGFuZ2VkID0gY2FsbGJhY2s7XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChjYWxsYmFjazogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX3RvdWNoZWQgPSBjYWxsYmFjaztcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoY2FsbGJhY2s6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2VkID0gY2FsbGJhY2s7XG4gIH1cblxuICB2YWxpZGF0ZSgpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRWYWx1ZSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBpc1ZhbGlkOiBib29sZWFuID0gdGhpcy5pc1ZhbGlkRm9ybWF0KHRoaXMuY3VycmVudFZhbHVlLCB0aGlzLmRhdGVGb3JtYXRzLnBhcnNlLmRhdGVJbnB1dCk7XG5cbiAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtXbGNtRGF0ZVZhbGlkYXRpb24uRm9ybWF0XTogeyB2YWx1ZTogdGhpcy5jdXJyZW50VmFsdWUsIGZvcm1hdDogdGhpcy5kYXRlRm9ybWF0cy5wYXJzZS5kYXRlSW5wdXQgfSxcbiAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHBhcnNlQ3VycmVudFZhbHVlKCk6IERhdGUgfCBudWxsIHtcbiAgICBjb25zdCBkYXRlOiBEYXRlIHwgbnVsbCA9IHRoaXMuZGF0ZUFkYXB0ZXIucGFyc2UodGhpcy5jdXJyZW50VmFsdWUsIHRoaXMuZGF0ZUZvcm1hdHMucGFyc2UuZGF0ZUlucHV0KTtcblxuICAgIHJldHVybiB0aGlzLmRhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChkYXRlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1ZhbGlkRm9ybWF0KHZhbHVlOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBhcnNlZERhdGUgPSBwYXJzZSh2YWx1ZSwgcGF0dGVybiwgbmV3IERhdGUoKSk7XG5cbiAgICByZXR1cm4gaXNWYWxpZChwYXJzZWREYXRlKSAmJiB2YWx1ZSA9PT0gZm9ybWF0KHBhcnNlZERhdGUsIHBhdHRlcm4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHVwZGF0ZVNlbGVjdGlvbigpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBnZXQgaW5wdXRFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY3VycmVudFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUlucHV0VmFsdWUodmFsdWU6IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgbGV0IG5ld1ZhbHVlOiBzdHJpbmcgPSAnJztcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgbmV3VmFsdWUgPSB0aGlzLmRhdGVBZGFwdGVyLmZvcm1hdCh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0cy5kaXNwbGF5LmRhdGVJbnB1dCk7XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUgPSBuZXdWYWx1ZTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { OverlayRef, Overlay, CdkOverlayOrigin, OverlayConfig, } from '@angular/cdk/overlay';
|
3
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
4
|
+
import { Directive, ViewContainerRef, Injector } from '@angular/core';
|
5
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
6
|
+
import { MatDateSelectionModel } from '@angular/material/datepicker';
|
7
|
+
import { merge, EMPTY, filter } from 'rxjs';
|
8
|
+
import * as i0 from "@angular/core";
|
9
|
+
import * as i1 from "@angular/cdk/overlay";
|
10
|
+
import * as i2 from "@angular/material/datepicker";
|
11
|
+
let WlcmDatepickerTrigger = class WlcmDatepickerTrigger {
|
12
|
+
constructor(overlay, viewContainerRef, selectionModel) {
|
13
|
+
this.overlay = overlay;
|
14
|
+
this.viewContainerRef = viewContainerRef;
|
15
|
+
this.selectionModel = selectionModel;
|
16
|
+
this.overlayRef = this.overlay.create(this.createOverlayConfig());
|
17
|
+
this.handleBackdropClick();
|
18
|
+
}
|
19
|
+
open() {
|
20
|
+
const injector = Injector.create({
|
21
|
+
providers: [{ provide: OverlayRef, useValue: this.overlayRef }],
|
22
|
+
parent: this.viewContainerRef.injector,
|
23
|
+
});
|
24
|
+
const portal = new ComponentPortal(this.componentType, this.viewContainerRef, injector);
|
25
|
+
this.updatePositionStrategy();
|
26
|
+
this.componentRef = this.overlayRef.attach(portal);
|
27
|
+
}
|
28
|
+
close() {
|
29
|
+
this.overlayRef.detach();
|
30
|
+
}
|
31
|
+
get isOpen() {
|
32
|
+
return this.overlayRef.hasAttached();
|
33
|
+
}
|
34
|
+
get opened() {
|
35
|
+
return merge(this.overlayRef?.attachments() || EMPTY).pipe(filter(() => this.overlayRef.hasAttached()));
|
36
|
+
}
|
37
|
+
get closed() {
|
38
|
+
return (this.overlayRef?.detachments() || EMPTY).pipe(filter(() => !this.overlayRef.hasAttached()));
|
39
|
+
}
|
40
|
+
get overlayOrigin() {
|
41
|
+
return new CdkOverlayOrigin(this.connectedTo);
|
42
|
+
}
|
43
|
+
handleBackdropClick() {
|
44
|
+
this.overlayRef
|
45
|
+
.backdropClick()
|
46
|
+
.pipe(untilDestroyed(this))
|
47
|
+
.subscribe(() => this.close());
|
48
|
+
}
|
49
|
+
updatePositionStrategy() {
|
50
|
+
const origin = this.overlayOrigin.elementRef;
|
51
|
+
const strategy = this.overlay.position().flexibleConnectedTo(origin);
|
52
|
+
strategy.withPositions([
|
53
|
+
{ originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 4 },
|
54
|
+
{ originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -4 },
|
55
|
+
]);
|
56
|
+
strategy.withLockedPosition(false);
|
57
|
+
strategy.withDefaultOffsetY(4);
|
58
|
+
this.overlayRef.updatePositionStrategy(strategy);
|
59
|
+
}
|
60
|
+
createOverlayConfig() {
|
61
|
+
return new OverlayConfig({
|
62
|
+
hasBackdrop: true,
|
63
|
+
scrollStrategy: this.overlay.scrollStrategies.reposition(),
|
64
|
+
backdropClass: 'transparent',
|
65
|
+
});
|
66
|
+
}
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerTrigger, deps: [{ token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.MatDateSelectionModel }], target: i0.ɵɵFactoryTarget.Directive }); }
|
68
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmDatepickerTrigger, ngImport: i0 }); }
|
69
|
+
};
|
70
|
+
WlcmDatepickerTrigger = __decorate([
|
71
|
+
UntilDestroy(),
|
72
|
+
__metadata("design:paramtypes", [Overlay,
|
73
|
+
ViewContainerRef,
|
74
|
+
MatDateSelectionModel])
|
75
|
+
], WlcmDatepickerTrigger);
|
76
|
+
export { WlcmDatepickerTrigger };
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerTrigger, decorators: [{
|
78
|
+
type: Directive
|
79
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.MatDateSelectionModel }] });
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci10cmlnZ2VyLmJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL2RhdGVwaWNrZXItdHJpZ2dlci5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLE9BQU8sRUFDUCxnQkFBZ0IsRUFHaEIsYUFBYSxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQWtDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBYyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQUlqRCxJQUFlLHFCQUFxQixHQUFwQyxNQUFlLHFCQUFxQjtJQVN6QyxZQUNZLE9BQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxjQUF3QztRQUZ4QyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsbUJBQWMsR0FBZCxjQUFjLENBQTBCO1FBWDFDLGVBQVUsR0FBZSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBYWpGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxRQUFRLEdBQWEsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN6QyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFB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ckIscUJBQXFCO0lBRjFDLFlBQVksRUFBRTtxQ0FZUSxPQUFPO1FBQ0UsZ0JBQWdCO1FBQ2xCLHFCQUFxQjtHQVo3QixxQkFBcUIsQ0FpRjFDOzsyRkFqRnFCLHFCQUFxQjtrQkFEMUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE92ZXJsYXlSZWYsXG4gIE92ZXJsYXksXG4gIENka092ZXJsYXlPcmlnaW4sXG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbixcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICBPdmVybGF5Q29uZmlnLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgVHlwZSwgQ29tcG9uZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQgeyBNYXREYXRlU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1lcmdlLCBFTVBUWSwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2xjbURhdGVwaWNrZXJUcmlnZ2VyPFQsIEQgPSBEYXRlPiB7XG4gIHByb3RlY3RlZCBvdmVybGF5UmVmOiBPdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZSh0aGlzLmNyZWF0ZU92ZXJsYXlDb25maWcoKSk7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNvbm5lY3RlZFRvOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY29tcG9uZW50VHlwZTogVHlwZTxUPjtcblxuICBwcm90ZWN0ZWQgY29tcG9uZW50UmVmPzogQ29tcG9uZW50UmVmPFQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByb3RlY3RlZCB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByb3RlY3RlZCBzZWxlY3Rpb25Nb2RlbDogTWF0RGF0ZVNlbGVjdGlvbk1vZGVsPEQ+XG4gICkge1xuICAgIHRoaXMuaGFuZGxlQmFja2Ryb3BDbGljaygpO1xuICB9XG5cbiAgb3BlbigpOiB2b2lkIHtcbiAgICBjb25zdCBpbmplY3RvcjogSW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBPdmVybGF5UmVmLCB1c2VWYWx1ZTogdGhpcy5vdmVybGF5UmVmIH1dLFxuICAgICAgcGFyZW50OiB0aGlzLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IsXG4gICAgfSk7XG5cbiAgICBjb25zdCBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPiA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5jb21wb25lbnRUeXBlLCB0aGlzLnZpZXdDb250YWluZXJSZWYsIGluamVjdG9yKTtcblxuICAgIHRoaXMudXBkYXRlUG9zaXRpb25TdHJhdGVneSgpO1xuXG4gICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gIH1cblxuICBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKTtcbiAgfVxuXG4gIGdldCBvcGVuZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIG1lcmdlKHRoaXMub3ZlcmxheVJlZj8uYXR0YWNobWVudHMoKSB8fCBFTVBUWSkucGlwZShmaWx0ZXIoKCkgPT4gdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpKTtcbiAgfVxuXG4gIGdldCBjbG9zZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuICh0aGlzLm92ZXJsYXlSZWY/LmRldGFjaG1lbnRzKCkgfHwgRU1QVFkpLnBpcGUoZmlsdGVyKCgpID0+ICF0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgb3ZlcmxheU9yaWdpbigpOiBDZGtPdmVybGF5T3JpZ2luIHtcbiAgICByZXR1cm4gbmV3IENka092ZXJsYXlPcmlnaW4odGhpcy5jb25uZWN0ZWRUbyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUJhY2tkcm9wQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5UmVmXG4gICAgICAuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUG9zaXRpb25TdHJhdGVneSgpOiB2b2lkIHtcbiAgICBjb25zdCBvcmlnaW46IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbiA9IHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmO1xuXG4gICAgY29uc3Qgc3RyYXRlZ3k6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8ob3JpZ2luKTtcblxuICAgIHN0cmF0ZWd5LndpdGhQb3NpdGlvbnMoW1xuICAgICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogNCB9LFxuICAgICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnYm90dG9tJywgb2Zmc2V0WTogLTQgfSxcbiAgICBdKTtcblxuICAgIHN0cmF0ZWd5LndpdGhMb2NrZWRQb3NpdGlvbihmYWxzZSk7XG5cbiAgICBzdHJhdGVneS53aXRoRGVmYXVsdE9mZnNldFkoNCk7XG5cbiAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb25TdHJhdGVneShzdHJhdGVneSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZU92ZXJsYXlDb25maWcoKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICd0cmFuc3BhcmVudCcsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Directive, ElementRef, Inject, Optional, forwardRef } from '@angular/core';
|
3
|
+
import { WlcmDateRangePickerInputBase } from './date-range-picker-input.base';
|
4
|
+
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
5
|
+
import { WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL } from '../../constants/range/date-range-trigger-selection-model.constants';
|
6
|
+
import { MatDateSelectionModel, DateRange } from '@angular/material/datepicker';
|
7
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
8
|
+
import { WlcmDateRangeValidation } from '../../models/range/date-range-validation.models';
|
9
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
10
|
+
import { isValid, isAfter } from 'date-fns';
|
11
|
+
import * as i0 from "@angular/core";
|
12
|
+
import * as i1 from "@angular/material/core";
|
13
|
+
import * as i2 from "@angular/material/datepicker";
|
14
|
+
let DateRangePickerInputEndDirective = class DateRangePickerInputEndDirective extends WlcmDateRangePickerInputBase {
|
15
|
+
constructor(element, dateAdapter, dateFormats, selectionModel) {
|
16
|
+
super(element, dateAdapter, dateFormats);
|
17
|
+
this.element = element;
|
18
|
+
this.dateAdapter = dateAdapter;
|
19
|
+
this.dateFormats = dateFormats;
|
20
|
+
this.selectionModel = selectionModel;
|
21
|
+
this.updateSelection = () => {
|
22
|
+
let end = this.parseCurrentValue();
|
23
|
+
this.selectionModel.updateSelection(new DateRange(this.selectionModel.selection.start, end), this);
|
24
|
+
};
|
25
|
+
this.handleSelectionChange();
|
26
|
+
}
|
27
|
+
validate() {
|
28
|
+
const defaultErrors = super.validate();
|
29
|
+
if (isValid(this.selectionModel.selection.start)) {
|
30
|
+
const endDate = this.parseCurrentValue();
|
31
|
+
if (endDate && isAfter(this.selectionModel.selection.start, endDate)) {
|
32
|
+
return { [WlcmDateRangeValidation.StartExceedsEnd]: true, ...(defaultErrors ?? {}) };
|
33
|
+
}
|
34
|
+
}
|
35
|
+
return defaultErrors;
|
36
|
+
}
|
37
|
+
handleSelectionChange() {
|
38
|
+
this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {
|
39
|
+
const validDate = this.dateAdapter.getValidDateOrNull(selection.end);
|
40
|
+
this._changed?.(validDate);
|
41
|
+
this.updateInputValue(validDate);
|
42
|
+
this._validatorChanged?.();
|
43
|
+
});
|
44
|
+
}
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DateRangePickerInputEndDirective, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter }, { token: MAT_DATE_FORMATS, optional: true }, { token: WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL }], target: i0.ɵɵFactoryTarget.Directive }); }
|
46
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: DateRangePickerInputEndDirective, isStandalone: true, selector: "[wlcmDateRangePickerInputEnd]", host: { classAttribute: "wlcm-date-range-picker-input-field" }, providers: [
|
47
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },
|
48
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },
|
49
|
+
], usesInheritance: true, ngImport: i0 }); }
|
50
|
+
};
|
51
|
+
DateRangePickerInputEndDirective = __decorate([
|
52
|
+
UntilDestroy(),
|
53
|
+
__metadata("design:paramtypes", [ElementRef,
|
54
|
+
DateAdapter, Object, MatDateSelectionModel])
|
55
|
+
], DateRangePickerInputEndDirective);
|
56
|
+
export { DateRangePickerInputEndDirective };
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DateRangePickerInputEndDirective, decorators: [{
|
58
|
+
type: Directive,
|
59
|
+
args: [{
|
60
|
+
selector: '[wlcmDateRangePickerInputEnd]',
|
61
|
+
host: { class: 'wlcm-date-range-picker-input-field' },
|
62
|
+
standalone: true,
|
63
|
+
providers: [
|
64
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },
|
65
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },
|
66
|
+
],
|
67
|
+
}]
|
68
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined, decorators: [{
|
69
|
+
type: Optional
|
70
|
+
}, {
|
71
|
+
type: Inject,
|
72
|
+
args: [MAT_DATE_FORMATS]
|
73
|
+
}] }, { type: i2.MatDateSelectionModel, decorators: [{
|
74
|
+
type: Inject,
|
75
|
+
args: [WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL]
|
76
|
+
}] }] });
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZW5kLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZXBpY2tlci9zcmMvbGliL2RpcmVjdGl2ZXMvcmFnbmUvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUM3SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7O0FBWXJDLElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWlDLFNBQVEsNEJBQTRCO0lBQ2hGLFlBQ2tCLE9BQXFDLEVBQ2xDLFdBQThCLEVBQ1EsV0FBMkIsRUFFMUUsY0FBc0Q7UUFFaEUsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFOekIsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFDbEMsZ0JB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QUFFLElBQUksRUFBRTtxQkFDekc7aUJBQ0Y7OzBCQUtJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsTUFBTTsyQkFBQyx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEJhc2UgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmJhc2UnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBXTENNX0RBVEVfUkFOR0VfVFJJR0dFUl9TRUxFQ1RJT05fTU9ERUwgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmFuZ2UvZGF0ZS1yYW5nZS10cmlnZ2VyLXNlbGVjdGlvbi1tb2RlbC5jb25zdGFudHMnO1xuaW1wb3J0IHsgTWF0RGF0ZVNlbGVjdGlvbk1vZGVsLCBEYXRlUmFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgV2xjbURhdGVSYW5nZVZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFuZ2UvZGF0ZS1yYW5nZS12YWxpZGF0aW9uLm1vZGVscyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IGlzVmFsaWQsIGlzQWZ0ZXIgfSBmcm9tICdkYXRlLWZucyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEVuZF0nLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC1maWVsZCcgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlUGlja2VySW5wdXRFbmREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlUGlja2VySW5wdXRFbmREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJJbnB1dEVuZERpcmVjdGl2ZSBleHRlbmRzIFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGU+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RBVEVfRk9STUFUUykgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyxcbiAgICBASW5qZWN0KFdMQ01fREFURV9SQU5HRV9UUklHR0VSX1NFTEVDVElPTl9NT0RFTClcbiAgICBwcm90ZWN0ZWQgc2VsZWN0aW9uTW9kZWw6IE1hdERhdGVTZWxlY3Rpb25Nb2RlbDxEYXRlUmFuZ2U8RGF0ZT4+XG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQsIGRhdGVBZGFwdGVyLCBkYXRlRm9ybWF0cyk7XG5cbiAgICB0aGlzLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdmFsaWRhdGUoKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGRlZmF1bHRFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gc3VwZXIudmFsaWRhdGUoKTtcblxuICAgIGlmIChpc1ZhbGlkKHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uLnN0YXJ0KSkge1xuICAgICAgY29uc3QgZW5kRGF0ZTogRGF0ZSB8IG51bGwgPSB0aGlzLnBhcnNlQ3VycmVudFZhbHVlKCk7XG5cbiAgICAgIGlmIChlbmREYXRlICYmIGlzQWZ0ZXIodGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb24uc3RhcnQhLCBlbmREYXRlKSkge1xuICAgICAgICByZXR1cm4geyBbV2xjbURhdGVSYW5nZVZhbGlkYXRpb24uU3RhcnRFeGNlZWRzRW5kXTogdHJ1ZSwgLi4uKGRlZmF1bHRFcnJvcnMgPz8ge30pIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmF1bHRFcnJvcnM7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGVTZWxlY3Rpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgbGV0IGVuZDogRGF0ZSB8IG51bGwgPSB0aGlzLnBhcnNlQ3VycmVudFZhbHVlKCk7XG5cbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnVwZGF0ZVNlbGVjdGlvbihuZXcgRGF0ZVJhbmdlKHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uLnN0YXJ0LCBlbmQpLCB0aGlzKTtcbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbkNoYW5nZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCh7IHNlbGVjdGlvbiB9KSA9PiB7XG4gICAgICBjb25zdCB2YWxpZERhdGU6IERhdGUgfCBudWxsID0gdGhpcy5kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoc2VsZWN0aW9uLmVuZCk7XG5cbiAgICAgIHRoaXMuX2NoYW5nZWQ/Lih2YWxpZERhdGUpO1xuXG4gICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUodmFsaWREYXRlKTtcblxuICAgICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlZD8uKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -0,0 +1,77 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Directive, ElementRef, Inject, Optional, forwardRef } from '@angular/core';
|
3
|
+
import { WlcmDateRangePickerInputBase } from './date-range-picker-input.base';
|
4
|
+
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
5
|
+
import { MatDateSelectionModel, DateRange } from '@angular/material/datepicker';
|
6
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
7
|
+
import { WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL } from '../../constants/range/date-range-trigger-selection-model.constants';
|
8
|
+
import { WlcmDateRangeValidation } from '../../models/range/date-range-validation.models';
|
9
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
10
|
+
import { isAfter, isValid } from 'date-fns';
|
11
|
+
import * as i0 from "@angular/core";
|
12
|
+
import * as i1 from "@angular/material/core";
|
13
|
+
import * as i2 from "@angular/material/datepicker";
|
14
|
+
let DateRangePickerInputStartDirective = class DateRangePickerInputStartDirective extends WlcmDateRangePickerInputBase {
|
15
|
+
constructor(element, dateAdapter, dateFormats, selectionModel) {
|
16
|
+
super(element, dateAdapter, dateFormats);
|
17
|
+
this.element = element;
|
18
|
+
this.dateAdapter = dateAdapter;
|
19
|
+
this.dateFormats = dateFormats;
|
20
|
+
this.selectionModel = selectionModel;
|
21
|
+
this.updateSelection = () => {
|
22
|
+
let start = this.parseCurrentValue();
|
23
|
+
this.selectionModel.updateSelection(new DateRange(start, this.selectionModel.selection.end), this);
|
24
|
+
};
|
25
|
+
this.handleSelectionChange();
|
26
|
+
}
|
27
|
+
validate() {
|
28
|
+
const defaultErrors = super.validate();
|
29
|
+
if (this.selectionModel.isComplete() && isValid(this.selectionModel.selection.end)) {
|
30
|
+
const startDate = this.parseCurrentValue();
|
31
|
+
if (startDate && isAfter(startDate, this.selectionModel.selection.end)) {
|
32
|
+
return { [WlcmDateRangeValidation.StartExceedsEnd]: true, ...(defaultErrors ?? {}) };
|
33
|
+
}
|
34
|
+
}
|
35
|
+
return defaultErrors;
|
36
|
+
}
|
37
|
+
handleSelectionChange() {
|
38
|
+
this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {
|
39
|
+
const validDate = this.dateAdapter.getValidDateOrNull(selection.start);
|
40
|
+
this._changed?.(validDate);
|
41
|
+
this.updateInputValue(validDate);
|
42
|
+
this._validatorChanged?.();
|
43
|
+
});
|
44
|
+
}
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DateRangePickerInputStartDirective, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter }, { token: MAT_DATE_FORMATS, optional: true }, { token: WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL }], target: i0.ɵɵFactoryTarget.Directive }); }
|
46
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: DateRangePickerInputStartDirective, isStandalone: true, selector: "[wlcmDateRangePickerInputStart]", host: { classAttribute: "wlcm-date-range-picker-input-field" }, providers: [
|
47
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },
|
48
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },
|
49
|
+
], usesInheritance: true, ngImport: i0 }); }
|
50
|
+
};
|
51
|
+
DateRangePickerInputStartDirective = __decorate([
|
52
|
+
UntilDestroy(),
|
53
|
+
__metadata("design:paramtypes", [ElementRef,
|
54
|
+
DateAdapter, Object, MatDateSelectionModel])
|
55
|
+
], DateRangePickerInputStartDirective);
|
56
|
+
export { DateRangePickerInputStartDirective };
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DateRangePickerInputStartDirective, decorators: [{
|
58
|
+
type: Directive,
|
59
|
+
args: [{
|
60
|
+
selector: '[wlcmDateRangePickerInputStart]',
|
61
|
+
host: { class: 'wlcm-date-range-picker-input-field' },
|
62
|
+
standalone: true,
|
63
|
+
providers: [
|
64
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },
|
65
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },
|
66
|
+
],
|
67
|
+
}]
|
68
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined, decorators: [{
|
69
|
+
type: Optional
|
70
|
+
}, {
|
71
|
+
type: Inject,
|
72
|
+
args: [MAT_DATE_FORMATS]
|
73
|
+
}] }, { type: i2.MatDateSelectionModel, decorators: [{
|
74
|
+
type: Inject,
|
75
|
+
args: [WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL]
|
76
|
+
}] }] });
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtc3RhcnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvZGlyZWN0aXZlcy9yYWduZS9kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC1zdGFydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDN0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQVlyQyxJQUFNLGtDQUFrQyxHQUF4QyxNQUFNLGtDQUFtQyxTQUFRLDRCQUE0QjtJQUNsRixZQUNrQixPQUFxQyxFQUNsQyxXQUE4QixFQUNRLFdBQTJCLEVBRTFFLGNBQXNEO1FBRWhFLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBTnpCLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBQ2xD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LENBQUMsR0FBRyxFQUFFLG1DQUFtQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDM0c7aUJBQ0Y7OzBCQUtJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsTUFBTTsyQkFBQyx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEJhc2UgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmJhc2UnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlU2VsZWN0aW9uTW9kZWwsIERhdGVSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBXTENNX0RBVEVfUkFOR0VfVFJJR0dFUl9TRUxFQ1RJT05fTU9ERUwgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmFuZ2UvZGF0ZS1yYW5nZS10cmlnZ2VyLXNlbGVjdGlvbi1tb2RlbC5jb25zdGFudHMnO1xuaW1wb3J0IHsgV2xjbURhdGVSYW5nZVZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFuZ2UvZGF0ZS1yYW5nZS12YWxpZGF0aW9uLm1vZGVscyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IGlzQWZ0ZXIsIGlzVmFsaWQgfSBmcm9tICdkYXRlLWZucyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0XScsXG4gIGhvc3Q6IHsgY2xhc3M6ICd3bGNtLWRhdGUtcmFuZ2UtcGlja2VyLWlucHV0LWZpZWxkJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0RGlyZWN0aXZlKSwgbXVsdGk6IHRydWUgfSxcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVSYW5nZVBpY2tlcklucHV0U3RhcnREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0RGlyZWN0aXZlIGV4dGVuZHMgV2xjbURhdGVSYW5nZVBpY2tlcklucHV0QmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgIEBJbmplY3QoV0xDTV9EQVRFX1JBTkdFX1RSSUdHRVJfU0VMRUNUSU9OX01PREVMKVxuICAgIHByb3RlY3RlZCBzZWxlY3Rpb25Nb2RlbDogTWF0RGF0ZVNlbGVjdGlvbk1vZGVsPERhdGVSYW5nZTxEYXRlPj5cbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudCwgZGF0ZUFkYXB0ZXIsIGRhdGVGb3JtYXRzKTtcblxuICAgIHRoaXMuaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKCk7XG4gIH1cblxuICBvdmVycmlkZSB2YWxpZGF0ZSgpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgY29uc3QgZGVmYXVsdEVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSBzdXBlci52YWxpZGF0ZSgpO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uTW9kZWwuaXNDb21wbGV0ZSgpICYmIGlzVmFsaWQodGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb24uZW5kKSkge1xuICAgICAgY29uc3Qgc3RhcnREYXRlOiBEYXRlIHwgbnVsbCA9IHRoaXMucGFyc2VDdXJyZW50VmFsdWUoKTtcblxuICAgICAgaWYgKHN0YXJ0RGF0ZSAmJiBpc0FmdGVyKHN0YXJ0RGF0ZSwgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb24uZW5kISkpIHtcbiAgICAgICAgcmV0dXJuIHsgW1dsY21EYXRlUmFuZ2VWYWxpZGF0aW9uLlN0YXJ0RXhjZWVkc0VuZF06IHRydWUsIC4uLihkZWZhdWx0RXJyb3JzID8/IHt9KSB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0RXJyb3JzO1xuICB9XG5cbiAgb3ZlcnJpZGUgdXBkYXRlU2VsZWN0aW9uID0gKCk6IHZvaWQgPT4ge1xuICAgIGxldCBzdGFydDogRGF0ZSB8IG51bGwgPSB0aGlzLnBhcnNlQ3VycmVudFZhbHVlKCk7XG5cbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnVwZGF0ZVNlbGVjdGlvbihuZXcgRGF0ZVJhbmdlKHN0YXJ0LCB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbi5lbmQpLCB0aGlzKTtcbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbkNoYW5nZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCh7IHNlbGVjdGlvbiB9KSA9PiB7XG4gICAgICBjb25zdCB2YWxpZERhdGU6IERhdGUgfCBudWxsID0gdGhpcy5kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoc2VsZWN0aW9uLnN0YXJ0KTtcblxuICAgICAgdGhpcy5fY2hhbmdlZD8uKHZhbGlkRGF0ZSk7XG5cbiAgICAgIHRoaXMudXBkYXRlSW5wdXRWYWx1ZSh2YWxpZERhdGUpO1xuXG4gICAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2VkPy4oKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,49 @@
|
|
1
|
+
import { Directive, ElementRef } from '@angular/core';
|
2
|
+
import { DateAdapter } from '@angular/material/core';
|
3
|
+
import { WlcmDatepickerInputBase } from '../datepicker-input.base';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@angular/material/core";
|
6
|
+
export class WlcmDateRangePickerInputBase extends WlcmDatepickerInputBase {
|
7
|
+
constructor(element, dateAdapter, dateFormats) {
|
8
|
+
super(element, dateAdapter, dateFormats);
|
9
|
+
this.element = element;
|
10
|
+
this.dateAdapter = dateAdapter;
|
11
|
+
this.dateFormats = dateFormats;
|
12
|
+
this._inputMirror = this.createInputMirror();
|
13
|
+
}
|
14
|
+
ngAfterViewInit() {
|
15
|
+
this.inputElement.parentElement?.appendChild(this._inputMirror);
|
16
|
+
this.copyInputElementStyles(this._inputMirror);
|
17
|
+
document.fonts.ready.then(() => this.changeInputSize());
|
18
|
+
}
|
19
|
+
handleInput() {
|
20
|
+
this.changeInputSize();
|
21
|
+
super.handleInput();
|
22
|
+
}
|
23
|
+
updateInputValue(value) {
|
24
|
+
super.updateInputValue(value);
|
25
|
+
this.changeInputSize();
|
26
|
+
}
|
27
|
+
changeInputSize() {
|
28
|
+
const value = this.currentValue || this.inputElement.placeholder;
|
29
|
+
this._inputMirror.innerHTML = value;
|
30
|
+
this.inputElement.style.width = `${this._inputMirror.offsetWidth + 2}px`;
|
31
|
+
}
|
32
|
+
createInputMirror() {
|
33
|
+
const inputMirror = document.createElement('div');
|
34
|
+
inputMirror.classList.add('wlcm-date-range-picker-input-field-mirror');
|
35
|
+
return inputMirror;
|
36
|
+
}
|
37
|
+
copyInputElementStyles(target) {
|
38
|
+
const inputElementStyles = window.getComputedStyle(this.inputElement);
|
39
|
+
target.style.fontSize = inputElementStyles.fontSize;
|
40
|
+
target.style.fontFamily = inputElementStyles.fontFamily;
|
41
|
+
target.style.letterSpacing = inputElementStyles.letterSpacing;
|
42
|
+
}
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDateRangePickerInputBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
44
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmDateRangePickerInputBase, usesInheritance: true, ngImport: i0 }); }
|
45
|
+
}
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDateRangePickerInputBase, decorators: [{
|
47
|
+
type: Directive
|
48
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined }] });
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZXBpY2tlci9zcmMvbGliL2RpcmVjdGl2ZXMvcmFnbmUvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR25FLE1BQU0sT0FBZ0IsNEJBQ3BCLFNBQVEsdUJBQXVCO0lBSy9CLFlBQ2tCLE9BQXFDLEVBQ2xDLFdBQThCLEVBQzlCLFdBQTJCO1FBRTlDLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBSnpCLFlBQU8sR0FBUCxPQUFPLENBQThCO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFMeEMsaUJBQVksR0FBZ0IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFRN0QsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFL0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFUSxXQUFXO1FBQ2xCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVrQixnQkFBZ0IsQ0FBQyxLQUFrQjtRQUNwRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE1BQU0sS0FBSyxHQUFXLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFFekUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXBDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQzNFLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxXQUFXLEdBQWdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0QsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsMkNBQTJDLENBQUMsQ0FBQztRQUV2RSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU8sc0JBQXNCLENBQUMsTUFBbUI7UUFDaEQsTUFBTSxrQkFBa0IsR0FBd0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzRixNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUM7UUFDcEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztJQUNoRSxDQUFDOzhHQXhEbUIsNEJBQTRCO2tHQUE1Qiw0QkFBNEI7OzJGQUE1Qiw0QkFBNEI7a0JBRGpELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VySW5wdXRCYXNlIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci1pbnB1dC5iYXNlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgV2xjbURhdGVSYW5nZVBpY2tlcklucHV0QmFzZVxuICBleHRlbmRzIFdsY21EYXRlcGlja2VySW5wdXRCYXNlXG4gIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvclxue1xuICBwcml2YXRlIF9pbnB1dE1pcnJvcjogSFRNTEVsZW1lbnQgPSB0aGlzLmNyZWF0ZUlucHV0TWlycm9yKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG92ZXJyaWRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4sXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEYXRlPixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQsIGRhdGVBZGFwdGVyLCBkYXRlRm9ybWF0cyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnB1dEVsZW1lbnQucGFyZW50RWxlbWVudD8uYXBwZW5kQ2hpbGQodGhpcy5faW5wdXRNaXJyb3IpO1xuXG4gICAgdGhpcy5jb3B5SW5wdXRFbGVtZW50U3R5bGVzKHRoaXMuX2lucHV0TWlycm9yKTtcblxuICAgIGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oKCkgPT4gdGhpcy5jaGFuZ2VJbnB1dFNpemUoKSk7XG4gIH1cblxuICBvdmVycmlkZSBoYW5kbGVJbnB1dCgpIHtcbiAgICB0aGlzLmNoYW5nZUlucHV0U2l6ZSgpO1xuXG4gICAgc3VwZXIuaGFuZGxlSW5wdXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVJbnB1dFZhbHVlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZUlucHV0VmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5jaGFuZ2VJbnB1dFNpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlSW5wdXRTaXplKCk6IHZvaWQge1xuICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB0aGlzLmN1cnJlbnRWYWx1ZSB8fCB0aGlzLmlucHV0RWxlbWVudC5wbGFjZWhvbGRlcjtcblxuICAgIHRoaXMuX2lucHV0TWlycm9yLmlubmVySFRNTCA9IHZhbHVlO1xuXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQuc3R5bGUud2lkdGggPSBgJHt0aGlzLl9pbnB1dE1pcnJvci5vZmZzZXRXaWR0aCArIDJ9cHhgO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbnB1dE1pcnJvcigpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgaW5wdXRNaXJyb3I6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgICBpbnB1dE1pcnJvci5jbGFzc0xpc3QuYWRkKCd3bGNtLWRhdGUtcmFuZ2UtcGlja2VyLWlucHV0LWZpZWxkLW1pcnJvcicpO1xuXG4gICAgcmV0dXJuIGlucHV0TWlycm9yO1xuICB9XG5cbiAgcHJpdmF0ZSBjb3B5SW5wdXRFbGVtZW50U3R5bGVzKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnRTdHlsZXM6IENTU1N0eWxlRGVjbGFyYXRpb24gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmlucHV0RWxlbWVudCk7XG5cbiAgICB0YXJnZXQuc3R5bGUuZm9udFNpemUgPSBpbnB1dEVsZW1lbnRTdHlsZXMuZm9udFNpemU7XG4gICAgdGFyZ2V0LnN0eWxlLmZvbnRGYW1pbHkgPSBpbnB1dEVsZW1lbnRTdHlsZXMuZm9udEZhbWlseTtcbiAgICB0YXJnZXQuc3R5bGUubGV0dGVyU3BhY2luZyA9IGlucHV0RWxlbWVudFN0eWxlcy5sZXR0ZXJTcGFjaW5nO1xuICB9XG59XG4iXX0=
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';
|
3
|
+
import { DateAdapter } from '@angular/material/core';
|
4
|
+
import { MatCalendar } from '@angular/material/datepicker';
|
5
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
6
|
+
import { WlcmDataRangeCalendar } from '../../models/range/data-range-calendar.models';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@angular/material/core";
|
9
|
+
import * as i2 from "@angular/material/datepicker";
|
10
|
+
let WlcmLeftCalendarDirective = class WlcmLeftCalendarDirective extends WlcmDataRangeCalendar {
|
11
|
+
constructor(element, dateAdapter, calendar) {
|
12
|
+
super('left', element, calendar, dateAdapter);
|
13
|
+
this.element = element;
|
14
|
+
this.dateAdapter = dateAdapter;
|
15
|
+
this.calendar = calendar;
|
16
|
+
this.handleYearChange();
|
17
|
+
this.handleMonthChange();
|
18
|
+
}
|
19
|
+
handleYearChange() {
|
20
|
+
this.calendar.yearSelected.pipe(untilDestroyed(this)).subscribe((date) => this.dateChange.emit(date));
|
21
|
+
}
|
22
|
+
handleMonthChange() {
|
23
|
+
this.calendar.monthSelected.pipe(untilDestroyed(this)).subscribe((date) => this.dateChange.emit(date));
|
24
|
+
}
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmLeftCalendarDirective, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter }, { token: forwardRef(() => MatCalendar) }], target: i0.ɵɵFactoryTarget.Directive }); }
|
26
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmLeftCalendarDirective, isStandalone: true, selector: "[wlcmLeftCalendar]", providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmLeftCalendarDirective) }], usesInheritance: true, ngImport: i0 }); }
|
27
|
+
};
|
28
|
+
WlcmLeftCalendarDirective = __decorate([
|
29
|
+
UntilDestroy(),
|
30
|
+
__metadata("design:paramtypes", [ElementRef,
|
31
|
+
DateAdapter,
|
32
|
+
MatCalendar])
|
33
|
+
], WlcmLeftCalendarDirective);
|
34
|
+
export { WlcmLeftCalendarDirective };
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmLeftCalendarDirective, decorators: [{
|
36
|
+
type: Directive,
|
37
|
+
args: [{
|
38
|
+
selector: '[wlcmLeftCalendar]',
|
39
|
+
standalone: true,
|
40
|
+
providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmLeftCalendarDirective) }],
|
41
|
+
}]
|
42
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: i2.MatCalendar, decorators: [{
|
43
|
+
type: Inject,
|
44
|
+
args: [forwardRef(() => MatCalendar)]
|
45
|
+
}] }] });
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1jYWxlbmRhci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3JhZ25lL2xlZnQtY2FsZW5kYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7OztBQVEvRSxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUEwQixTQUFRLHFCQUFxQjtJQUNsRSxZQUNrQixPQUFnQyxFQUM3QixXQUE4QixFQUNTLFFBQTJCO1FBRXJGLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUo5QixZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUM3QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDUyxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUlyRixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDOzhHQW5CVSx5QkFBeUIsdUVBSTFCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7a0dBSjVCLHlCQUF5QixpRUFGekIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQzs7QUFFOUYseUJBQXlCO0lBTnJDLFlBQVksRUFBRTtxQ0FRYyxVQUFVO1FBQ0gsV0FBVztRQUN5QixXQUFXO0dBSnRFLHlCQUF5QixDQW9CckM7OzJGQXBCWSx5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDBCQUEwQixDQUFDLEVBQUUsQ0FBQztpQkFDMUc7OzBCQUtJLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgV2xjbURhdGFSYW5nZUNhbGVuZGFyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhbmdlL2RhdGEtcmFuZ2UtY2FsZW5kYXIubW9kZWxzJztcblxuQFVudGlsRGVzdHJveSgpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2xjbUxlZnRDYWxlbmRhcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFdsY21EYXRhUmFuZ2VDYWxlbmRhciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbUxlZnRDYWxlbmRhckRpcmVjdGl2ZSkgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFdsY21MZWZ0Q2FsZW5kYXJEaXJlY3RpdmUgZXh0ZW5kcyBXbGNtRGF0YVJhbmdlQ2FsZW5kYXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEYXRlPixcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gTWF0Q2FsZW5kYXIpKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FsZW5kYXI6IE1hdENhbGVuZGFyPERhdGU+XG4gICkge1xuICAgIHN1cGVyKCdsZWZ0JywgZWxlbWVudCwgY2FsZW5kYXIsIGRhdGVBZGFwdGVyKTtcblxuICAgIHRoaXMuaGFuZGxlWWVhckNoYW5nZSgpO1xuXG4gICAgdGhpcy5oYW5kbGVNb250aENoYW5nZSgpO1xuICB9XG5cbiAgaGFuZGxlWWVhckNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyLnllYXJTZWxlY3RlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgfVxuXG4gIGhhbmRsZU1vbnRoQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXIubW9udGhTZWxlY3RlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
2
|
+
import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';
|
3
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
4
|
+
import { WlcmDataRangeCalendar } from '../../models/range/data-range-calendar.models';
|
5
|
+
import { MatCalendar, yearsPerPage } from '@angular/material/datepicker';
|
6
|
+
import { DateAdapter } from '@angular/material/core';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "@angular/material/core";
|
9
|
+
import * as i2 from "@angular/material/datepicker";
|
10
|
+
let WlcmRightCalendarDirective = class WlcmRightCalendarDirective extends WlcmDataRangeCalendar {
|
11
|
+
constructor(element, dateAdapter, calendar) {
|
12
|
+
super('right', element, calendar, dateAdapter);
|
13
|
+
this.element = element;
|
14
|
+
this.dateAdapter = dateAdapter;
|
15
|
+
this.calendar = calendar;
|
16
|
+
this.handleYearChange();
|
17
|
+
this.handleMonthChange();
|
18
|
+
}
|
19
|
+
handleYearChange() {
|
20
|
+
this.calendar.yearSelected
|
21
|
+
.pipe(untilDestroyed(this))
|
22
|
+
.subscribe((date) => this.dateChange.emit(this.dateAdapter.addCalendarMonths(date, -1)));
|
23
|
+
}
|
24
|
+
handleMonthChange() {
|
25
|
+
this.calendar.monthSelected
|
26
|
+
.pipe(untilDestroyed(this))
|
27
|
+
.subscribe((date) => this.dateChange.emit(this.dateAdapter.addCalendarMonths(date, -1)));
|
28
|
+
}
|
29
|
+
nextMonth() {
|
30
|
+
this.dateChange.emit(this.calendar.activeDate);
|
31
|
+
}
|
32
|
+
prevYear() {
|
33
|
+
this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage), -1));
|
34
|
+
}
|
35
|
+
nextYear() {
|
36
|
+
this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? 1 : yearsPerPage), -1));
|
37
|
+
}
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmRightCalendarDirective, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter }, { token: forwardRef(() => MatCalendar) }], target: i0.ɵɵFactoryTarget.Directive }); }
|
39
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmRightCalendarDirective, isStandalone: true, selector: "[wlcmRightCalendar]", providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmRightCalendarDirective) }], usesInheritance: true, ngImport: i0 }); }
|
40
|
+
};
|
41
|
+
WlcmRightCalendarDirective = __decorate([
|
42
|
+
UntilDestroy(),
|
43
|
+
__metadata("design:paramtypes", [ElementRef,
|
44
|
+
DateAdapter,
|
45
|
+
MatCalendar])
|
46
|
+
], WlcmRightCalendarDirective);
|
47
|
+
export { WlcmRightCalendarDirective };
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmRightCalendarDirective, decorators: [{
|
49
|
+
type: Directive,
|
50
|
+
args: [{
|
51
|
+
selector: '[wlcmRightCalendar]',
|
52
|
+
standalone: true,
|
53
|
+
providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmRightCalendarDirective) }],
|
54
|
+
}]
|
55
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: i2.MatCalendar, decorators: [{
|
56
|
+
type: Inject,
|
57
|
+
args: [forwardRef(() => MatCalendar)]
|
58
|
+
}] }] });
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtY2FsZW5kYXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvZGlyZWN0aXZlcy9yYWduZS9yaWdodC1jYWxlbmRhci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQVE5QyxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEyQixTQUFRLHFCQUFxQjtJQUNuRSxZQUNrQixPQUFnQyxFQUM3QixXQUE4QixFQUNTLFFBQTJCO1FBRXJGLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUovQixZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUM3QixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDUyxhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUlyRixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZO2FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO2FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRVEsU0FBUztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFUSxRQUFRO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FDekQsRUFDRCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRVEsUUFBUTtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FDdkQsRUFDRCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDOzhHQW5EVSwwQkFBMEIsdUVBSTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7a0dBSjVCLDBCQUEwQixrRUFGMUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQzs7QUFFL0YsMEJBQTBCO0lBTnRDLFlBQVksRUFBRTtxQ0FRYyxVQUFVO1FBQ0gsV0FBVztRQUN5QixXQUFXO0dBSnRFLDBCQUEwQixDQW9EdEM7OzJGQXBEWSwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLDJCQUEyQixDQUFDLEVBQUUsQ0FBQztpQkFDM0c7OzBCQUtJLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21EYXRhUmFuZ2VDYWxlbmRhciB9IGZyb20gJy4uLy4uL21vZGVscy9yYW5nZS9kYXRhLXJhbmdlLWNhbGVuZGFyLm1vZGVscyc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgeWVhcnNQZXJQYWdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5AVW50aWxEZXN0cm95KClcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3bGNtUmlnaHRDYWxlbmRhcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFdsY21EYXRhUmFuZ2VDYWxlbmRhciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbVJpZ2h0Q2FsZW5kYXJEaXJlY3RpdmUpIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtUmlnaHRDYWxlbmRhckRpcmVjdGl2ZSBleHRlbmRzIFdsY21EYXRhUmFuZ2VDYWxlbmRhciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGU+LFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNYXRDYWxlbmRhcikpIHByb3RlY3RlZCBvdmVycmlkZSBjYWxlbmRhcjogTWF0Q2FsZW5kYXI8RGF0ZT5cbiAgKSB7XG4gICAgc3VwZXIoJ3JpZ2h0JywgZWxlbWVudCwgY2FsZW5kYXIsIGRhdGVBZGFwdGVyKTtcblxuICAgIHRoaXMuaGFuZGxlWWVhckNoYW5nZSgpO1xuXG4gICAgdGhpcy5oYW5kbGVNb250aENoYW5nZSgpO1xuICB9XG5cbiAgaGFuZGxlWWVhckNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyLnllYXJTZWxlY3RlZFxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChkYXRlOiBEYXRlKSA9PiB0aGlzLmRhdGVDaGFuZ2UuZW1pdCh0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyTW9udGhzKGRhdGUsIC0xKSkpO1xuICB9XG5cbiAgaGFuZGxlTW9udGhDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhci5tb250aFNlbGVjdGVkXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgLTEpKSk7XG4gIH1cblxuICBvdmVycmlkZSBuZXh0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHByZXZZZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KFxuICAgICAgdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyhcbiAgICAgICAgdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclllYXJzKFxuICAgICAgICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSxcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID09ICd5ZWFyJyA/IC0xIDogLXllYXJzUGVyUGFnZVxuICAgICAgICApLFxuICAgICAgICAtMVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBuZXh0WWVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChcbiAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHMoXG4gICAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJZZWFycyhcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsXG4gICAgICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PSAneWVhcicgPyAxIDogeWVhcnNQZXJQYWdlXG4gICAgICAgICksXG4gICAgICAgIC0xXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|