el-plus 0.0.22 → 0.0.24

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 (52) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.full.js +19 -8
  4. package/dist/index.full.min.js +1 -1
  5. package/dist/index.full.min.js.map +1 -1
  6. package/dist/index.full.min.mjs +1 -1
  7. package/dist/index.full.min.mjs.map +1 -1
  8. package/dist/index.full.mjs +19 -8
  9. package/es/components/form/index.d.ts +3 -3
  10. package/es/components/form/src/form.d.ts +1 -1
  11. package/es/components/form/src/form.mjs +1 -1
  12. package/es/components/form/src/form.mjs.map +1 -1
  13. package/es/components/form/src/form.vue.d.ts +2 -2
  14. package/es/components/search-list-page/index.d.ts +6 -6
  15. package/es/components/search-list-page/src/search-list-page.vue.d.ts +2 -2
  16. package/es/components/search-list-page/src/use-search-list-page.d.ts +2 -2
  17. package/es/components/table/src/use-table.mjs +8 -1
  18. package/es/components/table/src/use-table.mjs.map +1 -1
  19. package/es/components/title/index.d.ts +12 -3
  20. package/es/components/title/src/title.d.ts +4 -1
  21. package/es/components/title/src/title.mjs +4 -1
  22. package/es/components/title/src/title.mjs.map +1 -1
  23. package/es/components/title/src/title.vue.d.ts +8 -2
  24. package/es/components/title/src/title.vue2.mjs +4 -3
  25. package/es/components/title/src/title.vue2.mjs.map +1 -1
  26. package/es/hooks/dialog/use-choose-dialog.mjs +3 -3
  27. package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
  28. package/es/package.json.mjs +1 -1
  29. package/lib/components/form/index.d.ts +3 -3
  30. package/lib/components/form/src/form.d.ts +1 -1
  31. package/lib/components/form/src/form.js +1 -1
  32. package/lib/components/form/src/form.js.map +1 -1
  33. package/lib/components/form/src/form.vue.d.ts +2 -2
  34. package/lib/components/search-list-page/index.d.ts +6 -6
  35. package/lib/components/search-list-page/src/search-list-page.vue.d.ts +2 -2
  36. package/lib/components/search-list-page/src/use-search-list-page.d.ts +2 -2
  37. package/lib/components/table/src/use-table.js +7 -0
  38. package/lib/components/table/src/use-table.js.map +1 -1
  39. package/lib/components/title/index.d.ts +12 -3
  40. package/lib/components/title/src/title.d.ts +4 -1
  41. package/lib/components/title/src/title.js +4 -1
  42. package/lib/components/title/src/title.js.map +1 -1
  43. package/lib/components/title/src/title.vue.d.ts +8 -2
  44. package/lib/components/title/src/title.vue2.js +3 -2
  45. package/lib/components/title/src/title.vue2.js.map +1 -1
  46. package/lib/hooks/dialog/use-choose-dialog.js +2 -2
  47. package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
  48. package/lib/package.json.js +1 -1
  49. package/package.json +1 -1
  50. package/theme-chalk/dialog.css +1 -1
  51. package/theme-chalk/index.css +1 -1
  52. package/theme-chalk/src/dialog.scss +1 -1
@@ -1,4 +1,4 @@
1
- /*! ElPlus v0.0.22 */
1
+ /*! ElPlus v0.0.24 */
2
2
 
3
3
  import { useAttrs, getCurrentInstance, inject, provide, ref, nextTick, defineComponent, computed, createVNode, Fragment, withDirectives, resolveComponent, mergeProps, resolveDirective, useTemplateRef, createTextVNode, h, mergeModels, useModel, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createCommentVNode, withCtx, renderSlot, renderList, createBlock, vShow, toDisplayString, reactive, useSlots, watch, onMounted, createSlots, normalizeProps, guardReactiveProps, markRaw, Transition, shallowReactive, isVNode, render, createElementVNode, toRaw } from 'vue';
4
4
  import { buttonProps, useLocale as useLocale$1, ElLoading, ElMessage, ElMessageBox, formProps as formProps$1, formEmits as formEmits$1, ElTooltip, formItemProps as formItemProps$1, ElFormItem, ElForm, ElRow, ElCol, inputProps as inputProps$1, inputEmits as inputEmits$1, configProviderContextKey, ElConfigProvider, ElDialog, ElButton, ElTable, ElIcon, selectProps as selectProps$1, selectEmits as selectEmits$1, ElPageHeader, datePickerProps, linkProps as linkProps$1 } from 'element-plus';
@@ -807,7 +807,7 @@ const formProps = {
807
807
  // 标签的长度
808
808
  labelWidth: {
809
809
  ...formProps$1.labelWidth,
810
- default: 120
810
+ default: 100
811
811
  },
812
812
  scrollIntoViewOptions: {
813
813
  ...formProps$1.scrollIntoViewOptions,
@@ -2033,6 +2033,13 @@ const useTable$1 = (props) => {
2033
2033
  }
2034
2034
  }
2035
2035
  };
2036
+ if (!props.api) {
2037
+ watch(() => props.data, (newValue) => {
2038
+ customData.value = newValue;
2039
+ }, {
2040
+ deep: true
2041
+ });
2042
+ }
2036
2043
  const {
2037
2044
  pagination,
2038
2045
  paginationProps
@@ -2998,7 +3005,10 @@ const titleProps = {
2998
3005
  // 标题名称
2999
3006
  title: String,
3000
3007
  // 是否显示展开折叠
3001
- showDownUp: Boolean
3008
+ showDownUp: {
3009
+ type: Boolean,
3010
+ default: false
3011
+ }
3002
3012
  };
3003
3013
  const titleEmits = {
3004
3014
  toggle: (expanded) => true
@@ -3074,7 +3084,8 @@ var _sfc_main$3 = /* @__PURE__ */ defineComponent({
3074
3084
  renderSlot(_ctx.$slots, "title", { title: _ctx.title }, () => [
3075
3085
  createTextVNode(toDisplayString(_ctx.title), 1)
3076
3086
  ]),
3077
- createElementVNode("div", {
3087
+ _ctx.showDownUp ? (openBlock(), createElementBlock("div", {
3088
+ key: 0,
3078
3089
  class: normalizeClass(unref(bem).e("toggle")),
3079
3090
  onClick: unref(toggleState)
3080
3091
  }, [
@@ -3085,7 +3096,7 @@ var _sfc_main$3 = /* @__PURE__ */ defineComponent({
3085
3096
  ]),
3086
3097
  _: 1
3087
3098
  })
3088
- ], 10, ["onClick"]),
3099
+ ], 10, ["onClick"])) : createCommentVNode("", true),
3089
3100
  renderSlot(_ctx.$slots, "title-append")
3090
3101
  ], 2),
