pro-design-vue 0.0.1-beta.3 → 1.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +5 -1
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +110 -30
  4. package/dist/index.full.min.js +8 -8
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +8 -8
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +106 -27
  9. package/es/components/button/index.d.ts +83 -8
  10. package/es/components/button/src/Button.d.ts +84 -9
  11. package/es/components/button/src/Button.mjs +39 -7
  12. package/es/components/button/src/Button.mjs.map +1 -1
  13. package/es/components/form/src/Form.d.ts +49 -470
  14. package/es/components/form/src/base/BaseForm.d.ts +49 -470
  15. package/es/components/form/src/base/StepForm.d.ts +49 -470
  16. package/es/components/form/src/fields/FieldDigitRange.mjs +1 -1
  17. package/es/components/form/src/layouts/DrawerForm.d.ts +49 -470
  18. package/es/components/form/src/layouts/ModalForm.d.ts +49 -470
  19. package/es/components/form/src/layouts/QueryFilter.d.ts +50 -470
  20. package/es/components/form/src/layouts/StepsForm.d.ts +49 -470
  21. package/es/components/form/src/props.d.ts +147 -961
  22. package/es/components/form/src/props.mjs +43 -4
  23. package/es/components/form/src/props.mjs.map +1 -1
  24. package/es/components/layout/src/layout.vue2.mjs +1 -1
  25. package/es/components/layout/src/layout.vue2.mjs.map +1 -1
  26. package/es/components/layout/src/typing.d.ts +3 -1
  27. package/es/components/page/src/page.vue2.mjs +7 -5
  28. package/es/components/page/src/page.vue2.mjs.map +1 -1
  29. package/es/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
  30. package/es/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
  31. package/es/components/table/src/components/Body/BodyRow.vue.mjs +3 -3
  32. package/es/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
  33. package/es/components/table/src/components/Header/Header.vue.d.ts +83 -8
  34. package/es/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
  35. package/es/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
  36. package/es/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
  37. package/es/components/table/src/components/InteralTable.vue.d.ts +166 -16
  38. package/es/components/table/src/hooks/useFetchData.mjs +14 -8
  39. package/es/components/table/src/hooks/useFetchData.mjs.map +1 -1
  40. package/es/index.d.ts +447 -3336
  41. package/es/version.d.ts +1 -1
  42. package/es/version.mjs +1 -1
  43. package/es/version.mjs.map +1 -1
  44. package/lib/components/button/index.d.ts +83 -8
  45. package/lib/components/button/src/Button.d.ts +84 -9
  46. package/lib/components/button/src/Button.js +38 -6
  47. package/lib/components/button/src/Button.js.map +1 -1
  48. package/lib/components/form/src/Form.d.ts +49 -470
  49. package/lib/components/form/src/base/BaseForm.d.ts +49 -470
  50. package/lib/components/form/src/base/StepForm.d.ts +49 -470
  51. package/lib/components/form/src/fields/FieldDigitRange.js +1 -1
  52. package/lib/components/form/src/layouts/DrawerForm.d.ts +49 -470
  53. package/lib/components/form/src/layouts/ModalForm.d.ts +49 -470
  54. package/lib/components/form/src/layouts/QueryFilter.d.ts +50 -470
  55. package/lib/components/form/src/layouts/StepsForm.d.ts +49 -470
  56. package/lib/components/form/src/props.d.ts +147 -961
  57. package/lib/components/form/src/props.js +43 -3
  58. package/lib/components/form/src/props.js.map +1 -1
  59. package/lib/components/layout/src/layout.vue2.js +1 -1
  60. package/lib/components/layout/src/layout.vue2.js.map +1 -1
  61. package/lib/components/layout/src/typing.d.ts +3 -1
  62. package/lib/components/page/src/page.vue2.js +7 -5
  63. package/lib/components/page/src/page.vue2.js.map +1 -1
  64. package/lib/components/table/src/components/AutoHeightHeader/Header.vue.d.ts +83 -8
  65. package/lib/components/table/src/components/AutoHeightHeader/HeaderRow.vue.d.ts +83 -8
  66. package/lib/components/table/src/components/Body/BodyRow.vue.js +3 -3
  67. package/lib/components/table/src/components/Filter/FilterDropdown.vue.d.ts +83 -8
  68. package/lib/components/table/src/components/Header/Header.vue.d.ts +83 -8
  69. package/lib/components/table/src/components/Header/HeaderCell.vue.d.ts +83 -8
  70. package/lib/components/table/src/components/Header/HeaderRows.vue.d.ts +83 -8
  71. package/lib/components/table/src/components/Header/HeaderRowsWrap.vue.d.ts +83 -8
  72. package/lib/components/table/src/components/InteralTable.vue.d.ts +166 -16
  73. package/lib/components/table/src/hooks/useFetchData.js +14 -8
  74. package/lib/components/table/src/hooks/useFetchData.js.map +1 -1
  75. package/lib/index.d.ts +447 -3336
  76. package/lib/version.d.ts +1 -1
  77. package/lib/version.js +1 -1
  78. package/lib/version.js.map +1 -1
  79. package/package.json +6 -6
  80. package/theme-chalk/index.css +1 -1
  81. package/theme-chalk/pro-page.css +1 -1
  82. package/theme-chalk/src/page.less +4 -4
