{"version":3,"file":"winkong-ng-zorro-antd-extension-simple-table.mjs","sources":["../../../components/simple-table/directive/td.directive.ts","../../../components/simple-table/directive/th.directive.ts","../../../components/simple-table/directive/expand.directive.ts","../../../components/simple-table/simple-table.component.ts","../../../components/simple-table/simple-table.module.ts","../../../components/simple-table/public-api.ts","../../../components/simple-table/winkong-ng-zorro-antd-extension-simple-table.ts"],"sourcesContent":["import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: '[nzxTd]',\n})\nexport class NzxTdDirective {\n  @Input() key?: any;\n\n  constructor(public templateRef: TemplateRef<any>) {}\n}\n","import { Directive, Input, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: '[nzxTh]',\n})\nexport class NzxThDirective {\n  @Input() width: string | null = null;\n\n  constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n  selector: '[nzxExpandTr]',\n})\nexport class NzxExpandDirective {\n  constructor(public templateRef: TemplateRef<unknown>) {}\n}\n","import {\n  AfterContentInit,\n  ChangeDetectionStrategy,\n  Component,\n  ContentChild,\n  ContentChildren,\n  Input,\n  QueryList,\n  TemplateRef,\n} from '@angular/core';\nimport { NzTableSize } from '@winkong/ng-zorro-antd/table';\n\nimport { NzxExpandDirective } from './directive/expand.directive';\nimport { NzxTdDirective } from './directive/td.directive';\nimport { NzxThDirective } from './directive/th.directive';\n\n/**\n * nzx-simple-table 组件配置格式\n */\nexport interface NzxSimpleTableConfig<T> {\n  /**\n   * 表头名\n   */\n  header: string;\n  /**\n   * 字段key值\n   */\n  key?: string | number;\n  /**\n   * td宽度\n   */\n  width?: string;\n  /**\n   * 数据格式化函数\n   */\n  format?: (data: T) => any;\n\n  template?: TemplateRef<any>;\n}\n\n@Component({\n  selector: 'nzx-simple-table',\n  template: `\n    <nz-table\n      #table\n      [nzData]=\"nzxData\"\n      [nzBordered]=\"nzxBordered\"\n      nzHideOnSinglePage\n      [nzTitle]=\"nzxTitle\"\n      [nzFooter]=\"nzxFooter\"\n    >\n      <thead>\n        <tr>\n          <th\n            [nzAlign]=\"nzxAlign\"\n            *ngFor=\"let config of nzxConfig\"\n            [nzWidth]=\"config?.width!\"\n          >\n            {{ config.header }}\n          </th>\n          <th\n            [nzAlign]=\"nzxAlign\"\n            *ngFor=\"let item of thList; let i = index\"\n            [nzWidth]=\"item?.width!\"\n          >\n            <ng-container\n              [ngTemplateOutlet]=\"item.templateRef\"\n              [ngTemplateOutletContext]=\"{ $implicit: i }\"\n            >\n            </ng-container>\n          </th>\n        </tr>\n      </thead>\n      <tbody>\n        <ng-container *ngFor=\"let data of table.data; let i = index\">\n          <tr>\n            <td [nzAlign]=\"nzxAlign\" *ngFor=\"let config of nzxConfig\">\n              <ng-container *ngIf=\"config.template\">\n                <ng-template\n                  [ngTemplateOutlet]=\"config.template\"\n                  [ngTemplateOutletContext]=\"{ $implicit: data }\"\n                >\n                </ng-template>\n              </ng-container>\n              <ng-container *ngIf=\"!config.template\">\n                <ng-container *ngIf=\"!!config.key\">\n                  <ng-container *ngIf=\"!config.format\">\n                    {{ data[config.key] }}\n                  </ng-container>\n                  <ng-container *ngIf=\"config.format\">\n                    {{ config.format(data) }}\n                  </ng-container>\n                </ng-container>\n                <ng-container *ngIf=\"!!!config.key\">\n                  <ng-container *ngIf=\"!config.format\">\n                    {{ data }}\n                  </ng-container>\n                  <ng-container *ngIf=\"config.format\">\n                    {{ config.format(data) }}\n                  </ng-container>\n                </ng-container>\n              </ng-container>\n            </td>\n            <td [nzAlign]=\"nzxAlign\" *ngFor=\"let item of tdList\">\n              <ng-container\n                [ngTemplateOutlet]=\"item.templateRef\"\n                [ngTemplateOutletContext]=\"{ $implicit: data }\"\n              ></ng-container>\n            </td>\n          </tr>\n          <tr *ngIf=\"nzxExpand\" [nzExpand]=\"data['expand']!\">\n            <ng-container\n              [ngTemplateOutlet]=\"expandDirective?.templateRef!\"\n              [ngTemplateOutletContext]=\"{ $implicit: data, index: i }\"\n            >\n            </ng-container>\n          </tr>\n        </ng-container>\n      </tbody>\n    </nz-table>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NzxSimpleTableComponent<\n  T extends {\n    expand?: boolean;\n    [key: string]: any;\n  }\n> implements AfterContentInit\n{\n  /** th td 布局方式 */\n  @Input() nzxAlign: 'left' | 'right' | 'center' | null = 'center';\n  /** table 标题 */\n  @Input() nzxTitle!: string | TemplateRef<void>;\n  /** table 页脚*/\n  @Input() nzxFooter!: string | TemplateRef<void>;\n  /** 支持展开 */\n  @Input() nzxExpand = false;\n  /** 启用边框 */\n  @Input() nzxBordered = true;\n  /** table数据集合 */\n  @Input() nzxData: Array<T> = [];\n  /** table size */\n  @Input() nzxSize: NzTableSize = 'default';\n  /** table 配置项 */\n  @Input() nzxConfig: Array<NzxSimpleTableConfig<T>> = [];\n\n  tdList: Array<NzxTdDirective> = [];\n  thList: Array<NzxThDirective> = [];\n\n  @ContentChild(NzxExpandDirective) expandDirective!: NzxExpandDirective;\n  @ContentChildren(NzxThDirective) private _thList!: QueryList<NzxThDirective>;\n  @ContentChildren(NzxTdDirective) private _tdList!: QueryList<NzxTdDirective>;\n\n  ngAfterContentInit(): void {\n    this.thList = this._thList.toArray();\n    this.tdList = this._tdList.toArray().filter((td) => !td.key);\n\n    const tds = this._tdList.toArray().filter((td) => td.key);\n    tds.forEach((td) => {\n      this.nzxConfig.forEach((config) => {\n        if (config.key === td.key) {\n          config.template = td.templateRef;\n        }\n      });\n    });\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzTableModule } from '@winkong/ng-zorro-antd/table';\n\nimport { NzxExpandDirective } from './directive/expand.directive';\nimport { NzxTdDirective } from './directive/td.directive';\nimport { NzxThDirective } from './directive/th.directive';\nimport { NzxSimpleTableComponent } from './simple-table.component';\n\n@NgModule({\n  declarations: [\n    NzxSimpleTableComponent,\n\n    NzxThDirective,\n    NzxTdDirective,\n    NzxExpandDirective,\n  ],\n  imports: [CommonModule, NzTableModule],\n  exports: [\n    NzxThDirective,\n    NzxTdDirective,\n    NzxExpandDirective,\n    NzxSimpleTableComponent,\n  ],\n})\nexport class NzxSimpleTableModule {}\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 './directive/td.directive';\nexport * from './directive/th.directive';\nexport * from './directive/expand.directive';\nexport * from './simple-table.component';\nexport * from './simple-table.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}