@acorex/components 7.17.11 → 7.17.13
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/color-palette/lib/color-palette-swatches.component.d.ts +2 -1
- package/data-table/lib/columns/data-table-column.d.ts +2 -1
- package/data-table/lib/columns/data-text-column.component.d.ts +2 -1
- package/data-table/lib/columns/row-command-column.component.d.ts +3 -1
- package/data-table/lib/columns/row-index-column.component.d.ts +3 -2
- package/data-table/lib/columns/row-select-column.component.d.ts +2 -1
- package/data-table/lib/data-table.component.d.ts +10 -4
- package/datetime-picker/lib/datetime-picker.component.d.ts +5 -3
- package/datetime-picker/lib/datetime-picker.module.d.ts +2 -1
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +2 -2
- package/esm2022/alert/lib/alert.component.mjs +2 -2
- package/esm2022/avatar/lib/avatar.component.mjs +2 -2
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +2 -2
- package/esm2022/button/lib/button-item-list.component.mjs +2 -2
- package/esm2022/button/lib/button.component.mjs +2 -2
- package/esm2022/button-group/lib/button-group.component.mjs +2 -2
- package/esm2022/calendar/lib/calendar-range.component.mjs +2 -2
- package/esm2022/calendar/lib/calendar.component.mjs +2 -2
- package/esm2022/circular-progress/lib/circular-progress.component.mjs +2 -2
- package/esm2022/collapse/lib/collapse.component.mjs +3 -3
- package/esm2022/color-box/lib/color-box.component.mjs +2 -2
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +2 -2
- package/esm2022/color-palette/lib/color-palette.component.mjs +2 -2
- package/esm2022/common/lib/classes/datasource.class.mjs +2 -2
- package/esm2022/data-pager/lib/data-pager.component.mjs +2 -2
- package/esm2022/data-table/lib/columns/data-table-column.mjs +1 -1
- package/esm2022/data-table/lib/columns/data-text-column.component.mjs +7 -4
- package/esm2022/data-table/lib/columns/row-command-column.component.mjs +8 -2
- package/esm2022/data-table/lib/columns/row-index-column.component.mjs +9 -6
- package/esm2022/data-table/lib/columns/row-select-column.component.mjs +5 -2
- package/esm2022/data-table/lib/data-table.component.mjs +24 -16
- package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +14 -5
- package/esm2022/datetime-picker/lib/datetime-picker.module.mjs +5 -2
- package/esm2022/decorators/lib/components/close-button.component.mjs +4 -9
- package/esm2022/decorators/lib/components/generic-content.component.mjs +4 -10
- package/esm2022/decorators/lib/components/icon.component.mjs +3 -9
- package/esm2022/dialog/lib/dialog.component.mjs +2 -2
- package/esm2022/drawer/lib/drawer.component.mjs +2 -2
- package/esm2022/dropdown/lib/dropdown-panel.component.mjs +2 -2
- package/esm2022/form/lib/form-field.component.mjs +2 -2
- package/esm2022/image/lib/image.component.mjs +2 -2
- package/esm2022/label/lib/label.component.mjs +2 -2
- package/esm2022/list/lib/list.component.mjs +2 -2
- package/esm2022/loading/lib/loading-spinner.component.mjs +2 -2
- package/esm2022/loading/lib/loading.component.mjs +2 -2
- package/esm2022/menu/lib/menu.component.mjs +2 -2
- package/esm2022/navbar/lib/navbar.component.mjs +2 -2
- package/esm2022/notification/lib/notification.component.mjs +2 -2
- package/esm2022/otp/lib/otp.component.mjs +2 -2
- package/esm2022/picker/lib/picker.component.mjs +2 -2
- package/esm2022/popup/lib/popup.component.mjs +2 -2
- package/esm2022/progress-bar/lib/progress-bar.component.mjs +2 -2
- package/esm2022/range-slider/lib/range-slider.component.mjs +2 -2
- package/esm2022/result/lib/result.component.mjs +2 -2
- package/esm2022/routing-progress/lib/routing-progress.component.mjs +2 -2
- package/esm2022/scheduler/lib/scheduler.component.mjs +2 -2
- package/esm2022/select-box/lib/select-box.component.mjs +2 -2
- package/esm2022/selection-list/lib/selection-list.component.mjs +2 -2
- package/esm2022/side-menu/lib/side-menu.component.mjs +2 -2
- package/esm2022/skeleton/lib/skeleton.component.mjs +2 -2
- package/esm2022/switch/lib/switch.component.mjs +2 -2
- package/esm2022/tabs/lib/tabs.component.mjs +4 -4
- package/esm2022/tag/lib/tag.component.mjs +2 -2
- package/esm2022/text-area/lib/text-area.component.mjs +26 -5
- package/esm2022/toast/lib/toast.component.mjs +2 -2
- package/esm2022/tooltip/lib/tooltip.component.mjs +2 -2
- package/esm2022/uploader/lib/uploader-list.component.mjs +3 -3
- package/fesm2022/acorex-components-action-sheet.mjs +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-alert.mjs +2 -2
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-avatar.mjs +2 -2
- package/fesm2022/acorex-components-avatar.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +2 -2
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +2 -2
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +4 -4
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +4 -4
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-circular-progress.mjs +2 -2
- package/fesm2022/acorex-components-circular-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +2 -2
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-box.mjs +2 -2
- package/fesm2022/acorex-components-color-box.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +2 -2
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +1 -1
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-data-pager.mjs +2 -2
- package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
- package/fesm2022/acorex-components-data-table.mjs +53 -30
- package/fesm2022/acorex-components-data-table.mjs.map +1 -1
- package/fesm2022/acorex-components-datetime-picker.mjs +16 -5
- package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +8 -25
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +2 -2
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-drawer.mjs +2 -2
- package/fesm2022/acorex-components-drawer.mjs.map +1 -1
- package/fesm2022/acorex-components-dropdown.mjs +2 -2
- package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +2 -2
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image.mjs +2 -2
- package/fesm2022/acorex-components-image.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-loading.mjs +4 -4
- package/fesm2022/acorex-components-loading.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +2 -2
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-navbar.mjs +2 -2
- package/fesm2022/acorex-components-navbar.mjs.map +1 -1
- package/fesm2022/acorex-components-notification.mjs +2 -2
- package/fesm2022/acorex-components-notification.mjs.map +1 -1
- package/fesm2022/acorex-components-otp.mjs +2 -2
- package/fesm2022/acorex-components-otp.mjs.map +1 -1
- package/fesm2022/acorex-components-picker.mjs +2 -2
- package/fesm2022/acorex-components-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-popup.mjs +2 -2
- package/fesm2022/acorex-components-popup.mjs.map +1 -1
- package/fesm2022/acorex-components-progress-bar.mjs +2 -2
- package/fesm2022/acorex-components-progress-bar.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +2 -2
- package/fesm2022/acorex-components-range-slider.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-routing-progress.mjs +2 -2
- package/fesm2022/acorex-components-routing-progress.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +2 -2
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-selection-list.mjs +2 -2
- package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs +2 -2
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/fesm2022/acorex-components-skeleton.mjs +2 -2
- package/fesm2022/acorex-components-skeleton.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +2 -2
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-tabs.mjs +3 -3
- package/fesm2022/acorex-components-tabs.mjs.map +1 -1
- package/fesm2022/acorex-components-tag.mjs +2 -2
- package/fesm2022/acorex-components-tag.mjs.map +1 -1
- package/fesm2022/acorex-components-text-area.mjs +26 -6
- package/fesm2022/acorex-components-text-area.mjs.map +1 -1
- package/fesm2022/acorex-components-toast.mjs +2 -2
- package/fesm2022/acorex-components-toast.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +2 -2
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-uploader.mjs +2 -2
- package/fesm2022/acorex-components-uploader.mjs.map +1 -1
- package/package.json +19 -19
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-data-table.mjs","sources":["../../../../libs/components/data-table/src/lib/columns/data-table-column.ts","../../../../libs/components/data-table/src/lib/columns/data-text-column.component.ts","../../../../libs/components/data-table/src/lib/data-table.component.ts","../../../../libs/components/data-table/src/lib/data-table.component.html","../../../../libs/components/data-table/src/lib/columns/row-command-column.component.ts","../../../../libs/components/data-table/src/lib/columns/row-index-column.component.ts","../../../../libs/components/data-table/src/lib/columns/row-select-column.component.ts","../../../../libs/components/data-table/src/lib/data-table.module.ts","../../../../libs/components/data-table/src/acorex-components-data-table.ts"],"sourcesContent":["import { AXSortOrder } from '@acorex/components/common';\nimport { Injectable, Input, TemplateRef } from '@angular/core';\n\n@Injectable()\nexport abstract class AXDataTableColumnComponent {\n @Input()\n caption: string;\n\n @Input()\n width: string | number = 'auto';\n\n @Input()\n fixed: 'start' | 'end' | undefined;\n\n @Input()\n allowSorting = false;\n\n @Input()\n sortIndex: number | undefined = undefined;\n\n @Input()\n sortOrder: AXSortOrder | undefined = undefined;\n\n @Input()\n headerTemplate?: TemplateRef<unknown>;\n\n @Input()\n cellTemplate?: TemplateRef<unknown>;\n\n abstract get template(): TemplateRef<unknown>;\n\n abstract get skeleton(): boolean;\n\n get cssClass(): string | undefined {\n return null;\n }\n}\n","import { AXFormatService } from '@acorex/core/format';\nimport { Memorize } from '@acorex/core/memorize';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-text-column',\n template: ` <ng-template let-row>\n <span [class.ax-truncate]=\"!wrapText\">{{ getDisplayText(row.data, this.dataField) }}</span>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }],\n inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'allowSorting', 'fixed'],\n})\nexport class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {\n @Input()\n dataField: string;\n\n\n @Input()\n wrapText = false;\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get skeleton(): boolean {\n return true;\n }\n\n private formatService = inject(AXFormatService);\n\n @Memorize()\n protected getDisplayText(rowData: unknown, dataField: string): string {\n const value = rowData[dataField];\n const options = Array.isArray(this.formatOptions) ? this.formatOptions : [this.formatOptions];\n return !this.format ? value : this.formatService.format(value, this.format, ...options);\n }\n\n @Input()\n format: string;\n\n @Input()\n formatOptions: unknown;\n}\n","import {\n AXDataSource,\n AXEvent,\n AXListDataSource,\n AXPagedComponent,\n AXValueChangedEvent,\n MXBaseComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport sum from 'lodash-es/sum';\nimport { AXDataTableColumnComponent } from './columns/data-table-column';\nimport { AXDataTableTextColumnComponent } from './columns/data-text-column.component';\n\nexport interface AXDataTableScrollIndexChanged extends AXEvent {\n index: number;\n}\n\n@Component({\n selector: 'ax-data-table',\n templateUrl: './data-table.component.html',\n styleUrls: ['./data-table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }],\n})\nexport class AXDataTableComponent extends MXBaseComponent {\n @ContentChildren(AXDataTableColumnComponent)\n protected columns: QueryList<AXDataTableColumnComponent>;\n\n protected startFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => c.fixed == 'start') ?? [];\n }\n\n protected endFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => c.fixed == 'end') ?? [];\n }\n\n protected notFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => !c.fixed) ?? [];\n }\n\n protected notFixedColumnCount(): number {\n return this.columns?.toArray().filter((c) => !c.fixed).length ?? 0;\n }\n\n protected fixedColumnCount(): number {\n return this.columns?.toArray().filter((c) => c.fixed).length ?? 0;\n }\n\n @Output()\n onPageChanged: EventEmitter<AXValueChangedEvent<number>> = new EventEmitter<AXValueChangedEvent<number>>();\n\n @Input()\n rowTemplate?: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate?: TemplateRef<unknown>;\n\n @Input()\n loadingTemplate: TemplateRef<unknown>;\n\n @Input()\n showHeader = true;\n\n @Input()\n fetchDataMode: 'auto' | 'manual' = 'auto';\n\n @Input()\n dataSource: AXDataSource<unknown> = convertArrayToDataSource([]);\n\n protected listDataSource: AXListDataSource<unknown>;\n protected isLoading = true;\n protected hasItems = false;\n protected totalRows = 0;\n protected currentPage = 0;\n protected totalPages = 0;\n protected startRowIndex = 0;\n private lastIndex = 0;\n\n @Output()\n focusedRowChange: EventEmitter<unknown> = new EventEmitter<unknown>();\n\n private _focusedRow: unknown;\n @Input()\n public get focusedRow(): unknown {\n return this._focusedRow;\n }\n public set focusedRow(v: unknown) {\n this._focusedRow = v;\n this.focusedRowChange.emit(v);\n }\n\n @Output()\n selectedRowsChange: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\n\n private _selectedRows: unknown[] = [];\n @Input()\n public get selectedRows(): unknown[] {\n return this._selectedRows;\n }\n public set selectedRows(v: unknown[]) {\n this._selectedRows = v;\n this.selectedRowsChange.emit(v);\n }\n\n public selectRows(...rows: unknown[]) {\n this.selectedRows = [...this.selectedRows, ...rows];\n }\n\n public unSelectRows(...rows: unknown[]) {\n this.selectedRows = this.selectedRows.filter((c) => !rows.includes(c));\n }\n\n @Input()\n itemHeight: number | 'auto' = 40;\n\n protected width = '100%';\n protected height = '100%';\n\n @ViewChild(CdkVirtualScrollViewport, { static: true })\n private viewport: CdkVirtualScrollViewport;\n\n @Output()\n onScrolledIndexChanged: EventEmitter<AXDataTableScrollIndexChanged> =\n new EventEmitter<AXDataTableScrollIndexChanged>();\n\n trackByIdx(i) {\n return i;\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.listDataSource = new AXListDataSource<unknown>({\n source: this.dataSource,\n });\n this.listDataSource.source.onLoadingChanged.subscribe((data) => {\n this.isLoading = data;\n });\n this.listDataSource.source.onChanged.subscribe((data) => {\n this.totalRows = data.totalCount;\n this.hasItems = data.totalCount > 0;\n setTimeout(() => {\n this.render();\n }, 100);\n });\n }\n @ViewChild('headerContainer') headerContainer: ElementRef<HTMLDivElement>;\n @ViewChild('footerContainer') footerContainer: ElementRef;\n\n protected _handleOnscrolledIndexChange(e: number) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n\n ngDoCheck() {\n //this.copyFixedColumns();\n this.updateHScroll();\n //\n this.updateWidth();\n this.updateHeight();\n //\n this.updateTotalCount();\n }\n\n private updateTotalCount() {\n this.startRowIndex = this.lastIndex;\n if (this.startRowIndex < 1) this.startRowIndex = 1;\n if (this.startRowIndex > this.totalRows) this.startRowIndex = this.totalRows;\n }\n\n private updateHeight() {\n this.height = `calc(100% - ${\n (this.headerContainer?.nativeElement.clientHeight ?? 0) +\n (this.footerContainer?.nativeElement.clientHeight ?? 0)\n }px)`;\n }\n\n private updateWidth() {\n if (this.columns && this.columns.length) {\n const sumPx = sum(\n this.columns\n .toArray()\n .map((c) => (typeof c.width == 'number' ? c.width : Number(c.width.replace('px', '')))),\n );\n this.width = `${Math.max(sumPx, this.getHostElement().clientWidth - 5)}px`;\n }\n }\n\n private updateHScroll() {\n if (this.headerContainer) {\n const headerContainer = this.headerContainer.nativeElement;\n const left = this.getHostElement().querySelector('.cdk-virtual-scrollable').scrollLeft;\n headerContainer.style.transform = `translateX(${-left}px)`;\n }\n }\n\n // Function to copy fixed columns\n private copyFixedColumns() {\n const originalRows = Array.from(this.viewport._contentWrapper.nativeElement.querySelectorAll('tr'));\n const fixedColumnTable = this.getHostElement().querySelector<HTMLTableElement>(\n '.ax-body-fixed-columns > table > tbody',\n );\n fixedColumnTable.querySelectorAll('tr').forEach((n) => n.remove());\n for (const row of originalRows) {\n const fixedCells = Array.from(row.querySelectorAll('[data-fixed=\"start\"]'));\n const fixedRow = document.createElement('tr');\n for (const cell of fixedCells) {\n const clonedCell = cell.cloneNode(true);\n fixedRow.appendChild(clonedCell);\n }\n fixedColumnTable.appendChild(fixedRow);\n }\n const scrollTop = this.getHostElement().querySelector('.cdk-virtual-scrollable').scrollTop;\n fixedColumnTable.style.transform = `translateY(${-scrollTop}px)`;\n }\n\n public render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n this.cdr.markForCheck();\n }\n\n public refresh() {\n this.lastIndex = 0;\n this.dataSource.refresh();\n }\n\n protected handleRowClick(e: MouseEvent, item: unknown) {\n if (this.focusedRow == item) {\n this.focusedRow = null;\n } else {\n this.focusedRow = item;\n }\n }\n\n handleColumnClick(e: MouseEvent, column: AXDataTableColumnComponent) {\n if (column instanceof AXDataTableTextColumnComponent) {\n const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);\n if (!sort) {\n this.dataSource.query.sort.push({ field: column.dataField, dir: 'asc' });\n } else {\n if (sort.dir == 'asc') {\n sort.dir = 'desc';\n } else {\n this.dataSource.query.sort = this.dataSource.query.sort.filter((c) => c != sort);\n }\n }\n this.refresh();\n }\n }\n\n protected getSort(column: AXDataTableColumnComponent): string | undefined {\n if (column instanceof AXDataTableTextColumnComponent) {\n const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);\n return sort ? (sort.dir == 'asc' ? 'ax-icon-arrow-long-down' : 'ax-icon-arrow-long-up') : undefined;\n }\n return undefined;\n }\n\n protected _handleOnScroll(e: Event) {\n this.updateHScroll();\n }\n}\n","<ng-content select=\"ax-header\">\n</ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns ax-header-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: 10px;\">\n </colgroup>\n <thead>\n <tr>\n <!------------------- start fixed column ------------------->\n <th *ngFor=\"let c of startFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\" class=\"ax-column-fixed\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <!------------------- not fixed column ------------------->\n <th [attr.colspan]=\"notFixedColumnCount()\">\n\n </th>\n </tr>\n </thead>\n </table>\n </div>\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <colgroup>\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col style=\"width: auto;\">\n </colgroup>\n <thead>\n <tr>\n <th *ngFor=\"let c of startFixedColumn()\">\n </th>\n <th *ngFor=\"let c of notFixedColumn()\" [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event,c) : null\">\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{c.caption}}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{getSort(c)}}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <div class=\"ax-body-columns ax-body-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n </tbody>\n </table>\n </div>\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll($event)\">\n <cdk-virtual-scroll-viewport [itemSize]=\"itemHeight\" [style.--item-height]=\"itemHeight+'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"let item of listDataSource; let i = index; trackBy: trackByIdx;let rIndex=index;\">\n <ng-template [ngIf]=\"rowTemplate\" [ngIfElse]=\"rowTpl\">\n <ng-container *ngTemplateOutlet=\"rowTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #rowTpl>\n <tr [class.ax-state-focused]=\"focusedRow && item===focusedRow\" [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\" (click)=\"handleRowClick($event,item)\">\n <!------------------- start fixed column ------------------->\n <ng-container *ngFor=\"let c of startFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\" [attr.data-fixed]=\"c.fixed\"\n class=\"ax-column-fixed\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <!------------------- Not fixed column ------------------->\n <ng-container *ngFor=\"let c of notFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container>\n <td></td>\n </tr>\n </ng-template>\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>\n Showing {{startRowIndex}} of {{totalRows}} items\n </div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\">\n </ng-content>\n</div>\n\n<!-- Loading Template -->\n<ng-template #loadingTpl>\n <!-- Custom Loading Template -->\n <ng-container *ngIf=\"loadingTemplate;else defaultLoadingTpl\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\">\n </ng-container>\n </ng-container>\n <!-- Default Loading Template -->\n <ng-template #defaultLoadingTpl>\n <ax-skeleton [animated]=\"true\"></ax-skeleton>\n </ng-template>\n</ng-template>\n<!-- Empty Template -->\n<ng-template #emptyTpl>\n <tr>\n <td [attr.colspan]=\"columns.length\">\n <ng-template [ngIf]=\"emptyTemplate\" [ngIfElse]=\"defaultEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-template>\n <ng-template #defaultEmptyTemplate>\n <ax-result type=\"empty\" caption=\" {{'common.no-result-found' | trans }}\"></ax-result>\n </ng-template>\n </td>\n </tr>\n</ng-template>","import { AXButtonItemComponent, AXButtonItemListItem } from '@acorex/components/button';\nimport { AXButtonClickEvent, AXItemClickEvent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\nexport interface AXRowCommandItem extends AXButtonItemListItem {}\n\nexport interface AXRowCommandItemClickEvent extends AXButtonClickEvent {}\n\nexport abstract class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {\n protected grid = inject(AXDataTableComponent);\n protected cdr = inject(ChangeDetectorRef);\n\n allowSorting = false;\n\n get skeleton(): boolean {\n return false;\n }\n\n get cssClass() {\n return 'ax-command-column';\n }\n\n onItemClick: EventEmitter<AXRowCommandItemClickEvent> = new EventEmitter<AXRowCommandItemClickEvent>();\n}\n\n@Component({\n selector: 'ax-dropdown-command-column',\n template: ` <ng-template let-row>\n <div *ngIf=\"row.data\">\n <button [axRipple]>\n <ax-icon icon=\"ax-icon ax-icon-more-horizontal\"></ax-icon>\n <ax-dropdown-panel\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"handleOnOpened(row.data)\"\n (onClosed)=\"handleOnClosed()\"\n >\n <ng-container *ngIf=\"_items.length; else loading\">\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event, row.data)\" [items]=\"_items\">\n </ax-button-item-list>\n </ng-container>\n <ng-template #loading>\n <div panel style=\"padding: 0.875rem;\">\n <ax-loading></ax-loading>\n </div>\n </ng-template>\n </ax-dropdown-panel>\n </button>\n </div>\n <ng-template #loading>\n <div panel style=\"padding: 0.875rem;\">\n <ax-loading></ax-loading>\n </div>\n </ng-template>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n outputs: ['onItemClick'],\n})\nexport class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponent {\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n protected _items: AXRowCommandItem[] = [];\n\n @Input()\n items: AXRowCommandItem[] | ((rowData: unknown) => AXRowCommandItem[] | Promise<AXRowCommandItem[]>) = [];\n\n protected async handleOnOpened(rowData) {\n if (Array.isArray(this.items)) {\n this._items = this.items;\n } else typeof this.items == 'function';\n {\n const result = (this['items'] as any)(rowData);\n if (Array.isArray(result)) {\n this._items = result;\n } else if (result instanceof Promise) {\n this._items = await result;\n }\n }\n this.cdr.detectChanges();\n }\n\n protected handleOnClosed() {\n this._items = [];\n }\n\n protected handleOnItemClick(e: AXItemClickEvent<AXButtonItemComponent>, data: unknown) {\n const args: AXRowCommandItemClickEvent = {\n component: this.grid,\n isUserInteraction: true,\n nativeEvent: e,\n data,\n name: e.name,\n };\n this.onItemClick.emit(args);\n }\n}\n\n@Component({\n selector: 'ax-command-column',\n template: ` <ng-template let-row>\n <div *ngIf=\"row.data\">\n <button\n [style.color]=\"'rgba(var(--ax-color-' + (item.color ?? 'primary)')\"\n [disabled]=\"item.disabled\"\n [class.ax-state-disabled]=\"item.disabled\"\n [axRipple]=\"!item.disabled\"\n *ngFor=\"let item of getItems(row.data)\"\n (click)=\"handleOnItemClick($event, item, row.data)\"\n >\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </button>\n </div>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n outputs: ['onItemClick'],\n})\nexport class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n @Input()\n items: AXRowCommandItem[] | ((rowData: unknown) => AXRowCommandItem[]) = [];\n\n protected getItems(rowData: unknown): AXRowCommandItem[] {\n if (Array.isArray(this.items)) {\n return this.items;\n } else typeof this.items == 'function';\n {\n return this.items(rowData);\n }\n return [];\n }\n\n protected handleOnItemClick(e: MouseEvent, item: AXRowCommandItem, data: unknown) {\n const args: AXRowCommandItemClickEvent = {\n component: this.grid,\n isUserInteraction: true,\n nativeEvent: e,\n data,\n name: item.name,\n };\n this.onItemClick.emit(args);\n }\n}\n","import { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-index-column',\n template: ` <ng-template let-row>\n <span> {{ row.rowIndex + 1 | format: 'number' : 'D' + formatCount }}</span>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n AXUnsubscriber,\n { provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent },\n ],\n inputs: ['width', 'caption', 'fixed'],\n})\nexport class AXRowIndexColumnComponent extends AXDataTableColumnComponent implements OnInit {\n private grid = inject(AXDataTableComponent);\n private unsubscriber = inject(AXUnsubscriber);\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get cssClass() {\n return 'ax-index-column';\n }\n\n @Input()\n padZero = false;\n\n protected formatCount = 1;\n\n ngOnInit() {\n if (this.padZero) {\n this.grid.dataSource.onChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.formatCount = c.totalCount.toString().length;\n });\n }\n }\n\n allowSorting = false;\n\n get skeleton(): boolean {\n return false;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-select-column',\n template: ` <ng-template let-row>\n <input\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [disabled]=\"!row.data\"\n (change)=\"handleChange(row.data)\"\n [checked]=\"isSelected(row.data)\"\n />\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n})\nexport class AXRowSelectColumnComponent extends AXDataTableColumnComponent {\n private grid = inject(AXDataTableComponent);\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n protected isSelected(item: unknown) {\n return item != null && this.grid.selectedRows.includes(item);\n }\n\n protected handleChange(item: unknown) {\n if (this.isSelected(item)) {\n this.grid.unSelectRows(item);\n } else {\n this.grid.selectRows(item);\n }\n }\n\n get skeleton(): boolean {\n return false;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule, AXRippleDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXResultModule } from '@acorex/components/result';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDataTableTextColumnComponent } from './columns/data-text-column.component';\nimport {\n AXRowCommandColumnComponent,\n AXRowDropdownCommandColumnComponent,\n} from './columns/row-command-column.component';\nimport { AXRowIndexColumnComponent } from './columns/row-index-column.component';\nimport { AXRowSelectColumnComponent } from './columns/row-select-column.component';\nimport { AXDataTableComponent } from './data-table.component';\n\nconst COMPONENT = [\n AXDataTableComponent,\n AXDataTableTextColumnComponent,\n AXRowIndexColumnComponent,\n AXRowSelectColumnComponent,\n AXRowCommandColumnComponent,\n AXRowDropdownCommandColumnComponent,\n];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n ScrollingModule,\n AXTranslationModule,\n AXResultModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXSkeletonModule,\n AXButtonModule,\n AXDropdownModule,\n AXFormatModule,\n AXRippleDirective,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDataTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i2","i3","i5","i6","i1"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-data-table.mjs","sources":["../../../../libs/components/data-table/src/lib/columns/data-table-column.ts","../../../../libs/components/data-table/src/lib/columns/data-text-column.component.ts","../../../../libs/components/data-table/src/lib/data-table.component.ts","../../../../libs/components/data-table/src/lib/data-table.component.html","../../../../libs/components/data-table/src/lib/columns/row-command-column.component.ts","../../../../libs/components/data-table/src/lib/columns/row-index-column.component.ts","../../../../libs/components/data-table/src/lib/columns/row-select-column.component.ts","../../../../libs/components/data-table/src/lib/data-table.module.ts","../../../../libs/components/data-table/src/acorex-components-data-table.ts"],"sourcesContent":["import { AXSortOrder } from '@acorex/components/common';\nimport { Injectable, Input, TemplateRef } from '@angular/core';\n\n@Injectable()\nexport abstract class AXDataTableColumnComponent {\n @Input()\n caption: string;\n\n @Input()\n width: string | number = 'auto';\n\n @Input()\n fixed: 'start' | 'end' | undefined;\n\n @Input()\n allowSorting = false;\n\n @Input()\n sortIndex: number | undefined = undefined;\n\n @Input()\n sortOrder: AXSortOrder | undefined = undefined;\n\n @Input()\n headerTemplate?: TemplateRef<unknown>;\n\n @Input()\n cellTemplate?: TemplateRef<unknown>;\n\n abstract get template(): TemplateRef<unknown>;\n\n abstract get loadingEnabled(): boolean;\n\n abstract get name(): string;\n\n get cssClass(): string | undefined {\n return null;\n }\n}\n","import { AXFormatService } from '@acorex/core/format';\nimport { Memorize } from '@acorex/core/memorize';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-text-column',\n template: ` <ng-template let-row>\n {{ getDisplayText(row.data, this.dataField) }}\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXDataTableTextColumnComponent }],\n inputs: ['width', 'caption', 'headerTemplate', 'cellTemplate', 'allowSorting', 'fixed'],\n})\nexport class AXDataTableTextColumnComponent extends AXDataTableColumnComponent {\n @Input()\n dataField: string;\n\n @Input()\n wrapText = false;\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get loadingEnabled(): boolean {\n return true;\n }\n\n get name(): string {\n return `cl-${this.dataField}`;\n }\n\n private formatService = inject(AXFormatService);\n\n @Memorize()\n protected getDisplayText(rowData: unknown, dataField: string): string {\n const value = rowData[dataField];\n const options = Array.isArray(this.formatOptions) ? this.formatOptions : [this.formatOptions];\n return !this.format ? value : this.formatService.format(value, this.format, ...options);\n }\n\n @Input()\n format: string;\n\n @Input()\n formatOptions: unknown;\n}\n","import {\n AXDataSource,\n AXEvent,\n AXListDataSource,\n AXPagedComponent,\n AXValueChangedEvent,\n MXBaseComponent,\n convertArrayToDataSource,\n} from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\n\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport sum from 'lodash-es/sum';\nimport { AXDataTableColumnComponent } from './columns/data-table-column';\nimport { AXDataTableTextColumnComponent } from './columns/data-text-column.component';\n\nexport interface AXDataTableScrollIndexChanged extends AXEvent {\n index: number;\n}\n\n@Component({\n selector: 'ax-data-table',\n templateUrl: './data-table.component.html',\n styleUrls: ['./data-table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXPagedComponent, useExisting: AXDataTableComponent }],\n})\nexport class AXDataTableComponent extends MXBaseComponent implements OnInit, DoCheck {\n private ngZone = inject(NgZone);\n\n @ContentChildren(AXDataTableColumnComponent)\n protected columns: QueryList<AXDataTableColumnComponent>;\n\n protected startFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => c.fixed == 'start') ?? [];\n }\n\n protected endFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => c.fixed == 'end') ?? [];\n }\n\n protected notFixedColumn(): AXDataTableColumnComponent[] {\n return this.columns?.toArray().filter((c) => !c.fixed) ?? [];\n }\n\n protected notFixedColumnCount(): number {\n return this.columns?.toArray().filter((c) => !c.fixed).length ?? 0;\n }\n\n protected fixedColumnCount(): number {\n return this.columns?.toArray().filter((c) => c.fixed).length ?? 0;\n }\n\n @Output()\n onPageChanged: EventEmitter<AXValueChangedEvent<number>> = new EventEmitter<AXValueChangedEvent<number>>();\n\n @Input()\n rowTemplate?: TemplateRef<unknown>;\n\n @Input()\n emptyTemplate?: TemplateRef<unknown>;\n\n @Input()\n showHeader = true;\n\n @Input()\n fetchDataMode: 'auto' | 'manual' = 'auto';\n\n @Input()\n dataSource: AXDataSource<unknown> = convertArrayToDataSource([]);\n\n @Input()\n loading: { enbaled: boolean; animation: boolean; loadingTemplate?: TemplateRef<unknown> } = {\n enbaled: true,\n animation: true,\n };\n\n protected listDataSource: AXListDataSource<unknown>;\n protected isLoading = true;\n protected hasItems = false;\n protected totalRows = 0;\n protected currentPage = 0;\n protected totalPages = 0;\n protected startRowIndex = 0;\n private lastIndex = 0;\n\n @Output()\n focusedRowChange: EventEmitter<unknown> = new EventEmitter<unknown>();\n\n private _focusedRow: unknown;\n @Input()\n public get focusedRow(): unknown {\n return this._focusedRow;\n }\n public set focusedRow(v: unknown) {\n this._focusedRow = v;\n this.focusedRowChange.emit(v);\n }\n\n @Output()\n selectedRowsChange: EventEmitter<unknown[]> = new EventEmitter<unknown[]>();\n\n private _selectedRows: unknown[] = [];\n @Input()\n public get selectedRows(): unknown[] {\n return this._selectedRows;\n }\n public set selectedRows(v: unknown[]) {\n this._selectedRows = v;\n this.selectedRowsChange.emit(v);\n }\n\n public selectRows(...rows: unknown[]) {\n this.selectedRows = [...this.selectedRows, ...rows];\n }\n\n public unSelectRows(...rows: unknown[]) {\n this.selectedRows = this.selectedRows.filter((c) => !rows.includes(c));\n }\n\n @Input()\n itemHeight: number | 'auto' = 40;\n\n protected width = '100%';\n protected height = '100%';\n\n @ViewChild(CdkVirtualScrollViewport, { static: true })\n private viewport: CdkVirtualScrollViewport;\n\n @Output()\n onScrolledIndexChanged: EventEmitter<AXDataTableScrollIndexChanged> =\n new EventEmitter<AXDataTableScrollIndexChanged>();\n\n trackByIdx(i) {\n return i;\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.listDataSource = new AXListDataSource<unknown>({\n source: this.dataSource,\n });\n this.listDataSource.source.onLoadingChanged.subscribe((data) => {\n this.isLoading = data;\n });\n this.listDataSource.source.onChanged.subscribe((data) => {\n this.totalRows = data.totalCount;\n this.hasItems = data.totalCount > 0;\n setTimeout(() => {\n this.render();\n }, 100);\n });\n }\n @ViewChild('headerContainer') headerContainer: ElementRef<HTMLDivElement>;\n @ViewChild('footerContainer') footerContainer: ElementRef;\n @ViewChild('scrolling', { static: true }) scrollableContainer: ElementRef<HTMLDivElement>;\n\n protected _handleOnscrolledIndexChange(e: number) {\n this.lastIndex = e;\n this.onScrolledIndexChanged.emit({\n component: this,\n index: this.lastIndex,\n isUserInteraction: true,\n });\n }\n\n ngDoCheck() {\n //this.copyFixedColumns();\n this.updateHScroll();\n //\n this.updateWidth();\n this.updateHeight();\n //\n this.updateTotalCount();\n }\n\n private updateTotalCount() {\n this.startRowIndex = this.lastIndex;\n if (this.startRowIndex < 1) this.startRowIndex = 1;\n if (this.startRowIndex > this.totalRows) this.startRowIndex = this.totalRows;\n }\n\n private updateHeight() {\n this.height = `calc(100% - ${\n (this.headerContainer?.nativeElement.clientHeight ?? 0) +\n (this.footerContainer?.nativeElement.clientHeight ?? 0)\n }px)`;\n }\n\n private updateWidth() {\n if (this.columns && this.columns.length) {\n const sumPx = sum(\n this.columns\n .toArray()\n .map((c) => (typeof c.width == 'number' ? c.width : Number(c.width.replace('px', '')))),\n );\n this.width = `${Math.max(sumPx, this.getHostElement().clientWidth - 5)}px`;\n }\n }\n\n private updateHScroll() {\n this.ngZone.runOutsideAngular(() => {\n if (this.headerContainer) {\n const headerContainer = this.headerContainer.nativeElement;\n const left = this.scrollableContainer.nativeElement.scrollLeft;\n headerContainer.style.transform = `translateX(${-left}px)`;\n }\n });\n }\n\n // Function to copy fixed columns\n private copyFixedColumns() {\n const originalRows = Array.from(this.viewport._contentWrapper.nativeElement.querySelectorAll('tr'));\n const fixedColumnTable = this.getHostElement().querySelector<HTMLTableElement>(\n '.ax-body-fixed-columns > table > tbody',\n );\n fixedColumnTable.querySelectorAll('tr').forEach((n) => n.remove());\n for (const row of originalRows) {\n const fixedCells = Array.from(row.querySelectorAll('[data-fixed=\"start\"]'));\n const fixedRow = document.createElement('tr');\n for (const cell of fixedCells) {\n const clonedCell = cell.cloneNode(true);\n fixedRow.appendChild(clonedCell);\n }\n fixedColumnTable.appendChild(fixedRow);\n }\n const scrollTop = this.getHostElement().querySelector('.cdk-virtual-scrollable').scrollTop;\n fixedColumnTable.style.transform = `translateY(${-scrollTop}px)`;\n }\n\n public render() {\n this.viewport.checkViewportSize();\n this.viewport.scrollToIndex(this.lastIndex);\n this.cdr.markForCheck();\n }\n\n public refresh() {\n this.lastIndex = 0;\n this.dataSource.refresh();\n }\n\n protected handleRowClick(e: MouseEvent, item: unknown) {\n if (this.focusedRow == item) {\n this.focusedRow = null;\n } else {\n this.focusedRow = item;\n }\n }\n\n handleColumnClick(e: MouseEvent, column: AXDataTableColumnComponent) {\n if (column instanceof AXDataTableTextColumnComponent) {\n const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);\n if (!sort) {\n this.dataSource.query.sort.push({ field: column.dataField, dir: 'asc' });\n } else {\n if (sort.dir == 'asc') {\n sort.dir = 'desc';\n } else {\n this.dataSource.query.sort = this.dataSource.query.sort.filter((c) => c != sort);\n }\n }\n this.refresh();\n }\n }\n\n protected getSort(column: AXDataTableColumnComponent): string | undefined {\n if (column instanceof AXDataTableTextColumnComponent) {\n const sort = this.dataSource.query.sort.find((c) => c.field == column.dataField);\n return sort ? (sort.dir == 'asc' ? 'ax-icon-arrow-long-down' : 'ax-icon-arrow-long-up') : undefined;\n }\n return undefined;\n }\n\n protected _handleOnScroll(e: Event) {\n this.updateHScroll();\n }\n}\n","<ng-content select=\"ax-header\"> </ng-content>\n<!------------------- Header contents ------------------->\n<div class=\"ax-header-content\" *ngIf=\"showHeader\">\n <div class=\"ax-header-columns ax-header-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\" />\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\" />\n <col style=\"width: 10px\" />\n </colgroup>\n <thead>\n <tr>\n <!------------------- start fixed column ------------------->\n <th\n *ngFor=\"let c of startFixedColumn()\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n class=\"ax-column-fixed\"\n >\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{ c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <!------------------- not fixed column ------------------->\n <th [attr.colspan]=\"notFixedColumnCount()\"></th>\n </tr>\n </thead>\n </table>\n </div>\n <div class=\"ax-header-columns\">\n <table tabindex=\"0\" [style.width]=\"width\" #headerContainer>\n <colgroup>\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\" />\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\" />\n <col style=\"width: auto\" />\n </colgroup>\n <thead>\n <tr>\n <th *ngFor=\"let c of startFixedColumn()\"></th>\n <th\n *ngFor=\"let c of notFixedColumn()\"\n [class.ax-interactive]=\"c.allowSorting\"\n (click)=\"c.allowSorting ? handleColumnClick($event, c) : null\"\n >\n <ng-template [ngIf]=\"c.headerTemplate\" [ngIfElse]=\"captionTpl\">\n <ng-container *ngTemplateOutlet=\"c.headerTemplate\"></ng-container>\n </ng-template>\n <ng-template #captionTpl>\n <div class=\"ax-caption\">\n {{ c.caption }}\n <ax-icon *ngIf=\"getSort(c)\" icon=\"ax-icon {{ getSort(c) }}\"></ax-icon>\n </div>\n </ng-template>\n </th>\n <th></th>\n </tr>\n </thead>\n </table>\n </div>\n</div>\n<!------------------- Body contents ------------------->\n<div [style.height]=\"height\" class=\"ax-body-content\">\n <!-- <div class=\"ax-body-columns ax-body-fixed-columns\" *ngIf=\"false\">\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n ------------------ start fixed column -------------------\n <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\">\n ------------------- not fixed column ------------------\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\">\n <col>\n </colgroup>\n <tbody>\n </tbody>\n </table>\n </div> -->\n <div class=\"ax-body-columns\">\n <div cdkVirtualScrollingElement #scrolling [style.height]=\"'100%'\" (scroll)=\"_handleOnScroll($event)\">\n <cdk-virtual-scroll-viewport\n [itemSize]=\"itemHeight\"\n [style.--item-height]=\"itemHeight + 'px'\"\n (scrolledIndexChange)=\"_handleOnscrolledIndexChange($event)\"\n >\n <table tabindex=\"0\" class=\"ax-table-body\" [style.width]=\"width\">\n <colgroup>\n <!------------------- start fixed column ------------------->\n <!-- <col *ngFor=\"let c of startFixedColumn()\" [style.width]=\"c.width\"> -->\n <!------------------- not fixed column ------------------->\n <col *ngFor=\"let c of notFixedColumn()\" [style.width]=\"c.width\" />\n <col />\n </colgroup>\n <tbody>\n <ng-container\n *cdkVirtualFor=\"\n let item of listDataSource;\n templateCacheSize: 100;\n let i = index;\n trackBy: trackByIdx;\n let rIndex = index\n \"\n >\n <!------------------- custom row template------------------->\n @if (rowTemplate != null) {\n <ng-container\n *ngTemplateOutlet=\"rowTemplate; context: { $implicit: { data: item, rowIndex: rIndex } }\"\n >\n </ng-container>\n } @else {\n <!------------------- normal row template------------------->\n <tr\n [class.ax-state-focused]=\"focusedRow && item === focusedRow\"\n [attr.data-index]=\"rIndex\"\n [class.ax-state-selected]=\"selectedRows.includes(item)\"\n (click)=\"handleRowClick($event, item)\"\n >\n <!------------------- start fixed column ------------------->\n <!-- <ng-container *ngFor=\"let c of startFixedColumn()\">\n <ng-template [ngIf]=\"c.cellTemplate\" [ngIfElse]=\"cellTpl\">\n <div class=\"ax-content\">\n <ng-container\n *ngTemplateOutlet=\"c.cellTemplate;context: { $implicit: {data:item,rowIndex:rIndex} }\">\n </ng-container>\n </div>\n </ng-template>\n <ng-template #cellTpl>\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\" [attr.data-fixed]=\"c.fixed\"\n class=\"ax-column-fixed\">\n <div class=\"ax-content\">\n <ng-container *ngIf=\"item || !c.skeleton;else loadingTpl\">\n <ng-container\n *ngTemplateOutlet=\"c.template; context: { $implicit: {data:item,rowIndex:rIndex} }\"></ng-container>\n </ng-container>\n </div>\n </td>\n </ng-template>\n </ng-container> -->\n <!------------------- Not fixed column ------------------->\n @for (c of notFixedColumn(); track c.name) {\n <!------------------- custom cell template ------------------->\n @if (c.cellTemplate) {\n <ng-container\n *ngTemplateOutlet=\"\n c.cellTemplate;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \"\n >\n </ng-container>\n } @else {\n <!------------------- default cell template ------------------->\n <td [attr.data-label]=\"c.caption\" tabindex=\"0\" [class]=\"c.cssClass\">\n @if (item) {\n <!------------------- render cell ------------------->\n <ng-container\n *ngTemplateOutlet=\"\n c.template;\n context: { $implicit: { data: item, rowIndex: rIndex } }\n \"\n ></ng-container>\n } @else {\n <!------------------- render loading ------------------->\n @if (c.loadingEnabled && loading) {\n <ax-skeleton [animated]=\"loading.animation\"></ax-skeleton>\n }\n }\n </td>\n }\n }\n <td></td>\n </tr>\n }\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n </div>\n </div>\n</div>\n<div class=\"ax-table-footer\" #footerContainer>\n <div class=\"ax-table-info\">\n <div>Showing {{ startRowIndex }} of {{ totalRows }} items</div>\n <ax-button look=\"blank\" class=\"ax-sm\" (onClick)=\"refresh()\">\n <ax-icon icon=\"ax-icon ax-icon-refresh\"></ax-icon>\n </ax-button>\n </div>\n <ng-content select=\"ax-footer\"> </ng-content>\n</div>\n","import { AXButtonItemComponent, AXButtonItemListItem } from '@acorex/components/button';\nimport { AXButtonClickEvent, AXItemClickEvent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\nexport interface AXRowCommandItem extends AXButtonItemListItem { }\n\nexport interface AXRowCommandItemClickEvent extends AXButtonClickEvent { }\n\nexport abstract class AXBaseRowCommandColumnComponent extends AXDataTableColumnComponent {\n protected grid = inject(AXDataTableComponent);\n protected cdr = inject(ChangeDetectorRef);\n\n allowSorting = false;\n\n get loadingEnabled(): boolean {\n return false;\n }\n\n get cssClass() {\n return 'ax-command-column';\n }\n\n onItemClick: EventEmitter<AXRowCommandItemClickEvent> = new EventEmitter<AXRowCommandItemClickEvent>();\n}\n\n@Component({\n selector: 'ax-dropdown-command-column',\n template: ` <ng-template let-row>\n <div *ngIf=\"row.data\">\n <button [axRipple]>\n <ax-icon icon=\"ax-icon ax-icon-more-horizontal\"></ax-icon>\n <ax-dropdown-panel\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"handleOnOpened(row.data)\"\n (onClosed)=\"handleOnClosed()\"\n >\n <ng-container *ngIf=\"_items.length; else loading\">\n <ax-button-item-list (onItemClick)=\"handleOnItemClick($event, row.data)\" [items]=\"_items\">\n </ax-button-item-list>\n </ng-container>\n <ng-template #loading>\n <div panel style=\"padding: 0.875rem;\">\n <ax-loading></ax-loading>\n </div>\n </ng-template>\n </ax-dropdown-panel>\n </button>\n </div>\n <ng-template #loading>\n <div panel style=\"padding: 0.875rem;\">\n <ax-loading></ax-loading>\n </div>\n </ng-template>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowDropdownCommandColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n outputs: ['onItemClick'],\n})\nexport class AXRowDropdownCommandColumnComponent extends AXBaseRowCommandColumnComponent {\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-dd-cmd';\n }\n\n protected _items: AXRowCommandItem[] = [];\n\n @Input()\n items: AXRowCommandItem[] | ((rowData: unknown) => AXRowCommandItem[] | Promise<AXRowCommandItem[]>) = [];\n\n protected async handleOnOpened(rowData) {\n if (Array.isArray(this.items)) {\n this._items = this.items;\n } else typeof this.items == 'function';\n {\n const result = (this['items'] as any)(rowData);\n if (Array.isArray(result)) {\n this._items = result;\n } else if (result instanceof Promise) {\n this._items = await result;\n }\n }\n this.cdr.detectChanges();\n }\n\n protected handleOnClosed() {\n this._items = [];\n }\n\n protected handleOnItemClick(e: AXItemClickEvent<AXButtonItemComponent>, data: unknown) {\n const args: AXRowCommandItemClickEvent = {\n component: this.grid,\n isUserInteraction: true,\n nativeEvent: e,\n data,\n name: e.name,\n };\n this.onItemClick.emit(args);\n }\n}\n\n@Component({\n selector: 'ax-command-column',\n template: ` <ng-template let-row>\n <div *ngIf=\"row.data\">\n <button\n [style.color]=\"'rgba(var(--ax-color-' + (item.color ?? 'primary)')\"\n [disabled]=\"item.disabled\"\n [class.ax-state-disabled]=\"item.disabled\"\n [axRipple]=\"!item.disabled\"\n *ngFor=\"let item of getItems(row.data)\"\n (click)=\"handleOnItemClick($event, item, row.data)\"\n >\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </button>\n </div>\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowCommandColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n outputs: ['onItemClick'],\n})\nexport class AXRowCommandColumnComponent extends AXBaseRowCommandColumnComponent {\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n get name(): string {\n return 'cl-in-cmd';\n }\n\n @Input()\n items: AXRowCommandItem[] | ((rowData: unknown) => AXRowCommandItem[]) = [];\n\n protected getItems(rowData: unknown): AXRowCommandItem[] {\n if (Array.isArray(this.items)) {\n return this.items;\n } else typeof this.items == 'function';\n {\n return this.items(rowData);\n }\n return [];\n }\n\n protected handleOnItemClick(e: MouseEvent, item: AXRowCommandItem, data: unknown) {\n const args: AXRowCommandItemClickEvent = {\n component: this.grid,\n isUserInteraction: true,\n nativeEvent: e,\n data,\n name: item.name,\n };\n this.onItemClick.emit(args);\n }\n}\n","import { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-index-column',\n template: ` <ng-template let-row>\n {{ row.rowIndex + 1 | format: 'number' : 'D' + formatCount }}\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n AXUnsubscriber,\n { provide: AXDataTableColumnComponent, useExisting: AXRowIndexColumnComponent },\n ],\n inputs: ['width', 'caption', 'fixed'],\n})\nexport class AXRowIndexColumnComponent extends AXDataTableColumnComponent implements OnInit {\n private grid = inject(AXDataTableComponent);\n private unsubscriber = inject(AXUnsubscriber);\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-inx';\n }\n\n @Input()\n padZero = false;\n\n protected formatCount = 1;\n\n ngOnInit() {\n if (this.padZero) {\n this.grid.dataSource.onChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe((c) => {\n this.formatCount = c.totalCount.toString().length;\n });\n }\n }\n\n allowSorting = false;\n\n get loadingEnabled(): boolean {\n return false;\n }\n\n get cssClass(): string | undefined {\n return 'ax-index-column';\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { AXDataTableComponent } from '../data-table.component';\nimport { AXDataTableColumnComponent } from './data-table-column';\n\n@Component({\n selector: 'ax-select-column',\n template: ` <ng-template let-row>\n <input\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [disabled]=\"!row.data\"\n (change)=\"handleChange(row.data)\"\n [checked]=\"isSelected(row.data)\"\n />\n </ng-template>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXDataTableColumnComponent, useExisting: AXRowSelectColumnComponent }],\n inputs: ['width', 'caption', 'fixed'],\n})\nexport class AXRowSelectColumnComponent extends AXDataTableColumnComponent {\n private grid = inject(AXDataTableComponent);\n\n @ViewChild(TemplateRef)\n private _template: TemplateRef<unknown>;\n\n get template(): TemplateRef<unknown> {\n return this._template;\n }\n\n get name(): string {\n return 'cl-select';\n }\n\n protected isSelected(item: unknown) {\n return item != null && this.grid.selectedRows.includes(item);\n }\n\n protected handleChange(item: unknown) {\n if (this.isSelected(item)) {\n this.grid.unSelectRows(item);\n } else {\n this.grid.selectRows(item);\n }\n }\n\n get loadingEnabled(): boolean {\n return false;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCommonModule, AXRippleDirective } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXResultModule } from '@acorex/components/result';\nimport { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXDataTableTextColumnComponent } from './columns/data-text-column.component';\nimport {\n AXRowCommandColumnComponent,\n AXRowDropdownCommandColumnComponent,\n} from './columns/row-command-column.component';\nimport { AXRowIndexColumnComponent } from './columns/row-index-column.component';\nimport { AXRowSelectColumnComponent } from './columns/row-select-column.component';\nimport { AXDataTableComponent } from './data-table.component';\n\nconst COMPONENT = [\n AXDataTableComponent,\n AXDataTableTextColumnComponent,\n AXRowIndexColumnComponent,\n AXRowSelectColumnComponent,\n AXRowCommandColumnComponent,\n AXRowDropdownCommandColumnComponent,\n];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n ScrollingModule,\n AXTranslationModule,\n AXResultModule,\n AXLoadingModule,\n AXDecoratorModule,\n AXSkeletonModule,\n AXButtonModule,\n AXDropdownModule,\n AXFormatModule,\n AXRippleDirective,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDataTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i4","i5","i1"],"mappings":"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"}
|
@@ -7,6 +7,8 @@ import * as i3 from '@acorex/components/tabs';
|
|
7
7
|
import { AXTabsComponent, AXTabsModule } from '@acorex/components/tabs';
|
8
8
|
import * as i7 from '@acorex/core/dateTime';
|
9
9
|
import { AXCalendarService, AXDateTimeModule } from '@acorex/core/dateTime';
|
10
|
+
import * as i8 from '@acorex/core/translation';
|
11
|
+
import { AXTranslator, AXTranslationModule } from '@acorex/core/translation';
|
10
12
|
import * as i0 from '@angular/core';
|
11
13
|
import { inject, InjectionToken, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, Output, NgModule } from '@angular/core';
|
12
14
|
import * as i2 from '@angular/forms';
|
@@ -41,6 +43,7 @@ function dateTimePickerConfig(config = {}) {
|
|
41
43
|
class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValueComponent)) {
|
42
44
|
constructor() {
|
43
45
|
super(...arguments);
|
46
|
+
this.buttonText = '';
|
44
47
|
this.defaultConfig = inject(AX_DATETIME_PICKER_CONFIG);
|
45
48
|
this._currentTimeButton = this.defaultConfig.currentTimeButton;
|
46
49
|
this._calendarService = inject(AXCalendarService);
|
@@ -138,6 +141,7 @@ class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValu
|
|
138
141
|
ngOnInit() {
|
139
142
|
super.ngOnInit();
|
140
143
|
this._detectParts();
|
144
|
+
this.detectButtonText();
|
141
145
|
}
|
142
146
|
refresh() {
|
143
147
|
this.picker?.refresh();
|
@@ -147,8 +151,13 @@ class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValu
|
|
147
151
|
this._editingDateObj = this._calendarService.create(value);
|
148
152
|
}
|
149
153
|
}
|
154
|
+
detectButtonText() {
|
155
|
+
this.buttonText =
|
156
|
+
this._activePart === 'date' ? AXTranslator.get('dateTime.today') : AXTranslator.get('dateTime.now');
|
157
|
+
}
|
150
158
|
_handleViewChanged(e) {
|
151
159
|
this._activePart = e.tab.key;
|
160
|
+
this.detectButtonText();
|
152
161
|
this.cdr.detectChanges();
|
153
162
|
}
|
154
163
|
_handlePickerOnValueChanged(e, part) {
|
@@ -197,10 +206,10 @@ class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValu
|
|
197
206
|
this._activePart = this._hasDatePart ? 'date' : 'time';
|
198
207
|
this.cdr.markForCheck();
|
199
208
|
}
|
200
|
-
_handleSetClick(
|
209
|
+
_handleSetClick() {
|
201
210
|
this.commitValue(this.editingDateObj.date, true);
|
202
211
|
}
|
203
|
-
_handleNowClick(
|
212
|
+
_handleNowClick() {
|
204
213
|
this._editingDateObj = this._calendarService.now(this.type);
|
205
214
|
this.commitValue(this.editingDateObj.date, true);
|
206
215
|
}
|
@@ -214,7 +223,7 @@ class AXDateTimePickerComponent extends classes(MXCalendarBaseComponent, (MXValu
|
|
214
223
|
useExisting: forwardRef(() => AXDateTimePickerComponent),
|
215
224
|
multi: true,
|
216
225
|
},
|
217
|
-
], viewQueries: [{ propertyName: "picker", first: true, predicate: AXPickerComponent, descendants: true }, { propertyName: "tabs", first: true, predicate: AXTabsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-header\" *ngIf=\"_hasDatePart && _hasTimePart\">\n <ax-tabs
|
226
|
+
], viewQueries: [{ propertyName: "picker", first: true, predicate: AXPickerComponent, descendants: true }, { propertyName: "tabs", first: true, predicate: AXTabsComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-header\" *ngIf=\"_hasDatePart && _hasTimePart\">\n <ax-tabs\n [look]=\"'default'\"\n [fitParent]=\"true\"\n [location]=\"'top'\"\n (onActiveTabChanged)=\"_handleViewChanged($event)\"\n >\n <ax-tab-item text=\"Date\" [key]=\"'date'\" [disabled]=\"disabled\"></ax-tab-item>\n <ax-tab-item text=\"Time\" [key]=\"'time'\" [disabled]=\"disabled\"></ax-tab-item>\n </ax-tabs>\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-calendar-part\" *ngIf=\"_activePart === 'date'\">\n <ax-calendar\n #calendar\n id=\"calendar\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [ngModel]=\"editingDateObj.date\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\"\n [type]=\"type\"\n >\n </ax-calendar>\n </div>\n <div class=\"ax-picker-part\" *ngIf=\"_activePart === 'time'\">\n <div class=\"ax-header\">\n {{ editingDateObj | axDate: format : type }}\n </div>\n <ax-picker>\n <ax-picker-column\n title=\"Hour\"\n [items]=\"hours\"\n [ngModel]=\"editingDateObj.hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.hour.enabled\"\n ></ax-picker-column>\n <ax-picker-column\n title=\"Minute\"\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj.minute\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [step]=\"3\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.minute.enabled\"\n ></ax-picker-column>\n <ax-picker-column\n title=\"Second\"\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj.second\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [step]=\"3\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.second.enabled\"\n ></ax-picker-column>\n </ax-picker>\n </div>\n</div>\n<div class=\"ax-footer\" *ngIf=\"!disabled && !readonly && (currentTimeButton || _hasTimePart)\">\n <div>\n <ax-button\n [text]=\"buttonText\"\n class=\"ax-sm\"\n (onClick)=\"_handleNowClick()\"\n *ngIf=\"currentTimeButton\"\n ></ax-button>\n </div>\n\n <div>\n <ax-button\n color=\"primary\"\n [text]=\"'dateTime.set' | trans\"\n *ngIf=\"_hasTimePart\"\n class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"\n ></ax-button>\n </div>\n</div>\n", styles: ["ax-datetime-picker{display:flex;flex-direction:column}ax-datetime-picker>.ax-header{display:flex;justify-content:center;padding-left:.5rem;padding-right:.5rem;padding-top:.5rem}ax-datetime-picker>.ax-content{width:100%;overflow:hidden}@media (min-width: 768px){ax-datetime-picker>.ax-content{width:20rem}}ax-datetime-picker>.ax-content .ax-picker-part{display:flex;height:376px;width:100%;flex-direction:column}ax-datetime-picker>.ax-content .ax-picker-part>.ax-header{display:flex;justify-content:flex-start;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-datetime-picker>.ax-content .ax-picker-part ax-picker{flex:1 1 0%}ax-datetime-picker>.ax-content .ax-calendar-part{padding-top:.25rem;padding-bottom:.25rem}ax-datetime-picker>.ax-content .ax-calendar-part ax-calendar{width:100%}ax-datetime-picker>.ax-footer{display:flex;justify-content:space-between;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem}ax-datetime-picker>.ax-footer ax-button{min-width:100px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i3.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange"] }, { kind: "component", type: i5.AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "cellTemplate", "cellClass", "showNavigation", "count", "id"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "component", type: i6.AXPickerComponent, selector: "ax-picker" }, { kind: "directive", type: i6.AXPickerColumnDirective, selector: "ax-picker-column", inputs: ["disabled", "readonly", "readonlyChange", "disabledChange", "valueField", "textField", "title", "step", "items"], outputs: ["onValueChanged", "itemsChange"] }, { kind: "pipe", type: i7.AXDateTimePipe, name: "axDate" }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
218
227
|
}
|
219
228
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimePickerComponent, decorators: [{
|
220
229
|
type: Component,
|
@@ -262,7 +271,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
262
271
|
useExisting: forwardRef(() => AXDateTimePickerComponent),
|
263
272
|
multi: true,
|
264
273
|
},
|
265
|
-
], template: "<div class=\"ax-header\" *ngIf=\"_hasDatePart && _hasTimePart\">\n <ax-tabs
|
274
|
+
], template: "<div class=\"ax-header\" *ngIf=\"_hasDatePart && _hasTimePart\">\n <ax-tabs\n [look]=\"'default'\"\n [fitParent]=\"true\"\n [location]=\"'top'\"\n (onActiveTabChanged)=\"_handleViewChanged($event)\"\n >\n <ax-tab-item text=\"Date\" [key]=\"'date'\" [disabled]=\"disabled\"></ax-tab-item>\n <ax-tab-item text=\"Time\" [key]=\"'time'\" [disabled]=\"disabled\"></ax-tab-item>\n </ax-tabs>\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-calendar-part\" *ngIf=\"_activePart === 'date'\">\n <ax-calendar\n #calendar\n id=\"calendar\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [ngModel]=\"editingDateObj.date\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\"\n [type]=\"type\"\n >\n </ax-calendar>\n </div>\n <div class=\"ax-picker-part\" *ngIf=\"_activePart === 'time'\">\n <div class=\"ax-header\">\n {{ editingDateObj | axDate: format : type }}\n </div>\n <ax-picker>\n <ax-picker-column\n title=\"Hour\"\n [items]=\"hours\"\n [ngModel]=\"editingDateObj.hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.hour.enabled\"\n ></ax-picker-column>\n <ax-picker-column\n title=\"Minute\"\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj.minute\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [step]=\"3\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.minute.enabled\"\n ></ax-picker-column>\n <ax-picker-column\n title=\"Second\"\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj.second\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [step]=\"3\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.second.enabled\"\n ></ax-picker-column>\n </ax-picker>\n </div>\n</div>\n<div class=\"ax-footer\" *ngIf=\"!disabled && !readonly && (currentTimeButton || _hasTimePart)\">\n <div>\n <ax-button\n [text]=\"buttonText\"\n class=\"ax-sm\"\n (onClick)=\"_handleNowClick()\"\n *ngIf=\"currentTimeButton\"\n ></ax-button>\n </div>\n\n <div>\n <ax-button\n color=\"primary\"\n [text]=\"'dateTime.set' | trans\"\n *ngIf=\"_hasTimePart\"\n class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"\n ></ax-button>\n </div>\n</div>\n", styles: ["ax-datetime-picker{display:flex;flex-direction:column}ax-datetime-picker>.ax-header{display:flex;justify-content:center;padding-left:.5rem;padding-right:.5rem;padding-top:.5rem}ax-datetime-picker>.ax-content{width:100%;overflow:hidden}@media (min-width: 768px){ax-datetime-picker>.ax-content{width:20rem}}ax-datetime-picker>.ax-content .ax-picker-part{display:flex;height:376px;width:100%;flex-direction:column}ax-datetime-picker>.ax-content .ax-picker-part>.ax-header{display:flex;justify-content:flex-start;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500}ax-datetime-picker>.ax-content .ax-picker-part ax-picker{flex:1 1 0%}ax-datetime-picker>.ax-content .ax-calendar-part{padding-top:.25rem;padding-bottom:.25rem}ax-datetime-picker>.ax-content .ax-calendar-part ax-calendar{width:100%}ax-datetime-picker>.ax-footer{display:flex;justify-content:space-between;border-top-width:1px;border-color:rgba(var(--ax-color-border-default));padding:.5rem}ax-datetime-picker>.ax-footer ax-button{min-width:100px}\n"] }]
|
266
275
|
}], propDecorators: { currentTimeButton: [{
|
267
276
|
type: Input
|
268
277
|
}], picker: [{
|
@@ -286,6 +295,7 @@ const MODULES = [
|
|
286
295
|
AXButtonModule,
|
287
296
|
AXCalendarModule,
|
288
297
|
AXPickerModule,
|
298
|
+
AXTranslationModule,
|
289
299
|
];
|
290
300
|
class AXDateTimePickerModule {
|
291
301
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
@@ -295,7 +305,8 @@ class AXDateTimePickerModule {
|
|
295
305
|
AXDateTimeModule,
|
296
306
|
AXButtonModule,
|
297
307
|
AXCalendarModule,
|
298
|
-
AXPickerModule
|
308
|
+
AXPickerModule,
|
309
|
+
AXTranslationModule], exports: [AXDateTimePickerComponent] }); }
|
299
310
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimePickerModule, imports: [MODULES] }); }
|
300
311
|
}
|
301
312
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: AXDateTimePickerModule, decorators: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-datetime-picker.mjs","sources":["../../../../libs/components/datetime-picker/src/lib/datetime-picker.config.ts","../../../../libs/components/datetime-picker/src/lib/datetime-picker.component.ts","../../../../libs/components/datetime-picker/src/lib/datetime-picker.component.html","../../../../libs/components/datetime-picker/src/lib/datetime-picker.module.ts","../../../../libs/components/datetime-picker/src/acorex-components-datetime-picker.ts"],"sourcesContent":["import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDateTimePickerConfig {\n currentTimeButton: boolean;\n}\n\nexport const AX_DATETIME_PICKER_CONFIG = new InjectionToken<AXDateTimePickerConfig>(\n 'AX_DATETIME_PICKER_CONFIG',\n {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'datetime-picker', AX_DATETIME_PICKER_CONFIG);\n return AXDateTimePickerDefaultConfig;\n },\n },\n);\n\nexport const AXDateTimePickerDefaultConfig: AXDateTimePickerConfig = {\n currentTimeButton: true,\n};\n\nexport type PartialDateTimePickerConfig = Partial<AXDateTimePickerConfig>;\n\nexport function dateTimePickerConfig(config: PartialDateTimePickerConfig = {}): AXDateTimePickerConfig {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport {\n AXClickEvent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXPickerComponent } from '@acorex/components/picker';\nimport { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXCalendarService, AXDateTime, AXDateTimeParts, TimeUnit } from '@acorex/core/dateTime';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXDateTimePickerConfig, AX_DATETIME_PICKER_CONFIG } from './datetime-picker.config';\n@Component({\n selector: 'ax-datetime-picker',\n templateUrl: './datetime-picker.component.html',\n styleUrls: ['./datetime-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXDateTimePickerComponent\n extends classes(MXCalendarBaseComponent, MXValueComponent<Date>)\n implements OnInit\n{\n private defaultConfig: AXDateTimePickerConfig = inject(AX_DATETIME_PICKER_CONFIG);\n\n private _currentTimeButton: boolean = this.defaultConfig.currentTimeButton;\n @Input()\n public get currentTimeButton(): boolean {\n return this._currentTimeButton;\n }\n public set currentTimeButton(v: boolean) {\n this.setOption({\n name: 'currentTimeButton',\n value: v,\n });\n }\n\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n\n @ViewChild(AXPickerComponent)\n protected picker: AXPickerComponent;\n\n @ViewChild(AXTabsComponent)\n protected tabs: AXTabsComponent;\n\n protected hours: any[] = Array(24)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n minutes: any[] = Array(60)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n\n protected _parts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n realValue: () => this.editingDateObj.format(this._parts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n realValue: () => this.editingDateObj.format(this._parts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'dddd', 'DDDD'],\n enabled: false,\n default: 1,\n realValue: () => this.editingDateObj.format(this._parts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n realValue: () => this.editingDateObj.format(this._parts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n realValue: () => this.editingDateObj.format(this._parts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n realValue: () => this.editingDateObj.format(this._parts.second.placeholder),\n },\n };\n\n protected _activePart: 'date' | 'time' = 'date';\n\n protected get _hasDatePart(): boolean {\n return ['year', 'month', 'day'].some((k) => this._parts[k].enabled);\n }\n\n protected get _hasTimePart(): boolean {\n return ['hour', 'minute', 'second'].some((k) => this._parts[k].enabled);\n }\n\n private _editingDateObj: AXDateTime = this._calendarService.now(this.type);\n protected get editingDateObj(): AXDateTime {\n return this._editingDateObj;\n }\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format = this.calendarService.calendar.formats.dateTimeDisplay;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n afterCallback: (o, n) => {\n this._detectParts();\n },\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._detectParts();\n }\n\n public refresh() {\n this.picker?.refresh();\n }\n\n override internalValueChanged(value?: Date): void {\n if (value) {\n this._editingDateObj = this._calendarService.create(value);\n }\n }\n\n protected _handleViewChanged(e: AXTabStripChangedEvent) {\n this._activePart = e.tab.key as 'date' | 'time';\n this.cdr.detectChanges();\n }\n\n protected _handlePickerOnValueChanged(e: AXValueChangedEvent<Date>, part: string) {\n if (e.isUserInteraction) {\n this._editingDateObj = this._editingDateObj.set(part as TimeUnit, Number(e.value['id']));\n }\n }\n\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n protected _handleCalendarOnValueChanged(e: AXValueChangedEvent<Date>) {\n if (e.isUserInteraction) {\n const selectedValue = this.calendarService.create(e.value, this.type);\n const currentValue = this.calendarService\n .create(this.value ?? new Date(), this.type)\n .set('day', selectedValue.dayOfMonth)\n .set('month', selectedValue.monthOfYear)\n .set('year', selectedValue.year);\n\n this._editingDateObj = currentValue;\n if (this._hasTimePart) {\n this._activePart = 'time';\n if (this.tabs && this._hasDatePart && this._hasTimePart) {\n this.tabs.select(1);\n } else {\n this.commitValue(this.editingDateObj.date, true);\n }\n } else {\n this.commitValue(this.editingDateObj.date, true);\n }\n }\n }\n\n private _detectParts() {\n Object.values(this._parts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this.format.split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._parts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n this._activePart = this._hasDatePart ? 'date' : 'time';\n this.cdr.markForCheck();\n }\n\n protected _handleSetClick(e: AXClickEvent) {\n this.commitValue(this.editingDateObj.date, true);\n }\n\n protected _handleNowClick(e: AXClickEvent) {\n this._editingDateObj = this._calendarService.now(this.type);\n this.commitValue(this.editingDateObj.date, true);\n }\n}\n","<div class=\"ax-header\" *ngIf=\"_hasDatePart && _hasTimePart\">\n <ax-tabs [look]=\"'default'\" [fitParent]=\"true\" [location]=\"'top'\" (onActiveTabChanged)=\"_handleViewChanged($event)\">\n <ax-tab-item text=\"Date\" [key]=\"'date'\" [disabled]=\"disabled\"></ax-tab-item>\n <ax-tab-item text=\"Time\" [key]=\"'time'\" [disabled]=\"disabled\"></ax-tab-item>\n </ax-tabs>\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-calendar-part\" *ngIf=\"_activePart === 'date'\">\n <ax-calendar #calendar id=\"calendar\" [disabled]=\"disabled\" [readonly]=\"readonly\" [ngModel]=\"editingDateObj.date\"\n [minValue]=\"minValue\" [maxValue]=\"maxValue\" [disabledDates]=\"disabledDates\" [holidayDates]=\"holidayDates\"\n [depth]=\"depth\" (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\" [type]=\"type\">\n </ax-calendar>\n </div>\n <div class=\"ax-picker-part\" *ngIf=\"_activePart === 'time'\">\n <div class=\"ax-header\">\n {{ editingDateObj | axDate: format : type }}\n </div>\n <ax-picker>\n <ax-picker-column title=\"Hour\" [items]=\"hours\" [ngModel]=\"editingDateObj.hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\" [disabled]=\"disabled\" [readonly]=\"readonly\"\n *ngIf=\"_parts.hour.enabled\"></ax-picker-column>\n <ax-picker-column title=\"Minute\" [items]=\"minutes\" [ngModel]=\"editingDateObj.minute\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\" [step]=\"3\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" *ngIf=\"_parts.minute.enabled\"></ax-picker-column>\n <ax-picker-column title=\"Second\" [items]=\"minutes\" [ngModel]=\"editingDateObj.second\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\" [step]=\"3\" [disabled]=\"disabled\"\n [readonly]=\"readonly\" *ngIf=\"_parts.second.enabled\"></ax-picker-column>\n </ax-picker>\n </div>\n</div>\n<div class=\"ax-footer\" *ngIf=\"!disabled && !readonly && (currentTimeButton || _hasTimePart)\">\n <div>\n <ax-button [text]=\"_activePart === 'date' ? 'Today' : 'Now'\" class=\"ax-sm\" (onClick)=\"_handleNowClick($event)\"\n *ngIf=\"currentTimeButton\"></ax-button>\n </div>\n <div>\n <ax-button color=\"primary\" text=\"Set\" *ngIf=\"_hasTimePart\" class=\"ax-sm\"\n (onClick)=\"_handleSetClick($event)\"></ax-button>\n </div>\n</div>","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXPickerModule } from '@acorex/components/picker';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXDateTimeModule } from '@acorex/core/dateTime';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimePickerComponent } from './datetime-picker.component';\n\nconst COMPONENT = [AXDateTimePickerComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXTabsModule,\n AXDateTimeModule,\n AXButtonModule,\n AXCalendarModule,\n AXPickerModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-components-datetime-picker.mjs","sources":["../../../../libs/components/datetime-picker/src/lib/datetime-picker.config.ts","../../../../libs/components/datetime-picker/src/lib/datetime-picker.component.ts","../../../../libs/components/datetime-picker/src/lib/datetime-picker.component.html","../../../../libs/components/datetime-picker/src/lib/datetime-picker.module.ts","../../../../libs/components/datetime-picker/src/acorex-components-datetime-picker.ts"],"sourcesContent":["import { AX_GLOBAL_CONFIG } from '@acorex/core/config';\nimport { InjectionToken, inject } from '@angular/core';\nimport { set } from 'lodash-es';\n\nexport interface AXDateTimePickerConfig {\n currentTimeButton: boolean;\n}\n\nexport const AX_DATETIME_PICKER_CONFIG = new InjectionToken<AXDateTimePickerConfig>(\n 'AX_DATETIME_PICKER_CONFIG',\n {\n providedIn: 'root',\n factory: () => {\n const global = inject(AX_GLOBAL_CONFIG);\n set(global, 'datetime-picker', AX_DATETIME_PICKER_CONFIG);\n return AXDateTimePickerDefaultConfig;\n },\n },\n);\n\nexport const AXDateTimePickerDefaultConfig: AXDateTimePickerConfig = {\n currentTimeButton: true,\n};\n\nexport type PartialDateTimePickerConfig = Partial<AXDateTimePickerConfig>;\n\nexport function dateTimePickerConfig(config: PartialDateTimePickerConfig = {}): AXDateTimePickerConfig {\n const result = {\n ...AXDateTimePickerDefaultConfig,\n ...config,\n };\n return result;\n}\n","import { AXCalendarNavigateEvent, MXCalendarBaseComponent } from '@acorex/components/calendar';\nimport {\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n AXValueChangedEvent,\n MXValueComponent,\n} from '@acorex/components/common';\nimport { AXPickerComponent } from '@acorex/components/picker';\nimport { AXTabStripChangedEvent, AXTabsComponent } from '@acorex/components/tabs';\nimport { AXCalendarService, AXDateTime, AXDateTimeParts, TimeUnit } from '@acorex/core/dateTime';\nimport { AXTranslator } from '@acorex/core/translation';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { classes } from 'polytype';\nimport { AXDateTimePickerConfig, AX_DATETIME_PICKER_CONFIG } from './datetime-picker.config';\n@Component({\n selector: 'ax-datetime-picker',\n templateUrl: './datetime-picker.component.html',\n styleUrls: ['./datetime-picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: [\n 'disabled',\n 'readonly',\n 'tabIndex',\n 'placeholder',\n 'value',\n 'state',\n 'name',\n 'id',\n 'depth',\n 'activeView',\n 'minValue',\n 'maxValue',\n 'disabledDates',\n 'holidayDates',\n 'type',\n 'cellTemplate',\n 'cellClass',\n 'showNavigation',\n ],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'onClick',\n 'readonlyChange',\n 'disabledChange',\n 'depthChange',\n 'typeChange',\n 'activeViewChange',\n 'disabledDatesChange',\n 'holidayDatesChange',\n 'onNavigate',\n 'onSlotClick',\n ],\n providers: [\n { provide: AXComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXFocusableComponent, useExisting: AXDateTimePickerComponent },\n { provide: AXValuableComponent, useExisting: AXDateTimePickerComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXDateTimePickerComponent),\n multi: true,\n },\n ],\n})\nexport class AXDateTimePickerComponent\n extends classes(MXCalendarBaseComponent, MXValueComponent<Date>)\n implements OnInit\n{\n buttonText = '';\n\n private defaultConfig: AXDateTimePickerConfig = inject(AX_DATETIME_PICKER_CONFIG);\n\n private _currentTimeButton: boolean = this.defaultConfig.currentTimeButton;\n @Input()\n public get currentTimeButton(): boolean {\n return this._currentTimeButton;\n }\n public set currentTimeButton(v: boolean) {\n this.setOption({\n name: 'currentTimeButton',\n value: v,\n });\n }\n\n private _calendarService: AXCalendarService = inject(AXCalendarService);\n\n @ViewChild(AXPickerComponent)\n protected picker: AXPickerComponent;\n\n @ViewChild(AXTabsComponent)\n protected tabs: AXTabsComponent;\n\n protected hours: any[] = Array(24)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n minutes: any[] = Array(60)\n .fill(0)\n .map((m, i) => ({ id: i, text: i }));\n\n protected _parts: AXDateTimeParts = {\n year: {\n key: 'year',\n placeholder: 'yyyy',\n placeholders: ['YY', 'yy', 'YYYY', 'yyyy'],\n enabled: false,\n default: 2023,\n realValue: () => this.editingDateObj.format(this._parts.year.placeholder),\n },\n month: {\n key: 'month',\n placeholder: 'MM',\n placeholders: ['MMM', 'MMMM', 'MM', 'M'],\n enabled: false,\n default: 1,\n realValue: () => this.editingDateObj.format(this._parts.month.placeholder),\n },\n day: {\n key: 'day',\n placeholder: 'dd',\n placeholders: ['dd', 'd', 'dddd', 'DDDD'],\n enabled: false,\n default: 1,\n realValue: () => this.editingDateObj.format(this._parts.day.placeholder),\n },\n hour: {\n key: 'hour',\n placeholder: 'HH',\n placeholders: ['HH', 'H', 'hh', 'h'],\n enabled: false,\n default: 0,\n realValue: () => this.editingDateObj.format(this._parts.hour.placeholder),\n },\n minute: {\n key: 'minute',\n placeholder: 'mm',\n placeholders: ['mm', 'm'],\n enabled: false,\n default: 0,\n realValue: () => this.editingDateObj.format(this._parts.minute.placeholder),\n },\n second: {\n key: 'second',\n placeholder: 'ss',\n placeholders: ['ss', 's'],\n enabled: false,\n default: 0,\n realValue: () => this.editingDateObj.format(this._parts.second.placeholder),\n },\n };\n\n protected _activePart: 'date' | 'time' = 'date';\n\n protected get _hasDatePart(): boolean {\n return ['year', 'month', 'day'].some((k) => this._parts[k].enabled);\n }\n\n protected get _hasTimePart(): boolean {\n return ['hour', 'minute', 'second'].some((k) => this._parts[k].enabled);\n }\n\n private _editingDateObj: AXDateTime = this._calendarService.now(this.type);\n protected get editingDateObj(): AXDateTime {\n return this._editingDateObj;\n }\n\n @Output()\n formatChange = new EventEmitter<string>();\n\n private _format = this.calendarService.calendar.formats.dateTimeDisplay;\n @Input()\n public get format(): string {\n return this._format;\n }\n public set format(v: string) {\n this.setOption({\n name: 'format',\n value: v,\n afterCallback: (o, n) => {\n this._detectParts();\n },\n });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._detectParts();\n this.detectButtonText();\n }\n\n public refresh() {\n this.picker?.refresh();\n }\n\n override internalValueChanged(value?: Date): void {\n if (value) {\n this._editingDateObj = this._calendarService.create(value);\n }\n }\n\n protected detectButtonText() {\n this.buttonText =\n this._activePart === 'date' ? AXTranslator.get('dateTime.today') : AXTranslator.get('dateTime.now');\n }\n\n protected _handleViewChanged(e: AXTabStripChangedEvent) {\n this._activePart = e.tab.key as 'date' | 'time';\n this.detectButtonText();\n this.cdr.detectChanges();\n }\n\n protected _handlePickerOnValueChanged(e: AXValueChangedEvent<Date>, part: string) {\n if (e.isUserInteraction) {\n this._editingDateObj = this._editingDateObj.set(part as TimeUnit, Number(e.value['id']));\n }\n }\n\n protected _handleCalendarOnNavigate(e: AXCalendarNavigateEvent) {\n this.onNavigate.emit(e);\n }\n\n protected _handleCalendarOnValueChanged(e: AXValueChangedEvent<Date>) {\n if (e.isUserInteraction) {\n const selectedValue = this.calendarService.create(e.value, this.type);\n const currentValue = this.calendarService\n .create(this.value ?? new Date(), this.type)\n .set('day', selectedValue.dayOfMonth)\n .set('month', selectedValue.monthOfYear)\n .set('year', selectedValue.year);\n\n this._editingDateObj = currentValue;\n if (this._hasTimePart) {\n this._activePart = 'time';\n if (this.tabs && this._hasDatePart && this._hasTimePart) {\n this.tabs.select(1);\n } else {\n this.commitValue(this.editingDateObj.date, true);\n }\n } else {\n this.commitValue(this.editingDateObj.date, true);\n }\n }\n }\n\n private _detectParts() {\n Object.values(this._parts).forEach((e) => {\n e.enabled = false;\n });\n const formatParts = this.format.split(/[^a-zA-Z]+/);\n formatParts.forEach((f) => {\n const found = Object.values(this._parts).find((c) => c.placeholders.some((d) => d == f));\n if (found) {\n found.enabled = true;\n found.placeholder = f;\n }\n });\n this._activePart = this._hasDatePart ? 'date' : 'time';\n this.cdr.markForCheck();\n }\n\n protected _handleSetClick() {\n this.commitValue(this.editingDateObj.date, true);\n }\n\n protected _handleNowClick() {\n this._editingDateObj = this._calendarService.now(this.type);\n this.commitValue(this.editingDateObj.date, true);\n }\n}\n","<div class=\"ax-header\" *ngIf=\"_hasDatePart && _hasTimePart\">\n <ax-tabs\n [look]=\"'default'\"\n [fitParent]=\"true\"\n [location]=\"'top'\"\n (onActiveTabChanged)=\"_handleViewChanged($event)\"\n >\n <ax-tab-item text=\"Date\" [key]=\"'date'\" [disabled]=\"disabled\"></ax-tab-item>\n <ax-tab-item text=\"Time\" [key]=\"'time'\" [disabled]=\"disabled\"></ax-tab-item>\n </ax-tabs>\n</div>\n<div class=\"ax-content\">\n <div class=\"ax-calendar-part\" *ngIf=\"_activePart === 'date'\">\n <ax-calendar\n #calendar\n id=\"calendar\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [ngModel]=\"editingDateObj.date\"\n [minValue]=\"minValue\"\n [maxValue]=\"maxValue\"\n [disabledDates]=\"disabledDates\"\n [holidayDates]=\"holidayDates\"\n [depth]=\"depth\"\n (onNavigate)=\"_handleCalendarOnNavigate($event)\"\n (onValueChanged)=\"_handleCalendarOnValueChanged($event)\"\n [type]=\"type\"\n >\n </ax-calendar>\n </div>\n <div class=\"ax-picker-part\" *ngIf=\"_activePart === 'time'\">\n <div class=\"ax-header\">\n {{ editingDateObj | axDate: format : type }}\n </div>\n <ax-picker>\n <ax-picker-column\n title=\"Hour\"\n [items]=\"hours\"\n [ngModel]=\"editingDateObj.hour\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'hour')\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.hour.enabled\"\n ></ax-picker-column>\n <ax-picker-column\n title=\"Minute\"\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj.minute\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'minute')\"\n [step]=\"3\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.minute.enabled\"\n ></ax-picker-column>\n <ax-picker-column\n title=\"Second\"\n [items]=\"minutes\"\n [ngModel]=\"editingDateObj.second\"\n (onValueChanged)=\"_handlePickerOnValueChanged($event, 'second')\"\n [step]=\"3\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n *ngIf=\"_parts.second.enabled\"\n ></ax-picker-column>\n </ax-picker>\n </div>\n</div>\n<div class=\"ax-footer\" *ngIf=\"!disabled && !readonly && (currentTimeButton || _hasTimePart)\">\n <div>\n <ax-button\n [text]=\"buttonText\"\n class=\"ax-sm\"\n (onClick)=\"_handleNowClick()\"\n *ngIf=\"currentTimeButton\"\n ></ax-button>\n </div>\n\n <div>\n <ax-button\n color=\"primary\"\n [text]=\"'dateTime.set' | trans\"\n *ngIf=\"_hasTimePart\"\n class=\"ax-sm\"\n (onClick)=\"_handleSetClick()\"\n ></ax-button>\n </div>\n</div>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXCalendarModule } from '@acorex/components/calendar';\nimport { AXPickerModule } from '@acorex/components/picker';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXDateTimeModule } from '@acorex/core/dateTime';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXDateTimePickerComponent } from './datetime-picker.component';\n\nconst COMPONENT = [AXDateTimePickerComponent];\nconst MODULES = [\n CommonModule,\n FormsModule,\n AXTabsModule,\n AXDateTimeModule,\n AXButtonModule,\n AXCalendarModule,\n AXPickerModule,\n AXTranslationModule,\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXDateTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|