@acorex/components 17.0.25 → 17.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. package/color-box/lib/color-box.component.d.ts +3 -3
  2. package/datetime-box/lib/datetime-box.component.d.ts +7 -4
  3. package/datetime-input/lib/datetime-input.component.d.ts +2 -2
  4. package/decorators/lib/components/generic-content.component.d.ts +1 -1
  5. package/dropdown/lib/dropdown-box.class.d.ts +2 -0
  6. package/esm2022/action-sheet/lib/action-sheet.component.mjs +1 -1
  7. package/esm2022/button/lib/button-item-list.component.mjs +1 -1
  8. package/esm2022/color-box/lib/color-box.component.mjs +7 -7
  9. package/esm2022/common/lib/components/interactive-component.class.mjs +9 -2
  10. package/esm2022/common/lib/directives/inverted-color.directive.mjs +3 -5
  11. package/esm2022/conversation/lib/conversation-message/conversation-message.component.mjs +1 -1
  12. package/esm2022/conversation/lib/conversation-messages/conversation-message-file/conversation-message-file.component.mjs +1 -1
  13. package/esm2022/conversation/lib/conversation-messages/conversation-message-voice/conversation-message-voice.component.mjs +1 -1
  14. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +1 -1
  15. package/esm2022/data-pager/lib/data-pager.component.mjs +1 -1
  16. package/esm2022/data-table/lib/data-table/data-table.component.mjs +1 -1
  17. package/esm2022/datetime-box/lib/datetime-box.component.mjs +35 -9
  18. package/esm2022/datetime-input/lib/datetime-input.component.mjs +26 -57
  19. package/esm2022/decorators/lib/components/generic-content.component.mjs +4 -4
  20. package/esm2022/dialog/lib/dialog.component.mjs +1 -1
  21. package/esm2022/dropdown/lib/dropdown-box.class.mjs +13 -1
  22. package/esm2022/form/lib/form-field.component.mjs +64 -12
  23. package/esm2022/form/lib/form.component.mjs +18 -18
  24. package/esm2022/form/lib/validation-summary.component.mjs +1 -1
  25. package/esm2022/label/lib/label.component.mjs +2 -2
  26. package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +1 -1
  27. package/esm2022/number-box/lib/number-box.component.mjs +3 -3
  28. package/esm2022/phone-box/lib/phone-box.component.mjs +1 -1
  29. package/esm2022/scheduler/lib/scheduler.component.mjs +1 -1
  30. package/esm2022/select-box/lib/select-box.component.mjs +3 -3
  31. package/esm2022/text-area/lib/text-area.component.mjs +3 -3
  32. package/fesm2022/acorex-components-action-sheet.mjs +1 -1
  33. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  34. package/fesm2022/acorex-components-button.mjs +1 -1
  35. package/fesm2022/acorex-components-button.mjs.map +1 -1
  36. package/fesm2022/acorex-components-color-box.mjs +6 -6
  37. package/fesm2022/acorex-components-color-box.mjs.map +1 -1
  38. package/fesm2022/acorex-components-common.mjs +9 -4
  39. package/fesm2022/acorex-components-common.mjs.map +1 -1
  40. package/fesm2022/acorex-components-conversation.mjs +3 -3
  41. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  42. package/fesm2022/acorex-components-data-pager.mjs +2 -2
  43. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  44. package/fesm2022/acorex-components-data-table.mjs +1 -1
  45. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  46. package/fesm2022/acorex-components-datetime-box.mjs +34 -8
  47. package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
  48. package/fesm2022/acorex-components-datetime-input.mjs +24 -55
  49. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  50. package/fesm2022/acorex-components-decorators.mjs +2 -2
  51. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  52. package/fesm2022/acorex-components-dialog.mjs +1 -1
  53. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  54. package/fesm2022/acorex-components-dropdown.mjs +12 -0
  55. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  56. package/fesm2022/acorex-components-form.mjs +105 -54
  57. package/fesm2022/acorex-components-form.mjs.map +1 -1
  58. package/fesm2022/acorex-components-label.mjs +2 -2
  59. package/fesm2022/acorex-components-label.mjs.map +1 -1
  60. package/fesm2022/acorex-components-loading-dialog.mjs +1 -1
  61. package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -1
  62. package/fesm2022/acorex-components-number-box.mjs +2 -2
  63. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  64. package/fesm2022/acorex-components-phone-box.mjs +1 -1
  65. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  66. package/fesm2022/acorex-components-scheduler.mjs +1 -1
  67. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  68. package/fesm2022/acorex-components-select-box.mjs +2 -2
  69. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  70. package/fesm2022/acorex-components-text-area.mjs +2 -2
  71. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  72. package/form/lib/form-field.component.d.ts +15 -4
  73. package/form/lib/form.component.d.ts +7 -5
  74. package/package.json +1 -1
@@ -7,7 +7,7 @@ import { AXDateTimePickerComponent, AXDateTimePickerModule } from '@acorex/compo
7
7
  import * as i3 from '@acorex/components/dropdown';
8
8
  import { MXDropdownBoxBaseComponent, AXDropdownBoxComponent, AXDropdownModule } from '@acorex/components/dropdown';
9
9
  import * as i0 from '@angular/core';
10
- import { EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Output, Input, NgModule } from '@angular/core';
10
+ import { EventEmitter, input, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Output, Input, NgModule } from '@angular/core';
11
11
  import * as i1 from '@angular/forms';
12
12
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
13
13
  import { classes } from 'polytype';
@@ -22,6 +22,7 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
22
22
  constructor() {
23
23
  super(...arguments);
24
24
  this.formatChange = new EventEmitter();
25
+ this.allowTyping = input(false);
25
26
  this._format = this.calendarService.calendar.formats.dateTimeInput;
26
27
  }
27
28
  get format() {
@@ -40,11 +41,21 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
40
41
  if (this.isOpen)
41
42
  this.commitValue(value, true);
42
43
  }
