@acorex/components 7.20.1 → 7.21.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/lib/button-item-list.component.d.ts +3 -3
- package/button/lib/button-item.class.d.ts +1 -3
- package/check-box/lib/check-box.component.d.ts +1 -0
- package/common/lib/components/value-component.class.d.ts +3 -3
- package/data-pager/lib/data-pager.module.d.ts +2 -1
- package/dropdown/lib/dropdown-panel.component.d.ts +4 -2
- package/dropdown-button/README.md +3 -0
- package/dropdown-button/index.d.ts +2 -0
- package/dropdown-button/lib/dropdown-button.component.d.ts +28 -0
- package/dropdown-button/lib/dropdown-button.module.d.ts +13 -0
- package/esm2022/button/lib/button-item-list.component.mjs +6 -4
- package/esm2022/button/lib/button-item.class.mjs +1 -1
- package/esm2022/check-box/lib/check-box.component.mjs +6 -1
- package/esm2022/chips/lib/chips.component.mjs +1 -2
- package/esm2022/collapse/lib/collapse.component.mjs +1 -2
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +1 -2
- package/esm2022/common/lib/components/base-component.class.mjs +2 -2
- package/esm2022/common/lib/components/interactive-component.class.mjs +1 -2
- package/esm2022/common/lib/components/value-component.class.mjs +11 -9
- package/esm2022/data-pager/lib/data-pager-info.component.mjs +12 -12
- package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +1 -1
- package/esm2022/data-pager/lib/data-pager.module.mjs +5 -2
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +1 -1
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +15 -5
- package/esm2022/dropdown-button/acorex-components-dropdown-button.mjs +5 -0
- package/esm2022/dropdown-button/index.mjs +3 -0
- package/esm2022/dropdown-button/lib/dropdown-button.component.mjs +89 -0
- package/esm2022/dropdown-button/lib/dropdown-button.module.mjs +45 -0
- package/esm2022/form/lib/form.component.mjs +6 -5
- package/esm2022/loading-dialog/acorex-components-loading-dialog.mjs +5 -0
- package/esm2022/loading-dialog/index.mjs +5 -0
- package/esm2022/loading-dialog/lib/loading-dialog.class.mjs +2 -0
- package/esm2022/loading-dialog/lib/loading-dialog.component.mjs +44 -0
- package/esm2022/loading-dialog/lib/loading-dialog.module.mjs +46 -0
- package/esm2022/loading-dialog/lib/loading-dialog.service.mjs +34 -0
- package/esm2022/number-box/lib/number-box.component.mjs +5 -11
- package/esm2022/password-box/lib/password-box.component.mjs +5 -11
- package/esm2022/phone-box/lib/phone-box.component.mjs +10 -12
- package/esm2022/popover/lib/popover.component.mjs +2 -2
- package/esm2022/popup/lib/popup.component.mjs +2 -2
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +6 -3
- package/esm2022/result/lib/result.component.mjs +2 -2
- package/esm2022/scheduler/lib/scheduler.component.mjs +1 -1
- package/esm2022/select-box/lib/select-box.component.mjs +13 -5
- package/esm2022/text-area/lib/text-area.component.mjs +3 -3
- package/esm2022/text-box/lib/text-box.component.mjs +5 -11
- package/fesm2022/acorex-components-button.mjs +5 -3
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-check-box.mjs +5 -0
- package/fesm2022/acorex-components-check-box.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +0 -1
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +0 -1
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +0 -1
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +10 -9
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +24 -23
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +1 -1
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown-button.mjs +137 -0
- package/fesm2022/acorex-components-dropdown-button.mjs.map +1 -0
- package/fesm2022/acorex-components-dropdown.mjs +14 -4
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +5 -4
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-loading-dialog.mjs +122 -0
- package/fesm2022/acorex-components-loading-dialog.mjs.map +1 -0
- package/fesm2022/acorex-components-number-box.mjs +4 -10
- package/fesm2022/acorex-components-number-box.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +4 -10
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-phone-box.mjs +9 -11
- package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
- package/fesm2022/acorex-components-popover.mjs +1 -1
- package/fesm2022/acorex-components-popover.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +2 -2
- package/fesm2022/acorex-components-progress-bar.mjs +5 -2
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-result.mjs +2 -2
- package/fesm2022/acorex-components-result.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +1 -1
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +12 -4
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +2 -2
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-text-box.mjs +4 -10
- package/fesm2022/acorex-components-text-box.mjs.map +1 -1
- package/loading-dialog/README.md +3 -0
- package/loading-dialog/index.d.ts +4 -0
- package/loading-dialog/lib/loading-dialog.class.d.ts +31 -0
- package/loading-dialog/lib/loading-dialog.component.d.ts +16 -0
- package/loading-dialog/lib/loading-dialog.module.d.ts +14 -0
- package/loading-dialog/lib/loading-dialog.service.d.ts +8 -0
- package/number-box/lib/number-box.component.d.ts +0 -1
- package/package.json +13 -1
- package/password-box/lib/password-box.component.d.ts +0 -1
- package/phone-box/lib/phone-box.component.d.ts +0 -1
- package/progress-bar/lib/progress-bar.component.d.ts +3 -1
- package/select-box/lib/select-box.component.d.ts +3 -2
- package/text-box/lib/text-box.component.d.ts +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-dropdown.mjs","sources":["../../../../libs/components/dropdown/src/lib/dropdown-box.class.ts","../../../../libs/components/dropdown/src/lib/dropdown-box.component.ts","../../../../libs/components/dropdown/src/lib/dropdown-box.component.html","../../../../libs/components/dropdown/src/lib/dropdown-panel.component.ts","../../../../libs/components/dropdown/src/lib/dropdown-panel.component.html","../../../../libs/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/components/dropdown/src/acorex-components-dropdown.ts"],"sourcesContent":["import { AXEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\n\n@Injectable()\nexport abstract class MXDropdownBoxBaseComponent extends MXInteractiveComponent {\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n protected abstract dropdown: AXDropdownBoxComponent;\n\n toggle() {\n if (this.disabled !== true) {\n this.dropdown.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.close();\n this.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.open();\n this.dropdown.focus();\n }\n\n get isOpen(): boolean {\n return this.dropdown?.isOpen;\n }\n}\n","import {\n AXEvent,\n MXInteractiveComponent,\n MXLookComponent,\n convertToPlacement,\n} from '@acorex/components/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n OnInit,\n Output,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-dropdown-box',\n templateUrl: 'dropdown-box.component.html',\n inputs: ['disabled', 'look'],\n outputs: ['disabledChange', 'onBlur', 'onFocus', 'onClick'],\n})\nexport class AXDropdownBoxComponent\n extends classes(MXInteractiveComponent, MXLookComponent)\n implements OnInit\n{\n private _platform: AXPlatform = inject(AXPlatform);\n protected _isMobile = false;\n protected _target: HTMLDivElement;\n protected _popoverTitle: string;\n protected _popoverWidth = '180px';\n protected _placement = convertToPlacement('bottom-start');\n\n @ViewChild(AXPopoverComponent)\n protected _popover: AXPopoverComponent;\n\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n ngOnInit() {\n super.ngOnInit();\n this._target = this.getHostElement();\n this._platform.resize.pipe(startWith()).subscribe(() => {\n this._isMobile = this._platform.is('SM');\n if (!this.isActionsheetStyle) this.close();\n });\n }\n\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n protected _handlePopupOnClosed(e: AXEvent) {\n this.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n @HostListener('keydown', ['$event'])\n protected _handleKeydown(e: KeyboardEvent) {\n if (e.ctrlKey && e.code === 'ArrowDown') {\n this.open();\n e.preventDefault();\n }\n if (e.code === 'Escape') {\n this.close();\n e.preventDefault();\n }\n }\n\n updatePosition() {\n this._popover?.updatePosition();\n }\n\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n get isActionsheetStyle(): boolean {\n return this._popover?.isActionsheetStyle;\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;\n }\n}\n","<ng-content select=\"[input]\"> </ng-content>\n<ax-popover [target]=\"_target\" [placement]=\"_placement\" [openOn]=\"'manual'\" [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\"\n #popover>\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\" aria-modal=\"true\" (keydown)=\"_handleKeydown($event)\"\n [class.ax-overlay-actionsheet]=\"popover.isActionsheetStyle\">\n <ng-content select=\"[panel]\"> </ng-content>\n </div>\n</ax-popover>","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n afterNextRender,\n inject,\n} from '@angular/core';\n\nimport {\n AXClosbaleComponent,\n AXEvent,\n MXInteractiveComponent,\n convertToPlacement,\n} from '@acorex/components/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { Subscription, startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-dropdown-panel',\n templateUrl: './dropdown-panel.component.html',\n styleUrls: ['./dropdown-panel.component.scss'],\n inputs: ['isOpen', 'fitParent', 'dropdownWidth', 'position'],\n outputs: ['onOpened', 'onClosed'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosbaleComponent,\n useExisting: AXDropdownPanelComponent,\n },\n ],\n})\nexport class AXDropdownPanelComponent extends MXInteractiveComponent implements OnDestroy {\n private _platform: AXPlatform = inject(AXPlatform);\n protected _isMobile = false;\n protected _target: HTMLDivElement;\n protected _popoverTitle: string;\n protected _placement = convertToPlacement('bottom-start');\n\n _subs: Subscription[] = [];\n\n @ViewChild(AXPopoverComponent)\n protected _popover: AXPopoverComponent;\n\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n @Input()\n adaptivityEnabled = false;\n\n // what the hell ???\n // constructor() {\n // super();\n // afterNextRender(() => {\n // this._target = this.getHostElement()?.parentElement as HTMLDivElement;\n // this._platform.resize.pipe(startWith(null)).subscribe(() => {\n // this._isMobile = this._platform.is('SM');\n // this._popover?.close();\n // });\n // [this._target, this.getHostElement()].forEach((el) => {\n // el.addEventListener('keydown', (e) => {\n // if (e.code == 'Escape' && this.isOpen) {\n // e.stopPropagation();\n // this.close();\n // }\n // });\n // });\n // });\n // }\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this._target = this.getHostElement()?.parentElement as HTMLDivElement;\n this._platform.resize.pipe(startWith(null)).subscribe(() => {\n this._isMobile = this._platform.is('SM');\n this._popover?.close();\n });\n }\n\n ngAfterViewInit(): void {\n [this._target, this.getHostElement()].forEach((el) => {\n el.addEventListener('keydown', (e) => {\n if (e.code == 'Escape' && this.isOpen) {\n e.stopPropagation();\n this.close();\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this._subs.forEach((s) => {\n s?.unsubscribe();\n });\n }\n\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n protected _handlePopupOnClosed(e: AXEvent) {\n this._target.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n get isActionsheetStyle(): boolean {\n return this._popover?.isActionsheetStyle;\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-dropdown-panel'];\n }\n}\n","<ax-popover\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"adaptivityEnabled\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n>\n <div class=\"ax-overlay-pane\">\n <ng-content> </ng-content>\n </div>\n</ax-popover>\n","import { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\nimport { AXDropdownPanelComponent } from './dropdown-panel.component';\n\n@NgModule({\n imports: [CommonModule, AXCommonModule, A11yModule, OverlayModule, AXDecoratorModule, AXPopoverModule],\n exports: [AXDropdownPanelComponent, AXDropdownBoxComponent],\n declarations: [AXDropdownPanelComponent, AXDropdownBoxComponent],\n providers: [],\n})\nexport class AXDropdownModule {}\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-dropdown.mjs","sources":["../../../../libs/components/dropdown/src/lib/dropdown-box.class.ts","../../../../libs/components/dropdown/src/lib/dropdown-box.component.ts","../../../../libs/components/dropdown/src/lib/dropdown-box.component.html","../../../../libs/components/dropdown/src/lib/dropdown-panel.component.ts","../../../../libs/components/dropdown/src/lib/dropdown-panel.component.html","../../../../libs/components/dropdown/src/lib/dropdown.module.ts","../../../../libs/components/dropdown/src/acorex-components-dropdown.ts"],"sourcesContent":["import { AXEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\n\n@Injectable()\nexport abstract class MXDropdownBoxBaseComponent extends MXInteractiveComponent {\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n protected abstract dropdown: AXDropdownBoxComponent;\n\n toggle() {\n if (this.disabled !== true) {\n this.dropdown.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.close();\n this.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.dropdown.open();\n this.dropdown.focus();\n }\n\n get isOpen(): boolean {\n return this.dropdown?.isOpen;\n }\n}\n","import {\n AXEvent,\n MXInteractiveComponent,\n MXLookComponent,\n convertToPlacement,\n} from '@acorex/components/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n OnInit,\n Output,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { classes } from 'polytype';\nimport { startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-dropdown-box',\n templateUrl: 'dropdown-box.component.html',\n inputs: ['disabled', 'look'],\n outputs: ['disabledChange', 'onBlur', 'onFocus', 'onClick'],\n})\nexport class AXDropdownBoxComponent\n extends classes(MXInteractiveComponent, MXLookComponent)\n implements OnInit\n{\n private _platform: AXPlatform = inject(AXPlatform);\n protected _isMobile = false;\n protected _target: HTMLDivElement;\n protected _popoverTitle: string;\n protected _popoverWidth = '180px';\n protected _placement = convertToPlacement('bottom-start');\n\n @ViewChild(AXPopoverComponent)\n protected _popover: AXPopoverComponent;\n\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n ngOnInit() {\n super.ngOnInit();\n this._target = this.getHostElement();\n this._platform.resize.pipe(startWith()).subscribe(() => {\n this._isMobile = this._platform.is('SM');\n if (!this.isActionsheetStyle) this.close();\n });\n }\n\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n protected _handlePopupOnClosed(e: AXEvent) {\n this.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n @HostListener('keydown', ['$event'])\n protected _handleKeydown(e: KeyboardEvent) {\n if (e.ctrlKey && e.code === 'ArrowDown') {\n this.open();\n e.preventDefault();\n }\n if (e.code === 'Escape') {\n this.close();\n e.preventDefault();\n }\n }\n\n updatePosition() {\n this._popover?.updatePosition();\n }\n\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n get isActionsheetStyle(): boolean {\n return this._popover?.isActionsheetStyle;\n }\n\n @HostBinding('class')\n private get __hostClass(): string {\n return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;\n }\n}\n","<ng-content select=\"[input]\"> </ng-content>\n<ax-popover [target]=\"_target\" [placement]=\"_placement\" [openOn]=\"'manual'\" [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\"\n #popover>\n <div class=\"ax-overlay-pane\" [class.ax-w-full]=\"_isMobile\" aria-modal=\"true\" (keydown)=\"_handleKeydown($event)\"\n [class.ax-overlay-actionsheet]=\"popover.isActionsheetStyle\">\n <ng-content select=\"[panel]\"> </ng-content>\n </div>\n</ax-popover>","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\n\nimport {\n AXClosbaleComponent,\n AXEvent,\n MXInteractiveComponent,\n convertToPlacement,\n} from '@acorex/components/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { Subscription, startWith } from 'rxjs';\n\n@Component({\n selector: 'ax-dropdown-panel',\n templateUrl: './dropdown-panel.component.html',\n styleUrls: ['./dropdown-panel.component.scss'],\n inputs: ['isOpen', 'fitParent', 'dropdownWidth', 'position'],\n outputs: ['onOpened', 'onClosed'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: AXClosbaleComponent,\n useExisting: AXDropdownPanelComponent,\n },\n ],\n})\nexport class AXDropdownPanelComponent extends MXInteractiveComponent implements OnDestroy {\n private _platform: AXPlatform = inject(AXPlatform);\n protected _isMobile = false;\n protected _popoverTitle: string;\n protected _placement = convertToPlacement('bottom-start');\n\n _subs: Subscription[] = [];\n\n private __target: HTMLDivElement;\n @Input()\n public get _target(): HTMLDivElement {\n return this.__target;\n }\n public set _target(v: HTMLDivElement) {\n this.__target = v;\n }\n\n @ViewChild(AXPopoverComponent)\n protected _popover: AXPopoverComponent;\n\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n @Input()\n adaptivityEnabled = false;\n\n // what the hell ???\n // constructor() {\n // super();\n // afterNextRender(() => {\n // this._target = this.getHostElement()?.parentElement as HTMLDivElement;\n // this._platform.resize.pipe(startWith(null)).subscribe(() => {\n // this._isMobile = this._platform.is('SM');\n // this._popover?.close();\n // });\n // [this._target, this.getHostElement()].forEach((el) => {\n // el.addEventListener('keydown', (e) => {\n // if (e.code == 'Escape' && this.isOpen) {\n // e.stopPropagation();\n // this.close();\n // }\n // });\n // });\n // });\n // }\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n if (!this._target) {\n this._target = this.getHostElement()?.parentElement as HTMLDivElement;\n }\n this._platform.resize.pipe(startWith(null)).subscribe(() => {\n this._isMobile = this._platform.is('SM');\n this._popover?.close();\n });\n }\n\n ngAfterViewInit(): void {\n [this._target, this.getHostElement()].forEach((el) => {\n el?.addEventListener('keydown', (e) => {\n if (e.code == 'Escape' && this.isOpen) {\n e.stopPropagation();\n this.close();\n }\n });\n });\n }\n\n ngOnDestroy(): void {\n this._subs.forEach((s) => {\n s?.unsubscribe();\n });\n }\n\n protected _handlePopupOnOpened(e: AXEvent) {\n this._popover?.focus();\n this.onOpened.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n protected _handlePopupOnClosed(e: AXEvent) {\n this._target.focus();\n this.onClosed.emit({\n component: this,\n isUserInteraction: e.isUserInteraction,\n });\n }\n\n toggle() {\n if (this.disabled !== true) {\n this._popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this._popover.close();\n this.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this._popover.open();\n this._popover.focus();\n }\n\n get isOpen(): boolean {\n return this._popover?.isOpen;\n }\n\n get isActionsheetStyle(): boolean {\n return this._popover?.isActionsheetStyle;\n }\n\n @HostBinding('class')\n private get __hostClass(): string[] {\n return ['ax-dropdown-panel'];\n }\n}\n","<ax-popover\n [target]=\"_target\"\n [placement]=\"_placement\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"adaptivityEnabled\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\"\n>\n <div class=\"ax-overlay-pane\">\n <ng-content> </ng-content>\n </div>\n</ax-popover>\n","import { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDropdownBoxComponent } from './dropdown-box.component';\nimport { AXDropdownPanelComponent } from './dropdown-panel.component';\n\n@NgModule({\n imports: [CommonModule, AXCommonModule, A11yModule, OverlayModule, AXDecoratorModule, AXPopoverModule],\n exports: [AXDropdownPanelComponent, AXDropdownBoxComponent],\n declarations: [AXDropdownPanelComponent, AXDropdownBoxComponent],\n providers: [],\n})\nexport class AXDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAKM,MAAgB,0BAA2B,SAAQ,sBAAsB,CAAA;AAD/E,IAAA,WAAA,GAAA;;AAEE,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;AAC9D,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;AA6B/D,KAAA;IAzBC,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AACxB,SAAA;KACF;IAED,KAAK,GAAA;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACvB;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC9B;8GA9BmB,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;kHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAD/C,UAAU;;;ACuBL,MAAO,sBACX,SAAQ,OAAO,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAA;AAP1D,IAAA,WAAA,GAAA;;AAUU,QAAA,IAAA,CAAA,SAAS,GAAe,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;QAGlB,IAAa,CAAA,aAAA,GAAG,OAAO,CAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAM1D,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;AAE9D,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;AA6E/D,KAAA;IA3EC,QAAQ,GAAA;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,MAAK;YACrD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,kBAAkB;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC7C,SAAC,CAAC,CAAC;KACJ;AAES,IAAA,oBAAoB,CAAC,CAAU,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,SAAA,CAAC,CAAC;KACJ;AAES,IAAA,oBAAoB,CAAC,CAAU,EAAA;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,SAAA,CAAC,CAAC;KACJ;AAGS,IAAA,cAAc,CAAC,CAAgB,EAAA;QACvC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE;YACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,CAAC,CAAC,cAAc,EAAE,CAAC;AACpB,SAAA;AACD,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,CAAC,CAAC,cAAc,EAAE,CAAC;AACpB,SAAA;KACF;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;KACjC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AACxB,SAAA;KACF;IAED,KAAK,GAAA;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACvB;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC9B;AAED,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;KAC1C;AAED,IAAA,IACY,WAAW,GAAA;AACrB,QAAA,OAAO,+BAA+B,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAC,QAAQ,GAAG,mBAAmB,GAAG,EAAE,EAAE,CAAC;KAC/F;8GA7FU,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAWtB,kBAAkB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtC/B,2iBAQa,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDmBA,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAEnB,MAAA,EAAA,CAAC,UAAU,EAAE,MAAM,CAAC,EAAA,OAAA,EACnB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,2iBAAA,EAAA,CAAA;8BAcjD,QAAQ,EAAA,CAAA;sBADjB,SAAS;uBAAC,kBAAkB,CAAA;gBAI7B,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAGP,QAAQ,EAAA,CAAA;sBADP,MAAM;gBA6BG,cAAc,EAAA,CAAA;sBADvB,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAA;gBA+CvB,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO,CAAA;;;AE/EhB,MAAO,wBAAyB,SAAQ,sBAAsB,CAAA;AASlE,IAAA,IACW,OAAO,GAAA;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAW,OAAO,CAAC,CAAiB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;KACnB;;;;;;;;;;;;;;;;;;;;AAiCD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;AAhDF,QAAA,IAAA,CAAA,SAAS,GAAe,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAElB,QAAA,IAAA,CAAA,UAAU,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAE1D,IAAK,CAAA,KAAA,GAAmB,EAAE,CAAC;AAe3B,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;AAE9D,QAAA,IAAA,CAAA,QAAQ,GAA0B,IAAI,YAAY,EAAW,CAAC;QAG9D,IAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;KAwBzB;IAED,QAAQ,GAAA;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,aAA+B,CAAC;AACvE,SAAA;AACD,QAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACzD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;AACzB,SAAC,CAAC,CAAC;KACJ;IAED,eAAe,GAAA;AACb,QAAA,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;YACnD,EAAE,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAI;gBACpC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE;oBACrC,CAAC,CAAC,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,KAAK,EAAE,CAAC;AACd,iBAAA;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACvB,CAAC,EAAE,WAAW,EAAE,CAAC;AACnB,SAAC,CAAC,CAAC;KACJ;AAES,IAAA,oBAAoB,CAAC,CAAU,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,SAAA,CAAC,CAAC;KACJ;AAES,IAAA,oBAAoB,CAAC,CAAU,EAAA;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjB,YAAA,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;AACvC,SAAA,CAAC,CAAC;KACJ;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AACxB,SAAA;KACF;IAED,KAAK,GAAA;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC,OAAO;AACR,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;KACvB;AAED,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC9B;AAED,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;KAC1C;AAED,IAAA,IACY,WAAW,GAAA;QACrB,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAC9B;8GAjIU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAPxB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,WAAW,EAAE,wBAAwB;AACtC,aAAA;SACF,EAmBU,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,kBAAkB,uECvD/B,oWAaA,EAAA,MAAA,EAAA,CAAA,qEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FDyBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAfpC,SAAS;+BACE,mBAAmB,EAAA,MAAA,EAGrB,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,EACnD,OAAA,EAAA,CAAC,UAAU,EAAE,UAAU,CAAC,EAAA,eAAA,EAChB,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAA0B,wBAAA;AACtC,yBAAA;AACF,qBAAA,EAAA,QAAA,EAAA,oWAAA,EAAA,MAAA,EAAA,CAAA,qEAAA,CAAA,EAAA,CAAA;wDAYU,OAAO,EAAA,CAAA;sBADjB,KAAK;gBASI,QAAQ,EAAA,CAAA;sBADjB,SAAS;uBAAC,kBAAkB,CAAA;gBAI7B,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAGP,QAAQ,EAAA,CAAA;sBADP,MAAM;gBAIP,iBAAiB,EAAA,CAAA;sBADhB,KAAK;gBAsGM,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO,CAAA;;;MEpJT,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,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,gBAAgB,iBAHZ,wBAAwB,EAAE,sBAAsB,CAFrD,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAC3F,EAAA,OAAA,EAAA,CAAA,wBAAwB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAI/C,gBAAgB,EAAA,OAAA,EAAA,CALjB,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAK1F,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC;AACtG,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;AAC3D,oBAAA,YAAY,EAAE,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;AAChE,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA,CAAA;;;ACfD;;AAEG;;;;"}
|
@@ -124,13 +124,14 @@ class AXFormComponent extends MXBaseComponent {
|
|
124
124
|
.filter((c) => c != null);
|
125
125
|
}
|
126
126
|
async validate(...names) {
|
127
|
+
debugger;
|
127
128
|
const results = await Promise.all(this.fields
|
128
129
|
.filter((c) => names == null || names.length == 0 || names.includes(c.name))
|
129
|
-
.map(field => field.validate()));
|
130
|
+
.map((field) => field.validate()));
|
130
131
|
// Merge all validation summaries into one
|
131
132
|
const mergedSummary = {
|
132
|
-
result: results.every(res => res.result),
|
133
|
-
rules: results.flatMap(res => res.rules)
|
133
|
+
result: results.every((res) => res.result),
|
134
|
+
rules: results.flatMap((res) => res.rules),
|
134
135
|
};
|
135
136
|
this._emitOnValidateEvent(mergedSummary);
|
136
137
|
return mergedSummary;
|
@@ -143,7 +144,7 @@ class AXFormComponent extends MXBaseComponent {
|
|
143
144
|
});
|
144
145
|
}
|
145
146
|
clear() {
|
146
|
-
this.fields.forEach(c => c.clear(false));
|
147
|
+
this.fields.forEach((c) => c.clear(false));
|
147
148
|
}
|
148
149
|
ngOnDestroy() {
|
149
150
|
this._clearSubs();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-form.mjs","sources":["../../../../libs/components/form/src/lib/form-field.component.ts","../../../../libs/components/form/src/lib/form.component.ts","../../../../libs/components/form/src/lib/form.config.ts","../../../../libs/components/form/src/lib/validation-summary.component.ts","../../../../libs/components/form/src/lib/validation-rule.directive.ts","../../../../libs/components/form/src/lib/form.module.ts","../../../../libs/components/form/src/acorex-components-form.ts"],"sourcesContent":["import { AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXLabelComponent } from '@acorex/components/label';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, SimpleChanges, ViewEncapsulation, inject } from '@angular/core';\n\n@Component({\n selector: 'ax-form-field',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXUnsubscriber]\n})\nexport class AXFormFieldComponent extends MXBaseComponent implements AfterContentInit {\n\n\n private unsubscriber = inject(AXUnsubscriber);\n\n @ContentChild(AXValuableComponent)\n private input: AXValuableComponent;\n\n @ContentChild(AXLabelComponent)\n private label: AXLabelComponent;\n\n\n ngAfterContentInit(): void {\n this.autoSetRequired();\n this.input?.validationRulesChange\n .pipe(this.unsubscriber.takeUntilDestroy)\n .subscribe(() => {\n this.autoSetRequired();\n });\n }\n\n\n\n\n private autoSetRequired() {\n if (this.label && this.input) {\n if (this.label.required == null || this.label['autoSetRequired']) {\n this.label.required = this.input.isRequired;\n this.label['autoSetRequired'] = true;\n }\n }\n }\n\n}\n","import { AXEvent, AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXValidationSummary } from '@acorex/core/validation';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXFormValidationEvent extends AXEvent {\n result: AXValidationSummary;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport type AXFormUpdateOn = 'change' | 'blur' | 'submit';\nexport type AXFormMessageStyle = 'bottom' | 'float';\n\n/**\n * The AXForm is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form',\n template: `<form\n (submit)=\"_handleSubmit($event)\"\n (reset)=\"_handleReset()\"\n class=\"ax-{{ messageStyle }}-error\"\n >\n <ng-content></ng-content>\n </form>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends MXBaseComponent implements AfterViewInit, OnDestroy {\n @Input()\n messageStyle: AXFormMessageStyle = 'bottom';\n\n @Output()\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\n\n @Output()\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\n\n private _updateOn: AXFormUpdateOn = 'blur';\n @Input()\n public get updateOn(): AXFormUpdateOn {\n return this._updateOn;\n }\n public set updateOn(v: AXFormUpdateOn) {\n this.setOption({\n name: 'updateOn',\n value: v,\n afterCallback: () => {\n //this._bindEvents();\n },\n });\n }\n\n private _subs: Subscription[] = [];\n\n protected async _handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n await this.validate();\n }\n\n protected _handleReset() {\n this.clear();\n }\n\n ngAfterViewInit(): void {\n //this._bindEvents();\n }\n\n // private _bindEvents() {\n // this._clearSubs();\n // const widgets = this._getComponenets();\n // //\n // widgets.forEach((w) => {\n // if (this.updateOn == 'change') {\n // this._subs.push(\n // w.onValueChanged?.subscribe((v: AXValueChangedEvent) => {\n // if (v.isUserInteraction) w.validate();\n // }),\n // );\n // } else if (this.updateOn == 'blur') {\n // this._subs.push(\n // w.onBlur?.subscribe((v) => {\n // w.validate();\n // }),\n // );\n // }\n // });\n // }\n\n private _clearSubs() {\n this._subs.forEach((c) => c?.unsubscribe());\n this._subs = [];\n }\n\n private get fields(): AXValuableComponent[] {\n return Array.from(this.getHostElement().querySelectorAll('[ax-form-item=\"true\"]'))\n .map((c) => (c as any).__axContext__)\n .filter((c) => c != null);\n }\n\n\n async validate(...names: string[]): Promise<AXValidationSummary> {\n const results = await Promise.all(\n this.fields\n .filter((c) => names == null || names.length == 0 || names.includes(c.name))\n .map(field => field.validate()\n ));\n // Merge all validation summaries into one\n const mergedSummary: AXValidationSummary = {\n result: results.every(res => res.result),\n rules: results.flatMap(res => res.rules)\n };\n this._emitOnValidateEvent(mergedSummary);\n return mergedSummary;\n }\n\n private _emitOnValidateEvent(e: AXValidationSummary) {\n this.onValidate.emit({\n component: this,\n result: e,\n htmlElement: this.getHostElement(),\n });\n }\n\n clear() {\n this.fields.forEach(c => c.clear(false));\n }\n\n ngOnDestroy(): void {\n this._clearSubs();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface AXFormConfig {\n\n}\n\nexport const AX_FORM_CONFIG = new InjectionToken<AXFormConfig>('AX_FORM_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return AXFormDefaultConfig;\n },\n});\n\nexport const AXFormDefaultConfig: AXFormConfig = {\n\n};\n\nexport type PartialFormConfig = Partial<AXFormConfig>;\n\nexport function formConfig(config: PartialFormConfig = {}): AXFormConfig {\n const result = {\n ...AXFormDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXToastService } from '@acorex/components/toast';\nimport { translateSync } from '@acorex/core/translation';\nimport {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnDestroy,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXFormComponent, AXFormValidationEvent } from './form.component';\n\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert';\n\n@Component({\n selector: 'ax-validation-summary',\n template: `\n @if (displayMode === 'alert' && _content) {\n <ax-alert color=\"danger\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed()\">\n <ax-icon></ax-icon>\n <ax-title>{{ title | translate | async }}</ax-title>\n <ax-content>\n <div [innerHTML]=\"_content\"></div>\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-alert>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXValidationSummaryComponent extends MXBaseComponent implements OnDestroy {\n protected _content?: string = null;\n private _title: string = 'validation.messages.title';\n\n @Input()\n public get title(): string {\n return this._title;\n }\n public set title(v: string) {\n this._title = v;\n }\n\n @Input()\n displayMode: AXValidationSummaryDisplayMode = 'toast';\n\n @Input()\n timeOut?: number;\n\n @Input()\n autoHide = false;\n\n protected _timeOut: number;\n\n private sub: Subscription;\n\n constructor(\n private _tosatService: AXToastService,\n @Optional()\n @Inject(AXFormComponent)\n private host: AXFormComponent,\n ) {\n super();\n //\n this.sub = host.onValidate.subscribe((e: AXFormValidationEvent) => {\n if (e.result.result) {\n this._content = null;\n } else {\n const failedRules = e.result.rules.filter((c) => !c.result && c.message);\n\n this._content = `<ul>${failedRules\n .map((c) => this.formatRule({ title: c['title'] as string, message: c.message }))\n .join('')}</ul>`;\n this._timeOut = this.autoHide ? this.timeOut ?? Math.max(failedRules.length * 1000, 2000) : 0;\n\n if (this.displayMode == 'toast') {\n this._tosatService.show({\n color: 'danger',\n closeButton: true,\n timeOut: this._timeOut,\n timeOutProgress: true,\n content: this._content,\n title: translateSync(this.title),\n location: 'bottom-center',\n });\n }\n }\n this.cdr.markForCheck();\n });\n }\n\n private formatRule(rule: { title?: string; message: string }): string {\n return rule.title ? `<li><b>${rule.title}:</b> ${rule.message}</li>` : `<li>${rule.message}</li>`;\n }\n\n protected _handleOnDismissed() {\n this._content = null;\n }\n\n ngOnDestroy() {\n this.sub?.unsubscribe();\n }\n}\n","import { Directive, Input, OnDestroy, OnInit } from '@angular/core';\nimport { AXValuableComponent } from '@acorex/components/common'\nimport { AXValidationRuleOptions } from '@acorex/core/validation';\n\n@Directive({\n selector: 'ax-validation-rule'\n})\nexport class AXValidationRuleDirective implements OnInit, OnDestroy {\n\n @Input() rule: string;\n @Input() options: Omit<AXValidationRuleOptions, 'message'>;\n @Input() message: string;\n\n constructor(private host: AXValuableComponent) { }\n\n ngOnInit() {\n this.host.addValidationRule({ rule: this.rule, options: this.ruleOptions });\n }\n\n ngOnDestroy() {\n this.host.removeValidationRule({ rule: this.rule, options: this.ruleOptions });\n }\n\n private get ruleOptions(): AXValidationRuleOptions {\n return Object.assign({ message: this.message, name: this.host.name }, this.options);\n }\n}\n","import { AXAlertModule } from '@acorex/components/alert';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormComponent } from './form.component';\nimport { AXValidationSummaryComponent } from './validation-summary.component';\nimport { AXValidationRuleDirective } from './validation-rule.directive';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\n@NgModule({\n declarations: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleDirective,\n AXValidationSummaryComponent,\n ],\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule, AXValidationModule, AXTranslationModule],\n exports: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent],\n providers: [],\n})\nexport class AXFormModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-form.mjs","sources":["../../../../libs/components/form/src/lib/form-field.component.ts","../../../../libs/components/form/src/lib/form.component.ts","../../../../libs/components/form/src/lib/form.config.ts","../../../../libs/components/form/src/lib/validation-summary.component.ts","../../../../libs/components/form/src/lib/validation-rule.directive.ts","../../../../libs/components/form/src/lib/form.module.ts","../../../../libs/components/form/src/acorex-components-form.ts"],"sourcesContent":["import { AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXLabelComponent } from '@acorex/components/label';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ContentChild, SimpleChanges, ViewEncapsulation, inject } from '@angular/core';\n\n@Component({\n selector: 'ax-form-field',\n template: `<ng-content></ng-content>`,\n styleUrls: ['./form-field.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXUnsubscriber]\n})\nexport class AXFormFieldComponent extends MXBaseComponent implements AfterContentInit {\n\n\n private unsubscriber = inject(AXUnsubscriber);\n\n @ContentChild(AXValuableComponent)\n private input: AXValuableComponent;\n\n @ContentChild(AXLabelComponent)\n private label: AXLabelComponent;\n\n\n ngAfterContentInit(): void {\n this.autoSetRequired();\n this.input?.validationRulesChange\n .pipe(this.unsubscriber.takeUntilDestroy)\n .subscribe(() => {\n this.autoSetRequired();\n });\n }\n\n\n\n\n private autoSetRequired() {\n if (this.label && this.input) {\n if (this.label.required == null || this.label['autoSetRequired']) {\n this.label.required = this.input.isRequired;\n this.label['autoSetRequired'] = true;\n }\n }\n }\n\n}\n","import { AXEvent, AXValuableComponent, MXBaseComponent } from '@acorex/components/common';\nimport { AXValidationSummary } from '@acorex/core/validation';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n/**\n * Contains native event\n * @category Events\n */\nexport class AXFormValidationEvent extends AXEvent {\n result: AXValidationSummary;\n}\n\n/**\n * Contains native event\n * @category Events\n */\nexport type AXFormUpdateOn = 'change' | 'blur' | 'submit';\nexport type AXFormMessageStyle = 'bottom' | 'float';\n\n/**\n * The AXForm is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-form',\n template: `<form\n (submit)=\"_handleSubmit($event)\"\n (reset)=\"_handleReset()\"\n class=\"ax-{{ messageStyle }}-error\"\n >\n <ng-content></ng-content>\n </form>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXFormComponent extends MXBaseComponent implements AfterViewInit, OnDestroy {\n @Input()\n messageStyle: AXFormMessageStyle = 'bottom';\n\n @Output()\n onValidate: EventEmitter<AXFormValidationEvent> = new EventEmitter<AXFormValidationEvent>();\n\n @Output()\n updateOnChange: EventEmitter<AXFormUpdateOn> = new EventEmitter<AXFormUpdateOn>();\n\n private _updateOn: AXFormUpdateOn = 'blur';\n @Input()\n public get updateOn(): AXFormUpdateOn {\n return this._updateOn;\n }\n public set updateOn(v: AXFormUpdateOn) {\n this.setOption({\n name: 'updateOn',\n value: v,\n afterCallback: () => {\n //this._bindEvents();\n },\n });\n }\n\n private _subs: Subscription[] = [];\n\n protected async _handleSubmit(e: SubmitEvent) {\n e.preventDefault();\n await this.validate();\n }\n\n protected _handleReset() {\n this.clear();\n }\n\n ngAfterViewInit(): void {\n //this._bindEvents();\n }\n\n // private _bindEvents() {\n // this._clearSubs();\n // const widgets = this._getComponenets();\n // //\n // widgets.forEach((w) => {\n // if (this.updateOn == 'change') {\n // this._subs.push(\n // w.onValueChanged?.subscribe((v: AXValueChangedEvent) => {\n // if (v.isUserInteraction) w.validate();\n // }),\n // );\n // } else if (this.updateOn == 'blur') {\n // this._subs.push(\n // w.onBlur?.subscribe((v) => {\n // w.validate();\n // }),\n // );\n // }\n // });\n // }\n\n private _clearSubs() {\n this._subs.forEach((c) => c?.unsubscribe());\n this._subs = [];\n }\n\n private get fields(): AXValuableComponent[] {\n return Array.from(this.getHostElement().querySelectorAll('[ax-form-item=\"true\"]'))\n .map((c) => (c as any).__axContext__)\n .filter((c) => c != null);\n }\n\n async validate(...names: string[]): Promise<AXValidationSummary> {\n debugger;\n const results = await Promise.all(\n this.fields\n .filter((c) => names == null || names.length == 0 || names.includes(c.name))\n .map((field) => field.validate()),\n );\n // Merge all validation summaries into one\n const mergedSummary: AXValidationSummary = {\n result: results.every((res) => res.result),\n rules: results.flatMap((res) => res.rules),\n };\n this._emitOnValidateEvent(mergedSummary);\n return mergedSummary;\n }\n\n private _emitOnValidateEvent(e: AXValidationSummary) {\n this.onValidate.emit({\n component: this,\n result: e,\n htmlElement: this.getHostElement(),\n });\n }\n\n clear() {\n this.fields.forEach((c) => c.clear(false));\n }\n\n ngOnDestroy(): void {\n this._clearSubs();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface AXFormConfig {\n\n}\n\nexport const AX_FORM_CONFIG = new InjectionToken<AXFormConfig>('AX_FORM_CONFIG', {\n providedIn: 'root',\n factory: () => {\n return AXFormDefaultConfig;\n },\n});\n\nexport const AXFormDefaultConfig: AXFormConfig = {\n\n};\n\nexport type PartialFormConfig = Partial<AXFormConfig>;\n\nexport function formConfig(config: PartialFormConfig = {}): AXFormConfig {\n const result = {\n ...AXFormDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { MXBaseComponent } from '@acorex/components/common';\nimport { AXToastService } from '@acorex/components/toast';\nimport { translateSync } from '@acorex/core/translation';\nimport {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnDestroy,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { AXFormComponent, AXFormValidationEvent } from './form.component';\n\nexport type AXValidationSummaryDisplayMode = 'toast' | 'alert';\n\n@Component({\n selector: 'ax-validation-summary',\n template: `\n @if (displayMode === 'alert' && _content) {\n <ax-alert color=\"danger\" [timeOut]=\"_timeOut\" #a (onClosed)=\"_handleOnDismissed()\">\n <ax-icon></ax-icon>\n <ax-title>{{ title | translate | async }}</ax-title>\n <ax-content>\n <div [innerHTML]=\"_content\"></div>\n </ax-content>\n <ax-footer>\n <ax-suffix>\n <ax-button text=\"Dismiss\" (onClick)=\"a.close()\"></ax-button>\n </ax-suffix>\n </ax-footer>\n </ax-alert>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXValidationSummaryComponent extends MXBaseComponent implements OnDestroy {\n protected _content?: string = null;\n private _title: string = 'validation.messages.title';\n\n @Input()\n public get title(): string {\n return this._title;\n }\n public set title(v: string) {\n this._title = v;\n }\n\n @Input()\n displayMode: AXValidationSummaryDisplayMode = 'toast';\n\n @Input()\n timeOut?: number;\n\n @Input()\n autoHide = false;\n\n protected _timeOut: number;\n\n private sub: Subscription;\n\n constructor(\n private _tosatService: AXToastService,\n @Optional()\n @Inject(AXFormComponent)\n private host: AXFormComponent,\n ) {\n super();\n //\n this.sub = host.onValidate.subscribe((e: AXFormValidationEvent) => {\n if (e.result.result) {\n this._content = null;\n } else {\n const failedRules = e.result.rules.filter((c) => !c.result && c.message);\n\n this._content = `<ul>${failedRules\n .map((c) => this.formatRule({ title: c['title'] as string, message: c.message }))\n .join('')}</ul>`;\n this._timeOut = this.autoHide ? this.timeOut ?? Math.max(failedRules.length * 1000, 2000) : 0;\n\n if (this.displayMode == 'toast') {\n this._tosatService.show({\n color: 'danger',\n closeButton: true,\n timeOut: this._timeOut,\n timeOutProgress: true,\n content: this._content,\n title: translateSync(this.title),\n location: 'bottom-center',\n });\n }\n }\n this.cdr.markForCheck();\n });\n }\n\n private formatRule(rule: { title?: string; message: string }): string {\n return rule.title ? `<li><b>${rule.title}:</b> ${rule.message}</li>` : `<li>${rule.message}</li>`;\n }\n\n protected _handleOnDismissed() {\n this._content = null;\n }\n\n ngOnDestroy() {\n this.sub?.unsubscribe();\n }\n}\n","import { Directive, Input, OnDestroy, OnInit } from '@angular/core';\nimport { AXValuableComponent } from '@acorex/components/common'\nimport { AXValidationRuleOptions } from '@acorex/core/validation';\n\n@Directive({\n selector: 'ax-validation-rule'\n})\nexport class AXValidationRuleDirective implements OnInit, OnDestroy {\n\n @Input() rule: string;\n @Input() options: Omit<AXValidationRuleOptions, 'message'>;\n @Input() message: string;\n\n constructor(private host: AXValuableComponent) { }\n\n ngOnInit() {\n this.host.addValidationRule({ rule: this.rule, options: this.ruleOptions });\n }\n\n ngOnDestroy() {\n this.host.removeValidationRule({ rule: this.rule, options: this.ruleOptions });\n }\n\n private get ruleOptions(): AXValidationRuleOptions {\n return Object.assign({ message: this.message, name: this.host.name }, this.options);\n }\n}\n","import { AXAlertModule } from '@acorex/components/alert';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXFormFieldComponent } from './form-field.component';\nimport { AXFormComponent } from './form.component';\nimport { AXValidationSummaryComponent } from './validation-summary.component';\nimport { AXValidationRuleDirective } from './validation-rule.directive';\nimport { AXValidationModule } from '@acorex/core/validation';\nimport { AXTranslationModule } from '@acorex/core/translation';\n\n@NgModule({\n declarations: [\n AXFormFieldComponent,\n AXFormComponent,\n AXValidationRuleDirective,\n AXValidationSummaryComponent,\n ],\n imports: [CommonModule, AXDecoratorModule, AXAlertModule, AXButtonModule, AXValidationModule, AXTranslationModule],\n exports: [AXFormFieldComponent, AXFormComponent, AXValidationRuleDirective, AXValidationSummaryComponent],\n providers: [],\n})\nexport class AXFormModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
@@ -0,0 +1,122 @@
|
|
1
|
+
import * as i2 from '@acorex/components/common';
|
2
|
+
import { MXBaseComponent, AXCommonModule } from '@acorex/components/common';
|
3
|
+
import * as i1 from '@angular/cdk/dialog';
|
4
|
+
import { DIALOG_DATA, Dialog } from '@angular/cdk/dialog';
|
5
|
+
import * as i0 from '@angular/core';
|
6
|
+
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, inject, Injectable, NgModule } from '@angular/core';
|
7
|
+
import * as i3 from '@acorex/components/progress-bar';
|
8
|
+
import { AXProgressBarModule } from '@acorex/components/progress-bar';
|
9
|
+
import * as i4 from '@acorex/components/loading';
|
10
|
+
import { AXLoadingModule } from '@acorex/components/loading';
|
11
|
+
import * as i5 from '@acorex/components/decorators';
|
12
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
13
|
+
import * as i6 from '@acorex/components/button';
|
14
|
+
import { AXButtonModule } from '@acorex/components/button';
|
15
|
+
import * as i7 from '@acorex/core/translation';
|
16
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
17
|
+
import * as i8 from '@angular/common';
|
18
|
+
import { AsyncPipe } from '@angular/common';
|
19
|
+
|
20
|
+
class AXLoadingDialogComponent extends MXBaseComponent {
|
21
|
+
constructor(data, dialogRef) {
|
22
|
+
super();
|
23
|
+
this.data = data;
|
24
|
+
this.dialogRef = dialogRef;
|
25
|
+
}
|
26
|
+
ngOnInit() {
|
27
|
+
super.ngOnInit();
|
28
|
+
}
|
29
|
+
close() {
|
30
|
+
this.dialogRef.close();
|
31
|
+
}
|
32
|
+
_handleButtonClick(button) {
|
33
|
+
if (button.onClick) {
|
34
|
+
button.onClick({ source: button });
|
35
|
+
}
|
36
|
+
}
|
37
|
+
_hasAutoFocus(button) {
|
38
|
+
const result = button.autofocus || this.data.buttons.length == 1 || !this.data.buttons.some((c) => c.autofocus);
|
39
|
+
return result;
|
40
|
+
}
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogComponent, deps: [{ token: DIALOG_DATA }, { token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: AXLoadingDialogComponent, selector: "ax-loading-dialog", usesInheritance: true, ngImport: i0, template: "<ax-title>{{ data.title | async }}</ax-title>\n\n<ax-progress-bar\n [mode]=\"data.mode | async\"\n [progress]=\"data.progressValue | async\"\n [color]=\"data.progressColor\"\n></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ data.progressPrefixText | async }}</div>\n <div>{{ data.progressSuffixText | async }}</div>\n</div>\n<ax-footer>\n @for (button of data.buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n", styles: ["ax-loading-dialog{display:flex;flex-direction:column;gap:.5rem;width:33vw;background-color:rgba(var(--ax-color-surface));padding:1rem;border-radius:var(--ax-rounded-border-default)}ax-loading-dialog ax-title{font-weight:500;font-size:1rem;margin-bottom:.5rem}@media (max-width: 599px){ax-loading-dialog{width:93vw!important}}@media (min-width: 600px){ax-loading-dialog{width:55vw!important}}@media (min-width: 1200px){ax-loading-dialog{width:30vw!important}}@media (min-width: 1800px){ax-loading-dialog{width:25vw!important}}ax-loading-dialog .progress-decorators{display:flex;justify-content:space-between;font-size:.875rem}ax-loading-dialog ax-footer{justify-content:flex-end;padding-top:.75rem}\n"], dependencies: [{ kind: "directive", type: i2.AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "directive", type: i2.AXHotkeyDirective, selector: "[axHotkey]", inputs: ["axHotkey"] }, { kind: "component", type: i3.AXProgressBarComponent, selector: "ax-progress-bar", inputs: ["color", "mode", "progress", "height"], outputs: ["ValueChange", "sizeChange"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i5.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title , ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
43
|
+
}
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogComponent, decorators: [{
|
45
|
+
type: Component,
|
46
|
+
args: [{ selector: 'ax-loading-dialog', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ax-title>{{ data.title | async }}</ax-title>\n\n<ax-progress-bar\n [mode]=\"data.mode | async\"\n [progress]=\"data.progressValue | async\"\n [color]=\"data.progressColor\"\n></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ data.progressPrefixText | async }}</div>\n <div>{{ data.progressSuffixText | async }}</div>\n</div>\n<ax-footer>\n @for (button of data.buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n", styles: ["ax-loading-dialog{display:flex;flex-direction:column;gap:.5rem;width:33vw;background-color:rgba(var(--ax-color-surface));padding:1rem;border-radius:var(--ax-rounded-border-default)}ax-loading-dialog ax-title{font-weight:500;font-size:1rem;margin-bottom:.5rem}@media (max-width: 599px){ax-loading-dialog{width:93vw!important}}@media (min-width: 600px){ax-loading-dialog{width:55vw!important}}@media (min-width: 1200px){ax-loading-dialog{width:30vw!important}}@media (min-width: 1800px){ax-loading-dialog{width:25vw!important}}ax-loading-dialog .progress-decorators{display:flex;justify-content:space-between;font-size:.875rem}ax-loading-dialog ax-footer{justify-content:flex-end;padding-top:.75rem}\n"] }]
|
47
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
48
|
+
type: Inject,
|
49
|
+
args: [DIALOG_DATA]
|
50
|
+
}] }, { type: i1.DialogRef }] });
|
51
|
+
|
52
|
+
class AXLoadingDialogService {
|
53
|
+
constructor() {
|
54
|
+
this.dialog = inject(Dialog);
|
55
|
+
}
|
56
|
+
// private data$: BehaviorSubject<AXLoadingDialogConfig> = new BehaviorSubject<AXLoadingDialogConfig>(null);
|
57
|
+
show(options) {
|
58
|
+
const dialogRef = this.dialog.open(AXLoadingDialogComponent, {
|
59
|
+
hasBackdrop: true,
|
60
|
+
disableClose: true,
|
61
|
+
restoreFocus: true,
|
62
|
+
closeOnDestroy: true,
|
63
|
+
closeOnNavigation: true,
|
64
|
+
ariaModal: true,
|
65
|
+
role: 'alertdialog',
|
66
|
+
panelClass: ['ax-animate-fadeIn'],
|
67
|
+
data: options,
|
68
|
+
});
|
69
|
+
return {
|
70
|
+
close: () => {
|
71
|
+
dialogRef.componentInstance?.close();
|
72
|
+
},
|
73
|
+
};
|
74
|
+
}
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
76
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogService }); }
|
77
|
+
}
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogService, decorators: [{
|
79
|
+
type: Injectable
|
80
|
+
}] });
|
81
|
+
|
82
|
+
const COMPONENT = [AXLoadingDialogComponent];
|
83
|
+
class AXLoadingDialogModule {
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
85
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogModule, declarations: [AXLoadingDialogComponent], imports: [AXCommonModule,
|
86
|
+
AXProgressBarModule,
|
87
|
+
AXLoadingModule,
|
88
|
+
AXDecoratorModule,
|
89
|
+
AXButtonModule,
|
90
|
+
AXTranslationModule,
|
91
|
+
AsyncPipe], exports: [AXLoadingDialogComponent] }); }
|
92
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogModule, providers: [AXLoadingDialogService], imports: [AXCommonModule,
|
93
|
+
AXProgressBarModule,
|
94
|
+
AXLoadingModule,
|
95
|
+
AXDecoratorModule,
|
96
|
+
AXButtonModule,
|
97
|
+
AXTranslationModule] }); }
|
98
|
+
}
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXLoadingDialogModule, decorators: [{
|
100
|
+
type: NgModule,
|
101
|
+
args: [{
|
102
|
+
declarations: [...COMPONENT],
|
103
|
+
imports: [
|
104
|
+
AXCommonModule,
|
105
|
+
AXProgressBarModule,
|
106
|
+
AXLoadingModule,
|
107
|
+
AXDecoratorModule,
|
108
|
+
AXButtonModule,
|
109
|
+
AXTranslationModule,
|
110
|
+
AsyncPipe,
|
111
|
+
],
|
112
|
+
exports: [...COMPONENT],
|
113
|
+
providers: [AXLoadingDialogService],
|
114
|
+
}]
|
115
|
+
}] });
|
116
|
+
|
117
|
+
/**
|
118
|
+
* Generated bundle index. Do not edit.
|
119
|
+
*/
|
120
|
+
|
121
|
+
export { AXLoadingDialogComponent, AXLoadingDialogModule, AXLoadingDialogService };
|
122
|
+
//# sourceMappingURL=acorex-components-loading-dialog.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"acorex-components-loading-dialog.mjs","sources":["../../../../libs/components/loading-dialog/src/lib/loading-dialog.component.ts","../../../../libs/components/loading-dialog/src/lib/loading-dialog.component.html","../../../../libs/components/loading-dialog/src/lib/loading-dialog.service.ts","../../../../libs/components/loading-dialog/src/lib/loading-dialog.module.ts","../../../../libs/components/loading-dialog/src/acorex-components-loading-dialog.ts"],"sourcesContent":["import { AXComponentCloseEvent, MXBaseComponent } from '@acorex/components/common';\nimport { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';\nimport { ChangeDetectionStrategy, Component, Inject, OnInit, ViewEncapsulation } from '@angular/core';\nimport { AXLoadingDialogButtonItem, AXLoadingDialogConfig } from './loading-dialog.class';\n\n@Component({\n selector: 'ax-loading-dialog',\n templateUrl: './loading-dialog.component.html',\n styleUrls: ['./loading-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXLoadingDialogComponent extends MXBaseComponent implements OnInit {\n constructor(\n @Inject(DIALOG_DATA) public data: AXLoadingDialogConfig,\n private dialogRef: DialogRef<AXComponentCloseEvent>,\n ) {\n super();\n }\n ngOnInit() {\n super.ngOnInit();\n }\n close() {\n this.dialogRef.close();\n }\n protected _handleButtonClick(button: AXLoadingDialogButtonItem) {\n if (button.onClick) {\n button.onClick({ source: button });\n }\n }\n protected _hasAutoFocus(button: AXLoadingDialogButtonItem) {\n const result =\n button.autofocus || this.data.buttons.length == 1 || !this.data.buttons.some((c) => c.autofocus);\n return result;\n }\n}\n","<ax-title>{{ data.title | async }}</ax-title>\n\n<ax-progress-bar\n [mode]=\"data.mode | async\"\n [progress]=\"data.progressValue | async\"\n [color]=\"data.progressColor\"\n></ax-progress-bar>\n<div class=\"progress-decorators\">\n <div>{{ data.progressPrefixText | async }}</div>\n <div>{{ data.progressSuffixText | async }}</div>\n</div>\n<ax-footer>\n @for (button of data.buttons; let i = $index; track i) {\n <ax-button\n [text]=\"button.text | translate | async\"\n [tabindex]=\"i\"\n [axHotkey]=\"button.hotkey\"\n [axAutoFocus]=\"_hasAutoFocus(button)\"\n (onClick)=\"_handleButtonClick(button)\"\n [look]=\"button.look\"\n [disabled]=\"button.disabled\"\n [color]=\"button.color\"\n >\n @if (button.loading) {\n <ax-loading></ax-loading>\n }\n </ax-button>\n }\n</ax-footer>\n","import { Dialog } from '@angular/cdk/dialog';\nimport { Injectable, inject } from '@angular/core';\nimport { AXDialogRef, AXLoadingDialogConfig } from './loading-dialog.class';\nimport { AXLoadingDialogComponent } from './loading-dialog.component';\n\n@Injectable()\nexport class AXLoadingDialogService {\n private dialog = inject(Dialog);\n\n // private data$: BehaviorSubject<AXLoadingDialogConfig> = new BehaviorSubject<AXLoadingDialogConfig>(null);\n\n show(options: AXLoadingDialogConfig): AXDialogRef {\n const dialogRef = this.dialog.open(AXLoadingDialogComponent, {\n hasBackdrop: true,\n disableClose: true,\n restoreFocus: true,\n closeOnDestroy: true,\n closeOnNavigation: true,\n ariaModal: true,\n role: 'alertdialog',\n panelClass: ['ax-animate-fadeIn'],\n data: options,\n });\n return {\n close: () => {\n dialogRef.componentInstance?.close();\n },\n };\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXProgressBarModule } from '@acorex/components/progress-bar';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXLoadingDialogComponent } from './loading-dialog.component';\nimport { AXLoadingDialogService } from './loading-dialog.service';\n\nconst COMPONENT = [AXLoadingDialogComponent];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [\n AXCommonModule,\n AXProgressBarModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AsyncPipe,\n ],\n exports: [...COMPONENT],\n providers: [AXLoadingDialogService],\n})\nexport class AXLoadingDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import { forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input,
|
2
|
+
import { forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, ViewChild, Input, NgModule } from '@angular/core';
|
3
3
|
import * as i2 from 'angular-imask';
|
4
4
|
import { IMaskDirective, IMaskModule } from 'angular-imask';
|
5
5
|
import { createMask } from 'imask';
|
@@ -212,11 +212,8 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
|
|
212
212
|
}
|
213
213
|
this.commitValue(this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep), u);
|
214
214
|
}
|
215
|
-
get __hostClass() {
|
216
|
-
return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;
|
217
|
-
}
|
218
215
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXNumberBoxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
219
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", look: "look", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" },
|
216
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.1", type: AXNumberBoxComponent, selector: "ax-number-box", inputs: { disabled: "disabled", readonly: "readonly", tabIndex: "tabIndex", placeholder: "placeholder", value: "value", state: "state", name: "name", id: "id", look: "look", thousandsSeparator: "thousandsSeparator", padDecimalZeros: "padDecimalZeros", step: "step", decimals: "decimals", decimalStep: "decimalStep", showSpinButtons: "showSpinButtons", minValue: "minValue", maxValue: "maxValue" }, outputs: { valueChange: "valueChange", stateChange: "stateChange", onValueChanged: "onValueChanged", onBlur: "onBlur", onFocus: "onFocus", readonlyChange: "readonlyChange", disabledChange: "disabledChange", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp", onKeyPress: "onKeyPress" }, providers: [
|
220
217
|
{ provide: AXComponent, useExisting: AXNumberBoxComponent },
|
221
218
|
{ provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },
|
222
219
|
{ provide: AXClearableComponent, useExisting: AXNumberBoxComponent },
|
@@ -226,7 +223,7 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
|
|
226
223
|
useExisting: forwardRef(() => AXNumberBoxComponent),
|
227
224
|
multi: true,
|
228
225
|
},
|
229
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n
|
226
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-editor-container ax-look-{{look}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-up\"></span>\n </button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n </div>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>", styles: [".ax-number-box-control{-webkit-margin-end:.25rem;margin-inline-end:.25rem;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0}.ax-number-box-control .ax-general-button{display:flex;height:1rem;width:1.25rem;border-radius:.25rem}.ax-number-box-control .ax-general-button.ax-number-box-increment i:hover,.ax-number-box-control .ax-general-button.ax-number-box-decrement i:hover{align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
230
227
|
}
|
231
228
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
|
232
229
|
type: Component,
|
@@ -251,7 +248,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
251
248
|
useExisting: forwardRef(() => AXNumberBoxComponent),
|
252
249
|
multi: true,
|
253
250
|
},
|
254
|
-
], template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n
|
251
|
+
], template: "<div class=\"ax-editor-container ax-look-{{look}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-up\"></span>\n </button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n </div>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>", styles: [".ax-number-box-control{-webkit-margin-end:.25rem;margin-inline-end:.25rem;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 0}.ax-number-box-control .ax-general-button{display:flex;height:1rem;width:1.25rem;border-radius:.25rem}.ax-number-box-control .ax-general-button.ax-number-box-increment i:hover,.ax-number-box-control .ax-general-button.ax-number-box-decrement i:hover{align-items:center}\n"] }]
|
255
252
|
}], propDecorators: { input: [{
|
256
253
|
type: ViewChild,
|
257
254
|
args: ['input']
|
@@ -274,9 +271,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
|
|
274
271
|
}], _maskDirective: [{
|
275
272
|
type: ViewChild,
|
276
273
|
args: [IMaskDirective]
|
277
|
-
}], __hostClass: [{
|
278
|
-
type: HostBinding,
|
279
|
-
args: ['class']
|
280
274
|
}] } });
|
281
275
|
|
282
276
|
const COMPONENT = [AXNumberBoxComponent];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-number-box.mjs","sources":["../../../../libs/components/number-box/src/lib/number-box.component.ts","../../../../libs/components/number-box/src/lib/number-box.component.html","../../../../libs/components/number-box/src/lib/number-box.module.ts","../../../../libs/components/number-box/src/acorex-components-number-box.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { IMaskDirective } from 'angular-imask';\nimport { MaskedNumber, createMask } from 'imask';\n\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEmpty, toNumber } from 'lodash-es';\nimport { classes } from 'polytype';\n\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-number-box',\n templateUrl: './number-box.component.html',\n styleUrls: ['./number-box.component.scss'],\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n { provide: AXComponent, useExisting: AXNumberBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXNumberBoxComponent\n extends classes(MXInputBaseValueComponent<number>, MXLookComponent)\n implements AfterViewInit\n{\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\n\n private _thousandsSeparator: string;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n public get thousandsSeparator(): string {\n return this._thousandsSeparator;\n }\n public set thousandsSeparator(v: string) {\n this.setOption({\n name: 'thousandsSeparator',\n value: v ?? '',\n });\n }\n\n private _padDecimalZeros = false;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n public get padDecimalZeros(): boolean {\n return this._padDecimalZeros;\n }\n public set padDecimalZeros(v: boolean) {\n this.setOption({\n name: 'padDecimalZeros',\n value: v,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Integer** part of number\n */\n @Input()\n step = 1;\n\n private _decimals = 0;\n /**\n * Specifies the number of decimals that the user can enter\n */\n @Input()\n public get decimals(): number {\n return this._decimals;\n }\n public set decimals(v: number) {\n this.setOption({\n name: 'decimals',\n value: v ?? 0,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\n */\n @Input()\n decimalStep: number | 'auto' = 'auto';\n\n /**\n * Specifies whether the Up and Down spin buttons will be rendered or not\n */\n @Input()\n showSpinButtons = true;\n\n private _minValue: number = Number.MIN_SAFE_INTEGER;\n /**\n * Specifies the smallest value that is valid\n */\n @Input()\n public get minValue(): number {\n return this._minValue;\n }\n public set minValue(v: number) {\n this.setOption({\n name: 'minValue',\n value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\n });\n }\n\n private _maxValue: number = Number.MAX_SAFE_INTEGER;\n /**\n * Specifies the greatest value that is valid\n */\n @Input()\n public get maxValue(): number {\n return this._maxValue;\n }\n public set maxValue(v: number) {\n this.setOption({\n name: 'maxValue',\n value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\n });\n }\n\n /**\n * @ignore\n */\n _maskObj: MaskedNumber;\n\n @ViewChild(IMaskDirective)\n private _maskDirective: IMaskDirective<MaskedNumber>;\n\n ngAfterViewInit(): void {\n this._updateMask();\n }\n\n override internalOptionChanged(): void {\n this._updateMask();\n }\n\n override clear(): void {\n this.input.nativeElement.value = null;\n super.clear(true);\n }\n\n override internalSetValue(value: any): number {\n // || (value == 0 && !this._maskObj.value)\n if (value == null) {\n return this.defaultValue;\n }\n const v = toNumber(value);\n if (v < this.minValue) return this.minValue;\n if (v > this.maxValue) return this.maxValue;\n return v;\n }\n\n private _updateMask() {\n if (!this._maskObj) {\n this._maskObj = createMask({\n mask: Number,\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n\n this._maskObj.format = (v: number, m) => {\n return !isNaN(v)\n ? v.toLocaleString('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20,\n })\n : '';\n };\n } else {\n this._maskObj.updateOptions({\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n }\n this._maskDirective?.maskRef?.updateValue();\n this._maskDirective?.maskRef?.updateControl();\n }\n\n _handleModelChange(value: number) {\n if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {\n value = null;\n }\n\n this.commitValue(value, true);\n }\n\n _handleOnKeydownEvent(e: KeyboardEvent) {\n if (this.disabled || this.readonly) return;\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n const input = e.target as HTMLInputElement;\n const valStr = input.value;\n const decimalPointIndex = valStr.indexOf('.');\n const _cursorPos = input.selectionStart!;\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {\n e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);\n } else {\n e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);\n }\n ignore();\n setTimeout(() => {\n input.setSelectionRange(_cursorPos, _cursorPos);\n }, 5);\n }\n super.emitOnKeydownEvent(e);\n }\n\n _handleUpDownClick(v: -1 | 1) {\n if (this.disabled || this.readonly) return;\n v == 1 ? this.stepUp(true) : this.stepDown(true);\n }\n\n stepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value + toNumber(this.step), u);\n }\n\n stepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value - toNumber(this.step), u);\n }\n\n decimalStepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(\n this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep),\n u,\n );\n }\n\n decimalStepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(\n this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep),\n u,\n );\n }\n\n @HostBinding('class')\n get __hostClass(): string {\n return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;\n }\n}\n","<ng-content select=\"ax-prefix\"> </ng-content>\n<input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\" (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n@if(input.value && !disabled && !readonly){\n<ng-content select=\"ax-clear-button\"></ng-content>\n}\n@if(showSpinButtons){\n<div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-up\"></span>\n </button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n</div>\n}\n\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ng-content select=\"ax-validation-rule\"> </ng-content>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IMaskModule } from 'angular-imask';\nimport { AXNumberBoxComponent } from './number-box.component';\n\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXNumberBoxModule {}\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-number-box.mjs","sources":["../../../../libs/components/number-box/src/lib/number-box.component.ts","../../../../libs/components/number-box/src/lib/number-box.component.html","../../../../libs/components/number-box/src/lib/number-box.module.ts","../../../../libs/components/number-box/src/acorex-components-number-box.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { IMaskDirective } from 'angular-imask';\nimport { MaskedNumber, createMask } from 'imask';\n\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEmpty, toNumber } from 'lodash-es';\nimport { classes } from 'polytype';\n\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-number-box',\n templateUrl: './number-box.component.html',\n styleUrls: ['./number-box.component.scss'],\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n\n providers: [\n { provide: AXComponent, useExisting: AXNumberBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBoxComponent),\n multi: true,\n },\n ],\n})\nexport class AXNumberBoxComponent\n extends classes(MXInputBaseValueComponent<number>, MXLookComponent)\n implements AfterViewInit\n{\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\n\n private _thousandsSeparator: string;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n public get thousandsSeparator(): string {\n return this._thousandsSeparator;\n }\n public set thousandsSeparator(v: string) {\n this.setOption({\n name: 'thousandsSeparator',\n value: v ?? '',\n });\n }\n\n private _padDecimalZeros = false;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n public get padDecimalZeros(): boolean {\n return this._padDecimalZeros;\n }\n public set padDecimalZeros(v: boolean) {\n this.setOption({\n name: 'padDecimalZeros',\n value: v,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Integer** part of number\n */\n @Input()\n step = 1;\n\n private _decimals = 0;\n /**\n * Specifies the number of decimals that the user can enter\n */\n @Input()\n public get decimals(): number {\n return this._decimals;\n }\n public set decimals(v: number) {\n this.setOption({\n name: 'decimals',\n value: v ?? 0,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\n */\n @Input()\n decimalStep: number | 'auto' = 'auto';\n\n /**\n * Specifies whether the Up and Down spin buttons will be rendered or not\n */\n @Input()\n showSpinButtons = true;\n\n private _minValue: number = Number.MIN_SAFE_INTEGER;\n /**\n * Specifies the smallest value that is valid\n */\n @Input()\n public get minValue(): number {\n return this._minValue;\n }\n public set minValue(v: number) {\n this.setOption({\n name: 'minValue',\n value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\n });\n }\n\n private _maxValue: number = Number.MAX_SAFE_INTEGER;\n /**\n * Specifies the greatest value that is valid\n */\n @Input()\n public get maxValue(): number {\n return this._maxValue;\n }\n public set maxValue(v: number) {\n this.setOption({\n name: 'maxValue',\n value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\n });\n }\n\n /**\n * @ignore\n */\n _maskObj: MaskedNumber;\n\n @ViewChild(IMaskDirective)\n private _maskDirective: IMaskDirective<MaskedNumber>;\n\n ngAfterViewInit(): void {\n this._updateMask();\n }\n\n override internalOptionChanged(): void {\n this._updateMask();\n }\n\n override clear(): void {\n this.input.nativeElement.value = null;\n super.clear(true);\n }\n\n override internalSetValue(value: any): number {\n // || (value == 0 && !this._maskObj.value)\n if (value == null) {\n return this.defaultValue;\n }\n const v = toNumber(value);\n if (v < this.minValue) return this.minValue;\n if (v > this.maxValue) return this.maxValue;\n return v;\n }\n\n private _updateMask() {\n if (!this._maskObj) {\n this._maskObj = createMask({\n mask: Number,\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n\n this._maskObj.format = (v: number, m) => {\n return !isNaN(v)\n ? v.toLocaleString('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20,\n })\n : '';\n };\n } else {\n this._maskObj.updateOptions({\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n }\n this._maskDirective?.maskRef?.updateValue();\n this._maskDirective?.maskRef?.updateControl();\n }\n\n _handleModelChange(value: number) {\n if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {\n value = null;\n }\n\n this.commitValue(value, true);\n }\n\n _handleOnKeydownEvent(e: KeyboardEvent) {\n if (this.disabled || this.readonly) return;\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n const input = e.target as HTMLInputElement;\n const valStr = input.value;\n const decimalPointIndex = valStr.indexOf('.');\n const _cursorPos = input.selectionStart!;\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {\n e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);\n } else {\n e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);\n }\n ignore();\n setTimeout(() => {\n input.setSelectionRange(_cursorPos, _cursorPos);\n }, 5);\n }\n super.emitOnKeydownEvent(e);\n }\n\n _handleUpDownClick(v: -1 | 1) {\n if (this.disabled || this.readonly) return;\n v == 1 ? this.stepUp(true) : this.stepDown(true);\n }\n\n stepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value + toNumber(this.step), u);\n }\n\n stepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value - toNumber(this.step), u);\n }\n\n decimalStepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(\n this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep),\n u,\n );\n }\n\n decimalStepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(\n this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep),\n u,\n );\n }\n\n // @HostBinding('class')\n // get __hostClass(): string {\n // return `ax-editor-container ax-look-${this.look} ${this.disabled ? 'ax-state-disabled' : ''}`;\n // }\n}\n","<div class=\"ax-editor-container ax-look-{{look}}\" [class.ax-state-disabled]=\"disabled\">\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input #input class=\"ax-input\" type=\"text\" [id]=\"id\" [name]=\"name\" [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\" [imask]=\"_maskObj\" [unmask]=\"'typed'\" [attr.min]=\"minValue\" [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\" [class.ax-state-readonly]=\"readonly\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" [tabindex]=\"tabIndex\" [ngModel]=\"value\" (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\" (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\" (focus)=\"emitOnFocusEvent($event)\" (blur)=\"emitOnBlurEvent($event)\" />\n @if(input.value && !disabled && !readonly){\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if(showSpinButtons){\n <div class=\"ax-number-box-control\">\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-increment\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(1)\" tabindex=\"-1\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-up\"></span>\n </button>\n <button type=\"button\" class=\"ax-general-button ax-button-icon ax-number-box-decrement\"\n [class.ax-state-disabled]=\"disabled\" (click)=\"_handleUpDownClick(-1)\" [disabled]=\"disabled\">\n <span class=\"ax-icon ax-icon-solid ax-icon-arrow-down\" tabindex=\"-1\"></span>\n </button>\n </div>\n }\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IMaskModule } from 'angular-imask';\nimport { AXNumberBoxComponent } from './number-box.component';\n\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXNumberBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|