vft 0.0.487 → 0.0.493

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 (64) hide show
  1. package/attributes.json +1 -1
  2. package/dist/index.css +1 -1
  3. package/es/components/dialog/use-dialog.js +11 -11
  4. package/es/components/message/message.vue2.js +45 -42
  5. package/es/components/message/types.d.ts +8 -2
  6. package/es/components/message/types.js +2 -1
  7. package/es/components/modal/modal-footer-action.vue.d.ts +1 -1
  8. package/es/components/modal/modal-footer-action.vue2.js +13 -15
  9. package/es/components/modal/modal.vue2.js +35 -36
  10. package/es/components/super-form/index.d.ts +30 -24
  11. package/es/components/super-form/super-form-item.vue2.js +263 -231
  12. package/es/components/super-form/super-form.vue.d.ts +3 -1
  13. package/es/components/super-form/super-form.vue2.js +153 -132
  14. package/es/components/super-form/types.d.ts +4 -2
  15. package/es/components/super-form/use/helper.d.ts +34 -0
  16. package/es/components/super-form/use/helper.js +81 -34
  17. package/es/components/switch/index.d.ts +1 -0
  18. package/es/components/switch/switch.vue.d.ts +1 -25
  19. package/es/components/switch/types.d.ts +25 -0
  20. package/es/components/switch/types.js +1 -0
  21. package/es/components/table/index.d.ts +6 -0
  22. package/es/components/table/table.vue.d.ts +4 -0
  23. package/es/components/table/table.vue2.js +164 -149
  24. package/es/package.json.d.ts +1 -1
  25. package/es/package.json.js +1 -1
  26. package/es/utils/form-register.d.ts +1 -1
  27. package/es/utils/form-register.js +1 -1
  28. package/lib/components/dialog/use-dialog.cjs +1 -1
  29. package/lib/components/message/message.vue2.cjs +1 -1
  30. package/lib/components/message/types.cjs +1 -1
  31. package/lib/components/message/types.d.ts +8 -2
  32. package/lib/components/modal/modal-footer-action.vue.d.ts +1 -1
  33. package/lib/components/modal/modal-footer-action.vue2.cjs +1 -1
  34. package/lib/components/modal/modal.vue2.cjs +1 -1
  35. package/lib/components/super-form/index.d.ts +30 -24
  36. package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
  37. package/lib/components/super-form/super-form.vue.d.ts +3 -1
  38. package/lib/components/super-form/super-form.vue2.cjs +1 -1
  39. package/lib/components/super-form/types.d.ts +4 -2
  40. package/lib/components/super-form/use/helper.cjs +1 -1
  41. package/lib/components/super-form/use/helper.d.ts +34 -0
  42. package/lib/components/switch/index.d.ts +1 -0
  43. package/lib/components/switch/switch.vue.d.ts +1 -25
  44. package/lib/components/switch/types.cjs +1 -0
  45. package/lib/components/switch/types.d.ts +25 -0
  46. package/lib/components/table/index.d.ts +6 -0
  47. package/lib/components/table/table.vue.d.ts +4 -0
  48. package/lib/components/table/table.vue2.cjs +1 -1
  49. package/lib/package.json.cjs +1 -1
  50. package/lib/package.json.d.ts +1 -1
  51. package/lib/utils/form-register.cjs +1 -1
  52. package/lib/utils/form-register.d.ts +1 -1
  53. package/package.json +5 -5
  54. package/tags.json +1 -1
  55. package/theme-style/index.css +1 -1
  56. package/theme-style/src/dialog.scss +1 -1
  57. package/theme-style/src/message.scss +8 -4
  58. package/theme-style/src/super-form.scss +6 -0
  59. package/theme-style/src/table.scss +25 -6
  60. package/theme-style/vft-dialog.css +1 -1
  61. package/theme-style/vft-message.css +1 -1
  62. package/theme-style/vft-super-form.css +1 -1
  63. package/theme-style/vft-table.css +1 -1
  64. package/web-types.json +1 -1
@@ -45,6 +45,13 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
45
45
  submitResetReverse: {
46
46
  type: import("vue").PropType<boolean>;
47
47
  };
48
+ baseColProps: {
49
+ type: import("vue").PropType<Partial<import("vft/es/vft").ColProps>>;
50
+ };
51
+ quickColSpan: {
52
+ type: import("vue").PropType<number>;
53
+ default: number;
54
+ };
48
55
  mergeDynamicData: {
49
56
  type: import("vue").PropType<import("../types").Recordable>;
50
57
  };
@@ -64,13 +71,6 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
64
71
  type: import("vue").PropType<boolean>;
65
72
  default: boolean;
66
73
  };
67
- quickColSpan: {
68
- type: import("vue").PropType<number>;
69
- default: number;
70
- };
71
- baseColProps: {
72
- type: import("vue").PropType<Partial<import("vft/es/vft").ColProps>>;
73
- };
74
74
  resetFunc: {
75
75
  type: import("vue").PropType<() => Promise<void>>;
76
76
  };
@@ -145,6 +145,8 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
145
145
  getSchema: import("vue").ComputedRef<import("./types").FormSchema[]>;
146
146
  setFormItemError: (field: string, errMess: string) => Promise<void>;
147
147
  formModel: import("vue").ComputedRef<import("../types").Recordable>;
148
+ hasActionButton: import("vue").ComputedRef<boolean>;
149
+ willExceedOneRow: import("vue").ComputedRef<boolean>;
148
150
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
149
151
  register: (instance: Partial<import("./types").FormActionType>) => void;
150
152
  reset: (data: import("../types").Recordable) => void;
@@ -158,11 +160,11 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
158
160
  showResetButton: boolean;
159
161
  showSubmitButton: boolean;
160
162
  showCommonButton: boolean;
163
+ quickColSpan: number;
161
164
  rulesMessageJoinLabel: boolean;
162
165
  autoCleanErrorMessage: boolean;
163
166
  compFullWidth: boolean;
164
167
  autoSetPlaceHolder: boolean;
165
- quickColSpan: number;
166
168
  rowProps: import("vft/es/vft").RowProps;
167
169
  autoFocusFirstItem: boolean;
168
170
  autoSubmitOnEnter: boolean;
@@ -222,6 +224,13 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
222
224
  submitResetReverse: {
223
225
  type: import("vue").PropType<boolean>;
224
226
  };
227
+ baseColProps: {
228
+ type: import("vue").PropType<Partial<import("vft/es/vft").ColProps>>;
229
+ };
230
+ quickColSpan: {
231
+ type: import("vue").PropType<number>;
232
+ default: number;
233
+ };
225
234
  mergeDynamicData: {
226
235
  type: import("vue").PropType<import("../types").Recordable>;
227
236
  };
@@ -241,13 +250,6 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
241
250
  type: import("vue").PropType<boolean>;
242
251
  default: boolean;
243
252
  };
244
- quickColSpan: {
245
- type: import("vue").PropType<number>;
246
- default: number;
247
- };
248
- baseColProps: {
249
- type: import("vue").PropType<Partial<import("vft/es/vft").ColProps>>;
250
- };
251
253
  resetFunc: {
252
254
  type: import("vue").PropType<() => Promise<void>>;
253
255
  };
@@ -322,6 +324,8 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
322
324
  getSchema: import("vue").ComputedRef<import("./types").FormSchema[]>;
323
325
  setFormItemError: (field: string, errMess: string) => Promise<void>;
324
326
  formModel: import("vue").ComputedRef<import("../types").Recordable>;
327
+ hasActionButton: import("vue").ComputedRef<boolean>;
328
+ willExceedOneRow: import("vue").ComputedRef<boolean>;
325
329
  }, {}, {}, {}, {
326
330
  size: import("vft/es/constants").ComponentSize;
327
331
  labelPosition: "left" | "right" | "top";
@@ -329,11 +333,11 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
329
333
  showResetButton: boolean;
330
334
  showSubmitButton: boolean;
331
335
  showCommonButton: boolean;
336
+ quickColSpan: number;
332
337
  rulesMessageJoinLabel: boolean;
333
338
  autoCleanErrorMessage: boolean;
334
339
  compFullWidth: boolean;
335
340
  autoSetPlaceHolder: boolean;
336
- quickColSpan: number;
337
341
  rowProps: import("vft/es/vft").RowProps;
338
342
  autoFocusFirstItem: boolean;
339
343
  autoSubmitOnEnter: boolean;
@@ -390,6 +394,13 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
390
394
  submitResetReverse: {
391
395
  type: import("vue").PropType<boolean>;
392
396
  };
397
+ baseColProps: {
398
+ type: import("vue").PropType<Partial<import("vft/es/vft").ColProps>>;
399
+ };
400
+ quickColSpan: {
401
+ type: import("vue").PropType<number>;
402
+ default: number;
403
+ };
393
404
  mergeDynamicData: {
394
405
  type: import("vue").PropType<import("../types").Recordable>;
395
406
  };
@@ -409,13 +420,6 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
409
420
  type: import("vue").PropType<boolean>;
410
421
  default: boolean;
411
422
  };
412
- quickColSpan: {
413
- type: import("vue").PropType<number>;
414
- default: number;
415
- };
416
- baseColProps: {
417
- type: import("vue").PropType<Partial<import("vft/es/vft").ColProps>>;
418
- };
419
423
  resetFunc: {
420
424
  type: import("vue").PropType<() => Promise<void>>;
421
425
  };
@@ -490,6 +494,8 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
490
494
  getSchema: import("vue").ComputedRef<import("./types").FormSchema[]>;
491
495
  setFormItemError: (field: string, errMess: string) => Promise<void>;
492
496
  formModel: import("vue").ComputedRef<import("../types").Recordable>;
497
+ hasActionButton: import("vue").ComputedRef<boolean>;
498
+ willExceedOneRow: import("vue").ComputedRef<boolean>;
493
499
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
494
500
  register: (instance: Partial<import("./types").FormActionType>) => void;
495
501
  reset: (data: import("../types").Recordable) => void;
@@ -503,11 +509,11 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
503
509
  showResetButton: boolean;
504
510
  showSubmitButton: boolean;
505
511
  showCommonButton: boolean;
512
+ quickColSpan: number;
506
513
  rulesMessageJoinLabel: boolean;
507
514
  autoCleanErrorMessage: boolean;
508
515
  compFullWidth: boolean;
509
516
  autoSetPlaceHolder: boolean;
510
- quickColSpan: number;
511
517
  rowProps: import("vft/es/vft").RowProps;
512
518
  autoFocusFirstItem: boolean;
