@wlcm/angular 17.7.44 → 17.7.46
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/button/esm2022/index.mjs +3 -0
- package/button/esm2022/lib/button.module.mjs +16 -0
- package/button/esm2022/lib/components/button/button.component.mjs +37 -0
- package/button/esm2022/lib/models/button.models.mjs +2 -0
- package/button/esm2022/wlcm-angular-button.mjs +5 -0
- package/button/fesm2022/wlcm-angular-button.mjs +7 -7
- package/button/fesm2022/wlcm-angular-button.mjs.map +1 -1
- package/core/esm2022/index.mjs +17 -0
- package/core/esm2022/lib/components/default-loader/default-loader.component.mjs +12 -0
- package/core/esm2022/lib/components/icons/calendar-icon/calendar-icon.component.mjs +12 -0
- package/core/esm2022/lib/components/icons/chevron-down-icon/chevron-down-icon.component.mjs +12 -0
- package/core/esm2022/lib/components/icons/close-icon/close-icon.component.mjs +12 -0
- package/core/esm2022/lib/components/icons/search-icon/search-icon.component.mjs +12 -0
- package/core/esm2022/lib/components/loader/loader.component.mjs +32 -0
- package/core/esm2022/lib/constants/_index.mjs +3 -0
- package/core/esm2022/lib/constants/http.constants.mjs +6 -0
- package/core/esm2022/lib/constants/icon.contants.mjs +15 -0
- package/core/esm2022/lib/constants/loader.constants.mjs +7 -0
- package/core/esm2022/lib/directives/_index.mjs +2 -0
- package/core/esm2022/lib/directives/icon.directive.mjs +49 -0
- package/core/esm2022/lib/models/_index.mjs +3 -0
- package/core/esm2022/lib/models/icon.models.mjs +7 -0
- package/core/esm2022/lib/models/option.models.mjs +17 -0
- package/core/esm2022/lib/services/scroll-detection.api.mjs +39 -0
- package/core/esm2022/lib/utils/paginated-data-emulator.utils.mjs +20 -0
- package/core/esm2022/lib/utils/stream.utils.mjs +16 -0
- package/core/esm2022/wlcm-angular-core.mjs +5 -0
- package/core/fesm2022/wlcm-angular-core.mjs +52 -40
- package/core/fesm2022/wlcm-angular-core.mjs.map +1 -1
- package/core/lib/services/scroll-detection.api.d.ts +4 -1
- package/datepicker/esm2022/index.mjs +14 -0
- package/datepicker/esm2022/lib/components/calendar-header/calendar-header.component.mjs +63 -0
- package/datepicker/esm2022/lib/components/range/date-range-calendar-header/date-range-calendar-header.component.mjs +87 -0
- package/datepicker/esm2022/lib/components/range/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +19 -0
- package/datepicker/esm2022/lib/components/range/date-range-picker-input/date-range-picker-input.component.mjs +126 -0
- package/datepicker/esm2022/lib/components/range/double-calendar-range-picker/double-calendar-range-picker.component.mjs +168 -0
- package/datepicker/esm2022/lib/components/range/single-calendar-range-picker/single-calendar-range-picker.component.mjs +95 -0
- package/datepicker/esm2022/lib/components/single/datepicker-input-container/datepicker-input-container.component.mjs +92 -0
- package/datepicker/esm2022/lib/components/single/datepicker-panel/datepicker-panel.component.mjs +33 -0
- package/datepicker/esm2022/lib/constants/datepicker.constants.mjs +23 -0
- package/datepicker/esm2022/lib/constants/range/date-range-picker.constants.mjs +5 -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/calendar.directive.mjs +15 -0
- package/datepicker/esm2022/lib/directives/datepicker-input.base.mjs +103 -0
- package/datepicker/esm2022/lib/directives/datepicker-trigger.base.mjs +105 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-end.directive.mjs +81 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input-start.directive.mjs +81 -0
- package/datepicker/esm2022/lib/directives/ragne/date-range-picker-input.base.mjs +58 -0
- package/datepicker/esm2022/lib/directives/ragne/left-calendar.directive.mjs +51 -0
- package/datepicker/esm2022/lib/directives/ragne/right-calendar.directive.mjs +64 -0
- package/datepicker/esm2022/lib/directives/single/datepicker-input.directive.mjs +67 -0
- package/datepicker/esm2022/lib/models/date-picker.models.mjs +29 -0
- package/datepicker/esm2022/lib/models/range/data-range-calendar.models.mjs +61 -0
- package/datepicker/esm2022/lib/models/range/date-range-picker.models.mjs +27 -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/datepicker/fesm2022/wlcm-angular-datepicker.mjs +61 -61
- package/datepicker/fesm2022/wlcm-angular-datepicker.mjs.map +1 -1
- package/datepicker/lib/directives/datepicker-input.base.d.ts +1 -1
- package/datepicker/lib/directives/datepicker-trigger.base.d.ts +1 -1
- package/datepicker/lib/directives/ragne/date-range-picker-input.base.d.ts +1 -1
- package/datepicker/lib/models/range/data-range-calendar.models.d.ts +1 -1
- package/filters/esm2022/index.mjs +6 -0
- package/filters/esm2022/lib/components/filters-group/filters-group.component.mjs +13 -0
- package/filters/esm2022/lib/constants/filter.constants.mjs +3 -0
- package/filters/esm2022/lib/constants/index.mjs +2 -0
- package/filters/esm2022/lib/directives/filter.directive.mjs +11 -0
- package/filters/esm2022/lib/directives/index.mjs +2 -0
- package/filters/esm2022/lib/filters.module.mjs +20 -0
- package/filters/esm2022/lib/models/array-filter.models.mjs +73 -0
- package/filters/esm2022/lib/models/filter.models.mjs +39 -0
- package/filters/esm2022/lib/models/filters-group.models.mjs +60 -0
- package/filters/esm2022/lib/models/index.mjs +4 -0
- package/filters/esm2022/wlcm-angular-filters.mjs +5 -0
- package/filters/fesm2022/wlcm-angular-filters.mjs +13 -13
- package/filters/fesm2022/wlcm-angular-filters.mjs.map +1 -1
- package/filters/lib/models/filters-group.models.d.ts +1 -1
- package/forms/esm2022/index.mjs +13 -0
- package/forms/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +235 -0
- package/forms/esm2022/lib/forms/components/checkbox/checkbox.component.mjs +85 -0
- package/forms/esm2022/lib/forms/components/checkbox-group/checkbox-group.component.mjs +87 -0
- package/forms/esm2022/lib/forms/components/error/error.component.mjs +12 -0
- package/forms/esm2022/lib/forms/components/form-field/form-field.component.mjs +137 -0
- package/forms/esm2022/lib/forms/components/index.mjs +9 -0
- package/forms/esm2022/lib/forms/components/label/label.component.mjs +23 -0
- package/forms/esm2022/lib/forms/components/partials/autocomplete-suffix/autocomplete-suffix.component.mjs +19 -0
- package/forms/esm2022/lib/forms/components/partials/index.mjs +2 -0
- package/forms/esm2022/lib/forms/components/select/select.component.mjs +333 -0
- package/forms/esm2022/lib/forms/constants/form-elements.constants.mjs +5 -0
- package/forms/esm2022/lib/forms/constants/form-errors.constants.mjs +7 -0
- package/forms/esm2022/lib/forms/constants/form-field.constants.mjs +2 -0
- package/forms/esm2022/lib/forms/constants/form-state-handlers.constants.mjs +13 -0
- package/forms/esm2022/lib/forms/constants/index.mjs +6 -0
- package/forms/esm2022/lib/forms/constants/select.constants.mjs +3 -0
- package/forms/esm2022/lib/forms/directives/autocomplete.directive.mjs +64 -0
- package/forms/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +17 -0
- package/forms/esm2022/lib/forms/directives/form-field-hint.directive.mjs +15 -0
- package/forms/esm2022/lib/forms/directives/form-field-prefix.directive.mjs +22 -0
- package/forms/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +14 -0
- package/forms/esm2022/lib/forms/directives/input.directive.mjs +47 -0
- package/forms/esm2022/lib/forms/directives/select-input-binder.directive.mjs +33 -0
- package/forms/esm2022/lib/forms/forms.module.mjs +64 -0
- package/forms/esm2022/lib/forms/models/_index.mjs +6 -0
- package/forms/esm2022/lib/forms/models/autocomplete.models.mjs +10 -0
- package/forms/esm2022/lib/forms/models/form-errors.models.mjs +2 -0
- package/forms/esm2022/lib/forms/models/form.models.mjs +2 -0
- package/forms/esm2022/lib/forms/models/input.models.mjs +2 -0
- package/forms/esm2022/lib/forms/models/select.models.mjs +2 -0
- package/forms/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +53 -0
- package/forms/esm2022/lib/forms/services/form-state-handler.service.mjs +19 -0
- package/forms/esm2022/lib/forms/services/index.mjs +3 -0
- package/forms/esm2022/lib/forms/services/places.api.mjs +62 -0
- package/forms/esm2022/wlcm-angular-forms.mjs +5 -0
- package/forms/fesm2022/wlcm-angular-forms.mjs +66 -66
- package/forms/fesm2022/wlcm-angular-forms.mjs.map +1 -1
- package/forms/lib/forms/models/autocomplete.models.d.ts +1 -1
- package/forms/lib/forms/services/places.api.d.ts +1 -0
- package/package.json +1 -1
- package/phone-input/esm2022/index.mjs +5 -0
- package/phone-input/esm2022/lib/components/country-code-select/country-code-select.component.mjs +32 -0
- package/phone-input/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs +107 -0
- package/phone-input/esm2022/lib/constants/country-code-options.constants.mjs +20 -0
- package/phone-input/esm2022/lib/constants/phone-adapter.constants.mjs +3 -0
- package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +155 -0
- package/phone-input/esm2022/lib/models/country-code.models.mjs +10 -0
- package/phone-input/esm2022/lib/models/phone-adapter.models.mjs +3 -0
- package/phone-input/esm2022/lib/models/phone.models.mjs +5 -0
- package/phone-input/esm2022/lib/phone-input.module.mjs +20 -0
- package/phone-input/esm2022/lib/pipes/phone-code.pipe.mjs +18 -0
- package/phone-input/esm2022/wlcm-angular-phone-input.mjs +5 -0
- package/phone-input/fesm2022/wlcm-angular-phone-input.mjs +16 -16
- package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -1
- package/search-field/esm2022/index.mjs +3 -0
- package/search-field/esm2022/lib/components/search-field/search-field.component.mjs +41 -0
- package/search-field/esm2022/lib/search-field.module.mjs +18 -0
- package/search-field/esm2022/wlcm-angular-search-field.mjs +5 -0
- package/search-field/fesm2022/wlcm-angular-search-field.mjs +7 -7
- package/search-field/fesm2022/wlcm-angular-search-field.mjs.map +1 -1
- package/stepper/esm2022/index.mjs +11 -0
- package/stepper/esm2022/lib/components/step/step.component.mjs +53 -0
- package/stepper/esm2022/lib/components/step-header/step-header.component.mjs +81 -0
- package/stepper/esm2022/lib/components/stepper/stepper.component.mjs +15 -0
- package/stepper/esm2022/lib/components/stepper-header/stepper-header.component.mjs +16 -0
- package/stepper/esm2022/lib/constants/step.constants.mjs +9 -0
- package/stepper/esm2022/lib/constants/stepper.stepper.mjs +3 -0
- package/stepper/esm2022/lib/directives/load-on-active-step.directive.mjs +51 -0
- package/stepper/esm2022/lib/models/step.models.mjs +60 -0
- package/stepper/esm2022/lib/models/stepper.models.mjs +114 -0
- package/stepper/esm2022/lib/stepper.module.mjs +34 -0
- package/stepper/esm2022/wlcm-angular-stepper.mjs +5 -0
- package/stepper/fesm2022/wlcm-angular-stepper.mjs +25 -25
- package/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -1
- package/stepper/lib/models/step.models.d.ts +1 -1
- package/stepper/lib/models/stepper.models.d.ts +1 -1
- package/table/esm2022/index.mjs +9 -0
- package/table/esm2022/lib/components/table/table.component.mjs +79 -0
- package/table/esm2022/lib/components/table-head/table-head.component.mjs +18 -0
- package/table/esm2022/lib/components/table-head-actions/table-head-actions.component.mjs +41 -0
- package/table/esm2022/lib/components/table-head-data/table-head-data.component.mjs +12 -0
- package/table/esm2022/lib/components/table-row/table-row.component.mjs +87 -0
- package/table/esm2022/lib/components/table-row-actions/table-row-actions.component.mjs +12 -0
- package/table/esm2022/lib/components/table-row-data/table-row-data.component.mjs +12 -0
- package/table/esm2022/lib/components/table-row-spacer/table-row-spacer.component.mjs +12 -0
- package/table/esm2022/lib/constants/table-row.constants.mjs +3 -0
- package/table/esm2022/lib/constants/table.constants.mjs +5 -0
- package/table/esm2022/lib/directives/scrollable-table-container.directive.mjs +46 -0
- package/table/esm2022/lib/models/table-config-manager.models.mjs +18 -0
- package/table/esm2022/lib/models/table-row.models.mjs +2 -0
- package/table/esm2022/lib/models/table-selection-model.mjs +48 -0
- package/table/esm2022/lib/models/table.models.mjs +2 -0
- package/table/esm2022/lib/pipes/table-row-injector.pipe.mjs +24 -0
- package/table/esm2022/lib/table.module.mjs +38 -0
- package/table/esm2022/lib/utils/table-errors.utils.mjs +6 -0
- package/table/esm2022/wlcm-angular-table.mjs +5 -0
- package/table/fesm2022/wlcm-angular-table.mjs +34 -34
- package/table/fesm2022/wlcm-angular-table.mjs.map +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
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 { WlcmDatepickerTrigger } from '../datepicker-trigger.base';
|
|
11
|
+
import { isValid, isAfter } from 'date-fns';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/material/core";
|
|
14
|
+
import * as i2 from "../datepicker-trigger.base";
|
|
15
|
+
import * as i3 from "@angular/material/datepicker";
|
|
16
|
+
let DateRangePickerInputEndDirective = class DateRangePickerInputEndDirective extends WlcmDateRangePickerInputBase {
|
|
17
|
+
constructor(element, dateAdapter, dateFormats, selectionModel, trigger) {
|
|
18
|
+
super(element, dateAdapter, dateFormats, trigger);
|
|
19
|
+
this.element = element;
|
|
20
|
+
this.dateAdapter = dateAdapter;
|
|
21
|
+
this.dateFormats = dateFormats;
|
|
22
|
+
this.selectionModel = selectionModel;
|
|
23
|
+
this.trigger = trigger;
|
|
24
|
+
this.updateSelection = () => {
|
|
25
|
+
let end = this.parseCurrentValue();
|
|
26
|
+
this.selectionModel.updateSelection(new DateRange(this.selectionModel.selection.start, end), this);
|
|
27
|
+
};
|
|
28
|
+
this.handleSelectionChange();
|
|
29
|
+
}
|
|
30
|
+
validate() {
|
|
31
|
+
const defaultErrors = super.validate();
|
|
32
|
+
if (isValid(this.selectionModel.selection.start)) {
|
|
33
|
+
const endDate = this.parseCurrentValue();
|
|
34
|
+
if (endDate && isAfter(this.selectionModel.selection.start, endDate)) {
|
|
35
|
+
return { [WlcmDateRangeValidation.StartExceedsEnd]: true, ...(defaultErrors ?? {}) };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return defaultErrors;
|
|
39
|
+
}
|
|
40
|
+
handleSelectionChange() {
|
|
41
|
+
this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {
|
|
42
|
+
const validDate = this.dateAdapter.getValidDateOrNull(selection.end);
|
|
43
|
+
this._changed?.(validDate);
|
|
44
|
+
this.updateInputValue(validDate);
|
|
45
|
+
this._validatorChanged?.();
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
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 }, { token: i2.WlcmDatepickerTrigger }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
+
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: [
|
|
50
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },
|
|
51
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },
|
|
52
|
+
], usesInheritance: true, ngImport: i0 }); }
|
|
53
|
+
};
|
|
54
|
+
DateRangePickerInputEndDirective = __decorate([
|
|
55
|
+
UntilDestroy(),
|
|
56
|
+
__metadata("design:paramtypes", [ElementRef,
|
|
57
|
+
DateAdapter, Object, MatDateSelectionModel,
|
|
58
|
+
WlcmDatepickerTrigger])
|
|
59
|
+
], DateRangePickerInputEndDirective);
|
|
60
|
+
export { DateRangePickerInputEndDirective };
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DateRangePickerInputEndDirective, decorators: [{
|
|
62
|
+
type: Directive,
|
|
63
|
+
args: [{
|
|
64
|
+
selector: '[wlcmDateRangePickerInputEnd]',
|
|
65
|
+
host: { class: 'wlcm-date-range-picker-input-field' },
|
|
66
|
+
standalone: true,
|
|
67
|
+
providers: [
|
|
68
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },
|
|
69
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputEndDirective), multi: true },
|
|
70
|
+
],
|
|
71
|
+
}]
|
|
72
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined, decorators: [{
|
|
73
|
+
type: Optional
|
|
74
|
+
}, {
|
|
75
|
+
type: Inject,
|
|
76
|
+
args: [MAT_DATE_FORMATS]
|
|
77
|
+
}] }, { type: i3.MatDateSelectionModel, decorators: [{
|
|
78
|
+
type: Inject,
|
|
79
|
+
args: [WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL]
|
|
80
|
+
}] }, { type: i2.WlcmDatepickerTrigger }] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZW5kLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZXBpY2tlci9zcmMvbGliL2RpcmVjdGl2ZXMvcmFnbmUvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZW5kLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUM3SCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDOzs7OztBQVlyQyxJQUFNLGdDQUFnQyxHQUF0QyxNQUFNLGdDQUFpQyxTQUFRLDRCQUE0QjtJQUNoRixZQUNrQixPQUFxQyxFQUNsQyxXQUE4QixFQUNRLFdBQTJCLEVBRTFFLGNBQXNELEVBQzdDLE9BQXVDO1FBRTFELEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FB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QUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDNUcsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlDQUFpQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDekc7aUJBQ0Y7OzBCQUtJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsTUFBTTsyQkFBQyx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEJhc2UgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmJhc2UnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBXTENNX0RBVEVfUkFOR0VfVFJJR0dFUl9TRUxFQ1RJT05fTU9ERUwgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmFuZ2UvZGF0ZS1yYW5nZS10cmlnZ2VyLXNlbGVjdGlvbi1tb2RlbC5jb25zdGFudHMnO1xuaW1wb3J0IHsgTWF0RGF0ZVNlbGVjdGlvbk1vZGVsLCBEYXRlUmFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgV2xjbURhdGVSYW5nZVZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFuZ2UvZGF0ZS1yYW5nZS12YWxpZGF0aW9uLm1vZGVscyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VyVHJpZ2dlciB9IGZyb20gJy4uL2RhdGVwaWNrZXItdHJpZ2dlci5iYXNlJztcbmltcG9ydCB7IGlzVmFsaWQsIGlzQWZ0ZXIgfSBmcm9tICdkYXRlLWZucyc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEVuZF0nLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC1maWVsZCcgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlUGlja2VySW5wdXRFbmREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICAgIHsgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVJhbmdlUGlja2VySW5wdXRFbmREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJJbnB1dEVuZERpcmVjdGl2ZSBleHRlbmRzIFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGU+LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RBVEVfRk9STUFUUykgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyxcbiAgICBASW5qZWN0KFdMQ01fREFURV9SQU5HRV9UUklHR0VSX1NFTEVDVElPTl9NT0RFTClcbiAgICBwcm90ZWN0ZWQgc2VsZWN0aW9uTW9kZWw6IE1hdERhdGVTZWxlY3Rpb25Nb2RlbDxEYXRlUmFuZ2U8RGF0ZT4+LFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB0cmlnZ2VyOiBXbGNtRGF0ZXBpY2tlclRyaWdnZXI8dW5rbm93bj4sXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQsIGRhdGVBZGFwdGVyLCBkYXRlRm9ybWF0cywgdHJpZ2dlcik7XG5cbiAgICB0aGlzLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdmFsaWRhdGUoKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGNvbnN0IGRlZmF1bHRFcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gc3VwZXIudmFsaWRhdGUoKTtcblxuICAgIGlmIChpc1ZhbGlkKHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uLnN0YXJ0KSkge1xuICAgICAgY29uc3QgZW5kRGF0ZTogRGF0ZSB8IG51bGwgPSB0aGlzLnBhcnNlQ3VycmVudFZhbHVlKCk7XG5cbiAgICAgIGlmIChlbmREYXRlICYmIGlzQWZ0ZXIodGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb24uc3RhcnQhLCBlbmREYXRlKSkge1xuICAgICAgICByZXR1cm4geyBbV2xjbURhdGVSYW5nZVZhbGlkYXRpb24uU3RhcnRFeGNlZWRzRW5kXTogdHJ1ZSwgLi4uKGRlZmF1bHRFcnJvcnMgPz8ge30pIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmF1bHRFcnJvcnM7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGVTZWxlY3Rpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgbGV0IGVuZDogRGF0ZSB8IG51bGwgPSB0aGlzLnBhcnNlQ3VycmVudFZhbHVlKCk7XG5cbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnVwZGF0ZVNlbGVjdGlvbihuZXcgRGF0ZVJhbmdlKHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uLnN0YXJ0LCBlbmQpLCB0aGlzKTtcbiAgfTtcblxuICBwcml2YXRlIGhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbkNoYW5nZWQucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSkuc3Vic2NyaWJlKCh7IHNlbGVjdGlvbiB9KSA9PiB7XG4gICAgICBjb25zdCB2YWxpZERhdGU6IERhdGUgfCBudWxsID0gdGhpcy5kYXRlQWRhcHRlci5nZXRWYWxpZERhdGVPck51bGwoc2VsZWN0aW9uLmVuZCk7XG5cbiAgICAgIHRoaXMuX2NoYW5nZWQ/Lih2YWxpZERhdGUpO1xuXG4gICAgICB0aGlzLnVwZGF0ZUlucHV0VmFsdWUodmFsaWREYXRlKTtcblxuICAgICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlZD8uKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
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 { WlcmDatepickerTrigger } from '../datepicker-trigger.base';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/material/core";
|
|
14
|
+
import * as i2 from "../datepicker-trigger.base";
|
|
15
|
+
import * as i3 from "@angular/material/datepicker";
|
|
16
|
+
let DateRangePickerInputStartDirective = class DateRangePickerInputStartDirective extends WlcmDateRangePickerInputBase {
|
|
17
|
+
constructor(element, dateAdapter, dateFormats, selectionModel, trigger) {
|
|
18
|
+
super(element, dateAdapter, dateFormats, trigger);
|
|
19
|
+
this.element = element;
|
|
20
|
+
this.dateAdapter = dateAdapter;
|
|
21
|
+
this.dateFormats = dateFormats;
|
|
22
|
+
this.selectionModel = selectionModel;
|
|
23
|
+
this.trigger = trigger;
|
|
24
|
+
this.updateSelection = () => {
|
|
25
|
+
let start = this.parseCurrentValue();
|
|
26
|
+
this.selectionModel.updateSelection(new DateRange(start, this.selectionModel.selection.end), this);
|
|
27
|
+
};
|
|
28
|
+
this.handleSelectionChange();
|
|
29
|
+
}
|
|
30
|
+
validate() {
|
|
31
|
+
const defaultErrors = super.validate();
|
|
32
|
+
if (this.selectionModel.isComplete() && isValid(this.selectionModel.selection.end)) {
|
|
33
|
+
const startDate = this.parseCurrentValue();
|
|
34
|
+
if (startDate && isAfter(startDate, this.selectionModel.selection.end)) {
|
|
35
|
+
return { [WlcmDateRangeValidation.StartExceedsEnd]: true, ...(defaultErrors ?? {}) };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return defaultErrors;
|
|
39
|
+
}
|
|
40
|
+
handleSelectionChange() {
|
|
41
|
+
this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {
|
|
42
|
+
const validDate = this.dateAdapter.getValidDateOrNull(selection.start);
|
|
43
|
+
this._changed?.(validDate);
|
|
44
|
+
this.updateInputValue(validDate);
|
|
45
|
+
this._validatorChanged?.();
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
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 }, { token: i2.WlcmDatepickerTrigger }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
49
|
+
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: [
|
|
50
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },
|
|
51
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },
|
|
52
|
+
], usesInheritance: true, ngImport: i0 }); }
|
|
53
|
+
};
|
|
54
|
+
DateRangePickerInputStartDirective = __decorate([
|
|
55
|
+
UntilDestroy(),
|
|
56
|
+
__metadata("design:paramtypes", [ElementRef,
|
|
57
|
+
DateAdapter, Object, MatDateSelectionModel,
|
|
58
|
+
WlcmDatepickerTrigger])
|
|
59
|
+
], DateRangePickerInputStartDirective);
|
|
60
|
+
export { DateRangePickerInputStartDirective };
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: DateRangePickerInputStartDirective, decorators: [{
|
|
62
|
+
type: Directive,
|
|
63
|
+
args: [{
|
|
64
|
+
selector: '[wlcmDateRangePickerInputStart]',
|
|
65
|
+
host: { class: 'wlcm-date-range-picker-input-field' },
|
|
66
|
+
standalone: true,
|
|
67
|
+
providers: [
|
|
68
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },
|
|
69
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateRangePickerInputStartDirective), multi: true },
|
|
70
|
+
],
|
|
71
|
+
}]
|
|
72
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined, decorators: [{
|
|
73
|
+
type: Optional
|
|
74
|
+
}, {
|
|
75
|
+
type: Inject,
|
|
76
|
+
args: [MAT_DATE_FORMATS]
|
|
77
|
+
}] }, { type: i3.MatDateSelectionModel, decorators: [{
|
|
78
|
+
type: Inject,
|
|
79
|
+
args: [WLCM_DATE_RANGE_TRIGGER_SELECTION_MODEL]
|
|
80
|
+
}] }, { type: i2.WlcmDatepickerTrigger }] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtc3RhcnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvZGlyZWN0aXZlcy9yYWduZS9kYXRlLXJhbmdlLXBpY2tlci1pbnB1dC1zdGFydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDN0gsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDMUYsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFZNUQsSUFBTSxrQ0FBa0MsR0FBeEMsTUFBTSxrQ0FBbUMsU0FBUSw0QkFBNEI7SUFDbEYsWUFDa0IsT0FBcUMsRUFDbEMsV0FBOEIsRUFDUSxXQUEyQixFQUUxRSxjQUFzRCxFQUM3QyxPQUF1QztRQUUxRCxLQUFLLENBQUMsT0FBTyxFQUFF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RUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1DQUFtQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDOUcsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1DQUFtQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDM0c7aUJBQ0Y7OzBCQUtJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzswQkFDbkMsTUFBTTsyQkFBQyx1Q0FBdUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEJhc2UgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcGlja2VyLWlucHV0LmJhc2UnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlU2VsZWN0aW9uTW9kZWwsIERhdGVSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBXTENNX0RBVEVfUkFOR0VfVFJJR0dFUl9TRUxFQ1RJT05fTU9ERUwgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmFuZ2UvZGF0ZS1yYW5nZS10cmlnZ2VyLXNlbGVjdGlvbi1tb2RlbC5jb25zdGFudHMnO1xuaW1wb3J0IHsgV2xjbURhdGVSYW5nZVZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFuZ2UvZGF0ZS1yYW5nZS12YWxpZGF0aW9uLm1vZGVscyc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IGlzQWZ0ZXIsIGlzVmFsaWQgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlclRyaWdnZXIgfSBmcm9tICcuLi9kYXRlcGlja2VyLXRyaWdnZXIuYmFzZSc7XG5cbkBVbnRpbERlc3Ryb3koKVxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3dsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0XScsXG4gIGhvc3Q6IHsgY2xhc3M6ICd3bGNtLWRhdGUtcmFuZ2UtcGlja2VyLWlucHV0LWZpZWxkJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0RGlyZWN0aXZlKSwgbXVsdGk6IHRydWUgfSxcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVSYW5nZVBpY2tlcklucHV0U3RhcnREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJJbnB1dFN0YXJ0RGlyZWN0aXZlIGV4dGVuZHMgV2xjbURhdGVSYW5nZVBpY2tlcklucHV0QmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgIEBJbmplY3QoV0xDTV9EQVRFX1JBTkdFX1RSSUdHRVJfU0VMRUNUSU9OX01PREVMKVxuICAgIHByb3RlY3RlZCBzZWxlY3Rpb25Nb2RlbDogTWF0RGF0ZVNlbGVjdGlvbk1vZGVsPERhdGVSYW5nZTxEYXRlPj4sXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHRyaWdnZXI6IFdsY21EYXRlcGlja2VyVHJpZ2dlcjx1bmtub3duPlxuICApIHtcbiAgICBzdXBlcihlbGVtZW50LCBkYXRlQWRhcHRlciwgZGF0ZUZvcm1hdHMsIHRyaWdnZXIpO1xuXG4gICAgdGhpcy5oYW5kbGVTZWxlY3Rpb25DaGFuZ2UoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHZhbGlkYXRlKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBjb25zdCBkZWZhdWx0RXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9IHN1cGVyLnZhbGlkYXRlKCk7XG5cbiAgICBpZiAodGhpcy5zZWxlY3Rpb25Nb2RlbC5pc0NvbXBsZXRlKCkgJiYgaXNWYWxpZCh0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbi5lbmQpKSB7XG4gICAgICBjb25zdCBzdGFydERhdGU6IERhdGUgfCBudWxsID0gdGhpcy5wYXJzZUN1cnJlbnRWYWx1ZSgpO1xuXG4gICAgICBpZiAoc3RhcnREYXRlICYmIGlzQWZ0ZXIoc3RhcnREYXRlLCB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGlvbi5lbmQhKSkge1xuICAgICAgICByZXR1cm4geyBbV2xjbURhdGVSYW5nZVZhbGlkYXRpb24uU3RhcnRFeGNlZWRzRW5kXTogdHJ1ZSwgLi4uKGRlZmF1bHRFcnJvcnMgPz8ge30pIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmF1bHRFcnJvcnM7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGVTZWxlY3Rpb24gPSAoKTogdm9pZCA9PiB7XG4gICAgbGV0IHN0YXJ0OiBEYXRlIHwgbnVsbCA9IHRoaXMucGFyc2VDdXJyZW50VmFsdWUoKTtcblxuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwudXBkYXRlU2VsZWN0aW9uKG5ldyBEYXRlUmFuZ2Uoc3RhcnQsIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uLmVuZCksIHRoaXMpO1xuICB9O1xuXG4gIHByaXZhdGUgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0aW9uQ2hhbmdlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKHsgc2VsZWN0aW9uIH0pID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkRGF0ZTogRGF0ZSB8IG51bGwgPSB0aGlzLmRhdGVBZGFwdGVyLmdldFZhbGlkRGF0ZU9yTnVsbChzZWxlY3Rpb24uc3RhcnQpO1xuXG4gICAgICB0aGlzLl9jaGFuZ2VkPy4odmFsaWREYXRlKTtcblxuICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHZhbGlkRGF0ZSk7XG5cbiAgICAgIHRoaXMuX3ZhbGlkYXRvckNoYW5nZWQ/LigpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Directive, ElementRef } from '@angular/core';
|
|
2
|
+
import { DateAdapter } from '@angular/material/core';
|
|
3
|
+
import { WlcmDatepickerInputBase } from '../datepicker-input.base';
|
|
4
|
+
import { WlcmDatepickerTrigger } from '../datepicker-trigger.base';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/core";
|
|
7
|
+
import * as i2 from "../datepicker-trigger.base";
|
|
8
|
+
export class WlcmDateRangePickerInputBase extends WlcmDatepickerInputBase {
|
|
9
|
+
constructor(element, dateAdapter, dateFormats, trigger) {
|
|
10
|
+
super(element, dateAdapter, dateFormats, trigger);
|
|
11
|
+
this.element = element;
|
|
12
|
+
this.dateAdapter = dateAdapter;
|
|
13
|
+
this.dateFormats = dateFormats;
|
|
14
|
+
this.trigger = trigger;
|
|
15
|
+
this._inputMirror = this.createInputMirror();
|
|
16
|
+
}
|
|
17
|
+
ngAfterViewInit() {
|
|
18
|
+
this.inputElement.parentElement?.appendChild(this._inputMirror);
|
|
19
|
+
this.copyInputElementStyles(this._inputMirror);
|
|
20
|
+
document.fonts.ready.then(() => this.changeInputSize());
|
|
21
|
+
}
|
|
22
|
+
writeValue(value) {
|
|
23
|
+
super.writeValue(value);
|
|
24
|
+
this.updateSelection();
|
|
25
|
+
}
|
|
26
|
+
handleInput() {
|
|
27
|
+
this.changeInputSize();
|
|
28
|
+
super.handleInput();
|
|
29
|
+
}
|
|
30
|
+
updateInputValue(value) {
|
|
31
|
+
super.updateInputValue(value);
|
|
32
|
+
this.changeInputSize();
|
|
33
|
+
}
|
|
34
|
+
changeInputSize() {
|
|
35
|
+
requestAnimationFrame(() => {
|
|
36
|
+
const value = this.currentValue || this.inputElement.placeholder;
|
|
37
|
+
this._inputMirror.innerHTML = value;
|
|
38
|
+
this.inputElement.style.width = `${this._inputMirror.offsetWidth + 2}px`;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
createInputMirror() {
|
|
42
|
+
const inputMirror = document.createElement('div');
|
|
43
|
+
inputMirror.classList.add('wlcm-date-range-picker-input-field-mirror');
|
|
44
|
+
return inputMirror;
|
|
45
|
+
}
|
|
46
|
+
copyInputElementStyles(target) {
|
|
47
|
+
const inputElementStyles = window.getComputedStyle(this.inputElement);
|
|
48
|
+
target.style.fontSize = inputElementStyles.fontSize;
|
|
49
|
+
target.style.fontFamily = inputElementStyles.fontFamily;
|
|
50
|
+
target.style.letterSpacing = inputElementStyles.letterSpacing;
|
|
51
|
+
}
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDateRangePickerInputBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmDateRangePickerInputBase, usesInheritance: true, ngImport: i0 }); }
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDateRangePickerInputBase, decorators: [{
|
|
56
|
+
type: Directive
|
|
57
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined }, { type: i2.WlcmDatepickerTrigger }] });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvZGF0ZXBpY2tlci9zcmMvbGliL2RpcmVjdGl2ZXMvcmFnbmUvZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQuYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLFdBQVcsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUduRSxNQUFNLE9BQWdCLDRCQUNwQixTQUFRLHVCQUF1QjtJQUsvQixZQUNrQixPQUFxQyxFQUNsQyxXQUE4QixFQUM5QixXQUEyQixFQUMzQixPQUF1QztRQUUxRCxLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFMbEMsWUFBTyxHQUFQLE9BQU8sQ0FBOEI7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFnQztRQU5wRCxpQkFBWSxHQUFnQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQVM3RCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFaEUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUvQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVRLFVBQVUsQ0FBQyxLQUFrQjtRQUNwQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRVEsV0FBVztRQUNsQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFa0IsZ0JBQWdCLENBQUMsS0FBa0I7UUFDcEQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sZUFBZTtRQUNyQixxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQVcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUV6RSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFFcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE1BQU0sV0FBVyxHQUFnQixRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRS9ELFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFFdkUsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE1BQW1CO1FBQ2hELE1BQU0sa0JBQWtCLEdBQXdCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFM0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUN4RCxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7SUFDaEUsQ0FBQzs4R0FqRW1CLDRCQUE0QjtrR0FBNUIsNEJBQTRCOzsyRkFBNUIsNEJBQTRCO2tCQURqRCxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1hdERhdGVGb3JtYXRzIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlcklucHV0QmFzZSB9IGZyb20gJy4uL2RhdGVwaWNrZXItaW5wdXQuYmFzZSc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlclRyaWdnZXIgfSBmcm9tICcuLi9kYXRlcGlja2VyLXRyaWdnZXIuYmFzZSc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdsY21EYXRlUmFuZ2VQaWNrZXJJbnB1dEJhc2VcbiAgZXh0ZW5kcyBXbGNtRGF0ZXBpY2tlcklucHV0QmFzZVxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3JcbntcbiAgcHJpdmF0ZSBfaW5wdXRNaXJyb3I6IEhUTUxFbGVtZW50ID0gdGhpcy5jcmVhdGVJbnB1dE1pcnJvcigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVGb3JtYXRzOiBNYXREYXRlRm9ybWF0cyxcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdHJpZ2dlcjogV2xjbURhdGVwaWNrZXJUcmlnZ2VyPHVua25vd24+LFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50LCBkYXRlQWRhcHRlciwgZGF0ZUZvcm1hdHMsIHRyaWdnZXIpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRFbGVtZW50LnBhcmVudEVsZW1lbnQ/LmFwcGVuZENoaWxkKHRoaXMuX2lucHV0TWlycm9yKTtcblxuICAgIHRoaXMuY29weUlucHV0RWxlbWVudFN0eWxlcyh0aGlzLl9pbnB1dE1pcnJvcik7XG5cbiAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKCgpID0+IHRoaXMuY2hhbmdlSW5wdXRTaXplKCkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSB8IG51bGwpOiB2b2lkIHtcbiAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcblxuICAgIHRoaXMudXBkYXRlU2VsZWN0aW9uKCk7XG4gIH1cblxuICBvdmVycmlkZSBoYW5kbGVJbnB1dCgpIHtcbiAgICB0aGlzLmNoYW5nZUlucHV0U2l6ZSgpO1xuXG4gICAgc3VwZXIuaGFuZGxlSW5wdXQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVJbnB1dFZhbHVlKHZhbHVlOiBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIHN1cGVyLnVwZGF0ZUlucHV0VmFsdWUodmFsdWUpO1xuXG4gICAgdGhpcy5jaGFuZ2VJbnB1dFNpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hhbmdlSW5wdXRTaXplKCk6IHZvaWQge1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZTogc3RyaW5nID0gdGhpcy5jdXJyZW50VmFsdWUgfHwgdGhpcy5pbnB1dEVsZW1lbnQucGxhY2Vob2xkZXI7XG5cbiAgICAgIHRoaXMuX2lucHV0TWlycm9yLmlubmVySFRNTCA9IHZhbHVlO1xuXG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5zdHlsZS53aWR0aCA9IGAke3RoaXMuX2lucHV0TWlycm9yLm9mZnNldFdpZHRoICsgMn1weGA7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUlucHV0TWlycm9yKCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBpbnB1dE1pcnJvcjogSFRNTEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgIGlucHV0TWlycm9yLmNsYXNzTGlzdC5hZGQoJ3dsY20tZGF0ZS1yYW5nZS1waWNrZXItaW5wdXQtZmllbGQtbWlycm9yJyk7XG5cbiAgICByZXR1cm4gaW5wdXRNaXJyb3I7XG4gIH1cblxuICBwcml2YXRlIGNvcHlJbnB1dEVsZW1lbnRTdHlsZXModGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudFN0eWxlczogQ1NTU3R5bGVEZWNsYXJhdGlvbiA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuaW5wdXRFbGVtZW50KTtcblxuICAgIHRhcmdldC5zdHlsZS5mb250U2l6ZSA9IGlucHV0RWxlbWVudFN0eWxlcy5mb250U2l6ZTtcbiAgICB0YXJnZXQuc3R5bGUuZm9udEZhbWlseSA9IGlucHV0RWxlbWVudFN0eWxlcy5mb250RmFtaWx5O1xuICAgIHRhcmdldC5zdHlsZS5sZXR0ZXJTcGFjaW5nID0gaW5wdXRFbGVtZW50U3R5bGVzLmxldHRlclNwYWNpbmc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
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 { WLCM_DATEPICKER_CONFIG } from '../../constants/datepicker.constants';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/material/core";
|
|
10
|
+
import * as i2 from "@angular/material/datepicker";
|
|
11
|
+
let WlcmLeftCalendarDirective = class WlcmLeftCalendarDirective extends WlcmDataRangeCalendar {
|
|
12
|
+
constructor(element, dateAdapter, calendar, datepickerConfig) {
|
|
13
|
+
super('left', element, calendar, dateAdapter, datepickerConfig);
|
|
14
|
+
this.element = element;
|
|
15
|
+
this.dateAdapter = dateAdapter;
|
|
16
|
+
this.calendar = calendar;
|
|
17
|
+
this.datepickerConfig = datepickerConfig;
|
|
18
|
+
this.handleYearChange();
|
|
19
|
+
this.handleMonthChange();
|
|
20
|
+
}
|
|
21
|
+
handleYearChange() {
|
|
22
|
+
this.calendar.yearSelected.pipe(untilDestroyed(this)).subscribe((date) => this.dateChange.emit(date));
|
|
23
|
+
}
|
|
24
|
+
handleMonthChange() {
|
|
25
|
+
this.calendar.monthSelected.pipe(untilDestroyed(this)).subscribe((date) => this.dateChange.emit(date));
|
|
26
|
+
}
|
|
27
|
+
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) }, { token: WLCM_DATEPICKER_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
28
|
+
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 }); }
|
|
29
|
+
};
|
|
30
|
+
WlcmLeftCalendarDirective = __decorate([
|
|
31
|
+
UntilDestroy(),
|
|
32
|
+
__metadata("design:paramtypes", [ElementRef,
|
|
33
|
+
DateAdapter,
|
|
34
|
+
MatCalendar, Object])
|
|
35
|
+
], WlcmLeftCalendarDirective);
|
|
36
|
+
export { WlcmLeftCalendarDirective };
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmLeftCalendarDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: '[wlcmLeftCalendar]',
|
|
41
|
+
standalone: true,
|
|
42
|
+
providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmLeftCalendarDirective) }],
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: i2.MatCalendar, decorators: [{
|
|
45
|
+
type: Inject,
|
|
46
|
+
args: [forwardRef(() => MatCalendar)]
|
|
47
|
+
}] }, { type: undefined, decorators: [{
|
|
48
|
+
type: Inject,
|
|
49
|
+
args: [WLCM_DATEPICKER_CONFIG]
|
|
50
|
+
}] }] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1jYWxlbmRhci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3JhZ25lL2xlZnQtY2FsZW5kYXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVN2RSxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUEwQixTQUFRLHFCQUFxQjtJQUNsRSxZQUNrQixPQUFnQyxFQUM3QixXQUE4QixFQUNTLFFBQTJCLEVBQ2xDLGdCQUFzQztRQUV6RixLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFMaEQsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQ1MsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQUl6RixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDOzhHQXBCVSx5QkFBeUIsdUVBSTFCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFDN0Isc0JBQXNCO2tHQUxyQix5QkFBeUIsaUVBRnpCLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUM7O0FBRTlGLHlCQUF5QjtJQU5yQyxZQUFZLEVBQUU7cUNBUWMsVUFBVTtRQUNILFdBQVc7UUFDeUIsV0FBVztHQUp0RSx5QkFBeUIsQ0FxQnJDOzsyRkFyQlkseUJBQXlCO2tCQUxyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwwQkFBMEIsQ0FBQyxFQUFFLENBQUM7aUJBQzFHOzswQkFLSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7OzBCQUNwQyxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FsZW5kYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgV2xjbURhdGFSYW5nZUNhbGVuZGFyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhbmdlL2RhdGEtcmFuZ2UtY2FsZW5kYXIubW9kZWxzJztcbmltcG9ydCB7IFdMQ01fREFURVBJQ0tFUl9DT05GSUcgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZGF0ZXBpY2tlci5jb25zdGFudHMnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZS1waWNrZXIubW9kZWxzJztcblxuQFVudGlsRGVzdHJveSgpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2xjbUxlZnRDYWxlbmRhcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFdsY21EYXRhUmFuZ2VDYWxlbmRhciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbUxlZnRDYWxlbmRhckRpcmVjdGl2ZSkgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFdsY21MZWZ0Q2FsZW5kYXJEaXJlY3RpdmUgZXh0ZW5kcyBXbGNtRGF0YVJhbmdlQ2FsZW5kYXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcnJpZGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxEYXRlPixcbiAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gTWF0Q2FsZW5kYXIpKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FsZW5kYXI6IE1hdENhbGVuZGFyPERhdGU+LFxuICAgIEBJbmplY3QoV0xDTV9EQVRFUElDS0VSX0NPTkZJRykgcHJvdGVjdGVkIG92ZXJyaWRlIGRhdGVwaWNrZXJDb25maWc6IFdsY21EYXRlcGlja2VyQ29uZmlnXG4gICkge1xuICAgIHN1cGVyKCdsZWZ0JywgZWxlbWVudCwgY2FsZW5kYXIsIGRhdGVBZGFwdGVyLCBkYXRlcGlja2VyQ29uZmlnKTtcblxuICAgIHRoaXMuaGFuZGxlWWVhckNoYW5nZSgpO1xuXG4gICAgdGhpcy5oYW5kbGVNb250aENoYW5nZSgpO1xuICB9XG5cbiAgaGFuZGxlWWVhckNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyLnllYXJTZWxlY3RlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgfVxuXG4gIGhhbmRsZU1vbnRoQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXIubW9udGhTZWxlY3RlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KGRhdGUpKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,64 @@
|
|
|
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 { WLCM_DATEPICKER_CONFIG } from '../../constants/datepicker.constants';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/material/core";
|
|
10
|
+
import * as i2 from "@angular/material/datepicker";
|
|
11
|
+
let WlcmRightCalendarDirective = class WlcmRightCalendarDirective extends WlcmDataRangeCalendar {
|
|
12
|
+
constructor(element, dateAdapter, calendar, datepickerConfig) {
|
|
13
|
+
super('right', element, calendar, dateAdapter, datepickerConfig);
|
|
14
|
+
this.element = element;
|
|
15
|
+
this.dateAdapter = dateAdapter;
|
|
16
|
+
this.calendar = calendar;
|
|
17
|
+
this.datepickerConfig = datepickerConfig;
|
|
18
|
+
this.handleYearChange();
|
|
19
|
+
this.handleMonthChange();
|
|
20
|
+
}
|
|
21
|
+
handleYearChange() {
|
|
22
|
+
this.calendar.yearSelected
|
|
23
|
+
.pipe(untilDestroyed(this))
|
|
24
|
+
.subscribe((date) => this.dateChange.emit(this.dateAdapter.addCalendarMonths(date, -1)));
|
|
25
|
+
}
|
|
26
|
+
handleMonthChange() {
|
|
27
|
+
this.calendar.monthSelected
|
|
28
|
+
.pipe(untilDestroyed(this))
|
|
29
|
+
.subscribe((date) => this.dateChange.emit(this.dateAdapter.addCalendarMonths(date, -1)));
|
|
30
|
+
}
|
|
31
|
+
nextMonth() {
|
|
32
|
+
this.dateChange.emit(this.calendar.activeDate);
|
|
33
|
+
}
|
|
34
|
+
prevYear() {
|
|
35
|
+
this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage), -1));
|
|
36
|
+
}
|
|
37
|
+
nextYear() {
|
|
38
|
+
this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? 1 : yearsPerPage), -1));
|
|
39
|
+
}
|
|
40
|
+
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) }, { token: WLCM_DATEPICKER_CONFIG }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
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 }); }
|
|
42
|
+
};
|
|
43
|
+
WlcmRightCalendarDirective = __decorate([
|
|
44
|
+
UntilDestroy(),
|
|
45
|
+
__metadata("design:paramtypes", [ElementRef,
|
|
46
|
+
DateAdapter,
|
|
47
|
+
MatCalendar, Object])
|
|
48
|
+
], WlcmRightCalendarDirective);
|
|
49
|
+
export { WlcmRightCalendarDirective };
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmRightCalendarDirective, decorators: [{
|
|
51
|
+
type: Directive,
|
|
52
|
+
args: [{
|
|
53
|
+
selector: '[wlcmRightCalendar]',
|
|
54
|
+
standalone: true,
|
|
55
|
+
providers: [{ provide: WlcmDataRangeCalendar, useExisting: forwardRef(() => WlcmRightCalendarDirective) }],
|
|
56
|
+
}]
|
|
57
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: i2.MatCalendar, decorators: [{
|
|
58
|
+
type: Inject,
|
|
59
|
+
args: [forwardRef(() => MatCalendar)]
|
|
60
|
+
}] }, { type: undefined, decorators: [{
|
|
61
|
+
type: Inject,
|
|
62
|
+
args: [WLCM_DATEPICKER_CONFIG]
|
|
63
|
+
}] }] });
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtY2FsZW5kYXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvZGlyZWN0aXZlcy9yYWduZS9yaWdodC1jYWxlbmRhci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQVN2RSxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEyQixTQUFRLHFCQUFxQjtJQUNuRSxZQUNrQixPQUFnQyxFQUM3QixXQUE4QixFQUNTLFFBQTJCLEVBQ2xDLGdCQUFzQztRQUV6RixLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFMakQsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDN0IsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQ1MsYUFBUSxHQUFSLFFBQVEsQ0FBbUI7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQUl6RixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZO2FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO2FBQ3hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsSUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRVEsU0FBUztRQUNoQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFUSxRQUFRO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FDekQsRUFDRCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRVEsUUFBUTtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FDdkQsRUFDRCxDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7SUFDSixDQUFDOzhHQXBEVSwwQkFBMEIsdUVBSTNCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsYUFDN0Isc0JBQXNCO2tHQUxyQiwwQkFBMEIsa0VBRjFCLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUM7O0FBRS9GLDBCQUEwQjtJQU50QyxZQUFZLEVBQUU7cUNBUWMsVUFBVTtRQUNILFdBQVc7UUFDeUIsV0FBVztHQUp0RSwwQkFBMEIsQ0FxRHRDOzsyRkFyRFksMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxFQUFFLENBQUM7aUJBQzNHOzswQkFLSSxNQUFNOzJCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUM7OzBCQUNwQyxNQUFNOzJCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21EYXRhUmFuZ2VDYWxlbmRhciB9IGZyb20gJy4uLy4uL21vZGVscy9yYW5nZS9kYXRhLXJhbmdlLWNhbGVuZGFyLm1vZGVscyc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgeWVhcnNQZXJQYWdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgV0xDTV9EQVRFUElDS0VSX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kYXRlcGlja2VyLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBXbGNtRGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRlLXBpY2tlci5tb2RlbHMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t3bGNtUmlnaHRDYWxlbmRhcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFdsY21EYXRhUmFuZ2VDYWxlbmRhciwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2xjbVJpZ2h0Q2FsZW5kYXJEaXJlY3RpdmUpIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtUmlnaHRDYWxlbmRhckRpcmVjdGl2ZSBleHRlbmRzIFdsY21EYXRhUmFuZ2VDYWxlbmRhciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPERhdGU+LFxuICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBNYXRDYWxlbmRhcikpIHByb3RlY3RlZCBvdmVycmlkZSBjYWxlbmRhcjogTWF0Q2FsZW5kYXI8RGF0ZT4sXG4gICAgQEluamVjdChXTENNX0RBVEVQSUNLRVJfQ09ORklHKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZXBpY2tlckNvbmZpZzogV2xjbURhdGVwaWNrZXJDb25maWdcbiAgKSB7XG4gICAgc3VwZXIoJ3JpZ2h0JywgZWxlbWVudCwgY2FsZW5kYXIsIGRhdGVBZGFwdGVyLCBkYXRlcGlja2VyQ29uZmlnKTtcblxuICAgIHRoaXMuaGFuZGxlWWVhckNoYW5nZSgpO1xuXG4gICAgdGhpcy5oYW5kbGVNb250aENoYW5nZSgpO1xuICB9XG5cbiAgaGFuZGxlWWVhckNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyLnllYXJTZWxlY3RlZFxuICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKChkYXRlOiBEYXRlKSA9PiB0aGlzLmRhdGVDaGFuZ2UuZW1pdCh0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyTW9udGhzKGRhdGUsIC0xKSkpO1xuICB9XG5cbiAgaGFuZGxlTW9udGhDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhci5tb250aFNlbGVjdGVkXG4gICAgICAucGlwZSh1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoKGRhdGU6IERhdGUpID0+IHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHMoZGF0ZSwgLTEpKSk7XG4gIH1cblxuICBvdmVycmlkZSBuZXh0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5jYWxlbmRhci5hY3RpdmVEYXRlKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHByZXZZZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KFxuICAgICAgdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyhcbiAgICAgICAgdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclllYXJzKFxuICAgICAgICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSxcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID09ICd5ZWFyJyA/IC0xIDogLXllYXJzUGVyUGFnZVxuICAgICAgICApLFxuICAgICAgICAtMVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBvdmVycmlkZSBuZXh0WWVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdChcbiAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHMoXG4gICAgICAgIHRoaXMuZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJZZWFycyhcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsXG4gICAgICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PSAneWVhcicgPyAxIDogeWVhcnNQZXJQYWdlXG4gICAgICAgICksXG4gICAgICAgIC0xXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Directive, ElementRef, Inject, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
5
|
+
import { MatDateSelectionModel } from '@angular/material/datepicker';
|
|
6
|
+
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
7
|
+
import { WlcmDatepickerInputBase } from '../datepicker-input.base';
|
|
8
|
+
import { WlcmDatepickerTrigger } from '../datepicker-trigger.base';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/material/core";
|
|
11
|
+
import * as i2 from "@angular/material/datepicker";
|
|
12
|
+
import * as i3 from "../datepicker-trigger.base";
|
|
13
|
+
let WlcmDatepickerInputDirective = class WlcmDatepickerInputDirective extends WlcmDatepickerInputBase {
|
|
14
|
+
constructor(element, dateAdapter, dateFormats, selectionModel, trigger) {
|
|
15
|
+
super(element, dateAdapter, dateFormats, trigger);
|
|
16
|
+
this.element = element;
|
|
17
|
+
this.dateAdapter = dateAdapter;
|
|
18
|
+
this.dateFormats = dateFormats;
|
|
19
|
+
this.selectionModel = selectionModel;
|
|
20
|
+
this.trigger = trigger;
|
|
21
|
+
this.handleSelectionChange();
|
|
22
|
+
this.handleClosePanel();
|
|
23
|
+
}
|
|
24
|
+
updateSelection() {
|
|
25
|
+
let date = this.parseCurrentValue();
|
|
26
|
+
this.selectionModel.updateSelection(date, this);
|
|
27
|
+
}
|
|
28
|
+
handleClosePanel() {
|
|
29
|
+
this.trigger.closed.pipe(untilDestroyed(this)).subscribe(() => this._touched?.());
|
|
30
|
+
}
|
|
31
|
+
handleSelectionChange() {
|
|
32
|
+
this.selectionModel.selectionChanged.pipe(untilDestroyed(this)).subscribe(({ selection }) => {
|
|
33
|
+
this.updateInputValue(selection);
|
|
34
|
+
this._changed?.(selection);
|
|
35
|
+
this._touched?.();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerInputDirective, deps: [{ token: i0.ElementRef }, { token: i1.DateAdapter }, { token: MAT_DATE_FORMATS }, { token: i2.MatDateSelectionModel }, { token: i3.WlcmDatepickerTrigger }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: WlcmDatepickerInputDirective, isStandalone: true, selector: "[wlcmDatepickerInput]", host: { classAttribute: "wlcm-form-field-input" }, providers: [
|
|
40
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },
|
|
41
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },
|
|
42
|
+
], exportAs: ["wlcmDatepickerInput"], usesInheritance: true, ngImport: i0 }); }
|
|
43
|
+
};
|
|
44
|
+
WlcmDatepickerInputDirective = __decorate([
|
|
45
|
+
UntilDestroy(),
|
|
46
|
+
__metadata("design:paramtypes", [ElementRef,
|
|
47
|
+
DateAdapter, Object, MatDateSelectionModel,
|
|
48
|
+
WlcmDatepickerTrigger])
|
|
49
|
+
], WlcmDatepickerInputDirective);
|
|
50
|
+
export { WlcmDatepickerInputDirective };
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDatepickerInputDirective, decorators: [{
|
|
52
|
+
type: Directive,
|
|
53
|
+
args: [{
|
|
54
|
+
selector: '[wlcmDatepickerInput]',
|
|
55
|
+
exportAs: 'wlcmDatepickerInput',
|
|
56
|
+
host: { class: 'wlcm-form-field-input' },
|
|
57
|
+
standalone: true,
|
|
58
|
+
providers: [
|
|
59
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },
|
|
60
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => WlcmDatepickerInputDirective), multi: true },
|
|
61
|
+
],
|
|
62
|
+
}]
|
|
63
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.DateAdapter }, { type: undefined, decorators: [{
|
|
64
|
+
type: Inject,
|
|
65
|
+
args: [MAT_DATE_FORMATS]
|
|
66
|
+
}] }, { type: i2.MatDateSelectionModel }, { type: i3.WlcmDatepickerTrigger }] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9kaXJlY3RpdmVzL3NpbmdsZS9kYXRlcGlja2VyLWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQXdCLGFBQWEsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFFdkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7QUFhNUQsSUFBTSw0QkFBNEIsR0FBbEMsTUFBTSw0QkFDWCxTQUFRLHVCQUF1QjtJQUcvQixZQUNxQixPQUFtQixFQUNuQixXQUE4QixFQUNKLFdBQTJCLEVBQzlELGNBQWtELEVBQ3pDLE9BQStEO1FBRWxGLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQU4vQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUNKLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUM5RCxtQkFBYyxHQUFkLGNBQWMsQ0FBb0M7UUFDekMsWUFBTyxHQUFQLE9BQU8sQ0FBd0Q7UUFJbEYsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVRLGVBQWU7UUFDdEIsSUFBSSxJQUFJLEdBQWdCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRWpELElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtZQUMxRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRTNCLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FwQ1UsNEJBQTRCLHVFQU83QixnQkFBZ0I7a0dBUGYsNEJBQTRCLHVIQUw1QjtZQUNULEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtZQUNwRyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUN6Rzs7QUFFVSw0QkFBNEI7SUFYeEMsWUFBWSxFQUFFO3FDQWdCaUIsVUFBVTtRQUNOLFdBQVcsVUFFakIscUJBQXFCO1FBQ25CLHFCQUFxQjtHQVR4Qyw0QkFBNEIsQ0FxQ3hDOzsyRkFyQ1ksNEJBQTRCO2tCQVZ4QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRTtvQkFDeEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsNkJBQTZCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUNwRyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw2QkFBNkIsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQ3pHO2lCQUNGOzswQkFRSSxNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0cyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgV2xjbURhdGVwaWNrZXJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2luZ2xlL2RhdGVwaWNrZXItcGFuZWwvZGF0ZXBpY2tlci1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGF0ZVNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VySW5wdXRCYXNlIH0gZnJvbSAnLi4vZGF0ZXBpY2tlci1pbnB1dC5iYXNlJztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VyVHJpZ2dlciB9IGZyb20gJy4uL2RhdGVwaWNrZXItdHJpZ2dlci5iYXNlJztcblxuQFVudGlsRGVzdHJveSgpXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbd2xjbURhdGVwaWNrZXJJbnB1dF0nLFxuICBleHBvcnRBczogJ3dsY21EYXRlcGlja2VySW5wdXQnLFxuICBob3N0OiB7IGNsYXNzOiAnd2xjbS1mb3JtLWZpZWxkLWlucHV0JyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdsY21EYXRlcGlja2VySW5wdXREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdsY21EYXRlcGlja2VySW5wdXREaXJlY3RpdmUpLCBtdWx0aTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtRGF0ZXBpY2tlcklucHV0RGlyZWN0aXZlPFQ+XG4gIGV4dGVuZHMgV2xjbURhdGVwaWNrZXJJbnB1dEJhc2VcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yXG57XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgZGF0ZUZvcm1hdHM6IE1hdERhdGVGb3JtYXRzLFxuICAgIHByb3RlY3RlZCBzZWxlY3Rpb25Nb2RlbDogTWF0RGF0ZVNlbGVjdGlvbk1vZGVsPERhdGUgfCBudWxsPixcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdHJpZ2dlcjogV2xjbURhdGVwaWNrZXJUcmlnZ2VyPFdsY21EYXRlcGlja2VyUGFuZWxDb21wb25lbnQ8VD4+XG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQsIGRhdGVBZGFwdGVyLCBkYXRlRm9ybWF0cywgdHJpZ2dlcik7XG5cbiAgICB0aGlzLmhhbmRsZVNlbGVjdGlvbkNoYW5nZSgpO1xuXG4gICAgdGhpcy5oYW5kbGVDbG9zZVBhbmVsKCk7XG4gIH1cblxuICBvdmVycmlkZSB1cGRhdGVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgbGV0IGRhdGU6IERhdGUgfCBudWxsID0gdGhpcy5wYXJzZUN1cnJlbnRWYWx1ZSgpO1xuXG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC51cGRhdGVTZWxlY3Rpb24oZGF0ZSwgdGhpcyk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNsb3NlUGFuZWwoKTogdm9pZCB7XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlZC5waXBlKHVudGlsRGVzdHJveWVkKHRoaXMpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fdG91Y2hlZD8uKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTZWxlY3Rpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3Rpb25DaGFuZ2VkLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpLnN1YnNjcmliZSgoeyBzZWxlY3Rpb24gfSkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVJbnB1dFZhbHVlKHNlbGVjdGlvbik7XG5cbiAgICAgIHRoaXMuX2NoYW5nZWQ/LihzZWxlY3Rpb24pO1xuXG4gICAgICB0aGlzLl90b3VjaGVkPy4oKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { DateFnsAdapter } from '@angular/material-date-fns-adapter';
|
|
3
|
+
import { format } from 'date-fns';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
function range(length, valueFunction) {
|
|
6
|
+
const valuesArray = Array(length);
|
|
7
|
+
for (let i = 0; i < length; i++) {
|
|
8
|
+
valuesArray[i] = valueFunction(i);
|
|
9
|
+
}
|
|
10
|
+
return valuesArray;
|
|
11
|
+
}
|
|
12
|
+
export class WlcmDateAdapter extends DateFnsAdapter {
|
|
13
|
+
getDayOfWeekNames(style) {
|
|
14
|
+
const formatString = style === 'long' ? 'EEEE' : 'EEEEEE';
|
|
15
|
+
return range(7, (i) => format(new Date(2017, 0, i + 1), formatString));
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDateAdapter }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDateAdapter, decorators: [{
|
|
21
|
+
type: Injectable
|
|
22
|
+
}] });
|
|
23
|
+
export var WlcmDateValidation;
|
|
24
|
+
(function (WlcmDateValidation) {
|
|
25
|
+
WlcmDateValidation["Format"] = "WlcmInvalidDateFormat";
|
|
26
|
+
WlcmDateValidation["MinDate"] = "WlcmDateIsBeforeMinDate";
|
|
27
|
+
WlcmDateValidation["MaxDate"] = "WlcmDateIsAfterMaxDate";
|
|
28
|
+
})(WlcmDateValidation || (WlcmDateValidation = {}));
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9kYXRlcGlja2VyL3NyYy9saWIvbW9kZWxzL2RhdGUtcGlja2VyLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUVsQyxTQUFTLEtBQUssQ0FBSSxNQUFjLEVBQUUsYUFBbUM7SUFDbkUsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNoQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBR0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUN4QyxpQkFBaUIsQ0FBQyxLQUFrQztRQUMzRCxNQUFNLFlBQVksR0FBRyxLQUFLLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUUxRCxPQUFPLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OEdBTFUsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVOztBQVNYLE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsc0RBQWdDLENBQUE7SUFDaEMseURBQW1DLENBQUE7SUFDbkMsd0RBQWtDLENBQUE7QUFDcEMsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVGbnNBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtZGF0ZS1mbnMtYWRhcHRlcic7XG5pbXBvcnQgeyBmb3JtYXQgfSBmcm9tICdkYXRlLWZucyc7XG5cbmZ1bmN0aW9uIHJhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCk6IFRbXSB7XG4gIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcbiAgfVxuICByZXR1cm4gdmFsdWVzQXJyYXk7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXbGNtRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlRm5zQWRhcHRlciB7XG4gIG92ZXJyaWRlIGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZm9ybWF0U3RyaW5nID0gc3R5bGUgPT09ICdsb25nJyA/ICdFRUVFJyA6ICdFRUVFRUUnO1xuXG4gICAgcmV0dXJuIHJhbmdlKDcsIChpKSA9PiBmb3JtYXQobmV3IERhdGUoMjAxNywgMCwgaSArIDEpLCBmb3JtYXRTdHJpbmcpKTtcbiAgfVxufVxuXG5leHBvcnQgZW51bSBXbGNtRGF0ZVZhbGlkYXRpb24ge1xuICBGb3JtYXQgPSAnV2xjbUludmFsaWREYXRlRm9ybWF0JyxcbiAgTWluRGF0ZSA9ICdXbGNtRGF0ZUlzQmVmb3JlTWluRGF0ZScsXG4gIE1heERhdGUgPSAnV2xjbURhdGVJc0FmdGVyTWF4RGF0ZScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2xjbURhdGVwaWNrZXJDb25maWcge1xuICBtaW5EYXRlPzogU2lnbmFsPERhdGUgfCB1bmRlZmluZWQ+O1xuXG4gIG1heERhdGU/OiBTaWduYWw8RGF0ZSB8IHVuZGVmaW5lZD47XG5cbiAgc2VsZWN0T25seT86IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Directive, ElementRef, effect, input, output } from '@angular/core';
|
|
2
|
+
import { MatCalendar, yearsPerPage } from '@angular/material/datepicker';
|
|
3
|
+
import { isBefore, startOfDay, isAfter } from 'date-fns';
|
|
4
|
+
import { DateAdapter } from '@angular/material/core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/datepicker";
|
|
7
|
+
import * as i2 from "@angular/material/core";
|
|
8
|
+
export class WlcmDataRangeCalendar {
|
|
9
|
+
constructor(location, element, calendar, dateAdapter, datepickerConfig) {
|
|
10
|
+
this.element = element;
|
|
11
|
+
this.calendar = calendar;
|
|
12
|
+
this.dateAdapter = dateAdapter;
|
|
13
|
+
this.datepickerConfig = datepickerConfig;
|
|
14
|
+
this.dateChange = output();
|
|
15
|
+
this.viewChange = output();
|
|
16
|
+
this.disabled = input(false);
|
|
17
|
+
this.location = location;
|
|
18
|
+
effect(() => {
|
|
19
|
+
if (this.disabled()) {
|
|
20
|
+
this.element.nativeElement.classList.add('wlcm-calendar-disabled');
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
this.element.nativeElement.classList.remove('wlcm-calendar-disabled');
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
this.handleConfigValues();
|
|
27
|
+
}
|
|
28
|
+
get minDate() {
|
|
29
|
+
return this.datepickerConfig.minDate?.();
|
|
30
|
+
}
|
|
31
|
+
get maxDate() {
|
|
32
|
+
return this.datepickerConfig.maxDate?.();
|
|
33
|
+
}
|
|
34
|
+
prevMonth() {
|
|
35
|
+
this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.calendar.activeDate, -1));
|
|
36
|
+
}
|
|
37
|
+
nextMonth() {
|
|
38
|
+
this.dateChange.emit(this.dateAdapter.addCalendarMonths(this.calendar.activeDate, 1));
|
|
39
|
+
}
|
|
40
|
+
prevYear() {
|
|
41
|
+
this.dateChange.emit(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? -1 : -yearsPerPage));
|
|
42
|
+
}
|
|
43
|
+
nextYear() {
|
|
44
|
+
this.dateChange.emit(this.dateAdapter.addCalendarYears(this.calendar.activeDate, this.calendar.currentView == 'year' ? 1 : yearsPerPage));
|
|
45
|
+
}
|
|
46
|
+
handleConfigValues() {
|
|
47
|
+
this.calendar.dateFilter = (date) => {
|
|
48
|
+
if (this.minDate && isBefore(startOfDay(date), startOfDay(this.minDate)))
|
|
49
|
+
return false;
|
|
50
|
+
if (this.maxDate && isAfter(startOfDay(date), startOfDay(this.maxDate)))
|
|
51
|
+
return false;
|
|
52
|
+
return true;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDataRangeCalendar, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
56
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.5", type: WlcmDataRangeCalendar, inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateChange: "dateChange", viewChange: "viewChange" }, ngImport: i0 }); }
|
|
57
|
+
}
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmDataRangeCalendar, decorators: [{
|
|
59
|
+
type: Directive
|
|
60
|
+
}], ctorParameters: () => [{ type: undefined }, { type: i0.ElementRef }, { type: i1.MatCalendar }, { type: i2.DateAdapter }, { type: undefined }] });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1yYW5nZS1jYWxlbmRhci5tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL2RhdGVwaWNrZXIvc3JjL2xpYi9tb2RlbHMvcmFuZ2UvZGF0YS1yYW5nZS1jYWxlbmRhci5tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWlDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxXQUFXLEVBQW1CLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFHckQsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQyxZQUNFLFFBQTBCLEVBQ25CLE9BQWdDLEVBQzdCLFFBQTJCLEVBQzNCLFdBQThCLEVBQzlCLGdCQUFzQztRQUh6QyxZQUFPLEdBQVAsT0FBTyxDQUF5QjtRQUM3QixhQUFRLEdBQVIsUUFBUSxDQUFtQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtRQVh6QyxlQUFVLEdBQTJCLE1BQU0sRUFBRSxDQUFDO1FBRTlDLGVBQVUsR0FBc0MsTUFBTSxFQUFFLENBQUM7UUFFekQsYUFBUSxHQUF5QixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFTckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFekIsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUNyRSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQ3hFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUN6RCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FDdkQsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQVUsRUFBVyxFQUFFO1lBQ2pELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBUSxDQUFDLENBQUM7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFeEYsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFRLENBQUMsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUV2RixPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7OEdBdkVVLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dFNpZ25hbCwgT3V0cHV0RW1pdHRlclJlZiwgZWZmZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0Q2FsZW5kYXJWaWV3LCB5ZWFyc1BlclBhZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFdsY21EYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vZGF0ZS1waWNrZXIubW9kZWxzJztcbmltcG9ydCB7IGlzQmVmb3JlLCBzdGFydE9mRGF5LCBpc0FmdGVyIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgV2xjbURhdGFSYW5nZUNhbGVuZGFyIHtcbiAgcHVibGljIGxvY2F0aW9uITogJ2xlZnQnIHwgJ3JpZ2h0JztcblxuICByZWFkb25seSBkYXRlQ2hhbmdlOiBPdXRwdXRFbWl0dGVyUmVmPERhdGU+ID0gb3V0cHV0KCk7XG5cbiAgcmVhZG9ubHkgdmlld0NoYW5nZTogT3V0cHV0RW1pdHRlclJlZjxNYXRDYWxlbmRhclZpZXc+ID0gb3V0cHV0KCk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQ6IElucHV0U2lnbmFsPGJvb2xlYW4+ID0gaW5wdXQoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxvY2F0aW9uOiAnbGVmdCcgfCAncmlnaHQnLFxuICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcm90ZWN0ZWQgY2FsZW5kYXI6IE1hdENhbGVuZGFyPERhdGU+LFxuICAgIHByb3RlY3RlZCBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG4gICAgcHJvdGVjdGVkIGRhdGVwaWNrZXJDb25maWc6IFdsY21EYXRlcGlja2VyQ29uZmlnLFxuICApIHtcbiAgICB0aGlzLmxvY2F0aW9uID0gbG9jYXRpb247XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3bGNtLWNhbGVuZGFyLWRpc2FibGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCd3bGNtLWNhbGVuZGFyLWRpc2FibGVkJyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmhhbmRsZUNvbmZpZ1ZhbHVlcygpO1xuICB9XG5cbiAgZ2V0IG1pbkRhdGUoKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZXBpY2tlckNvbmZpZy5taW5EYXRlPy4oKTtcbiAgfVxuXG4gIGdldCBtYXhEYXRlKCk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmRhdGVwaWNrZXJDb25maWcubWF4RGF0ZT8uKCk7XG4gIH1cblxuICBwcmV2TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsIC0xKSk7XG4gIH1cblxuICBuZXh0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhck1vbnRocyh0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsIDEpKTtcbiAgfVxuXG4gIHByZXZZZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KFxuICAgICAgdGhpcy5kYXRlQWRhcHRlci5hZGRDYWxlbmRhclllYXJzKFxuICAgICAgICB0aGlzLmNhbGVuZGFyLmFjdGl2ZURhdGUsXG4gICAgICAgIHRoaXMuY2FsZW5kYXIuY3VycmVudFZpZXcgPT0gJ3llYXInID8gLTEgOiAteWVhcnNQZXJQYWdlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgbmV4dFllYXIoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQoXG4gICAgICB0aGlzLmRhdGVBZGFwdGVyLmFkZENhbGVuZGFyWWVhcnMoXG4gICAgICAgIHRoaXMuY2FsZW5kYXIuYWN0aXZlRGF0ZSxcbiAgICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PSAneWVhcicgPyAxIDogeWVhcnNQZXJQYWdlLFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgaGFuZGxlQ29uZmlnVmFsdWVzKCk6IHZvaWQge1xuICAgIHRoaXMuY2FsZW5kYXIuZGF0ZUZpbHRlciA9IChkYXRlOiBEYXRlKTogYm9vbGVhbiA9PiB7XG4gICAgICBpZiAodGhpcy5taW5EYXRlICYmIGlzQmVmb3JlKHN0YXJ0T2ZEYXkoZGF0ZSksIHN0YXJ0T2ZEYXkodGhpcy5taW5EYXRlISkpKSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIGlmICh0aGlzLm1heERhdGUgJiYgaXNBZnRlcihzdGFydE9mRGF5KGRhdGUpLCBzdGFydE9mRGF5KHRoaXMubWF4RGF0ZSEpKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|