@@ -4855,6 +4855,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4855
4855
  RenderSlot: import("vue").FunctionalComponent<any, {}, any, {}>;
4856
4856
  }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
4857
4857
  ProButton: import("pro-design-vue/es/utils").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4858
+ type: PropType<import("ant-design-vue").ButtonProps["type"]>;
4859
+ htmlType: {
4860
+ type: PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
4861
+ default: string;
4862
+ };
4863
+ shape: {
4864
+ type: PropType<import("ant-design-vue").ButtonProps["shape"]>;
4865
+ };
4866
+ size: {
4867
+ type: PropType<import("ant-design-vue").ButtonProps["size"]>;
4868
+ };
4869
+ loading: {
4870
+ type: PropType<boolean | {
4871
+ delay?: number;
4872
+ }>;
4873
+ default: () => boolean | {
4874
+ delay?: number;
4875
+ };
4876
+ };
4877
+ disabled: {
4878
+ type: BooleanConstructor;
4879
+ default: undefined;
4880
+ };
4881
+ ghost: {
4882
+ type: BooleanConstructor;
4883
+ default: undefined;
4884
+ };
4885
+ block: {
4886
+ type: BooleanConstructor;
4887
+ default: undefined;
4888
+ };
4889
+ danger: {
4890
+ type: BooleanConstructor;
4891
+ default: undefined;
4892
+ };
4893
+ href: StringConstructor;
4894
+ target: StringConstructor;
4895
+ title: StringConstructor;
4858
4896
  mode: {
4859
4897
  type: PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
4860
4898
  default: string;
@@ -4880,10 +4918,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4880
4918
  type?: "danger" | "warning";
4881
4919
  }>;
4882
4920
  };
4883
- disabled: {
4884
- type: BooleanConstructor;
4885
- default: boolean;
4886
- };
4887
4921
  icon: {
4888
4922
  type: StringConstructor;
4889
4923
  default: string;
@@ -4904,6 +4938,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4904
4938
  onCancel: PropType<(e: MouseEvent) => void>;
4905
4939
  onMenuClick: PropType<import("ant-design-vue").MenuProps["onClick"]>;
4906
4940
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "click" | "confirm" | "menu-click")[], "cancel" | "click" | "confirm" | "menu-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
4941
+ type: PropType<import("ant-design-vue").ButtonProps["type"]>;
4942
+ htmlType: {
4943
+ type: PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
4944
+ default: string;
4945
+ };
4946
+ shape: {
4947
+ type: PropType<import("ant-design-vue").ButtonProps["shape"]>;
4948
+ };
4949
+ size: {
4950
+ type: PropType<import("ant-design-vue").ButtonProps["size"]>;
4951
+ };
4952
+ loading: {
4953
+ type: PropType<boolean | {
4954
+ delay?: number;
4955
+ }>;
4956
+ default: () => boolean | {
4957
+ delay?: number;
4958
+ };
4959
+ };
4960
+ disabled: {
4961
+ type: BooleanConstructor;
4962
+ default: undefined;
4963
+ };
4964
+ ghost: {
4965
+ type: BooleanConstructor;
4966
+ default: undefined;
4967
+ };
4968
+ block: {
4969
+ type: BooleanConstructor;
4970
+ default: undefined;
4971
+ };
4972
+ danger: {
4973
+ type: BooleanConstructor;
4974
+ default: undefined;
4975
+ };
4976
+ href: StringConstructor;
4977
+ target: StringConstructor;
4978
+ title: StringConstructor;
4907
4979
  mode: {
4908
4980
  type: PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
4909
4981
  default: string;
@@ -4929,10 +5001,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4929
5001
  type?: "danger" | "warning";
4930
5002
  }>;