43
- _handleOnOpenedEvent() {
44
+ _handleOnOpenedEvent(e) {
45
+ //this.emitOnFocusEvent(null);
44
46
  this.picker?.refresh();
47
+ this.emitOnOpenedEvent();
45
48
  }
46
- _handleOnClosedEvent() {
49
+ _handleOnClosedEvent(e) {
50
+ //this.emitOnBlurEvent(null);
47
51
  this.input.focus();
52
+ this.emitOnClosedEvent();
53
+ }
54
+ _handleInputOnFocusEvent(e) {
55
+ this.emitOnFocusEvent(e.nativeEvent);
56
+ }
57
+ _handleInputOnBlurEvent(e) {
58
+ this.emitOnBlurEvent(e.nativeEvent);
48
59
  }
49
60
  _handleCalendarOnNavigate(e) {
50
61
  this.onNavigate.emit(e);
@@ -53,10 +64,15 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
53
64
  this.close();
54
65
  }
55
66
  _handleInputOnClick() {
56
- this.close();
67
+ if (!this.allowTyping()) {
68
+ this.open();
69
+ }
70
+ else {
71
+ this.close();
72
+ }
57
73
  }
58
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDateTimeBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", minValue: "minValue", maxValue: "maxValue", value: "value", state: "state", name: "name", depth: "depth", id: "id", type: "type", look: "look", format: "format" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", formatChange: "formatChange" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: false, isRequired: false, transformFunction: null }, allowTyping: { classPropertyName: "allowTyping", publicName: "allowTyping", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", onOpened: "onOpened", onClosed: "onClosed", readonlyChange: "readonlyChange", disabledChange: "disabledChange", formatChange: "formatChange" }, host: { attributes: { "ngSkipHydration": "true" } }, providers: [
60
76
  { provide: AXComponent, useExisting: AXDateTimeBoxComponent },
61
77
  { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },
62
78
  { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },
@@ -66,7 +82,7 @@ class AXDateTimeBoxComponent extends classes((MXInputBaseValueComponent), MXCale
66
82
  useExisting: forwardRef(() => AXDateTimeBoxComponent),
67
83
  multi: true,
68
84
  },
69
- ], viewQueries: [{ propertyName: "input", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: "picker", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input id=\"{{ id }}-input\" [ngModel]=\"value\" (ngModelChange)=\"_handleInputModelChange($event)\"\n [placeholder]=\"placeholder\" [format]=\"format\" [disabled]=\"disabled\" [readonly]=\"readonly\" [type]=\"type\"\n (onFocus)=\"emitOnFocusEvent($event.nativeEvent)\" (onBlur)=\"emitOnBlurEvent($event.nativeEvent)\"\n (onClick)=\"_handleInputOnClick()\"></ax-datetime-input>\n @if(value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (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 [depth]=\"depth\" id=\"{{ id }}-picker\" #picker [ngModel]=\"value\"\n (ngModelChange)=\"_handlePickerModelChange($event)\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [format]=\"format\" [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\" [depth]=\"depth\" [type]=\"type\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", dependencies: [{ 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: i2.AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "type", "minValue", "maxValue", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "component", type: i3.AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: i4.AXDateTimePickerComponent, selector: "ax-datetime-picker", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "currentTimeButton", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "formatChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
85
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: AXDateTimeInputComponent, descendants: true }, { propertyName: "picker", first: true, predicate: AXDateTimePickerComponent, descendants: true }, { propertyName: "dropdown", first: true, predicate: AXDropdownBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\" [look]=\"look\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input id=\"{{ id }}-input\" [ngModel]=\"value\" [allowTyping]=\"allowTyping()\"\n (ngModelChange)=\"_handleInputModelChange($event)\" [placeholder]=\"placeholder\" [format]=\"format\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [type]=\"type\" (onFocus)=\"_handleInputOnFocusEvent($event)\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\" (onClick)=\"_handleInputOnClick()\"></ax-datetime-input>\n @if(value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (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 [depth]=\"depth\" id=\"{{ id }}-picker\" #picker [ngModel]=\"value\"\n (ngModelChange)=\"_handlePickerModelChange($event)\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [format]=\"format\" [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\" [depth]=\"depth\" [type]=\"type\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>", dependencies: [{ 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: i2.AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "allowTyping", "type", "minValue", "maxValue", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "component", type: i3.AXDropdownBoxComponent, selector: "ax-dropdown-box", inputs: ["disabled", "look"], outputs: ["disabledChange", "onBlur", "onFocus", "onClick", "onOpened", "onClosed"] }, { kind: "component", type: i4.AXDateTimePickerComponent, selector: "ax-datetime-picker", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "currentTimeButton", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onClick", "readonlyChange", "disabledChange", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "formatChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
70
86
  }
71
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDateTimeBoxComponent, decorators: [{
72
88
  type: Component,
@@ -84,7 +100,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
84
100
  'id',
85
101
  'type',
86
102
  'look',
87
- ], outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
103
+ ], outputs: [
104
+ 'valueChange',
105
+ 'stateChange',
106
+ 'onValueChanged',
107
+ 'onBlur',
108
+ 'onFocus',
109
+ 'onOpened',
110
+ 'onClosed',
111
+ 'readonlyChange',
112
+ 'disabledChange',
113
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
88
114
  { provide: AXComponent, useExisting: AXDateTimeBoxComponent },
89
115
  { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },
90
116
  { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },
@@ -94,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
94
120
  useExisting: forwardRef(() => AXDateTimeBoxComponent),
95
121
  multi: true,
96
122
  },
97
- ], host: { ngSkipHydration: 'true' }, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input id=\"{{ id }}-input\" [ngModel]=\"value\" (ngModelChange)=\"_handleInputModelChange($event)\"\n [placeholder]=\"placeholder\" [format]=\"format\" [disabled]=\"disabled\" [readonly]=\"readonly\" [type]=\"type\"\n (onFocus)=\"emitOnFocusEvent($event.nativeEvent)\" (onBlur)=\"emitOnBlurEvent($event.nativeEvent)\"\n (onClick)=\"_handleInputOnClick()\"></ax-datetime-input>\n @if(value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (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 [depth]=\"depth\" id=\"{{ id }}-picker\" #picker [ngModel]=\"value\"\n (ngModelChange)=\"_handlePickerModelChange($event)\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [format]=\"format\" [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\" [depth]=\"depth\" [type]=\"type\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>" }]
123
+ ], host: { ngSkipHydration: 'true' }, template: "<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\" [look]=\"look\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input id=\"{{ id }}-input\" [ngModel]=\"value\" [allowTyping]=\"allowTyping()\"\n (ngModelChange)=\"_handleInputModelChange($event)\" [placeholder]=\"placeholder\" [format]=\"format\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [type]=\"type\" (onFocus)=\"_handleInputOnFocusEvent($event)\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\" (onClick)=\"_handleInputOnClick()\"></ax-datetime-input>\n @if(value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (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 [depth]=\"depth\" id=\"{{ id }}-picker\" #picker [ngModel]=\"value\"\n (ngModelChange)=\"_handlePickerModelChange($event)\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [format]=\"format\" [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\" [depth]=\"depth\" [type]=\"type\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>" }]
98
124
  }], propDecorators: { input: [{
99
125
  type: ViewChild,
100
126
  args: [AXDateTimeInputComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-datetime-box.mjs","sources":["../../../../libs/components/datetime-box/src/lib/datetime-box.component.ts","../../../../libs/components/datetime-box/src/lib/datetime-box.component.html","../../../../libs/components/datetime-box/src/lib/datetime-box.module.ts","../../../../libs/components/datetime-box/src/acorex-components-datetime-box.ts"],"sourcesContent":["import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { AXDateTimeInputComponent } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-box',\n templateUrl: './datetime-box.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'depth',\n 'id',\n 'type',\n 'look',\n ],\n outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ],\n host: { ngSkipHydration: 'true' },\n})\nexport class AXDateTimeBoxComponent extends classes(\n MXInputBaseValueComponent<Date>,\n MXCalendarBaseComponent,\n MXDropdownBoxBaseComponent,\n MXLookComponent,\n) {\n @ViewChild(AXDateTimeInputComponent)\n protected input: AXDateTimeInputComponent;\n\n @ViewChild(AXDateTimePickerComponent)\n protected picker: AXDateTimePickerComponent;\n\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format = this.calendarService.calendar.formats.dateTimeInput;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n });\n }\n\n protected _handleInputModelChange(value: Date | null) {\n this.commitValue(value, true);\n }\n\n protected _handlePickerModelChange(value: Date | null) {\n if (this.isOpen) this.commitValue(value, true);\n }\n\n protected _handleOnOpenedEvent() {\n this.picker?.refresh();\n }\n\n protected _handleOnClosedEvent() {\n this.input.focus();\n }\n\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n override internalValueChanged(): void {\n this.close();\n }\n\n protected _handleInputOnClick() {\n this.close();\n }\n}\n","<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent()\" (onClosed)=\"_handleOnClosedEvent()\"\n [look]=\"look\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input id=\"{{ id }}-input\" [ngModel]=\"value\" (ngModelChange)=\"_handleInputModelChange($event)\"\n [placeholder]=\"placeholder\" [format]=\"format\" [disabled]=\"disabled\" [readonly]=\"readonly\" [type]=\"type\"\n (onFocus)=\"emitOnFocusEvent($event.nativeEvent)\" (onBlur)=\"emitOnBlurEvent($event.nativeEvent)\"\n (onClick)=\"_handleInputOnClick()\"></ax-datetime-input>\n @if(value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (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 [depth]=\"depth\" id=\"{{ id }}-picker\" #picker [ngModel]=\"value\"\n (ngModelChange)=\"_handlePickerModelChange($event)\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [format]=\"format\" [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\" [depth]=\"depth\" [type]=\"type\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>","import { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXDateTimeInputModule } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerModule } from '@acorex/components/datetime-picker';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeBoxComponent } from './datetime-box.component';\n\nconst COMPONENT = [AXDateTimeBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXDateTimeInputModule,\n AXDropdownModule,\n AXCalendarModule,\n AXDateTimePickerModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-datetime-box.mjs","sources":["../../../../libs/components/datetime-box/src/lib/datetime-box.component.ts","../../../../libs/components/datetime-box/src/lib/datetime-box.component.html","../../../../libs/components/datetime-box/src/lib/datetime-box.module.ts","../../../../libs/components/datetime-box/src/acorex-components-datetime-box.ts"],"sourcesContent":["import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport {\n AXClearableComponent,\n AXComponent,\n AXEvent,\n AXFocusEvent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { AXDateTimeInputComponent } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerComponent } from '@acorex/components/datetime-picker';\nimport { AXDropdownBoxComponent, MXDropdownBoxBaseComponent } from '@acorex/components/dropdown';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n input,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-datetime-box',\n templateUrl: './datetime-box.component.html',\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'minValue',\n 'maxValue',\n 'value',\n 'state',\n 'name',\n 'depth',\n 'id',\n 'type',\n 'look',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onOpened',\n 'onClosed',\n 'readonlyChange',\n 'disabledChange',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeBoxComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeBoxComponent),\n multi: true,\n },\n ],\n host: { ngSkipHydration: 'true' },\n})\nexport class AXDateTimeBoxComponent extends classes(\n MXInputBaseValueComponent<Date>,\n MXCalendarBaseComponent,\n MXDropdownBoxBaseComponent,\n MXLookComponent,\n) {\n @ViewChild(AXDateTimeInputComponent)\n protected input: AXDateTimeInputComponent;\n\n @ViewChild(AXDateTimePickerComponent)\n protected picker: AXDateTimePickerComponent;\n\n @ViewChild(AXDropdownBoxComponent)\n protected dropdown: AXDropdownBoxComponent;\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n allowTyping = input<boolean>(false);\n\n private _format = this.calendarService.calendar.formats.dateTimeInput;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n });\n }\n\n protected _handleInputModelChange(value: Date | null) {\n this.commitValue(value, true);\n }\n\n protected _handlePickerModelChange(value: Date | null) {\n if (this.isOpen) this.commitValue(value, true);\n }\n\n protected _handleOnOpenedEvent(e: AXEvent) {\n //this.emitOnFocusEvent(null);\n this.picker?.refresh();\n this.emitOnOpenedEvent();\n }\n\n protected _handleOnClosedEvent(e: AXEvent) {\n //this.emitOnBlurEvent(null);\n this.input.focus();\n this.emitOnClosedEvent();\n }\n\n protected _handleInputOnFocusEvent(e: AXFocusEvent) {\n this.emitOnFocusEvent(e.nativeEvent);\n }\n\n protected _handleInputOnBlurEvent(e: AXFocusEvent) {\n this.emitOnBlurEvent(e.nativeEvent);\n }\n\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n override internalValueChanged(): void {\n this.close();\n }\n\n protected _handleInputOnClick() {\n if (!this.allowTyping()) {\n this.open();\n } else {\n this.close();\n }\n }\n}\n","<ax-dropdown-box [disabled]=\"disabled\" (onOpened)=\"_handleOnOpenedEvent($event)\"\n (onClosed)=\"_handleOnClosedEvent($event)\" [look]=\"look\">\n <ng-container input>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <ax-datetime-input id=\"{{ id }}-input\" [ngModel]=\"value\" [allowTyping]=\"allowTyping()\"\n (ngModelChange)=\"_handleInputModelChange($event)\" [placeholder]=\"placeholder\" [format]=\"format\"\n [disabled]=\"disabled\" [readonly]=\"readonly\" [type]=\"type\" (onFocus)=\"_handleInputOnFocusEvent($event)\"\n (onBlur)=\"_handleInputOnBlurEvent($event)\" (onClick)=\"_handleInputOnClick()\"></ax-datetime-input>\n @if(value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n <button type=\"button\" class=\"ax-general-button ax-button-icon\" [tabIndex]=\"-1\" [disabled]=\"disabled\"\n (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 [depth]=\"depth\" id=\"{{ id }}-picker\" #picker [ngModel]=\"value\"\n (ngModelChange)=\"_handlePickerModelChange($event)\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [format]=\"format\" [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\" [depth]=\"depth\" [type]=\"type\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"></ax-datetime-picker>\n </ng-container>\n</ax-dropdown-box>\n<ng-content select=\"ax-validation-rule\"> </ng-content>","import { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXDateTimeInputModule } from '@acorex/components/datetime-input';\nimport { AXDateTimePickerModule } from '@acorex/components/datetime-picker';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeBoxComponent } from './datetime-box.component';\n\nconst COMPONENT = [AXDateTimeBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXDateTimeInputModule,\n AXDropdownModule,\n AXCalendarModule,\n AXDateTimePickerModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { MXInputBaseValueComponent, AXComponent, AXFocusableComponent, AXValuabl
2
2
  import { AXCalendarService, AXDateTimeModule } from '@acorex/core/date-time';
3
3
  import { AXStringUtil } from '@acorex/core/utils';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, HostListener, NgModule } from '@angular/core';
