@ng-matero/extensions 10.16.5 → 10.16.6
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/bundles/mtxCheckboxGroup.umd.js +18 -7
- package/bundles/mtxCheckboxGroup.umd.js.map +1 -1
- package/bundles/mtxCheckboxGroup.umd.min.js +1 -1
- package/bundles/mtxCheckboxGroup.umd.min.js.map +1 -1
- package/bundles/mtxGrid.umd.js +34 -61
- package/bundles/mtxGrid.umd.js.map +1 -1
- package/bundles/mtxGrid.umd.min.js +2 -2
- package/bundles/mtxGrid.umd.min.js.map +1 -1
- package/bundles/mtxPopover.umd.js +7 -2
- package/bundles/mtxPopover.umd.js.map +1 -1
- package/bundles/mtxPopover.umd.min.js +1 -1
- package/bundles/mtxPopover.umd.min.js.map +1 -1
- package/bundles/mtxSelect.umd.js +1 -0
- package/bundles/mtxSelect.umd.js.map +1 -1
- package/bundles/mtxSelect.umd.min.js +1 -1
- package/bundles/mtxSelect.umd.min.js.map +1 -1
- package/bundles/mtxSplit.umd.js +1 -1
- package/bundles/mtxSplit.umd.js.map +1 -1
- package/bundles/mtxSplit.umd.min.js +1 -1
- package/bundles/mtxSplit.umd.min.js.map +1 -1
- package/checkbox-group/checkbox-group.component.d.ts +4 -4
- package/checkbox-group/mtxCheckboxGroup.metadata.json +1 -1
- package/data-grid/cell.component.d.ts +3 -8
- package/data-grid/mtxGrid.metadata.json +1 -1
- package/esm2015/checkbox-group/checkbox-group.component.js +16 -10
- package/esm2015/data-grid/cell.component.js +34 -57
- package/esm2015/data-grid/column-menu.component.js +2 -2
- package/esm2015/data-grid/grid.component.js +3 -3
- package/esm2015/popover/popover.js +8 -3
- package/esm2015/select/select.component.js +2 -1
- package/esm2015/split-pane/split.component.js +2 -2
- package/fesm2015/mtxCheckboxGroup.js +13 -7
- package/fesm2015/mtxCheckboxGroup.js.map +1 -1
- package/fesm2015/mtxGrid.js +36 -59
- package/fesm2015/mtxGrid.js.map +1 -1
- package/fesm2015/mtxPopover.js +7 -2
- package/fesm2015/mtxPopover.js.map +1 -1
- package/fesm2015/mtxSelect.js +1 -0
- package/fesm2015/mtxSelect.js.map +1 -1
- package/fesm2015/mtxSplit.js +1 -1
- package/fesm2015/mtxSplit.js.map +1 -1
- package/package.json +1 -1
- package/select/mtxSelect.metadata.json +1 -1
package/fesm2015/mtxGrid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtxGrid.js","sources":["../../../projects/extensions/data-grid/grid.service.ts","../../../projects/extensions/data-grid/grid.component.ts","../../../projects/extensions/data-grid/cell.component.ts","../../../projects/extensions/data-grid/column-menu.component.ts","../../../projects/extensions/data-grid/expansion-toggle.directive.ts","../../../projects/extensions/data-grid/cell-selection.directive.ts","../../../projects/extensions/data-grid/column-resize/resize-strategy.ts","../../../projects/extensions/data-grid/column-resize/column-resize-directives/common.ts","../../../projects/extensions/data-grid/column-resize/column-resize-directives/column-resize.ts","../../../projects/extensions/data-grid/column-resize/column-resize-directives/column-resize-flex.ts","../../../projects/extensions/data-grid/column-resize/overlay-handle.ts","../../../projects/extensions/data-grid/column-resize/resizable-directives/common.ts","../../../projects/extensions/data-grid/column-resize/resizable-directives/resizable.ts","../../../projects/extensions/data-grid/column-resize/column-resize-module.ts","../../../projects/extensions/data-grid/grid.module.ts","../../../projects/extensions/data-grid/grid.interface.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { MtxGridColumn } from './grid.interface';\r\n\r\n@Injectable()\r\nexport class MtxGridService {\r\n constructor() {}\r\n\r\n /**\r\n * Get cell value from column key e.g. `a.b.c`\r\n * @param rowData Row data\r\n * @param colDef Column definition\r\n */\r\n getCellValue(rowData: any, colDef: MtxGridColumn): string {\r\n const keyArr = colDef.field ? colDef.field.split('.') : [];\r\n\r\n let tmp: any = '';\r\n\r\n keyArr.forEach((key: string, i: number) => {\r\n if (i === 0) {\r\n tmp = rowData[key];\r\n } else {\r\n tmp = tmp && tmp[key];\r\n }\r\n });\r\n return tmp;\r\n }\r\n\r\n /**\r\n * Get all data of a col\r\n * @param data All data\r\n * @param colDef Column definition\r\n */\r\n getColData(data: any[], colDef: MtxGridColumn): any[] {\r\n return data.map((rowData: any) => this.getCellValue(rowData, colDef));\r\n }\r\n\r\n /**\r\n * Remove white spaces in a string and convert string to array\r\n * @param str string\r\n */\r\n str2arr(str: string): string[] {\r\n return str.replace(/[\\r\\n\\s]/g, '').split(',');\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n OnChanges,\r\n TemplateRef,\r\n TrackByFunction,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ElementRef,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { Sort, MatSort, SortDirection } from '@angular/material/sort';\r\n\r\nimport {\r\n MtxGridColumn,\r\n MtxGridColumnSelectionItem,\r\n MtxGridCellTemplate,\r\n MtxGridRowSelectionFormatter,\r\n MtxGridRowClassFormatter,\r\n MtxGridColumnMenu,\r\n MtxGridButtonType,\r\n} from './grid.interface';\r\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\r\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\r\nimport { MtxGridService } from './grid.service';\r\nimport { isObservable } from 'rxjs';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n@Component({\r\n selector: 'mtx-grid',\r\n exportAs: 'mtxGrid',\r\n templateUrl: './grid.component.html',\r\n styleUrls: ['./grid.component.scss'],\r\n host: {\r\n class: 'mtx-grid',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('expansion', [\r\n state('collapsed', style({ height: '0', minHeight: '0', visibility: 'hidden' })),\r\n state('expanded', style({ height: '*', visibility: 'visible' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n})\r\nexport class MtxGridComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n @ViewChild('columnMenu') columnMenu: MtxGridColumnMenu;\r\n @ViewChild('tableContainer') tableContainer: ElementRef<HTMLDivElement>;\r\n\r\n dataSource = new MatTableDataSource();\r\n\r\n @Input() displayedColumns: string[];\r\n @Input() columns: MtxGridColumn[] = [];\r\n @Input() data: any[] = [];\r\n @Input() length = 0;\r\n @Input() loading = false;\r\n\r\n @Input() trackBy: TrackByFunction<any>;\r\n\r\n @Input() columnResizable = false;\r\n\r\n // Page\r\n\r\n @Input() pageOnFront = true;\r\n @Input() showPaginator = true;\r\n @Input() pageDisabled = false;\r\n @Input() showFirstLastButtons = true;\r\n @Input() pageIndex = 0;\r\n @Input() pageSize = 10;\r\n @Input() pageSizeOptions = [10, 50, 100];\r\n @Input() hidePageSize = false;\r\n @Output() page = new EventEmitter<PageEvent>();\r\n\r\n // Sort\r\n\r\n @Input() sortOnFront = true;\r\n @Input() sortActive: string;\r\n @Input() sortDirection: SortDirection;\r\n @Input() sortDisableClear: boolean = false;\r\n @Input() sortDisabled: boolean = false;\r\n @Input() sortStart: 'asc' | 'desc' = 'asc';\r\n @Output() sortChange = new EventEmitter<Sort>();\r\n\r\n // Row\r\n\r\n @Input() rowHover = false;\r\n @Input() rowStriped = false;\r\n @Output() rowClick = new EventEmitter<any>();\r\n\r\n // Expansion\r\n\r\n expansionRowStates: any[] = [];\r\n\r\n @Input() expandable = false;\r\n @Input() expansionTemplate: TemplateRef<any>;\r\n @Output() expansionChange = new EventEmitter<any>();\r\n\r\n /** Whether support multiple row/cell selection */\r\n @Input() multiSelectable = true;\r\n\r\n // Row selection\r\n\r\n rowSelection: SelectionModel<any> = new SelectionModel<any>(true, []);\r\n\r\n @Input() rowSelected = [];\r\n @Input() rowSelectable = false;\r\n @Input() hideRowSelectionCheckbox = false;\r\n @Input() rowSelectionFormatter: MtxGridRowSelectionFormatter = {};\r\n @Input() rowClassFormatter: MtxGridRowClassFormatter;\r\n @Output() rowSelectionChange = new EventEmitter<any[]>();\r\n\r\n // Cell selection\r\n\r\n cellSelection: any[] = [];\r\n\r\n @Input() cellSelectable = true;\r\n @Output() cellSelectionChange = new EventEmitter<any[]>();\r\n\r\n private _selectedCell: MtxGridCellSelectionDirective | undefined;\r\n\r\n // Toolbar\r\n\r\n @Input() showToolbar = false;\r\n @Input() toolbarTitle = '';\r\n @Input() toolbarTemplate: TemplateRef<any>;\r\n\r\n // Column menu\r\n\r\n columnMenuData: MtxGridColumnSelectionItem[] = [];\r\n\r\n @Input() showColumnMenuButton = true;\r\n @Input() columnMenuButtonText = '';\r\n @Input() columnMenuButtonType: MtxGridButtonType = 'stroked';\r\n @Input() columnMenuButtonColor: ThemePalette;\r\n @Input() columnMenuButtonClass = '';\r\n @Input() columnMenuButtonIcon = '';\r\n\r\n @Input() columnHideable = true;\r\n @Input() columnHideableChecked: 'show' | 'hide' = 'show';\r\n @Input() columnMovable = true;\r\n @Input() columnPinnable = true;\r\n @Output() columnChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\r\n\r\n @Input() showColumnMenuHeader = false;\r\n @Input() columnMenuHeaderText = 'Columns Header';\r\n @Input() columnMenuHeaderTemplate: TemplateRef<any>;\r\n @Input() showColumnMenuFooter = false;\r\n @Input() columnMenuFooterText = 'Columns Footer';\r\n @Input() columnMenuFooterTemplate: TemplateRef<any>;\r\n\r\n // No Result\r\n\r\n @Input() noResultText = 'No records found';\r\n @Input() noResultTemplate: TemplateRef<any>;\r\n\r\n get _hasNoResult() {\r\n return (!this.data || this.data.length === 0) && !this.loading;\r\n }\r\n\r\n // Cell templates\r\n\r\n @Input() headerTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n @Input() headerExtraTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n\r\n @Input() cellTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n\r\n // Summary\r\n\r\n @Input() showSummary = false;\r\n @Input() summaryTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n\r\n // TODO: Summary display conditions\r\n get _whetherShowSummary() {\r\n return this.showSummary;\r\n }\r\n\r\n // Sidebar\r\n\r\n @Input() showSidebar = false;\r\n @Input() sidebarTemplate: TemplateRef<any>;\r\n\r\n constructor(\r\n private _dataGridSrv: MtxGridService,\r\n private _changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n detectChanges() {\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n\r\n _isTemplateRef(obj: any) {\r\n return obj instanceof TemplateRef;\r\n }\r\n\r\n _isObservable(data: any) {\r\n return isObservable(data);\r\n }\r\n\r\n _getColData(data: any[], colDef: MtxGridColumn) {\r\n return this._dataGridSrv.getColData(data, colDef);\r\n }\r\n\r\n _getRowClassList(rowData: any, index: number) {\r\n const classList: any = {\r\n 'selected': this.rowSelection.isSelected(rowData),\r\n 'mat-row-odd': index % 2,\r\n };\r\n if (this.rowClassFormatter) {\r\n for (const key of Object.keys(this.rowClassFormatter)) {\r\n classList[key] = this.rowClassFormatter[key](rowData, index);\r\n }\r\n }\r\n return classList;\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n // Waiting for async data\r\n ngOnChanges(changes: SimpleChanges) {\r\n this._countPinnedPosition();\r\n\r\n this.displayedColumns = this.columns.filter(item => !item.hide).map(item => item.field);\r\n\r\n if (this.showColumnMenuButton) {\r\n this.columnMenuData = (this.columns as any[]).map(item => {\r\n const newItem: MtxGridColumnSelectionItem = {\r\n label: item.header,\r\n field: item.field,\r\n disabled: item.disabled,\r\n };\r\n if (this.columnHideableChecked === 'show') {\r\n newItem.show = !item.hide;\r\n } else {\r\n newItem.hide = item.hide;\r\n }\r\n return newItem;\r\n });\r\n }\r\n\r\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\r\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\r\n }\r\n\r\n // We should copy each item of data for expansion data\r\n if (this.expandable) {\r\n this.expansionRowStates = []; // reset\r\n\r\n this.data?.forEach(_ => {\r\n this.expansionRowStates.push({ expanded: false });\r\n });\r\n }\r\n\r\n if (this.rowSelectable) {\r\n this.rowSelection = new SelectionModel<any>(this.multiSelectable, this.rowSelected);\r\n }\r\n\r\n this.dataSource = new MatTableDataSource(this.data);\r\n\r\n this.dataSource.paginator = this.pageOnFront ? this.paginator : null;\r\n this.dataSource.sort = this.sortOnFront ? this.sort : null;\r\n\r\n // Only scroll top when data change\r\n if (changes.data) {\r\n this.scrollTop(0);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.pageOnFront) {\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n if (this.sortOnFront) {\r\n this.dataSource.sort = this.sort;\r\n }\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n _countPinnedPosition() {\r\n const count = (acc: number, cur: MtxGridColumn) => acc + parseFloat(cur.width || '80px');\r\n\r\n const pinnedLeftCols = this.columns.filter(col => col.pinned && col.pinned === 'left');\r\n pinnedLeftCols.forEach((item, idx) => {\r\n item.left = pinnedLeftCols.slice(0, idx).reduce(count, 0) + 'px';\r\n });\r\n\r\n const pinnedRightCols = this.columns\r\n .filter(col => col.pinned && col.pinned === 'right')\r\n .reverse();\r\n pinnedRightCols.forEach((item, idx) => {\r\n item.right = pinnedRightCols.slice(0, idx).reduce(count, 0) + 'px';\r\n });\r\n }\r\n\r\n _getIndex(index: number, dataIndex: number) {\r\n return typeof index === 'undefined' ? dataIndex : index;\r\n }\r\n\r\n _handleSortChange(sort: Sort) {\r\n this.sortChange.emit(sort);\r\n }\r\n\r\n /** Expansion change event */\r\n _handleExpansionChange(\r\n expansionRef: MtxGridExpansionToggleDirective,\r\n rowData: any,\r\n column: any,\r\n index: number\r\n ) {\r\n this.expansionChange.emit({ expanded: expansionRef.expanded, data: rowData, index, column });\r\n }\r\n\r\n /** Cell select event */\r\n _selectCell(cellRef: MtxGridCellSelectionDirective, rowData: any, colDef: any): void {\r\n // If not the same cell\r\n if (this._selectedCell !== cellRef) {\r\n const colValue = this._dataGridSrv.getCellValue(rowData, colDef);\r\n this.cellSelection = []; // reset\r\n this.cellSelection.push({ cellData: colValue, rowData, colDef });\r\n\r\n this.cellSelectionChange.emit(this.cellSelection);\r\n\r\n if (this._selectedCell) {\r\n this._selectedCell.deselect(); // the selectedCell will be undefined\r\n }\r\n }\r\n\r\n this._selectedCell = cellRef.selected ? cellRef : undefined;\r\n }\r\n\r\n /** Row select event */\r\n _selectRow(event: MouseEvent, rowData: any, index: number) {\r\n if (\r\n this.rowSelectable &&\r\n !this.rowSelectionFormatter.disabled?.(rowData, index) &&\r\n !this.rowSelectionFormatter.hideCheckbox?.(rowData, index)\r\n ) {\r\n // metaKey -> command key\r\n if (!event.ctrlKey && !event.metaKey) {\r\n this.rowSelection.clear();\r\n }\r\n\r\n this._toggleNormalCheckbox(rowData);\r\n }\r\n\r\n this.rowClick.emit({ rowData, index });\r\n }\r\n\r\n /** Whether the number of selected elements matches the total number of rows. */\r\n _isAllSelected() {\r\n const numSelected = this.rowSelection.selected.length;\r\n const numRows = this.dataSource.data.filter(\r\n (row, index) => !this.rowSelectionFormatter.disabled?.(row, index)\r\n ).length;\r\n return numSelected === numRows;\r\n }\r\n\r\n /** Select all rows if they are not all selected; otherwise clear selection. */\r\n _toggleMasterCheckbox() {\r\n this._isAllSelected()\r\n ? this.rowSelection.clear()\r\n : this.dataSource.data.forEach((row, index) => {\r\n if (!this.rowSelectionFormatter.disabled?.(row, index)) {\r\n this.rowSelection.select(row);\r\n }\r\n });\r\n this.rowSelectionChange.emit(this.rowSelection.selected);\r\n }\r\n\r\n /** Select normal row */\r\n _toggleNormalCheckbox(row: any) {\r\n this.rowSelection.toggle(row);\r\n this.rowSelectionChange.emit(this.rowSelection.selected);\r\n }\r\n\r\n /** Column change event */\r\n\r\n _handleColumnChange(columns: any[]) {\r\n this.columnChange.emit(columns);\r\n\r\n this.displayedColumns = Object.assign([], this.getDisplayedColumnFields(columns));\r\n\r\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\r\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\r\n }\r\n }\r\n\r\n getDisplayedColumnFields(columns: any[]): string[] {\r\n const fields = columns\r\n .filter((item: MtxGridColumnSelectionItem) =>\r\n this.columnHideableChecked === 'show' ? item.show : !item.hide\r\n )\r\n .map((item: MtxGridColumnSelectionItem) => item.field);\r\n return fields;\r\n }\r\n\r\n /** Customize expansion event */\r\n toggleExpansion(index: number) {\r\n if (!this.expandable) {\r\n throw new Error('The `expandable` should be set true.');\r\n }\r\n this.expansionRowStates[index].expanded = !this.expansionRowStates[index].expanded;\r\n return this.expansionRowStates[index].expanded;\r\n }\r\n\r\n /** Scroll to top when turn to the next page */\r\n _handlePage(e: PageEvent) {\r\n if (this.pageOnFront) {\r\n this.scrollTop(0);\r\n }\r\n this.page.emit(e);\r\n }\r\n\r\n scrollTop(value?: number): number | void {\r\n if (value == null) {\r\n return this.tableContainer?.nativeElement.scrollTop;\r\n }\r\n if (this.tableContainer && !this.loading) {\r\n this.tableContainer.nativeElement.scrollTop = value;\r\n }\r\n }\r\n\r\n scrollLeft(value?: number): number | void {\r\n if (value == null) {\r\n return this.tableContainer?.nativeElement.scrollLeft;\r\n }\r\n if (this.tableContainer && !this.loading) {\r\n this.tableContainer.nativeElement.scrollLeft = value;\r\n }\r\n }\r\n}\r\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { MtxDialog } from '@ng-matero/extensions/dialog';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { MtxGridColumn, MtxGridColumnButton } from './grid.interface';\r\nimport { MtxGridService } from './grid.service';\r\nimport PhotoViewer from 'photoviewer';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n@Component({\r\n selector: 'mtx-grid-cell',\r\n exportAs: 'mtxGridCell',\r\n templateUrl: './cell.component.html',\r\n styleUrls: ['./cell.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MtxGridCellComponent {\r\n /** Row data */\r\n @Input() rowData = {};\r\n\r\n /** Column definition */\r\n @Input() colDef: MtxGridColumn;\r\n\r\n /** All data */\r\n @Input() data = [];\r\n\r\n /** Whether show summary */\r\n @Input() summary = false;\r\n\r\n get _colValue() {\r\n return this._dataGridSrv.getCellValue(this.rowData, this.colDef);\r\n }\r\n\r\n _isString(fn: any) {\r\n return Object.prototype.toString.call(fn) === '[object String]';\r\n }\r\n\r\n _isFunction(fn: any) {\r\n return Object.prototype.toString.call(fn) === '[object Function]';\r\n }\r\n\r\n _isEmptyValue(value: any) {\r\n return value == null || value.toString() === '';\r\n }\r\n\r\n _isContainHTML(value: string) {\r\n return /<\\/?[a-z][\\s\\S]*>/i.test(value);\r\n }\r\n\r\n _getText(value: any) {\r\n return this._isEmptyValue(value) ? '--' : value;\r\n }\r\n\r\n _getTooltip(value: any) {\r\n return this._isEmptyValue(value) ? '' : value;\r\n }\r\n\r\n _getFormatterTooltip(value: any) {\r\n return this._isContainHTML(value) || this._isEmptyValue(value) ? '' : value;\r\n }\r\n\r\n _formatSummary(data: any[], colDef: MtxGridColumn) {\r\n if (this._isString(colDef.summary)) {\r\n return colDef.summary;\r\n } else if (this._isFunction(colDef.summary)) {\r\n return (colDef.summary as (data: any[], colDef?: MtxGridColumn) => void)(\r\n this._dataGridSrv.getColData(data, colDef),\r\n colDef\r\n );\r\n }\r\n }\r\n\r\n constructor(private _dialog: MtxDialog, private _dataGridSrv: MtxGridService) {}\r\n\r\n _handleActionConfirm(\r\n event: MouseEvent,\r\n title: string | Observable<string>,\r\n description: string | Observable<string> = '',\r\n okColor: ThemePalette = 'primary',\r\n okText: string | Observable<string> = 'OK',\r\n closeColor: ThemePalette,\r\n closeText: string | Observable<string> = 'CLOSE',\r\n fn?: (p: any) => void,\r\n data?: any\r\n ) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n this._dialog.open({\r\n title,\r\n description,\r\n buttons: [\r\n {\r\n color: okColor,\r\n text: okText,\r\n onClick: () => (fn ? fn(data) : {}),\r\n },\r\n { color: closeColor, text: closeText, onClick: () => {} },\r\n ],\r\n });\r\n }\r\n\r\n _handleActionClick(event: MouseEvent, btn: MtxGridColumnButton, rowData: any) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (btn.click) {\r\n btn.click(rowData);\r\n }\r\n }\r\n\r\n /** Preview enlarged image */\r\n _onPreview(urlStr: string) {\r\n const imgs: PhotoViewer.Img[] = [];\r\n\r\n this._dataGridSrv.str2arr(urlStr).forEach((url, index) => {\r\n imgs.push({ title: index + 1 + '', src: url });\r\n });\r\n\r\n const footerToolbar =\r\n imgs.length > 1\r\n ? ['zoomIn', 'zoomOut', 'prev', 'next', 'rotateRight', 'rotateLeft', 'actualSize']\r\n : ['zoomIn', 'zoomOut', 'rotateRight', 'rotateLeft', 'actualSize'];\r\n\r\n const options: PhotoViewer.Options = {\r\n title: imgs.length > 1,\r\n footerToolbar,\r\n };\r\n\r\n const viewer = new PhotoViewer(imgs, options);\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Output,\r\n EventEmitter,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MtxGridButtonType, MtxGridColumnSelectionItem } from './grid.interface';\r\n\r\n@Component({\r\n selector: 'mtx-grid-column-menu',\r\n exportAs: 'mtxGridColumnMenu',\r\n templateUrl: './column-menu.component.html',\r\n styleUrls: ['./column-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MtxGridColumnMenuComponent {\r\n @ViewChild('menu', { static: true }) menuPanel: MatMenu;\r\n @ViewChild(MatMenuTrigger) menuTrigger: MatMenuTrigger;\r\n\r\n @Input() columns: MtxGridColumnSelectionItem[] = [];\r\n @Input() selectable = true;\r\n @Input() selectableChecked: 'show' | 'hide' = 'show';\r\n @Input() sortable = true;\r\n @Input() dndSortable = true;\r\n\r\n @Input()\r\n get buttonText() {\r\n const defaultText = `Columns ${this.selectableChecked === 'show' ? 'Shown' : 'Hidden'}`;\r\n const text = this._buttonText ? this._buttonText : defaultText;\r\n return text;\r\n }\r\n set buttonText(value: string) {\r\n this._buttonText = value;\r\n }\r\n private _buttonText = '';\r\n\r\n @Input() buttonType: MtxGridButtonType = 'stroked';\r\n @Input() buttonColor: ThemePalette;\r\n @Input() buttonClass = '';\r\n @Input() buttonIcon = '';\r\n\r\n @Input() showHeader = false;\r\n @Input() headerText = 'Columns Header';\r\n @Input() headerTemplate: TemplateRef<any>;\r\n @Input() showFooter = false;\r\n @Input() footerText = 'Columns Footer';\r\n @Input() footerTemplate: TemplateRef<any>;\r\n\r\n @Output() selectionChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\r\n @Output() sortChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\r\n\r\n _handleDroped(event: CdkDragDrop<string[]>) {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n this.sortChange.emit(this.columns);\r\n }\r\n\r\n _handleSelection(e: MatCheckboxChange) {\r\n this.selectionChange.emit(this.columns);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n TemplateRef,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[mtx-grid-expansion-toggle]',\r\n})\r\nexport class MtxGridExpansionToggleDirective {\r\n private _opened = false;\r\n private _row: any;\r\n private _tplRef: TemplateRef<any>;\r\n\r\n @Input()\r\n get opened() {\r\n return this._opened;\r\n }\r\n set opened(newValue: boolean) {\r\n this._opened = newValue;\r\n this.openedChange.emit(newValue);\r\n }\r\n @Output() openedChange = new EventEmitter<boolean>();\r\n\r\n @HostBinding('class.expanded')\r\n get expanded(): boolean {\r\n return this._opened;\r\n }\r\n\r\n @Input()\r\n set expandableRow(value: any) {\r\n if (value !== this._row) {\r\n this._row = value;\r\n }\r\n }\r\n\r\n @Input('expansionRowTpl')\r\n set template(value: TemplateRef<any>) {\r\n if (value !== this._tplRef) {\r\n this._tplRef = value;\r\n }\r\n }\r\n\r\n @Output() toggleChange = new EventEmitter<MtxGridExpansionToggleDirective>();\r\n\r\n constructor() {}\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n }\r\n\r\n toggle(): void {\r\n this.opened = !this.opened;\r\n this.toggleChange.emit(this);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { MtxGridComponent } from './grid.component';\r\n\r\n@Directive({\r\n selector: '[mtx-grid-selectable-cell]',\r\n})\r\nexport class MtxGridCellSelectionDirective {\r\n private _selected = false;\r\n private _rowData: any;\r\n\r\n shiftKeyPressed = false;\r\n ctrlKeyPressed = false;\r\n\r\n @HostBinding('class.selected')\r\n get selected(): boolean {\r\n return this._selected;\r\n }\r\n\r\n @Input()\r\n set matSelectableRowData(value: any) {\r\n if (value !== this._rowData) {\r\n this._rowData = value;\r\n }\r\n }\r\n\r\n @Output() cellSelectionChange = new EventEmitter<MtxGridCellSelectionDirective>();\r\n\r\n constructor(private _dataGrid: MtxGridComponent) { }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n this.ctrlKeyPressed = event.ctrlKey;\r\n this.shiftKeyPressed = event.shiftKey;\r\n\r\n if (this._dataGrid.cellSelectable) {\r\n this.select();\r\n }\r\n }\r\n\r\n select(): void {\r\n this._selected = true;\r\n this.cellSelectionChange.emit(this);\r\n }\r\n\r\n deselect(): void {\r\n this._selected = false;\r\n this.cellSelectionChange.emit(this);\r\n }\r\n\r\n toggle(): void {\r\n this._selected = !this._selected;\r\n this.cellSelectionChange.emit(this);\r\n }\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Inject, Injectable, Provider } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CdkTable, _CoalescedStyleScheduler, _COALESCED_STYLE_SCHEDULER } from '@angular/cdk/table';\n\nimport {\n ColumnResize,\n ResizeStrategy,\n CdkFlexTableResizeStrategy,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n} from '@ng-matero/extensions/column-resize';\n\nexport { TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER };\n\n/**\n * Overrides CdkFlexTableResizeStrategy to match mat-column elements.\n */\n@Injectable()\nexport class MatFlexTableResizeStrategy extends CdkFlexTableResizeStrategy {\n constructor(\n columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER) styleScheduler: _CoalescedStyleScheduler,\n table: CdkTable<unknown>,\n @Inject(DOCUMENT) document: any\n ) {\n super(columnResize, styleScheduler, table, document);\n }\n\n protected getColumnCssClass(cssFriendlyColumnName: string): string {\n return `mat-column-${cssFriendlyColumnName}`;\n }\n}\n\nexport const FLEX_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: MatFlexTableResizeStrategy,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Provider } from '@angular/core';\n\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport {\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n FLEX_RESIZE_STRATEGY_PROVIDER,\n} from '../resize-strategy';\n\nconst PROVIDERS: Provider[] = [\n ColumnResizeNotifier,\n HeaderRowEventDispatcher,\n ColumnResizeNotifierSource,\n];\nexport const TABLE_PROVIDERS: Provider[] = [\n ...PROVIDERS,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n];\nexport const FLEX_PROVIDERS: Provider[] = [...PROVIDERS, FLEX_RESIZE_STRATEGY_PROVIDER];\n\nexport const TABLE_HOST_BINDINGS = {\n class: 'mat-column-resize-table',\n};\nexport const FLEX_HOST_BINDINGS = {\n class: 'mat-column-resize-flex',\n};\n\nexport abstract class AbstractMatColumnResize extends ColumnResize {\n getTableHeight() {\n return this.elementRef.nativeElement!.offsetHeight;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, TABLE_HOST_BINDINGS, TABLE_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a table-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'table[mat-table][columnResize]',\n host: TABLE_HOST_BINDINGS,\n providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResize }],\n})\nexport class MatColumnResize extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, FLEX_HOST_BINDINGS, FLEX_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a flexbox-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'mat-table[columnResize]',\n host: FLEX_HOST_BINDINGS,\n providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResizeFlex }],\n})\nexport class MatColumnResizeFlex extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeOverlayHandle,\n ResizeRef,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize } from './column-resize-directives/common';\n\n/**\n * Component shown over the edge of a resizable column that is responsible\n * for handling column resize mouse events and displaying a vertical line along the column edge.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'mat-column-resize-overlay-thumb' },\n template: '',\n})\nexport class MatColumnResizeOverlayHandle extends ResizeOverlayHandle {\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeRef: ResizeRef,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n @Inject(DOCUMENT) document: any\n ) {\n super();\n this.document = document;\n }\n\n protected updateResizeActive(active: boolean): void {\n super.updateResizeActive(active);\n\n this.resizeRef.overlayRef.updateSize({\n height: active\n ? (this.columnResize as AbstractMatColumnResize).getTableHeight()\n : this.resizeRef.origin.nativeElement!.offsetHeight,\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Type } from '@angular/core';\nimport { Resizable } from '@ng-matero/extensions/column-resize';\nimport { MatColumnResizeOverlayHandle } from '../overlay-handle';\n\nexport abstract class AbstractMatResizable extends Resizable<MatColumnResizeOverlayHandle> {\n minWidthPxInternal = 32;\n\n protected getInlineHandleCssClassName(): string {\n return 'mat-resizable-handle';\n }\n\n protected getOverlayHandleComponentType(): Type<MatColumnResizeOverlayHandle> {\n return MatColumnResizeOverlayHandle;\n }\n}\n\nexport const RESIZABLE_HOST_BINDINGS = {\n class: 'mat-resizable',\n};\n\nexport const RESIZABLE_INPUTS = [\n 'minWidthPx: matResizableMinWidthPx',\n 'maxWidthPx: matResizableMaxWidthPx',\n];\n","import {\n Directive,\n ElementRef,\n Inject,\n Injector,\n NgZone,\n ViewContainerRef,\n ChangeDetectorRef,\n Input,\n HostBinding,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeStrategy,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatResizable, RESIZABLE_HOST_BINDINGS, RESIZABLE_INPUTS } from './common';\n\n/**\n * Explicitly enables column resizing for a mat-header-cell.\n */\n@Directive({\n selector: 'mat-header-cell[resizable], th[mat-header-cell][resizable]',\n inputs: RESIZABLE_INPUTS,\n})\nexport class MatResizable extends AbstractMatResizable {\n isResizable = true;\n\n @HostBinding('class') get hasResizableClass() {\n return this.isResizable ? RESIZABLE_HOST_BINDINGS.class : '';\n }\n\n @Input()\n get resizable() {\n return this.isResizable;\n }\n set resizable(newValue: any) {\n this.isResizable = newValue == null || newValue === '' || newValue;\n }\n\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n @Inject(DOCUMENT) document: any,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly injector: Injector,\n protected readonly ngZone: NgZone,\n protected readonly overlay: Overlay,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeStrategy: ResizeStrategy,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly viewContainerRef: ViewContainerRef,\n protected readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n this.document = document;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { MatColumnResize } from './column-resize-directives/column-resize';\nimport { MatColumnResizeFlex } from './column-resize-directives/column-resize-flex';\nimport { MatResizable } from './resizable-directives/resizable';\nimport { MatColumnResizeOverlayHandle } from './overlay-handle';\n\nconst ENTRY_COMMON_COMPONENTS = [MatColumnResizeOverlayHandle];\n\n@NgModule({\n declarations: ENTRY_COMMON_COMPONENTS,\n exports: ENTRY_COMMON_COMPONENTS,\n entryComponents: ENTRY_COMMON_COMPONENTS,\n})\nexport class MatColumnResizeCommonModule {}\n\nconst IMPORTS = [OverlayModule, MatColumnResizeCommonModule];\n\n@NgModule({\n imports: IMPORTS,\n declarations: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n exports: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n})\nexport class MatColumnResizeModule {}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n\r\nimport { MtxUtilsModule } from '@ng-matero/extensions/utils';\r\nimport { MtxDialogModule } from '@ng-matero/extensions/dialog';\r\nimport { MtxGridComponent } from './grid.component';\r\nimport { MtxGridCellComponent } from './cell.component';\r\nimport { MtxGridColumnMenuComponent } from './column-menu.component';\r\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\r\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\r\nimport { MtxGridService } from './grid.service';\r\nimport { MatColumnResizeModule } from './column-resize/column-resize-module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatProgressBarModule,\r\n MatChipsModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n MatMenuModule,\r\n DragDropModule,\r\n MtxDialogModule,\r\n MtxUtilsModule,\r\n MatColumnResizeModule,\r\n ],\r\n exports: [\r\n MtxGridComponent,\r\n MtxGridCellComponent,\r\n MtxGridColumnMenuComponent,\r\n MtxGridExpansionToggleDirective,\r\n MtxGridCellSelectionDirective,\r\n MatColumnResizeModule,\r\n ],\r\n declarations: [\r\n MtxGridComponent,\r\n MtxGridCellComponent,\r\n MtxGridColumnMenuComponent,\r\n MtxGridExpansionToggleDirective,\r\n MtxGridCellSelectionDirective,\r\n ],\r\n providers: [MtxGridService],\r\n})\r\nexport class MtxGridModule {}\r\n","import { TemplateRef } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\r\nimport { Observable } from 'rxjs';\r\n\r\n/** Column definition of grid. */\r\nexport interface MtxGridColumn {\r\n field: string;\r\n header?: string | Observable<string>;\r\n hide?: boolean;\r\n disabled?: boolean;\r\n pinned?: 'left' | 'right';\r\n left?: string;\r\n right?: string;\r\n width?: string;\r\n resizable?: boolean;\r\n minWidth?: number;\r\n maxWidth?: number;\r\n sortable?: boolean | string;\r\n sortProp?: MtxGridColumnSortProp;\r\n type?: MtxGridColumnType;\r\n typeParameter?: MtxGridColumnTypeParameter;\r\n tag?: MtxGridColumnTag;\r\n buttons?: MtxGridColumnButton[];\r\n formatter?: (rowData: any, colDef?: MtxGridColumn) => void;\r\n cellTemplate?: TemplateRef<any> | null;\r\n showExpand?: boolean;\r\n description?: string;\r\n summary?: ((data: any[], colDef?: MtxGridColumn) => void) | string;\r\n class?: string;\r\n}\r\n\r\n/** Possible column type values. */\r\nexport declare type MtxGridColumnType =\r\n | 'tag'\r\n | 'button'\r\n | 'link'\r\n | 'image'\r\n | 'boolean'\r\n | 'number'\r\n | 'currency'\r\n | 'percent'\r\n | 'date';\r\n\r\n/** Column type parameter. */\r\nexport interface MtxGridColumnTypeParameter {\r\n currencyCode?: string;\r\n display?: string | boolean;\r\n digitsInfo?: string;\r\n format?: string;\r\n locale?: string;\r\n timezone?: string;\r\n}\r\n\r\n/** The properties of column sort. */\r\nexport interface MtxGridColumnSortProp {\r\n arrowPosition?: 'before' | 'after';\r\n disableClear?: boolean;\r\n id?: string;\r\n start?: 'asc' | 'desc';\r\n}\r\n\r\n/** Column tag of grid. */\r\nexport interface MtxGridColumnTag {\r\n [key: number]: MtxGridColumnTagValue;\r\n [key: string]: MtxGridColumnTagValue;\r\n}\r\n\r\n/** The properties of column tag. */\r\nexport interface MtxGridColumnTagValue {\r\n text?: string;\r\n color?: string;\r\n}\r\n\r\n/** The properties of column button. */\r\nexport interface MtxGridColumnButton {\r\n type?: 'basic' | 'icon';\r\n text?: string | Observable<string>;\r\n icon?: string;\r\n color?: ThemePalette;\r\n class?: string;\r\n click?: (record: any) => void;\r\n pop?: boolean;\r\n popTitle?: string | Observable<string>;\r\n popDescription?: string | Observable<string>;\r\n popOkColor?: ThemePalette;\r\n popOkText?: string | Observable<string>;\r\n popCloseColor?: ThemePalette;\r\n popCloseText?: string | Observable<string>;\r\n children?: MtxGridColumnButton[];\r\n iif?: (record: any) => boolean;\r\n tooltip?: string | Observable<string>;\r\n disabled?: boolean;\r\n}\r\n\r\n/** The properties of column selection item. */\r\nexport interface MtxGridColumnSelectionItem {\r\n label: string | Observable<string>;\r\n field: string;\r\n show?: boolean;\r\n hide?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\n/** Cell template. */\r\nexport interface MtxGridCellTemplate {\r\n [key: string]: TemplateRef<any>;\r\n}\r\n\r\n/** Row selection formatter. */\r\nexport interface MtxGridRowSelectionFormatter {\r\n disabled?: (rowData: any, index?: number) => boolean;\r\n hideCheckbox?: (rowData: any, index?: number) => boolean;\r\n}\r\n\r\n/** Row class formatter. */\r\nexport interface MtxGridRowClassFormatter {\r\n [className: string]: (rowData: any, index?: number) => boolean;\r\n}\r\n\r\n/** Column menu. */\r\nexport interface MtxGridColumnMenu {\r\n menuPanel: MatMenu;\r\n menuTrigger: MatMenuTrigger;\r\n}\r\n\r\n/** Possible button type values. */\r\nexport type MtxGridButtonType = 'raised' | 'stroked' | 'flat' | 'icon' | 'fab' | 'mini-fab';\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mtxGrid.js","sources":["../../../projects/extensions/data-grid/grid.service.ts","../../../projects/extensions/data-grid/grid.component.ts","../../../projects/extensions/data-grid/cell.component.ts","../../../projects/extensions/data-grid/column-menu.component.ts","../../../projects/extensions/data-grid/expansion-toggle.directive.ts","../../../projects/extensions/data-grid/cell-selection.directive.ts","../../../projects/extensions/data-grid/column-resize/resize-strategy.ts","../../../projects/extensions/data-grid/column-resize/column-resize-directives/common.ts","../../../projects/extensions/data-grid/column-resize/column-resize-directives/column-resize.ts","../../../projects/extensions/data-grid/column-resize/column-resize-directives/column-resize-flex.ts","../../../projects/extensions/data-grid/column-resize/overlay-handle.ts","../../../projects/extensions/data-grid/column-resize/resizable-directives/common.ts","../../../projects/extensions/data-grid/column-resize/resizable-directives/resizable.ts","../../../projects/extensions/data-grid/column-resize/column-resize-module.ts","../../../projects/extensions/data-grid/grid.module.ts","../../../projects/extensions/data-grid/grid.interface.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { MtxGridColumn } from './grid.interface';\r\n\r\n@Injectable()\r\nexport class MtxGridService {\r\n constructor() {}\r\n\r\n /**\r\n * Get cell value from column key e.g. `a.b.c`\r\n * @param rowData Row data\r\n * @param colDef Column definition\r\n */\r\n getCellValue(rowData: any, colDef: MtxGridColumn): string {\r\n const keyArr = colDef.field ? colDef.field.split('.') : [];\r\n\r\n let tmp: any = '';\r\n\r\n keyArr.forEach((key: string, i: number) => {\r\n if (i === 0) {\r\n tmp = rowData[key];\r\n } else {\r\n tmp = tmp && tmp[key];\r\n }\r\n });\r\n return tmp;\r\n }\r\n\r\n /**\r\n * Get all data of a col\r\n * @param data All data\r\n * @param colDef Column definition\r\n */\r\n getColData(data: any[], colDef: MtxGridColumn): any[] {\r\n return data.map((rowData: any) => this.getCellValue(rowData, colDef));\r\n }\r\n\r\n /**\r\n * Remove white spaces in a string and convert string to array\r\n * @param str string\r\n */\r\n str2arr(str: string): string[] {\r\n return str.replace(/[\\r\\n\\s]/g, '').split(',');\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ViewChild,\r\n OnChanges,\r\n TemplateRef,\r\n TrackByFunction,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n ElementRef,\r\n SimpleChanges,\r\n} from '@angular/core';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\r\nimport { Sort, MatSort, SortDirection } from '@angular/material/sort';\r\n\r\nimport {\r\n MtxGridColumn,\r\n MtxGridColumnSelectionItem,\r\n MtxGridCellTemplate,\r\n MtxGridRowSelectionFormatter,\r\n MtxGridRowClassFormatter,\r\n MtxGridColumnMenu,\r\n MtxGridButtonType,\r\n} from './grid.interface';\r\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\r\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\r\nimport { MtxGridService } from './grid.service';\r\nimport { isObservable } from 'rxjs';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n@Component({\r\n selector: 'mtx-grid',\r\n exportAs: 'mtxGrid',\r\n templateUrl: './grid.component.html',\r\n styleUrls: ['./grid.component.scss'],\r\n host: {\r\n class: 'mtx-grid',\r\n },\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [\r\n trigger('expansion', [\r\n state('collapsed, void', style({ height: '0', minHeight: '0', visibility: 'hidden' })),\r\n state('expanded', style({ height: '*', visibility: 'visible' })),\r\n transition('expanded <=> collapsed', animate('225ms cubic-bezier(0.4, 0.0, 0.2, 1)')),\r\n ]),\r\n ],\r\n})\r\nexport class MtxGridComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\r\n @ViewChild(MatPaginator) paginator: MatPaginator;\r\n @ViewChild(MatSort) sort: MatSort;\r\n @ViewChild('columnMenu') columnMenu: MtxGridColumnMenu;\r\n @ViewChild('tableContainer') tableContainer: ElementRef<HTMLDivElement>;\r\n\r\n dataSource = new MatTableDataSource();\r\n\r\n @Input() displayedColumns: string[];\r\n @Input() columns: MtxGridColumn[] = [];\r\n @Input() data: any[] = [];\r\n @Input() length = 0;\r\n @Input() loading = false;\r\n\r\n @Input() trackBy: TrackByFunction<any>;\r\n\r\n @Input() columnResizable = false;\r\n\r\n // Page\r\n\r\n @Input() pageOnFront = true;\r\n @Input() showPaginator = true;\r\n @Input() pageDisabled = false;\r\n @Input() showFirstLastButtons = true;\r\n @Input() pageIndex = 0;\r\n @Input() pageSize = 10;\r\n @Input() pageSizeOptions = [10, 50, 100];\r\n @Input() hidePageSize = false;\r\n @Output() page = new EventEmitter<PageEvent>();\r\n\r\n // Sort\r\n\r\n @Input() sortOnFront = true;\r\n @Input() sortActive: string;\r\n @Input() sortDirection: SortDirection;\r\n @Input() sortDisableClear: boolean = false;\r\n @Input() sortDisabled: boolean = false;\r\n @Input() sortStart: 'asc' | 'desc' = 'asc';\r\n @Output() sortChange = new EventEmitter<Sort>();\r\n\r\n // Row\r\n\r\n @Input() rowHover = false;\r\n @Input() rowStriped = false;\r\n @Output() rowClick = new EventEmitter<any>();\r\n\r\n // Expansion\r\n\r\n expansionRowStates: any[] = [];\r\n\r\n @Input() expandable = false;\r\n @Input() expansionTemplate: TemplateRef<any>;\r\n @Output() expansionChange = new EventEmitter<any>();\r\n\r\n /** Whether support multiple row/cell selection */\r\n @Input() multiSelectable = true;\r\n\r\n // Row selection\r\n\r\n rowSelection: SelectionModel<any> = new SelectionModel<any>(true, []);\r\n\r\n @Input() rowSelected = [];\r\n @Input() rowSelectable = false;\r\n @Input() hideRowSelectionCheckbox = false;\r\n @Input() rowSelectionFormatter: MtxGridRowSelectionFormatter = {};\r\n @Input() rowClassFormatter: MtxGridRowClassFormatter;\r\n @Output() rowSelectionChange = new EventEmitter<any[]>();\r\n\r\n // Cell selection\r\n\r\n cellSelection: any[] = [];\r\n\r\n @Input() cellSelectable = true;\r\n @Output() cellSelectionChange = new EventEmitter<any[]>();\r\n\r\n private _selectedCell: MtxGridCellSelectionDirective | undefined;\r\n\r\n // Toolbar\r\n\r\n @Input() showToolbar = false;\r\n @Input() toolbarTitle = '';\r\n @Input() toolbarTemplate: TemplateRef<any>;\r\n\r\n // Column menu\r\n\r\n columnMenuData: MtxGridColumnSelectionItem[] = [];\r\n\r\n @Input() showColumnMenuButton = true;\r\n @Input() columnMenuButtonText = '';\r\n @Input() columnMenuButtonType: MtxGridButtonType = 'stroked';\r\n @Input() columnMenuButtonColor: ThemePalette;\r\n @Input() columnMenuButtonClass = '';\r\n @Input() columnMenuButtonIcon = '';\r\n\r\n @Input() columnHideable = true;\r\n @Input() columnHideableChecked: 'show' | 'hide' = 'show';\r\n @Input() columnMovable = true;\r\n @Input() columnPinnable = true;\r\n @Output() columnChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\r\n\r\n @Input() showColumnMenuHeader = false;\r\n @Input() columnMenuHeaderText = 'Columns Header';\r\n @Input() columnMenuHeaderTemplate: TemplateRef<any>;\r\n @Input() showColumnMenuFooter = false;\r\n @Input() columnMenuFooterText = 'Columns Footer';\r\n @Input() columnMenuFooterTemplate: TemplateRef<any>;\r\n\r\n // No Result\r\n\r\n @Input() noResultText = 'No records found';\r\n @Input() noResultTemplate: TemplateRef<any>;\r\n\r\n get _hasNoResult() {\r\n return (!this.data || this.data.length === 0) && !this.loading;\r\n }\r\n\r\n // Cell templates\r\n\r\n @Input() headerTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n @Input() headerExtraTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n\r\n @Input() cellTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n\r\n // Summary\r\n\r\n @Input() showSummary = false;\r\n @Input() summaryTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n\r\n // TODO: Summary display conditions\r\n get _whetherShowSummary() {\r\n return this.showSummary;\r\n }\r\n\r\n // Sidebar\r\n\r\n @Input() showSidebar = false;\r\n @Input() sidebarTemplate: TemplateRef<any>;\r\n\r\n constructor(\r\n private _dataGridSrv: MtxGridService,\r\n private _changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n detectChanges() {\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n\r\n _isTemplateRef(obj: any) {\r\n return obj instanceof TemplateRef;\r\n }\r\n\r\n _isObservable(data: any) {\r\n return isObservable(data);\r\n }\r\n\r\n _getColData(data: any[], colDef: MtxGridColumn) {\r\n return this._dataGridSrv.getColData(data, colDef);\r\n }\r\n\r\n _getRowClassList(rowData: any, index: number) {\r\n const classList: any = {\r\n 'selected': this.rowSelection.isSelected(rowData),\r\n 'mat-row-odd': index % 2,\r\n };\r\n if (this.rowClassFormatter) {\r\n for (const key of Object.keys(this.rowClassFormatter)) {\r\n classList[key] = this.rowClassFormatter[key](rowData, index);\r\n }\r\n }\r\n return classList;\r\n }\r\n\r\n ngOnInit() {}\r\n\r\n // Waiting for async data\r\n ngOnChanges(changes: SimpleChanges) {\r\n this._countPinnedPosition();\r\n\r\n this.displayedColumns = this.columns.filter(item => !item.hide).map(item => item.field);\r\n\r\n if (this.showColumnMenuButton) {\r\n this.columnMenuData = (this.columns as any[]).map(item => {\r\n const newItem: MtxGridColumnSelectionItem = {\r\n label: item.header,\r\n field: item.field,\r\n disabled: item.disabled,\r\n };\r\n if (this.columnHideableChecked === 'show') {\r\n newItem.show = !item.hide;\r\n } else {\r\n newItem.hide = item.hide;\r\n }\r\n return newItem;\r\n });\r\n }\r\n\r\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\r\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\r\n }\r\n\r\n // We should copy each item of data for expansion data\r\n if (this.expandable) {\r\n this.expansionRowStates = []; // reset\r\n\r\n this.data?.forEach(_ => {\r\n this.expansionRowStates.push({ expanded: false });\r\n });\r\n }\r\n\r\n if (this.rowSelectable) {\r\n this.rowSelection = new SelectionModel<any>(this.multiSelectable, this.rowSelected);\r\n }\r\n\r\n this.dataSource = new MatTableDataSource(this.data);\r\n\r\n this.dataSource.paginator = this.pageOnFront ? this.paginator : null;\r\n this.dataSource.sort = this.sortOnFront ? this.sort : null;\r\n\r\n // Only scroll top when data change\r\n if (changes.data) {\r\n this.scrollTop(0);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.pageOnFront) {\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n if (this.sortOnFront) {\r\n this.dataSource.sort = this.sort;\r\n }\r\n }\r\n\r\n ngOnDestroy() {}\r\n\r\n _countPinnedPosition() {\r\n const count = (acc: number, cur: MtxGridColumn) => acc + parseFloat(cur.width || '80px');\r\n\r\n const pinnedLeftCols = this.columns.filter(col => col.pinned && col.pinned === 'left');\r\n pinnedLeftCols.forEach((item, idx) => {\r\n item.left = pinnedLeftCols.slice(0, idx).reduce(count, 0) + 'px';\r\n });\r\n\r\n const pinnedRightCols = this.columns\r\n .filter(col => col.pinned && col.pinned === 'right')\r\n .reverse();\r\n pinnedRightCols.forEach((item, idx) => {\r\n item.right = pinnedRightCols.slice(0, idx).reduce(count, 0) + 'px';\r\n });\r\n }\r\n\r\n _getIndex(index: number, dataIndex: number) {\r\n return typeof index === 'undefined' ? dataIndex : index;\r\n }\r\n\r\n _handleSortChange(sort: Sort) {\r\n this.sortChange.emit(sort);\r\n }\r\n\r\n /** Expansion change event */\r\n _handleExpansionChange(\r\n expansionRef: MtxGridExpansionToggleDirective,\r\n rowData: any,\r\n column: any,\r\n index: number\r\n ) {\r\n this.expansionChange.emit({ expanded: expansionRef.expanded, data: rowData, index, column });\r\n }\r\n\r\n /** Cell select event */\r\n _selectCell(cellRef: MtxGridCellSelectionDirective, rowData: any, colDef: any): void {\r\n // If not the same cell\r\n if (this._selectedCell !== cellRef) {\r\n const colValue = this._dataGridSrv.getCellValue(rowData, colDef);\r\n this.cellSelection = []; // reset\r\n this.cellSelection.push({ cellData: colValue, rowData, colDef });\r\n\r\n this.cellSelectionChange.emit(this.cellSelection);\r\n\r\n if (this._selectedCell) {\r\n this._selectedCell.deselect(); // the selectedCell will be undefined\r\n }\r\n }\r\n\r\n this._selectedCell = cellRef.selected ? cellRef : undefined;\r\n }\r\n\r\n /** Row select event */\r\n _selectRow(event: MouseEvent, rowData: any, index: number) {\r\n if (\r\n this.rowSelectable &&\r\n !this.rowSelectionFormatter.disabled?.(rowData, index) &&\r\n !this.rowSelectionFormatter.hideCheckbox?.(rowData, index)\r\n ) {\r\n // metaKey -> command key\r\n if (!event.ctrlKey && !event.metaKey) {\r\n this.rowSelection.clear();\r\n }\r\n\r\n this._toggleNormalCheckbox(rowData);\r\n }\r\n\r\n this.rowClick.emit({ rowData, index });\r\n }\r\n\r\n /** Whether the number of selected elements matches the total number of rows. */\r\n _isAllSelected() {\r\n const numSelected = this.rowSelection.selected.length;\r\n const numRows = this.dataSource.data.filter(\r\n (row, index) => !this.rowSelectionFormatter.disabled?.(row, index)\r\n ).length;\r\n return numSelected === numRows;\r\n }\r\n\r\n /** Select all rows if they are not all selected; otherwise clear selection. */\r\n _toggleMasterCheckbox() {\r\n this._isAllSelected()\r\n ? this.rowSelection.clear()\r\n : this.dataSource.data.forEach((row, index) => {\r\n if (!this.rowSelectionFormatter.disabled?.(row, index)) {\r\n this.rowSelection.select(row);\r\n }\r\n });\r\n this.rowSelectionChange.emit(this.rowSelection.selected);\r\n }\r\n\r\n /** Select normal row */\r\n _toggleNormalCheckbox(row: any) {\r\n this.rowSelection.toggle(row);\r\n this.rowSelectionChange.emit(this.rowSelection.selected);\r\n }\r\n\r\n /** Column change event */\r\n\r\n _handleColumnChange(columns: any[]) {\r\n this.columnChange.emit(columns);\r\n\r\n this.displayedColumns = Object.assign([], this.getDisplayedColumnFields(columns));\r\n\r\n if (this.rowSelectable && !this.hideRowSelectionCheckbox) {\r\n this.displayedColumns.unshift('MtxGridCheckboxColumnDef');\r\n }\r\n }\r\n\r\n getDisplayedColumnFields(columns: any[]): string[] {\r\n const fields = columns\r\n .filter((item: MtxGridColumnSelectionItem) =>\r\n this.columnHideableChecked === 'show' ? item.show : !item.hide\r\n )\r\n .map((item: MtxGridColumnSelectionItem) => item.field);\r\n return fields;\r\n }\r\n\r\n /** Customize expansion event */\r\n toggleExpansion(index: number) {\r\n if (!this.expandable) {\r\n throw new Error('The `expandable` should be set true.');\r\n }\r\n this.expansionRowStates[index].expanded = !this.expansionRowStates[index].expanded;\r\n return this.expansionRowStates[index].expanded;\r\n }\r\n\r\n /** Scroll to top when turn to the next page */\r\n _handlePage(e: PageEvent) {\r\n if (this.pageOnFront) {\r\n this.scrollTop(0);\r\n }\r\n this.page.emit(e);\r\n }\r\n\r\n scrollTop(value?: number): number | void {\r\n if (value == null) {\r\n return this.tableContainer?.nativeElement.scrollTop;\r\n }\r\n if (this.tableContainer && !this.loading) {\r\n this.tableContainer.nativeElement.scrollTop = value;\r\n }\r\n }\r\n\r\n scrollLeft(value?: number): number | void {\r\n if (value == null) {\r\n return this.tableContainer?.nativeElement.scrollLeft;\r\n }\r\n if (this.tableContainer && !this.loading) {\r\n this.tableContainer.nativeElement.scrollLeft = value;\r\n }\r\n }\r\n}\r\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { MtxDialog } from '@ng-matero/extensions/dialog';\r\n\r\nimport { MtxGridColumn, MtxGridColumnButton } from './grid.interface';\r\nimport { MtxGridService } from './grid.service';\r\nimport PhotoViewer from 'photoviewer';\r\nimport { ThemePalette } from '@angular/material/core';\r\n\r\n@Component({\r\n selector: 'mtx-grid-cell',\r\n exportAs: 'mtxGridCell',\r\n templateUrl: './cell.component.html',\r\n styleUrls: ['./cell.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class MtxGridCellComponent {\r\n /** Row data */\r\n @Input() rowData = {};\r\n\r\n /** Column definition */\r\n @Input() colDef: MtxGridColumn;\r\n\r\n /** All data */\r\n @Input() data: any[] = [];\r\n\r\n /** Whether show summary */\r\n @Input() summary = false;\r\n\r\n get _colValue() {\r\n return this._dataGridSrv.getCellValue(this.rowData, this.colDef);\r\n }\r\n\r\n _isEmptyValue(value: any) {\r\n return value == null || value.toString() === '';\r\n }\r\n\r\n _isContainHTML(value: string) {\r\n return /<\\/?[a-z][\\s\\S]*>/i.test(value);\r\n }\r\n\r\n _getText(value: any) {\r\n return value === undefined ? '' : this._isEmptyValue(value) ? '--' : value;\r\n }\r\n\r\n _getTooltip(value: any) {\r\n return this._isEmptyValue(value) ? '' : value;\r\n }\r\n\r\n _getFormatterTooltip(value: any) {\r\n return this._isContainHTML(value) || this._isEmptyValue(value) ? '' : value;\r\n }\r\n\r\n _formatSummary(data: any[], colDef: MtxGridColumn) {\r\n if (typeof colDef.summary === 'string') {\r\n return colDef.summary;\r\n } else if (typeof colDef.summary === 'function') {\r\n return (colDef.summary as (data: any[], colDef?: MtxGridColumn) => void)(\r\n this._dataGridSrv.getColData(data, colDef),\r\n colDef\r\n );\r\n }\r\n }\r\n\r\n constructor(private _dialog: MtxDialog, private _dataGridSrv: MtxGridService) {}\r\n\r\n _handleActionClick(event: MouseEvent, btn: MtxGridColumnButton, rowData: any) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (btn.pop) {\r\n this._dialog.open({\r\n title: btn.popTitle,\r\n description: btn.popDescription,\r\n buttons: [\r\n {\r\n color: btn.popOkColor || 'primary',\r\n text: btn.popOkText || 'OK',\r\n onClick: () => (btn.click ? btn.click(rowData) : {}),\r\n },\r\n {\r\n color: btn.popCloseColor,\r\n text: btn.popCloseText || 'CLOSE',\r\n onClick: () => {},\r\n },\r\n ],\r\n });\r\n } else {\r\n btn.click?.(rowData);\r\n }\r\n }\r\n\r\n /** Preview enlarged image */\r\n _handleImagePreview(urlStr: string) {\r\n const imgs: PhotoViewer.Img[] = [];\r\n\r\n this._dataGridSrv.str2arr(urlStr).forEach((url, index) => {\r\n imgs.push({ title: index + 1 + '', src: url });\r\n });\r\n\r\n const footerToolbar =\r\n imgs.length > 1\r\n ? ['zoomIn', 'zoomOut', 'prev', 'next', 'rotateRight', 'rotateLeft', 'actualSize']\r\n : ['zoomIn', 'zoomOut', 'rotateRight', 'rotateLeft', 'actualSize'];\r\n\r\n const options: PhotoViewer.Options = {\r\n title: imgs.length > 1,\r\n footerToolbar,\r\n };\r\n\r\n const photoviewer = new PhotoViewer(imgs, options);\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n Output,\r\n EventEmitter,\r\n TemplateRef,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MtxGridButtonType, MtxGridColumnSelectionItem } from './grid.interface';\r\n\r\n@Component({\r\n selector: 'mtx-grid-column-menu',\r\n exportAs: 'mtxGridColumnMenu',\r\n templateUrl: './column-menu.component.html',\r\n styleUrls: ['./column-menu.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MtxGridColumnMenuComponent {\r\n @ViewChild('menu', { static: true }) menuPanel: MatMenu;\r\n @ViewChild(MatMenuTrigger) menuTrigger: MatMenuTrigger;\r\n\r\n @Input() columns: MtxGridColumnSelectionItem[] = [];\r\n @Input() selectable = true;\r\n @Input() selectableChecked: 'show' | 'hide' = 'show';\r\n @Input() sortable = true;\r\n @Input() dndSortable = true;\r\n\r\n @Input()\r\n get buttonText() {\r\n const defaultText = `Columns ${this.selectableChecked === 'show' ? 'Shown' : 'Hidden'}`;\r\n const text = this._buttonText ? this._buttonText : defaultText;\r\n return text;\r\n }\r\n set buttonText(value: string) {\r\n this._buttonText = value;\r\n }\r\n private _buttonText = '';\r\n\r\n @Input() buttonType: MtxGridButtonType = 'stroked';\r\n @Input() buttonColor: ThemePalette;\r\n @Input() buttonClass = '';\r\n @Input() buttonIcon = '';\r\n\r\n @Input() showHeader = false;\r\n @Input() headerText = 'Columns Header';\r\n @Input() headerTemplate: TemplateRef<any>;\r\n @Input() showFooter = false;\r\n @Input() footerText = 'Columns Footer';\r\n @Input() footerTemplate: TemplateRef<any>;\r\n\r\n @Output() selectionChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\r\n @Output() sortChange = new EventEmitter<MtxGridColumnSelectionItem[]>();\r\n\r\n _handleDroped(event: CdkDragDrop<string[]>) {\r\n moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n this.sortChange.emit(this.columns);\r\n }\r\n\r\n _handleSelection(e: MatCheckboxChange) {\r\n this.selectionChange.emit(this.columns);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n TemplateRef,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[mtx-grid-expansion-toggle]',\r\n})\r\nexport class MtxGridExpansionToggleDirective {\r\n private _opened = false;\r\n private _row: any;\r\n private _tplRef: TemplateRef<any>;\r\n\r\n @Input()\r\n get opened() {\r\n return this._opened;\r\n }\r\n set opened(newValue: boolean) {\r\n this._opened = newValue;\r\n this.openedChange.emit(newValue);\r\n }\r\n @Output() openedChange = new EventEmitter<boolean>();\r\n\r\n @HostBinding('class.expanded')\r\n get expanded(): boolean {\r\n return this._opened;\r\n }\r\n\r\n @Input()\r\n set expandableRow(value: any) {\r\n if (value !== this._row) {\r\n this._row = value;\r\n }\r\n }\r\n\r\n @Input('expansionRowTpl')\r\n set template(value: TemplateRef<any>) {\r\n if (value !== this._tplRef) {\r\n this._tplRef = value;\r\n }\r\n }\r\n\r\n @Output() toggleChange = new EventEmitter<MtxGridExpansionToggleDirective>();\r\n\r\n constructor() {}\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n }\r\n\r\n toggle(): void {\r\n this.opened = !this.opened;\r\n this.toggleChange.emit(this);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { MtxGridComponent } from './grid.component';\r\n\r\n@Directive({\r\n selector: '[mtx-grid-selectable-cell]',\r\n})\r\nexport class MtxGridCellSelectionDirective {\r\n private _selected = false;\r\n private _rowData: any;\r\n\r\n shiftKeyPressed = false;\r\n ctrlKeyPressed = false;\r\n\r\n @HostBinding('class.selected')\r\n get selected(): boolean {\r\n return this._selected;\r\n }\r\n\r\n @Input()\r\n set matSelectableRowData(value: any) {\r\n if (value !== this._rowData) {\r\n this._rowData = value;\r\n }\r\n }\r\n\r\n @Output() cellSelectionChange = new EventEmitter<MtxGridCellSelectionDirective>();\r\n\r\n constructor(private _dataGrid: MtxGridComponent) { }\r\n\r\n @HostListener('click', ['$event'])\r\n onClick(event: MouseEvent): void {\r\n this.ctrlKeyPressed = event.ctrlKey;\r\n this.shiftKeyPressed = event.shiftKey;\r\n\r\n if (this._dataGrid.cellSelectable) {\r\n this.select();\r\n }\r\n }\r\n\r\n select(): void {\r\n this._selected = true;\r\n this.cellSelectionChange.emit(this);\r\n }\r\n\r\n deselect(): void {\r\n this._selected = false;\r\n this.cellSelectionChange.emit(this);\r\n }\r\n\r\n toggle(): void {\r\n this._selected = !this._selected;\r\n this.cellSelectionChange.emit(this);\r\n }\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Inject, Injectable, Provider } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CdkTable, _CoalescedStyleScheduler, _COALESCED_STYLE_SCHEDULER } from '@angular/cdk/table';\n\nimport {\n ColumnResize,\n ResizeStrategy,\n CdkFlexTableResizeStrategy,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n} from '@ng-matero/extensions/column-resize';\n\nexport { TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER };\n\n/**\n * Overrides CdkFlexTableResizeStrategy to match mat-column elements.\n */\n@Injectable()\nexport class MatFlexTableResizeStrategy extends CdkFlexTableResizeStrategy {\n constructor(\n columnResize: ColumnResize,\n @Inject(_COALESCED_STYLE_SCHEDULER) styleScheduler: _CoalescedStyleScheduler,\n table: CdkTable<unknown>,\n @Inject(DOCUMENT) document: any\n ) {\n super(columnResize, styleScheduler, table, document);\n }\n\n protected getColumnCssClass(cssFriendlyColumnName: string): string {\n return `mat-column-${cssFriendlyColumnName}`;\n }\n}\n\nexport const FLEX_RESIZE_STRATEGY_PROVIDER: Provider = {\n provide: ResizeStrategy,\n useClass: MatFlexTableResizeStrategy,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Provider } from '@angular/core';\n\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport {\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n FLEX_RESIZE_STRATEGY_PROVIDER,\n} from '../resize-strategy';\n\nconst PROVIDERS: Provider[] = [\n ColumnResizeNotifier,\n HeaderRowEventDispatcher,\n ColumnResizeNotifierSource,\n];\nexport const TABLE_PROVIDERS: Provider[] = [\n ...PROVIDERS,\n TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER,\n];\nexport const FLEX_PROVIDERS: Provider[] = [...PROVIDERS, FLEX_RESIZE_STRATEGY_PROVIDER];\n\nexport const TABLE_HOST_BINDINGS = {\n class: 'mat-column-resize-table',\n};\nexport const FLEX_HOST_BINDINGS = {\n class: 'mat-column-resize-flex',\n};\n\nexport abstract class AbstractMatColumnResize extends ColumnResize {\n getTableHeight() {\n return this.elementRef.nativeElement!.offsetHeight;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, TABLE_HOST_BINDINGS, TABLE_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a table-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'table[mat-table][columnResize]',\n host: TABLE_HOST_BINDINGS,\n providers: [...TABLE_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResize }],\n})\nexport class MatColumnResize extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Directive, ElementRef, NgZone } from '@angular/core';\nimport {\n ColumnResize,\n ColumnResizeNotifier,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize, FLEX_HOST_BINDINGS, FLEX_PROVIDERS } from './common';\n\n/**\n * Explicitly enables column resizing for a flexbox-based mat-table.\n * Individual columns must be annotated specifically.\n */\n@Directive({\n selector: 'mat-table[columnResize]',\n host: FLEX_HOST_BINDINGS,\n providers: [...FLEX_PROVIDERS, { provide: ColumnResize, useExisting: MatColumnResizeFlex }],\n})\nexport class MatColumnResizeFlex extends AbstractMatColumnResize {\n constructor(\n readonly columnResizeNotifier: ColumnResizeNotifier,\n readonly elementRef: ElementRef<HTMLElement>,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly notifier: ColumnResizeNotifierSource\n ) {\n super();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeOverlayHandle,\n ResizeRef,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatColumnResize } from './column-resize-directives/common';\n\n/**\n * Component shown over the edge of a resizable column that is responsible\n * for handling column resize mouse events and displaying a vertical line along the column edge.\n */\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'mat-column-resize-overlay-thumb' },\n template: '',\n})\nexport class MatColumnResizeOverlayHandle extends ResizeOverlayHandle {\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly ngZone: NgZone,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeRef: ResizeRef,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n @Inject(DOCUMENT) document: any\n ) {\n super();\n this.document = document;\n }\n\n protected updateResizeActive(active: boolean): void {\n super.updateResizeActive(active);\n\n this.resizeRef.overlayRef.updateSize({\n height: active\n ? (this.columnResize as AbstractMatColumnResize).getTableHeight()\n : this.resizeRef.origin.nativeElement!.offsetHeight,\n });\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { Type } from '@angular/core';\nimport { Resizable } from '@ng-matero/extensions/column-resize';\nimport { MatColumnResizeOverlayHandle } from '../overlay-handle';\n\nexport abstract class AbstractMatResizable extends Resizable<MatColumnResizeOverlayHandle> {\n minWidthPxInternal = 32;\n\n protected getInlineHandleCssClassName(): string {\n return 'mat-resizable-handle';\n }\n\n protected getOverlayHandleComponentType(): Type<MatColumnResizeOverlayHandle> {\n return MatColumnResizeOverlayHandle;\n }\n}\n\nexport const RESIZABLE_HOST_BINDINGS = {\n class: 'mat-resizable',\n};\n\nexport const RESIZABLE_INPUTS = [\n 'minWidthPx: matResizableMinWidthPx',\n 'maxWidthPx: matResizableMaxWidthPx',\n];\n","import {\n Directive,\n ElementRef,\n Inject,\n Injector,\n NgZone,\n ViewContainerRef,\n ChangeDetectorRef,\n Input,\n HostBinding,\n} from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n CdkColumnDef,\n _CoalescedStyleScheduler,\n _COALESCED_STYLE_SCHEDULER,\n} from '@angular/cdk/table';\nimport {\n ColumnResize,\n ColumnResizeNotifierSource,\n HeaderRowEventDispatcher,\n ResizeStrategy,\n} from '@ng-matero/extensions/column-resize';\n\nimport { AbstractMatResizable, RESIZABLE_HOST_BINDINGS, RESIZABLE_INPUTS } from './common';\n\n/**\n * Explicitly enables column resizing for a mat-header-cell.\n */\n@Directive({\n selector: 'mat-header-cell[resizable], th[mat-header-cell][resizable]',\n inputs: RESIZABLE_INPUTS,\n})\nexport class MatResizable extends AbstractMatResizable {\n isResizable = true;\n\n @HostBinding('class') get hasResizableClass() {\n return this.isResizable ? RESIZABLE_HOST_BINDINGS.class : '';\n }\n\n @Input()\n get resizable() {\n return this.isResizable;\n }\n set resizable(newValue: any) {\n this.isResizable = newValue == null || newValue === '' || newValue;\n }\n\n protected readonly document: Document;\n\n constructor(\n protected readonly columnDef: CdkColumnDef,\n protected readonly columnResize: ColumnResize,\n protected readonly directionality: Directionality,\n @Inject(DOCUMENT) document: any,\n protected readonly elementRef: ElementRef,\n protected readonly eventDispatcher: HeaderRowEventDispatcher,\n protected readonly injector: Injector,\n protected readonly ngZone: NgZone,\n protected readonly overlay: Overlay,\n protected readonly resizeNotifier: ColumnResizeNotifierSource,\n protected readonly resizeStrategy: ResizeStrategy,\n @Inject(_COALESCED_STYLE_SCHEDULER)\n protected readonly styleScheduler: _CoalescedStyleScheduler,\n protected readonly viewContainerRef: ViewContainerRef,\n protected readonly changeDetectorRef: ChangeDetectorRef\n ) {\n super();\n this.document = document;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nimport { MatColumnResize } from './column-resize-directives/column-resize';\nimport { MatColumnResizeFlex } from './column-resize-directives/column-resize-flex';\nimport { MatResizable } from './resizable-directives/resizable';\nimport { MatColumnResizeOverlayHandle } from './overlay-handle';\n\nconst ENTRY_COMMON_COMPONENTS = [MatColumnResizeOverlayHandle];\n\n@NgModule({\n declarations: ENTRY_COMMON_COMPONENTS,\n exports: ENTRY_COMMON_COMPONENTS,\n entryComponents: ENTRY_COMMON_COMPONENTS,\n})\nexport class MatColumnResizeCommonModule {}\n\nconst IMPORTS = [OverlayModule, MatColumnResizeCommonModule];\n\n@NgModule({\n imports: IMPORTS,\n declarations: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n exports: [MatColumnResize, MatColumnResizeFlex, MatResizable],\n})\nexport class MatColumnResizeModule {}\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n\r\nimport { MtxUtilsModule } from '@ng-matero/extensions/utils';\r\nimport { MtxDialogModule } from '@ng-matero/extensions/dialog';\r\nimport { MtxGridComponent } from './grid.component';\r\nimport { MtxGridCellComponent } from './cell.component';\r\nimport { MtxGridColumnMenuComponent } from './column-menu.component';\r\nimport { MtxGridExpansionToggleDirective } from './expansion-toggle.directive';\r\nimport { MtxGridCellSelectionDirective } from './cell-selection.directive';\r\nimport { MtxGridService } from './grid.service';\r\nimport { MatColumnResizeModule } from './column-resize/column-resize-module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatTableModule,\r\n MatSortModule,\r\n MatPaginatorModule,\r\n MatCheckboxModule,\r\n MatButtonModule,\r\n MatProgressBarModule,\r\n MatChipsModule,\r\n MatTooltipModule,\r\n MatIconModule,\r\n MatSelectModule,\r\n MatFormFieldModule,\r\n MatMenuModule,\r\n DragDropModule,\r\n MtxDialogModule,\r\n MtxUtilsModule,\r\n MatColumnResizeModule,\r\n ],\r\n exports: [\r\n MtxGridComponent,\r\n MtxGridCellComponent,\r\n MtxGridColumnMenuComponent,\r\n MtxGridExpansionToggleDirective,\r\n MtxGridCellSelectionDirective,\r\n MatColumnResizeModule,\r\n ],\r\n declarations: [\r\n MtxGridComponent,\r\n MtxGridCellComponent,\r\n MtxGridColumnMenuComponent,\r\n MtxGridExpansionToggleDirective,\r\n MtxGridCellSelectionDirective,\r\n ],\r\n providers: [MtxGridService],\r\n})\r\nexport class MtxGridModule {}\r\n","import { TemplateRef } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\r\nimport { Observable } from 'rxjs';\r\n\r\n/** Column definition of grid. */\r\nexport interface MtxGridColumn {\r\n field: string;\r\n header?: string | Observable<string>;\r\n hide?: boolean;\r\n disabled?: boolean;\r\n pinned?: 'left' | 'right';\r\n left?: string;\r\n right?: string;\r\n width?: string;\r\n resizable?: boolean;\r\n minWidth?: number;\r\n maxWidth?: number;\r\n sortable?: boolean | string;\r\n sortProp?: MtxGridColumnSortProp;\r\n type?: MtxGridColumnType;\r\n typeParameter?: MtxGridColumnTypeParameter;\r\n tag?: MtxGridColumnTag;\r\n buttons?: MtxGridColumnButton[];\r\n formatter?: (rowData: any, colDef?: MtxGridColumn) => void;\r\n cellTemplate?: TemplateRef<any> | null;\r\n showExpand?: boolean;\r\n description?: string;\r\n summary?: ((data: any[], colDef?: MtxGridColumn) => void) | string;\r\n class?: string;\r\n}\r\n\r\n/** Possible column type values. */\r\nexport declare type MtxGridColumnType =\r\n | 'tag'\r\n | 'button'\r\n | 'link'\r\n | 'image'\r\n | 'boolean'\r\n | 'number'\r\n | 'currency'\r\n | 'percent'\r\n | 'date';\r\n\r\n/** Column type parameter. */\r\nexport interface MtxGridColumnTypeParameter {\r\n currencyCode?: string;\r\n display?: string | boolean;\r\n digitsInfo?: string;\r\n format?: string;\r\n locale?: string;\r\n timezone?: string;\r\n}\r\n\r\n/** The properties of column sort. */\r\nexport interface MtxGridColumnSortProp {\r\n arrowPosition?: 'before' | 'after';\r\n disableClear?: boolean;\r\n id?: string;\r\n start?: 'asc' | 'desc';\r\n}\r\n\r\n/** Column tag of grid. */\r\nexport interface MtxGridColumnTag {\r\n [key: number]: MtxGridColumnTagValue;\r\n [key: string]: MtxGridColumnTagValue;\r\n}\r\n\r\n/** The properties of column tag. */\r\nexport interface MtxGridColumnTagValue {\r\n text?: string;\r\n color?: string;\r\n}\r\n\r\n/** The properties of column button. */\r\nexport interface MtxGridColumnButton {\r\n type?: 'basic' | 'icon';\r\n text?: string | Observable<string>;\r\n icon?: string;\r\n color?: ThemePalette;\r\n class?: string;\r\n click?: (record: any) => void;\r\n pop?: boolean;\r\n popTitle?: string | Observable<string>;\r\n popDescription?: string | Observable<string>;\r\n popOkColor?: ThemePalette;\r\n popOkText?: string | Observable<string>;\r\n popCloseColor?: ThemePalette;\r\n popCloseText?: string | Observable<string>;\r\n children?: MtxGridColumnButton[];\r\n iif?: (record: any) => boolean;\r\n tooltip?: string | Observable<string>;\r\n disabled?: boolean;\r\n}\r\n\r\n/** The properties of column selection item. */\r\nexport interface MtxGridColumnSelectionItem {\r\n label: string | Observable<string>;\r\n field: string;\r\n show?: boolean;\r\n hide?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\n/** Cell template. */\r\nexport interface MtxGridCellTemplate {\r\n [key: string]: TemplateRef<any>;\r\n}\r\n\r\n/** Row selection formatter. */\r\nexport interface MtxGridRowSelectionFormatter {\r\n disabled?: (rowData: any, index?: number) => boolean;\r\n hideCheckbox?: (rowData: any, index?: number) => boolean;\r\n}\r\n\r\n/** Row class formatter. */\r\nexport interface MtxGridRowClassFormatter {\r\n [className: string]: (rowData: any, index?: number) => boolean;\r\n}\r\n\r\n/** Column menu. */\r\nexport interface MtxGridColumnMenu {\r\n menuPanel: MatMenu;\r\n menuTrigger: MatMenuTrigger;\r\n}\r\n\r\n/** Possible button type values. */\r\nexport type MtxGridButtonType = 'raised' | 'stroked' | 'flat' | 'icon' | 'fab' | 'mini-fab';\r\n"],"names":[],"mappings":"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"}
|
package/fesm2015/mtxPopover.js
CHANGED
|
@@ -459,8 +459,13 @@ class MtxPopover {
|
|
|
459
459
|
*/
|
|
460
460
|
onMouseLeave() {
|
|
461
461
|
if (this.triggerEvent === 'hover') {
|
|
462
|
-
|
|
463
|
-
|
|
462
|
+
setTimeout((/**
|
|
463
|
+
* @return {?}
|
|
464
|
+
*/
|
|
465
|
+
() => {
|
|
466
|
+
this.closeDisabled = false;
|
|
467
|
+
this._emitCloseEvent();
|
|
468
|
+
}), this.leaveDelay);
|
|
464
469
|
}
|
|
465
470
|
}
|
|
466
471
|
// TODO: Refactor how styles are set and updated on the component, use best practices.
|