@ng-matero/extensions 10.16.1 → 10.16.5

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.
Files changed (116) hide show
  1. package/alert/_alert-theme.scss +20 -20
  2. package/alert/alert.component.d.ts +4 -3
  3. package/alert/mtxAlert.metadata.json +1 -1
  4. package/bundles/mtxAlert.umd.js +3 -3
  5. package/bundles/mtxAlert.umd.js.map +1 -1
  6. package/bundles/mtxAlert.umd.min.js.map +1 -1
  7. package/bundles/{ng-matero-extensions-button.umd.js → mtxButton.umd.js} +2 -2
  8. package/bundles/mtxButton.umd.js.map +1 -0
  9. package/bundles/{ng-matero-extensions-button.umd.min.js → mtxButton.umd.min.js} +1 -1
  10. package/bundles/{ng-matero-extensions-button.umd.min.js.map → mtxButton.umd.min.js.map} +0 -0
  11. package/bundles/mtxCheckboxGroup.umd.js +87 -22
  12. package/bundles/mtxCheckboxGroup.umd.js.map +1 -1
  13. package/bundles/mtxCheckboxGroup.umd.min.js +1 -1
  14. package/bundles/mtxCheckboxGroup.umd.min.js.map +1 -1
  15. package/bundles/mtxColorPicker.umd.js +32 -5
  16. package/bundles/mtxColorPicker.umd.js.map +1 -1
  17. package/bundles/mtxColorPicker.umd.min.js +1 -1
  18. package/bundles/mtxColorPicker.umd.min.js.map +1 -1
  19. package/bundles/mtxDialog.umd.js +0 -2
  20. package/bundles/mtxDialog.umd.js.map +1 -1
  21. package/bundles/mtxDialog.umd.min.js +1 -1
  22. package/bundles/mtxDialog.umd.min.js.map +1 -1
  23. package/bundles/mtxFormGroup.umd.js +2 -0
  24. package/bundles/mtxFormGroup.umd.js.map +1 -1
  25. package/bundles/mtxFormGroup.umd.min.js +1 -1
  26. package/bundles/mtxFormGroup.umd.min.js.map +1 -1
  27. package/bundles/mtxGrid.umd.js +31 -101
  28. package/bundles/mtxGrid.umd.js.map +1 -1
  29. package/bundles/mtxGrid.umd.min.js +2 -2
  30. package/bundles/mtxGrid.umd.min.js.map +1 -1
  31. package/bundles/mtxLoader.umd.js +1 -1
  32. package/bundles/mtxLoader.umd.js.map +1 -1
  33. package/bundles/mtxLoader.umd.min.js +1 -1
  34. package/bundles/mtxLoader.umd.min.js.map +1 -1
  35. package/bundles/mtxProgress.umd.js +2 -2
  36. package/bundles/mtxProgress.umd.js.map +1 -1
  37. package/bundles/mtxProgress.umd.min.js.map +1 -1
  38. package/bundles/mtxSelect.umd.js +5 -1
  39. package/bundles/mtxSelect.umd.js.map +1 -1
  40. package/bundles/mtxSelect.umd.min.js +1 -1
  41. package/bundles/mtxSelect.umd.min.js.map +1 -1
  42. package/bundles/mtxTooltip.umd.js +1 -1
  43. package/bundles/mtxTooltip.umd.js.map +1 -1
  44. package/bundles/mtxTooltip.umd.min.js +1 -1
  45. package/bundles/mtxTooltip.umd.min.js.map +1 -1
  46. package/bundles/mtxUtils.umd.js.map +1 -1
  47. package/bundles/mtxUtils.umd.min.js.map +1 -1
  48. package/button/{ng-matero-extensions-button.d.ts → mtxButton.d.ts} +0 -0
  49. package/button/{ng-matero-extensions-button.metadata.json → mtxButton.metadata.json} +0 -0
  50. package/button/package.json +7 -7
  51. package/checkbox-group/checkbox-group.component.d.ts +15 -11
  52. package/checkbox-group/mtxCheckboxGroup.metadata.json +1 -1
  53. package/color-picker/color-picker.component.d.ts +10 -9
  54. package/color-picker/mtxColorPicker.metadata.json +1 -1
  55. package/data-grid/_grid-theme.scss +14 -32
  56. package/data-grid/cell.component.d.ts +2 -1
  57. package/data-grid/column-menu.component.d.ts +4 -3
  58. package/data-grid/grid.component.d.ts +7 -20
  59. package/data-grid/grid.component.scss +51 -5
  60. package/data-grid/grid.interface.d.ts +18 -36
  61. package/data-grid/mtxGrid.metadata.json +1 -1
  62. package/dialog/dialog.config.d.ts +3 -2
  63. package/dialog/mtxDialog.metadata.json +1 -1
  64. package/esm2015/alert/alert.component.js +4 -4
  65. package/esm2015/button/mtxButton.js +10 -0
  66. package/esm2015/checkbox-group/checkbox-group.component.js +77 -20
  67. package/esm2015/color-picker/color-picker.component.js +29 -6
  68. package/esm2015/data-grid/cell.component.js +2 -2
  69. package/esm2015/data-grid/column-menu.component.js +1 -2
  70. package/esm2015/data-grid/grid.component.js +32 -100
  71. package/esm2015/data-grid/grid.interface.js +12 -11
  72. package/esm2015/dialog/dialog.config.js +1 -1
  73. package/esm2015/dialog/dialog.js +1 -3
  74. package/esm2015/form-group/form-group.component.js +4 -2
  75. package/esm2015/loader/loader.component.js +2 -2
  76. package/esm2015/progress/progress.component.js +3 -3
  77. package/esm2015/select/select.component.js +6 -2
  78. package/esm2015/tooltip/tooltip.js +2 -2
  79. package/esm2015/utils/to-observable.pipe.js +1 -1
  80. package/fesm2015/mtxAlert.js +3 -3
  81. package/fesm2015/mtxAlert.js.map +1 -1
  82. package/fesm2015/{ng-matero-extensions-button.js → mtxButton.js} +2 -2
  83. package/fesm2015/mtxButton.js.map +1 -0
  84. package/fesm2015/mtxCheckboxGroup.js +76 -19
  85. package/fesm2015/mtxCheckboxGroup.js.map +1 -1
  86. package/fesm2015/mtxColorPicker.js +28 -5
  87. package/fesm2015/mtxColorPicker.js.map +1 -1
  88. package/fesm2015/mtxDialog.js +0 -2
  89. package/fesm2015/mtxDialog.js.map +1 -1
  90. package/fesm2015/mtxFormGroup.js +3 -1
  91. package/fesm2015/mtxFormGroup.js.map +1 -1
  92. package/fesm2015/mtxGrid.js +43 -111
  93. package/fesm2015/mtxGrid.js.map +1 -1
  94. package/fesm2015/mtxLoader.js +1 -1
  95. package/fesm2015/mtxLoader.js.map +1 -1
  96. package/fesm2015/mtxProgress.js +2 -2
  97. package/fesm2015/mtxProgress.js.map +1 -1
  98. package/fesm2015/mtxSelect.js +5 -1
  99. package/fesm2015/mtxSelect.js.map +1 -1
  100. package/fesm2015/mtxTooltip.js +1 -1
  101. package/fesm2015/mtxTooltip.js.map +1 -1
  102. package/fesm2015/mtxUtils.js.map +1 -1
  103. package/form-group/mtxFormGroup.metadata.json +1 -1
  104. package/loader/loader.component.d.ts +2 -1
  105. package/loader/mtxLoader.metadata.json +1 -1
  106. package/package.json +1 -1
  107. package/progress/mtxProgress.metadata.json +1 -1
  108. package/progress/progress.component.d.ts +3 -2
  109. package/select/_select-theme.scss +18 -18
  110. package/select/mtxSelect.metadata.json +1 -1
  111. package/select/select.component.d.ts +4 -1
  112. package/tooltip/mtxTooltip.metadata.json +1 -1
  113. package/utils/to-observable.pipe.d.ts +1 -1
  114. package/bundles/ng-matero-extensions-button.umd.js.map +0 -1
  115. package/esm2015/button/ng-matero-extensions-button.js +0 -10
  116. package/fesm2015/ng-matero-extensions-button.js.map +0 -1
