@gopowerteam/form-render 0.0.36 → 0.0.37

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.
@@ -311,6 +311,7 @@ export declare const FormRender: import("vue").DefineComponent<{
311
311
  updateFormField: (key: string, value: any) => void;
312
312
  updateFormSource: (value: import("../interfaces").DataRecord) => void;
313
313
  reset: () => void;
314
+ validate: () => Promise<Record<string, import("@arco-design/web-vue").ValidatedError> | undefined> | undefined;
314
315
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "cancel" | "update:model-value")[], "submit" | "cancel" | "update:model-value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
315
316
  form: {
316
317
  type: PropType<FormItemsOptions<any>>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("@arco-design/web-vue"),F=require("dayjs"),D=require("./resolver.cjs");const _=Symbol("ArcoConfigProvider"),M="arco",T="$arco",x=e=>{var t,l,r;const n=a.getCurrentInstance(),o=a.inject(_,void 0),s=(r=(l=o==null?void 0:o.prefixCls)!=null?l:(t=n==null?void 0:n.appContext.config.globalProperties[T])==null?void 0:t.classPrefix)!=null?r:M;return e?`${s}-${e}`:s},P=Object.prototype.toString;function O(e){return P.call(e)==="[object Number]"&&e===e}var I=(e,t)=>{for(const[l,r]of t)e[l]=r;return e};const R=a.defineComponent({name:"IconDown",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:t}){const l=x("icon"),r=a.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=O(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),p=["stroke-width","stroke-linecap","stroke-linejoin"],z=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),E=[z];function L(e,t,l,r,n,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},E,14,p)}var $=I(R,[["render",L]]);const q=Object.assign($,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+$.name,$)}}),B=a.defineComponent({name:"IconUp",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:t}){const l=x("icon"),r=a.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=O(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),U=["stroke-width","stroke-linecap","stroke-linejoin"],W=a.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),A=[W];function Y(e,t,l,r,n,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},A,14,U)}var C=I(B,[["render",Y]]);const G=Object.assign(C,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+C.name,C)}}),w={id:Symbol("ID"),source:Symbol("Source")};function K(e,t){const l=a.ref({});return e==null||e.forEach(n=>{let o=null;n.default&&(o=(typeof n.default=="function"?n.default():n.default)||null),t&&t[n.key]!==void 0&&(o=t[n.key]),l.value[n.key]=o}),[l,n=>{l.value=n}]}function Q(e){function t(l,r){return e!=null&&e.disabledDate?e.disabledDate(l,r):!1}return(l,r)=>{switch(e==null?void 0:e.type){case"week":return a.createVNode(i.WeekPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return a.createVNode(i.MonthPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return a.createVNode(i.QuarterPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return a.createVNode(i.YearPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return a.createVNode(i.DatePicker,{"disabled-input":!0,modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function X(e){return(t,l)=>{switch(e==null?void 0:e.type){case"number":return a.createVNode(i.InputNumber,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},null);case"string":default:return a.createVNode(i.Input,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function V(e,t,l){const r=a.watch(e,(...n)=>(a.nextTick(()=>r()),t(...n)),l);return r}function H(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const k=new WeakMap;function J(){const e=a.ref(new Map);return[e,l=>e.value=l]}function Z(e){let t,l=!1;const[r,n]=J(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=async()=>{const c=k.get(e.options);switch(typeof c){case"function":k.set(e.options,n);return;case"object":n(c);return}k.set(e.options,n),s(e.options,u=>{const d=k.get(e.options);k.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>{let d;return e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Select,{ref:f=>t=f,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":f=>c[u.key]=f,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o},H(d=Array.from(r.value.entries()).map(([f,m])=>a.createVNode(i.Option,{key:f,value:f,label:m},null)))?d:{default:()=>[d]})}}function ee(e){function t(){e!=null&&e.autoSumbit}return(l,r)=>(e!=null&&e.default&&(l[r.key]=e.default),a.createVNode(i.Switch,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,checkedText:(e==null?void 0:e.openLabel)??"是",uncheckedText:(e==null?void 0:e.closeLabel)??"否",checkedValue:(e==null?void 0:e.openValue)??!0,uncheckedValue:(e==null?void 0:e.closeValue)??!1,onChange:t},null))}function te(e){return(t,l)=>{let r=[];function n(h){r=h}function o(h){if(h&&h.length===2){const[b,c]=h.sort(),u=F(b).startOf("days"),d=F(c).endOf("days");t[l.key]=[u.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),d.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function s(h){return e!=null&&e.disabledDate?e.disabledDate(r,h):!1}return a.createVNode("div",null,[a.createVNode(i.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:t[l.key],"onUpdate:modelValue":h=>t[l.key]=h,onSelect:n,onChange:o,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":s,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function re(e){return(t,l)=>a.createVNode(i.Textarea,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const S=new WeakMap;function le(){const e=a.ref([]);return[e,l=>e.value=l]}function ae(e){let t,l=!1;const[r,n]=le(),o=()=>{if(!e.autoSumbit||!t)return;let u=t;for(;u&&u.$el.tagName!=="FORM";)u=u.$parent;u&&u.$el&&u.$el.dispatchEvent(new Event("submit"))},s=(u,d)=>{const f=u();f instanceof Promise?f.then(d):d(f)},h=async()=>{const u=S.get(e.options);switch(typeof u){case"function":S.set(e.options,n);return;case"object":n(u);return}S.set(e.options,n),s(e.options,d=>{const f=S.get(e.options);S.set(e.options,d),f(d)})},b=()=>{s(e.options,u=>{n(u)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}function c(u,d){var y;const f=((y=e.fieldNames)==null?void 0:y.title)||"title",m=d[f];return m?m.toLowerCase().includes(u.toLowerCase()):!1}return(u,d)=>(e.default&&!l&&(u[d.key]=e.default,l=!0),a.createVNode(i.TreeSelect,{ref:f=>t=f,multiple:e.multiple,modelValue:u[d.key],"onUpdate:modelValue":f=>u[d.key]=f,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,filterTreeNode:c,data:r.value,fieldNames:e.fieldNames,treeProps:{defaultExpandAll:e.defaultExpandAll}},null))}const v=new WeakMap;function ne(){const e=a.ref([]);return[e,l=>e.value=l]}function ue(e){let t,l=!1;const[r,n]=ne(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=async()=>{const c=v.get(e.options);switch(typeof c){case"function":v.set(e.options,n);return;case"object":n(c);return}v.set(e.options,n),s(e.options,u=>{const d=v.get(e.options);v.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>(e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Cascader,{pathMode:e.pathMode,ref:d=>t=d,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":d=>c[u.key]=d,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,options:r.value},null))}function ce(e){return t=>e(t)}function de(){return{input:X,textarea:re,select:Z,treeSelect:ae,date:Q,switch:ee,dateRange:te,render:ce,cascader:ue}}function se(e,t){t.render||(t.render=r=>r.input());const l=t.render({...de()});return{default:()=>l(e,t)}}function oe(e,t){return a.h(i.FormItem,{field:t.key,label:t.title},se(e,t))}function N(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const j=a.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:400},name:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},id:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},submitable:{type:Boolean,required:!1,default:!1},searchable:{type:Boolean,required:!1,default:!1},footer:{type:Boolean,required:!1,default:!1}},emits:["submit","cancel","update:model-value"],expose:["formSource","updateFormField","updateFormSource","reset"],setup(e){const t=a.ref(),[l,r]=K(e.form,e.modelValue||e.value),n=a.ref(e.columns||0),o=a.ref(!0),s=()=>o.value=!o.value;a.provide(w.id,e.id),a.provide(w.source,l);const h=a.computed(()=>{if(!n.value)return 1;const m=e.form.reduce((y,g)=>y+((g==null?void 0:g.span)||1),0);return n.value-m%n.value}),b=a.computed(()=>e.form.reduce((m,y)=>(y.rule&&(m[y.key]=y.rule),m),{}));function c(){var y;if(e.columns)return;const m=(y=t.value)==null?void 0:y.$el;m&&(n.value=Math.floor(m.offsetWidth/e.minWidth))}function u(){var y;const m=(y=t.value)==null?void 0:y.$el;m&&(m.id=e.id)}a.onMounted(()=>{c(),u()});function d(m,y){l.value[m]=y,r({...l})}function f(){var m;(m=t.value)==null||m.resetFields()}return window.addEventListener("resize",c),{formSource:l,formInstance:t,formColumns:n,formRules:b,formCollspased:o,formActiosSpan:h,toggleFormCollapsed:s,updateFormField:d,updateFormSource:r,reset:f}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},t=()=>{const r=[],n=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(o=>!!o.collapsed)&&r.push(a.createVNode(i.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(q,null,null):a.createVNode(G,null,null)})),this.$slots.actions&&r.push(...this.$slots.actions()),r.length)return a.createVNode(i.GridItem,n,{default:()=>[a.createVNode(i.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[a.createVNode(i.Space,null,N(r)?r:{default:()=>[r]})]})]})},l=this.form.filter(r=>this.formCollspased?!r.collapsed:!0).filter(r=>{switch(!0){case typeof r.visiable=="boolean":return r.visiable;case typeof r.visiable=="function":return r.visiable(this.formSource);default:return!0}});return a.createVNode("div",{class:"form-render"},[a.createVNode(i.Form,a.mergeProps({name:this.name},{labelAlign:"left",layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e,"auto-label-width":!0,ref:r=>this.formInstance=r,model:this.formSource}),{default:()=>[a.createVNode(i.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(r=>{let n;return a.createVNode(i.GridItem,{span:r.span},N(n=oe(this.formSource,r))?n:{default:()=>[n]})}),t()]})]})])}});function ie(e){return e}function fe(e){const t=a.getCurrentInstance(),l=a.ref();function r(){var o,s;const n=(s=(o=t==null?void 0:t.proxy)==null?void 0:o.$refs)==null?void 0:s[e];n&&(l.value=n)}return a.onMounted(r),a.onUpdated(r),l}const me={install(e,t){e.component("FormRender",j)}};exports.FormRenderResolver=D.FormRenderResolver;exports.FormRender=j;exports.default=me;exports.defineForm=ie;exports.useForm=fe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("@arco-design/web-vue"),w=require("dayjs"),_=require("./resolver.cjs");const M=Symbol("ArcoConfigProvider"),T="arco",P="$arco",O=e=>{var t,l,r;const n=a.getCurrentInstance(),o=a.inject(M,void 0),s=(r=(l=o==null?void 0:o.prefixCls)!=null?l:(t=n==null?void 0:n.appContext.config.globalProperties[P])==null?void 0:t.classPrefix)!=null?r:T;return e?`${s}-${e}`:s},R=Object.prototype.toString;function I(e){return R.call(e)==="[object Number]"&&e===e}var j=(e,t)=>{for(const[l,r]of t)e[l]=r;return e};const p=a.defineComponent({name:"IconDown",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:t}){const l=O("icon"),r=a.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=I(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),z=["stroke-width","stroke-linecap","stroke-linejoin"],E=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),L=[E];function q(e,t,l,r,n,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},L,14,z)}var C=j(p,[["render",q]]);const B=Object.assign(C,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+C.name,C)}}),U=a.defineComponent({name:"IconUp",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:t}){const l=O("icon"),r=a.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=I(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),W=["stroke-width","stroke-linecap","stroke-linejoin"],A=a.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),Y=[A];function G(e,t,l,r,n,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},Y,14,W)}var V=j(U,[["render",G]]);const K=Object.assign(V,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+V.name,V)}}),N={id:Symbol("ID"),source:Symbol("Source")};function Q(e,t){const l=a.ref({});return e==null||e.forEach(n=>{let o=null;n.default&&(o=(typeof n.default=="function"?n.default():n.default)||null),t&&t[n.key]!==void 0&&(o=t[n.key]),l.value[n.key]=o}),[l,n=>{l.value=n}]}function X(e){function t(l,r){return e!=null&&e.disabledDate?e.disabledDate(l,r):!1}return(l,r)=>{switch(e==null?void 0:e.type){case"week":return a.createVNode(i.WeekPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return a.createVNode(i.MonthPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return a.createVNode(i.QuarterPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return a.createVNode(i.YearPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return a.createVNode(i.DatePicker,{"disabled-input":!0,modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function H(e){return(t,l)=>{switch(e==null?void 0:e.type){case"number":return a.createVNode(i.InputNumber,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},null);case"string":default:return a.createVNode(i.Input,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function F(e,t,l){const r=a.watch(e,(...n)=>(a.nextTick(()=>r()),t(...n)),l);return r}function J(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const v=new WeakMap;function Z(){const e=a.ref(new Map);return[e,l=>e.value=l]}function ee(e){let t,l=!1;const[r,n]=Z(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=async()=>{const c=v.get(e.options);switch(typeof c){case"function":v.set(e.options,n);return;case"object":n(c);return}v.set(e.options,n),s(e.options,u=>{const d=v.get(e.options);v.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>{let d;return e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Select,{ref:m=>t=m,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":m=>c[u.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o},J(d=Array.from(r.value.entries()).map(([m,k])=>a.createVNode(i.Option,{key:m,value:m,label:k},null)))?d:{default:()=>[d]})}}function te(e){function t(){e!=null&&e.autoSumbit}return(l,r)=>(e!=null&&e.default&&(l[r.key]=e.default),a.createVNode(i.Switch,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,checkedText:(e==null?void 0:e.openLabel)??"是",uncheckedText:(e==null?void 0:e.closeLabel)??"否",checkedValue:(e==null?void 0:e.openValue)??!0,uncheckedValue:(e==null?void 0:e.closeValue)??!1,onChange:t},null))}function re(e){return(t,l)=>{let r=[];function n(h){r=h}function o(h){if(h&&h.length===2){const[b,c]=h.sort(),u=w(b).startOf("days"),d=w(c).endOf("days");t[l.key]=[u.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),d.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function s(h){return e!=null&&e.disabledDate?e.disabledDate(r,h):!1}return a.createVNode("div",null,[a.createVNode(i.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:t[l.key],"onUpdate:modelValue":h=>t[l.key]=h,onSelect:n,onChange:o,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":s,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function le(e){return(t,l)=>a.createVNode(i.Textarea,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const S=new WeakMap;function ae(){const e=a.ref([]);return[e,l=>e.value=l]}function ne(e){let t,l=!1;const[r,n]=ae(),o=()=>{if(!e.autoSumbit||!t)return;let u=t;for(;u&&u.$el.tagName!=="FORM";)u=u.$parent;u&&u.$el&&u.$el.dispatchEvent(new Event("submit"))},s=(u,d)=>{const m=u();m instanceof Promise?m.then(d):d(m)},h=async()=>{const u=S.get(e.options);switch(typeof u){case"function":S.set(e.options,n);return;case"object":n(u);return}S.set(e.options,n),s(e.options,d=>{const m=S.get(e.options);S.set(e.options,d),m(d)})},b=()=>{s(e.options,u=>{n(u)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}function c(u,d){var f;const m=((f=e.fieldNames)==null?void 0:f.title)||"title",k=d[m];return k?k.toLowerCase().includes(u.toLowerCase()):!1}return(u,d)=>(e.default&&!l&&(u[d.key]=e.default,l=!0),a.createVNode(i.TreeSelect,{ref:m=>t=m,multiple:e.multiple,modelValue:u[d.key],"onUpdate:modelValue":m=>u[d.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,filterTreeNode:c,data:r.value,fieldNames:e.fieldNames,treeProps:{defaultExpandAll:e.defaultExpandAll}},null))}const g=new WeakMap;function ue(){const e=a.ref([]);return[e,l=>e.value=l]}function ce(e){let t,l=!1;const[r,n]=ue(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=async()=>{const c=g.get(e.options);switch(typeof c){case"function":g.set(e.options,n);return;case"object":n(c);return}g.set(e.options,n),s(e.options,u=>{const d=g.get(e.options);g.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>(e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Cascader,{pathMode:e.pathMode,ref:d=>t=d,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":d=>c[u.key]=d,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,options:r.value},null))}function de(e){return t=>e(t)}function se(){return{input:H,textarea:le,select:ee,treeSelect:ne,date:X,switch:te,dateRange:re,render:de,cascader:ce}}function oe(e,t){t.render||(t.render=r=>r.input());const l=t.render({...se()});return{default:()=>l(e,t)}}function ie(e,t){return a.h(i.FormItem,{field:t.key,label:t.title},oe(e,t))}function x(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const D=a.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:400},name:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},id:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},submitable:{type:Boolean,required:!1,default:!1},searchable:{type:Boolean,required:!1,default:!1},footer:{type:Boolean,required:!1,default:!1}},emits:["submit","cancel","update:model-value"],expose:["formSource","updateFormField","updateFormSource","reset","validate"],setup(e){const t=a.ref(),[l,r]=Q(e.form,e.modelValue||e.value),n=a.ref(e.columns||0),o=a.ref(!0),s=()=>o.value=!o.value;a.provide(N.id,e.id),a.provide(N.source,l);const h=a.computed(()=>{if(!n.value)return 1;const f=e.form.reduce((y,$)=>y+(($==null?void 0:$.span)||1),0);return n.value-f%n.value}),b=a.computed(()=>e.form.reduce((f,y)=>(y.rule&&(f[y.key]=y.rule),f),{}));function c(){var y;if(e.columns)return;const f=(y=t.value)==null?void 0:y.$el;f&&(n.value=Math.floor(f.offsetWidth/e.minWidth))}function u(){var y;const f=(y=t.value)==null?void 0:y.$el;f&&(f.id=e.id)}a.onMounted(()=>{c(),u()});function d(f,y){l.value[f]=y,r({...l})}function m(){var f;(f=t.value)==null||f.resetFields()}function k(){var f;return(f=t.value)==null?void 0:f.validate()}return window.addEventListener("resize",c),{formSource:l,formInstance:t,formColumns:n,formRules:b,formCollspased:o,formActiosSpan:h,toggleFormCollapsed:s,updateFormField:d,updateFormSource:r,reset:m,validate:k}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},t=()=>{const r=[],n=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(o=>!!o.collapsed)&&r.push(a.createVNode(i.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(B,null,null):a.createVNode(K,null,null)})),this.$slots.actions&&r.push(...this.$slots.actions()),r.length)return a.createVNode(i.GridItem,n,{default:()=>[a.createVNode(i.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[a.createVNode(i.Space,null,x(r)?r:{default:()=>[r]})]})]})},l=this.form.filter(r=>this.formCollspased?!r.collapsed:!0).filter(r=>{switch(!0){case typeof r.visiable=="boolean":return r.visiable;case typeof r.visiable=="function":return r.visiable(this.formSource);default:return!0}});return a.createVNode("div",{class:"form-render"},[a.createVNode(i.Form,a.mergeProps({name:this.name},{labelAlign:"left",layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e,"auto-label-width":!0,ref:r=>this.formInstance=r,model:this.formSource}),{default:()=>[a.createVNode(i.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(r=>{let n;return a.createVNode(i.GridItem,{span:r.span},x(n=ie(this.formSource,r))?n:{default:()=>[n]})}),t()]})]})])}});function fe(e){return e}function me(e){const t=a.getCurrentInstance(),l=a.ref();function r(){var o,s;const n=(s=(o=t==null?void 0:t.proxy)==null?void 0:o.$refs)==null?void 0:s[e];n&&(l.value=n)}return a.onMounted(r),a.onUpdated(r),l}const he={install(e,t){e.component("FormRender",D)}};exports.FormRenderResolver=_.FormRenderResolver;exports.FormRender=D;exports.default=he;exports.defineForm=fe;exports.useForm=me;
@@ -311,6 +311,7 @@ export declare const FormRender: import("vue").DefineComponent<{
311
311
  updateFormField: (key: string, value: any) => void;
312
312
  updateFormSource: (value: import("../interfaces").DataRecord) => void;
313
313
  reset: () => void;
314
+ validate: () => Promise<Record<string, import("@arco-design/web-vue").ValidatedError> | undefined> | undefined;
314
315
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("submit" | "cancel" | "update:model-value")[], "submit" | "cancel" | "update:model-value", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
315
316
  form: {
316
317
  type: PropType<FormItemsOptions<any>>;
package/dist/es/index.mjs CHANGED
@@ -1,21 +1,21 @@
1
- import { getCurrentInstance as P, inject as Y, defineComponent as O, computed as b, openBlock as T, createElementBlock as L, normalizeClass as z, normalizeStyle as R, createElementVNode as p, ref as k, createVNode as i, watch as G, nextTick as K, isRef as V, isVNode as E, h as Q, provide as D, onMounted as U, mergeProps as X, createTextVNode as C, onUpdated as H } from "vue";
2
- import { DatePicker as J, YearPicker as Z, QuarterPicker as ee, MonthPicker as te, WeekPicker as le, Input as re, InputNumber as ae, Select as ne, Option as ue, Switch as ce, RangePicker as de, Textarea as se, TreeSelect as ie, Cascader as fe, FormItem as q, Form as oe, Grid as me, GridItem as j, Button as S, Space as he } from "@arco-design/web-vue";
3
- import _ from "dayjs";
4
- import { FormRenderResolver as rt } from "./resolver.mjs";
5
- const ye = Symbol("ArcoConfigProvider"), ke = "arco", be = "$arco", W = (e) => {
1
+ import { getCurrentInstance as T, inject as G, defineComponent as V, computed as v, openBlock as L, createElementBlock as z, normalizeClass as R, normalizeStyle as p, createElementVNode as E, ref as k, createVNode as i, watch as K, nextTick as Q, isRef as I, isVNode as U, h as X, provide as j, onMounted as q, mergeProps as H, createTextVNode as w, onUpdated as J } from "vue";
2
+ import { DatePicker as Z, YearPicker as ee, QuarterPicker as te, MonthPicker as le, WeekPicker as re, Input as ae, InputNumber as ne, Select as ue, Option as ce, Switch as de, RangePicker as se, Textarea as ie, TreeSelect as fe, Cascader as oe, FormItem as W, Form as me, Grid as he, GridItem as _, Button as S, Space as ye } from "@arco-design/web-vue";
3
+ import N from "dayjs";
4
+ import { FormRenderResolver as at } from "./resolver.mjs";
5
+ const ke = Symbol("ArcoConfigProvider"), be = "arco", ve = "$arco", A = (e) => {
6
6
  var t, r, l;
7
- const a = P(), s = Y(ye, void 0), d = (l = (r = s == null ? void 0 : s.prefixCls) != null ? r : (t = a == null ? void 0 : a.appContext.config.globalProperties[be]) == null ? void 0 : t.classPrefix) != null ? l : ke;
7
+ const a = T(), s = G(ke, void 0), d = (l = (r = s == null ? void 0 : s.prefixCls) != null ? r : (t = a == null ? void 0 : a.appContext.config.globalProperties[ve]) == null ? void 0 : t.classPrefix) != null ? l : be;
8
8
  return e ? `${d}-${e}` : d;
9
9
  }, Se = Object.prototype.toString;
10
- function A(e) {
10
+ function B(e) {
11
11
  return Se.call(e) === "[object Number]" && e === e;
12
12
  }
13
- var B = (e, t) => {
13
+ var Y = (e, t) => {
14
14
  for (const [r, l] of t)
15
15
  e[r] = l;
16
16
  return e;
17
17
  };
18
- const ve = O({
18
+ const $e = V({
19
19
  name: "IconDown",
20
20
  props: {
21
21
  size: {
@@ -44,11 +44,11 @@ const ve = O({
44
44
  setup(e, {
45
45
  emit: t
46
46
  }) {
47
- const r = W("icon"), l = b(() => [r, `${r}-down`, {
47
+ const r = A("icon"), l = v(() => [r, `${r}-down`, {
48
48
  [`${r}-spin`]: e.spin
49
- }]), a = b(() => {
49
+ }]), a = v(() => {
50
50
  const d = {};
51
- return e.size && (d.fontSize = A(e.size) ? `${e.size}px` : e.size), e.rotate && (d.transform = `rotate(${e.rotate}deg)`), d;
51
+ return e.size && (d.fontSize = B(e.size) ? `${e.size}px` : e.size), e.rotate && (d.transform = `rotate(${e.rotate}deg)`), d;
52
52
  });
53
53
  return {
54
54
  cls: l,
@@ -58,31 +58,31 @@ const ve = O({
58
58
  }
59
59
  };
60
60
  }
61
- }), $e = ["stroke-width", "stroke-linecap", "stroke-linejoin"], ge = /* @__PURE__ */ p("path", {
61
+ }), ge = ["stroke-width", "stroke-linecap", "stroke-linejoin"], Ce = /* @__PURE__ */ E("path", {
62
62
  d: "M39.6 17.443 24.043 33 8.487 17.443"
63
- }, null, -1), Ce = [ge];
64
- function we(e, t, r, l, a, s) {
65
- return T(), L("svg", {
63
+ }, null, -1), we = [Ce];
64
+ function Fe(e, t, r, l, a, s) {
65
+ return L(), z("svg", {
66
66
  viewBox: "0 0 48 48",
67
67
  fill: "none",
68
68
  xmlns: "http://www.w3.org/2000/svg",
69
69
  stroke: "currentColor",
70
- class: z(e.cls),
71
- style: R(e.innerStyle),
70
+ class: R(e.cls),
71
+ style: p(e.innerStyle),
72
72
  "stroke-width": e.strokeWidth,
73
73
  "stroke-linecap": e.strokeLinecap,
74
74
  "stroke-linejoin": e.strokeLinejoin,
75
75
  onClick: t[0] || (t[0] = (...d) => e.onClick && e.onClick(...d))
76
- }, Ce, 14, $e);
76
+ }, we, 14, ge);
77
77
  }
78
- var F = /* @__PURE__ */ B(ve, [["render", we]]);
79
- const Fe = Object.assign(F, {
78
+ var x = /* @__PURE__ */ Y($e, [["render", Fe]]);
79
+ const xe = Object.assign(x, {
80
80
  install: (e, t) => {
81
81
  var r;
82
82
  const l = (r = t == null ? void 0 : t.iconPrefix) != null ? r : "";
83
- e.component(l + F.name, F);
83
+ e.component(l + x.name, x);
84
84
  }
85
- }), xe = O({
85
+ }), Oe = V({
86
86
  name: "IconUp",
87
87
  props: {
88
88
  size: {
@@ -111,11 +111,11 @@ const Fe = Object.assign(F, {
111
111
  setup(e, {
112
112
  emit: t
113
113
  }) {
114
- const r = W("icon"), l = b(() => [r, `${r}-up`, {
114
+ const r = A("icon"), l = v(() => [r, `${r}-up`, {
115
115
  [`${r}-spin`]: e.spin
116
- }]), a = b(() => {
116
+ }]), a = v(() => {
117
117
  const d = {};
118
- return e.size && (d.fontSize = A(e.size) ? `${e.size}px` : e.size), e.rotate && (d.transform = `rotate(${e.rotate}deg)`), d;
118
+ return e.size && (d.fontSize = B(e.size) ? `${e.size}px` : e.size), e.rotate && (d.transform = `rotate(${e.rotate}deg)`), d;
119
119
  });
120
120
  return {
121
121
  cls: l,
@@ -125,35 +125,35 @@ const Fe = Object.assign(F, {
125
125
  }
126
126
  };
127
127
  }
128
- }), Oe = ["stroke-width", "stroke-linecap", "stroke-linejoin"], Ve = /* @__PURE__ */ p("path", {
128
+ }), Ve = ["stroke-width", "stroke-linecap", "stroke-linejoin"], Ie = /* @__PURE__ */ E("path", {
129
129
  d: "M39.6 30.557 24.043 15 8.487 30.557"
130
- }, null, -1), Ie = [Ve];
131
- function De(e, t, r, l, a, s) {
132
- return T(), L("svg", {
130
+ }, null, -1), De = [Ie];
131
+ function je(e, t, r, l, a, s) {
132
+ return L(), z("svg", {
133
133
  viewBox: "0 0 48 48",
134
134
  fill: "none",
135
135
  xmlns: "http://www.w3.org/2000/svg",
136
136
  stroke: "currentColor",
137
- class: z(e.cls),
138
- style: R(e.innerStyle),
137
+ class: R(e.cls),
138
+ style: p(e.innerStyle),
139
139
  "stroke-width": e.strokeWidth,
140
140
  "stroke-linecap": e.strokeLinecap,
141
141
  "stroke-linejoin": e.strokeLinejoin,
142
142
  onClick: t[0] || (t[0] = (...d) => e.onClick && e.onClick(...d))
143
- }, Ie, 14, Oe);
143
+ }, De, 14, Ve);
144
144
  }
145
- var x = /* @__PURE__ */ B(xe, [["render", De]]);
146
- const je = Object.assign(x, {
145
+ var O = /* @__PURE__ */ Y(Oe, [["render", je]]);
146
+ const _e = Object.assign(O, {
147
147
  install: (e, t) => {
148
148
  var r;
149
149
  const l = (r = t == null ? void 0 : t.iconPrefix) != null ? r : "";
150
- e.component(l + x.name, x);
150
+ e.component(l + O.name, O);
151
151
  }
152
- }), N = {
152
+ }), M = {
153
153
  id: Symbol("ID"),
154
154
  source: Symbol("Source")
155
155
  };
156
- function _e(e, t) {
156
+ function Ne(e, t) {
157
157
  const r = k({});
158
158
  return e == null || e.forEach((a) => {
159
159
  let s = null;
@@ -162,14 +162,14 @@ function _e(e, t) {
162
162
  r.value = a;
163
163
  }];
164
164
  }
165
- function Ne(e) {
165
+ function Me(e) {
166
166
  function t(r, l) {
167
167
  return e != null && e.disabledDate ? e.disabledDate(r, l) : !1;
168
168
  }
169
169
  return (r, l) => {
170
170
  switch (e == null ? void 0 : e.type) {
171
171
  case "week":
172
- return i(le, {
172
+ return i(re, {
173
173
  modelValue: r[l.key],
174
174
  "onUpdate:modelValue": (a) => r[l.key] = a,
175
175
  "disabled-date": t,
@@ -177,7 +177,7 @@ function Ne(e) {
177
177
  "value-format": e == null ? void 0 : e.valueFormat
178
178
  }, null);
179
179
  case "month":
180
- return i(te, {
180
+ return i(le, {
181
181
  modelValue: r[l.key],
182
182
  "onUpdate:modelValue": (a) => r[l.key] = a,
183
183
  "disabled-date": t,
@@ -185,7 +185,7 @@ function Ne(e) {
185
185
  "value-format": e == null ? void 0 : e.valueFormat
186
186
  }, null);
187
187
  case "quarter":
188
- return i(ee, {
188
+ return i(te, {
189
189
  modelValue: r[l.key],
190
190
  "onUpdate:modelValue": (a) => r[l.key] = a,
191
191
  "disabled-date": t,
@@ -193,7 +193,7 @@ function Ne(e) {
193
193
  "value-format": e == null ? void 0 : e.valueFormat
194
194
  }, null);
195
195
  case "year":
196
- return i(Z, {
196
+ return i(ee, {
197
197
  modelValue: r[l.key],
198
198
  "onUpdate:modelValue": (a) => r[l.key] = a,
199
199
  "disabled-date": t,
@@ -202,7 +202,7 @@ function Ne(e) {
202
202
  }, null);
203
203
  case "date":
204
204
  default:
205
- return i(J, {
205
+ return i(Z, {
206
206
  "disabled-input": !0,
207
207
  modelValue: r[l.key],
208
208
  "onUpdate:modelValue": (a) => r[l.key] = a,
@@ -213,11 +213,11 @@ function Ne(e) {
213
213
  }
214
214
  };
215
215
  }
216
- function Me(e) {
216
+ function Pe(e) {
217
217
  return (t, r) => {
218
218
  switch (e == null ? void 0 : e.type) {
219
219
  case "number":
220
- return i(ae, {
220
+ return i(ne, {
221
221
  modelValue: t[r.key],
222
222
  "onUpdate:modelValue": (l) => t[r.key] = l,
223
223
  hideButton: !0,
@@ -227,7 +227,7 @@ function Me(e) {
227
227
  }, null);
228
228
  case "string":
229
229
  default:
230
- return i(re, {
230
+ return i(ae, {
231
231
  modelValue: t[r.key],
232
232
  "onUpdate:modelValue": (l) => t[r.key] = l,
233
233
  placeholder: e == null ? void 0 : e.placeholder,
@@ -238,21 +238,21 @@ function Me(e) {
238
238
  };
239
239
  }
240
240
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
241
- function I(e, t, r) {
242
- const l = G(e, (...a) => (K(() => l()), t(...a)), r);
241
+ function D(e, t, r) {
242
+ const l = K(e, (...a) => (Q(() => l()), t(...a)), r);
243
243
  return l;
244
244
  }
245
- function Pe(e) {
246
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !E(e);
245
+ function Te(e) {
246
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !U(e);
247
247
  }
248
- const v = /* @__PURE__ */ new WeakMap();
249
- function Te() {
248
+ const $ = /* @__PURE__ */ new WeakMap();
249
+ function Le() {
250
250
  const e = k(/* @__PURE__ */ new Map());
251
251
  return [e, (r) => e.value = r];
252
252
  }
253
- function Le(e) {
253
+ function ze(e) {
254
254
  let t, r = !1;
255
- const [l, a] = Te(), s = () => {
255
+ const [l, a] = Le(), s = () => {
256
256
  if (!e.autoSumbit || !t)
257
257
  return;
258
258
  let u = t;
@@ -263,18 +263,18 @@ function Le(e) {
263
263
  const c = u();
264
264
  c instanceof Promise ? c.then(n) : n(c);
265
265
  }, m = async () => {
266
- const u = v.get(e.options);
266
+ const u = $.get(e.options);
267
267
  switch (typeof u) {
268
268
  case "function":
269
- v.set(e.options, a);
269
+ $.set(e.options, a);
270
270
  return;
271
271
  case "object":
272
272
  a(u);
273
273
  return;
274
274
  }
275
- v.set(e.options, a), d(e.options, (n) => {
276
- const c = v.get(e.options);
277
- v.set(e.options, n), c(n);
275
+ $.set(e.options, a), d(e.options, (n) => {
276
+ const c = $.get(e.options);
277
+ $.set(e.options, n), c(n);
278
278
  });
279
279
  }, y = () => {
280
280
  d(e.options, (u) => {
@@ -286,8 +286,8 @@ function Le(e) {
286
286
  e.cache !== !1 ? m() : y();
287
287
  break;
288
288
  }
289
- case V(e.options): {
290
- I(e.options, () => {
289
+ case I(e.options): {
290
+ D(e.options, () => {
291
291
  a(e.options.value);
292
292
  }, {
293
293
  immediate: !0
@@ -299,30 +299,30 @@ function Le(e) {
299
299
  }
300
300
  return (u, n) => {
301
301
  let c;
302
- return e.default && !r && (u[n.key] = e.default, r = !0), i(ne, {
303
- ref: (f) => t = f,
302
+ return e.default && !r && (u[n.key] = e.default, r = !0), i(ue, {
303
+ ref: (o) => t = o,
304
304
  multiple: e.multiple,
305
305
  modelValue: u[n.key],
306
- "onUpdate:modelValue": (f) => u[n.key] = f,
306
+ "onUpdate:modelValue": (o) => u[n.key] = o,
307
307
  placeholder: e.placeholder,
308
308
  allowClear: e.clearable,
309
309
  allowSearch: e.searchable,
310
310
  maxTagCount: e.maxTagCount ?? 2,
311
311
  onChange: s
312
- }, Pe(c = Array.from(l.value.entries()).map(([f, o]) => i(ue, {
313
- key: f,
314
- value: f,
315
- label: o
312
+ }, Te(c = Array.from(l.value.entries()).map(([o, b]) => i(ce, {
313
+ key: o,
314
+ value: o,
315
+ label: b
316
316
  }, null))) ? c : {
317
317
  default: () => [c]
318
318
  });
319
319
  };
320
320
  }
321
- function ze(e) {
321
+ function Re(e) {
322
322
  function t() {
323
323
  e != null && e.autoSumbit;
324
324
  }
325
- return (r, l) => (e != null && e.default && (r[l.key] = e.default), i(ce, {
325
+ return (r, l) => (e != null && e.default && (r[l.key] = e.default), i(de, {
326
326
  modelValue: r[l.key],
327
327
  "onUpdate:modelValue": (a) => r[l.key] = a,
328
328
  checkedText: (e == null ? void 0 : e.openLabel) ?? "是",
@@ -332,7 +332,7 @@ function ze(e) {
332
332
  onChange: t
333
333
  }, null));
334
334
  }
335
- function Re(e) {
335
+ function pe(e) {
336
336
  return (t, r) => {
337
337
  let l = [];
338
338
  function a(m) {
@@ -340,14 +340,14 @@ function Re(e) {
340
340
  }
341
341
  function s(m) {
342
342
  if (m && m.length === 2) {
343
- const [y, u] = m.sort(), n = _(y).startOf("days"), c = _(u).endOf("days");
343
+ const [y, u] = m.sort(), n = N(y).startOf("days"), c = N(u).endOf("days");
344
344
  t[r.key] = [n.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), c.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
345
345
  }
346
346
  }
347
347
  function d(m) {
348
348
  return e != null && e.disabledDate ? e.disabledDate(l, m) : !1;
349
349
  }
350
- return i("div", null, [i(de, {
350
+ return i("div", null, [i(se, {
351
351
  "disabled-input": !0,
352
352
  style: {
353
353
  width: "300px"
@@ -364,8 +364,8 @@ function Re(e) {
364
364
  }, null)]);
365
365
  };
366
366
  }
367
- function pe(e) {
368
- return (t, r) => i(se, {
367
+ function Ee(e) {
368
+ return (t, r) => i(ie, {
369
369
  modelValue: t[r.key],
370
370
  "onUpdate:modelValue": (l) => t[r.key] = l,
371
371
  placeholder: e == null ? void 0 : e.placeholder,
@@ -373,14 +373,14 @@ function pe(e) {
373
373
  maxLength: e == null ? void 0 : e.maxLength
374
374
  }, null);
375
375
  }
376
- const $ = /* @__PURE__ */ new WeakMap();
377
- function Ee() {
376
+ const g = /* @__PURE__ */ new WeakMap();
377
+ function Ue() {
378
378
  const e = k([]);
379
379
  return [e, (r) => e.value = r];
380
380
  }
381
- function Ue(e) {
381
+ function qe(e) {
382
382
  let t, r = !1;
383
- const [l, a] = Ee(), s = () => {
383
+ const [l, a] = Ue(), s = () => {
384
384
  if (!e.autoSumbit || !t)
385
385
  return;
386
386
  let n = t;
@@ -388,21 +388,21 @@ function Ue(e) {
388
388
  n = n.$parent;
389
389
  n && n.$el && n.$el.dispatchEvent(new Event("submit"));
390
390
  }, d = (n, c) => {
391
- const f = n();
392
- f instanceof Promise ? f.then(c) : c(f);
391
+ const o = n();
392
+ o instanceof Promise ? o.then(c) : c(o);
393
393
  }, m = async () => {
394
- const n = $.get(e.options);
394
+ const n = g.get(e.options);
395
395
  switch (typeof n) {
396
396
  case "function":
397
- $.set(e.options, a);
397
+ g.set(e.options, a);
398
398
  return;
399
399
  case "object":
400
400
  a(n);
401
401
  return;
402
402
  }
403
- $.set(e.options, a), d(e.options, (c) => {
404
- const f = $.get(e.options);
405
- $.set(e.options, c), f(c);
403
+ g.set(e.options, a), d(e.options, (c) => {
404
+ const o = g.get(e.options);
405
+ g.set(e.options, c), o(c);
406
406
  });
407
407
  }, y = () => {
408
408
  d(e.options, (n) => {
@@ -414,8 +414,8 @@ function Ue(e) {
414
414
  e.cache !== !1 ? m() : y();
415
415
  break;
416
416
  }
417
- case V(e.options): {
418
- I(e.options, () => {
417
+ case I(e.options): {
418
+ D(e.options, () => {
419
419
  a(e.options.value);
420
420
  }, {
421
421
  immediate: !0
@@ -426,15 +426,15 @@ function Ue(e) {
426
426
  l.value = e.options;
427
427
  }
428
428
  function u(n, c) {
429
- var h;
430
- const f = ((h = e.fieldNames) == null ? void 0 : h.title) || "title", o = c[f];
431
- return o ? o.toLowerCase().includes(n.toLowerCase()) : !1;
429
+ var f;
430
+ const o = ((f = e.fieldNames) == null ? void 0 : f.title) || "title", b = c[o];
431
+ return b ? b.toLowerCase().includes(n.toLowerCase()) : !1;
432
432
  }
433
- return (n, c) => (e.default && !r && (n[c.key] = e.default, r = !0), i(ie, {
434
- ref: (f) => t = f,
433
+ return (n, c) => (e.default && !r && (n[c.key] = e.default, r = !0), i(fe, {
434
+ ref: (o) => t = o,
435
435
  multiple: e.multiple,
436
436
  modelValue: n[c.key],
437
- "onUpdate:modelValue": (f) => n[c.key] = f,
437
+ "onUpdate:modelValue": (o) => n[c.key] = o,
438
438
  placeholder: e.placeholder,
439
439
  allowClear: e.clearable,
440
440
  allowSearch: e.searchable,
@@ -448,14 +448,14 @@ function Ue(e) {
448
448
  }
449
449
  }, null));
450
450
  }
451
- const g = /* @__PURE__ */ new WeakMap();
452
- function qe() {
451
+ const C = /* @__PURE__ */ new WeakMap();
452
+ function We() {
453
453
  const e = k([]);
454
454
  return [e, (r) => e.value = r];
455
455
  }
456
- function We(e) {
456
+ function Ae(e) {
457
457
  let t, r = !1;
458
- const [l, a] = qe(), s = () => {
458
+ const [l, a] = We(), s = () => {
459
459
  if (!e.autoSumbit || !t)
460
460
  return;
461
461
  let u = t;
@@ -466,18 +466,18 @@ function We(e) {
466
466
  const c = u();
467
467
  c instanceof Promise ? c.then(n) : n(c);
468
468
  }, m = async () => {
469
- const u = g.get(e.options);
469
+ const u = C.get(e.options);
470
470
  switch (typeof u) {
471
471
  case "function":
472
- g.set(e.options, a);
472
+ C.set(e.options, a);
473
473
  return;
474
474
  case "object":
475
475
  a(u);
476
476
  return;
477
477
  }
478
- g.set(e.options, a), d(e.options, (n) => {
479
- const c = g.get(e.options);
480
- g.set(e.options, n), c(n);
478
+ C.set(e.options, a), d(e.options, (n) => {
479
+ const c = C.get(e.options);
480
+ C.set(e.options, n), c(n);
481
481
  });
482
482
  }, y = () => {
483
483
  d(e.options, (u) => {
@@ -489,8 +489,8 @@ function We(e) {
489
489
  e.cache !== !1 ? m() : y();
490
490
  break;
491
491
  }
492
- case V(e.options): {
493
- I(e.options, () => {
492
+ case I(e.options): {
493
+ D(e.options, () => {
494
494
  a(e.options.value);
495
495
  }, {
496
496
  immediate: !0
@@ -500,7 +500,7 @@ function We(e) {
500
500
  default:
501
501
  l.value = e.options;
502
502
  }
503
- return (u, n) => (e.default && !r && (u[n.key] = e.default, r = !0), i(fe, {
503
+ return (u, n) => (e.default && !r && (u[n.key] = e.default, r = !0), i(oe, {
504
504
  pathMode: e.pathMode,
505
505
  ref: (c) => t = c,
506
506
  multiple: e.multiple,
@@ -514,41 +514,41 @@ function We(e) {
514
514
  options: l.value
515
515
  }, null));
516
516
  }
517
- function Ae(e) {
517
+ function Be(e) {
518
518
  return (t) => e(t);
519
519
  }
520
- function Be() {
520
+ function Ye() {
521
521
  return {
522
- input: Me,
523
- textarea: pe,
524
- select: Le,
525
- treeSelect: Ue,
526
- date: Ne,
527
- switch: ze,
528
- dateRange: Re,
529
- render: Ae,
530
- cascader: We
522
+ input: Pe,
523
+ textarea: Ee,
524
+ select: ze,
525
+ treeSelect: qe,
526
+ date: Me,
527
+ switch: Re,
528
+ dateRange: pe,
529
+ render: Be,
530
+ cascader: Ae
531
531
  };
532
532
  }
533
- function Ye(e, t) {
533
+ function Ge(e, t) {
534
534
  t.render || (t.render = (l) => l.input());
535
535
  const r = t.render({
536
- ...Be()
536
+ ...Ye()
537
537
  });
538
538
  return {
539
539
  default: () => r(e, t)
540
540
  };
541
541
  }
542
- function Ge(e, t) {
543
- return Q(q, {
542
+ function Ke(e, t) {
543
+ return X(W, {
544
544
  field: t.key,
545
545
  label: t.title
546
- }, Ye(e, t));
546
+ }, Ge(e, t));
547
547
  }
548
- function M(e) {
549
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !E(e);
548
+ function P(e) {
549
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !U(e);
550
550
  }
551
- const Ke = /* @__PURE__ */ O({
551
+ const Qe = /* @__PURE__ */ V({
552
552
  props: {
553
553
  form: {
554
554
  type: Object,
@@ -603,39 +603,43 @@ const Ke = /* @__PURE__ */ O({
603
603
  }
604
604
  },
605
605
  emits: ["submit", "cancel", "update:model-value"],
606
- expose: ["formSource", "updateFormField", "updateFormSource", "reset"],
606
+ expose: ["formSource", "updateFormField", "updateFormSource", "reset", "validate"],
607
607
  setup(e) {
608
- const t = k(), [r, l] = _e(e.form, e.modelValue || e.value), a = k(e.columns || 0), s = k(!0), d = () => s.value = !s.value;
609
- D(N.id, e.id), D(N.source, r);
610
- const m = b(() => {
608
+ const t = k(), [r, l] = Ne(e.form, e.modelValue || e.value), a = k(e.columns || 0), s = k(!0), d = () => s.value = !s.value;
609
+ j(M.id, e.id), j(M.source, r);
610
+ const m = v(() => {
611
611
  if (!a.value)
612
612
  return 1;
613
- const o = e.form.reduce((h, w) => h + ((w == null ? void 0 : w.span) || 1), 0);
614
- return a.value - o % a.value;
615
- }), y = b(() => e.form.reduce((o, h) => (h.rule && (o[h.key] = h.rule), o), {}));
613
+ const f = e.form.reduce((h, F) => h + ((F == null ? void 0 : F.span) || 1), 0);
614
+ return a.value - f % a.value;
615
+ }), y = v(() => e.form.reduce((f, h) => (h.rule && (f[h.key] = h.rule), f), {}));
616
616
  function u() {
617
617
  var h;
618
618
  if (e.columns)
619
619
  return;
620
- const o = (h = t.value) == null ? void 0 : h.$el;
621
- o && (a.value = Math.floor(o.offsetWidth / e.minWidth));
620
+ const f = (h = t.value) == null ? void 0 : h.$el;
621
+ f && (a.value = Math.floor(f.offsetWidth / e.minWidth));
622
622
  }
623
623
  function n() {
624
624
  var h;
625
- const o = (h = t.value) == null ? void 0 : h.$el;
626
- o && (o.id = e.id);
625
+ const f = (h = t.value) == null ? void 0 : h.$el;
626
+ f && (f.id = e.id);
627
627
  }
628
- U(() => {
628
+ q(() => {
629
629
  u(), n();
630
630
  });
631
- function c(o, h) {
632
- r.value[o] = h, l({
631
+ function c(f, h) {
632
+ r.value[f] = h, l({
633
633
  ...r
634
634
  });
635
635
  }
636
- function f() {
637
- var o;
638
- (o = t.value) == null || o.resetFields();
636
+ function o() {
637
+ var f;
638
+ (f = t.value) == null || f.resetFields();
639
+ }
640
+ function b() {
641
+ var f;
642
+ return (f = t.value) == null ? void 0 : f.validate();
639
643
  }
640
644
  return window.addEventListener("resize", u), {
641
645
  formSource: r,
@@ -647,7 +651,8 @@ const Ke = /* @__PURE__ */ O({
647
651
  toggleFormCollapsed: d,
648
652
  updateFormField: c,
649
653
  updateFormSource: l,
650
- reset: f
654
+ reset: o,
655
+ validate: b
651
656
  };
652
657
  },
653
658
  render() {
@@ -663,7 +668,7 @@ const Ke = /* @__PURE__ */ O({
663
668
  type: "primary",
664
669
  htmlType: "submit"
665
670
  }, {
666
- default: () => [C("搜索")]
671
+ default: () => [w("搜索")]
667
672
  })), l.push(i(S, {
668
673
  type: "secondary",
669
674
  onClick: () => {
@@ -671,29 +676,29 @@ const Ke = /* @__PURE__ */ O({
671
676
  return (s = this.formInstance) == null ? void 0 : s.resetFields();
672
677
  }
673
678
  }, {
674
- default: () => [C("重置")]
679
+ default: () => [w("重置")]
675
680
  }))), this.submitable && (l.push(i(S, {
676
681
  type: "primary",
677
682
  htmlType: "submit"
678
683
  }, {
679
- default: () => [C("提交")]
684
+ default: () => [w("提交")]
680
685
  })), l.push(i(S, {
681
686
  type: "secondary",
682
687
  onClick: () => this.$emit("cancel")
683
688
  }, {
684
- default: () => [C("取消")]
689
+ default: () => [w("取消")]
685
690
  }))), this.form.some((s) => !!s.collapsed) && l.push(i(S, {
686
691
  onClick: this.toggleFormCollapsed
687
692
  }, {
688
693
  default: () => this.formCollspased ? "展开" : "收起",
689
- icon: () => this.formCollspased ? i(Fe, null, null) : i(je, null, null)
694
+ icon: () => this.formCollspased ? i(xe, null, null) : i(_e, null, null)
690
695
  })), this.$slots.actions && l.push(...this.$slots.actions()), l.length)
691
- return i(j, a, {
692
- default: () => [i(q, {
696
+ return i(_, a, {
697
+ default: () => [i(W, {
693
698
  hideLabel: !0,
694
699
  contentClass: this.footer ? "form-footer" : ""
695
700
  }, {
696
- default: () => [i(he, null, M(l) ? l : {
701
+ default: () => [i(ye, null, P(l) ? l : {
697
702
  default: () => [l]
698
703
  })]
699
704
  })]
@@ -710,7 +715,7 @@ const Ke = /* @__PURE__ */ O({
710
715
  });
711
716
  return i("div", {
712
717
  class: "form-render"
713
- }, [i(oe, X({
718
+ }, [i(me, H({
714
719
  name: this.name
715
720
  }, {
716
721
  labelAlign: "left",
@@ -721,16 +726,16 @@ const Ke = /* @__PURE__ */ O({
721
726
  ref: (l) => this.formInstance = l,
722
727
  model: this.formSource
723
728
  }), {
724
- default: () => [i(me, {
729
+ default: () => [i(he, {
725
730
  cols: this.formColumns,
726
731
  "col-gap": 24,
727
732
  "rol-gap": 10
728
733
  }, {
729
734
  default: () => [r.filter(() => this.formColumns !== 0).map((l) => {
730
735
  let a;
731
- return i(j, {
736
+ return i(_, {
732
737
  span: l.span
733
- }, M(a = Ge(this.formSource, l)) ? a : {
738
+ }, P(a = Ke(this.formSource, l)) ? a : {
734
739
  default: () => [a]
735
740
  });
736
741
  }), t()]
@@ -738,27 +743,27 @@ const Ke = /* @__PURE__ */ O({
738
743
  })]);
739
744
  }
740
745
  });
741
- function Je(e) {
746
+ function Ze(e) {
742
747
  return e;
743
748
  }
744
- function Ze(e) {
745
- const t = P(), r = k();
749
+ function et(e) {
750
+ const t = T(), r = k();
746
751
  function l() {
747
752
  var s, d;
748
753
  const a = (d = (s = t == null ? void 0 : t.proxy) == null ? void 0 : s.$refs) == null ? void 0 : d[e];
749
754
  a && (r.value = a);
750
755
  }
751
- return U(l), H(l), r;
756
+ return q(l), J(l), r;
752
757
  }
753
- const et = {
758
+ const tt = {
754
759
  install(e, t) {
755
- e.component("FormRender", Ke);
760
+ e.component("FormRender", Qe);
756
761
  }
757
762
  };
758
763
  export {
759
- Ke as FormRender,
760
- rt as FormRenderResolver,
761
- et as default,
762
- Je as defineForm,
763
- Ze as useForm
764
+ Qe as FormRender,
765
+ at as FormRenderResolver,
766
+ tt as default,
767
+ Ze as defineForm,
768
+ et as useForm
764
769
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/form-render",
3
3
  "type": "module",
4
- "version": "0.0.36",
4
+ "version": "0.0.37",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"