{"version":3,"file":"winkong-ng-zorro-antd-extension-table-select.mjs","sources":["../../../components/table-select/key.directive.ts","../../../components/table-select/abstract-table-select.ts","../../../components/table-select/page-table-select/page-table-select.component.ts","../../../components/table-select/page-table-select/page-table-select.component.html","../../../components/table-select/table-select/table-select.component.ts","../../../components/table-select/table-select/table-select.component.html","../../../components/table-select/nzx-table-select.module.ts","../../../components/table-select/public-api.ts","../../../components/table-select/winkong-ng-zorro-antd-extension-table-select.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/directive-selector */\nimport { Directive, Input, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n  selector: '[nzxTableSelectKey]',\n  exportAs: 'NzxTableSelectKey',\n})\nexport class NzxKeyDirective {\n  @Input('nzxTableSelectKey') key!: string;\n  templateRef = inject(TemplateRef);\n}\n","import {\n  AfterContentInit,\n  ContentChildren,\n  Directive,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport {\n  NzxQueryControlOptions,\n  NzxQueryParams,\n} from '@winkong/ng-zorro-antd-extension/configurable-query';\nimport { NzxKeyDirective } from './key.directive';\nimport { PageTableRequire, TableSelectConfig, TableSelectMode } from './type';\nimport { NzxTableQueryParams } from '@winkong/ng-zorro-antd-extension/table-adaptor';\n\n/**\n * table选择基类，可以自己实现相关组件\n */\n@Directive()\nexport abstract class NzxAbstractTableSelect<T extends PageTableRequire>\n  implements ControlValueAccessor, AfterContentInit\n{\n  @Input() controls: Array<NzxQueryControlOptions> = [];\n  @Input() checkboxWidth = '20px';\n  /** 唯一标识字段，默认字段为id, 可以使用.分隔层级\n   * 比如login对象下的uuid可以使用传入'login.uuid'等同于['login','uuid']*/\n  @Input() uniqueKey: string | string[] = 'id';\n  @Input() nzxBtnSpan = 24;\n  @Input() nzxCollapse = false;\n  @Input() list: T[] = [];\n\n  @Output() nzxQueryParamsChange = new EventEmitter<\n    NzxTableQueryParams | NzxQueryParams\n  >();\n\n  /**\n   * 组件模式，支持多选单选，默认单选\n   *  - single 单选\n   *  - multiple 多选\n   */\n  @Input() mode: TableSelectMode = 'single';\n\n  @Input() tableConfig: Array<TableSelectConfig<T>> = [];\n\n  selectedData: T[] = [];\n  setOfCheckedId = new Set<number | string>();\n  checked = false;\n  indeterminate = false;\n\n  @ContentChildren(NzxKeyDirective) private dirs!: QueryList<NzxKeyDirective>;\n  isDisabled = false;\n\n  private propagateChange = (_: any) => {};\n\n  ngAfterContentInit(): void {\n    const list = this.dirs.toArray();\n    list.forEach((d) => {\n      const c = this.tableConfig?.find((t) => t.key === d.key);\n      if (c) {\n        c.template = d.templateRef;\n      }\n    });\n  }\n\n  writeValue(obj: any[]): void {\n    if (obj) {\n      obj.forEach((i) => {\n        this.updateCheckedSet(i, true);\n      });\n    }\n  }\n\n  registerOnChange(fn: any): void {\n    this.propagateChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {}\n\n  setDisabledState?(isDisabled: boolean): void {\n    this.isDisabled = isDisabled;\n    this.updateDisabledState();\n  }\n\n  updateDisabledState() {\n    this.list = this.list.map((item) => {\n      return {\n        ...item,\n        disabled: this.isDisabled,\n      };\n    });\n  }\n\n  /** 更新选中集合 */\n  updateCheckedSet(data: T, checked: boolean): void {\n    if (checked) {\n      if (this.mode === 'single') {\n        this.setOfCheckedId.clear();\n        this.selectedData = [];\n      }\n      this.setOfCheckedId.add(this.getValue(data, this.uniqueKey));\n      const exited = this.selectedData.some(\n        (i) =>\n          this.getValue(i, this.uniqueKey) ===\n          this.getValue(data, this.uniqueKey)\n      );\n      if (!exited) {\n        this.selectedData.push(data);\n      }\n    } else {\n      this.setOfCheckedId.delete(this.getValue(data, this.uniqueKey));\n      this.selectedData = this.selectedData.filter(\n        (i) =>\n          this.getValue(i, this.uniqueKey) ===\n          this.getValue(data, this.uniqueKey)\n      );\n    }\n    this.propagateChange(this.selectedData);\n  }\n\n  /*** 全选 */\n  onAllChecked(value: boolean): void {\n    this.list.forEach((item) => this.updateCheckedSet(item, value));\n    this.refreshCheckedStatus();\n  }\n\n  /*** 刷新checkbox选中状态 */\n  refreshCheckedStatus(): void {\n    this.checked = this.list?.every((item) =>\n      this.setOfCheckedId.has(this.getValue(item, this.uniqueKey))\n    );\n    this.indeterminate =\n      this.list?.some((item) =>\n        this.setOfCheckedId.has(this.getValue(item, this.uniqueKey))\n      ) && !this.checked;\n  }\n\n  /*** 每条checkbox选中*/\n  onItemChecked(data: T, checked: boolean): void {\n    this.updateCheckedSet(data, checked);\n    this.refreshCheckedStatus();\n  }\n\n  getValue(obj: any, keys: string[] | string): any {\n    if (!obj || !keys) {\n      return undefined;\n    }\n    if (typeof keys === 'string') {\n      keys = keys.split('.');\n    }\n    if (keys.length === 1) {\n      return obj[keys[0]];\n    }\n    return this.getValue(obj[keys[0]], keys.slice(1));\n  }\n}\n","/* eslint-disable @angular-eslint/component-selector */\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  forwardRef,\n  inject,\n  Input,\n  OnChanges,\n  SimpleChanges,\n  ViewChild,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { NzxTableAdaptor } from '@winkong/ng-zorro-antd-extension/table-adaptor';\nimport { NzxAbstractTableSelect } from '../abstract-table-select';\nimport { PageTableRequire } from '../type';\n\n/**\n * 通用table选择组件，支持分页，确保list中有唯一标识字段\n * uniqueKey默认为id\n *\n */\n@Component({\n  selector: 'nzx-page-table-select',\n  templateUrl: './page-table-select.component.html',\n  styleUrls: ['./page-table-select.component.less'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NzxPageTableSelectComponent),\n      multi: true,\n    },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  exportAs: 'NzxPageTableSelect',\n})\nexport class NzxPageTableSelectComponent<T extends PageTableRequire>\n  extends NzxAbstractTableSelect<T>\n  implements OnChanges\n{\n  /** loading加载条标志位 */\n  @Input() loading = false;\n  /** 分页总条数 */\n  @Input() nzTotal = 0;\n\n  /** 表单指令实例用来刷新重置 */\n  @ViewChild(NzxTableAdaptor, { static: true })\n  public nzxTableAdaptorRef!: NzxTableAdaptor;\n\n  private cd = inject(ChangeDetectorRef);\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['list'] || changes['nzTotal']) {\n      this.refreshCheckedStatus();\n      super.updateDisabledState();\n    }\n  }\n}\n","<nzx-configurable-query\n  [hidden]=\"controls && controls.length === 0\"\n  #configQuery\n  [controls]=\"controls\"\n  [nzxBtnSpan]=\"nzxBtnSpan\"\n  (queryChange)=\"adaptor.refresh()\"\n  (resetChange)=\"adaptor.reset()\"\n>\n</nzx-configurable-query>\n\n<nz-table\n  nzxTableAdaptor\n  #adaptor=\"NzxTableAdaptor\"\n  [queryParams]=\"configQuery.queryParams\"\n  (nzxQueryParams)=\"nzxQueryParamsChange.emit($event)\"\n  (nzxQueryCacheQueryParams)=\"configQuery.setQueryParams($event)\"\n  #table\n  [nzData]=\"list\"\n  [nzLoading]=\"loading\"\n  [nzTotal]=\"nzTotal\"\n>\n  <thead>\n    <tr>\n      <th\n        *ngIf=\"mode === 'single'\"\n        [nzShowCheckbox]=\"false\"\n        [nzWidth]=\"checkboxWidth\"\n      ></th>\n      <th\n        *ngIf=\"mode === 'multiple'\"\n        [nzWidth]=\"checkboxWidth\"\n        [nzShowCheckbox]=\"table.data.length > 0\"\n        [(nzChecked)]=\"checked\"\n        [nzIndeterminate]=\"indeterminate\"\n        [nzDisabled]=\"isDisabled\"\n        (nzCheckedChange)=\"onAllChecked($event)\"\n      ></th>\n      <th nzAlign=\"center\" *ngFor=\"let item of tableConfig\">\n        {{ item.label }}\n      </th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr *ngFor=\"let data of table.data\">\n      <td\n        [nzChecked]=\"setOfCheckedId.has(this.getValue(data, this.uniqueKey))\"\n        [nzDisabled]=\"data.disabled!\"\n        (nzCheckedChange)=\"onItemChecked(data, $event)\"\n      ></td>\n      <td *ngFor=\"let item of tableConfig\">\n        <ng-container *ngIf=\"!item.format && !item.template\">\n          {{ data[item.key] | nzxSafeNull }}\n        </ng-container>\n        <ng-container *ngIf=\"item.format && !item.template\">\n          {{ item.format(data) | nzxSafeNull }}\n        </ng-container>\n        <ng-container *ngIf=\"item.template\">\n          <ng-container\n            *ngTemplateOutlet=\"item.template; context: { $implicit: data }\"\n          ></ng-container>\n        </ng-container>\n      </td>\n    </tr>\n  </tbody>\n</nz-table>\n","/* eslint-disable @angular-eslint/component-selector */\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  forwardRef,\n  OnChanges,\n  SimpleChanges,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { NzxAbstractTableSelect } from '../abstract-table-select';\nimport { PageTableRequire } from '../type';\n/**\n * 通用table选择组件，确保list中有唯一标识字段\n * uniqueKey默认为id\n */\n@Component({\n  selector: 'nzx-table-select',\n  templateUrl: './table-select.component.html',\n  styleUrls: ['./table-select.component.less'],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NzxTableSelectComponent),\n      multi: true,\n    },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  exportAs: 'NzxTableSelect',\n})\nexport class NzxTableSelectComponent<T extends PageTableRequire>\n  extends NzxAbstractTableSelect<T>\n  implements OnChanges\n{\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['list']) {\n      this.refreshCheckedStatus();\n    }\n  }\n}\n","<nzx-configurable-query\n  *ngIf=\"controls && controls.length\"\n  [controls]=\"controls\"\n  [nzxBtnSpan]=\"nzxBtnSpan\"\n  (queryChange)=\"nzxQueryParamsChange.emit($event)\"\n  (resetChange)=\"nzxQueryParamsChange.emit($event)\"\n>\n</nzx-configurable-query>\n\n<nz-table #table nzShowSizeChanger [nzData]=\"list\">\n  <thead>\n    <tr>\n      <th\n        *ngIf=\"mode === 'single'\"\n        [nzShowCheckbox]=\"false\"\n        [nzWidth]=\"checkboxWidth\"\n      ></th>\n      <th\n        *ngIf=\"mode === 'multiple'\"\n        [nzWidth]=\"checkboxWidth\"\n        [(nzChecked)]=\"checked\"\n        [nzDisabled]=\"isDisabled\"\n        [nzIndeterminate]=\"indeterminate\"\n        (nzCheckedChange)=\"onAllChecked($event)\"\n      ></th>\n      <th nzAlign=\"center\" *ngFor=\"let item of tableConfig\">\n        {{ item.label }}\n      </th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr *ngFor=\"let data of table.data\">\n      <td\n        [nzChecked]=\"setOfCheckedId.has(this.getValue(data, this.uniqueKey))\"\n        [nzDisabled]=\"data.disabled!\"\n        (nzCheckedChange)=\"onItemChecked(data, $event)\"\n      ></td>\n      <td *ngFor=\"let item of tableConfig\">\n        <ng-container *ngIf=\"!item.format && !item.template\">\n          {{ data[item.key] | nzxSafeNull }}\n        </ng-container>\n        <ng-container *ngIf=\"item.format && !item.template\">\n          {{ item.format(data) | nzxSafeNull }}\n        </ng-container>\n        <ng-container *ngIf=\"item.template\">\n          <ng-container\n            *ngTemplateOutlet=\"item.template; context: { $implicit: data }\"\n          ></ng-container>\n        </ng-container>\n      </td>\n    </tr>\n  </tbody>\n</nz-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { NzTableModule } from '@winkong/ng-zorro-antd/table';\n\nimport { NzxTableAdaptorModule } from '@winkong/ng-zorro-antd-extension/table-adaptor';\nimport { NzxConfigurableQueryModule } from '@winkong/ng-zorro-antd-extension/configurable-query';\nimport { NzxPageTableSelectComponent } from './page-table-select/page-table-select.component';\n\nimport { NzxKeyDirective } from './key.directive';\nimport { NzxTableSelectComponent } from './table-select/table-select.component';\nimport { NzxPipesModule } from '@winkong/ng-zorro-antd-extension/pipes';\n\n@NgModule({\n  declarations: [\n    NzxKeyDirective,\n    NzxTableSelectComponent,\n    NzxPageTableSelectComponent,\n  ],\n  imports: [\n    CommonModule,\n    NzTableModule,\n    NzxConfigurableQueryModule,\n    NzxTableAdaptorModule,\n    NzxPipesModule,\n  ],\n  exports: [\n    NzxKeyDirective,\n    NzxTableSelectComponent,\n    NzxPageTableSelectComponent,\n  ],\n})\nexport class NzxTableSelectModule {}\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 './type';\nexport * from './key.directive';\nexport * from './abstract-table-select';\nexport * from './nzx-table-select.module';\nexport * from './page-table-select/page-table-select.component';\nexport * from './table-select/table-select.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4"],"mappings":"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"}