4931
5003
  };
4932
- disabled: {
4933
- type: BooleanConstructor;
4934
- default: boolean;
4935
- };
4936
5004
  icon: {
4937
5005
  type: StringConstructor;
4938
5006
  default: string;
@@ -4958,8 +5026,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4958
5026
  onConfirm?: ((...args: any[]) => any) | undefined;
4959
5027
  "onMenu-click"?: ((...args: any[]) => any) | undefined;
4960
5028
  }>, {
5029
+ danger: boolean;
4961
5030
  icon: string;
5031
+ htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
5032
+ loading: boolean | {
5033
+ delay?: number;
5034
+ };
4962
5035
  disabled: boolean;
5036
+ ghost: boolean;
5037
+ block: boolean;
4963
5038
  mode: "default" | "popconfirm" | "confirm" | "dropdown";
4964
5039
  items: import("ant-design-vue").ItemType[];
4965
5040
  tooltip: string;
@@ -7612,6 +7612,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7612
7612
  RenderSlot: import("vue").FunctionalComponent<any, {}, any, {}>;
7613
7613
  }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
7614
7614
  ProButton: import("pro-design-vue/es/utils").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7615
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["type"]>;
7616
+ htmlType: {
7617
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
7618
+ default: string;
7619
+ };
7620
+ shape: {
7621
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["shape"]>;
7622
+ };
7623
+ size: {
7624
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["size"]>;
7625
+ };
7626
+ loading: {
7627
+ type: import("vue").PropType<boolean | {
7628
+ delay?: number;
7629
+ }>;
7630
+ default: () => boolean | {
7631
+ delay?: number;
7632
+ };
7633
+ };
7634
+ disabled: {
7635
+ type: BooleanConstructor;
7636
+ default: undefined;
7637
+ };
7638
+ ghost: {
7639
+ type: BooleanConstructor;
7640
+ default: undefined;
7641
+ };
7642
+ block: {
7643
+ type: BooleanConstructor;
7644
+ default: undefined;
7645
+ };
7646
+ danger: {
7647
+ type: BooleanConstructor;
7648
+ default: undefined;
7649
+ };
7650
+ href: StringConstructor;
7651
+ target: StringConstructor;
7652
+ title: StringConstructor;
7615
7653
  mode: {
7616
7654
  type: import("vue").PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
7617
7655
  default: string;
@@ -7637,10 +7675,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7637
7675
  type?: "danger" | "warning";
7638
7676
  }>;
7639
7677
  };
