@acorex/data-grid 16.0.14 → 16.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/index.mjs +3 -2
- package/esm2022/lib/data-grid/columns/column-groups.component.mjs +33 -0
- package/esm2022/lib/data-grid/columns/column.component.mjs +8 -2
- package/esm2022/lib/data-grid/datagrid.component.mjs +2 -5
- package/esm2022/lib/data-grid/datagrid.module.mjs +25 -25
- package/fesm2022/acorex-data-grid.mjs +50 -13
- package/fesm2022/acorex-data-grid.mjs.map +1 -1
- package/index.d.ts +2 -1
- package/lib/data-grid/columns/column-groups.component.d.ts +9 -0
- package/lib/data-grid/columns/column.component.d.ts +2 -1
- package/lib/data-grid/datagrid.module.d.ts +7 -6
- package/package.json +1 -1
| @@ -1 +1 @@ | |
| 1 | 
            -
            {"version":3,"file":"acorex-data-grid.mjs","sources":["../../../../libs/data-grid/src/lib/data-grid/templates/cell-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/column.component.ts","../../../../libs/data-grid/src/lib/data-grid/filters/filter.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/check-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/command-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/date-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/selection-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/text-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/row-number-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/templates/detail-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/templates/row-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/datagrid.component.ts","../../../../libs/data-grid/src/lib/data-grid/datagrid.component.html","../../../../libs/data-grid/src/lib/data-grid/datagrid.module.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html","../../../../libs/data-grid/src/lib/data-lov/data-lov.component.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov.component.html","../../../../libs/data-grid/src/lib/data-lov/data-lov.module.ts","../../../../libs/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 { ContentChild, Directive, Input } from '@angular/core';\nimport { AXGridCellParams } from '../datagrid.events';\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\n\n@Directive()\nexport abstract class AXGridDataColumn {\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: (\n    params: AXGridCellParams\n  ) => (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  @Input()\n  wrapText = 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.wrapText) {\n      col.wrapText = true;\n\n      col.autoHeight = true;\n\n      col.wrapHeaderText = true;\n\n      col.autoHeaderHeight = true;\n    }\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    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      } else {\n        col.cellClass = this.cellClass;\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","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})\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: ` <ax-check-box [value]=\"value\" readonly=\"true\"></ax-check-box> `,\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 label=\"Select Box\" [items]=\"selectItem\"></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 | any): 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@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\n        label=\"Filter\"\n        allowClear=\"true\"\n        (textChange)=\"onChange($event)\"\n      >\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 | any): 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.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, 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 { 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 {\n  AXDataSourceComponent,\n  AXDataSourceReadParams,\n} from '@acorex/components';\nimport {\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n} from '@angular/core';\nimport {\n  CellClickedEvent,\n  CellEvent,\n  FirstDataRenderedEvent,\n  GridApi,\n  GridOptions,\n  GridSizeChangedEvent,\n  RowClickedEvent,\n  RowEvent,\n} from 'ag-grid-community';\nimport { AXGridDataColumn } from './columns/column.component';\n\nimport { ViewEncapsulation } from '@angular/core';\nimport { LicenseManager } from 'ag-grid-enterprise';\nimport {\n  AXGridCellEvent,\n  AXGridRowEvent,\n  AXGridRowParams,\n  AXGridRowSelectionEvent,\n} from './datagrid.events';\n\nimport {\n  AXDataEvent,\n  AXToolbarComponent,\n  AXToolbarSearchComponent,\n  AXValueEvent,\n} from '@acorex/components';\nimport { AXConfig, AXTranslator } from '@acorex/core';\nimport { AXDatePickerFilterComponent } from './columns/date-column.component';\nimport { AXDataGridDetailTemplateComponent } from './templates/detail-template.component';\nimport { AXDataGridRowTemplateComponent } from './templates/row-template.component';\n\nLicenseManager.prototype.isDisplayWatermark = () => {\n  return false;\n};\nLicenseManager.prototype.validateLicense = function () {\n  //console.info('Cracked by Arash Oshnoudi!');\n};\n\nexport class AXDataGridColumnsChangeEvent extends AXValueEvent<\n  AXGridDataColumn[]\n> {\n  declare component: AXDataGridComponent;\n}\nexport class AXDataGridCellEvent extends AXDataEvent<AXGridCellEvent> {\n  declare component: AXDataGridComponent;\n}\nexport class AXDaagridRowClickEvent extends AXDataEvent<AXGridRowEvent> {\n  declare component: AXDataGridComponent;\n}\n\nexport class AXDataGridSelectionChangeEvent extends AXDataEvent<AXGridRowSelectionEvent> {\n  declare component: AXDataGridComponent;\n}\n\nexport class AXDataGridRowSelectionChangeEvent extends AXDataEvent<any> {\n  declare component: AXDataGridComponent;\n  declare 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 = '100%';\n  detailCellRenderer: any;\n  detailCellRendererParams: any;\n  detailRowHeight: number;\n  masterDetail = false;\n  treeData = false;\n  enabelSelect = false;\n  gridView = false;\n  groupSelectsChildren = false;\n  oldSelectionNodes: any[] = [];\n  autoGroupColumnDef: any = {};\n  currentPage = 1;\n\n  @Input()\n  paginationAutoPageSize = false;\n\n  @Input()\n  paginationPageSize = 20;\n\n  cacheBlockSize = this.paginationPageSize;\n\n  @Input()\n  public remoteOperation = false;\n\n  @Input()\n  public rowMultiSelectWithClick = false;\n\n  @Input()\n  public suppressRowClickSelection = false;\n\n  @Input()\n  public suppressCellSelection = false;\n\n  @Input()\n  public sizeColumnsToFit = true;\n\n  @Input()\n  showCheckBox = true;\n\n  @Input()\n  floatingFilter = false;\n\n  @Input()\n  autoExpand = false;\n\n  @Input()\n  rowSelectableConditionField: string;\n\n  @Input()\n  selectionMode: 'single' | 'multiple' = 'single';\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  enableRangeSelection = false;\n\n  @Input()\n  keyField: string = 'null';\n\n  @Input()\n  hasChildField: string = 'null';\n\n  @Input()\n  rowHeight = 28;\n\n  @Input()\n  groupHideOpenParents: boolean = false;\n\n  @Input()\n  maxConcurrentDatasourceRequests: number;\n\n  @Input()\n  blockLoadDebounceMillis: number;\n\n  @Input()\n  showRefreshButton = true;\n\n  @Input()\n  autoNavigatePage = false;\n\n  @Input()\n  rowClass?: (\n    params: AXGridRowParams\n  ) => (string | string[]) | (string | string[]);\n\n  @Input()\n  rtl: boolean = AXConfig.get('layout.rtl');\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> =\n    new EventEmitter<AXDataGridColumnsChangeEvent>();\n\n  private _columns: AXGridDataColumn[] = [];\n  @Input()\n  public get columns(): AXGridDataColumn[] {\n    return this._inlineColumns\n      ? [...this._columns, ...this._inlineColumns.toArray()]\n      : 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({\n        component: this,\n        value: val,\n        oldValue: old,\n        htmlElement: this.ref.nativeElement,\n      });\n    }\n  }\n\n  defaultColDef: any = {\n    filter: true,\n    floatingFilter: true,\n  };\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  @Output()\n  cellClick: EventEmitter<AXDataGridCellEvent> =\n    new EventEmitter<AXDataGridCellEvent>();\n\n  @Output()\n  cellDbClick: EventEmitter<AXDataGridCellEvent> =\n    new EventEmitter<AXDataGridCellEvent>();\n\n  @Output()\n  cellFocuse: EventEmitter<AXDataGridCellEvent> =\n    new EventEmitter<AXDataGridCellEvent>();\n\n  @Output()\n  rowClick: EventEmitter<AXDaagridRowClickEvent> =\n    new EventEmitter<AXDaagridRowClickEvent>();\n\n  @Output()\n  rowDbClick: EventEmitter<AXDaagridRowClickEvent> =\n    new EventEmitter<AXDaagridRowClickEvent>();\n\n  @Output()\n  selectionChanged: EventEmitter<AXDataGridSelectionChangeEvent> =\n    new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n  @Output()\n  rowSelectionChange: EventEmitter<AXDataGridSelectionChangeEvent> =\n    new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n  @Output()\n  onRowSelectionChanged: EventEmitter<AXDataGridRowSelectionChangeEvent> =\n    new EventEmitter<AXDataGridRowSelectionChangeEvent>();\n\n  constructor(\n    private ref: ElementRef<HTMLDivElement>,\n    private cdr: ChangeDetectorRef\n  ) {\n    this.localeText = AXTranslator.get('dataGrid');\n  }\n\n  private calcHeight(): void {\n    if (this.toolbar) {\n      this.internalHeight = `calc(100% - ${40}px)`;\n    } else {\n      this.internalHeight = '100%';\n    }\n  }\n\n  private get intenalGridDataSource() {\n    const that = this;\n    return {\n      rowCount: null,\n      getRows: (params) => {\n        that.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        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  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 =\n        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    if (this.showRefreshButton) {\n      this.makeRefreshBtn();\n    }\n\n    if (this.autoNavigatePage) {\n      this.handleNextBtnClick();\n      this.handleBackBtnClick();\n      this.handleLastBtnClick();\n      this.handleFitstBtnClick();\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 =\n        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    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 =\n        window\n          .getComputedStyle(this.ref.nativeElement, null)\n          .getPropertyValue('direction') === 'rtl';\n    }\n    //\n  }\n\n  gridSelectRow() {\n    if (this.gridApi) {\n      if (\n        this.selectRow &&\n        this.selectRow.length > 0 &&\n        this.gridApi !== undefined &&\n        typeof this.selectRow[0] != 'object'\n      ) {\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            if (this.selectRow.length) {\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 (\n                    this.keyField !== 'null' &&\n                    node.data[this.keyField] === item[this.keyField]\n                  ) {\n                    select = true;\n                  }\n                }\n              });\n            }\n            if (this.rowSelectableConditionField) {\n              node.setRowSelectable(\n                node.data[this.rowSelectableConditionField]\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.treeData === true) {\n      this.columnDefs = this.columns.map((c) => c.render());\n\n      const groupColumn = this.columnDefs.find(\n        (c) => c.rowGroupIndex == '0' && c.field !== ''\n      );\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      if (this.getCurrentPageNumber().total > 1 && this.currentPage > 1) {\n        this.paginationGoToPage(this.currentPage);\n      }\n      this.gridSelectRow();\n    });\n\n    this.dataSource.onFetchStart.subscribe(() => {\n      this.showLoading();\n    });\n\n    this.dataSource.onFetchEnd.subscribe(() => {\n      this.currentPage = this.autoNavigatePage === false ? 1 : this.currentPage;\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  mapColumns() {\n    this.columnDefs = this.columns.map((c) => c.render());\n    if (this.gridDetailTemplate) {\n      if (\n        this.columnDefs[0].checkboxSelection === true &&\n        this.columnDefs[0].field === ''\n      ) {\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(\n        (c) => c.rowGroupIndex === undefined && c.field !== ''\n      );\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(\n        (c) => c.colId !== 'ag-Grid-AutoColumn' && c.colId !== '0'\n      );\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({\n      data: this.mapCellEvent(e),\n      component: this,\n      htmlElement: this.ref.nativeElement,\n    });\n  }\n\n  internalGridCellDoubleClicked(e: CellClickedEvent) {\n    this.cellDbClick.emit({\n      data: this.mapCellEvent(e),\n      component: this,\n      htmlElement: this.ref.nativeElement,\n    });\n  }\n\n  internalGridCellFocused(e: CellClickedEvent) {\n    this.cellFocuse.emit({\n      data: this.mapCellEvent(e),\n      htmlElement: this.ref.nativeElement,\n      component: this,\n    });\n  }\n\n  internalGridRowClicked(e: RowClickedEvent) {\n    if (!e.node.group) {\n      this.rowClick.emit({\n        data: this.mapRowEvent(e),\n        component: this,\n        htmlElement: this.ref.nativeElement,\n      });\n    }\n  }\n\n  internalGridRowDoubleClicked(e: CellClickedEvent) {\n    if (!e.node.group) {\n      this.rowDbClick.emit({\n        data: this.mapRowEvent(e),\n        htmlElement: this.ref.nativeElement,\n        component: this,\n      });\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(\n        (c) => c[this.keyField] != e.data[this.keyField]\n      );\n      this.selectRow.push(e.data);\n    } else {\n      this.selectRow = this.selectRow.filter(\n        (c) => c[this.keyField] != e.data[this.keyField]\n      );\n    }\n    this.rowSelectionChange.emit({\n      component: this,\n      data: e,\n      htmlElement: this.ref.nativeElement,\n    });\n  }\n\n  internalGridSelectionChanged(e) {\n    const args: AXGridRowSelectionEvent = { items: [] };\n    const oldNodes = this.oldSelectionNodes;\n    const nodes = this.gridApi.getSelectedNodes();\n\n    if (this.autoExpand) {\n      const unselectedNodes = oldNodes.filter(\n        (oldNode) => !nodes.some((newNode) => newNode === oldNode)\n      );\n      unselectedNodes.forEach((el) => {\n        el.setExpanded(false);\n      });\n    }\n\n    nodes.forEach((i) => {\n      if (this.autoExpand) {\n        i.setExpanded(true);\n      }\n      args.items.push({\n        rowLevel: i.level,\n        rowIndex: i.rowIndex,\n        data: i.data,\n      });\n    });\n    this.selectionChanged.emit({\n      data: args,\n      component: this,\n      htmlElement: this.ref.nativeElement,\n    });\n    let action = nodes.length > oldNodes.length ? true : false;\n    const node = this.differenceOf2Arrays(nodes, oldNodes);\n    this.onRowSelectionChanged.emit({\n      component: this,\n      selected: action,\n      data: node,\n      htmlElement: this.ref.nativeElement,\n    });\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  public deselectByKeyField(keyField) {\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(\n            (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    this.headerHeightSetter();\n  }\n\n  handleColumnResized(e) {\n    this.headerHeightSetter();\n  }\n\n  private performSizeColumnsToFit(api: GridApi) {\n    if (this.sizeColumnsToFit) {\n      api.sizeColumnsToFit();\n    }\n  }\n\n  private handlePageSize() {\n    const pagingPanel =\n      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  private headerHeightSetter() {\n    const padding = 20;\n    const height = this.headerHeightGetter() + padding;\n    this.gridApi.setHeaderHeight(height);\n  }\n\n  private headerHeightGetter() {\n    const columnHeaderTexts = [\n      ...(document.querySelectorAll('.ag-header-cell-text') as any),\n    ];\n\n    const clientHeights = columnHeaderTexts.map(\n      (headerText) => headerText.clientHeight\n    );\n    const tallestHeaderTextHeight = Math.max(...clientHeights);\n\n    return tallestHeaderTextHeight;\n  }\n\n  private makeRefreshBtn() {\n    const pagingPanel =\n      this.ref.nativeElement.querySelector('.ag-paging-panel');\n\n    const refBtn = document.createElement('span');\n\n    refBtn.classList.add('far');\n    refBtn.classList.add('fa-sync');\n\n    refBtn.style.cursor = 'pointer';\n\n    refBtn.title = AXTranslator.get('common.refresh');\n\n    refBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\n      this.refresh();\n    });\n\n    pagingPanel.appendChild(refBtn);\n  }\n\n  private handleNextBtnClick() {\n    const nextPageBtn = this.ref.nativeElement.querySelector(\n      '[ref=\"btNext\"]'\n    ) as HTMLElement;\n\n    nextPageBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\n    });\n  }\n\n  private handleBackBtnClick() {\n    const backPageBtn = this.ref.nativeElement.querySelector(\n      '[ref=\"btPrevious\"]'\n    ) as HTMLElement;\n\n    backPageBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\n    });\n  }\n\n  private handleLastBtnClick() {\n    const backPageBtn = this.ref.nativeElement.querySelector(\n      '[ref=\"btLast\"]'\n    ) as HTMLElement;\n\n    backPageBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\n    });\n  }\n\n  private handleFitstBtnClick() {\n    const backPageBtn = this.ref.nativeElement.querySelector(\n      '[ref=\"btFirst\"]'\n    ) as HTMLElement;\n\n    backPageBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\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<ag-grid-angular\n  *ngIf=\"gridView\"\n  class=\"ag-theme-balham\"\n  [getRowClass]=\"internalGetRowClass\"\n  [suppressCopyRowsToClipboard]=\"true\"\n  [enableRangeSelection]=\"enableRangeSelection\"\n  [serverSideStoreType]=\"'partial'\"\n  [style.height]=\"internalHeight\"\n  [columnDefs]=\"columnDefs\"\n  [enableRtl]=\"rtl\"\n  [pagination]=\"pagination\"\n  [rowGroupPanelShow]=\"rowGroupPanelShow\"\n  [rowModelType]=\"rowModelType\"\n  [detailRowHeight]=\"detailRowHeight\"\n  [rowHeight]=\"rowHeight\"\n  [paginationAutoPageSize]=\"paginationAutoPageSize\"\n  [paginationPageSize]=\"paginationPageSize\"\n  [suppressMenuHide]=\"true\"\n  [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n  [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n  [frameworkComponents]=\"frameworkComponents\"\n  [isFullWidthCell]=\"isFullWidthCell\"\n  [rowSelection]=\"selectionMode\"\n  [rowMultiSelectWithClick]=\"rowMultiSelectWithClick\"\n  [fullWidthCellRendererFramework]=\"fullWidthCellRendererFramework\"\n  [cacheBlockSize]=\"cacheBlockSize\"\n  [fullWidthCellRendererParams]=\"fullWidthCellRendererParams\"\n  (columnResized)=\"handleColumnResized($event)\"\n  (cellClicked)=\"internalGridCellClicked($event)\"\n  (cellDoubleClicked)=\"internalGridCellDoubleClicked($event)\"\n  (cellFocused)=\"internalGridCellFocused($event)\"\n  (rowClicked)=\"internalGridRowClicked($event)\"\n  (selectionChanged)=\"internalGridSelectionChanged($event)\"\n  (rowSelected)=\"rowSelectionChanged($event)\"\n  (rowDoubleClicked)=\"internalGridRowDoubleClicked($event)\"\n  (gridReady)=\"internalGridReady($event)\"\n  [groupSelectsChildren]=\"groupSelectsChildren\"\n  [suppressRowClickSelection]=\"suppressRowClickSelection\"\n  [groupSelectsFiltered]=\"true\"\n  [suppressCellSelection]=\"suppressCellSelection\"\n  [autoGroupColumnDef]=\"autoGroupColumnDef\"\n  [suppressAggFuncInHeader]=\"true\"\n  [treeData]=\"treeData\"\n  [animateRows]=\"true\"\n  [isServerSideGroup]=\"isServerSideGroup\"\n  [getServerSideGroupKey]=\"getServerSideGroupKey\"\n  [masterDetail]=\"masterDetail\"\n  [detailCellRendererParams]=\"detailCellRendererParams\"\n  [detailCellRenderer]=\"detailCellRenderer\"\n  (gridSizeChanged)=\"internalGridSizeChanged($event)\"\n  (firstDataRendered)=\"internalGridFirstDataRendered($event)\"\n  [localeText]=\"localeText\"\n  [groupHideOpenParents]=\"groupHideOpenParents\"\n  [allowContextMenuWithControlKey]=\"false\"\n  [getMainMenuItems]=\"getMainMenuItems\"\n>\n</ag-grid-angular>\n\n<!-- (displayedColumnsChanged)=\"displayedColumnsChanged($event)\"  -->\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXDataGridComponent } from './datagrid.component';\nimport { FormsModule } from '@angular/forms';\nimport { AgGridModule } from 'ag-grid-angular';\nimport { AXDataSourceModule } from '@acorex/components';\nimport { AXGridTextColumn, TextFilterRenderer } from './columns/text-column.component';\nimport { AXGridCheckColumn, BooleanRenderer, BooleanFilterRenderer } from './columns/check-column.component';\nimport { AXCoreModule } from '@acorex/core';\nimport { AXGridSelectionColumn } from './columns/selection-column.component';\nimport { CommandRenderer, AXGridCommandColumn } from './columns/command-column.component';\nimport { AXDataGridFilterComponent } from './filters/filter.component';\nimport { AXGridDateColumn, AXDatePickerFilterComponent } from './columns/date-column.component';\nimport { AXDataGridRowTemplateComponent, AXDataGridRowTemplateRenderer } from './templates/row-template.component';\nimport { AXDataGridCellTemplateComponent, AXDataGridCellTemplateRenderer } from './templates/cell-template.component';\nimport { AXDataGridDetailTemplateComponent, AXDataGridDetailTemplateRenderer } from './templates/detail-template.component';\nimport { AXTextBoxModule } from '@acorex/components';\nimport { AXCheckBoxModule } from '@acorex/components';\nimport { AXSelectBoxModule } from '@acorex/components';\nimport { AXButtonModule } from '@acorex/components';\nimport { AXDatePickerModule } from '@acorex/components';\nimport 'ag-grid-enterprise';\nimport { AXGridRowNumberColumn } from './columns/row-number-column.component';\n\n@NgModule({\n    declarations: [\n        AXDataGridComponent,\n        AXGridTextColumn,\n        AXGridCheckColumn,\n        AXGridSelectionColumn,\n        AXGridDateColumn,\n        AXGridRowNumberColumn,\n        AXGridCommandColumn,\n        BooleanRenderer,\n        BooleanFilterRenderer,\n        TextFilterRenderer,\n        AXDataGridFilterComponent,\n        AXDataGridRowTemplateComponent,\n        AXDataGridDetailTemplateComponent,\n        AXDataGridRowTemplateRenderer,\n        AXDataGridDetailTemplateRenderer,\n        AXDataGridCellTemplateComponent,\n        AXDataGridCellTemplateRenderer,\n        AXDatePickerFilterComponent,\n        CommandRenderer\n    ],\n    imports: [\n        CommonModule,\n        AXCoreModule,\n        FormsModule,\n        //AgGridModule,\n        AXTextBoxModule,\n        AXCheckBoxModule,\n        AXSelectBoxModule,\n        AXDataSourceModule,\n        AXButtonModule,\n        AXDatePickerModule,\n        AgGridModule\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 {\n  AXBasePopupPageComponent,\n  AXDataSourceComponent,\n  AXMenuItemClickEvent,\n  AXToolbarSearchComponent,\n} from '@acorex/components';\nimport { AXButtonItem, AXConfig, AXTranslator } from '@acorex/core';\nimport {\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  ViewChild,\n} from '@angular/core';\nimport { AXGridDataColumn } from '../../data-grid/columns/column.component';\nimport { AXDataGridComponent } from '../../data-grid/datagrid.component';\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\n  paginationAutoPageSize: boolean;\n\n  paginationPageSize: number;\n\n  maxConcurrentDatasourceRequests: number;\n\n  blockLoadDebounceMillis: number;\n\n  constructor(private cdr: ChangeDetectorRef, private ref: ElementRef) {\n    super();\n  }\n\n  dataSource: AXDataSourceComponent;\n\n  selectionMode: string;\n\n  ngOnInit(): void {\n    if (this.rtl == null) {\n      this.rtl =\n        window\n          .getComputedStyle(this.ref.nativeElement, null)\n          .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(\n      (c) => c[this.keyField] != e.data.data[this.keyField]\n    );\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(\n        (c) => c[this.keyField] != e.data.node.data[this.keyField]\n      );\n      this.selectedItems.push(e.data.node.data);\n    } else {\n      if (\n        this.allowNull == true ||\n        (this.allowNull == false && this.selectedItems.length > 1)\n      ) {\n        this.selectedItems = this.selectedItems.filter(\n          (c) => c[this.keyField] != e.data.node.data[this.keyField]\n        );\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    <ax-data-grid\n      [showRefreshButton]=\"false\"\n      [pagination]=\"pagination\"\n      [paginationAutoPageSize]=\"paginationAutoPageSize\"\n      [paginationPageSize]=\"paginationPageSize\"\n      [rtl]=\"rtl\"\n      [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n      [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n      [suppressRowClickSelection]=\"false\"\n      [keyField]=\"keyField\"\n      [hasChildField]=\"hasChildField\"\n      [selectRow]=\"selectedItems\"\n      #grid\n      [columns]=\"columns\"\n      [remoteOperation]=\"true\"\n      [selectionMode]=\"selectionMode\"\n      (rowDbClick)=\"rowDoubleClicked($event)\"\n      (rowSelectionChange)=\"rowSelectionChange($event)\"\n      [dataSource]=\"dataSource\"\n    >\n      <ax-toolbar>\n        <ax-toolbar-search #searchBox style=\"width: 100%\"></ax-toolbar-search>\n      </ax-toolbar>\n      <ax-selection-column\n        *ngIf=\"selectionMode == 'single' ? false : true\"\n      ></ax-selection-column>\n      <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n              </ax-data-source> -->\n    </ax-data-grid>\n  </div>\n</div>\n","import {\n  AXBaseInputComponent,\n  AXBaseSizableComponent,\n  AXDataEvent,\n  AXDataSourceComponent,\n  AXElementSize,\n  AXPopupService,\n  AXSelectBoxComponent,\n  AXValidatableComponent,\n  AXValidation,\n} from '@acorex/components';\nimport { AXConfig } from '@acorex/core';\nimport {\n  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\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\n  extends AXValidatableComponent\n  implements AXBaseSizableComponent, AXBaseInputComponent\n{\n  @ContentChild(AXValidation, { static: true })\n  private _contentValidation: AXValidation;\n  private _validation: AXValidation;\n\n  @Input()\n  public get validation(): AXValidation {\n    return this._validation ? this._validation : this._contentValidation;\n  }\n  public set validation(v: AXValidation) {\n    this._validation = v;\n  }\n\n  constructor(private popup: AXPopupService, private ref: ElementRef) {\n    super();\n  }\n\n  @ViewChild('selectBox', { static: true })\n  selectBox: AXSelectBoxComponent;\n\n  @ContentChild(AXDataSourceComponent, { static: true })\n  dataSource: AXDataSourceComponent;\n\n  @ContentChildren(AXGridDataColumn)\n  private columns: QueryList<AXGridDataColumn>;\n\n  @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  paginationAutoPageSize = false;\n\n  @Input()\n  paginationPageSize: number;\n\n  // @Input()\n  // selectedValues: any[] = [];\n\n  @Input()\n  maxConcurrentDatasourceRequests: number;\n\n  @Input()\n  blockLoadDebounceMillis: number;\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<\n    AXDataEvent<any>\n  >();\n\n  @Input()\n  rtl: boolean = AXConfig.get('layout.rtl');\n\n  @Input() multiLine = false;\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 =\n        window\n          .getComputedStyle(this.ref.nativeElement, null)\n          .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({\n      data: this.selectedItems,\n      component: this,\n      htmlElement: this.ref.nativeElement,\n    });\n  }\n\n  public open(): Promise<any> {\n    return new Promise((resolve) => {\n      this.selectBox.dropdown.close();\n      this.popup\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            paginationAutoPageSize: this.paginationAutoPageSize,\n            paginationPageSize: this.paginationPageSize,\n            maxConcurrentDatasourceRequests:\n              this.maxConcurrentDatasourceRequests,\n            blockLoadDebounceMillis: this.blockLoadDebounceMillis,\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({\n              data: this.selectedItems,\n              component: this,\n              htmlElement: this.ref.nativeElement,\n            });\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\n  [rowInputTemplate]=\"rowTemplate\"\n  [multiLine]=\"multiLine\"\n  [rtl]=\"rtl\"\n  [allowSearch]=\"allowSearch\"\n  #selectBox\n  [showDropDownButton]=\"false\"\n  [allowNull]=\"allowNull\"\n  [remoteOperation]=\"true\"\n  [placeholder]=\"placeholder\"\n  [size]=\"size\"\n  [textField]=\"textField\"\n  [valueField]=\"valueField\"\n  [disabled]=\"disabled\"\n  [mode]=\"mode\"\n  [(selectedItems)]=\"selectedItems\"\n  (selectionChanged)=\"handleSelectChange($event)\"\n  [dataSource]=\"dataSource\"\n>\n  <ng-container start>\n    <ng-content select=\"[start]\"> </ng-content>\n  </ng-container>\n  <ng-container end>\n    <ax-button\n      icon=\"far fa-bars icon\"\n      [disabled]=\"disabled\"\n      type=\"light blank\"\n      (click)=\"handleButtonClick()\"\n      end\n      [tabIndex]=\"-1\"\n    >\n    </ax-button>\n    <ng-content select=\"[end]\"> </ng-content>\n  </ng-container>\n</ax-select-box>\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<!-- <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> -->\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLOVComponent } from './data-lov.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\n\n\n@NgModule({\n    declarations: [AXLOVComponent, AXDataLovPopupComponent],\n    imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\n    exports: [AXLOVComponent, AXDataLovPopupComponent],\n    providers: []\n})\nexport class AXLOVModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXDataGridFilterComponent","i2.AXDataGridComponent","i3.AXGridSelectionColumn","i4"],"mappings":"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"}
         | 
