{"version":3,"file":"winkong-ng-zorro-antd-extension-table-adaptor.mjs","sources":["../../../components/table-adaptor/table-adaptor.directive.ts","../../../components/table-adaptor/table-adaptor.module.ts","../../../components/table-adaptor/page-table-basic.ts","../../../components/table-adaptor/public-api.ts","../../../components/table-adaptor/winkong-ng-zorro-antd-extension-table-adaptor.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/directive-class-suffix */\r\nimport {\r\n  Directive,\r\n  EventEmitter,\r\n  inject,\r\n  Input,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { format, isDate } from 'date-fns';\r\nimport {\r\n  NzTableComponent,\r\n  NzTableDataService,\r\n  NzTableQueryParams,\r\n} from '@winkong/ng-zorro-antd/table';\r\n\r\nimport { trimObject } from '@winkong/ng-zorro-antd-extension/util';\r\nimport {\r\n  ExtensionWithConfig,\r\n  NzxConfigKey,\r\n  NzxConfigService,\r\n} from '@winkong/ng-zorro-antd-extension/core/config';\r\n\r\nconst NZ_CONFIG_MODULE_NAME: NzxConfigKey = 'nzxTableAdaptor';\r\n\r\nexport interface NzxTableQueryParams extends NzTableQueryParams {\r\n  [key: string]: any;\r\n}\r\n\r\nconst CACHE_KEY = 'NZX_TABLE_ADAPTOR';\r\n\r\n@Directive({\r\n  selector: 'nz-table[nzxTableAdaptor]',\r\n  exportAs: 'NzxTableAdaptor',\r\n})\r\nexport class NzxTableAdaptor implements OnInit, OnDestroy {\r\n  readonly _nzModuleName: NzxConfigKey = NZ_CONFIG_MODULE_NAME;\r\n\r\n  @Input() set queryParams(value: any) {\r\n    this._queryParams = value;\r\n  }\r\n  get queryParams() {\r\n    return this._queryParams;\r\n  }\r\n\r\n  @ExtensionWithConfig() @Input() enableCache = false;\r\n  @ExtensionWithConfig() @Input() dateFormat = 'yyyy-MM-dd';\r\n\r\n  @ExtensionWithConfig() @Input() customFormateOutFn: (params: any) => any = (\r\n    params: any\r\n  ) => {\r\n    for (const key in params) {\r\n      if (Object.prototype.hasOwnProperty.call(params, key)) {\r\n        if (isDate(params[key])) {\r\n          params[key] = format(params[key], this.dateFormat);\r\n        }\r\n        if (Array.isArray(params[key])) {\r\n          params[key] = params[key].map((el: any) => {\r\n            if (isDate(el)) {\r\n              return format(el, this.dateFormat);\r\n            }\r\n            return el;\r\n          });\r\n        }\r\n      }\r\n    }\r\n\r\n    return trimObject(params);\r\n  };\r\n\r\n  @Output() nzxQueryParams: EventEmitter<NzxTableQueryParams> =\r\n    new EventEmitter();\r\n  @Output() nzxQueryCacheQueryParams: EventEmitter<NzxTableQueryParams> =\r\n    new EventEmitter();\r\n\r\n  private _queryParams: Partial<NzxTableQueryParams> = {};\r\n\r\n  private nzTableQueryParams!: NzTableQueryParams;\r\n  private destroy$ = new Subject<void>();\r\n  private nzxConfigService: NzxConfigService = inject(NzxConfigService);\r\n\r\n  private nzTable: NzTableComponent<any> = inject(NzTableComponent);\r\n\r\n  private nzTableDataService: NzTableDataService<any> =\r\n    inject(NzTableDataService);\r\n\r\n  constructor(private router: Router) {\r\n    // 服务端分页\r\n    setTimeout(() => {\r\n      this.nzTable.nzShowSizeChanger = true;\r\n      this.nzTable.nzFrontPagination = false;\r\n      this.nzTableDataService.updateFrontPagination(false);\r\n    }, 0);\r\n\r\n    // 用来解决nzTable分页不能及时更新界面问题\r\n    this.nzTable.nzQueryParams\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe((params: NzTableQueryParams) => {\r\n        this.nzTableQueryParams = params;\r\n        this.emit();\r\n      });\r\n\r\n    this.nzTable.nzCurrentPageDataChange\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe((event: any) => {\r\n        if (this.nzTable.nzData.length === 0 && this.nzTable.nzTotal > 0) {\r\n          const index: number = this.nzTable.nzPageIndex - 1;\r\n          this.nzTable.onPageIndexChange(index);\r\n        }\r\n      });\r\n  }\r\n\r\n  ngOnInit() {\r\n    this.nzTableDataService.updatePageIndex(1);\r\n    this.nzTableDataService.updatePageSize(10);\r\n\r\n    if (this.enableCache) {\r\n      const str = sessionStorage.getItem(CACHE_KEY + this.router.url);\r\n      if (str) {\r\n        const page = JSON.parse(str);\r\n        this.nzTableDataService.updatePageIndex(page.pageIndex);\r\n        this.nzTableDataService.updatePageSize(page.pageSize);\r\n        this.nzxQueryCacheQueryParams.emit(page);\r\n      }\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  /**\r\n   * currentPage\r\n   * - true 查询当前页\r\n   * - false 跳转第一页\r\n   *\r\n   * 默认跳转第一页\r\n   */\r\n  refresh(currentPage?: boolean) {\r\n    if (currentPage) {\r\n      this.emit();\r\n    } else {\r\n      if (this.nzTable.nzPageIndex === 1) {\r\n        // 当前页标不变主动查询一次\r\n        this.emit();\r\n      } else {\r\n        this.nzTableDataService.updatePageIndex(1);\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * 重置查询条件并查询\r\n   */\r\n  reset(params?: any) {\r\n    if (params) {\r\n      this._queryParams = params;\r\n    } else {\r\n      for (const key in this._queryParams) {\r\n        if (Object.prototype.hasOwnProperty.call(this._queryParams, key)) {\r\n          this._queryParams[key] = '';\r\n        }\r\n      }\r\n    }\r\n    if (this.nzTable.nzPageIndex === 1) {\r\n      // 当前页标不变主动查询一次\r\n      this.emit();\r\n    } else {\r\n      this.nzTableDataService.updatePageIndex(1);\r\n    }\r\n  }\r\n\r\n  private emit() {\r\n    const params: NzxTableQueryParams = {\r\n      ...this._queryParams,\r\n      ...this.nzTableQueryParams,\r\n    };\r\n\r\n    if (this.enableCache) {\r\n      sessionStorage.setItem(\r\n        CACHE_KEY + this.router.url,\r\n        JSON.stringify(params)\r\n      );\r\n    }\r\n\r\n    this.nzxQueryParams.emit(this.customFormateOutFn(params));\r\n  }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { NzxTableAdaptor } from './table-adaptor.directive';\r\n\r\n@NgModule({\r\n  imports: [],\r\n  exports: [NzxTableAdaptor],\r\n  declarations: [NzxTableAdaptor],\r\n})\r\nexport class NzxTableAdaptorModule {}\r\n","import { Directive, ViewChild } from '@angular/core';\r\nimport { NzxTableAdaptor } from './table-adaptor.directive';\r\n\r\n@Directive()\r\nexport class NzxPageTableBase<T = any> {\r\n  /** 列表数据 */\r\n  list: Array<T> = [];\r\n  /** loading加载条标志位 */\r\n  loading = false;\r\n  /** 分页总条数 */\r\n  nzTotal = 0;\r\n\r\n  /** 表单指令实例用来刷新重置 */\r\n  @ViewChild(NzxTableAdaptor)\r\n  public nzxTableAdaptorRef!: NzxTableAdaptor;\r\n}\r\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 './table-adaptor.module';\nexport * from './table-adaptor.directive';\nexport * from './page-table-basic';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}