@acorex/components 7.0.32 → 7.0.34
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/alert/src/alert.component.d.ts +2 -2
- package/badge/src/badge.component.d.ts +2 -2
- package/breadcrumbs/src/breadcrumbs-item.component.d.ts +10 -7
- package/button/src/button-group.component.d.ts +6 -6
- package/button/src/button-item.component.d.ts +6 -6
- package/chips/src/chips.component.d.ts +6 -6
- package/color-palette/src/color-palette-input.component.d.ts +5 -0
- package/color-palette/src/color-palette-picker.component.d.ts +13 -4
- package/color-palette/src/color-palette-swatches.component.d.ts +1 -0
- package/color-palette/src/color-palette.class.d.ts +5 -6
- package/color-palette/src/color-palette.component.d.ts +3 -11
- package/color-palette/src/color-palette.module.d.ts +2 -1
- package/color-picker/src/color-picker.component.d.ts +22 -20
- package/common/public-api.d.ts +1 -0
- package/common/src/constant/positions.d.ts +75 -0
- package/date-picker/src/datepicker.component.d.ts +17 -16
- package/esm2020/breadcrumbs/src/breadcrumbs-item.component.mjs +6 -4
- package/esm2020/breadcrumbs/src/breadcrumbs.component.mjs +2 -2
- package/esm2020/button/src/button.component.mjs +2 -2
- package/esm2020/color-palette/src/color-palette-input.component.mjs +41 -18
- package/esm2020/color-palette/src/color-palette-picker.component.mjs +72 -11
- package/esm2020/color-palette/src/color-palette-preview.component.mjs +2 -4
- package/esm2020/color-palette/src/color-palette-swatches.component.mjs +6 -4
- package/esm2020/color-palette/src/color-palette.class.mjs +1 -1
- package/esm2020/color-palette/src/color-palette.component.mjs +11 -27
- package/esm2020/color-palette/src/color-palette.module.mjs +6 -3
- package/esm2020/color-picker/src/color-picker.component.mjs +9 -19
- package/esm2020/common/public-api.mjs +2 -1
- package/esm2020/common/src/constant/positions.mjs +75 -0
- package/esm2020/data-pager/src/data-pager-input-selector.component.mjs +1 -1
- package/esm2020/mixin/src/base-components.class.mjs +1 -1
- package/esm2020/mixin/src/selection-component.class.mjs +3 -2
- package/esm2020/mixin/src/value-mixin.class.mjs +9 -11
- package/esm2020/number-box/src/number-box.component.mjs +4 -2
- package/esm2020/popover/src/popover.component.mjs +10 -18
- package/esm2020/radio/src/radio.component.mjs +1 -1
- package/esm2020/search-box/src/search-box.component.mjs +1 -1
- package/esm2020/selection-list/src/selection-list.component.mjs +2 -2
- package/esm2020/tabs/src/tabs.component.mjs +2 -2
- package/esm2020/textbox/src/mask-options.directive.mjs +2 -7
- package/esm2020/textbox/src/textbox.component.mjs +20 -16
- package/esm2020/time-box/src/time-box.component.mjs +4 -1
- package/esm2020/tooltip/src/tooltip.component.mjs +5 -23
- package/esm2020/tooltip/src/tooltip.directive.mjs +113 -42
- package/esm2020/tooltip/src/tooltip.module.mjs +1 -2
- package/fesm2015/acorex-components-breadcrumbs.mjs +6 -4
- package/fesm2015/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2015/acorex-components-button.mjs +2 -2
- package/fesm2015/acorex-components-button.mjs.map +1 -1
- package/fesm2015/acorex-components-color-palette.mjs +131 -59
- package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2015/acorex-components-color-picker.mjs +8 -18
- package/fesm2015/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2015/acorex-components-common.mjs +76 -1
- package/fesm2015/acorex-components-common.mjs.map +1 -1
- package/fesm2015/acorex-components-data-pager.mjs +1 -1
- package/fesm2015/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2015/acorex-components-mixin.mjs +11 -13
- package/fesm2015/acorex-components-mixin.mjs.map +1 -1
- package/fesm2015/acorex-components-number-box.mjs +3 -1
- package/fesm2015/acorex-components-number-box.mjs.map +1 -1
- package/fesm2015/acorex-components-popover.mjs +10 -17
- package/fesm2015/acorex-components-popover.mjs.map +1 -1
- package/fesm2015/acorex-components-radio.mjs.map +1 -1
- package/fesm2015/acorex-components-search-box.mjs +1 -1
- package/fesm2015/acorex-components-search-box.mjs.map +1 -1
- package/fesm2015/acorex-components-selection-list.mjs +2 -2
- package/fesm2015/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2015/acorex-components-tabs.mjs +2 -2
- package/fesm2015/acorex-components-tabs.mjs.map +1 -1
- package/fesm2015/acorex-components-textbox.mjs +22 -22
- package/fesm2015/acorex-components-textbox.mjs.map +1 -1
- package/fesm2015/acorex-components-time-box.mjs +3 -0
- package/fesm2015/acorex-components-time-box.mjs.map +1 -1
- package/fesm2015/acorex-components-tooltip.mjs +80 -64
- package/fesm2015/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2020/acorex-components-breadcrumbs.mjs +6 -4
- package/fesm2020/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2020/acorex-components-button.mjs +2 -2
- package/fesm2020/acorex-components-button.mjs.map +1 -1
- package/fesm2020/acorex-components-color-palette.mjs +130 -59
- package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2020/acorex-components-color-picker.mjs +8 -18
- package/fesm2020/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2020/acorex-components-common.mjs +76 -1
- package/fesm2020/acorex-components-common.mjs.map +1 -1
- package/fesm2020/acorex-components-data-pager.mjs +1 -1
- package/fesm2020/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2020/acorex-components-mixin.mjs +11 -13
- package/fesm2020/acorex-components-mixin.mjs.map +1 -1
- package/fesm2020/acorex-components-number-box.mjs +3 -1
- package/fesm2020/acorex-components-number-box.mjs.map +1 -1
- package/fesm2020/acorex-components-popover.mjs +9 -17
- package/fesm2020/acorex-components-popover.mjs.map +1 -1
- package/fesm2020/acorex-components-radio.mjs.map +1 -1
- package/fesm2020/acorex-components-search-box.mjs +1 -1
- package/fesm2020/acorex-components-search-box.mjs.map +1 -1
- package/fesm2020/acorex-components-selection-list.mjs +2 -2
- package/fesm2020/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2020/acorex-components-tabs.mjs +2 -2
- package/fesm2020/acorex-components-tabs.mjs.map +1 -1
- package/fesm2020/acorex-components-textbox.mjs +20 -21
- package/fesm2020/acorex-components-textbox.mjs.map +1 -1
- package/fesm2020/acorex-components-time-box.mjs +3 -0
- package/fesm2020/acorex-components-time-box.mjs.map +1 -1
- package/fesm2020/acorex-components-tooltip.mjs +116 -64
- package/fesm2020/acorex-components-tooltip.mjs.map +1 -1
- package/mixin/src/base-components.class.d.ts +3 -2
- package/mixin/src/base-menu-mixin.class.d.ts +5 -5
- package/mixin/src/button-mixin.class.d.ts +2 -2
- package/mixin/src/clickable-mixin.class.d.ts +3 -5
- package/mixin/src/color-look-mixing.class.d.ts +2 -2
- package/mixin/src/datalist-component.class.d.ts +10 -10
- package/mixin/src/dropdown-mixin.class.d.ts +2 -2
- package/mixin/src/interactive-mixin.class.d.ts +8 -5
- package/mixin/src/loading-mixin.class.d.ts +2 -2
- package/mixin/src/mixin.class.d.ts +64 -63
- package/mixin/src/page-component.class.d.ts +2 -2
- package/mixin/src/selection-component.class.d.ts +3 -5
- package/mixin/src/sizable-mixin.class.d.ts +2 -2
- package/mixin/src/textbox-mixin.class.d.ts +7 -5
- package/mixin/src/value-mixin.class.d.ts +12 -13
- package/number-box/src/number-box.component.d.ts +1 -1
- package/package.json +1 -1
- package/tabs/src/tab-item.component.d.ts +2 -2
- package/textbox/src/mask-options.directive.d.ts +7 -7
- package/textbox/src/textbox.component.d.ts +3 -3
- package/tooltip/src/tooltip.component.d.ts +2 -1
- package/tooltip/src/tooltip.directive.d.ts +9 -5
@@ -10,12 +10,9 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
10
10
|
import { CommonModule } from '@angular/common';
|
11
11
|
|
12
12
|
class AXMaskOptionsDirective {
|
13
|
-
constructor() {
|
14
|
-
this.unmask = false;
|
15
|
-
}
|
16
13
|
}
|
17
14
|
AXMaskOptionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMaskOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
18
|
-
AXMaskOptionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: AXMaskOptionsDirective, selector: "ax-mask-options", inputs: { mask: "mask",
|
15
|
+
AXMaskOptionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: AXMaskOptionsDirective, selector: "ax-mask-options", inputs: { mask: "mask", updateValue: "updateValue" }, ngImport: i0 });
|
19
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXMaskOptionsDirective, decorators: [{
|
20
17
|
type: Directive,
|
21
18
|
args: [{
|
@@ -23,8 +20,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
23
20
|
}]
|
24
21
|
}], propDecorators: { mask: [{
|
25
22
|
type: Input
|
26
|
-
}], unmask: [{
|
27
|
-
type: Input
|
28
23
|
}], updateValue: [{
|
29
24
|
type: Input
|
30
25
|
}] } });
|
@@ -41,24 +36,28 @@ class AXTextBoxComponent extends AXBaseTextBoxMixin {
|
|
41
36
|
constructor(elementRef, cdr) {
|
42
37
|
super(elementRef, cdr);
|
43
38
|
this._updateOn = 'change';
|
44
|
-
this._maskOptions = {
|
39
|
+
this._maskOptions = { mask: null };
|
45
40
|
}
|
46
41
|
get maskOptions() {
|
47
42
|
return this._maskOptions;
|
48
43
|
}
|
49
|
-
set maskOptions(
|
50
|
-
this._maskOptions =
|
44
|
+
set maskOptions(value) {
|
45
|
+
this._maskOptions = value;
|
51
46
|
}
|
52
|
-
|
53
|
-
|
54
|
-
|
47
|
+
ngAfterContentInit() {
|
48
|
+
var _a, _b;
|
49
|
+
if ((_a = this._maskOptionsContent) === null || _a === void 0 ? void 0 : _a.mask) {
|
50
|
+
if (typeof this._maskOptionsContent.mask == 'string' || this._maskOptionsContent.mask instanceof RegExp) {
|
51
|
+
Object.assign(this.maskOptions, { mask: this._maskOptionsContent.mask, unmask: false });
|
52
|
+
}
|
53
|
+
if (typeof this._maskOptionsContent.mask == 'object') {
|
54
|
+
Object.assign(this.maskOptions, this._maskOptionsContent.mask);
|
55
|
+
}
|
55
56
|
}
|
56
57
|
//
|
57
|
-
if (this.maskOptions.mask) {
|
58
|
-
this._maskObj = IMask(this.input.nativeElement,
|
59
|
-
|
60
|
-
});
|
61
|
-
this._updateOn = 'submit';
|
58
|
+
if ((_b = this.maskOptions) === null || _b === void 0 ? void 0 : _b.mask) {
|
59
|
+
this._maskObj = IMask(this.input.nativeElement, this.maskOptions);
|
60
|
+
this._updateOn = "submit";
|
62
61
|
this._maskObj.on("accept", this._onComplete.bind(this));
|
63
62
|
this._maskObj.on("complete", this._onComplete.bind(this));
|
64
63
|
if (this.value) {
|
@@ -71,15 +70,15 @@ class AXTextBoxComponent extends AXBaseTextBoxMixin {
|
|
71
70
|
this.input.nativeElement.focus();
|
72
71
|
}
|
73
72
|
_onComplete(e) {
|
74
|
-
var _a;
|
73
|
+
var _a, _b;
|
75
74
|
this.value = this._maskObj.value;
|
76
|
-
if (typeof this.
|
77
|
-
(
|
75
|
+
if (typeof ((_a = this._maskOptionsContent) === null || _a === void 0 ? void 0 : _a.updateValue) === 'function') {
|
76
|
+
(_b = this._maskOptionsContent) === null || _b === void 0 ? void 0 : _b.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);
|
78
77
|
}
|
79
78
|
}
|
80
79
|
}
|
81
80
|
AXTextBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTextBoxComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
82
|
-
AXTextBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", name: "name", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", type: "type", autoComplete: "autoComplete", maskOptions: ["mask-options", "maskOptions"] }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { classAttribute: "ax-editor-container" }, providers: [
|
81
|
+
AXTextBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { disabled: "disabled", tabIndex: "tabIndex", readonly: "readonly", value: "value", state: "state", name: "name", placeholder: "placeholder", maxLength: "maxLength", allowNull: "allowNull", type: "type", autoComplete: "autoComplete", maskOptions: ["mask-options", "maskOptions"] }, outputs: { onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged" }, host: { classAttribute: "ax-editor-container" }, providers: [
|
83
82
|
{ provide: AXComponent, useExisting: AXTextBoxComponent },
|
84
83
|
{ provide: AXFocusableComponent, useExisting: AXTextBoxComponent },
|
85
84
|
], queries: [{ propertyName: "_maskOptionsContent", first: true, predicate: AXMaskOptionsDirective, descendants: true, static: true }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" \r\n [attr.name]=\"name\" \r\n [attr.autocomplete]=\"autoComplete\"\r\n [attr.type]=\"type\"\r\n [attr.placeholder]=\"placeholder\" \r\n [attr.maxlength]=\"maxLength\" \r\n [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" \r\n [disabled]=\"disabled\" \r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\"\r\n [ngModel]=\"value\" \r\n (ngModelChange)=\"value = $event\"\r\n [ngModelOptions]=\"{ updateOn:_updateOn }\" \r\n (keydown)=\"_emitOnKeydownEvent($event)\"\r\n (keyup)=\"_emitOnKeyupEvent($event)\" \r\n (keypress)=\"_emitOnKeypressEvent($event)\" \r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\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.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { 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 });
|
@@ -90,13 +89,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
90
89
|
'tabIndex',
|
91
90
|
'readonly',
|
92
91
|
'value',
|
92
|
+
'state',
|
93
93
|
'name',
|
94
94
|
'placeholder',
|
95
95
|
'maxLength',
|
96
96
|
'allowNull',
|
97
97
|
'type',
|
98
98
|
'autoComplete'
|
99
|
-
], outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'], host: { class: 'ax-editor-container' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
99
|
+
], outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged'], host: { class: 'ax-editor-container' }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
100
100
|
{ provide: AXComponent, useExisting: AXTextBoxComponent },
|
101
101
|
{ provide: AXFocusableComponent, useExisting: AXTextBoxComponent },
|
102
102
|
], template: "<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" \r\n [attr.name]=\"name\" \r\n [attr.autocomplete]=\"autoComplete\"\r\n [attr.type]=\"type\"\r\n [attr.placeholder]=\"placeholder\" \r\n [attr.maxlength]=\"maxLength\" \r\n [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" \r\n [disabled]=\"disabled\" \r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\"\r\n [ngModel]=\"value\" \r\n (ngModelChange)=\"value = $event\"\r\n [ngModelOptions]=\"{ updateOn:_updateOn }\" \r\n (keydown)=\"_emitOnKeydownEvent($event)\"\r\n (keyup)=\"_emitOnKeyupEvent($event)\" \r\n (keypress)=\"_emitOnKeypressEvent($event)\" \r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>" }]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-textbox.mjs","sources":["../../../../projects/acorex/components/textbox/src/mask-options.directive.ts","../../../../projects/acorex/components/textbox/src/textbox.component.ts","../../../../projects/acorex/components/textbox/src/textbox.component.html","../../../../projects/acorex/components/textbox/src/textbox.module.ts","../../../../projects/acorex/components/textbox/acorex-components-textbox.ts"],"sourcesContent":["import { AXComponent } from '@acorex/components/common';\r\nimport { Directive, Inject, Input, OnDestroy, OnInit } from '@angular/core';\r\n\r\n\r\nexport interface AXMaskOptions {\r\n mask?: string | RegExp;\r\n unmask?: boolean;\r\n updateValue?: (masked: string, unmasked: string) => void;\r\n}\r\n\r\n\r\n@Directive({\r\n selector: 'ax-mask-options'\r\n})\r\nexport class AXMaskOptionsDirective implements AXMaskOptions {\r\n\r\n @Input()\r\n mask: string | RegExp;\r\n\r\n @Input()\r\n unmask: boolean = false;\r\n\r\n @Input()\r\n updateValue?: (masked: string, unmasked: string) => void;\r\n\r\n // constructor(\r\n // @Inject(AXComponent)\r\n // private _parent: AXComponent\r\n // ) {\r\n // }\r\n\r\n // ngOnInit() {\r\n // this._parent['maskOptions'] = Object.assign(this._parent['maskOptions'], { mask: this.mask, unmask: this.unmask, updateValue: this.updateValue.bind(this._parent) });\r\n // }\r\n\r\n // ngOnDestroy(): void {\r\n // this._parent['maskOptions'] = {}\r\n // }\r\n}","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n ContentChild,\r\n Input\r\n} from '@angular/core';\r\nimport { AXComponent, AXFocusableComponent } from '@acorex/components/common';\r\nimport { AXBaseTextBoxMixin } from '@acorex/components/mixin';\r\nimport { AXMaskOptions, AXMaskOptionsDirective } from './mask-options.directive';\r\nimport IMask, { AnyMaskedOptions } from 'imask';\r\n\r\n/**\r\n * The Textbox is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-text-box',\r\n templateUrl: 'textbox.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'tabIndex',\r\n 'readonly',\r\n 'value',\r\n 'name',\r\n 'placeholder',\r\n 'maxLength',\r\n 'allowNull',\r\n 'type',\r\n 'autoComplete'\r\n ],\r\n outputs: ['onBlur', 'onFocus', 'valueChange', 'onValueChanged'],\r\n host: { class: 'ax-editor-container' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n { provide: AXComponent, useExisting: AXTextBoxComponent },\r\n { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },\r\n ],\r\n})\r\nexport class AXTextBoxComponent extends AXBaseTextBoxMixin {\r\n\r\n protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\r\n\r\n @ViewChild('input', { static: true })\r\n private input: ElementRef<HTMLInputElement>;\r\n\r\n\r\n private _maskObj: IMask.InputMask<AnyMaskedOptions>\r\n\r\n\r\n private _maskOptions: AXMaskOptions = { unmask: false };\r\n @Input(\"mask-options\")\r\n public get maskOptions(): AXMaskOptions {\r\n return this._maskOptions;\r\n }\r\n\r\n public set maskOptions(v: AXMaskOptions) {\r\n this._maskOptions = v;\r\n }\r\n\r\n @ContentChild(AXMaskOptionsDirective, { static: true })\r\n protected _maskOptionsContent: AXMaskOptionsDirective;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onInit() {\r\n if (this._maskOptionsContent) {\r\n Object.assign(this.maskOptions, this, this._maskOptionsContent);\r\n }\r\n //\r\n if (this.maskOptions.mask) {\r\n this._maskObj = IMask(this.input.nativeElement, {\r\n mask: this.maskOptions.mask as string,\r\n });\r\n this._updateOn = 'submit';\r\n this._maskObj.on(\"accept\", this._onComplete.bind(this));\r\n this._maskObj.on(\"complete\", this._onComplete.bind(this));\r\n if (this.value) {\r\n this._maskObj.value = `${this.value}`;\r\n this._maskObj.updateValue();\r\n }\r\n }\r\n }\r\n\r\n\r\n focus(): void {\r\n this.input.nativeElement.focus();\r\n }\r\n\r\n private _onComplete(e) {\r\n this.value = this._maskObj.value;\r\n if (typeof this.maskOptions.updateValue === 'function') {\r\n this.maskOptions?.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);\r\n }\r\n }\r\n}","<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" \r\n [attr.name]=\"name\" \r\n [attr.autocomplete]=\"autoComplete\"\r\n [attr.type]=\"type\"\r\n [attr.placeholder]=\"placeholder\" \r\n [attr.maxlength]=\"maxLength\" \r\n [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" \r\n [disabled]=\"disabled\" \r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\"\r\n [ngModel]=\"value\" \r\n (ngModelChange)=\"value = $event\"\r\n [ngModelOptions]=\"{ updateOn:_updateOn }\" \r\n (keydown)=\"_emitOnKeydownEvent($event)\"\r\n (keyup)=\"_emitOnKeyupEvent($event)\" \r\n (keypress)=\"_emitOnKeypressEvent($event)\" \r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>","import { AXButtonModule } from '@acorex/components/button';\r\nimport { AXCommonModule } from '@acorex/components/common';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXMaskOptionsDirective } from './mask-options.directive';\r\nimport { AXTextBoxComponent } from './textbox.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AXCommonModule,\r\n FormsModule,\r\n AXButtonModule,\r\n AXDecoratorModule\r\n ],\r\n exports: [AXTextBoxComponent, AXMaskOptionsDirective],\r\n declarations: [AXTextBoxComponent, AXMaskOptionsDirective],\r\n providers: [],\r\n})\r\nexport class AXTextBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-textbox.mjs","sources":["../../../../projects/acorex/components/textbox/src/mask-options.directive.ts","../../../../projects/acorex/components/textbox/src/textbox.component.ts","../../../../projects/acorex/components/textbox/src/textbox.component.html","../../../../projects/acorex/components/textbox/src/textbox.module.ts","../../../../projects/acorex/components/textbox/acorex-components-textbox.ts"],"sourcesContent":["import { Directive, Input } from '@angular/core';\r\nimport { AnyMaskedOptions } from 'imask';\r\n\r\n\r\nexport type AXMaskOptions = AnyMaskedOptions;\r\n\r\nexport interface AXMaskOptionsInterface {\r\n mask: AnyMaskedOptions | string | RegExp;\r\n updateValue?: (masked: string, unmasked: string) => void;\r\n}\r\n\r\n@Directive({\r\n selector: 'ax-mask-options'\r\n})\r\nexport class AXMaskOptionsDirective implements AXMaskOptionsInterface {\r\n\r\n @Input()\r\n mask: AnyMaskedOptions | string | RegExp;\r\n\r\n @Input()\r\n updateValue?: (masked: string, unmasked: string) => void;\r\n}","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n ViewChild,\r\n ViewEncapsulation,\r\n ContentChild,\r\n Input\r\n} from '@angular/core';\r\nimport { AXComponent, AXFocusableComponent } from '@acorex/components/common';\r\nimport { AXBaseTextBoxMixin } from '@acorex/components/mixin';\r\nimport { AXMaskOptions, AXMaskOptionsDirective, AXMaskOptionsInterface } from './mask-options.directive';\r\nimport IMask, { AnyMaskedOptions } from 'imask';\r\n\r\n/**\r\n * The Textbox is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-text-box',\r\n templateUrl: 'textbox.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'tabIndex',\r\n 'readonly',\r\n 'value',\r\n 'state',\r\n 'name',\r\n 'placeholder',\r\n 'maxLength',\r\n 'allowNull',\r\n 'type',\r\n 'autoComplete'\r\n ],\r\n outputs: ['onBlur', 'onFocus', 'valueChange', 'stateChange', 'onValueChanged'],\r\n host: { class: 'ax-editor-container' },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n { provide: AXComponent, useExisting: AXTextBoxComponent },\r\n { provide: AXFocusableComponent, useExisting: AXTextBoxComponent },\r\n ],\r\n})\r\nexport class AXTextBoxComponent extends AXBaseTextBoxMixin {\r\n\r\n protected _updateOn: 'change' | 'blur' | 'submit' = 'change';\r\n\r\n @ViewChild('input', { static: true })\r\n private input: ElementRef<HTMLInputElement>;\r\n\r\n\r\n private _maskObj: IMask.InputMask<AnyMaskedOptions>\r\n\r\n\r\n private _maskOptions: AXMaskOptions = { mask: null };\r\n @Input(\"mask-options\")\r\n public get maskOptions(): AXMaskOptions {\r\n return this._maskOptions;\r\n }\r\n\r\n public set maskOptions(value: AXMaskOptions) {\r\n this._maskOptions = value;\r\n }\r\n\r\n @ContentChild(AXMaskOptionsDirective, { static: true })\r\n protected _maskOptionsContent: AXMaskOptionsDirective;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (this._maskOptionsContent?.mask) {\r\n if (typeof this._maskOptionsContent.mask == 'string' || this._maskOptionsContent.mask instanceof RegExp) {\r\n Object.assign(this.maskOptions, { mask: this._maskOptionsContent.mask , unmask: false });\r\n }\r\n if (typeof this._maskOptionsContent.mask == 'object') {\r\n Object.assign(this.maskOptions, this._maskOptionsContent.mask );\r\n }\r\n }\r\n //\r\n if (this.maskOptions?.mask) {\r\n this._maskObj = IMask(this.input.nativeElement, this.maskOptions);\r\n this._updateOn = \"submit\";\r\n this._maskObj.on(\"accept\", this._onComplete.bind(this));\r\n this._maskObj.on(\"complete\", this._onComplete.bind(this));\r\n if (this.value) {\r\n this._maskObj.value = `${this.value}`;\r\n this._maskObj.updateValue();\r\n }\r\n }\r\n }\r\n\r\n focus(): void {\r\n this.input.nativeElement.focus();\r\n }\r\n\r\n private _onComplete(e) {\r\n this.value = this._maskObj.value;\r\n if (typeof this._maskOptionsContent?.updateValue === 'function') {\r\n this._maskOptionsContent?.updateValue(this._maskObj.value, this._maskObj.unmaskedValue);\r\n }\r\n }\r\n}","<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" \r\n [attr.name]=\"name\" \r\n [attr.autocomplete]=\"autoComplete\"\r\n [attr.type]=\"type\"\r\n [attr.placeholder]=\"placeholder\" \r\n [attr.maxlength]=\"maxLength\" \r\n [class.ax-state-disabled]=\"disabled\"\r\n [class.ax-state-readonly]=\"readonly\" \r\n [disabled]=\"disabled\" \r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\"\r\n [ngModel]=\"value\" \r\n (ngModelChange)=\"value = $event\"\r\n [ngModelOptions]=\"{ updateOn:_updateOn }\" \r\n (keydown)=\"_emitOnKeydownEvent($event)\"\r\n (keyup)=\"_emitOnKeyupEvent($event)\" \r\n (keypress)=\"_emitOnKeypressEvent($event)\" \r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\">\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>","import { AXButtonModule } from '@acorex/components/button';\r\nimport { AXCommonModule } from '@acorex/components/common';\r\nimport { AXDecoratorModule } from '@acorex/components/decorators';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { AXMaskOptionsDirective } from './mask-options.directive';\r\nimport { AXTextBoxComponent } from './textbox.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AXCommonModule,\r\n FormsModule,\r\n AXButtonModule,\r\n AXDecoratorModule\r\n ],\r\n exports: [AXTextBoxComponent, AXMaskOptionsDirective],\r\n declarations: [AXTextBoxComponent, AXMaskOptionsDirective],\r\n providers: [],\r\n})\r\nexport class AXTextBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
@@ -84,6 +84,8 @@ class AXTimeBoxComponent extends AXBaseTextBoxMixin {
|
|
84
84
|
this._maskObj = IMask.createMask({
|
85
85
|
mask: this.format,
|
86
86
|
lazy: false,
|
87
|
+
autofix: true,
|
88
|
+
overwrite: true,
|
87
89
|
blocks: {
|
88
90
|
HH: {
|
89
91
|
mask: IMask.MaskedRange,
|
@@ -121,6 +123,7 @@ class AXTimeBoxComponent extends AXBaseTextBoxMixin {
|
|
121
123
|
(_d = (_c = this._maskDirective) === null || _c === void 0 ? void 0 : _c.maskRef) === null || _d === void 0 ? void 0 : _d.updateControl();
|
122
124
|
}
|
123
125
|
_handleOnKeydownEvent(e) {
|
126
|
+
debugger;
|
124
127
|
const ignore = () => {
|
125
128
|
e.preventDefault();
|
126
129
|
e.stopPropagation();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-time-box.mjs","sources":["../../../../projects/acorex/components/time-box/src/time-box.component.ts","../../../../projects/acorex/components/time-box/src/time-box.component.html","../../../../projects/acorex/components/time-box/src/time-box.module.ts","../../../../projects/acorex/components/time-box/acorex-components-time-box.ts"],"sourcesContent":["import { AXStringUtil } from '@acorex/core/utils';\r\nimport { AXDateTime } from '@acorex/core/dateTime';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n EventEmitter,\r\n Output,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport IMask from 'imask';\r\nimport { IMaskDirective } from 'angular-imask';\r\nimport { AXBaseTextBoxMixin, AXComponentOptionChanged } from '@acorex/components/mixin';\r\n\r\n\r\nexport type AX_TIME_FORMAT = 'HH:mm' | 'HH:mm:ss';\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-time-box',\r\n templateUrl: './time-box.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'size',\r\n 'value',\r\n 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly', 'allowNull', 'value', 'name', 'checked',\r\n ],\r\n outputs: [\r\n 'valueChange',\r\n 'onValueChanged',\r\n 'onBlur',\r\n 'onFocus',\r\n 'valueChange', 'onValueChanged',\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-editor-container ax-drop-down' },\r\n})\r\nexport class AXTimeBoxComponent extends AXBaseTextBoxMixin {\r\n\r\n @ViewChild('input') \r\n input: ElementRef<HTMLInputElement>;\r\n\r\n private _minValue: Date;\r\n @Input()\r\n public get minValue(): Date {\r\n return this._minValue;\r\n }\r\n public set minValue(v: Date) {\r\n this._minValue = v;\r\n }\r\n\r\n private _maxValue: Date;\r\n @Input()\r\n public get maxValue(): Date {\r\n return this._maxValue;\r\n }\r\n public set maxValue(v: Date) {\r\n this._maxValue = v;\r\n }\r\n\r\n @Output()\r\n formatChange = new EventEmitter<string>();\r\n\r\n private _format: AX_TIME_FORMAT = 'HH:mm';\r\n @Input()\r\n public get format(): AX_TIME_FORMAT {\r\n return this._format;\r\n }\r\n public set format(v: AX_TIME_FORMAT) {\r\n this._setOption({\r\n name: 'format',\r\n value: v,\r\n });\r\n }\r\n\r\n @Output()\r\n public displayTextChange: EventEmitter<string> = new EventEmitter<string>();\r\n private _displayText: string = '';\r\n\r\n @Input()\r\n public get displayText(): string {\r\n return this._displayText;\r\n }\r\n\r\n public set displayText(v: string) {\r\n this._displayText = v;\r\n this.displayTextChange.emit(v);\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n protected _maskObj: IMask.MaskedPattern;\r\n\r\n @ViewChild(IMaskDirective)\r\n private _maskDirective: IMaskDirective<IMask.MaskedNumber>;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(elementRef: ElementRef, private cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onViewInit(): void {\r\n super.onViewInit();\r\n this._updateMask();\r\n }\r\n\r\n _onValueChanged(oldValue?: any, newValue?: any) {\r\n this._updateText();\r\n this._maskDirective?.maskRef?.updateValue();\r\n this._maskDirective?.maskRef?.updateControl();\r\n }\r\n\r\n _updateText() {\r\n this.displayText = this.value\r\n ? AXDateTime.convert(this.value).format(this.format)\r\n : '';\r\n }\r\n\r\n _onOptionChanged(option: AXComponentOptionChanged): void {\r\n super._onOptionChanged(option);\r\n this._updateMask();\r\n }\r\n\r\n focus(): void {\r\n this.input.nativeElement.focus()\r\n }\r\n\r\n\r\n private _updateMask() {\r\n if (!this._maskObj) {\r\n this._maskObj = IMask.createMask({\r\n mask: this.format,\r\n lazy: false,\r\n blocks: {\r\n HH: {\r\n mask: IMask.MaskedRange,\r\n from: 0,\r\n to: 23,\r\n maxLength: 2,\r\n placeholderChar: '0',\r\n autofix: 'pad',\r\n },\r\n mm: {\r\n mask: IMask.MaskedRange,\r\n from: 0,\r\n to: 59,\r\n maxLength: 2,\r\n placeholderChar: '0',\r\n autofix: 'pad',\r\n },\r\n ss: {\r\n mask: IMask.MaskedRange,\r\n from: 0,\r\n to: 59,\r\n maxLength: 2,\r\n placeholderChar: '0',\r\n autofix: 'pad',\r\n },\r\n },\r\n });\r\n } else {\r\n this._maskObj.updateOptions({\r\n mask: this.format,\r\n });\r\n }\r\n this._maskDirective?.maskRef?.updateValue();\r\n this._maskDirective?.maskRef?.updateControl();\r\n }\r\n\r\n _handleOnKeydownEvent(e: KeyboardEvent) {\r\n const ignore = () => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n\r\n const nums: string[] = Array(10)\r\n .fill(0)\r\n .map((v, i) => i.toString());\r\n const chars: string[] = [\r\n 'Backspace',\r\n 'ArrowDown',\r\n 'ArrowUp',\r\n 'ArrowRight',\r\n 'ArrowLeft',\r\n 'Tab',\r\n 'Enter',\r\n ];\r\n const input = e.target as HTMLInputElement;\r\n const key = e.key;\r\n const valStr = input.value;\r\n const sStart = input.selectionStart || 0;\r\n const sEnd = input.selectionEnd || 0;\r\n const dateVal = new AXDateTime(this.value);\r\n //\r\n const re = /[a-zA-Z0-9]+/gi;\r\n const parts = Array.from(this.format.matchAll(re));\r\n const word = valStr.substring(sStart, sEnd);\r\n const part = parts.find((c:any) => c.index >= sStart);\r\n const next = Array.from(valStr.substr(sEnd).matchAll(re));\r\n const prev = Array.from(valStr.substring(0, sStart).matchAll(re));\r\n //const part = parts[Array.from(valStr.matchAll(re)).findIndex(c => c[0] == word)];\r\n //\r\n\r\n const goNext = () => {\r\n this._highlightPart(input, sEnd + (next[0]?.index || 0));\r\n };\r\n const goPrev = () => {\r\n this._highlightPart(input, prev[prev.length - 1]?.index);\r\n };\r\n\r\n //\r\n if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {\r\n ignore();\r\n e.key === 'ArrowRight' ? goNext() : goPrev();\r\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\r\n if (e.ctrlKey && e.key === 'ArrowDown') {\r\n //this.open();\r\n } else {\r\n const sign = e.key === 'ArrowUp' ? +1 : -1;\r\n if (part) {\r\n switch (part[0]) {\r\n case 'hh':\r\n case 'h':\r\n case 'HH':\r\n case 'H':\r\n this.value = dateVal.add('hour', sign).date;\r\n break;\r\n case 'mm':\r\n this.value = dateVal.add('minute', sign).date;\r\n break;\r\n case 'ss':\r\n case 'SS':\r\n this.value = dateVal.add('second', sign).date;\r\n break;\r\n }\r\n setTimeout(() => {\r\n this._highlightPart(input, sStart);\r\n }, 10);\r\n }\r\n }\r\n ignore();\r\n } else if (e.key == 'Backspace') {\r\n // if (this.allowNull) {\r\n // this.value = null;\r\n // }\r\n // ignore();\r\n } else if (e.key == 'Tab') {\r\n if (sEnd < valStr.length && !e.shiftKey) {\r\n goNext();\r\n ignore();\r\n } else if (sStart != 0 && e.shiftKey) {\r\n goPrev();\r\n ignore();\r\n }\r\n } else {\r\n // const keys = {\r\n // h: {\r\n // v: /^[0-9]$|^[1][0-2]$/,\r\n // p: '0'\r\n // },\r\n // H: {\r\n // v: /^[0-9]$|^1[0-9]$|2[0-3]$/,\r\n // p: '0'\r\n // },\r\n // m: {\r\n // v: /^[0-9]$|^[1-5][0-9]$/,\r\n // p: '0'\r\n // }\r\n // }\r\n // // const re = new RegExp(_.orderBy(Object.keys(keys), c => c.length, ['desc']).join(\"|\"), \"gi\");\r\n // // return format.replace(re, function (matched) {\r\n // // return keys[matched]();\r\n // // });\r\n // const t = keys[part[0]];\r\n // if (!t.v.test(key)) {\r\n // ignore();\r\n // }\r\n // else {\r\n // this._updateText()\r\n // }\r\n }\r\n // super._emitOnKeydownEvent(e);\r\n }\r\n\r\n _handleKeyUpEvent(e: KeyboardEvent) {\r\n // const input = (e.target as HTMLInputElement);\r\n // setTimeout(() => {\r\n // this._highlightPart(input);\r\n // }, 700);\r\n }\r\n\r\n _emitOnFocusEvent(e: FocusEvent): void {\r\n const input = e.target as HTMLInputElement;\r\n this._highlightPart(input);\r\n super._emitOnFocusEvent(e);\r\n }\r\n\r\n _handleOnInputClickEvent(e: MouseEvent): void {\r\n const input = e.target as HTMLInputElement;\r\n this._highlightPart(input);\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n private _highlightPart(input: HTMLInputElement, pos?: number) {\r\n const { start, end } = AXStringUtil.getWordBoundsAtPosition(\r\n input.value,\r\n pos != null ? pos : input.selectionStart || 0\r\n );\r\n input.setSelectionRange(start, end);\r\n }\r\n \r\n}\r\n","<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" \r\n [imask]=\"_maskObj\" \r\n [unmask]=\"false\" \r\n type=\"text\" \r\n [attr.placeholder]=\"placeholder\"\r\n [class.ax-state-disabled]=\"disabled\" \r\n [class.ax-state-readonly]=\"readonly\" \r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\" \r\n [ngModel]=\"displayText\" \r\n (mouseup)=\"_handleOnInputClickEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\"\r\n (keyup)=\"_handleKeyUpEvent($event)\" \r\n (keydown)=\"_handleOnKeydownEvent($event)\" \r\n autocomplete=\"off\">\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTimeBoxComponent } from './time-box.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IMaskModule } from 'angular-imask';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\n\r\nconst COMPONENT = [AXTimeBoxComponent];\r\nconst MODULES = [\r\n CommonModule,\r\n FormsModule,\r\n AXButtonModule,\r\n IMaskModule\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXTimeBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-time-box.mjs","sources":["../../../../projects/acorex/components/time-box/src/time-box.component.ts","../../../../projects/acorex/components/time-box/src/time-box.component.html","../../../../projects/acorex/components/time-box/src/time-box.module.ts","../../../../projects/acorex/components/time-box/acorex-components-time-box.ts"],"sourcesContent":["import { AXStringUtil } from '@acorex/core/utils';\r\nimport { AXDateTime } from '@acorex/core/dateTime';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n EventEmitter,\r\n Output,\r\n Input,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport IMask from 'imask';\r\nimport { IMaskDirective } from 'angular-imask';\r\nimport { AXBaseTextBoxMixin, AXComponentOptionChanged } from '@acorex/components/mixin';\r\n\r\n\r\nexport type AX_TIME_FORMAT = 'HH:mm' | 'HH:mm:ss';\r\n/**\r\n * The Button is a component which detects user interaction and triggers a corresponding event\r\n *\r\n * @category Components\r\n */\r\n@Component({\r\n selector: 'ax-time-box',\r\n templateUrl: './time-box.component.html',\r\n inputs: [\r\n 'disabled',\r\n 'readonly',\r\n 'tabIndex',\r\n 'size',\r\n 'value',\r\n 'placeholder', 'maxLength', 'allowNull', 'type', 'autoComplete', 'readonly', 'allowNull', 'value', 'name', 'checked',\r\n ],\r\n outputs: [\r\n 'valueChange',\r\n 'onValueChanged',\r\n 'onBlur',\r\n 'onFocus',\r\n 'valueChange', 'onValueChanged',\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n host: { class: 'ax-editor-container ax-drop-down' },\r\n})\r\nexport class AXTimeBoxComponent extends AXBaseTextBoxMixin {\r\n\r\n @ViewChild('input')\r\n input: ElementRef<HTMLInputElement>;\r\n\r\n private _minValue: Date;\r\n @Input()\r\n public get minValue(): Date {\r\n return this._minValue;\r\n }\r\n public set minValue(v: Date) {\r\n this._minValue = v;\r\n }\r\n\r\n private _maxValue: Date;\r\n @Input()\r\n public get maxValue(): Date {\r\n return this._maxValue;\r\n }\r\n public set maxValue(v: Date) {\r\n this._maxValue = v;\r\n }\r\n\r\n @Output()\r\n formatChange = new EventEmitter<string>();\r\n\r\n private _format: AX_TIME_FORMAT = 'HH:mm';\r\n @Input()\r\n public get format(): AX_TIME_FORMAT {\r\n return this._format;\r\n }\r\n public set format(v: AX_TIME_FORMAT) {\r\n this._setOption({\r\n name: 'format',\r\n value: v,\r\n });\r\n }\r\n\r\n @Output()\r\n public displayTextChange: EventEmitter<string> = new EventEmitter<string>();\r\n private _displayText: string = '';\r\n\r\n @Input()\r\n public get displayText(): string {\r\n return this._displayText;\r\n }\r\n\r\n public set displayText(v: string) {\r\n this._displayText = v;\r\n this.displayTextChange.emit(v);\r\n }\r\n\r\n /**\r\n * @ignore\r\n */\r\n protected _maskObj: IMask.MaskedPattern;\r\n\r\n @ViewChild(IMaskDirective)\r\n private _maskDirective: IMaskDirective<IMask.MaskedNumber>;\r\n\r\n /**\r\n * @ignore\r\n */\r\n constructor(elementRef: ElementRef, private cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n onViewInit(): void {\r\n super.onViewInit();\r\n this._updateMask();\r\n }\r\n\r\n _onValueChanged(oldValue?: any, newValue?: any) {\r\n this._updateText();\r\n this._maskDirective?.maskRef?.updateValue();\r\n this._maskDirective?.maskRef?.updateControl();\r\n }\r\n\r\n _updateText() {\r\n this.displayText = this.value\r\n ? AXDateTime.convert(this.value).format(this.format)\r\n : '';\r\n }\r\n\r\n _onOptionChanged(option: AXComponentOptionChanged): void {\r\n super._onOptionChanged(option);\r\n this._updateMask();\r\n }\r\n\r\n focus(): void {\r\n this.input.nativeElement.focus()\r\n }\r\n\r\n\r\n private _updateMask() {\r\n if (!this._maskObj) {\r\n this._maskObj = IMask.createMask({\r\n mask: this.format,\r\n lazy: false,\r\n autofix: true,\r\n overwrite: true,\r\n blocks: {\r\n HH: {\r\n mask: IMask.MaskedRange,\r\n from: 0,\r\n to: 23,\r\n maxLength: 2,\r\n placeholderChar: '0',\r\n autofix: 'pad',\r\n },\r\n mm: {\r\n mask: IMask.MaskedRange,\r\n from: 0,\r\n to: 59,\r\n maxLength: 2,\r\n placeholderChar: '0',\r\n autofix: 'pad',\r\n },\r\n ss: {\r\n mask: IMask.MaskedRange,\r\n from: 0,\r\n to: 59,\r\n maxLength: 2,\r\n placeholderChar: '0',\r\n autofix: 'pad',\r\n },\r\n },\r\n });\r\n } else {\r\n this._maskObj.updateOptions({\r\n mask: this.format,\r\n });\r\n }\r\n this._maskDirective?.maskRef?.updateValue();\r\n this._maskDirective?.maskRef?.updateControl();\r\n }\r\n\r\n _handleOnKeydownEvent(e: KeyboardEvent) {\r\n debugger\r\n const ignore = () => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n\r\n const nums: string[] = Array(10)\r\n .fill(0)\r\n .map((v, i) => i.toString());\r\n const chars: string[] = [\r\n 'Backspace',\r\n 'ArrowDown',\r\n 'ArrowUp',\r\n 'ArrowRight',\r\n 'ArrowLeft',\r\n 'Tab',\r\n 'Enter',\r\n ];\r\n const input = e.target as HTMLInputElement;\r\n const key = e.key;\r\n const valStr = input.value;\r\n const sStart = input.selectionStart || 0;\r\n const sEnd = input.selectionEnd || 0;\r\n const dateVal = new AXDateTime(this.value);\r\n //\r\n const re = /[a-zA-Z0-9]+/gi;\r\n const parts = Array.from(this.format.matchAll(re));\r\n const word = valStr.substring(sStart, sEnd);\r\n const part = parts.find((c: any) => c.index >= sStart);\r\n const next = Array.from(valStr.substr(sEnd).matchAll(re));\r\n const prev = Array.from(valStr.substring(0, sStart).matchAll(re));\r\n //const part = parts[Array.from(valStr.matchAll(re)).findIndex(c => c[0] == word)];\r\n //\r\n\r\n const goNext = () => {\r\n this._highlightPart(input, sEnd + (next[0]?.index || 0));\r\n };\r\n const goPrev = () => {\r\n this._highlightPart(input, prev[prev.length - 1]?.index);\r\n };\r\n\r\n //\r\n if (e.key === 'ArrowRight' || e.key === 'ArrowLeft') {\r\n ignore();\r\n e.key === 'ArrowRight' ? goNext() : goPrev();\r\n } else if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\r\n if (e.ctrlKey && e.key === 'ArrowDown') {\r\n //this.open();\r\n } else {\r\n const sign = e.key === 'ArrowUp' ? +1 : -1;\r\n if (part) {\r\n switch (part[0]) {\r\n case 'hh':\r\n case 'h':\r\n case 'HH':\r\n case 'H':\r\n this.value = dateVal.add('hour', sign).date;\r\n break;\r\n case 'mm':\r\n this.value = dateVal.add('minute', sign).date;\r\n break;\r\n case 'ss':\r\n case 'SS':\r\n this.value = dateVal.add('second', sign).date;\r\n break;\r\n }\r\n setTimeout(() => {\r\n this._highlightPart(input, sStart);\r\n }, 10);\r\n }\r\n }\r\n ignore();\r\n } else if (e.key == 'Backspace') {\r\n // if (this.allowNull) {\r\n // this.value = null;\r\n // }\r\n // ignore();\r\n } else if (e.key == 'Tab') {\r\n if (sEnd < valStr.length && !e.shiftKey) {\r\n goNext();\r\n ignore();\r\n } else if (sStart != 0 && e.shiftKey) {\r\n goPrev();\r\n ignore();\r\n }\r\n } else {\r\n // const keys = {\r\n // h: {\r\n // v: /^[0-9]$|^[1][0-2]$/,\r\n // p: '0'\r\n // },\r\n // H: {\r\n // v: /^[0-9]$|^1[0-9]$|2[0-3]$/,\r\n // p: '0'\r\n // },\r\n // m: {\r\n // v: /^[0-9]$|^[1-5][0-9]$/,\r\n // p: '0'\r\n // }\r\n // }\r\n // // const re = new RegExp(_.orderBy(Object.keys(keys), c => c.length, ['desc']).join(\"|\"), \"gi\");\r\n // // return format.replace(re, function (matched) {\r\n // // return keys[matched]();\r\n // // });\r\n // const t = keys[part[0]];\r\n // if (!t.v.test(key)) {\r\n // ignore();\r\n // }\r\n // else {\r\n // this._updateText()\r\n // }\r\n }\r\n // super._emitOnKeydownEvent(e);\r\n }\r\n\r\n _handleKeyUpEvent(e: KeyboardEvent) {\r\n // const input = (e.target as HTMLInputElement);\r\n // setTimeout(() => {\r\n // this._highlightPart(input);\r\n // }, 700);\r\n }\r\n\r\n _emitOnFocusEvent(e: FocusEvent): void {\r\n const input = e.target as HTMLInputElement;\r\n this._highlightPart(input);\r\n super._emitOnFocusEvent(e);\r\n }\r\n\r\n _handleOnInputClickEvent(e: MouseEvent): void {\r\n const input = e.target as HTMLInputElement;\r\n this._highlightPart(input);\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n\r\n private _highlightPart(input: HTMLInputElement, pos?: number) {\r\n const { start, end } = AXStringUtil.getWordBoundsAtPosition(\r\n input.value,\r\n pos != null ? pos : input.selectionStart || 0\r\n );\r\n input.setSelectionRange(start, end);\r\n }\r\n\r\n}\r\n","<ng-content select=\"ax-prefix\">\r\n</ng-content>\r\n<input #input class=\"ax-input\" \r\n [imask]=\"_maskObj\" \r\n [unmask]=\"false\" \r\n type=\"text\" \r\n [attr.placeholder]=\"placeholder\"\r\n [class.ax-state-disabled]=\"disabled\" \r\n [class.ax-state-readonly]=\"readonly\" \r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\" \r\n [tabindex]=\"tabIndex\" \r\n [ngModel]=\"displayText\" \r\n (mouseup)=\"_handleOnInputClickEvent($event)\"\r\n (focus)=\"_emitOnFocusEvent($event)\"\r\n (blur)=\"_emitOnBlurEvent($event)\"\r\n (keyup)=\"_handleKeyUpEvent($event)\" \r\n (keydown)=\"_handleOnKeydownEvent($event)\" \r\n autocomplete=\"off\">\r\n<ng-content select=\"ax-suffix\">\r\n</ng-content>\r\n<ng-content select=\"ax-validation-rule\">\r\n</ng-content>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTimeBoxComponent } from './time-box.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IMaskModule } from 'angular-imask';\r\nimport { AXButtonModule } from '@acorex/components/button';\r\n\r\nconst COMPONENT = [AXTimeBoxComponent];\r\nconst MODULES = [\r\n CommonModule,\r\n FormsModule,\r\n AXButtonModule,\r\n IMaskModule\r\n];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXTimeBoxModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { AXBaseComponentMixin } from '@acorex/components/mixin';
|
2
|
-
import { trigger, transition, style, animate } from '@angular/animations';
|
3
2
|
import * as i0 from '@angular/core';
|
4
|
-
import { Component,
|
3
|
+
import { Component, ViewEncapsulation, Input, Directive, HostListener, NgModule } from '@angular/core';
|
5
4
|
import { ComponentPortal } from '@angular/cdk/portal';
|
5
|
+
import { AXPositions } from '@acorex/components/common';
|
6
6
|
import * as i1 from '@angular/cdk/overlay';
|
7
7
|
import { OverlayModule } from '@angular/cdk/overlay';
|
8
8
|
import { CommonModule } from '@angular/common';
|
@@ -10,31 +10,14 @@ import { CommonModule } from '@angular/common';
|
|
10
10
|
class AXTooltipComponent extends AXBaseComponentMixin {
|
11
11
|
constructor(elementRef, cdr) {
|
12
12
|
super(elementRef, cdr);
|
13
|
-
this.text = '
|
14
|
-
this.position = 'top';
|
13
|
+
this.text = '';
|
15
14
|
}
|
16
15
|
}
|
17
16
|
AXTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTooltipComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
18
|
-
AXTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXTooltipComponent, selector: "ax-tooltip", inputs: { text: "text", position: "position" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-tooltip-container\">\r\n
|
19
|
-
trigger('tooltip', [
|
20
|
-
transition(':enter', [
|
21
|
-
style({ opacity: 0 }),
|
22
|
-
animate(50, style({ opacity: 1 })),
|
23
|
-
]),
|
24
|
-
transition(':leave', [animate(50, style({ opacity: 0 }))]),
|
25
|
-
]),
|
26
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
17
|
+
AXTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: AXTooltipComponent, selector: "ax-tooltip", inputs: { text: "text", position: "position" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-tooltip-container\">\r\n <div class=\"ax-tooltip\">\r\n {{ text }}\r\n </div>\r\n <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div>\r\n</div>\r\n", styles: ["html.ax-dark .ax-tooltip-container{--ax-tooltip-background: 255, 255, 255;--ax-tooltip-color: 97, 97, 97}.ax-tooltip-container{position:relative;--ax-tooltip-background: 97, 97, 97;--ax-tooltip-color: 255, 255, 255}.ax-tooltip-container .ax-tooltip{display:block;padding:.25rem .5rem;background-color:rgb(var(--ax-tooltip-background));color:rgb(var(--ax-tooltip-color));border-radius:.25rem;font-size:.75rem;font-weight:400}\n"], encapsulation: i0.ViewEncapsulation.None });
|
27
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTooltipComponent, decorators: [{
|
28
19
|
type: Component,
|
29
|
-
args: [{ selector: 'ax-tooltip',
|
30
|
-
trigger('tooltip', [
|
31
|
-
transition(':enter', [
|
32
|
-
style({ opacity: 0 }),
|
33
|
-
animate(50, style({ opacity: 1 })),
|
34
|
-
]),
|
35
|
-
transition(':leave', [animate(50, style({ opacity: 0 }))]),
|
36
|
-
]),
|
37
|
-
], template: "<div class=\"ax-tooltip-container\">\r\n <div class=\"ax-tooltip\" @tooltip>\r\n {{ text }}\r\n </div>\r\n <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{position}}\"></div>\r\n</div>", styles: [".ax-tooltip-container{position:relative}.ax-tooltip-container .ax-tooltip{display:block;padding:.25rem .5rem;background-color:rgb(var(--ax-color-ghost));color:rgb(var(--ax-color-ghost-fore));border-radius:var(--ax-rounded-border-default);font-size:.875rem}.ax-tooltip-container .ax-tooltip-tringle{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgb(var(--ax-color-ghost));position:absolute}.ax-tooltip-container .ax-tooltip-tringle.ax-tooltip-tringle-bottom{transform:rotate(180deg);left:0;right:0;margin:auto;top:-5px}.ax-tooltip-container .ax-tooltip-tringle.ax-tooltip-tringle-right{transform:rotate(90deg);top:0;bottom:0;margin:auto;left:-7px}.ax-tooltip-container .ax-tooltip-tringle.ax-tooltip-tringle-top{transform:rotate(0);left:0;right:0;margin:auto}.ax-tooltip-container .ax-tooltip-tringle.ax-tooltip-tringle-left{transform:rotate(270deg);top:0;bottom:0;margin:auto;right:-7px}\n"] }]
|
20
|
+
args: [{ selector: 'ax-tooltip', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-tooltip-container\">\r\n <div class=\"ax-tooltip\">\r\n {{ text }}\r\n </div>\r\n <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div>\r\n</div>\r\n", styles: ["html.ax-dark .ax-tooltip-container{--ax-tooltip-background: 255, 255, 255;--ax-tooltip-color: 97, 97, 97}.ax-tooltip-container{position:relative;--ax-tooltip-background: 97, 97, 97;--ax-tooltip-color: 255, 255, 255}.ax-tooltip-container .ax-tooltip{display:block;padding:.25rem .5rem;background-color:rgb(var(--ax-tooltip-background));color:rgb(var(--ax-tooltip-color));border-radius:.25rem;font-size:.75rem;font-weight:400}\n"] }]
|
38
21
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { text: [{
|
39
22
|
type: Input
|
40
23
|
}], position: [{
|
@@ -42,73 +25,107 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
42
25
|
}] } });
|
43
26
|
|
44
27
|
class AXTooltipDirective {
|
45
|
-
constructor(overlay, overlayPositionBuilder, elementRef) {
|
28
|
+
constructor(overlay, overlayPositionBuilder, elementRef, cdr) {
|
46
29
|
this.overlay = overlay;
|
47
30
|
this.overlayPositionBuilder = overlayPositionBuilder;
|
48
31
|
this.elementRef = elementRef;
|
32
|
+
this.cdr = cdr;
|
49
33
|
this.text = '';
|
50
|
-
this.position = 'top';
|
34
|
+
this.position = 'top-center';
|
51
35
|
}
|
52
36
|
ngOnInit() {
|
37
|
+
//Called after the constructor, initializing input properties, and the first call to ngOnChanges.
|
38
|
+
//Add 'implements OnInit' to the class.
|
39
|
+
this.positioning();
|
40
|
+
}
|
41
|
+
ngAfterViewInit() { }
|
42
|
+
positioning() {
|
43
|
+
const offset = 8;
|
53
44
|
switch (this.position) {
|
45
|
+
case 'top-start':
|
46
|
+
this.positions = [
|
47
|
+
Object.assign(Object.assign({}, AXPositions.topStart), { offsetY: -offset }),
|
48
|
+
];
|
49
|
+
break;
|
54
50
|
default:
|
55
|
-
case 'top':
|
56
|
-
this.positions =
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
51
|
+
case 'top-center':
|
52
|
+
this.positions = [
|
53
|
+
Object.assign(Object.assign({}, AXPositions.topCenter), { offsetY: -offset }),
|
54
|
+
];
|
55
|
+
break;
|
56
|
+
case 'top-end':
|
57
|
+
this.positions = [
|
58
|
+
Object.assign(Object.assign({}, AXPositions.topEnd), { offsetY: -offset }),
|
59
|
+
];
|
60
|
+
break;
|
61
|
+
case 'start-start':
|
62
|
+
this.positions = [
|
63
|
+
Object.assign(Object.assign({}, AXPositions.startStart), { offsetX: -offset }),
|
64
|
+
];
|
65
|
+
break;
|
66
|
+
case 'start-center':
|
67
|
+
this.positions = [
|
68
|
+
Object.assign(Object.assign({}, AXPositions.startCenter), { offsetX: -offset }),
|
69
|
+
];
|
70
|
+
break;
|
71
|
+
case 'start-end':
|
72
|
+
this.positions = [
|
73
|
+
Object.assign(Object.assign({}, AXPositions.startEnd), { offsetX: -offset }),
|
74
|
+
];
|
75
|
+
break;
|
76
|
+
case 'bottom-start':
|
77
|
+
this.positions = [
|
78
|
+
Object.assign(Object.assign({}, AXPositions.bottomStart), { offsetY: offset }),
|
79
|
+
];
|
80
|
+
break;
|
81
|
+
case 'bottom-center':
|
82
|
+
this.positions = [
|
83
|
+
Object.assign(Object.assign({}, AXPositions.bottomCenter), { offsetY: offset }),
|
84
|
+
];
|
85
|
+
break;
|
86
|
+
case 'bottom-end':
|
87
|
+
this.positions = [
|
88
|
+
Object.assign(Object.assign({}, AXPositions.bottomEnd), { offsetY: offset }),
|
89
|
+
];
|
63
90
|
break;
|
64
|
-
case '
|
65
|
-
this.positions =
|
66
|
-
|
67
|
-
|
68
|
-
overlayX: 'start',
|
69
|
-
overlayY: 'center',
|
70
|
-
offsetX: 8,
|
71
|
-
};
|
91
|
+
case 'end-start':
|
92
|
+
this.positions = [
|
93
|
+
Object.assign(Object.assign({}, AXPositions.endStart), { offsetX: offset }),
|
94
|
+
];
|
72
95
|
break;
|
73
|
-
case '
|
74
|
-
this.positions =
|
75
|
-
|
76
|
-
|
77
|
-
overlayX: 'center',
|
78
|
-
overlayY: 'top',
|
79
|
-
offsetY: 8,
|
80
|
-
};
|
96
|
+
case 'end-center':
|
97
|
+
this.positions = [
|
98
|
+
Object.assign(Object.assign({}, AXPositions.endCenter), { offsetX: offset }),
|
99
|
+
];
|
81
100
|
break;
|
82
|
-
case '
|
83
|
-
this.positions =
|
84
|
-
|
85
|
-
|
86
|
-
overlayX: 'end',
|
87
|
-
overlayY: 'center',
|
88
|
-
offsetX: -8,
|
89
|
-
};
|
101
|
+
case 'end-end':
|
102
|
+
this.positions = [
|
103
|
+
Object.assign(Object.assign({}, AXPositions.endEnd), { offsetX: offset }),
|
104
|
+
];
|
90
105
|
break;
|
91
106
|
}
|
92
|
-
const positionStrategy = this.overlayPositionBuilder
|
93
|
-
.flexibleConnectedTo(this.elementRef)
|
94
|
-
.withPositions([this.positions]);
|
107
|
+
const positionStrategy = this.overlayPositionBuilder.flexibleConnectedTo(this.elementRef).withPositions(this.positions);
|
95
108
|
this.overlayRef = this.overlay.create({ positionStrategy });
|
96
109
|
}
|
97
110
|
show() {
|
98
111
|
const tooltipRef = this.overlayRef.attach(new ComponentPortal(AXTooltipComponent));
|
99
112
|
tooltipRef.instance.text = this.text;
|
100
113
|
tooltipRef.instance.position = this.position;
|
114
|
+
setTimeout(() => {
|
115
|
+
this.cdr.markForCheck();
|
116
|
+
});
|
101
117
|
}
|
102
118
|
hide() {
|
103
119
|
this.overlayRef.detach();
|
120
|
+
this.cdr.markForCheck();
|
104
121
|
}
|
105
122
|
}
|
106
|
-
AXTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i1.Overlay }, { token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
107
|
-
AXTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: AXTooltipDirective, selector: "[axTooltip]", inputs: { text: ["axTooltip", "text"], position: ["axTooltipPosition", "position"] }, host: { listeners: { "mouseenter": "show()", "
|
123
|
+
AXTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i1.Overlay }, { token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
124
|
+
AXTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.4", type: AXTooltipDirective, selector: "[axTooltip]", inputs: { text: ["axTooltip", "text"], position: ["axTooltipPosition", "position"] }, host: { listeners: { "mouseenter": "show()", "mouseleave": "hide()" } }, ngImport: i0 });
|
108
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: AXTooltipDirective, decorators: [{
|
109
126
|
type: Directive,
|
110
127
|
args: [{ selector: '[axTooltip]' }]
|
111
|
-
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i1.OverlayPositionBuilder }, { type: i0.ElementRef }]; }, propDecorators: { text: [{
|
128
|
+
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i1.OverlayPositionBuilder }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { text: [{
|
112
129
|
type: Input,
|
113
130
|
args: ['axTooltip']
|
114
131
|
}], position: [{
|
@@ -119,7 +136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
119
136
|
args: ['mouseenter']
|
120
137
|
}], hide: [{
|
121
138
|
type: HostListener,
|
122
|
-
args: ['
|
139
|
+
args: ['mouseleave']
|
123
140
|
}] } });
|
124
141
|
|
125
142
|
const COMPONENT = [AXTooltipComponent, AXTooltipDirective];
|
@@ -135,7 +152,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImpor
|
|
135
152
|
declarations: [...COMPONENT],
|
136
153
|
imports: [...MODULES],
|
137
154
|
exports: [...COMPONENT],
|
138
|
-
providers: [],
|
139
155
|
}]
|
140
156
|
}] });
|
141
157
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-tooltip.mjs","sources":["../../../../projects/acorex/components/tooltip/src/tooltip.component.ts","../../../../projects/acorex/components/tooltip/src/tooltip.component.html","../../../../projects/acorex/components/tooltip/src/tooltip.directive.ts","../../../../projects/acorex/components/tooltip/src/tooltip.module.ts","../../../../projects/acorex/components/tooltip/acorex-components-tooltip.ts"],"sourcesContent":["import { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { animate, style, transition, trigger } from '@angular/animations';\r\nimport {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n ChangeDetectorRef,\r\n Input,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('tooltip', [\r\n transition(':enter', [\r\n style({ opacity: 0 }),\r\n animate(50, style({ opacity: 1 })),\r\n ]),\r\n transition(':leave', [animate(50, style({ opacity: 0 }))]),\r\n ]),\r\n ],\r\n})\r\nexport class AXTooltipComponent extends AXBaseComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n @Input()\r\n text: string = 'Text';\r\n\r\n @Input() position = 'top';\r\n}\r\n","<div class=\"ax-tooltip-container\">\r\n <div class=\"ax-tooltip\" @tooltip>\r\n {{ text }}\r\n </div>\r\n <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{position}}\"></div>\r\n</div>","import {\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport {\r\n Overlay,\r\n OverlayPositionBuilder,\r\n OverlayRef,\r\n} from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { AXTooltipComponent } from './tooltip.component';\r\n\r\n@Directive({ selector: '[axTooltip]' })\r\nexport class AXTooltipDirective implements OnInit {\r\n @Input('axTooltip') text = '';\r\n @Input('axTooltipPosition') position = 'top';\r\n\r\n private overlayRef: OverlayRef;\r\n\r\n positions: any;\r\n\r\n constructor(\r\n private overlay: Overlay,\r\n private overlayPositionBuilder: OverlayPositionBuilder,\r\n private elementRef: ElementRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n switch (this.position) {\r\n default:\r\n case 'top':\r\n this.positions = {\r\n originX: 'center',\r\n originY: 'top',\r\n overlayX: 'center',\r\n overlayY: 'bottom',\r\n offsetY: -8,\r\n };\r\n break;\r\n case 'right':\r\n this.positions = {\r\n originX: 'end',\r\n originY: 'center',\r\n overlayX: 'start',\r\n overlayY: 'center',\r\n offsetX: 8,\r\n };\r\n break;\r\n case 'bottom':\r\n this.positions = {\r\n originX: 'center',\r\n originY: 'bottom',\r\n overlayX: 'center',\r\n overlayY: 'top',\r\n offsetY: 8,\r\n };\r\n break;\r\n case 'left':\r\n this.positions = {\r\n originX: 'start',\r\n originY: 'center',\r\n overlayX: 'end',\r\n overlayY: 'center',\r\n offsetX: -8,\r\n };\r\n break;\r\n }\r\n const positionStrategy = this.overlayPositionBuilder\r\n .flexibleConnectedTo(this.elementRef)\r\n .withPositions([this.positions]);\r\n\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n\r\n @HostListener('mouseenter')\r\n show() {\r\n const tooltipRef: ComponentRef<AXTooltipComponent> = this.overlayRef.attach(\r\n new ComponentPortal(AXTooltipComponent)\r\n );\r\n\r\n tooltipRef.instance.text = this.text;\r\n tooltipRef.instance.position = this.position;\r\n }\r\n\r\n @HostListener('mouseout')\r\n hide() {\r\n this.overlayRef.detach();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTooltipComponent } from './tooltip.component';\r\nimport { AXTooltipDirective } from './tooltip.directive';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nconst COMPONENT = [AXTooltipComponent, AXTooltipDirective];\r\nconst MODULES = [CommonModule, OverlayModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n providers: [],\r\n})\r\nexport class AXTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-tooltip.mjs","sources":["../../../../projects/acorex/components/tooltip/src/tooltip.component.ts","../../../../projects/acorex/components/tooltip/src/tooltip.component.html","../../../../projects/acorex/components/tooltip/src/tooltip.directive.ts","../../../../projects/acorex/components/tooltip/src/tooltip.module.ts","../../../../projects/acorex/components/tooltip/acorex-components-tooltip.ts"],"sourcesContent":["import { AXPosition } from '@acorex/components/common';\r\nimport { AXBaseComponentMixin } from '@acorex/components/mixin';\r\nimport { animate, AnimationTriggerMetadata, style, transition, trigger } from '@angular/animations';\r\nimport { Component, ViewEncapsulation, ElementRef, ChangeDetectorRef, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ax-tooltip',\r\n templateUrl: './tooltip.component.html',\r\n styleUrls: ['./tooltip.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n // animations: [\r\n // trigger('tooltip', [\r\n // transition(':enter', [style({ opacity: 0 }), animate(50, style({ opacity: 1 }))]),\r\n // transition(':leave', [animate(50, style({ opacity: 0 }))]),\r\n // ]),\r\n // ],\r\n})\r\nexport class AXTooltipComponent extends AXBaseComponentMixin {\r\n constructor(elementRef: ElementRef, cdr: ChangeDetectorRef) {\r\n super(elementRef, cdr);\r\n }\r\n\r\n @Input()\r\n text: string = '';\r\n\r\n @Input() position: AXPosition;\r\n}\r\n","<div class=\"ax-tooltip-container\">\r\n <div class=\"ax-tooltip\">\r\n {{ text }}\r\n </div>\r\n <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div>\r\n</div>\r\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n ComponentRef,\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { AXTooltipComponent } from './tooltip.component';\r\nimport { AXPosition, AXPositions } from '@acorex/components/common';\r\n\r\n@Directive({ selector: '[axTooltip]' })\r\nexport class AXTooltipDirective {\r\n @Input('axTooltip') text = '';\r\n @Input('axTooltipPosition') position: AXPosition = 'top-center';\r\n\r\n private overlayRef: OverlayRef;\r\n protected positions: any[];\r\n\r\n constructor(\r\n private overlay: Overlay,\r\n private overlayPositionBuilder: OverlayPositionBuilder,\r\n private elementRef: ElementRef,\r\n private cdr: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n //Called after the constructor, initializing input properties, and the first call to ngOnChanges.\r\n //Add 'implements OnInit' to the class.\r\n this.positioning();\r\n }\r\n ngAfterViewInit(): void {}\r\n\r\n protected positioning() {\r\n const offset = 8;\r\n switch (this.position) {\r\n case 'top-start':\r\n this.positions = [\r\n {\r\n ...AXPositions.topStart,\r\n offsetY: -offset,\r\n },\r\n ];\r\n break;\r\n default:\r\n case 'top-center':\r\n this.positions = [\r\n {\r\n ...AXPositions.topCenter,\r\n offsetY: -offset,\r\n },\r\n ];\r\n break;\r\n case 'top-end':\r\n this.positions = [\r\n {\r\n ...AXPositions.topEnd,\r\n offsetY: -offset,\r\n },\r\n ];\r\n break;\r\n\r\n case 'start-start':\r\n this.positions = [\r\n {\r\n ...AXPositions.startStart,\r\n offsetX: -offset,\r\n },\r\n ];\r\n break;\r\n\r\n case 'start-center':\r\n this.positions = [\r\n {\r\n ...AXPositions.startCenter,\r\n offsetX: -offset,\r\n },\r\n ];\r\n break;\r\n\r\n case 'start-end':\r\n this.positions = [\r\n {\r\n ...AXPositions.startEnd,\r\n offsetX: -offset,\r\n },\r\n ];\r\n break;\r\n\r\n case 'bottom-start':\r\n this.positions = [\r\n {\r\n ...AXPositions.bottomStart,\r\n offsetY: offset,\r\n },\r\n ];\r\n break;\r\n case 'bottom-center':\r\n this.positions = [\r\n {\r\n ...AXPositions.bottomCenter,\r\n offsetY: offset,\r\n },\r\n ];\r\n break;\r\n case 'bottom-end':\r\n this.positions = [\r\n {\r\n ...AXPositions.bottomEnd,\r\n offsetY: offset,\r\n },\r\n ];\r\n break;\r\n\r\n case 'end-start':\r\n this.positions = [\r\n {\r\n ...AXPositions.endStart,\r\n offsetX: offset,\r\n },\r\n ];\r\n break;\r\n case 'end-center':\r\n this.positions = [\r\n {\r\n ...AXPositions.endCenter,\r\n offsetX: offset,\r\n },\r\n ];\r\n break;\r\n case 'end-end':\r\n this.positions = [\r\n {\r\n ...AXPositions.endEnd,\r\n offsetX: offset,\r\n },\r\n ];\r\n break;\r\n }\r\n const positionStrategy = this.overlayPositionBuilder.flexibleConnectedTo(this.elementRef).withPositions(this.positions);\r\n this.overlayRef = this.overlay.create({ positionStrategy });\r\n }\r\n\r\n @HostListener('mouseenter')\r\n show() {\r\n const tooltipRef: ComponentRef<AXTooltipComponent> = this.overlayRef.attach(new ComponentPortal(AXTooltipComponent));\r\n tooltipRef.instance.text = this.text;\r\n tooltipRef.instance.position = this.position;\r\n setTimeout(() => {\r\n this.cdr.markForCheck();\r\n });\r\n }\r\n\r\n @HostListener('mouseleave')\r\n hide() {\r\n this.overlayRef.detach();\r\n this.cdr.markForCheck();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AXTooltipComponent } from './tooltip.component';\r\nimport { AXTooltipDirective } from './tooltip.directive';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\nconst COMPONENT = [AXTooltipComponent, AXTooltipDirective];\r\nconst MODULES = [CommonModule, OverlayModule];\r\n\r\n@NgModule({\r\n declarations: [...COMPONENT],\r\n imports: [...MODULES],\r\n exports: [...COMPONENT],\r\n})\r\nexport class AXTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|