@acorex/data-grid 3.0.22 → 3.0.26

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 (94) hide show
  1. package/README.md +2 -2
  2. package/acorex-data-grid.d.ts +4 -0
  3. package/acorex-data-grid.metadata.json +1 -0
  4. package/bundles/acorex-data-grid.umd.js +2224 -0
  5. package/bundles/acorex-data-grid.umd.js.map +1 -0
  6. package/bundles/acorex-data-grid.umd.min.js +16 -0
  7. package/bundles/acorex-data-grid.umd.min.js.map +1 -0
  8. package/esm2015/acorex-data-grid.js +5 -0
  9. package/esm2015/lib/data-grid/columns/check-column.component.js +104 -0
  10. package/esm2015/lib/data-grid/columns/column.component.js +204 -0
  11. package/esm2015/lib/data-grid/columns/command-column.component.js +103 -0
  12. package/esm2015/lib/data-grid/columns/date-column.component.js +114 -0
  13. package/esm2015/lib/data-grid/columns/row-number-column.component.js +39 -0
  14. package/esm2015/lib/data-grid/columns/selection-column.component.js +42 -0
  15. package/esm2015/lib/data-grid/columns/text-column.component.js +81 -0
  16. package/esm2015/lib/data-grid/datagrid.component.js +709 -0
  17. package/esm2015/lib/data-grid/datagrid.events.js +1 -0
  18. package/esm2015/lib/data-grid/datagrid.module.js +98 -0
  19. package/esm2015/lib/data-grid/filters/filter.component.js +25 -0
  20. package/esm2015/lib/data-grid/templates/cell-template.component.js +47 -0
  21. package/esm2015/lib/data-grid/templates/detail-template.component.js +45 -0
  22. package/esm2015/lib/data-grid/templates/row-template.component.js +40 -0
  23. package/esm2015/lib/data-lov/data-lov-popup/data-lov-popup.component.js +121 -0
  24. package/esm2015/lib/data-lov/data-lov.component.js +206 -0
  25. package/esm2015/lib/data-lov/data-lov.module.js +21 -0
  26. package/esm2015/public-api.js +17 -0
  27. package/esm5/acorex-data-grid.js +5 -0
  28. package/esm5/lib/data-grid/columns/check-column.component.js +102 -0
  29. package/esm5/lib/data-grid/columns/column.component.js +206 -0
  30. package/esm5/lib/data-grid/columns/command-column.component.js +98 -0
  31. package/esm5/lib/data-grid/columns/date-column.component.js +119 -0
  32. package/esm5/lib/data-grid/columns/row-number-column.component.js +42 -0
  33. package/esm5/lib/data-grid/columns/selection-column.component.js +46 -0
  34. package/esm5/lib/data-grid/columns/text-column.component.js +81 -0
  35. package/esm5/lib/data-grid/datagrid.component.js +767 -0
  36. package/esm5/lib/data-grid/datagrid.events.js +1 -0
  37. package/esm5/lib/data-grid/datagrid.module.js +101 -0
  38. package/esm5/lib/data-grid/filters/filter.component.js +16 -0
  39. package/esm5/lib/data-grid/templates/cell-template.component.js +46 -0
  40. package/esm5/lib/data-grid/templates/detail-template.component.js +49 -0
  41. package/esm5/lib/data-grid/templates/row-template.component.js +44 -0
  42. package/esm5/lib/data-lov/data-lov-popup/data-lov-popup.component.js +127 -0
  43. package/esm5/lib/data-lov/data-lov.component.js +216 -0
  44. package/esm5/lib/data-lov/data-lov.module.js +24 -0
  45. package/esm5/public-api.js +17 -0
  46. package/fesm2015/acorex-data-grid.js +1901 -0
  47. package/fesm2015/acorex-data-grid.js.map +1 -0
  48. package/fesm5/acorex-data-grid.js +1980 -0
  49. package/fesm5/acorex-data-grid.js.map +1 -0
  50. package/lib/data-grid/columns/check-column.component.d.ts +30 -0
  51. package/lib/data-grid/columns/column.component.d.ts +29 -0
  52. package/lib/data-grid/columns/command-column.component.d.ts +22 -0
  53. package/lib/data-grid/columns/date-column.component.d.ts +27 -0
  54. package/lib/data-grid/columns/row-number-column.component.d.ts +7 -0
  55. package/lib/data-grid/columns/selection-column.component.d.ts +8 -0
  56. package/lib/data-grid/columns/text-column.component.d.ts +20 -0
  57. package/lib/data-grid/datagrid.component.d.ts +129 -0
  58. package/{src/lib/data-grid/datagrid.events.ts → lib/data-grid/datagrid.events.d.ts} +20 -23
  59. package/lib/data-grid/datagrid.module.d.ts +3 -0
  60. package/lib/data-grid/filters/filter.component.d.ts +2 -0
  61. package/lib/data-grid/templates/cell-template.component.d.ts +17 -0
  62. package/lib/data-grid/templates/detail-template.component.d.ts +16 -0
  63. package/lib/data-grid/templates/row-template.component.d.ts +15 -0
  64. package/lib/data-lov/data-lov-popup/data-lov-popup.component.d.ts +29 -0
  65. package/lib/data-lov/data-lov.component.d.ts +39 -0
  66. package/lib/data-lov/data-lov.module.d.ts +2 -0
  67. package/package.json +27 -17
  68. package/{src/public-api.ts → public-api.d.ts} +17 -20
  69. package/karma.conf.js +0 -32
  70. package/ng-package.json +0 -12
  71. package/src/lib/data-grid/columns/check-column.component.ts +0 -113
  72. package/src/lib/data-grid/columns/column.component.ts +0 -181
  73. package/src/lib/data-grid/columns/command-column.component.ts +0 -102
  74. package/src/lib/data-grid/columns/date-column.component.ts +0 -119
  75. package/src/lib/data-grid/columns/row-number-column.component.ts +0 -36
  76. package/src/lib/data-grid/columns/selection-column.component.ts +0 -37
  77. package/src/lib/data-grid/columns/text-column.component.ts +0 -92
  78. package/src/lib/data-grid/datagrid.component.html +0 -26
  79. package/src/lib/data-grid/datagrid.component.ts +0 -724
  80. package/src/lib/data-grid/datagrid.module.ts +0 -93
  81. package/src/lib/data-grid/filters/filter.component.ts +0 -21
  82. package/src/lib/data-grid/templates/cell-template.component.ts +0 -47
  83. package/src/lib/data-grid/templates/detail-template.component.ts +0 -43
  84. package/src/lib/data-grid/templates/row-template.component.ts +0 -41
  85. package/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html +0 -16
  86. package/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts +0 -135
  87. package/src/lib/data-lov/data-lov.component.html +0 -61
  88. package/src/lib/data-lov/data-lov.component.ts +0 -177
  89. package/src/lib/data-lov/data-lov.module.ts +0 -17
  90. package/src/test.ts +0 -26
  91. package/tsconfig.lib.json +0 -23
  92. package/tsconfig.lib.prod.json +0 -6
  93. package/tsconfig.spec.json +0 -17
  94. package/tslint.json +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-data-grid.js","sources":["ng://@acorex/data-grid/lib/data-grid/templates/cell-template.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/check-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/command-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/date-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/selection-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/text-column.component.ts","ng://@acorex/data-grid/lib/data-grid/columns/row-number-column.component.ts","ng://@acorex/data-grid/lib/data-grid/templates/row-template.component.ts","ng://@acorex/data-grid/lib/data-grid/templates/detail-template.component.ts","ng://@acorex/data-grid/lib/data-grid/datagrid.component.ts","ng://@acorex/data-grid/lib/data-grid/filters/filter.component.ts","ng://@acorex/data-grid/lib/data-grid/datagrid.module.ts","ng://@acorex/data-grid/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","ng://@acorex/data-grid/lib/data-lov/data-lov.component.ts","ng://@acorex/data-grid/lib/data-lov/data-lov.module.ts","ng://@acorex/data-grid/acorex-data-grid.ts"],"sourcesContent":["import { Component, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\n\n@Component({\n selector: 'ax-cell-template',\n template: `<ng-content></ng-content>\n `\n})\n\nexport class AXDataGridCellTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridCellTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n}\n\n@Component({\n template: `\n <ng-container *ngTemplateOutlet='templateRef; context: { $implicit: rowData }'>\n </ng-container>\n `\n})\n\nexport class AXDataGridCellTemplateRenderer implements ICellRendererAngularComp {\n rowData: any;\n templateRef: TemplateRef<any>;\n\n constructor() { }\n\n agInit(params: ICellRendererParams): void {\n this.rowData = params.data;\n this.templateRef = (params as any).templateRef;\n }\n\n refresh(params: ICellRendererParams): boolean {\n this.rowData = params.data;\n return true;\n }\n}","import { AXConfig } from '@acorex/core';\nimport { Input, ContentChild, TemplateRef } from '@angular/core';\nimport { AXGridCellParams } from '../datagrid.events';\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\nimport { AXDatePickerFilterComponent } from './date-column.component';\n\n\nexport abstract class AXGridDataColumn {\n\n\n @ContentChild(AXDataGridCellTemplateComponent)\n cellTemplate: AXDataGridCellTemplateComponent;\n\n @Input()\n width: number = 100;\n\n @Input()\n maxWidth: number;\n\n @Input()\n minWidth: number;\n\n @Input()\n pinned: 'start' | 'end' | null = null;\n\n @Input()\n allowSorting: boolean = true;\n\n @Input()\n allowFiltering: boolean = AXConfig.get('datagrid.allowFiltering') || false;;\n\n @Input()\n cellClass: (params: AXGridCellParams) => (string | string[]) | (string | string[]);\n\n @Input()\n sort: 'asc' | 'desc' | null = null;\n\n @Input()\n field: string = '';\n\n @Input()\n caption: string = '';\n\n @Input()\n cellRendererParams: any;\n\n @Input()\n checkbox: boolean = false;\n\n @Input()\n headerCheckbox: boolean = false;\n\n @Input()\n groupIndex: number = -1;\n\n @Input()\n treeIndex: number = -1;\n\n @Input()\n enableRowGroup: boolean = false;\n\n @Input()\n hide: boolean = false;\n\n @Input()\n floatingFilter: boolean = AXConfig.get('datagrid.floatingFilter') || false;\n\n @Input()\n disableMenu: boolean = false;\n\n @Input()\n resizable: boolean = true;\n\n @Input()\n menuColumnDisable: boolean = false;\n\n @Input()\n menuItemDisable: boolean = false;\n\n constructor() { }\n\n render(): any {\n const col: any = {\n field: this.field,\n width: this.width,\n };\n col.resizable = this.resizable;\n col.suppressMenu = this.disableMenu;\n col.menuTabs = ['filterMenuTab', 'columnsMenuTab', 'generalMenuTab']\n col.floatingFilter = this.floatingFilter;\n\n if (!this.allowFiltering) {\n col.filter = false;\n col.menuTabs = col.menuTabs.filter(c => c != 'filterMenuTab');\n col.floatingFilter = false;\n }\n if (this.menuColumnDisable == true) {\n col.menuTabs = col.menuTabs.filter(c => c != 'columnsMenuTab');\n }\n if (this.menuItemDisable == true) {\n col.menuTabs = col.menuTabs.filter(c => c != 'generalMenuTab');\n }\n if (this.caption) {\n col.headerName = this.caption;\n }\n if (this.minWidth) {\n col.minWidth = this.minWidth;\n }\n if (this.maxWidth) {\n col.maxWidth = this.maxWidth;\n }\n if (this.pinned) {\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\n // TODO: Change based on layout\n }\n if (this.allowSorting) {\n col.sortable = this.allowSorting;\n }\n if (this.sort) {\n col.sort = this.sort;\n }\n\n if (this.groupIndex >= 0) {\n col.rowGroupIndex = this.groupIndex;\n col.rowGroup = true;\n this.enableRowGroup = true;\n }\n\n if (this.treeIndex >= 0) {\n col.rowGroupIndex = this.treeIndex;\n col.rowGroup = false;\n }\n if (this.hide) {\n col.hide = true;\n\n }\n if (this.enableRowGroup) {\n col.enableRowGroup = this.enableRowGroup;\n }\n\n if (this.cellClass) {\n const THAT = this;\n if (this.cellClass instanceof Function) {\n col.cellClass = (p) => {\n return THAT.cellClass({\n column: THAT,\n rowIndex: p.node.rowIndex,\n rowLevel: p.node.level,\n data: p.data,\n value: p.value\n });\n };\n }\n else {\n col.cellClass = this.cellClass;\n\n }\n }\n //\n if (this.cellTemplate != null) {\n col.cellRendererFramework = this.cellTemplate.renderer;\n col.cellRendererParams = this.cellTemplate.params;\n }\n\n if (this.checkbox) {\n col.checkboxSelection = (params) => {\n return true;\n };\n // col.headerCheckboxSelection = this.headerCheckbox;\n }\n return col;\n }\n}\n\n\n\n\n\n\n\n\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\nimport { ICellRendererAngularComp, IFilterAngularComp } from 'ag-grid-angular';\nimport {\n ICellRendererParams,\n IFilterParams,\n RowNode,\n IDoesFilterPassParams,\n IAfterGuiAttachedParams\n} from 'ag-grid-community';\n\n@Component({\n selector: 'ax-check-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCheckColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class AXGridCheckColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n render() {\n const col = super.render();\n if (!col.cellRendererFramework) {\n col.cellRendererFramework = BooleanRenderer;\n }\n if (this.allowFiltering) {\n col.filterFramework = BooleanFilterRenderer;\n }\n return col;\n }\n}\n\n@Component({\n template: `\n <ax-check-box [value]='value' readonly='true'></ax-check-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BooleanRenderer implements ICellRendererAngularComp {\n value: boolean;\n constructor() { }\n agInit(params: ICellRendererParams): void {\n this.value = params.value;\n }\n refresh(params: ICellRendererParams): boolean {\n this.value = params.value;\n return true;\n }\n}\n\n@Component({\n template: `\n <ax-data-grid-filter>\n <ax-select-box\n label='Select Box'\n [items]='selectItem'\n ></ax-select-box>\n </ax-data-grid-filter>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BooleanFilterRenderer implements IFilterAngularComp {\n public value?: boolean = null;\n private params: IFilterParams;\n private valueGetter: (rowNode: RowNode) => any;\n @ViewChild('input', { static: true, read: ViewContainerRef }) public input;\n\n selectItem = [\n { value: 0, label: 'True' },\n { value: 1, label: 'False' },\n ];\n agInit(params: IFilterParams): void {\n this.params = params;\n this.valueGetter = params.valueGetter;\n }\n\n isFilterActive(): boolean {\n return this.value !== null && this.value !== undefined;\n }\n\n doesFilterPass(params: IDoesFilterPassParams): boolean {\n return this.value === this.valueGetter(params.node);\n }\n\n getModel(): any {\n return { value: this.value };\n }\n\n setModel(model: any): void {\n this.value = model ? model.value : null;\n }\n\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\n window.setTimeout(() => {\n this.input.element.nativeElement.focus();\n });\n }\n\n onChange(newValue): void {\n if (this.value !== newValue) {\n this.value = newValue;\n this.params.filterChangedCallback();\n }\n }\n}\n","import { AXGridDataColumn } from './column.component';\nimport { ChangeDetectionStrategy, Component, Input, EventEmitter, ViewEncapsulation, Output, ChangeDetectorRef } from '@angular/core';\nimport { ICellRendererParams } from 'ag-grid-community';\nimport { AXGridRowCommandEvent } from '../datagrid.events';\nimport { AXMenuItem } from '@acorex/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\n\nexport type AXGridRowCommandFunction = (row: any) => AXMenuItem[];\n\n@Component({\n selector: 'ax-command-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridCommandColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXGridCommandColumn extends AXGridDataColumn {\n\n\n @Input()\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\n\n @Output()\n onItemClick: EventEmitter<AXGridRowCommandEvent> = new EventEmitter<AXGridRowCommandEvent>();\n\n render() {\n const col = super.render();\n if (!col.cellRendererFramework) {\n col.cellRendererFramework = CommandRenderer;\n }\n col.cellRendererParams = {\n items: this.items,\n onClick: (e) => {\n this.onItemClick.emit({\n command: e.name,\n data: e.data,\n rowIndex: e.rowIndex,\n rowLevel: e.rowLevel,\n htmlEvent:e.htmlEvent\n });\n }\n };\n col.sortable = false;\n col.filter = false;\n col.valueGetter = (params) => {\n return this.items;\n };\n return col;\n }\n}\n\n@Component({\n selector: 'ax-command-cell',\n template: `\n <button\n *ngFor=\"let item of items\"\n class=\"ax button md ax-grid-command-button {{ item.style || 'ax primary blank' }}\"\n [class.disabled]=\"item.disable\"\n type=\"button\"\n [title]=\"item.tooltip\"\n (click)=\"onClick(item,$event)\"\n >\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\n </button>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CommandRenderer implements ICellRendererAngularComp {\n items: AXMenuItem[] | AXGridRowCommandFunction = [];\n node: any;\n private clickCallback: Function;\n\n constructor() { }\n\n agInit(params: ICellRendererParams): void {\n this.mapParams(params);\n }\n\n refresh(params: ICellRendererParams): boolean {\n this.mapParams(params);\n return true;\n }\n\n private mapParams(params: any) {\n this.node = params.node;\n this.items = typeof params.items == 'function' ? params.items({ data: this.node.data }) : Array.isArray(params.items) ? params.items : [];\n this.clickCallback = params.onClick;\n }\n\n onClick(item: AXMenuItem,e:MouseEvent) {\n if (this.clickCallback && !item.disable) {\n this.clickCallback({\n name: item.name,\n rowLevel: this.node.level,\n rowIndex: this.node.rowIndex,\n data: this.node.data,\n htmlEvent:e\n });\n }\n }\n}\n","\nimport {\n Component,\n ChangeDetectionStrategy,\n Input,\n ViewEncapsulation,\n ViewChild,\n ElementRef\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\nimport { AXDateTime, AXConfig, AXCalendarType } from '@acorex/core';\nimport { AXDatePickerComponent } from '@acorex/components';\n@Component({\n selector: 'ax-date-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridDateColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridDateColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n @Input()\n format: string;\n\n @Input()\n type: AXCalendarType = AXConfig.get('dateTime.type');\n\n render() {\n const col = super.render();\n col.cellRendererParams = {\n format: this.format,\n };\n\n col.comparator = (valueA: any, valueB: any) => {\n const date1 = AXDateTime.convert(valueA);\n const date2 = AXDateTime.convert(valueB);\n //\n if (date1 === null && date2 === null) {\n return 0;\n }\n if (date1 === null) {\n return -1;\n }\n if (date2 === null) {\n return 1;\n }\n return (date1.date.getTime() - date2.date.getTime());\n };\n\n col.valueFormatter = (params) => {\n const date: AXDateTime = AXDateTime.convert(params.value, this.type);\n if (date) {\n return date.format(this.format);\n }\n else {\n return null;\n }\n };\n col.filter = 'agDateColumnFilter';\n // col.floatingFilter = true;\n return col;\n }\n}\n\n@Component({\n selector: 'ax-data-picker-filter',\n template: `<ax-date-picker [selectableHoliday]=\"selectableHoliday\" [allowClear]=\"true\" (onValueChanged)=\"onValueChanged($event)\" size=\"sm\">\n </ax-date-picker>`,\n host: { },\n encapsulation: ViewEncapsulation.None\n})\nexport class AXDatePickerFilterComponent {\n @ViewChild(AXDatePickerComponent)\n datePicker: AXDatePickerComponent;\n @ViewChild('div', { read: ElementRef }) div: ElementRef;\n selectableHoliday: boolean = false;\n type: string = 'jalali';\n date: Date;\n params: any;\n picker: any;\n\n\n agInit(params: any): void {\n this.params = params;\n }\n\n ngAfterViewInit() {\n\n }\n ngOnDestroy() {\n console.log(`Destroying DateComponent`);\n }\n\n onDateChanged(selectedDates) {\n //this.date = selectedDates[0] || null;\n this.params.onDateChanged();\n }\n\n getDate(): Date {\n return this.date;\n }\n\n setDate(date: Date): void {\n this.date = date || null;\n //this.picker.setDate(date);\n }\n\n setInputPlaceholder(placeholder: string): void {\n //this.div.nativeElement.setAttribute('placeholder', placeholder);\n }\n onValueChanged(e) {\n\n this.setDate(e.value);\n this.onDateChanged(e.value);\n }\n\n}\n","import { AXGridDataColumn } from './column.component';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ax-selection-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridSelectionColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridSelectionColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n\n }\n\n @Input()\n condition: (params) => boolean;\n\n @Input()\n pinned: 'start' | 'end' = 'start';\n\n render() {\n const col = super.render();\n col.checkboxSelection = this.condition ? this.condition : true;\n // col.headerCheckboxSelection = true;\n col.pinned = this.pinned === 'start' ? 'right' : 'left';\n col.filter = false;\n col.resizable = false;\n col.sortable = false;\n col.width = 40;\n\n return col;\n }\n}","import { AXGridDataColumn } from './column.component';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewContainerRef,\n ViewChild\n} from '@angular/core';\nimport {\n IFilterParams,\n RowNode,\n IDoesFilterPassParams,\n IAfterGuiAttachedParams\n} from 'ag-grid-community';\nimport { IFilterAngularComp } from 'ag-grid-angular';\nimport { AXTextBoxComponent } from '@acorex/components';\n\n\n@Component({\n selector: 'ax-text-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridTextColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridTextColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n render() {\n const col = super.render();\n // if (this.allowFiltering) {\n // col.filterFramework = TextFilterRenderer;\n // }\n col.filter = 'agTextColumnFilter';\n return col;\n }\n}\n\n@Component({\n template: `\n <ax-data-grid-filter>\n <ax-text-box label='Filter' allowClear='true' (textChange)='onChange($event)'>\n </ax-text-box>\n </ax-data-grid-filter>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TextFilterRenderer implements IFilterAngularComp {\n public value?: string = null;\n private params: IFilterParams;\n private valueGetter: (rowNode: RowNode) => any;\n @ViewChild(AXTextBoxComponent, { static: true })\n private input: AXTextBoxComponent;\n\n agInit(params: IFilterParams): void {\n this.params = params;\n this.valueGetter = params.valueGetter;\n }\n\n isFilterActive(): boolean {\n return this.value !== null && this.value !== undefined;\n }\n\n doesFilterPass(params: IDoesFilterPassParams): boolean {\n return this.value === this.valueGetter(params.node);\n }\n\n getModel(): any {\n return { value: this.value };\n }\n\n setModel(model: any): void {\n ;\n this.onChange(model ? model.value : null);\n }\n\n ngAfterViewInit(params: IAfterGuiAttachedParams): void {\n window.setTimeout(() => {\n this.input.focus();\n });\n }\n\n onChange(newValue): void {\n if (this.value !== newValue) {\n this.value = newValue;\n if (this.value === '') {\n this.value = null;\n }\n this.params.filterChangedCallback();\n }\n }\n}\n","import { AXGridDataColumn } from './column.component';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { AXConfig } from '@acorex/core';\n\n@Component({\n selector: 'ax-row-number-column',\n template: '',\n providers: [{ provide: AXGridDataColumn, useExisting: AXGridRowNumberColumn }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXGridRowNumberColumn extends AXGridDataColumn {\n constructor() {\n super();\n }\n\n ngOnInit(): void {}\n\n @Input()\n condition: (params) => boolean;\n\n render() {\n const col = super.render();\n // col.checkboxSelection = this.condition ? this.condition : true;\n // col.headerCheckboxSelection = true;\n\n (col.headerName = this.caption ? this.caption : AXConfig.get('layout.rtl') ? 'ردیف' : 'Row'),\n (col.valueGetter = 'node.rowIndex + 1'),\n (col.pinned = this.pinned == null ? (AXConfig.get('layout.rtl') ? 'right' : 'left') : this.pinned === 'start' ? 'right' : 'left'),\n (col.filter = false);\n col.resizable = true;\n col.sortable = false;\n col.width = this.width;\n\n return col;\n }\n}\n","import { Component, ContentChild, TemplateRef, Input } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\n\n@Component({\n selector: 'ax-row-template',\n template: `<ng-content></ng-content>`\n})\n\nexport class AXDataGridRowTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridRowTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n}\n\n@Component({\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\n})\n\nexport class AXDataGridRowTemplateRenderer implements ICellRendererAngularComp {\n\n templateRef: TemplateRef<any>;\n\n data: any;\n\n refresh(params: any): boolean {\n return false;\n }\n\n agInit(params: any): void {\n this.data = params.data.callRecords;\n this.templateRef = params.templateRef;\n }\n}","import { Component, ContentChild, TemplateRef, Input, ChangeDetectorRef } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\n\n@Component({\n selector: 'ax-grid-detail-template',\n template: `<ng-content></ng-content>`\n})\n\nexport class AXDataGridDetailTemplateComponent {\n @ContentChild(TemplateRef, { static: true }) templateRef: TemplateRef<any>;\n renderer: any;\n params: any;\n constructor() {\n this.renderer = AXDataGridDetailTemplateRenderer;\n }\n ngOnInit(): void {\n this.params = {\n templateRef: this.templateRef\n }\n }\n\n @Input()\n height: number = 100;\n}\n\n@Component({\n template: `<ng-container *ngTemplateOutlet='templateRef; context: { $implicit: data }'></ng-container>`\n})\n\nexport class AXDataGridDetailTemplateRenderer implements ICellRendererAngularComp {\n\n refresh(params: any): boolean {\n return false;\n }\n\n templateRef: TemplateRef<any>;\n data: any;\n\n agInit(params: any): void {\n this.data = params.data;\n this.templateRef = params.templateRef;\n }\n}","import {\n Component,\n ContentChild,\n Input,\n ContentChildren,\n QueryList,\n EventEmitter,\n Output,\n ElementRef,\n ChangeDetectorRef,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { AXDataSourceComponent } from '@acorex/components';\nimport { AXGridDataColumn } from './columns/column.component';\nimport { AXDataSourceReadParams } from '@acorex/components';\nimport {\n GridOptions,\n CellClickedEvent,\n RowClickedEvent,\n CellEvent,\n RowEvent,\n FirstDataRenderedEvent,\n GridSizeChangedEvent,\n GridApi\n} from 'ag-grid-community';\n\nimport { LicenseManager } from 'ag-grid-enterprise';\nimport { ViewEncapsulation } from '@angular/core';\nimport { AXGridCellEvent, AXGridRowEvent, AXGridRowSelectionEvent, AXGridRowParams } from './datagrid.events';\n\nimport { AXDataGridRowTemplateComponent } from './templates/row-template.component';\nimport { AXToolbarSearchComponent, AXToolbarComponent, AXDataEvent, AXValueEvent } from '@acorex/components';\nimport { AXDataGridDetailTemplateComponent } from './templates/detail-template.component';\nimport { AXTranslator } from '@acorex/core';\nimport { AXDatePickerFilterComponent } from './columns/date-column.component';\nimport { AXConfig } from '@acorex/core';\n\nLicenseManager.prototype.validateLicense = function () {\n //console.info('Cracked by Arash Oshnoudi!');\n};\n\n// WatermarkComp.prototype.shouldDisplayWatermark = function () {\n// return false;\n// }\n\nexport class AXDataGridColumnsChangeEvent extends AXValueEvent<AXGridDataColumn[]> {\n component: AXDataGridComponent;\n}\nexport class AXDataGridCellEvent extends AXDataEvent<AXGridCellEvent> {\n component: AXDataGridComponent;\n}\nexport class AXDaagridRowClickEvent extends AXDataEvent<AXGridRowEvent> {\n component: AXDataGridComponent;\n}\n\nexport class AXDataGridSelectionChangeEvent extends AXDataEvent<AXGridRowSelectionEvent> {\n component: AXDataGridComponent;\n}\n\nexport class AXDataGridRowSelectionChangeEvent extends AXDataEvent<any> {\n component: AXDataGridComponent;\n selected: boolean;\n}\n\n@Component({\n selector: 'ax-data-grid',\n templateUrl: './datagrid.component.html',\n encapsulation: ViewEncapsulation.None\n // changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AXDataGridComponent {\n private gridApi;\n private dataSourceSuccessCallback;\n localeText: any;\n\n gridOptions: GridOptions;\n columnDefs: any[] = [];\n rowModelType = 'clientSide';\n fullWidthCellRendererFramework: any;\n fullWidthCellRendererParams: any;\n frameworkComponents: any = {};\n isFullWidthCell: Function;\n internalHeight: string = '100%';\n detailCellRenderer: any;\n detailCellRendererParams: any;\n detailRowHeight: number;\n masterDetail: boolean = false;\n treeData: boolean = false;\n enabelSelect: boolean = false;\n gridView: boolean = false;\n groupSelectsChildren: boolean = false;\n oldSelectionNodes: any[] = [];\n\n // @Input()\n // showRowNumber: boolean = true;\n\n @Input()\n public remoteOperation: boolean = false;\n\n @Input()\n public rowMultiSelectWithClick: boolean = true;\n\n @Input()\n public suppressRowClickSelection: boolean = true;\n\n @Input()\n public suppressCellSelection: boolean = false;\n\n @Input()\n public sizeColumnsToFit: boolean = true;\n\n @Input()\n showCheckBox: boolean = true;\n\n @Input()\n floatingFilter: boolean = false;\n\n @Input()\n takeCount: number;\n\n autoGroupColumnDef: any = {};\n\n @Input()\n selectionMode: 'single' | 'multiple' = 'single';\n\n // @Input()\n // allowFiltering: boolean = false;\n\n @Input()\n selectRow: any[] = [];\n\n @Input()\n rowGroupPanelShow: 'always' | 'never' = 'never';\n\n @Input()\n loadOnInit: boolean = true;\n\n // @Input()\n // groupDefaultExpanded: number = 0;\n\n @Input()\n keyField: string = 'null';\n\n @Input()\n hasChildField: string = 'null';\n\n private _searchText: string;\n @Input()\n public get searchText(): string {\n return this._searchText;\n }\n public set searchText(v: string) {\n if (v !== this._searchText) {\n this._searchText = v;\n if (this.gridApi) {\n this.refresh();\n this.gridApi.setQuickFilter(this.searchText);\n }\n }\n }\n\n private _filter: any[];\n @Input()\n public get filter(): any[] {\n return this._filter;\n }\n public set filter(v: any[]) {\n if (v !== this._filter) {\n this._filter = v;\n this._filter.forEach((f) => {\n const fc = this.gridApi.getFilterInstance(f.field);\n if (fc) {\n const ff = fc.getFrameworkComponentInstance();\n ff.setModel(f);\n }\n });\n }\n }\n\n @ContentChildren(AXGridDataColumn)\n private _inlineColumns: QueryList<AXGridDataColumn>;\n\n @Output()\n columnsChange: EventEmitter<AXDataGridColumnsChangeEvent> = new EventEmitter<AXDataGridColumnsChangeEvent>();\n\n private _columns: AXGridDataColumn[] = [];\n @Input()\n public get columns(): AXGridDataColumn[] {\n return this._inlineColumns ? [...this._columns, ...this._inlineColumns.toArray()] : this._columns;\n }\n\n public set columns(val: AXGridDataColumn[]) {\n if (val && val.length) {\n let old = this._columns;\n this._columns = val;\n this.columnsChange.emit({ component: this, value: val, oldValue: old, htmlElement: this.ref.nativeElement });\n }\n }\n\n defaultColDef: any = {\n filter: true,\n floatingFilter: true\n };\n\n @Input()\n rowHeight: any;\n\n @ContentChild(AXToolbarSearchComponent, { static: true })\n searchInput: AXToolbarSearchComponent;\n\n @ContentChild(AXToolbarComponent, { static: true })\n toolbar: AXToolbarComponent;\n\n @ContentChild(AXDataGridRowTemplateComponent, { static: true })\n rowTemplate: AXDataGridRowTemplateComponent;\n\n @ContentChild(AXDataGridDetailTemplateComponent, { static: true })\n gridDetailTemplate: AXDataGridDetailTemplateComponent;\n\n @ContentChild(AXDataSourceComponent, { static: true })\n private _contentDataSource: AXDataSourceComponent;\n\n private _dataSource: AXDataSourceComponent;\n\n @Input()\n public get dataSource(): AXDataSourceComponent {\n return this._dataSource ? this._dataSource : this._contentDataSource;\n }\n\n public set dataSource(v: AXDataSourceComponent) {\n this._dataSource = v;\n }\n\n @Input()\n groupHideOpenParents: boolean = false;\n\n @Output()\n cellClick: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n cellDbClick: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n cellFocuse: EventEmitter<AXDataGridCellEvent> = new EventEmitter<AXDataGridCellEvent>();\n\n @Output()\n rowClick: EventEmitter<AXDaagridRowClickEvent> = new EventEmitter<AXDaagridRowClickEvent>();\n\n @Output()\n rowDbClick: EventEmitter<AXDaagridRowClickEvent> = new EventEmitter<AXDaagridRowClickEvent>();\n\n @Output()\n selectionChanged: EventEmitter<AXDataGridSelectionChangeEvent> = new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n @Output()\n rowSelectionChange: EventEmitter<AXDataGridSelectionChangeEvent> = new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n @Output()\n onRowSelectionChanged: EventEmitter<AXDataGridRowSelectionChangeEvent> = new EventEmitter<AXDataGridRowSelectionChangeEvent>();\n\n getRowHeight(param) {\n if (param.data && param.data.rowHeight && param.node.level == 0) {\n return param.data.rowHeight;\n } else if (this.masterDetail == true && param.node.level == 1) {\n return this.detailRowHeight;\n } else if (this.masterDetail == false && param.data && param.data.rowHeight) {\n return param.data.rowHeight;\n } else {\n return null;\n }\n }\n\n @Input()\n rowClass?: (params: AXGridRowParams) => (string | string[]) | (string | string[]);\n\n @Input()\n rtl: boolean = AXConfig.get('layout.rtl');\n\n constructor(private ref: ElementRef, private cdr: ChangeDetectorRef) {\n this.localeText = AXTranslator.get('dataGrid');\n }\n\n private calcHeight(): void {\n if (this.toolbar) {\n this.internalHeight = `calc(100% - ${40}px)`;\n } else {\n this.internalHeight = '100%';\n }\n }\n\n private get intenalGridDataSource() {\n const that = this;\n return {\n rowCount: null,\n getRows: (params) => {\n // that.gridApi.gridOptionsWrapper.setProperty('cacheBlockSize', this.takeCount ? this.takeCount : params.api.paginationGetPageSize());\n that.dataSourceSuccessCallback = params.successCallback;\n const loadParams: AXDataSourceReadParams = {};\n loadParams.searchText = that.searchText;\n loadParams.skip = params.request.startRow;\n // loadParams.take = params.request.endRow - params.request.startRow;\n loadParams.take = that.takeCount ? that.takeCount : params.api.paginationGetPageSize() * 2;\n loadParams.sort = params.request.sortModel.map((c) => {\n return {\n field: c.colId,\n dir: c.sort\n };\n });\n // loadParams.groups = params.request.rowGroupCols.map(r => r.field);\n // loadParams.groupKeys = params.request.groupKeys;\n // loadParams.data = params.parentNode.data;\n loadParams.group = {\n fields: params.request.rowGroupCols.map((r) => r.field),\n keys: params.request.groupKeys,\n parentData: params.parentNode.data\n };\n loadParams.filter = params.request.filterModel;\n that.dataSource.fetch(loadParams);\n }\n };\n }\n getMainMenuItems(e) {\n return ['pinSubMenu', 'separator'];\n }\n\n ngOnDestroy(): void {\n this.gridApi.destroy();\n }\n\n isServerSideGroup = (e) => {\n return e[this.hasChildField];\n };\n\n getServerSideGroupKey = (e) => {\n return e[this.keyField];\n };\n // todo gridOptions: GridOptions\n internalGridReady(gridOptions) {\n gridOptions.api.checkGridSize();\n this.takeCount = this.takeCount ? this.takeCount : gridOptions.api.paginationGetPageSize() * 2;\n this.takeCount = this.takeCount < 20 ? 20 : this.takeCount;\n gridOptions.api.gridOptionsWrapper.setProperty('cacheBlockSize', this.takeCount);\n this.gridApi = gridOptions.api;\n\n this.mapColumns();\n this.calcHeight();\n\n if (!this.loadOnInit) {\n this.loadOnInit = true;\n return;\n }\n\n if (this.remoteOperation) {\n this.gridApi.setServerSideDatasource(this.intenalGridDataSource);\n }\n\n if (!this.remoteOperation) {\n this.refresh();\n }\n }\n\n ngAfterContentInit(): void {\n const that = this;\n if (this.rowTemplate) {\n this.fullWidthCellRendererFramework = this.rowTemplate.renderer;\n this.fullWidthCellRendererParams = this.rowTemplate.params;\n }\n this.frameworkComponents.agDateInput = AXDatePickerFilterComponent;\n\n if (this.gridDetailTemplate) {\n this.masterDetail = true;\n this.detailCellRendererParams = this.gridDetailTemplate.params;\n this.detailCellRenderer = 'detailRendererFramework';\n this.frameworkComponents.detailRendererFramework = this.gridDetailTemplate.renderer;\n\n this.detailRowHeight = this.gridDetailTemplate.height;\n }\n this.isFullWidthCell = () => {\n return that.rowTemplate != null;\n };\n //this.cdr\n }\n\n ngOnInit(): void {\n if (this.selectionMode === 'single') {\n this.groupSelectsChildren = false;\n }\n if (this.keyField !== 'null' && this.hasChildField !== 'null') {\n this.rowGroupPanelShow = 'never';\n this.treeData = true;\n }\n if (this.remoteOperation) {\n this.rowModelType = 'serverSide';\n }\n //\n if (this.rtl == null) {\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\n }\n //\n }\n\n gridSelectRow() {\n if (this.gridApi) {\n if (this.selectRow && this.selectRow.length > 0 && this.gridApi !== undefined && typeof this.selectRow[0] != 'object') {\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n this.selectRow.forEach((id) => {\n if (node.data[this.keyField] === id) {\n select = true;\n node.setSelected(select);\n }\n });\n }\n });\n } else {\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n this.selectRow.forEach((item) => {\n if (item.rowIndex != undefined && item.rowLevel != undefined) {\n if (node.data[this.keyField] === item.data[this.keyField]) {\n select = true;\n }\n } else {\n if (node.data[this.keyField] === item[this.keyField]) {\n select = true;\n }\n }\n });\n node.setSelected(select);\n }\n });\n }\n }\n }\n\n // ngAfterViewChecked(): void {\n\n // //Called after every check of the component's view. Applies to components only.\n // //Add 'implements AfterViewChecked' to the class.\n // // this.selectByValues();\n // this.enabelSelect = false;\n\n // }\n rebuildGrid() {\n this.mapColumns();\n setTimeout(() => {\n if (this.sizeColumnsToFit) {\n this.gridApi.sizeColumnsToFit();\n }\n }, 10);\n }\n\n ngAfterViewInit(): void {\n if (this.treeData === true) {\n this.columnDefs = this.columns.map((c) => c.render());\n\n const groupColumn = this.columnDefs.find((c) => c.rowGroupIndex == '0' && c.field !== '');\n\n this.autoGroupColumnDef = {\n headerName: groupColumn.headerName,\n width: groupColumn.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: groupColumn.field\n };\n\n this.columnDefs.forEach((elm) => {\n if (elm.rowGroupIndex > -1) {\n elm.hide = true;\n }\n });\n }\n //setTimeout(() => {\n this.gridView = true;\n //});\n\n this.enabelSelect = true;\n this.dataSource.onDataReceived.subscribe((_data) => {\n const result = _data.data.result;\n this.hideLoading();\n let items: any[];\n let totalCount: number;\n if (Array.isArray(result)) {\n items = result;\n totalCount = result.length;\n } else {\n items = result.items;\n totalCount = result.totalCount;\n }\n if (this.dataSourceSuccessCallback) {\n if (!this.loadOnInit) {\n this.dataSourceSuccessCallback([], 0);\n } else {\n this.dataSourceSuccessCallback(items, totalCount);\n }\n } else {\n if (!this.loadOnInit && this.gridApi !== undefined) {\n this.gridApi.setRowData([]);\n } else if (this.gridApi !== undefined) {\n this.gridApi.setRowData(items);\n }\n }\n\n this.gridSelectRow();\n });\n\n this.dataSource.onFetchStart.subscribe(() => {\n this.showLoading();\n });\n\n if (this.searchInput) {\n this.searchInput.onValueChanged.subscribe((c) => {\n this.searchText = c.value;\n });\n }\n //\n this.cdr.detectChanges();\n }\n\n mapColumns() {\n this.columnDefs = this.columns.map((c) => c.render());\n\n // if (this.showRowNumber) {\n // this.columnDefs.push({\n // headerName: AXConfig.get('layout.rtl') ? 'ردیف' : 'Row',\n // valueGetter: 'node.rowIndex + 1',\n // pinned: AXConfig.get('layout.rtl') ? 'right' : 'left'\n // });\n // }\n\n if (this.gridDetailTemplate) {\n if (this.columnDefs[0].checkboxSelection === true && this.columnDefs[0].field === '') {\n this.columnDefs[1].cellRenderer = 'agGroupCellRenderer';\n } else {\n this.columnDefs[0].cellRenderer = 'agGroupCellRenderer';\n }\n }\n\n if (this.hasChildField === 'null') {\n const groupColumn = this.columnDefs.find((c) => c.rowGroupIndex === undefined && c.field !== '');\n if (groupColumn && this.groupHideOpenParents == false) {\n this.autoGroupColumnDef = {\n headerName: groupColumn.headerName,\n width: groupColumn.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: groupColumn.field\n };\n // groupColumn.hide = true;\n }\n }\n\n this.columnDefs.forEach((elm) => {\n if (elm.rowGroupIndex > -1) {\n elm.hide = true;\n }\n });\n }\n\n displayedColumnsChanged(e) {\n if (this.hasChildField === 'null') {\n const ee = e.columnApi.getAllDisplayedColumnGroups();\n const eee = ee.find((c) => c.colId !== 'ag-Grid-AutoColumn' && c.colId !== '0');\n if (eee && eee.colId) {\n this.autoGroupColumnDef = {\n headerName: eee.colDef.headerName,\n width: eee.colDef.width,\n cellRendererParams: { checkbox: this.showCheckBox },\n field: eee.colDef.field\n };\n }\n // eee.hide = true;\n }\n }\n\n refresh(route: any[] = []) {\n if (this.remoteOperation && this.gridApi !== undefined) {\n // this.gridApi.purgeServerSideCache(route);\n this.gridApi.setServerSideDatasource(this.intenalGridDataSource);\n } else {\n // TODO : check fetch param\n this.dataSource.fetch(null);\n }\n }\n\n internalGridCellClicked(e: CellClickedEvent) {\n this.cellClick.emit({ data: this.mapCellEvent(e), component: this, htmlElement: this.ref.nativeElement });\n }\n\n internalGridCellDoubleClicked(e: CellClickedEvent) {\n this.cellDbClick.emit({ data: this.mapCellEvent(e), component: this, htmlElement: this.ref.nativeElement });\n }\n\n internalGridCellFocused(e: CellClickedEvent) {\n this.cellFocuse.emit({ data: this.mapCellEvent(e), htmlElement: this.ref.nativeElement, component: this });\n }\n\n internalGridRowClicked(e: RowClickedEvent) {\n if (!e.node.group) {\n this.rowClick.emit({ data: this.mapRowEvent(e), component: this, htmlElement: this.ref.nativeElement });\n }\n }\n\n internalGridRowDoubleClicked(e: CellClickedEvent) {\n if (!e.node.group) {\n this.rowDbClick.emit({ data: this.mapRowEvent(e), htmlElement: this.ref.nativeElement, component: this });\n }\n }\n\n differenceOf2Arrays(array1: any, array2: any) {\n const temp = [];\n for (const i in array1) {\n if (array2.indexOf(array1[i]) === -1) {\n temp.push(array1[i]);\n }\n }\n for (const i in array2) {\n if (array1.indexOf(array2[i]) === -1) {\n temp.push(array2[i]);\n }\n }\n return temp.sort((a, b) => a - b);\n }\n\n rowSelectionChanged(e) {\n // debugger;\n // this.gridApi.forEachNode((node) => {\n // if (node.data[this.keyField] == e.node.data[this.keyField]) {\n // node.setSelected(e.node.selected);\n // }\n // });\n if (e.node.selected == true) {\n this.selectRow.push(e.data);\n } else {\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != e.data[this.keyField]);\n }\n this.rowSelectionChange.emit({ component: this, data: e, htmlElement: this.ref.nativeElement });\n // console.log('e', e);\n // console.log('select', e.node.selected);\n // console.log('index', e.rowIndex);\n }\n\n internalGridSelectionChanged(e) {\n const args: AXGridRowSelectionEvent = { items: [] };\n const oldNodes = this.oldSelectionNodes;\n const nodes = this.gridApi.getSelectedNodes();\n nodes.forEach((i) => {\n args.items.push({\n rowLevel: i.level,\n rowIndex: i.rowIndex,\n data: i.data\n });\n });\n this.selectionChanged.emit({ data: args, component: this, htmlElement: this.ref.nativeElement });\n let action = nodes.length > oldNodes.length ? true : false;\n const node = this.differenceOf2Arrays(nodes, oldNodes);\n this.onRowSelectionChanged.emit({ component: this, selected: action, data: node, htmlElement: this.ref.nativeElement });\n this.oldSelectionNodes = nodes;\n }\n\n private mapCellEvent(e: CellEvent): AXGridCellEvent {\n return {\n rowLevel: 0,\n column: e.column,\n data: e.data,\n rowIndex: e.rowIndex,\n value: e.value\n };\n }\n\n private mapRowEvent(e: RowEvent): AXGridRowEvent {\n return {\n rowLevel: 0,\n data: e.data,\n rowIndex: e.rowIndex\n };\n }\n\n public deselectAll() {\n this.gridApi.deselectAll();\n }\n\n internalGetRowClass = (p: any) => {\n if (this.rowClass) {\n if (this.rowClass instanceof Function) {\n return this.rowClass({\n rowIndex: p.node.rowIndex,\n rowLevel: p.node.level,\n data: p.data\n });\n } else {\n return this.rowClass;\n }\n }\n };\n\n showLoading(): void {\n if (this.gridApi) {\n this.gridApi.showLoadingOverlay();\n }\n }\n\n hideLoading(): void {\n if (this.gridApi) {\n this.gridApi.hideOverlay();\n }\n }\n\n internalGridSizeChanged(e: GridSizeChangedEvent) {\n if (e.clientWidth > 0 && e.clientHeight > 0) {\n this.performSizeColumnsToFit(e.api);\n }\n }\n\n internalGridFirstDataRendered(e: FirstDataRenderedEvent) {\n this.performSizeColumnsToFit(e.api);\n }\n\n private performSizeColumnsToFit(api: GridApi) {\n if (this.sizeColumnsToFit) {\n api.sizeColumnsToFit();\n }\n }\n}\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n\n@Component({\n selector: 'ax-data-grid-filter',\n template: `\n <div class='ax-grid-filter-container'>\n <ng-content></ng-content>\n <div class='btn-group' role='group'>\n <button type='button' class='btn btn-primary btn-sm'>\n <i class='fas fa-filter'></i>\n </button>\n <button type='button' class='btn btn-danger btn-sm'>\n <i class='fas fa-trash-alt'></i>\n </button>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AXDataGridFilterComponent {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDataGridComponent } from './datagrid.component';\nimport { FormsModule } from '@angular/forms';\nimport { AgGridModule } from 'ag-grid-angular';\nimport { AXDataSourceModule } from '@acorex/components';\nimport { AXGridTextColumn, TextFilterRenderer } from './columns/text-column.component';\nimport { AXGridCheckColumn, BooleanRenderer, BooleanFilterRenderer } from './columns/check-column.component';\nimport { AXCoreModule } from '@acorex/core';\nimport { AXGridSelectionColumn } from './columns/selection-column.component';\nimport { CommandRenderer, AXGridCommandColumn } from './columns/command-column.component';\nimport { AXDataGridFilterComponent } from './filters/filter.component';\nimport { AXGridDateColumn, AXDatePickerFilterComponent } from './columns/date-column.component';\nimport { AXDataGridRowTemplateComponent, AXDataGridRowTemplateRenderer } from './templates/row-template.component';\nimport { AXDataGridCellTemplateComponent, AXDataGridCellTemplateRenderer } from './templates/cell-template.component';\nimport { AXDataGridDetailTemplateComponent, AXDataGridDetailTemplateRenderer } from './templates/detail-template.component';\nimport { AXTextBoxModule } from '@acorex/components';\nimport { AXCheckBoxModule } from '@acorex/components';\nimport { AXSelectBoxModule } from '@acorex/components';\nimport { AXButtonModule } from '@acorex/components';\nimport { AXDatePickerModule } from '@acorex/components';\nimport 'ag-grid-enterprise';\nimport { AXGridRowNumberColumn } from './columns/row-number-column.component';\n\n@NgModule({\n declarations: [\n AXDataGridComponent,\n AXGridTextColumn,\n AXGridCheckColumn,\n AXGridSelectionColumn,\n AXGridDateColumn,\n AXGridRowNumberColumn,\n AXGridCommandColumn,\n BooleanRenderer,\n BooleanFilterRenderer,\n TextFilterRenderer,\n AXDataGridFilterComponent,\n AXDataGridRowTemplateComponent,\n AXDataGridDetailTemplateComponent,\n AXDataGridRowTemplateRenderer,\n AXDataGridDetailTemplateRenderer,\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer,\n AXDatePickerFilterComponent,\n CommandRenderer\n ],\n imports: [\n CommonModule,\n AXCoreModule,\n FormsModule,\n //AgGridModule,\n AXTextBoxModule,\n AXCheckBoxModule,\n AXSelectBoxModule,\n AXDataSourceModule,\n AXButtonModule,\n AXDatePickerModule,\n AgGridModule.withComponents([AXDatePickerFilterComponent])\n ],\n exports: [\n AXDataGridComponent,\n AXDataGridFilterComponent,\n AXDataGridRowTemplateComponent,\n AXDataGridDetailTemplateComponent,\n AXDataGridRowTemplateRenderer,\n AXDataGridDetailTemplateRenderer,\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer,\n AXGridTextColumn,\n AXGridRowNumberColumn,\n AXGridCheckColumn,\n AXGridDateColumn,\n AXGridSelectionColumn,\n AXGridCommandColumn,\n BooleanRenderer,\n BooleanFilterRenderer,\n CommandRenderer\n ],\n entryComponents: [\n BooleanRenderer,\n BooleanFilterRenderer,\n CommandRenderer,\n TextFilterRenderer,\n AXDataGridRowTemplateComponent,\n AXDataGridDetailTemplateComponent,\n AXDataGridRowTemplateRenderer,\n AXDataGridDetailTemplateRenderer,\n AXDataGridCellTemplateComponent,\n AXDataGridCellTemplateRenderer\n ],\n providers: []\n})\nexport class AXDataGridModule {}\n","import { Component, ViewChild, ChangeDetectorRef, ElementRef } from '@angular/core';\nimport { AXDataGridComponent, AXDataGridSelectionChangeEvent } from '../../data-grid/datagrid.component';\nimport { AXGridDataColumn } from '../../data-grid/columns/column.component';\nimport { AXTranslator, AXButtonItem, AXConfig } from '@acorex/core';\nimport {\n AXToolbarSearchComponent,\n AXBasePopupPageComponent,\n AXMenuItemClickEvent,\n AXDataSourceComponent,\n AXDataSourceReadParams\n} from '@acorex/components';\n\n@Component({\n templateUrl: './data-lov-popup.component.html'\n})\nexport class AXDataLovPopupComponent extends AXBasePopupPageComponent {\n @ViewChild('grid', { static: true })\n grid: AXDataGridComponent;\n\n @ViewChild('searchBox')\n searchBox: AXToolbarSearchComponent;\n\n columns: AXGridDataColumn[] = [];\n\n selectedItems: any[] = [];\n\n keyField: string = '';\n allowNull: boolean = true;\n\n hasChildField: string;\n rtl: boolean = AXConfig.get('layout.rtl');\n\n selectedRows: any[] = [];\n\n constructor(private cdr: ChangeDetectorRef, private ref: ElementRef) {\n super();\n }\n\n dataSource: AXDataSourceComponent;\n\n selectionMode: string;\n\n ngOnInit(): void {\n if (this.rtl == null) {\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\n }\n }\n\n onDoneClick() {\n if (this.selectedItems) {\n this.close(this.selectedItems);\n } else {\n this.close();\n }\n }\n\n rowDoubleClicked(e) {\n console.log('s', e.data.data);\n if (this.selectionMode == 'single') {\n this.selectedItems = [];\n }\n\n this.selectedItems = this.selectedItems.filter((c) => c[this.keyField] != e.data.data[this.keyField]);\n this.selectedItems.push(e.data.data);\n\n this.onDoneClick();\n }\n\n onCancelClick() {\n this.close();\n }\n\n rowSelectionChange(e) {\n if (e.data.node.selected == true) {\n this.selectedItems = this.selectedItems.filter((c) => c[this.keyField] != e.data.node.data[this.keyField]);\n this.selectedItems.push(e.data.node.data);\n } else {\n if (this.allowNull == true || (this.allowNull == false && this.selectedItems.length > 1)) {\n this.selectedItems = this.selectedItems.filter((c) => c[this.keyField] != e.data.node.data[this.keyField]);\n }\n }\n // console.log('ee', e)\n // // console.log('e', e);\n // console.log('select', e.data.node.selected);\n // console.log('index', e.data.rowIndex);\n }\n\n ngAfterViewInit() {\n this.selectedItems.forEach((ele) => {\n this.selectedRows.push(ele);\n });\n this.searchBox.focus();\n if (this.dataSource.onDataReceived) {\n this.dataSource.onDataReceived.subscribe((arg) => {\n this.cdr.markForCheck();\n this.cdr.detectChanges();\n });\n }\n }\n\n // onValueSearchChanged(e) {\n\n // const params: AXDataSourceReadParams = {}\n // params.searchText = e.value;\n // // params.take = 100;\n // // params.skip = 0\n // this.dataSource.fetch(params);\n // }\n\n getFooterButtons(): AXButtonItem[] {\n return [\n {\n text: AXTranslator.get('common.confirm'),\n name: 'confirm',\n style: 'ax primary',\n icon: 'far fa-check-circle'\n },\n {\n text: AXTranslator.get('common.cancel'),\n name: 'cancel',\n style: 'ax light',\n icon: 'far fa-times-circle'\n }\n ];\n }\n\n onFooterButtonClick(e: AXMenuItemClickEvent) {\n if (e.name === 'confirm') {\n this.onDoneClick();\n }\n if (e.name === 'cancel') {\n this.onCancelClick();\n }\n }\n}\n","import { Component, Input, ContentChildren, QueryList, Output, EventEmitter, ContentChild, ViewChild, ViewEncapsulation, ElementRef, TemplateRef } from '@angular/core';\nimport { AXPopupService, AXBaseInputComponent, AXBaseSizableComponent, AXElementSize, AXValidation } from '@acorex/components';\nimport { AXDataSourceComponent, AXSelectBoxComponent, AXDataEvent, AXValidatableComponent } from '@acorex/components';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\nimport { AXConfig } from '@acorex/core';\n\n\n\n@Component({\n selector: 'ax-lov',\n templateUrl: './data-lov.component.html',\n encapsulation: ViewEncapsulation.None,\n host: { style:'width: 100%' },\n providers: [{ provide: AXValidatableComponent, useExisting: AXLOVComponent }]\n})\nexport class AXLOVComponent extends AXValidatableComponent implements AXBaseSizableComponent, AXBaseInputComponent {\n\n @ContentChild(AXValidation, { static: true })\n private _contentValidation: AXValidation;\n private _validation: AXValidation;\n\n @Input()\n public get validation(): AXValidation {\n return this._validation ? this._validation : this._contentValidation;\n }\n public set validation(v: AXValidation) {\n this._validation = v;\n }\n\n constructor(private popup: AXPopupService, private ref: ElementRef) {\n super();\n }\n\n @ViewChild('selectBox', { static: true })\n selectBox: AXSelectBoxComponent;\n\n @ContentChild(AXDataSourceComponent, { static: true })\n dataSource: AXDataSourceComponent;\n\n @ContentChildren(AXGridDataColumn)\n private columns: QueryList<AXGridDataColumn>;\n\n\n @ContentChild('itemTemplate', { static: true })\n rowTemplate: TemplateRef<any>;\n\n\n @Input()\n textField: string = '';\n\n @Input()\n allowSearch: boolean = true;\n\n @Input()\n valueField: string = '';\n\n @Input()\n hasChildField: string = 'null';\n\n @Input()\n allowNull: boolean = true;\n\n @Input()\n popupSize: 'sm' | 'md' | 'lg' | 'full' = 'md';\n\n @Input()\n selectedItems: any[] = [];\n\n // @Input()\n // selectedValues: any[] = [];\n\n @Input()\n readonly: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n chipsWidth: string = '';\n\n @Input()\n size: AXElementSize = 'md';\n\n @Input()\n caption: string;\n\n @Input()\n mode: 'single' | 'multiple' = 'single';\n\n @Input()\n placeholder: string;\n\n @Output()\n onSelectionChange: EventEmitter<AXDataEvent<any>> = new EventEmitter<AXDataEvent<any>>();\n\n @Input()\n rtl: boolean = AXConfig.get('layout.rtl');\n\n\n focus(): void { this.selectBox.focus(); }\n\n refresh() {\n this.selectBox.refresh();\n }\n\n handleButtonClick() {\n this.open();\n }\n\n ngOnInit(): void {\n if (this.rtl == null) {\n this.rtl = window.getComputedStyle(this.ref.nativeElement, null).getPropertyValue('direction') === 'rtl';\n }\n // this.selectVal = this.selectedValues;\n this.onSelectionChange.subscribe(c => {\n this.clearValidationStyle(this.ref.nativeElement);\n });\n }\n\n ngAfterContentInit(): void {\n this.initValidation(this.ref, 'selectedItems', this.validation);\n }\n\n\n handleSelectChange(e) {\n\n // console.log('se' + JSON.stringify(e));\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\n }\n\n\n public open(): Promise<any> {\n return new Promise((resolve) => {\n this.selectBox.dropdown.close();\n this.popup.open(AXDataLovPopupComponent, {\n size: this.popupSize,\n data: {\n dataSource: this.dataSource,\n selectionMode: this.mode,\n columns: this.columns.toArray(),\n // selectedItems: this.selectedValues,\n selectedItems: this.selectedItems,\n keyField: this.valueField,\n allowNull: this.allowNull,\n hasChildField: this.hasChildField,\n rtl: this.rtl\n\n },\n title: this.caption,\n // size: this.size,\n }).then(c => {\n\n if (c.data) {\n // this.selectedValues = [];\n this.selectedItems = [];\n c.data.forEach(elm => {\n this.selectedItems.push(elm)\n });\n // this.selectedItems = c.data;\n // this.selectBox.refresh();\n // console.log('se' + JSON.stringify(this.selectedItems));\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\n if (resolve) {\n resolve(c.data);\n }\n } else {\n if (resolve) {\n resolve();\n }\n }\n\n this.selectBox.refresh();\n });\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLOVComponent } from './data-lov.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\n\n\n@NgModule({\n declarations: [AXLOVComponent, AXDataLovPopupComponent],\n imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\n exports: [AXLOVComponent, AXDataLovPopupComponent],\n providers: [],\n entryComponents: [AXDataLovPopupComponent]\n})\nexport class AXLOVModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { AXGridDataColumn } from './column.component';