@@ -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} 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\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 = [];\r\n @Input() length = 0;\r\n @Input() loading = false;\r\n\r\n // Tracking function\r\n @Input() trackBy: TrackByFunction<any>;\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 /** Expandable row */\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\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 = 'stroked';\r\n @Input() columnMenuButtonColor = '';\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 /** thead */\r\n @Input() headerTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n @Input() headerExtraTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n\r\n /** tbody */\r\n @Input() cellTemplate: TemplateRef<any> | MtxGridCellTemplate | any;\r\n\r\n /** tfoot */\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 @Input() showSidebar = false;\r\n @Input() sidebarTemplate: TemplateRef<any>;\r\n\r\n /** Column resizable */\r\n @Input() columnResizable = false;\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\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: '' | 'primary' | 'accent' | 'warn' = 'primary',\r\n okText: string | Observable<string> = 'OK',\r\n closeColor: '' | 'primary' | 'accent' | 'warn' = '',\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 { MtxGridColumnSelectionItem } from './grid.interface';\r\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\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: 'raised' | 'stroked' | 'flat' | 'icon' | 'fab' | 'mini-fab' | '' = 'stroked';\r\n @Input() buttonColor: 'primary' | 'accent' | 'warn' | '' = '';\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 { MatMenu, MatMenuTrigger } from '@angular/material/menu';\r\nimport { Observable } from 'rxjs';\r\n\r\n/**\r\n * Grid\r\n */\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/**\r\n * Column type\r\n */\r\n\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/**\r\n * Column type parameter\r\n */\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/**\r\n * Column sort properties\r\n */\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/**\r\n * Tag\r\n */\r\nexport interface MtxGridColumnTag {\r\n [key: number]: MtxGridColumnTagValue;\r\n [key: string]: MtxGridColumnTagValue;\r\n}\r\n\r\nexport interface MtxGridColumnTagValue {\r\n text?: string;\r\n color?: string;\r\n}\r\n\r\n/**\r\n * Button\r\n */\r\nexport interface MtxGridColumnButton {\r\n type?: 'basic' | 'icon';\r\n text?: string | Observable<string>;\r\n icon?: string;\r\n color?: 'primary' | 'accent' | 'warn';\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?: '' | 'primary' | 'accent' | 'warn';\r\n popOkText?: string | Observable<string>;\r\n popCloseColor?: '' | 'primary' | 'accent' | 'warn';\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/**\r\n * Column selection\r\n */\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/**\r\n * Cell template\r\n */\r\nexport interface MtxGridCellTemplate {\r\n [key: string]: TemplateRef<any>;\r\n}\r\n\r\n/**\r\n * Row selection formatter\r\n */\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/**\r\n * Row class formatter\r\n */\r\nexport interface MtxGridRowClassFormatter {\r\n [className: string]: (rowData: any, index?: number) => boolean;\r\n}\r\n\r\n/**\r\n * Column menu component\r\n */\r\nexport interface MtxGridColumnMenu {\r\n menuPanel: MatMenu;\r\n menuTrigger: MatMenuTrigger;\r\n}\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', 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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"}
@@ -36,7 +36,7 @@ MtxLoaderComponent.decorators = [
36
36
  'class': 'mtx-loader',
37
37
  '[class.mtx-loader-loading]': 'loading',
38
38
  },