5
+ import { inject, input, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, HostListener, NgModule } from '@angular/core';
6
6
  import * as i1 from '@angular/forms';
7
7
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
8
8
  import { CommonModule } from '@angular/common';
@@ -69,6 +69,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
69
69
  };
70
70
  this._inputChars = [];
71
71
  this._type = this.calendarService.calendar.name();
72
+ this.allowTyping = input(false);
72
73
  this._activePart = 'hour';
73
74
  this._editingDateObj = this.calendarService.now(this.type);
74
75
  this.formatChange = new EventEmitter();
@@ -199,12 +200,14 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
199
200
  e.preventDefault();
200
201
  e.stopPropagation();
201
202
  };
203
+ if (!this.allowTyping()) {
204
+ ignore();
205
+ return;
206
+ }
202
207
  const input = e.target;
203
208
  //
204
209
  const orderedParts = this._getOrderedParts();
205
- const part = this.activePart
206
- ? this._editingParts[this.activePart]
207
- : orderedParts[0];
210
+ const part = this.activePart ? this._editingParts[this.activePart] : orderedParts[0];
208
211
  const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;
209
212
  const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;
210
213
  //
@@ -250,8 +253,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
250
253
  }
251
254
  if (input.value) {
252
255
  ignore();
253
- this._editingParts[part.key].typedValue =
254
- this._editingParts[part.key].placeholder;
256
+ this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;
255
257
  this._detectValueChanges();
256
258
  goPrev();
257
259
  }