7640
- disabled: {
7641
- type: BooleanConstructor;
7642
- default: boolean;
7643
- };
7644
7678
  icon: {
7645
7679
  type: StringConstructor;
7646
7680
  default: string;
@@ -7661,6 +7695,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7661
7695
  onCancel: import("vue").PropType<(e: MouseEvent) => void>;
7662
7696
  onMenuClick: import("vue").PropType<import("ant-design-vue").MenuProps["onClick"]>;
7663
7697
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "click" | "confirm" | "menu-click")[], "cancel" | "click" | "confirm" | "menu-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
7698
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["type"]>;
7699
+ htmlType: {
7700
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
7701
+ default: string;
7702
+ };
7703
+ shape: {
7704
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["shape"]>;
7705
+ };
7706
+ size: {
7707
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["size"]>;
7708
+ };
7709
+ loading: {
7710
+ type: import("vue").PropType<boolean | {
7711
+ delay?: number;
7712
+ }>;
7713
+ default: () => boolean | {
7714
+ delay?: number;
7715
+ };
7716
+ };
7717
+ disabled: {
7718
+ type: BooleanConstructor;
7719
+ default: undefined;
7720
+ };
7721
+ ghost: {
7722
+ type: BooleanConstructor;
7723
+ default: undefined;
7724
+ };
7725
+ block: {
7726
+ type: BooleanConstructor;
7727
+ default: undefined;
7728
+ };
7729
+ danger: {
7730
+ type: BooleanConstructor;
7731
+ default: undefined;
7732
+ };
7733
+ href: StringConstructor;
7734
+ target: StringConstructor;
7735
+ title: StringConstructor;
7664
7736
  mode: {
7665
7737
  type: import("vue").PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
7666
7738
  default: string;
@@ -7686,10 +7758,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7686
7758
  type?: "danger" | "warning";
7687
7759
  }>;
7688
7760
  };
7689
- disabled: {
7690
- type: BooleanConstructor;
7691
- default: boolean;
7692
- };
7693
7761
  icon: {
7694
7762
  type: StringConstructor;
7695
7763
  default: string;
@@ -7715,8 +7783,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
7715
7783
  onConfirm?: ((...args: any[]) => any) | undefined;
7716
7784
  "onMenu-click"?: ((...args: any[]) => any) | undefined;
7717
7785
  }>, {
7786
+ danger: boolean;
7718
7787
  icon: string;
7788
+ htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
7789
+ loading: boolean | {
7790
+ delay?: number;
7791
+ };
7719
7792
  disabled: boolean;
7793
+ ghost: boolean;
7794
+ block: boolean;
7720
7795
  mode: "default" | "popconfirm" | "confirm" | "dropdown";
7721
7796
  items: import("ant-design-vue").ItemType[];
7722
7797
  tooltip: string;
@@ -13326,6 +13401,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
13326
13401
  RenderSlot: import("vue").FunctionalComponent<any, {}, any, {}>;
13327
13402
  }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
13328
13403
  ProButton: import("pro-design-vue/es/utils").SFCWithInstall<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
13404
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["type"]>;
13405
+ htmlType: {
13406
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
13407
+ default: string;
13408
+ };
13409
+ shape: {
13410
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["shape"]>;
13411
+ };
13412
+ size: {
13413
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["size"]>;
13414
+ };
13415
+ loading: {
13416
+ type: import("vue").PropType<boolean | {
13417
+ delay?: number;
13418
+ }>;
13419
+ default: () => boolean | {
13420
+ delay?: number;
13421
+ };
13422
+ };
13423
+ disabled: {
13424
+ type: BooleanConstructor;
13425
+ default: undefined;
13426
+ };
13427
+ ghost: {
13428
+ type: BooleanConstructor;
13429
+ default: undefined;
13430
+ };
13431
+ block: {
13432
+ type: BooleanConstructor;
13433
+ default: undefined;
13434
+ };
13435
+ danger: {
13436
+ type: BooleanConstructor;
13437
+ default: undefined;
13438
+ };
13439
+ href: StringConstructor;
13440
+ target: StringConstructor;
13441
+ title: StringConstructor;
13329
13442
  mode: {
13330
13443
  type: import("vue").PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
13331
13444
  default: string;
@@ -13351,10 +13464,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
13351
13464
  type?: "danger" | "warning";
13352
13465
  }>;
13353
13466
  };