39
- template: "<div class=\"mtx-loader-backdrop\" *ngIf=\"loading && hasBackdrop\"></div>\r\n<div class=\"mtx-loader-main\" *ngIf=\"loading\">\r\n <mat-spinner *ngIf=\"type==='spinner'\"\r\n [color]=\"color\"\r\n [strokeWidth]=\"strokeWidth\"\r\n [diameter]=\"diameter\"\r\n [mode]=\"mode\"\r\n [value]=\"value\">\r\n </mat-spinner>\r\n\r\n <mat-progress-bar *ngIf=\"type==='progressbar'\"\r\n [color]=\"color\"\r\n [mode]=\"mode\"\r\n [value]=\"value\"\r\n [bufferValue]=\"bufferValue\">\r\n </mat-progress-bar>\r\n</div>\r\n<ng-content></ng-content>\r\n",
39
+ template: "<div class=\"mtx-loader-backdrop\" *ngIf=\"loading && hasBackdrop\"></div>\r\n<div class=\"mtx-loader-main\" *ngIf=\"loading\">\r\n <mat-spinner *ngIf=\"type==='spinner'\"\r\n [color]=\"color\"\r\n [strokeWidth]=\"strokeWidth\"\r\n [diameter]=\"diameter\"\r\n [mode]=\"$any(mode)\"\r\n [value]=\"value\">\r\n </mat-spinner>\r\n\r\n <mat-progress-bar *ngIf=\"type==='progressbar'\"\r\n [color]=\"color\"\r\n [mode]=\"$any(mode)\"\r\n [value]=\"value\"\r\n [bufferValue]=\"bufferValue\">\r\n </mat-progress-bar>\r\n</div>\r\n<ng-content></ng-content>\r\n",
40
40
  encapsulation: ViewEncapsulation.None,
