@acorex/components 20.10.1 → 20.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datetime-box/index.d.ts +14 -4
- package/datetime-input/index.d.ts +51 -67
- package/fesm2022/acorex-components-datetime-box.mjs +40 -9
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +316 -304
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +11 -1
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/package.json +30 -34
- package/datetime-text-box/README.md +0 -3
- package/datetime-text-box/index.d.ts +0 -142
- package/fesm2022/acorex-components-datetime-text-box.mjs +0 -619
- package/fesm2022/acorex-components-datetime-text-box.mjs.map +0 -1
package/datetime-box/index.d.ts
CHANGED
|
@@ -55,7 +55,9 @@ declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base {
|
|
|
55
55
|
*/
|
|
56
56
|
formatChange: EventEmitter<string>;
|
|
57
57
|
/**
|
|
58
|
-
* Indicates whether typing is allowed in the
|
|
58
|
+
* Indicates whether typing is allowed in the input.
|
|
59
|
+
* When false, clicking the input (or the calendar icon) opens the picker.
|
|
60
|
+
* When true, the input is for typing and the picker opens from the calendar button.
|
|
59
61
|
*
|
|
60
62
|
* @defaultValue false
|
|
61
63
|
*/
|
|
@@ -90,7 +92,7 @@ declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base {
|
|
|
90
92
|
protected _editingDateObj: _angular_core.WritableSignal<Date>;
|
|
91
93
|
protected readonly _calendarSystem: _angular_core.Signal<string>;
|
|
92
94
|
protected readonly _resolvedFormat: _angular_core.Signal<string>;
|
|
93
|
-
protected readonly _classicDateFields: AXDateTimeBoxClassicField[]
|
|
95
|
+
protected readonly _classicDateFields: _angular_core.Signal<AXDateTimeBoxClassicField[]>;
|
|
94
96
|
protected readonly _classicTimeFields: AXDateTimeBoxClassicField[];
|
|
95
97
|
private readonly _classicTimeOptions;
|
|
96
98
|
protected _classicDate: _angular_core.Signal<_acorex_core_date_time.AXDateTime>;
|
|
@@ -124,7 +126,13 @@ declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base {
|
|
|
124
126
|
text: string;
|
|
125
127
|
}[];
|
|
126
128
|
/**
|
|
127
|
-
*
|
|
129
|
+
* Syncs typed input values into the box (and the picker via `_editingDateObj`).
|
|
130
|
+
* @ignore
|
|
131
|
+
*/
|
|
132
|
+
protected _handleInputModelChange(value: Date | null): void;
|
|
133
|
+
/**
|
|
134
|
+
* Syncs picker selection into the box (and the input via `_editingDateObj`).
|
|
135
|
+
* @ignore
|
|
128
136
|
*/
|
|
129
137
|
protected _handlePickerModelChange(value: Date | null): void;
|
|
130
138
|
/**
|
|
@@ -162,7 +170,9 @@ declare class AXDateTimeBoxComponent extends AXDateTimeBoxComponent_base {
|
|
|
162
170
|
*/
|
|
163
171
|
private _readSelectValue;
|
|
164
172
|
/**
|
|
165
|
-
*
|
|
173
|
+
* When typing is disabled, open the picker on input click.
|
|
174
|
+
* When typing is enabled, keep the picker closed so the user can type.
|
|
175
|
+
* @ignore
|
|
166
176
|
*/
|
|
167
177
|
protected _handleInputOnClick(): void;
|
|
168
178
|
private get __hostName();
|
|
@@ -3,30 +3,27 @@ import { MXInputBaseValueComponent, AXClickEvent } from '@acorex/cdk/common';
|
|
|
3
3
|
import { AXDateTimePickerType } from '@acorex/components/calendar';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* A component for date and time input with
|
|
6
|
+
* A component for date and time input with segment-based typing, keyboard navigation,
|
|
7
|
+
* and calendar-aware formatting (gregorian and solar-hijri).
|
|
7
8
|
*
|
|
8
9
|
* @category Components
|
|
9
10
|
*/
|
|
10
11
|
declare class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {
|
|
11
12
|
#private;
|
|
12
13
|
private platformService;
|
|
13
|
-
private formatService;
|
|
14
14
|
private localeService;
|
|
15
15
|
private calendarService;
|
|
16
|
-
/**
|
|
17
|
-
* @ignore
|
|
18
|
-
*/
|
|
16
|
+
/** @ignore */
|
|
19
17
|
private readonly _editingParts;
|
|
20
|
-
/**
|
|
21
|
-
* @ignore
|
|
22
|
-
*/
|
|
18
|
+
/** @ignore */
|
|
23
19
|
protected _editingText: _angular_core.WritableSignal<string>;
|
|
20
|
+
/** @ignore */
|
|
21
|
+
private _inputChars;
|
|
22
|
+
/** @ignore */
|
|
23
|
+
private _activePart;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
protected _inputChars: string[];
|
|
28
|
-
/**
|
|
29
|
-
* Indicates whether typing is allowed in the input field.
|
|
25
|
+
* When true, the user can type digits and navigate segments with the keyboard.
|
|
26
|
+
* When false, keyboard input is blocked (used by datetime-box picker mode).
|
|
30
27
|
* @defaultValue false
|
|
31
28
|
*/
|
|
32
29
|
allowTyping: _angular_core.InputSignal<boolean>;
|
|
@@ -34,94 +31,81 @@ declare class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {
|
|
|
34
31
|
* @description The calendar type to use for the datetime input.
|
|
35
32
|
*/
|
|
36
33
|
calendar: _angular_core.InputSignal<string>;
|
|
37
|
-
protected readonly _calendarSystem: _angular_core.Signal<string>;
|
|
38
|
-
private _activePart;
|
|
39
|
-
private _editingDate;
|
|
40
|
-
/**
|
|
41
|
-
* @ignore
|
|
42
|
-
*/
|
|
43
|
-
private input;
|
|
44
34
|
minValue: _angular_core.InputSignal<Date>;
|
|
45
35
|
maxValue: _angular_core.InputSignal<Date>;
|
|
46
36
|
/**
|
|
47
|
-
* Emitted when a click event occurs on the datetime
|
|
37
|
+
* Emitted when a click event occurs on the datetime input.
|
|
48
38
|
* @event
|
|
49
39
|
*/
|
|
50
40
|
onClick: _angular_core.OutputEmitterRef<AXClickEvent>;
|
|
51
41
|
picker: _angular_core.InputSignal<AXDateTimePickerType>;
|
|
52
|
-
protected readonly _resolvedFormat: _angular_core.Signal<string>;
|
|
53
42
|
/**
|
|
54
43
|
* @deprecated use locale & mode instead
|
|
55
44
|
*/
|
|
56
45
|
format: _angular_core.InputSignal<string>;
|
|
57
|
-
|
|
46
|
+
protected readonly _calendarSystem: _angular_core.Signal<string>;
|
|
47
|
+
protected readonly _resolvedFormat: _angular_core.Signal<string>;
|
|
48
|
+
/** @ignore */
|
|
49
|
+
private _editingDate;
|
|
50
|
+
/** @ignore */
|
|
51
|
+
private inputRef;
|
|
52
|
+
/** @ignore */
|
|
53
|
+
private get inputElement();
|
|
58
54
|
/**
|
|
59
55
|
* @description check if page is in rtl or ltr
|
|
60
56
|
*/
|
|
61
57
|
protected isRtl: _angular_core.WritableSignal<boolean>;
|
|
62
|
-
/**
|
|
63
|
-
* @description listen to direction change to react to it.
|
|
64
|
-
*/
|
|
58
|
+
/** @ignore */
|
|
65
59
|
protected ngOnInit(): void;
|
|
66
60
|
/**
|
|
67
|
-
*
|
|
61
|
+
* Formats a part using the calendar already attached to the AXDateTime.
|
|
62
|
+
* @ignore
|
|
68
63
|
*/
|
|
64
|
+
private _formatPart;
|
|
65
|
+
/** @ignore */
|
|
66
|
+
private _detectParts;
|
|
67
|
+
/** @ignore */
|
|
69
68
|
private _getOrderedParts;
|
|
70
|
-
/**
|
|
71
|
-
* @ignore
|
|
72
|
-
*/
|
|
69
|
+
/** @ignore */
|
|
73
70
|
private _clearInputBuffer;
|
|
74
|
-
/**
|
|
75
|
-
* @ignore
|
|
76
|
-
*/
|
|
71
|
+
/** @ignore */
|
|
77
72
|
private _updateText;
|
|
78
|
-
/**
|
|
79
|
-
* Sets the internal date value, adjusting it based on editing parts.
|
|
80
|
-
* @param value - The date to set. Returns `undefined` if no value is provided.
|
|
81
|
-
* @ignore
|
|
82
|
-
*/
|
|
83
73
|
/**
|
|
84
74
|
* Handles changes to the internal date value, updating editing parts and text representation.
|
|
85
|
-
*
|
|
86
|
-
* @param value - The new date value. If not provided, resets editing parts.
|
|
87
75
|
* @ignore
|
|
88
76
|
*/
|
|
89
77
|
internalValueChanged(value?: Date): void;
|
|
90
78
|
/**
|
|
91
|
-
*
|
|
92
|
-
|
|
93
|
-
_handleOnKeydownEvent(e: KeyboardEvent): void;
|
|
94
|
-
/**
|
|
95
|
-
* @ignore
|
|
96
|
-
*/
|
|
97
|
-
_handleKeyUpEvent(): void;
|
|
98
|
-
/**
|
|
99
|
-
* @ignore
|
|
79
|
+
* Normalizes Persian (U+06F0-U+06F9) and Arabic-Indic (U+0660-U+0669) digits to ASCII.
|
|
80
|
+
* @ignore
|
|
100
81
|
*/
|
|
82
|
+
private _normalizeDigit;
|
|
83
|
+
/** @ignore */
|
|
84
|
+
protected _handleOnKeydownEvent(e: KeyboardEvent): void;
|
|
85
|
+
/** @ignore */
|
|
86
|
+
private _handleDigitInput;
|
|
87
|
+
/** @ignore */
|
|
88
|
+
private _applyEditingDate;
|
|
89
|
+
/** @ignore */
|
|
90
|
+
protected _handleKeyUpEvent(): void;
|
|
91
|
+
/** @ignore */
|
|
101
92
|
protected _handleFocusEvent(e: FocusEvent): void;
|
|
102
|
-
/**
|
|
103
|
-
* @ignore
|
|
104
|
-
*/
|
|
93
|
+
/** @ignore */
|
|
105
94
|
protected _handleBlurEvent(e: FocusEvent): void;
|
|
106
|
-
/**
|
|
107
|
-
|
|
108
|
-
|
|
95
|
+
/** @ignore */
|
|
96
|
+
private _clampToRange;
|
|
97
|
+
/** @ignore */
|
|
109
98
|
protected _handleOnInputClickEvent(e: MouseEvent): void;
|
|
110
|
-
/**
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
private
|
|
114
|
-
/**
|
|
115
|
-
* @ignore
|
|
116
|
-
*/
|
|
99
|
+
/** @ignore */
|
|
100
|
+
private _selectFirstPart;
|
|
101
|
+
/** @ignore */
|
|
102
|
+
private _ensureEditableText;
|
|
103
|
+
/** @ignore */
|
|
117
104
|
private _highlightActivePart;
|
|
118
|
-
/**
|
|
119
|
-
* @ignore
|
|
120
|
-
*/
|
|
105
|
+
/** @ignore */
|
|
121
106
|
private _detectValueChanges;
|
|
122
|
-
private get __hostName();
|
|
123
107
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXDateTimeInputComponent, never>;
|
|
124
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimeInputComponent, "ax-datetime-input", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "allowTyping": { "alias": "allowTyping"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onClick": "onClick"; }, never, ["ax-validation-rule"], true, never>;
|
|
108
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXDateTimeInputComponent, "ax-datetime-input", never, { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "value": { "alias": "value"; "required": false; }; "state": { "alias": "state"; "required": false; }; "name": { "alias": "name"; "required": false; }; "id": { "alias": "id"; "required": false; }; "allowTyping": { "alias": "allowTyping"; "required": false; "isSignal": true; }; "calendar": { "alias": "calendar"; "required": false; "isSignal": true; }; "minValue": { "alias": "minValue"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "picker": { "alias": "picker"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "stateChange": "stateChange"; "onValueChanged": "onValueChanged"; "onBlur": "onBlur"; "onFocus": "onFocus"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; "onKeyPress": "onKeyPress"; "onClick": "onClick"; }, never, ["ax-validation-rule"], true, never>;
|
|
125
109
|
}
|
|
126
110
|
|
|
127
111
|
declare class AXDateTimeInputModule {
|
|
@@ -5,6 +5,7 @@ import { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';
|
|
|
5
5
|
import { AXDecoratorGenericComponent } from '@acorex/components/decorators';
|
|
6
6
|
import { MXDropdownBoxBaseComponent, AXDropdownBoxComponent } from '@acorex/components/dropdown';
|
|
7
7
|
import { AXSelectBoxComponent } from '@acorex/components/select-box';
|
|
8
|
+
import { AXIRLocaleProfile } from '@acorex/core/locale';
|
|
8
9
|
import * as i0 from '@angular/core';
|
|
9
10
|
import { EventEmitter, input, signal, computed, forwardRef, HostBinding, Output, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
|
|
10
11
|
import * as i1 from '@angular/forms';
|
|
@@ -36,7 +37,9 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
|
|
|
36
37
|
*/
|
|
37
38
|
this.formatChange = new EventEmitter();
|
|
38
39
|
/**
|
|
39
|
-
* Indicates whether typing is allowed in the
|
|
40
|
+
* Indicates whether typing is allowed in the input.
|
|
41
|
+
* When false, clicking the input (or the calendar icon) opens the picker.
|
|
42
|
+
* When true, the input is for typing and the picker opens from the calendar button.
|
|
40
43
|
*
|
|
41
44
|
* @defaultValue false
|
|
42
45
|
*/
|
|
@@ -70,8 +73,26 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
|
|
|
70
73
|
this.format = input(...(ngDevMode ? [undefined, { debugName: "format" }] : []));
|
|
71
74
|
this._editingDateObj = signal(null, ...(ngDevMode ? [{ debugName: "_editingDateObj" }] : []));
|
|
72
75
|
this._calendarSystem = computed(() => this.calendar() ?? this.localeService.activeProfile().calendar.system, ...(ngDevMode ? [{ debugName: "_calendarSystem" }] : []));
|
|
73
|
-
this._resolvedFormat = computed(() =>
|
|
74
|
-
|
|
76
|
+
this._resolvedFormat = computed(() => {
|
|
77
|
+
if (this.format()) {
|
|
78
|
+
return this.format();
|
|
79
|
+
}
|
|
80
|
+
// Calendar override can differ from the active locale; solar-hijri uses day/month/year.
|
|
81
|
+
const formats = this._calendarSystem() === 'solar-hijri'
|
|
82
|
+
? AXIRLocaleProfile.formats
|
|
83
|
+
: this.localeService.activeProfile().formats;
|
|
84
|
+
return formats[this.picker()]?.short ?? '';
|
|
85
|
+
}, ...(ngDevMode ? [{ debugName: "_resolvedFormat" }] : []));
|
|
86
|
+
this._classicDateFields = computed(() => {
|
|
87
|
+
if (this._calendarSystem() === 'solar-hijri') {
|
|
88
|
+
return [
|
|
89
|
+
{ part: 'day', dropdownWidth: '50', maxVisibleItems: 10 },
|
|
90
|
+
{ part: 'month', dropdownWidth: '90', maxVisibleItems: 12 },
|
|
91
|
+
{ part: 'year', dropdownWidth: '70', maxVisibleItems: 10 },
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
return AX_DATETIME_BOX_CLASSIC_DATE_FIELDS;
|
|
95
|
+
}, ...(ngDevMode ? [{ debugName: "_classicDateFields" }] : []));
|
|
75
96
|
this._classicTimeFields = AX_DATETIME_BOX_CLASSIC_TIME_FIELDS;
|
|
76
97
|
this._classicTimeOptions = {
|
|
77
98
|
hour: Array.from({ length: 24 }, (_, i) => ({ id: i, text: String(i).padStart(2, '0') })),
|
|
@@ -159,7 +180,15 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
|
|
|
159
180
|
}
|
|
160
181
|
}
|
|
161
182
|
/**
|
|
162
|
-
*
|
|
183
|
+
* Syncs typed input values into the box (and the picker via `_editingDateObj`).
|
|
184
|
+
* @ignore
|
|
185
|
+
*/
|
|
186
|
+
_handleInputModelChange(value) {
|
|
187
|
+
this.commitValue(value, true);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Syncs picker selection into the box (and the input via `_editingDateObj`).
|
|
191
|
+
* @ignore
|
|
163
192
|
*/
|
|
164
193
|
_handlePickerModelChange(value) {
|
|
165
194
|
if (this.isOpen) {
|
|
@@ -216,8 +245,8 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
|
|
|
216
245
|
catch {
|
|
217
246
|
this._editingDateObj.set(null);
|
|
218
247
|
}
|
|
219
|
-
|
|
220
|
-
if (this.boxLook() !== 'classic') {
|
|
248
|
+
// Close the picker after a committed selection; typing already keeps it closed.
|
|
249
|
+
if (this.boxLook() !== 'classic' && this.isOpen) {
|
|
221
250
|
this.close();
|
|
222
251
|
}
|
|
223
252
|
}
|
|
@@ -254,7 +283,9 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
|
|
|
254
283
|
return value != null ? Number(value) : null;
|
|
255
284
|
}
|
|
256
285
|
/**
|
|
257
|
-
*
|
|
286
|
+
* When typing is disabled, open the picker on input click.
|
|
287
|
+
* When typing is enabled, keep the picker closed so the user can type.
|
|
288
|
+
* @ignore
|
|
258
289
|
*/
|
|
259
290
|
_handleInputOnClick() {
|
|
260
291
|
if (!this.allowTyping()) {
|
|
@@ -278,7 +309,7 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
|
|
|
278
309
|
useExisting: forwardRef(() => AXDateTimeBoxComponent),
|
|
279
310
|
multi: true,
|
|
280
311
|
},
|
|
281
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: "pickerRef", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n id=\"{{ id }}-input\"\n [format]=\"_resolvedFormat()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"_calendarSystem()\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"_resolvedFormat()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n [yearRange]=\"yearRange()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{overflow:visible;height:auto;min-height:var(--ax-comp-editor-height)}ax-datetime-box .ax-classic-datetime-selects{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:12rem;flex-wrap:wrap;overflow:visible}ax-datetime-box .ax-classic-datetime-group{display:flex;align-items:center;gap:.125rem}ax-datetime-box .ax-classic-datetime-separator{flex:0 0 auto;padding-inline:.125rem;font-size:var(--ax-comp-editor-font-size);line-height:1;color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box{display:inline-block;width:auto;flex:0 0 auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-button{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:0 0 auto;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset;padding-inline:0}\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput", "popoverWidth"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "allowTyping", "calendar", "minValue", "maxValue", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDateTimePickerComponent, selector: "ax-datetime-picker", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "weekend", "weekdays", "calendarLook", "yearRange", "currentTimeButton", "calendar", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
312
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: "pickerRef", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields(); track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n (ngModelChange)=\"_handleInputModelChange($event)\"\n id=\"{{ id }}-input\"\n [format]=\"_resolvedFormat()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"_calendarSystem()\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"_resolvedFormat()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n [yearRange]=\"yearRange()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{overflow:visible;height:auto;min-height:var(--ax-comp-editor-height)}ax-datetime-box .ax-classic-datetime-selects{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:12rem;flex-wrap:wrap;overflow:visible}ax-datetime-box .ax-classic-datetime-group{display:flex;align-items:center;gap:.125rem}ax-datetime-box .ax-classic-datetime-separator{flex:0 0 auto;padding-inline:.125rem;font-size:var(--ax-comp-editor-font-size);line-height:1;color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box{display:inline-block;width:auto;flex:0 0 auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-button{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:0 0 auto;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset;padding-inline:0}\n"], dependencies: [{ kind: "component", type: AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look", "hasInput", "popoverWidth"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "allowTyping", "calendar", "minValue", "maxValue", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "onClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDateTimePickerComponent, selector: "ax-datetime-picker", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "weekend", "weekdays", "calendarLook", "yearRange", "currentTimeButton", "calendar", "picker", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick"] }, { kind: "component", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "isItemTruncated", "showItemTooltip", "itemHeight", "maxVisibleItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed", "onItemSelected", "onItemClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
282
313
|
}
|
|
283
314
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: AXDateTimeBoxComponent, decorators: [{
|
|
284
315
|
type: Component,
|
|
@@ -323,7 +354,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
323
354
|
FormsModule,
|
|
324
355
|
AXDateTimePickerComponent,
|
|
325
356
|
AXSelectBoxComponent,
|
|
326
|
-
], template: "@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n id=\"{{ id }}-input\"\n [format]=\"_resolvedFormat()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"_calendarSystem()\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"_resolvedFormat()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n [yearRange]=\"yearRange()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{overflow:visible;height:auto;min-height:var(--ax-comp-editor-height)}ax-datetime-box .ax-classic-datetime-selects{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:12rem;flex-wrap:wrap;overflow:visible}ax-datetime-box .ax-classic-datetime-group{display:flex;align-items:center;gap:.125rem}ax-datetime-box .ax-classic-datetime-separator{flex:0 0 auto;padding-inline:.125rem;font-size:var(--ax-comp-editor-font-size);line-height:1;color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box{display:inline-block;width:auto;flex:0 0 auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-button{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:0 0 auto;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset;padding-inline:0}\n"] }]
|
|
357
|
+
], template: "@if (boxLook() === 'classic') {\n <div [class]=\"_classicBoxClass\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <div class=\"ax-classic-datetime-selects\" dir=\"ltr\">\n @if (_classicHasDatePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicDateFields(); track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">-</span>\n }\n }\n </div>\n }\n @if (_classicHasTimePart) {\n <div class=\"ax-classic-datetime-group\">\n @for (field of _classicTimeFields; track field.part; let last = $last) {\n <ax-select-box\n look=\"none\"\n [class]=\"'ax-classic-' + field.part + '-select'\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [dataSource]=\"_classicPartOptions(field.part)\"\n textField=\"text\"\n valueField=\"id\"\n [ngModel]=\"_classicPartValue(field.part)\"\n [dropdownWidth]=\"field.dropdownWidth\"\n [isItemTruncated]=\"false\"\n [maxVisibleItems]=\"field.maxVisibleItems\"\n [itemHeight]=\"32\"\n (onValueChanged)=\"_handleClassicPartChanged($event, field.part)\"\n ></ax-select-box>\n @if (!last) {\n <span class=\"ax-classic-datetime-separator\" aria-hidden=\"true\">:</span>\n }\n }\n </div>\n }\n </div>\n <ng-content select=\"ax-suffix\"></ng-content>\n </div>\n} @else {\n <ax-dropdown-box\n [look]=\"look\"\n [disabled]=\"disabled\"\n (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\"\n >\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input\n dir=\"ltr\"\n [name]=\"name\"\n [ngModel]=\"_editingDateObj()\"\n (ngModelChange)=\"_handleInputModelChange($event)\"\n id=\"{{ id }}-input\"\n [format]=\"_resolvedFormat()\"\n [picker]=\"picker()\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [allowTyping]=\"allowTyping()\"\n [calendar]=\"_calendarSystem()\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n (onClick)=\"_handleInputOnClick()\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\"\n (onFocus)=\"_handleInputOnFocusEvent($event)\"\n ></ax-datetime-input>\n @if (value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-editor-button\" [tabIndex]=\"-1\" [disabled]=\"disabled\" (click)=\"toggle()\">\n <span class=\"ax-icon ax-icon-calendar\"></span>\n </button>\n <ng-content select=\"ax-suffix\"> </ng-content>\n </ng-container>\n <ng-container panel>\n <ax-datetime-picker\n #pickerRef\n [type]=\"_calendarSystem()\"\n [depth]=\"depth\"\n [ngModel]=\"_editingDateObj()\"\n [picker]=\"picker()\"\n [format]=\"_resolvedFormat()\"\n id=\"{{ id }}-picker\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [weekend]=\"weekend()\"\n [weekdays]=\"weekdays()\"\n [holidayDates]=\"holidayDates\"\n [calendar]=\"_calendarSystem()\"\n [disabledDates]=\"disabledDates\"\n [calendarLook]=\"calendarLook()\"\n [yearRange]=\"yearRange()\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (ngModelChange)=\"_handlePickerModelChange($event)\"\n ></ax-datetime-picker>\n </ng-container>\n </ax-dropdown-box>\n}\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n", styles: ["ax-datetime-input{display:contents}ax-datetime-box .ax-classic-datetime-box{overflow:visible;height:auto;min-height:var(--ax-comp-editor-height)}ax-datetime-box .ax-classic-datetime-selects{display:flex;flex:1;align-items:center;justify-content:space-between;gap:1rem;min-width:12rem;flex-wrap:wrap;overflow:visible}ax-datetime-box .ax-classic-datetime-group{display:flex;align-items:center;gap:.125rem}ax-datetime-box .ax-classic-datetime-separator{flex:0 0 auto;padding-inline:.125rem;font-size:var(--ax-comp-editor-font-size);line-height:1;color:rgba(var(--ax-comp-editor-text-color));opacity:.6;-webkit-user-select:none;user-select:none;pointer-events:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box{display:inline-block;width:auto;flex:0 0 auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-button{display:none}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-editor-container,ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{gap:0;width:auto;overflow:visible}ax-datetime-box .ax-classic-datetime-selects ax-select-box ax-dropdown-box.ax-editor-container{--ax-comp-editor-space-start-size: 0;--ax-comp-editor-space-end-size: 0;justify-content:flex-start}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container{flex:0 0 auto;width:auto}ax-datetime-box .ax-classic-datetime-selects ax-select-box .ax-chips-container .ax-chips{overflow:visible;text-overflow:unset;padding-inline:0}\n"] }]
|
|
327
358
|
}], propDecorators: { input: [{
|
|
328
359
|
type: ViewChild,
|
|
329
360
|
args: [AXDateTimeInputComponent]
|