13354
- disabled: {
13355
- type: BooleanConstructor;
13356
- default: boolean;
13357
- };
13358
13467
  icon: {
13359
13468
  type: StringConstructor;
13360
13469
  default: string;
@@ -13375,6 +13484,44 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
13375
13484
  onCancel: import("vue").PropType<(e: MouseEvent) => void>;
13376
13485
  onMenuClick: import("vue").PropType<import("ant-design-vue").MenuProps["onClick"]>;
13377
13486
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "click" | "confirm" | "menu-click")[], "cancel" | "click" | "confirm" | "menu-click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13487
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["type"]>;
13488
+ htmlType: {
13489
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["htmlType"]>;
13490
+ default: string;
13491
+ };
13492
+ shape: {
13493
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["shape"]>;
13494
+ };
13495
+ size: {
13496
+ type: import("vue").PropType<import("ant-design-vue").ButtonProps["size"]>;
13497
+ };
13498
+ loading: {
13499
+ type: import("vue").PropType<boolean | {
13500
+ delay?: number;
13501
+ }>;
13502
+ default: () => boolean | {
13503
+ delay?: number;
13504
+ };
13505
+ };
13506
+ disabled: {
13507
+ type: BooleanConstructor;
13508
+ default: undefined;
13509
+ };
13510
+ ghost: {
13511
+ type: BooleanConstructor;
13512
+ default: undefined;
13513
+ };
13514
+ block: {
13515
+ type: BooleanConstructor;
13516
+ default: undefined;
13517
+ };
13518
+ danger: {
13519
+ type: BooleanConstructor;
13520
+ default: undefined;
13521
+ };
13522
+ href: StringConstructor;
13523
+ target: StringConstructor;
13524
+ title: StringConstructor;
13378
13525
  mode: {
13379
13526
  type: import("vue").PropType<"default" | "popconfirm" | "confirm" | "dropdown">;
13380
13527
  default: string;
@@ -13400,10 +13547,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
13400
13547
  type?: "danger" | "warning";
13401
13548
  }>;
13402
13549
  };
13403
- disabled: {
13404
- type: BooleanConstructor;
13405
- default: boolean;
13406
- };
13407
13550
  icon: {
13408
13551
  type: StringConstructor;
13409
13552
  default: string;
@@ -13429,8 +13572,15 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
13429
13572
  onConfirm?: ((...args: any[]) => any) | undefined;
13430
13573
  "onMenu-click"?: ((...args: any[]) => any) | undefined;
13431
13574
  }>, {
13575
+ danger: boolean;
13432
13576
  icon: string;
13577
+ htmlType: import("ant-design-vue/es/button/buttonTypes").ButtonHTMLType | undefined;
13578
+ loading: boolean | {
13579
+ delay?: number;
13580
+ };
13433
13581
  disabled: boolean;
13582
+ ghost: boolean;
13583
+ block: boolean;
13434
13584
  mode: "default" | "popconfirm" | "confirm" | "dropdown";
13435
13585
  items: import("ant-design-vue").ItemType[];
13436
13586
  tooltip: string;
@@ -305,14 +305,20 @@ const useFetchData = (getData, props) => {
305
305
  deep: true
306
306
  }
307
307
  );