41
41
  changeDetection: ChangeDetectionStrategy.OnPush,
42
42
  styles: [".mtx-loader{display:block;height:100%;position:relative;width:100%}.mtx-loader-main{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:2}.mtx-loader-main .mat-spinner{position:relative}.mtx-loader-backdrop,.mtx-loader-main .mat-progress-bar{left:0;position:absolute;top:0;width:100%}.mtx-loader-backdrop{content:\"\";display:block;height:100%;z-index:1}"]
@@ -1 +1 @@
1
- {"version":3,"file":"mtxLoader.js","sources":["../../../projects/extensions/loader/loader.component.ts","../../../projects/extensions/loader/loader.module.ts"],"sourcesContent":["import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n Input,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { ProgressBarMode } from '@angular/material/progress-bar';\r\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\r\n\r\n@Component({\r\n selector: 'mtx-loader',\r\n exportAs: 'mtxLoader',\r\n host: {\r\n 'class': 'mtx-loader',\r\n '[class.mtx-loader-loading]': 'loading',\r\n },\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MtxLoaderComponent {\r\n @Input() type: 'spinner' | 'progressbar' = 'spinner';\r\n @Input() loading = true;\r\n @Input() color: ThemePalette = 'primary';\r\n @Input() mode: ProgressSpinnerMode | ProgressBarMode = 'indeterminate';\r\n @Input() value = 0;\r\n @Input() strokeWidth = 4; // only support spinner\r\n @Input() diameter = 48; // only support spinner\r\n @Input() bufferValue = 0; // only support progresbar\r\n @Input() hasBackdrop = true;\r\n\r\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\nimport { MtxLoaderComponent } from './loader.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule, MatProgressSpinnerModule, MatProgressBarModule],\r\n exports: [MtxLoaderComponent],\r\n declarations: [MtxLoaderComponent],\r\n})\r\nexport class MtxLoaderModule {}\r\n"],"names":[],"mappings":";;;;;;;;;;MAuBa,kBAAkB;;;;IAW7B,YAAoB,kBAAqC;QAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAVhD,SAAI,GAA8B,SAAS,CAAC;QAC5C,YAAO,GAAG,IAAI,CAAC;QACf,UAAK,GAAiB,SAAS,CAAC;QAChC,SAAI,GAA0C,eAAe,CAAC;QAC9D,UAAK,GAAG,CAAC,CAAC;QACV,gBAAW,GAAG,CAAC,CAAC;;QAChB,aAAQ,GAAG,EAAE,CAAC;;QACd,gBAAW,GAAG,CAAC,CAAC;;QAChB,gBAAW,GAAG,IAAI,CAAC;KAEiC;;;YAvB9D,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE;oBACJ,OAAO,EAAE,YAAY;oBACrB,4BAA4B,EAAE,SAAS;iBACxC;gBACD,8rBAAsC;gBAEtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAjBC,iBAAiB;;;mBAmBhB,KAAK;sBACL,KAAK;oBACL,KAAK;mBACL,KAAK;oBACL,KAAK;0BACL,KAAK;uBACL,KAAK;0BACL,KAAK;0BACL,KAAK;;;;IARN,kCAAqD;;IACrD,qCAAwB;;IACxB,mCAAyC;;IACzC,kCAAuE;;IACvE,mCAAmB;;IACnB,yCAAyB;;IACzB,sCAAuB;;IACvB,yCAAyB;;IACzB,yCAA4B;;;;;IAEhB,gDAA6C;;;;;;;;MCtB9C,eAAe;;;YAL3B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,CAAC;gBACvE,OAAO,EAAE,CAAC,kBAAkB,CAAC;gBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;aACnC;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"mtxLoader.js","sources":["../../../projects/extensions/loader/loader.component.ts","../../../projects/extensions/loader/loader.module.ts"],"sourcesContent":["import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n ViewEncapsulation,\r\n Input,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { ProgressBarMode } from '@angular/material/progress-bar';\r\nimport { ProgressSpinnerMode } from '@angular/material/progress-spinner';\r\n\r\nexport type MtxLoaderType = 'spinner' | 'progressbar';\r\n\r\n@Component({\r\n selector: 'mtx-loader',\r\n exportAs: 'mtxLoader',\r\n host: {\r\n 'class': 'mtx-loader',\r\n '[class.mtx-loader-loading]': 'loading',\r\n },\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class MtxLoaderComponent {\r\n @Input() type: MtxLoaderType = 'spinner';\r\n @Input() loading = true;\r\n @Input() color: ThemePalette = 'primary';\r\n @Input() mode: ProgressSpinnerMode | ProgressBarMode = 'indeterminate';\r\n @Input() value = 0;\r\n @Input() strokeWidth = 4; // only support spinner\r\n @Input() diameter = 48; // only support spinner\r\n @Input() bufferValue = 0; // only support progresbar\r\n @Input() hasBackdrop = true;\r\n\r\n constructor(private _changeDetectorRef: ChangeDetectorRef) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\n\r\nimport { MtxLoaderComponent } from './loader.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule, MatProgressSpinnerModule, MatProgressBarModule],\r\n exports: [MtxLoaderComponent],\r\n declarations: [MtxLoaderComponent],\r\n})\r\nexport class MtxLoaderModule {}\r\n"],"names":[],"mappings":";;;;;;;;;;MAyBa,kBAAkB;;;;IAW7B,YAAoB,kBAAqC;QAArC,uBAAkB,GAAlB,kBAAkB,CAAmB;QAVhD,SAAI,GAAkB,SAAS,CAAC;QAChC,YAAO,GAAG,IAAI,CAAC;QACf,UAAK,GAAiB,SAAS,CAAC;QAChC,SAAI,GAA0C,eAAe,CAAC;QAC9D,UAAK,GAAG,CAAC,CAAC;QACV,gBAAW,GAAG,CAAC,CAAC;;QAChB,aAAQ,GAAG,EAAE,CAAC;;QACd,gBAAW,GAAG,CAAC,CAAC;;QAChB,gBAAW,GAAG,IAAI,CAAC;KAEiC;;;YAvB9D,SAAS,SAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE;oBACJ,OAAO,EAAE,YAAY;oBACrB,4BAA4B,EAAE,SAAS;iBACxC;gBACD,0sBAAsC;gBAEtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;;YAnBC,iBAAiB;;;mBAqBhB,KAAK;sBACL,KAAK;oBACL,KAAK;mBACL,KAAK;oBACL,KAAK;0BACL,KAAK;uBACL,KAAK;0BACL,KAAK;0BACL,KAAK;;;;IARN,kCAAyC;;IACzC,qCAAwB;;IACxB,mCAAyC;;IACzC,kCAAuE;;IACvE,mCAAmB;;IACnB,yCAAyB;;IACzB,sCAAuB;;IACvB,yCAAyB;;IACzB,yCAA4B;;;;;IAEhB,gDAA6C;;;;;;;;MCxB9C,eAAe;;;YAL3B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,CAAC;gBACvE,OAAO,EAAE,CAAC,kBAAkB,CAAC;gBAC7B,YAAY,EAAE,CAAC,kBAAkB,CAAC;aACnC;;;;;;;;;;;;;;;;;"}
@@ -9,7 +9,7 @@ import { CommonModule } from '@angular/common';
9
9
  class MtxProgressComponent {
10
10
  constructor() {
11
11
  /**
12
- * Progress types
12
+ * The progress type
13
13
  */
14
14
  this.type = 'info';
15
15
  /**
@@ -45,7 +45,7 @@ MtxProgressComponent.propDecorators = {
45
45
  };
46
46
  if (false) {
47
47
  /**
48
- * Progress types
48
+ * The progress type
49
49
  * @type {?}
50
50
  */
51
51
  MtxProgressComponent.prototype.type;
@@ -1 +1 @@
1
- {"version":3,"file":"mtxProgress.js","sources":["../../../projects/extensions/progress/progress.component.ts","../../../projects/extensions/progress/progress.module.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'mtx-progress',\n exportAs: 'mtxProgress',\n host: {\n 'class': 'mtx-progress',\n '[style.height]': 'height',\n '[style.backgroundColor]': 'background',\n },\n templateUrl: './progress.component.html',\n styleUrls: ['./progress.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxProgressComponent {\n /** Progress types */\n @Input() type: 'default' | 'info' | 'success' | 'warning' | 'danger' = 'info';\n\n /** The progress value */\n @Input() value = 0;\n\n /** The progress height */\n @Input() height: string;\n\n /** The progress text color */\n @Input() color: string;\n\n /** The progress bar color */\n @Input() foreground: string;\n\n /** The progress track color */\n @Input() background: string;\n\n /** Whether applies striped class */\n @Input() striped: boolean;\n\n /** Whether applies animated class */\n @Input() animate: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MtxProgressComponent } from './progress.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtxProgressComponent],\n declarations: [MtxProgressComponent],\n})\nexport class MtxProgressModule { }\n"],"names":[],"mappings":";;;;;;;;MAea,oBAAoB;IAbjC;;;;QAeW,SAAI,GAA0D,MAAM,CAAC;;;;QAGrE,UAAK,GAAG,CAAC,CAAC;KAmBpB;;;YArCA,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,aAAa;gBACvB,IAAI,EAAE;oBACJ,OAAO,EAAE,cAAc;oBACvB,gBAAgB,EAAE,QAAQ;oBAC1B,yBAAyB,EAAE,YAAY;iBACxC;gBACD,0TAAwC;gBAExC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;mBAGE,KAAK;oBAGL,KAAK;qBAGL,KAAK;oBAGL,KAAK;yBAGL,KAAK;yBAGL,KAAK;sBAGL,KAAK;sBAGL,KAAK;;;;;;;IArBN,oCAA8E;;;;;IAG9E,qCAAmB;;;;;IAGnB,sCAAwB;;;;;IAGxB,qCAAuB;;;;;IAGvB,0CAA4B;;;;;IAG5B,0CAA4B;;;;;IAG5B,uCAA0B;;;;;IAG1B,uCAA0B;;;;;;;;MC5Bf,iBAAiB;;;YAL7B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;gBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;aACrC;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"mtxProgress.js","sources":["../../../projects/extensions/progress/progress.component.ts","../../../projects/extensions/progress/progress.module.ts"],"sourcesContent":["import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';\n\nexport type MtxProgressType = 'default' | 'info' | 'success' | 'warning' | 'danger';\n\n@Component({\n selector: 'mtx-progress',\n exportAs: 'mtxProgress',\n host: {\n 'class': 'mtx-progress',\n '[style.height]': 'height',\n '[style.backgroundColor]': 'background',\n },\n templateUrl: './progress.component.html',\n styleUrls: ['./progress.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtxProgressComponent {\n /** The progress type */\n @Input() type: MtxProgressType = 'info';\n\n /** The progress value */\n @Input() value = 0;\n\n /** The progress height */\n @Input() height: string;\n\n /** The progress text color */\n @Input() color: string;\n\n /** The progress bar color */\n @Input() foreground: string;\n\n /** The progress track color */\n @Input() background: string;\n\n /** Whether applies striped class */\n @Input() striped: boolean;\n\n /** Whether applies animated class */\n @Input() animate: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MtxProgressComponent } from './progress.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtxProgressComponent],\n declarations: [MtxProgressComponent],\n})\nexport class MtxProgressModule { }\n"],"names":[],"mappings":";;;;;;;;MAiBa,oBAAoB;IAbjC;;;;QAeW,SAAI,GAAoB,MAAM,CAAC;;;;QAG/B,UAAK,GAAG,CAAC,CAAC;KAmBpB;;;YArCA,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,aAAa;gBACvB,IAAI,EAAE;oBACJ,OAAO,EAAE,cAAc;oBACvB,gBAAgB,EAAE,QAAQ;oBAC1B,yBAAyB,EAAE,YAAY;iBACxC;gBACD,0TAAwC;gBAExC,aAAa,EAAE,iBAAiB,CAAC,IAAI;gBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;aAChD;;;mBAGE,KAAK;oBAGL,KAAK;qBAGL,KAAK;oBAGL,KAAK;yBAGL,KAAK;yBAGL,KAAK;sBAGL,KAAK;sBAGL,KAAK;;;;;;;IArBN,oCAAwC;;;;;IAGxC,qCAAmB;;;;;IAGnB,sCAAwB;;;;;IAGxB,qCAAuB;;;;;IAGvB,0CAA4B;;;;;IAG5B,0CAA4B;;;;;IAG5B,uCAA0B;;;;;IAG1B,uCAA0B;;;;;;;;MC9Bf,iBAAiB;;;YAL7B,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,YAAY,CAAC;gBACvB,OAAO,EAAE,CAAC,oBAAoB,CAAC;gBAC/B,YAAY,EAAE,CAAC,oBAAoB,CAAC;aACrC;;;;;;;;;;;;;;;;;"}
@@ -773,7 +773,7 @@ MtxSelectComponent.decorators = [
773
773
  '[class.mtx-select-invalid]': 'errorState',
774
774
  'class': 'mtx-select',
775
775
  },
776
- template: "<ng-select #ngSelect\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n [items]=\"items\"\n [addTag]=\"addTag\"\n [addTagText]=\"addTagText\"\n [appendTo]=\"appendTo\"\n [appearance]=\"appearance\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [closeOnSelect]=\"closeOnSelect\"\n [clearAllText]=\"clearAllText\"\n [clearable]=\"clearable\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [hideSelected]=\"hideSelected\"\n [isOpen]=\"isOpen\"\n [inputAttrs]=\"inputAttrs\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText\"\n [labelForId]=\"labelForId\"\n [markFirst]=\"markFirst\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [multiple]=\"multiple\"\n [notFoundText]=\"notFoundText\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeahead\"\n [typeToSearchText]=\"typeToSearchText\"\n [trackByFn]=\"trackByFn\"\n [searchable]=\"searchable\"\n [searchFn]=\"searchFn\"\n [searchWhileComposing]=\"searchWhileComposing\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [selectOnTab]=\"selectOnTab\"\n [tabIndex]=\"tabIndex\"\n [openOnEnter]=\"openOnEnter\"\n [minTermLength]=\"minTermLength\"\n [editableSearchTerm]=\"editableSearchTerm\"\n [keyDownFn]=\"keyDownFn\"\n [virtualScroll]=\"virtualScroll\"\n (blur)=\"blurEvent.emit($event)\"\n (focus)=\"focusEvent.emit($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scroll.emit($event)\"\n (scrollToEnd)=\"scrollToEnd.emit($event)\">\n\n <ng-container *ngIf=\"optionTemplate\">\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"optgroupTemplate\">\n <ng-template ng-optgroup-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optgroupTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"labelTemplate\">\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" let-label=\"label\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, clear: clear, label: label }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"multiLabelTemplate\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template [ngTemplateOutlet]=\"multiLabelTemplate\"\n [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplate\">\n <ng-template ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"footerTemplate\">\n <ng-template ng-footer-tmp>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"notFoundTemplate\">\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"notFoundTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"typeToSearchTemplate\">\n <ng-template ng-typetosearch-tmp>\n <ng-template [ngTemplateOutlet]=\"typeToSearchTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"loadingTextTemplate\">\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"loadingTextTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"tagTemplate\">\n <ng-template ng-tag-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"tagTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"loadingSpinnerTemplate\">\n <ng-template ng-loadingspinner-tmp>\n <ng-template [ngTemplateOutlet]=\"loadingSpinnerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-select>\n",
776
+ template: "<ng-select #ngSelect [class.ng-select-invalid]=\"errorState\"\n [(ngModel)]=\"value\"\n [placeholder]=\"placeholder\"\n [items]=\"items\"\n [addTag]=\"addTag\"\n [addTagText]=\"addTagText\"\n [appendTo]=\"appendTo\"\n [appearance]=\"appearance\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [closeOnSelect]=\"closeOnSelect\"\n [clearAllText]=\"clearAllText\"\n [clearable]=\"clearable\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [dropdownPosition]=\"dropdownPosition\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [hideSelected]=\"hideSelected\"\n [isOpen]=\"isOpen\"\n [inputAttrs]=\"inputAttrs\"\n [loading]=\"loading\"\n [loadingText]=\"loadingText\"\n [labelForId]=\"labelForId\"\n [markFirst]=\"markFirst\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [multiple]=\"multiple\"\n [notFoundText]=\"notFoundText\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeahead\"\n [typeToSearchText]=\"typeToSearchText\"\n [trackByFn]=\"trackByFn\"\n [searchable]=\"searchable\"\n [searchFn]=\"searchFn\"\n [searchWhileComposing]=\"searchWhileComposing\"\n [clearSearchOnAdd]=\"clearSearchOnAdd\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [selectOnTab]=\"selectOnTab\"\n [tabIndex]=\"tabIndex\"\n [openOnEnter]=\"openOnEnter\"\n [minTermLength]=\"minTermLength\"\n [editableSearchTerm]=\"editableSearchTerm\"\n [keyDownFn]=\"keyDownFn\"\n [virtualScroll]=\"virtualScroll\"\n (blur)=\"blurEvent.emit($event)\"\n (focus)=\"focusEvent.emit($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scroll.emit($event)\"\n (scrollToEnd)=\"scrollToEnd.emit($event)\">\n\n <ng-container *ngIf=\"optionTemplate\">\n <ng-template ng-option-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optionTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"optgroupTemplate\">\n <ng-template ng-optgroup-tmp let-item=\"item\" let-item$=\"item$\" let-index=\"index\"\n let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"optgroupTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, item$: item$, index: index, searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"labelTemplate\">\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\" let-label=\"label\">\n <ng-template [ngTemplateOutlet]=\"labelTemplate\"\n [ngTemplateOutletContext]=\"{ item: item, clear: clear, label: label }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"multiLabelTemplate\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template [ngTemplateOutlet]=\"multiLabelTemplate\"\n [ngTemplateOutletContext]=\"{ items: items, clear: clear }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"headerTemplate\">\n <ng-template ng-header-tmp>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"footerTemplate\">\n <ng-template ng-footer-tmp>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"notFoundTemplate\">\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"notFoundTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"typeToSearchTemplate\">\n <ng-template ng-typetosearch-tmp>\n <ng-template [ngTemplateOutlet]=\"typeToSearchTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"loadingTextTemplate\">\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"loadingTextTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"tagTemplate\">\n <ng-template ng-tag-tmp let-searchTerm=\"searchTerm\">\n <ng-template [ngTemplateOutlet]=\"tagTemplate\"\n [ngTemplateOutletContext]=\"{ searchTerm: searchTerm }\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"loadingSpinnerTemplate\">\n <ng-template ng-loadingspinner-tmp>\n <ng-template [ngTemplateOutlet]=\"loadingSpinnerTemplate\">\n </ng-template>\n </ng-template>\n </ng-container>\n\n</ng-select>\n",
777
777
  encapsulation: ViewEncapsulation.None,
778
778
  changeDetection: ChangeDetectionStrategy.OnPush,
779
779
  providers: [{ provide: MatFormFieldControl, useExisting: MtxSelectComponent }],
@@ -861,6 +861,10 @@ MtxSelectComponent.propDecorators = {
861
861
  disabled: [{ type: Input }]
862
862
  };
863
863
  if (false) {
864
+ /** @type {?} */
865
+ MtxSelectComponent.ngAcceptInputType_required;
866
+ /** @type {?} */
867
+ MtxSelectComponent.ngAcceptInputType_disabled;
864
868
  /** @type {?} */
865
869
  MtxSelectComponent.prototype.ngSelect;
866
870
  /** @type {?} */