@eui/components 14.0.20 → 14.0.21-snapshot-1680602704229

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.
@@ -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\n constructor() {}\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.id !== row.id);\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.id === row.id)) {\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 HostListener, Input, OnChanges, OnDestroy, OnInit, Output, QueryList, Renderer2, SimpleChanges, TemplateRef, ViewChild, ViewContainerRef,\n ViewEncapsulation } from '@angular/core';\nimport { BehaviorSubject, combineLatest, fromEvent, Subject, Subscription } from 'rxjs';\nimport { startWith, 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\n @Input() rows: any[];\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\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 renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private euiTableSelectableRowService: EuiTableSelectableRowService) {\n super();\n }\n\n ngOnChanges(c: SimpleChanges): void {\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 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\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 => 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;\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 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 }}&nbsp;\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 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.isChecked = this.euiTableSelectableRowService.selectedRows$.value.find(s => s.id === this.isSelectable.id) ? 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.id === this.isSelectable.id).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\n constructor() {}\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.id !== row.id);\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.id === row.id)) {\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\n @Input() rows: any[];\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 (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 => 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;\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 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 }}&nbsp;\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 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.isChecked = this.euiTableSelectableRowService.selectedRows$.value.find(s => s.id === this.isSelectable.id) ? 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.id === this.isSelectable.id).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,13 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, Input, InjectFlags, forwardRef, Directive, HostBinding, Optional, Host, NgModule } from '@angular/core';
2
+ import { InjectFlags, Component, ViewEncapsulation, Input, forwardRef, Directive, HostBinding, Optional, Host, NgModule } from '@angular/core';
3
3
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
4
  import { EuiInputTextComponent } from '@eui/components/eui-input-text';
5
+ import * as i2 from '@angular/forms';
6
+ import { NgControl, SelectControlValueAccessor, NG_VALUE_ACCESSOR, NgSelectOption, SelectMultipleControlValueAccessor, ɵNgSelectMultipleOption } from '@angular/forms';
7
+ import { startWith } from 'rxjs';
5
8
  import { CommonModule } from '@angular/common';
6
- import { SelectControlValueAccessor, NgControl, NG_VALUE_ACCESSOR, NgSelectOption, SelectMultipleControlValueAccessor, ɵNgSelectMultipleOption } from '@angular/forms';
7
9
 
8
10
  class EuiSelectComponent {
9
- constructor(renderer, elementRef, viewContainerRef) {
11
+ constructor(renderer, injector, elementRef, viewContainerRef) {
10
12
  this.renderer = renderer;
13
+ this.injector = injector;
11
14
  this.elementRef = elementRef;
12
15
  this.viewContainerRef = viewContainerRef;
13
16
  }
@@ -35,22 +38,31 @@ class EuiSelectComponent {
35
38
  }
36
39
  }
37
40
  }
41
+ ngAfterViewInit() {
42
+ const control = this.injector.get(NgControl, null, InjectFlags.Optional);
43
+ if (control) {
44
+ // That's a workaround for the readonly select element because of the need of sync of ValueAccessors
45
+ control.valueChanges.pipe(startWith(null)).subscribe(() => this.setReadonlyValue(this.readonlyInput));
46
+ }
47
+ }
38
48
  /**
39
49
  * set readonly value from selected options presented as comma separated string
50
+ *
40
51
  * @param readonlyRef the input element to set the value
41
52
  * @private
42
53
  */
43
54
  setReadonlyValue(readonlyRef) {
44
55
  if (readonlyRef) {
45
56
  const selectedOptions = Array.apply(null, this.elementRef.nativeElement.selectedOptions)
46
- .map(i => i.text)
47
- .filter(i => i !== this.placeholder)
57
+ .map((i) => i.text)
58
+ .filter((i) => i !== this.placeholder)
48
59
  .join(', ');
49
60
  this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);
50
61
  }
51
62
  }