513
519
  autoSubmitOnEnter: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../alert/index.cjs");require("../avatar/index.cjs");require("../avatar-stack/index.cjs");require("../backtop/index.cjs");require("../button/index.cjs");require("../card/index.cjs");require("../cascader/index.cjs");require("../cascader-panel/index.cjs");require("../check-tag/index.cjs");require("../checkbox/index.cjs");require("../clamp/index.cjs");require("../client-only/index.cjs");require("../clamp-toggle/index.cjs");require("../clamp-tooltip/index.cjs");const B=require("../col/index.cjs");require("../collapse-transition/index.cjs");require("../color-picker/index.cjs");require("../config-provider/index.cjs");require("../container/index.cjs");const m=require("@vft/utils");require("../context-menu/context-menu.vue2.cjs");const O=require("../icon/index.cjs");require("../date-picker/index.cjs");require("../date-time-select/index.cjs");require("../descriptions/index.cjs");require("../dialog/index.cjs");const Y=require("../divider/index.cjs");require("../drawer/index.cjs");require("../dropdown/index.cjs");require("../empty/index.cjs");require("../footer-layout/index.cjs");const K=require("../form/index.cjs");require("../full-screen/index.cjs");require("../header-layout/index.cjs");require("../horizontal-menu/index.cjs");require("../icon-text/index.cjs");require("../iframe-layout/index.cjs");require("../image/index.cjs");require("../image-viewer/index.cjs");require("../input/index.cjs");require("../input-number/index.cjs");require("../link/index.cjs");require("../list-cell/index.cjs");require("../logo/index.cjs");require("../menu/index.cjs");require("../multiple-tabs/index.cjs");require("../notification/index.cjs");require("../overlay/index.cjs");require("../page-wrapper/index.cjs");require("../pagination/index.cjs");require("../popconfirm/index.cjs");require("../popover/index.cjs");require("../popper/index.cjs");require("../qrcode/index.cjs");require("../radio/index.cjs");require("../result/index.cjs");require("../router-view-content/index.cjs");require("../row/index.cjs");require("../scrollbar/index.cjs");require("../search/index.cjs");require("../select/index.cjs");require("../side-menu/index.cjs");require("../skeleton/index.cjs");require("../slider/index.cjs");require("../space/index.cjs");require("../steps/index.cjs");require("../switch/index.cjs");require("../table/index.cjs");require("../tabs/index.cjs");require("../tag/index.cjs");require("../time-picker/index.cjs");const Q=require("../tooltip/index.cjs");require("../tree/index.cjs");require("../verify-code/index.cjs");require("../virtual-list/components/fixed-size-list.cjs");require("../virtual-list/components/dynamic-size-list.cjs");require("../virtual-list/components/fixed-size-grid.cjs");require("../virtual-list/components/dynamic-size-grid.cjs");require("../virtual-list/props.cjs");require("../autocomplete/index.cjs");require("../breadcrumb/index.cjs");require("../carousel/index.cjs");require("../collapse/index.cjs");require("../countdown/index.cjs");require("../input-tag/index.cjs");require("../modal/index.cjs");require("../progress/index.cjs");require("../segmented/index.cjs");require("../statistic/index.cjs");require("../timeline/index.cjs");require("../transfer/index.cjs");require("../upload/index.cjs");require("../watermark/index.cjs");require("../md-code-demo/index.cjs");require("../md-code-tabs/index.cjs");require("../md-comment/index.cjs");require("../md-container/index.cjs");require("../md-tabs/index.cjs");require("../md-vue-playground/index.cjs");require("../infinite-scroll/index.cjs");const r=require("../../utils/form-register.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const G=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");require("../message/index.cjs");require("../progress-i/index.cjs");require("./index.cjs");const w=require("./component-map.cjs"),U=require("./use/helper.cjs");function T(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const X=e.defineComponent({inheritAttrs:!1}),Z=e.defineComponent({...X,__name:"super-form-item",props:{schema:{},formProps:{},allDefaultValues:{},formModel:{},setFormModel:{},updateSchema:{},formActionType:{}},setup(n){const R=G.useNamespace("super-form"),F=e.computed(()=>{const{mergeDynamicData:t}=n.formProps;return{field:n.schema.field,model:n.formModel,values:{...t,...n.allDefaultValues,...n.formModel},schema:n.schema,elRef:I}}),v=e.computed(()=>{let{componentProps:t={}}=n.schema;m.isFunction(t)&&(t=t({schema:n.schema,formModel:n.formModel,formActionType:n.formActionType})??{});const o=new Map([[r.FormCompEnum.Divider,{type:"horizontal"}],[r.FormCompEnum.Textarea,{type:"textarea"}],[r.FormCompEnum.Password,{type:"password","show-password":!0}],[r.FormCompEnum.InputNumber,{type:"number"}],[r.FormCompEnum.CheckboxButton,{useButton:!0}],[r.FormCompEnum.RadioButton,{useButton:!0}],[r.FormCompEnum.YearPicker,{type:r.FormCompEnum.YearPicker}],[r.FormCompEnum.MonthPicker,{type:r.FormCompEnum.MonthPicker}],[r.FormCompEnum.DatePicker,{type:r.FormCompEnum.DatePicker}],[r.FormCompEnum.DatesPicker,{type:r.FormCompEnum.DatesPicker}],[r.FormCompEnum.DateTimePicker,{type:r.FormCompEnum.DateTimePicker}],[r.FormCompEnum.WeekPicker,{type:r.FormCompEnum.WeekPicker}],[r.FormCompEnum.TimeRangePicker,{type:r.FormCompEnum.TimePicker,"is-range":!0,"start-placeholder":"开始时间","end-placeholder":"结束时间"}],[r.FormCompEnum.DateTimeRangePicker,{type:r.FormCompEnum.DateTimeRangePicker,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[r.FormCompEnum.DateRangePicker,{type:r.FormCompEnum.DateRangePicker,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[r.FormCompEnum.MonthRangePicker,{type:r.FormCompEnum.MonthRangePicker,"start-placeholder":"开始月份","end-placeholder":"结束月份"}]]);return o.has(n.schema.type)&&(t=Object.assign(o.get(n.schema.type)||{},t)),n.formProps.inputMaxLength&&[r.FormCompEnum.Input].includes(n.schema.type)&&!t?.maxlength&&(t.maxlength=n.formProps.inputMaxLength),t}),z=e.computed(()=>{const{disabled:t}=n.formProps,{dynamicDisabled:o}=n.schema,{disabled:s=!1}=e.unref(v);let a=!!t||s;return m.isBoolean(o)&&(a=o),m.isFunction(o)&&(a=o(e.unref(F))),a});function A(){const{show:t,ifShow:o}=n.schema;let s=!0,a=!0;return m.isBoolean(t)&&(s=t),m.isBoolean(o)&&(a=o),m.isFunction(t)&&(s=t(e.unref(F))),m.isFunction(o)&&(a=o(e.unref(F))),{isShow:s,isIfShow:a}}function J(){const{rules:t=[],type:o=r.FormCompEnum.Input,rulesMessageJoinLabel:s,label:a,title:C,dynamicRule:d,required:q,dynamicRuleAdd:f=!0}=n.schema,c=a||C;if(m.isFunction(d)&&!f)return d(e.unref(F));let i=m.cloneDeep(m.isArray(t)?t:[t]);const{rulesMessageJoinLabel:P}=n.formProps,y=Reflect.has(n.schema,"rulesMessageJoinLabel")?s:P,x=U.createPlaceholderMessage(o,`${y?c:""}`);function k(u,l){const S=u.message||x;return l===void 0||m.isNull(l)||o===r.FormCompEnum.CheckboxSingle&&!l||Array.isArray(l)&&l.length===0||typeof l=="string"&&l.trim()===""||typeof l=="object"&&Reflect.has(l,"checked")&&Reflect.has(l,"halfChecked")&&Array.isArray(l.checked)&&Array.isArray(l.halfChecked)&&l.checked.length===0&&l.halfChecked.length===0?Promise.reject(S):Promise.resolve()}const p=m.isFunction(q)?q(e.unref(F)):q,E=[r.FormCompEnum.Radio,r.FormCompEnum.Select,r.FormCompEnum.Radio,r.FormCompEnum.RadioSingle,r.FormCompEnum.RadioButton,r.FormCompEnum.Checkbox,r.FormCompEnum.CheckboxSingle,r.FormCompEnum.CheckboxButton,r.FormCompEnum.AutoComplete,r.FormCompEnum.Cascader,r.FormCompEnum.ColorPicker,r.FormCompEnum.Upload,r.FormCompEnum.Slider].includes(o);p&&(!i||i.length===0?i=[{required:p,validator:k,trigger:E?"change":"blur"}]:i.findIndex(l=>Reflect.has(l,"required"))===-1&&i.unshift({required:p,validator:k,trigger:E?"change":"blur"}));const V=i.findIndex(u=>Reflect.has(u,"required")&&!Reflect.has(u,"validator"));if(V!==-1){const u=i[V],{isShow:l}=A();l||(u.required=!1),o&&(u.message=u.message||x)}const h=i.findIndex(u=>u.min),g=i.findIndex(u=>u.max);function b(u,l,S="all"){const M=i[l],$=M.isNumber?isNaN(u)?u?.length||0:Number(u):u?.length||0;return["min","all"].includes(S)&&$<M.min?Promise.reject(`${c}至少为${M.min}位`):["max","all"].includes(S)&&$>M.max?Promise.reject(`${c}最多${M.max}位`):Promise.resolve()}(h!==-1||g!==-1)&&(h!==-1&&g!==-1&&!i[h].validator&&!i[h].message?i[h].validator=(u,l)=>b(l,h):h!==-1&&!i[h].validator&&!i[h].message?i[h].validator=(u,l)=>b(l,h,"min"):g!==-1&&!i[g].validator&&!i[g].message&&(i[g].validator=(u,l)=>b(l,g,"max")));const N=i.findIndex(u=>u.len);if(N!==-1&&(i[N].validator=(u,l)=>l.length!==i[N].len?Promise.reject(`${c}必须是${i[N].len}位`):Promise.resolve()),m.isFunction(d)&&f){let u=d(e.unref(F));u=m.isArray(u)?u:[u],i=i.concat(u)}return i}const I=e.ref(),H=()=>{const{renderComponentContent:t,type:o=r.FormCompEnum.Input,field:s,changeEvent:a="change",valueField:C,label:d,title:q,placeholderJoinLabel:f=!0}=n.schema;let c=a;w.isInput(o)?c="input":w.isDatePicker(o)||o===r.FormCompEnum.TimePicker||[r.FormCompEnum.InputTag,r.FormCompEnum.AutoComplete,r.FormCompEnum.Cascader,r.FormCompEnum.ColorPicker,r.FormCompEnum.Slider].includes(o)?c="update:modelValue":o===r.FormCompEnum.Upload&&(c="update:fileList");const i=`on${m.upperFirst(c)}`,P={[i]:(...b)=>{const[N]=b;p[i]&&p[i](...b);const u=N?N.target:null,l=u?u.value:N;n.setFormModel(s,l,n.schema)}},y=r.getComponent(o),{autoSetPlaceHolder:x,size:k}=n.formProps,p={clearable:!0,...e.unref(v)};if([r.FormCompEnum.Search].includes(o)||(p.size=e.unref(v)?.size||k,p.disabled=e.unref(z)),!p.disabled&&x&&!w.isRangePicker(o)&&o){const b=d||q;p.placeholder=e.unref(v)?.placeholder||U.createPlaceholderMessage(o,f&&m.isString(b)?b:"")}const V={[C||"model-value"]:n.formModel[s]},h={...P,...p,...V};if(!t&&o!==r.FormCompEnum.Upload)return e.createVNode(y,e.mergeProps({ref:I},h),null);let g;if(g=m.isFunction(t)?{...t({...e.unref(F),elRef:I})}:{default:()=>t},o===r.FormCompEnum.Upload&&!t){const{drag:b}=e.unref(v);g=b?{default:()=>e.createVNode(e.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)}:{default:()=>e.createVNode(e.resolveComponent("vft-button"),{type:"primary"},{default:()=>[e.createVNode(e.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)]})}}return e.createVNode(y,e.mergeProps({ref:I},h),T(g)?g:{default:()=>[g]})};function D(){const{showLabel:t=!0,label:o,title:s,subLabel:a,labelRequired:C,helpIcon:d,helpTooltip:q}=n.schema;let f=o||s;f=C?e.createVNode("span",null,[e.createVNode("span",{class:"label-required"},[e.createTextVNode("*")]),e.createVNode("span",null,[f])]):f;const c=()=>{if(!d&&!q)return null;const i=e.computed(()=>m.singleAttrToObj(d,"icon",{size:20,pointer:!0,icon:"icon-help"}));if(q){const P=e.computed(()=>m.singleAttrToObj(q,"content",{placement:"right-start"}));return e.createVNode(Q.VftTooltip,e.mergeProps({className:"box-item"},P.value),{default:()=>[e.createVNode(O.VftIcon,i.value,null)]})}return e.createVNode(O.VftIcon,i.value,null)};return t&&f?a?e.createVNode("div",{class:"label-content"},[e.createVNode("div",null,[f,e.createTextVNode(" "),e.createVNode("span",{class:"sub-label"},[a])]),c()]):e.createVNode("div",{class:"label-content"},[e.createVNode("div",null,[f]),c()]):void 0}const j=e.useSlots();function L(t,o="default",s){if(!t||!Reflect.has(t,o))return null;if(!m.isFunction(t[o]))return console.error(`${o} is not a function!`),null;const a=t[o];return a?a(s):null}function W(){const{itemProps:t,slot:o,render:s,field:a,suffix:C,prefix:d,prefixParentStyle:q}=n.schema,{autoCleanErrorMessage:f,compFullWidth:c}=n.formProps,i=()=>o?L(j,o,e.unref(F)):s?s(e.unref(F)):H(),P=!!C,y=!!d,x=m.isFunction(C)?C(e.unref(F)):C,k=m.isFunction(d)?d(e.unref(F)):d,p=()=>{n.updateSchema([{field:a,itemProps:{error:""}}])},E=()=>e.createVNode(K.VftFormItem,e.mergeProps({style:{marginRight:n.formProps.customLayout?"10px":0},prop:a,class:[{[R.is("suffix")]:P},{[R.is("comp-full-width")]:c},R.e("item")]},t,{label:t?.label||t?.title,"onUpdate:error":f?p:()=>{},rules:J()}),{default:()=>[e.createVNode("div",{class:R.e("container")},[e.createVNode("div",{class:R.e("content")},[i(),P&&e.createVNode("span",{class:R.m("suffix")},[x])])])],label:D()?()=>D():void 0});return y?e.createVNode("div",{style:q},[e.createVNode("span",{class:R.m("prefix")},[k]),E()]):E()}return()=>{let t;const{colProps:o={},colSlot:s,renderColContent:a,type:C=r.FormCompEnum.Input,render:d,quickColSpan:q}=n.schema;if(!r.getComponent(C)&&!a&&!d)return null;const{baseColProps:f={},quickColSpan:c}=n.formProps,i=c?{span:Math.ceil(24/c),...f}:{...f},P=q?{span:Math.ceil(24/q),...o}:{...o},y={...i,...P},{isIfShow:x,isShow:k}=A(),p=e.unref(F),E=()=>s?L(j,s,p):a?a(p):W();if(C===r.FormCompEnum.Divider){let V;return e.createVNode(B.VftCol,e.mergeProps({span:24},P),{default:()=>[e.createVNode(Y.VftDivider,e.unref(v),T(V=D())?V:{default:()=>[V]})]})}return x&&(n.formProps.customLayout?E():e.withDirectives(e.createVNode(B.VftCol,y,T(t=E())?t:{default:()=>[t]}),[[e.vShow,k]]))}}});exports.default=Z;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../alert/index.cjs");require("../avatar/index.cjs");require("../avatar-stack/index.cjs");require("../backtop/index.cjs");require("../button/index.cjs");require("../card/index.cjs");require("../cascader/index.cjs");require("../cascader-panel/index.cjs");require("../check-tag/index.cjs");require("../checkbox/index.cjs");require("../clamp/index.cjs");require("../client-only/index.cjs");require("../clamp-toggle/index.cjs");require("../clamp-tooltip/index.cjs");const z=require("../col/index.cjs");require("../collapse-transition/index.cjs");require("../color-picker/index.cjs");require("../config-provider/index.cjs");require("../container/index.cjs");const s=require("@vft/utils");require("../context-menu/context-menu.vue2.cjs");const J=require("../icon/index.cjs");require("../date-picker/index.cjs");require("../date-time-select/index.cjs");require("../descriptions/index.cjs");require("../dialog/index.cjs");const Z=require("../divider/index.cjs");require("../drawer/index.cjs");require("../dropdown/index.cjs");require("../empty/index.cjs");require("../footer-layout/index.cjs");const _=require("../form/index.cjs");require("../full-screen/index.cjs");require("../header-layout/index.cjs");require("../horizontal-menu/index.cjs");require("../icon-text/index.cjs");require("../iframe-layout/index.cjs");require("../image/index.cjs");require("../image-viewer/index.cjs");require("../input/index.cjs");require("../input-number/index.cjs");require("../link/index.cjs");require("../list-cell/index.cjs");require("../logo/index.cjs");require("../menu/index.cjs");require("../multiple-tabs/index.cjs");require("../notification/index.cjs");require("../overlay/index.cjs");require("../page-wrapper/index.cjs");require("../pagination/index.cjs");require("../popconfirm/index.cjs");require("../popover/index.cjs");require("../popper/index.cjs");require("../qrcode/index.cjs");require("../radio/index.cjs");require("../result/index.cjs");require("../router-view-content/index.cjs");require("../row/index.cjs");require("../scrollbar/index.cjs");require("../search/index.cjs");require("../select/index.cjs");require("../side-menu/index.cjs");require("../skeleton/index.cjs");require("../slider/index.cjs");require("../space/index.cjs");require("../steps/index.cjs");require("../switch/index.cjs");require("../table/index.cjs");require("../tabs/index.cjs");require("../tag/index.cjs");require("../time-picker/index.cjs");const ee=require("../tooltip/index.cjs");require("../tree/index.cjs");require("../verify-code/index.cjs");require("../virtual-list/components/fixed-size-list.cjs");require("../virtual-list/components/dynamic-size-list.cjs");require("../virtual-list/components/fixed-size-grid.cjs");require("../virtual-list/components/dynamic-size-grid.cjs");require("../virtual-list/props.cjs");require("../autocomplete/index.cjs");require("../breadcrumb/index.cjs");require("../carousel/index.cjs");require("../collapse/index.cjs");require("../countdown/index.cjs");require("../input-tag/index.cjs");require("../modal/index.cjs");require("../progress/index.cjs");require("../segmented/index.cjs");require("../statistic/index.cjs");require("../timeline/index.cjs");require("../transfer/index.cjs");require("../upload/index.cjs");require("../watermark/index.cjs");require("../md-code-demo/index.cjs");require("../md-code-tabs/index.cjs");require("../md-comment/index.cjs");require("../md-container/index.cjs");require("../md-tabs/index.cjs");require("../md-vue-playground/index.cjs");require("../infinite-scroll/index.cjs");const r=require("../../utils/form-register.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const re=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");require("../message/index.cjs");require("../progress-i/index.cjs");require("./index.cjs");const j=require("./component-map.cjs"),H=require("./use/helper.cjs");function L(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const oe=e.defineComponent({inheritAttrs:!1}),te=e.defineComponent({...oe,__name:"super-form-item",props:{schema:{},formProps:{},allDefaultValues:{},formModel:{},setFormModel:{},updateSchema:{},formActionType:{}},setup(n){const x=re.useNamespace("super-form"),P=e.computed(()=>{const{mergeDynamicData:t}=n.formProps;return{field:n.schema.field,model:n.formModel,values:{...t,...n.allDefaultValues,...n.formModel},schema:n.schema,elRef:w}}),W=new Set([r.FormCompEnum.Select,r.FormCompEnum.Radio,r.FormCompEnum.Checkbox,r.FormCompEnum.RadioButton,r.FormCompEnum.CheckboxButton,r.FormCompEnum.Cascader,r.FormCompEnum.AutoComplete]),T=()=>n.schema.type&&W.has(n.schema.type)?{options:[]}:{},M=e.ref(T());async function Y(){const{componentProps:t={}}=n.schema;if(s.isFunction(t)){const o=T();M.value=o;try{const m=t({schema:n.schema,formModel:n.formModel,formActionType:n.formActionType}),l=m instanceof Promise?await m:m;M.value={...o,...l??{}}}catch(m){console.error("componentProps 执行错误:",m),M.value=T()}}else M.value=t}e.watch(()=>n.schema.componentProps,(t,o)=>(t||o)&&Y(),{immediate:!0});const S=e.computed(()=>{let t={...M.value};const o=new Map([[r.FormCompEnum.Divider,{type:"horizontal"}],[r.FormCompEnum.Textarea,{type:"textarea"}],[r.FormCompEnum.Password,{type:"password","show-password":!0}],[r.FormCompEnum.InputNumber,{type:"number"}],[r.FormCompEnum.CheckboxButton,{useButton:!0}],[r.FormCompEnum.RadioButton,{useButton:!0}],[r.FormCompEnum.YearPicker,{type:r.FormCompEnum.YearPicker}],[r.FormCompEnum.MonthPicker,{type:r.FormCompEnum.MonthPicker}],[r.FormCompEnum.DatePicker,{type:r.FormCompEnum.DatePicker}],[r.FormCompEnum.DatesPicker,{type:r.FormCompEnum.DatesPicker}],[r.FormCompEnum.DateTimePicker,{type:r.FormCompEnum.DateTimePicker}],[r.FormCompEnum.WeekPicker,{type:r.FormCompEnum.WeekPicker}],[r.FormCompEnum.TimeRangePicker,{type:r.FormCompEnum.TimePicker,"is-range":!0,"start-placeholder":"开始时间","end-placeholder":"结束时间"}],[r.FormCompEnum.DateTimeRangePicker,{type:r.FormCompEnum.DateTimeRangePicker,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[r.FormCompEnum.DateRangePicker,{type:r.FormCompEnum.DateRangePicker,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[r.FormCompEnum.MonthRangePicker,{type:r.FormCompEnum.MonthRangePicker,"start-placeholder":"开始月份","end-placeholder":"结束月份"}]]);n.schema.type&&o.has(n.schema.type)&&(t=Object.assign(o.get(n.schema.type)||{},t));const m=t;return n.formProps.inputMaxLength&&n.schema.type===r.FormCompEnum.Input&&!m?.maxlength&&(m.maxlength=n.formProps.inputMaxLength),m}),K=e.computed(()=>{const{disabled:t}=n.formProps,{dynamicDisabled:o}=n.schema,{disabled:m=!1}=e.unref(S);let l=!!t||m;return s.isBoolean(o)&&(l=o),s.isFunction(o)&&(l=o(e.unref(P))),l});function $(){const{show:t,ifShow:o}=n.schema;let m=!0,l=!0;return s.isBoolean(t)&&(m=t),s.isBoolean(o)&&(l=o),s.isFunction(t)&&(m=t(e.unref(P))),s.isFunction(o)&&(l=o(e.unref(P))),{isShow:m,isIfShow:l}}function Q(){const{rules:t=[],type:o=r.FormCompEnum.Input,rulesMessageJoinLabel:m,label:l,title:F,dynamicRule:f,required:g,dynamicRuleAdd:p=!0}=n.schema,c=s.isFunction(g)?g(e.unref(P)):g;if(!c)return[];const q=l||F;if(s.isFunction(f)&&!p)return f(e.unref(P));let i=s.cloneDeep(s.isArray(t)?t:[t]);const{rulesMessageJoinLabel:b}=n.formProps,k=Reflect.has(n.schema,"rulesMessageJoinLabel")?m:b,E=H.createPlaceholderMessage(o,`${k?q:""}`);function h(u,a){const N=u.message||E;return a===void 0||s.isNull(a)||o===r.FormCompEnum.CheckboxSingle&&!a||Array.isArray(a)&&a.length===0||typeof a=="string"&&a.trim()===""||typeof a=="object"&&Reflect.has(a,"checked")&&Reflect.has(a,"halfChecked")&&Array.isArray(a.checked)&&Array.isArray(a.halfChecked)&&a.checked.length===0&&a.halfChecked.length===0?Promise.reject(N):Promise.resolve()}const y=[r.FormCompEnum.Radio,r.FormCompEnum.Select,r.FormCompEnum.RadioSingle,r.FormCompEnum.RadioButton,r.FormCompEnum.Checkbox,r.FormCompEnum.CheckboxSingle,r.FormCompEnum.CheckboxButton,r.FormCompEnum.AutoComplete,r.FormCompEnum.Cascader,r.FormCompEnum.ColorPicker,r.FormCompEnum.Upload,r.FormCompEnum.Slider].includes(o);if(c)!i||i.length===0?i=[{required:c,validator:h,trigger:y?"change":"blur"}]:i.findIndex(a=>Reflect.has(a,"required"))===-1&&i.unshift({required:c,validator:h,trigger:y?"change":"blur"});else return i;const I=i.findIndex(u=>Reflect.has(u,"required")&&!Reflect.has(u,"validator"));if(I!==-1){const u=i[I],{isShow:a}=$();a||(u.required=!1),o&&(u.message=u.message||E)}const d=i.findIndex(u=>u.min),C=i.findIndex(u=>u.max);function R(u,a,N="all"){const D=i[a],U=D.isNumber?isNaN(u)?u?.length||0:Number(u):u?.length||0;return["min","all"].includes(N)&&U<D.min?Promise.reject(`${q}至少为${D.min}位`):["max","all"].includes(N)&&U>D.max?Promise.reject(`${q}最多${D.max}位`):Promise.resolve()}(d!==-1||C!==-1)&&(d!==-1&&C!==-1&&!i[d].validator&&!i[d].message?i[d].validator=(u,a)=>R(a,d):d!==-1&&!i[d].validator&&!i[d].message?i[d].validator=(u,a)=>R(a,d,"min"):C!==-1&&!i[C].validator&&!i[C].message&&(i[C].validator=(u,a)=>R(a,C,"max")));const v=i.findIndex(u=>u.len);if(v!==-1&&(i[v].validator=(u,a)=>a.length!==i[v].len?Promise.reject(`${q}必须是${i[v].len}位`):Promise.resolve()),s.isFunction(f)&&p){let u=f(e.unref(P));u=s.isArray(u)?u:[u],i=i.concat(u)}return i}const w=e.ref(),G=()=>{const{renderComponentContent:t,type:o=r.FormCompEnum.Input,field:m,changeEvent:l="change",valueField:F,label:f,title:g,placeholderJoinLabel:p=!0}=n.schema;let c=l;j.isInput(o)?c="input":j.isDatePicker(o)||o===r.FormCompEnum.TimePicker||o===r.FormCompEnum.InputTag||o===r.FormCompEnum.AutoComplete||o===r.FormCompEnum.Cascader||o===r.FormCompEnum.ColorPicker||o===r.FormCompEnum.Slider?c="update:modelValue":o===r.FormCompEnum.Upload&&(c="update:fileList");const q=`on${s.upperFirst(c)}`,i={[q]:(...C)=>{const[R]=C;h[q]&&h[q](...C);const v=R?R.target:null,u=v?v.value:R;n.setFormModel(m,u,n.schema)}},b=r.getComponent(o),{autoSetPlaceHolder:k,size:E}=n.formProps,h={clearable:!0,...e.unref(S)};if(o!==r.FormCompEnum.Search&&(h.size=e.unref(S)?.size||E,h.disabled=e.unref(K)),!h.disabled&&k&&!j.isRangePicker(o)&&o){const C=f||g;h.placeholder=e.unref(S)?.placeholder||H.createPlaceholderMessage(o,p&&s.isString(C)?C:"")}const y={[F||"model-value"]:n.formModel[m]},I={...i,...h,...y};if(!t&&o!==r.FormCompEnum.Upload)return e.createVNode(b,e.mergeProps({ref:w},I),null);let d;if(d=s.isFunction(t)?{...t({...e.unref(P),elRef:w})}:{default:()=>t},o===r.FormCompEnum.Upload&&!t){const{drag:C}=e.unref(S);d=C?{default:()=>e.createVNode(e.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)}:{default:()=>e.createVNode(e.resolveComponent("vft-button"),{type:"primary"},{default:()=>[e.createVNode(e.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)]})}}return e.createVNode(b,e.mergeProps({ref:w},I),L(d)?d:{default:()=>[d]})};function A(){const{showLabel:t=!0,label:o,title:m,subLabel:l,labelRequired:F,helpIcon:f,helpTooltip:g}=n.schema;let p=o||m;p=F?e.createVNode("span",null,[e.createVNode("span",{class:"label-required"},[e.createTextVNode("*")]),e.createVNode("span",null,[p])]):p;const c=()=>{if(!f&&!g)return null;const q=e.computed(()=>s.singleAttrToObj(f,"icon",{size:20,pointer:!0,icon:"icon-help"}));if(g){const i=e.computed(()=>s.singleAttrToObj(g,"content",{placement:"right-start"}));return e.createVNode(ee.VftTooltip,e.mergeProps({className:"box-item"},i.value),{default:()=>[e.createVNode(J.VftIcon,q.value,null)]})}return e.createVNode(J.VftIcon,q.value,null)};return t&&p?l?e.createVNode("div",{class:"label-content"},[e.createVNode("div",null,[p,e.createTextVNode(" "),e.createVNode("span",{class:"sub-label"},[l])]),c()]):e.createVNode("div",{class:"label-content"},[e.createVNode("div",null,[p]),c()]):void 0}const B=e.useSlots();function O(t,o="default",m){if(!t||!Reflect.has(t,o))return null;if(!s.isFunction(t[o]))return console.error(`${o} is not a function!`),null;const l=t[o];return l?l(m):null}function X(){const{itemProps:t,slot:o,render:m,field:l,suffix:F,prefix:f,prefixParentStyle:g}=n.schema,{autoCleanErrorMessage:p,compFullWidth:c}=n.formProps,q=()=>o?O(B,o,e.unref(P)):m?m(e.unref(P)):G(),i=!!F,b=!!f,k=s.isFunction(F)?F(e.unref(P)):F,E=s.isFunction(f)?f(e.unref(P)):f,h=()=>{n.updateSchema([{field:l,itemProps:{error:""}}])},V=()=>e.createVNode(_.VftFormItem,e.mergeProps({style:{marginRight:n.formProps.customLayout?"10px":0},prop:l,class:[{[x.is("suffix")]:i},{[x.is("comp-full-width")]:c},x.e("item")]},t,{label:t?.label||t?.title,"onUpdate:error":p?h:()=>{},rules:Q()}),{default:()=>[e.createVNode("div",{class:x.e("container")},[e.createVNode("div",{class:x.e("content")},[q(),i&&e.createVNode("span",{class:x.m("suffix")},[k])])])],label:A()?()=>A():void 0});return b?e.createVNode("div",{style:g},[e.createVNode("span",{class:x.m("prefix")},[E]),V()]):V()}return()=>{let t;const{colProps:o={},colSlot:m,renderColContent:l,type:F=r.FormCompEnum.Input,render:f,quickColSpan:g}=n.schema;if(!r.getComponent(F)&&!l&&!f)return null;const{baseColProps:p={},quickColSpan:c}=n.formProps,q=c?{span:Math.ceil(24/c),...p}:{...p},i=g?{span:Math.ceil(24/g),...o}:{...o},b={...q,...i},{isIfShow:k,isShow:E}=$(),h=e.unref(P),V=()=>m?O(B,m,h):l?l(h):X();if(F===r.FormCompEnum.Divider){let y;return e.createVNode(z.VftCol,e.mergeProps({span:24},i),{default:()=>[e.createVNode(Z.VftDivider,e.unref(S),L(y=A())?y:{default:()=>[y]})]})}return k&&(n.formProps.customLayout?V():e.withDirectives(e.createVNode(z.VftCol,b,L(t=V())?t:{default:()=>[t]}),[[e.vShow,E]]))}}});exports.default=te;
@@ -46,6 +46,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
46
46
  getSchema: import("vue").ComputedRef<FormSchema[]>;
47
47
  setFormItemError: (field: string, errMess: string) => Promise<void>;
48
48
  formModel: import("vue").ComputedRef<Recordable>;
49
+ hasActionButton: import("vue").ComputedRef<boolean>;
50
+ willExceedOneRow: import("vue").ComputedRef<boolean>;
49
51
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
50
52
  register: (instance: Partial<FormActionType>) => void;
51
53
  reset: (data: Recordable) => void;
@@ -89,11 +91,11 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
89
91
  showResetButton: boolean;
90
92
  showSubmitButton: boolean;
91
93
  showCommonButton: boolean;
94
+ quickColSpan: number;
92
95
  rulesMessageJoinLabel: boolean;
93
96
  autoCleanErrorMessage: boolean;
94
97
  compFullWidth: boolean;
95
98
  autoSetPlaceHolder: boolean;
96
- quickColSpan: number;
97
99
  rowProps: import("vft/es/components/row").RowProps;
98
100
  autoFocusFirstItem: boolean;
99
101
  autoSubmitOnEnter: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),W=require("../col/index.cjs"),J=require("../form/index.cjs"),Q=require("../row/index.cjs"),x=require("@vueuse/core"),f=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const X=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const Y=require("./super-form-action.vue2.cjs"),Z=require("./super-form-item.vue2.cjs"),ee=require("./use/use-auto-focus.cjs"),te=require("./use/use-form-context.cjs"),oe=require("./use/use-form-events.cjs"),ne=require("./use/use-form-values.cjs"),re=e.defineComponent({name:"vft-super-form"}),ue=e.defineComponent({...re,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean,default:!0},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},inputMaxLength:{},submitResetReverse:{type:Boolean},labelPosition:{default:"right"},labelWidth:{default:"auto"},disabled:{type:Boolean},model:{},rules:{},requireAsteriskPosition:{default:"left"},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change","common-btn-click"],setup(T,{expose:L,emit:$}){const k=T,p=$,N=X.useNamespace("super-form"),G=e.useAttrs(),s=e.reactive({}),d=e.ref({}),i=e.ref(!1),c=e.ref({}),w=e.ref(),B=e.ref(null),C=e.ref(),o=e.computed(()=>({...k,...e.unref(c)})),a=e.computed(()=>({...G,...k,...e.unref(o)})),u=e.computed(()=>{const t=e.unref(w);return f.cloneDeep(t)}),{handleFormValues:S,initDefault:q}=ne.useFormValues({getProps:o,defaultValueRef:d,getSchema:u,formModel:s});ee.useAutoFocus({getSchema:u,getProps:o,isInitedDefault:i,formElRef:B});const{handleSubmit:l,setFieldsValue:h,clearValidate:_,validate:R,validateField:P,getFieldsValue:v,updateSchema:y,resetSchema:m,appendSchemaByField:A,removeSchemaByField:O,resetFields:g,scrollToField:z,getFieldValue:E,setFormItemError:V}=oe.useFormEvents({emit:p,getProps:o,formModel:s,getSchema:u,defaultValueRef:d,formElRef:B,schemaRef:w,handleFormValues:S,initValues:C});te.createFormContext({resetAction:g,submitAction:l,commonAction:()=>p("common-btn-click")}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&h(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{f.isEqual(t,n)||m(t??[])}),e.watch(()=>u.value,t=>{e.nextTick(()=>{}),!e.unref(i)&&t?.length&&(q(),i.value=!0,o.value?.watchDataIsChange&&x.useTimeoutFn(()=>{C.value=v()},40))}),e.watch(()=>s,x.useDebounceFn(()=>{e.unref(o).submitOnChange&&l()},300),{deep:!0});async function M(t){c.value=f.deepMerge(e.unref(c)||{},t),i.value||(m(c.value?.schemas??[]),q())}function H(t,n,r){s[t]=n,r&&r.itemProps}function j(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const r=t.target;r&&r.tagName&&r.tagName.toUpperCase()==="INPUT"&&l()}}const I={getFieldsValue:v,getFieldValue:E,setFieldsValue:h,resetFields:g,updateSchema:y,resetSchema:m,setProps:M,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,setFormItemError:V,validate:R,submit:l,scrollToField:z};p("register",I);const K=e.computed(()=>f.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan","submitResetReverse"])),b=e.useSlots(),F=t=>t?e.h(Y.default,K.value,{resetBefore:n=>b.resetBefore?.(n),submitBefore:n=>b.submitBefore?.(n),submitAfter:n=>b.submitAfter?.(n)}):null;return L({getFieldsValue:v,getFieldValue:E,setFieldsValue:h,resetFields:g,updateSchema:y,resetSchema:m,setProps:M,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,validate:R,submit:l,getSchema:u,setFormItemError:V,formModel:e.computed(()=>S(s))}),(t,n)=>u.value?.length?(e.openBlock(),e.createBlock(e.unref(J.VftForm),e.mergeProps({key:0},a.value,{ref_key:"formElRef",ref:B,class:e.unref(N).b(),model:s,onSubmit:n[0]||(n[0]=e.withModifiers(()=>{},["prevent"])),onKeypress:e.withKeys(j,["enter"])}),{default:e.withCtx(()=>[u.value?.length?(e.openBlock(),e.createBlock(e.unref(Q.VftRow),e.normalizeProps(e.mergeProps({key:0},a.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,r=>(e.openBlock(),e.createBlock(Z.default,{key:r.field,"form-action-type":I,schema:r,"form-props":o.value,"all-default-values":d.value,"form-model":s,"set-form-model":H,"update-schema":e.unref(y)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),D=>({name:D,fn:e.withCtx(U=>[e.renderSlot(t.$slots,D,e.mergeProps({ref_for:!0},U||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(W.VftCol),e.normalizeProps(e.mergeProps({key:0},a.value?.quickColSpan?{span:Math.ceil(24/a.value?.quickColSpan),...a.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=ue;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Q=require("../col/index.cjs"),X=require("../form/index.cjs"),Y=require("../row/index.cjs"),T=require("@vueuse/core"),c=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const Z=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const ee=require("./super-form-action.vue2.cjs"),te=require("./super-form-item.vue2.cjs"),oe=require("./use/use-auto-focus.cjs"),ne=require("./use/use-form-context.cjs"),re=require("./use/use-form-events.cjs"),ue=require("./use/use-form-values.cjs"),se=require("./use/helper.cjs"),le=e.defineComponent({name:"vft-super-form"}),ae=e.defineComponent({...le,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean,default:!0},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},inputMaxLength:{},submitResetReverse:{type:Boolean},labelPosition:{default:"right"},labelWidth:{default:"auto"},disabled:{type:Boolean},model:{},rules:{},requireAsteriskPosition:{default:"left"},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change","common-btn-click"],setup(L,{expose:$,emit:N}){const F=L,m=N,k=Z.useNamespace("super-form"),G=e.useAttrs(),s=e.reactive({}),i=e.ref({}),f=e.ref(!1),p=e.ref({}),C=e.ref(),d=e.ref(null),S=e.ref(),o=e.computed(()=>({...F,...e.unref(p)})),l=e.computed(()=>({...G,...F,...e.unref(o)})),r=e.computed(()=>{const t=e.unref(C);return c.cloneDeep(t)}),{handleFormValues:q,initDefault:z}=ue.useFormValues({getProps:o,defaultValueRef:i,getSchema:r,formModel:s});oe.useAutoFocus({getSchema:r,getProps:o,isInitedDefault:f,formElRef:d});const{handleSubmit:a,setFieldsValue:B,clearValidate:R,validate:_,validateField:A,getFieldsValue:h,updateSchema:v,resetSchema:y,appendSchemaByField:E,removeSchemaByField:O,resetFields:g,scrollToField:H,getFieldValue:P,setFormItemError:V}=re.useFormEvents({emit:m,getProps:o,formModel:s,getSchema:r,defaultValueRef:i,formElRef:d,schemaRef:C,handleFormValues:q,initValues:S});ne.createFormContext({resetAction:g,submitAction:a,commonAction:()=>m("common-btn-click")}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&B(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{c.isEqual(t,n)||y(t??[])}),e.watch(()=>r.value,t=>{e.nextTick(()=>{}),!e.unref(f)&&t?.length&&(z(),f.value=!0,o.value?.watchDataIsChange&&T.useTimeoutFn(()=>{S.value=h()},40))}),e.watch(()=>s,T.useDebounceFn(()=>{e.unref(o).submitOnChange&&a()},300),{deep:!0});async function x(t){p.value=c.deepMerge(e.unref(p)||{},t)}function j(t,n,u){s[t]=n}function K(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const u=t.target;u&&u.tagName&&u.tagName.toUpperCase()==="INPUT"&&a()}}const M={getFieldsValue:h,getFieldValue:P,setFieldsValue:B,resetFields:g,updateSchema:v,resetSchema:y,setProps:x,removeSchemaByField:O,appendSchemaByField:E,clearValidate:R,validateField:A,setFormItemError:V,validate:_,submit:a,scrollToField:H};m("register",M);const U=e.computed(()=>c.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan","submitResetReverse"])),W=e.computed(()=>{const{showCommonButton:t,showResetButton:n,showSubmitButton:u}=o.value;return!!(t||n||u)}),I=e.computed(()=>{const t=e.unref(r);if(!t||t.length===0)return!1;try{return se.willFormExceedOneRow(t,o.value,s,i.value).willExceed}catch{return!1}}),b=e.useSlots(),w=t=>t?e.h(ee.default,U.value,{resetBefore:n=>b.resetBefore?.(n),submitBefore:n=>b.submitBefore?.(n),submitAfter:n=>b.submitAfter?.(n)}):null;return $({getFieldsValue:h,getFieldValue:P,setFieldsValue:B,resetFields:g,updateSchema:v,resetSchema:y,setProps:x,removeSchemaByField:O,appendSchemaByField:E,clearValidate:R,validateField:A,validate:_,submit:a,getSchema:r,setFormItemError:V,formModel:e.computed(()=>q(s)),hasActionButton:W,willExceedOneRow:I}),(t,n)=>r.value?.length?(e.openBlock(),e.createBlock(e.unref(X.VftForm),e.mergeProps({key:0},l.value,{ref_key:"formElRef",ref:d,class:[e.unref(k).b(),{[e.unref(k).is("exceed-one-row")]:I.value}],model:s,onSubmit:n[0]||(n[0]=e.withModifiers(()=>{},["prevent"])),onKeypress:e.withKeys(K,["enter"])}),{default:e.withCtx(()=>[r.value?.length?(e.openBlock(),e.createBlock(e.unref(Y.VftRow),e.normalizeProps(e.mergeProps({key:0},l.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,u=>(e.openBlock(),e.createBlock(te.default,{key:u.field,"form-action-type":M,schema:u,"form-props":o.value,"all-default-values":i.value,"form-model":s,"set-form-model":j,"update-schema":e.unref(v)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),D=>({name:D,fn:e.withCtx(J=>[e.renderSlot(t.$slots,D,e.mergeProps({ref_for:!0},J||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(Q.VftCol),e.normalizeProps(e.mergeProps({key:0},l.value?.quickColSpan?{span:Math.ceil(24/l.value?.quickColSpan),...l.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=ae;
@@ -1,3 +1,4 @@
1
+ import type { SwitchProps } from 'vft/es/components';
1
2
  import type { ButtonProps } from 'vft/es/components/button';
2
3
  import type { ColProps } from 'vft/es/components/col';
3
4
  import type { FormItemProp, FormItemProps, FormProps } from 'vft/es/components/form';
@@ -39,6 +40,7 @@ type FormItemRule = Omit<RuleItem, 'validator'> & Rule & {
39
40
  } & {
40
41
  isNumber?: boolean;
41
42
  };
43
+ export type SchemaCompOptions = SwitchProps | Record<string, any>;
42
44
  /** 渲染回调参数接口 */
43
45
  export interface RenderCallbackParams {
44
46
  /** 表单配置模式 */
@@ -205,8 +207,8 @@ export interface FormSchema {
205
207
  componentProps?: ((opt: {
206
208
  schema: FormSchema;
207
209
  formActionType: FormActionType;
208
- formModel: Recordable;
209
- }) => Recordable) | object;
210
+ formModel: Record<string, any>;
211
+ }) => SchemaCompOptions | Promise<SchemaCompOptions>) | SchemaCompOptions;
210
212
  /** 是否为必填项 */
211
213
  required?: boolean | ((renderCallbackParams: RenderCallbackParams) => boolean);
212
214
  /** 组件后自定义内容 */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("@vft/utils"),u=require("../component-map.cjs"),e=require("../../../utils/form-register.cjs");require("@vueuse/core");require("../../config-provider/hooks/use-global-config.cjs");require("vue");require("lodash-es");require("../../form/index.cjs");function n(r,m=""){return m=(m||"").replace(":","")||"",[e.FormCompEnum.Input,e.FormCompEnum.InputNumber,e.FormCompEnum.Textarea,e.FormCompEnum.AutoComplete].includes(r)?"请输入"+m:[e.FormCompEnum.Password].includes(r)?"请输入密码":[e.FormCompEnum.Select,e.FormCompEnum.Radio,e.FormCompEnum.RadioSingle,e.FormCompEnum.RadioButton,e.FormCompEnum.Cascader,e.FormCompEnum.ColorPicker,e.FormCompEnum.Checkbox,e.FormCompEnum.CheckboxButton].includes(r)?"请选择"+m:[e.FormCompEnum.CheckboxSingle].includes(r)?"请勾选"+m:[e.FormCompEnum.Search].includes(r)?"请输入要搜索的内容":[e.FormCompEnum.InputTag].includes(r)?"请输入标签内容":[e.FormCompEnum.Upload].includes(r)?"请选择上传文件":[e.FormCompEnum.Slider].includes(r)?"请拖动滑块":[e.FormCompEnum.TimePicker,e.FormCompEnum.YearPicker,e.FormCompEnum.MonthPicker,e.FormCompEnum.DatePicker,e.FormCompEnum.DatesPicker,e.FormCompEnum.DateTimePicker,e.FormCompEnum.WeekPicker,e.FormCompEnum.DateTimeRangePicker,e.FormCompEnum.DateRangePicker,e.FormCompEnum.MonthRangePicker].includes(r)?"请选择时间":""}function i(r,m){return r&&u.isInput(r)&&m&&o.isNumber(m)?`${m}`:m}exports.createPlaceholderMessage=n;exports.handleInputNumberValue=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@vft/utils"),E=require("../component-map.cjs"),n=require("../../../utils/form-register.cjs");require("@vueuse/core");require("../../config-provider/hooks/use-global-config.cjs");require("vue");require("lodash-es");require("../../form/index.cjs");function F(o,e=""){return e=(e||"").replace(":","")||"",[n.FormCompEnum.Input,n.FormCompEnum.InputNumber,n.FormCompEnum.Textarea,n.FormCompEnum.AutoComplete].includes(o)?"请输入"+e:[n.FormCompEnum.Password].includes(o)?"请输入密码":[n.FormCompEnum.Select,n.FormCompEnum.Radio,n.FormCompEnum.RadioSingle,n.FormCompEnum.RadioButton,n.FormCompEnum.Cascader,n.FormCompEnum.ColorPicker,n.FormCompEnum.Checkbox,n.FormCompEnum.CheckboxButton].includes(o)?"请选择"+e:[n.FormCompEnum.CheckboxSingle].includes(o)?"请勾选"+e:[n.FormCompEnum.Search].includes(o)?"请输入要搜索的内容":[n.FormCompEnum.InputTag].includes(o)?"请输入标签内容":[n.FormCompEnum.Upload].includes(o)?"请选择上传文件":[n.FormCompEnum.Slider].includes(o)?"请拖动滑块":[n.FormCompEnum.TimePicker,n.FormCompEnum.YearPicker,n.FormCompEnum.MonthPicker,n.FormCompEnum.DatePicker,n.FormCompEnum.DatesPicker,n.FormCompEnum.DateTimePicker,n.FormCompEnum.WeekPicker,n.FormCompEnum.DateTimeRangePicker,n.FormCompEnum.DateRangePicker,n.FormCompEnum.MonthRangePicker].includes(o)?"请选择时间":""}function S(o,e){return o&&E.isInput(o)&&e&&c.isNumber(e)?`${e}`:e}function a(o,e){const{show:i,ifShow:u}=o;let m=!0,r=!0;return c.isBoolean(i)?m=i:c.isFunction(i)&&e&&(m=i(e)),c.isBoolean(u)?r=u:c.isFunction(u)&&e&&(r=u(e)),{isShow:m,isIfShow:r}}function l(o,e){const{baseColProps:i={},quickColSpan:u}=e;return o.type===n.FormCompEnum.Divider?24:o.colProps?.span!==void 0?o.colProps.span:o.quickColSpan?Math.ceil(24/o.quickColSpan):i.span!==void 0?i.span:u?Math.ceil(24/u):24}function f(o,e,i,u){if(e.customLayout)return{willExceed:!1,totalSpan:0,visibleItems:[]};const m=[];let r=0;for(const t of o){const C=i&&u?{field:t.field,model:i,values:{...u,...i},schema:t}:void 0,{isIfShow:d}=a(t,C);if(!d)continue;const s=l(t,e);m.push({field:t.field,span:s}),r+=s}const p=e.showCommonButton||e.showResetButton||e.showSubmitButton;if(e.actionInline&&e.showActionButtonGroup&&p&&!e.customLayout){const t=e.quickColSpan?Math.ceil(24/e.quickColSpan):e.baseColProps?.span||24;r+=t}return{willExceed:r>24,totalSpan:r,visibleItems:m}}exports.calculateSchemaSpan=l;exports.createPlaceholderMessage=F;exports.getSchemaShowState=a;exports.handleInputNumberValue=S;exports.willFormExceedOneRow=f;
@@ -1,3 +1,4 @@
1
+ import type { FormSchema, RenderCallbackParams, SuperFormProps } from '../types';
1
2
  import { type FormCompEnumType } from 'vft/es/utils';
2
3
  /**
3
4
  * @description 自动创建 placeholder
@@ -15,3 +16,36 @@ export declare function createPlaceholderMessage(type: FormCompEnumType, label?:
15
16
  * @param val
16
17
  */
17
18
  export declare function handleInputNumberValue(type?: FormCompEnumType, val?: any): any;
19
+ /**
20
+ * @description 获取表单项的显示状态
21
+ * @param schema 表单配置
22
+ * @param values 渲染回调参数(可选,用于函数类型的 show/ifShow)
23
+ * @returns { isShow: boolean, isIfShow: boolean }
24
+ */
25
+ export declare function getSchemaShowState(schema: FormSchema, values?: RenderCallbackParams): {
26
+ isShow: boolean;
27
+ isIfShow: boolean;
28
+ };
29
+ /**
30
+ * @description 计算表单项的 span 值
31
+ * @param schema 表单配置
32
+ * @param formProps 表单属性
33
+ * @returns span 值
34
+ */
35
+ export declare function calculateSchemaSpan(schema: FormSchema, formProps: SuperFormProps): number;
36
+ /**
37
+ * @description 判断表单是否会超过一行
38
+ * @param schemas 表单配置数组
39
+ * @param formProps 表单属性
40
+ * @param formModel 表单模型(可选,用于计算动态显示状态)
41
+ * @param allDefaultValues 所有默认值(可选,用于计算动态显示状态)
42
+ * @returns { willExceed: boolean, totalSpan: number, visibleItems: Array }
43
+ */
44
+ export declare function willFormExceedOneRow(schemas: FormSchema[], formProps: SuperFormProps, formModel?: Record<string, any>, allDefaultValues?: Record<string, any>): {
45
+ willExceed: boolean;
46
+ totalSpan: number;
47
+ visibleItems: Array<{
48
+ field: string;
49
+ span: number;
50
+ }>;
51
+ };
@@ -164,3 +164,4 @@ export declare const VftSwitch: import("vft/es/utils").SFCWithInstall<import("vu
164
164
  inactiveValue: boolean | string | number;
165
165
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>> & Record<string, any>;
166
166
  export default VftSwitch;
167
+ export * from './types';
@@ -1,28 +1,4 @@
1
- import { IconProps } from 'vft/es/components/icon';
2
- import { ComponentSize } from 'vft/es/constants';
3
- export interface SwitchProps {
4
- modelValue?: boolean | string | number;
5
- value?: boolean | string | number;
6
- disabled?: boolean;
7
- width?: string | number;
8
- inlinePrompt?: boolean;
9
- activeIcon?: IconProps | string;
10
- inactiveIcon?: IconProps | string;
11
- activeText?: string;
12
- inactiveText?: string;
13
- activeColor?: string;
14
- inactiveColor?: string;
15
- borderColor?: string;
16
- activeValue?: boolean | string | number;
17
- inactiveValue?: boolean | string | number;
18
- name?: string;
19
- validateEvent?: boolean;
20
- id?: string;
21
- loading?: boolean;
22
- beforeChange?: Function;
23
- size?: ComponentSize;
24
- tabindex?: string | number;
25
- }
1
+ import type { SwitchProps } from './types';
26
2
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SwitchProps>, {
27
3
  modelValue: boolean;
28
4
  value: boolean;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,25 @@
1
+ import type { IconProps } from 'vft/es/components/icon';
2
+ import type { ComponentSize } from 'vft/es/constants';
3
+ export interface SwitchProps {
4
+ modelValue?: boolean | string | number;
5
+ value?: boolean | string | number;
6
+ disabled?: boolean;
7
+ width?: string | number;
8
+ inlinePrompt?: boolean;
9
+ activeIcon?: IconProps | string;
10
+ inactiveIcon?: IconProps | string;
11
+ activeText?: string;
12
+ inactiveText?: string;
13
+ activeColor?: string;
14
+ inactiveColor?: string;
15
+ borderColor?: string;
16
+ activeValue?: boolean | string | number;
17
+ inactiveValue?: boolean | string | number;
18
+ name?: string;
19
+ validateEvent?: boolean;
20
+ id?: string;
21
+ loading?: boolean;
22
+ beforeChange?: Function;
23
+ size?: ComponentSize;
24
+ tabindex?: string | number;
25
+ }
@@ -513,6 +513,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
513
513
  getRawDataSource: () => import("../types").Recordable[];
514
514
  tableSearch: (value: any) => void;
515
515
  table: import("vue").Ref<import("./types").TableInstance | undefined, import("./types").TableInstance | undefined>;
516
+ formRef: import("vue").Ref<any, any>;
516
517
  pageRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
517
518
  total: {
518
519
  type: import("vue").PropType<number>;
@@ -1432,6 +1433,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
1432
1433
  getRawDataSource: () => import("../types").Recordable[];
1433
1434
  tableSearch: (value: any) => void;
1434
1435
  table: import("vue").Ref<import("./types").TableInstance | undefined, import("./types").TableInstance | undefined>;
1436
+ formRef: import("vue").Ref<any, any>;
1435
1437
  pageRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
1436
1438
  total: {
1437
1439
  type: import("vue").PropType<number>;
@@ -2235,6 +2237,7 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
2235
2237
  getRawDataSource: () => import("../types").Recordable[];
2236
2238
  tableSearch: (value: any) => void;
2237
2239
  table: import("vue").Ref<import("./types").TableInstance | undefined, import("./types").TableInstance | undefined>;
2240
+ formRef: import("vue").Ref<any, any>;
2238
2241
  pageRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
2239
2242
  total: {
2240
2243
  type: import("vue").PropType<number>;
@@ -2636,6 +2639,9 @@ export declare const VftTable: import("vft/es/utils").SFCWithInstall<{
2636
2639
  }, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
2637
2640
  $slots: {
2638
2641
  "toolbar-left"?(_: {}): any;
2642
+ resetBefore?(_: any): any;
2643
+ submitBefore?(_: any): any;
2644
+ submitAfter?(_: any): any;
2639
2645
  "toolbar-right"?(_: {}): any;
2640
2646
  empty?(_: {}): any;
2641
2647
  };
@@ -3,6 +3,9 @@ import type { TableInstance, TableProps } from './types';
3
3
  declare function setProps(props: Partial<TableProps>): void;
4
4
  declare function __VLS_template(): {
5
5
  "toolbar-left"?(_: {}): any;
6
+ resetBefore?(_: any): any;
7
+ submitBefore?(_: any): any;
8
+ submitAfter?(_: any): any;
6
9
  "toolbar-right"?(_: {}): any;
7
10
  empty?(_: {}): any;
8
11
  };
@@ -22,6 +25,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
22
25
  getRawDataSource: () => import("../types").Recordable[];
23
26
  tableSearch: (value: any) => void;
24
27
  table: import("vue").Ref<TableInstance | undefined, TableInstance | undefined>;
28
+ formRef: import("vue").Ref<any, any>;
25
29
  pageRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
26
30
  total: {
27
31
  type: import("vue").PropType<number>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),G=require("../client-only/index.cjs"),I=require("../empty/index.cjs"),K=require("../loading/directive.cjs"),c=require("@vft/utils"),X=require("../../utils/form-register.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const Y=require("../super-form/use/use-form.cjs"),W=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");require("../icon/index.cjs");const U=require("../pagination/index.cjs"),J=require("../skeleton/index.cjs"),Q=require("../super-form/index.cjs"),Z=require("vxe-table"),ee=require("xe-utils"),S=require("./constants.cjs"),ae=require("./use/use-columns.cjs"),te=require("./use/use-data-source.cjs"),re=require("./use/use-loading.cjs"),le=require("./use/use-pagination.cjs"),oe=require("../empty/constants.cjs"),ne=e.defineComponent({name:"vft-table"}),ce=e.defineComponent({...ne,props:{sticky:{type:[Boolean,Object]},api:{},pageSize:{default:S.PageSize},total:{},rowkey:{default:"_X_ROW_KEY"},immediate:{type:Boolean,default:!0},fetchSetting:{},watchApiFetch:{type:Boolean,default:!1},beforeFetch:{},delEmptyParams:{type:[Boolean,String],default:!0},afterFetch:{},transformParams:{type:Boolean,default:!0},extraParams:{},extraSysHeight:{default:200},pageHeight:{default:40},showPager:{type:Boolean,default:!0},addMaxHeight:{type:Boolean,default:!0},pagination:{},formOptions:{},onChange:{},emptyCfg:{default:()=>({type:oe.EmptyEnum.NoData})},loadingCfg:{default:()=>({customClass:"vft-card-loading",text:e.createVNode("div",null,[e.createVNode("span",null,[e.createTextVNode("加载中")]),e.createVNode("span",{class:"dot"},null)])})},layouts:{},columns:{},pagerConfig:{},proxyConfig:{},toolbarConfig:{default:()=>({enabled:!1,slots:{buttons:"toolbarButtons"}})},formConfig:{},zoomConfig:{},size:{},id:{},data:{},height:{},minHeight:{},maxHeight:{},stripe:{type:Boolean,default:!0},padding:{type:Boolean},round:{type:Boolean},border:{type:[Boolean,String],default:"full"},loading:{type:Boolean,default:!1},align:{default:"center"},headerAlign:{default:"center"},footerAlign:{},showHeader:{type:Boolean,default:!0},showFooter:{type:Boolean},footerData:{},footerMethod:{},rowClassName:{},cellClassName:{},headerRowClassName:{},headerCellClassName:{},footerRowClassName:{},footerCellClassName:{},cellStyle:{},rowStyle:{},headerCellStyle:{},headerRowStyle:{},footerRowStyle:{},footerCellStyle:{},mergeCells:{},mergeFooterItems:{},spanMethod:{},footerSpanMethod:{},showOverflow:{type:[Boolean,String,null],default:"tooltip"},showHeaderOverflow:{type:[Boolean,String,null]},showFooterOverflow:{type:[Boolean,String,null]},keepSource:{type:Boolean},autoResize:{type:Boolean,default:!1},syncResize:{type:[Boolean,String,Number]},columnConfig:{default:()=>({drag:!1,resizable:!0,minWidth:"15%"})},rowConfig:{default:()=>({isHover:!0,isCurrent:!0,useKey:!0})},cellConfig:{},headerCellConfig:{},footerCellConfig:{},aggregateConfig:{},rowGroupConfig:{},currentRowConfig:{},currentColumnConfig:{},dragConfig:{},rowDragConfig:{},columnDragConfig:{},customConfig:{},resizeConfig:{},resizableConfig:{},seqConfig:{},sortConfig:{},filterConfig:{},radioConfig:{},checkboxConfig:{},tooltipConfig:{},exportConfig:{},importConfig:{},printConfig:{},expandConfig:{},treeConfig:{},menuConfig:{},mouseConfig:{},areaConfig:{},fnrConfig:{},keyboardConfig:{},clipConfig:{},editConfig:{},validConfig:{},editRules:{},emptyText:{},emptyRender:{},loadingConfig:{},scrollX:{},scrollY:{},virtualXConfig:{default:()=>({enabled:!1})},virtualYConfig:{default:()=>({enabled:!1})},scrollbarConfig:{},params:{},resizable:{type:Boolean},highlightCurrentRow:{type:Boolean},highlightHoverRow:{type:Boolean},highlightCurrentColumn:{type:Boolean},highlightHoverColumn:{type:Boolean},highlightCell:{type:Boolean},columnKey:{type:Boolean},rowKey:{type:Boolean},rowId:{},fit:{type:Boolean,default:!0},animat:{type:Boolean},delayHover:{}},emits:["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end","change","sort-change","fetch-success","form-submit","form-reset","update:page-num","update:page-size","register","page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"],setup(ie,{expose:B,emit:q}){const n=q,s=W.useNamespace("table"),z=e.useAttrs(),d=e.ref(),f=e.ref(),P=e.ref([]),u=e.ref(),R=e.getCurrentInstance(),t=e.computed(()=>c.deepMerge(R.props,e.unref(u))),{getLoading:D,setLoading:H}=re.useLoading(t),{getPaginationInfo:i,setPagination:g,getCurrentPage:N}=le.usePagination(t),{getViewColumns:F,setColumns:V}=ae.useColumns(t);e.watch(()=>N(),a=>{e.nextTick(()=>{m({seqConfig:{startIndex:(a-1)*(i.value?.pageSize||e.unref(t).pageSize||S.PageSize)}})})},{immediate:!0});function m(a){u.value={...e.unref(u),...a}}const{getDataSourceRef:p,handleTableChange:T,reload:h,deleteTableDataRecord:_,insertTableDataRecord:E,updateTableData:O,updateTableDataRecord:$,setTableData:b,getDataSource:A,getRawDataSource:C,tableSearch:y}=te.useDataSource(t,{tableData:P,setLoading:H,getPaginationInfo:i,setPagination:g},n);function w(a){a?.pageSize&&g({currentPage:1}),T(a),n("change",a);const{onChange:r}=e.unref(t);r&&c.isFunction(r)&&r(a)}const x={};["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end","change","sort-change","fetch-success","form-submit","form-reset","update:page-num","update:page-size","register","page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"].forEach(a=>{const r=ee.camelCase(`on-${a}`);x[r]=(...o)=>n(a,...o)});const l=e.computed(()=>{const a=e.unref(p),r={...z,...e.unref(t),columns:e.toRaw(e.unref(F)),loading:e.unref(D),data:a,...x};if(c.isClient){(e.unref(t)?.addMaxHeight||e.unref(t)?.maxHeight)&&(r.maxHeight=e.unref(t)?.maxHeight?e.unref(t)?.maxHeight:`${window.innerHeight-e.unref(t)?.extraSysHeight-(t.value?.showPager?t.value?.pageHeight||40:0)}px`);const o=e.unref(t)?.minHeight;r.minHeight=o||(o!==0&&e.unref(t)?.toolbarConfig?.custom?300:void 0)}return e.unref(t)?.toolbarConfig?.refresh&&(r.proxyConfig=e.unref(t)?.proxyConfig||{response:{result:e.unref(t)?.fetchSetting?.listField,total:e.unref(t)?.fetchSetting?.totalField},autoLoad:!1,ajax:{query:async()=>await h()}}),r}),v={setPagination:g,emit:n,setProps:m,reload:h,deleteTableDataRecord:_,insertTableDataRecord:E,updateTableDataRecord:$,updateTableData:O,setTableData:b,getDataSource:A,getDataSourceRef:p,setColumns:V,getRawDataSource:C,tableSearch:y};n("register",v);const M={field:"_filterTableData",label:"",type:X.FormCompEnum.Search,itemProps:{class:"search-all-form-item"},componentProps:()=>({onChange:a=>{k({_filterTableData:a})}})},[L]=Y.useForm(c.deepMerge({schemas:[l.value?.formOptions?.addSearchAllSchema?M:{}],rowProps:{justify:"start"},labelPosition:"left",quickColSpan:5,watchDataIsChange:!0,showResetButton:!0,showSubmitButton:!0,size:"small",submitButtonOptions:{btnText:"搜索"},actionInline:!0},c.omit(l.value?.formOptions,["showActionForm","addSearchAllSchema"]),"replace")),k=a=>{Reflect.has(a,"_filterTableData")&&y(a._filterTableData),n("form-submit",a)},j=()=>{b(C()),n("form-reset")};return B({table:d,pageRef:f,...v}),(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(s).b()])},[e.createVNode(e.unref(G.VftClientOnly),null,{fallback:e.withCtx(()=>[e.createVNode(e.unref(J.VftSkeleton))]),default:e.withCtx(()=>[e.createVNode(e.unref(Z.VxeGrid),e.mergeProps({ref_key:"xGrid",ref:d},l.value),{toolbarButtons:e.withCtx(()=>[e.renderSlot(a.$slots,"toolbar-left"),l.value?.formOptions?.showActionForm?(e.openBlock(),e.createBlock(e.unref(Q.VftSuperForm),{key:0,onRegister:e.unref(L),onSubmit:k,onReset:j},null,8,["onRegister"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"toolbar-right")]),empty:e.withCtx(()=>[e.renderSlot(a.$slots,"empty",{},()=>[e.createVNode(e.unref(I.VftEmpty),e.normalizeProps(e.guardReactiveProps(l.value.emptyCfg)),null,16)])]),loading:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",null,null,512),[[e.vShow,l.value.loading],[e.unref(K.vLoading),l.value.loadingCfg]])]),_:3},16),l.value.showPager?(e.openBlock(),e.createBlock(e.unref(U.VftPagination),e.mergeProps({key:0,ref_key:"pageRef",ref:f},e.unref(i),{class:[e.unref(s).e("pager"),e.unref(s).m(`pager-${e.unref(i)?.pagePlacement}`)],onCurrentChange:r[0]||(r[0]=o=>w({currentPage:o})),onSizeChange:r[1]||(r[1]=o=>w({pageSize:o}))}),null,16,["class"])):e.createCommentVNode("",!0)]),_:3})],2))}});exports.default=ce;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),K=require("../client-only/index.cjs"),X=require("../empty/index.cjs"),Y=require("../loading/directive.cjs"),c=require("@vft/utils"),W=require("../../utils/form-register.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const U=require("../super-form/use/use-form.cjs"),J=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");require("../icon/index.cjs");const Q=require("../pagination/index.cjs"),Z=require("../skeleton/index.cjs"),ee=require("../super-form/index.cjs"),te=require("vxe-table"),re=require("xe-utils"),B=require("./constants.cjs"),ae=require("./use/use-columns.cjs"),oe=require("./use/use-data-source.cjs"),le=require("./use/use-loading.cjs"),ne=require("./use/use-pagination.cjs"),ce=require("../empty/constants.cjs"),ie=e.defineComponent({name:"vft-table"}),se=e.defineComponent({...ie,props:{sticky:{type:[Boolean,Object]},api:{},pageSize:{default:B.PageSize},total:{},rowkey:{default:"_X_ROW_KEY"},immediate:{type:Boolean,default:!0},fetchSetting:{},watchApiFetch:{type:Boolean,default:!1},beforeFetch:{},delEmptyParams:{type:[Boolean,String],default:"strict"},afterFetch:{},transformParams:{type:Boolean,default:!0},extraParams:{},extraSysHeight:{default:200},pageHeight:{default:40},showPager:{type:Boolean,default:!0},addMaxHeight:{type:Boolean,default:!0},pagination:{},formOptions:{},onChange:{},emptyCfg:{default:()=>({type:ce.EmptyEnum.NoData})},loadingCfg:{default:()=>({customClass:"vft-card-loading",text:e.createVNode("div",null,[e.createVNode("span",null,[e.createTextVNode("加载中")]),e.createVNode("span",{class:"dot"},null)])})},layouts:{},columns:{},pagerConfig:{},proxyConfig:{},toolbarConfig:{default:()=>({enabled:!1,slots:{buttons:"toolbarButtons"}})},formConfig:{},zoomConfig:{},size:{},id:{},data:{},height:{},minHeight:{},maxHeight:{},stripe:{type:Boolean,default:!0},padding:{type:Boolean},round:{type:Boolean},border:{type:[Boolean,String],default:"full"},loading:{type:Boolean,default:!1},align:{default:"center"},headerAlign:{default:"center"},footerAlign:{},showHeader:{type:Boolean,default:!0},showFooter:{type:Boolean},footerData:{},footerMethod:{},rowClassName:{},cellClassName:{},headerRowClassName:{},headerCellClassName:{},footerRowClassName:{},footerCellClassName:{},cellStyle:{},rowStyle:{},headerCellStyle:{},headerRowStyle:{},footerRowStyle:{},footerCellStyle:{},mergeCells:{},mergeFooterItems:{},spanMethod:{},footerSpanMethod:{},showOverflow:{type:[Boolean,String,null],default:"tooltip"},showHeaderOverflow:{type:[Boolean,String,null]},showFooterOverflow:{type:[Boolean,String,null]},keepSource:{type:Boolean},autoResize:{type:Boolean,default:!1},syncResize:{type:[Boolean,String,Number]},columnConfig:{default:()=>({drag:!1,resizable:!0,minWidth:"15%"})},rowConfig:{default:()=>({isHover:!0,isCurrent:!0,useKey:!0})},cellConfig:{},headerCellConfig:{},footerCellConfig:{},aggregateConfig:{},rowGroupConfig:{},currentRowConfig:{},currentColumnConfig:{},dragConfig:{},rowDragConfig:{},columnDragConfig:{},customConfig:{},resizeConfig:{},resizableConfig:{},seqConfig:{},sortConfig:{},filterConfig:{},radioConfig:{},checkboxConfig:{},tooltipConfig:{},exportConfig:{},importConfig:{},printConfig:{},expandConfig:{},treeConfig:{},menuConfig:{},mouseConfig:{},areaConfig:{},fnrConfig:{},keyboardConfig:{},clipConfig:{},editConfig:{},validConfig:{},editRules:{},emptyText:{},emptyRender:{},loadingConfig:{},scrollX:{},scrollY:{},virtualXConfig:{default:()=>({enabled:!1})},virtualYConfig:{default:()=>({enabled:!1})},scrollbarConfig:{},params:{},resizable:{type:Boolean},highlightCurrentRow:{type:Boolean},highlightHoverRow:{type:Boolean},highlightCurrentColumn:{type:Boolean},highlightHoverColumn:{type:Boolean},highlightCell:{type:Boolean},columnKey:{type:Boolean},rowKey:{type:Boolean},rowId:{},fit:{type:Boolean,default:!0},animat:{type:Boolean},delayHover:{}},emits:["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end","change","sort-change","fetch-success","form-submit","form-reset","update:page-num","update:page-size","register","page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"],setup(ue,{expose:P,emit:R}){const n=R,i=J.useNamespace("table"),q=e.useAttrs(),g=e.ref(),m=e.ref(),z=e.ref([]),u=e.ref(),d=e.ref(),D=e.getCurrentInstance(),r=e.computed(()=>c.deepMerge(D.props,e.unref(u))),{getLoading:H,setLoading:N}=le.useLoading(r),{getPaginationInfo:s,setPagination:f,getCurrentPage:F}=ne.usePagination(r),{getViewColumns:V,setColumns:T}=ae.useColumns(r);e.watch(()=>F(),t=>{e.nextTick(()=>{p({seqConfig:{startIndex:(t-1)*(s.value?.pageSize||e.unref(r).pageSize||B.PageSize)}})})},{immediate:!0});function p(t){u.value={...e.unref(u),...t}}const{getDataSourceRef:h,handleTableChange:$,reload:b,deleteTableDataRecord:A,insertTableDataRecord:E,updateTableData:O,updateTableDataRecord:_,setTableData:C,getDataSource:M,getRawDataSource:y,tableSearch:w}=oe.useDataSource(r,{tableData:z,setLoading:N,getPaginationInfo:s,setPagination:f},n);function v(t){t?.pageSize&&f({currentPage:1}),$(t),n("change",t);const{onChange:a}=e.unref(r);a&&c.isFunction(a)&&a(t)}const x={};["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","clear-all-sort","filter-change","filter-visible","clear-filter","clear-all-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-group-expand","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","custom-visible-change","custom-visible-all","custom-fixed-change","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end","change","sort-change","fetch-success","form-submit","form-reset","update:page-num","update:page-size","register","page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"].forEach(t=>{const a=re.camelCase(`on-${t}`);x[a]=(...o)=>n(t,...o)});const l=e.computed(()=>{const t=e.unref(h),a={...q,...e.unref(r),columns:e.toRaw(e.unref(V)),loading:e.unref(H),data:t,...x};if(c.isClient){(e.unref(r)?.addMaxHeight||e.unref(r)?.maxHeight)&&(a.maxHeight=e.unref(r)?.maxHeight?e.unref(r)?.maxHeight:`${window.innerHeight-e.unref(r)?.extraSysHeight-(r.value?.showPager?r.value?.pageHeight||40:0)}px`);const o=e.unref(r)?.minHeight;a.minHeight=o||(o!==0&&e.unref(r)?.toolbarConfig?.custom?300:void 0)}return e.unref(r)?.toolbarConfig?.refresh&&(a.proxyConfig=e.unref(r)?.proxyConfig||{response:{result:e.unref(r)?.fetchSetting?.listField,total:e.unref(r)?.fetchSetting?.totalField},autoLoad:!1,ajax:{query:async()=>await b()}}),a}),k={setPagination:f,emit:n,setProps:p,reload:b,deleteTableDataRecord:A,insertTableDataRecord:E,updateTableDataRecord:_,updateTableData:O,setTableData:C,getDataSource:M,getDataSourceRef:h,setColumns:T,getRawDataSource:y,tableSearch:w};n("register",k);const L={field:"_filterTableData",label:"",type:W.FormCompEnum.Search,itemProps:{class:"search-all-form-item"},componentProps:()=>({onChange:t=>{S({_filterTableData:t})}})},j=c.deepMerge({schemas:[l.value?.formOptions?.addSearchAllSchema?L:{}],rowProps:{justify:"start"},labelPosition:"left",quickColSpan:5,watchDataIsChange:!0,showResetButton:!0,showSubmitButton:!0,size:"small",submitButtonOptions:{btnText:"搜索"},actionInline:!0},c.omit(l.value?.formOptions,["showActionForm","addSearchAllSchema"]),"replace"),[G]=U.useForm(j),S=t=>{Reflect.has(t,"_filterTableData")&&w(t._filterTableData),n("form-submit",t)},I=()=>{C(y()),n("form-reset")};return P({table:g,formRef:d,pageRef:m,...k}),(t,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(i).b(),{[e.unref(i).is("form-exceed-one-rows")]:d.value?.willExceedOneRow}])},[e.createVNode(e.unref(K.VftClientOnly),null,{fallback:e.withCtx(()=>[e.createVNode(e.unref(Z.VftSkeleton))]),default:e.withCtx(()=>[e.createVNode(e.unref(te.VxeGrid),e.mergeProps({ref_key:"xGrid",ref:g},l.value),{toolbarButtons:e.withCtx(()=>[e.renderSlot(t.$slots,"toolbar-left"),l.value?.formOptions?.showActionForm?(e.openBlock(),e.createBlock(e.unref(ee.VftSuperForm),{key:0,ref_key:"formRef",ref:d,onRegister:e.unref(G),onSubmit:S,onReset:I},e.createSlots({_:2},[t.$slots.resetBefore?{name:"resetBefore",fn:e.withCtx(o=>[e.renderSlot(t.$slots,"resetBefore",e.normalizeProps(e.guardReactiveProps(o)))]),key:"0"}:void 0,t.$slots.submitBefore?{name:"submitBefore",fn:e.withCtx(o=>[e.renderSlot(t.$slots,"submitBefore",e.normalizeProps(e.guardReactiveProps(o)))]),key:"1"}:void 0,t.$slots.submitAfter?{name:"submitAfter",fn:e.withCtx(o=>[e.renderSlot(t.$slots,"submitAfter",e.normalizeProps(e.guardReactiveProps(o)))]),key:"2"}:void 0]),1032,["onRegister"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"toolbar-right")]),empty:e.withCtx(()=>[e.renderSlot(t.$slots,"empty",{},()=>[e.createVNode(e.unref(X.VftEmpty),e.normalizeProps(e.guardReactiveProps(l.value.emptyCfg)),null,16)])]),loading:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",null,null,512),[[e.vShow,l.value.loading],[e.unref(Y.vLoading),l.value.loadingCfg]])]),_:3},16),l.value.showPager?(e.openBlock(),e.createBlock(e.unref(Q.VftPagination),e.mergeProps({key:0,ref_key:"pageRef",ref:m},e.unref(s),{class:[e.unref(i).e("pager"),e.unref(i).m(`pager-${e.unref(s)?.pagePlacement}`)],onCurrentChange:a[0]||(a[0]=o=>v({currentPage:o})),onSizeChange:a[1]||(a[1]=o=>v({pageSize:o}))}),null,16,["class"])):e.createCommentVNode("",!0)]),_:3})],2))}});exports.default=se;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.487";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.493";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.487",
3
+ "version": "0.0.493",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={AutoComplete:"autocomplete",Cascader:"cascader",ColorPicker:"colorPicker",Input:"input",InputNumber:"input-number",InputNumberStep:"input-number-step",InputTag:"input-tag",Password:"password",Textarea:"textarea",Slider:"slider",Divider:"divider",Select:"select",Search:"search",Radio:"radio",RadioSingle:"radio_single",RadioButton:"radio-button",Checkbox:"checkbox",CheckboxSingle:"checkbox_single",CheckboxButton:"checkbox-button",Switch:"switch",Upload:"upload",TimePicker:"time-picker",TimeRangePicker:"time-picker",YearPicker:"year",MonthPicker:"month",DatePicker:"date",DatesPicker:"dates",DateTimePicker:"datetime",WeekPicker:"week",DateTimeRangePicker:"datetimerange",DateRangePicker:"daterange",MonthRangePicker:"monthrange"},t=new Map;function i(e,n){t.set(e,n)}function a(e){Object.entries(e).forEach(([n,o])=>{t.set(n,o)})}function c(e){return t.get(e)}function m(e){t.delete(e)}function s(e){return t.has(e)}function p(){return Array.from(t.keys())}function u(){t.clear()}exports.FormCompEnum=r;exports.clearComponents=u;exports.getComponent=c;exports.getRegisteredComponents=p;exports.hasComponent=s;exports.registerComponent=i;exports.registerComponents=a;exports.removeComponent=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={AutoComplete:"autocomplete",Cascader:"cascader",ColorPicker:"colorPicker",Input:"input",InputNumber:"input-number",InputNumberStep:"input-number-step",InputTag:"input-tag",Password:"password",Textarea:"textarea",Slider:"slider",Divider:"divider",Select:"select",Search:"search",Radio:"radio",RadioSingle:"radio_single",RadioButton:"radio-button",Checkbox:"checkbox",CheckboxSingle:"checkbox_single",CheckboxButton:"checkbox-button",Switch:"switch",Upload:"upload",TimePicker:"time-picker",TimeRangePicker:"time-range-picker",YearPicker:"year",MonthPicker:"month",DatePicker:"date",DatesPicker:"dates",DateTimePicker:"datetime",WeekPicker:"week",DateTimeRangePicker:"datetimerange",DateRangePicker:"daterange",MonthRangePicker:"monthrange"},t=new Map;function i(e,n){t.set(e,n)}function a(e){Object.entries(e).forEach(([n,o])=>{t.set(n,o)})}function c(e){return t.get(e)}function m(e){t.delete(e)}function s(e){return t.has(e)}function p(){return Array.from(t.keys())}function u(){t.clear()}exports.FormCompEnum=r;exports.clearComponents=u;exports.getComponent=c;exports.getRegisteredComponents=p;exports.hasComponent=s;exports.registerComponent=i;exports.registerComponents=a;exports.removeComponent=m;
@@ -22,7 +22,7 @@ export declare const FormCompEnum: {
22
22
  readonly Switch: "switch";
23
23
  readonly Upload: "upload";
24
24
  readonly TimePicker: "time-picker";
25
- readonly TimeRangePicker: "time-picker";
25
+ readonly TimeRangePicker: "time-range-picker";
26
26
  readonly YearPicker: "year";
27
27
  readonly MonthPicker: "month";
28
28
  readonly DatePicker: "date";