@@ -268,9 +270,11 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
268
270
  goPrev();
269
271
  }
270
272
  }
273
+ // TODO: FiX type in input
271
274
  }
272
275
  else if (e.key?.trim() && !isNaN(Number(e.key))) {
273
276
  ignore();
277
+ return;
274
278
  if (this.disabled || this.readonly) {
275
279
  return;
276
280
  }
@@ -280,11 +284,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
280
284
  switch (part.key) {
281
285
  case 'year': {
282
286
  if (editing.placeholder.length == 2 && this._inputChars.length == 0) {
283
- this._inputChars.push(...this.calendarService
284
- .now(this.type)
285
- .format('yyyy')
286
- .substring(0, 2)
287
- .split(''));
287
+ this._inputChars.push(...this.calendarService.now(this.type).format('yyyy').substring(0, 2).split(''));
288
288
  }
289
289
  if (this._inputChars.length < 4) {
290
290
  editing.typedValue = `${this._inputChars.join('')}${e.key}`;
@@ -325,10 +325,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
325
325
  this._clearInputBuffer();
326
326
  next = true;
327
327
  }
328
- editing.typedValue =
329
- editing.typedValue?.length === 1
330
- ? '0' + editing.typedValue
331
- : editing.typedValue;
328
+ editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;
332
329
  const nv = parseInt(editing.typedValue);
333
330
  if (nv > 0) {
334
331
  const newVal = this.editingDateObj.set(part.key, nv);
@@ -357,10 +354,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
357
354
  this._clearInputBuffer();
358
355
  next = true;
359
356
  }
360
- editing.typedValue =
361
- editing.typedValue?.length === 1
362
- ? '0' + editing.typedValue
363
- : editing.typedValue;
357
+ editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;
364
358
  const nv = parseInt(editing.typedValue);
365
359
  if (nv > 0) {
366
360
  const newVal = this.editingDateObj.set(part.key, nv);
@@ -387,10 +381,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
387
381
  }
388
382
  next = true;
389
383
  }
390
- editing.typedValue =
391
- editing.typedValue?.length === 1
392
- ? '0' + editing.typedValue
393
- : editing.typedValue;
384
+ editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;
394
385
  const newVal = this.editingDateObj.set('hour', parseInt(editing.typedValue));
395
386
  this._editingDateObj = newVal;
396
387
  this._detectValueChanges();
@@ -417,10 +408,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
417
408
  this._clearInputBuffer();
418
409
  next = true;
419
410
  }
420
- editing.typedValue =
421
- editing.typedValue?.length === 1
422
- ? '0' + editing.typedValue
423
- : editing.typedValue;
411
+ editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;
424
412
  const newVal = this.editingDateObj.set(part.key, parseInt(editing.typedValue));
425
413
  this._editingDateObj = newVal;
426
414
  this._detectValueChanges();
@@ -448,9 +436,11 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
448
436
  super.emitOnBlurEvent(e);
449
437
  }
