ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 22.1 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-descriptions.mjs","sources":["../../components/descriptions/descriptions-item.component.ts","../../components/descriptions/descriptions.component.ts","../../components/descriptions/descriptions.module.ts","../../components/descriptions/typings.ts","../../components/descriptions/public-api.ts","../../components/descriptions/ng-zorro-antd-descriptions.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 Component,\n Input,\n OnChanges,\n OnDestroy,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n numberAttribute\n} from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-descriptions-item',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n exportAs: 'nzDescriptionsItem',\n preserveWhitespaces: false,\n standalone: true\n})\nexport class NzDescriptionsItemComponent implements OnChanges, OnDestroy {\n @ViewChild(TemplateRef, { static: true }) content!: TemplateRef<void>;\n\n @Input({ transform: numberAttribute }) nzSpan = 1;\n @Input() nzTitle: string | TemplateRef<void> = '';\n\n readonly inputChange$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.inputChange$.next();\n }\n\n ngOnDestroy(): void {\n this.inputChange$.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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewEncapsulation,\n booleanAttribute\n} from '@angular/core';\nimport { Subject, merge } from 'rxjs';\nimport { auditTime, startWith, switchMap, takeUntil, tap } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { warn } from 'ng-zorro-antd/core/logger';\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzBreakpointEnum, NzBreakpointService, gridResponsiveMap } from 'ng-zorro-antd/core/services';\n\nimport { NzDescriptionsItemComponent } from './descriptions-item.component';\nimport { NzDescriptionsItemRenderProps, NzDescriptionsLayout, NzDescriptionsSize } from './typings';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'descriptions';\nconst defaultColumnMap: { [key in NzBreakpointEnum]: number } = {\n xxl: 3,\n xl: 3,\n lg: 3,\n md: 3,\n sm: 2,\n xs: 1\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-descriptions',\n exportAs: 'nzDescriptions',\n preserveWhitespaces: false,\n template: `\n @if (nzTitle || nzExtra) {\n <div class=\"ant-descriptions-header\">\n @if (nzTitle) {\n <div class=\"ant-descriptions-title\">\n <ng-container *nzStringTemplateOutlet=\"nzTitle\">{{ nzTitle }}</ng-container>\n </div>\n }\n @if (nzExtra) {\n <div class=\"ant-descriptions-extra\">\n <ng-container *nzStringTemplateOutlet=\"nzExtra\">{{ nzExtra }}</ng-container>\n </div>\n }\n </div>\n }\n\n <div class=\"ant-descriptions-view\">\n <table>\n <tbody>\n @if (nzLayout === 'horizontal') {\n @for (row of itemMatrix; track row; let i = $index) {\n <tr class=\"ant-descriptions-row\">\n @for (item of row; track item; let isLast = $last) {\n @if (!nzBordered) {\n <td class=\"ant-descriptions-item\" [colSpan]=\"item.span\">\n <div class=\"ant-descriptions-item-container\">\n <span class=\"ant-descriptions-item-label\" [class.ant-descriptions-item-no-colon]=\"!nzColon\">\n <ng-container *nzStringTemplateOutlet=\"item.title\">\n {{ item.title }}\n </ng-container>\n </span>\n <span class=\"ant-descriptions-item-content\">\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\n </span>\n </div>\n </td>\n } @else {\n <td class=\"ant-descriptions-item-label\">\n <ng-container *nzStringTemplateOutlet=\"item.title\">\n {{ item.title }}\n </ng-container>\n </td>\n <td class=\"ant-descriptions-item-content\" [colSpan]=\"item.span * 2 - 1\">\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\n </td>\n }\n }\n </tr>\n }\n }\n\n @if (nzLayout === 'vertical') {\n @if (!nzBordered) {\n @for (row of itemMatrix; track row; let i = $index) {\n <tr class=\"ant-descriptions-row\">\n @for (item of row; track item; let isLast = $last) {\n <td class=\"ant-descriptions-item\" [colSpan]=\"item.span\">\n <div class=\"ant-descriptions-item-container\">\n <span class=\"ant-descriptions-item-label\" [class.ant-descriptions-item-no-colon]=\"!nzColon\">\n <ng-container *nzStringTemplateOutlet=\"item.title\">\n {{ item.title }}\n </ng-container>\n </span>\n </div>\n </td>\n }\n </tr>\n <tr class=\"ant-descriptions-row\">\n @for (item of row; track item; let isLast = $last) {\n <td class=\"ant-descriptions-item\" [colSpan]=\"item.span\">\n <div class=\"ant-descriptions-item-container\">\n <span class=\"ant-descriptions-item-content\">\n <ng-template [ngTemplateOutlet]=\"item.content\" />\n </span>\n </div>\n </td>\n }\n </tr>\n }\n } @else {\n @for (row of itemMatrix; track row; let i = $index) {\n <tr class=\"ant-descriptions-row\">\n @for (item of row; track item; let isLast = $last) {\n <td class=\"ant-descriptions-item-label\" [colSpan]=\"item.span\">\n <ng-container *nzStringTemplateOutlet=\"item.title\">\n {{ item.title }}\n </ng-container>\n </td>\n }\n </tr>\n <tr class=\"ant-descriptions-row\">\n @for (item of row; track item; let isLast = $last) {\n <td class=\"ant-descriptions-item-content\" [colSpan]=\"item.span\">\n <ng-template [ngTemplateOutlet]=\"item.content\" />\n </td>\n }\n </tr>\n }\n }\n }\n </tbody>\n </table>\n </div>\n `,\n host: {\n class: 'ant-descriptions',\n '[class.ant-descriptions-bordered]': 'nzBordered',\n '[class.ant-descriptions-middle]': 'nzSize === \"middle\"',\n '[class.ant-descriptions-small]': 'nzSize === \"small\"',\n '[class.ant-descriptions-rtl]': 'dir === \"rtl\"'\n },\n imports: [NzOutletModule, NgTemplateOutlet],\n standalone: true\n})\nexport class NzDescriptionsComponent implements OnChanges, OnDestroy, AfterContentInit, OnInit {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n @ContentChildren(NzDescriptionsItemComponent) items!: QueryList<NzDescriptionsItemComponent>;\n\n @Input({ transform: booleanAttribute }) @WithConfig() nzBordered: boolean = false;\n @Input() nzLayout: NzDescriptionsLayout = 'horizontal';\n @Input() @WithConfig() nzColumn: number | { [key in NzBreakpointEnum]: number } = defaultColumnMap;\n @Input() @WithConfig() nzSize: NzDescriptionsSize = 'default';\n @Input() nzTitle: string | TemplateRef<void> = '';\n @Input() nzExtra?: string | TemplateRef<void>;\n @Input({ transform: booleanAttribute }) @WithConfig() nzColon: boolean = true;\n\n itemMatrix: NzDescriptionsItemRenderProps[][] = [];\n realColumn = 3;\n dir: Direction = 'ltr';\n\n private breakpoint: NzBreakpointEnum = NzBreakpointEnum.md;\n private destroy$ = new Subject<void>();\n\n constructor(\n public nzConfigService: NzConfigService,\n private cdr: ChangeDetectorRef,\n private breakpointService: NzBreakpointService,\n private directionality: Directionality\n ) {}\n ngOnInit(): void {\n this.dir = this.directionality.value;\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.nzColumn) {\n this.prepareMatrix();\n }\n }\n\n ngAfterContentInit(): void {\n const contentChange$ = this.items.changes.pipe(startWith(this.items), takeUntil(this.destroy$));\n\n merge(\n contentChange$,\n contentChange$.pipe(switchMap(() => merge(...this.items.map(i => i.inputChange$)).pipe(auditTime(16)))),\n this.breakpointService.subscribe(gridResponsiveMap).pipe(tap(bp => (this.breakpoint = bp)))\n )\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.prepareMatrix();\n this.cdr.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n /**\n * Prepare the render matrix according to description items' spans.\n */\n private prepareMatrix(): void {\n if (!this.items) {\n return;\n }\n\n let currentRow: NzDescriptionsItemRenderProps[] = [];\n let width = 0;\n\n const column = (this.realColumn = this.getColumn());\n const items = this.items.toArray();\n const length = items.length;\n const matrix: NzDescriptionsItemRenderProps[][] = [];\n const flushRow = (): void => {\n matrix.push(currentRow);\n currentRow = [];\n width = 0;\n };\n\n for (let i = 0; i < length; i++) {\n const item = items[i];\n const { nzTitle: title, content, nzSpan: span } = item;\n\n width += span;\n\n // If the last item make the row's length exceeds `nzColumn`, the last\n // item should take all the space left. This logic is implemented in the template.\n // Warn user about that.\n if (width >= column) {\n if (width > column) {\n warn(`\"nzColumn\" is ${column} but we have row length ${width}`);\n }\n currentRow.push({ title, content, span: column - (width - span) });\n flushRow();\n } else if (i === length - 1) {\n currentRow.push({ title, content, span: column - (width - span) });\n flushRow();\n } else {\n currentRow.push({ title, content, span });\n }\n }\n\n this.itemMatrix = matrix;\n }\n\n private getColumn(): number {\n if (typeof this.nzColumn !== 'number') {\n return this.nzColumn[this.breakpoint];\n }\n\n return this.nzColumn;\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 { NgModule } from '@angular/core';\n\nimport { NzDescriptionsItemComponent } from './descriptions-item.component';\nimport { NzDescriptionsComponent } from './descriptions.component';\n\n@NgModule({\n imports: [NzDescriptionsComponent, NzDescriptionsItemComponent],\n exports: [NzDescriptionsComponent, NzDescriptionsItemComponent]\n})\nexport class NzDescriptionsModule {}\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 { TemplateRef } from '@angular/core';\n\nexport type NzDescriptionsSize = 'default' | 'middle' | 'small';\n\nexport type NzDescriptionsLayout = 'horizontal' | 'vertical';\n\nexport interface NzDescriptionsItemRenderProps {\n title: string | TemplateRef<void>;\n span: number;\n content: TemplateRef<void>;\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\nexport { NzDescriptionsModule } from './descriptions.module';\nexport { NzDescriptionsComponent } from './descriptions.component';\nexport { NzDescriptionsItemComponent } from './descriptions-item.component';\n\nexport * from './typings';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}