@acorex/data-grid 6.5.52 → 6.5.53
Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-data-grid.mjs","sources":["../../../../projects/acorex/data-grid/src/lib/data-grid/templates/cell-template.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/filters/filter.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/check-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/command-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/date-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/selection-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/text-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/row-number-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/templates/row-template.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/templates/detail-template.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/datagrid.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/datagrid.component.html","../../../../projects/acorex/data-grid/src/lib/data-grid/datagrid.module.ts","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov.component.ts","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov.component.html","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov.module.ts","../../../../projects/acorex/data-grid/src/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, Directive } from '@angular/core';\nimport { AXGridCellParams } from '../datagrid.events';\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\nimport { AXDatePickerFilterComponent } from './date-column.component';\n\n\n@Directive()\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 { 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 {\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) as any;\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 @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 <ng-container *ngFor=\"let item of items; let i = index\">\n <button *ngIf=\"item.visible !== false\"\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 [attr.tabindex]=\"i\"\n (click)=\"onClick(item, $event)\"\n >\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\n </button>\n </ng-container>\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 }\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 @Input()\n condition: (params) => boolean;\n\n @Input()\n pinned: 'start' | 'end' = 'start';\n\n @Input()\n width: number = 40;\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 = true;\n col.sortable = false;\n col.minWidth = 5;\n col.width = this.width;\n col.floatingFilter = false;\n return col;\n }\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) as any;\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 ? null : 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} 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 // @Input()\n // showRowNumber: boolean = true;\n @Input()\n paginationAutoPageSize: boolean = false;\n\n @Input()\n paginationPageSize: number = 20;\n\n cacheBlockSize = this.paginationPageSize\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\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 pagination: boolean = true;\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\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<HTMLDivElement>, 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\n that.dataSourceSuccessCallback = params.successCallback;\n\n const loadParams: AXDataSourceReadParams = {};\n\n loadParams.searchText = that.searchText;\n\n loadParams.skip = params.request.startRow;\n\n loadParams.take = params.request.endRow - params.request.startRow;\n\n\n loadParams.sort = params.request.sortModel.map((c) => {\n return {\n field: c.colId,\n dir: c.sort\n };\n });\n\n loadParams.group = {\n fields: params.request.rowGroupCols.map((r) => r.field),\n keys: params.request.groupKeys,\n parentData: params.parentNode.data\n };\n\n loadParams.filter = params.request.filterModel;\n\n that.dataSource.fetch(loadParams);\n\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 getColumnDefs = () => {\n return this.gridApi.getColumnDefs();\n };\n\n getCurrentPageNumber = () => {\n return {\n current: this.gridApi.paginationGetCurrentPage() + 1,\n total: this.gridApi.paginationGetTotalPages()\n };\n };\n\n paginationGoToPage(number) {\n this.gridApi.paginationGoToPage(number - 1);\n }\n\n getServerSideGroupKey = (e) => {\n return e[this.keyField];\n };\n internalGridReady(gridOptions) {\n\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 }\n\n ngOnInit(): void {\n\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 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.remoteOperation && !this.paginationAutoPageSize) {\n setTimeout(() => {\n this.handlePageSize()\n });\n }\n\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 this.gridView = true;\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 this.cdr.detectChanges();\n\n }\n\n mapColumns() {\n this.columnDefs = this.columns.map((c) => c.render());\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 }\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 }\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 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 if (e.node.selected == true) {\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != e.data[this.keyField]);\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 }\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\n public deselectByKeyField(keyField) {\n\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n if (node.data[this.keyField] === keyField) {\n node.setSelected(select);\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != keyField)\n }\n }\n });\n\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\n private handlePageSize() {\n\n const pagingPanel = this.ref.nativeElement.querySelector('.ag-paging-panel')\n\n const select = document.createElement('select');\n\n select.addEventListener('change', (e: any) => {\n this.gridApi.paginationSetPageSize(Number(e.target.value));\n this.gridApi.setCacheBlockSize(Number(e.target.value))\n });\n\n const option1 = document.createElement('option');\n\n option1.setAttribute('value', '10');\n\n option1.textContent = '10';\n\n const option2 = document.createElement('option');\n\n option2.setAttribute('value', '20');\n\n option2.textContent = '20';\n\n select.appendChild(option1);\n\n select.appendChild(option2);\n\n select.value = '20';\n\n select.style.backgroundColor = 'white';\n\n select.style.color = 'gray';\n\n select.style.padding = '2px';\n\n select.style.border = '1px solid gray';\n\n select.style.borderRadius = '4px'\n\n pagingPanel.appendChild(select);\n\n }\n\n}\n","<div class=\"ax-grid-toolbar\" *ngIf=\"toolbar\">\n <ng-content select=\"ax-toolbar\"></ng-content>\n</div>\n<!-- [enableSorting]=\"true\" [enableColResize]=\"true\" [enableFilter]=\"allowFiltering\" -->\n\n\n<ag-grid-angular *ngIf=\"gridView\" class=\"ag-theme-balham\" [getRowClass]=\"internalGetRowClass\"\n [serverSideStoreType]=\"'partial'\" [style.height]=\"internalHeight\" [columnDefs]=\"columnDefs\" [enableRtl]=\"rtl\"\n [pagination]=\"pagination\" [rowGroupPanelShow]=\"rowGroupPanelShow\" [rowModelType]=\"rowModelType\"\n [detailRowHeight]=\"detailRowHeight\" [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\" [suppressMenuHide]=\"true\" [frameworkComponents]=\"frameworkComponents\"\n [isFullWidthCell]=\"isFullWidthCell\" [rowSelection]=\"selectionMode\" [rowMultiSelectWithClick]=\"rowMultiSelectWithClick\"\n [fullWidthCellRendererFramework]=\"fullWidthCellRendererFramework\" [cacheBlockSize]=\"cacheBlockSize\"\n [fullWidthCellRendererParams]=\"fullWidthCellRendererParams\" (cellClicked)=\"internalGridCellClicked($event)\"\n (cellDoubleClicked)=\"internalGridCellDoubleClicked($event)\" (cellFocused)=\"internalGridCellFocused($event)\"\n (rowClicked)=\"internalGridRowClicked($event)\" (selectionChanged)=\"internalGridSelectionChanged($event)\"\n (rowSelected)=\"rowSelectionChanged($event)\" (rowDoubleClicked)=\"internalGridRowDoubleClicked($event)\"\n (gridReady)=\"internalGridReady($event)\" [groupSelectsChildren]=\"groupSelectsChildren\"\n [suppressRowClickSelection]=\"suppressRowClickSelection\" [groupSelectsFiltered]=\"true\"\n [suppressCellSelection]=\"suppressCellSelection\" [autoGroupColumnDef]=\"autoGroupColumnDef\"\n [suppressAggFuncInHeader]=\"true\" [treeData]=\"treeData\" [animateRows]=\"true\" [isServerSideGroup]=\"isServerSideGroup\"\n [getServerSideGroupKey]=\"getServerSideGroupKey\" [masterDetail]=\"masterDetail\"\n [detailCellRendererParams]=\"detailCellRendererParams\" [detailCellRenderer]=\"detailCellRenderer\"\n (gridSizeChanged)=\"internalGridSizeChanged($event)\" (firstDataRendered)=\"internalGridFirstDataRendered($event)\"\n [localeText]=\"localeText\" [groupHideOpenParents]=\"groupHideOpenParents\" [enableRangeSelection]=\"true\"\n [enableRangeSelection]=\"false\" [allowContextMenuWithControlKey]=\"false\" [getMainMenuItems]=\"getMainMenuItems\">\n</ag-grid-angular>\n\n\n<!-- (displayedColumnsChanged)=\"displayedColumnsChanged($event)\" -->","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\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 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 pagination:boolean =true;\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 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 }\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'\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","<div style=\"height: 70vh; padding: 0.5em;\">\n <div style=\"height: calc(98%);\">\n\n <ax-data-grid [pagination]=\"pagination\" [rtl]=\"rtl\" [suppressRowClickSelection]=\"false\" [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\" [selectRow]=\"selectedItems\" #grid [columns]=\"columns\"\n [remoteOperation]=\"true\" [selectionMode]=\"selectionMode\" (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\" [dataSource]=\"dataSource\">\n <ax-toolbar>\n <ax-toolbar-search #searchBox style=\"width: 100%;\"></ax-toolbar-search>\n </ax-toolbar>\n <ax-selection-column *ngIf=\"selectionMode== 'single'? false : true\"></ax-selection-column>\n <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n </ax-data-source> -->\n </ax-data-grid>\n </div>\n</div>","import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n ContentChild,\n ViewChild,\n ViewEncapsulation,\n ElementRef,\n TemplateRef\n} 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@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 @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 @ContentChild('itemTemplate', { static: true })\n rowTemplate: TemplateRef<any>;\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 pagination:boolean =true;\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 focus(): void {\n this.selectBox.focus();\n }\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 handleSelectChange(e) {\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\n }\n\n public open(): Promise<any> {\n return new Promise((resolve) => {\n this.selectBox.dropdown.close();\n this.popup\n .open(AXDataLovPopupComponent, {\n size: this.popupSize,\n // closable: false,\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 pagination:this.pagination\n },\n title: this.caption\n // size: this.size,\n })\n .then((c) => {\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 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(this.selectedItems);\n }\n }\n\n this.selectBox.refresh();\n });\n });\n }\n}\n","<ax-select-box [rowInputTemplate]=\"rowTemplate\" [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\n [disabled]=\"disabled\" [mode]=\"mode\" [(selectedItems)]=\"selectedItems\"\n (selectionChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\">\n <ng-container start>\n <ng-content select=\"[start]\">\n </ng-content>\n </ng-container>\n <ng-container end>\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"light blank\" (click)=\"handleButtonClick()\" end\n [tabIndex]=\"-1\">\n </ax-button>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n</ax-select-box>\n\n\n<!-- <ax-select-box2 [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\n [disabled]=\"disabled\" [selectionMode]=\"mode\" (onValueChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\"\n [(value)]=\"selectedItems\" selectionDataMode=\"item\">\n <ng-container start>\n <ng-content select=\"[start]\">\n </ng-content>\n </ng-container>\n <ng-container end>\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"primary blank\" (click)=\"handleButtonClick()\" end\n [tabIndex]=\"-1\">\n </ax-button>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n</ax-select-box2> -->\n\n\n<!-- <div class=\"ax-lov-box\" [style.display]=\"mode=='hidden' ? 'none':'unset'\">\n <div class=\"ax-field-set\">\n <div class=\"ax-field-set-wrapper\" [ngClass]=\"{ 'no-label': !label }\">\n <fieldset [ngClass]=\"{ 'input-focused': isFocused, 'input-error': errorText }\">\n <legend *ngIf=\"label\">\n {{ label }}\n </legend>\n </fieldset>\n <input type=\"text\" [(ngModel)]=\"text\" [placeholder]=\"placeholder\" (keyup)=\"handleKeyEvent($event)\"\n (blur)=\"handleBlurEvent($event)\" (focus)=\"handleFocusEvent($event)\" class=\"ax-text-box\" disabled />\n <div class=\"ax-field-set-button\">\n <button *ngIf=\"text && allowClear\" type=\"button\" class=\"btn btn-light\" (click)=\"clearText()\">\n <i class=\"far fa-times\"></i>\n </button>\n <button type=\"button\" class=\" btn btn-primary\" (click)=\"handleButtonClick($event)\">\n <i class=\"far fa-check-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"validation-text\" *ngIf=\"errorText\">\n {{ errorText }}\n </div>\n\n</div> -->","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})\nexport class AXLOVModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.AXDataGridFilterComponent","i1.AXDataGridFilterComponent","i2","i1.AXDataGridComponent","i3.AXGridSelectionColumn","i4"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"acorex-data-grid.mjs","sources":["../../../../projects/acorex/data-grid/src/lib/data-grid/templates/cell-template.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/filters/filter.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/check-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/command-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/date-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/selection-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/text-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/columns/row-number-column.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/templates/row-template.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/templates/detail-template.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/datagrid.component.ts","../../../../projects/acorex/data-grid/src/lib/data-grid/datagrid.component.html","../../../../projects/acorex/data-grid/src/lib/data-grid/datagrid.module.ts","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov.component.ts","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov.component.html","../../../../projects/acorex/data-grid/src/lib/data-lov/data-lov.module.ts","../../../../projects/acorex/data-grid/src/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, Directive } from '@angular/core';\nimport { AXGridCellParams } from '../datagrid.events';\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\nimport { AXDatePickerFilterComponent } from './date-column.component';\n\n\n@Directive()\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 { 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 {\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) as any;\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 @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 <ng-container *ngFor=\"let item of items; let i = index\">\n <button *ngIf=\"item.visible !== false\"\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 [attr.tabindex]=\"i\"\n (click)=\"onClick(item, $event)\"\n >\n <i [ngClass]=\"item.icon\"></i>{{ item.text }}\n </button>\n </ng-container>\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 }\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 @Input()\n condition: (params) => boolean;\n\n @Input()\n pinned: 'start' | 'end' = 'start';\n\n @Input()\n width: number = 40;\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 = true;\n col.sortable = false;\n col.minWidth = 5;\n col.width = this.width;\n col.floatingFilter = false;\n return col;\n }\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) as any;\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 ? null : 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} 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 // @Input()\n // showRowNumber: boolean = true;\n @Input()\n paginationAutoPageSize: boolean = false;\n\n @Input()\n paginationPageSize: number = 20;\n\n cacheBlockSize = this.paginationPageSize\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\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 pagination: boolean = true;\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\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<HTMLDivElement>, 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\n that.dataSourceSuccessCallback = params.successCallback;\n\n const loadParams: AXDataSourceReadParams = {};\n\n loadParams.searchText = that.searchText;\n\n loadParams.skip = params.request.startRow;\n\n loadParams.take = params.request.endRow - params.request.startRow;\n\n\n loadParams.sort = params.request.sortModel.map((c) => {\n return {\n field: c.colId,\n dir: c.sort\n };\n });\n\n loadParams.group = {\n fields: params.request.rowGroupCols.map((r) => r.field),\n keys: params.request.groupKeys,\n parentData: params.parentNode.data\n };\n\n loadParams.filter = params.request.filterModel;\n\n that.dataSource.fetch(loadParams);\n\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 getColumnDefs = () => {\n return this.gridApi.getColumnDefs();\n };\n\n getCurrentPageNumber = () => {\n return {\n current: this.gridApi.paginationGetCurrentPage() + 1,\n total: this.gridApi.paginationGetTotalPages()\n };\n };\n\n paginationGoToPage(number) {\n this.gridApi.paginationGoToPage(number - 1);\n }\n\n getServerSideGroupKey = (e) => {\n return e[this.keyField];\n };\n internalGridReady(gridOptions) {\n if (this.remoteOperation && !this.paginationAutoPageSize) {\n this.handlePageSize()\n } else {\n this.cacheBlockSize = this.paginationPageSize > 20 ? this.paginationPageSize : 100\n }\n\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 }\n\n ngOnInit(): void {\n\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 rebuildGrid() {\n this.mapColumns();\n setTimeout(() => {\n if (this.sizeColumnsToFit) {\n this.gridApi.sizeColumnsToFit();\n }\n }, 10);\n }\n\n ngAfterViewInit(): void {\n\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 this.gridView = true;\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 this.cdr.detectChanges();\n\n }\n\n mapColumns() {\n this.columnDefs = this.columns.map((c) => c.render());\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 }\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 }\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 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 if (e.node.selected == true) {\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != e.data[this.keyField]);\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 }\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\n public deselectByKeyField(keyField) {\n\n this.gridApi.forEachNode((node) => {\n if (node.data !== undefined) {\n let select: boolean = false;\n if (node.data[this.keyField] === keyField) {\n node.setSelected(select);\n this.selectRow = this.selectRow.filter((c) => c[this.keyField] != keyField)\n }\n }\n });\n\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\n private handlePageSize() {\n\n const pagingPanel = this.ref.nativeElement.querySelector('.ag-paging-panel')\n\n const select = document.createElement('select');\n\n select.addEventListener('change', (e: any) => {\n this.gridApi.paginationSetPageSize(Number(e.target.value));\n this.gridApi.setCacheBlockSize(Number(e.target.value))\n });\n\n const option1 = document.createElement('option');\n\n option1.setAttribute('value', '10');\n\n option1.textContent = '10';\n\n const option2 = document.createElement('option');\n\n option2.setAttribute('value', '20');\n\n option2.textContent = '20';\n\n select.appendChild(option1);\n\n select.appendChild(option2);\n\n select.value = '20';\n\n select.style.backgroundColor = 'white';\n\n select.style.color = 'gray';\n\n select.style.padding = '2px';\n\n select.style.border = '1px solid gray';\n\n select.style.borderRadius = '4px'\n\n pagingPanel.appendChild(select);\n\n }\n\n}\n","<div class=\"ax-grid-toolbar\" *ngIf=\"toolbar\">\n <ng-content select=\"ax-toolbar\"></ng-content>\n</div>\n<!-- [enableSorting]=\"true\" [enableColResize]=\"true\" [enableFilter]=\"allowFiltering\" -->\n<ag-grid-angular *ngIf=\"gridView\" class=\"ag-theme-balham\" [getRowClass]=\"internalGetRowClass\"\n [serverSideStoreType]=\"'partial'\" [style.height]=\"internalHeight\" [columnDefs]=\"columnDefs\" [enableRtl]=\"rtl\"\n [pagination]=\"pagination\" [rowGroupPanelShow]=\"rowGroupPanelShow\" [rowModelType]=\"rowModelType\"\n [detailRowHeight]=\"detailRowHeight\" [paginationAutoPageSize]=\"paginationAutoPageSize\"\n [paginationPageSize]=\"paginationPageSize\" [suppressMenuHide]=\"true\" [frameworkComponents]=\"frameworkComponents\"\n [isFullWidthCell]=\"isFullWidthCell\" [rowSelection]=\"selectionMode\" [rowMultiSelectWithClick]=\"rowMultiSelectWithClick\"\n [fullWidthCellRendererFramework]=\"fullWidthCellRendererFramework\" [cacheBlockSize]=\"cacheBlockSize\"\n [fullWidthCellRendererParams]=\"fullWidthCellRendererParams\" (cellClicked)=\"internalGridCellClicked($event)\"\n (cellDoubleClicked)=\"internalGridCellDoubleClicked($event)\" (cellFocused)=\"internalGridCellFocused($event)\"\n (rowClicked)=\"internalGridRowClicked($event)\" (selectionChanged)=\"internalGridSelectionChanged($event)\"\n (rowSelected)=\"rowSelectionChanged($event)\" (rowDoubleClicked)=\"internalGridRowDoubleClicked($event)\"\n (gridReady)=\"internalGridReady($event)\" [groupSelectsChildren]=\"groupSelectsChildren\"\n [suppressRowClickSelection]=\"suppressRowClickSelection\" [groupSelectsFiltered]=\"true\"\n [suppressCellSelection]=\"suppressCellSelection\" [autoGroupColumnDef]=\"autoGroupColumnDef\"\n [suppressAggFuncInHeader]=\"true\" [treeData]=\"treeData\" [animateRows]=\"true\" [isServerSideGroup]=\"isServerSideGroup\"\n [getServerSideGroupKey]=\"getServerSideGroupKey\" [masterDetail]=\"masterDetail\"\n [detailCellRendererParams]=\"detailCellRendererParams\" [detailCellRenderer]=\"detailCellRenderer\"\n (gridSizeChanged)=\"internalGridSizeChanged($event)\" (firstDataRendered)=\"internalGridFirstDataRendered($event)\"\n [localeText]=\"localeText\" [groupHideOpenParents]=\"groupHideOpenParents\" [enableRangeSelection]=\"true\"\n [enableRangeSelection]=\"false\" [allowContextMenuWithControlKey]=\"false\" [getMainMenuItems]=\"getMainMenuItems\">\n</ag-grid-angular>\n\n\n<!-- (displayedColumnsChanged)=\"displayedColumnsChanged($event)\" -->","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\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 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 pagination:boolean =true;\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 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 }\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'\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","<div style=\"height: 70vh; padding: 0.5em;\">\n <div style=\"height: calc(98%);\">\n\n <ax-data-grid [pagination]=\"pagination\" [rtl]=\"rtl\" [suppressRowClickSelection]=\"false\" [keyField]=\"keyField\"\n [hasChildField]=\"hasChildField\" [selectRow]=\"selectedItems\" #grid [columns]=\"columns\"\n [remoteOperation]=\"true\" [selectionMode]=\"selectionMode\" (rowDbClick)=\"rowDoubleClicked($event)\"\n (rowSelectionChange)=\"rowSelectionChange($event)\" [dataSource]=\"dataSource\">\n <ax-toolbar>\n <ax-toolbar-search #searchBox style=\"width: 100%;\"></ax-toolbar-search>\n </ax-toolbar>\n <ax-selection-column *ngIf=\"selectionMode== 'single'? false : true\"></ax-selection-column>\n <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n </ax-data-source> -->\n </ax-data-grid>\n </div>\n</div>","import {\n Component,\n Input,\n ContentChildren,\n QueryList,\n Output,\n EventEmitter,\n ContentChild,\n ViewChild,\n ViewEncapsulation,\n ElementRef,\n TemplateRef\n} 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@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 @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 @ContentChild('itemTemplate', { static: true })\n rowTemplate: TemplateRef<any>;\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 pagination:boolean =true;\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 focus(): void {\n this.selectBox.focus();\n }\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 handleSelectChange(e) {\n this.onSelectionChange.emit({ data: this.selectedItems, component: this, htmlElement: this.ref.nativeElement });\n }\n\n public open(): Promise<any> {\n return new Promise((resolve) => {\n this.selectBox.dropdown.close();\n this.popup\n .open(AXDataLovPopupComponent, {\n size: this.popupSize,\n // closable: false,\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 pagination:this.pagination\n },\n title: this.caption\n // size: this.size,\n })\n .then((c) => {\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 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(this.selectedItems);\n }\n }\n\n this.selectBox.refresh();\n });\n });\n }\n}\n","<ax-select-box [rowInputTemplate]=\"rowTemplate\" [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\n [disabled]=\"disabled\" [mode]=\"mode\" [(selectedItems)]=\"selectedItems\"\n (selectionChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\">\n <ng-container start>\n <ng-content select=\"[start]\">\n </ng-content>\n </ng-container>\n <ng-container end>\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"light blank\" (click)=\"handleButtonClick()\" end\n [tabIndex]=\"-1\">\n </ax-button>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n</ax-select-box>\n\n\n<!-- <ax-select-box2 [rtl]=\"rtl\" [allowSearch]=\"allowSearch\" #selectBox [showDropDownButton]=\"false\" [allowNull]=\"allowNull\"\n [remoteOperation]=\"true\" [placeholder]=\"placeholder\" [size]=\"size\" [textField]=\"textField\" [valueField]=\"valueField\"\n [disabled]=\"disabled\" [selectionMode]=\"mode\" (onValueChanged)=\"handleSelectChange($event)\" [dataSource]=\"dataSource\"\n [(value)]=\"selectedItems\" selectionDataMode=\"item\">\n <ng-container start>\n <ng-content select=\"[start]\">\n </ng-content>\n </ng-container>\n <ng-container end>\n <ax-button icon=\"far fa-bars icon\" [disabled]=\"disabled\" type=\"primary blank\" (click)=\"handleButtonClick()\" end\n [tabIndex]=\"-1\">\n </ax-button>\n <ng-content select=\"[end]\">\n </ng-content>\n </ng-container>\n</ax-select-box2> -->\n\n\n<!-- <div class=\"ax-lov-box\" [style.display]=\"mode=='hidden' ? 'none':'unset'\">\n <div class=\"ax-field-set\">\n <div class=\"ax-field-set-wrapper\" [ngClass]=\"{ 'no-label': !label }\">\n <fieldset [ngClass]=\"{ 'input-focused': isFocused, 'input-error': errorText }\">\n <legend *ngIf=\"label\">\n {{ label }}\n </legend>\n </fieldset>\n <input type=\"text\" [(ngModel)]=\"text\" [placeholder]=\"placeholder\" (keyup)=\"handleKeyEvent($event)\"\n (blur)=\"handleBlurEvent($event)\" (focus)=\"handleFocusEvent($event)\" class=\"ax-text-box\" disabled />\n <div class=\"ax-field-set-button\">\n <button *ngIf=\"text && allowClear\" type=\"button\" class=\"btn btn-light\" (click)=\"clearText()\">\n <i class=\"far fa-times\"></i>\n </button>\n <button type=\"button\" class=\" btn btn-primary\" (click)=\"handleButtonClick($event)\">\n <i class=\"far fa-check-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"validation-text\" *ngIf=\"errorText\">\n {{ errorText }}\n </div>\n\n</div> -->","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})\nexport class AXLOVModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.AXDataGridFilterComponent","i1.AXDataGridFilterComponent","i2","i1.AXDataGridComponent","i3.AXGridSelectionColumn","i4"],"mappings":"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"}
|