2
+ import { ICellRendererAngularComp, IFilterAngularComp } from 'ag-grid-angular';
3
+ import { ICellRendererParams, IFilterParams, IDoesFilterPassParams, IAfterGuiAttachedParams } from 'ag-grid-community';
4
+ export declare class AXGridCheckColumn extends AXGridDataColumn {
5
+ constructor();
6
+ render(): any;
7
+ }
8
+ export declare class BooleanRenderer implements ICellRendererAngularComp {
9
+ value: boolean;
10
+ constructor();
11
+ agInit(params: ICellRendererParams): void;
12
+ refresh(params: ICellRendererParams): boolean;
13
+ }
14
+ export declare class BooleanFilterRenderer implements IFilterAngularComp {
15
+ value?: boolean;
16
+ private params;
17
+ private valueGetter;
18
+ input: any;
19
+ selectItem: {
20
+ value: number;
21
+ label: string;
22
+ }[];
23
+ agInit(params: IFilterParams): void;
24
+ isFilterActive(): boolean;
25
+ doesFilterPass(params: IDoesFilterPassParams): boolean;
26
+ getModel(): any;
27
+ setModel(model: any): void;
28
+ ngAfterViewInit(params: IAfterGuiAttachedParams): void;
29
+ onChange(newValue: any): void;
30
+ }
@@ -0,0 +1,29 @@
1
+ import { AXGridCellParams } from '../datagrid.events';
2
+ import { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';
3
+ export declare abstract class AXGridDataColumn {
4
+ cellTemplate: AXDataGridCellTemplateComponent;
5
+ width: number;
6
+ maxWidth: number;
7
+ minWidth: number;
8
+ pinned: 'start' | 'end' | null;
9
+ allowSorting: boolean;
10
+ allowFiltering: boolean;
11
+ cellClass: (params: AXGridCellParams) => (string | string[]) | (string | string[]);
12
+ sort: 'asc' | 'desc' | null;
13
+ field: string;
14
+ caption: string;
15
+ cellRendererParams: any;
16
+ checkbox: boolean;
17
+ headerCheckbox: boolean;
18
+ groupIndex: number;
19
+ treeIndex: number;
20
+ enableRowGroup: boolean;
21
+ hide: boolean;
22
+ floatingFilter: boolean;
23
+ disableMenu: boolean;
24
+ resizable: boolean;
25
+ menuColumnDisable: boolean;
26
+ menuItemDisable: boolean;
27
+ constructor();
28
+ render(): any;
29
+ }
@@ -0,0 +1,22 @@
1
+ import { AXGridDataColumn } from './column.component';
2
+ import { EventEmitter } from '@angular/core';
3
+ import { ICellRendererParams } from 'ag-grid-community';
4
+ import { AXGridRowCommandEvent } from '../datagrid.events';
5
+ import { AXMenuItem } from '@acorex/core';
6
+ import { ICellRendererAngularComp } from 'ag-grid-angular';
7
+ export declare type AXGridRowCommandFunction = (row: any) => AXMenuItem[];
8
+ export declare class AXGridCommandColumn extends AXGridDataColumn {
9
+ items: AXMenuItem[] | AXGridRowCommandFunction;
10
+ onItemClick: EventEmitter<AXGridRowCommandEvent>;
11
+ render(): any;
12
+ }
13
+ export declare class CommandRenderer implements ICellRendererAngularComp {
14
+ items: AXMenuItem[] | AXGridRowCommandFunction;
15
+ node: any;
16
+ private clickCallback;
17
+ constructor();
18
+ agInit(params: ICellRendererParams): void;
19
+ refresh(params: ICellRendererParams): boolean;
20
+ private mapParams;
21
+ onClick(item: AXMenuItem, e: MouseEvent): void;
22
+ }
@@ -0,0 +1,27 @@
1
+ import { ElementRef } from '@angular/core';
2
+ import { AXGridDataColumn } from './column.component';
3
+ import { AXCalendarType } from '@acorex/core';
4
+ import { AXDatePickerComponent } from '@acorex/components';
5
+ export declare class AXGridDateColumn extends AXGridDataColumn {
6
+ constructor();
7
+ format: string;
8
+ type: AXCalendarType;
9
+ render(): any;
10
+ }
11
+ export declare class AXDatePickerFilterComponent {
12
+ datePicker: AXDatePickerComponent;
13
+ div: ElementRef;
14
+ selectableHoliday: boolean;
15
+ type: string;
16
+ date: Date;
17
+ params: any;
18
+ picker: any;
19
+ agInit(params: any): void;
20
+ ngAfterViewInit(): void;
21
+ ngOnDestroy(): void;
22
+ onDateChanged(selectedDates: any): void;
23
+ getDate(): Date;
24
+ setDate(date: Date): void;
25
+ setInputPlaceholder(placeholder: string): void;
26
+ onValueChanged(e: any): void;
27
+ }
@@ -0,0 +1,7 @@
1
+ import { AXGridDataColumn } from './column.component';
2
+ export declare class AXGridRowNumberColumn extends AXGridDataColumn {
3
+ constructor();
4
+ ngOnInit(): void;
5
+ condition: (params: any) => boolean;
6
+ render(): any;
7
+ }
@@ -0,0 +1,8 @@
1
+ import { AXGridDataColumn } from './column.component';
2
+ export declare class AXGridSelectionColumn extends AXGridDataColumn {
3
+ constructor();
4
+ ngOnInit(): void;
5
+ condition: (params: any) => boolean;
6
+ pinned: 'start' | 'end';
7
+ render(): any;
8
+ }
@@ -0,0 +1,20 @@
1
+ import { AXGridDataColumn } from './column.component';
2
+ import { IFilterParams, IDoesFilterPassParams, IAfterGuiAttachedParams } from 'ag-grid-community';
3
+ import { IFilterAngularComp } from 'ag-grid-angular';
4
+ export declare class AXGridTextColumn extends AXGridDataColumn {
5
+ constructor();
6
+ render(): any;
7
+ }
8
+ export declare class TextFilterRenderer implements IFilterAngularComp {
9
+ value?: string;
10
+ private params;
11
+ private valueGetter;
12
+ private input;
13
+ agInit(params: IFilterParams): void;
14
+ isFilterActive(): boolean;
15
+ doesFilterPass(params: IDoesFilterPassParams): boolean;
16
+ getModel(): any;
17
+ setModel(model: any): void;
18
+ ngAfterViewInit(params: IAfterGuiAttachedParams): void;
19
+ onChange(newValue: any): void;
20
+ }
@@ -0,0 +1,129 @@
1
+ import { EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
2
+ import { AXDataSourceComponent } from '@acorex/components';
3
+ import { AXGridDataColumn } from './columns/column.component';
4
+ import { GridOptions, CellClickedEvent, RowClickedEvent, FirstDataRenderedEvent, GridSizeChangedEvent } from 'ag-grid-community';
5
+ import { AXGridCellEvent, AXGridRowEvent, AXGridRowSelectionEvent, AXGridRowParams } from './datagrid.events';
6
+ import { AXDataGridRowTemplateComponent } from './templates/row-template.component';
7
+ import { AXToolbarSearchComponent, AXToolbarComponent, AXDataEvent, AXValueEvent } from '@acorex/components';
8
+ import { AXDataGridDetailTemplateComponent } from './templates/detail-template.component';
9
+ export declare class AXDataGridColumnsChangeEvent extends AXValueEvent<AXGridDataColumn[]> {
10
+ component: AXDataGridComponent;
11
+ }
12
+ export declare class AXDataGridCellEvent extends AXDataEvent<AXGridCellEvent> {
13
+ component: AXDataGridComponent;
14
+ }
15
+ export declare class AXDaagridRowClickEvent extends AXDataEvent<AXGridRowEvent> {
16
+ component: AXDataGridComponent;
17
+ }
18
+ export declare class AXDataGridSelectionChangeEvent extends AXDataEvent<AXGridRowSelectionEvent> {
19
+ component: AXDataGridComponent;
20
+ }
21
+ export declare class AXDataGridRowSelectionChangeEvent extends AXDataEvent<any> {
22
+ component: AXDataGridComponent;
23
+ selected: boolean;
24
+ }
25
+ export declare class AXDataGridComponent {
26
+ private ref;
27
+ private cdr;
28
+ private gridApi;
29
+ private dataSourceSuccessCallback;
30
+ localeText: any;
31
+ gridOptions: GridOptions;
32
+ columnDefs: any[];
33
+ rowModelType: string;
34
+ fullWidthCellRendererFramework: any;
35
+ fullWidthCellRendererParams: any;
36
+ frameworkComponents: any;
37
+ isFullWidthCell: Function;
38
+ internalHeight: string;
39
+ detailCellRenderer: any;
40
+ detailCellRendererParams: any;
41
+ detailRowHeight: number;
42
+ masterDetail: boolean;
43
+ treeData: boolean;
44
+ enabelSelect: boolean;
45
+ gridView: boolean;
46
+ groupSelectsChildren: boolean;
47
+ oldSelectionNodes: any[];
48
+ remoteOperation: boolean;
49
+ rowMultiSelectWithClick: boolean;
50
+ suppressRowClickSelection: boolean;
51
+ suppressCellSelection: boolean;
52
+ sizeColumnsToFit: boolean;
53
+ showCheckBox: boolean;
54
+ floatingFilter: boolean;
55
+ takeCount: number;
56
+ autoGroupColumnDef: any;
57
+ selectionMode: 'single' | 'multiple';
58
+ selectRow: any[];
59
+ rowGroupPanelShow: 'always' | 'never';
60
+ loadOnInit: boolean;
61
+ keyField: string;
62
+ hasChildField: string;
63
+ private _searchText;
64
+ get searchText(): string;
65
+ set searchText(v: string);
66
+ private _filter;
67
+ get filter(): any[];
68
+ set filter(v: any[]);
69
+ private _inlineColumns;
70
+ columnsChange: EventEmitter<AXDataGridColumnsChangeEvent>;
71
+ private _columns;
72
+ get columns(): AXGridDataColumn[];
73
+ set columns(val: AXGridDataColumn[]);
74
+ defaultColDef: any;
75
+ rowHeight: any;
76
+ searchInput: AXToolbarSearchComponent;
77
+ toolbar: AXToolbarComponent;
78
+ rowTemplate: AXDataGridRowTemplateComponent;
79
+ gridDetailTemplate: AXDataGridDetailTemplateComponent;
80
+ private _contentDataSource;
81
+ private _dataSource;
82
+ get dataSource(): AXDataSourceComponent;
83
+ set dataSource(v: AXDataSourceComponent);
84
+ groupHideOpenParents: boolean;
85
+ cellClick: EventEmitter<AXDataGridCellEvent>;
86
+ cellDbClick: EventEmitter<AXDataGridCellEvent>;
87
+ cellFocuse: EventEmitter<AXDataGridCellEvent>;
88
+ rowClick: EventEmitter<AXDaagridRowClickEvent>;
89
+ rowDbClick: EventEmitter<AXDaagridRowClickEvent>;
90
+ selectionChanged: EventEmitter<AXDataGridSelectionChangeEvent>;
91
+ rowSelectionChange: EventEmitter<AXDataGridSelectionChangeEvent>;
92
+ onRowSelectionChanged: EventEmitter<AXDataGridRowSelectionChangeEvent>;
93
+ getRowHeight(param: any): any;
94
+ rowClass?: (params: AXGridRowParams) => (string | string[]) | (string | string[]);
95
+ rtl: boolean;
96
+ constructor(ref: ElementRef, cdr: ChangeDetectorRef);
97
+ private calcHeight;
98
+ private get intenalGridDataSource();
99
+ getMainMenuItems(e: any): string[];
100
+ ngOnDestroy(): void;
101
+ isServerSideGroup: (e: any) => any;
102
+ getServerSideGroupKey: (e: any) => any;
103
+ internalGridReady(gridOptions: any): void;
104
+ ngAfterContentInit(): void;
105
+ ngOnInit(): void;
106
+ gridSelectRow(): void;
107
+ rebuildGrid(): void;
108
+ ngAfterViewInit(): void;
109
+ mapColumns(): void;
110
+ displayedColumnsChanged(e: any): void;
111
+ refresh(route?: any[]): void;
112
+ internalGridCellClicked(e: CellClickedEvent): void;
113
+ internalGridCellDoubleClicked(e: CellClickedEvent): void;
114
+ internalGridCellFocused(e: CellClickedEvent): void;
115
+ internalGridRowClicked(e: RowClickedEvent): void;
116
+ internalGridRowDoubleClicked(e: CellClickedEvent): void;
117
+ differenceOf2Arrays(array1: any, array2: any): any[];
118
+ rowSelectionChanged(e: any): void;
119
+ internalGridSelectionChanged(e: any): void;
120
+ private mapCellEvent;
121
+ private mapRowEvent;
122
+ deselectAll(): void;
123
+ internalGetRowClass: (p: any) => string | string[];
124
+ showLoading(): void;
125
+ hideLoading(): void;
126
+ internalGridSizeChanged(e: GridSizeChangedEvent): void;
127
+ internalGridFirstDataRendered(e: FirstDataRenderedEvent): void;
128
+ private performSizeColumnsToFit;
129
+ }
@@ -1,23 +1,20 @@
1
- export interface AXGridRowEvent {
2
- data: any;
3
- rowIndex: number;
4
- rowLevel: number;
5
- }
6
- export interface AXGridRowCommandEvent extends AXGridRowEvent {
7
- command: string;
8
- htmlEvent:UIEvent
9
- }
10
- export interface AXGridCellEvent extends AXGridRowEvent {
11
- column: any;
12
- value: any;
13
- }
14
-
15
-
16
- export interface AXGridRowParams extends AXGridRowEvent {
17
- }
18
- export interface AXGridCellParams extends AXGridCellEvent {
19
- }
20
-
21
- export interface AXGridRowSelectionEvent {
22
- items: AXGridRowEvent[];
23
- }
1
+ export interface AXGridRowEvent {
2
+ data: any;
3
+ rowIndex: number;
4
+ rowLevel: number;
5
+ }
6
+ export interface AXGridRowCommandEvent extends AXGridRowEvent {
7
+ command: string;
8
+ htmlEvent: UIEvent;
9
+ }
10
+ export interface AXGridCellEvent extends AXGridRowEvent {
11
+ column: any;
12
+ value: any;
13
+ }
14
+ export interface AXGridRowParams extends AXGridRowEvent {
15
+ }
16
+ export interface AXGridCellParams extends AXGridCellEvent {
17
+ }
18
+ export interface AXGridRowSelectionEvent {
19
+ items: AXGridRowEvent[];
20
+ }
@@ -0,0 +1,3 @@
1
+ import 'ag-grid-enterprise';
2
+ export declare class AXDataGridModule {
3
+ }
@@ -0,0 +1,2 @@
1
+ export declare class AXDataGridFilterComponent {
2
+ }
@@ -0,0 +1,17 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { ICellRendererAngularComp } from 'ag-grid-angular';
3
+ import { ICellRendererParams } from 'ag-grid-community';
4
+ export declare class AXDataGridCellTemplateComponent {
5
+ templateRef: TemplateRef<any>;
6
+ renderer: any;
7
+ params: any;
8
+ constructor();
9
+ ngOnInit(): void;
10
+ }
11
+ export declare class AXDataGridCellTemplateRenderer implements ICellRendererAngularComp {
12
+ rowData: any;
13
+ templateRef: TemplateRef<any>;
14
+ constructor();
15
+ agInit(params: ICellRendererParams): void;
16
+ refresh(params: ICellRendererParams): boolean;
17
+ }
@@ -0,0 +1,16 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { ICellRendererAngularComp } from 'ag-grid-angular';
3
+ export declare class AXDataGridDetailTemplateComponent {
4
+ templateRef: TemplateRef<any>;
5
+ renderer: any;
6
+ params: any;
7
+ constructor();
8
+ ngOnInit(): void;
9
+ height: number;
10
+ }
11
+ export declare class AXDataGridDetailTemplateRenderer implements ICellRendererAngularComp {
12
+ refresh(params: any): boolean;
13
+ templateRef: TemplateRef<any>;
14
+ data: any;
15
+ agInit(params: any): void;
16
+ }
@@ -0,0 +1,15 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { ICellRendererAngularComp } from 'ag-grid-angular';
3
+ export declare class AXDataGridRowTemplateComponent {
4
+ templateRef: TemplateRef<any>;
5
+ renderer: any;
6
+ params: any;
7
+ constructor();
8
+ ngOnInit(): void;
9
+ }
10
+ export declare class AXDataGridRowTemplateRenderer implements ICellRendererAngularComp {
11
+ templateRef: TemplateRef<any>;
12
+ data: any;
13
+ refresh(params: any): boolean;
14
+ agInit(params: any): void;
15
+ }