52
63
  /**
53
64
  * create readonly element
65
+ *
54
66
  * @private
55
67
  */
56
68
  createReadonlyElement() {
@@ -59,12 +71,12 @@ class EuiSelectComponent {
59
71
  return componentRef;
60
72
  }
61
73
  }
62
- /** @nocollapse */ EuiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
74
+ /** @nocollapse */ EuiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
63
75
  /** @nocollapse */ EuiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiSelectComponent, selector: "select[euiSelect]", inputs: { placeholder: "placeholder", readonly: "readonly" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".eui-select{font: 400 1rem/1.25rem arial,sans-serif;-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;padding:calc(var(--eui-base-spacing-s) - 1px);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--eui-base-color)}.eui-select:active:not([readonly]),.eui-select:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-select[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-select[readonly]+.eui-feedback-message,.eui-select[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-select[disabled],.eui-select--disabled{background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-25);color:var(--eui-base-color-grey-75);pointer-events:none}.eui-select--invalid,.eui-select--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-select--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-select--clearable-icon{align-items:center;background-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-35);cursor:pointer;display:flex;font-size:var(--eui-base-font-size-m);-webkit-user-select:none;user-select:none}.eui-select--clearable-icon:before{position:absolute;right:var(--eui-base-spacing-s)}.eui-select--clearable-icon:hover{color:var(--eui-base-color-grey-100)}.eui-select--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-select--loading-icon{align-items:center;display:flex}.eui-select--loading-icon:after,.eui-select--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-select--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-select--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-select--loading-icon--sm:after,.eui-select--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-select::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-select::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-select::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-select::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-select[readonly][multiple=true] option:checked{background:none}.eui-select[readonly][multiple=true] :not(option:checked){display:none}.eui-select[multiple=true],.eui-select[size]:not([size=\"1\"]):not([size=\"0\"]){background-image:none;height:auto;overflow:auto;padding:var(--eui-base-spacing-2xs) 0}.eui-select__readonly:active,.eui-select__readonly:focus{border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:2px solid var(--eui-base-color-accessible-focus);outline:none;transition:border .15s ease-in-out}.eui-select__placeholder{color:var(--eui-base-color-grey-50)!important}.eui-select__item{color:var(--eui-base-color-grey-100)}.eui-select optgroup{font: 400 1rem/1.25rem arial,sans-serif;font-style:normal;font-weight:700}.eui-select optgroup,.eui-select option{-webkit-appearance:none;appearance:none;color:var(--eui-base-color);display:block;padding:var(--eui-base-spacing-2xs);white-space:pre}.eui-select optgroup:disabled,.eui-select option:disabled{color:var(--eui-base-color-grey-25)}.eui-select:not([readonly]):not([multiple]),.eui-select[size=\"1\"],.eui-select[size=\"0\"]{-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);background-image:url('data:image/svg+xml;utf8, <svg focusable=\"false\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" name=\"chevron-down\" aria-label=\"Close menu\" role=\"img\"><path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"/></svg>');background-position:calc(100% - var(--eui-base-spacing-s)) center;background-repeat:no-repeat;background-size:var(--eui-base-spacing-m);padding-right:var(--eui-base-spacing-xl)}\n"], encapsulation: i0.ViewEncapsulation.None });
64
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectComponent, decorators: [{
65
77
  type: Component,
66
78
  args: [{ selector: 'select[euiSelect]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: [".eui-select{font: 400 1rem/1.25rem arial,sans-serif;-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;padding:calc(var(--eui-base-spacing-s) - 1px);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--eui-base-color)}.eui-select:active:not([readonly]),.eui-select:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-select[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-select[readonly]+.eui-feedback-message,.eui-select[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-select[disabled],.eui-select--disabled{background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-25);color:var(--eui-base-color-grey-75);pointer-events:none}.eui-select--invalid,.eui-select--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-select--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-select--clearable-icon{align-items:center;background-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-35);cursor:pointer;display:flex;font-size:var(--eui-base-font-size-m);-webkit-user-select:none;user-select:none}.eui-select--clearable-icon:before{position:absolute;right:var(--eui-base-spacing-s)}.eui-select--clearable-icon:hover{color:var(--eui-base-color-grey-100)}.eui-select--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-select--loading-icon{align-items:center;display:flex}.eui-select--loading-icon:after,.eui-select--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-select--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-select--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-select--loading-icon--sm:after,.eui-select--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-select::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-select::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-select::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-select::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-select[readonly][multiple=true] option:checked{background:none}.eui-select[readonly][multiple=true] :not(option:checked){display:none}.eui-select[multiple=true],.eui-select[size]:not([size=\"1\"]):not([size=\"0\"]){background-image:none;height:auto;overflow:auto;padding:var(--eui-base-spacing-2xs) 0}.eui-select__readonly:active,.eui-select__readonly:focus{border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:2px solid var(--eui-base-color-accessible-focus);outline:none;transition:border .15s ease-in-out}.eui-select__placeholder{color:var(--eui-base-color-grey-50)!important}.eui-select__item{color:var(--eui-base-color-grey-100)}.eui-select optgroup{font: 400 1rem/1.25rem arial,sans-serif;font-style:normal;font-weight:700}.eui-select optgroup,.eui-select option{-webkit-appearance:none;appearance:none;color:var(--eui-base-color);display:block;padding:var(--eui-base-spacing-2xs);white-space:pre}.eui-select optgroup:disabled,.eui-select option:disabled{color:var(--eui-base-color-grey-25)}.eui-select:not([readonly]):not([multiple]),.eui-select[size=\"1\"],.eui-select[size=\"0\"]{-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);background-image:url('data:image/svg+xml;utf8, <svg focusable=\"false\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" name=\"chevron-down\" aria-label=\"Close menu\" role=\"img\"><path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"/></svg>');background-position:calc(100% - var(--eui-base-spacing-s)) center;background-repeat:no-repeat;background-size:var(--eui-base-spacing-m);padding-right:var(--eui-base-spacing-xl)}\n"] }]
67
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { placeholder: [{
79
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.Injector }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { placeholder: [{
68
80
  type: Input
69
81
  }], readonly: [{
70
82
  type: Input
@@ -243,11 +255,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
243
255
  */
244
256
  // eslint-disable-next-line @angular-eslint/directive-selector
245
257
  class EuiNgSelectOptionDirective extends NgSelectOption {
246
- constructor(_element, _renderer, _select) {
258
+ constructor(_element, _renderer, _select, _selectNative) {
247
259
  super(_element, _renderer, _select);
260
+ this.select = _select;
261
+ this.selectNative = _selectNative;
262
+ }
263
+ ngAfterViewInit() {
264
+ if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {
265
+ this.selectNative.writeValue(this.select.value);
266
+ }
248
267
  }
249
268
  }
250
- /** @nocollapse */ EuiNgSelectOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiNgSelectOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: EuiSelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
269
+ /** @nocollapse */ EuiNgSelectOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiNgSelectOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: EuiSelectControlValueAccessor, host: true, optional: true }, { token: i2.SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
251
270
  /** @nocollapse */ EuiNgSelectOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: EuiNgSelectOptionDirective, selector: "option, option[euiOption]", usesInheritance: true, ngImport: i0 });
252
271
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiNgSelectOptionDirective, decorators: [{
253
272
  type: Directive,
@@ -256,6 +275,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
256
275
  type: Optional
257
276
  }, {
258
277
  type: Host
278
+ }] }, { type: i2.SelectControlValueAccessor, decorators: [{
279
+ type: Optional
280
+ }, {
281
+ type: Host
259
282
  }] }]; } });
260
283
 
261
284
  const SELECT_MULTIPLE_VALUE_ACCESSOR = {