@enigmatry/entry-components 16.1.0 → 16.1.1-preview.4
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/common/common.module.d.ts +3 -1
- package/common/date-time/entry-date-time-adapter.d.ts +12 -7
- package/common/date-time/entry-date-time-formats.d.ts +25 -0
- package/common/date-time/entry-time-adapter.d.ts +9 -0
- package/common/date-time/index.d.ts +4 -2
- package/common/date-time/native-time-adapter.d.ts +13 -0
- package/common/directives/index.d.ts +2 -0
- package/common/directives/ng-control-accessor.directive.d.ts +12 -0
- package/common/directives/noop-control-value-accessor.d.ts +10 -0
- package/date-time-picker/README.md +69 -0
- package/date-time-picker/date-time-picker.component.d.ts +35 -0
- package/date-time-picker/date-time-picker.module.d.ts +16 -0
- package/date-time-picker/index.d.ts +5 -0
- package/date-time-picker/public-api.d.ts +2 -0
- package/date-time-picker/time-picker.component.d.ts +26 -0
- package/esm2022/common/common.module.mjs +11 -3
- package/esm2022/common/date-time/entry-date-time-adapter.mjs +30 -12
- package/esm2022/common/date-time/entry-date-time-formats.mjs +14 -0
- package/esm2022/common/date-time/entry-time-adapter.mjs +10 -0
- package/esm2022/common/date-time/index.mjs +5 -3
- package/esm2022/common/date-time/native-time-adapter.mjs +31 -0
- package/esm2022/common/directives/index.mjs +3 -1
- package/esm2022/common/directives/ng-control-accessor.directive.mjs +46 -0
- package/esm2022/common/directives/noop-control-value-accessor.mjs +32 -0
- package/esm2022/date-time-picker/date-time-picker.component.mjs +126 -0
- package/esm2022/date-time-picker/date-time-picker.module.mjs +58 -0
- package/esm2022/date-time-picker/enigmatry-entry-components-date-time-picker.mjs +5 -0
- package/esm2022/date-time-picker/public-api.mjs +3 -0
- package/esm2022/date-time-picker/time-picker.component.mjs +80 -0
- package/esm2022/search-filter/date-time/date-time-search-filter.component.mjs +4 -4
- package/fesm2022/enigmatry-entry-components-common.mjs +158 -16
- package/fesm2022/enigmatry-entry-components-common.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs +258 -0
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs.map +1 -0
- package/fesm2022/enigmatry-entry-components-search-filter.mjs +3 -3
- package/fesm2022/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/package.json +95 -89
- package/styles/modules/_default-theme.scss +12 -10
- package/styles/modules/components/buttons/_radio.scss +10 -5
- package/styles/modules/components/checkboxes/_generator.scss +17 -12
- package/styles/modules/components/tables/_header.scss +4 -2
- package/styles/modules/components/tables/_rows.scss +23 -11
- package/styles/modules/components/toggle/_generator.scss +25 -23
- package/styles/partials/core/components/_index.scss +2 -1
- package/styles/partials/core/components/date-time-picker/_general.scss +65 -0
- package/styles/partials/core/components/forms/_general.scss +0 -4
- package/common/date-time/entry-date-time.d.ts +0 -7
- package/esm2022/common/date-time/entry-date-time.mjs +0 -3
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
2
|
+
import { Directive } from "@angular/core";
|
|
3
|
+
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class NoopControlValueAccessorDirective {
|
|
6
|
+
writeValue(_obj) { }
|
|
7
|
+
registerOnChange(_fn) { }
|
|
8
|
+
registerOnTouched(_fn) { }
|
|
9
|
+
setDisabledState(_isDisabled) { }
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NoopControlValueAccessorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
11
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NoopControlValueAccessorDirective, isStandalone: true, providers: [
|
|
12
|
+
{
|
|
13
|
+
provide: NG_VALUE_ACCESSOR,
|
|
14
|
+
multi: true,
|
|
15
|
+
useExisting: NoopControlValueAccessorDirective
|
|
16
|
+
}
|
|
17
|
+
], ngImport: i0 }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NoopControlValueAccessorDirective, decorators: [{
|
|
20
|
+
type: Directive,
|
|
21
|
+
args: [{
|
|
22
|
+
standalone: true,
|
|
23
|
+
providers: [
|
|
24
|
+
{
|
|
25
|
+
provide: NG_VALUE_ACCESSOR,
|
|
26
|
+
multi: true,
|
|
27
|
+
useExisting: NoopControlValueAccessorDirective
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}]
|
|
31
|
+
}] });
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC1jb250cm9sLXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL2NvbW1vbi9kaXJlY3RpdmVzL25vb3AtY29udHJvbC12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBWXpFLE1BQU0sT0FBTyxpQ0FBaUM7SUFDMUMsVUFBVSxDQUFDLElBQVMsSUFBVSxDQUFDO0lBQy9CLGdCQUFnQixDQUFDLEdBQVEsSUFBVSxDQUFDO0lBQ3BDLGlCQUFpQixDQUFDLEdBQVEsSUFBVSxDQUFDO0lBQ3JDLGdCQUFnQixDQUFFLFdBQW9CLElBQVUsQ0FBQzsrR0FKeEMsaUNBQWlDO21HQUFqQyxpQ0FBaUMsaUNBUi9CO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsV0FBVyxFQUFFLGlDQUFpQzthQUNqRDtTQUNKOzs0RkFFUSxpQ0FBaUM7a0JBVjdDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLG1DQUFtQzt5QkFDakQ7cUJBQ0o7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBOb29wQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTm9vcENvbnRyb2xWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHdyaXRlVmFsdWUoX29iajogYW55KTogdm9pZCB7IH1cbiAgICByZWdpc3Rlck9uQ2hhbmdlKF9mbjogYW55KTogdm9pZCB7IH1cbiAgICByZWdpc3Rlck9uVG91Y2hlZChfZm46IGFueSk6IHZvaWQgeyB9XG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oX2lzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHsgfVxufSJdfQ==
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, HostBinding, Input, Output, ViewChild, inject } from '@angular/core';
|
|
2
|
+
import { FormControl } from '@angular/forms';
|
|
3
|
+
import { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';
|
|
4
|
+
import { ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter, NgControlAccessorDirective, NoopControlValueAccessorDirective } from '@enigmatry/entry-components/common';
|
|
5
|
+
import { EntryTimePickerComponent } from './time-picker.component';
|
|
6
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@enigmatry/entry-components/common";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
import * as i4 from "@angular/material/form-field";
|
|
12
|
+
import * as i5 from "@angular/material/datepicker";
|
|
13
|
+
import * as i6 from "@angular/material/input";
|
|
14
|
+
import * as i7 from "@angular/material/button";
|
|
15
|
+
import * as i8 from "@angular/material/icon";
|
|
16
|
+
import * as i9 from "./time-picker.component";
|
|
17
|
+
export class EntryDateTimePickerComponent {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.class = 'entry-date-time-picker';
|
|
20
|
+
this.dateTimeChanged = new Subject();
|
|
21
|
+
this.ngControlAccessor = inject(NgControlAccessorDirective);
|
|
22
|
+
this.dateTimeAdapter = inject(DateAdapter);
|
|
23
|
+
this.format = inject(ENTRY_MAT_DATE_TIME_FORMATS);
|
|
24
|
+
// Control that is connected to calendar
|
|
25
|
+
this.calendarControl = new FormControl(undefined);
|
|
26
|
+
this.is12HourClock = this.dateTimeAdapter.is12HoursClock(this.format.display.dateInput);
|
|
27
|
+
this.$destroy = new Subject();
|
|
28
|
+
}
|
|
29
|
+
// Control bound to component using FormsApi (ngModel, formControl, formControlName)
|
|
30
|
+
get formControl() {
|
|
31
|
+
return this.ngControlAccessor.control;
|
|
32
|
+
}
|
|
33
|
+
get minDate() {
|
|
34
|
+
if (!this.min) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const result = this.dateTimeAdapter.clone(this.min);
|
|
38
|
+
this.dateTimeAdapter.setTime(result, 0, 0, 0);
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
get maxDate() {
|
|
42
|
+
if (!this.max) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const result = this.dateTimeAdapter.clone(this.max);
|
|
46
|
+
this.dateTimeAdapter.setTime(result, 0, 0, 0);
|
|
47
|
+
return result;
|
|
48
|
+
}
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
this.calendarControl.setValue(this.formControl.value, { emitEvent: false });
|
|
51
|
+
this.formControl.statusChanges
|
|
52
|
+
.pipe(takeUntil(this.$destroy))
|
|
53
|
+
.subscribe(status => {
|
|
54
|
+
if (status === 'DISABLED') {
|
|
55
|
+
this.calendarControl.disable({ emitEvent: false });
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
this.calendarControl.enable({ emitEvent: false });
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
this.formControl.valueChanges
|
|
62
|
+
.pipe(takeUntil(this.$destroy))
|
|
63
|
+
.subscribe(value => {
|
|
64
|
+
this.calendarControl.setValue(value, { emitEvent: false });
|
|
65
|
+
this.dateTimeChanged.next(value);
|
|
66
|
+
});
|
|
67
|
+
this.calendarControl.valueChanges
|
|
68
|
+
.pipe(takeUntil(this.$destroy))
|
|
69
|
+
.subscribe(value => {
|
|
70
|
+
this.timePicker.to24HourClock();
|
|
71
|
+
this.dateTimeAdapter.setTime(value, this.timePicker.hours, this.timePicker.minutes, this.timePicker.seconds);
|
|
72
|
+
this.formControl.setValue(value);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
ngOnChanges(_changes) {
|
|
76
|
+
if (this.disabled) {
|
|
77
|
+
this.formControl.disable();
|
|
78
|
+
this.calendarControl.disable();
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.formControl.enable();
|
|
82
|
+
this.calendarControl.enable();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
ngOnDestroy() {
|
|
86
|
+
this.$destroy.next();
|
|
87
|
+
this.$destroy.complete();
|
|
88
|
+
}
|
|
89
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
90
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryDateTimePickerComponent, selector: "entry-date-time-picker", inputs: { label: "label", showSeconds: "showSeconds", disabled: "disabled", min: "min", max: "max", placeholder: "placeholder", hint: "hint", defaultTime: "defaultTime" }, outputs: { dateTimeChanged: "dateTimeChanged" }, host: { properties: { "class": "this.class" } }, providers: [
|
|
91
|
+
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
92
|
+
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
93
|
+
], viewQueries: [{ propertyName: "timePicker", first: true, predicate: EntryTimePickerComponent, descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.NoopControlValueAccessorDirective }, { directive: i1.NgControlAccessorDirective }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i5.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i5.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.EntryTimePickerComponent, selector: "entry-time-picker", inputs: ["date", "showSeconds", "is12HourClock", "defaultTime"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
94
|
+
}
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimePickerComponent, decorators: [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{ selector: 'entry-date-time-picker', providers: [
|
|
98
|
+
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
99
|
+
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
100
|
+
], hostDirectives: [NoopControlValueAccessorDirective, NgControlAccessorDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n</mat-form-field>" }]
|
|
101
|
+
}], propDecorators: { class: [{
|
|
102
|
+
type: HostBinding,
|
|
103
|
+
args: ['class']
|
|
104
|
+
}], label: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], showSeconds: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], disabled: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], min: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], max: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], placeholder: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], hint: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], defaultTime: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], dateTimeChanged: [{
|
|
121
|
+
type: Output
|
|
122
|
+
}], timePicker: [{
|
|
123
|
+
type: ViewChild,
|
|
124
|
+
args: [EntryTimePickerComponent, { static: true }]
|
|
125
|
+
}] } });
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEssT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBWTFDLE1BQU0sT0FBTyw0QkFBNEI7SUFWekM7UUFXd0IsVUFBSyxHQUFHLHdCQUF3QixDQUFDO1FBVTdDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQUssQ0FBQztRQUU3QyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN2RCxvQkFBZSxHQUFxQyxNQUFNLENBQUMsV0FBVyxDQUFxQyxDQUFDO1FBQzVHLFdBQU0sR0FBbUIsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFPN0Qs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Vzt1QkFBQyxPQUFPO2dCQUVYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBZ0JnRCxVQUFVO3NCQUFoRSxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTLCBEYXRlQWRhcHRlciwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEVOVFJZX01BVF9EQVRFX1RJTUVfRk9STUFUUywgRW50cnlEYXRlVGltZUFkYXB0ZXIsIE5nQ29udHJvbEFjY2Vzc29yRGlyZWN0aXZlLCBOb29wQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEVudHJ5VGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS1kYXRlLXRpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZUZhY3Rvcnk6ICgpID0+IGluamVjdChFTlRSWV9NQVRfREFURV9USU1FX0ZPUk1BVFMpIH0sXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IEVudHJ5RGF0ZVRpbWVBZGFwdGVyIH1cbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOb29wQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUsIE5nQ29udHJvbEFjY2Vzc29yRGlyZWN0aXZlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlEYXRlVGltZVBpY2tlckNvbXBvbmVudDxEPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnZW50cnktZGF0ZS10aW1lLXBpY2tlcic7XG5cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd1NlY29uZHM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBtaW46IEQ7XG4gIEBJbnB1dCgpIG1heDogRDtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaGludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBkZWZhdWx0VGltZTogRCB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIGRhdGVUaW1lQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PEQ+KCk7XG5cbiAgbmdDb250cm9sQWNjZXNzb3IgPSBpbmplY3QoTmdDb250cm9sQWNjZXNzb3JEaXJlY3RpdmUpO1xuICBkYXRlVGltZUFkYXB0ZXI6IEVudHJ5RGF0ZVRpbWVBZGFwdGVyPEQsIHVua25vd24+ID0gaW5qZWN0KERhdGVBZGFwdGVyKSBhcyBFbnRyeURhdGVUaW1lQWRhcHRlcjxELCB1bmtub3duPjtcbiAgZm9ybWF0OiBNYXREYXRlRm9ybWF0cyA9IGluamVjdChFTlRSWV9NQVRfREFURV9USU1FX0ZPUk1BVFMpO1xuXG4gIC8vIENvbnRyb2wgYm91bmQgdG8gY29tcG9uZW50IHVzaW5nIEZvcm1zQXBpIChuZ01vZGVsLCBmb3JtQ29udHJvbCwgZm9ybUNvbnRyb2xOYW1lKVxuICBnZXQgZm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2w8RD4ge1xuICAgIHJldHVybiB0aGlzLm5nQ29udHJvbEFjY2Vzc29yLmNvbnRyb2w7XG4gIH1cblxuICAvLyBDb250cm9sIHRoYXQgaXMgY29ubmVjdGVkIHRvIGNhbGVuZGFyXG4gIGNhbGVuZGFyQ29udHJvbDogRm9ybUNvbnRyb2w8RD4gPSBuZXcgRm9ybUNvbnRyb2w8RD4odW5kZWZpbmVkKTtcblxuICBpczEySG91ckNsb2NrID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuaXMxMkhvdXJzQ2xvY2sodGhpcy5mb3JtYXQuZGlzcGxheS5kYXRlSW5wdXQpO1xuXG4gIEBWaWV3Q2hpbGQoRW50cnlUaW1lUGlja2VyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSB0aW1lUGlja2VyOiBFbnRyeVRpbWVQaWNrZXJDb21wb25lbnQ8RD47XG5cbiAgcHJpdmF0ZSAkZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgZ2V0IG1pbkRhdGUoKSB7XG4gICAgaWYgKCF0aGlzLm1pbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuY2xvbmUodGhpcy5taW4pO1xuICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldFRpbWUocmVzdWx0LCAwLCAwLCAwKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IG1heERhdGUoKSB7XG4gICAgaWYgKCF0aGlzLm1heCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuY2xvbmUodGhpcy5tYXgpO1xuICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldFRpbWUocmVzdWx0LCAwLCAwLCAwKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhckNvbnRyb2wuc2V0VmFsdWUodGhpcy5mb3JtQ29udHJvbC52YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09ICdESVNBQkxFRCcpIHtcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyQ29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyQ29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT5cbiAgICAgICAge1xuICAgICAgICAgIHRoaXMuY2FsZW5kYXJDb250cm9sLnNldFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgICAgdGhpcy5kYXRlVGltZUNoYW5nZWQubmV4dCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICB0aGlzLmNhbGVuZGFyQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLnRpbWVQaWNrZXIudG8yNEhvdXJDbG9jaygpO1xuICAgICAgICB0aGlzLmRhdGVUaW1lQWRhcHRlci5zZXRUaW1lKHZhbHVlLCB0aGlzLnRpbWVQaWNrZXIuaG91cnMsIHRoaXMudGltZVBpY2tlci5taW51dGVzLCB0aGlzLnRpbWVQaWNrZXIuc2Vjb25kcyk7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgIHRoaXMuY2FsZW5kYXJDb250cm9sLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICAgIHRoaXMuY2FsZW5kYXJDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJGRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMuJGRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwiaGlkZGVuUGlja2VyXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCI+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFwiPnt7aGludH19PC9tYXQtaGludD5cbiAgICA8bWF0LWRhdGVwaWNrZXIgI2hpZGRlblBpY2tlciBjbGFzcz1cImhpZGRlblwiPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPGlucHV0IGNsYXNzPVwiaGlkZGVuXCIgbWF0SW5wdXQgW21pbl09XCJtaW5EYXRlXCIgW21heF09XCJtYXhEYXRlXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNhbGVuZGFyQ29udHJvbFwiPlxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgPG1hdC1kYXRlcGlja2VyICNwaWNrZXIgKG9wZW5lZCk9XCJ0aW1lUGlja2VyLnVwZGF0ZSgpXCI+XG4gICAgICAgIDxtYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxuICAgICAgICAgICAgPGVudHJ5LXRpbWUtcGlja2VyIFtkYXRlXT1cImZvcm1Db250cm9sLnZhbHVlXCIgW3Nob3dTZWNvbmRzXT1cInNob3dTZWNvbmRzXCIgW2lzMTJIb3VyQ2xvY2tdPVwiaXMxMkhvdXJDbG9ja1wiXG4gICAgICAgICAgICAgICAgW2RlZmF1bHRUaW1lXT1cImRlZmF1bHRUaW1lXCI+PC9lbnRyeS10aW1lLXBpY2tlcj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgbWF0RGF0ZVJhbmdlUGlja2VyQXBwbHkgY2xhc3M9XCJlbnRyeS1zdWJtaXQtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBhcmlhLWxhYmVsPVwiQXBwbHlcIiBmb250SWNvbj1cImRvbmVcIiBjbGFzcz1cImljb25cIj48L21hdC1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cbiAgICA8L21hdC1kYXRlcGlja2VyPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
|
|
3
|
+
import { MatDatepickerModule } from "@angular/material/datepicker";
|
|
4
|
+
import { MatFormFieldModule } from "@angular/material/form-field";
|
|
5
|
+
import { EntryDateTimePickerComponent } from "./date-time-picker.component";
|
|
6
|
+
import { CommonModule } from "@angular/common";
|
|
7
|
+
import { MatSelectModule } from "@angular/material/select";
|
|
8
|
+
import { MatButtonModule } from "@angular/material/button";
|
|
9
|
+
import { MatInputModule } from "@angular/material/input";
|
|
10
|
+
import { MatIconModule } from "@angular/material/icon";
|
|
11
|
+
import { EntryTimePickerComponent } from './time-picker.component';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
export class EntryDateTimePickerModule {
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
15
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimePickerModule, declarations: [EntryDateTimePickerComponent,
|
|
16
|
+
EntryTimePickerComponent], imports: [CommonModule,
|
|
17
|
+
FormsModule,
|
|
18
|
+
ReactiveFormsModule,
|
|
19
|
+
MatFormFieldModule,
|
|
20
|
+
MatDatepickerModule,
|
|
21
|
+
MatInputModule,
|
|
22
|
+
MatSelectModule,
|
|
23
|
+
MatButtonModule,
|
|
24
|
+
MatIconModule], exports: [EntryDateTimePickerComponent] }); }
|
|
25
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimePickerModule, imports: [CommonModule,
|
|
26
|
+
FormsModule,
|
|
27
|
+
ReactiveFormsModule,
|
|
28
|
+
MatFormFieldModule,
|
|
29
|
+
MatDatepickerModule,
|
|
30
|
+
MatInputModule,
|
|
31
|
+
MatSelectModule,
|
|
32
|
+
MatButtonModule,
|
|
33
|
+
MatIconModule] }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimePickerModule, decorators: [{
|
|
36
|
+
type: NgModule,
|
|
37
|
+
args: [{
|
|
38
|
+
imports: [
|
|
39
|
+
CommonModule,
|
|
40
|
+
FormsModule,
|
|
41
|
+
ReactiveFormsModule,
|
|
42
|
+
MatFormFieldModule,
|
|
43
|
+
MatDatepickerModule,
|
|
44
|
+
MatInputModule,
|
|
45
|
+
MatSelectModule,
|
|
46
|
+
MatButtonModule,
|
|
47
|
+
MatIconModule
|
|
48
|
+
],
|
|
49
|
+
declarations: [
|
|
50
|
+
EntryDateTimePickerComponent,
|
|
51
|
+
EntryTimePickerComponent
|
|
52
|
+
],
|
|
53
|
+
exports: [
|
|
54
|
+
EntryDateTimePickerComponent
|
|
55
|
+
]
|
|
56
|
+
}]
|
|
57
|
+
}] });
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQXNCbkUsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO2dIQUF6Qix5QkFBeUIsaUJBUDlCLDRCQUE0QjtZQUM1Qix3QkFBd0IsYUFaeEIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixjQUFjO1lBQ2QsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhLGFBT2IsNEJBQTRCO2dIQUd2Qix5QkFBeUIsWUFsQjlCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTs7NEZBVVIseUJBQXlCO2tCQXBCckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDViw0QkFBNEI7d0JBQzVCLHdCQUF3QjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDRCQUE0QjtxQkFDL0I7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgRW50cnlEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gXCIuL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0XCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBFbnRyeVRpbWVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEVudHJ5RGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXG4gICAgICAgIEVudHJ5VGltZVBpY2tlckNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBFbnRyeURhdGVUaW1lUGlja2VyQ29tcG9uZW50XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBFbnRyeURhdGVUaW1lUGlja2VyTW9kdWxlIHsgfSJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5pZ21hdHJ5LWVudHJ5LWNvbXBvbmVudHMtZGF0ZS10aW1lLXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL2VuaWdtYXRyeS1lbnRyeS1jb21wb25lbnRzLWRhdGUtdGltZS1waWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { EntryDateTimePickerComponent } from './date-time-picker.component';
|
|
2
|
+
export { EntryDateTimePickerModule } from './date-time-picker.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBFbnRyeURhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBFbnRyeURhdGVUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi9kYXRlLXRpbWUtcGlja2VyLm1vZHVsZSc7XG4iXX0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Component, HostBinding, Input, inject } from '@angular/core';
|
|
2
|
+
import { DateAdapter } from '@angular/material/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/material/form-field";
|
|
7
|
+
import * as i4 from "@angular/material/select";
|
|
8
|
+
import * as i5 from "@angular/material/core";
|
|
9
|
+
export class EntryTimePickerComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.class = 'entry-time-picker';
|
|
12
|
+
this.timeAdapter = inject(DateAdapter);
|
|
13
|
+
this.hours = 0;
|
|
14
|
+
this.minutes = 0;
|
|
15
|
+
this.seconds = 0;
|
|
16
|
+
this.meridiem = 'am';
|
|
17
|
+
this.hours12 = Array.from(Array(12), (_, i) => i + 1);
|
|
18
|
+
this.hours24 = Array.from(Array(24), (_, i) => i);
|
|
19
|
+
this.sixty = Array.from(Array(60), (_, i) => i);
|
|
20
|
+
}
|
|
21
|
+
get possibleHours() {
|
|
22
|
+
return this.is12HourClock ? this.hours12 : this.hours24;
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges(_changes) {
|
|
25
|
+
this.update();
|
|
26
|
+
}
|
|
27
|
+
update() {
|
|
28
|
+
const now = this.timeAdapter.today();
|
|
29
|
+
this.hours = this.date
|
|
30
|
+
? this.timeAdapter.getHours(this.date)
|
|
31
|
+
: this.timeAdapter.getHours(this.defaultTime ?? now);
|
|
32
|
+
this.minutes = this.date
|
|
33
|
+
? this.timeAdapter.getMinutes(this.date)
|
|
34
|
+
: this.timeAdapter.getMinutes(this.defaultTime ?? now);
|
|
35
|
+
this.seconds = (this.showSeconds && this.date)
|
|
36
|
+
? this.timeAdapter.getSeconds(this.date)
|
|
37
|
+
: this.timeAdapter.getSeconds(this.defaultTime ?? now);
|
|
38
|
+
this.meridiem = this.hours >= 12 ? 'pm' : 'am';
|
|
39
|
+
if (this.is12HourClock) {
|
|
40
|
+
this.to12HourClock();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
to12HourClock() {
|
|
44
|
+
if (this.hours > 12) {
|
|
45
|
+
this.hours = this.hours - 12;
|
|
46
|
+
}
|
|
47
|
+
if (this.hours === 0) {
|
|
48
|
+
this.hours = 12;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
to24HourClock() {
|
|
52
|
+
if (!this.is12HourClock) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (this.meridiem === "am" && this.hours === 12) {
|
|
56
|
+
this.hours = 0;
|
|
57
|
+
}
|
|
58
|
+
if (this.meridiem == "pm" && this.hours != 12) {
|
|
59
|
+
this.hours = this.hours + 12;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryTimePickerComponent, selector: "entry-time-picker", inputs: { date: "date", showSeconds: "showSeconds", is12HourClock: "is12HourClock", defaultTime: "defaultTime" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field appearance=\"fill\">\n <mat-select [(ngModel)]=\"hours\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let hour of possibleHours\" [value]=\"hour\">{{hour | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<span class=\"time-separator\">:</span>\n<mat-form-field appearance=\"fill\">\n <mat-select [(ngModel)]=\"minutes\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let minute of sixty\" [value]=\"minute\">{{minute | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<span *ngIf=\"showSeconds\" class=\"time-separator\">:</span>\n<mat-form-field *ngIf=\"showSeconds\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"seconds\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let second of sixty\" [value]=\"second\">{{second | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<mat-form-field *ngIf=\"is12HourClock\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"meridiem\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option value=\"am\">AM</mat-option>\n <mat-option value=\"pm\">PM</mat-option>\n </mat-select>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }] }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTimePickerComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ selector: 'entry-time-picker', template: "<mat-form-field appearance=\"fill\">\n <mat-select [(ngModel)]=\"hours\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let hour of possibleHours\" [value]=\"hour\">{{hour | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<span class=\"time-separator\">:</span>\n<mat-form-field appearance=\"fill\">\n <mat-select [(ngModel)]=\"minutes\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let minute of sixty\" [value]=\"minute\">{{minute | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<span *ngIf=\"showSeconds\" class=\"time-separator\">:</span>\n<mat-form-field *ngIf=\"showSeconds\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"seconds\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let second of sixty\" [value]=\"second\">{{second | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<mat-form-field *ngIf=\"is12HourClock\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"meridiem\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option value=\"am\">AM</mat-option>\n <mat-option value=\"pm\">PM</mat-option>\n </mat-select>\n</mat-form-field>" }]
|
|
68
|
+
}], propDecorators: { class: [{
|
|
69
|
+
type: HostBinding,
|
|
70
|
+
args: ['class']
|
|
71
|
+
}], date: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}], showSeconds: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], is12HourClock: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], defaultTime: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}] } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUE0QixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7O0FBU3JELE1BQU0sT0FBTyx3QkFBd0I7SUFKckM7UUFLd0IsVUFBSyxHQUFHLG1CQUFtQixDQUFDO1FBRXpDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBcUMsQ0FBQztRQU8vRSxVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUNaLFlBQU8sR0FBRyxDQUFDLENBQUM7UUFDWixhQUFRLEdBQWEsSUFBSSxDQUFDO1FBRWpCLFlBQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNqRCxZQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QyxVQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFF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eyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBFbnRyeURhdGVUaW1lQWRhcHRlciB9IGZyb20gJ0BlbmlnbWF0cnkvZW50cnktY29tcG9uZW50cy9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBtZXJpZGllbSA9ICdhbScgfCAncG0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS10aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlUaW1lUGlja2VyQ29tcG9uZW50PEQ+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ2VudHJ5LXRpbWUtcGlja2VyJztcblxuICByZWFkb25seSB0aW1lQWRhcHRlciA9IGluamVjdChEYXRlQWRhcHRlcikgYXMgRW50cnlEYXRlVGltZUFkYXB0ZXI8RCwgdW5rbm93bj47XG5cbiAgQElucHV0KCkgZGF0ZTogRCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2hvd1NlY29uZHM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGlzMTJIb3VyQ2xvY2s6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlZmF1bHRUaW1lOiBEIHwgdW5kZWZpbmVkO1xuXG4gIGhvdXJzID0gMDtcbiAgbWludXRlcyA9IDA7XG4gIHNlY29uZHMgPSAwO1xuICBtZXJpZGllbTogbWVyaWRpZW0gPSAnYW0nO1xuXG4gIHJlYWRvbmx5IGhvdXJzMTIgPSBBcnJheS5mcm9tKEFycmF5KDEyKSwgKF8sIGkpID0+IGkgKyAxKTtcbiAgcmVhZG9ubHkgaG91cnMyNCA9IEFycmF5LmZyb20oQXJyYXkoMjQpLCAoXywgaSkgPT4gaSk7XG4gIHJlYWRvbmx5IHNpeHR5ID0gQXJyYXkuZnJvbShBcnJheSg2MCksIChfLCBpKSA9PiBpKTtcblxuICBnZXQgcG9zc2libGVIb3VycygpIHtcbiAgICByZXR1cm4gdGhpcy5pczEySG91ckNsb2NrID8gdGhpcy5ob3VyczEyIDogdGhpcy5ob3VyczI0O1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoX2NoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZSgpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGNvbnN0IG5vdyA9IHRoaXMudGltZUFkYXB0ZXIudG9kYXkoKTtcblxuICAgIHRoaXMuaG91cnMgPSB0aGlzLmRhdGVcbiAgICAgID8gdGhpcy50aW1lQWRhcHRlci5nZXRIb3Vycyh0aGlzLmRhdGUpXG4gICAgICA6IHRoaXMudGltZUFkYXB0ZXIuZ2V0SG91cnModGhpcy5kZWZhdWx0VGltZSA/PyBub3cpO1xuXG4gICAgdGhpcy5taW51dGVzID0gdGhpcy5kYXRlXG4gICAgICA/IHRoaXMudGltZUFkYXB0ZXIuZ2V0TWludXRlcyh0aGlzLmRhdGUpXG4gICAgICA6IHRoaXMudGltZUFkYXB0ZXIuZ2V0TWludXRlcyh0aGlzLmRlZmF1bHRUaW1lID8/IG5vdyk7XG5cbiAgICB0aGlzLnNlY29uZHMgPSAodGhpcy5zaG93U2Vjb25kcyAmJiB0aGlzLmRhdGUpXG4gICAgICA/IHRoaXMudGltZUFkYXB0ZXIuZ2V0U2Vjb25kcyh0aGlzLmRhdGUpXG4gICAgICA6IHRoaXMudGltZUFkYXB0ZXIuZ2V0U2Vjb25kcyh0aGlzLmRlZmF1bHRUaW1lID8/IG5vdyk7XG5cbiAgICB0aGlzLm1lcmlkaWVtID0gdGhpcy5ob3VycyA+PSAxMiA/ICdwbScgOiAnYW0nO1xuXG4gICAgaWYgKHRoaXMuaXMxMkhvdXJDbG9jaykge1xuICAgICAgdGhpcy50bzEySG91ckNsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgdG8xMkhvdXJDbG9jaygpIHtcbiAgICBpZiAodGhpcy5ob3VycyA+IDEyKSB7XG4gICAgICB0aGlzLmhvdXJzID0gdGhpcy5ob3VycyAtIDEyO1xuICAgIH1cbiAgICBpZiAodGhpcy5ob3VycyA9PT0gMCkge1xuICAgICAgdGhpcy5ob3VycyA9IDEyO1xuICAgIH1cbiAgfVxuXG4gIHRvMjRIb3VyQ2xvY2soKSB7XG4gICAgaWYgKCF0aGlzLmlzMTJIb3VyQ2xvY2spIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubWVyaWRpZW0gPT09IFwiYW1cIiAmJiB0aGlzLmhvdXJzID09PSAxMikge1xuICAgICAgdGhpcy5ob3VycyA9IDA7XG4gICAgfVxuICAgIGlmICh0aGlzLm1lcmlkaWVtID09IFwicG1cIiAmJiB0aGlzLmhvdXJzICE9IDEyKSB7XG4gICAgICB0aGlzLmhvdXJzID0gdGhpcy5ob3VycyArIDEyO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiaG91cnNcIiBbaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvcl09XCJ0cnVlXCIgW3BhbmVsV2lkdGhdPVwibnVsbFwiPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBob3VyIG9mIHBvc3NpYmxlSG91cnNcIiBbdmFsdWVdPVwiaG91clwiPnt7aG91ciB8IG51bWJlcjonMi4wJ319PC9tYXQtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Q+XG48L21hdC1mb3JtLWZpZWxkPlxuPHNwYW4gY2xhc3M9XCJ0aW1lLXNlcGFyYXRvclwiPiYjNTg7PC9zcGFuPlxuPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwibWludXRlc1wiIFtoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIiBbcGFuZWxXaWR0aF09XCJudWxsXCI+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG1pbnV0ZSBvZiBzaXh0eVwiIFt2YWx1ZV09XCJtaW51dGVcIj57e21pbnV0ZSB8IG51bWJlcjonMi4wJ319PC9tYXQtb3B0aW9uPlxuICA8L21hdC1zZWxlY3Q+XG48L21hdC1mb3JtLWZpZWxkPlxuPHNwYW4gKm5nSWY9XCJzaG93U2Vjb25kc1wiIGNsYXNzPVwidGltZS1zZXBhcmF0b3JcIj4mIzU4Ozwvc3Bhbj5cbjxtYXQtZm9ybS1maWVsZCAqbmdJZj1cInNob3dTZWNvbmRzXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJzZWNvbmRzXCIgW2hpZGVTaW5nbGVTZWxlY3Rpb25JbmRpY2F0b3JdPVwidHJ1ZVwiIFtwYW5lbFdpZHRoXT1cIm51bGxcIj5cbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgc2Vjb25kIG9mIHNpeHR5XCIgW3ZhbHVlXT1cInNlY29uZFwiPnt7c2Vjb25kIHwgbnVtYmVyOicyLjAnfX08L21hdC1vcHRpb24+XG4gIDwvbWF0LXNlbGVjdD5cbjwvbWF0LWZvcm0tZmllbGQ+XG48bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJpczEySG91ckNsb2NrXCIgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJtZXJpZGllbVwiIFtoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXT1cInRydWVcIiBbcGFuZWxXaWR0aF09XCJudWxsXCI+XG4gICAgPG1hdC1vcHRpb24gdmFsdWU9XCJhbVwiPkFNPC9tYXQtb3B0aW9uPlxuICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwicG1cIj5QTTwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtc2VsZWN0PlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Input, inject } from '@angular/core';
|
|
2
2
|
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
3
|
-
import {
|
|
3
|
+
import { ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter } from '@enigmatry/entry-components/common';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/forms";
|
|
6
6
|
import * as i2 from "@angular/material/input";
|
|
@@ -9,14 +9,14 @@ import * as i4 from "@angular/material/datepicker";
|
|
|
9
9
|
export class DateTimeSearchFilterComponent {
|
|
10
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimeSearchFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
11
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateTimeSearchFilterComponent, selector: "entry-date-time-search-filter", inputs: { searchFilter: "searchFilter", form: "form" }, providers: [
|
|
12
|
-
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(
|
|
12
|
+
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
13
13
|
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
14
14
|
], ngImport: i0, template: "<mat-form-field [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label [attr.for]=\"searchFilter.key\">{{searchFilter.label}}</mat-label>\n <input matInput [formControlName]=\"searchFilter.key\" [matDatepicker]=\"picker\" [id]=\"searchFilter.key\">\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] }); }
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimeSearchFilterComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{ selector: 'entry-date-time-search-filter', providers: [
|
|
19
|
-
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(
|
|
19
|
+
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
20
20
|
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
21
21
|
], template: "<mat-form-field [formGroup]=\"form\" subscriptSizing=\"dynamic\">\n <mat-label [attr.for]=\"searchFilter.key\">{{searchFilter.label}}</mat-label>\n <input matInput [formControlName]=\"searchFilter.key\" [matDatepicker]=\"picker\" [id]=\"searchFilter.key\">\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n</mat-form-field>" }]
|
|
22
22
|
}], propDecorators: { searchFilter: [{
|
|
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
24
24
|
}], form: [{
|
|
25
25
|
type: Input
|
|
26
26
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXNlYXJjaC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3NlYXJjaC1maWx0ZXIvZGF0ZS10aW1lL2RhdGUtdGltZS1zZWFyY2gtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9zZWFyY2gtZmlsdGVyL2RhdGUtdGltZS9kYXRlLXRpbWUtc2VhcmNoLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFVdkcsTUFBTSxPQUFPLDZCQUE2QjsrR0FBN0IsNkJBQTZCO21HQUE3Qiw2QkFBNkIsZ0hBTDdCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO1lBQ3BGLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUU7U0FDekQsMEJDWkgsOFpBS2lCOzs0RkRTSiw2QkFBNkI7a0JBUnpDLFNBQVM7K0JBQ0UsK0JBQStCLGFBRTlCO3dCQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsRUFBRTt3QkFDcEYsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTtxQkFDekQ7OEJBR1EsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVUaW1lU2VhcmNoRmlsdGVyIH0gZnJvbSAnLi9kYXRlLXRpbWUtc2VhcmNoLWZpbHRlci5tb2RlbCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEVOVFJZX01BVF9EQVRFX1RJTUVfRk9STUFUUywgRW50cnlEYXRlVGltZUFkYXB0ZXIgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW50cnktZGF0ZS10aW1lLXNlYXJjaC1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLXNlYXJjaC1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZUZhY3Rvcnk6ICgpID0+IGluamVjdChFTlRSWV9NQVRfREFURV9USU1FX0ZPUk1BVFMpIH0sXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IEVudHJ5RGF0ZVRpbWVBZGFwdGVyIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVNlYXJjaEZpbHRlckNvbXBvbmVudDxEPiB7XG4gIEBJbnB1dCgpIHNlYXJjaEZpbHRlcjogRGF0ZVRpbWVTZWFyY2hGaWx0ZXI8RD47XG4gIC8qKiBGb3JtIGdyb3VwIHRvIHdoaWNoIHRoZSBzZWFyY2gtZmlsdGVyIGlucHV0IGNvbXBvbmVudCB3aWxsIGJlIGFkZGVkLiAqL1xuICBASW5wdXQoKSBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtmb3JtR3JvdXBdPVwiZm9ybVwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICA8bWF0LWxhYmVsIFthdHRyLmZvcl09XCJzZWFyY2hGaWx0ZXIua2V5XCI+e3tzZWFyY2hGaWx0ZXIubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cInNlYXJjaEZpbHRlci5rZXlcIiBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIiBbaWRdPVwic2VhcmNoRmlsdGVyLmtleVwiPlxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0SWNvblN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGVwaWNrZXI+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|