@acorex/components 7.4.4 → 7.4.7
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/lib/alert.component.d.ts +1 -3
- package/avatar/lib/avatar-group.component.d.ts +1 -4
- package/avatar/lib/avatar.component.d.ts +6 -7
- package/badge/lib/badge.component.d.ts +1 -3
- package/calendar/lib/calendar.class.d.ts +1 -3
- package/chips/lib/chips.component.d.ts +2 -4
- package/common/index.d.ts +2 -0
- package/common/lib/classes/styles.class.d.ts +1 -0
- package/common/lib/components/appearance-component.class.d.ts +12 -0
- package/common/lib/components/base-component.class.d.ts +1 -4
- package/common/lib/components/color-component.class.d.ts +0 -1
- package/common/lib/components/colorlook-component.class.d.ts +0 -1
- package/common/lib/components/interactive-component.class.d.ts +0 -1
- package/common/lib/components/look-component.class.d.ts +0 -1
- package/common/lib/components/selection-base.component.class.d.ts +45 -0
- package/common/lib/components/value-component.class.d.ts +0 -1
- package/data-pager/lib/data-pager-base.component.d.ts +3 -3
- package/data-pager/lib/data-pager.component.d.ts +2 -2
- package/datetime-box/lib/datetime-box.component.d.ts +9 -9
- package/datetime-input/lib/datetime-input.component.d.ts +1 -1
- package/datetime-picker/index.d.ts +1 -0
- package/datetime-picker/lib/datetime-picker.component.d.ts +5 -4
- package/datetime-picker/lib/datetime-picker.config.d.ts +8 -0
- package/dropdown/lib/dropdown-box.component.d.ts +6 -4
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +4 -3
- package/esm2022/alert/lib/alert.component.mjs +3 -3
- package/esm2022/avatar/lib/avatar-group.component.mjs +2 -4
- package/esm2022/avatar/lib/avatar.component.mjs +21 -15
- package/esm2022/avatar/lib/avatar.module.mjs +3 -3
- package/esm2022/badge/lib/badge.component.mjs +2 -3
- package/esm2022/button/lib/button.component.mjs +2 -2
- package/esm2022/calendar/lib/calendar.class.mjs +2 -3
- package/esm2022/calendar/lib/calendar.component.mjs +2 -1
- package/esm2022/chips/lib/chips.component.mjs +3 -4
- package/esm2022/color-box/lib/color-box.component.mjs +1 -1
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +1 -1
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +2 -1
- package/esm2022/common/index.mjs +3 -1
- package/esm2022/common/lib/classes/styles.class.mjs +1 -1
- package/esm2022/common/lib/components/appearance-component.class.mjs +25 -0
- package/esm2022/common/lib/components/base-component.class.mjs +15 -16
- package/esm2022/common/lib/components/color-component.class.mjs +2 -2
- package/esm2022/common/lib/components/colorlook-component.class.mjs +1 -4
- package/esm2022/common/lib/components/interactive-component.class.mjs +24 -24
- package/esm2022/common/lib/components/look-component.class.mjs +2 -2
- package/esm2022/common/lib/components/selection-base.component.class.mjs +176 -0
- package/esm2022/common/lib/components/value-component.class.mjs +8 -7
- package/esm2022/data-pager/lib/data-pager-base.component.mjs +4 -10
- package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +4 -4
- package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +59 -16
- package/esm2022/data-pager/lib/data-pager.component.mjs +8 -8
- package/esm2022/datetime-box/lib/datetime-box.component.mjs +15 -12
- package/esm2022/datetime-input/lib/datetime-input.component.mjs +4 -4
- package/esm2022/datetime-picker/index.mjs +2 -1
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +23 -11
- package/esm2022/datetime-picker/lib/datetime-picker.config.mjs +22 -0
- package/esm2022/decorators/lib/components/generic-content.component.mjs +26 -3
- package/esm2022/dialog/lib/dialog.component.mjs +2 -1
- package/esm2022/dropdown/lib/dropdown-box.component.mjs +11 -9
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +3 -2
- package/esm2022/form/lib/form-field.component.mjs +2 -2
- package/esm2022/form/lib/form.component.mjs +7 -6
- package/esm2022/form/lib/validation-rule.widget.mjs +2 -1
- package/esm2022/image/lib/image.component.mjs +2 -1
- package/esm2022/loading/lib/loading.component.mjs +2 -1
- package/esm2022/notification/lib/notification.component.mjs +2 -1
- package/esm2022/number-box/lib/number-box.component.mjs +15 -8
- package/esm2022/otp/lib/otp.component.mjs +8 -7
- package/esm2022/password-box/lib/password-box.component.mjs +25 -19
- package/esm2022/picker/lib/picker.component.mjs +16 -20
- package/esm2022/popover/lib/popover.component.mjs +11 -4
- package/esm2022/popup/lib/popup.component.mjs +8 -6
- package/esm2022/popup/lib/popup.service.mjs +5 -3
- package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +2 -1
- package/esm2022/scheduler/lib/scheduler.component.mjs +2 -2
- package/esm2022/select-box/lib/select-box.component.mjs +15 -12
- package/esm2022/selection-list/lib/selection-list.component.mjs +52 -26
- package/esm2022/switch/lib/switch-content.component.mjs +9 -7
- package/esm2022/tabs/lib/tabs.component.mjs +2 -2
- package/esm2022/text-box/lib/text-box.component.mjs +28 -12
- package/esm2022/toast/lib/toast.component.mjs +2 -1
- package/esm2022/tooltip/lib/tooltip.directive.mjs +30 -2
- package/fesm2022/acorex-components-action-sheet.mjs +3 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +22 -18
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-badge.mjs +1 -2
- package/fesm2022/acorex-components-badge.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +2 -1
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +2 -3
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +1 -1
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +2 -1
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +241 -49
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +70 -33
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-box.mjs +16 -13
- package/fesm2022/acorex-components-datetime-box.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-input.mjs +3 -3
- package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +45 -13
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +24 -1
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +1 -0
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +11 -8
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +8 -6
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +1 -0
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +1 -0
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +1 -0
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-number-box.mjs +14 -7
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +7 -6
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +24 -18
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +13 -17
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +10 -3
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +9 -5
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +2 -1
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +14 -11
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +51 -26
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +8 -7
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +2 -2
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +26 -10
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +1 -0
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +29 -1
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/form/lib/form.component.d.ts +2 -2
- package/mixin/lib/base-components.class.d.ts +2 -2
- package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
- package/mixin/lib/button-mixin.class.d.ts +2 -2
- package/mixin/lib/clickable-mixin.class.d.ts +2 -2
- package/mixin/lib/color-look-mixing.class.d.ts +2 -2
- package/mixin/lib/datalist-component.class.d.ts +10 -10
- package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
- package/mixin/lib/interactive-mixin.class.d.ts +4 -4
- package/mixin/lib/mixin.class.d.ts +61 -61
- package/mixin/lib/page-component.class.d.ts +2 -2
- package/mixin/lib/selection-component.class.d.ts +2 -2
- package/mixin/lib/sizable-mixin.class.d.ts +2 -2
- package/mixin/lib/textbox-mixin.class.d.ts +2 -2
- package/mixin/lib/value-mixin.class.d.ts +8 -8
- package/number-box/lib/number-box.component.d.ts +12 -5
- package/otp/lib/otp.component.d.ts +9 -3
- package/package.json +1 -1
- package/password-box/lib/password-box.component.d.ts +10 -3
- package/picker/lib/picker.component.d.ts +2 -2
- package/popover/lib/popover.component.d.ts +3 -1
- package/popup/lib/popup.service.d.ts +1 -1
- package/select-box/lib/select-box.component.d.ts +2 -1
- package/selection-list/lib/selection-list.component.d.ts +10 -15
- package/switch/lib/switch-content.component.d.ts +2 -2
- package/text-box/lib/text-box.component.d.ts +11 -3
- package/tooltip/lib/tooltip.directive.d.ts +7 -1
@@ -1,8 +1,9 @@
|
|
1
|
+
import { MXInputBaseValueComponent, MXAppearanceComponent, AXComponent, AXFocusableComponent, AXClearableComponent } from '@acorex/components/common';
|
1
2
|
import * as i0 from '@angular/core';
|
2
|
-
import { forwardRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Input, NgModule } from '@angular/core';
|
3
|
-
import { MXInputBaseValueComponent, AXComponent, AXFocusableComponent, AXClearableComponent } from '@acorex/components/common';
|
3
|
+
import { forwardRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, Input, HostBinding, NgModule } from '@angular/core';
|
4
4
|
import * as i2 from '@angular/forms';
|
5
5
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
6
|
+
import { classes } from 'polytype';
|
6
7
|
import * as i1 from '@angular/common';
|
7
8
|
import { CommonModule } from '@angular/common';
|
8
9
|
import { AXButtonModule } from '@acorex/components/button';
|
@@ -13,7 +14,7 @@ import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
13
14
|
*
|
14
15
|
* @category Components
|
15
16
|
*/
|
16
|
-
class AXPasswordBoxComponent extends MXInputBaseValueComponent {
|
17
|
+
class AXPasswordBoxComponent extends classes((MXInputBaseValueComponent), MXAppearanceComponent) {
|
17
18
|
constructor() {
|
18
19
|
super(...arguments);
|
19
20
|
this._type = 'password';
|
@@ -37,38 +38,40 @@ class AXPasswordBoxComponent extends MXInputBaseValueComponent {
|
|
37
38
|
this._icon = 'ax-icon-visibility';
|
38
39
|
}
|
39
40
|
}
|
41
|
+
get __hostClass() {
|
42
|
+
return `ax-editor-container ax-appearance-${this.appearance}`;
|
43
|
+
}
|
40
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPasswordBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXPasswordBoxComponent, selector: "ax-password-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", autoComplete: "autoComplete", showToggleButton: "showToggleButton" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange" }, host: {
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXPasswordBoxComponent, selector: "ax-password-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", appearance: "appearance", autoComplete: "autoComplete", showToggleButton: "showToggleButton" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
|
42
46
|
{ provide: AXComponent, useExisting: AXPasswordBoxComponent },
|
43
47
|
{ provide: AXFocusableComponent, useExisting: AXPasswordBoxComponent },
|
44
48
|
{ provide: AXClearableComponent, useExisting: AXPasswordBoxComponent },
|
45
49
|
{
|
46
50
|
provide: NG_VALUE_ACCESSOR,
|
47
51
|
useExisting: forwardRef(() => AXPasswordBoxComponent),
|
48
|
-
multi: true
|
49
|
-
}
|
52
|
+
multi: true,
|
53
|
+
},
|
50
54
|
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" [name]=\"name\" [type]=\"_type\" [id]=\"id\" [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" [attr.autocomplete]=\"autoComplete\"\n (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n<ng-content select=\"ax-clear-button\"></ng-content>\n<button type=\"button\" class=\"ax-general-button ax-button-icon\" (click)=\"toggleType()\" [tabIndex]=\"-1\"\n *ngIf=\"showToggleButton\">\n <span class=\"ax-icon {{_icon}}\"></span>\n</button>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
51
55
|
}
|
52
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPasswordBoxComponent, decorators: [{
|
53
57
|
type: Component,
|
54
|
-
args: [{ selector: 'ax-password-box', inputs: [
|
55
|
-
'
|
56
|
-
'
|
57
|
-
'
|
58
|
-
'
|
59
|
-
'
|
60
|
-
'
|
61
|
-
'
|
62
|
-
|
63
|
-
], outputs: ['valueChange', 'stateChange', 'onValueChanged', 'onBlur', 'onFocus', 'readonlyChange', 'disabledChange'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'ax-editor-container' }, providers: [
|
58
|
+
args: [{ selector: 'ax-password-box', inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'appearance'], outputs: [
|
59
|
+
'valueChange',
|
60
|
+
'stateChange',
|
61
|
+
'onValueChanged',
|
62
|
+
'onBlur',
|
63
|
+
'onFocus',
|
64
|
+
'readonlyChange',
|
65
|
+
'disabledChange',
|
66
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
64
67
|
{ provide: AXComponent, useExisting: AXPasswordBoxComponent },
|
65
68
|
{ provide: AXFocusableComponent, useExisting: AXPasswordBoxComponent },
|
66
69
|
{ provide: AXClearableComponent, useExisting: AXPasswordBoxComponent },
|
67
70
|
{
|
68
71
|
provide: NG_VALUE_ACCESSOR,
|
69
72
|
useExisting: forwardRef(() => AXPasswordBoxComponent),
|
70
|
-
multi: true
|
71
|
-
}
|
73
|
+
multi: true,
|
74
|
+
},
|
72
75
|
], template: "<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" [name]=\"name\" [type]=\"_type\" [id]=\"id\" [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" [attr.autocomplete]=\"autoComplete\"\n (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n<ng-content select=\"ax-clear-button\"></ng-content>\n<button type=\"button\" class=\"ax-general-button ax-button-icon\" (click)=\"toggleType()\" [tabIndex]=\"-1\"\n *ngIf=\"showToggleButton\">\n <span class=\"ax-icon {{_icon}}\"></span>\n</button>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>" }]
|
73
76
|
}], propDecorators: { input: [{
|
74
77
|
type: ViewChild,
|
@@ -77,6 +80,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
77
80
|
type: Input
|
78
81
|
}], showToggleButton: [{
|
79
82
|
type: Input
|
83
|
+
}], __hostClass: [{
|
84
|
+
type: HostBinding,
|
85
|
+
args: ['class']
|
80
86
|
}] } });
|
81
87
|
|
82
88
|
const COMPONENT = [AXPasswordBoxComponent];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-password-box.mjs","sources":["../../../../libs/components/password-box/src/lib/password-box.component.ts","../../../../libs/components/password-box/src/lib/password-box.component.html","../../../../libs/components/password-box/src/lib/password-box.module.ts","../../../../libs/components/password-box/src/acorex-components-password-box.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport {
|
1
|
+
{"version":3,"file":"acorex-components-password-box.mjs","sources":["../../../../libs/components/password-box/src/lib/password-box.component.ts","../../../../libs/components/password-box/src/lib/password-box.component.html","../../../../libs/components/password-box/src/lib/password-box.module.ts","../../../../libs/components/password-box/src/acorex-components-password-box.ts"],"sourcesContent":["import {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n MXAppearanceComponent,\n MXInputBaseValueComponent,\n} from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\n\n/**\n * The Textbox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-password-box',\n templateUrl: 'password-box.component.html',\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'appearance'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n\n providers: [\n { provide: AXComponent, useExisting: AXPasswordBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXPasswordBoxComponent },\n { provide: AXClearableComponent, useExisting: AXPasswordBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPasswordBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXPasswordBoxComponent extends classes(\n MXInputBaseValueComponent<string>,\n MXAppearanceComponent,\n) {\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\n\n protected _type: 'password' | 'text' = 'password';\n protected _icon: 'ax-icon-visibility' | 'ax-icon-visibility-off' = 'ax-icon-visibility';\n\n @Input()\n autoComplete: 'current-password' | 'new-password' | 'one-time-code' | 'off' = 'one-time-code';\n\n /**\n * A flag for showing or hiding password button.\n */\n @Input()\n showToggleButton: boolean = true;\n\n _handleModelChange(value: string) {\n this.commitValue(value, true);\n }\n\n toggleType() {\n if (this._type === 'password') {\n this._type = 'text';\n this._icon = 'ax-icon-visibility-off';\n } else {\n this._type = 'password';\n this._icon = 'ax-icon-visibility';\n }\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-editor-container ax-appearance-${this.appearance}`;\n }\n}\n","<ng-content select=\"ax-prefix\">\n</ng-content>\n<input #input class=\"ax-input\" [name]=\"name\" [type]=\"_type\" [id]=\"id\" [attr.placeholder]=\"placeholder\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" [attr.autocomplete]=\"autoComplete\"\n (ngModelChange)=\"_handleModelChange($event)\" (keydown)=\"emitOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\">\n<ng-content select=\"ax-clear-button\"></ng-content>\n<button type=\"button\" class=\"ax-general-button ax-button-icon\" (click)=\"toggleType()\" [tabIndex]=\"-1\"\n *ngIf=\"showToggleButton\">\n <span class=\"ax-icon {{_icon}}\"></span>\n</button>\n<ng-content select=\"ax-suffix\">\n</ng-content>\n<ng-content select=\"ax-validation-rule\">\n</ng-content>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPasswordBoxComponent } from './password-box.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\n\nconst COMPONENT = [AXPasswordBoxComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXButtonModule,\n AXDecoratorModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXPasswordBoxModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -89,8 +89,7 @@ class AXPickerComponent extends MXBaseComponent {
|
|
89
89
|
this._columns.changes
|
90
90
|
.pipe(this._unsubscriber.takeUntilDestroy)
|
91
91
|
.pipe(startWith(undefined))
|
92
|
-
.subscribe(
|
93
|
-
debugger;
|
92
|
+
.subscribe(() => {
|
94
93
|
this._setHeights();
|
95
94
|
this.cdr.detectChanges();
|
96
95
|
this._bindEvents();
|
@@ -102,7 +101,7 @@ class AXPickerComponent extends MXBaseComponent {
|
|
102
101
|
_setHeights() {
|
103
102
|
this._itemHeight = this._calcItemheight();
|
104
103
|
setTimeout(() => {
|
105
|
-
const val = this.getHostElement().clientHeight - this.getHostElement().querySelector(
|
104
|
+
const val = this.getHostElement().clientHeight - this.getHostElement().querySelector('.ax-header').clientHeight;
|
106
105
|
this.getHostElement().style.setProperty('--content-height', `${val}px`);
|
107
106
|
}, 50);
|
108
107
|
}
|
@@ -113,19 +112,17 @@ class AXPickerComponent extends MXBaseComponent {
|
|
113
112
|
_bindEvents() {
|
114
113
|
this._removeEvents();
|
115
114
|
//
|
116
|
-
this._htmlColumns = Array.from(this.getHostElement().querySelectorAll(
|
117
|
-
this._columns.forEach(c => {
|
118
|
-
c.onValueChanged
|
119
|
-
.pipe(this._unsubscriber.takeUntilDestroy)
|
120
|
-
.subscribe(() => {
|
115
|
+
this._htmlColumns = Array.from(this.getHostElement().querySelectorAll('.ax-picker-col .ax-content'));
|
116
|
+
this._columns.forEach((c) => {
|
117
|
+
c.onValueChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe(() => {
|
121
118
|
this._detectSelectedItemsByValue();
|
122
119
|
});
|
123
120
|
});
|
124
121
|
this._htmlColumns.forEach((col, index) => {
|
125
122
|
col['column'] = this._columns.get(index);
|
126
|
-
col.addEventListener(
|
123
|
+
col.addEventListener('wheel', this._handleMouseWeel.bind(this), { passive: false });
|
127
124
|
//
|
128
|
-
col.addEventListener(
|
125
|
+
col.addEventListener('touchstart', this._handleTouchStart.bind(this), { passive: false });
|
129
126
|
//col.addEventListener("mousedown", this._handleTouchStart.bind(this), { passive: false });
|
130
127
|
//
|
131
128
|
col.addEventListener('touchmove', this._handleTouchMove.bind(this), { passive: false });
|
@@ -137,9 +134,9 @@ class AXPickerComponent extends MXBaseComponent {
|
|
137
134
|
}
|
138
135
|
_removeEvents() {
|
139
136
|
this._htmlColumns?.forEach((col) => {
|
140
|
-
col.removeEventListener(
|
137
|
+
col.removeEventListener('wheel', this._handleMouseWeel.bind(this));
|
141
138
|
//
|
142
|
-
col.removeEventListener(
|
139
|
+
col.removeEventListener('touchstart', this._handleTouchStart.bind(this));
|
143
140
|
//col.removeEventListener("mousedown", this._handleTouchStart.bind(this));
|
144
141
|
col.removeEventListener('touchmove', this._handleTouchMove.bind(this));
|
145
142
|
//col.removeEventListener('mousemove', this._handleTouchMove.bind(this));
|
@@ -173,7 +170,7 @@ class AXPickerComponent extends MXBaseComponent {
|
|
173
170
|
_handleTouchEnd(e) {
|
174
171
|
// simulate click
|
175
172
|
const targetelement = e.target;
|
176
|
-
if (!this._dragging && targetelement.tagName ==
|
173
|
+
if (!this._dragging && targetelement.tagName == 'LI') {
|
177
174
|
targetelement.click();
|
178
175
|
}
|
179
176
|
this._dragging = false;
|
@@ -188,8 +185,7 @@ class AXPickerComponent extends MXBaseComponent {
|
|
188
185
|
if (column.readonly || column.disabled)
|
189
186
|
return;
|
190
187
|
let index = column.items.indexOf(column.value);
|
191
|
-
|
192
|
-
index = (deltaY < 0) ? (index - column.step) : (index + column.step);
|
188
|
+
index = deltaY < 0 ? index - column.step : index + column.step;
|
193
189
|
if (index < 0)
|
194
190
|
index = 0;
|
195
191
|
if (index >= column.items.length)
|
@@ -203,10 +199,10 @@ class AXPickerComponent extends MXBaseComponent {
|
|
203
199
|
}
|
204
200
|
_detectSelectedItemsByValue() {
|
205
201
|
this._zone.runOutsideAngular(() => {
|
206
|
-
this._htmlColumns.forEach(col => {
|
202
|
+
this._htmlColumns.forEach((col) => {
|
207
203
|
const column = col['column'];
|
208
204
|
const index = column.items.indexOf(column.value);
|
209
|
-
col.querySelector(
|
205
|
+
col.querySelector('ul').style.transform = `translateY(${-index * this._itemHeight}px)`;
|
210
206
|
this.cdr.markForCheck();
|
211
207
|
});
|
212
208
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-picker.mjs","sources":["../../../../libs/components/picker/src/lib/picker-column.directive.ts","../../../../libs/components/picker/src/lib/picker.component.ts","../../../../libs/components/picker/src/lib/picker.component.html","../../../../libs/components/picker/src/lib/picker.module.ts","../../../../libs/components/picker/src/acorex-components-picker.ts"],"sourcesContent":["import { MXValueComponent } from '@acorex/components/common';\nimport { Directive, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: 'ax-picker-column',\n inputs: [\n 'disabled',\n 'readonly',\n 'readonlyChange',\n 'disabledChange'\n ],\n outputs: [\n 'onValueChanged'\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPickerColumnDirective),\n multi: true\n }\n ],\n})\nexport class AXPickerColumnDirective extends MXValueComponent {\n\n @Input()\n valueField = 'id';\n\n @Input()\n textField = 'text';\n\n @Input()\n public title: string;\n @Input()\n public step = 1;\n\n\n @Output()\n itemsChange: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\n\n private _items: unknown[];\n @Input()\n public get items(): unknown[] {\n return this._items;\n }\n public set items(v: unknown[]) {\n this._items = v;\n this.itemsChange.emit(v);\n }\n\n override internalSetValue(v) {\n if (v == null)\n return v;\n else if (typeof v == 'object') {\n return this.items.find(c => c[this.valueField] == v[this.valueField])\n }\n else {\n return this.items.find(c => c[this.valueField] == v)\n }\n }\n}","import { Component, ViewEncapsulation, ChangeDetectionStrategy, QueryList, ContentChildren, AfterViewInit, OnDestroy, inject, NgZone, AfterContentInit } from '@angular/core';\nimport { MXBaseComponent } from '@acorex/components/common';\nimport { AXPickerColumnDirective } from './picker-column.directive';\nimport { AXDrawingUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport { startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-picker',\n templateUrl: './picker.component.html',\n styleUrls: ['./picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXUnsubscriber]\n})\nexport class AXPickerComponent extends MXBaseComponent implements AfterContentInit, OnDestroy {\n\n @ContentChildren(AXPickerColumnDirective, { emitDistinctChangesOnly: true })\n protected _columns: QueryList<AXPickerColumnDirective> = {} as QueryList<AXPickerColumnDirective>;\n\n private _itemHeight = this._calcItemheight();\n private _htmlColumns: HTMLDivElement[];\n private _dragging = false;\n private _previousY: number;\n private _currentList: HTMLDivElement;\n\n protected _unsubscriber: AXUnsubscriber = inject(AXUnsubscriber);\n protected _zone: NgZone = inject(NgZone);\n\n\n ngAfterContentInit() {\n this._columns.changes\n .pipe(this._unsubscriber.takeUntilDestroy)\n .pipe(startWith(undefined))\n .subscribe(c => {\n debugger\n this._setHeights();\n this.cdr.detectChanges();\n this._bindEvents();\n });\n }\n\n ngOnDestroy() {\n this._removeEvents();\n }\n\n private _setHeights() {\n this._itemHeight = this._calcItemheight();\n setTimeout(() => {\n const val = this.getHostElement().clientHeight - this.getHostElement().querySelector(\".ax-header\").clientHeight;\n this.getHostElement().style.setProperty('--content-height', `${val}px`);\n }, 50);\n }\n\n private _calcItemheight(): number {\n const rem = window.getComputedStyle(document.documentElement, null).getPropertyValue('--ax-size-default');\n return AXDrawingUtil.convertRemToPixels(Number(rem?.replace('rem', '') ?? 0));\n }\n\n private _bindEvents(): void {\n this._removeEvents();\n //\n this._htmlColumns = Array.from(this.getHostElement().querySelectorAll<HTMLDivElement>(\".ax-picker-col .ax-content\"));\n this._columns.forEach(c => {\n c.onValueChanged\n .pipe(this._unsubscriber.takeUntilDestroy)\n .subscribe(() => {\n this._detectSelectedItemsByValue();\n });\n });\n\n this._htmlColumns.forEach((col, index) => {\n col['column'] = this._columns.get(index);\n col.addEventListener(\"wheel\", this._handleMouseWeel.bind(this), { passive: false });\n //\n col.addEventListener(\"touchstart\", this._handleTouchStart.bind(this), { passive: false });\n //col.addEventListener(\"mousedown\", this._handleTouchStart.bind(this), { passive: false });\n //\n col.addEventListener('touchmove', this._handleTouchMove.bind(this), { passive: false })\n //col.addEventListener('mousemove', this._handleTouchMove.bind(this), { passive: false })\n //\n col.addEventListener('touchend', this._handleTouchEnd.bind(this), { passive: false })\n //col.addEventListener('mouseup', this._handleTouchMove.bind(this), { passive: false })\n });\n }\n\n private _removeEvents(): void {\n this._htmlColumns?.forEach((col) => {\n col.removeEventListener(\"wheel\", this._handleMouseWeel.bind(this));\n //\n col.removeEventListener(\"touchstart\", this._handleTouchStart.bind(this));\n //col.removeEventListener(\"mousedown\", this._handleTouchStart.bind(this));\n col.removeEventListener('touchmove', this._handleTouchMove.bind(this));\n //col.removeEventListener('mousemove', this._handleTouchMove.bind(this));\n //\n col.removeEventListener('touchend', this._handleTouchEnd.bind(this));\n //col.removeEventListener('mouseup', this._handleTouchEnd.bind(this));\n });\n }\n\n _handleTouchStart(e: MouseEvent | TouchEvent) {\n e.preventDefault();\n e.stopPropagation();\n this._currentList = e.currentTarget as HTMLDivElement;\n this._previousY = e instanceof TouchEvent ? e.touches[0].clientY : e.clientY;\n }\n\n private _handleTouchMove(e: MouseEvent | TouchEvent): void {\n //console.log(\"touchmove\");\n this._dragging = true;\n e.preventDefault();\n e.stopPropagation();\n this._zone.runOutsideAngular(() => {\n if (this._currentList && this._dragging) {\n const clientY = e instanceof TouchEvent ? e.touches[0].clientY : e.clientY;\n const delta = clientY - this._previousY;\n this._previousY = clientY;\n //console.log(delta);\n if (Math.abs(delta) > 1)\n this._moveByDelta(this._currentList, -delta);\n }\n });\n }\n\n private _handleTouchEnd(e: MouseEvent | TouchEvent): void {\n // simulate click\n const targetelement = (e.target as HTMLElement);\n if (!this._dragging && targetelement.tagName == \"LI\") {\n targetelement.click();\n }\n this._dragging = false;\n }\n\n private _handleMouseWeel(e: WheelEvent): void {\n e.preventDefault();\n e.stopPropagation();\n this._moveByDelta(e.currentTarget as HTMLDivElement, e.deltaY);\n }\n\n private _moveByDelta(col: HTMLDivElement, deltaY: number) {\n const column = col['column'] as AXPickerColumnDirective;\n if (column.readonly || column.disabled)\n return;\n let index = column.items.indexOf(column.value);\n console.log(deltaY)\n index = (deltaY < 0) ? (index - column.step) : (index + column.step);\n if (index < 0)\n index = 0;\n if (index >= column.items.length)\n index = column.items.length - 1;\n column.commitValue(column.items[index], true);\n }\n\n protected _handleItemClick(column: AXPickerColumnDirective, item: any) {\n if (column.readonly || column.disabled)\n return;\n column.commitValue(item, true);\n }\n\n private _detectSelectedItemsByValue(): void {\n this._zone.runOutsideAngular(() => {\n this._htmlColumns.forEach(col => {\n const column = col['column'] as AXPickerColumnDirective;\n const index = column.items.indexOf(column.value);\n col.querySelector(\"ul\").style.transform = `translateY(${-index * this._itemHeight}px)`\n this.cdr.markForCheck();\n });\n });\n }\n\n public refresh() {\n this._setHeights();\n this._detectSelectedItemsByValue();\n }\n}\n","<div class=\"ax-header\">\n <div class=\"ax-picker-col\" *ngFor=\"let col of _columns\">\n <div class=\"ax-header\">\n {{col.title}}\n </div>\n </div>\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-picker-window\"></div>\n <div class=\"ax-picker-col\" *ngFor=\"let col of _columns\" [class.ax-state-disabled]=\"col.disabled\"\n [class.ax-state-readonly]=\"col.readonly\">\n <div class=\"ax-content\">\n <ul>\n <li *ngFor=\"let item of col.items\" (click)=\"_handleItemClick(col,item)\"\n [class.ax-state-active]=\"col.value && col.value[col.valueField]===item[col.valueField]\"\n [class.ax-state-disabled]=\"col.disabled\" [class.ax-state-readonly]=\"col.readonly\">\n {{item[col.textField]}}\n </li>\n </ul>\n </div>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPickerComponent } from './picker.component';\nimport { AXPickerColumnDirective } from './picker-column.directive';\n\nconst COMPONENT = [AXPickerComponent, AXPickerColumnDirective];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXPickerModule { }\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-picker.mjs","sources":["../../../../libs/components/picker/src/lib/picker-column.directive.ts","../../../../libs/components/picker/src/lib/picker.component.ts","../../../../libs/components/picker/src/lib/picker.component.html","../../../../libs/components/picker/src/lib/picker.module.ts","../../../../libs/components/picker/src/acorex-components-picker.ts"],"sourcesContent":["import { MXValueComponent } from '@acorex/components/common';\nimport { Directive, EventEmitter, Input, Output, forwardRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Directive({\n selector: 'ax-picker-column',\n inputs: [\n 'disabled',\n 'readonly',\n 'readonlyChange',\n 'disabledChange'\n ],\n outputs: [\n 'onValueChanged'\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXPickerColumnDirective),\n multi: true\n }\n ],\n})\nexport class AXPickerColumnDirective extends MXValueComponent {\n\n @Input()\n valueField = 'id';\n\n @Input()\n textField = 'text';\n\n @Input()\n public title: string;\n @Input()\n public step = 1;\n\n\n @Output()\n itemsChange: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\n\n private _items: unknown[];\n @Input()\n public get items(): unknown[] {\n return this._items;\n }\n public set items(v: unknown[]) {\n this._items = v;\n this.itemsChange.emit(v);\n }\n\n override internalSetValue(v) {\n if (v == null)\n return v;\n else if (typeof v == 'object') {\n return this.items.find(c => c[this.valueField] == v[this.valueField])\n }\n else {\n return this.items.find(c => c[this.valueField] == v)\n }\n }\n}","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXDrawingUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n NgZone,\n OnDestroy,\n QueryList,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { startWith } from 'rxjs';\nimport { AXPickerColumnDirective } from './picker-column.directive';\n\n@Component({\n selector: 'ax-picker',\n templateUrl: './picker.component.html',\n styleUrls: ['./picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXUnsubscriber],\n})\nexport class AXPickerComponent extends MXBaseComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(AXPickerColumnDirective, { emitDistinctChangesOnly: true })\n protected _columns: QueryList<AXPickerColumnDirective> = {} as QueryList<AXPickerColumnDirective>;\n\n private _itemHeight = this._calcItemheight();\n private _htmlColumns: HTMLDivElement[];\n private _dragging = false;\n private _previousY: number;\n private _currentList: HTMLDivElement;\n\n protected _unsubscriber: AXUnsubscriber = inject(AXUnsubscriber);\n protected _zone: NgZone = inject(NgZone);\n\n ngAfterContentInit() {\n this._columns.changes\n .pipe(this._unsubscriber.takeUntilDestroy)\n .pipe(startWith(undefined))\n .subscribe(() => {\n this._setHeights();\n this.cdr.detectChanges();\n this._bindEvents();\n });\n }\n\n ngOnDestroy() {\n this._removeEvents();\n }\n\n private _setHeights() {\n this._itemHeight = this._calcItemheight();\n setTimeout(() => {\n const val =\n this.getHostElement().clientHeight - this.getHostElement().querySelector('.ax-header').clientHeight;\n this.getHostElement().style.setProperty('--content-height', `${val}px`);\n }, 50);\n }\n\n private _calcItemheight(): number {\n const rem = window.getComputedStyle(document.documentElement, null).getPropertyValue('--ax-size-default');\n return AXDrawingUtil.convertRemToPixels(Number(rem?.replace('rem', '') ?? 0));\n }\n\n private _bindEvents(): void {\n this._removeEvents();\n //\n this._htmlColumns = Array.from(\n this.getHostElement().querySelectorAll<HTMLDivElement>('.ax-picker-col .ax-content'),\n );\n this._columns.forEach((c) => {\n c.onValueChanged.pipe(this._unsubscriber.takeUntilDestroy).subscribe(() => {\n this._detectSelectedItemsByValue();\n });\n });\n\n this._htmlColumns.forEach((col, index) => {\n col['column'] = this._columns.get(index);\n col.addEventListener('wheel', this._handleMouseWeel.bind(this), { passive: false });\n //\n col.addEventListener('touchstart', this._handleTouchStart.bind(this), { passive: false });\n //col.addEventListener(\"mousedown\", this._handleTouchStart.bind(this), { passive: false });\n //\n col.addEventListener('touchmove', this._handleTouchMove.bind(this), { passive: false });\n //col.addEventListener('mousemove', this._handleTouchMove.bind(this), { passive: false })\n //\n col.addEventListener('touchend', this._handleTouchEnd.bind(this), { passive: false });\n //col.addEventListener('mouseup', this._handleTouchMove.bind(this), { passive: false })\n });\n }\n\n private _removeEvents(): void {\n this._htmlColumns?.forEach((col) => {\n col.removeEventListener('wheel', this._handleMouseWeel.bind(this));\n //\n col.removeEventListener('touchstart', this._handleTouchStart.bind(this));\n //col.removeEventListener(\"mousedown\", this._handleTouchStart.bind(this));\n col.removeEventListener('touchmove', this._handleTouchMove.bind(this));\n //col.removeEventListener('mousemove', this._handleTouchMove.bind(this));\n //\n col.removeEventListener('touchend', this._handleTouchEnd.bind(this));\n //col.removeEventListener('mouseup', this._handleTouchEnd.bind(this));\n });\n }\n\n _handleTouchStart(e: MouseEvent | TouchEvent) {\n e.preventDefault();\n e.stopPropagation();\n this._currentList = e.currentTarget as HTMLDivElement;\n this._previousY = e instanceof TouchEvent ? e.touches[0].clientY : e.clientY;\n }\n\n private _handleTouchMove(e: MouseEvent | TouchEvent): void {\n //console.log(\"touchmove\");\n this._dragging = true;\n e.preventDefault();\n e.stopPropagation();\n this._zone.runOutsideAngular(() => {\n if (this._currentList && this._dragging) {\n const clientY = e instanceof TouchEvent ? e.touches[0].clientY : e.clientY;\n const delta = clientY - this._previousY;\n this._previousY = clientY;\n //console.log(delta);\n if (Math.abs(delta) > 1) this._moveByDelta(this._currentList, -delta);\n }\n });\n }\n\n private _handleTouchEnd(e: MouseEvent | TouchEvent): void {\n // simulate click\n const targetelement = e.target as HTMLElement;\n if (!this._dragging && targetelement.tagName == 'LI') {\n targetelement.click();\n }\n this._dragging = false;\n }\n\n private _handleMouseWeel(e: WheelEvent): void {\n e.preventDefault();\n e.stopPropagation();\n this._moveByDelta(e.currentTarget as HTMLDivElement, e.deltaY);\n }\n\n private _moveByDelta(col: HTMLDivElement, deltaY: number) {\n const column = col['column'] as AXPickerColumnDirective;\n if (column.readonly || column.disabled) return;\n let index = column.items.indexOf(column.value);\n index = deltaY < 0 ? index - column.step : index + column.step;\n if (index < 0) index = 0;\n if (index >= column.items.length) index = column.items.length - 1;\n column.commitValue(column.items[index], true);\n }\n\n protected _handleItemClick(column: AXPickerColumnDirective, item: any) {\n if (column.readonly || column.disabled) return;\n column.commitValue(item, true);\n }\n\n private _detectSelectedItemsByValue(): void {\n this._zone.runOutsideAngular(() => {\n this._htmlColumns.forEach((col) => {\n const column = col['column'] as AXPickerColumnDirective;\n const index = column.items.indexOf(column.value);\n col.querySelector('ul').style.transform = `translateY(${-index * this._itemHeight}px)`;\n this.cdr.markForCheck();\n });\n });\n }\n\n public refresh() {\n this._setHeights();\n this._detectSelectedItemsByValue();\n }\n}\n","<div class=\"ax-header\">\n <div class=\"ax-picker-col\" *ngFor=\"let col of _columns\">\n <div class=\"ax-header\">\n {{col.title}}\n </div>\n </div>\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-picker-window\"></div>\n <div class=\"ax-picker-col\" *ngFor=\"let col of _columns\" [class.ax-state-disabled]=\"col.disabled\"\n [class.ax-state-readonly]=\"col.readonly\">\n <div class=\"ax-content\">\n <ul>\n <li *ngFor=\"let item of col.items\" (click)=\"_handleItemClick(col,item)\"\n [class.ax-state-active]=\"col.value && col.value[col.valueField]===item[col.valueField]\"\n [class.ax-state-disabled]=\"col.disabled\" [class.ax-state-readonly]=\"col.readonly\">\n {{item[col.textField]}}\n </li>\n </ul>\n </div>\n </div>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPickerComponent } from './picker.component';\nimport { AXPickerColumnDirective } from './picker-column.directive';\n\nconst COMPONENT = [AXPickerComponent, AXPickerColumnDirective];\nconst MODULES = [CommonModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXPickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -26,6 +26,9 @@ class AXPopoverComponent extends MXBaseComponent {
|
|
26
26
|
this._closeOn = 'clickout';
|
27
27
|
//
|
28
28
|
this.hasBackdrop = false;
|
29
|
+
//
|
30
|
+
this.openAfter = 200;
|
31
|
+
this.closeAfter = 200;
|
29
32
|
this.adaptivityEnabled = false;
|
30
33
|
//
|
31
34
|
this.onOpened = new EventEmitter();
|
@@ -147,13 +150,13 @@ class AXPopoverComponent extends MXBaseComponent {
|
|
147
150
|
const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');
|
148
151
|
const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');
|
149
152
|
if (this.openOn == 'hover') {
|
150
|
-
this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(
|
153
|
+
this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(this.openAfter)).subscribe(() => {
|
151
154
|
this._isMouseOverButton = true;
|
152
155
|
this.open();
|
153
156
|
});
|
154
157
|
}
|
155
158
|
if (this.closeOn == 'leave') {
|
156
|
-
this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(
|
159
|
+
this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(this.closeAfter)).subscribe(() => {
|
157
160
|
this._isMouseOverButton = false;
|
158
161
|
if (!this._isMouseOverTooltip) {
|
159
162
|
this.close();
|
@@ -334,7 +337,7 @@ class AXPopoverComponent extends MXBaseComponent {
|
|
334
337
|
this._overlayRef?.dispose();
|
335
338
|
}
|
336
339
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
337
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXPopoverComponent, selector: "ax-popover", inputs: { offsetX: "offsetX", offsetY: "offsetY", target: "target", placement: "placement", content: "content", openOn: "openOn", closeOn: "closeOn", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [{ provide: AXFocusableComponent, useExisting: AXPopoverComponent }], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
340
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.9", type: AXPopoverComponent, selector: "ax-popover", inputs: { offsetX: "offsetX", offsetY: "offsetY", target: "target", placement: "placement", content: "content", openOn: "openOn", closeOn: "closeOn", hasBackdrop: "hasBackdrop", openAfter: "openAfter", closeAfter: "closeAfter", backdropClass: "backdropClass", adaptivityEnabled: "adaptivityEnabled" }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [{ provide: AXFocusableComponent, useExisting: AXPopoverComponent }], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
338
341
|
}
|
339
342
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXPopoverComponent, decorators: [{
|
340
343
|
type: Component,
|
@@ -358,6 +361,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImpor
|
|
358
361
|
type: Input
|
359
362
|
}], hasBackdrop: [{
|
360
363
|
type: Input
|
364
|
+
}], openAfter: [{
|
365
|
+
type: Input
|
366
|
+
}], closeAfter: [{
|
367
|
+
type: Input
|
361
368
|
}], backdropClass: [{
|
362
369
|
type: Input
|
363
370
|
}], adaptivityEnabled: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-popover.mjs","sources":["../../../../libs/components/popover/src/lib/popover.component.ts","../../../../libs/components/popover/src/lib/popover.component.html","../../../../libs/components/popover/src/lib/popover.module.ts","../../../../libs/components/popover/src/acorex-components-popover.ts"],"sourcesContent":["import {\n AXConnectedPosition,\n AXEvent,\n AXFocusableComponent,\n AXPlacementType,\n AX_PLACEMENT_BOTTOM_END,\n AX_PLACEMENT_BOTTOM_START,\n AX_PLACEMENT_TOP_END,\n AX_PLACEMENT_TOP_START,\n MXBaseComponent,\n convertToPlacement,\n} from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { Subscription, delay, fromEvent } from 'rxjs';\n\nexport type AXPopoverOpenTrigger = 'manual' | 'click' | 'hover' | 'toggle';\n\nexport type AXPopoverCloseTrigger = 'manual' | 'clickout' | 'leave';\n\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXFocusableComponent, useExisting: AXPopoverComponent }],\n})\nexport class AXPopoverComponent extends MXBaseComponent {\n private _platform: AXPlatform = inject(AXPlatform);\n private _overlay: Overlay = inject(Overlay);\n private _overlayRef!: OverlayRef;\n private _isMouseOverButton = false;\n private _isMouseOverTooltip = false;\n private _lastActiveElement: HTMLElement;\n private _targetEvents: {\n mouseenter?: Subscription;\n mouseleave?: Subscription;\n click?: Subscription;\n } = {};\n private _overlayEvents: {\n attach?: Subscription;\n detach?: Subscription;\n scroll?: Subscription;\n outside?: Subscription;\n } = {};\n\n //\n private _offsetX: number;\n @Input()\n public get offsetX(): number {\n return this._offsetX;\n }\n public set offsetX(v: number) {\n this.setOption({\n name: 'offsetX',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n //\n private _offsetY: number\n @Input()\n public get offsetY(): number {\n return this._offsetY;\n }\n public set offsetY(v: number) {\n this.setOption({\n name: 'offsetY',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n\n //\n private _target!: HTMLElement;\n @Input()\n public get target(): HTMLElement | ElementRef | MXBaseComponent {\n return this._target;\n }\n public set target(v: HTMLElement | ElementRef | MXBaseComponent) {\n this.removeTargetEvents();\n if (v instanceof HTMLElement) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v.getHostElement == 'function') this._target = v.getHostElement();\n //\n this.bindTargetEvents();\n }\n //\n private _defautPlacements: AXConnectedPosition[] = convertToPlacement('bottom-start');\n\n private _placements: AXConnectedPosition[] = [...this._defautPlacements];\n\n private _placement: AXPlacementType = this._placements;\n @Input()\n public get placement(): AXPlacementType {\n return this._placement;\n }\n public set placement(v: AXPlacementType) {\n this.setOption({\n name: 'placement',\n value: v,\n afterCallback: (o, n) => {\n const converted = convertToPlacement(n);\n this._placements = converted.length ? converted : this._defautPlacements;\n this.updateOffset();\n this.updatePositionStrategy();\n },\n });\n }\n //\n private _portal: Portal<unknown>;\n\n\n private _componentRef: ComponentRef<unknown>;\n public get componentRef(): ComponentRef<unknown> {\n return this._componentRef;\n }\n\n public context: unknown;\n\n\n //\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<unknown>;\n //\n @Input()\n content: TemplateRef<unknown> | ComponentType<unknown>;\n //\n private _openOn: AXPopoverOpenTrigger = 'toggle';\n\n @Input()\n public get openOn(): AXPopoverOpenTrigger {\n return this._openOn;\n }\n public set openOn(v: AXPopoverOpenTrigger) {\n this.setOption({\n name: 'openOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n //\n private _closeOn: AXPopoverCloseTrigger = 'clickout';\n @Input()\n public get closeOn(): AXPopoverCloseTrigger {\n return this._closeOn;\n }\n public set closeOn(v: AXPopoverCloseTrigger) {\n this.setOption({\n name: 'closeOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n\n //\n @Input()\n hasBackdrop = false;\n\n @Input()\n backdropClass: string;\n\n @Input()\n adaptivityEnabled = false;\n //\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n\n\n private _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n private _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n //\n\n protected _handleMouseEnter(e: MouseEvent) {\n this._isMouseOverTooltip = true;\n }\n\n protected _handleMouseLeave(e: MouseEvent) {\n this._isMouseOverTooltip = false;\n setTimeout(() => {\n if (!this._isMouseOverButton && this.closeOn == 'leave') {\n this.close();\n }\n }, 250);\n }\n\n private removeTargetEvents(): void {\n Object.entries(this._targetEvents).forEach((e) => {\n e[1].unsubscribe();\n });\n }\n\n private bindTargetEvents() {\n this.removeTargetEvents();\n if (!this._target) return;\n const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');\n const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');\n\n if (this.openOn == 'hover') {\n this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(200)).subscribe(() => {\n this._isMouseOverButton = true;\n this.open();\n });\n }\n\n if (this.closeOn == 'leave') {\n this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(200)).subscribe(() => {\n this._isMouseOverButton = false;\n if (!this._isMouseOverTooltip) {\n this.close();\n }\n });\n }\n\n if (this.openOn === 'click' || this.openOn === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._targetEvents.click = click$.subscribe((e) => {\n this.openOn == 'toggle' ? this.toggle() : this.open();\n });\n }\n }\n //\n private bindOverlayEvents() {\n this.removeOverlayEvents();\n this._overlayEvents.attach = this._overlayRef.attachments().subscribe(() => {\n if (this.openOn == 'hover') {\n this._overlayRef.overlayElement.addEventListener('mouseenter', this._handleMouseEnter.bind(this));\n }\n if (this.closeOn == 'leave') {\n this._overlayRef.overlayElement.addEventListener('mouseleave', this._handleMouseLeave.bind(this));\n }\n //\n this._overlayEvents.outside = this._overlayRef._outsidePointerEvents.subscribe((e: MouseEvent) => {\n const el = e.target as HTMLElement;\n if (\n this.closeOn == 'clickout' &&\n this.isOpen &&\n !this._target.contains(el) &&\n !this._overlayRef?.overlayElement?.contains(el)\n ) {\n this.close();\n }\n });\n //\n this._overlayEvents.scroll = this._platform.scroll.subscribe((c) => {\n const el = c.nativeEvent.target as HTMLElement;\n if (\n this.isOpen &&\n el?.closest &&\n !el.closest('.ax-overlay-pane') &&\n !this._target.contains(el) &&\n !this._overlayRef?.overlayElement?.contains(el)\n ) {\n this.close();\n }\n });\n });\n }\n\n private removeOverlayEvents() {\n this._overlayRef?.overlayElement.removeEventListener('mouseenter', this._handleMouseEnter.bind(this));\n this._overlayRef?.overlayElement.addEventListener('mouseleave', this._handleMouseLeave.bind(this));\n Object.entries(this._overlayEvents).forEach((e) => {\n e[1].unsubscribe();\n });\n }\n\n //\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n //\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this.restoreFocus();\n this._emitOnClosedEvent();\n }\n\n //\n open() {\n if (this.isOpen) {\n return;\n }\n this.saveFocus();\n this.openOverlayInternal();\n this._emitOnOpenedEvent();\n }\n\n private saveFocus() {\n this._lastActiveElement = document.activeElement as HTMLElement;\n }\n\n private restoreFocus() {\n if (this._lastActiveElement?.focus) {\n this._lastActiveElement.focus();\n }\n }\n\n private openOverlayInternal() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n //if (!this._overlayRef) {\n if (this._platform.is('SM') && this.adaptivityEnabled) {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay.position().global().bottom().centerHorizontally(),\n disposeOnNavigation: true,\n scrollStrategy: this._overlay.scrollStrategies.block(),\n panelClass: ['ax-actionsheet-base', 'ax-animate-slideInUp', 'ax-animate-faster'],\n hasBackdrop: true,\n width: '100%',\n });\n } else {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(targetRef)\n .withPositions(this._placements)\n .withPush(false),\n scrollStrategy: this._overlay.scrollStrategies.close(),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],\n maxHeight: 'unset',\n hasBackdrop: this.hasBackdrop,\n backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],\n });\n }\n //\n this.bindOverlayEvents();\n //}\n //\n if (this.content instanceof TemplateRef) {\n this._portal = new TemplatePortal(this.content, this.getViewContainer(), {\n $implicit: this.context,\n ref: this,\n });\n this._overlayRef?.attach(this._portal);\n } else if (typeof this.content === 'function') {\n this._portal = new ComponentPortal(this.content,);\n this._componentRef = this._overlayRef?.attach(this._portal);\n Object.assign(this._componentRef.instance, this.context);\n }\n else {\n this._portal = new TemplatePortal(this._baseTemplate, this.getViewContainer(), {\n $implicit: this.context,\n ref: this,\n });\n this._overlayRef?.attach(this._portal);\n }\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n private updatePositionStrategy(): void {\n const targetRef = this._target;\n if (!targetRef) return;\n let strategy: PositionStrategy;\n if (this._platform.is('SM') && this.adaptivityEnabled) {\n strategy = this._overlay.position().global().bottom().centerHorizontally();\n } else {\n strategy = this._overlay\n .position()\n .flexibleConnectedTo(targetRef)\n .withPositions(this._placements)\n .withPush(false);\n }\n this._overlayRef?.updatePositionStrategy(strategy);\n }\n\n private updateOffset() {\n this._placements?.forEach((p) => {\n if (this.offsetY != null)\n p.offsetY = this.offsetY;\n if (this.offsetX != null)\n p.offsetX = this.offsetX;\n });\n }\n\n public updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n\n public focus(): void {\n //TODO: need this??\n }\n //\n ngOnDestroy(): void {\n this.removeTargetEvents();\n this.removeOverlayEvents();\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n declarations: [AXPopoverComponent],\n imports: [CommonModule],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\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-popover.mjs","sources":["../../../../libs/components/popover/src/lib/popover.component.ts","../../../../libs/components/popover/src/lib/popover.component.html","../../../../libs/components/popover/src/lib/popover.module.ts","../../../../libs/components/popover/src/acorex-components-popover.ts"],"sourcesContent":["import {\n AXConnectedPosition,\n AXEvent,\n AXFocusableComponent,\n AXPlacementType,\n MXBaseComponent,\n convertToPlacement,\n} from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { Overlay, OverlayRef, PositionStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType, Portal, TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { Subscription, delay, fromEvent } from 'rxjs';\n\nexport type AXPopoverOpenTrigger = 'manual' | 'click' | 'hover' | 'toggle';\n\nexport type AXPopoverCloseTrigger = 'manual' | 'clickout' | 'leave';\n\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXFocusableComponent, useExisting: AXPopoverComponent }],\n})\nexport class AXPopoverComponent extends MXBaseComponent {\n private _platform: AXPlatform = inject(AXPlatform);\n private _overlay: Overlay = inject(Overlay);\n private _overlayRef!: OverlayRef;\n private _isMouseOverButton = false;\n private _isMouseOverTooltip = false;\n private _lastActiveElement: HTMLElement;\n private _targetEvents: {\n mouseenter?: Subscription;\n mouseleave?: Subscription;\n click?: Subscription;\n } = {};\n private _overlayEvents: {\n attach?: Subscription;\n detach?: Subscription;\n scroll?: Subscription;\n outside?: Subscription;\n } = {};\n\n //\n private _offsetX: number;\n @Input()\n public get offsetX(): number {\n return this._offsetX;\n }\n public set offsetX(v: number) {\n this.setOption({\n name: 'offsetX',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n //\n private _offsetY: number\n @Input()\n public get offsetY(): number {\n return this._offsetY;\n }\n public set offsetY(v: number) {\n this.setOption({\n name: 'offsetY',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n\n //\n private _target!: HTMLElement;\n @Input()\n public get target(): HTMLElement | ElementRef | MXBaseComponent {\n return this._target;\n }\n public set target(v: HTMLElement | ElementRef | MXBaseComponent) {\n this.removeTargetEvents();\n if (v instanceof HTMLElement) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v.getHostElement == 'function') this._target = v.getHostElement();\n //\n this.bindTargetEvents();\n }\n //\n private _defautPlacements: AXConnectedPosition[] = convertToPlacement('bottom-start');\n\n private _placements: AXConnectedPosition[] = [...this._defautPlacements];\n\n private _placement: AXPlacementType = this._placements;\n @Input()\n public get placement(): AXPlacementType {\n return this._placement;\n }\n public set placement(v: AXPlacementType) {\n this.setOption({\n name: 'placement',\n value: v,\n afterCallback: (o, n) => {\n const converted = convertToPlacement(n);\n this._placements = converted.length ? converted : this._defautPlacements;\n this.updateOffset();\n this.updatePositionStrategy();\n },\n });\n }\n //\n private _portal: Portal<unknown>;\n\n\n private _componentRef: ComponentRef<unknown>;\n public get componentRef(): ComponentRef<unknown> {\n return this._componentRef;\n }\n\n public context: unknown;\n\n\n //\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<unknown>;\n //\n @Input()\n content: TemplateRef<unknown> | ComponentType<unknown>;\n //\n private _openOn: AXPopoverOpenTrigger = 'toggle';\n\n @Input()\n public get openOn(): AXPopoverOpenTrigger {\n return this._openOn;\n }\n public set openOn(v: AXPopoverOpenTrigger) {\n this.setOption({\n name: 'openOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n //\n private _closeOn: AXPopoverCloseTrigger = 'clickout';\n @Input()\n public get closeOn(): AXPopoverCloseTrigger {\n return this._closeOn;\n }\n public set closeOn(v: AXPopoverCloseTrigger) {\n this.setOption({\n name: 'closeOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n\n //\n @Input()\n hasBackdrop = false;\n //\n @Input()\n openAfter = 200;\n @Input()\n closeAfter = 200;\n\n @Input()\n backdropClass: string;\n\n @Input()\n adaptivityEnabled = false;\n //\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n\n\n private _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n private _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n //\n\n protected _handleMouseEnter(e: MouseEvent) {\n this._isMouseOverTooltip = true;\n }\n\n protected _handleMouseLeave(e: MouseEvent) {\n this._isMouseOverTooltip = false;\n setTimeout(() => {\n if (!this._isMouseOverButton && this.closeOn == 'leave') {\n this.close();\n }\n }, 250);\n }\n\n private removeTargetEvents(): void {\n Object.entries(this._targetEvents).forEach((e) => {\n e[1].unsubscribe();\n });\n }\n\n private bindTargetEvents() {\n this.removeTargetEvents();\n if (!this._target) return;\n const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');\n const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');\n\n if (this.openOn == 'hover') {\n this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(this.openAfter)).subscribe(() => {\n this._isMouseOverButton = true;\n this.open();\n });\n }\n\n if (this.closeOn == 'leave') {\n this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(this.closeAfter)).subscribe(() => {\n this._isMouseOverButton = false;\n if (!this._isMouseOverTooltip) {\n this.close();\n }\n });\n }\n\n if (this.openOn === 'click' || this.openOn === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._targetEvents.click = click$.subscribe((e) => {\n this.openOn == 'toggle' ? this.toggle() : this.open();\n });\n }\n }\n //\n private bindOverlayEvents() {\n this.removeOverlayEvents();\n this._overlayEvents.attach = this._overlayRef.attachments().subscribe(() => {\n if (this.openOn == 'hover') {\n this._overlayRef.overlayElement.addEventListener('mouseenter', this._handleMouseEnter.bind(this));\n }\n if (this.closeOn == 'leave') {\n this._overlayRef.overlayElement.addEventListener('mouseleave', this._handleMouseLeave.bind(this));\n }\n //\n this._overlayEvents.outside = this._overlayRef._outsidePointerEvents.subscribe((e: MouseEvent) => {\n const el = e.target as HTMLElement;\n if (\n this.closeOn == 'clickout' &&\n this.isOpen &&\n !this._target.contains(el) &&\n !this._overlayRef?.overlayElement?.contains(el)\n ) {\n this.close();\n }\n });\n //\n this._overlayEvents.scroll = this._platform.scroll.subscribe((c) => {\n const el = c.nativeEvent.target as HTMLElement;\n if (\n this.isOpen &&\n el?.closest &&\n !el.closest('.ax-overlay-pane') &&\n !this._target.contains(el) &&\n !this._overlayRef?.overlayElement?.contains(el)\n ) {\n this.close();\n }\n });\n });\n }\n\n private removeOverlayEvents() {\n this._overlayRef?.overlayElement.removeEventListener('mouseenter', this._handleMouseEnter.bind(this));\n this._overlayRef?.overlayElement.addEventListener('mouseleave', this._handleMouseLeave.bind(this));\n Object.entries(this._overlayEvents).forEach((e) => {\n e[1].unsubscribe();\n });\n }\n\n //\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n //\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this.restoreFocus();\n this._emitOnClosedEvent();\n }\n\n //\n open() {\n if (this.isOpen) {\n return;\n }\n this.saveFocus();\n this.openOverlayInternal();\n this._emitOnOpenedEvent();\n }\n\n private saveFocus() {\n this._lastActiveElement = document.activeElement as HTMLElement;\n }\n\n private restoreFocus() {\n if (this._lastActiveElement?.focus) {\n this._lastActiveElement.focus();\n }\n }\n\n private openOverlayInternal() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n //if (!this._overlayRef) {\n if (this._platform.is('SM') && this.adaptivityEnabled) {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay.position().global().bottom().centerHorizontally(),\n disposeOnNavigation: true,\n scrollStrategy: this._overlay.scrollStrategies.block(),\n panelClass: ['ax-actionsheet-base', 'ax-animate-slideInUp', 'ax-animate-faster'],\n hasBackdrop: true,\n width: '100%',\n });\n } else {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(targetRef)\n .withPositions(this._placements)\n .withPush(false),\n scrollStrategy: this._overlay.scrollStrategies.close(),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],\n maxHeight: 'unset',\n hasBackdrop: this.hasBackdrop,\n backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],\n });\n }\n //\n this.bindOverlayEvents();\n //}\n //\n if (this.content instanceof TemplateRef) {\n this._portal = new TemplatePortal(this.content, this.getViewContainer(), {\n $implicit: this.context,\n ref: this,\n });\n this._overlayRef?.attach(this._portal);\n } else if (typeof this.content === 'function') {\n this._portal = new ComponentPortal(this.content,);\n this._componentRef = this._overlayRef?.attach(this._portal);\n Object.assign(this._componentRef.instance, this.context);\n }\n else {\n this._portal = new TemplatePortal(this._baseTemplate, this.getViewContainer(), {\n $implicit: this.context,\n ref: this,\n });\n this._overlayRef?.attach(this._portal);\n }\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n private updatePositionStrategy(): void {\n const targetRef = this._target;\n if (!targetRef) return;\n let strategy: PositionStrategy;\n if (this._platform.is('SM') && this.adaptivityEnabled) {\n strategy = this._overlay.position().global().bottom().centerHorizontally();\n } else {\n strategy = this._overlay\n .position()\n .flexibleConnectedTo(targetRef)\n .withPositions(this._placements)\n .withPush(false);\n }\n this._overlayRef?.updatePositionStrategy(strategy);\n }\n\n private updateOffset() {\n this._placements?.forEach((p) => {\n if (this.offsetY != null)\n p.offsetY = this.offsetY;\n if (this.offsetX != null)\n p.offsetX = this.offsetX;\n });\n }\n\n public updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n\n public focus(): void {\n //TODO: need this??\n }\n //\n ngOnDestroy(): void {\n this.removeTargetEvents();\n this.removeOverlayEvents();\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n declarations: [AXPopoverComponent],\n imports: [CommonModule],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAqCM,MAAO,kBAAmB,SAAQ,eAAe,CAAA;AAPvD,IAAA,WAAA,GAAA;;AAQU,QAAA,IAAA,CAAA,SAAS,GAAe,MAAM,CAAC,UAAU,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,QAAQ,GAAY,MAAM,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;QAE5B,IAAa,CAAA,aAAA,GAIjB,EAAE,CAAC;QACC,IAAc,CAAA,cAAA,GAKlB,EAAE,CAAC;;AAgDC,QAAA,IAAA,CAAA,iBAAiB,GAA0B,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAE9E,QAAA,IAAA,CAAA,WAAW,GAA0B,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAEjE,QAAA,IAAA,CAAA,UAAU,GAAoB,IAAI,CAAC,WAAW,CAAC;;QAoC/C,IAAO,CAAA,OAAA,GAAyB,QAAQ,CAAC;;QAgBzC,IAAQ,CAAA,QAAA,GAA0B,UAAU,CAAC;;QAiBrD,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;QAGpB,IAAS,CAAA,SAAA,GAAG,GAAG,CAAC;QAEhB,IAAU,CAAA,UAAA,GAAG,GAAG,CAAC;QAMjB,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;;AAG1B,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;AAE9D,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;AAoP/D,KAAA;AAzXC,IAAA,IACW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAW,OAAO,CAAC,CAAS,EAAA;QAC1B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAK;gBAClB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACF,SAAA,CAAC,CAAC;KACJ;AAGD,IAAA,IACW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAW,OAAO,CAAC,CAAS,EAAA;QAC1B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAK;gBAClB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;AACF,SAAA,CAAC,CAAC;KACJ;AAID,IAAA,IACW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IACD,IAAW,MAAM,CAAC,CAA6C,EAAA;QAC7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,WAAW;AAAE,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;aAC1C,IAAI,CAAC,YAAY,UAAU;AAAE,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,aAAa,CAAC;AAC5D,aAAA,IAAI,OAAO,CAAC,CAAC,cAAc,IAAI,UAAU;AAAE,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC;;QAElF,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;AAOD,IAAA,IACW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;IACD,IAAW,SAAS,CAAC,CAAkB,EAAA;QACrC,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,KAAI;AACtB,gBAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;AACxC,gBAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACzE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;AACF,SAAA,CAAC,CAAC;KACJ;AAMD,IAAA,IAAW,YAAY,GAAA;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;AAcD,IAAA,IACW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IACD,IAAW,MAAM,CAAC,CAAuB,EAAA;QACvC,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAK;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;AACF,SAAA,CAAC,CAAC;KACJ;AAGD,IAAA,IACW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAW,OAAO,CAAC,CAAwB,EAAA;QACzC,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAK;gBAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;AACF,SAAA,CAAC,CAAC;KACJ;IAwBO,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACnC,SAAA,CAAC,CAAC;KACJ;IAEO,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;AACnC,SAAA,CAAC,CAAC;KACJ;;AAGS,IAAA,iBAAiB,CAAC,CAAa,EAAA;AACvC,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;KACjC;AAES,IAAA,iBAAiB,CAAC,CAAa,EAAA;AACvC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;gBACvD,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,aAAA;SACF,EAAE,GAAG,CAAC,CAAC;KACT;IAEO,kBAAkB,GAAA;AACxB,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAC/C,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACrB,SAAC,CAAC,CAAC;KACJ;IAEO,gBAAgB,GAAA;QACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAEhE,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC3F,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,aAAC,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC5F,gBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;AAChC,gBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YACvD,MAAM,MAAM,GAAG,SAAS,CAAa,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5D,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AAChD,gBAAA,IAAI,CAAC,MAAM,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACxD,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;;IAEO,iBAAiB,GAAA;QACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,MAAK;AACzE,YAAA,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE;AAC1B,gBAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,aAAA;AACD,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE;AAC3B,gBAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,aAAA;;AAED,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAa,KAAI;AAC/F,gBAAA,MAAM,EAAE,GAAG,CAAC,CAAC,MAAqB,CAAC;AACnC,gBAAA,IACE,IAAI,CAAC,OAAO,IAAI,UAAU;AAC1B,oBAAA,IAAI,CAAC,MAAM;AACX,oBAAA,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC,EAC/C;oBACA,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,iBAAA;AACH,aAAC,CAAC,CAAC;;AAEH,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAI;AACjE,gBAAA,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,MAAqB,CAAC;gBAC/C,IACE,IAAI,CAAC,MAAM;AACX,oBAAA,EAAE,EAAE,OAAO;AACX,oBAAA,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;AAC/B,oBAAA,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC,EAC/C;oBACA,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,iBAAA;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;IAEO,mBAAmB,GAAA;AACzB,QAAA,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtG,QAAA,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnG,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAChD,YAAA,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACrB,SAAC,CAAC,CAAC;KACJ;;IAGD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;KAC1C;;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;;IAGD,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO;AACR,SAAA;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAEO,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC,aAA4B,CAAC;KACjE;IAEO,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE;AAClC,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;AACjC,SAAA;KACF;IAEO,mBAAmB,GAAA;AACzB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;AAC/B,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;;AAGvB,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AACtC,gBAAA,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE;AACjF,gBAAA,mBAAmB,EAAE,IAAI;gBACzB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACtD,gBAAA,UAAU,EAAE,CAAC,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,CAAC;AAChF,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,KAAK,EAAE,MAAM;AACd,aAAA,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACtC,gBAAgB,EAAE,IAAI,CAAC,QAAQ;AAC5B,qBAAA,QAAQ,EAAE;qBACV,mBAAmB,CAAC,SAAS,CAAC;AAC9B,qBAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;qBAC/B,QAAQ,CAAC,KAAK,CAAC;gBAClB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACtD,gBAAA,mBAAmB,EAAE,IAAI;AACzB,gBAAA,UAAU,EAAE,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;AACtD,gBAAA,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,IAAI,CAAC,WAAW;AAC7B,gBAAA,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,IAAI,kCAAkC,CAAC;AAC1E,aAAA,CAAC,CAAC;AACJ,SAAA;;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;;;AAGzB,QAAA,IAAI,IAAI,CAAC,OAAO,YAAY,WAAW,EAAE;AACvC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE;gBACvE,SAAS,EAAE,IAAI,CAAC,OAAO;AACvB,gBAAA,GAAG,EAAE,IAAI;AACV,aAAA,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,SAAA;AAAM,aAAA,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;YAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAE,CAAC;AAClD,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5D,YAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1D,SAAA;AACI,aAAA;AACH,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE;gBAC7E,SAAS,EAAE,IAAI,CAAC,OAAO;AACvB,gBAAA,GAAG,EAAE,IAAI;AACV,aAAA,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,SAAA;KACF;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;KAClE;IAEO,sBAAsB,GAAA;AAC5B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;AAC/B,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;AACvB,QAAA,IAAI,QAA0B,CAAC;AAC/B,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACrD,YAAA,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;AAC5E,SAAA;AAAM,aAAA;YACL,QAAQ,GAAG,IAAI,CAAC,QAAQ;AACrB,iBAAA,QAAQ,EAAE;iBACV,mBAAmB,CAAC,SAAS,CAAC;AAC9B,iBAAA,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;iBAC/B,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpB,SAAA;AACD,QAAA,IAAI,CAAC,WAAW,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;KACpD;IAEO,YAAY,GAAA;QAClB,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,KAAI;AAC9B,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;AACtB,gBAAA,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC3B,YAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;AACtB,gBAAA,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC7B,SAAC,CAAC,CAAC;KACJ;IAEM,cAAc,GAAA;AACnB,QAAA,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;IAEM,KAAK,GAAA;;KAEX;;IAED,WAAW,GAAA;QACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;AAC3B,QAAA,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;KAC7B;8GA7YU,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAFlB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,gKCnCjF,0EAEc,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDmCD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,iBAEP,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAA,kBAAoB,EAAE,CAAC,EAAA,QAAA,EAAA,0EAAA,EAAA,CAAA;8BAwBpE,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAgBK,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAiBK,MAAM,EAAA,CAAA;sBADhB,KAAK;gBAmBK,SAAS,EAAA,CAAA;sBADnB,KAAK;gBA8BN,aAAa,EAAA,CAAA;sBADZ,SAAS;uBAAC,cAAc,CAAA;gBAIzB,OAAO,EAAA,CAAA;sBADN,KAAK;gBAMK,MAAM,EAAA,CAAA;sBADhB,KAAK;gBAgBK,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAgBN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAGN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,aAAa,EAAA,CAAA;sBADZ,KAAK;gBAIN,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAGP,QAAQ,EAAA,CAAA;sBADP,MAAM;;;MEpLI,eAAe,CAAA;8GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EALX,YAAA,EAAA,CAAA,kBAAkB,CACvB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAJhB,YAAY,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIX,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;oBAClC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,kBAAkB,CAAC;AAC7B,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
|
@@ -36,6 +36,8 @@ class AXPopupComponent extends MXBaseComponent {
|
|
36
36
|
this.isLoading = true;
|
37
37
|
}
|
38
38
|
ngOnInit() {
|
39
|
+
super.ngOnInit();
|
40
|
+
debugger;
|
39
41
|
if (this._platform.is('Mobile')) {
|
40
42
|
this.data.draggable = false;
|
41
43
|
}
|
@@ -59,7 +61,7 @@ class AXPopupComponent extends MXBaseComponent {
|
|
59
61
|
ref = ref;
|
60
62
|
if (ref.instance) {
|
61
63
|
this._componentRef = ref.instance;
|
62
|
-
Object.assign(this._componentRef, this.data);
|
64
|
+
Object.assign(this._componentRef, this.data.data);
|
63
65
|
Object.assign(this._componentRef, { _isPopup: true });
|
64
66
|
if (ref.instance.onClosed) {
|
65
67
|
ref.instance.onClosed.subscribe((e) => {
|
@@ -107,13 +109,13 @@ class AXPopupComponent extends MXBaseComponent {
|
|
107
109
|
this.dialogRef.close({
|
108
110
|
component: this._componentRef,
|
109
111
|
htmlElement: this.getHostElement(),
|
110
|
-
data: data
|
112
|
+
data: data,
|
111
113
|
});
|
112
114
|
};
|
113
115
|
if (typeof this._componentRef.onClosing === 'function') {
|
114
116
|
const ee = {
|
115
117
|
cancel: false,
|
116
|
-
data
|
118
|
+
data,
|
117
119
|
};
|
118
120
|
const closingResult = this._componentRef.onClosing(ee);
|
119
121
|
if (closingResult instanceof Promise) {
|
@@ -168,6 +170,7 @@ class AXPopupService {
|
|
168
170
|
draggable: true,
|
169
171
|
hasBackdrop: true,
|
170
172
|
closeOnBackdropClick: false,
|
173
|
+
data: {},
|
171
174
|
};
|
172
175
|
if (typeof arg2 === 'string') {
|
173
176
|
config.title = arg2;
|
@@ -185,12 +188,13 @@ class AXPopupService {
|
|
185
188
|
backdropClass: config.backdropClass,
|
186
189
|
disableClose: config.closeOnBackdropClick ? false : true,
|
187
190
|
});
|
191
|
+
debugger;
|
188
192
|
const promise = new AXComponentClosedPromise((resolve) => {
|
189
|
-
dialogRef.closed.subscribe(d => {
|
193
|
+
dialogRef.closed.subscribe((d) => {
|
190
194
|
if (resolve) {
|
191
195
|
resolve({
|
192
196
|
sender: d.component,
|
193
|
-
data: d.data
|
197
|
+
data: d.data,
|
194
198
|
});
|
195
199
|
}
|
196
200
|
});
|