{"version":3,"file":"angular-fix-header-grid.mjs","sources":["../../../projects/angular-fix-header-grid/src/lib/angular-fix-header-grid.service.ts","../../../projects/angular-fix-header-grid/src/lib/store/store.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-view/default/grid-cell-view.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-view/default/grid-cell-view.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-editor/default/default-editor.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-editor/default/grid-cell-editor.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-editor/default/grid-cell-editor.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-view/custom/custom-tree-cell.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-editor/custom/custom-tree-cell-Editor.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/grid-cell.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/grid-cell.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-actions/grid-cell-actions.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/components/grid-cell-actions/grid-cell-actions.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-body/components/add-row/add-row.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-body/components/add-row/add-row.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-body/components/filter-row/filter-row.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-body/components/filter-row/filter-row.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-body/grid-body.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-body/grid-body.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-head/grid-head.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-head/grid-head.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-pagination/grid-pagination.component.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-pagination/grid-pagination.component.html","../../../projects/angular-fix-header-grid/src/lib/angular-fix-header-grid.component.ts","../../../projects/angular-fix-header-grid/src/lib/angular-fix-header-grid.component.html","../../../projects/angular-fix-header-grid/src/lib/modules/grid-cell/grid-cell.module.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-body/grid-body.module.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-head/grid-head.module.ts","../../../projects/angular-fix-header-grid/src/lib/modules/grid-pagination/grid-pagination.module.ts","../../../projects/angular-fix-header-grid/src/lib/angular-fix-header-grid.module.ts","../../../projects/angular-fix-header-grid/src/public-api.ts","../../../projects/angular-fix-header-grid/src/angular-fix-header-grid.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { Subject } from \"rxjs\";\n\n@Injectable({\n  providedIn: \"root\",\n})\nexport class AngularFixHeaderGridService {\n  private display_data_observable = new Subject<any[]>();\n  display_data_observable$ = this.display_data_observable.asObservable();\n\n  pagination_observable = new Subject<number>();\n  pagination_observable$ = this.pagination_observable.asObservable();\n\n  constructor() {}\n\n  updateDisplayDataObservable(display_data: any[]) {\n    this.display_data_observable.next(display_data);\n  }\n\n  findRowIndex(display_data: any, configs: any, row_id: number) {\n    return display_data\n      .map((row: any) => row[configs.id_field])\n      .indexOf(row_id);\n  }\n\n  selectAll(display_data: any) {\n    display_data.forEach((data: any) => {\n      data.row_selected = true;\n    });\n  }\n\n  deSelectAll(display_data: any) {\n    display_data.forEach((data: any) => {\n      data.row_selected = false;\n    });\n  }\n}\n","import { Configs } from \"../models/Configs.model\";\nimport { AngularFixHeaderGridService } from \"../angular-fix-header-grid.service\";\nimport { Column } from \"../models/Column.model\";\n\nexport class Store {\n  processed_data: any[] = [];\n  raw_data: any[] = [];\n  display_data: any[] = [];\n  configs: Configs = {};\n\n  getRawData() {\n    return this.raw_data;\n  }\n\n  setRawData(raw_data: any) {\n    this.raw_data = raw_data;\n  }\n\n  getProcessedData() {\n    return this.processed_data;\n  }\n\n  setProcessedData(processed_data: any) {\n    this.processed_data = processed_data;\n    this.setDisplayData([...processed_data]);\n  }\n\n  getDisplayData() {\n    return this.display_data;\n  }\n\n  setDisplayData(display_data: any) {\n    this.display_data = display_data;\n    this.angularFixHeaderGridService.updateDisplayDataObservable(\n      this.display_data\n    );\n  }\n\n  constructor(\n    private angularFixHeaderGridService: AngularFixHeaderGridService\n  ) {}\n\n  processData(data: any, configs: Configs, edit_tracker: any) {\n    this.raw_data = data;\n    let data_index = 0;\n    this.raw_data.forEach((row) => {\n      this.processed_data[data_index] = row;\n      ++data_index;\n    });\n    let index = 0;\n    this.processed_data.forEach((row) => {\n      row.idx = index;\n      this.display_data[index] = row;\n      edit_tracker[index] = false;\n      ++index;\n    });\n    this.configs = configs;\n  }\n\n  addRecord(row_data: any) {\n    let last_index = this.processed_data[this.processed_data.length - 1].idx;\n    row_data.idx = ++last_index;\n    this.processed_data.push(row_data);\n    this.setDisplayData(this.processed_data);\n  }\n\n  filterBy(columns: Column[], search_values: any[]) {\n    this.display_data = this.processed_data.filter((record) => {\n      let found = true;\n      for (let index = 0; index < columns.length; index++) {\n        const column = columns[index];\n        let column_value = record[column.name!];\n        let search_value = search_values[index];\n\n        // If blank then continue.\n        if (!search_value) {\n          continue;\n        }\n\n        // Call custom filter function.\n        if (column.filter_function) {\n          const response = column.filter_function(\n            record,\n            column,\n            column_value,\n            search_value\n          );\n          if (response === false) {\n            found = false;\n          }\n        } else {\n          if (typeof column_value === \"number\") {\n            if (column_value !== parseInt(search_value, 10)) {\n              found = false;\n            }\n          } else {\n            if (!column.case_sensitive_filter) {\n              column_value = column_value.toLowerCase();\n              search_value = search_value.toLowerCase();\n            }\n            if (column_value.indexOf(search_value) === -1) {\n              found = false;\n            }\n          }\n        }\n      }\n      return found;\n    });\n    this.angularFixHeaderGridService.updateDisplayDataObservable(\n      this.display_data\n    );\n  }\n\n  refreshDisplayData() {\n    this.display_data = this.processed_data;\n    this.angularFixHeaderGridService.updateDisplayDataObservable(\n      this.display_data\n    );\n  }\n}\n","import { Component, OnInit, Input } from \"@angular/core\";\nimport { Column } from \"../../../../../models/Column.model\";\n\n@Component({\n  selector: \"db-grid-cell-view\",\n  templateUrl: \"./grid-cell-view.component.html\",\n  styleUrls: [\"./grid-cell-view.component.scss\"],\n})\nexport class GridCellViewComponent implements OnInit {\n  @Input()\n  column!: Column;\n\n  @Input()\n  row_data: any;\n\n  constructor() {}\n\n  ngOnInit() {}\n}\n","<span [innerHTML]=\"column.renderer ? column.renderer(row_data[column.name], row_data) : row_data[column.name]\"></span>","import { Output, EventEmitter, Component } from \"@angular/core\";\n\n@Component({\n  selector: \"\",\n  template: \"\",\n})\nexport class DefaultEditor implements Editor {\n  @Output() canceledit = new EventEmitter<any>();\n  @Output() editcomplete = new EventEmitter<any>();\n  @Output() cellclick = new EventEmitter<any>();\n}\n\nexport interface Editor {\n  canceledit: EventEmitter<any>;\n  editcomplete: EventEmitter<any>;\n  cellclick: EventEmitter<any>;\n}\n","import { Component, OnInit, Input } from \"@angular/core\";\nimport { Column } from \"../../../../../models/Column.model\";\nimport { DefaultEditor } from \"./default-editor.component\";\n\n@Component({\n  selector: \"db-grid-cell-editor\",\n  templateUrl: \"./grid-cell-editor.component.html\",\n  styleUrls: [\"./grid-cell-editor.component.scss\"],\n})\nexport class GridCellEditorComponent extends DefaultEditor implements OnInit {\n  @Input()\n  cell_value: string = \"\";\n\n  @Input()\n  row_data: any;\n\n  @Input()\n  column!: Column;\n\n  @Input()\n  expandable_column: boolean = false;\n\n  constructor() {\n    super();\n  }\n\n  ngOnInit() {}\n}\n","<input type=\"text\" [(ngModel)]=\"row_data[column.name]\"\n    [ngClass]=\"{'cell-default': true, 'expandable-editor': expandable_column}\" (click)=\"cellclick.emit($event)\"\n    (keydown.enter)=\"editcomplete.emit($event)\" (keydown.esc)=\"canceledit.emit()\" size=\"1\">","import {\n  Component,\n  Input,\n  ComponentFactoryResolver,\n  ViewChild,\n  ViewContainerRef,\n  OnInit,\n  OnDestroy,\n} from \"@angular/core\";\nimport { Column } from \"../../../../../models/Column.model\";\n\n@Component({\n  selector: \"db-custom-cell-component\",\n  template: ` <ng-template #customView></ng-template> `,\n})\nexport class CustomCellViewComponent implements OnInit, OnDestroy {\n  custom_component: any;\n  @Input() column!: Column;\n  @Input() row_data: any;\n  @ViewChild(\"customView\", { read: ViewContainerRef, static: true })\n  custom_view: any;\n\n  constructor(private resolver: ComponentFactoryResolver) {}\n\n  ngOnInit() {\n    if (this.column.component && !this.custom_component) {\n      this.createCustomComponent();\n      this.callOnComponentInit();\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.custom_component) {\n      this.custom_component.destroy();\n    }\n  }\n\n  protected createCustomComponent() {\n    const componentFactory = this.resolver.resolveComponentFactory(\n      this.column.component\n    );\n    this.custom_component = this.custom_view.createComponent(componentFactory);\n  }\n\n  protected callOnComponentInit() {\n    this.column.on_component_init &&\n      this.column.on_component_init(this.custom_component.instance);\n\n    this.custom_component.instance.cell_value =\n      this.row_data[this.column.name!];\n    this.custom_component.instance.row_data = this.row_data;\n    this.custom_component.instance.column = this.column;\n  }\n}\n","import {\n  Component,\n  Input,\n  ComponentFactoryResolver,\n  ViewChild,\n  ViewContainerRef,\n  OnInit,\n  OnDestroy,\n} from \"@angular/core\";\nimport { Column } from \"../../../../../models/Column.model\";\nimport { DefaultEditor } from \"../default/default-editor.component\";\n\n@Component({\n  selector: \"db-custom-cell-editor-component\",\n  template: ` <ng-template #customView></ng-template> `,\n})\nexport class CustomCellEditorComponent\n  extends DefaultEditor\n  implements OnInit, OnDestroy\n{\n  custom_component: any;\n  @Input() column!: Column;\n  @Input() cell_value: string = \"\";\n  @Input() row_data: any;\n  @ViewChild(\"customView\", { read: ViewContainerRef, static: true })\n  custom_view: any;\n\n  constructor(private resolver: ComponentFactoryResolver) {\n    super();\n  }\n\n  ngOnInit() {\n    if (this.column.editor && !this.custom_component) {\n      this.createCustomComponent();\n      this.callOnComponentInit();\n    }\n  }\n\n  ngOnDestroy() {\n    if (this.custom_component) {\n      this.custom_component.destroy();\n    }\n  }\n\n  protected createCustomComponent() {\n    const componentFactory = this.resolver.resolveComponentFactory(\n      this.column.editor\n    );\n    this.custom_component = this.custom_view.createComponent(componentFactory);\n  }\n\n  protected callOnComponentInit() {\n    this.column.on_component_init &&\n      this.column.on_component_init(this.custom_component.instance);\n\n    this.custom_component.instance.cell_value = this.cell_value;\n    this.custom_component.instance.row_data = this.row_data;\n    this.custom_component.instance.column = this.column;\n\n    this.custom_component.instance.editcomplete.subscribe((event: any) =>\n      this.editcomplete.emit(event)\n    );\n    this.custom_component.instance.canceledit.subscribe((event: any) =>\n      this.canceledit.emit(event)\n    );\n    this.custom_component.instance.cellclick.subscribe((event: any) =>\n      this.cellclick.emit(event)\n    );\n  }\n}\n","import { Component, OnInit, Input, EventEmitter, Output } from \"@angular/core\";\nimport { Configs } from \"../../models/Configs.model\";\nimport { Column } from \"../../models/Column.model\";\n\n@Component({\n  selector: \"db-grid-cell\",\n  templateUrl: \"./grid-cell.component.html\",\n  styleUrls: [\"./grid-cell.component.scss\"],\n})\nexport class GridCellComponent implements OnInit {\n  cell_value: string = \"\";\n\n  @Input()\n  configs!: Configs;\n\n  @Input()\n  index!: number;\n\n  @Input()\n  row_data: any;\n\n  @Input()\n  column!: Column;\n\n  @Input()\n  expand_tracker: any;\n\n  @Input()\n  cellclick!: EventEmitter<any>;\n\n  @Input()\n  edit_on!: boolean;\n\n  @Output() rowexpand: EventEmitter<any> = new EventEmitter();\n  @Output() rowcollapse: EventEmitter<any> = new EventEmitter();\n  @Output() canceledit: EventEmitter<any> = new EventEmitter();\n  @Output() editcomplete: EventEmitter<any> = new EventEmitter();\n\n  constructor() {}\n\n  ngOnInit() {\n    this.cell_value = this.row_data[this.column.name!];\n  }\n\n  onCellClick(event: any) {\n    this.cellclick.emit({\n      column: this.column,\n      row: this.row_data,\n      event: event,\n    });\n  }\n\n  onEditComplete($event: any) {\n    this.editcomplete.emit({ event: $event, data: this.row_data });\n  }\n}\n","<div (click)=\"onCellClick($event)\">\n  <ng-container *ngIf=\"!edit_on || !column.editable\" [ngSwitch]=\"column.type\">\n    <db-custom-cell-component *ngSwitchCase=\"'custom'\" [column]=\"column\" [row_data]=\"row_data\">\n    </db-custom-cell-component>\n    <db-grid-cell-view *ngSwitchDefault [column]=\"column\" [row_data]=\"row_data\">\n    </db-grid-cell-view>\n  </ng-container>\n\n  <ng-container *ngIf=\"edit_on && column.editable\">\n    <db-custom-cell-editor-component *ngIf=\"column.editor\" [cell_value]=\"cell_value\" [column]=\"column\"\n      [row_data]=\"row_data\" (canceledit)=\"canceledit.emit(row_data['pathx'])\" (editcomplete)=\"onEditComplete($event)\">\n    </db-custom-cell-editor-component>\n    <db-grid-cell-editor *ngIf=\"!column.editor\" [cell_value]=\"cell_value\" [row_data]=\"row_data\" [column]=\"column\"\n      (canceledit)=\"canceledit.emit(row_data['pathx'])\" (editcomplete)=\"onEditComplete($event)\">\n    </db-grid-cell-editor>\n  </ng-container>\n</div>","import { Component, OnInit, Input, EventEmitter, Output } from \"@angular/core\";\nimport { Store } from \"../../../../store/store\";\nimport { Configs } from \"../../../../models/Configs.model\";\n\n@Component({\n  selector: \"[db-grid-cell-actions]\",\n  templateUrl: \"./grid-cell-actions.component.html\",\n  styleUrls: [\"./grid-cell-actions.component.scss\"],\n})\nexport class GridCellActionsComponent implements OnInit {\n  display_data: any;\n\n  @Input()\n  store!: Store;\n\n  @Input()\n  edit_tracker: any;\n\n  @Input()\n  internal_configs: any;\n\n  @Input()\n  configs!: Configs;\n\n  @Input()\n  rowdelete!: EventEmitter<any>;\n\n  @Input()\n  row_data: any;\n\n  @Output() editcomplete: EventEmitter<any> = new EventEmitter();\n  @Output() canceledit: EventEmitter<any> = new EventEmitter();\n\n  constructor() {}\n\n  ngOnInit() {\n    this.display_data = this.store.getDisplayData();\n  }\n\n  enableEdit(index: any) {\n    this.edit_tracker[index] = true;\n    this.internal_configs.current_edited_row = { ...this.row_data };\n  }\n\n  findRecordIndex(idx: number) {\n    for (const index in this.store.processed_data) {\n      if (this.store.processed_data[index].idx === idx) {\n        return Number(index);\n      }\n    }\n    return -1;\n  }\n\n  deleteRecord(rec: any) {\n    const index: number = this.findRecordIndex(rec.idx)!;\n    if (this.configs?.actions?.resolve_delete) {\n      const promise = new Promise((resolve, reject) => {\n        this.rowdelete.emit({\n          data: rec,\n          resolve: resolve,\n        });\n      });\n\n      promise\n        .then(() => {\n          this.store.processed_data.splice(index, 1);\n          this.store.refreshDisplayData();\n        })\n        .catch((err) => {});\n    } else {\n      this.store.processed_data.splice(index, 1);\n      this.store.refreshDisplayData();\n      this.rowdelete.emit(rec);\n    }\n  }\n\n  saveRecord($event: any) {\n    this.editcomplete.emit({ event: $event, data: this.row_data });\n  }\n}\n","<ng-container *ngIf=\"configs.actions?.edit && configs?.row_edit_function(row_data)\">\n  <div *ngIf=\"!edit_tracker[row_data['idx']]\" class=\"icon-container\">\n    <i (click)=\"enableEdit(row_data.idx)\" *ngIf=\"configs.css?.edit_class\" title=\"Edit row\"\n      class=\"{{this.configs.css?.edit_class}}\" aria-hidden=\"true\"></i>\n    <svg (click)=\"enableEdit(row_data.idx)\" *ngIf=\"!configs.css?.edit_class\" xmlns=\"http://www.w3.org/2000/svg\"\n      viewBox=\"0 0 24 24\">\n      <title>Edit row</title>\n      <g row_data-name=\"Layer 2\">\n        <g row_data-name=\"edit\">\n          <rect width=\"24\" height=\"24\" opacity=\"0\" />\n          <path\n            d=\"M19.4 7.34L16.66 4.6A2 2 0 0 0 14 4.53l-9 9a2 2 0 0 0-.57 1.21L4 18.91a1 1 0 0 0 .29.8A1 1 0 0 0 5 20h.09l4.17-.38a2 2 0 0 0 1.21-.57l9-9a1.92 1.92 0 0 0-.07-2.71zM9.08 17.62l-3 .28.27-3L12 9.32l2.7 2.7zM16 10.68L13.32 8l1.95-2L18 8.73z\" />\n        </g>\n      </g>\n    </svg>\n  </div>\n  <ng-container *ngIf=\"edit_tracker[row_data['idx']]\">\n    <div class=\"icon-container\">\n      <i (click)=\"saveRecord($event)\" *ngIf=\"configs.css?.save_class\" title=\"Save row\"\n        class=\"{{this.configs.css?.save_class}}\" aria-hidden=\"true\"></i>\n      <svg (click)=\"saveRecord($event)\" title=\"Save row\" *ngIf=\"!configs.css?.save_class\"\n        xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n        <title>Save row</title>\n        <g row_data-name=\"Layer 2\">\n          <g row_data-name=\"save\">\n            <rect width=\"24\" height=\"24\" opacity=\"0\" />\n            <path\n              d=\"M20.12 8.71l-4.83-4.83A3 3 0 0 0 13.17 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-7.17a3 3 0 0 0-.88-2.12zM10 19v-2h4v2zm9-1a1 1 0 0 1-1 1h-2v-3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h2v5a1 1 0 0 0 1 1h4a1 1 0 0 0 0-2h-3V5h3.17a1.05 1.05 0 0 1 .71.29l4.83 4.83a1 1 0 0 1 .29.71z\" />\n          </g>\n        </g>\n      </svg>\n    </div>\n    <div class=\"icon-container\">\n      <i (click)=\"canceledit.emit(row_data)\" *ngIf=\"configs.css?.cancel_class\" title=\"Cancel row\"\n        class=\"{{this.configs.css?.cancel_class}}\" aria-hidden=\"true\"></i>\n      <svg (click)=\"canceledit.emit(row_data)\" *ngIf=\"!configs.css?.cancel_class\" title=\"Cancel row\"\n        xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n        <title>Cancel row</title>\n        <g row_data-name=\"Layer 2\">\n          <g row_data-name=\"close\">\n            <rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\" />\n            <path\n              d=\"M13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29-4.3 4.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4.29-4.3 4.29 4.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\" />\n          </g>\n        </g>\n      </svg>\n    </div>\n  </ng-container>\n</ng-container>\n<div *ngIf=\"configs.actions?.delete && !edit_tracker[row_data['idx']] && configs?.row_delete_function(row_data)\"\n  class=\"icon-container\">\n  <i *ngIf=\"configs.css?.delete_class\" title=\"Delete row\" (click)=\"deleteRecord(row_data)\"\n    class=\"{{this.configs.css?.delete_class}}\" aria-hidden=\"true\"></i>\n  <svg *ngIf=\"!configs.css?.delete_class\" title=\"Delete row\" (click)=\"deleteRecord(row_data)\"\n    xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n    <title>Delete row</title>\n    <g row_data-name=\"Layer 2\">\n      <g row_data-name=\"trash-2\">\n        <rect width=\"24\" height=\"24\" opacity=\"0\" />\n        <path\n          d=\"M21 6h-5V4.33A2.42 2.42 0 0 0 13.5 2h-3A2.42 2.42 0 0 0 8 4.33V6H3a1 1 0 0 0 0 2h1v11a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8h1a1 1 0 0 0 0-2zM10 4.33c0-.16.21-.33.5-.33h3c.29 0 .5.17.5.33V6h-4zM18 19a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8h12z\" />\n        <path d=\"M9 17a1 1 0 0 0 1-1v-4a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1z\" />\n        <path d=\"M15 17a1 1 0 0 0 1-1v-4a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1z\" />\n      </g>\n    </g>\n  </svg>\n</div>","import { Component, OnInit, Input, Output, EventEmitter } from \"@angular/core\";\nimport { Store } from \"../../../../store/store\";\nimport { Column } from \"../../../../models/Column.model\";\nimport { Configs } from \"../../../../models/Configs.model\";\n\n@Component({\n  selector: \"[db-add-row]\",\n  templateUrl: \"./add-row.component.html\",\n  styleUrls: [\"./add-row.component.scss\"],\n})\nexport class AddRowComponent implements OnInit {\n  raw_data: any[] = [];\n  row_data: any = {};\n  parents: any[] = [];\n  show_add_row: boolean = false;\n\n  @Input()\n  store!: Store;\n\n  @Input()\n  columns!: Column[];\n\n  @Input()\n  configs!: Configs;\n\n  @Input()\n  internal_configs: any;\n\n  @Output() rowadd: EventEmitter<any> = new EventEmitter();\n  @Output() canceledit: EventEmitter<any> = new EventEmitter();\n\n  constructor() {}\n\n  ngOnInit() {\n    this.raw_data = this.store.getRawData();\n    this.columns.forEach((column) => {\n      this.row_data[column.name!] = \"\";\n    });\n  }\n\n  saveAddRecord(e: any) {\n    this.store.addRecord(this.row_data);\n    this.rowadd.emit(this.row_data);\n  }\n\n  cancelAddEdit() {\n    this.internal_configs.show_add_row = false;\n  }\n}\n","<td *ngIf=\"configs.multi_select\"></td>\n<td>\n  <div class=\"icon-container\">\n    <i (click)=\"saveAddRecord($event)\" *ngIf=\"configs.css?.save_class\" title=\"Save row\"\n      class=\"{{this.configs.css?.save_class}}\" aria-hidden=\"true\"></i>\n    <svg (click)=\"saveAddRecord($event)\" title=\"Save row\" *ngIf=\"!configs.css?.save_class\"\n      xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n      <title>Save row</title>\n      <g data-name=\"Layer 2\">\n        <g data-name=\"save\">\n          <rect width=\"24\" height=\"24\" opacity=\"0\" />\n          <path\n            d=\"M20.12 8.71l-4.83-4.83A3 3 0 0 0 13.17 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-7.17a3 3 0 0 0-.88-2.12zM10 19v-2h4v2zm9-1a1 1 0 0 1-1 1h-2v-3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h2v5a1 1 0 0 0 1 1h4a1 1 0 0 0 0-2h-3V5h3.17a1.05 1.05 0 0 1 .71.29l4.83 4.83a1 1 0 0 1 .29.71z\" />\n        </g>\n      </g>\n    </svg>\n  </div>\n  <div class=\"icon-container\">\n    <i (click)=\"cancelAddEdit()\" *ngIf=\"configs.css?.cancel_class\" title=\"Cancel row\"\n      class=\"{{this.configs.css?.cancel_class}}\" aria-hidden=\"true\"></i>\n    <svg (click)=\"cancelAddEdit()\" *ngIf=\"!configs.css?.cancel_class\" title=\"Cancel row\"\n      xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n      <title>Cancel row</title>\n      <g data-name=\"Layer 2\">\n        <g data-name=\"close\">\n          <rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\" />\n          <path\n            d=\"M13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29-4.3 4.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4.29-4.3 4.29 4.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\" />\n        </g>\n      </g>\n    </svg>\n  </div>\n</td>\n<td *ngFor=\"let column of columns\" [ngClass]=\"{'column-hide': column.hidden}\">\n  <div *ngIf=\"column.editable\">\n    <db-custom-cell-editor-component *ngIf=\"column.editor\" cell_value=\"\" [column]=\"column\" [row_data]=\"row_data\"\n      (canceledit)=\"cancelAddEdit()\" (editcomplete)=\"saveAddRecord($event)\">\n    </db-custom-cell-editor-component>\n    <db-grid-cell-editor *ngIf=\"!column.editor\" cell_value=\"\" [row_data]=\"row_data\" [column]=\"column\"\n      (canceledit)=\"cancelAddEdit()\" (editcomplete)=\"saveAddRecord($event)\">\n    </db-grid-cell-editor>\n  </div>\n</td>","import { Component, OnInit, Input } from \"@angular/core\";\nimport { Store } from \"../../../../store/store\";\nimport { Column } from \"../../../../models/Column.model\";\nimport { Configs } from \"../../../../models/Configs.model\";\n\n@Component({\n  selector: \"[db-filter-row]\",\n  templateUrl: \"./filter-row.component.html\",\n  styleUrls: [\"./filter-row.component.scss\"],\n})\nexport class FilterRowComponent implements OnInit {\n  search_values: any = {};\n\n  @Input()\n  store!: Store;\n\n  @Input()\n  columns!: Column[];\n\n  @Input()\n  expand_tracker: any;\n\n  @Input()\n  configs!: Configs;\n\n  @Input()\n  internal_configs: any;\n\n  constructor() {}\n\n  ngOnInit() {\n    this.columns.forEach((column) => {\n      this.search_values[column.name] = \"\";\n    });\n  }\n\n  filter() {\n    this.store.filterBy(this.columns, Object.values(this.search_values));\n  }\n}\n","<td *ngIf=\"configs.multi_select\"></td>\n<td *ngIf=\"(configs.actions?.edit || configs.actions?.delete || configs.actions?.add)\"></td>\n<td *ngFor=\"let column of columns\">\n  <div *ngIf=\"column.filter\">\n    <input type=\"text\" (keyup)=\"filter()\" [(ngModel)]=\"search_values[column.name]\">\n  </div>\n</td>","import { Component, OnInit, Input, EventEmitter } from \"@angular/core\";\nimport { Store } from \"../../store/store\";\nimport { Configs } from \"../../models/Configs.model\";\nimport { Column } from \"../../models/Column.model\";\nimport { AngularFixHeaderGridService } from \"../../angular-fix-header-grid.service\";\n\n@Component({\n  selector: \"[db-grid-body]\",\n  templateUrl: \"./grid-body.component.html\",\n  styleUrls: [\"./grid-body.component.scss\"],\n})\nexport class GridBodyComponent implements OnInit {\n  raw_data: any[] = [];\n  display_data: any[] = [];\n  grid_data: any[] = [];\n\n  @Input()\n  store!: Store;\n\n  @Input()\n  configs!: Configs;\n\n  @Input()\n  expand_tracker: any;\n\n  @Input()\n  edit_tracker: any;\n\n  @Input()\n  internal_configs: any;\n\n  @Input()\n  columns!: Column[];\n\n  @Input()\n  cellclick!: EventEmitter<any>;\n\n  @Input()\n  rowdelete!: EventEmitter<any>;\n\n  @Input()\n  rowsave!: EventEmitter<any>;\n\n  @Input()\n  rowadd!: EventEmitter<any>;\n\n  @Input()\n  rowselect!: EventEmitter<any>;\n\n  @Input()\n  rowdeselect!: EventEmitter<any>;\n\n  constructor(\n    private angularFixHeaderGridService: AngularFixHeaderGridService\n  ) {}\n\n  ngOnInit() {\n    this.display_data = this.store.getDisplayData();\n    this.setupPagination();\n\n    this.angularFixHeaderGridService.display_data_observable$.subscribe(\n      (store) => {\n        this.display_data = this.store.getDisplayData();\n        this.setupPagination();\n      }\n    );\n  }\n\n  setupPagination() {\n    if (this.configs.pagination) {\n      this.grid_data = this.display_data.slice(0, this.configs.per_page);\n\n      this.angularFixHeaderGridService.pagination_observable$.subscribe(\n        (page_number) => {\n          const start = page_number * this.configs.per_page!;\n          const end = start + this.configs.per_page!;\n          this.grid_data = this.display_data.slice(start, end);\n        }\n      );\n    } else {\n      this.grid_data = this.display_data;\n    }\n  }\n\n  saveRecord($event: any) {\n    const element = $event.data;\n\n    if (this.configs?.actions?.resolve_edit) {\n      const promise = new Promise((resolve, reject) => {\n        this.rowsave.emit({\n          data: element,\n          resolve: resolve,\n        });\n      });\n\n      promise\n        .then(() => {\n          this.checkAndRefreshData(element);\n        })\n        .catch((err) => {});\n    } else {\n      this.checkAndRefreshData(element);\n      this.rowsave.emit(element);\n    }\n  }\n\n  checkAndRefreshData(element: any) {\n    this.edit_tracker[element.idx] = false;\n  }\n\n  addRow(element: any) {\n    if (this.configs.actions?.resolve_add) {\n      const promise = new Promise((resolve, reject) => {\n        this.rowadd.emit({\n          data: element,\n          resolve: resolve,\n        });\n      });\n\n      promise\n        .then(() => {\n          this.internal_configs.show_add_row = false;\n        })\n        .catch((err) => {});\n    } else {\n      this.internal_configs.show_add_row = false;\n      this.rowadd.emit(element);\n    }\n  }\n\n  cancelEdit(row_data: any) {\n    const index = row_data.idx;\n\n    // Cancel all changes ie copy from back up.\n    Object.assign(row_data, this.internal_configs.current_edited_row);\n\n    this.edit_tracker[index] = false;\n  }\n\n  selectRow(row_data: any, event: any) {\n    // Don't run if Multi select is enabled.\n    if (this.configs.multi_select) {\n      return;\n    }\n\n    this.store.getDisplayData().forEach((data) => {\n      data.row_selected = false;\n    });\n    row_data.row_selected = true;\n    this.rowselect.emit({ data: row_data, event: event });\n  }\n\n  selectRowOnCheck(row_data: any, event: any) {\n    if (event.target.checked) {\n      row_data.row_selected = true;\n      this.rowselect.emit({ data: row_data, event: event });\n    } else {\n      row_data.row_selected = false;\n      this.rowdeselect.emit({ data: row_data, event: event });\n    }\n\n    this.setSelectAllConfig();\n  }\n\n  /**\n   * Set Select All config on Select change.\n   *\n   */\n  setSelectAllConfig() {\n    let select_all = true;\n\n    this.store.getDisplayData().forEach((data) => {\n      if (!data.row_selected) {\n        select_all = false;\n      }\n    });\n\n    this.internal_configs.all_selected = select_all;\n  }\n\n  showSelectBox(row_data: any) {\n    if (this.configs.row_select_function) {\n      return this.configs.row_select_function(row_data);\n    } else {\n      return true;\n    }\n  }\n}\n","<ng-container *ngIf=\"configs\">\n  <tr *ngIf=\"store.raw_data.length==0\">\n    <td [innerHTML]=\"configs.data_loading_text\" [attr.colspan]=\"columns.length + 1\" style=\"text-align: center\"></td>\n  </tr>\n  <tr db-filter-row [columns]=\"columns\" [configs]=\"configs\" [store]=\"store\" [internal_configs]=\"internal_configs\"\n    *ngIf=\"configs.filter\" [expand_tracker]=\"expand_tracker\" [ngClass]=\"configs.css?.row_filter_class\">\n  </tr>\n  <tr db-add-row [columns]=\"columns\" [configs]=\"configs\" [internal_configs]=\"internal_configs\" [store]=\"store\"\n    (rowadd)=\"addRow($event)\" *ngIf=\"internal_configs.show_add_row\" class=\"{{configs?.row_class_function()}}\">\n  </tr>\n  <ng-container>\n    <tr *ngFor=\"let row_data of grid_data\"\n      [attr.class]=\"configs?.row_class_function(row_data) + ' ' + (row_data.row_selected ? configs.css?.row_selection_class : '')\"\n      (click)=\"selectRow(row_data, $event)\">\n      <td *ngIf=\"configs.multi_select\" class=\"checkbox_column\" [attr.width]=\"configs.multi_select_width\">\n        <input type=\"checkbox\" [checked]=\"row_data.row_selected\" (click)=\"selectRowOnCheck(row_data, $event)\"\n          *ngIf=\"showSelectBox(row_data)\">\n      </td>\n      <td db-grid-cell-actions *ngIf=\"(configs.actions?.edit || configs.actions?.delete || configs.actions?.add)\"\n        [attr.width]=\"configs.action_column_width\" [row_data]=\"row_data\" [configs]=\"configs\" [store]=\"store\"\n        [edit_tracker]=\"edit_tracker\" [internal_configs]=\"internal_configs\" [rowdelete]=\"rowdelete\"\n        (canceledit)=\"cancelEdit($event)\" (editcomplete)=\"saveRecord($event)\">\n      </td>\n      <td *ngFor=\"let column of columns; index as i\" class=\"{{column.css_class}}\" [attr.width]=\"column.width\"\n        [ngClass]=\"{'column-hide': column.hidden, 'expand-column': i == 0}\">\n        <db-grid-cell [configs]=\"configs\" [column]=\"column\" [index]=\"i\" [row_data]=\"row_data\"\n          [expand_tracker]=\"expand_tracker\" [edit_on]=\"edit_tracker[row_data.idx]\" [cellclick]=\"cellclick\"\n          (editcomplete)=\"saveRecord($event)\">\n        </db-grid-cell>\n      </td>\n    </tr>\n    <tr *ngIf=\"configs.show_summary_row\">\n      <td *ngIf=\"configs.multi_select\"></td>\n      <td *ngIf=\"(configs.actions?.edit || configs.actions?.delete || configs.actions?.add)\"></td>\n      <td *ngFor=\"let column of configs.columns\">\n        <div [innerHTML]=\"column.summary_renderer && column.summary_renderer(display_data)\"></div>\n      </td>\n    </tr>\n  </ng-container>\n\n</ng-container>","import { Component, OnInit, Input, EventEmitter } from \"@angular/core\";\nimport { Store } from \"../../store/store\";\nimport { Configs } from \"../../models/Configs.model\";\nimport { Column } from \"../../models/Column.model\";\nimport { AngularFixHeaderGridService } from \"../../angular-fix-header-grid.service\";\n\n@Component({\n  selector: \"[db-grid-head]\",\n  templateUrl: \"./grid-head.component.html\",\n  styleUrls: [\"./grid-head.component.scss\"],\n})\nexport class GridHeadComponent implements OnInit {\n  @Input()\n  store!: Store;\n\n  @Input()\n  configs!: Configs;\n\n  @Input()\n  edit_tracker: any;\n\n  @Input()\n  internal_configs: any;\n\n  @Input()\n  columns!: Column[];\n\n  @Input()\n  rowselectall!: EventEmitter<any>;\n\n  @Input()\n  rowdeselectall!: EventEmitter<any>;\n\n  constructor(\n    private angularFixHeaderGridService: AngularFixHeaderGridService\n  ) {}\n\n  ngOnInit() {}\n\n  addRow() {\n    this.internal_configs.show_add_row = true;\n  }\n\n  selectAll(e: any) {\n    if (e.target.checked) {\n      this.angularFixHeaderGridService.selectAll(this.store.getDisplayData());\n      this.rowselectall.emit(this.store.getDisplayData());\n    } else {\n      this.angularFixHeaderGridService.deSelectAll(this.store.getDisplayData());\n      this.rowdeselectall.emit(e);\n    }\n  }\n}\n","<ng-container *ngIf=\"configs\">\n  <tr [ngClass]=\"configs.css?.header_class\">\n    <th *ngIf=\"configs.multi_select\" class=\"checkbox_column\" [attr.width]=\"configs.multi_select_width\">\n      <input type=\"checkbox\" (click)=\"selectAll($event)\" [checked]=\"this.internal_configs.all_selected\">\n    </th>\n    <th *ngIf=\"configs.actions?.add || configs.actions?.edit || configs.actions?.delete\" class=\"action-column\"\n      [attr.width]=\"configs.action_column_width\" (click)=\"addRow()\">\n      <span class=\"icon-container\">\n        <i *ngIf=\"!internal_configs.show_add_row && configs.actions?.add\" [ngClass]=\"configs.css?.add_class\"\n          aria-hidden=\"true\" title=\"Add a row\"></i>\n      </span>\n      <span *ngIf=\"internal_configs.show_add_row || !configs.actions?.add\">Actions</span>\n    </th>\n    <th *ngFor=\"let column of columns\" [ngClass]=\"{'column-hide': column.hidden}\" [attr.width]=\"column.width\">\n      <div [innerHTML]=\"column.header_renderer ? column.header_renderer(column.header) : column.header\"></div>\n    </th>\n  </tr>\n</ng-container>","import { Component, OnInit, Input } from \"@angular/core\";\nimport { Store } from \"../../store/store\";\nimport { Configs } from \"../../models/Configs.model\";\nimport { AngularFixHeaderGridService } from \"../../angular-fix-header-grid.service\";\n\n@Component({\n  selector: \"db-grid-pagination\",\n  templateUrl: \"./grid-pagination.component.html\",\n  styleUrls: [\"./grid-pagination.component.scss\"],\n})\nexport class GridPaginationComponent implements OnInit {\n  @Input()\n  store!: Store;\n\n  @Input()\n  configs!: Configs;\n\n  items: number[] = [];\n  selections: boolean[] = [];\n\n  constructor(\n    private angularFixHeaderGridService: AngularFixHeaderGridService\n  ) {}\n\n  ngOnInit() {\n    this.calculatePage();\n    this.angularFixHeaderGridService.display_data_observable$.subscribe(\n      (store) => {\n        this.calculatePage();\n      }\n    );\n  }\n\n  calculatePage() {\n    this.items = [];\n    const display_data = this.store.getDisplayData();\n    const total = Math.ceil(display_data.length / this.configs.per_page!);\n\n    for (let index = 0; index < total; index++) {\n      this.items.push(index + 1);\n      this.selections.push(false);\n    }\n    this.selections[0] = true;\n  }\n\n  showPage(page_number: any) {\n    this.angularFixHeaderGridService.pagination_observable.next(page_number);\n    for (let index = 0; index < this.selections.length; index++) {\n      this.selections[index] = false;\n    }\n    this.selections[page_number] = true;\n  }\n}\n","<div *ngIf=\"configs.pagination\">\n  <ul class=\"list\">\n    <li class=\"list-item first-item\" (click)=\"showPage(0)\">«</li>\n    <li *ngFor=\"let item of items\" class=\"list-item\" (click)=\"showPage(item - 1)\" \n    [ngClass]=\"{'selected': selections[item - 1]}\">{{item}}</li>\n    <li  class=\"list-item last-item\" (click)=\"showPage(items.length - 1)\">»</li>\n  </ul>\n</div>\n","import {\n  Component,\n  OnInit,\n  AfterViewInit,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n} from \"@angular/core\";\nimport { Store } from \"./store/store\";\nimport { AngularFixHeaderGridService } from \"./angular-fix-header-grid.service\";\nimport { Column } from \"./models/Column.model\";\nimport { Configs } from \"./models/Configs.model\";\n\n@Component({\n  selector: \"db-angular-fix-header-grid\",\n  templateUrl: \"angular-fix-header-grid.component.html\",\n  styleUrls: [\"./angular-fix-header-grid.component.scss\"],\n})\nexport class AngularFixHeaderGridComponent\n  implements OnInit, AfterViewInit, OnChanges\n{\n  processed_data: any[] = [];\n  columns: Column[] = [];\n  edit_tracker: any = {}; // Track Edit options.\n  internal_configs: any = {\n    show_add_row: false,\n    all_selected: false,\n  };\n  angularFixedHeaderGridService: AngularFixHeaderGridService;\n  store: Store;\n\n  @Input()\n  source: any[] = [];\n\n  @Input()\n  configs!: Configs;\n\n  default_configs: Configs = {\n    css: {\n      expand_class: \"plus\",\n      collapse_class: \"minus\",\n      add_class: \"plus\",\n      edit_class: \"\",\n      delete_class: \"\",\n      save_class: \"\",\n      cancel_class: \"\",\n      row_selection_class: \"selected\",\n      header_class: \"\",\n      row_filter_class: \"\",\n      table_class: \"\",\n    },\n    actions: {\n      edit: false,\n      add: false,\n      delete: false,\n      resolve_edit: false,\n      resolve_add: false,\n      resolve_delete: false,\n    },\n    data_loading_text: \"Loading...\",\n    filter: false,\n    multi_select: false,\n    show_summary_row: false,\n    pagination: false,\n    per_page: 10,\n    multi_select_width: \"auto\",\n    action_column_width: \"60px\",\n    row_class_function: () => true,\n    row_edit_function: () => true,\n    row_delete_function: () => true,\n    row_select_function: () => true,\n  };\n  default_column_config: Column = {\n    name: \"\",\n    sorted: 0,\n    sort_type: undefined,\n    editable: false,\n    hidden: false,\n    filter: true,\n    case_sensitive_filter: false,\n  };\n\n  @Output() cellclick: EventEmitter<any> = new EventEmitter();\n  @Output() rowselect: EventEmitter<any> = new EventEmitter();\n  @Output() rowdeselect: EventEmitter<any> = new EventEmitter();\n  @Output() rowselectall: EventEmitter<any> = new EventEmitter();\n  @Output() rowdeselectall: EventEmitter<any> = new EventEmitter();\n  @Output() rowadd: EventEmitter<any> = new EventEmitter();\n  @Output() rowsave: EventEmitter<any> = new EventEmitter();\n  @Output() rowdelete: EventEmitter<any> = new EventEmitter();\n\n  constructor(\n    private angularFixHeaderGridService: AngularFixHeaderGridService\n  ) {\n    this.angularFixedHeaderGridService = angularFixHeaderGridService;\n    this.store = new Store(this.angularFixHeaderGridService);\n  }\n\n  ngOnInit() {\n    this.validateConfigs();\n    this.setDefaultConfigs();\n    this.setColumnNames();\n  }\n\n  ngAfterViewInit() {}\n\n  ngOnChanges() {\n    this.validateConfigs();\n    this.setDefaultConfigs();\n    this.setColumnNames();\n    this.store.processData(this.source, this.configs, this.edit_tracker);\n    this.setColumnWidth();\n  }\n\n  setColumnWidth() {\n    const interval = setInterval(() => {\n      const ths: any = document.querySelectorAll(\n        \"table.db-grid-header-view thead > tr th\"\n      );\n      const tds: any = document.querySelectorAll(\n        \"table.db-grid-body-view tbody tr td\"\n      );\n\n      if (ths[0] && tds[0] && ths[0].clientWidth !== undefined) {\n        let totalWidth = 0;\n        let column_index = 0;\n        let hasActionSet = false;\n        const offset = 5;\n\n        for (let index = 0; index < ths.length; index++) {\n          const th = ths[index];\n          const td = tds[index];\n          let cellWidth = 0;\n          if (th.clientWidth > td.clientWidth) {\n            cellWidth = th.clientWidth + offset;\n          } else {\n            cellWidth = td.clientWidth + offset;\n          }\n          if (this.configs.multi_select && index === 0) {\n            column_index = 1;\n            this.configs.multi_select_width = cellWidth + \"px\";\n          } else if (\n            (this.configs?.actions?.edit ||\n              this.configs?.actions?.delete ||\n              this.configs?.actions?.add) &&\n            (index === 1 || index === 0) &&\n            !hasActionSet\n          ) {\n            column_index = index === 0 ? 1 : 2;\n            this.configs.action_column_width = cellWidth + \"px\";\n            hasActionSet = true;\n          } else {\n            this.columns[index - column_index].width = cellWidth + \"px\";\n          }\n          // td.style.width = cellWidth + 'px';\n          // th.style.width = cellWidth + 'px';\n\n          totalWidth += cellWidth;\n        }\n\n        // Expand container\n        (<any>document.querySelector(\"div.fix-table-container\")).style.width =\n          totalWidth + 20 + \"px\";\n        clearInterval(interval);\n      }\n    }, 500);\n  }\n\n  validateConfigs() {\n    if (!this.source) {\n      window.console.warn(\"source can't be empty!\");\n      return;\n    }\n    if (!this.configs) {\n      window.console.warn(\"configs can't be empty!\");\n      return;\n    }\n  }\n\n  setDefaultConfigs() {\n    this.processed_data = [];\n    this.configs = Object.assign({}, this.default_configs, this.configs);\n\n    // Deep clone.\n    this.configs.actions = Object.assign(\n      {},\n      this.default_configs.actions,\n      this.configs.actions\n    );\n    this.configs.css = Object.assign(\n      {},\n      this.default_configs.css,\n      this.configs.css\n    );\n  }\n\n  setColumnNames() {\n    this.columns = this.configs.columns ? this.configs.columns : [];\n\n    // If columns doesn't exist in user's object.\n    if (!this.configs.columns && this.source[0]) {\n      const column_keys = Object.keys(this.source[0]);\n\n      // Insert Header and default configuration.\n      column_keys.forEach((key) => {\n        this.columns.push(\n          Object.assign({ header: key, name: key }, this.default_column_config)\n        );\n      });\n    } else {\n      // Insert Header and default configuration.\n      for (let i = 0; i < this.columns.length; i++) {\n        this.columns[i] = Object.assign(\n          {},\n          this.default_column_config,\n          this.columns[i]\n        );\n      }\n    }\n  }\n\n  selectAll() {\n    this.angularFixHeaderGridService.selectAll(this.store.getDisplayData());\n    this.internal_configs.all_selected = true;\n  }\n\n  deSelectAll() {\n    this.angularFixHeaderGridService.deSelectAll(this.store.getDisplayData());\n    this.internal_configs.all_selected = false;\n  }\n}\n","<table [attr.class]=\"'db-grid-view db-grid-header-view ' + configs.css?.table_class\">\n    <thead db-grid-head [store]=\"store\" [internal_configs]=\"internal_configs\" [edit_tracker]=\"edit_tracker\"\n        [rowselectall]=\"rowselectall\" [rowdeselectall]=\"rowdeselectall\" [columns]=\"columns\" [configs]=\"configs\">\n    </thead>\n    <!-- <thead>\n        <tr>\n            <th *ngFor=\"let header of headers; let i = index\" [attr.width]=\"widths[i]\">\n                <div [innerHTML]=\"header\"></div>\n            </th>\n        </tr>\n    </thead> -->\n</table>\n<div [ngStyle]=\"{'height': configs.height}\" class=\"fix-table-container\">\n    <table [attr.class]=\"'db-grid-view db-grid-body-view ' + configs.css?.table_class\">\n        <tbody db-grid-body [store]=\"store\" [edit_tracker]=\"edit_tracker\" [internal_configs]=\"internal_configs\"\n            [columns]=\"columns\" [configs]=\"configs\" [cellclick]=\"cellclick\" [rowdelete]=\"rowdelete\" [rowsave]=\"rowsave\"\n            [rowadd]=\"rowadd\" [rowselect]=\"rowselect\" [rowdeselect]=\"rowdeselect\">\n        </tbody>\n    </table>\n</div>\n<db-grid-pagination [store]=\"store\" [configs]=\"configs\"></db-grid-pagination>","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { GridCellComponent } from \"./grid-cell.component\";\nimport { GridCellActionsComponent } from \"./components/grid-cell-actions/grid-cell-actions.component\";\nimport { GridCellViewComponent } from \"./components/grid-cell-view/default/grid-cell-view.component\";\nimport { GridCellEditorComponent } from \"./components/grid-cell-editor/default/grid-cell-editor.component\";\nimport { FormsModule } from \"@angular/forms\";\nimport { CustomCellEditorComponent } from \"./components/grid-cell-editor/custom/custom-tree-cell-Editor.component\";\nimport { CustomCellViewComponent } from \"./components/grid-cell-view/custom/custom-tree-cell.component\";\n\n@NgModule({\n  declarations: [\n    GridCellComponent,\n    GridCellActionsComponent,\n    GridCellViewComponent,\n    GridCellEditorComponent,\n    CustomCellViewComponent,\n    CustomCellEditorComponent,\n  ],\n  imports: [CommonModule, FormsModule],\n  exports: [\n    GridCellComponent,\n    CustomCellViewComponent,\n    CustomCellEditorComponent,\n    GridCellEditorComponent,\n    GridCellActionsComponent,\n  ],\n})\nexport class GridCellModule {}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { GridBodyComponent } from \"./grid-body.component\";\nimport { AddRowComponent } from \"./components/add-row/add-row.component\";\nimport { FilterRowComponent } from \"./components/filter-row/filter-row.component\";\nimport { GridCellModule } from \"../grid-cell/grid-cell.module\";\nimport { FormsModule } from \"@angular/forms\";\n\n@NgModule({\n  declarations: [GridBodyComponent, AddRowComponent, FilterRowComponent],\n  imports: [CommonModule, GridCellModule, FormsModule],\n  exports: [GridBodyComponent],\n})\nexport class GridBodyModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GridHeadComponent } from './grid-head.component';\n\n@NgModule({\n  declarations: [GridHeadComponent],\n  imports: [\n    CommonModule\n  ],\n  exports: [GridHeadComponent]\n})\nexport class GridHeadModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GridPaginationComponent } from './grid-pagination.component';\n\n@NgModule({\n  declarations: [GridPaginationComponent],\n  imports: [\n    CommonModule\n  ],\n  exports: [GridPaginationComponent]\n})\nexport class GridPaginationModule { }\n","import { NgModule } from \"@angular/core\";\nimport { AngularFixHeaderGridComponent } from \"./angular-fix-header-grid.component\";\nimport { CommonModule } from \"@angular/common\";\nimport { GridBodyModule } from \"./modules/grid-body/grid-body.module\";\nimport { GridHeadModule } from \"./modules/grid-head/grid-head.module\";\nimport { GridPaginationModule } from \"./modules/grid-pagination/grid-pagination.module\";\n\n@NgModule({\n  declarations: [AngularFixHeaderGridComponent],\n  imports: [CommonModule, GridBodyModule, GridHeadModule, GridPaginationModule],\n  exports: [AngularFixHeaderGridComponent],\n})\nexport class AngularFixHeaderGridModule {}\n\nexport { DefaultEditor } from \"./modules/grid-cell/components/grid-cell-editor/default/default-editor.component\";\n","/*\n * Public API Surface of angular-fix-header-grid\n */\n\nexport * from \"./lib/angular-fix-header-grid.service\";\nexport * from \"./lib/angular-fix-header-grid.component\";\nexport * from \"./lib/angular-fix-header-grid.module\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.GridCellViewComponent","i3.GridCellEditorComponent","i4.CustomCellViewComponent","i5.CustomCellEditorComponent","i2.CustomCellEditorComponent","i1.AngularFixHeaderGridService","i2","i3.GridCellComponent","i4.GridCellActionsComponent","i5.AddRowComponent","i6.FilterRowComponent","i3.GridBodyComponent","i4.GridHeadComponent","i5.GridPaginationComponent"],"mappings":"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"}