| 1 | 
            +
            {"version":3,"file":"acorex-data-grid.mjs","sources":["../../../../libs/data-grid/src/lib/data-grid/templates/cell-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/column.component.ts","../../../../libs/data-grid/src/lib/data-grid/filters/filter.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/check-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/column-groups.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/command-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/date-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/selection-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/text-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/columns/row-number-column.component.ts","../../../../libs/data-grid/src/lib/data-grid/templates/detail-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/templates/row-template.component.ts","../../../../libs/data-grid/src/lib/data-grid/datagrid.component.ts","../../../../libs/data-grid/src/lib/data-grid/datagrid.component.html","../../../../libs/data-grid/src/lib/data-grid/datagrid.module.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov-popup/data-lov-popup.component.html","../../../../libs/data-grid/src/lib/data-lov/data-lov.component.ts","../../../../libs/data-grid/src/lib/data-lov/data-lov.component.html","../../../../libs/data-grid/src/lib/data-lov/data-lov.module.ts","../../../../libs/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 { ContentChild, Directive, Input } from '@angular/core';\nimport { AXGridCellParams } from '../datagrid.events';\nimport { AXDataGridCellTemplateComponent } from '../templates/cell-template.component';\n\n@Directive()\nexport abstract class AXGridDataColumn {\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: (\n    params: AXGridCellParams\n  ) => (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  @Input()\n  columnGroupShow: 'open' | 'closed';\n\n  @Input()\n  wrapText = 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.wrapText) {\n      col.wrapText = true;\n\n      col.autoHeight = true;\n\n      col.wrapHeaderText = true;\n\n      col.autoHeaderHeight = true;\n    }\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    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      } else {\n        col.cellClass = this.cellClass;\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.columnGroupShow) {\n      col.columnGroupShow = this.columnGroupShow;\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","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})\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: ` <ax-check-box [value]=\"value\" readonly=\"true\"></ax-check-box> `,\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 label=\"Select Box\" [items]=\"selectItem\"></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 | any): 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 {\n  ChangeDetectionStrategy,\n  Component,\n  ContentChildren,\n  QueryList,\n} from '@angular/core';\nimport { AXGridDataColumn } from './column.component';\n\n@Component({\n  selector: 'ax-column-group',\n  template: '<ng-content></ng-content>',\n  providers: [\n    { provide: AXGridDataColumn, useExisting: AXColumnGroupComponent },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXColumnGroupComponent extends AXGridDataColumn {\n  @ContentChildren(AXGridDataColumn)\n  columns: QueryList<AXGridDataColumn>;\n\n  render() {\n    const col = super.render();\n    col.children = [];\n    this.columns.forEach((elm) => {\n      col.children.push(elm.render());\n    });\n    return col;\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@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\n        label=\"Filter\"\n        allowClear=\"true\"\n        (textChange)=\"onChange($event)\"\n      >\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 | any): 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.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, 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 { 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 {\n  AXDataSourceComponent,\n  AXDataSourceReadParams,\n} from '@acorex/components';\nimport {\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n} from '@angular/core';\nimport {\n  CellClickedEvent,\n  CellEvent,\n  FirstDataRenderedEvent,\n  GridApi,\n  GridOptions,\n  GridSizeChangedEvent,\n  RowClickedEvent,\n  RowEvent,\n} from 'ag-grid-community';\nimport { AXGridDataColumn } from './columns/column.component';\n\nimport { ViewEncapsulation } from '@angular/core';\nimport { LicenseManager } from 'ag-grid-enterprise';\nimport {\n  AXGridCellEvent,\n  AXGridRowEvent,\n  AXGridRowParams,\n  AXGridRowSelectionEvent,\n} from './datagrid.events';\n\nimport {\n  AXDataEvent,\n  AXToolbarComponent,\n  AXToolbarSearchComponent,\n  AXValueEvent,\n} from '@acorex/components';\nimport { AXConfig, AXTranslator } from '@acorex/core';\nimport { AXDatePickerFilterComponent } from './columns/date-column.component';\nimport { AXDataGridDetailTemplateComponent } from './templates/detail-template.component';\nimport { AXDataGridRowTemplateComponent } from './templates/row-template.component';\n\nLicenseManager.prototype.isDisplayWatermark = () => {\n  return false;\n};\nLicenseManager.prototype.validateLicense = function () {\n  //console.info('Cracked by Arash Oshnoudi!');\n};\n\nexport class AXDataGridColumnsChangeEvent extends AXValueEvent<\n  AXGridDataColumn[]\n> {\n  declare component: AXDataGridComponent;\n}\nexport class AXDataGridCellEvent extends AXDataEvent<AXGridCellEvent> {\n  declare component: AXDataGridComponent;\n}\nexport class AXDaagridRowClickEvent extends AXDataEvent<AXGridRowEvent> {\n  declare component: AXDataGridComponent;\n}\n\nexport class AXDataGridSelectionChangeEvent extends AXDataEvent<AXGridRowSelectionEvent> {\n  declare component: AXDataGridComponent;\n}\n\nexport class AXDataGridRowSelectionChangeEvent extends AXDataEvent<any> {\n  declare component: AXDataGridComponent;\n  declare 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 = '100%';\n  detailCellRenderer: any;\n  detailCellRendererParams: any;\n  detailRowHeight: number;\n  masterDetail = false;\n  treeData = false;\n  enabelSelect = false;\n  gridView = false;\n  groupSelectsChildren = false;\n  oldSelectionNodes: any[] = [];\n  autoGroupColumnDef: any = {};\n  currentPage = 1;\n\n  @Input()\n  paginationAutoPageSize = false;\n\n  @Input()\n  paginationPageSize = 20;\n\n  cacheBlockSize = this.paginationPageSize;\n\n  @Input()\n  public remoteOperation = false;\n\n  @Input()\n  public rowMultiSelectWithClick = false;\n\n  @Input()\n  public suppressRowClickSelection = false;\n\n  @Input()\n  public suppressCellSelection = false;\n\n  @Input()\n  public sizeColumnsToFit = true;\n\n  @Input()\n  showCheckBox = true;\n\n  @Input()\n  floatingFilter = false;\n\n  @Input()\n  autoExpand = false;\n\n  @Input()\n  rowSelectableConditionField: string;\n\n  @Input()\n  selectionMode: 'single' | 'multiple' = 'single';\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  enableRangeSelection = false;\n\n  @Input()\n  keyField: string = 'null';\n\n  @Input()\n  hasChildField: string = 'null';\n\n  @Input()\n  rowHeight = 28;\n\n  @Input()\n  groupHideOpenParents: boolean = false;\n\n  @Input()\n  maxConcurrentDatasourceRequests: number;\n\n  @Input()\n  blockLoadDebounceMillis: number;\n\n  @Input()\n  showRefreshButton = true;\n\n  @Input()\n  autoNavigatePage = false;\n\n  @Input()\n  rowClass?: (\n    params: AXGridRowParams\n  ) => (string | string[]) | (string | string[]);\n\n  @Input()\n  rtl: boolean = AXConfig.get('layout.rtl');\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> =\n    new EventEmitter<AXDataGridColumnsChangeEvent>();\n\n  private _columns: AXGridDataColumn[] = [];\n  @Input()\n  public get columns(): AXGridDataColumn[] {\n    return this._inlineColumns\n      ? [...this._columns, ...this._inlineColumns.toArray()]\n      : 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({\n        component: this,\n        value: val,\n        oldValue: old,\n        htmlElement: this.ref.nativeElement,\n      });\n    }\n  }\n\n  defaultColDef: any = {\n    filter: true,\n    floatingFilter: true,\n  };\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  @Output()\n  cellClick: EventEmitter<AXDataGridCellEvent> =\n    new EventEmitter<AXDataGridCellEvent>();\n\n  @Output()\n  cellDbClick: EventEmitter<AXDataGridCellEvent> =\n    new EventEmitter<AXDataGridCellEvent>();\n\n  @Output()\n  cellFocuse: EventEmitter<AXDataGridCellEvent> =\n    new EventEmitter<AXDataGridCellEvent>();\n\n  @Output()\n  rowClick: EventEmitter<AXDaagridRowClickEvent> =\n    new EventEmitter<AXDaagridRowClickEvent>();\n\n  @Output()\n  rowDbClick: EventEmitter<AXDaagridRowClickEvent> =\n    new EventEmitter<AXDaagridRowClickEvent>();\n\n  @Output()\n  selectionChanged: EventEmitter<AXDataGridSelectionChangeEvent> =\n    new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n  @Output()\n  rowSelectionChange: EventEmitter<AXDataGridSelectionChangeEvent> =\n    new EventEmitter<AXDataGridSelectionChangeEvent>();\n\n  @Output()\n  onRowSelectionChanged: EventEmitter<AXDataGridRowSelectionChangeEvent> =\n    new EventEmitter<AXDataGridRowSelectionChangeEvent>();\n\n  constructor(\n    private ref: ElementRef<HTMLDivElement>,\n    private cdr: ChangeDetectorRef\n  ) {\n    this.localeText = AXTranslator.get('dataGrid');\n  }\n\n  private calcHeight(): void {\n    if (this.toolbar) {\n      this.internalHeight = `calc(100% - ${40}px)`;\n    } else {\n      this.internalHeight = '100%';\n    }\n  }\n\n  private get intenalGridDataSource() {\n    const that = this;\n    return {\n      rowCount: null,\n      getRows: (params) => {\n        that.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        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  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 =\n        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    if (this.showRefreshButton) {\n      this.makeRefreshBtn();\n    }\n\n    if (this.autoNavigatePage) {\n      this.handleNextBtnClick();\n      this.handleBackBtnClick();\n      this.handleLastBtnClick();\n      this.handleFitstBtnClick();\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 =\n        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    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 =\n        window\n          .getComputedStyle(this.ref.nativeElement, null)\n          .getPropertyValue('direction') === 'rtl';\n    }\n    //\n  }\n\n  gridSelectRow() {\n    if (this.gridApi) {\n      if (\n        this.selectRow &&\n        this.selectRow.length > 0 &&\n        this.gridApi !== undefined &&\n        typeof this.selectRow[0] != 'object'\n      ) {\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            if (this.selectRow.length) {\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 (\n                    this.keyField !== 'null' &&\n                    node.data[this.keyField] === item[this.keyField]\n                  ) {\n                    select = true;\n                  }\n                }\n              });\n            }\n            if (this.rowSelectableConditionField) {\n              node.setRowSelectable(\n                node.data[this.rowSelectableConditionField]\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.treeData === true) {\n      this.columnDefs = this.columns.map((c) => c.render());\n\n      const groupColumn = this.columnDefs.find(\n        (c) => c.rowGroupIndex == '0' && c.field !== ''\n      );\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      if (this.autoNavigatePage) {\n        this.paginationGoToPage(this.currentPage);\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  mapColumns() {\n    this.columnDefs = this.columns.map((c) => c.render());\n    if (this.gridDetailTemplate) {\n      if (\n        this.columnDefs[0].checkboxSelection === true &&\n        this.columnDefs[0].field === ''\n      ) {\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(\n        (c) => c.rowGroupIndex === undefined && c.field !== ''\n      );\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(\n        (c) => c.colId !== 'ag-Grid-AutoColumn' && c.colId !== '0'\n      );\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({\n      data: this.mapCellEvent(e),\n      component: this,\n      htmlElement: this.ref.nativeElement,\n    });\n  }\n\n  internalGridCellDoubleClicked(e: CellClickedEvent) {\n    this.cellDbClick.emit({\n      data: this.mapCellEvent(e),\n      component: this,\n      htmlElement: this.ref.nativeElement,\n    });\n  }\n\n  internalGridCellFocused(e: CellClickedEvent) {\n    this.cellFocuse.emit({\n      data: this.mapCellEvent(e),\n      htmlElement: this.ref.nativeElement,\n      component: this,\n    });\n  }\n\n  internalGridRowClicked(e: RowClickedEvent) {\n    if (!e.node.group) {\n      this.rowClick.emit({\n        data: this.mapRowEvent(e),\n        component: this,\n        htmlElement: this.ref.nativeElement,\n      });\n    }\n  }\n\n  internalGridRowDoubleClicked(e: CellClickedEvent) {\n    if (!e.node.group) {\n      this.rowDbClick.emit({\n        data: this.mapRowEvent(e),\n        htmlElement: this.ref.nativeElement,\n        component: this,\n      });\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(\n        (c) => c[this.keyField] != e.data[this.keyField]\n      );\n      this.selectRow.push(e.data);\n    } else {\n      this.selectRow = this.selectRow.filter(\n        (c) => c[this.keyField] != e.data[this.keyField]\n      );\n    }\n    this.rowSelectionChange.emit({\n      component: this,\n      data: e,\n      htmlElement: this.ref.nativeElement,\n    });\n  }\n\n  internalGridSelectionChanged(e) {\n    const args: AXGridRowSelectionEvent = { items: [] };\n    const oldNodes = this.oldSelectionNodes;\n    const nodes = this.gridApi.getSelectedNodes();\n\n    if (this.autoExpand) {\n      const unselectedNodes = oldNodes.filter(\n        (oldNode) => !nodes.some((newNode) => newNode === oldNode)\n      );\n      unselectedNodes.forEach((el) => {\n        el.setExpanded(false);\n      });\n    }\n\n    nodes.forEach((i) => {\n      if (this.autoExpand) {\n        i.setExpanded(true);\n      }\n      args.items.push({\n        rowLevel: i.level,\n        rowIndex: i.rowIndex,\n        data: i.data,\n      });\n    });\n    this.selectionChanged.emit({\n      data: args,\n      component: this,\n      htmlElement: this.ref.nativeElement,\n    });\n    let action = nodes.length > oldNodes.length ? true : false;\n    const node = this.differenceOf2Arrays(nodes, oldNodes);\n    this.onRowSelectionChanged.emit({\n      component: this,\n      selected: action,\n      data: node,\n      htmlElement: this.ref.nativeElement,\n    });\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  public deselectByKeyField(keyField) {\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(\n            (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    this.headerHeightSetter();\n  }\n\n  handleColumnResized(e) {\n    this.headerHeightSetter();\n  }\n\n  private performSizeColumnsToFit(api: GridApi) {\n    if (this.sizeColumnsToFit) {\n      api.sizeColumnsToFit();\n    }\n  }\n\n  private handlePageSize() {\n    const pagingPanel =\n      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  private headerHeightSetter() {\n    const padding = 20;\n    const height = this.headerHeightGetter() + padding;\n    this.gridApi.setHeaderHeight(height);\n  }\n\n  private headerHeightGetter() {\n    const columnHeaderTexts = [\n      ...(document.querySelectorAll('.ag-header-cell-text') as any),\n    ];\n\n    const clientHeights = columnHeaderTexts.map(\n      (headerText) => headerText.clientHeight\n    );\n    const tallestHeaderTextHeight = Math.max(...clientHeights);\n\n    return tallestHeaderTextHeight;\n  }\n\n  private makeRefreshBtn() {\n    const pagingPanel =\n      this.ref.nativeElement.querySelector('.ag-paging-panel');\n\n    const refBtn = document.createElement('span');\n\n    refBtn.classList.add('far');\n    refBtn.classList.add('fa-sync');\n\n    refBtn.style.cursor = 'pointer';\n\n    refBtn.title = AXTranslator.get('common.refresh');\n\n    refBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\n      this.refresh();\n    });\n\n    pagingPanel.appendChild(refBtn);\n  }\n\n  private handleNextBtnClick() {\n    const nextPageBtn = this.ref.nativeElement.querySelector(\n      '[ref=\"btNext\"]'\n    ) as HTMLElement;\n\n    nextPageBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\n    });\n  }\n\n  private handleBackBtnClick() {\n    const backPageBtn = this.ref.nativeElement.querySelector(\n      '[ref=\"btPrevious\"]'\n    ) as HTMLElement;\n\n    backPageBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\n    });\n  }\n\n  private handleLastBtnClick() {\n    const backPageBtn = this.ref.nativeElement.querySelector(\n      '[ref=\"btLast\"]'\n    ) as HTMLElement;\n\n    backPageBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\n    });\n  }\n\n  private handleFitstBtnClick() {\n    const backPageBtn = this.ref.nativeElement.querySelector(\n      '[ref=\"btFirst\"]'\n    ) as HTMLElement;\n\n    backPageBtn.addEventListener('click', () => {\n      this.currentPage = this.getCurrentPageNumber().current;\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<ag-grid-angular\n  *ngIf=\"gridView\"\n  class=\"ag-theme-balham\"\n  [getRowClass]=\"internalGetRowClass\"\n  [suppressCopyRowsToClipboard]=\"true\"\n  [enableRangeSelection]=\"enableRangeSelection\"\n  [serverSideStoreType]=\"'partial'\"\n  [style.height]=\"internalHeight\"\n  [columnDefs]=\"columnDefs\"\n  [enableRtl]=\"rtl\"\n  [pagination]=\"pagination\"\n  [rowGroupPanelShow]=\"rowGroupPanelShow\"\n  [rowModelType]=\"rowModelType\"\n  [detailRowHeight]=\"detailRowHeight\"\n  [rowHeight]=\"rowHeight\"\n  [paginationAutoPageSize]=\"paginationAutoPageSize\"\n  [paginationPageSize]=\"paginationPageSize\"\n  [suppressMenuHide]=\"true\"\n  [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n  [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n  [frameworkComponents]=\"frameworkComponents\"\n  [isFullWidthCell]=\"isFullWidthCell\"\n  [rowSelection]=\"selectionMode\"\n  [rowMultiSelectWithClick]=\"rowMultiSelectWithClick\"\n  [fullWidthCellRendererFramework]=\"fullWidthCellRendererFramework\"\n  [cacheBlockSize]=\"cacheBlockSize\"\n  [fullWidthCellRendererParams]=\"fullWidthCellRendererParams\"\n  (columnResized)=\"handleColumnResized($event)\"\n  (cellClicked)=\"internalGridCellClicked($event)\"\n  (cellDoubleClicked)=\"internalGridCellDoubleClicked($event)\"\n  (cellFocused)=\"internalGridCellFocused($event)\"\n  (rowClicked)=\"internalGridRowClicked($event)\"\n  (selectionChanged)=\"internalGridSelectionChanged($event)\"\n  (rowSelected)=\"rowSelectionChanged($event)\"\n  (rowDoubleClicked)=\"internalGridRowDoubleClicked($event)\"\n  (gridReady)=\"internalGridReady($event)\"\n  [groupSelectsChildren]=\"groupSelectsChildren\"\n  [suppressRowClickSelection]=\"suppressRowClickSelection\"\n  [groupSelectsFiltered]=\"true\"\n  [suppressCellSelection]=\"suppressCellSelection\"\n  [autoGroupColumnDef]=\"autoGroupColumnDef\"\n  [suppressAggFuncInHeader]=\"true\"\n  [treeData]=\"treeData\"\n  [animateRows]=\"true\"\n  [isServerSideGroup]=\"isServerSideGroup\"\n  [getServerSideGroupKey]=\"getServerSideGroupKey\"\n  [masterDetail]=\"masterDetail\"\n  [detailCellRendererParams]=\"detailCellRendererParams\"\n  [detailCellRenderer]=\"detailCellRenderer\"\n  (gridSizeChanged)=\"internalGridSizeChanged($event)\"\n  (firstDataRendered)=\"internalGridFirstDataRendered($event)\"\n  [localeText]=\"localeText\"\n  [groupHideOpenParents]=\"groupHideOpenParents\"\n  [allowContextMenuWithControlKey]=\"false\"\n  [getMainMenuItems]=\"getMainMenuItems\"\n>\n</ag-grid-angular>\n\n<!-- (displayedColumnsChanged)=\"displayedColumnsChanged($event)\"  -->\n","import {\n  AXButtonModule,\n  AXCheckBoxModule,\n  AXDataSourceModule,\n  AXDatePickerModule,\n  AXSelectBoxModule,\n  AXTextBoxModule,\n} from '@acorex/components';\nimport { AXCoreModule } from '@acorex/core';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AgGridModule } from 'ag-grid-angular';\nimport 'ag-grid-enterprise';\nimport {\n  AXGridCheckColumn,\n  BooleanFilterRenderer,\n  BooleanRenderer,\n} from './columns/check-column.component';\nimport { AXColumnGroupComponent } from './columns/column-groups.component';\nimport {\n  AXGridCommandColumn,\n  CommandRenderer,\n} from './columns/command-column.component';\nimport {\n  AXDatePickerFilterComponent,\n  AXGridDateColumn,\n} from './columns/date-column.component';\nimport { AXGridRowNumberColumn } from './columns/row-number-column.component';\nimport { AXGridSelectionColumn } from './columns/selection-column.component';\nimport {\n  AXGridTextColumn,\n  TextFilterRenderer,\n} from './columns/text-column.component';\nimport { AXDataGridComponent } from './datagrid.component';\nimport { AXDataGridFilterComponent } from './filters/filter.component';\nimport {\n  AXDataGridCellTemplateComponent,\n  AXDataGridCellTemplateRenderer,\n} from './templates/cell-template.component';\nimport {\n  AXDataGridDetailTemplateComponent,\n  AXDataGridDetailTemplateRenderer,\n} from './templates/detail-template.component';\nimport {\n  AXDataGridRowTemplateComponent,\n  AXDataGridRowTemplateRenderer,\n} from './templates/row-template.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    AXColumnGroupComponent,\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    AXColumnGroupComponent,\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 {\n  AXBasePopupPageComponent,\n  AXDataSourceComponent,\n  AXMenuItemClickEvent,\n  AXToolbarSearchComponent,\n} from '@acorex/components';\nimport { AXButtonItem, AXConfig, AXTranslator } from '@acorex/core';\nimport {\n  ChangeDetectorRef,\n  Component,\n  ElementRef,\n  ViewChild,\n} from '@angular/core';\nimport { AXGridDataColumn } from '../../data-grid/columns/column.component';\nimport { AXDataGridComponent } from '../../data-grid/datagrid.component';\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\n  paginationAutoPageSize: boolean;\n\n  paginationPageSize: number;\n\n  maxConcurrentDatasourceRequests: number;\n\n  blockLoadDebounceMillis: number;\n\n  constructor(private cdr: ChangeDetectorRef, private ref: ElementRef) {\n    super();\n  }\n\n  dataSource: AXDataSourceComponent;\n\n  selectionMode: string;\n\n  ngOnInit(): void {\n    if (this.rtl == null) {\n      this.rtl =\n        window\n          .getComputedStyle(this.ref.nativeElement, null)\n          .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(\n      (c) => c[this.keyField] != e.data.data[this.keyField]\n    );\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(\n        (c) => c[this.keyField] != e.data.node.data[this.keyField]\n      );\n      this.selectedItems.push(e.data.node.data);\n    } else {\n      if (\n        this.allowNull == true ||\n        (this.allowNull == false && this.selectedItems.length > 1)\n      ) {\n        this.selectedItems = this.selectedItems.filter(\n          (c) => c[this.keyField] != e.data.node.data[this.keyField]\n        );\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    <ax-data-grid\n      [showRefreshButton]=\"false\"\n      [pagination]=\"pagination\"\n      [paginationAutoPageSize]=\"paginationAutoPageSize\"\n      [paginationPageSize]=\"paginationPageSize\"\n      [rtl]=\"rtl\"\n      [maxConcurrentDatasourceRequests]=\"maxConcurrentDatasourceRequests\"\n      [blockLoadDebounceMillis]=\"blockLoadDebounceMillis\"\n      [suppressRowClickSelection]=\"false\"\n      [keyField]=\"keyField\"\n      [hasChildField]=\"hasChildField\"\n      [selectRow]=\"selectedItems\"\n      #grid\n      [columns]=\"columns\"\n      [remoteOperation]=\"true\"\n      [selectionMode]=\"selectionMode\"\n      (rowDbClick)=\"rowDoubleClicked($event)\"\n      (rowSelectionChange)=\"rowSelectionChange($event)\"\n      [dataSource]=\"dataSource\"\n    >\n      <ax-toolbar>\n        <ax-toolbar-search #searchBox style=\"width: 100%\"></ax-toolbar-search>\n      </ax-toolbar>\n      <ax-selection-column\n        *ngIf=\"selectionMode == 'single' ? false : true\"\n      ></ax-selection-column>\n      <!-- <ax-data-source [provideData]=\"dataSource.provideData\">\n              </ax-data-source> -->\n    </ax-data-grid>\n  </div>\n</div>\n","import {\n  AXBaseInputComponent,\n  AXBaseSizableComponent,\n  AXDataEvent,\n  AXDataSourceComponent,\n  AXElementSize,\n  AXPopupService,\n  AXSelectBoxComponent,\n  AXValidatableComponent,\n  AXValidation,\n} from '@acorex/components';\nimport { AXConfig } from '@acorex/core';\nimport {\n  Component,\n  ContentChild,\n  ContentChildren,\n  ElementRef,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n  TemplateRef,\n  ViewChild,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { AXGridDataColumn } from '../data-grid/columns/column.component';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\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\n  extends AXValidatableComponent\n  implements AXBaseSizableComponent, AXBaseInputComponent\n{\n  @ContentChild(AXValidation, { static: true })\n  private _contentValidation: AXValidation;\n  private _validation: AXValidation;\n\n  @Input()\n  public get validation(): AXValidation {\n    return this._validation ? this._validation : this._contentValidation;\n  }\n  public set validation(v: AXValidation) {\n    this._validation = v;\n  }\n\n  constructor(private popup: AXPopupService, private ref: ElementRef) {\n    super();\n  }\n\n  @ViewChild('selectBox', { static: true })\n  selectBox: AXSelectBoxComponent;\n\n  @ContentChild(AXDataSourceComponent, { static: true })\n  dataSource: AXDataSourceComponent;\n\n  @ContentChildren(AXGridDataColumn)\n  private columns: QueryList<AXGridDataColumn>;\n\n  @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  paginationAutoPageSize = false;\n\n  @Input()\n  paginationPageSize: number;\n\n  // @Input()\n  // selectedValues: any[] = [];\n\n  @Input()\n  maxConcurrentDatasourceRequests: number;\n\n  @Input()\n  blockLoadDebounceMillis: number;\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<\n    AXDataEvent<any>\n  >();\n\n  @Input()\n  rtl: boolean = AXConfig.get('layout.rtl');\n\n  @Input() multiLine = false;\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 =\n        window\n          .getComputedStyle(this.ref.nativeElement, null)\n          .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({\n      data: this.selectedItems,\n      component: this,\n      htmlElement: this.ref.nativeElement,\n    });\n  }\n\n  public open(): Promise<any> {\n    return new Promise((resolve) => {\n      this.selectBox.dropdown.close();\n      this.popup\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            paginationAutoPageSize: this.paginationAutoPageSize,\n            paginationPageSize: this.paginationPageSize,\n            maxConcurrentDatasourceRequests:\n              this.maxConcurrentDatasourceRequests,\n            blockLoadDebounceMillis: this.blockLoadDebounceMillis,\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({\n              data: this.selectedItems,\n              component: this,\n              htmlElement: this.ref.nativeElement,\n            });\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\n  [rowInputTemplate]=\"rowTemplate\"\n  [multiLine]=\"multiLine\"\n  [rtl]=\"rtl\"\n  [allowSearch]=\"allowSearch\"\n  #selectBox\n  [showDropDownButton]=\"false\"\n  [allowNull]=\"allowNull\"\n  [remoteOperation]=\"true\"\n  [placeholder]=\"placeholder\"\n  [size]=\"size\"\n  [textField]=\"textField\"\n  [valueField]=\"valueField\"\n  [disabled]=\"disabled\"\n  [mode]=\"mode\"\n  [(selectedItems)]=\"selectedItems\"\n  (selectionChanged)=\"handleSelectChange($event)\"\n  [dataSource]=\"dataSource\"\n>\n  <ng-container start>\n    <ng-content select=\"[start]\"> </ng-content>\n  </ng-container>\n  <ng-container end>\n    <ax-button\n      icon=\"far fa-bars icon\"\n      [disabled]=\"disabled\"\n      type=\"light blank\"\n      (click)=\"handleButtonClick()\"\n      end\n      [tabIndex]=\"-1\"\n    >\n    </ax-button>\n    <ng-content select=\"[end]\"> </ng-content>\n  </ng-container>\n</ax-select-box>\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<!-- <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> -->\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLOVComponent } from './data-lov.component';\nimport { FormsModule } from '@angular/forms';\nimport { AXDataLovPopupComponent } from './data-lov-popup/data-lov-popup.component';\nimport { AXDataGridModule } from '../data-grid/datagrid.module';\nimport { AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSearchBoxModule, AXSelectBoxModule } from '@acorex/components';\n\n\n@NgModule({\n    declarations: [AXLOVComponent, AXDataLovPopupComponent],\n    imports: [CommonModule, FormsModule, AXDataGridModule, AXDataSourceModule, AXButtonModule, AXToolbarModule, AXSelectBoxModule, AXSearchBoxModule],\n    exports: [AXLOVComponent, AXDataLovPopupComponent],\n    providers: []\n})\nexport class AXLOVModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.AXDataGridFilterComponent","i2.AXDataGridComponent","i3.AXGridSelectionColumn","i4"],"mappings":"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"}
         |