@eui/components 18.2.9 → 18.2.10-snapshot-1741090759206

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.
Files changed (58) hide show
  1. package/docs/components/EuiAutocompleteComponent.html +1 -1
  2. package/docs/components/EuiEditorComponent.html +1 -1
  3. package/docs/components/EuiLanguageSelectorComponent.html +25 -5
  4. package/docs/components/EuiPopoverComponent.html +1 -1
  5. package/docs/components/EuiProgressCircleComponent.html +63 -1
  6. package/docs/components/EuiWizardComponent.html +1 -1
  7. package/docs/dependencies.html +5 -3
  8. package/docs/js/menu-wc.js +3 -3
  9. package/docs/js/menu-wc_es5.js +1 -1
  10. package/docs/js/search/search_index.js +2 -2
  11. package/docs/modules/EuiProgressCircleModule.html +10 -0
  12. package/esm2022/eui-autocomplete/eui-autocomplete.component.mjs +4 -3
  13. package/esm2022/eui-language-selector/language-selector.component.mjs +14 -4
  14. package/esm2022/eui-popover/eui-popover.component.mjs +4 -3
  15. package/esm2022/eui-progress-circle/eui-progress-circle.component.mjs +15 -8
  16. package/esm2022/eui-slide-toggle/eui-slide-toggle.component.mjs +3 -3
  17. package/esm2022/eui-table/eui-table.component.mjs +2 -2
  18. package/esm2022/eui-table-v2/eui-table-v2.component.mjs +2 -2
  19. package/esm2022/eui-timeline/eui-timeline-item.component.mjs +2 -2
  20. package/esm2022/eui-timeline/eui-timeline.component.mjs +2 -2
  21. package/esm2022/eui-wizard/eui-wizard-step.component.mjs +2 -2
  22. package/esm2022/eui-wizard/eui-wizard.component.mjs +3 -3
  23. package/esm2022/externals/eui-editor/eui-editor.component.mjs +3 -3
  24. package/esm2022/externals/quill/quill-editor.component.mjs +3 -3
  25. package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +2 -2
  26. package/esm2022/layout/eui-toolbar/toolbar.component.mjs +3 -3
  27. package/eui-autocomplete/eui-autocomplete.component.d.ts.map +1 -1
  28. package/eui-language-selector/language-selector.component.d.ts +4 -2
  29. package/eui-language-selector/language-selector.component.d.ts.map +1 -1
  30. package/eui-popover/eui-popover.component.d.ts.map +1 -1
  31. package/eui-progress-circle/eui-progress-circle.component.d.ts +6 -3
  32. package/eui-progress-circle/eui-progress-circle.component.d.ts.map +1 -1
  33. package/externals/quill/quill-editor.component.d.ts.map +1 -1
  34. package/fesm2022/eui-components-eui-autocomplete.mjs +3 -2
  35. package/fesm2022/eui-components-eui-autocomplete.mjs.map +1 -1
  36. package/fesm2022/eui-components-eui-language-selector.mjs +13 -3
  37. package/fesm2022/eui-components-eui-language-selector.mjs.map +1 -1
  38. package/fesm2022/eui-components-eui-popover.mjs +3 -2
  39. package/fesm2022/eui-components-eui-popover.mjs.map +1 -1
  40. package/fesm2022/eui-components-eui-progress-circle.mjs +14 -7
  41. package/fesm2022/eui-components-eui-progress-circle.mjs.map +1 -1
  42. package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
  43. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  44. package/fesm2022/eui-components-eui-table-v2.mjs +2 -2
  45. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  46. package/fesm2022/eui-components-eui-table.mjs +2 -2
  47. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  48. package/fesm2022/eui-components-eui-timeline.mjs +4 -4
  49. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  50. package/fesm2022/eui-components-eui-wizard.mjs +4 -4
  51. package/fesm2022/eui-components-eui-wizard.mjs.map +1 -1
  52. package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
  53. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  54. package/fesm2022/eui-components-externals-quill.mjs +2 -2
  55. package/fesm2022/eui-components-externals-quill.mjs.map +1 -1
  56. package/fesm2022/eui-components-layout.mjs +4 -4
  57. package/fesm2022/eui-components-layout.mjs.map +1 -1
  58. package/package.json +33 -33
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-table-v2.mjs","sources":["../../eui-table-v2/services/eui-table-v2-selectable-row.service.ts","../../eui-table-v2/services/eui-table-v2-sort.service.ts","../../eui-table-v2/eui-table-v2.component.ts","../../eui-table-v2/eui-table-v2.component.html","../../eui-table-v2/directives/eui-table-v2-sticky-col.directive.ts","../../eui-table-v2/directives/eui-table-v2-expandable-row.directive.ts","../../eui-table-v2/selectable-header/eui-table-v2-selectable-header.component.ts","../../eui-table-v2/selectable-header/eui-table-v2-selectable-header.component.html","../../eui-table-v2/selectable-row/eui-table-v2-selectable-row.component.ts","../../eui-table-v2/selectable-row/eui-table-v2-selectable-row.component.html","../../eui-table-v2/filter/eui-table-v2-filter.component.ts","../../eui-table-v2/filter/eui-table-v2-filter.component.html","../../eui-table-v2/pipes/eui-table-v2-highlight.pipe.ts","../../eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.ts","../../eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.html","../../eui-table-v2/eui-table-v2.module.ts","../../eui-table-v2/eui-components-eui-table-v2.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable()\nexport class EuiTableV2SelectableRowService<DATA> {\n \n public selectedRows$: BehaviorSubject<DATA[]> = new BehaviorSubject([]);\n public isAllRowsSelected$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n \n private lastSelectedRow: DATA = null;\n private rows: DATA[] = [];\n private propId = 'id';\n\n get selectedRows(): Observable<DATA[]> {\n return this.selectedRows$.asObservable();\n }\n\n get isAllRowsSelected(): Observable<boolean> {\n return this.isAllRowsSelected$.asObservable();\n }\n\n public setPropId(value: string): void {\n this.propId = value;\n }\n\n public getPropId(): string {\n return this.propId;\n }\n\n public registerRow(row: DATA): void {\n if (row && !this.rows.find((r) => r[this.propId] === row[this.propId])) {\n this.rows.push(row);\n\n if (this.rows.length > this.selectedRows$.value.length && this.isAllRowsSelected$.value) {\n this.isAllRowsSelected$.next(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 }\n }\n }\n\n public registerRows(rows: DATA[]): void {\n rows.forEach((row) => {\n this.registerRow(row);\n });\n }\n\n public unregisterRow(row: DATA): void {\n this.rows = this.rows.filter(r => r[this.propId] !== row[this.propId]);\n }\n\n public unregisterRows(): void {\n this.rows = [];\n }\n\n public selectRow(row: DATA): 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.lastSelectedRow = row;\n }\n\n public unselectRow(row: DATA): void {\n if (row && this.selectedRows$.value.find((r) => r[this.propId] === row[this.propId]) !== undefined) {\n const value = this.selectedRows$.value.filter((selected) => selected[this.propId] !== row[this.propId]);\n this.selectedRows$.next(value);\n this.isAllRowsSelected$.next(false);\n }\n }\n\n public selectRows(rows: DATA[]): void {\n this.selectedRows$.next([...rows]);\n this.isAllRowsSelected$.next(this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length);\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.lastSelectedRow = this.rows[this.rows.length - 1];\n }\n\n public unselectAllRows(): void {\n this.selectedRows$.next([]);\n this.isAllRowsSelected$.next(false);\n this.lastSelectedRow = null;\n }\n\n public getRows(): DATA[] {\n return this.rows;\n }\n\n public getLastSelectedRow(): DATA {\n return this.lastSelectedRow;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Sort, SortOrder } from '../models/sort.model';\n\n@Injectable()\nexport class EuiTableV2SortService {\n public sorts$ = new BehaviorSubject<Sort[]>([]);\n\n get sorts(): Observable<Sort[]> {\n return this.sorts$.asObservable();\n }\n\n private isCurrentMultiSortable = false;\n\n setSort(sort: string, order: SortOrder, isMultiSortable: boolean): void {\n if (isMultiSortable && this.isCurrentMultiSortable) {\n let sortValues = this.sorts$.value;\n if (!order) {\n sortValues = this.sorts$.value.filter(s => s.sort !== sort);\n this.sorts$.next(sortValues);\n } else {\n if (this.sorts$.value.find(s => s.sort === sort)) {\n sortValues = this.sorts$.value.map(s => s.sort == sort ? ({ ...s, order }) : s);\n this.sorts$.next(sortValues);\n } else {\n this.sorts$.next([ ...sortValues, { sort, order } ]);\n }\n }\n } else {\n this.sorts$.next(sort && order ? [{ sort, order }] : []);\n }\n\n this.isCurrentMultiSortable = isMultiSortable;\n }\n\n setSorts(sorts: Sort[]): void {\n this.sorts$.next(sorts);\n this.isCurrentMultiSortable = sorts.length > 1;\n }\n}\n","import { Component, Input, ContentChildren, QueryList, AfterContentInit, TemplateRef, ViewChild, AfterViewInit, ElementRef, booleanAttribute, HostBinding,\n ViewEncapsulation, ChangeDetectionStrategy, OnDestroy, OnInit, Output, EventEmitter, SimpleChanges, OnChanges, numberAttribute, ChangeDetectorRef,\n Renderer2 } from '@angular/core';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { BehaviorSubject, Observable, Subject, Subscription, combineLatest, debounceTime, skip, takeUntil } from 'rxjs';\nimport { ListRange } from '@angular/cdk/collections';\n\nimport { EuiPaginationEvent, EuiPaginatorComponent } from '@eui/components/eui-paginator';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTableV2SelectableRowService } from './services/eui-table-v2-selectable-row.service';\nimport { EuiTableV2FilterComponent } from './filter/eui-table-v2-filter.component';\nimport { EuiTableV2SortService } from './services/eui-table-v2-sort.service';\nimport { Sort, SortOrder } from './models/sort.model';\n\nexport enum ScrollinDirection {\n UP = 'UP',\n DOWN = 'DOWN',\n}\n\n@Component({\n selector: 'eui-table-v2, table[euiTableV2]',\n templateUrl: './eui-table-v2.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [EuiTableV2SelectableRowService, EuiTableV2SortService],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [],\n },\n ],\n})\nexport class EuiTableV2Component<DATA = unknown> implements AfterContentInit, AfterViewInit, OnDestroy, OnInit, OnChanges {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-table-default eui-table-v2'),\n this.isVirtualScroll ? 'eui-table-v2--virtual-scroll' : '',\n this.hasStickyHeader ? 'eui-table-v2--sticky eui-table-v2--sticky-header' : '',\n this.hasStickyFooter ? 'eui-table-v2--sticky eui-table-v2--sticky-footer' : '',\n this.hasStickyCols ? 'eui-table-v2--sticky eui-table-v2--sticky-cols' : '',\n this.isTableResponsive ? 'eui-table-default--responsive' : '',\n this.isColsOrderable ? 'eui-table-v2--cols-orderable' : '',\n this.isLoading ? 'eui-table-v2--loading' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input() data: DATA[] = [];\n @Input() propId = 'id';\n @Input() itemSize = 41;\n @Input() paginator: EuiPaginatorComponent;\n @Input() filter: EuiTableV2FilterComponent;\n @Input() preselectedRows: DATA[] = [];\n\n @Input({ transform: booleanAttribute }) isVirtualScroll = false;\n @Input({ transform: booleanAttribute }) isVirtualScrollCache = false;\n @Input({ transform: booleanAttribute }) hasStickyHeader = false;\n @Input({ transform: booleanAttribute }) hasStickyFooter = false;\n @Input({ transform: booleanAttribute }) hasStickyCols = false;\n @Input({ transform: booleanAttribute }) isTableResponsive = false;\n @Input({ transform: booleanAttribute }) isAsync = false;\n @Input({ transform: numberAttribute }) virtualScrollAsyncItemsLength = 0;\n @Input({ transform: numberAttribute }) virtualScrollNbRows = 50;\n @Input({ transform: booleanAttribute }) isColsOrderable = false;\n @Input({ transform: booleanAttribute }) isLoading = false;\n @Input({ transform: booleanAttribute }) isSelectOnlyVisibleRows = true;\n @Input({ transform: booleanAttribute }) isTableBordered = false;\n /** @deprecated This will be removed in next version */\n @Input({ transform: booleanAttribute }) isTableCondensed = false;\n\n protected headerTemplate: TemplateRef<HTMLElement>;\n protected bodyTemplate: TemplateRef<{ $implicit: DATA; index: number }>;\n protected footerTemplate: TemplateRef<HTMLElement>;\n protected noDataTemplate: TemplateRef<HTMLElement>;\n protected loading = [];\n protected nbCols: HTMLTableCellElement[] = [];\n protected dataRendered: DATA[] = [];\n protected cdkVirtualScrollViewportOverflowValue: ('hidden' | 'auto') = 'auto';\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('cdkVirtualScrollViewport', { static: false }) protected cdkVirtualScrollViewport: CdkVirtualScrollViewport;\n @ViewChild('cdkVirtualScrollViewportElement', { static: false, read: ElementRef }) protected cdkVirtualScrollViewportElement: ElementRef;\n @ViewChild('theadRef') theadRef: ElementRef<HTMLElement>;\n @ViewChild('tbodyRef') tbodyRef: ElementRef<HTMLElement>;\n @ViewChild('tfootRef') tfootRef: ElementRef<HTMLElement>;\n\n @Output() scrollChange = new EventEmitter();\n @Output() rowsSelect = new EventEmitter<DATA[]>();\n @Output() sortChange = new EventEmitter<Sort[]>();\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private virtualScrollLastMultiple = 0;\n private virtualScrollSpliceFrom = 0;\n private scrolledIndex = 0;\n private nbItemDisplayed = 0;\n private scrollingDirection: ScrollinDirection;\n private mutationObserver: MutationObserver;\n private dataSrc: DATA[] = [];\n private page = 0;\n private pageSize = 0;\n private tableFeaturesHandlerSubscription = new Subscription();\n private filteredData: DATA[] = [];\n\n constructor(private elementRef: ElementRef,\n private cd: ChangeDetectorRef,\n private euiTableV2SelectableRowService: EuiTableV2SelectableRowService<DATA>,\n private euiTableV2SortService: EuiTableV2SortService,\n private baseStatesDirective: BaseStatesDirective,\n private renderer: Renderer2,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (!this.data) {\n this.data = [];\n }\n\n this.euiTableV2SelectableRowService.setPropId(this.propId);\n if (this.isVirtualScroll) {\n if (c.data && c.data.isFirstChange()) {\n this.dataRendered = [...c.data.currentValue, ...Array.from({ length: this.virtualScrollAsyncItemsLength - c.data.currentValue.length })];\n\n this.euiTableV2SelectableRowService.unregisterRows();\n this.euiTableV2SelectableRowService.registerRows(this.dataRendered);\n }\n\n if (c.data && !c.data.isFirstChange()) {\n if (this.isAsync) {\n const source = [...this.dataRendered];\n if (this.isVirtualScrollCache) {\n this.dataRendered = [...source.slice(0, this.virtualScrollSpliceFrom), ...c.data.currentValue, ...source.slice(this.virtualScrollSpliceFrom + this.virtualScrollNbRows)];\n } else {\n this.dataRendered = [\n ...Array.from({ length: this.virtualScrollSpliceFrom - this.nbItemDisplayed }),\n ...source.slice(this.virtualScrollSpliceFrom - this.nbItemDisplayed, this.virtualScrollSpliceFrom),\n ...c.data.currentValue,\n ...source.slice(this.virtualScrollSpliceFrom + this.virtualScrollNbRows, this.virtualScrollSpliceFrom + this.virtualScrollNbRows + this.nbItemDisplayed),\n ...Array.from({ length: this.virtualScrollAsyncItemsLength - (this.virtualScrollSpliceFrom + this.virtualScrollNbRows + this.nbItemDisplayed) }),\n ];\n }\n\n if (c && c.virtualScrollAsyncItemsLength) {\n if (c.virtualScrollAsyncItemsLength.previousValue > c.virtualScrollAsyncItemsLength.currentValue) {\n this.dataRendered = this.dataRendered.slice(0, c.virtualScrollAsyncItemsLength.currentValue);\n } else {\n this.dataRendered = [...c.data.currentValue, ...Array.from({ length: this.virtualScrollAsyncItemsLength - c.data.currentValue.length })];\n }\n }\n\n this.euiTableV2SelectableRowService.unregisterRows();\n this.euiTableV2SelectableRowService.registerRows(this.dataRendered);\n\n if (this.scrollingDirection === ScrollinDirection.DOWN) {\n if ((this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== -1 ||\n this.scrolledIndex === this.virtualScrollSpliceFrom &&\n !this.dataRendered[this.scrolledIndex - 1]) &&\n this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== this.dataRendered.length\n ) {\n // console.log('reposition down')\n this.cdkVirtualScrollViewport.scrollToIndex(this.virtualScrollSpliceFrom + 1);\n }\n }\n\n if (this.scrollingDirection === ScrollinDirection.UP) {\n if (this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== -1) {\n // console.log('reposition up')\n this.cdkVirtualScrollViewport.scrollToIndex(this.virtualScrollSpliceFrom + 1);\n }\n }\n\n this.stickyFeatureHandler();\n }\n }\n } else {\n if (c && c.data) {\n const lengthChanged = this.dataSrc.length !== c.data.currentValue.length;\n this.dataSrc = c.data.currentValue ? [...c.data.currentValue] : [];\n\n if (this.paginator && lengthChanged) {\n this.paginator.goFirstPage();\n }\n\n if (!this.isAsync && !c.data.isFirstChange()) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n this.tableFeaturesHandler();\n }\n\n this.euiTableV2SelectableRowService.registerRows(this.dataSrc);\n }\n if (c && c.paginator?.currentValue) {\n this.paginator.setLength(this.data.length);\n if (!c.paginator?.isFirstChange()) {\n this.paginator.goFirstPage();\n }\n } else {\n // this.data can be changed anytime, then this else can be executed at that time, testing this.paginator allows to make sure\n // the user wants to disable pagination or change the datasource\n if (!this.paginator) {\n this.dataRendered = this.dataSrc;\n this.page = 0;\n }\n }\n }\n\n if (c && c.preselectedRows && !c.preselectedRows.isFirstChange()) {\n this.euiTableV2SelectableRowService.selectRows(c.preselectedRows.currentValue);\n }\n }\n\n ngOnInit(): void {\n this.dataSrc = [...this.data];\n }\n\n ngAfterContentInit(): void {\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() === 'noData') {\n this.noDataTemplate = item.template;\n }\n });\n }\n\n test(index): void {\n this.cdkVirtualScrollViewport.scrollToIndex(index)\n }\n\n ngAfterViewInit(): void {\n this.stickyFeatureHandler();\n\n if (this.isVirtualScroll) {\n this.cdkVirtualScrollViewport?.renderedRangeStream\n .pipe(debounceTime(500), takeUntil(this.destroy$))\n .subscribe((listRange: ListRange) => {\n this.stickyFeatureHandler();\n });\n\n const theadElements = Array.from(this.theadRef.nativeElement.querySelectorAll('th'));\n this.nbCols = new Array(theadElements.length);\n\n this.cdkVirtualScrollViewport.scrolledIndexChange\n .pipe(debounceTime(500), takeUntil(this.destroy$))\n .subscribe((scrolledIndex: number) => {\n if (this.isAsync) {\n this.scrollingDirection = scrolledIndex > this.scrolledIndex ? ScrollinDirection.DOWN : ScrollinDirection.UP;\n this.scrolledIndex = scrolledIndex;\n\n this.cdkVirtualScrollViewport.setTotalContentSize(this.virtualScrollAsyncItemsLength * this.itemSize);\n\n const scrollOffset = this.cdkVirtualScrollViewport.measureScrollOffset('top');\n const endIndex = Math.ceil((scrollOffset + this.cdkVirtualScrollViewport.getViewportSize()) / this.itemSize);\n this.nbItemDisplayed = endIndex - scrolledIndex;\n const virtualScrollCurrentMultiple = Math.floor((scrolledIndex + this.nbItemDisplayed) / this.virtualScrollNbRows);\n\n if (scrolledIndex > 0) {\n if (this.dataRendered[scrolledIndex] || (this.scrollingDirection === ScrollinDirection.UP && this.dataRendered[scrolledIndex - 1])) {\n // console.log('virtualScrollCurrentMultiple', virtualScrollCurrentMultiple)\n // console.log('this.virtualScrollLastMultiple', this.virtualScrollLastMultiple)\n // console.log('virtualScrollCurrentMultiple > this.virtualScrollLastMultiple', virtualScrollCurrentMultiple > this.virtualScrollLastMultiple)\n\n if (virtualScrollCurrentMultiple > this.virtualScrollLastMultiple) {\n this.virtualScrollSpliceFrom = virtualScrollCurrentMultiple * this.virtualScrollNbRows;\n this.scrollChange.emit({ start: virtualScrollCurrentMultiple * this.virtualScrollNbRows, end: this.virtualScrollNbRows });\n }\n } else {\n this.virtualScrollSpliceFrom = this.roundDown(scrolledIndex, this.virtualScrollNbRows);\n this.scrollChange.emit({ start: this.virtualScrollSpliceFrom, end: this.virtualScrollNbRows });\n }\n }\n\n this.virtualScrollLastMultiple = virtualScrollCurrentMultiple;\n }\n });\n }\n\n if (this.cdkVirtualScrollViewportElement) {\n this.cdkVirtualScrollViewportElement.nativeElement.style.height = this.cdkVirtualScrollViewport.elementRef.nativeElement.parentElement.clientHeight + 'px';\n }\n\n const mutationObservable = new Observable<MutationRecord[]>((observer) => {\n this.mutationObserver = new MutationObserver((mutations) => {\n const filteredMutations = mutations.filter((mutation) => {\n return (\n mutation.target instanceof HTMLElement &&\n mutation.target.tagName.toLowerCase() === 'th' &&\n mutation.attributeName === 'style'\n );\n });\n\n if (filteredMutations.length > 0) {\n observer.next(filteredMutations);\n }\n });\n\n const config = { attributes: true, subtree: true, attributeFilter: ['style'] };\n this.mutationObserver.observe(this.theadRef.nativeElement, config);\n });\n\n mutationObservable.pipe(debounceTime(250), takeUntil(this.destroy$)).subscribe((mutations) => {\n this.stickyFeatureHandler();\n });\n\n if (!this.isAsync && !this.isVirtualScroll) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n this.tableFeaturesHandler();\n }\n\n this.selectRowsFeatureHandler();\n this.sortFeatureHandler();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.mutationObserver?.disconnect();\n this.tableFeaturesHandlerSubscription.unsubscribe();\n }\n\n /**\n * Moves an element within the rendered data array.\n *\n * @param itemId - The identifier (default: id) of the element to move.\n * @param fromIndex - The current index of the element to move.\n * @param toIndex - The new desired position for the element.\n */\n public moveItem(itemId: number | string, fromIndex: number, toIndex: number): void {\n const itemPosition = this.dataRendered.findIndex(d => d && d[this.propId] === itemId);\n const move = toIndex - fromIndex;\n\n const source = [...this.dataRendered];\n const [elementToMove] = source.splice(itemPosition, 1);\n\n source.splice(itemPosition + move, 0, elementToMove);\n\n this.dataRendered = source;\n }\n\n /**\n * Select all rows\n */\n public selectAllRows(): void {\n this.euiTableV2SelectableRowService.selectAllRows();\n }\n\n /**\n * Unselect all rows\n */\n public unselectAllRows(): void {\n this.euiTableV2SelectableRowService.unselectAllRows();\n }\n\n /**\n * Return an array with the data matching the string filter\n * @returns\n */\n public getFilteredData(): DATA[] {\n return this.filteredData;\n }\n\n /**\n * Sort the table's data.\n * @param sorts An array of SortOrder. See {@link SortOrder}\n */\n public setSort(sorts: Sort[]): void {\n this.euiTableV2SortService.setSorts(sorts);\n }\n\n public filterData(filter: string, r: DATA[]): DATA[] {\n const rows = filter ?\n 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.euiTableV2SelectableRowService.unregisterRows();\n this.euiTableV2SelectableRowService.registerRows(rows);\n\n this.filteredData = rows;\n\n return rows;\n }\n\n protected get stickyHeaderTopPosition(): string {\n if (!this.cdkVirtualScrollViewport || !this.cdkVirtualScrollViewport['_renderedContentOffset']) {\n return '0';\n }\n\n return (-this.cdkVirtualScrollViewport['_renderedContentOffset'] - 1) + 'px';\n }\n\n protected get stickyFooterBottomPosition(): string {\n if (!this.cdkVirtualScrollViewport || !this.cdkVirtualScrollViewport['_renderedContentOffset']) {\n return '-1px';\n }\n\n return this.cdkVirtualScrollViewport['_renderedContentOffset'] - 1 + 'px';\n }\n\n protected get cdkVirtualScrollViewportWidth(): string {\n return (this.elementRef.nativeElement?.parentElement?.clientWidth || 0) + 'px';\n }\n\n protected get hostWidth(): number {\n return this.elementRef.nativeElement.style.width;\n }\n\n protected trackByFn(index: number): number {\n return index;\n }\n\n private tableFeaturesHandler(): void {\n this.tableFeaturesHandlerSubscription = combineLatest(\n this.paginator ? this.paginator.page$ : new BehaviorSubject(null),\n this.filter ? this.filter.filter$ : new BehaviorSubject(null),\n this.euiTableV2SortService.sorts,\n ).pipe(takeUntil(this.destroy$)).subscribe(([pagination, filter, sorts]: [EuiPaginationEvent, string, Sort[]]) => {\n let r = [...this.dataSrc];\n\n if (sorts.length > 0) {\n r = this.sortData(sorts, r);\n }\n\n r = this.filterData(filter, r);\n\n if (this.paginator) {\n this.paginator.setLength(r.length);\n r = this.paginateRows(pagination, r);\n }\n\n this.dataRendered = r;\n if (this.isSelectOnlyVisibleRows) {\n this.euiTableV2SelectableRowService.unselectAllRows();\n this.euiTableV2SelectableRowService.unregisterRows();\n this.euiTableV2SelectableRowService.registerRows(this.dataRendered);\n }\n\n if (this.preselectedRows) {\n this.euiTableV2SelectableRowService.selectRows(this.preselectedRows);\n }\n\n this.cd.detectChanges();\n\n if (this.hasStickyCols) {\n this.stickyFeatureHandler();\n }\n });\n }\n\n private sortData(sortCriterias: { sort: string, order: SortOrder }[], r: DATA[]): DATA[] {\n if (sortCriterias.every(criteria => criteria.order === null)) {\n return r.slice();\n }\n\n return r.sort((a, b) => {\n for (const criteria of sortCriterias) {\n const aValue = this.getObjProp(a, criteria.sort);\n const bValue = this.getObjProp(b, criteria.sort);\n\n if (aValue === bValue) {\n continue;\n }\n\n if (aValue === null || aValue === undefined) {\n return criteria.order === 'asc' ? -1 : 1;\n }\n if (bValue === null || bValue === undefined) {\n return criteria.order === 'asc' ? 1 : -1;\n }\n\n if (typeof aValue === 'boolean' && typeof bValue === 'boolean') {\n return criteria.order === 'asc' ? (aValue ? -1 : 1) : (bValue ? -1 : 1);\n }\n\n if (typeof aValue === 'number' && typeof bValue === 'number') {\n return criteria.order === 'asc' ? aValue - bValue : bValue - aValue;\n }\n\n const aValueStr = typeof aValue === 'string' ? aValue.toLowerCase() : aValue;\n const bValueStr = typeof bValue === 'string' ? bValue.toLowerCase() : bValue;\n\n const comparison = criteria.order === 'asc' ? aValueStr.localeCompare(bValueStr) : bValueStr.localeCompare(aValueStr);\n\n if (comparison !== 0) {\n return comparison;\n }\n }\n\n return 0;\n });\n }\n\n private paginateRows(pagination: EuiPaginationEvent, r: DATA[]): DATA[] {\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 roundDown(index: number, nbRows: number): number {\n return Math.floor(index / nbRows) * nbRows;\n }\n\n private hasUndefinedInRange(startIndex: number, limit: number, dataRendered: DATA[]): number {\n for (let i = startIndex; i < startIndex + limit; i ++) {\n if (dataRendered[i] === undefined) {\n return i;\n }\n }\n\n return -1;\n }\n\n private stickyFeatureHandler(): void {\n setTimeout(() => {\n const containerWidth = this.elementRef.nativeElement?.parentElement?.clientWidth || 0;\n\n const processStickyItems = (items: HTMLTableCellElement[]): void => {\n items.forEach((item, i) => {\n const isStickyFirstCol = item.offsetLeft + item.clientWidth < containerWidth;\n const isStickyLastCol = item.offsetLeft + item.clientWidth > containerWidth;\n\n const itemsSticky = isStickyFirstCol\n ? items.filter((it) => it.offsetLeft + it.clientWidth < containerWidth)\n : isStickyLastCol\n ? items.filter((it) => it.offsetLeft + it.clientWidth > containerWidth)\n : [];\n\n itemsSticky.forEach((it, j) => {\n const w = itemsSticky[j - 1]?.clientWidth;\n const offset = isStickyFirstCol\n ? parseInt(itemsSticky[j - 1]?.style.left, 10)\n : parseInt(itemsSticky[j - 1]?.style.right, 10);\n\n if (isStickyFirstCol) {\n it.style.left = (j === 0 ? 0 : w + offset) + 'px';\n } else if (isStickyLastCol) {\n it.style.right = (j === 0 ? 0 : w + offset) + 'px';\n }\n\n if (j + 1 === itemsSticky.length) {\n this.renderer.addClass(it, `eui-table-v2__col--sticky-shadowed-${isStickyFirstCol ? 'first' : 'last'}`);\n }\n });\n });\n };\n\n if (this.theadRef) {\n const thItems: HTMLTableCellElement[] = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table-v2__col--sticky'));\n processStickyItems(thItems);\n }\n\n const bodyTrItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));\n bodyTrItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table-v2__col--sticky'));\n processStickyItems(tdItems);\n });\n\n if (this.tfootRef) {\n const tdItems: HTMLTableCellElement[] = Array.from(this.tfootRef.nativeElement.querySelectorAll('.eui-table-v2__col--sticky'));\n processStickyItems(tdItems);\n }\n }, 250);\n }\n\n private selectRowsFeatureHandler(): void {\n this.euiTableV2SelectableRowService.selectedRows.pipe(skip(1), takeUntil(this.destroy$)).subscribe((selected) => {\n this.rowsSelect.emit(selected);\n });\n }\n\n private sortFeatureHandler(): void {\n this.euiTableV2SortService.sorts.pipe(skip(1), takeUntil(this.destroy$)).subscribe((sorts: Sort[]) => {\n this.sortChange.emit(sorts);\n });\n }\n\n private getProps(row: DATA, filter: string): { key: string; match: boolean; value: string | number }[] {\n const isObject = (val: string | number): boolean => val && typeof val === 'object';\n const addDelimiter = (a: string, b: string): string => (a && a !== '0' ? `${a}.${b}` : b);\n const props: { key: string, match: boolean, value: string | number }[] = [];\n const paths = (pathObj: DATA, head = ''): string[] => {\n return Object.entries(pathObj).reduce((product, [key, value]) => {\n const fullPath = addDelimiter(head, key);\n const match = (v: string | number): boolean => v && typeof v !== 'object' && v?.toString().toLowerCase().indexOf(filter?.trim().toLowerCase()) !== -1;\n\n if (key !== '0' && typeof value !== 'object') {\n props.push({ key: addDelimiter(head, key), match: match(value), value });\n }\n\n return isObject(value) ? product.concat(paths(value, fullPath)) : product.concat(fullPath);\n }, []);\n };\n\n paths(row);\n return props;\n }\n\n private getObjProp(obj: DATA, prop: string): string {\n return prop ? prop.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), obj || self) : null;\n }\n}\n","<!-- <button (click)=\"test(19250)\">19250</button>\n<button (click)=\"test(7895)\">7895</button>\n<button (click)=\"test(16860)\">16860</button>\n<button (click)=\"test(16870)\">16870</button>\n<button (click)=\"test(16880)\">16880</button>\n<button (click)=\"test(16890)\">16890</button>\n<button (click)=\"test(16900)\">16900</button>\n<button (click)=\"test(26998)\">26998</button>\n<button (click)=\"test(28000)\">28000</button> -->\n@if (isVirtualScroll) {\n <cdk-virtual-scroll-viewport\n #cdkVirtualScrollViewport\n #cdkVirtualScrollViewportElement\n class=\"eui-table-v2__scroll-viewport\"\n [itemSize]=\"itemSize\"\n [style.overflow]=\"cdkVirtualScrollViewportOverflowValue\"\n tabindex=\"0\">\n <table class=\"{{ cssClasses }}\" [style.width]=\"hostWidth\">\n @if (headerTemplate) {\n <thead #theadRef [style.top]=\"stickyHeaderTopPosition\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n <ng-container *cdkVirtualFor=\"let row of dataRendered; let i = index; trackBy: trackByFn\">\n @if (row) {\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n } @else {\n <ng-template [ngTemplateOutlet]=\"skeletonLoading\"></ng-template>\n }\n </ng-container>\n\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef [style.bottom]=\"stickyFooterBottomPosition\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n </table>\n </cdk-virtual-scroll-viewport>\n} @else {\n @if (headerTemplate) {\n <thead #theadRef>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n @for (row of dataRendered; let i = $index; track $index) {\n <ng-container>\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n </ng-container>\n }\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n}\n\n<ng-template #skeletonLoading>\n <tr [style.height.px]=\"itemSize\">\n <td *ngFor=\"let __ of nbCols\"><eui-skeleton line euiRounded></eui-skeleton></td>\n </tr>\n</ng-template>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'th[isStickyCol], td[isStickyCol]',\n})\nexport class EuiTableV2StickyColDirective {\n @HostBinding('class') class = 'eui-table-v2__col--sticky';\n}\n","import { Directive, HostBinding, ElementRef, OnInit } from '@angular/core';\nimport { AnimationBuilder, AnimationPlayer, animate, style } from '@angular/animations';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'tr[isExpandableRow]',\n})\nexport class EuiTableV2ExpandableRowDirective implements OnInit {\n @HostBinding('class') string = 'eui-table-v2-expandable-row';\n private animationPlayer: AnimationPlayer;\n\n constructor(private el: ElementRef, private animationBuilder: AnimationBuilder) {}\n\n get isOpen(): boolean {\n return true;\n }\n\n ngOnInit(): void {\n const animation = this.animationBuilder.build([\n style({ opacity: 0 }),\n animate('250ms', style({ opacity: 1 })),\n ]);\n\n this.animationPlayer = animation.create(this.el.nativeElement);\n this.animationPlayer.play();\n }\n}\n","import { Component, OnInit, Input, OnDestroy, booleanAttribute } from '@angular/core';\nimport { Subject, combineLatest, takeUntil } from 'rxjs';\n\nimport { EuiTableV2SelectableRowService } from '../services/eui-table-v2-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isHeaderSelectable]',\n templateUrl: './eui-table-v2-selectable-header.component.html',\n})\nexport class EuiTableV2SelectableHeaderComponent<DATA> implements OnInit, OnDestroy {\n @Input({ transform: booleanAttribute }) isHeaderSelectable = true;\n\n public isCheckedIndeterminate = false;\n public isChecked = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private euiDataTableSelectableRowService: EuiTableV2SelectableRowService<DATA>) {}\n\n ngOnInit(): void {\n combineLatest([\n this.euiDataTableSelectableRowService.isAllRowsSelected,\n this.euiDataTableSelectableRowService.selectedRows,\n ]).pipe(takeUntil(this.destroy$)).subscribe(([allSelected, selectedRows]) => {\n this.isChecked = allSelected;\n this.isCheckedIndeterminate = !allSelected && selectedRows.length > 0;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get ariaLabel(): string {\n if(!this.isChecked && !this.isCheckedIndeterminate) {\n return 'Unchecked';\n }\n if(this.isCheckedIndeterminate) {\n return 'Indeterminate';\n }\n if(this.isChecked && !this.isCheckedIndeterminate) {\n return 'Checked';\n }\n }\n\n public toggleCheckedState(e: Event): void {\n this.isChecked = (e.target as HTMLInputElement).checked;\n\n if (this.isChecked) {\n this.euiDataTableSelectableRowService.selectAllRows();\n } else {\n this.euiDataTableSelectableRowService.unselectAllRows();\n }\n }\n}\n","@if (isHeaderSelectable) {\n <th class=\"eui-table__cell-select\">\n <div class=\"eui-table__cell-select-checkbox-container\">\n <input [attr.aria-label]=\"ariaLabel\" euiInputCheckBox [checked]=\"isChecked ? 'checked' : null\" [indeterminate]=\"isCheckedIndeterminate\" (click)=\"toggleCheckedState($event)\" />\n </div>\n </th>\n}\n<ng-content></ng-content>\n","import { Component, OnInit, Input, OnDestroy, OnChanges, HostBinding, booleanAttribute, ElementRef, SimpleChanges } from '@angular/core';\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\n\nimport { EuiTableV2SelectableRowService } from '../services/eui-table-v2-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isDataSelectable]',\n templateUrl: './eui-table-v2-selectable-row.component.html',\n})\nexport class EuiTableV2SelectableRowComponent<DATA> implements OnInit, OnDestroy, OnChanges {\n @Input() isDataSelectable: DATA;\n @Input({ transform: booleanAttribute }) isChecked = false;\n @Input({ transform: booleanAttribute }) isKeyboardSelectable = false;\n\n private propId = 'id';\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-table-v2__row',\n this.isDataSelectable ? 'eui-table-v2__row--selectable' : '',\n this.isChecked ? 'eui-table-v2__row--selected' : '',\n ]\n .join(' ')\n .trim();\n }\n\n constructor(private euiDataTableSelectableRowService: EuiTableV2SelectableRowService<DATA>, private elementRef: ElementRef) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.isChecked) {\n if (c.isChecked.currentValue) {\n this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n } else {\n this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n } \n }\n }\n\n ngOnInit(): void {\n if (this.isKeyboardSelectable && this.isDataSelectable) {\n fromEvent<PointerEvent>(this.elementRef.nativeElement, 'click').pipe(takeUntil(this.destroy$)).subscribe((event) => {\n if (event.ctrlKey) {\n if (!this.isChecked) {\n this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n } else {\n this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n }\n } else if (event.shiftKey) {\n const rows = this.euiDataTableSelectableRowService.getRows();\n const lastSelectedRow = this.euiDataTableSelectableRowService.getLastSelectedRow();\n const lastSelectedRowPosition = rows.indexOf(lastSelectedRow);\n const position = rows.indexOf(this.isDataSelectable);\n\n const range =\n lastSelectedRowPosition > position\n ? rows.slice(position, lastSelectedRowPosition + 1)\n : rows.slice(lastSelectedRowPosition, position + 1);\n\n this.euiDataTableSelectableRowService.selectRows(range);\n\n window.getSelection()?.empty();\n } else {\n this.euiDataTableSelectableRowService.selectRows([this.isDataSelectable]);\n }\n });\n }\n\n this.propId = this.euiDataTableSelectableRowService.getPropId();\n this.euiDataTableSelectableRowService.selectedRows.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected.find((s) => s[this.propId] === this.isDataSelectable[this.propId]) !== undefined;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public toggleCheckedState(e: Event): void {\n this.isChecked = (e.target as HTMLInputElement).checked;\n\n if (this.isChecked) {\n this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n } else {\n this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n }\n }\n}\n","@if (isDataSelectable) {\n <td class=\"eui-table__cell-select\">\n <div class=\"eui-table__cell-select-checkbox-container\">\n <input\n euiInputCheckBox\n [attr.aria-label]=\"isChecked ? 'default checkbox checked' : 'default checkbox unchecked'\"\n [(ngModel)]=\"isChecked\"\n (change)=\"toggleCheckedState($event)\" />\n </div>\n </td>\n}\n<ng-content></ng-content>\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, HostBinding, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil, debounceTime, distinctUntilChanged } from 'rxjs';\n\n@Component({\n selector: 'eui-table-v2-filter',\n templateUrl: './eui-table-v2-filter.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTableV2FilterComponent implements OnInit, OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-table-v2__filter',\n ]\n .join(' ')\n .trim();\n }\n\n @Input() placeholder: string;\n\n @Output() filterChange = new EventEmitter<string>();\n\n @ViewChild('filterInput', { read: ElementRef }) filterInput: ElementRef<HTMLInputElement>;\n\n public filter$: BehaviorSubject<string> = new BehaviorSubject(null);\n public form = new FormGroup({\n filter: new FormControl<string>(null),\n });\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngOnInit(): void {\n this.form.get('filter').valueChanges.pipe(debounceTime(500), distinctUntilChanged(), takeUntil(this.destroy$)).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 /**\n * Reset the filter and emit the change event.\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-v2__filter\">\n <form [formGroup]=\"form\">\n <input\n #filterInput\n euiClearable\n euiInputText\n class=\"eui-table-v2__filter-input\"\n formControlName=\"filter\"\n [attr.aria-label]=\"form.get('filter').value ? form.get('filter').value : placeholder\"\n placeholder=\"{{ placeholder }}\" />\n <eui-icon-svg class=\"eui-table-v2__filter-search-icon\" icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n </form>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'euiTableV2Highlight',\n})\nexport class EuiTableV2HighlightPipe implements PipeTransform {\n transform(value: string, strFilter: string, className = 'eui-table-v2--highlighted'): string {\n if (value) {\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 } else {\n return '';\n }\n }\n}\n","import { Component, OnInit, OnDestroy, Input, HostBinding, booleanAttribute, ElementRef, ViewChild } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\n\nimport { EuiTableV2SortService } from '../services/eui-table-v2-sort.service';\nimport { SortOrder } from '../models/sort.model';\n\n@Component({\n // eslint-disable-next-line\n selector: 'th[isSortable]',\n templateUrl: './eui-table-v2-sortable-col.component.html',\n})\nexport class EuiTableV2SortableColComponent implements OnInit, OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-table-v2__sortable-col', this.sortDisabled ? 'eui-table-v2__sortable-col--disabled' : ''].join(' ').trim();\n }\n\n @Input() sortOn: string;\n @Input() sortOrder: SortOrder = 'asc';\n\n @Input({ transform: booleanAttribute }) defaultOrder = false;\n @Input({ transform: booleanAttribute }) sortDisabled = false;\n @Input({ transform: booleanAttribute }) isMultiSortable = false;\n\n public order: SortOrder = null;\n public isSorted = false;\n public sortedIndex: number = null;\n\n @ViewChild('euiDropdown') euiDropdown: EuiDropdownComponent;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private euiTableV2SortService: EuiTableV2SortService, private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.euiTableV2SortService.sorts.pipe(takeUntil(this.destroy$)).subscribe((sorts) => {\n const isSorted = sorts.find(s => s.sort === this.sortOn);\n this.isSorted = isSorted !== undefined;\n if (this.isSorted) {\n this.order = isSorted.order;\n if (sorts.length > 1) {\n this.sortedIndex = sorts.findIndex(s => s.sort === this.sortOn) + 1;\n } else {\n this.sortedIndex = null;\n }\n } else {\n this.order = null;\n this.sortedIndex = null;\n }\n });\n\n if (this.defaultOrder) {\n this.order = this.sortOrder;\n this.euiTableV2SortService.setSort(this.sortOn, this.order, this.isMultiSortable);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public changeSort(): 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.euiTableV2SortService.setSort(this.sortOn, this.order, this.isMultiSortable);\n }\n }\n\n public onDropdownItemClick(order: SortOrder): void {\n this.euiTableV2SortService.setSort(this.sortOn, order, this.isMultiSortable);\n }\n}\n","<div class=\"eui-table-v2__sortable-col-content\">\n <div class=\"eui-table-v2__sortable-col-content-label\">\n <ng-content></ng-content>\n\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n @if (!isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"swap-vertical:outline\"></eui-icon-svg>\n }\n @if (order === 'asc' && isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-up:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n }\n @if (order === 'desc' && isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-down:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n }\n </button>\n @if (sortedIndex && !sortDisabled) {\n <button euiSizeS euiButton euiBasicButton (click)=\"changeSort()\">\n <span class=\"eui-table-v2__sortable-col-multisort-index\">{{ sortedIndex }}</span>\n </button>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\nimport { EuiSkeletonModule } from '@eui/components/eui-skeleton';\nimport { EuiInputCheckboxModule } from '@eui/components/eui-input-checkbox';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiListModule } from '@eui/components/eui-list';\n\nimport { EuiTableV2Component } from './eui-table-v2.component';\nimport { EuiTableV2StickyColDirective } from './directives/eui-table-v2-sticky-col.directive';\nimport { EuiTableV2SelectableRowComponent } from './selectable-row/eui-table-v2-selectable-row.component';\nimport { EuiTableV2SelectableHeaderComponent } from './selectable-header/eui-table-v2-selectable-header.component';\nimport { EuiTableV2FilterComponent } from './filter/eui-table-v2-filter.component';\nimport { EuiTableV2HighlightPipe } from './pipes/eui-table-v2-highlight.pipe';\nimport { EuiTableV2SortableColComponent } from './sortable-col/eui-table-v2-sortable-col.component';\nimport { EuiTableV2ExpandableRowDirective } from './directives/eui-table-v2-expandable-row.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiTemplateDirectiveModule,\n ScrollingModule,\n EuiSkeletonModule,\n EuiInputCheckboxModule,\n FormsModule,\n ReactiveFormsModule,\n EuiIconModule,\n EuiInputTextModule,\n TranslateModule,\n EuiButtonModule,\n EuiListModule,\n ],\n declarations: [\n EuiTableV2Component,\n EuiTableV2SelectableHeaderComponent,\n EuiTableV2SelectableRowComponent,\n EuiTableV2StickyColDirective,\n EuiTableV2FilterComponent,\n EuiTableV2HighlightPipe,\n EuiTableV2SortableColComponent,\n EuiTableV2ExpandableRowDirective,\n ],\n exports: [\n EuiTableV2Component,\n EuiTableV2SelectableHeaderComponent,\n EuiTableV2SelectableRowComponent,\n EuiTemplateDirectiveModule,\n EuiTableV2StickyColDirective,\n EuiTableV2FilterComponent,\n EuiTableV2HighlightPipe,\n EuiTableV2SortableColComponent,\n EuiTableV2ExpandableRowDirective,\n ],\n})\nexport class EuiTableV2Module { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiTableV2SelectableRowService","i2.EuiTableV2SortService","i3","i1","i2","i1.EuiTableV2SortService","i4"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-table-v2.mjs","sources":["../../eui-table-v2/services/eui-table-v2-selectable-row.service.ts","../../eui-table-v2/services/eui-table-v2-sort.service.ts","../../eui-table-v2/eui-table-v2.component.ts","../../eui-table-v2/eui-table-v2.component.html","../../eui-table-v2/directives/eui-table-v2-sticky-col.directive.ts","../../eui-table-v2/directives/eui-table-v2-expandable-row.directive.ts","../../eui-table-v2/selectable-header/eui-table-v2-selectable-header.component.ts","../../eui-table-v2/selectable-header/eui-table-v2-selectable-header.component.html","../../eui-table-v2/selectable-row/eui-table-v2-selectable-row.component.ts","../../eui-table-v2/selectable-row/eui-table-v2-selectable-row.component.html","../../eui-table-v2/filter/eui-table-v2-filter.component.ts","../../eui-table-v2/filter/eui-table-v2-filter.component.html","../../eui-table-v2/pipes/eui-table-v2-highlight.pipe.ts","../../eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.ts","../../eui-table-v2/sortable-col/eui-table-v2-sortable-col.component.html","../../eui-table-v2/eui-table-v2.module.ts","../../eui-table-v2/eui-components-eui-table-v2.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\n@Injectable()\nexport class EuiTableV2SelectableRowService<DATA> {\n \n public selectedRows$: BehaviorSubject<DATA[]> = new BehaviorSubject([]);\n public isAllRowsSelected$: BehaviorSubject<boolean> = new BehaviorSubject(false);\n \n private lastSelectedRow: DATA = null;\n private rows: DATA[] = [];\n private propId = 'id';\n\n get selectedRows(): Observable<DATA[]> {\n return this.selectedRows$.asObservable();\n }\n\n get isAllRowsSelected(): Observable<boolean> {\n return this.isAllRowsSelected$.asObservable();\n }\n\n public setPropId(value: string): void {\n this.propId = value;\n }\n\n public getPropId(): string {\n return this.propId;\n }\n\n public registerRow(row: DATA): void {\n if (row && !this.rows.find((r) => r[this.propId] === row[this.propId])) {\n this.rows.push(row);\n\n if (this.rows.length > this.selectedRows$.value.length && this.isAllRowsSelected$.value) {\n this.isAllRowsSelected$.next(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 }\n }\n }\n\n public registerRows(rows: DATA[]): void {\n rows.forEach((row) => {\n this.registerRow(row);\n });\n }\n\n public unregisterRow(row: DATA): void {\n this.rows = this.rows.filter(r => r[this.propId] !== row[this.propId]);\n }\n\n public unregisterRows(): void {\n this.rows = [];\n }\n\n public selectRow(row: DATA): 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.lastSelectedRow = row;\n }\n\n public unselectRow(row: DATA): void {\n if (row && this.selectedRows$.value.find((r) => r[this.propId] === row[this.propId]) !== undefined) {\n const value = this.selectedRows$.value.filter((selected) => selected[this.propId] !== row[this.propId]);\n this.selectedRows$.next(value);\n this.isAllRowsSelected$.next(false);\n }\n }\n\n public selectRows(rows: DATA[]): void {\n this.selectedRows$.next([...rows]);\n this.isAllRowsSelected$.next(this.rows.length > 0 && this.rows.length === this.selectedRows$.value.length);\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.lastSelectedRow = this.rows[this.rows.length - 1];\n }\n\n public unselectAllRows(): void {\n this.selectedRows$.next([]);\n this.isAllRowsSelected$.next(false);\n this.lastSelectedRow = null;\n }\n\n public getRows(): DATA[] {\n return this.rows;\n }\n\n public getLastSelectedRow(): DATA {\n return this.lastSelectedRow;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { Sort, SortOrder } from '../models/sort.model';\n\n@Injectable()\nexport class EuiTableV2SortService {\n public sorts$ = new BehaviorSubject<Sort[]>([]);\n\n get sorts(): Observable<Sort[]> {\n return this.sorts$.asObservable();\n }\n\n private isCurrentMultiSortable = false;\n\n setSort(sort: string, order: SortOrder, isMultiSortable: boolean): void {\n if (isMultiSortable && this.isCurrentMultiSortable) {\n let sortValues = this.sorts$.value;\n if (!order) {\n sortValues = this.sorts$.value.filter(s => s.sort !== sort);\n this.sorts$.next(sortValues);\n } else {\n if (this.sorts$.value.find(s => s.sort === sort)) {\n sortValues = this.sorts$.value.map(s => s.sort == sort ? ({ ...s, order }) : s);\n this.sorts$.next(sortValues);\n } else {\n this.sorts$.next([ ...sortValues, { sort, order } ]);\n }\n }\n } else {\n this.sorts$.next(sort && order ? [{ sort, order }] : []);\n }\n\n this.isCurrentMultiSortable = isMultiSortable;\n }\n\n setSorts(sorts: Sort[]): void {\n this.sorts$.next(sorts);\n this.isCurrentMultiSortable = sorts.length > 1;\n }\n}\n","import { Component, Input, ContentChildren, QueryList, AfterContentInit, TemplateRef, ViewChild, AfterViewInit, ElementRef, booleanAttribute, HostBinding,\n ViewEncapsulation, ChangeDetectionStrategy, OnDestroy, OnInit, Output, EventEmitter, SimpleChanges, OnChanges, numberAttribute, ChangeDetectorRef,\n Renderer2 } from '@angular/core';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { BehaviorSubject, Observable, Subject, Subscription, combineLatest, debounceTime, skip, takeUntil } from 'rxjs';\nimport { ListRange } from '@angular/cdk/collections';\n\nimport { EuiPaginationEvent, EuiPaginatorComponent } from '@eui/components/eui-paginator';\nimport { EuiTemplateDirective } from '@eui/components/directives';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\nimport { EuiTableV2SelectableRowService } from './services/eui-table-v2-selectable-row.service';\nimport { EuiTableV2FilterComponent } from './filter/eui-table-v2-filter.component';\nimport { EuiTableV2SortService } from './services/eui-table-v2-sort.service';\nimport { Sort, SortOrder } from './models/sort.model';\n\nexport enum ScrollinDirection {\n UP = 'UP',\n DOWN = 'DOWN',\n}\n\n@Component({\n selector: 'eui-table-v2, table[euiTableV2]',\n templateUrl: './eui-table-v2.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [EuiTableV2SelectableRowService, EuiTableV2SortService],\n hostDirectives: [\n {\n directive: BaseStatesDirective,\n inputs: [],\n },\n ],\n})\nexport class EuiTableV2Component<DATA = unknown> implements AfterContentInit, AfterViewInit, OnDestroy, OnInit, OnChanges {\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n this.baseStatesDirective.getCssClasses('eui-table-default eui-table-v2'),\n this.isVirtualScroll ? 'eui-table-v2--virtual-scroll' : '',\n this.hasStickyHeader ? 'eui-table-v2--sticky eui-table-v2--sticky-header' : '',\n this.hasStickyFooter ? 'eui-table-v2--sticky eui-table-v2--sticky-footer' : '',\n this.hasStickyCols ? 'eui-table-v2--sticky eui-table-v2--sticky-cols' : '',\n this.isTableResponsive ? 'eui-table-default--responsive' : '',\n this.isColsOrderable ? 'eui-table-v2--cols-orderable' : '',\n this.isLoading ? 'eui-table-v2--loading' : '',\n ]\n .join(' ')\n .trim();\n }\n\n @Input() data: DATA[] = [];\n @Input() propId = 'id';\n @Input() itemSize = 41;\n @Input() paginator: EuiPaginatorComponent;\n @Input() filter: EuiTableV2FilterComponent;\n @Input() preselectedRows: DATA[] = [];\n\n @Input({ transform: booleanAttribute }) isVirtualScroll = false;\n @Input({ transform: booleanAttribute }) isVirtualScrollCache = false;\n @Input({ transform: booleanAttribute }) hasStickyHeader = false;\n @Input({ transform: booleanAttribute }) hasStickyFooter = false;\n @Input({ transform: booleanAttribute }) hasStickyCols = false;\n @Input({ transform: booleanAttribute }) isTableResponsive = false;\n @Input({ transform: booleanAttribute }) isAsync = false;\n @Input({ transform: numberAttribute }) virtualScrollAsyncItemsLength = 0;\n @Input({ transform: numberAttribute }) virtualScrollNbRows = 50;\n @Input({ transform: booleanAttribute }) isColsOrderable = false;\n @Input({ transform: booleanAttribute }) isLoading = false;\n @Input({ transform: booleanAttribute }) isSelectOnlyVisibleRows = true;\n @Input({ transform: booleanAttribute }) isTableBordered = false;\n /** @deprecated This will be removed in next version */\n @Input({ transform: booleanAttribute }) isTableCondensed = false;\n\n protected headerTemplate: TemplateRef<HTMLElement>;\n protected bodyTemplate: TemplateRef<{ $implicit: DATA; index: number }>;\n protected footerTemplate: TemplateRef<HTMLElement>;\n protected noDataTemplate: TemplateRef<HTMLElement>;\n protected loading = [];\n protected nbCols: HTMLTableCellElement[] = [];\n protected dataRendered: DATA[] = [];\n protected cdkVirtualScrollViewportOverflowValue: ('hidden' | 'auto') = 'auto';\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChild('cdkVirtualScrollViewport', { static: false }) protected cdkVirtualScrollViewport: CdkVirtualScrollViewport;\n @ViewChild('cdkVirtualScrollViewportElement', { static: false, read: ElementRef }) protected cdkVirtualScrollViewportElement: ElementRef;\n @ViewChild('theadRef') theadRef: ElementRef<HTMLElement>;\n @ViewChild('tbodyRef') tbodyRef: ElementRef<HTMLElement>;\n @ViewChild('tfootRef') tfootRef: ElementRef<HTMLElement>;\n\n @Output() scrollChange = new EventEmitter();\n @Output() rowsSelect = new EventEmitter<DATA[]>();\n @Output() sortChange = new EventEmitter<Sort[]>();\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private virtualScrollLastMultiple = 0;\n private virtualScrollSpliceFrom = 0;\n private scrolledIndex = 0;\n private nbItemDisplayed = 0;\n private scrollingDirection: ScrollinDirection;\n private mutationObserver: MutationObserver;\n private dataSrc: DATA[] = [];\n private page = 0;\n private pageSize = 0;\n private tableFeaturesHandlerSubscription = new Subscription();\n private filteredData: DATA[] = [];\n\n constructor(private elementRef: ElementRef,\n private cd: ChangeDetectorRef,\n private euiTableV2SelectableRowService: EuiTableV2SelectableRowService<DATA>,\n private euiTableV2SortService: EuiTableV2SortService,\n private baseStatesDirective: BaseStatesDirective,\n private renderer: Renderer2,\n ) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (!this.data) {\n this.data = [];\n }\n\n this.euiTableV2SelectableRowService.setPropId(this.propId);\n if (this.isVirtualScroll) {\n if (c.data && c.data.isFirstChange()) {\n this.dataRendered = [...c.data.currentValue, ...Array.from({ length: this.virtualScrollAsyncItemsLength - c.data.currentValue.length })];\n\n this.euiTableV2SelectableRowService.unregisterRows();\n this.euiTableV2SelectableRowService.registerRows(this.dataRendered);\n }\n\n if (c.data && !c.data.isFirstChange()) {\n if (this.isAsync) {\n const source = [...this.dataRendered];\n if (this.isVirtualScrollCache) {\n this.dataRendered = [...source.slice(0, this.virtualScrollSpliceFrom), ...c.data.currentValue, ...source.slice(this.virtualScrollSpliceFrom + this.virtualScrollNbRows)];\n } else {\n this.dataRendered = [\n ...Array.from({ length: this.virtualScrollSpliceFrom - this.nbItemDisplayed }),\n ...source.slice(this.virtualScrollSpliceFrom - this.nbItemDisplayed, this.virtualScrollSpliceFrom),\n ...c.data.currentValue,\n ...source.slice(this.virtualScrollSpliceFrom + this.virtualScrollNbRows, this.virtualScrollSpliceFrom + this.virtualScrollNbRows + this.nbItemDisplayed),\n ...Array.from({ length: this.virtualScrollAsyncItemsLength - (this.virtualScrollSpliceFrom + this.virtualScrollNbRows + this.nbItemDisplayed) }),\n ];\n }\n\n if (c && c.virtualScrollAsyncItemsLength) {\n if (c.virtualScrollAsyncItemsLength.previousValue > c.virtualScrollAsyncItemsLength.currentValue) {\n this.dataRendered = this.dataRendered.slice(0, c.virtualScrollAsyncItemsLength.currentValue);\n } else {\n this.dataRendered = [...c.data.currentValue, ...Array.from({ length: this.virtualScrollAsyncItemsLength - c.data.currentValue.length })];\n }\n }\n\n this.euiTableV2SelectableRowService.unregisterRows();\n this.euiTableV2SelectableRowService.registerRows(this.dataRendered);\n\n if (this.scrollingDirection === ScrollinDirection.DOWN) {\n if ((this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== -1 ||\n this.scrolledIndex === this.virtualScrollSpliceFrom &&\n !this.dataRendered[this.scrolledIndex - 1]) &&\n this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== this.dataRendered.length\n ) {\n // console.log('reposition down')\n this.cdkVirtualScrollViewport.scrollToIndex(this.virtualScrollSpliceFrom + 1);\n }\n }\n\n if (this.scrollingDirection === ScrollinDirection.UP) {\n if (this.hasUndefinedInRange(this.scrolledIndex, this.nbItemDisplayed, this.dataRendered) !== -1) {\n // console.log('reposition up')\n this.cdkVirtualScrollViewport.scrollToIndex(this.virtualScrollSpliceFrom + 1);\n }\n }\n\n this.stickyFeatureHandler();\n }\n }\n } else {\n if (c && c.data) {\n const lengthChanged = this.dataSrc.length !== c.data.currentValue.length;\n this.dataSrc = c.data.currentValue ? [...c.data.currentValue] : [];\n\n if (this.paginator && lengthChanged) {\n this.paginator.goFirstPage();\n }\n\n if (!this.isAsync && !c.data.isFirstChange()) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n this.tableFeaturesHandler();\n }\n\n this.euiTableV2SelectableRowService.registerRows(this.dataSrc);\n }\n if (c && c.paginator?.currentValue) {\n this.paginator.setLength(this.data.length);\n if (!c.paginator?.isFirstChange()) {\n this.paginator.goFirstPage();\n }\n } else {\n // this.data can be changed anytime, then this else can be executed at that time, testing this.paginator allows to make sure\n // the user wants to disable pagination or change the datasource\n if (!this.paginator) {\n this.dataRendered = this.dataSrc;\n this.page = 0;\n }\n }\n }\n\n if (c && c.preselectedRows && !c.preselectedRows.isFirstChange()) {\n this.euiTableV2SelectableRowService.selectRows(c.preselectedRows.currentValue);\n }\n }\n\n ngOnInit(): void {\n this.dataSrc = [...this.data];\n }\n\n ngAfterContentInit(): void {\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() === 'noData') {\n this.noDataTemplate = item.template;\n }\n });\n }\n\n test(index): void {\n this.cdkVirtualScrollViewport.scrollToIndex(index)\n }\n\n ngAfterViewInit(): void {\n this.stickyFeatureHandler();\n\n if (this.isVirtualScroll) {\n this.cdkVirtualScrollViewport?.renderedRangeStream\n .pipe(debounceTime(500), takeUntil(this.destroy$))\n .subscribe((listRange: ListRange) => {\n this.stickyFeatureHandler();\n });\n\n const theadElements = Array.from(this.theadRef.nativeElement.querySelectorAll('th'));\n this.nbCols = new Array(theadElements.length);\n\n this.cdkVirtualScrollViewport.scrolledIndexChange\n .pipe(debounceTime(500), takeUntil(this.destroy$))\n .subscribe((scrolledIndex: number) => {\n if (this.isAsync) {\n this.scrollingDirection = scrolledIndex > this.scrolledIndex ? ScrollinDirection.DOWN : ScrollinDirection.UP;\n this.scrolledIndex = scrolledIndex;\n\n this.cdkVirtualScrollViewport.setTotalContentSize(this.virtualScrollAsyncItemsLength * this.itemSize);\n\n const scrollOffset = this.cdkVirtualScrollViewport.measureScrollOffset('top');\n const endIndex = Math.ceil((scrollOffset + this.cdkVirtualScrollViewport.getViewportSize()) / this.itemSize);\n this.nbItemDisplayed = endIndex - scrolledIndex;\n const virtualScrollCurrentMultiple = Math.floor((scrolledIndex + this.nbItemDisplayed) / this.virtualScrollNbRows);\n\n if (scrolledIndex > 0) {\n if (this.dataRendered[scrolledIndex] || (this.scrollingDirection === ScrollinDirection.UP && this.dataRendered[scrolledIndex - 1])) {\n // console.log('virtualScrollCurrentMultiple', virtualScrollCurrentMultiple)\n // console.log('this.virtualScrollLastMultiple', this.virtualScrollLastMultiple)\n // console.log('virtualScrollCurrentMultiple > this.virtualScrollLastMultiple', virtualScrollCurrentMultiple > this.virtualScrollLastMultiple)\n\n if (virtualScrollCurrentMultiple > this.virtualScrollLastMultiple) {\n this.virtualScrollSpliceFrom = virtualScrollCurrentMultiple * this.virtualScrollNbRows;\n this.scrollChange.emit({ start: virtualScrollCurrentMultiple * this.virtualScrollNbRows, end: this.virtualScrollNbRows });\n }\n } else {\n this.virtualScrollSpliceFrom = this.roundDown(scrolledIndex, this.virtualScrollNbRows);\n this.scrollChange.emit({ start: this.virtualScrollSpliceFrom, end: this.virtualScrollNbRows });\n }\n }\n\n this.virtualScrollLastMultiple = virtualScrollCurrentMultiple;\n }\n });\n }\n\n if (this.cdkVirtualScrollViewportElement) {\n this.cdkVirtualScrollViewportElement.nativeElement.style.height = this.cdkVirtualScrollViewport.elementRef.nativeElement.parentElement.clientHeight + 'px';\n }\n\n const mutationObservable = new Observable<MutationRecord[]>((observer) => {\n this.mutationObserver = new MutationObserver((mutations) => {\n const filteredMutations = mutations.filter((mutation) => {\n return (\n mutation.target instanceof HTMLElement &&\n mutation.target.tagName.toLowerCase() === 'th' &&\n mutation.attributeName === 'style'\n );\n });\n\n if (filteredMutations.length > 0) {\n observer.next(filteredMutations);\n }\n });\n\n const config = { attributes: true, subtree: true, attributeFilter: ['style'] };\n this.mutationObserver.observe(this.theadRef.nativeElement, config);\n });\n\n mutationObservable.pipe(debounceTime(250), takeUntil(this.destroy$)).subscribe((mutations) => {\n this.stickyFeatureHandler();\n });\n\n if (!this.isAsync && !this.isVirtualScroll) {\n this.tableFeaturesHandlerSubscription.unsubscribe();\n this.tableFeaturesHandler();\n }\n\n this.selectRowsFeatureHandler();\n this.sortFeatureHandler();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.mutationObserver?.disconnect();\n this.tableFeaturesHandlerSubscription.unsubscribe();\n }\n\n /**\n * Moves an element within the rendered data array.\n *\n * @param itemId - The identifier (default: id) of the element to move.\n * @param fromIndex - The current index of the element to move.\n * @param toIndex - The new desired position for the element.\n */\n public moveItem(itemId: number | string, fromIndex: number, toIndex: number): void {\n const itemPosition = this.dataRendered.findIndex(d => d && d[this.propId] === itemId);\n const move = toIndex - fromIndex;\n\n const source = [...this.dataRendered];\n const [elementToMove] = source.splice(itemPosition, 1);\n\n source.splice(itemPosition + move, 0, elementToMove);\n\n this.dataRendered = source;\n }\n\n /**\n * Select all rows\n */\n public selectAllRows(): void {\n this.euiTableV2SelectableRowService.selectAllRows();\n }\n\n /**\n * Unselect all rows\n */\n public unselectAllRows(): void {\n this.euiTableV2SelectableRowService.unselectAllRows();\n }\n\n /**\n * Return an array with the data matching the string filter\n * @returns\n */\n public getFilteredData(): DATA[] {\n return this.filteredData;\n }\n\n /**\n * Sort the table's data.\n * @param sorts An array of SortOrder. See {@link SortOrder}\n */\n public setSort(sorts: Sort[]): void {\n this.euiTableV2SortService.setSorts(sorts);\n }\n\n public filterData(filter: string, r: DATA[]): DATA[] {\n const rows = filter ?\n 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.euiTableV2SelectableRowService.unregisterRows();\n this.euiTableV2SelectableRowService.registerRows(rows);\n\n this.filteredData = rows;\n\n return rows;\n }\n\n protected get stickyHeaderTopPosition(): string {\n if (!this.cdkVirtualScrollViewport || !this.cdkVirtualScrollViewport['_renderedContentOffset']) {\n return '0';\n }\n\n return (-this.cdkVirtualScrollViewport['_renderedContentOffset'] - 1) + 'px';\n }\n\n protected get stickyFooterBottomPosition(): string {\n if (!this.cdkVirtualScrollViewport || !this.cdkVirtualScrollViewport['_renderedContentOffset']) {\n return '-1px';\n }\n\n return this.cdkVirtualScrollViewport['_renderedContentOffset'] - 1 + 'px';\n }\n\n protected get cdkVirtualScrollViewportWidth(): string {\n return (this.elementRef.nativeElement?.parentElement?.clientWidth || 0) + 'px';\n }\n\n protected get hostWidth(): number {\n return this.elementRef.nativeElement.style.width;\n }\n\n protected trackByFn(index: number): number {\n return index;\n }\n\n private tableFeaturesHandler(): void {\n this.tableFeaturesHandlerSubscription = combineLatest(\n this.paginator ? this.paginator.page$ : new BehaviorSubject(null),\n this.filter ? this.filter.filter$ : new BehaviorSubject(null),\n this.euiTableV2SortService.sorts,\n ).pipe(takeUntil(this.destroy$)).subscribe(([pagination, filter, sorts]: [EuiPaginationEvent, string, Sort[]]) => {\n let r = [...this.dataSrc];\n\n if (sorts.length > 0) {\n r = this.sortData(sorts, r);\n }\n\n r = this.filterData(filter, r);\n\n if (this.paginator) {\n this.paginator.setLength(r.length);\n r = this.paginateRows(pagination, r);\n }\n\n this.dataRendered = r;\n if (this.isSelectOnlyVisibleRows) {\n this.euiTableV2SelectableRowService.unselectAllRows();\n this.euiTableV2SelectableRowService.unregisterRows();\n this.euiTableV2SelectableRowService.registerRows(this.dataRendered);\n }\n\n if (this.preselectedRows) {\n this.euiTableV2SelectableRowService.selectRows(this.preselectedRows);\n }\n\n this.cd.detectChanges();\n\n if (this.hasStickyCols) {\n this.stickyFeatureHandler();\n }\n });\n }\n\n private sortData(sortCriterias: { sort: string, order: SortOrder }[], r: DATA[]): DATA[] {\n if (sortCriterias.every(criteria => criteria.order === null)) {\n return r.slice();\n }\n\n return r.sort((a, b) => {\n for (const criteria of sortCriterias) {\n const aValue = this.getObjProp(a, criteria.sort);\n const bValue = this.getObjProp(b, criteria.sort);\n\n if (aValue === bValue) {\n continue;\n }\n\n if (aValue === null || aValue === undefined) {\n return criteria.order === 'asc' ? -1 : 1;\n }\n if (bValue === null || bValue === undefined) {\n return criteria.order === 'asc' ? 1 : -1;\n }\n\n if (typeof aValue === 'boolean' && typeof bValue === 'boolean') {\n return criteria.order === 'asc' ? (aValue ? -1 : 1) : (bValue ? -1 : 1);\n }\n\n if (typeof aValue === 'number' && typeof bValue === 'number') {\n return criteria.order === 'asc' ? aValue - bValue : bValue - aValue;\n }\n\n const aValueStr = typeof aValue === 'string' ? aValue.toLowerCase() : aValue;\n const bValueStr = typeof bValue === 'string' ? bValue.toLowerCase() : bValue;\n\n const comparison = criteria.order === 'asc' ? aValueStr.localeCompare(bValueStr) : bValueStr.localeCompare(aValueStr);\n\n if (comparison !== 0) {\n return comparison;\n }\n }\n\n return 0;\n });\n }\n\n private paginateRows(pagination: EuiPaginationEvent, r: DATA[]): DATA[] {\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 roundDown(index: number, nbRows: number): number {\n return Math.floor(index / nbRows) * nbRows;\n }\n\n private hasUndefinedInRange(startIndex: number, limit: number, dataRendered: DATA[]): number {\n for (let i = startIndex; i < startIndex + limit; i ++) {\n if (dataRendered[i] === undefined) {\n return i;\n }\n }\n\n return -1;\n }\n\n private stickyFeatureHandler(): void {\n setTimeout(() => {\n const containerWidth = this.elementRef.nativeElement?.parentElement?.clientWidth || 0;\n\n const processStickyItems = (items: HTMLTableCellElement[]): void => {\n items.forEach((item, i) => {\n const isStickyFirstCol = item.offsetLeft + item.clientWidth < containerWidth;\n const isStickyLastCol = item.offsetLeft + item.clientWidth > containerWidth;\n\n const itemsSticky = isStickyFirstCol\n ? items.filter((it) => it.offsetLeft + it.clientWidth < containerWidth)\n : isStickyLastCol\n ? items.filter((it) => it.offsetLeft + it.clientWidth > containerWidth)\n : [];\n\n itemsSticky.forEach((it, j) => {\n const w = itemsSticky[j - 1]?.clientWidth;\n const offset = isStickyFirstCol\n ? parseInt(itemsSticky[j - 1]?.style.left, 10)\n : parseInt(itemsSticky[j - 1]?.style.right, 10);\n\n if (isStickyFirstCol) {\n it.style.left = (j === 0 ? 0 : w + offset) + 'px';\n } else if (isStickyLastCol) {\n it.style.right = (j === 0 ? 0 : w + offset) + 'px';\n }\n\n if (j + 1 === itemsSticky.length) {\n this.renderer.addClass(it, `eui-table-v2__col--sticky-shadowed-${isStickyFirstCol ? 'first' : 'last'}`);\n }\n });\n });\n };\n\n if (this.theadRef) {\n const thItems: HTMLTableCellElement[] = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table-v2__col--sticky'));\n processStickyItems(thItems);\n }\n\n const bodyTrItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));\n bodyTrItems.forEach((tr) => {\n const tdItems: HTMLTableCellElement[] = Array.from(tr.querySelectorAll('.eui-table-v2__col--sticky'));\n processStickyItems(tdItems);\n });\n\n if (this.tfootRef) {\n const tdItems: HTMLTableCellElement[] = Array.from(this.tfootRef.nativeElement.querySelectorAll('.eui-table-v2__col--sticky'));\n processStickyItems(tdItems);\n }\n }, 250);\n }\n\n private selectRowsFeatureHandler(): void {\n this.euiTableV2SelectableRowService.selectedRows.pipe(skip(1), takeUntil(this.destroy$)).subscribe((selected) => {\n this.rowsSelect.emit(selected);\n });\n }\n\n private sortFeatureHandler(): void {\n this.euiTableV2SortService.sorts.pipe(skip(1), takeUntil(this.destroy$)).subscribe((sorts: Sort[]) => {\n this.sortChange.emit(sorts);\n });\n }\n\n private getProps(row: DATA, filter: string): { key: string; match: boolean; value: string | number }[] {\n const isObject = (val: string | number): boolean => val && typeof val === 'object';\n const addDelimiter = (a: string, b: string): string => (a && a !== '0' ? `${a}.${b}` : b);\n const props: { key: string, match: boolean, value: string | number }[] = [];\n const paths = (pathObj: DATA, head = ''): string[] => {\n return Object.entries(pathObj).reduce((product, [key, value]) => {\n const fullPath = addDelimiter(head, key);\n const match = (v: string | number): boolean => v && typeof v !== 'object' && v?.toString().toLowerCase().indexOf(filter?.trim().toLowerCase()) !== -1;\n\n if (key !== '0' && typeof value !== 'object') {\n props.push({ key: addDelimiter(head, key), match: match(value), value });\n }\n\n return isObject(value) ? product.concat(paths(value, fullPath)) : product.concat(fullPath);\n }, []);\n };\n\n paths(row);\n return props;\n }\n\n private getObjProp(obj: DATA, prop: string): string {\n return prop ? prop.split('.').reduce((prev, curr) => (prev ? prev[curr] : null), obj || self) : null;\n }\n}\n","<!-- <button (click)=\"test(19250)\">19250</button>\n<button (click)=\"test(7895)\">7895</button>\n<button (click)=\"test(16860)\">16860</button>\n<button (click)=\"test(16870)\">16870</button>\n<button (click)=\"test(16880)\">16880</button>\n<button (click)=\"test(16890)\">16890</button>\n<button (click)=\"test(16900)\">16900</button>\n<button (click)=\"test(26998)\">26998</button>\n<button (click)=\"test(28000)\">28000</button> -->\n@if (isVirtualScroll) {\n <cdk-virtual-scroll-viewport\n #cdkVirtualScrollViewport\n #cdkVirtualScrollViewportElement\n class=\"eui-table-v2__scroll-viewport\"\n [itemSize]=\"itemSize\"\n [style.overflow]=\"cdkVirtualScrollViewportOverflowValue\"\n tabindex=\"0\">\n <table class=\"{{ cssClasses }}\" [style.width]=\"hostWidth\">\n @if (headerTemplate) {\n <thead #theadRef [style.top]=\"stickyHeaderTopPosition\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n <ng-container *cdkVirtualFor=\"let row of dataRendered; let i = index; trackBy: trackByFn\">\n @if (row) {\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n } @else {\n <ng-template [ngTemplateOutlet]=\"skeletonLoading\"></ng-template>\n }\n </ng-container>\n\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef [style.bottom]=\"stickyFooterBottomPosition\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n </table>\n </cdk-virtual-scroll-viewport>\n} @else {\n @if (headerTemplate) {\n <thead #theadRef>\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n </thead>\n }\n @if (bodyTemplate) {\n <tbody #tbodyRef>\n @for (row of dataRendered; let i = $index; track $index) {\n <ng-container>\n <ng-template\n [ngTemplateOutlet]=\"bodyTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, index: i }\">\n </ng-template>\n </ng-container>\n }\n @if (noDataTemplate && (data?.length === 0 || dataRendered?.length === 0)) {\n <ng-template [ngTemplateOutlet]=\"noDataTemplate\"></ng-template>\n }\n </tbody>\n }\n @if (footerTemplate) {\n <tfoot #tfootRef>\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n </tfoot>\n }\n}\n\n<ng-template #skeletonLoading>\n <tr [style.height.px]=\"itemSize\">\n <td *ngFor=\"let __ of nbCols\"><eui-skeleton line euiRounded></eui-skeleton></td>\n </tr>\n</ng-template>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'th[isStickyCol], td[isStickyCol]',\n})\nexport class EuiTableV2StickyColDirective {\n @HostBinding('class') class = 'eui-table-v2__col--sticky';\n}\n","import { Directive, HostBinding, ElementRef, OnInit } from '@angular/core';\nimport { AnimationBuilder, AnimationPlayer, animate, style } from '@angular/animations';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'tr[isExpandableRow]',\n})\nexport class EuiTableV2ExpandableRowDirective implements OnInit {\n @HostBinding('class') string = 'eui-table-v2-expandable-row';\n private animationPlayer: AnimationPlayer;\n\n constructor(private el: ElementRef, private animationBuilder: AnimationBuilder) {}\n\n get isOpen(): boolean {\n return true;\n }\n\n ngOnInit(): void {\n const animation = this.animationBuilder.build([\n style({ opacity: 0 }),\n animate('250ms', style({ opacity: 1 })),\n ]);\n\n this.animationPlayer = animation.create(this.el.nativeElement);\n this.animationPlayer.play();\n }\n}\n","import { Component, OnInit, Input, OnDestroy, booleanAttribute } from '@angular/core';\nimport { Subject, combineLatest, takeUntil } from 'rxjs';\n\nimport { EuiTableV2SelectableRowService } from '../services/eui-table-v2-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isHeaderSelectable]',\n templateUrl: './eui-table-v2-selectable-header.component.html',\n})\nexport class EuiTableV2SelectableHeaderComponent<DATA> implements OnInit, OnDestroy {\n @Input({ transform: booleanAttribute }) isHeaderSelectable = true;\n\n public isCheckedIndeterminate = false;\n public isChecked = false;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private euiDataTableSelectableRowService: EuiTableV2SelectableRowService<DATA>) {}\n\n ngOnInit(): void {\n combineLatest([\n this.euiDataTableSelectableRowService.isAllRowsSelected,\n this.euiDataTableSelectableRowService.selectedRows,\n ]).pipe(takeUntil(this.destroy$)).subscribe(([allSelected, selectedRows]) => {\n this.isChecked = allSelected;\n this.isCheckedIndeterminate = !allSelected && selectedRows.length > 0;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n get ariaLabel(): string {\n if(!this.isChecked && !this.isCheckedIndeterminate) {\n return 'Unchecked';\n }\n if(this.isCheckedIndeterminate) {\n return 'Indeterminate';\n }\n if(this.isChecked && !this.isCheckedIndeterminate) {\n return 'Checked';\n }\n }\n\n public toggleCheckedState(e: Event): void {\n this.isChecked = (e.target as HTMLInputElement).checked;\n\n if (this.isChecked) {\n this.euiDataTableSelectableRowService.selectAllRows();\n } else {\n this.euiDataTableSelectableRowService.unselectAllRows();\n }\n }\n}\n","@if (isHeaderSelectable) {\n <th class=\"eui-table__cell-select\">\n <div class=\"eui-table__cell-select-checkbox-container\">\n <input [attr.aria-label]=\"ariaLabel\" euiInputCheckBox [checked]=\"isChecked ? 'checked' : null\" [indeterminate]=\"isCheckedIndeterminate\" (click)=\"toggleCheckedState($event)\" />\n </div>\n </th>\n}\n<ng-content></ng-content>\n","import { Component, OnInit, Input, OnDestroy, OnChanges, HostBinding, booleanAttribute, ElementRef, SimpleChanges } from '@angular/core';\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\n\nimport { EuiTableV2SelectableRowService } from '../services/eui-table-v2-selectable-row.service';\n\n@Component({\n // eslint-disable-next-line\n selector: 'tr[isDataSelectable]',\n templateUrl: './eui-table-v2-selectable-row.component.html',\n})\nexport class EuiTableV2SelectableRowComponent<DATA> implements OnInit, OnDestroy, OnChanges {\n @Input() isDataSelectable: DATA;\n @Input({ transform: booleanAttribute }) isChecked = false;\n @Input({ transform: booleanAttribute }) isKeyboardSelectable = false;\n\n private propId = 'id';\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-table-v2__row',\n this.isDataSelectable ? 'eui-table-v2__row--selectable' : '',\n this.isChecked ? 'eui-table-v2__row--selected' : '',\n ]\n .join(' ')\n .trim();\n }\n\n constructor(private euiDataTableSelectableRowService: EuiTableV2SelectableRowService<DATA>, private elementRef: ElementRef) {}\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.isChecked) {\n if (c.isChecked.currentValue) {\n this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n } else {\n this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n } \n }\n }\n\n ngOnInit(): void {\n if (this.isKeyboardSelectable && this.isDataSelectable) {\n fromEvent<PointerEvent>(this.elementRef.nativeElement, 'click').pipe(takeUntil(this.destroy$)).subscribe((event) => {\n if (event.ctrlKey) {\n if (!this.isChecked) {\n this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n } else {\n this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n }\n } else if (event.shiftKey) {\n const rows = this.euiDataTableSelectableRowService.getRows();\n const lastSelectedRow = this.euiDataTableSelectableRowService.getLastSelectedRow();\n const lastSelectedRowPosition = rows.indexOf(lastSelectedRow);\n const position = rows.indexOf(this.isDataSelectable);\n\n const range =\n lastSelectedRowPosition > position\n ? rows.slice(position, lastSelectedRowPosition + 1)\n : rows.slice(lastSelectedRowPosition, position + 1);\n\n this.euiDataTableSelectableRowService.selectRows(range);\n\n window.getSelection()?.empty();\n } else {\n this.euiDataTableSelectableRowService.selectRows([this.isDataSelectable]);\n }\n });\n }\n\n this.propId = this.euiDataTableSelectableRowService.getPropId();\n this.euiDataTableSelectableRowService.selectedRows.pipe(takeUntil(this.destroy$)).subscribe((selected) => {\n this.isChecked = selected.find((s) => s[this.propId] === this.isDataSelectable[this.propId]) !== undefined;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public toggleCheckedState(e: Event): void {\n this.isChecked = (e.target as HTMLInputElement).checked;\n\n if (this.isChecked) {\n this.euiDataTableSelectableRowService.selectRow(this.isDataSelectable);\n } else {\n this.euiDataTableSelectableRowService.unselectRow(this.isDataSelectable);\n }\n }\n}\n","@if (isDataSelectable) {\n <td class=\"eui-table__cell-select\">\n <div class=\"eui-table__cell-select-checkbox-container\">\n <input\n euiInputCheckBox\n [attr.aria-label]=\"isChecked ? 'default checkbox checked' : 'default checkbox unchecked'\"\n [(ngModel)]=\"isChecked\"\n (change)=\"toggleCheckedState($event)\" />\n </div>\n </td>\n}\n<ng-content></ng-content>\n","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy, HostBinding, ViewChild, ElementRef, ViewEncapsulation } from '@angular/core';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil, debounceTime, distinctUntilChanged } from 'rxjs';\n\n@Component({\n selector: 'eui-table-v2-filter',\n templateUrl: './eui-table-v2-filter.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTableV2FilterComponent implements OnInit, OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return [\n 'eui-table-v2__filter',\n ]\n .join(' ')\n .trim();\n }\n\n @Input() placeholder: string;\n\n @Output() filterChange = new EventEmitter<string>();\n\n @ViewChild('filterInput', { read: ElementRef }) filterInput: ElementRef<HTMLInputElement>;\n\n public filter$: BehaviorSubject<string> = new BehaviorSubject(null);\n public form = new FormGroup({\n filter: new FormControl<string>(null),\n });\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n ngOnInit(): void {\n this.form.get('filter').valueChanges.pipe(debounceTime(500), distinctUntilChanged(), takeUntil(this.destroy$)).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 /**\n * Reset the filter and emit the change event.\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-v2__filter\">\n <form [formGroup]=\"form\">\n <input\n #filterInput\n euiClearable\n euiInputText\n class=\"eui-table-v2__filter-input\"\n formControlName=\"filter\"\n [attr.aria-label]=\"form.get('filter').value ? form.get('filter').value : placeholder\"\n placeholder=\"{{ placeholder }}\" />\n <eui-icon-svg class=\"eui-table-v2__filter-search-icon\" icon=\"eui-ecl-search\" fillColor=\"neutral-lighter\" aria-label=\"Search Icon\"></eui-icon-svg>\n </form>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'euiTableV2Highlight',\n})\nexport class EuiTableV2HighlightPipe implements PipeTransform {\n transform(value: string, strFilter: string, className = 'eui-table-v2--highlighted'): string {\n if (value) {\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 } else {\n return '';\n }\n }\n}\n","import { Component, OnInit, OnDestroy, Input, HostBinding, booleanAttribute, ElementRef, ViewChild } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { EuiDropdownComponent } from '@eui/components/eui-dropdown';\n\nimport { EuiTableV2SortService } from '../services/eui-table-v2-sort.service';\nimport { SortOrder } from '../models/sort.model';\n\n@Component({\n // eslint-disable-next-line\n selector: 'th[isSortable]',\n templateUrl: './eui-table-v2-sortable-col.component.html',\n})\nexport class EuiTableV2SortableColComponent implements OnInit, OnDestroy {\n @HostBinding('class')\n get cssClasses(): string {\n return ['eui-table-v2__sortable-col', this.sortDisabled ? 'eui-table-v2__sortable-col--disabled' : ''].join(' ').trim();\n }\n\n @Input() sortOn: string;\n @Input() sortOrder: SortOrder = 'asc';\n\n @Input({ transform: booleanAttribute }) defaultOrder = false;\n @Input({ transform: booleanAttribute }) sortDisabled = false;\n @Input({ transform: booleanAttribute }) isMultiSortable = false;\n\n public order: SortOrder = null;\n public isSorted = false;\n public sortedIndex: number = null;\n\n @ViewChild('euiDropdown') euiDropdown: EuiDropdownComponent;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private euiTableV2SortService: EuiTableV2SortService, private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n this.euiTableV2SortService.sorts.pipe(takeUntil(this.destroy$)).subscribe((sorts) => {\n const isSorted = sorts.find(s => s.sort === this.sortOn);\n this.isSorted = isSorted !== undefined;\n if (this.isSorted) {\n this.order = isSorted.order;\n if (sorts.length > 1) {\n this.sortedIndex = sorts.findIndex(s => s.sort === this.sortOn) + 1;\n } else {\n this.sortedIndex = null;\n }\n } else {\n this.order = null;\n this.sortedIndex = null;\n }\n });\n\n if (this.defaultOrder) {\n this.order = this.sortOrder;\n this.euiTableV2SortService.setSort(this.sortOn, this.order, this.isMultiSortable);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n public changeSort(): 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.euiTableV2SortService.setSort(this.sortOn, this.order, this.isMultiSortable);\n }\n }\n\n public onDropdownItemClick(order: SortOrder): void {\n this.euiTableV2SortService.setSort(this.sortOn, order, this.isMultiSortable);\n }\n}\n","<div class=\"eui-table-v2__sortable-col-content\">\n <div class=\"eui-table-v2__sortable-col-content-label\">\n <ng-content></ng-content>\n\n <button class=\"eui-u-ml-xs\" euiButton euiIconButton euiBasicButton (click)=\"changeSort()\">\n @if (!isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"swap-vertical:outline\"></eui-icon-svg>\n }\n @if (order === 'asc' && isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-up:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.ASCENDING-ICON' | translate\"></eui-icon-svg>\n }\n @if (order === 'desc' && isSorted && !sortDisabled) {\n <eui-icon-svg class=\"sort-icon\" icon=\"arrow-down:outline\" fillColor=\"primary\" [aria-label]=\"'eui.euitable.DESCENDING-ICON' | translate\"></eui-icon-svg>\n }\n </button>\n @if (sortedIndex && !sortDisabled) {\n <button euiSizeS euiButton euiBasicButton (click)=\"changeSort()\">\n <span class=\"eui-table-v2__sortable-col-multisort-index\">{{ sortedIndex }}</span>\n </button>\n }\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ScrollingModule } from '@angular/cdk/scrolling';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\nimport { EuiSkeletonModule } from '@eui/components/eui-skeleton';\nimport { EuiInputCheckboxModule } from '@eui/components/eui-input-checkbox';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiListModule } from '@eui/components/eui-list';\n\nimport { EuiTableV2Component } from './eui-table-v2.component';\nimport { EuiTableV2StickyColDirective } from './directives/eui-table-v2-sticky-col.directive';\nimport { EuiTableV2SelectableRowComponent } from './selectable-row/eui-table-v2-selectable-row.component';\nimport { EuiTableV2SelectableHeaderComponent } from './selectable-header/eui-table-v2-selectable-header.component';\nimport { EuiTableV2FilterComponent } from './filter/eui-table-v2-filter.component';\nimport { EuiTableV2HighlightPipe } from './pipes/eui-table-v2-highlight.pipe';\nimport { EuiTableV2SortableColComponent } from './sortable-col/eui-table-v2-sortable-col.component';\nimport { EuiTableV2ExpandableRowDirective } from './directives/eui-table-v2-expandable-row.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n EuiTemplateDirectiveModule,\n ScrollingModule,\n EuiSkeletonModule,\n EuiInputCheckboxModule,\n FormsModule,\n ReactiveFormsModule,\n EuiIconModule,\n EuiInputTextModule,\n TranslateModule,\n EuiButtonModule,\n EuiListModule,\n ],\n declarations: [\n EuiTableV2Component,\n EuiTableV2SelectableHeaderComponent,\n EuiTableV2SelectableRowComponent,\n EuiTableV2StickyColDirective,\n EuiTableV2FilterComponent,\n EuiTableV2HighlightPipe,\n EuiTableV2SortableColComponent,\n EuiTableV2ExpandableRowDirective,\n ],\n exports: [\n EuiTableV2Component,\n EuiTableV2SelectableHeaderComponent,\n EuiTableV2SelectableRowComponent,\n EuiTemplateDirectiveModule,\n EuiTableV2StickyColDirective,\n EuiTableV2FilterComponent,\n EuiTableV2HighlightPipe,\n EuiTableV2SortableColComponent,\n EuiTableV2ExpandableRowDirective,\n ],\n})\nexport class EuiTableV2Module { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiTableV2SelectableRowService","i2.EuiTableV2SortService","i3","i1","i2","i1.EuiTableV2SortService","i4"],"mappings":"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"}