ng-zorro-antd-table.mjs.map 197 KB

1
  1. {"version":3,"file":"ng-zorro-antd-table.mjs","sources":["../../components/table/src/addon/filter-trigger.component.ts","../../components/table/src/addon/filter.component.ts","../../components/table/src/addon/row-expand-button.directive.ts","../../components/table/src/addon/row-indent.directive.ts","../../components/table/src/addon/selection.component.ts","../../components/table/src/addon/sorters.component.ts","../../components/table/src/cell/cell-fixed.directive.ts","../../components/table/src/table-style.service.ts","../../components/table/src/cell/cell.directive.ts","../../components/table/src/table-data.service.ts","../../components/table/src/cell/custom-column.directive.ts","../../components/table/src/cell/td-addon.component.ts","../../components/table/src/cell/th-addon.component.ts","../../components/table/src/cell/th-measure.directive.ts","../../components/table/src/cell/th-selection.component.ts","../../components/table/src/styled/align.directive.ts","../../components/table/src/styled/ellipsis.directive.ts","../../components/table/src/styled/word-break.directive.ts","../../components/table/src/table/table-content.component.ts","../../components/table/src/table/table-fixed-row.component.ts","../../components/table/src/table/table-inner-default.component.ts","../../components/table/src/table/tr-measure.component.ts","../../components/table/src/table/tbody.component.ts","../../components/table/src/table/table-inner-scroll.component.ts","../../components/table/src/table/table-virtual-scroll.directive.ts","../../components/table/src/table/title-footer.component.ts","../../components/table/src/table/table.component.ts","../../components/table/src/table/tfoot-summary.component.ts","../../components/table/src/table/tr.directive.ts","../../components/table/src/table/thead.component.ts","../../components/table/src/table/tr-expand.directive.ts","../../components/table/src/table.module.ts","../../components/table/src/table.types.ts","../../components/table/public-api.ts","../../components/table/ng-zorro-antd-table.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { fromEventOutsideAngular } from 'ng-zorro-antd/core/util';\nimport { NzDropDownDirective, NzDropDownModule, NzDropdownMenuComponent } from 'ng-zorro-antd/dropdown';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'filterTrigger';\n\n@Component({\n selector: 'nz-filter-trigger',\n exportAs: `nzFilterTrigger`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n template: `\n <span\n nz-dropdown\n class=\"ant-table-filter-trigger\"\n nzTrigger=\"click\"\n nzPlacement=\"bottomRight\"\n [nzBackdrop]=\"nzBackdrop\"\n [nzClickHide]=\"false\"\n [nzDropdownMenu]=\"nzDropdownMenu\"\n [class.active]=\"nzActive\"\n [class.ant-table-filter-open]=\"nzVisible\"\n [nzVisible]=\"nzVisible\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n >\n <ng-content></ng-content>\n </span>\n `,\n providers: [NzDestroyService],\n imports: [NzDropDownModule]\n})\nexport class NzFilterTriggerComponent implements OnInit {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n @Input() nzActive = false;\n @Input() nzDropdownMenu!: NzDropdownMenuComponent;\n @Input() nzVisible = false;\n\n @Input({ transform: booleanAttribute }) @WithConfig() nzBackdrop = false;\n\n @Output() readonly nzVisibleChange = new EventEmitter<boolean>();\n\n @ViewChild(NzDropDownDirective, { static: true, read: ElementRef }) nzDropdown!: ElementRef<HTMLElement>;\n\n onVisibleChange(visible: boolean): void {\n this.nzVisible = visible;\n this.nzVisibleChange.next(visible);\n }\n\n hide(): void {\n this.nzVisible = false;\n this.cdr.markForCheck();\n }\n\n show(): void {\n this.nzVisible = true;\n this.cdr.markForCheck();\n }\n\n constructor(\n public readonly nzConfigService: NzConfigService,\n private cdr: ChangeDetectorRef,\n private destroy$: NzDestroyService\n ) {}\n\n ngOnInit(): void {\n fromEventOutsideAngular(this.nzDropdown.nativeElement, 'click')\n .pipe(takeUntil(this.destroy$))\n .subscribe(event => {\n event.stopPropagation();\n });\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { arraysEqual } from 'ng-zorro-antd/core/util';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzI18nService, NzTableI18nInterface } from 'ng-zorro-antd/i18n';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzRadioComponent } from 'ng-zorro-antd/radio';\n\nimport { NzTableFilterList } from '../table.types';\nimport { NzFilterTriggerComponent } from './filter-trigger.component';\n\ninterface NzThItemInterface {\n text: string;\n value: NzSafeAny;\n checked: boolean;\n}\n\n@Component({\n selector: 'nz-table-filter',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <span class=\"ant-table-column-title\">\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </span>\n @if (!customFilter) {\n <nz-filter-trigger\n [nzVisible]=\"isVisible\"\n [nzActive]=\"isChecked\"\n [nzDropdownMenu]=\"filterMenu\"\n (nzVisibleChange)=\"onVisibleChange($event)\"\n >\n <nz-icon nzType=\"filter\" nzTheme=\"fill\" />\n </nz-filter-trigger>\n <nz-dropdown-menu #filterMenu=\"nzDropdownMenu\">\n <div class=\"ant-table-filter-dropdown\">\n <ul nz-menu>\n @for (f of listOfParsedFilter; track f.value) {\n <li nz-menu-item [nzSelected]=\"f.checked\" (click)=\"check(f)\">\n @if (!filterMultiple) {\n <label nz-radio [ngModel]=\"f.checked\" (ngModelChange)=\"check(f)\"></label>\n } @else {\n <label nz-checkbox [ngModel]=\"f.checked\" (ngModelChange)=\"check(f)\"></label>\n }\n <span>{{ f.text }}</span>\n </li>\n }\n </ul>\n <div class=\"ant-table-filter-dropdown-btns\">\n <button nz-button nzType=\"link\" nzSize=\"small\" (click)=\"reset()\" [disabled]=\"!isChecked\">\n {{ locale.filterReset }}\n </button>\n <button nz-button nzType=\"primary\" nzSize=\"small\" (click)=\"confirm()\">{{ locale.filterConfirm }}</button>\n </div>\n </div>\n </nz-dropdown-menu>\n } @else {\n <ng-container [ngTemplateOutlet]=\"extraTemplate\"></ng-container>\n }\n `,\n host: { class: 'ant-table-filter-column' },\n imports: [\n NgTemplateOutlet,\n NzFilterTriggerComponent,\n NzIconModule,\n NzDropDownModule,\n NzRadioComponent,\n NzCheckboxModule,\n FormsModule,\n NzButtonModule\n ]\n})\nexport class NzTableFilterComponent implements OnChanges, OnDestroy, OnInit {\n @Input() contentTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() customFilter = false;\n @Input() extraTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() filterMultiple = true;\n @Input() listOfFilter: NzTableFilterList = [];\n @Output() readonly filterChange = new EventEmitter<NzSafeAny[] | NzSafeAny>();\n private destroy$ = new Subject<boolean>();\n locale!: NzTableI18nInterface;\n isChecked = false;\n isVisible = false;\n listOfParsedFilter: NzThItemInterface[] = [];\n listOfChecked: NzSafeAny[] = [];\n\n check(filter: NzThItemInterface): void {\n if (this.filterMultiple) {\n this.listOfParsedFilter = this.listOfParsedFilter.map(item => {\n if (item === filter) {\n return { ...item, checked: !filter.checked };\n } else {\n return item;\n }\n });\n filter.checked = !filter.checked;\n } else {\n this.listOfParsedFilter = this.listOfParsedFilter.map(item => ({ ...item, checked: item === filter }));\n }\n this.isChecked = this.getCheckedStatus(this.listOfParsedFilter);\n }\n\n confirm(): void {\n this.isVisible = false;\n this.emitFilterData();\n }\n\n reset(): void {\n this.isVisible = false;\n this.listOfParsedFilter = this.parseListOfFilter(this.listOfFilter, true);\n this.isChecked = this.getCheckedStatus(this.listOfParsedFilter);\n this.emitFilterData();\n }\n\n onVisibleChange(value: boolean): void {\n this.isVisible = value;\n if (!value) {\n this.emitFilterData();\n } else {\n this.listOfChecked = this.listOfParsedFilter.filter(item => item.checked).map(item => item.value);\n }\n }\n\n emitFilterData(): void {\n const listOfChecked = this.listOfParsedFilter.filter(item => item.checked).map(item => item.value);\n if (!arraysEqual(this.listOfChecked, listOfChecked)) {\n if (this.filterMultiple) {\n this.filterChange.emit(listOfChecked);\n } else {\n this.filterChange.emit(listOfChecked.length > 0 ? listOfChecked[0] : null);\n }\n }\n }\n\n parseListOfFilter(listOfFilter: NzTableFilterList, reset?: boolean): NzThItemInterface[] {\n return listOfFilter.map(item => {\n const checked = reset ? false : !!item.byDefault;\n return { text: item.text, value: item.value, checked };\n });\n }\n\n getCheckedStatus(listOfParsedFilter: NzThItemInterface[]): boolean {\n return listOfParsedFilter.some(item => item.checked);\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n private i18n: NzI18nService\n ) {}\n\n ngOnInit(): void {\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.locale = this.i18n.getLocaleData('Table');\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { listOfFilter } = changes;\n if (listOfFilter && this.listOfFilter && this.listOfFilter.length) {\n this.listOfParsedFilter = this.parseListOfFilter(this.listOfFilter);\n this.isChecked = this.getCheckedStatus(this.listOfParsedFilter);\n }\n }\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\n\n@Directive({\n selector: 'button[nz-row-expand-button]',\n host: {\n class: 'ant-table-row-expand-icon',\n '[type]': `'button'`,\n '[class.ant-table-row-expand-icon-expanded]': `!spaceMode && expand === true`,\n '[class.ant-table-row-expand-icon-collapsed]': `!spaceMode && expand === false`,\n '[class.ant-table-row-expand-icon-spaced]': 'spaceMode',\n '(click)': 'onHostClick()'\n }\n})\nexport class NzRowExpandButtonDirective {\n @Input() expand = false;\n @Input() spaceMode = false;\n @Output() readonly expandChange = new EventEmitter();\n\n onHostClick(): void {\n if (!this.spaceMode) {\n this.expand = !this.expand;\n this.expandChange.next(this.expand);\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: 'nz-row-indent',\n host: {\n class: 'ant-table-row-indent',\n '[style.padding-left.px]': 'indentSize'\n }\n})\nexport class NzRowIndentDirective {\n @Input() indentSize = 0;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\n@Component({\n selector: 'nz-table-selection',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n @if (showCheckbox) {\n <label\n nz-checkbox\n [class.ant-table-selection-select-all-custom]=\"showRowSelection\"\n [ngModel]=\"checked\"\n [nzDisabled]=\"disabled\"\n [nzIndeterminate]=\"indeterminate\"\n [attr.aria-label]=\"label\"\n (ngModelChange)=\"onCheckedChange($event)\"\n ></label>\n }\n @if (showRowSelection) {\n <div class=\"ant-table-selection-extra\">\n <span nz-dropdown class=\"ant-table-selection-down\" nzPlacement=\"bottomLeft\" [nzDropdownMenu]=\"selectionMenu\">\n <nz-icon nzType=\"down\" />\n </span>\n <nz-dropdown-menu #selectionMenu=\"nzDropdownMenu\">\n <ul nz-menu class=\"ant-table-selection-menu\">\n @for (selection of listOfSelections; track selection) {\n <li nz-menu-item (click)=\"selection.onSelect()\">\n {{ selection.text }}\n </li>\n }\n </ul>\n </nz-dropdown-menu>\n </div>\n }\n `,\n host: { class: 'ant-table-selection' },\n imports: [FormsModule, NzCheckboxModule, NzDropDownModule, NzIconModule]\n})\nexport class NzTableSelectionComponent {\n @Input() listOfSelections: Array<{ text: string; onSelect(...args: NzSafeAny[]): NzSafeAny }> = [];\n @Input() checked = false;\n @Input() disabled = false;\n @Input() indeterminate = false;\n @Input() label: string | null = null;\n @Input() showCheckbox = false;\n @Input() showRowSelection = false;\n @Output() readonly checkedChange = new EventEmitter<boolean>();\n\n onCheckedChange(checked: boolean): void {\n this.checked = checked;\n this.checkedChange.emit(checked);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\n\nimport { NzTableSortOrder } from '../table.types';\n\n@Component({\n selector: 'nz-table-sorters',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <span class=\"ant-table-column-title\"><ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template></span>\n <span class=\"ant-table-column-sorter\" [class.ant-table-column-sorter-full]=\"isDown && isUp\">\n <span class=\"ant-table-column-sorter-inner\">\n @if (isUp) {\n <nz-icon nzType=\"caret-up\" class=\"ant-table-column-sorter-up\" [class.active]=\"sortOrder === 'ascend'\" />\n }\n @if (isDown) {\n <nz-icon nzType=\"caret-down\" class=\"ant-table-column-sorter-down\" [class.active]=\"sortOrder === 'descend'\" />\n }\n </span>\n </span>\n `,\n host: { class: 'ant-table-column-sorters' },\n imports: [NzIconModule, NgTemplateOutlet]\n})\nexport class NzTableSortersComponent implements OnChanges {\n @Input() sortDirections: NzTableSortOrder[] = ['ascend', 'descend', null];\n @Input() sortOrder: NzTableSortOrder = null;\n @Input() contentTemplate: TemplateRef<NzSafeAny> | null = null;\n isUp = false;\n isDown = false;\n\n ngOnChanges(changes: SimpleChanges): void {\n const { sortDirections } = changes;\n if (sortDirections) {\n this.isUp = this.sortDirections.indexOf('ascend') !== -1;\n this.isDown = this.sortDirections.indexOf('descend') !== -1;\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, ElementRef, Input, OnChanges, Renderer2 } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Directive({\n selector: 'td[nzRight],th[nzRight],td[nzLeft],th[nzLeft]',\n host: {\n '[class.ant-table-cell-fix-right]': `isFixedRight`,\n '[class.ant-table-cell-fix-left]': `isFixedLeft`,\n '[style.position]': `isFixed? 'sticky' : null`\n }\n})\nexport class NzCellFixedDirective implements OnChanges {\n @Input() nzRight: string | boolean = false;\n @Input() nzLeft: string | boolean = false;\n @Input() colspan: number | null = null;\n @Input() colSpan: number | null = null;\n changes$ = new Subject<void>();\n isAutoLeft = false;\n isAutoRight = false;\n isFixedLeft = false;\n isFixedRight = false;\n isFixed = false;\n\n setAutoLeftWidth(autoLeft: string | null): void {\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', autoLeft);\n }\n\n setAutoRightWidth(autoRight: string | null): void {\n this.renderer.setStyle(this.elementRef.nativeElement, 'right', autoRight);\n }\n\n setIsFirstRight(isFirstRight: boolean): void {\n this.setFixClass(isFirstRight, 'ant-table-cell-fix-right-first');\n }\n\n setIsLastLeft(isLastLeft: boolean): void {\n this.setFixClass(isLastLeft, 'ant-table-cell-fix-left-last');\n }\n\n private setFixClass(flag: boolean, className: string): void {\n // the setFixClass function may call many times, so remove it first.\n this.renderer.removeClass(this.elementRef.nativeElement, className);\n\n if (flag) {\n this.renderer.addClass(this.elementRef.nativeElement, className);\n }\n }\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef\n ) {}\n\n ngOnChanges(): void {\n this.setIsFirstRight(false);\n this.setIsLastLeft(false);\n this.isAutoLeft = this.nzLeft === '' || this.nzLeft === true;\n this.isAutoRight = this.nzRight === '' || this.nzRight === true;\n this.isFixedLeft = this.nzLeft !== false;\n this.isFixedRight = this.nzRight !== false;\n this.isFixed = this.isFixedLeft || this.isFixedRight;\n const validatePx = (value: string | boolean): string | null => {\n if (typeof value === 'string' && value !== '') {\n return value;\n } else {\n return null;\n }\n };\n this.setAutoLeftWidth(validatePx(this.nzLeft));\n this.setAutoRightWidth(validatePx(this.nzRight));\n this.changes$.next();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Injectable, TemplateRef } from '@angular/core';\nimport { BehaviorSubject, combineLatest, merge, ReplaySubject } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzThMeasureDirective } from './cell/th-measure.directive';\nimport { NzTableSummaryFixedType } from './table.types';\n\n@Injectable()\nexport class NzTableStyleService {\n theadTemplate$ = new ReplaySubject<TemplateRef<NzSafeAny>>(1);\n tfootTemplate$ = new ReplaySubject<TemplateRef<NzSafeAny>>(1);\n tfootFixed$ = new ReplaySubject<NzTableSummaryFixedType | null>(1);\n hasFixLeft$ = new ReplaySubject<boolean>(1);\n hasFixRight$ = new ReplaySubject<boolean>(1);\n hostWidth$ = new ReplaySubject<number>(1);\n columnCount$ = new ReplaySubject<number>(1);\n showEmpty$ = new ReplaySubject<boolean>(1);\n noResult$ = new ReplaySubject<string | TemplateRef<NzSafeAny> | undefined>(1);\n private listOfThWidthConfigPx$ = new BehaviorSubject<ReadonlyArray<string | null>>([]);\n private tableWidthConfigPx$ = new BehaviorSubject<ReadonlyArray<string | null>>([]);\n manualWidthConfigPx$ = combineLatest([this.tableWidthConfigPx$, this.listOfThWidthConfigPx$]).pipe(\n map(([widthConfig, listOfWidth]) => (widthConfig.length ? widthConfig : listOfWidth))\n );\n private listOfAutoWidthPx$ = new ReplaySubject<readonly string[]>(1);\n listOfListOfThWidthPx$ = merge(\n /** init with manual width **/\n this.manualWidthConfigPx$,\n combineLatest([this.listOfAutoWidthPx$, this.manualWidthConfigPx$]).pipe(\n map(([autoWidth, manualWidth]) => {\n /** use autoWidth until column length match **/\n if (autoWidth.length === manualWidth.length) {\n return autoWidth.map((width, index) => {\n if (width === '0px') {\n return manualWidth[index] || null;\n } else {\n return manualWidth[index] || width;\n }\n });\n } else {\n return manualWidth;\n }\n })\n )\n );\n listOfMeasureColumn$ = new ReplaySubject<readonly string[]>(1);\n listOfListOfThWidth$ = this.listOfAutoWidthPx$.pipe(map(list => list.map(width => parseInt(width, 10))));\n enableAutoMeasure$ = new ReplaySubject<boolean>(1);\n\n setTheadTemplate(template: TemplateRef<NzSafeAny>): void {\n this.theadTemplate$.next(template);\n }\n\n setTfootTemplate(template: TemplateRef<NzSafeAny>): void {\n this.tfootTemplate$.next(template);\n }\n\n setTfootFixed(fixed: NzTableSummaryFixedType | null): void {\n this.tfootFixed$.next(fixed);\n }\n\n setHasFixLeft(hasFixLeft: boolean): void {\n this.hasFixLeft$.next(hasFixLeft);\n }\n\n setHasFixRight(hasFixRight: boolean): void {\n this.hasFixRight$.next(hasFixRight);\n }\n\n setTableWidthConfig(widthConfig: ReadonlyArray<string | null>): void {\n this.tableWidthConfigPx$.next(widthConfig);\n }\n\n setListOfTh(listOfTh: readonly NzThMeasureDirective[]): void {\n let columnCount = 0;\n listOfTh.forEach(th => {\n columnCount += (th.colspan && +th.colspan) || (th.colSpan && +th.colSpan) || 1;\n });\n const listOfThPx = listOfTh.map(item => item.nzWidth);\n this.columnCount$.next(columnCount);\n this.listOfThWidthConfigPx$.next(listOfThPx);\n }\n\n setListOfMeasureColumn(listOfTh: readonly NzThMeasureDirective[]): void {\n const listOfKeys: string[] = [];\n listOfTh.forEach(th => {\n const length = (th.colspan && +th.colspan) || (th.colSpan && +th.colSpan) || 1;\n for (let i = 0; i < length; i++) {\n listOfKeys.push(`measure_key_${i}`);\n }\n });\n this.listOfMeasureColumn$.next(listOfKeys);\n }\n\n setListOfAutoWidth(listOfAutoWidth: number[]): void {\n this.listOfAutoWidthPx$.next(listOfAutoWidth.map(width => `${width}px`));\n }\n\n setShowEmpty(showEmpty: boolean): void {\n this.showEmpty$.next(showEmpty);\n }\n\n setNoResult(noResult: string | TemplateRef<NzSafeAny> | undefined): void {\n this.noResult$.next(noResult);\n }\n\n setScroll(scrollX: string | null, scrollY: string | null): void {\n const enableAutoMeasure = !!(scrollX || scrollY);\n if (!enableAutoMeasure) {\n this.setListOfAutoWidth([]);\n }\n this.enableAutoMeasure$.next(enableAutoMeasure);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, inject } from '@angular/core';\n\nimport { NzTableStyleService } from '../table-style.service';\n\n@Directive({\n selector: 'th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])',\n host: {\n '[class.ant-table-cell]': 'isInsideTable'\n }\n})\nexport class NzTableCellDirective {\n isInsideTable = !!inject(NzTableStyleService, { optional: true });\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject, combineLatest } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter, map, skip, switchMap, takeUntil } from 'rxjs/operators';\n\nimport {\n NzCustomColumn,\n NzTableFilterFn,\n NzTableFilterValue,\n NzTableQueryParams,\n NzTableSortFn,\n NzTableSortOrder\n} from './table.types';\n\n@Injectable()\nexport class NzTableDataService<T> implements OnDestroy {\n private destroy$ = new Subject<boolean>();\n private pageIndex$ = new BehaviorSubject<number>(1);\n private frontPagination$ = new BehaviorSubject<boolean>(true);\n private pageSize$ = new BehaviorSubject<number>(10);\n private listOfData$ = new BehaviorSubject<readonly T[]>([]);\n listOfCustomColumn$ = new BehaviorSubject<NzCustomColumn[]>([]);\n pageIndexDistinct$ = this.pageIndex$.pipe(distinctUntilChanged());\n pageSizeDistinct$ = this.pageSize$.pipe(distinctUntilChanged());\n listOfCalcOperator$ = new BehaviorSubject<\n Array<{\n key?: string;\n sortFn: NzTableSortFn<T> | null | boolean;\n sortOrder: NzTableSortOrder;\n filterFn: NzTableFilterFn<T> | null | boolean;\n filterValue: NzTableFilterValue;\n sortPriority: number | boolean;\n }>\n >([]);\n queryParams$: Observable<NzTableQueryParams> = combineLatest([\n this.pageIndexDistinct$,\n this.pageSizeDistinct$,\n this.listOfCalcOperator$\n ]).pipe(\n debounceTime(0),\n skip(1),\n map(([pageIndex, pageSize, listOfCalc]) => ({\n pageIndex,\n pageSize,\n sort: listOfCalc\n .filter(item => item.sortFn)\n .map(item => ({\n key: item.key!,\n value: item.sortOrder\n })),\n filter: listOfCalc\n .filter(item => item.filterFn)\n .map(item => ({\n key: item.key!,\n value: item.filterValue\n }))\n }))\n );\n private listOfDataAfterCalc$ = combineLatest([this.listOfData$, this.listOfCalcOperator$]).pipe(\n map(([listOfData, listOfCalcOperator]) => {\n let listOfDataAfterCalc = [...listOfData];\n const listOfFilterOperator = listOfCalcOperator.filter(item => {\n const { filterValue, filterFn } = item;\n const isReset =\n filterValue === null ||\n filterValue === undefined ||\n (Array.isArray(filterValue) && filterValue!.length === 0);\n return !isReset && typeof filterFn === 'function';\n });\n for (const item of listOfFilterOperator) {\n const { filterFn, filterValue } = item;\n listOfDataAfterCalc = listOfDataAfterCalc.filter(data => (filterFn as NzTableFilterFn<T>)(filterValue, data));\n }\n const listOfSortOperator = listOfCalcOperator\n .filter(item => item.sortOrder !== null && typeof item.sortFn === 'function')\n .sort((a, b) => +b.sortPriority - +a.sortPriority);\n if (listOfCalcOperator.length) {\n listOfDataAfterCalc.sort((record1, record2) => {\n for (const item of listOfSortOperator) {\n const { sortFn, sortOrder } = item;\n if (sortFn && sortOrder) {\n const compareResult = (sortFn as NzTableSortFn<T>)(record1, record2, sortOrder);\n if (compareResult !== 0) {\n return sortOrder === 'ascend' ? compareResult : -compareResult;\n }\n }\n }\n return 0;\n });\n }\n return listOfDataAfterCalc;\n })\n );\n private listOfFrontEndCurrentPageData$ = combineLatest([\n this.pageIndexDistinct$,\n this.pageSizeDistinct$,\n this.listOfDataAfterCalc$\n ]).pipe(\n takeUntil(this.destroy$),\n filter(value => {\n const [pageIndex, pageSize, listOfData] = value;\n const maxPageIndex = Math.ceil(listOfData.length / pageSize) || 1;\n return pageIndex <= maxPageIndex;\n }),\n map(([pageIndex, pageSize, listOfData]) => listOfData.slice((pageIndex - 1) * pageSize, pageIndex * pageSize))\n );\n listOfCurrentPageData$ = this.frontPagination$.pipe(\n switchMap(pagination => (pagination ? this.listOfFrontEndCurrentPageData$ : this.listOfDataAfterCalc$))\n );\n total$ = this.frontPagination$.pipe(\n switchMap(pagination => (pagination ? this.listOfDataAfterCalc$ : this.listOfData$)),\n map(list => list.length),\n distinctUntilChanged()\n );\n\n updatePageSize(size: number): void {\n this.pageSize$.next(size);\n }\n updateFrontPagination(pagination: boolean): void {\n this.frontPagination$.next(pagination);\n }\n updatePageIndex(index: number): void {\n this.pageIndex$.next(index);\n }\n updateListOfData(list: readonly T[]): void {\n this.listOfData$.next(list);\n }\n updateListOfCustomColumn(list: NzCustomColumn[]): void {\n this.listOfCustomColumn$.next(list);\n }\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, ElementRef, Input, OnDestroy, OnInit, Renderer2 } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzTableDataService } from '../table-data.service';\n\n@Directive({\n selector: 'td[nzCellControl],th[nzCellControl]'\n})\nexport class NzCustomColumnDirective<T> implements OnInit, OnDestroy {\n @Input() nzCellControl: string | null = null;\n\n private destroy$ = new Subject<void>();\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n private nzTableDataService: NzTableDataService<T>\n ) {}\n\n ngOnInit(): void {\n this.nzTableDataService.listOfCustomColumn$.pipe(takeUntil(this.destroy$)).subscribe(item => {\n if (item.length) {\n item.forEach((v, i) => {\n if (v.value === this.nzCellControl) {\n if (!v.default) {\n this.renderer.setStyle(this.el.nativeElement, 'display', 'none');\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'display', 'block');\n }\n this.renderer.setStyle(this.el.nativeElement, 'order', i);\n if (!v?.fixWidth) {\n this.renderer.setStyle(this.el.nativeElement, 'flex', `1 1 ${v.width}px`);\n } else {\n this.renderer.setStyle(this.el.nativeElement, 'flex', `1 0 ${v.width}px`);\n }\n }\n });\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/* eslint-disable @angular-eslint/component-selector */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChange,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\n\nimport { NzRowExpandButtonDirective } from '../addon/row-expand-button.directive';\nimport { NzRowIndentDirective } from '../addon/row-indent.directive';\n\n@Component({\n selector:\n 'td[nzChecked], td[nzDisabled], td[nzIndeterminate], td[nzIndentSize], td[nzExpand], td[nzShowExpand], td[nzShowCheckbox]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n template: `\n @if (nzShowExpand || nzIndentSize > 0) {\n <nz-row-indent [indentSize]=\"nzIndentSize\"></nz-row-indent>\n @if (nzExpandIcon) {\n <ng-template [ngTemplateOutlet]=\"nzExpandIcon\"></ng-template>\n } @else {\n <button\n nz-row-expand-button\n [expand]=\"nzExpand\"\n (expandChange)=\"onExpandChange($event)\"\n [spaceMode]=\"!nzShowExpand\"\n ></button>\n }\n }\n @if (nzShowCheckbox) {\n <label\n nz-checkbox\n [nzDisabled]=\"nzDisabled\"\n [ngModel]=\"nzChecked\"\n [nzIndeterminate]=\"nzIndeterminate\"\n [attr.aria-label]=\"nzLabel\"\n (ngModelChange)=\"onCheckedChange($event)\"\n ></label>\n }\n <ng-content></ng-content>\n `,\n host: {\n '[class.ant-table-cell-with-append]': `nzShowExpand || nzIndentSize > 0`,\n '[class.ant-table-selection-column]': `nzShowCheckbox`\n },\n imports: [NzRowIndentDirective, NzRowExpandButtonDirective, NgTemplateOutlet, NzCheckboxModule, FormsModule]\n})\nexport class NzTdAddOnComponent implements OnChanges {\n @Input() nzChecked = false;\n @Input() nzDisabled = false;\n @Input() nzIndeterminate = false;\n @Input() nzLabel: string | null = null;\n @Input() nzIndentSize = 0;\n @Input({ transform: booleanAttribute }) nzShowExpand = false;\n @Input({ transform: booleanAttribute }) nzShowCheckbox = false;\n @Input({ transform: booleanAttribute }) nzExpand = false;\n @Input() nzExpandIcon: TemplateRef<void> | null = null;\n @Output() readonly nzCheckedChange = new EventEmitter<boolean>();\n @Output() readonly nzExpandChange = new EventEmitter<boolean>();\n private isNzShowExpandChanged = false;\n private isNzShowCheckboxChanged = false;\n\n onCheckedChange(checked: boolean): void {\n this.nzChecked = checked;\n this.nzCheckedChange.emit(checked);\n }\n\n onExpandChange(expand: boolean): void {\n this.nzExpand = expand;\n this.nzExpandChange.emit(expand);\n }\n ngOnChanges(changes: SimpleChanges): void {\n const isFirstChange = (value: SimpleChange): boolean =>\n value && value.firstChange && value.currentValue !== undefined;\n const { nzExpand, nzChecked, nzShowExpand, nzShowCheckbox } = changes;\n if (nzShowExpand) {\n this.isNzShowExpandChanged = true;\n }\n if (nzShowCheckbox) {\n this.isNzShowCheckboxChanged = true;\n }\n if (isFirstChange(nzExpand) && !this.isNzShowExpandChanged) {\n this.nzShowExpand = true;\n }\n if (isFirstChange(nzChecked) && !this.isNzShowCheckboxChanged) {\n this.nzShowCheckbox = true;\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/* eslint-disable @angular-eslint/component-selector */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { fromEventOutsideAngular } from 'ng-zorro-antd/core/util';\n\nimport { NzTableFilterComponent } from '../addon/filter.component';\nimport { NzTableSortersComponent } from '../addon/sorters.component';\nimport {\n NzTableFilterFn,\n NzTableFilterList,\n NzTableFilterValue,\n NzTableSortFn,\n NzTableSortOrder\n} from '../table.types';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'table';\n\n@Component({\n selector:\n 'th[nzColumnKey], th[nzSortFn], th[nzSortOrder], th[nzFilters], th[nzShowSort], th[nzShowFilter], th[nzCustomFilter]',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @if (nzShowFilter || nzCustomFilter) {\n <nz-table-filter\n [contentTemplate]=\"notFilterTemplate\"\n [extraTemplate]=\"extraTemplate\"\n [customFilter]=\"nzCustomFilter\"\n [filterMultiple]=\"nzFilterMultiple\"\n [listOfFilter]=\"nzFilters\"\n (filterChange)=\"onFilterValueChange($event)\"\n ></nz-table-filter>\n } @else {\n <ng-container [ngTemplateOutlet]=\"notFilterTemplate\"></ng-container>\n }\n <ng-template #notFilterTemplate>\n <ng-template [ngTemplateOutlet]=\"nzShowSort ? sortTemplate : contentTemplate\"></ng-template>\n </ng-template>\n <ng-template #extraTemplate>\n <ng-content select=\"[nz-th-extra]\"></ng-content>\n <ng-content select=\"nz-filter-trigger\"></ng-content>\n </ng-template>\n <ng-template #sortTemplate>\n <nz-table-sorters\n [sortOrder]=\"sortOrder\"\n [sortDirections]=\"sortDirections\"\n [contentTemplate]=\"contentTemplate\"\n ></nz-table-sorters>\n </ng-template>\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `,\n host: {\n '[class.ant-table-column-has-sorters]': 'nzShowSort',\n '[class.ant-table-column-sort]': `sortOrder === 'descend' || sortOrder === 'ascend'`\n },\n providers: [NzDestroyService],\n imports: [NzTableFilterComponent, NgTemplateOutlet, NzTableSortersComponent]\n})\nexport class NzThAddOnComponent<T> implements OnChanges, OnInit {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n manualClickOrder$ = new Subject<NzThAddOnComponent<T>>();\n calcOperatorChange$ = new Subject<void>();\n nzFilterValue: NzTableFilterValue = null;\n sortOrder: NzTableSortOrder = null;\n sortDirections: NzTableSortOrder[] = ['ascend', 'descend', null];\n private sortOrderChange$ = new Subject<NzTableSortOrder>();\n private isNzShowSortChanged = false;\n private isNzShowFilterChanged = false;\n @Input() nzColumnKey?: string;\n @Input() nzFilterMultiple = true;\n @Input() nzSortOrder: NzTableSortOrder = null;\n @Input() nzSortPriority: number | boolean = false;\n @Input() @WithConfig() nzSortDirections: NzTableSortOrder[] = ['ascend', 'descend', null];\n @Input() nzFilters: NzTableFilterList = [];\n @Input() nzSortFn: NzTableSortFn<T> | boolean | null = null;\n @Input() nzFilterFn: NzTableFilterFn<T> | boolean | null = null;\n @Input({ transform: booleanAttribute }) nzShowSort = false;\n @Input({ transform: booleanAttribute }) nzShowFilter = false;\n @Input({ transform: booleanAttribute }) nzCustomFilter = false;\n @Output() readonly nzCheckedChange = new EventEmitter<boolean>();\n @Output() readonly nzSortOrderChange = new EventEmitter<string | null>();\n @Output() readonly nzFilterChange = new EventEmitter<NzTableFilterValue>();\n\n getNextSortDirection(sortDirections: NzTableSortOrder[], current: NzTableSortOrder): NzTableSortOrder {\n const index = sortDirections.indexOf(current);\n if (index === sortDirections.length - 1) {\n return sortDirections[0];\n } else {\n return sortDirections[index + 1];\n }\n }\n\n setSortOrder(order: NzTableSortOrder): void {\n this.sortOrderChange$.next(order);\n }\n\n clearSortOrder(): void {\n if (this.sortOrder !== null) {\n this.setSortOrder(null);\n }\n }\n\n onFilterValueChange(value: NzTableFilterValue): void {\n this.nzFilterChange.emit(value);\n this.nzFilterValue = value;\n this.updateCalcOperator();\n }\n\n updateCalcOperator(): void {\n this.calcOperatorChange$.next();\n }\n\n constructor(\n public nzConfigService: NzConfigService,\n private host: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef,\n private ngZone: NgZone,\n private destroy$: NzDestroyService\n ) {}\n\n ngOnInit(): void {\n fromEventOutsideAngular(this.host.nativeElement, 'click')\n .pipe(\n filter(() => this.nzShowSort),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n const nextOrder = this.getNextSortDirection(this.sortDirections, this.sortOrder!);\n this.ngZone.run(() => {\n this.setSortOrder(nextOrder);\n this.manualClickOrder$.next(this);\n });\n });\n\n this.sortOrderChange$.pipe(takeUntil(this.destroy$)).subscribe(order => {\n if (this.sortOrder !== order) {\n this.sortOrder = order;\n this.nzSortOrderChange.emit(order);\n }\n this.updateCalcOperator();\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const {\n nzSortDirections,\n nzFilters,\n nzSortOrder,\n nzSortFn,\n nzFilterFn,\n nzSortPriority,\n nzFilterMultiple,\n nzShowSort,\n nzShowFilter\n } = changes;\n if (nzSortDirections) {\n if (this.nzSortDirections && this.nzSortDirections.length) {\n this.sortDirections = this.nzSortDirections;\n }\n }\n if (nzSortOrder) {\n this.sortOrder = this.nzSortOrder;\n this.setSortOrder(this.nzSortOrder);\n }\n if (nzShowSort) {\n this.isNzShowSortChanged = true;\n }\n if (nzShowFilter) {\n this.isNzShowFilterChanged = true;\n }\n const isFirstChange = (value: SimpleChange): boolean =>\n value && value.firstChange && value.currentValue !== undefined;\n if ((isFirstChange(nzSortOrder) || isFirstChange(nzSortFn)) && !this.isNzShowSortChanged) {\n this.nzShowSort = true;\n }\n if (isFirstChange(nzFilters) && !this.isNzShowFilterChanged) {\n this.nzShowFilter = true;\n }\n if ((nzFilters || nzFilterMultiple) && this.nzShowFilter) {\n const listOfValue = this.nzFilters.filter(item => item.byDefault).map(item => item.value);\n this.nzFilterValue = this.nzFilterMultiple ? listOfValue : listOfValue[0] || null;\n }\n if (nzSortFn || nzFilterFn || nzSortPriority || nzFilters) {\n this.updateCalcOperator();\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { isNil } from 'ng-zorro-antd/core/util';\n\n@Directive({\n selector: 'th'\n})\nexport class NzThMeasureDirective implements OnChanges {\n changes$ = new Subject<void>();\n @Input() nzWidth: string | null = null;\n @Input() colspan: string | number | null = null;\n @Input() colSpan: string | number | null = null;\n @Input() rowspan: string | number | null = null;\n @Input() rowSpan: string | number | null = null;\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef\n ) {}\n ngOnChanges(changes: SimpleChanges): void {\n const { nzWidth, colspan, rowspan, colSpan, rowSpan } = changes;\n if (colspan || colSpan) {\n const col = this.colspan || this.colSpan;\n if (!isNil(col)) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'colspan', `${col}`);\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'colspan');\n }\n }\n if (rowspan || rowSpan) {\n const row = this.rowspan || this.rowSpan;\n if (!isNil(row)) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'rowspan', `${row}`);\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'rowspan');\n }\n }\n if (nzWidth || colspan) {\n this.changes$.next();\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/* eslint-disable @angular-eslint/component-selector */\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChange,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzTableSelectionComponent } from '../addon/selection.component';\n\n@Component({\n selector: 'th[nzSelections],th[nzChecked],th[nzShowCheckbox],th[nzShowRowSelection]',\n preserveWhitespaces: false,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <nz-table-selection\n [checked]=\"nzChecked\"\n [disabled]=\"nzDisabled\"\n [indeterminate]=\"nzIndeterminate\"\n [label]=\"nzLabel\"\n [listOfSelections]=\"nzSelections\"\n [showCheckbox]=\"nzShowCheckbox\"\n [showRowSelection]=\"nzShowRowSelection\"\n (checkedChange)=\"onCheckedChange($event)\"\n ></nz-table-selection>\n <ng-content></ng-content>\n `,\n host: { class: 'ant-table-selection-column' },\n imports: [NzTableSelectionComponent]\n})\nexport class NzThSelectionComponent implements OnChanges {\n @Input() nzSelections: Array<{ text: string; onSelect(...args: NzSafeAny[]): NzSafeAny }> = [];\n @Input({ transform: booleanAttribute }) nzChecked = false;\n @Input({ transform: booleanAttribute }) nzDisabled = false;\n @Input() nzIndeterminate = false;\n @Input() nzLabel: string | null = null;\n @Input({ transform: booleanAttribute }) nzShowCheckbox = false;\n @Input({ transform: booleanAttribute }) nzShowRowSelection = false;\n @Output() readonly nzCheckedChange = new EventEmitter<boolean>();\n\n private isNzShowExpandChanged = false;\n private isNzShowCheckboxChanged = false;\n\n onCheckedChange(checked: boolean): void {\n this.nzChecked = checked;\n this.nzCheckedChange.emit(checked);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const isFirstChange = (value: SimpleChange): boolean =>\n value && value.firstChange && value.currentValue !== undefined;\n const { nzChecked, nzSelections, nzShowExpand, nzShowCheckbox } = changes;\n if (nzShowExpand) {\n this.isNzShowExpandChanged = true;\n }\n if (nzShowCheckbox) {\n this.isNzShowCheckboxChanged = true;\n }\n if (isFirstChange(nzSelections) && !this.isNzShowExpandChanged) {\n this.nzShowRowSelection = true;\n }\n if (isFirstChange(nzChecked) && !this.isNzShowCheckboxChanged) {\n this.nzShowCheckbox = true;\n }\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: 'th[nzAlign],td[nzAlign]',\n host: {\n '[style.text-align]': 'nzAlign'\n }\n})\nexport class NzCellAlignDirective {\n @Input() nzAlign: 'left' | 'right' | 'center' | null = null;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, Input, booleanAttribute } from '@angular/core';\n\n@Directive({\n selector: 'th[nzEllipsis],td[nzEllipsis]',\n host: {\n '[class.ant-table-cell-ellipsis]': 'nzEllipsis'\n }\n})\nexport class NzCellEllipsisDirective {\n @Input({ transform: booleanAttribute }) nzEllipsis = true;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, Input, booleanAttribute } from '@angular/core';\n\n@Directive({\n selector: 'th[nzBreakWord],td[nzBreakWord]',\n host: {\n '[style.word-break]': `nzBreakWord ? 'break-all' : ''`\n }\n})\nexport class NzCellBreakWordDirective {\n @Input({ transform: booleanAttribute }) nzBreakWord = true;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzTableLayout } from '../table.types';\n\n@Component({\n selector: 'table[nz-table-content]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n @if (listOfColWidth.length > 0) {\n <colgroup>\n @for (width of listOfColWidth; track $index) {\n <col [style.width]=\"width\" [style.minWidth]=\"width\" />\n }\n </colgroup>\n }\n @if (theadTemplate) {\n <thead class=\"ant-table-thead\">\n <ng-template [ngTemplateOutlet]=\"theadTemplate\"></ng-template>\n </thead>\n }\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n <ng-content></ng-content>\n @if (tfootTemplate) {\n <tfoot class=\"ant-table-summary\">\n <ng-template [ngTemplateOutlet]=\"tfootTemplate\"></ng-template>\n </tfoot>\n }\n `,\n host: {\n '[style.table-layout]': 'tableLayout',\n '[class.ant-table-fixed]': 'scrollX',\n '[style.width]': 'scrollX',\n '[style.min-width]': `scrollX ? '100%' : null`\n },\n imports: [NgTemplateOutlet]\n})\nexport class NzTableContentComponent {\n @Input() tableLayout: NzTableLayout = 'auto';\n @Input() theadTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() contentTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() tfootTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() listOfColWidth: ReadonlyArray<string | null> = [];\n @Input() scrollX: string | null = null;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzTableStyleService } from '../table-style.service';\n\n@Component({\n selector: 'tr[nz-table-fixed-row], tr[nzExpand]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <td class=\"nz-disable-td ant-table-cell\" #tdElement>\n @if (enableAutoMeasure$ | async) {\n <div\n class=\"ant-table-expanded-row-fixed\"\n style=\"position: sticky; left: 0; overflow: hidden;\"\n [style.width.px]=\"hostWidth$ | async\"\n >\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n </div>\n } @else {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n </td>\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `,\n imports: [AsyncPipe, NgTemplateOutlet]\n})\nexport class NzTableFixedRowComponent implements OnInit, OnDestroy, AfterViewInit {\n @ViewChild('tdElement', { static: true }) tdElement!: ElementRef;\n hostWidth$ = new BehaviorSubject<number | null>(null);\n enableAutoMeasure$ = new BehaviorSubject<boolean>(false);\n private destroy$ = new Subject<boolean>();\n\n constructor(\n private nzTableStyleService: NzTableStyleService,\n private renderer: Renderer2\n ) {}\n\n ngOnInit(): void {\n if (this.nzTableStyleService) {\n const { enableAutoMeasure$, hostWidth$ } = this.nzTableStyleService;\n enableAutoMeasure$.pipe(takeUntil(this.destroy$)).subscribe(this.enableAutoMeasure$);\n hostWidth$.pipe(takeUntil(this.destroy$)).subscribe(this.hostWidth$);\n }\n }\n\n ngAfterViewInit(): void {\n this.nzTableStyleService.columnCount$.pipe(takeUntil(this.destroy$)).subscribe(count => {\n this.renderer.setAttribute(this.tdElement.nativeElement, 'colspan', `${count}`);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzTableLayout } from '../table.types';\nimport { NzTableContentComponent } from './table-content.component';\n\n@Component({\n selector: 'nz-table-inner-default',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <div class=\"ant-table-content\">\n <table\n nz-table-content\n [contentTemplate]=\"contentTemplate\"\n [tableLayout]=\"tableLayout\"\n [listOfColWidth]=\"listOfColWidth\"\n [theadTemplate]=\"theadTemplate\"\n [tfootTemplate]=\"tfootTemplate\"\n ></table>\n </div>\n `,\n host: { class: 'ant-table-container' },\n imports: [NzTableContentComponent]\n})\nexport class NzTableInnerDefaultComponent {\n @Input() tableLayout: NzTableLayout = 'auto';\n @Input() listOfColWidth: ReadonlyArray<string | null> = [];\n @Input() theadTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() contentTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() tfootTemplate: TemplateRef<NzSafeAny> | null = null;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnDestroy,\n Output,\n QueryList,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable, Subject, combineLatest } from 'rxjs';\nimport { debounceTime, map, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { NzResizeObserver } from 'ng-zorro-antd/cdk/resize-observer';\n\n@Component({\n selector: 'tr[nz-table-measure-row]',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n @for (th of listOfMeasureColumn; track $index) {\n <td #tdElement class=\"nz-disable-td\" style=\"padding: 0; border: 0; height: 0;\"></td>\n }\n `,\n host: { class: 'ant-table-measure-now' }\n})\nexport class NzTrMeasureComponent implements AfterViewInit, OnDestroy {\n @Input() listOfMeasureColumn: readonly string[] = [];\n @Output() readonly listOfAutoWidth = new EventEmitter<number[]>();\n @ViewChildren('tdElement') listOfTdElement!: QueryList<ElementRef>;\n private destroy$ = new Subject<boolean>();\n\n constructor(\n private nzResizeObserver: NzResizeObserver,\n private ngZone: NgZone\n ) {}\n\n ngAfterViewInit(): void {\n this.listOfTdElement.changes\n .pipe(startWith(this.listOfTdElement))\n .pipe(\n switchMap(\n list =>\n combineLatest(\n list.toArray().map((item: ElementRef) =>\n this.nzResizeObserver.observe(item).pipe(\n map(([entry]) => {\n const { width } = entry.target.getBoundingClientRect();\n return Math.floor(width);\n })\n )\n )\n ) as Observable<number[]>\n ),\n debounceTime(16),\n takeUntil(this.destroy$)\n )\n .subscribe(data => {\n // Caretaker note: we don't have to re-enter the Angular zone each time the stream emits.\n // The below check is necessary to be sure that zone is not nooped through `BootstrapOptions`\n // (`bootstrapModule(AppModule, { ngZone: 'noop' }))`. The `ngZone instanceof NgZone` may return\n // `false` if zone is nooped, since `ngZone` will be an instance of the `NoopNgZone`.\n // The `ResizeObserver` might be also patched through `zone.js/dist/zone-patch-resize-observer`,\n // thus calling `ngZone.run` again will cause another change detection.\n if (this.ngZone instanceof NgZone && NgZone.isInAngularZone()) {\n this.listOfAutoWidth.next(data);\n } else {\n this.ngZone.run(() => this.listOfAutoWidth.next(data));\n }\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/* eslint-disable @angular-eslint/component-selector */\n\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, OnDestroy, TemplateRef, ViewEncapsulation, inject } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\n\nimport { NzTableStyleService } from '../table-style.service';\nimport { NzTableFixedRowComponent } from './table-fixed-row.component';\nimport { NzTrMeasureComponent } from './tr-measure.component';\n\n@Component({\n selector: 'tbody',\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n @if (listOfMeasureColumn$ | async; as listOfMeasureColumn) {\n @if (isInsideTable && listOfMeasureColumn.length) {\n <tr\n nz-table-measure-row\n [listOfMeasureColumn]=\"listOfMeasureColumn\"\n (listOfAutoWidth)=\"onListOfAutoWidthChange($event)\"\n ></tr>\n }\n }\n <ng-content></ng-content>\n @if (showEmpty$ | async) {\n <tr class=\"ant-table-placeholder\" nz-table-fixed-row>\n <nz-embed-empty nzComponentName=\"table\" [specificContent]=\"(noResult$ | async)!\"></nz-embed-empty>\n </tr>\n }\n `,\n host: {\n '[class.ant-table-tbody]': 'isInsideTable'\n },\n imports: [AsyncPipe, NzTrMeasureComponent, NzTableFixedRowComponent, NzEmptyModule]\n})\nexport class NzTbodyComponent implements OnDestroy {\n isInsideTable = false;\n showEmpty$ = new BehaviorSubject<boolean>(false);\n noResult$ = new BehaviorSubject<string | TemplateRef<NzSafeAny> | undefined>(undefined);\n listOfMeasureColumn$ = new BehaviorSubject<readonly string[]>([]);\n private destroy$ = new Subject<void>();\n private nzTableStyleService = inject(NzTableStyleService, { optional: true });\n\n constructor() {\n this.isInsideTable = !!this.nzTableStyleService;\n if (this.nzTableStyleService) {\n const { showEmpty$, noResult$, listOfMeasureColumn$ } = this.nzTableStyleService;\n noResult$.pipe(takeUntil(this.destroy$)).subscribe(this.noResult$);\n listOfMeasureColumn$.pipe(takeUntil(this.destroy$)).subscribe(this.listOfMeasureColumn$);\n showEmpty$.pipe(takeUntil(this.destroy$)).subscribe(this.showEmpty$);\n }\n }\n\n onListOfAutoWidthChange(listOfAutoWidth: number[]): void {\n this.nzTableStyleService?.setListOfAutoWidth(listOfAutoWidth);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Platform } from '@angular/cdk/platform';\nimport { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { merge, Subject } from 'rxjs';\nimport { delay, filter, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { NzResizeService } from 'ng-zorro-antd/core/services';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { fromEventOutsideAngular } from 'ng-zorro-antd/core/util';\n\nimport { NzTableSummaryFixedType } from '../table.types';\nimport { NzTableContentComponent } from './table-content.component';\nimport { NzTbodyComponent } from './tbody.component';\n\n@Component({\n selector: 'nz-table-inner-scroll',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n @if (scrollY) {\n <div #tableHeaderElement [style]=\"headerStyleMap\" class=\"ant-table-header nz-table-hide-scrollbar\">\n <table\n nz-table-content\n tableLayout=\"fixed\"\n [scrollX]=\"scrollX\"\n [listOfColWidth]=\"listOfColWidth\"\n [theadTemplate]=\"theadTemplate\"\n [tfootTemplate]=\"tfootFixed === 'top' ? tfootTemplate : null\"\n ></table>\n </div>\n @if (!virtualTemplate) {\n <div #tableBodyElement class=\"ant-table-body\" [style]=\"bodyStyleMap\">\n <table\n nz-table-content\n tableLayout=\"fixed\"\n [scrollX]=\"scrollX\"\n [listOfColWidth]=\"listOfColWidth\"\n [contentTemplate]=\"contentTemplate\"\n ></table>\n </div>\n } @else {\n <cdk-virtual-scroll-viewport\n #tableBodyElement\n [itemSize]=\"virtualItemSize\"\n [maxBufferPx]=\"virtualMaxBufferPx\"\n [minBufferPx]=\"virtualMinBufferPx\"\n [style.height]=\"data.length ? scrollY : noDataVirtualHeight\"\n >\n <table nz-table-content tableLayout=\"fixed\" [scrollX]=\"scrollX\" [listOfColWidth]=\"listOfColWidth\">\n <tbody>\n <ng-container *cdkVirtualFor=\"let item of data; let i = index; trackBy: virtualForTrackBy\">\n <ng-template\n [ngTemplateOutlet]=\"virtualTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: i }\"\n ></ng-template>\n </ng-container>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n }\n @if (tfootFixed === 'bottom') {\n <div #tableFootElement class=\"ant-table-summary\" [style]=\"headerStyleMap\">\n <table\n nz-table-content\n tableLayout=\"fixed\"\n [scrollX]=\"scrollX\"\n [listOfColWidth]=\"listOfColWidth\"\n [tfootTemplate]=\"tfootTemplate\"\n ></table>\n </div>\n }\n } @else {\n <div class=\"ant-table-content\" #tableBodyElement [style]=\"bodyStyleMap\">\n <table\n nz-table-content\n tableLayout=\"fixed\"\n [scrollX]=\"scrollX\"\n [listOfColWidth]=\"listOfColWidth\"\n [theadTemplate]=\"theadTemplate\"\n [contentTemplate]=\"contentTemplate\"\n [tfootTemplate]=\"tfootTemplate\"\n ></table>\n </div>\n }\n `,\n host: { class: 'ant-table-container' },\n imports: [NzTableContentComponent, ScrollingModule, NgTemplateOutlet, NzTbodyComponent]\n})\nexport class NzTableInnerScrollComponent<T> implements OnChanges, AfterViewInit, OnDestroy {\n @Input() data: readonly T[] = [];\n @Input() scrollX: string | null = null;\n @Input() scrollY: string | null = null;\n @Input() contentTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() widthConfig: string[] = [];\n @Input() listOfColWidth: ReadonlyArray<string | null> = [];\n @Input() theadTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() tfootTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() tfootFixed: NzTableSummaryFixedType | null = null;\n @Input() virtualTemplate: TemplateRef<NzSafeAny> | null = null;\n @Input() virtualItemSize = 0;\n @Input() virtualMaxBufferPx = 200;\n @Input() virtualMinBufferPx = 100;\n @Input() tableMainElement?: HTMLDivElement;\n @Input() virtualForTrackBy: TrackByFunction<T> = index => index;\n @ViewChild('tableHeaderElement', { read: ElementRef }) tableHeaderElement!: ElementRef;\n @ViewChild('tableBodyElement', { read: ElementRef }) tableBodyElement!: ElementRef;\n @ViewChild('tableFootElement', { read: ElementRef }) tableFootElement?: ElementRef;\n @ViewChild(CdkVirtualScrollViewport, { read: CdkVirtualScrollViewport })\n cdkVirtualScrollViewport?: CdkVirtualScrollViewport;\n headerStyleMap = {};\n bodyStyleMap = {};\n @Input() verticalScrollBarWidth = 0;\n @Input() noDataVirtualHeight = '182px';\n private data$ = new Subject<void>();\n private scroll$ = new Subject<void>();\n private destroy$ = new Subject<void>();\n\n setScrollPositionClassName(clear: boolean = false): void {\n const { scrollWidth, scrollLeft, clientWidth } = this.tableBodyElement.nativeElement;\n const leftClassName = 'ant-table-ping-left';\n const rightClassName = 'ant-table-ping-right';\n if ((scrollWidth === clientWidth && scrollWidth !== 0) || clear) {\n this.renderer.removeClass(this.tableMainElement, leftClassName);\n this.renderer.removeClass(this.tableMainElement, rightClassName);\n } else if (scrollLeft === 0) {\n this.renderer.removeClass(this.tableMainElement, leftClassName);\n this.renderer.addClass(this.tableMainElement, rightClassName);\n } else if (scrollWidth === scrollLeft + clientWidth) {\n this.renderer.removeClass(this.tableMainElement, rightClassName);\n this.renderer.addClass(this.tableMainElement, leftClassName);\n } else {\n this.renderer.addClass(this.tableMainElement, leftClassName);\n this.renderer.addClass(this.tableMainElement, rightClassName);\n }\n }\n\n constructor(\n private renderer: Renderer2,\n private ngZone: NgZone,\n private platform: Platform,\n private resizeService: NzResizeService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const { scrollX, scrollY, data } = changes;\n if (scrollX || scrollY) {\n const hasVerticalScrollBar = this.verticalScrollBarWidth !== 0;\n this.headerStyleMap = {\n overflowX: 'hidden',\n overflowY: this.scrollY && hasVerticalScrollBar ? 'scroll' : 'hidden'\n };\n this.bodyStyleMap = {\n overflowY: this.scrollY ? 'scroll' : 'hidden',\n overflowX: this.scrollX ? 'auto' : null,\n maxHeight: this.scrollY\n };\n // Caretaker note: we have to emit the value outside the Angular zone, thus DOM timer (`delay(0)`) and `scroll`\n // event listener will be also added outside the Angular zone.\n this.ngZone.runOutsideAngular(() => this.scroll$.next());\n }\n if (data) {\n // See the comment above.\n this.ngZone.runOutsideAngular(() => this.data$.next());\n }\n }\n\n ngAfterViewInit(): void {\n if (this.platform.isBrowser) {\n this.ngZone.runOutsideAngular(() => {\n const scrollEvent$ = this.scroll$.pipe(\n startWith(null),\n delay(0),\n switchMap(() =>\n fromEventOutsideAngular<MouseEvent>(this.tableBodyElement.nativeElement, 'scroll').pipe(startWith(true))\n ),\n takeUntil(this.destroy$)\n );\n const resize$ = this.resizeService.subscribe().pipe(takeUntil(this.destroy$));\n const data$ = this.data$.pipe(takeUntil(this.destroy$));\n const setClassName$ = merge(scrollEvent$, resize$, data$, this.scroll$).pipe(\n startWith(true),\n delay(0),\n takeUntil(this.destroy$)\n );\n setClassName$.subscribe(() => this.setScrollPositionClassName());\n scrollEvent$.pipe(filter(() => !!this.scrollY)).subscribe(() => {\n this.tableHeaderElement.nativeElement.scrollLeft = this.tableBodyElement.nativeElement.scrollLeft;\n if (this.tableFootElement) {\n this.tableFootElement.nativeElement.scrollLeft = this.tableBodyElement.nativeElement.scrollLeft;\n }\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.setScrollPositionClassName(true);\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, TemplateRef } from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Directive({\n selector: '[nz-virtual-scroll]',\n exportAs: 'nzVirtualScroll'\n})\nexport class NzTableVirtualScrollDirective<T> {\n constructor(public templateRef: TemplateRef<{ $implicit: T; index: number }>) {}\n\n static ngTemplateContextGuard<T>(\n _dir: NzTableVirtualScrollDirective<T>,\n _ctx: NzSafeAny\n ): _ctx is { $implicit: T; index: number } {\n return true;\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectionStrategy, Component, Input, TemplateRef, ViewEncapsulation } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\n@Component({\n selector: 'nz-table-title-footer',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <ng-container *nzStringTemplateOutlet=\"title\">{{ title }}</ng-container>\n <ng-container *nzStringTemplateOutlet=\"footer\">{{ footer }}</ng-container>\n `,\n host: {\n '[class.ant-table-title]': `title !== null`,\n '[class.ant-table-footer]': `footer !== null`\n },\n imports: [NzOutletModule]\n})\nexport class NzTableTitleFooterComponent {\n @Input() title: string | TemplateRef<NzSafeAny> | null = null;\n @Input() footer: string | TemplateRef<NzSafeAny> | null = null;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { BehaviorSubject, Subject, combineLatest } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\nimport { NzResizeObserver } from 'ng-zorro-antd/cdk/resize-observer';\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\nimport { measureScrollbar } from 'ng-zorro-antd/core/util';\nimport { NzPaginationModule, PaginationItemRenderContext } from 'ng-zorro-antd/pagination';\nimport { NzSpinComponent } from 'ng-zorro-antd/spin';\n\nimport { NzTableDataService } from '../table-data.service';\nimport { NzTableStyleService } from '../table-style.service';\nimport {\n NzCustomColumn,\n NzTableLayout,\n NzTablePaginationPosition,\n NzTablePaginationType,\n NzTableQueryParams,\n NzTableSize,\n NzTableSummaryFixedType\n} from '../table.types';\nimport { NzTableInnerDefaultComponent } from './table-inner-default.component';\nimport { NzTableInnerScrollComponent } from './table-inner-scroll.component';\nimport { NzTableVirtualScrollDirective } from './table-virtual-scroll.directive';\nimport { NzTableTitleFooterComponent } from './title-footer.component';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'table';\n\n@Component({\n selector: 'nz-table',\n exportAs: 'nzTable',\n providers: [NzTableStyleService, NzTableDataService],\n preserveWhitespaces: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <nz-spin [nzDelay]=\"nzLoadingDelay\" [nzSpinning]=\"nzLoading\" [nzIndicator]=\"nzLoadingIndicator\">\n @if (nzPaginationPosition === 'both' || nzPaginationPosition === 'top') {\n <ng-template [ngTemplateOutlet]=\"paginationTemplate\"></ng-template>\n }\n <div\n #tableMainElement\n class=\"ant-table\"\n [class.ant-table-rtl]=\"dir === 'rtl'\"\n [class.ant-table-fixed-header]=\"nzData.length && scrollY\"\n [class.ant-table-fixed-column]=\"scrollX\"\n [class.ant-table-has-fix-left]=\"hasFixLeft\"\n [class.ant-table-has-fix-right]=\"hasFixRight\"\n [class.ant-table-bordered]=\"nzBordered\"\n [class.nz-table-out-bordered]=\"nzOuterBordered && !nzBordered\"\n [class.ant-table-middle]=\"nzSize === 'middle'\"\n [class.ant-table-small]=\"nzSize === 'small'\"\n >\n @if (nzTitle) {\n <nz-table-title-footer [title]=\"nzTitle\"></nz-table-title-footer>\n }\n @if (scrollY || scrollX) {\n <nz-table-inner-scroll\n [data]=\"data\"\n [scrollX]=\"scrollX\"\n [scrollY]=\"scrollY\"\n [contentTemplate]=\"contentTemplate\"\n [listOfColWidth]=\"listOfAutoColWidth\"\n [theadTemplate]=\"theadTemplate\"\n [tfootTemplate]=\"tfootTemplate\"\n [tfootFixed]=\"tfootFixed\"\n [verticalScrollBarWidth]=\"verticalScrollBarWidth\"\n [virtualTemplate]=\"nzVirtualScrollDirective ? nzVirtualScrollDirective.templateRef : null\"\n [virtualItemSize]=\"nzVirtualItemSize\"\n [virtualMaxBufferPx]=\"nzVirtualMaxBufferPx\"\n [virtualMinBufferPx]=\"nzVirtualMinBufferPx\"\n [tableMainElement]=\"tableMainElement\"\n [virtualForTrackBy]=\"nzVirtualForTrackBy\"\n [noDataVirtualHeight]=\"noDataVirtualHeight\"\n ></nz-table-inner-scroll>\n } @else {\n <nz-table-inner-default\n [tableLayout]=\"nzTableLayout\"\n [listOfColWidth]=\"listOfManualColWidth\"\n [theadTemplate]=\"theadTemplate\"\n [contentTemplate]=\"contentTemplate\"\n [tfootTemplate]=\"tfootTemplate\"\n ></nz-table-inner-default>\n }\n @if (nzFooter) {\n <nz-table-title-footer [footer]=\"nzFooter\"></nz-table-title-footer>\n }\n </div>\n @if (nzPaginationPosition === 'both' || nzPaginationPosition === 'bottom') {\n <ng-template [ngTemplateOutlet]=\"paginationTemplate\"></ng-template>\n }\n </nz-spin>\n <ng-template #paginationTemplate>\n @if (nzShowPagination && data.length) {\n <nz-pagination\n [hidden]=\"!showPagination\"\n class=\"ant-table-pagination ant-table-pagination-right\"\n [nzShowSizeChanger]=\"nzShowSizeChanger\"\n [nzPageSizeOptions]=\"nzPageSizeOptions\"\n [nzItemRender]=\"nzItemRender!\"\n [nzShowQuickJumper]=\"nzShowQuickJumper\"\n [nzHideOnSinglePage]=\"nzHideOnSinglePage\"\n [nzShowTotal]=\"nzShowTotal\"\n [nzSize]=\"nzPaginationType === 'small' ? 'small' : nzSize === 'default' ? 'default' : 'small'\"\n [nzPageSize]=\"nzPageSize\"\n [nzTotal]=\"nzTotal\"\n [nzSimple]=\"nzSimple\"\n [nzPageIndex]=\"nzPageIndex\"\n (nzPageSizeChange)=\"onPageSizeChange($event)\"\n (nzPageIndexChange)=\"onPageIndexChange($event)\"\n ></nz-pagination>\n }\n </ng-template>\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n `,\n host: {\n class: 'ant-table-wrapper',\n '[class.ant-table-wrapper-rtl]': 'dir === \"rtl\"',\n '[class.ant-table-custom-column]': `nzCustomColumn.length`\n },\n imports: [\n NzSpinComponent,\n NgTemplateOutlet,\n NzTableTitleFooterComponent,\n NzTableInnerScrollComponent,\n NzTableInnerDefaultComponent,\n NzPaginationModule\n ]\n})\nexport class NzTableComponent<T> implements OnInit, OnDestroy, OnChanges, AfterViewInit {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n @Input() nzTableLayout: NzTableLayout = 'auto';\n @Input() nzShowTotal: TemplateRef<{ $implicit: number; range: [number, number] }> | null = null;\n @Input() nzItemRender: TemplateRef<PaginationItemRenderContext> | null = null;\n @Input() nzTitle: string | TemplateRef<NzSafeAny> | null = null;\n @Input() nzFooter: string | TemplateRef<NzSafeAny> | null = null;\n @Input() nzNoResult: string | TemplateRef<NzSafeAny> | undefined = undefined;\n @Input() nzPageSizeOptions = [10, 20, 30, 40, 50];\n @Input() nzVirtualItemSize = 0;\n @Input() nzVirtualMaxBufferPx = 200;\n @Input() nzVirtualMinBufferPx = 100;\n @Input() nzVirtualForTrackBy: TrackByFunction<T> = index => index;\n @Input() nzLoadingDelay = 0;\n @Input() nzPageIndex = 1;\n @Input() nzPageSize = 10;\n @Input() nzTotal = 0;\n @Input() nzWidthConfig: ReadonlyArray<string | null> = [];\n @Input() nzData: readonly T[] = [];\n @Input() nzCustomColumn: NzCustomColumn[] = [];\n\n @Input() nzPaginationPosition: NzTablePaginationPosition = 'bottom';\n @Input() nzScroll: { x?: string | null; y?: string | null } = { x: null, y: null };\n @Input() noDataVirtualHeight = '182px';\n @Input() nzPaginationType: NzTablePaginationType = 'default';\n @Input({ transform: booleanAttribute }) nzFrontPagination = true;\n @Input({ transform: booleanAttribute }) nzTemplateMode = false;\n @Input({ transform: booleanAttribute }) nzShowPagination = true;\n @Input({ transform: booleanAttribute }) nzLoading = false;\n @Input({ transform: booleanAttribute }) nzOuterBordered = false;\n @Input() @WithConfig() nzLoadingIndicator: TemplateRef<NzSafeAny> | null = null;\n @Input({ transform: booleanAttribute }) @WithConfig() nzBordered: boolean = false;\n @Input() @WithConfig() nzSize: NzTableSize = 'default';\n @Input({ transform: booleanAttribute }) @WithConfig() nzShowSizeChanger: boolean = false;\n @Input({ transform: booleanAttribute }) @WithConfig() nzHideOnSinglePage: boolean = false;\n @Input({ transform: booleanAttribute }) @WithConfig() nzShowQuickJumper: boolean = false;\n @Input({ transform: booleanAttribute }) @WithConfig() nzSimple: boolean = false;\n @Output() readonly nzPageSizeChange = new EventEmitter<number>();\n @Output() readonly nzPageIndexChange = new EventEmitter<number>();\n @Output() readonly nzQueryParams = new EventEmitter<NzTableQueryParams>();\n @Output() readonly nzCurrentPageDataChange = new EventEmitter<readonly T[]>();\n @Output() readonly nzCustomColumnChange = new EventEmitter<readonly NzCustomColumn[]>();\n\n /** public data for ngFor tr */\n public data: readonly T[] = [];\n public cdkVirtualScrollViewport?: CdkVirtualScrollViewport;\n scrollX: string | null = null;\n scrollY: string | null = null;\n theadTemplate: TemplateRef<NzSafeAny> | null = null;\n tfootTemplate: TemplateRef<NzSafeAny> | null = null;\n tfootFixed: NzTableSummaryFixedType | null = null;\n listOfAutoColWidth: ReadonlyArray<string | null> = [];\n listOfManualColWidth: ReadonlyArray<string | null> = [];\n hasFixLeft = false;\n hasFixRight = false;\n showPagination = true;\n private destroy$ = new Subject<void>();\n private templateMode$ = new BehaviorSubject<boolean>(false);\n dir: Direction = 'ltr';\n @ContentChild(NzTableVirtualScrollDirective, { static: false })\n nzVirtualScrollDirective!: NzTableVirtualScrollDirective<T>;\n @ViewChild(NzTableInnerScrollComponent) nzTableInnerScrollComponent!: NzTableInnerScrollComponent<T>;\n verticalScrollBarWidth = 0;\n onPageSizeChange(size: number): void {\n this.nzTableDataService.updatePageSize(size);\n }\n\n onPageIndexChange(index: number): void {\n this.nzTableDataService.updatePageIndex(index);\n }\n\n constructor(\n private elementRef: ElementRef,\n private nzResizeObserver: NzResizeObserver,\n private nzConfigService: NzConfigService,\n private cdr: ChangeDetectorRef,\n private nzTableStyleService: NzTableStyleService,\n private nzTableDataService: NzTableDataService<T>,\n private directionality: Directionality\n ) {\n this.nzConfigService\n .getConfigChangeEventForComponent(NZ_CONFIG_MODULE_NAME)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.cdr.markForCheck();\n });\n }\n\n ngOnInit(): void {\n const { pageIndexDistinct$, pageSizeDistinct$, listOfCurrentPageData$, total$, queryParams$, listOfCustomColumn$ } =\n this.nzTableDataService;\n const { theadTemplate$, tfootTemplate$, tfootFixed$, hasFixLeft$, hasFixRight$ } = this.nzTableStyleService;\n\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n\n queryParams$.pipe(takeUntil(this.destroy$)).subscribe(this.nzQueryParams);\n pageIndexDistinct$.pipe(takeUntil(this.destroy$)).subscribe(pageIndex => {\n if (pageIndex !== this.nzPageIndex) {\n this.nzPageIndex = pageIndex;\n this.nzPageIndexChange.next(pageIndex);\n }\n });\n pageSizeDistinct$.pipe(takeUntil(this.destroy$)).subscribe(pageSize => {\n if (pageSize !== this.nzPageSize) {\n this.nzPageSize = pageSize;\n this.nzPageSizeChange.next(pageSize);\n }\n });\n total$\n .pipe(\n takeUntil(this.destroy$),\n filter(() => this.nzFrontPagination)\n )\n .subscribe(total => {\n if (total !== this.nzTotal) {\n this.nzTotal = total;\n this.cdr.markForCheck();\n }\n });\n listOfCurrentPageData$.pipe(takeUntil(this.destroy$)).subscribe(data => {\n this.data = data;\n this.nzCurrentPageDataChange.next(data);\n this.cdr.markForCheck();\n });\n\n listOfCustomColumn$.pipe(takeUntil(this.destroy$)).subscribe(data => {\n this.nzCustomColumn = data;\n this.nzCustomColumnChange.next(data);\n this.cdr.markForCheck();\n });\n\n theadTemplate$.pipe(takeUntil(this.destroy$)).subscribe(theadTemplate => {\n this.theadTemplate = theadTemplate;\n this.cdr.markForCheck();\n });\n\n combineLatest([tfootTemplate$, tfootFixed$])\n .pipe(takeUntil(this.destroy$))\n .subscribe(([tfootTemplate, tfootFixed]) => {\n this.tfootTemplate = tfootTemplate;\n this.tfootFixed = tfootFixed;\n this.cdr.markForCheck();\n });\n\n hasFixLeft$.pipe(takeUntil(this.destroy$)).subscribe(hasFixLeft => {\n this.hasFixLeft = hasFixLeft;\n this.cdr.markForCheck();\n });\n\n hasFixRight$.pipe(takeUntil(this.destroy$)).subscribe(hasFixRight => {\n this.hasFixRight = hasFixRight;\n this.cdr.markForCheck();\n });\n\n combineLatest([total$, this.templateMode$])\n .pipe(\n map(([total, templateMode]) => total === 0 && !templateMode),\n takeUntil(this.destroy$)\n )\n .subscribe(empty => {\n this.nzTableStyleService.setShowEmpty(empty);\n });\n\n this.verticalScrollBarWidth = measureScrollbar('vertical');\n this.nzTableStyleService.listOfListOfThWidthPx$.pipe(takeUntil(this.destroy$)).subscribe(listOfWidth => {\n this.listOfAutoColWidth = listOfWidth;\n this.cdr.markForCheck();\n });\n this.nzTableStyleService.manualWidthConfigPx$.pipe(takeUntil(this.destroy$)).subscribe(listOfWidth => {\n this.listOfManualColWidth = listOfWidth;\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const {\n nzScroll,\n nzPageIndex,\n nzPageSize,\n nzFrontPagination,\n nzData,\n nzCustomColumn,\n nzWidthConfig,\n nzNoResult,\n nzTemplateMode\n } = changes;\n if (nzPageIndex) {\n this.nzTableDataService.updatePageIndex(this.nzPageIndex);\n }\n if (nzPageSize) {\n this.nzTableDataService.updatePageSize(this.nzPageSize);\n }\n if (nzData) {\n this.nzData = this.nzData || [];\n this.nzTableDataService.updateListOfData(this.nzData);\n }\n if (nzCustomColumn) {\n this.nzCustomColumn = this.nzCustomColumn || [];\n this.nzTableDataService.updateListOfCustomColumn(this.nzCustomColumn);\n }\n if (nzFrontPagination) {\n this.nzTableDataService.updateFrontPagination(this.nzFrontPagination);\n }\n if (nzScroll) {\n this.setScrollOnChanges();\n }\n if (nzWidthConfig) {\n this.nzTableStyleService.setTableWidthConfig(this.nzWidthConfig);\n }\n if (nzTemplateMode) {\n this.templateMode$.next(this.nzTemplateMode);\n }\n if (nzNoResult) {\n this.nzTableStyleService.setNoResult(this.nzNoResult);\n }\n\n this.updateShowPagination();\n }\n\n ngAfterViewInit(): void {\n this.nzResizeObserver\n .observe(this.elementRef)\n .pipe(\n map(([entry]) => {\n const { width } = entry.target.getBoundingClientRect();\n const scrollBarWidth = this.scrollY ? this.verticalScrollBarWidth : 0;\n return Math.floor(width - scrollBarWidth);\n }),\n takeUntil(this.destroy$)\n )\n .subscribe(this.nzTableStyleService.hostWidth$);\n if (this.nzTableInnerScrollComponent && this.nzTableInnerScrollComponent.cdkVirtualScrollViewport) {\n this.cdkVirtualScrollViewport = this.nzTableInnerScrollComponent.cdkVirtualScrollViewport;\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private setScrollOnChanges(): void {\n this.scrollX = (this.nzScroll && this.nzScroll.x) || null;\n this.scrollY = (this.nzScroll && this.nzScroll.y) || null;\n this.nzTableStyleService.setScroll(this.scrollX, this.scrollY);\n }\n\n private updateShowPagination(): void {\n this.showPagination =\n (this.nzHideOnSinglePage && this.nzData.length > this.nzPageSize) ||\n (this.nzData.length > 0 && !this.nzHideOnSinglePage) ||\n (!this.nzFrontPagination && this.nzTotal > this.nzPageSize);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzTableStyleService } from '../table-style.service';\nimport { NzTableSummaryFixedType } from '../table.types';\n\nfunction fixedAttribute(value: NzTableSummaryFixedType | boolean | unknown): NzTableSummaryFixedType | null {\n return value === 'top' || value === 'bottom' ? value : booleanAttribute(value) ? 'bottom' : null;\n}\n\n/* eslint-disable @angular-eslint/component-selector */\n@Component({\n selector: 'tfoot[nzSummary]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n @if (!isInsideTable || !nzFixed) {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n `,\n imports: [NgTemplateOutlet],\n host: {\n '[class.ant-table-summary]': '!isInsideTable || !nzFixed'\n }\n})\nexport class NzTfootSummaryComponent implements OnInit, OnChanges {\n @Input({ transform: fixedAttribute }) nzFixed: NzTableSummaryFixedType | null = null;\n @ViewChild('contentTemplate', { static: true }) templateRef!: TemplateRef<NzSafeAny>;\n private nzTableStyleService = inject(NzTableStyleService, { optional: true });\n isInsideTable = !!this.nzTableStyleService;\n\n ngOnInit(): void {\n this.nzTableStyleService?.setTfootTemplate(this.templateRef);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzFixed } = changes;\n this.nzTableStyleService?.setTfootFixed(nzFixed.currentValue);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { AfterContentInit, ContentChildren, Directive, OnDestroy, QueryList, inject } from '@angular/core';\nimport { Observable, ReplaySubject, Subject, combineLatest, merge } from 'rxjs';\nimport { map, mergeMap, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { NzCellFixedDirective } from '../cell/cell-fixed.directive';\nimport { NzThMeasureDirective } from '../cell/th-measure.directive';\nimport { NzTableStyleService } from '../table-style.service';\n\n@Directive({\n selector:\n 'tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])',\n host: {\n '[class.ant-table-row]': 'isInsideTable'\n }\n})\nexport class NzTrDirective implements AfterContentInit, OnDestroy {\n @ContentChildren(NzThMeasureDirective) listOfNzThDirective!: QueryList<NzThMeasureDirective>;\n @ContentChildren(NzCellFixedDirective) listOfCellFixedDirective!: QueryList<NzCellFixedDirective>;\n private destroy$ = new Subject<void>();\n private listOfFixedColumns$ = new ReplaySubject<NzCellFixedDirective[]>(1);\n private listOfColumns$ = new ReplaySubject<NzThMeasureDirective[]>(1);\n listOfFixedColumnsChanges$: Observable<NzCellFixedDirective[]> = this.listOfFixedColumns$.pipe(\n switchMap(list =>\n merge(...[this.listOfFixedColumns$, ...list.map((c: NzCellFixedDirective) => c.changes$)]).pipe(\n mergeMap(() => this.listOfFixedColumns$)\n )\n ),\n takeUntil(this.destroy$)\n );\n listOfFixedLeftColumnChanges$ = this.listOfFixedColumnsChanges$.pipe(\n map(list => list.filter(item => item.nzLeft !== false))\n );\n listOfFixedRightColumnChanges$ = this.listOfFixedColumnsChanges$.pipe(\n map(list => list.filter(item => item.nzRight !== false))\n );\n listOfColumnsChanges$: Observable<NzThMeasureDirective[]> = this.listOfColumns$.pipe(\n switchMap(list =>\n merge(...[this.listOfColumns$, ...list.map((c: NzThMeasureDirective) => c.changes$)]).pipe(\n mergeMap(() => this.listOfColumns$)\n )\n ),\n takeUntil(this.destroy$)\n );\n\n private nzTableStyleService = inject(NzTableStyleService, { optional: true });\n isInsideTable = !!this.nzTableStyleService;\n\n ngAfterContentInit(): void {\n if (this.nzTableStyleService) {\n this.listOfCellFixedDirective.changes\n .pipe(startWith(this.listOfCellFixedDirective), takeUntil(this.destroy$))\n .subscribe(this.listOfFixedColumns$);\n this.listOfNzThDirective.changes\n .pipe(startWith(this.listOfNzThDirective), takeUntil(this.destroy$))\n .subscribe(this.listOfColumns$);\n /** set last left and first right **/\n this.listOfFixedLeftColumnChanges$.subscribe(listOfFixedLeft => {\n listOfFixedLeft.forEach(cell => cell.setIsLastLeft(cell === listOfFixedLeft[listOfFixedLeft.length - 1]));\n });\n this.listOfFixedRightColumnChanges$.subscribe(listOfFixedRight => {\n listOfFixedRight.forEach(cell => cell.setIsFirstRight(cell === listOfFixedRight[0]));\n });\n /** calculate fixed nzLeft and nzRight **/\n combineLatest([this.nzTableStyleService.listOfListOfThWidth$, this.listOfFixedLeftColumnChanges$])\n .pipe(takeUntil(this.destroy$))\n .subscribe(([listOfAutoWidth, listOfLeftCell]) => {\n listOfLeftCell.forEach((cell, index) => {\n if (cell.isAutoLeft) {\n const currentArray = listOfLeftCell.slice(0, index);\n const count = currentArray.reduce((pre, cur) => pre + (cur.colspan || cur.colSpan || 1), 0);\n const width = listOfAutoWidth.slice(0, count).reduce((pre, cur) => pre + cur, 0);\n cell.setAutoLeftWidth(`${width}px`);\n }\n });\n });\n combineLatest([this.nzTableStyleService.listOfListOfThWidth$, this.listOfFixedRightColumnChanges$])\n .pipe(takeUntil(this.destroy$))\n .subscribe(([listOfAutoWidth, listOfRightCell]) => {\n listOfRightCell.forEach((_, index) => {\n const cell = listOfRightCell[listOfRightCell.length - index - 1];\n if (cell.isAutoRight) {\n const currentArray = listOfRightCell.slice(listOfRightCell.length - index, listOfRightCell.length);\n const count = currentArray.reduce((pre, cur) => pre + (cur.colspan || cur.colSpan || 1), 0);\n const width = listOfAutoWidth\n .slice(listOfAutoWidth.length - count, listOfAutoWidth.length)\n .reduce((pre, cur) => pre + cur, 0);\n cell.setAutoRightWidth(`${width}px`);\n }\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\n/* eslint-disable @angular-eslint/component-selector */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject\n} from '@angular/core';\nimport { EMPTY, Observable, Subject, merge, of } from 'rxjs';\nimport { delay, map, mergeMap, startWith, switchMap, takeUntil } from 'rxjs/operators';\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nimport { NzThAddOnComponent } from '../cell/th-addon.component';\nimport { NzTableDataService } from '../table-data.service';\nimport { NzTableStyleService } from '../table-style.service';\nimport { NzTrDirective } from './tr.directive';\n\n@Component({\n selector: 'thead:not(.ant-table-thead)',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n template: `\n <ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>\n @if (!isInsideTable) {\n <ng-template [ngTemplateOutlet]=\"contentTemplate\"></ng-template>\n }\n `,\n imports: [NgTemplateOutlet]\n})\nexport class NzTheadComponent<T> implements AfterContentInit, OnDestroy, AfterViewInit, OnInit {\n private destroy$ = new Subject<void>();\n isInsideTable = false;\n @ViewChild('contentTemplate', { static: true }) templateRef!: TemplateRef<NzSafeAny>;\n @ContentChildren(NzTrDirective, { descendants: true }) listOfNzTrDirective!: QueryList<NzTrDirective>;\n @ContentChildren(NzThAddOnComponent, { descendants: true }) listOfNzThAddOnComponent!: QueryList<\n NzThAddOnComponent<T>\n >;\n @Output() readonly nzSortOrderChange = new EventEmitter<{ key: NzSafeAny; value: string | null }>();\n\n private nzTableStyleService = inject(NzTableStyleService, { optional: true });\n private nzTableDataService: NzTableDataService<T> | null = inject(NzTableDataService, { optional: true });\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2\n ) {\n this.isInsideTable = !!this.nzTableStyleService;\n }\n\n ngOnInit(): void {\n if (this.nzTableStyleService) {\n this.nzTableStyleService.setTheadTemplate(this.templateRef);\n }\n }\n\n ngAfterContentInit(): void {\n if (this.nzTableStyleService) {\n const firstTableRow$ = this.listOfNzTrDirective.changes.pipe(\n startWith(this.listOfNzTrDirective),\n map(item => item && item.first)\n ) as Observable<NzTrDirective>;\n const listOfColumnsChanges$ = firstTableRow$.pipe(\n switchMap(firstTableRow => (firstTableRow ? firstTableRow.listOfColumnsChanges$ : EMPTY)),\n takeUntil(this.destroy$)\n );\n listOfColumnsChanges$.subscribe(data => this.nzTableStyleService!.setListOfTh(data));\n /** TODO: need reset the measure row when scrollX change **/\n this.nzTableStyleService.enableAutoMeasure$\n .pipe(switchMap(enable => (enable ? listOfColumnsChanges$ : of([]))))\n .pipe(takeUntil(this.destroy$))\n .subscribe(data => this.nzTableStyleService!.setListOfMeasureColumn(data));\n const listOfFixedLeftColumnChanges$ = firstTableRow$.pipe(\n switchMap(firstTr => (firstTr ? firstTr.listOfFixedLeftColumnChanges$ : EMPTY)),\n takeUntil(this.destroy$)\n );\n const listOfFixedRightColumnChanges$ = firstTableRow$.pipe(\n switchMap(firstTr => (firstTr ? firstTr.listOfFixedRightColumnChanges$ : EMPTY)),\n takeUntil(this.destroy$)\n );\n listOfFixedLeftColumnChanges$.subscribe(listOfFixedLeftColumn => {\n this.nzTableStyleService!.setHasFixLeft(listOfFixedLeftColumn.length !== 0);\n });\n listOfFixedRightColumnChanges$.subscribe(listOfFixedRightColumn => {\n this.nzTableStyleService!.setHasFixRight(listOfFixedRightColumn.length !== 0);\n });\n }\n\n if (this.nzTableDataService) {\n const listOfColumn$ = this.listOfNzThAddOnComponent.changes.pipe(\n startWith(this.listOfNzThAddOnComponent)\n ) as Observable<QueryList<NzThAddOnComponent<T>>>;\n const manualSort$ = listOfColumn$.pipe(\n switchMap(() => merge(...this.listOfNzThAddOnComponent.map(th => th.manualClickOrder$))),\n takeUntil(this.destroy$)\n );\n manualSort$.subscribe((data: NzThAddOnComponent<T>) => {\n const emitValue = { key: data.nzColumnKey, value: data.sortOrder };\n this.nzSortOrderChange.emit(emitValue);\n if (data.nzSortFn && data.nzSortPriority === false) {\n this.listOfNzThAddOnComponent.filter(th => th !== data).forEach(th => th.clearSortOrder());\n }\n });\n const listOfCalcOperator$ = listOfColumn$.pipe(\n switchMap(list =>\n merge(...[listOfColumn$, ...list.map((c: NzThAddOnComponent<T>) => c.calcOperatorChange$)]).pipe(\n mergeMap(() => listOfColumn$)\n )\n ),\n map(list =>\n list\n .filter(item => !!item.nzSortFn || !!item.nzFilterFn)\n .map(item => {\n const { nzSortFn, sortOrder, nzFilterFn, nzFilterValue, nzSortPriority, nzColumnKey } = item;\n return {\n key: nzColumnKey,\n sortFn: nzSortFn,\n sortPriority: nzSortPriority,\n sortOrder: sortOrder!,\n filterFn: nzFilterFn!,\n filterValue: nzFilterValue\n };\n })\n ),\n // TODO: after checked error here\n delay(0),\n takeUntil(this.destroy$)\n );\n listOfCalcOperator$.subscribe(list => {\n this.nzTableDataService?.listOfCalcOperator$.next(list);\n });\n }\n }\n\n ngAfterViewInit(): void {\n if (this.nzTableStyleService) {\n this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement), this.elementRef.nativeElement);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: 'tr[nzExpand]',\n host: {\n class: 'ant-table-expanded-row',\n '[hidden]': `!nzExpand`\n }\n})\nexport class NzTrExpandDirective {\n @Input() nzExpand = true;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { NzFilterTriggerComponent } from './addon/filter-trigger.component';\nimport { NzTableFilterComponent } from './addon/filter.component';\nimport { NzRowExpandButtonDirective } from './addon/row-expand-button.directive';\nimport { NzRowIndentDirective } from './addon/row-indent.directive';\nimport { NzTableSelectionComponent } from './addon/selection.component';\nimport { NzTableSortersComponent } from './addon/sorters.component';\nimport { NzCellFixedDirective } from './cell/cell-fixed.directive';\nimport { NzTableCellDirective } from './cell/cell.directive';\nimport { NzCustomColumnDirective } from './cell/custom-column.directive';\nimport { NzTdAddOnComponent } from './cell/td-addon.component';\nimport { NzThAddOnComponent } from './cell/th-addon.component';\nimport { NzThMeasureDirective } from './cell/th-measure.directive';\nimport { NzThSelectionComponent } from './cell/th-selection.component';\nimport { NzCellAlignDirective } from './styled/align.directive';\nimport { NzCellEllipsisDirective } from './styled/ellipsis.directive';\nimport { NzCellBreakWordDirective } from './styled/word-break.directive';\nimport { NzTableContentComponent } from './table/table-content.component';\nimport { NzTableFixedRowComponent } from './table/table-fixed-row.component';\nimport { NzTableInnerDefaultComponent } from './table/table-inner-default.component';\nimport { NzTableInnerScrollComponent } from './table/table-inner-scroll.component';\nimport { NzTableVirtualScrollDirective } from './table/table-virtual-scroll.directive';\nimport { NzTableComponent } from './table/table.component';\nimport { NzTbodyComponent } from './table/tbody.component';\nimport { NzTfootSummaryComponent } from './table/tfoot-summary.component';\nimport { NzTheadComponent } from './table/thead.component';\nimport { NzTableTitleFooterComponent } from './table/title-footer.component';\nimport { NzTrExpandDirective } from './table/tr-expand.directive';\nimport { NzTrMeasureComponent } from './table/tr-measure.component';\nimport { NzTrDirective } from './table/tr.directive';\n\n@NgModule({\n imports: [\n NzTableComponent,\n NzThAddOnComponent,\n NzTableCellDirective,\n NzThMeasureDirective,\n NzTdAddOnComponent,\n NzTheadComponent,\n NzTbodyComponent,\n NzTrDirective,\n NzTrExpandDirective,\n NzTfootSummaryComponent,\n NzTableVirtualScrollDirective,\n NzCellFixedDirective,\n NzCustomColumnDirective,\n NzTableContentComponent,\n NzTableTitleFooterComponent,\n NzTableInnerDefaultComponent,\n NzTableInnerScrollComponent,\n NzTrMeasureComponent,\n NzRowIndentDirective,\n NzRowExpandButtonDirective,\n NzCellBreakWordDirective,\n NzCellAlignDirective,\n NzTableSortersComponent,\n NzTableFilterComponent,\n NzTableSelectionComponent,\n NzCellEllipsisDirective,\n NzFilterTriggerComponent,\n NzTableFixedRowComponent,\n NzThSelectionComponent\n ],\n exports: [\n NzTableComponent,\n NzThAddOnComponent,\n NzTableCellDirective,\n NzThMeasureDirective,\n NzTdAddOnComponent,\n NzTheadComponent,\n NzTbodyComponent,\n NzTrDirective,\n NzTableVirtualScrollDirective,\n NzCellFixedDirective,\n NzCustomColumnDirective,\n NzFilterTriggerComponent,\n NzTrExpandDirective,\n NzTfootSummaryComponent,\n NzCellBreakWordDirective,\n NzCellAlignDirective,\n NzCellEllipsisDirective,\n NzTableFixedRowComponent,\n NzThSelectionComponent\n ]\n})\nexport class NzTableModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NzSafeAny } from 'ng-zorro-antd/core/types';\n\nexport type NzTableLayout = 'fixed' | 'auto';\nexport type NzTablePaginationPosition = 'top' | 'bottom' | 'both';\nexport type NzTablePaginationType = 'default' | 'small';\nexport type NzTableSize = 'middle' | 'default' | 'small';\nexport type NzTableFilterList = Array<{ text: string; value: NzSafeAny; byDefault?: boolean }>;\nexport type NzTableSortOrder = string | 'ascend' | 'descend' | null;\nexport type NzTableSortFn<T = unknown> = (a: T, b: T, sortOrder?: NzTableSortOrder) => number;\nexport type NzTableFilterValue = NzSafeAny[] | NzSafeAny;\nexport type NzTableFilterFn<T = unknown> = (value: NzTableFilterValue, data: T) => boolean;\n\nexport interface NzTableQueryParams {\n pageIndex: number;\n pageSize: number;\n sort: Array<{ key: string; value: NzTableSortOrder }>;\n filter: Array<{ key: string; value: NzTableFilterValue }>;\n}\n\nexport interface NzCustomColumn {\n value: string;\n default: boolean;\n width: number;\n fixWidth?: boolean;\n}\n\nexport type NzTableSummaryFixedType = 'top' | 'bottom';\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './src/table.module';\nexport * from './src/table.types';\nexport * from './src/table-data.service';\nexport * from './src/table-style.service';\nexport * from './src/table/table.component';\nexport * from './src/table/table-content.component';\nexport * from './src/table/table-fixed-row.component';\nexport * from './src/table/table-inner-default.component';\nexport * from './src/table/table-inner-scroll.component';\nexport * from './src/table/table-virtual-scroll.directive';\nexport * from './src/table/table-fixed-row.component';\nexport * from './src/table/tbody.component';\nexport * from './src/table/thead.component';\nexport * from './src/table/tfoot-summary.component';\nexport * from './src/table/tr.directive';\nexport * from './src/table/tr-expand.directive';\nexport * from './src/table/title-footer.component';\nexport * from './src/table/tr-measure.component';\nexport * from './src/cell/cell-fixed.directive';\nexport * from './src/cell/cell.directive';\nexport * from './src/cell/custom-column.directive';\nexport * from './src/cell/th-measure.directive';\nexport * from './src/cell/td-addon.component';\nexport * from './src/cell/th-selection.component';\nexport * from './src/cell/th-addon.component';\nexport * from './src/addon/filter.component';\nexport * from './src/addon/row-expand-button.directive';\nexport * from './src/addon/row-indent.directive';\nexport * from './src/addon/selection.component';\nexport * from './src/addon/sorters.component';\nexport * from './src/addon/filter-trigger.component';\nexport * from './src/styled/align.directive';\nexport * from './src/styled/ellipsis.directive';\nexport * from './src/styled/word-break.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NZ_CONFIG_MODULE_NAME","i3","i1","i2","i5","i1.NzTableDataService","i1.NzTableStyleService","i3.NzTableStyleService","i4.NzTableDataService","i6"],"mappings":"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"}