@eui/components 14.0.29 → 14.0.30
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/docs/classes/EuiDialogConfig.html +23 -0
- package/docs/components/EuiDialogComponent.html +211 -10
- package/docs/interfaces/EuiDialogInterface.html +45 -0
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +160 -127
- package/esm2020/eui-dialog/eui-dialog.component.mjs +44 -8
- package/esm2020/eui-dialog/models/eui-dialog.config.mjs +2 -1
- package/esm2020/eui-dialog/services/eui-dialog.service.mjs +8 -2
- package/esm2020/eui-file-upload/utils/eui-file-upload.validators.mjs +41 -17
- package/esm2020/eui-table/eui-table.component.mjs +2 -2
- package/eui-dialog/eui-dialog.component.d.ts +11 -4
- package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
- package/eui-dialog/models/eui-dialog.config.d.ts +2 -0
- package/eui-dialog/models/eui-dialog.config.d.ts.map +1 -1
- package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
- package/eui-file-upload/utils/eui-file-upload.validators.d.ts +17 -1
- package/eui-file-upload/utils/eui-file-upload.validators.d.ts.map +1 -1
- package/fesm2015/eui-components-eui-dialog.mjs +46 -8
- package/fesm2015/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2015/eui-components-eui-file-upload.mjs +41 -17
- package/fesm2015/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2015/eui-components-eui-table.mjs +2 -2
- package/fesm2015/eui-components-eui-table.mjs.map +1 -1
- package/fesm2020/eui-components-eui-dialog.mjs +51 -8
- package/fesm2020/eui-components-eui-dialog.mjs.map +1 -1
- package/fesm2020/eui-components-eui-file-upload.mjs +41 -17
- package/fesm2020/eui-components-eui-file-upload.mjs.map +1 -1
- package/fesm2020/eui-components-eui-table.mjs +2 -2
- package/fesm2020/eui-components-eui-table.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-components-eui-table.mjs","sources":["../../eui-table/services/eui-table-sort.service.ts","../../eui-table/services/eui-table-selectable-row.service.ts","../../eui-table/eui-table.component.ts","../../eui-table/eui-table.component.html","../../eui-table/models/pagination-event.model.ts","../../eui-table/paginator/eui-table-paginator.component.ts","../../eui-table/paginator/eui-table-paginator.component.html","../../eui-table/sortable-col/eui-table-sortable-col.component.ts","../../eui-table/sortable-col/eui-table-sortable-col.component.html","../../eui-table/filter/eui-table-filter.component.ts","../../eui-table/filter/eui-table-filter.component.html","../../eui-table/pipes/eui-table-highlight-filter.pipe.ts","../../eui-table/selectable-row/eui-table-selectable-row.component.ts","../../eui-table/selectable-row/eui-table-selectable-row.component.html","../../eui-table/selectable-header/eui-table-selectable-header.component.ts","../../eui-table/selectable-header/eui-table-selectable-header.component.html","../../eui-table/expandable-row/eui-table-expandable-row.component.ts","../../eui-table/expandable-row/eui-table-expandable-row.component.html","../../eui-table/models/sort-event.model.ts","../../eui-table/directives/eui-table-sticky-columns.directive.ts","../../eui-table/eui-table.module.ts","../../eui-table/eui-components-eui-table.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class EuiTableSortService {\n\n public sortingParams$ = new BehaviorSubject({ sort: null, order: 'desc' });\n\n constructor() {}\n\n setSort(sort: (string | null), order: ('asc' | 'desc' | null)): void {\n this.sortingParams$.next({ sort: order ? sort : null, order });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class EuiTableSelectableRowService {\n\n public selectedRows$: BehaviorSubject<any[]> = new BehaviorSubject([]);\n public isAllRowsSelected$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public lastSelectedRow: any = null;\n\n private rows: any[] = [];\n private isAllRowsSelected = false;\n private propId = 'id';\n\n constructor() {}\n\n public setPropId(value: string): void {\n this.propId = value;\n }\n\n public getPropId(): string {\n return this.propId;\n }\n\n public addSelectedRow(row: any): void {\n if (this.selectedRows$.value.indexOf(row) === -1) {\n this.selectedRows$.next([...this.selectedRows$.value, row]);\n }\n\n this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n this.isAllRowsSelected = this.selectedRows$.value.length === this.rows.length;\n\n this.lastSelectedRow = row;\n }\n\n public addSelectedRows(rows: any[]): void {\n const selected = rows.filter(row => !this.selectedRows$.value.includes(row));\n\n this.selectedRows$.next([...this.selectedRows$.value, ...selected]);\n this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n this.isAllRowsSelected = this.selectedRows$.value.length === this.rows.length;\n\n this.lastSelectedRow = rows[rows.length - 1];\n }\n\n public removeSelectedRow(row: any): void {\n const value = this.selectedRows$.value.filter((selected) => selected[this.propId] !== row[this.propId]);\n this.selectedRows$.next(value);\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n }\n\n public addRow(row: any): void {\n if (row && !this.rows.find((r) => r[this.propId] === row[this.propId])) {\n this.rows.push(row);\n\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n\n if (this.rows.length > this.selectedRows$.value.length && this.isAllRowsSelected) {\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n }\n\n if (this.rows.length <= this.selectedRows$.value.length && this.rows.every(r => this.selectedRows$.value.includes(r))) {\n this.isAllRowsSelected$.next(true);\n this.isAllRowsSelected = true;\n }\n }\n }\n\n public addRows(rows: any[]): void {\n rows.forEach((row) => {\n this.addRow(row);\n });\n }\n\n public resetRows(): void {\n this.rows = [];\n }\n\n public selectRows(rows: any[]): void {\n this.selectedRows$.next([...rows]);\n this.isAllRowsSelected$.next(this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length);\n this.isAllRowsSelected = this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length;\n\n this.lastSelectedRow = rows[rows.length - 1];\n }\n\n public selectAllRows(): void {\n this.selectedRows$.next([...this.rows]);\n this.isAllRowsSelected$.next(true);\n this.isAllRowsSelected = true;\n\n this.lastSelectedRow = this.rows[this.rows.length - 1];\n }\n\n public unselectAllRows(): void {\n this.selectedRows$.next([]);\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n\n this.lastSelectedRow = null;\n }\n\n public getRows(): any[] {\n return this.rows;\n }\n\n public getLastSelectedRow(): any {\n return this.lastSelectedRow;\n }\n\n}\n","import { AfterContentInit, AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding,\n Input, OnChanges, OnDestroy, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { BehaviorSubject, combineLatest, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiTableSortService } from './services/eui-table-sort.service';\nimport { EuiTablePaginatorComponent } from './paginator/eui-table-paginator.component';\nimport { PaginationEvent } from './models/pagination-event.model';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSelectableRowService } from './services/eui-table-selectable-row.service';\nimport { SortEvent } from './models/sort-event.model';\n\n@Component({\n selector: 'eui-table, table[euiTable]',\n templateUrl: './eui-table.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [EuiTableSortService, EuiTableSelectableRowService],\n})\nexport class EuiTableComponent extends BaseDirective implements AfterContentInit, OnInit, OnDestroy, AfterViewInit, OnChanges {\n @Input() rows: any[] = [];\n @Input() propId = 'id';\n @Input() paginator: EuiTablePaginatorComponent;\n @Input() filter: EuiTableFilterComponent;\n @Input() preselectedRows: any[] = [];\n /** @deprecated Since eui-table uses native CSS position sticky, passing the reference of container is no longer needed.\n * It will be removed in the future version of eUI\n * */\n @Input() scrollableContainerRef: Element;\n\n @HostBinding('class') string = 'eui-table';\n @HostBinding('class.eui-table__loading') get hasLoading(): boolean { return this.loading; };\n\n @Output() selectedRows = new EventEmitter<any[]>();\n @Output() sortChange = new EventEmitter<SortEvent>();\n\n public headerTemplate: TemplateRef<any>;\n public bodyTemplate: TemplateRef<any>;\n public footerTemplate: TemplateRef<any>;\n public emptyMessageTemplate: TemplateRef<any>;\n public rowsRendered: any[] = [];\n\n public page: number = 0;\n public pageSize: number = 0;\n public showStickyHeader = false;\n public filteredRows = [];\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('theadRef') theadRef: ElementRef<HTMLElement>;\n @ViewChild('tbodyRef') tbodyRef: ElementRef<HTMLElement>;\n\n @Input()\n get loading(): boolean { return this._loading; }\n set loading(value: BooleanInput) { this._loading = coerceBooleanProperty(value); }\n private _loading = false;\n\n @Input()\n get asyncTable(): boolean { return this._asyncTable; }\n set asyncTable(value: BooleanInput) { this._asyncTable = coerceBooleanProperty(value); }\n private _asyncTable = false;\n\n @Input()\n get paginable(): boolean { return this._paginable; }\n set paginable(value: BooleanInput) { this._paginable = coerceBooleanProperty(value); }\n private _paginable = false;\n\n @Input()\n get euiTableResponsive(): boolean { return this._euiTableResponsive; }\n set euiTableResponsive(value: BooleanInput) { this._euiTableResponsive = coerceBooleanProperty(value); }\n private _euiTableResponsive = false;\n\n @Input()\n get euiTableFixedLayout(): boolean { return this._euiTableFixedLayout; }\n set euiTableFixedLayout(value: BooleanInput) { this._euiTableFixedLayout = coerceBooleanProperty(value); }\n private _euiTableFixedLayout = false;\n\n @Input()\n get euiTableDraggable(): boolean { return this._euiTableDraggable; }\n set euiTableDraggable(value: BooleanInput) { this._euiTableDraggable = coerceBooleanProperty(value); }\n private _euiTableDraggable = false;\n\n @Input()\n get euiTableCards(): boolean { return this._euiTableCards; }\n set euiTableCards(value: BooleanInput) { this._euiTableCards = coerceBooleanProperty(value); }\n private _euiTableCards = false;\n\n @Input()\n get euiTableBordered(): boolean { return this._euiTableBordered; }\n set euiTableBordered(value: BooleanInput) { this._euiTableBordered = coerceBooleanProperty(value); }\n private _euiTableBordered = false;\n\n @Input()\n get euiTableCompact(): boolean { return this._euiTableCompact; }\n set euiTableCompact(value: BooleanInput) { this._euiTableCompact = coerceBooleanProperty(value); }\n private _euiTableCompact = false;\n\n @Input()\n get hasStickyHeader(): boolean { return this._hasStickyHeader; }\n set hasStickyHeader(value: BooleanInput) { this._hasStickyHeader = coerceBooleanProperty(value); }\n private _hasStickyHeader = false;\n\n @Input()\n get hasStickyColumns(): boolean { return this._hasStickyColumns; }\n set hasStickyColumns(value: BooleanInput) { this._hasStickyColumns = coerceBooleanProperty(value); }\n private _hasStickyColumns = false;\n\n private rowsSrc: any = null;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private tableFeaturesHandlerSubscription = new Subscription();\n private selectRowsFeatureHandlerSubscription = new Subscription();\n private stickyFeatureHandlerIndex = 0;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.euiTableResponsive ? `eui-table--responsive` : ``,\n this.euiTableFixedLayout ? `eui-table--fixed-layout` : ``,\n this.euiTableBordered ? `eui-table--bordered` : ``,\n this.euiTableCompact ? `eui-table--compact` : ``,\n this.euiTableDraggable ? `eui-table--draggable` : ``,\n this.euiTableCards ? `eui-table-cards` : ``,\n this.hasStickyHeader ? `eui-table--sticky-header` : ``,\n this.hasStickyColumns ? `eui-table--sticky-columns` : ``,\n super.getCssClasses('eui-table'),\n ].join(' ').trim();\n }\n\n constructor(private euiTableSortService: EuiTableSortService,\n private cd: ChangeDetectorRef,\n private euiTableSelectableRowService: EuiTableSelectableRowService,\n private elementRef: ElementRef) {\n super();\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (!this.rows) {\n this.rows = [];\n }\n\n this.euiTableSelectableRowService.setPropId(this.propId);\n if (c && c.rows && c.rows.firstChange === false) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n\n // Go to first page only if length of data has changed. To avoid user to be on a page that no longer exist in case of filtering.\n const lengthChanged = this.rowsSrc.length !== c.rows.currentValue.length;\n\n this.rowsSrc = [...c.rows.currentValue];\n if (this.paginator && lengthChanged) {\n this.paginator.goFirstPage();\n }\n if (!this.asyncTable) {\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(c.rows.currentValue);\n this.tableFeaturesHandler();\n } else {\n this.euiTableSelectableRowService.addRows(c.rows.currentValue);\n }\n }\n\n if (c && c.preselectedRows && c.preselectedRows.firstChange === false) {\n this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n }\n\n if (c && c.paginator?.currentValue) {\n this.paginator.setLength(this.rows.length);\n if (!c.paginator?.isFirstChange()) {\n this.paginator.goFirstPage();\n }\n } else {\n // this.rows can be changed anytime, then this else can be executed at that time, testing this.paginator allows to make sure\n // the user whants to disable pagination or change the datasource\n if (!this.paginator) {\n this.rowsRendered = this.rowsSrc ? this.rowsSrc : [...this.rows];\n this.page = 0;\n }\n }\n }\n\n ngOnInit(): void {\n this.rowsSrc = [...this.rows];\n }\n\n ngAfterContentInit(): void {\n if (!this.e2eAttr) {\n this.e2eAttr = 'eui-table';\n }\n this.templates.forEach((item) => {\n if (item.getType() === 'header') {\n this.headerTemplate = item.template;\n }\n if (item.getType() === 'body') {\n this.bodyTemplate = item.template;\n }\n if (item.getType() === 'footer') {\n this.footerTemplate = item.template;\n }\n if (item.getType() === 'emptyMessage') {\n this.emptyMessageTemplate = item.template;\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.asyncTable) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n this.tableFeaturesHandler();\n }\n\n this.euiTableSortService.sortingParams$.pipe(\n takeUntil(this.destroy$),\n ).subscribe((sortingParams: { sort: (string | null), order: string }) => {\n setTimeout(() => {\n this.sortChange.emit({ sort: sortingParams.sort, order: sortingParams.order });\n });\n });\n\n this.selectRowsFeatureHandler();\n\n setTimeout(() => {\n this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public trackByFn(index: number, item: any): number {\n return index;\n }\n\n public selectAllRows(): void {\n this.euiTableSelectableRowService.selectAllRows();\n }\n\n public unselectAllRows(): void {\n this.euiTableSelectableRowService.unselectAllRows();\n }\n\n public selectRows(rows: any[]): void {\n this.euiTableSelectableRowService.selectRows(rows);\n }\n\n public filterRows(filter: string, r: any[]): any[] {\n const rows = filter ? r.filter((row) => {\n const matching = this.getProps(row, filter).filter(p => p.match === true);\n return matching?.length > 0;\n }) : r;\n\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(rows);\n\n this.filteredRows = rows;\n\n return rows;\n }\n\n public setSort(sort: (string | null), order: ('asc' | 'desc' | null)): void {\n this.euiTableSortService.setSort(sort, order);\n }\n\n private stickyFeatureHandler(): void {\n const timeout = this.stickyFeatureHandlerIndex === 0 ? 500 : 0;\n\n setTimeout(() => {\n const trItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));\n const containerWidth = this.elementRef.nativeElement.parentElement.clientWidth;\n\n if (this.theadRef) {\n const thItems: HTMLTableCellElement[] = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));\n\n // Reset left & right position\n thItems.forEach((th: HTMLTableCellElement) => {\n th.style.left = null;\n th.style.right = null;\n });\n\n // Sticky First Cols & Last Cols\n const thItemsStickyFirstCol = thItems.filter((th) => th.offsetLeft + th.clientWidth < containerWidth);\n const thItemsStickyLastCol = thItems.filter((th) => th.offsetLeft + th.clientWidth > containerWidth);\n\n thItemsStickyFirstCol.forEach((th, i) => {\n th.style.left = (i === 0 ? 0 : thItemsStickyFirstCol[i - 1].clientWidth) + 'px';\n\n if (i + 1 === thItemsStickyFirstCol.length) {\n th.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n thItemsStickyLastCol.reverse().forEach((th, i) => {\n th.style.right = (i === 0 ? 0 : thItemsStickyLastCol[i - 1].clientWidth) + 'px';\n\n if (i + 1 === thItemsStickyLastCol.length) {\n th.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n }\n\n trItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n tdItems.forEach((td) => {\n td.style.left = null;\n td.style.right = null;\n });\n });\n\n trItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n\n // Sticky First Cols\n const tdItemsStickyFirstCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth < containerWidth);\n tdItemsStickyFirstCol.forEach((td, i) => {\n td.style.left = (i === 0 ? 0 : tdItemsStickyFirstCol[i - 1].clientWidth) + 'px';\n\n if (i + 1 === tdItemsStickyFirstCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n // Sticky Last Cols\n const tdItemsStickyLastCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth > containerWidth);\n tdItemsStickyLastCol.reverse().forEach((td, i) => {\n td.style.right = (i === 0 ? 0 : tdItemsStickyLastCol[i - 1].clientWidth) + 'px';\n\n if (i + 1 === tdItemsStickyLastCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n });\n }, timeout);\n\n this.stickyFeatureHandlerIndex++;\n }\n\n private tableFeaturesHandler(): void {\n this.tableFeaturesHandlerSubscription = combineLatest([\n this.euiTableSortService.sortingParams$,\n this.paginator ? this.paginator.page$ : new BehaviorSubject(null),\n this.filter ? this.filter.filter$ : new BehaviorSubject(null),\n ]).pipe(takeUntil(this.destroy$)).subscribe(([sortingParams, pagination, filter]) => {\n let r = [...this.rowsSrc];\n r = this.orderRows(sortingParams.sort, sortingParams.order, r);\n r = this.filterRows(filter, r);\n if (this.paginator) {\n this.paginator.setLength(r.length);\n r = this.paginateRows(pagination, r);\n }\n\n this.rowsRendered = r;\n this.stickyFeatureHandler();\n\n this.cd.detectChanges();\n });\n }\n\n private selectRowsFeatureHandler(): void {\n this.selectRowsFeatureHandlerSubscription = this.euiTableSelectableRowService.selectedRows$.pipe(\n takeUntil(this.destroy$),\n ).subscribe((selected: any[]) => {\n this.selectedRows.emit(selected);\n });\n }\n\n private getProps(obj: any[], filter: string): { key: string, match: boolean, value: string | number }[] {\n const isObject = (val: any): boolean => val && typeof val === 'object';\n const addDelimiter = (a: string, b: string): string => a && a !== '0' ? `${a}.${b}` : b;\n const props = [];\n const paths = (pathObj = {}, head = ''): any[] => Object.entries(pathObj).reduce((product, [key, value]) => {\n const fullPath = addDelimiter(head, key);\n const match = (v: any): boolean => v && typeof v !== 'object' && v?.toString().toLowerCase().indexOf(filter?.trim().toLowerCase()) !== -1;\n\n if (key !== '0' && typeof value !== 'object') {\n props.push({ key: addDelimiter(head, key), match: match(value), value });\n }\n\n return isObject(value) ? product.concat(paths(value, fullPath)) : product.concat(fullPath);\n }, []);\n\n paths(obj);\n\n return props;\n }\n\n private paginateRows(pagination: PaginationEvent, r: any[]): any[] {\n this.page = pagination.page;\n this.pageSize = pagination.pageSize;\n\n return r.slice(this.page * this.pageSize, (this.page * this.pageSize) + this.pageSize);\n }\n\n private orderRows(prop: string, order: string, r: any[]): any[] {\n let rows: any[] = null;\n if (!order) {\n rows = r;\n } else {\n if (order === 'desc') {\n rows = r.sort((a: any, b: any) => {\n\n const aSortOn = typeof this.getObjProp(a, prop) === 'string' ?\n this.getObjProp(a, prop).toLowerCase() : this.getObjProp(a, prop);\n const bSortOn = typeof this.getObjProp(b, prop) === 'string' ?\n this.getObjProp(b, prop).toLowerCase() : this.getObjProp(b, prop);\n\n if (!aSortOn && bSortOn) { return 1; }\n if (aSortOn && !bSortOn) { return -1; }\n if (!aSortOn && !bSortOn) { return 0; }\n if (aSortOn < bSortOn) { return 1; }\n if (aSortOn > bSortOn) { return -1; }\n return 0;\n });\n } else {\n rows = r.sort((a: any, b: any) => {\n\n const aSortOn = typeof this.getObjProp(a, prop) === 'string' ?\n this.getObjProp(a, prop).toLowerCase() : this.getObjProp(a, prop);\n const bSortOn = typeof this.getObjProp(b, prop) === 'string' ?\n this.getObjProp(b, prop).toLowerCase() : this.getObjProp(b, prop);\n\n if (!aSortOn && bSortOn) { return -1; }\n if (aSortOn && !bSortOn) { return 1; }\n if (!aSortOn && !bSortOn) { return 0; }\n if (aSortOn > bSortOn) { return 1; }\n if (aSortOn < bSortOn) { return -1; }\n return 0;\n });\n }\n }\n\n return rows;\n }\n\n private getObjProp(obj: any, prop: string): string {\n return prop ? prop.split('.').reduce((prev, curr) => prev ? prev[curr] : null, obj || self) : null;\n }\n}\n","<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n","export class PaginationEvent {\n page: number;\n pageSize: number;\n nbPage: number;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import { Component, OnInit, Input, OnDestroy, EventEmitter, Output, OnChanges, SimpleChanges, HostBinding, ChangeDetectorRef } from '@angular/core';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, distinctUntilChanged } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { UxAppShellService } from '@eui/core';\n\nimport { PaginationEvent } from '../models/pagination-event.model';\n\n@Component({\n selector: 'eui-table-paginator',\n templateUrl: './eui-table-paginator.component.html',\n})\n\nexport class EuiTablePaginatorComponent implements OnInit, OnDestroy, OnChanges {\n @Input() pageSizeOptions: number[] = [5, 10, 25, 50, 100];\n @Input() pageSize = 10;\n @Input() page = 0;\n @Input() length: number = 0;\n @Input() nbPageNumberNavigation: number = 5;\n\n @Output() pageChange = new EventEmitter<PaginationEvent>();\n\n public page$: BehaviorSubject<PaginationEvent> = new BehaviorSubject(null);\n public length$: BehaviorSubject<number> = new BehaviorSubject(0);\n public range: string;\n public rangeLength: string;\n public nbPage: number;\n\n public breakpointsValue: any = {\n isMobile: false,\n isTablet: false,\n isDesktop: false,\n };\n\n @HostBinding('class') string = 'eui-table-paginator';\n\n @Input()\n get hasPageNumberNavigation(): boolean { return this._hasPageNumberNavigation; }\n set hasPageNumberNavigation(value: BooleanInput) { this._hasPageNumberNavigation = coerceBooleanProperty(value); }\n private _hasPageNumberNavigation = false;\n @Input()\n get hasDynamicLength(): boolean { return this._hasDynamicLength; }\n set hasDynamicLength(value: BooleanInput) { this._hasDynamicLength = coerceBooleanProperty(value); }\n private _hasDynamicLength = false;\n @Input()\n get isHidden(): boolean { return this._isHidden; }\n set isHidden(value: BooleanInput) { this._isHidden = coerceBooleanProperty(value); }\n private _isHidden = false;\n\n private nbPageNumberNav: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private cd: ChangeDetectorRef,\n private uxAppShellService: UxAppShellService) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.length) {\n this.length$.next(c.length.currentValue);\n this.getRange();\n }\n if (c && c.page) {\n this.page$.next(new PaginationEvent({ page: c.page.currentValue, pageSize: this.pageSize, nbPage: this.nbPage }));\n this.getRange();\n }\n if (c && c.pageSize) {\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: c.pageSize.currentValue, nbPage: this.nbPage }));\n this.changePageSize(c.pageSize.currentValue);\n this.getRange();\n }\n }\n\n ngOnInit(): void {\n if (this.length) {\n this.length$.next(this.length);\n }\n\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n\n this.length$.pipe(takeUntil(this.destroy$), distinctUntilChanged()).subscribe((length) => {\n this.length = length;\n this.nbPage = Math.ceil(this.length / this.pageSize);\n if (!this.hasDynamicLength) {\n this.page = 0;\n }\n this.getRange();\n\n if (this.nbPage < this.nbPageNumberNavigation) {\n this.nbPageNumberNav = this.nbPage;\n } else {\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n }\n\n setTimeout(() => {\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage }));\n });\n });\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage }));\n\n this.uxAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe(bkps => this.breakpointsValue = bkps);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get pageNumberNavigation(): number[] {\n const pages = [];\n for (let i = 0; i < this.nbPage; i ++) {\n pages.push(i);\n }\n\n const delta = Math.floor(this.nbPageNumberNav / 2);\n let start = 0;\n if (this.page - delta > 0) {\n start = this.page - delta;\n } else {\n start = 0;\n }\n\n if (this.nbPage - this.page <= this.nbPageNumberNav - (delta + 1)) {\n start = this.nbPage - this.nbPageNumberNav;\n }\n\n if (start < 0) {\n start = 0;\n }\n\n const end = start + this.nbPageNumberNav;\n return pages.slice(start, end);\n }\n\n public changePageSize(size: number): void {\n this.pageSize = size;\n this.nbPage = Math.ceil(this.length / this.pageSize);\n this.page = 0;\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage }));\n this.getRange();\n\n if (this.nbPage < this.nbPageNumberNavigation) {\n this.nbPageNumberNav = this.nbPage;\n } else {\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n }\n\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n public goToPage(page: number): void {\n this.page = page;\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage }));\n this.getRange();\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n public goFirstPage(): void {\n this.goToPage(0);\n }\n\n public goPreviousPage(): void {\n this.goToPage(this.page - 1);\n }\n\n public goNextPage(): void {\n this.goToPage(this.page + 1);\n }\n\n public goLastPage(): void {\n this.goToPage(this.nbPage - 1);\n }\n\n public setPage(page: PaginationEvent): void {\n this.page$.next(page);\n }\n\n public setLength(length: number): void {\n this.length$.next(length);\n }\n\n public getRange(): void {\n const from = this.length > 0 ? (this.page * this.pageSize) + 1 : 0;\n const limit = ((this.page * this.pageSize) + this.pageSize);\n const to = limit <= this.length ? limit : this.length;\n this.range = from && to && this.length ? from + '–' + to : '';\n this.rangeLength = this.length ? this.length.toString() : '';\n }\n\n /**\n * Change the pagination to the given page number\n * @param page 0-based page number to be displayed\n */\n public getPage(page: number): void {\n setTimeout(() => {\n this.goToPage(page);\n });\n }\n}\n","<div *ngIf=\"!isHidden && !breakpointsValue.isMobile\" class=\"eui-table-paginator__page\">\n <div class=\"eui-table-paginator__page-selector\">\n {{ 'eui.euitable.ITEMS-PER-PAGE' | translate }} \n <eui-dropdown>\n <button type=\"button\" euiButton euiBasicButton euiPrimary euiSizeS>\n <span euiLabel>{{ pageSize }}</span>\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-down\" aria-label=\"Select Items per page\"></span>\n </button>\n <eui-dropdown-content>\n <div euiList>\n <button type=\"button\" euiListItem euiSizeS *ngFor=\"let pageSizeOption of pageSizeOptions\" (click)=\"changePageSize(pageSizeOption)\">{{ pageSizeOption }}</button>\n </div>\n </eui-dropdown-content>\n </eui-dropdown>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-table-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate :{ range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-table-paginator__page-navigation\">\n <div class=\"eui-table-paginator__page-navigation-item\">\n <button type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !breakpointsValue.isMobile\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary\n [attr.disabled]=\"page === 0 || length === 0 ? 'disabled' : null\" (click)=\"goFirstPage()\">\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-first\" aria-label=\"Go to first page\"></span>\n </button>\n </div>\n <div class=\"eui-table-paginator__page-navigation-item\">\n <button type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !breakpointsValue.isMobile\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary\n [attr.disabled]=\"page === 0 || length === 0 ? 'disabled' : null\" (click)=\"goPreviousPage()\">\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-left\" aria-label=\"Go to previous page\"></span>\n </button>\n </div>\n <div class=\"eui-table-paginator__page-navigation-numbers\" *ngIf=\"hasPageNumberNavigation && !breakpointsValue.isMobile\">\n <button type=\"button\"\n euiSizeS *ngFor=\"let pageNumber of pageNumberNavigation\" euiButton euiBasicButton euiPrimary euiRounded euiIconButton\n [euiOutline]=\"pageNumber === page\" (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && breakpointsValue.isMobile\" class=\"eui-table-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-table-paginator__page-navigation-item\">\n <button type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !breakpointsValue.isMobile\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary\n [attr.disabled]=\"page + 1 === nbPage || length === 0 ? 'disabled' : null\" (click)=\"goNextPage()\">\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-right\" aria-label=\"Go to next page\"></span>\n </button>\n </div>\n <div class=\"eui-table-paginator__page-navigation-item\">\n <button type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !breakpointsValue.isMobile\" euiButton euiIconButton euiBasicButton euiRounded\n euiPrimary [attr.disabled]=\"page + 1 === nbPage || length === 0 ? 'disabled' : null\" (click)=\"goLastPage()\">\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-last\" aria-label=\"Go to last page\"></span>\n </button>\n </div>\n</div>\n","import { Component, OnInit, OnDestroy, Input, HostBinding } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { EuiTableSortService } from '../services/eui-table-sort.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'th[sortable]',\n templateUrl: './eui-table-sortable-col.component.html',\n})\n\nexport class EuiTableSortableColComponent implements OnInit, OnDestroy {\n\n @Input() sortOn: string;\n @Input() sortOrder: ('asc' | 'desc') = 'desc';\n\n public order: ('asc' | 'desc' | null) = 'desc';\n\n @Input()\n get defaultOrder(): boolean { return this._defaultOrder; }\n set defaultOrder(value: BooleanInput) { this._defaultOrder = coerceBooleanProperty(value); }\n private _defaultOrder = false;\n\n @Input()\n get sortDisabled(): boolean { return this._sortDisabled; }\n set sortDisabled(value: BooleanInput) { this._sortDisabled = coerceBooleanProperty(value); }\n private _sortDisabled = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-table__sortable-col',\n this.sortDisabled ? `eui-table__sortable-col--disabled` : ``,\n ].join(' ').trim();\n }\n\n constructor(private euiTableSortService: EuiTableSortService) {}\n\n ngOnInit(): void {\n if (this.defaultOrder) {\n this.order = this.sortOrder;\n this.euiTableSortService.setSort(this.sortOn, this.order);\n }\n\n this.euiTableSortService.sortingParams$.pipe(\n takeUntil(this.destroy$),\n ).subscribe((sortingParams: { sort: (string | null), order: string }) => {\n if (sortingParams.sort !== this.sortOn) {\n this.order = null;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public click(): void {\n if (!this.sortDisabled) {\n if (this.order === 'asc') {\n this.order = 'desc';\n } else if (this.order === 'desc') {\n this.order = null;\n } else if (this.order === null) {\n this.order = 'asc';\n }\n\n this.euiTableSortService.setSort(this.sortOn, this.order);\n }\n }\n}\n","<div class=\"eui-table__sortable-col-content\" (click)=\"click()\">\n <ng-content></ng-content>\n <span *ngIf=\"!sortDisabled && !order\" euiIcon iconClass=\"eui-table__sortable-icon eui-icon eui-icon-sort\" aria-label=\"No sorting icon\"></span>\n <span *ngIf=\"!sortDisabled && order === 'asc'\" euiIcon iconClass=\"eui-table__sortable-icon eui-icon eui-icon-sort-asc\" aria-label=\"Ascending order icon\"></span>\n <span *ngIf=\"!sortDisabled && order === 'desc'\" euiIcon iconClass=\"eui-table__sortable-icon eui-icon eui-icon-sort-desc\" aria-label=\"Descending order icon\"></span>\n</div>\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, HostBinding, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\nimport { BaseDirective } from '@eui/components/shared';\n@Component({\n selector: 'eui-table-filter',\n templateUrl: './eui-table-filter.component.html',\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiTableFilterComponent extends BaseDirective implements OnInit, OnDestroy {\n @Input() placeholder: string;\n\n @Output() filterChange = new EventEmitter<string>();\n\n @ViewChild('filterInput') filterInput: ElementRef<HTMLInputElement>;\n\n public filter$: BehaviorSubject<string | null> = new BehaviorSubject(null);\n public form: FormGroup;\n\n @Input()\n get autoSearch(): boolean { return this._autoSearch; }\n set autoSearch(value: BooleanInput) { this._autoSearch = coerceBooleanProperty(value); }\n private _autoSearch = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('eui-table__filter'),\n ].join(' ').trim();\n }\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n ngOnInit(): void {\n this.form = this.fb.group({\n filter: new FormControl(null),\n });\n\n this.form.get('filter').valueChanges.pipe(\n debounceTime(500),\n distinctUntilChanged(),\n takeUntil(this.destroy$),\n ).subscribe((value) => {\n this.setFilter(value);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public setFilter(value: string): void {\n this.filter$.next(value);\n this.filterChange.emit(value);\n this.form.get('filter').setValue(value);\n }\n\n public resetFilter(): void {\n this.setFilter(null);\n this.form.reset();\n this.filterInput.nativeElement.focus();\n }\n}\n","<div class=\"eui-table__filter\">\n <form [formGroup]=\"form\">\n <div class=\"eui-clearable-input-wrapper\">\n <input #filterInput\n euiClearable\n class=\"eui-table__filter-input\"\n euiInputText\n formControlName=\"filter\"\n [attr.aria-label]=\"placeholder? placeholder: 'Filter Input Field'\"\n placeholder=\"{{ placeholder }}\">\n <span euiIcon aria-label=\"Search Icon\" class=\"eui-table__filter-search-icon eui-icon eui-icon-search-m\"></span>\n </div>\n </form>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'euiTableHighlightFilter',\n})\nexport class EuiTableHighlightFilterPipe implements PipeTransform {\n\n transform(value: string, strFilter: string, className = 'eui-table--highlighted'): string {\n if (strFilter && strFilter.length > 0) {\n const regex = new RegExp('(' + strFilter + ')', 'gi');\n return value.toString().replace(regex, '<span class=\"' + className + '\">$1</span>');\n } else {\n return value;\n }\n }\n\n}\n","import { Component, OnInit, Input, OnDestroy, OnChanges, HostBinding, HostListener } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isSelectable]',\n templateUrl: './eui-table-selectable-row.component.html',\n})\n\nexport class EuiTableSelectableRowComponent implements OnInit, OnDestroy, OnChanges {\n\n @Input() isSelectable: any;\n @Input()\n get isChecked(): boolean { return this._isChecked; }\n set isChecked(value: BooleanInput) { this._isChecked = coerceBooleanProperty(value); }\n private _isChecked = false;\n\n @Input()\n get isKeyboardSelectable(): boolean { return this._isKeyboardSelectable; }\n set isKeyboardSelectable(value: BooleanInput) { this._isKeyboardSelectable = coerceBooleanProperty(value); }\n private _isKeyboardSelectable = false;\n\n private propId = 'id';\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-table__row',\n this.isSelectable ? `eui-table__row--selectable` : ``,\n this.isChecked ? `eui-table__row--selected` : ``,\n ].join(' ').trim();\n }\n\n constructor(private euiTableSelectableRowService: EuiTableSelectableRowService) {}\n\n @HostListener('click', ['$event']) onClickRow(event: PointerEvent): void {\n if (this.isKeyboardSelectable && this.isSelectable) {\n if (event.ctrlKey) {\n if (!this.isChecked) {\n this.euiTableSelectableRowService.addSelectedRow(this.isSelectable);\n } else {\n this.euiTableSelectableRowService.removeSelectedRow(this.isSelectable);\n }\n } else if (event.shiftKey) {\n const rows = this.euiTableSelectableRowService.getRows();\n const lastSelectedRow = this.euiTableSelectableRowService.getLastSelectedRow();\n const lastSelectedRowPosition = rows.indexOf(lastSelectedRow);\n const position = rows.indexOf(this.isSelectable);\n\n const range = lastSelectedRowPosition > position ?\n rows.slice(position, lastSelectedRowPosition + 1) :\n rows.slice(lastSelectedRowPosition, position + 1);\n\n this.euiTableSelectableRowService.addSelectedRows(range);\n\n window.getSelection().empty();\n } else {\n this.euiTableSelectableRowService.selectRows([this.isSelectable]);\n }\n }\n }\n\n ngOnChanges(): void {\n if (this.isSelectable) {\n this.propId = this.euiTableSelectableRowService.getPropId();\n this.isChecked = this.euiTableSelectableRowService.selectedRows$.value.find(s => s[this.propId] === this.isSelectable[this.propId]) ? true : false;\n }\n }\n\n ngOnInit(): void {\n this.euiTableSelectableRowService.selectedRows$.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected.filter(s => s[this.propId] === this.isSelectable[this.propId]).length > 0;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public toggleCheckedState(e: any): void {\n if (!this.isChecked) {\n this.euiTableSelectableRowService.addSelectedRow(this.isSelectable);\n } else {\n this.euiTableSelectableRowService.removeSelectedRow(this.isSelectable);\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n}\n","<td *ngIf=\"isSelectable\" class=\"eui-table__cell-select\" (click)=\"toggleCheckedState($event)\">\n <eui-icon *ngIf=\"!isChecked\" iconClass=\"eui-icon-checkbox-outline eui-u-font-size-2xl\" euiSizeL aria-label=\"Unchecked\"></eui-icon>\n <eui-icon *ngIf=\"isChecked\" euiPrimary iconClass=\"eui-icon-checkbox eui-u-font-size-2xl\" euiSizeL aria-label=\"Checked\"></eui-icon>\n</td>\n<ng-content></ng-content>\n","import { Component, OnInit, Input, OnDestroy, ViewChild, ElementRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isSelectableHeader]',\n templateUrl: './eui-table-selectable-header.component.html',\n})\n\nexport class EuiTableSelectableHeaderComponent implements OnInit, OnDestroy {\n\n @ViewChild('checkbox') checkbox: ElementRef<HTMLInputElement>;\n\n public isCheckedIndeterminate = false;\n\n @Input()\n get isSelectableHeader(): boolean { return this._isSelectableHeader; }\n set isSelectableHeader(value: BooleanInput) { this._isSelectableHeader = coerceBooleanProperty(value); }\n private _isSelectableHeader: boolean = true;\n @Input()\n get isChecked(): boolean { return this._isChecked; }\n set isChecked(value: BooleanInput) { this._isChecked = coerceBooleanProperty(value); }\n private _isChecked = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private euiTableSelectableRowService: EuiTableSelectableRowService) {}\n\n ngOnInit(): void {\n this.euiTableSelectableRowService.isAllRowsSelected$.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected;\n if (this.checkbox) {\n this.checkbox.nativeElement.checked = selected;\n }\n\n if (!selected && this.euiTableSelectableRowService.selectedRows$.value.length > 0) {\n this.isCheckedIndeterminate = true;\n } else {\n this.isCheckedIndeterminate = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public toggleCheckedState(value: boolean): void {\n this.isChecked = value;\n\n if (this.isChecked) {\n this.euiTableSelectableRowService.selectAllRows();\n } else {\n this.euiTableSelectableRowService.unselectAllRows();\n }\n }\n}\n","<th *ngIf=\"isSelectableHeader\" class=\"eui-table__cell-select\">\n <eui-icon *ngIf=\"!isChecked && !isCheckedIndeterminate\" iconClass=\"eui-icon-checkbox-outline eui-u-font-size-2xl\" (click)=\"toggleCheckedState(true)\" aria-label=\"Unchecked\"></eui-icon>\n <eui-icon *ngIf=\"isCheckedIndeterminate\" euiPrimary iconClass=\"eui-icon-checkbox-intermediate eui-u-font-size-2xl\" (click)=\"toggleCheckedState(false)\" aria-label=\"Indeterminate\"></eui-icon>\n <eui-icon *ngIf=\"isChecked && !isCheckedIndeterminate\" euiPrimary iconClass=\"eui-icon-checkbox eui-u-font-size-2xl\" (click)=\"toggleCheckedState(false)\" aria-label=\"Checked\"></eui-icon>\n</th>\n<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[euiTableExpandableRow]',\n templateUrl: './eui-table-expandable-row.component.html',\n})\n\nexport class EuiTableExpandableRowComponent {\n\n @HostBinding('class') string = 'eui-table-expandable-row';\n\n constructor() {}\n\n}\n","<ng-content></ng-content>\n","export class SortEvent {\n sort: string;\n order: string;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[isStickyColumn]',\n})\nexport class EuiTableStickyColumnDirective {\n\n @HostBinding('class.eui-table__col--sticky') get stickyClass(): boolean { return true; }\n\n constructor() {}\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { EuiListModule } from '@eui/components/eui-list';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiTableComponent } from './eui-table.component';\nimport { EuiTableSortableColComponent } from './sortable-col/eui-table-sortable-col.component';\nimport { EuiTablePaginatorComponent } from './paginator/eui-table-paginator.component';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSelectableRowComponent } from './selectable-row/eui-table-selectable-row.component';\nimport { EuiTableSelectableHeaderComponent } from './selectable-header/eui-table-selectable-header.component';\nimport { EuiTableExpandableRowComponent } from './expandable-row/eui-table-expandable-row.component';\nimport { EuiTableHighlightFilterPipe } from './pipes/eui-table-highlight-filter.pipe';\nimport { EuiTableStickyColumnDirective } from './directives/eui-table-sticky-columns.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n EuiListModule,\n EuiDropdownModule,\n EuiButtonModule,\n ReactiveFormsModule,\n TranslateModule,\n EuiTemplateDirectiveModule,\n EuiInputTextModule,\n ],\n declarations: [\n EuiTableComponent,\n EuiTableSortableColComponent,\n EuiTablePaginatorComponent,\n EuiTableFilterComponent,\n EuiTableSelectableRowComponent,\n EuiTableSelectableHeaderComponent,\n EuiTableExpandableRowComponent,\n EuiTableHighlightFilterPipe,\n EuiTableStickyColumnDirective,\n ],\n exports: [\n EuiTableComponent,\n EuiTableSortableColComponent,\n EuiTablePaginatorComponent,\n EuiTableFilterComponent,\n EuiTableSelectableRowComponent,\n EuiTableSelectableHeaderComponent,\n EuiTableExpandableRowComponent,\n EuiTableHighlightFilterPipe,\n EuiTemplateDirectiveModule,\n EuiTableStickyColumnDirective,\n ],\n})\nexport class EuiTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiTableSortService","i2.EuiTableSelectableRowService","i3","i1","i2","i1.EuiTableSelectableRowService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-components-eui-table.mjs","sources":["../../eui-table/services/eui-table-sort.service.ts","../../eui-table/services/eui-table-selectable-row.service.ts","../../eui-table/eui-table.component.ts","../../eui-table/eui-table.component.html","../../eui-table/models/pagination-event.model.ts","../../eui-table/paginator/eui-table-paginator.component.ts","../../eui-table/paginator/eui-table-paginator.component.html","../../eui-table/sortable-col/eui-table-sortable-col.component.ts","../../eui-table/sortable-col/eui-table-sortable-col.component.html","../../eui-table/filter/eui-table-filter.component.ts","../../eui-table/filter/eui-table-filter.component.html","../../eui-table/pipes/eui-table-highlight-filter.pipe.ts","../../eui-table/selectable-row/eui-table-selectable-row.component.ts","../../eui-table/selectable-row/eui-table-selectable-row.component.html","../../eui-table/selectable-header/eui-table-selectable-header.component.ts","../../eui-table/selectable-header/eui-table-selectable-header.component.html","../../eui-table/expandable-row/eui-table-expandable-row.component.ts","../../eui-table/expandable-row/eui-table-expandable-row.component.html","../../eui-table/models/sort-event.model.ts","../../eui-table/directives/eui-table-sticky-columns.directive.ts","../../eui-table/eui-table.module.ts","../../eui-table/eui-components-eui-table.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class EuiTableSortService {\n\n public sortingParams$ = new BehaviorSubject({ sort: null, order: 'desc' });\n\n constructor() {}\n\n setSort(sort: (string | null), order: ('asc' | 'desc' | null)): void {\n this.sortingParams$.next({ sort: order ? sort : null, order });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable()\nexport class EuiTableSelectableRowService {\n\n public selectedRows$: BehaviorSubject<any[]> = new BehaviorSubject([]);\n public isAllRowsSelected$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n public lastSelectedRow: any = null;\n\n private rows: any[] = [];\n private isAllRowsSelected = false;\n private propId = 'id';\n\n constructor() {}\n\n public setPropId(value: string): void {\n this.propId = value;\n }\n\n public getPropId(): string {\n return this.propId;\n }\n\n public addSelectedRow(row: any): void {\n if (this.selectedRows$.value.indexOf(row) === -1) {\n this.selectedRows$.next([...this.selectedRows$.value, row]);\n }\n\n this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n this.isAllRowsSelected = this.selectedRows$.value.length === this.rows.length;\n\n this.lastSelectedRow = row;\n }\n\n public addSelectedRows(rows: any[]): void {\n const selected = rows.filter(row => !this.selectedRows$.value.includes(row));\n\n this.selectedRows$.next([...this.selectedRows$.value, ...selected]);\n this.isAllRowsSelected$.next(this.selectedRows$.value.length === this.rows.length);\n this.isAllRowsSelected = this.selectedRows$.value.length === this.rows.length;\n\n this.lastSelectedRow = rows[rows.length - 1];\n }\n\n public removeSelectedRow(row: any): void {\n const value = this.selectedRows$.value.filter((selected) => selected[this.propId] !== row[this.propId]);\n this.selectedRows$.next(value);\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n }\n\n public addRow(row: any): void {\n if (row && !this.rows.find((r) => r[this.propId] === row[this.propId])) {\n this.rows.push(row);\n\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n\n if (this.rows.length > this.selectedRows$.value.length && this.isAllRowsSelected) {\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n }\n\n if (this.rows.length <= this.selectedRows$.value.length && this.rows.every(r => this.selectedRows$.value.includes(r))) {\n this.isAllRowsSelected$.next(true);\n this.isAllRowsSelected = true;\n }\n }\n }\n\n public addRows(rows: any[]): void {\n rows.forEach((row) => {\n this.addRow(row);\n });\n }\n\n public resetRows(): void {\n this.rows = [];\n }\n\n public selectRows(rows: any[]): void {\n this.selectedRows$.next([...rows]);\n this.isAllRowsSelected$.next(this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length);\n this.isAllRowsSelected = this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length;\n\n this.lastSelectedRow = rows[rows.length - 1];\n }\n\n public selectAllRows(): void {\n this.selectedRows$.next([...this.rows]);\n this.isAllRowsSelected$.next(true);\n this.isAllRowsSelected = true;\n\n this.lastSelectedRow = this.rows[this.rows.length - 1];\n }\n\n public unselectAllRows(): void {\n this.selectedRows$.next([]);\n this.isAllRowsSelected$.next(false);\n this.isAllRowsSelected = false;\n\n this.lastSelectedRow = null;\n }\n\n public getRows(): any[] {\n return this.rows;\n }\n\n public getLastSelectedRow(): any {\n return this.lastSelectedRow;\n }\n\n}\n","import { AfterContentInit, AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding,\n Input, OnChanges, OnDestroy, OnInit, Output, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { BehaviorSubject, combineLatest, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseDirective } from '@eui/components/shared';\n\nimport { EuiTableSortService } from './services/eui-table-sort.service';\nimport { EuiTablePaginatorComponent } from './paginator/eui-table-paginator.component';\nimport { PaginationEvent } from './models/pagination-event.model';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSelectableRowService } from './services/eui-table-selectable-row.service';\nimport { SortEvent } from './models/sort-event.model';\n\n@Component({\n selector: 'eui-table, table[euiTable]',\n templateUrl: './eui-table.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [EuiTableSortService, EuiTableSelectableRowService],\n})\nexport class EuiTableComponent extends BaseDirective implements AfterContentInit, OnInit, OnDestroy, AfterViewInit, OnChanges {\n @Input() rows: any[] = [];\n @Input() propId = 'id';\n @Input() paginator: EuiTablePaginatorComponent;\n @Input() filter: EuiTableFilterComponent;\n @Input() preselectedRows: any[] = [];\n /** @deprecated Since eui-table uses native CSS position sticky, passing the reference of container is no longer needed.\n * It will be removed in the future version of eUI\n * */\n @Input() scrollableContainerRef: Element;\n\n @HostBinding('class') string = 'eui-table';\n @HostBinding('class.eui-table__loading') get hasLoading(): boolean { return this.loading; };\n\n @Output() selectedRows = new EventEmitter<any[]>();\n @Output() sortChange = new EventEmitter<SortEvent>();\n\n public headerTemplate: TemplateRef<any>;\n public bodyTemplate: TemplateRef<any>;\n public footerTemplate: TemplateRef<any>;\n public emptyMessageTemplate: TemplateRef<any>;\n public rowsRendered: any[] = [];\n\n public page: number = 0;\n public pageSize: number = 0;\n public showStickyHeader = false;\n public filteredRows = [];\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('theadRef') theadRef: ElementRef<HTMLElement>;\n @ViewChild('tbodyRef') tbodyRef: ElementRef<HTMLElement>;\n\n @Input()\n get loading(): boolean { return this._loading; }\n set loading(value: BooleanInput) { this._loading = coerceBooleanProperty(value); }\n private _loading = false;\n\n @Input()\n get asyncTable(): boolean { return this._asyncTable; }\n set asyncTable(value: BooleanInput) { this._asyncTable = coerceBooleanProperty(value); }\n private _asyncTable = false;\n\n @Input()\n get paginable(): boolean { return this._paginable; }\n set paginable(value: BooleanInput) { this._paginable = coerceBooleanProperty(value); }\n private _paginable = false;\n\n @Input()\n get euiTableResponsive(): boolean { return this._euiTableResponsive; }\n set euiTableResponsive(value: BooleanInput) { this._euiTableResponsive = coerceBooleanProperty(value); }\n private _euiTableResponsive = false;\n\n @Input()\n get euiTableFixedLayout(): boolean { return this._euiTableFixedLayout; }\n set euiTableFixedLayout(value: BooleanInput) { this._euiTableFixedLayout = coerceBooleanProperty(value); }\n private _euiTableFixedLayout = false;\n\n @Input()\n get euiTableDraggable(): boolean { return this._euiTableDraggable; }\n set euiTableDraggable(value: BooleanInput) { this._euiTableDraggable = coerceBooleanProperty(value); }\n private _euiTableDraggable = false;\n\n @Input()\n get euiTableCards(): boolean { return this._euiTableCards; }\n set euiTableCards(value: BooleanInput) { this._euiTableCards = coerceBooleanProperty(value); }\n private _euiTableCards = false;\n\n @Input()\n get euiTableBordered(): boolean { return this._euiTableBordered; }\n set euiTableBordered(value: BooleanInput) { this._euiTableBordered = coerceBooleanProperty(value); }\n private _euiTableBordered = false;\n\n @Input()\n get euiTableCompact(): boolean { return this._euiTableCompact; }\n set euiTableCompact(value: BooleanInput) { this._euiTableCompact = coerceBooleanProperty(value); }\n private _euiTableCompact = false;\n\n @Input()\n get hasStickyHeader(): boolean { return this._hasStickyHeader; }\n set hasStickyHeader(value: BooleanInput) { this._hasStickyHeader = coerceBooleanProperty(value); }\n private _hasStickyHeader = false;\n\n @Input()\n get hasStickyColumns(): boolean { return this._hasStickyColumns; }\n set hasStickyColumns(value: BooleanInput) { this._hasStickyColumns = coerceBooleanProperty(value); }\n private _hasStickyColumns = false;\n\n private rowsSrc: any = null;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private tableFeaturesHandlerSubscription = new Subscription();\n private selectRowsFeatureHandlerSubscription = new Subscription();\n private stickyFeatureHandlerIndex = 0;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n this.euiTableResponsive ? `eui-table--responsive` : ``,\n this.euiTableFixedLayout ? `eui-table--fixed-layout` : ``,\n this.euiTableBordered ? `eui-table--bordered` : ``,\n this.euiTableCompact ? `eui-table--compact` : ``,\n this.euiTableDraggable ? `eui-table--draggable` : ``,\n this.euiTableCards ? `eui-table-cards` : ``,\n this.hasStickyHeader ? `eui-table--sticky-header` : ``,\n this.hasStickyColumns ? `eui-table--sticky-columns` : ``,\n super.getCssClasses('eui-table'),\n ].join(' ').trim();\n }\n\n constructor(private euiTableSortService: EuiTableSortService,\n private cd: ChangeDetectorRef,\n private euiTableSelectableRowService: EuiTableSelectableRowService,\n private elementRef: ElementRef) {\n super();\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (!this.rows) {\n this.rows = [];\n }\n\n this.euiTableSelectableRowService.setPropId(this.propId);\n if (c && c.rows && c.rows.firstChange === false) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n\n // Go to first page only if length of data has changed. To avoid user to be on a page that no longer exist in case of filtering.\n const lengthChanged = this.rowsSrc.length !== c.rows.currentValue.length;\n\n this.rowsSrc = [...c.rows.currentValue];\n if (this.paginator && lengthChanged) {\n this.paginator.goFirstPage();\n }\n if (!this.asyncTable) {\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(c.rows.currentValue);\n this.tableFeaturesHandler();\n } else {\n this.euiTableSelectableRowService.addRows(c.rows.currentValue);\n }\n }\n\n if (c && c.preselectedRows && c.preselectedRows.firstChange === false) {\n this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n }\n\n if (c && c.paginator?.currentValue) {\n this.paginator.setLength(this.rows.length);\n if (!c.paginator?.isFirstChange()) {\n this.paginator.goFirstPage();\n }\n } else {\n // this.rows can be changed anytime, then this else can be executed at that time, testing this.paginator allows to make sure\n // the user whants to disable pagination or change the datasource\n if (!this.paginator) {\n this.rowsRendered = this.rowsSrc ? this.rowsSrc : [...this.rows];\n this.page = 0;\n }\n }\n }\n\n ngOnInit(): void {\n this.rowsSrc = [...this.rows];\n }\n\n ngAfterContentInit(): void {\n if (!this.e2eAttr) {\n this.e2eAttr = 'eui-table';\n }\n this.templates.forEach((item) => {\n if (item.getType() === 'header') {\n this.headerTemplate = item.template;\n }\n if (item.getType() === 'body') {\n this.bodyTemplate = item.template;\n }\n if (item.getType() === 'footer') {\n this.footerTemplate = item.template;\n }\n if (item.getType() === 'emptyMessage') {\n this.emptyMessageTemplate = item.template;\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (!this.asyncTable) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n this.tableFeaturesHandler();\n }\n\n this.euiTableSortService.sortingParams$.pipe(\n takeUntil(this.destroy$),\n ).subscribe((sortingParams: { sort: (string | null), order: string }) => {\n setTimeout(() => {\n this.sortChange.emit({ sort: sortingParams.sort, order: sortingParams.order });\n });\n });\n\n this.selectRowsFeatureHandler();\n\n setTimeout(() => {\n this.euiTableSelectableRowService.selectRows(this.preselectedRows);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public trackByFn(index: number, item: any): number {\n return index;\n }\n\n public selectAllRows(): void {\n this.euiTableSelectableRowService.selectAllRows();\n }\n\n public unselectAllRows(): void {\n this.euiTableSelectableRowService.unselectAllRows();\n }\n\n public selectRows(rows: any[]): void {\n this.euiTableSelectableRowService.selectRows(rows);\n }\n\n public filterRows(filter: string, r: any[]): any[] {\n const rows = filter ? r.filter((row) => {\n const matching = this.getProps(row, filter).filter(p => p.match === true);\n return matching?.length > 0;\n }) : r;\n\n this.euiTableSelectableRowService.resetRows();\n this.euiTableSelectableRowService.addRows(rows);\n\n this.filteredRows = rows;\n\n return rows;\n }\n\n public setSort(sort: (string | null), order: ('asc' | 'desc' | null)): void {\n this.euiTableSortService.setSort(sort, order);\n }\n\n private stickyFeatureHandler(): void {\n const timeout = this.stickyFeatureHandlerIndex === 0 ? 500 : 0;\n\n setTimeout(() => {\n const trItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));\n const containerWidth = this.elementRef.nativeElement.parentElement.clientWidth;\n\n if (this.theadRef) {\n const thItems: HTMLTableCellElement[] = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));\n\n // Reset left & right position\n thItems.forEach((th: HTMLTableCellElement) => {\n th.style.left = null;\n th.style.right = null;\n });\n\n // Sticky First Cols & Last Cols\n const thItemsStickyFirstCol = thItems.filter((th) => th.offsetLeft + th.clientWidth < containerWidth);\n const thItemsStickyLastCol = thItems.filter((th) => th.offsetLeft + th.clientWidth > containerWidth);\n\n thItemsStickyFirstCol.forEach((th, i) => {\n th.style.left = (i === 0 ? 0 : thItemsStickyFirstCol[i - 1].clientWidth) + 'px';\n\n if (i + 1 === thItemsStickyFirstCol.length) {\n th.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n thItemsStickyLastCol.reverse().forEach((th, i) => {\n th.style.right = (i === 0 ? 0 : thItemsStickyLastCol[i - 1].clientWidth) + 'px';\n\n if (i + 1 === thItemsStickyLastCol.length) {\n th.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n }\n\n trItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n tdItems.forEach((td) => {\n td.style.left = null;\n td.style.right = null;\n });\n });\n\n trItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));\n\n // Sticky First Cols\n const tdItemsStickyFirstCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth < containerWidth);\n tdItemsStickyFirstCol.forEach((td, i) => {\n td.style.left = (i === 0 ? 0 : tdItemsStickyFirstCol[i - 1].clientWidth) + 'px';\n\n if (i + 1 === tdItemsStickyFirstCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-first');\n }\n });\n\n // Sticky Last Cols\n const tdItemsStickyLastCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth > containerWidth);\n tdItemsStickyLastCol.reverse().forEach((td, i) => {\n td.style.right = (i === 0 ? 0 : tdItemsStickyLastCol[i - 1].clientWidth) + 'px';\n\n if (i + 1 === tdItemsStickyLastCol.length) {\n td.classList.add('eui-table__col--sticky-shadowed-last');\n }\n });\n });\n }, timeout);\n\n this.stickyFeatureHandlerIndex++;\n }\n\n private tableFeaturesHandler(): void {\n this.tableFeaturesHandlerSubscription = combineLatest([\n this.euiTableSortService.sortingParams$,\n this.paginator ? this.paginator.page$ : new BehaviorSubject(null),\n this.filter ? this.filter.filter$ : new BehaviorSubject(null),\n ]).pipe(takeUntil(this.destroy$)).subscribe(([sortingParams, pagination, filter]) => {\n let r = [...this.rowsSrc];\n r = this.orderRows(sortingParams.sort, sortingParams.order, r);\n r = this.filterRows(filter, r);\n if (this.paginator) {\n this.paginator.setLength(r.length);\n r = this.paginateRows(pagination, r);\n }\n\n this.rowsRendered = r;\n this.stickyFeatureHandler();\n\n this.cd.detectChanges();\n });\n }\n\n private selectRowsFeatureHandler(): void {\n this.selectRowsFeatureHandlerSubscription = this.euiTableSelectableRowService.selectedRows$.pipe(\n takeUntil(this.destroy$),\n ).subscribe((selected: any[]) => {\n this.selectedRows.emit(selected);\n });\n }\n\n private getProps(obj: any[], filter: string): { key: string, match: boolean, value: string | number }[] {\n const isObject = (val: any): boolean => val && typeof val === 'object';\n const addDelimiter = (a: string, b: string): string => a && a !== '0' ? `${a}.${b}` : b;\n const props = [];\n const paths = (pathObj = {}, head = ''): any[] => Object.entries(pathObj).reduce((product, [key, value]) => {\n const fullPath = addDelimiter(head, key);\n const match = (v: any): boolean => v && typeof v !== 'object' && v?.toString().toLowerCase().indexOf(filter?.trim().toLowerCase()) !== -1;\n\n if (key !== '0' && typeof value !== 'object') {\n props.push({ key: addDelimiter(head, key), match: match(value), value });\n }\n\n return isObject(value) ? product.concat(paths(value, fullPath)) : product.concat(fullPath);\n }, []);\n\n paths(obj);\n\n return props;\n }\n\n private paginateRows(pagination: PaginationEvent, r: any[]): any[] {\n this.page = pagination.page;\n this.pageSize = pagination.pageSize;\n\n return r.slice(this.page * this.pageSize, (this.page * this.pageSize) + this.pageSize);\n }\n\n private orderRows(prop: string, order: string, r: any[]): any[] {\n let rows: any[] = null;\n if (!order) {\n rows = r;\n } else {\n if (order === 'desc') {\n rows = r.sort((a: any, b: any) => {\n\n const aSortOn = typeof this.getObjProp(a, prop) === 'string' ?\n this.getObjProp(a, prop).toLowerCase() : this.getObjProp(a, prop);\n const bSortOn = typeof this.getObjProp(b, prop) === 'string' ?\n this.getObjProp(b, prop).toLowerCase() : this.getObjProp(b, prop);\n\n if (!aSortOn && bSortOn) { return 1; }\n if (aSortOn && !bSortOn) { return -1; }\n if (!aSortOn && !bSortOn) { return 0; }\n if (aSortOn < bSortOn) { return 1; }\n if (aSortOn > bSortOn) { return -1; }\n return 0;\n });\n } else {\n rows = r.sort((a: any, b: any) => {\n\n const aSortOn = typeof this.getObjProp(a, prop) === 'string' ?\n this.getObjProp(a, prop).toLowerCase() : this.getObjProp(a, prop);\n const bSortOn = typeof this.getObjProp(b, prop) === 'string' ?\n this.getObjProp(b, prop).toLowerCase() : this.getObjProp(b, prop);\n\n if (!aSortOn && bSortOn) { return -1; }\n if (aSortOn && !bSortOn) { return 1; }\n if (!aSortOn && !bSortOn) { return 0; }\n if (aSortOn > bSortOn) { return 1; }\n if (aSortOn < bSortOn) { return -1; }\n return 0;\n });\n }\n }\n\n return rows;\n }\n\n private getObjProp(obj: any, prop: string): string {\n return prop ? prop.split('.').reduce((prev, curr) => prev ? prev[curr] : null, obj || self) : null;\n }\n}\n","<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n","export class PaginationEvent {\n page: number;\n pageSize: number;\n nbPage: number;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import { Component, OnInit, Input, OnDestroy, EventEmitter, Output, OnChanges, SimpleChanges, HostBinding, ChangeDetectorRef } from '@angular/core';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, distinctUntilChanged } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { UxAppShellService } from '@eui/core';\n\nimport { PaginationEvent } from '../models/pagination-event.model';\n\n@Component({\n selector: 'eui-table-paginator',\n templateUrl: './eui-table-paginator.component.html',\n})\n\nexport class EuiTablePaginatorComponent implements OnInit, OnDestroy, OnChanges {\n @Input() pageSizeOptions: number[] = [5, 10, 25, 50, 100];\n @Input() pageSize = 10;\n @Input() page = 0;\n @Input() length: number = 0;\n @Input() nbPageNumberNavigation: number = 5;\n\n @Output() pageChange = new EventEmitter<PaginationEvent>();\n\n public page$: BehaviorSubject<PaginationEvent> = new BehaviorSubject(null);\n public length$: BehaviorSubject<number> = new BehaviorSubject(0);\n public range: string;\n public rangeLength: string;\n public nbPage: number;\n\n public breakpointsValue: any = {\n isMobile: false,\n isTablet: false,\n isDesktop: false,\n };\n\n @HostBinding('class') string = 'eui-table-paginator';\n\n @Input()\n get hasPageNumberNavigation(): boolean { return this._hasPageNumberNavigation; }\n set hasPageNumberNavigation(value: BooleanInput) { this._hasPageNumberNavigation = coerceBooleanProperty(value); }\n private _hasPageNumberNavigation = false;\n @Input()\n get hasDynamicLength(): boolean { return this._hasDynamicLength; }\n set hasDynamicLength(value: BooleanInput) { this._hasDynamicLength = coerceBooleanProperty(value); }\n private _hasDynamicLength = false;\n @Input()\n get isHidden(): boolean { return this._isHidden; }\n set isHidden(value: BooleanInput) { this._isHidden = coerceBooleanProperty(value); }\n private _isHidden = false;\n\n private nbPageNumberNav: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private cd: ChangeDetectorRef,\n private uxAppShellService: UxAppShellService) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.length) {\n this.length$.next(c.length.currentValue);\n this.getRange();\n }\n if (c && c.page) {\n this.page$.next(new PaginationEvent({ page: c.page.currentValue, pageSize: this.pageSize, nbPage: this.nbPage }));\n this.getRange();\n }\n if (c && c.pageSize) {\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: c.pageSize.currentValue, nbPage: this.nbPage }));\n this.changePageSize(c.pageSize.currentValue);\n this.getRange();\n }\n }\n\n ngOnInit(): void {\n if (this.length) {\n this.length$.next(this.length);\n }\n\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n\n this.length$.pipe(takeUntil(this.destroy$), distinctUntilChanged()).subscribe((length) => {\n this.length = length;\n this.nbPage = Math.ceil(this.length / this.pageSize);\n if (!this.hasDynamicLength) {\n this.page = 0;\n }\n this.getRange();\n\n if (this.nbPage < this.nbPageNumberNavigation) {\n this.nbPageNumberNav = this.nbPage;\n } else {\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n }\n\n setTimeout(() => {\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage }));\n });\n });\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage }));\n\n this.uxAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe(bkps => this.breakpointsValue = bkps);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get pageNumberNavigation(): number[] {\n const pages = [];\n for (let i = 0; i < this.nbPage; i ++) {\n pages.push(i);\n }\n\n const delta = Math.floor(this.nbPageNumberNav / 2);\n let start = 0;\n if (this.page - delta > 0) {\n start = this.page - delta;\n } else {\n start = 0;\n }\n\n if (this.nbPage - this.page <= this.nbPageNumberNav - (delta + 1)) {\n start = this.nbPage - this.nbPageNumberNav;\n }\n\n if (start < 0) {\n start = 0;\n }\n\n const end = start + this.nbPageNumberNav;\n return pages.slice(start, end);\n }\n\n public changePageSize(size: number): void {\n this.pageSize = size;\n this.nbPage = Math.ceil(this.length / this.pageSize);\n this.page = 0;\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage }));\n this.getRange();\n\n if (this.nbPage < this.nbPageNumberNavigation) {\n this.nbPageNumberNav = this.nbPage;\n } else {\n this.nbPageNumberNav = this.nbPageNumberNavigation;\n }\n\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n public goToPage(page: number): void {\n this.page = page;\n this.page$.next(new PaginationEvent({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage }));\n this.getRange();\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize, nbPage: this.nbPage });\n }\n\n public goFirstPage(): void {\n this.goToPage(0);\n }\n\n public goPreviousPage(): void {\n this.goToPage(this.page - 1);\n }\n\n public goNextPage(): void {\n this.goToPage(this.page + 1);\n }\n\n public goLastPage(): void {\n this.goToPage(this.nbPage - 1);\n }\n\n public setPage(page: PaginationEvent): void {\n this.page$.next(page);\n }\n\n public setLength(length: number): void {\n this.length$.next(length);\n }\n\n public getRange(): void {\n const from = this.length > 0 ? (this.page * this.pageSize) + 1 : 0;\n const limit = ((this.page * this.pageSize) + this.pageSize);\n const to = limit <= this.length ? limit : this.length;\n this.range = from && to && this.length ? from + '–' + to : '';\n this.rangeLength = this.length ? this.length.toString() : '';\n }\n\n /**\n * Change the pagination to the given page number\n * @param page 0-based page number to be displayed\n */\n public getPage(page: number): void {\n setTimeout(() => {\n this.goToPage(page);\n });\n }\n}\n","<div *ngIf=\"!isHidden && !breakpointsValue.isMobile\" class=\"eui-table-paginator__page\">\n <div class=\"eui-table-paginator__page-selector\">\n {{ 'eui.euitable.ITEMS-PER-PAGE' | translate }} \n <eui-dropdown>\n <button type=\"button\" euiButton euiBasicButton euiPrimary euiSizeS>\n <span euiLabel>{{ pageSize }}</span>\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-down\" aria-label=\"Select Items per page\"></span>\n </button>\n <eui-dropdown-content>\n <div euiList>\n <button type=\"button\" euiListItem euiSizeS *ngFor=\"let pageSizeOption of pageSizeOptions\" (click)=\"changePageSize(pageSizeOption)\">{{ pageSizeOption }}</button>\n </div>\n </eui-dropdown-content>\n </eui-dropdown>\n </div>\n <div *ngIf=\"(length$ | async) > 0\" class=\"eui-table-paginator__page-range\">\n {{ 'eui.euitable.SHOWING-RANGE' | translate :{ range: range } }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n</div>\n\n<div *ngIf=\"!isHidden\" class=\"eui-table-paginator__page-navigation\">\n <div class=\"eui-table-paginator__page-navigation-item\">\n <button type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !breakpointsValue.isMobile\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary\n [attr.disabled]=\"page === 0 || length === 0 ? 'disabled' : null\" (click)=\"goFirstPage()\">\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-first\" aria-label=\"Go to first page\"></span>\n </button>\n </div>\n <div class=\"eui-table-paginator__page-navigation-item\">\n <button type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !breakpointsValue.isMobile\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary\n [attr.disabled]=\"page === 0 || length === 0 ? 'disabled' : null\" (click)=\"goPreviousPage()\">\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-left\" aria-label=\"Go to previous page\"></span>\n </button>\n </div>\n <div class=\"eui-table-paginator__page-navigation-numbers\" *ngIf=\"hasPageNumberNavigation && !breakpointsValue.isMobile\">\n <button type=\"button\"\n euiSizeS *ngFor=\"let pageNumber of pageNumberNavigation\" euiButton euiBasicButton euiPrimary euiRounded euiIconButton\n [euiOutline]=\"pageNumber === page\" (click)=\"goToPage(pageNumber)\">\n {{ pageNumber + 1 }}\n </button>\n </div>\n <div *ngIf=\"(length$ | async) > 0 && breakpointsValue.isMobile\" class=\"eui-table-paginator__page-range\">\n {{ range }} {{ 'eui.euitable.RANGE-LABEL' | translate }} {{ rangeLength }}\n </div>\n <div class=\"eui-table-paginator__page-navigation-item\">\n <button type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !breakpointsValue.isMobile\" euiButton euiIconButton euiBasicButton euiRounded euiPrimary\n [attr.disabled]=\"page + 1 === nbPage || length === 0 ? 'disabled' : null\" (click)=\"goNextPage()\">\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-right\" aria-label=\"Go to next page\"></span>\n </button>\n </div>\n <div class=\"eui-table-paginator__page-navigation-item\">\n <button type=\"button\"\n [euiSizeS]=\"hasPageNumberNavigation && !breakpointsValue.isMobile\" euiButton euiIconButton euiBasicButton euiRounded\n euiPrimary [attr.disabled]=\"page + 1 === nbPage || length === 0 ? 'disabled' : null\" (click)=\"goLastPage()\">\n <span euiIcon iconClass=\"eui-icon eui-icon-caret-last\" aria-label=\"Go to last page\"></span>\n </button>\n </div>\n</div>\n","import { Component, OnInit, OnDestroy, Input, HostBinding } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { EuiTableSortService } from '../services/eui-table-sort.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'th[sortable]',\n templateUrl: './eui-table-sortable-col.component.html',\n})\n\nexport class EuiTableSortableColComponent implements OnInit, OnDestroy {\n\n @Input() sortOn: string;\n @Input() sortOrder: ('asc' | 'desc') = 'desc';\n\n public order: ('asc' | 'desc' | null) = 'desc';\n\n @Input()\n get defaultOrder(): boolean { return this._defaultOrder; }\n set defaultOrder(value: BooleanInput) { this._defaultOrder = coerceBooleanProperty(value); }\n private _defaultOrder = false;\n\n @Input()\n get sortDisabled(): boolean { return this._sortDisabled; }\n set sortDisabled(value: BooleanInput) { this._sortDisabled = coerceBooleanProperty(value); }\n private _sortDisabled = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-table__sortable-col',\n this.sortDisabled ? `eui-table__sortable-col--disabled` : ``,\n ].join(' ').trim();\n }\n\n constructor(private euiTableSortService: EuiTableSortService) {}\n\n ngOnInit(): void {\n if (this.defaultOrder) {\n this.order = this.sortOrder;\n this.euiTableSortService.setSort(this.sortOn, this.order);\n }\n\n this.euiTableSortService.sortingParams$.pipe(\n takeUntil(this.destroy$),\n ).subscribe((sortingParams: { sort: (string | null), order: string }) => {\n if (sortingParams.sort !== this.sortOn) {\n this.order = null;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public click(): void {\n if (!this.sortDisabled) {\n if (this.order === 'asc') {\n this.order = 'desc';\n } else if (this.order === 'desc') {\n this.order = null;\n } else if (this.order === null) {\n this.order = 'asc';\n }\n\n this.euiTableSortService.setSort(this.sortOn, this.order);\n }\n }\n}\n","<div class=\"eui-table__sortable-col-content\" (click)=\"click()\">\n <ng-content></ng-content>\n <span *ngIf=\"!sortDisabled && !order\" euiIcon iconClass=\"eui-table__sortable-icon eui-icon eui-icon-sort\" aria-label=\"No sorting icon\"></span>\n <span *ngIf=\"!sortDisabled && order === 'asc'\" euiIcon iconClass=\"eui-table__sortable-icon eui-icon eui-icon-sort-asc\" aria-label=\"Ascending order icon\"></span>\n <span *ngIf=\"!sortDisabled && order === 'desc'\" euiIcon iconClass=\"eui-table__sortable-icon eui-icon eui-icon-sort-desc\" aria-label=\"Descending order icon\"></span>\n</div>\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, HostBinding, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder } from '@angular/forms';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil, debounceTime, distinctUntilChanged } from 'rxjs/operators';\n\nimport { BaseDirective } from '@eui/components/shared';\n@Component({\n selector: 'eui-table-filter',\n templateUrl: './eui-table-filter.component.html',\n encapsulation: ViewEncapsulation.None,\n})\n\nexport class EuiTableFilterComponent extends BaseDirective implements OnInit, OnDestroy {\n @Input() placeholder: string;\n\n @Output() filterChange = new EventEmitter<string>();\n\n @ViewChild('filterInput') filterInput: ElementRef<HTMLInputElement>;\n\n public filter$: BehaviorSubject<string | null> = new BehaviorSubject(null);\n public form: FormGroup;\n\n @Input()\n get autoSearch(): boolean { return this._autoSearch; }\n set autoSearch(value: BooleanInput) { this._autoSearch = coerceBooleanProperty(value); }\n private _autoSearch = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('eui-table__filter'),\n ].join(' ').trim();\n }\n\n constructor(private fb: FormBuilder) {\n super();\n }\n\n ngOnInit(): void {\n this.form = this.fb.group({\n filter: new FormControl(null),\n });\n\n this.form.get('filter').valueChanges.pipe(\n debounceTime(500),\n distinctUntilChanged(),\n takeUntil(this.destroy$),\n ).subscribe((value) => {\n this.setFilter(value);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public setFilter(value: string): void {\n this.filter$.next(value);\n this.filterChange.emit(value);\n this.form.get('filter').setValue(value);\n }\n\n public resetFilter(): void {\n this.setFilter(null);\n this.form.reset();\n this.filterInput.nativeElement.focus();\n }\n}\n","<div class=\"eui-table__filter\">\n <form [formGroup]=\"form\">\n <div class=\"eui-clearable-input-wrapper\">\n <input #filterInput\n euiClearable\n class=\"eui-table__filter-input\"\n euiInputText\n formControlName=\"filter\"\n [attr.aria-label]=\"placeholder? placeholder: 'Filter Input Field'\"\n placeholder=\"{{ placeholder }}\">\n <span euiIcon aria-label=\"Search Icon\" class=\"eui-table__filter-search-icon eui-icon eui-icon-search-m\"></span>\n </div>\n </form>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'euiTableHighlightFilter',\n})\nexport class EuiTableHighlightFilterPipe implements PipeTransform {\n\n transform(value: string, strFilter: string, className = 'eui-table--highlighted'): string {\n if (strFilter && strFilter.length > 0) {\n const regex = new RegExp('(' + strFilter + ')', 'gi');\n return value.toString().replace(regex, '<span class=\"' + className + '\">$1</span>');\n } else {\n return value;\n }\n }\n\n}\n","import { Component, OnInit, Input, OnDestroy, OnChanges, HostBinding, HostListener } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isSelectable]',\n templateUrl: './eui-table-selectable-row.component.html',\n})\n\nexport class EuiTableSelectableRowComponent implements OnInit, OnDestroy, OnChanges {\n\n @Input() isSelectable: any;\n @Input()\n get isChecked(): boolean { return this._isChecked; }\n set isChecked(value: BooleanInput) { this._isChecked = coerceBooleanProperty(value); }\n private _isChecked = false;\n\n @Input()\n get isKeyboardSelectable(): boolean { return this._isKeyboardSelectable; }\n set isKeyboardSelectable(value: BooleanInput) { this._isKeyboardSelectable = coerceBooleanProperty(value); }\n private _isKeyboardSelectable = false;\n\n private propId = 'id';\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-table__row',\n this.isSelectable ? `eui-table__row--selectable` : ``,\n this.isChecked ? `eui-table__row--selected` : ``,\n ].join(' ').trim();\n }\n\n constructor(private euiTableSelectableRowService: EuiTableSelectableRowService) {}\n\n @HostListener('click', ['$event']) onClickRow(event: PointerEvent): void {\n if (this.isKeyboardSelectable && this.isSelectable) {\n if (event.ctrlKey) {\n if (!this.isChecked) {\n this.euiTableSelectableRowService.addSelectedRow(this.isSelectable);\n } else {\n this.euiTableSelectableRowService.removeSelectedRow(this.isSelectable);\n }\n } else if (event.shiftKey) {\n const rows = this.euiTableSelectableRowService.getRows();\n const lastSelectedRow = this.euiTableSelectableRowService.getLastSelectedRow();\n const lastSelectedRowPosition = rows.indexOf(lastSelectedRow);\n const position = rows.indexOf(this.isSelectable);\n\n const range = lastSelectedRowPosition > position ?\n rows.slice(position, lastSelectedRowPosition + 1) :\n rows.slice(lastSelectedRowPosition, position + 1);\n\n this.euiTableSelectableRowService.addSelectedRows(range);\n\n window.getSelection().empty();\n } else {\n this.euiTableSelectableRowService.selectRows([this.isSelectable]);\n }\n }\n }\n\n ngOnChanges(): void {\n if (this.isSelectable) {\n this.propId = this.euiTableSelectableRowService.getPropId();\n this.isChecked = this.euiTableSelectableRowService.selectedRows$.value.find(s => s[this.propId] === this.isSelectable[this.propId]) ? true : false;\n }\n }\n\n ngOnInit(): void {\n this.euiTableSelectableRowService.selectedRows$.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected.filter(s => s[this.propId] === this.isSelectable[this.propId]).length > 0;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public toggleCheckedState(e: any): void {\n if (!this.isChecked) {\n this.euiTableSelectableRowService.addSelectedRow(this.isSelectable);\n } else {\n this.euiTableSelectableRowService.removeSelectedRow(this.isSelectable);\n }\n\n e.preventDefault();\n e.stopPropagation();\n }\n}\n","<td *ngIf=\"isSelectable\" class=\"eui-table__cell-select\" (click)=\"toggleCheckedState($event)\">\n <eui-icon *ngIf=\"!isChecked\" iconClass=\"eui-icon-checkbox-outline eui-u-font-size-2xl\" euiSizeL aria-label=\"Unchecked\"></eui-icon>\n <eui-icon *ngIf=\"isChecked\" euiPrimary iconClass=\"eui-icon-checkbox eui-u-font-size-2xl\" euiSizeL aria-label=\"Checked\"></eui-icon>\n</td>\n<ng-content></ng-content>\n","import { Component, OnInit, Input, OnDestroy, ViewChild, ElementRef } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { EuiTableSelectableRowService } from '../services/eui-table-selectable-row.service';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isSelectableHeader]',\n templateUrl: './eui-table-selectable-header.component.html',\n})\n\nexport class EuiTableSelectableHeaderComponent implements OnInit, OnDestroy {\n\n @ViewChild('checkbox') checkbox: ElementRef<HTMLInputElement>;\n\n public isCheckedIndeterminate = false;\n\n @Input()\n get isSelectableHeader(): boolean { return this._isSelectableHeader; }\n set isSelectableHeader(value: BooleanInput) { this._isSelectableHeader = coerceBooleanProperty(value); }\n private _isSelectableHeader: boolean = true;\n @Input()\n get isChecked(): boolean { return this._isChecked; }\n set isChecked(value: BooleanInput) { this._isChecked = coerceBooleanProperty(value); }\n private _isChecked = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private euiTableSelectableRowService: EuiTableSelectableRowService) {}\n\n ngOnInit(): void {\n this.euiTableSelectableRowService.isAllRowsSelected$.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected;\n if (this.checkbox) {\n this.checkbox.nativeElement.checked = selected;\n }\n\n if (!selected && this.euiTableSelectableRowService.selectedRows$.value.length > 0) {\n this.isCheckedIndeterminate = true;\n } else {\n this.isCheckedIndeterminate = false;\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public toggleCheckedState(value: boolean): void {\n this.isChecked = value;\n\n if (this.isChecked) {\n this.euiTableSelectableRowService.selectAllRows();\n } else {\n this.euiTableSelectableRowService.unselectAllRows();\n }\n }\n}\n","<th *ngIf=\"isSelectableHeader\" class=\"eui-table__cell-select\">\n <eui-icon *ngIf=\"!isChecked && !isCheckedIndeterminate\" iconClass=\"eui-icon-checkbox-outline eui-u-font-size-2xl\" (click)=\"toggleCheckedState(true)\" aria-label=\"Unchecked\"></eui-icon>\n <eui-icon *ngIf=\"isCheckedIndeterminate\" euiPrimary iconClass=\"eui-icon-checkbox-intermediate eui-u-font-size-2xl\" (click)=\"toggleCheckedState(false)\" aria-label=\"Indeterminate\"></eui-icon>\n <eui-icon *ngIf=\"isChecked && !isCheckedIndeterminate\" euiPrimary iconClass=\"eui-icon-checkbox eui-u-font-size-2xl\" (click)=\"toggleCheckedState(false)\" aria-label=\"Checked\"></eui-icon>\n</th>\n<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[euiTableExpandableRow]',\n templateUrl: './eui-table-expandable-row.component.html',\n})\n\nexport class EuiTableExpandableRowComponent {\n\n @HostBinding('class') string = 'eui-table-expandable-row';\n\n constructor() {}\n\n}\n","<ng-content></ng-content>\n","export class SortEvent {\n sort: string;\n order: string;\n\n constructor(values = {}) {\n Object.assign(this, values);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[isStickyColumn]',\n})\nexport class EuiTableStickyColumnDirective {\n\n @HostBinding('class.eui-table__col--sticky') get stickyClass(): boolean { return true; }\n\n constructor() {}\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiIconModule } from '@eui/components/atoms/eui-icon';\nimport { EuiListModule } from '@eui/components/eui-list';\nimport { EuiDropdownModule } from '@eui/components/eui-dropdown';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\n\nimport { EuiTableComponent } from './eui-table.component';\nimport { EuiTableSortableColComponent } from './sortable-col/eui-table-sortable-col.component';\nimport { EuiTablePaginatorComponent } from './paginator/eui-table-paginator.component';\nimport { EuiTableFilterComponent } from './filter/eui-table-filter.component';\nimport { EuiTableSelectableRowComponent } from './selectable-row/eui-table-selectable-row.component';\nimport { EuiTableSelectableHeaderComponent } from './selectable-header/eui-table-selectable-header.component';\nimport { EuiTableExpandableRowComponent } from './expandable-row/eui-table-expandable-row.component';\nimport { EuiTableHighlightFilterPipe } from './pipes/eui-table-highlight-filter.pipe';\nimport { EuiTableStickyColumnDirective } from './directives/eui-table-sticky-columns.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiIconModule,\n EuiListModule,\n EuiDropdownModule,\n EuiButtonModule,\n ReactiveFormsModule,\n TranslateModule,\n EuiTemplateDirectiveModule,\n EuiInputTextModule,\n ],\n declarations: [\n EuiTableComponent,\n EuiTableSortableColComponent,\n EuiTablePaginatorComponent,\n EuiTableFilterComponent,\n EuiTableSelectableRowComponent,\n EuiTableSelectableHeaderComponent,\n EuiTableExpandableRowComponent,\n EuiTableHighlightFilterPipe,\n EuiTableStickyColumnDirective,\n ],\n exports: [\n EuiTableComponent,\n EuiTableSortableColComponent,\n EuiTablePaginatorComponent,\n EuiTableFilterComponent,\n EuiTableSelectableRowComponent,\n EuiTableSelectableHeaderComponent,\n EuiTableExpandableRowComponent,\n EuiTableHighlightFilterPipe,\n EuiTemplateDirectiveModule,\n EuiTableStickyColumnDirective,\n ],\n})\nexport class EuiTableModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiTableSortService","i2.EuiTableSelectableRowService","i3","i1","i2","i1.EuiTableSelectableRowService"],"mappings":"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"}
|