308
- watch(formSearch, () => {
309
- setPagination({
310
- ...pagination.value,
311
- current: 1
312
- });
313
- abortFetch();
314
- fetchListDebounce(false);
315
- });
308
+ watch(
309
+ formSearch,
310
+ () => {
311
+ setPagination({
312
+ ...pagination.value,
313
+ current: 1
314
+ });
315
+ abortFetch();
316
+ fetchListDebounce(false);
317
+ },
318
+ {
319
+ immediate: true
320
+ }
321
+ );
316
322
  const onTableChange = (pageInfo, filt, sort, extra) => {
317
323
  var _a2;
318
324
  if (extra.action === "paginate") {
@@ -1 +1 @@
1
- {"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:40:03\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\n\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n fullScreen?: () => void\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = ({ pagination }: ProTableProps, intl: IntlType) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger } = pagination\n return {\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order?.toUpperCase(),\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!props.manual)\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch(\n () => props.manual,\n () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n },\n )\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(formSearch, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":"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"}
1
+ {"version":3,"file":"useFetchData.mjs","sources":["../../../../../../../packages/components/table/src/hooks/useFetchData.ts"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-12 12:24:29\n * @LastEditors: shen\n * @LastEditTime: 2025-09-09 14:15:32\n * @Description:\n */\nimport type { SpinProps } from 'ant-design-vue/es/spin'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RequestData, ProTableProps, SorterResult } from '../components/interface'\nimport type { IntlType } from '@pro-design-vue/components/config-provider'\n\nimport {\n ref,\n computed,\n watch,\n onUnmounted,\n onMounted,\n isReactive,\n toRaw,\n onDeactivated,\n onActivated,\n} from 'vue'\nimport { useDebounceFn, usePrevious } from '@vueuse/core'\nimport { useMergedState } from '@pro-design-vue/hooks'\nimport { runFunction } from '@pro-design-vue/utils'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nexport type PageInfo = {\n pageSize: number\n total: number\n current: number\n}\n\nexport type UseFetchDataAction<T = any> = {\n dataSource: Ref<T[]>\n keyword: Ref<string>\n formSearch: Ref<Record<string, any> | undefined>\n loading: ComputedRef<boolean | SpinProps | undefined>\n setParams: (key: string, value: any) => void\n reload: (resetPageIndex?: boolean) => Promise<void>\n fullScreen?: () => void\n reset: () => void\n pollingLoading: Ref<boolean>\n pagination: Ref<PageInfo>\n setFormSearch: (val: Record<string, any> | undefined) => void\n setPagination: (val: PageInfo) => void\n onTableChange: ProTableProps['onChange']\n}\n\n/**\n * 组合用户的配置和默认值\n *\n * @param param0\n */\nconst mergePropsAndPagination = ({ pagination }: ProTableProps, intl: IntlType) => {\n if (pagination) {\n const { current, pageSize, total, showTotal, showSizeChanger } = pagination\n return {\n current: current || 1,\n total: total || 0,\n pageSize: pageSize || 10,\n showSizeChanger: showSizeChanger ?? true,\n showTotal:\n showTotal ||\n ((total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`),\n }\n }\n return {\n current: 1,\n total: 0,\n pageSize: 10,\n showSizeChanger: true,\n showTotal: (total: number, range: number[]) =>\n `${intl.getMessage('pagination.total.range', '第')} ${range[0]}-${range[1]} ${intl.getMessage(\n 'pagination.total.total',\n '条/总共',\n )} ${total} ${intl.getMessage('pagination.total.item', '条')}`,\n }\n}\n\nconst formatSorters = (\n sorter: SorterResult<any> | SorterResult<any>[],\n): SorterResult<any>[] | undefined => {\n if (!sorter) {\n return\n }\n let result: SorterResult<any>[]\n if (!Array.isArray(sorter)) {\n result = [{ ...sorter }]\n } else {\n result = [...sorter]\n }\n result = result.filter((sort) => !!sort.order)\n if (!result.length) {\n return\n }\n if (result.length > 1) {\n result = result.sort(\n (a, b) =>\n ((b.column?.sorter as any)?.multiple || 0) - ((a.column?.sorter as any)?.multiple || 0),\n )\n }\n return result.map((item) => ({\n field: item.field,\n order: item.order?.toUpperCase(),\n })) as SorterResult<any>[]\n}\n\nexport const useFetchData = (\n getData: ComputedRef<\n | ((\n params?: Record<string, any>,\n sorters?: SorterResult<any>[],\n filter?: Record<string, (string | number)[] | null>,\n ) => Promise<RequestData>)\n | undefined\n >,\n props: ProTableProps,\n): UseFetchDataAction => {\n /**\n * 用于保存组件是否被卸载的状态的引用\n */\n const umountRef = ref<boolean>(false)\n /**\n * 用于保存 AbortController 实例的引用,方便需要时进行请求的取消操作\n */\n const abortRef = ref<AbortController | null>(null)\n /** 是否首次加载的指示器 */\n const manualRequestRef = ref<boolean>(!!props.manual)\n /** 轮询的setTime ID 存储 */\n const pollingSetTimeRef = ref<any>()\n const pollingLoading = ref<boolean>(false)\n const keyword = ref<string>('')\n const intl = useIntl()\n const innerParams = ref<Record<string, any>>({})\n const sorters = ref<SorterResult<any>[]>()\n const filter = ref<Record<string, any>>()\n const keywordName = computed(() => {\n if (props.options !== false && props.options!.search !== false) {\n return props.options!.search === true || !props.options!.search!.name\n ? undefined\n : props.options!.search!.name!\n }\n return undefined\n })\n const [tableLoading, setTableLoading] = useMergedState(false, {\n value: computed(() => {\n return typeof props.loading === 'object' ? props.loading.spinning : props.loading\n }),\n onChange: props.onLoadingChange,\n })\n\n const [tableDataList, setTableDataList] = useMergedState<any[] | undefined>(\n props.defaultData ?? [],\n {\n value: computed(() => {\n return props.request ? undefined : props.dataSource\n }),\n // onChange(value) {\n // \tif (!props.request) {\n // \t\tprops['onUpdate:dataSource']?.(value ?? [])\n // \t}\n // }\n },\n )\n\n const [pagination, setPagination] = useMergedState<PageInfo>(\n () => mergePropsAndPagination(props, intl),\n {\n onChange(value) {\n if (props.pagination !== false) {\n props['onUpdate:pagination']?.(\n isReactive(props.pagination) ? Object.assign(props.pagination || {}, value) : value,\n )\n props.pagination?.onChange?.(value.current, value?.pageSize)\n }\n },\n },\n )\n\n const [formSearch, setFormSearch] = useMergedState<Record<string, any> | undefined>(() => {\n // 如果手动模式,或者 search 不存在的时候设置为 undefined\n // undefined 就不会触发首次加载\n if (manualRequestRef.value || props.search !== false) {\n return undefined\n }\n return {}\n })\n\n const prePage = usePrevious(computed(() => pagination.value?.current))\n const prePageSize = usePrevious(computed(() => pagination.value?.pageSize))\n\n const requestFinally = () => {\n setTableLoading(false)\n pollingLoading.value = false\n }\n\n const fetchList = async (isPolling: boolean) => {\n // 需要手动触发的首次请求\n if (manualRequestRef.value) {\n manualRequestRef.value = false\n return\n }\n\n if (!isPolling) {\n setTableLoading(true)\n } else {\n pollingLoading.value = true\n }\n\n const { current, pageSize } = pagination.value\n const params: Record<string, any> = { ...innerParams.value, ...formSearch.value }\n if (props?.pagination !== false) {\n params.current = current\n params.pageSize = pageSize\n }\n if (keyword.value) {\n params[keywordName.value ?? 'keyword'] = keyword.value\n }\n try {\n const {\n data = [],\n success,\n total = 0,\n ...rest\n } = (await getData.value?.(params, toRaw(sorters.value), toRaw(filter.value))) || {}\n // 如果失败了,直接返回,不走剩下的逻辑了\n if (success === false) return []\n setTableDataList(data)\n if (pagination.value?.total !== total) {\n pagination.value.total = total || data.length\n // setPagination({\n // \t...pagination.value,\n // \ttotal: total || data.length\n // })\n }\n props.onLoad?.(data, rest)\n return data\n } catch (e) {\n if (props.onRequestError === undefined) throw new Error(e as string)\n if (tableDataList.value === undefined) setTableDataList([])\n props.onRequestError(e as Error)\n } finally {\n requestFinally()\n }\n }\n\n const fetchListDebounce = useDebounceFn(async (isPolling: boolean) => {\n if (pollingSetTimeRef.value) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!getData) {\n return\n }\n const abort = new AbortController()\n abortRef.value = abort\n\n try {\n const msg = (await Promise.race([\n fetchList(isPolling),\n new Promise((_, reject) => {\n abortRef.value?.signal.addEventListener('abort', () => {\n reject('aborted')\n requestFinally()\n })\n }),\n ])) as any[]\n\n if (abort.signal.aborted) return\n // 放到请求前面会导致数据是上一次的\n const needPolling = runFunction(props.polling, msg)\n\n if (needPolling && !umountRef.value) {\n pollingSetTimeRef.value = setTimeout(\n () => {\n fetchListDebounce(needPolling)\n // 这里判断最小要2000ms,不然一直loading\n },\n Math.max(needPolling, 2000),\n )\n }\n } catch (error) {\n if (error === 'aborted') {\n return\n }\n throw error\n }\n }, props.debounceTime || 30)\n\n const abortFetch = () => {\n abortRef.value?.abort()\n requestFinally()\n }\n\n watch(\n () => props.polling,\n (newPolling, prePolling) => {\n if (!newPolling) {\n clearTimeout(pollingSetTimeRef.value)\n }\n if (!prePolling && newPolling) {\n fetchListDebounce(true)\n }\n },\n )\n\n watch(\n () => props.manual,\n () => {\n abortFetch()\n fetchListDebounce(false)\n if (!props.manual) {\n // 如果 manual 标志未设置,则将 manualRequestRef 设置为 false。\n // 用于跟踪当前的请求是否是手动发起的。\n manualRequestRef.value = false\n }\n },\n )\n\n watch(\n () => pagination.value.current,\n () => {\n const { current, pageSize } = pagination.value || {}\n if (\n (!prePage || prePage.value === current) &&\n (!prePageSize || prePageSize.value === pageSize)\n ) {\n return\n }\n\n if (\n (props.pagination && tableDataList.value && tableDataList.value?.length > pageSize) ||\n 0\n ) {\n return\n }\n\n if (current !== undefined && tableDataList.value && tableDataList.value.length <= pageSize) {\n abortFetch()\n fetchListDebounce(false)\n }\n },\n )\n\n watch(\n () => pagination.value.pageSize,\n () => {\n if (!prePageSize.value) {\n return\n }\n abortFetch()\n fetchListDebounce(false)\n },\n )\n\n watch(sorters, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(filter, () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n })\n\n watch(\n () => props.params,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n innerParams,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n deep: true,\n },\n )\n\n watch(\n formSearch,\n () => {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n abortFetch()\n fetchListDebounce(false)\n },\n {\n immediate: true,\n },\n )\n\n const onTableChange: ProTableProps['onChange'] = (pageInfo, filt, sort, extra) => {\n if (extra.action === 'paginate') {\n setPagination({ ...pagination.value, ...pageInfo })\n }\n if (extra.action === 'sort') {\n sorters.value = formatSorters(sort)\n }\n\n if (extra.action === 'filter') {\n filter.value = filt\n }\n props.onChange?.(pageInfo, filt, sort, extra)\n }\n\n onMounted(() => {\n umountRef.value = false\n if (props.search === false) {\n fetchListDebounce(false)\n }\n })\n\n onActivated(() => {\n if (props.polling) {\n fetchListDebounce(true)\n }\n })\n\n onUnmounted(() => {\n umountRef.value = true\n abortFetch()\n clearTimeout(pollingSetTimeRef.value)\n })\n onDeactivated(() => {\n clearTimeout(pollingSetTimeRef.value)\n })\n\n return {\n keyword,\n formSearch,\n dataSource: tableDataList,\n loading: computed(() =>\n typeof props?.loading === 'object'\n ? { ...props?.loading, spinning: tableLoading.value }\n : tableLoading.value,\n ),\n setParams: (key: string, value: any) => {\n innerParams.value[key] = value\n },\n reload: async (resetPageIndex?: boolean) => {\n if (resetPageIndex) {\n setPagination({\n ...pagination.value,\n current: 1,\n })\n }\n abortFetch()\n return fetchListDebounce(false)\n },\n pollingLoading,\n pagination,\n reset: async () => {\n const { pagination: optionPageInfo } = props || {}\n const { current = 1, pageSize = 10 } = optionPageInfo || {}\n const initialPageInfo = {\n current,\n total: 0,\n pageSize,\n }\n setPagination(initialPageInfo)\n },\n setPagination,\n setFormSearch,\n onTableChange,\n } as UseFetchDataAction\n}\n"],"names":["total","_a"],"mappings":"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"}