3091
3102
  createElementVNode("div", {
@@ -3525,7 +3536,7 @@ var components = [
3525
3536
  EpLink
3526
3537
  ];
3527
3538
 
3528
- var version = "0.0.22";
3539
+ var version = "0.0.24";
3529
3540
 
3530
3541
  var globalProperties = {
3531
3542
  install(app) {
@@ -3566,7 +3577,7 @@ const useChooseDialog = (options = {}) => {
3566
3577
  scopedSlots,
3567
3578
  title,
3568
3579
  onConfirm: (resolve) => {
3569
- resolve(selections);
3580
+ resolve(JSON.parse(JSON.stringify(selections)));
3570
3581
  },
3571
3582
  render: ({
3572
3583
  resolve
@@ -3588,7 +3599,7 @@ const useChooseDialog = (options = {}) => {
3588
3599
  },
3589
3600
  onSingleSelectionChange: (newSel) => {
3590
3601
  selections = newSel;
3591
- resolve(selections);
3602
+ resolve(toRaw(selections));
3592
3603
  }
3593
3604
  }
3594
3605
  }, null);
@@ -10,7 +10,7 @@ export declare const EpForm: {
10
10
  readonly __epPropKey: true;
11
11
  };
12
12
  labelWidth: {
13
- readonly default: 120;
13
+ readonly default: 100;
14
14
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
15
15
  readonly required: false;
16
16
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -107,7 +107,7 @@ export declare const EpForm: {
107
107
  readonly __epPropKey: true;
108
108
  };
109
109
  labelWidth: {
110
- readonly default: 120;
110
+ readonly default: 100;
111
111
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
112
112
  readonly required: false;
113
113
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -197,7 +197,7 @@ export declare const EpForm: {
197
197
  readonly __epPropKey: true;
198
198
  };
199
199
  labelWidth: {
200
- readonly default: 120;
200
+ readonly default: 100;
201
201
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
202
202
  readonly required: false;
203
203
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -9,7 +9,7 @@ export declare const formProps: {
9
9
  readonly __epPropKey: true;
10
10
  };
11
11
  readonly labelWidth: {
12
- readonly default: 120;
12
+ readonly default: 100;
13
13
  readonly type: PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
14
14
  readonly required: false;
15
15
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -29,7 +29,7 @@ const formProps = {
29
29
  // 标签的长度
30
30
  labelWidth: {
31
31
  ...formProps$1.labelWidth,
32
- default: 120
32
+ default: 100
33
33
  },
34
34
  scrollIntoViewOptions: {
35
35
  ...formProps$1.scrollIntoViewOptions,
@@ -1 +1 @@
1
- {"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\nimport {\n formProps as elFormProps,\n formEmits as elFormEmits,\n} from 'element-plus'\nimport type { FormItemProps } from './form-item'\nconst expandFormProps = {\n // 表单列表\n formItemList: {\n type: Array as PropType<FormItemProps[]>,\n default: () => [] as FormItemProps[],\n },\n // 是否显示折叠\n isShowFold: Boolean,\n\n // 最大显示的表单数\n showFieldCount: {\n type: Number,\n default: 8,\n },\n // 每行的列数\n col: {\n type: Number,\n default: 4,\n },\n}\nexport const formProps = {\n ...elFormProps,\n ...expandFormProps,\n size: {\n ...elFormProps.size,\n default: 'small',\n },\n // 标签的长度\n labelWidth: {\n ...elFormProps.labelWidth,\n default: 120,\n },\n scrollIntoViewOptions: {\n ...elFormProps.scrollIntoViewOptions,\n default: () => {\n return { inline: 'center' }\n },\n },\n} as const\nexport type FormProps = ExtractPublicPropTypes<typeof formProps>\nexport const expandFormPropsKeys = Object.keys(expandFormProps)\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const formEmits = {\n ...elFormEmits,\n toggleStatus: (status: boolean) => true, // 折叠状态切换时触发\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport type FormEmits = typeof formEmits\nexport const formEmitsKeys = Object.keys(formEmits)\n"],"names":["elFormProps","elFormEmits"],"mappings":";;AAMA,MAAM,eAAA,GAAkB;AAAA;AAAA,EAEtB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,UAAA,EAAY,OAAA;AAAA;AAAA,EAGZ,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AACO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGA,WAAA;AAAA,EACH,GAAG,eAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,GAAGA,WAAA,CAAY,IAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,GAAGA,WAAA,CAAY,UAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,GAAGA,WAAA,CAAY,qBAAA;AAAA,IACf,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,QAAQ,QAAA,EAAS;AAAA,IAC5B;AAAA;AAEJ;AAEO,MAAM,mBAAA,GAAsB,MAAA,CAAO,IAAA,CAAK,eAAe;AAEvD,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGC,WAAA;AAAA,EACH,YAAA,EAAc,CAAC,MAAA,KAAoB;AAAA;AACrC;AAIO,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,SAAS;;;;"}
1
+ {"version":3,"file":"form.mjs","sources":["../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType, ExtractPublicPropTypes } from 'vue'\nimport {\n formProps as elFormProps,\n formEmits as elFormEmits,\n} from 'element-plus'\nimport type { FormItemProps } from './form-item'\nconst expandFormProps = {\n // 表单列表\n formItemList: {\n type: Array as PropType<FormItemProps[]>,\n default: () => [] as FormItemProps[],\n },\n // 是否显示折叠\n isShowFold: Boolean,\n\n // 最大显示的表单数\n showFieldCount: {\n type: Number,\n default: 8,\n },\n // 每行的列数\n col: {\n type: Number,\n default: 4,\n },\n}\nexport const formProps = {\n ...elFormProps,\n ...expandFormProps,\n size: {\n ...elFormProps.size,\n default: 'small',\n },\n // 标签的长度\n labelWidth: {\n ...elFormProps.labelWidth,\n default: 100,\n },\n scrollIntoViewOptions: {\n ...elFormProps.scrollIntoViewOptions,\n default: () => {\n return { inline: 'center' }\n },\n },\n} as const\nexport type FormProps = ExtractPublicPropTypes<typeof formProps>\nexport const expandFormPropsKeys = Object.keys(expandFormProps)\n/* eslint-disable @typescript-eslint/no-unused-vars */\nexport const formEmits = {\n ...elFormEmits,\n toggleStatus: (status: boolean) => true, // 折叠状态切换时触发\n}\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\nexport type FormEmits = typeof formEmits\nexport const formEmitsKeys = Object.keys(formEmits)\n"],"names":["elFormProps","elFormEmits"],"mappings":";;AAMA,MAAM,eAAA,GAAkB;AAAA;AAAA,EAEtB,YAAA,EAAc;AAAA,IACZ,IAAA,EAAM,KAAA;AAAA,IACN,OAAA,EAAS,MAAM;AAAC,GAClB;AAAA;AAAA,EAEA,UAAA,EAAY,OAAA;AAAA;AAAA,EAGZ,cAAA,EAAgB;AAAA,IACd,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA;AACO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGA,WAAA;AAAA,EACH,GAAG,eAAA;AAAA,EACH,IAAA,EAAM;AAAA,IACJ,GAAGA,WAAA,CAAY,IAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA;AAAA,EAEA,UAAA,EAAY;AAAA,IACV,GAAGA,WAAA,CAAY,UAAA;AAAA,IACf,OAAA,EAAS;AAAA,GACX;AAAA,EACA,qBAAA,EAAuB;AAAA,IACrB,GAAGA,WAAA,CAAY,qBAAA;AAAA,IACf,SAAS,MAAM;AACb,MAAA,OAAO,EAAE,QAAQ,QAAA,EAAS;AAAA,IAC5B;AAAA;AAEJ;AAEO,MAAM,mBAAA,GAAsB,MAAA,CAAO,IAAA,CAAK,eAAe;AAEvD,MAAM,SAAA,GAAY;AAAA,EACvB,GAAGC,WAAA;AAAA,EACH,YAAA,EAAc,CAAC,MAAA,KAAoB;AAAA;AACrC;AAIO,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,SAAS;;;;"}
@@ -11,7 +11,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
11
11
  readonly __epPropKey: true;
12
12
  };
13
13
  labelWidth: {
14
- readonly default: 120;
14
+ readonly default: 100;
15
15
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
16
16
  readonly required: false;
17
17
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -78,7 +78,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
78
78
  readonly __epPropKey: true;
79
79
  };
80
80
  labelWidth: {
81
- readonly default: 120;
81
+ readonly default: 100;
82
82
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
83
83
  readonly required: false;
84
84
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -2336,7 +2336,7 @@ export declare const EpSearchListPage: {
2336
2336
  readonly __epPropKey: true;
2337
2337
  };
2338
2338
  labelWidth: {
2339
- readonly default: 120;
2339
+ readonly default: 100;
2340
2340
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
2341
2341
  readonly required: false;
2342
2342
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -2465,7 +2465,7 @@ export declare const EpSearchListPage: {
2465
2465
  readonly __epPropKey: true;
2466
2466
  };
2467
2467
  labelWidth: {
2468
- readonly default: 120;
2468
+ readonly default: 100;
2469
2469
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
2470
2470
  readonly required: false;
2471
2471
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -4935,7 +4935,7 @@ export declare const EpSearchListPage: {
4935
4935
  readonly __epPropKey: true;
4936
4936
  };
4937
4937
  labelWidth: {
4938
- readonly default: 120;
4938
+ readonly default: 100;
4939
4939
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
4940
4940
  readonly required: false;
4941
4941
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -5064,7 +5064,7 @@ export declare const EpSearchListPage: {
5064
5064
  readonly __epPropKey: true;
5065
5065
  };
5066
5066
  labelWidth: {
5067
- readonly default: 120;
5067
+ readonly default: 100;
5068
5068
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
5069
5069
  readonly required: false;
5070
5070
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -7408,7 +7408,7 @@ export declare const EpSearchListPage: {
7408
7408
  readonly __epPropKey: true;
7409
7409
  };
7410
7410
  labelWidth: {
7411
- readonly default: 120;
7411
+ readonly default: 100;
7412
7412
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
7413
7413
  readonly required: false;
7414
7414
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -7537,7 +7537,7 @@ export declare const EpSearchListPage: {
7537
7537
  readonly __epPropKey: true;
7538
7538
  };
7539
7539
  labelWidth: {
7540
- readonly default: 120;
7540
+ readonly default: 100;
7541
7541
  readonly type: import("vue").PropType<import("element-plus/es/utils/index.js").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
7542
7542
  readonly required: false;
7543
7543
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -2217,7 +2217,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
2217
2217
  readonly __epPropKey: true;
2218
2218
  };
2219
2219
  labelWidth: {
2220
- readonly default: 120;
2220
+ readonly default: 100;
2221
2221
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
2222
2222
  readonly required: false;
2223
2223
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -2346,7 +2346,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
2346
2346
  readonly __epPropKey: true;
2347
2347
  };
2348
2348
  labelWidth: {
2349
- readonly default: 120;
2349
+ readonly default: 100;
2350
2350
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
2351
2351
  readonly required: false;
2352
2352
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -2217,7 +2217,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
2217
2217
  readonly __epPropKey: true;
2218
2218
  };
2219
2219
  labelWidth: {
2220
- readonly default: 120;
2220
+ readonly default: 100;
2221
2221
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
2222
2222
  readonly required: false;
2223
2223
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -2346,7 +2346,7 @@ export declare const useSearchListPage: (props: SearchListPageProps, config?: {}
2346
2346
  readonly __epPropKey: true;
2347
2347
  };
2348
2348
  labelWidth: {
2349
- readonly default: 120;
2349
+ readonly default: 100;
2350
2350
  readonly type: import("vue").PropType<import("element-plus/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>>;
2351
2351
  readonly required: false;
2352
2352
  readonly validator: ((val: unknown) => boolean) | undefined;
@@ -1,4 +1,4 @@
1
- import { useTemplateRef, ref, useAttrs, getCurrentInstance, computed, reactive, nextTick, createVNode, createTextVNode, toRaw } from 'vue';
1
+ import { useTemplateRef, ref, useAttrs, watch, getCurrentInstance, computed, reactive, nextTick, createVNode, createTextVNode, toRaw } from 'vue';
2
2
  import { useRequest } from '../../../hooks/use-request.mjs';
3
3
  import { prepareProps } from '../../../utils/props.mjs';
4
4
  import { cloneDeep } from 'lodash-unified';
@@ -73,6 +73,13 @@ const useTable = (props) => {
73
73
  }
74
74
  }
75
75
  };
76
+ if (!props.api) {
77
+ watch(() => props.data, (newValue) => {
78
+ customData.value = newValue;
79
+ }, {
80
+ deep: true
81
+ });
82
+ }
76
83
  const {
77
84
  pagination,
78
85
  paginationProps
@@ -1 +1 @@
1
- {"version":3,"file":"use-table.mjs","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n nextTick,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const customData = ref<Record<string, unknown>[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n customData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n customData.value = rawData?.list || rawData?.data || []\n } else {\n customData.value = []\n }\n if (props.showPagination) {\n pagination.total =\n (props.isFrontPage\n ? customData.value.length\n : (data as { total: number }).total) || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await nextTick()\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页\n if (isPagination && props.isFrontPage) {\n const { pageNo, pageSize } = pagination\n const data = customData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } else if (props.data?.length) {\n customData.value = props.data\n }\n }\n }\n const { pagination, paginationProps } = usePagination(props, search)\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n item.onClick = item.onClick.bind(null, scope)\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (props: TableProps, search: ISearch) {\n const pageSizes = [20, 50, 100, 200]\n const pagination = reactive({\n total: 0,\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const defaultPaginationProps = props.paginationProps || {}\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n ...defaultPaginationProps,\n pageSizes,\n layout: 'total, sizes, prev, pager, next, jumper',\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n let newColumn = { ...column }\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n newColumn = { ...newColumn, ...formatColumn }\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnProps,\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","customData","ref","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","showPagination","pagination","total","isFrontPage","length","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","nextTick","pageNo","pageSize","filter","item","index","pageNum","paginationProps","usePagination","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearValidate","formatActionButtons","scope","map","onClick","bind","pageSizes","reactive","computed","defaultPaginationProps","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
1
+ {"version":3,"file":"use-table.mjs","sources":["../../../../../../packages/components/table/src/use-table.tsx"],"sourcesContent":["import type { FormInstance, TableInstance, FormItemProp } from 'element-plus'\nimport {\n ref,\n computed,\n type Ref,\n reactive,\n useTemplateRef,\n getCurrentInstance,\n toRaw,\n useAttrs,\n nextTick,\n watch,\n} from 'vue'\nimport { useRequest } from '@el-plus/hooks/use-request'\nimport type { TableColumn, TableProps, TableScope } from './table'\nimport type { ButtonProps } from '@el-plus/components/buttons'\nimport type { FormProps } from '@el-plus/components/form'\nimport { bus } from '@el-plus/utils'\nimport {\n prepareProps,\n prepareEvents,\n prepareClassNames,\n prepareStyles,\n} from '@el-plus/utils/props'\nimport { cloneDeep } from 'lodash-unified'\nimport { EditPen } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useFormDialog } from '@el-plus/hooks/dialog/use-form-dialog'\n\nexport type ISearch = (init: boolean, isPagination?: boolean) => void\nexport const useTable = (props: TableProps) => {\n const elFormRef = useTemplateRef<FormInstance>('elFormRef')\n const elTableRef = useTemplateRef<TableInstance>('elTableRef')\n const customData = ref<Record<string, unknown>[]>([])\n const { loading, requestFn } = useRequest({\n api: props.api,\n method: props.method,\n reqData: props.reqData,\n reqParams: props.reqParams,\n reqBefore: props.reqBefore,\n reqAfter: props.reqAfter,\n cancelToken: true,\n hooks: {\n success(data) {\n if (Array.isArray(data)) {\n customData.value = data\n } else if (data && typeof data === 'object') {\n const rawData = data as Record<string, any>\n customData.value = rawData?.list || rawData?.data || []\n } else {\n customData.value = []\n }\n if (props.showPagination) {\n pagination.total =\n (props.isFrontPage\n ? customData.value.length\n : (data as { total: number }).total) || 0\n }\n },\n fail(error) {\n console.error(error)\n },\n },\n })\n // 自定义列\n const customColumns = ref<TableColumn[]>([])\n // 加载列表\n const attrs = useAttrs()\n const search: ISearch = async (init = false, isPagination = false) => {\n const beforeSearch = attrs['before-search']\n if (typeof beforeSearch === 'function') {\n await nextTick()\n await beforeSearch?.()\n }\n if (init) {\n pagination.pageNo = 1\n }\n // 前端分页\n if (isPagination && props.isFrontPage) {\n const { pageNo, pageSize } = pagination\n const data = customData.value.filter((item, index) => {\n return index < pageNo * pageSize && index >= (pageNo - 1) * pageSize\n })\n customData.value = data\n } else {\n if (props.api) {\n requestFn!({\n pageNo: pagination.pageNo,\n pageSize: pagination.pageSize,\n pageNum: pagination.pageNo,\n })\n } else if (props.data?.length) {\n customData.value = props.data\n }\n }\n }\n if (!props.api) {\n watch(\n () => props.data,\n (newValue) => {\n customData.value = newValue as Record<string, any>[]\n },\n {\n deep: true,\n },\n )\n }\n\n const { pagination, paginationProps } = usePagination(props, search)\n\n // 初始化加载\n ;(async () => {\n if (props.isInitSearch) {\n if (props.customColumnModule) {\n loading!.value = true\n const columns = await bus.once('loadedCustomColumn')\n loading!.value = false\n customColumns.value = columns\n bus.on('loadedCustomColumn', (columns: TableColumn[]) => {\n customColumns.value = columns\n })\n }\n search(true)\n }\n })()\n\n // 校验\n const validate = () => {\n return elFormRef.value!.validate()\n }\n // 重置校验\n const resetFields = (props: FormItemProp) => {\n return elFormRef.value!.resetFields(props)\n }\n // 清理某个字段的表单验证信息\n const clearValidate = (props: FormItemProp) => {\n return elFormRef.value!.clearValidate(props)\n }\n // 格式化操作按钮\n const formatActionButtons = (list: ButtonProps[], scope: TableScope) => {\n return list.map((item) => {\n if (item.onClick) {\n item.onClick = item.onClick.bind(null, scope)\n }\n return item\n })\n }\n\n return {\n loading,\n data: customData,\n search,\n pagination,\n paginationProps,\n validate,\n resetFields,\n clearValidate,\n elFormRef,\n elTableRef,\n formatActionButtons,\n customColumns: customColumns as unknown as Ref<TableColumn[]>,\n }\n}\nconst usePagination = function (props: TableProps, search: ISearch) {\n const pageSizes = [20, 50, 100, 200]\n const pagination = reactive({\n total: 0,\n pageNo: 1,\n pageSize: pageSizes[0],\n })\n const paginationProps = computed(() => {\n const defaultPaginationProps = props.paginationProps || {}\n const onSizeChange = defaultPaginationProps.onSizeChange\n const onCurrentChange = defaultPaginationProps.onCurrentChange\n return {\n ...defaultPaginationProps,\n pageSizes,\n layout: 'total, sizes, prev, pager, next, jumper',\n onSizeChange: (value: number) => {\n onSizeChange && onSizeChange(value)\n search(true, true)\n },\n onCurrentChange: (value: number) => {\n onCurrentChange && onCurrentChange(value)\n search(false, true)\n },\n }\n })\n return {\n pagination,\n paginationProps,\n }\n}\n\nexport const useTableColumn = (\n props: TableProps,\n tableData: Ref<TableProps['data']>,\n customColumns: Ref<TableColumn[]>,\n) => {\n const instance = getCurrentInstance()\n const columnProps = (column: TableColumn) => {\n const attrs = {\n 'show-overflow-tooltip': true,\n align: column.align || props.align,\n minWidth: column.minWidth || props.minWidth,\n // ...prepareEvents<TableEmits>(emit, tableEmits),\n } as TableColumn\n if (!column.renderHeader) {\n // 必填\n let required = column.required\n if (typeof column.required === 'function') {\n required = column.required()\n }\n // 批量编辑\n const editable = column.editable\n attrs['renderHeader'] = () => {\n return (\n <span>\n {required ? (\n <span style=\"color:var(--el-color-danger)\"> * </span>\n ) : (\n ''\n )}\n <span\n class={{ 'is-edit': editable }}\n onClick={\n editable\n ? async () => {\n const cloneColumn = { ...column }\n delete cloneColumn.editable\n const rawRender = cloneColumn.render\n const formData = reactive({})\n if (rawRender) {\n cloneColumn.render = () => {\n return rawRender({\n row: formData,\n })\n }\n }\n const formDialog = useFormDialog({\n title: cloneColumn.label,\n dialogProps: {\n destroyOnClose: true,\n instance,\n },\n formItemList: [\n cloneColumn,\n ] as FormProps['formItemList'],\n formData,\n // formData: reactive({}),\n })\n const data = (await formDialog.open()) as Record<\n string,\n any\n >\n ;(tableData.value || []).forEach((item) => {\n item[column.prop!] = data![column.prop!]\n })\n if (typeof editable === 'function') {\n editable(toRaw(data))\n }\n }\n : void 0\n }\n >\n {column.label}\n {editable ? (\n <ElIcon>\n <EditPen />\n </ElIcon>\n ) : (\n ''\n )}\n </span>\n </span>\n )\n }\n }\n if (column.filter) {\n const arr = tableData.value!.map((item) => item[column.prop!])\n attrs.filters = [...new Set(arr)].map((item) => {\n return {\n text: item,\n value: item,\n }\n })\n attrs.filterMethod = (value, row) => {\n return row[column.prop!] === value\n }\n }\n if (column.type === 'EpLink') {\n attrs.className = 'table-column-link'\n }\n\n return {\n ...attrs,\n ...prepareProps(column),\n }\n }\n const columnList = computed(() => {\n const columns = props.customColumnModule\n ? customColumns.value\n : props.columns\n return columns!\n .map((column: TableColumn) => {\n let newColumn = { ...column }\n if (props.formatColumns!.length) {\n const formatColumn = props.formatColumns!.find(\n (item) => item.prop === column.prop,\n )\n if (formatColumn) {\n newColumn = { ...newColumn, ...formatColumn }\n }\n }\n return newColumn\n })\n .filter((column) => {\n if ('show' in column) {\n return typeof column.show === 'function'\n ? column.show(column)\n : column.show\n } else if ('hide' in column) {\n return typeof column.hide === 'function'\n ? !column.hide(column)\n : !column.hide\n }\n return true\n })\n })\n return {\n columnProps,\n columnList,\n }\n}\n\nexport const useTableFormItem = (props: TableProps) => {\n const formItemProps = (scope: TableScope, rawItem: TableColumn) => {\n const item = cloneDeep(rawItem)\n let required = item.required\n if (typeof required === 'function') {\n required = required()\n }\n if (item.cellRequired) {\n required = item.cellRequired(scope)\n }\n let disabled = props.disabled\n if ('disabled' in item) {\n if (typeof item.disabled === 'function') {\n disabled = item.disabled(scope)\n } else {\n disabled = item.disabled || false\n }\n }\n if (item.type === 'EpSelect' && item.props) {\n if ('options' in item.props && typeof item.props.options === 'function') {\n item.props.options = item.props.options(scope)\n }\n if (\n 'disabledOption' in item.props &&\n typeof item.props.disabledOption === 'function'\n ) {\n const disabledOption = item.props.disabledOption\n item.props.disabledOption = (...args: unknown[]) =>\n disabledOption(...args, scope)\n }\n }\n\n if (item.type === 'EpButtons' && item.props) {\n item.props.list.forEach((btnItem: ButtonProps) => {\n if (btnItem.prop) {\n btnItem.name = scope.row[btnItem.prop] as string\n }\n if (btnItem.onClick) {\n btnItem.onClick = btnItem.onClick.bind(null, scope)\n }\n })\n }\n if (item.type === 'EpLink') {\n ;(item.props ? item.props : (item.props = {})).content =\n item.props.content || scope.row[item.prop!]\n }\n for (const key in item) {\n if (key.startsWith('on') && typeof item[key] === 'function') {\n const fn = item[key]\n item[key] = (...args: unknown[]) => {\n let event: Event | unknown\n if (args[0] instanceof Event) {\n // 删除 event\n event = args.shift()\n }\n return fn(...args, scope, event)\n }\n }\n }\n return {\n ...prepareProps(item),\n isShowLabel: false,\n required,\n hideRequiredAsterisk: 'cellRequired' in item ? false : required,\n prop: `table.${scope.$index}.${item.prop}`,\n tableProp: item.prop, // table里的表单需要绑定的prop\n props: {\n ...item.props,\n disabled,\n },\n }\n }\n return {\n formItemProps,\n }\n}\n"],"names":["useTable","props","elFormRef","useTemplateRef","elTableRef","customData","ref","loading","requestFn","useRequest","api","method","reqData","reqParams","reqBefore","reqAfter","cancelToken","hooks","success","data","Array","isArray","value","rawData","list","showPagination","pagination","total","isFrontPage","length","fail","error","console","customColumns","attrs","useAttrs","search","init","isPagination","beforeSearch","nextTick","pageNo","pageSize","filter","item","index","pageNum","watch","newValue","deep","paginationProps","usePagination","isInitSearch","customColumnModule","columns","bus","once","on","validate","resetFields","clearValidate","formatActionButtons","scope","map","onClick","bind","pageSizes","reactive","computed","defaultPaginationProps","onSizeChange","onCurrentChange","layout","useTableColumn","tableData","instance","getCurrentInstance","columnProps","column","align","minWidth","renderHeader","required","editable","_createVNode","_createTextVNode","cloneColumn","rawRender","render","formData","row","formDialog","useFormDialog","title","label","dialogProps","destroyOnClose","formItemList","open","forEach","prop","toRaw","ElIcon","default","EditPen","arr","filters","Set","text","filterMethod","type","className","prepareProps","columnList","newColumn","formatColumns","formatColumn","find","show","hide","useTableFormItem","formItemProps","rawItem","cloneDeep","cellRequired","disabled","options","disabledOption","args","btnItem","name","content","key","startsWith","fn","event","Event","shift","isShowLabel","hideRequiredAsterisk","$index","tableProp"],"mappings":"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"}
@@ -17,7 +17,10 @@ export declare const EpTitle: {
17
17
  readonly default: () => never[];
18
18
  };
19
19
  readonly title: StringConstructor;
20
- readonly showDownUp: BooleanConstructor;
20
+ readonly showDownUp: {
21
+ readonly type: BooleanConstructor;
22
+ readonly default: false;
23
+ };
21
24
  }>> & Readonly<{
22
25
  onToggle?: ((expanded: boolean) => any) | undefined;
23
26
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -62,7 +65,10 @@ export declare const EpTitle: {
62
65
  readonly default: () => never[];
63
66
  };
64
67
  readonly title: StringConstructor;
65
- readonly showDownUp: BooleanConstructor;
68
+ readonly showDownUp: {
69
+ readonly type: BooleanConstructor;
70
+ readonly default: false;
71
+ };
66
72
  }>> & Readonly<{
67
73
  onToggle?: ((expanded: boolean) => any) | undefined;
68
74
  }>, {}, {}, {}, {}, {
@@ -90,7 +96,10 @@ export declare const EpTitle: {
90
96
  readonly default: () => never[];
91
97
  };
92
98
  readonly title: StringConstructor;
93
- readonly showDownUp: BooleanConstructor;
99
+ readonly showDownUp: {
100
+ readonly type: BooleanConstructor;
101
+ readonly default: false;
102
+ };
94
103
  }>> & Readonly<{
95
104
  onToggle?: ((expanded: boolean) => any) | undefined;
96
105
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -5,7 +5,10 @@ export declare const titleProps: {
5
5
  readonly default: () => never[];
6
6
  };
7
7
  readonly title: StringConstructor;
8
- readonly showDownUp: BooleanConstructor;
8
+ readonly showDownUp: {
9
+ readonly type: BooleanConstructor;
10
+ readonly default: false;
11
+ };
9
12
  };
10
13
  export type TitleProps = ExtractPublicPropTypes<typeof titleProps>;
11
14
  export declare const titleEmits: {
@@ -8,7 +8,10 @@ const titleProps = {
8
8
  // 标题名称
9
9
  title: String,
10
10
  // 是否显示展开折叠
11
- showDownUp: Boolean
11
+ showDownUp: {
12
+ type: Boolean,
13
+ default: false
14
+ }
12
15
  };
13
16
  const titleEmits = {
14
17
  toggle: (expanded) => true
@@ -1 +1 @@
1
- {"version":3,"file":"title.mjs","sources":["../../../../../../packages/components/title/src/title.ts"],"sourcesContent":["import type { ExtractPublicPropTypes } from 'vue'\nimport { buttonsProps } from '@el-plus/components/buttons'\n\nexport const titleProps = {\n // 右侧按钮\n buttons: {\n ...buttonsProps.list,\n },\n // 标题名称\n title: String,\n // 是否显示展开折叠\n showDownUp: Boolean,\n} as const\nexport type TitleProps = ExtractPublicPropTypes<typeof titleProps>\nexport const titleEmits = {\n toggle: (expanded: boolean) => true,\n}\nexport type TitleEmits = typeof titleEmits\n"],"names":[],"mappings":";;AAGO,MAAM,UAAA,GAAa;AAAA;AAAA,EAExB,OAAA,EAAS;AAAA,IACP,GAAG,YAAA,CAAa;AAAA,GAClB;AAAA;AAAA,EAEA,KAAA,EAAO,MAAA;AAAA;AAAA,EAEP,UAAA,EAAY;AACd;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,MAAA,EAAQ,CAAC,QAAA,KAAsB;AACjC;;;;"}
1
+ {"version":3,"file":"title.mjs","sources":["../../../../../../packages/components/title/src/title.ts"],"sourcesContent":["import type { ExtractPublicPropTypes } from 'vue'\nimport { buttonsProps } from '@el-plus/components/buttons'\n\nexport const titleProps = {\n // 右侧按钮\n buttons: {\n ...buttonsProps.list,\n },\n // 标题名称\n title: String,\n // 是否显示展开折叠\n showDownUp: {\n type: Boolean,\n default: false,\n },\n} as const\nexport type TitleProps = ExtractPublicPropTypes<typeof titleProps>\nexport const titleEmits = {\n toggle: (expanded: boolean) => true,\n}\nexport type TitleEmits = typeof titleEmits\n"],"names":[],"mappings":";;AAGO,MAAM,UAAA,GAAa;AAAA;AAAA,EAExB,OAAA,EAAS;AAAA,IACP,GAAG,YAAA,CAAa;AAAA,GAClB;AAAA;AAAA,EAEA,KAAA,EAAO,MAAA;AAAA;AAAA,EAEP,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb;AAEO,MAAM,UAAA,GAAa;AAAA,EACxB,MAAA,EAAQ,CAAC,QAAA,KAAsB;AACjC;;;;"}
@@ -20,7 +20,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
20
20
  readonly default: () => never[];
21
21
  };
22
22
  readonly title: StringConstructor;
23
- readonly showDownUp: BooleanConstructor;
23
+ readonly showDownUp: {
24
+ readonly type: BooleanConstructor;
25
+ readonly default: false;
26
+ };
24
27
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
28
  toggle: (expanded: boolean) => void;
26
29
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -29,7 +32,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
29
32
  readonly default: () => never[];
30
33
  };
31
34
  readonly title: StringConstructor;
32
- readonly showDownUp: BooleanConstructor;
35
+ readonly showDownUp: {
36
+ readonly type: BooleanConstructor;
37
+ readonly default: false;
38
+ };
33
39
  }>> & Readonly<{
34
40
  onToggle?: ((expanded: boolean) => any) | undefined;
35
41
  }>, {
@@ -1,4 +1,4 @@
1
- import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createElementVNode, renderSlot, createTextVNode, toDisplayString, createVNode, withCtx } from 'vue';
1
+ import { defineComponent, createElementBlock, openBlock, normalizeStyle, normalizeClass, unref, createElementVNode, renderSlot, createCommentVNode, createTextVNode, toDisplayString, createVNode, withCtx } from 'vue';
2
2
  import { createNameSpace } from '../../../utils/bem.mjs';
3
3
  import { titleEmits, titleProps } from './title.mjs';
4
4
  import { prepareStyles, prepareClassNames } from '../../../utils/props.mjs';
@@ -38,7 +38,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
38
38
  renderSlot(_ctx.$slots, "title", { title: _ctx.title }, () => [
39
39
  createTextVNode(toDisplayString(_ctx.title), 1)
40
40
  ]),
41
- createElementVNode("div", {
41
+ _ctx.showDownUp ? (openBlock(), createElementBlock("div", {
42
+ key: 0,
42
43
  class: normalizeClass(unref(bem).e("toggle")),
43
44
  onClick: unref(toggleState)
44
45
  }, [
@@ -49,7 +50,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
49
50
  ]),
50
51
  _: 1
51
52
  })
52
- ], 10, ["onClick"]),
53
+ ], 10, ["onClick"])) : createCommentVNode("", true),
53
54
  renderSlot(_ctx.$slots, "title-append")
54
55
  ], 2),
55
56
  createElementVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"title.vue2.mjs","sources":["../../../../../../packages/components/title/src/title.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), bem.is('expanded', expanded), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <div :class=\"bem.e('header')\">\n <div :class=\"bem.e('title')\">\n <slot name=\"title-prepend\"></slot>\n <slot name=\"title\" :title=\"title\">\n {{ title }}\n </slot>\n <div :class=\"bem.e('toggle')\" @click=\"toggleState\">\n {{ expanded ? t('ep.title.collapse') : t('ep.title.expand') }}\n <el-icon>\n <ArrowDown />\n </el-icon>\n </div>\n <slot name=\"title-append\"></slot>\n </div>\n <div :class=\"bem.e('buttons')\">\n <slot name=\"buttons-prepend\"></slot>\n <EpButtons :list=\"buttons\" />\n <slot name=\"buttons-append\"></slot>\n </div>\n </div>\n <div\n ref=\"contentRef\"\n :class=\"[bem.e('content'), bem.is('expanded', expanded)]\"\n >\n <slot></slot>\n <!-- <div :class=\"[bem.e('content-inner')]\">\n </div> -->\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { titleProps, titleEmits } from './title'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport EpButtons from '@el-plus/components/buttons'\nimport { useTitle } from './use-title'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTitle',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('title')\nconst props = defineProps(titleProps)\nconst emit = defineEmits(titleEmits)\nconst { expanded, toggleState } = useTitle(emit)\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_renderSlot","title","_createTextVNode","_toDisplayString","_createVNode","buttons"],"mappings":";;;;;;;;;;;;;;;;;;;AA8CA,IAAA,MAAM,EAAE,CAAA,EAAE,GAAI,SAAA,EAAU;AAKxB,IAAA,MAAM,GAAA,GAAM,gBAAgB,OAAO,CAAA;AAEnC,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,EAAE,QAAA,EAAU,WAAA,EAAY,GAAI,SAAS,IAAI,CAAA;;0BArD7CA,kBAAA,CAkCM,KAAA,EAAA;AAAA,QAjCH,KAAA,EAAKC,eAAA,CAAGC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,IAAKA,KAAA,CAAA,GAAA,EAAI,EAAA,CAAE,UAAA,EAAaA,MAAA,QAAA,CAAQ,GAAGA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAChE,OAAKC,cAAA,CAAA;AAAA,aAAaD,KAAA,CAAA,aAAA,CAAA;AAAa;;QAIhCE,mBAmBM,KAAA,EAAA;AAAA,UAnBA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA;AAAA;UAChBE,mBAYM,KAAA,EAAA;AAAA,YAZA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,OAAA,CAAA;AAAA;YAChBG,UAAA,CAAkC,IAAA,CAAA,MAAA,EAAA,eAAA,CAAA;AAAA,YAClCA,UAAA,CAEO,KAAA,MAAA,EAAA,OAAA,EAAA,EAFa,KAAA,EAAOC,IAAAA,CAAAA,KAAAA,IAA3B,MAEO;AAAA,8CADFA,IAAAA,CAAAA,KAAK,GAAA,CAAA;AAAA;YAEVF,mBAKM,KAAA,EAAA;AAAA,cALA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA,CAAA;AAAA,cAAa,OAAA,EAAOA,MAAA,WAAA;AAAA;cACjCK,gBAAAC,eAAA,CAAAN,KAAA,CAAA,QAAA,CAAA,GAAWA,MAAA,CAAA,CAAA,CAAC,mBAAA,CAAA,GAAwBA,MAAA,CAAA,CAAA,uBAAuB,KAC9D,CAAA,CAAA;AAAA,cAAAO,WAAA,CAEUP,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,iCADR,MAAa;AAAA,kBAAbO,WAAA,CAAaP,KAAA,CAAA,SAAA,CAAA;AAAA;;;;YAGjBG,UAAA,CAAiC,IAAA,CAAA,MAAA,EAAA,cAAA;AAAA;UAEnCD,mBAIM,KAAA,EAAA;AAAA,YAJA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,SAAA,CAAA;AAAA;YAChBG,UAAA,CAAoC,IAAA,CAAA,MAAA,EAAA,iBAAA,CAAA;AAAA,YACpCI,WAAA,CAA6BP,KAAA,CAAA,SAAA,CAAA,EAAA,EAAjB,IAAA,EAAMQ,IAAAA,CAAAA,OAAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,YACzBL,UAAA,CAAmC,IAAA,CAAA,MAAA,EAAA,gBAAA;AAAA;;QAGvCD,mBAOM,KAAA,EAAA;AAAA,UANJ,GAAA,EAAI,YAAA;AAAA,UACH,OAAKH,cAAA,CAAA,CAAGC,WAAI,cAAcA,KAAA,CAAA,GAAA,EAAI,EAAA,CAAE,UAAA,EAAaA,MAAA,QAAA,CAAQ,CAAA,CAAA;AAAA;UAEtDG,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"title.vue2.mjs","sources":["../../../../../../packages/components/title/src/title.vue"],"sourcesContent":["<template>\n <div\n :class=\"[bem.b(), bem.is('expanded', expanded), prepareClassNames()]\"\n :style=\"{\n ...prepareStyles(),\n }\"\n >\n <div :class=\"bem.e('header')\">\n <div :class=\"bem.e('title')\">\n <slot name=\"title-prepend\"></slot>\n <slot name=\"title\" :title=\"title\">\n {{ title }}\n </slot>\n <div v-if=\"showDownUp\" :class=\"bem.e('toggle')\" @click=\"toggleState\">\n {{ expanded ? t('ep.title.collapse') : t('ep.title.expand') }}\n <el-icon>\n <ArrowDown />\n </el-icon>\n </div>\n <slot name=\"title-append\"></slot>\n </div>\n <div :class=\"bem.e('buttons')\">\n <slot name=\"buttons-prepend\"></slot>\n <EpButtons :list=\"buttons\" />\n <slot name=\"buttons-append\"></slot>\n </div>\n </div>\n <div\n ref=\"contentRef\"\n :class=\"[bem.e('content'), bem.is('expanded', expanded)]\"\n >\n <slot></slot>\n <!-- <div :class=\"[bem.e('content-inner')]\">\n </div> -->\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { titleProps, titleEmits } from './title'\nimport { prepareClassNames, prepareStyles } from '@el-plus/utils/props'\nimport EpButtons from '@el-plus/components/buttons'\nimport { useTitle } from './use-title'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { ElIcon } from 'element-plus'\nimport { useLocale } from '@el-plus/hooks/use-locale'\nconst { t } = useLocale()\ndefineOptions({\n name: 'EpTitle',\n inheritAttrs: false,\n})\nconst bem = createNameSpace('title')\nconst props = defineProps(titleProps)\nconst emit = defineEmits(titleEmits)\nconst { expanded, toggleState } = useTitle(emit)\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_unref","_normalizeStyle","_createElementVNode","_renderSlot","title","showDownUp","_createTextVNode","_toDisplayString","_createVNode","buttons"],"mappings":";;;;;;;;;;;;;;;;;;;AA8CA,IAAA,MAAM,EAAE,CAAA,EAAE,GAAI,SAAA,EAAU;AAKxB,IAAA,MAAM,GAAA,GAAM,gBAAgB,OAAO,CAAA;AAEnC,IAAA,MAAM,IAAA,GAAO,MAAA;AACb,IAAA,MAAM,EAAE,QAAA,EAAU,WAAA,EAAY,GAAI,SAAS,IAAI,CAAA;;0BArD7CA,kBAAA,CAkCM,KAAA,EAAA;AAAA,QAjCH,KAAA,EAAKC,eAAA,CAAGC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,IAAKA,KAAA,CAAA,GAAA,EAAI,EAAA,CAAE,UAAA,EAAaA,MAAA,QAAA,CAAQ,GAAGA,KAAA,CAAA,iBAAA,CAAA,EAAiB,CAAA,CAAA;AAAA,QAChE,OAAKC,cAAA,CAAA;AAAA,aAAaD,KAAA,CAAA,aAAA,CAAA;AAAa;;QAIhCE,mBAmBM,KAAA,EAAA;AAAA,UAnBA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA;AAAA;UAChBE,mBAYM,KAAA,EAAA;AAAA,YAZA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,OAAA,CAAA;AAAA;YAChBG,UAAA,CAAkC,IAAA,CAAA,MAAA,EAAA,eAAA,CAAA;AAAA,YAClCA,UAAA,CAEO,KAAA,MAAA,EAAA,OAAA,EAAA,EAFa,KAAA,EAAOC,IAAAA,CAAAA,KAAAA,IAA3B,MAEO;AAAA,8CADFA,IAAAA,CAAAA,KAAK,GAAA,CAAA;AAAA;YAECC,IAAAA,CAAAA,UAAAA,iBAAXP,mBAKM,KAAA,EAAA;AAAA;cALkB,OAAKC,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,QAAA,CAAA,CAAA;AAAA,cAAa,OAAA,EAAOA,MAAA,WAAA;AAAA;cACnDM,gBAAAC,eAAA,CAAAP,KAAA,CAAA,QAAA,CAAA,GAAWA,MAAA,CAAA,CAAA,CAAC,mBAAA,CAAA,GAAwBA,MAAA,CAAA,CAAA,uBAAuB,KAC9D,CAAA,CAAA;AAAA,cAAAQ,WAAA,CAEUR,KAAA,CAAA,MAAA,CAAA,EAAA,IAAA,EAAA;AAAA,iCADR,MAAa;AAAA,kBAAbQ,WAAA,CAAaR,KAAA,CAAA,SAAA,CAAA;AAAA;;;;YAGjBG,UAAA,CAAiC,IAAA,CAAA,MAAA,EAAA,cAAA;AAAA;UAEnCD,mBAIM,KAAA,EAAA;AAAA,YAJA,OAAKH,cAAA,CAAEC,KAAA,CAAA,GAAA,CAAA,CAAI,CAAA,CAAC,SAAA,CAAA;AAAA;YAChBG,UAAA,CAAoC,IAAA,CAAA,MAAA,EAAA,iBAAA,CAAA;AAAA,YACpCK,WAAA,CAA6BR,KAAA,CAAA,SAAA,CAAA,EAAA,EAAjB,IAAA,EAAMS,IAAAA,CAAAA,OAAAA,EAAO,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,YACzBN,UAAA,CAAmC,IAAA,CAAA,MAAA,EAAA,gBAAA;AAAA;;QAGvCD,mBAOM,KAAA,EAAA;AAAA,UANJ,GAAA,EAAI,YAAA;AAAA,UACH,OAAKH,cAAA,CAAA,CAAGC,WAAI,cAAcA,KAAA,CAAA,GAAA,EAAI,EAAA,CAAE,UAAA,EAAaA,MAAA,QAAA,CAAQ,CAAA,CAAA;AAAA;UAEtDG,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { reactive, createVNode } from 'vue';
1
+ import { reactive, createVNode, toRaw } from 'vue';
2
2
  import { useDialog } from './use-dialog.mjs';
3
3
  import { createNameSpace } from '../../utils/bem.mjs';
4
4
  import { EpSearchListPage } from '../../components/search-list-page/index.mjs';
@@ -32,7 +32,7 @@ const useChooseDialog = (options = {}) => {
32
32
  scopedSlots,
33
33
  title,
34
34
  onConfirm: (resolve) => {
35
- resolve(selections);
35
+ resolve(JSON.parse(JSON.stringify(selections)));
36
36
  },
37
37
  render: ({
38
38
  resolve
@@ -54,7 +54,7 @@ const useChooseDialog = (options = {}) => {
54
54
  },
55
55
  onSingleSelectionChange: (newSel) => {
56
56
  selections = newSel;
57
- resolve(selections);
57
+ resolve(toRaw(selections));
58
58
  }
59
59
  }
60
60
  }, null);
@@ -1 +1 @@
1
- {"version":3,"file":"use-choose-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { EpSearchListPage } from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n let selections = []\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(selections)\n },\n render: ({ resolve }) => {\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n onSelectionChange: (newSel) => {\n selections = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections = newSel\n resolve(selections)\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","length","useDialog","class","b","width","showFooter","onConfirm","resolve","render","formData","reactive","EpSearchListPage","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange"],"mappings":";;;;;;AAMA,MAAMA,GAAAA,GAAMC,gBAAgB,eAAe,CAAA;AAQpC,MAAMC,eAAAA,GAAkBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACxD,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAMC,SAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAU,GAAGC;AAAAA,GAAK,GAAIN,OAAAA;AAClD,EAAA,IAAIO,aAAa,EAAA;AACjB,EAAA,MAAMC,yBAAyB,CAACH,QAAAA;AAChC,EAAA,MAAMI,cAA4C,EAAC;AACnD,EAAA,IAAI,CAACD,sBAAAA,EAAwB;AAC3BC,IAAAA,WAAAA,CAAYC,gBAAgB,MAAM;AAChC,MAAA,OAAAC,YAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EACed,GAAAA,CAAIe,CAAAA,CAAE,gBAAgB;AAAA,OAAC,EAAA,CACjCX,CAAAA,CAAE,0BAA0B,CAAA,EAC5BM,WAAWM,MAAAA,EACXZ,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,IAGhC,CAAA;AAAA,EACF;AACA,EAAA,OAAOa,SAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOlB,IAAImB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPC,YAAY,CAACV,sBAAAA;AAAAA,IACbC,WAAAA;AAAAA,IACAL,KAAAA;AAAAA,IACAe,WAAYC,CAAAA,OAAAA,KAAY;AACtBA,MAAAA,OAAAA,CAAQb,UAAU,CAAA;AAAA,IACpB,CAAA;AAAA,IACAc,QAAQA,CAAC;AAAA,MAAED;AAAAA,KAAQ,KAAM;AACvB,MAAA,MAAME,QAAAA,GAAWhB,IAAAA,CAAKgB,QAAAA,IAAYC,QAAAA,CAAS,EAAE,CAAA;AAC7C,MAAA,OAAAZ,YAAAa,gBAAAA,EAAA;AAAA,QAGMC,gBAAAA,EAAkBpB,QAAAA;AAAAA,QAClBG,sBAAAA;AAAAA,QACAc,QAAAA;AAAAA,QACA,GAAGhB,IAAAA;AAAAA,QACHoB,SAAAA,EAAW;AAAA,UACTC,GAAAA,EAAK,CAAA;AAAA,UACL,GAAGrB,IAAAA,CAAKoB;AAAAA,SACV;AAAA,QACAE,UAAAA,EAAY;AAAA,UACVC,MAAAA,EAAQ,GAAA;AAAA,UACRC,mBAAoBC,CAAAA,MAAAA,KAAW;AAC7BxB,YAAAA,UAAAA,GAAawB,MAAAA;AAAAA,UACf,CAAA;AAAA,UACAC,yBAA0BD,CAAAA,MAAAA,KAAW;AACnCxB,YAAAA,UAAAA,GAAawB,MAAAA;AACbX,YAAAA,OAAAA,CAAQb,UAAU,CAAA;AAAA,UACpB;AAAA;AACF,SAAC,IAAA,CAAA;AAAA,IAIT,CAAA;AAAA,IACA,GAAGJ;AAAAA,GACJ,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"use-choose-dialog.mjs","sources":["../../../../../packages/hooks/dialog/use-choose-dialog.tsx"],"sourcesContent":["import { useDialog } from './use-dialog'\nimport { createNameSpace } from '@el-plus/utils/bem'\nimport { EpSearchListPage } from '@el-plus/components/search-list-page'\nimport type { DialogOptions } from './use-dialog'\nimport type { SearchListPageProps } from '@el-plus/components/search-list-page'\nimport { reactive, ref, toRaw } from 'vue'\nconst bem = createNameSpace('choose-dialog')\nimport { useLocale } from '@el-plus/hooks/use-locale'\n\ntype Options = {\n title?: string\n dialogProps?: DialogOptions\n multiple?: boolean\n} & SearchListPageProps\nexport const useChooseDialog = (options: Options = {}) => {\n const { t } = useLocale()\n const { dialogProps, title, multiple, ...rest } = options\n let selections = []\n const showSingleSelectionCol = !multiple\n const scopedSlots: DialogOptions['scopedSlots'] = {}\n if (!showSingleSelectionCol) {\n scopedSlots.footerPrepend = () => {\n return (\n <span class={bem.e('selected-count')}>\n {t('ep.chooseDialog.selected')}\n {selections.length}\n {t('ep.chooseDialog.unit')}\n </span>\n )\n }\n }\n return useDialog({\n class: bem.b(),\n width: '80%',\n showFooter: !showSingleSelectionCol,\n scopedSlots,\n title,\n onConfirm: (resolve) => {\n resolve(JSON.parse(JSON.stringify(selections)))\n },\n render: ({ resolve }) => {\n const formData = rest.formData || reactive({})\n return (\n <EpSearchListPage\n {...{\n showSelectionCol: multiple,\n showSingleSelectionCol,\n formData,\n ...rest,\n formProps: {\n col: 3,\n ...rest.formProps,\n },\n tableProps: {\n height: 300,\n onSelectionChange: (newSel) => {\n selections = newSel\n },\n onSingleSelectionChange: (newSel) => {\n selections = newSel\n resolve(toRaw(selections))\n },\n },\n }}\n />\n )\n },\n ...dialogProps,\n })\n}\n"],"names":["bem","createNameSpace","useChooseDialog","options","t","useLocale","dialogProps","title","multiple","rest","selections","showSingleSelectionCol","scopedSlots","footerPrepend","_createVNode","e","length","useDialog","class","b","width","showFooter","onConfirm","resolve","JSON","parse","stringify","render","formData","reactive","EpSearchListPage","showSelectionCol","formProps","col","tableProps","height","onSelectionChange","newSel","onSingleSelectionChange","toRaw"],"mappings":";;;;;;AAMA,MAAMA,GAAAA,GAAMC,gBAAgB,eAAe,CAAA;AAQpC,MAAMC,eAAAA,GAAkBA,CAACC,OAAAA,GAAmB,EAAC,KAAM;AACxD,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAMC,SAAAA,EAAU;AACxB,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,KAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAU,GAAGC;AAAAA,GAAK,GAAIN,OAAAA;AAClD,EAAA,IAAIO,aAAa,EAAA;AACjB,EAAA,MAAMC,yBAAyB,CAACH,QAAAA;AAChC,EAAA,MAAMI,cAA4C,EAAC;AACnD,EAAA,IAAI,CAACD,sBAAAA,EAAwB;AAC3BC,IAAAA,WAAAA,CAAYC,gBAAgB,MAAM;AAChC,MAAA,OAAAC,YAAA,MAAA,EAAA;AAAA,QAAA,OAAA,EACed,GAAAA,CAAIe,CAAAA,CAAE,gBAAgB;AAAA,OAAC,EAAA,CACjCX,CAAAA,CAAE,0BAA0B,CAAA,EAC5BM,WAAWM,MAAAA,EACXZ,CAAAA,CAAE,sBAAsB,CAAC,CAAA,CAAA;AAAA,IAGhC,CAAA;AAAA,EACF;AACA,EAAA,OAAOa,SAAAA,CAAU;AAAA,IACfC,KAAAA,EAAOlB,IAAImB,CAAAA,EAAE;AAAA,IACbC,KAAAA,EAAO,KAAA;AAAA,IACPC,YAAY,CAACV,sBAAAA;AAAAA,IACbC,WAAAA;AAAAA,IACAL,KAAAA;AAAAA,IACAe,WAAYC,CAAAA,OAAAA,KAAY;AACtBA,MAAAA,OAAAA,CAAQC,KAAKC,KAAAA,CAAMD,IAAAA,CAAKE,SAAAA,CAAUhB,UAAU,CAAC,CAAC,CAAA;AAAA,IAChD,CAAA;AAAA,IACAiB,QAAQA,CAAC;AAAA,MAAEJ;AAAAA,KAAQ,KAAM;AACvB,MAAA,MAAMK,QAAAA,GAAWnB,IAAAA,CAAKmB,QAAAA,IAAYC,QAAAA,CAAS,EAAE,CAAA;AAC7C,MAAA,OAAAf,YAAAgB,gBAAAA,EAAA;AAAA,QAGMC,gBAAAA,EAAkBvB,QAAAA;AAAAA,QAClBG,sBAAAA;AAAAA,QACAiB,QAAAA;AAAAA,QACA,GAAGnB,IAAAA;AAAAA,QACHuB,SAAAA,EAAW;AAAA,UACTC,GAAAA,EAAK,CAAA;AAAA,UACL,GAAGxB,IAAAA,CAAKuB;AAAAA,SACV;AAAA,QACAE,UAAAA,EAAY;AAAA,UACVC,MAAAA,EAAQ,GAAA;AAAA,UACRC,mBAAoBC,CAAAA,MAAAA,KAAW;AAC7B3B,YAAAA,UAAAA,GAAa2B,MAAAA;AAAAA,UACf,CAAA;AAAA,UACAC,yBAA0BD,CAAAA,MAAAA,KAAW;AACnC3B,YAAAA,UAAAA,GAAa2B,MAAAA;AACbd,YAAAA,OAAAA,CAAQgB,KAAAA,CAAM7B,UAAU,CAAC,CAAA;AAAA,UAC3B;AAAA;AACF,SAAC,IAAA,CAAA;AAAA,IAIT,CAAA;AAAA,IACA,GAAGJ;AAAAA,GACJ,CAAA;AACH;;;;"}
@@ -1,4 +1,4 @@
1
- var version = "0.0.22";
1
+ var version = "0.0.24";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=package.json.mjs.map