450
438
  _handleOnInputClickEvent(e) {
451
- setTimeout(() => {
452
- this._detectPartAtPosition();
453
- }, 0);
439
+ if (this.allowTyping()) {
440
+ setTimeout(() => {
441
+ this._detectPartAtPosition();
442
+ }, 0);
443
+ }
454
444
  this.onClick.emit({
455
445
  component: this,
456
446
  htmlElement: this.getHostElement(),
@@ -484,7 +474,7 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
484
474
  this.commitValue(this._editingDateObj.date, true);
485
475
  }
486
476
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDateTimeInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.2", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", type: "type", minValue: "minValue", maxValue: "maxValue", format: "format" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", onClick: "onClick", readonlyChange: "readonlyChange", disabledChange: "disabledChange", formatChange: "formatChange" }, host: { listeners: { "keydown": "_handleOnKeydownEvent($event)", "keyup": "_handleKeyUpEvent($event)" }, classAttribute: "ax-editor-input" }, providers: [
477
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.2", type: AXDateTimeInputComponent, selector: "ax-datetime-input", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, allowTyping: { classPropertyName: "allowTyping", publicName: "allowTyping", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: false, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: false, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", onClick: "onClick", readonlyChange: "readonlyChange", disabledChange: "disabledChange", formatChange: "formatChange" }, host: { listeners: { "keydown": "_handleOnKeydownEvent($event)", "keyup": "_handleKeyUpEvent($event)" }, classAttribute: "ax-editor-input" }, providers: [
488
478
  { provide: AXComponent, useExisting: AXDateTimeInputComponent },
489
479
  { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },
490
480
  { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },
@@ -494,29 +484,11 @@ class AXDateTimeInputComponent extends MXInputBaseValueComponent {
494
484
  useExisting: forwardRef(() => AXDateTimeInputComponent),
495
485
  multi: true,
496
486
  },
497
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "input2", first: true, predicate: ["input2"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input #input id=\"input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\"\n type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"true\" [ngModel]=\"_editingText\"\n (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_handleBlurEvent($event)\" (focus)=\"_handleFocusEvent($event)\">\n<ng-content select=\"ax-validation-rule\">\n</ng-content>", 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
487
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input #input id=\"input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\"\n type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-select-none]=\"!allowTyping()\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"true\"\n [ngModel]=\"_editingText\" (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_handleBlurEvent($event)\"\n (focus)=\"_handleFocusEvent($event)\">\n<ng-content select=\"ax-validation-rule\">\n</ng-content>", 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
498
488
  }
499
489
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXDateTimeInputComponent, decorators: [{
500
490
  type: Component,
501
- args: [{ selector: 'ax-datetime-input', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: [
502
- 'disabled',
503
- 'readonly',
504
- 'tabIndex',
505
- 'placeholder',
506
- 'value',
507
- 'state',
508
- 'name',
509
- 'id',
510
- ], host: { class: 'ax-editor-input' }, outputs: [
511
- 'valueChange',
512
- 'stateChange',
513
- 'onValueChanged',
514
- 'onBlur',
515
- 'onFocus',
516
- 'onClick',
517
- 'readonlyChange',
518
- 'disabledChange',
519
- ], providers: [
491
+ args: [{ selector: 'ax-datetime-input', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'], host: { class: 'ax-editor-input' }, outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'onClick', 'readonlyChange', 'disabledChange'], providers: [
520
492
  { provide: AXComponent, useExisting: AXDateTimeInputComponent },
521
493
  { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },
522
494
  { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },
@@ -526,15 +498,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
526
498
  useExisting: forwardRef(() => AXDateTimeInputComponent),
527
499
  multi: true,
528
500
  },
529
- ], template: "<input #input id=\"input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\"\n type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"true\" [ngModel]=\"_editingText\"\n (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_handleBlurEvent($event)\" (focus)=\"_handleFocusEvent($event)\">\n<ng-content select=\"ax-validation-rule\">\n</ng-content>" }]
501
+ ], template: "<input #input id=\"input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\"\n type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-select-none]=\"!allowTyping()\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"true\"\n [ngModel]=\"_editingText\" (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_handleBlurEvent($event)\"\n (focus)=\"_handleFocusEvent($event)\">\n<ng-content select=\"ax-validation-rule\">\n</ng-content>" }]
530
502
  }], propDecorators: { type: [{
531
503
  type: Input
532
504
  }], input: [{
533
505
  type: ViewChild,
534
506
  args: ['input']
535
- }], input2: [{
536
- type: ViewChild,
537
- args: ['input2']
538
507
  }], minValue: [{
539
508
  type: Input
540
509
  }], maxValue: [{
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-datetime-input.mjs","sources":["../../../../libs/components/datetime-input/src/lib/datetime-input.component.ts","../../../../libs/components/datetime-input/src/lib/datetime-input.component.html","../../../../libs/components/datetime-input/src/lib/datetime-input.module.ts","../../../../libs/components/datetime-input/src/acorex-components-datetime-input.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/components/common';\nimport {\n AXCalendarService,\n AXDateTime,\n AXDateTimePart,\n AXDateTimeParts,\n TimeUnit,\n} from '@acorex/core/date-time';\nimport { AXStringUtil } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ax-datetime-input',\n templateUrl: './datetime-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n ],\n host: { class: 'ax-editor-input' },\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeInputComponent),\n multi: true,\n },\n ],\n})\nexport class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {\n private calendarService: AXCalendarService = inject(AXCalendarService);\n\n private _editingParts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n typedValue: null,\n realValue: () =>\n this.editingDateObj.format(this._editingParts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () =>\n this.editingDateObj.format(this._editingParts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'DDDD', 'DDD'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () =>\n this.editingDateObj.format(this._editingParts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.editingDateObj.format(this._editingParts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.editingDateObj.format(this._editingParts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () =>\n this.editingDateObj.format(this._editingParts.second.placeholder),\n },\n };\n\n protected _editingText: string;\n protected _inputChars: string[] = [];\n\n private _type: string = this.calendarService.calendar.name();\n\n @Input()\n public get type(): string {\n return this._type || this.calendarService.calendar.name();\n }\n public set type(v: string) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n private _activePart = 'hour';\n public get activePart(): string {\n return this._activePart;\n }\n public set activePart(v: string) {\n this._activePart = v;\n this._clearInputBuffer();\n }\n\n private _editingDateObj: AXDateTime = this.calendarService.now(this.type);\n private get editingDateObj(): AXDateTime {\n return this._editingDateObj;\n }\n\n @ViewChild('input')\n input: ElementRef<HTMLInputElement>;\n\n @ViewChild('input2')\n input2: ElementRef<HTMLInputElement>;\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this._minValue = v;\n }\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this._maxValue = v;\n }\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n private _format = this.calendarService.calendar.formats.dateTimeInput;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n afterCallback: (o, n) => {\n Object.values(this._editingParts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = n.split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) =>\n c.placeholders.some((d) => d == f)\n );\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n },\n });\n }\n\n private _getOrderedParts(): AXDateTimePart[] {\n // TODO: better spliter format\n const formatParts = this.format.split(/[^a-zA-Z]+/);\n const result: AXDateTimePart[] = [];\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) =>\n c.placeholders.some((d) => d == f)\n );\n if (found && found.enabled) result.push(found);\n });\n return result;\n }\n\n private _clearInputBuffer() {\n this._inputChars = [];\n }\n\n private _updateText() {\n let text = this.format;\n //\n Object.values(this._editingParts).forEach((part) => {\n if (this.activePart == part.key) {\n if (part.typedValue)\n text = text.replace(part.placeholder, part.typedValue);\n } else {\n if (part.typedValue != part.placeholder && part.typedValue != null) {\n text = text.replace(part.placeholder, part.realValue());\n }\n }\n });\n this._editingText = text == this.format ? '' : text;\n if (this.activePart) {\n this._highlightActivePart();\n }\n }\n\n override internalSetValue(value?: Date) {\n if (value) {\n let editingDate = this.calendarService.create(value, this.type);\n let applyChanges = false;\n Object.values(this._editingParts).forEach((part) => {\n if (!part.enabled) {\n editingDate = editingDate.set(part.key as TimeUnit, part.default);\n applyChanges = true;\n }\n });\n if (applyChanges) {\n return editingDate.date;\n }\n }\n return value;\n }\n\n override internalValueChanged(value?: Date): void {\n if (value) {\n this._editingDateObj = this.calendarService.create(value, this.type);\n }\n Object.values(this._editingParts).forEach((part) => {\n if (value) {\n if (part.typedValue != part.placeholder)\n part.typedValue = part.realValue();\n } else part.typedValue = null;\n });\n this._updateText();\n }\n\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n const input = e.target as HTMLInputElement;\n //\n const orderedParts = this._getOrderedParts();\n const part = this.activePart\n ? this._editingParts[this.activePart]\n : orderedParts[0];\n const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;\n const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;\n //\n const goNext = () => {\n this._clearInputBuffer();\n if (nextPart) {\n this.activePart = nextPart.key;\n this._highlightActivePart();\n }\n };\n const goPrev = () => {\n this._clearInputBuffer();\n if (prevPart) {\n this.activePart = prevPart.key;\n this._highlightActivePart();\n }\n };\n /*************** Handle Left and Right **************/\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n ignore();\n e.code === 'ArrowRight' ? goNext() : goPrev();\n } else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {\n /*************** Handle Up and Down **************/\n if (this.disabled || this.readonly) {\n ignore();\n return;\n } else {\n ignore();\n const sign = e.code === 'ArrowUp' ? +1 : -1;\n this.activePart = part.key;\n let newVal: AXDateTime = this.editingDateObj.add(part.key, sign);\n this._editingParts[part.key].typedValue = newVal.format(\n this._editingParts[part.key].placeholder\n );\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n } else if (e.code == 'Backspace' || e.code == 'Delete') {\n /*************** Handle Backspace **************/\n if (this.disabled || this.readonly) {\n return;\n }\n if (input.value) {\n ignore();\n this._editingParts[part.key].typedValue =\n this._editingParts[part.key].placeholder;\n this._detectValueChanges();\n goPrev();\n }\n } else if (e.code == 'Tab' || e.code == 'Space') {\n /*************** Handle Backspace **************/\n if (input.value) {\n if (!e.shiftKey && nextPart) {\n ignore();\n goNext();\n } else if (e.shiftKey && prevPart) {\n ignore();\n goPrev();\n }\n }\n } else if (e.key?.trim() && !isNaN(Number(e.key))) {\n ignore();\n if (this.disabled || this.readonly) {\n return;\n }\n let next = false;\n const editing = this._editingParts[part.key];\n //\n switch (part.key) {\n case 'year': {\n if (editing.placeholder.length == 2 && this._inputChars.length == 0) {\n this._inputChars.push(\n ...this.calendarService\n .now(this.type)\n .format('yyyy')\n .substring(0, 2)\n .split('')\n );\n }\n if (this._inputChars.length < 4) {\n editing.typedValue = `${this._inputChars.join('')}${e.key}`;\n this._inputChars.push(e.key);\n if (this._inputChars.length > 3) {\n next = true;\n }\n } else {\n next = true;\n }\n editing.typedValue = ('0000' + editing.typedValue).slice(-4);\n const nv = parseInt(editing.typedValue);\n //if (nv > 0) {\n const newVal = this.editingDateObj.set('year', nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n //}\n break;\n }\n case 'month': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 1) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 12) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue =\n editing.typedValue?.length === 1\n ? '0' + editing.typedValue\n : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this.editingDateObj.set(part.key, nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n break;\n }\n case 'day': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 3) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > this._editingDateObj.month.totalDays) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue =\n editing.typedValue?.length === 1\n ? '0' + editing.typedValue\n : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this.editingDateObj.set(part.key, nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n break;\n }\n case 'hour': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 2) {\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 23) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n next = true;\n }\n editing.typedValue =\n editing.typedValue?.length === 1\n ? '0' + editing.typedValue\n : editing.typedValue;\n const newVal = this.editingDateObj.set(\n 'hour',\n parseInt(editing.typedValue)\n );\n this._editingDateObj = newVal;\n this._detectValueChanges();\n break;\n }\n case 'minute':\n case 'second':\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 5) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 59) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue =\n editing.typedValue?.length === 1\n ? '0' + editing.typedValue\n : editing.typedValue;\n const newVal = this.editingDateObj.set(\n part.key,\n parseInt(editing.typedValue)\n );\n this._editingDateObj = newVal;\n this._detectValueChanges();\n break;\n default:\n }\n if (next) {\n goNext();\n return;\n }\n }\n /*************** Emit Event **************/\n super.emitOnKeydownEvent(e);\n }\n\n @HostListener('keyup', ['$event'])\n _handleKeyUpEvent(e: KeyboardEvent) {\n if (this.activePart) {\n this._highlightActivePart();\n }\n }\n\n protected _handleFocusEvent(e: FocusEvent) {\n //this._highlightActivePart();\n super.emitOnFocusEvent(e);\n }\n\n protected _handleBlurEvent(e: FocusEvent) {\n super.emitOnBlurEvent(e);\n }\n\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n setTimeout(() => {\n this._detectPartAtPosition();\n }, 0);\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n private _detectPartAtPosition(): void {\n const input = this.input.nativeElement;\n if (!input.value) return;\n const sStart = input.selectionEnd || 0;\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const orderedParts = this._getOrderedParts();\n const index = valueParts.findIndex(\n (c: any) => c.index <= sStart && c.index + c[0].length >= sStart\n );\n this.activePart = orderedParts[index].key;\n this._highlightActivePart();\n }\n\n private _highlightActivePart(): void {\n const input = this.input?.nativeElement;\n if (!input || !input.value || !this.activePart) return;\n const orderedParts = this._getOrderedParts();\n const index = orderedParts.findIndex((c) => c.key == this.activePart);\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const { start, end } = AXStringUtil.getWordBoundsAtPosition(\n input.value,\n valueParts[index]?.index\n );\n input.setSelectionRange(start, end);\n }\n\n private _detectValueChanges() {\n this.commitValue(this._editingDateObj.date, true);\n }\n}\n","<input #input id=\"input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\"\n type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"true\" [ngModel]=\"_editingText\"\n (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_handleBlurEvent($event)\" (focus)=\"_handleFocusEvent($event)\">\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { AXDateTimeModule } from '@acorex/core/date-time';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeInputComponent } from './datetime-input.component';\n\nconst COMPONENT = [AXDateTimeInputComponent];\nconst MODULES = [CommonModule, FormsModule, AXDateTimeModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-datetime-input.mjs","sources":["../../../../libs/components/datetime-input/src/lib/datetime-input.component.ts","../../../../libs/components/datetime-input/src/lib/datetime-input.component.html","../../../../libs/components/datetime-input/src/lib/datetime-input.module.ts","../../../../libs/components/datetime-input/src/acorex-components-datetime-input.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n} from '@acorex/components/common';\nimport { AXCalendarService, AXDateTime, AXDateTimePart, AXDateTimeParts, TimeUnit } from '@acorex/core/date-time';\nimport { AXStringUtil } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n input,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ax-datetime-input',\n templateUrl: './datetime-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id'],\n host: { class: 'ax-editor-input' },\n outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'onClick', 'readonlyChange', 'disabledChange'],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimeInputComponent },\n { provide: AXClearableComponent, useExisting: AXDateTimeInputComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimeInputComponent),\n multi: true,\n },\n ],\n})\nexport class AXDateTimeInputComponent extends MXInputBaseValueComponent<Date> {\n private calendarService: AXCalendarService = inject(AXCalendarService);\n\n private _editingParts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'DDDD', 'DDD'],\n enabled: false,\n default: 1,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n typedValue: null,\n realValue: () => this.editingDateObj.format(this._editingParts.second.placeholder),\n },\n };\n\n protected _editingText: string;\n protected _inputChars: string[] = [];\n\n private _type: string = this.calendarService.calendar.name();\n\n allowTyping = input<boolean>(false);\n\n @Input()\n public get type(): string {\n return this._type || this.calendarService.calendar.name();\n }\n public set type(v: string) {\n this.setOption({\n name: 'type',\n value: v,\n afterCallback: () => {\n this.cdr.markForCheck();\n },\n });\n }\n\n private _activePart = 'hour';\n public get activePart(): string {\n return this._activePart;\n }\n public set activePart(v: string) {\n this._activePart = v;\n this._clearInputBuffer();\n }\n\n private _editingDateObj: AXDateTime = this.calendarService.now(this.type);\n private get editingDateObj(): AXDateTime {\n return this._editingDateObj;\n }\n\n @ViewChild('input')\n input: ElementRef<HTMLInputElement>;\n\n private _minValue: Date;\n @Input()\n public get minValue(): Date {\n return this._minValue;\n }\n public set minValue(v: Date) {\n this._minValue = v;\n }\n\n private _maxValue: Date;\n @Input()\n public get maxValue(): Date {\n return this._maxValue;\n }\n public set maxValue(v: Date) {\n this._maxValue = v;\n }\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n @Output()\n onClick: EventEmitter<AXClickEvent> = new EventEmitter<AXClickEvent>();\n\n private _format = this.calendarService.calendar.formats.dateTimeInput;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n afterCallback: (o, n) => {\n Object.values(this._editingParts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = n.split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n },\n });\n }\n\n private _getOrderedParts(): AXDateTimePart[] {\n // TODO: better spliter format\n const formatParts = this.format.split(/[^a-zA-Z]+/);\n const result: AXDateTimePart[] = [];\n formatParts.forEach((f) => {\n const found = Object.values(this._editingParts).find((c) => c.placeholders.some((d) => d == f));\n if (found && found.enabled) result.push(found);\n });\n return result;\n }\n\n private _clearInputBuffer() {\n this._inputChars = [];\n }\n\n private _updateText() {\n let text = this.format;\n //\n Object.values(this._editingParts).forEach((part) => {\n if (this.activePart == part.key) {\n if (part.typedValue) text = text.replace(part.placeholder, part.typedValue);\n } else {\n if (part.typedValue != part.placeholder && part.typedValue != null) {\n text = text.replace(part.placeholder, part.realValue());\n }\n }\n });\n this._editingText = text == this.format ? '' : text;\n if (this.activePart) {\n this._highlightActivePart();\n }\n }\n\n override internalSetValue(value?: Date) {\n if (value) {\n let editingDate = this.calendarService.create(value, this.type);\n let applyChanges = false;\n Object.values(this._editingParts).forEach((part) => {\n if (!part.enabled) {\n editingDate = editingDate.set(part.key as TimeUnit, part.default);\n applyChanges = true;\n }\n });\n if (applyChanges) {\n return editingDate.date;\n }\n }\n return value;\n }\n\n override internalValueChanged(value?: Date): void {\n if (value) {\n this._editingDateObj = this.calendarService.create(value, this.type);\n }\n Object.values(this._editingParts).forEach((part) => {\n if (value) {\n if (part.typedValue != part.placeholder) part.typedValue = part.realValue();\n } else part.typedValue = null;\n });\n this._updateText();\n }\n\n @HostListener('keydown', ['$event'])\n _handleOnKeydownEvent(e: KeyboardEvent) {\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n if (!this.allowTyping()) {\n ignore();\n return;\n }\n\n const input = e.target as HTMLInputElement;\n //\n const orderedParts = this._getOrderedParts();\n const part = this.activePart ? this._editingParts[this.activePart] : orderedParts[0];\n const nextPart = part ? orderedParts[orderedParts.indexOf(part) + 1] : null;\n const prevPart = part ? orderedParts[orderedParts.indexOf(part) - 1] : null;\n //\n const goNext = () => {\n this._clearInputBuffer();\n if (nextPart) {\n this.activePart = nextPart.key;\n this._highlightActivePart();\n }\n };\n const goPrev = () => {\n this._clearInputBuffer();\n if (prevPart) {\n this.activePart = prevPart.key;\n this._highlightActivePart();\n }\n };\n /*************** Handle Left and Right **************/\n if (e.code === 'ArrowRight' || e.code === 'ArrowLeft') {\n ignore();\n e.code === 'ArrowRight' ? goNext() : goPrev();\n } else if ((e.code === 'ArrowUp' || e.code === 'ArrowDown') && !e.ctrlKey) {\n /*************** Handle Up and Down **************/\n if (this.disabled || this.readonly) {\n ignore();\n return;\n } else {\n ignore();\n const sign = e.code === 'ArrowUp' ? +1 : -1;\n this.activePart = part.key;\n let newVal: AXDateTime = this.editingDateObj.add(part.key, sign);\n this._editingParts[part.key].typedValue = newVal.format(this._editingParts[part.key].placeholder);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n } else if (e.code == 'Backspace' || e.code == 'Delete') {\n /*************** Handle Backspace **************/\n if (this.disabled || this.readonly) {\n return;\n }\n if (input.value) {\n ignore();\n this._editingParts[part.key].typedValue = this._editingParts[part.key].placeholder;\n this._detectValueChanges();\n goPrev();\n }\n } else if (e.code == 'Tab' || e.code == 'Space') {\n /*************** Handle Backspace **************/\n if (input.value) {\n if (!e.shiftKey && nextPart) {\n ignore();\n goNext();\n } else if (e.shiftKey && prevPart) {\n ignore();\n goPrev();\n }\n }\n // TODO: FiX type in input\n } else if (e.key?.trim() && !isNaN(Number(e.key))) {\n ignore();\n return;\n if (this.disabled || this.readonly) {\n return;\n }\n let next = false;\n const editing = this._editingParts[part.key];\n //\n switch (part.key) {\n case 'year': {\n if (editing.placeholder.length == 2 && this._inputChars.length == 0) {\n this._inputChars.push(...this.calendarService.now(this.type).format('yyyy').substring(0, 2).split(''));\n }\n if (this._inputChars.length < 4) {\n editing.typedValue = `${this._inputChars.join('')}${e.key}`;\n this._inputChars.push(e.key);\n if (this._inputChars.length > 3) {\n next = true;\n }\n } else {\n next = true;\n }\n editing.typedValue = ('0000' + editing.typedValue).slice(-4);\n const nv = parseInt(editing.typedValue);\n //if (nv > 0) {\n const newVal = this.editingDateObj.set('year', nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n //}\n break;\n }\n case 'month': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 1) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 12) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this.editingDateObj.set(part.key, nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n break;\n }\n case 'day': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 3) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > this._editingDateObj.month.totalDays) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const nv = parseInt(editing.typedValue);\n if (nv > 0) {\n const newVal = this.editingDateObj.set(part.key, nv);\n this._editingDateObj = newVal;\n this._detectValueChanges();\n }\n break;\n }\n case 'hour': {\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 2) {\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 23) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const newVal = this.editingDateObj.set('hour', parseInt(editing.typedValue));\n this._editingDateObj = newVal;\n this._detectValueChanges();\n break;\n }\n case 'minute':\n case 'second':\n if (this._inputChars.length == 0) {\n this._inputChars.push(e.key);\n editing.typedValue = `0${e.key}`;\n if (parseInt(e.key) > 5) {\n this._clearInputBuffer();\n next = true;\n }\n } else if (this._inputChars.length == 1) {\n const newStr = parseInt(`${this._inputChars[0]}${e.key}`);\n if (newStr > 59) {\n editing.typedValue = `0${e.key}`;\n } else {\n editing.typedValue = newStr.toString();\n }\n this._clearInputBuffer();\n next = true;\n }\n editing.typedValue = editing.typedValue?.length === 1 ? '0' + editing.typedValue : editing.typedValue;\n const newVal = this.editingDateObj.set(part.key, parseInt(editing.typedValue));\n this._editingDateObj = newVal;\n this._detectValueChanges();\n break;\n default:\n }\n if (next) {\n goNext();\n return;\n }\n }\n /*************** Emit Event **************/\n super.emitOnKeydownEvent(e);\n }\n\n @HostListener('keyup', ['$event'])\n _handleKeyUpEvent(e: KeyboardEvent) {\n if (this.activePart) {\n this._highlightActivePart();\n }\n }\n\n protected _handleFocusEvent(e: FocusEvent) {\n //this._highlightActivePart();\n super.emitOnFocusEvent(e);\n }\n\n protected _handleBlurEvent(e: FocusEvent) {\n super.emitOnBlurEvent(e);\n }\n\n protected _handleOnInputClickEvent(e: MouseEvent): void {\n if (this.allowTyping()) {\n setTimeout(() => {\n this._detectPartAtPosition();\n }, 0);\n }\n this.onClick.emit({\n component: this,\n htmlElement: this.getHostElement(),\n nativeEvent: e,\n });\n }\n\n private _detectPartAtPosition(): void {\n const input = this.input.nativeElement;\n if (!input.value) return;\n const sStart = input.selectionEnd || 0;\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const orderedParts = this._getOrderedParts();\n const index = valueParts.findIndex((c: any) => c.index <= sStart && c.index + c[0].length >= sStart);\n this.activePart = orderedParts[index].key;\n this._highlightActivePart();\n }\n\n private _highlightActivePart(): void {\n const input = this.input?.nativeElement;\n if (!input || !input.value || !this.activePart) return;\n const orderedParts = this._getOrderedParts();\n const index = orderedParts.findIndex((c) => c.key == this.activePart);\n const re = /[a-zA-Z0-9]+/gi;\n const valueParts = Array.from(input.value.matchAll(re));\n const { start, end } = AXStringUtil.getWordBoundsAtPosition(input.value, valueParts[index]?.index);\n input.setSelectionRange(start, end);\n }\n\n private _detectValueChanges() {\n this.commitValue(this._editingDateObj.date, true);\n }\n}\n","<input #input id=\"input\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"off\" spellcheck=\"false\" class=\"ax-input\"\n type=\"text\" [attr.placeholder]=\"placeholder\" [class.ax-state-disabled]=\"disabled\"\n [class.ax-select-none]=\"!allowTyping()\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"true\"\n [ngModel]=\"_editingText\" (mouseup)=\"_handleOnInputClickEvent($event)\" (blur)=\"_handleBlurEvent($event)\"\n (focus)=\"_handleFocusEvent($event)\">\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { AXDateTimeModule } from '@acorex/core/date-time';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimeInputComponent } from './datetime-input.component';\n\nconst COMPONENT = [AXDateTimeInputComponent];\nconst MODULES = [CommonModule, FormsModule, AXDateTimeModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimeInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}