@gopowerteam/form-render 0.0.25 → 0.0.27

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),f=require("@arco-design/web-vue"),g=require("dayjs"),_=require("./resolver.cjs");const j=Symbol("ArcoConfigProvider"),D="arco",O="$arco",N=e=>{var r,l,t;const n=a.getCurrentInstance(),d=a.inject(j,void 0),u=(t=(l=d==null?void 0:d.prefixCls)!=null?l:(r=n==null?void 0:n.appContext.config.globalProperties[O])==null?void 0:r.classPrefix)!=null?t:D;return e?`${u}-${e}`:u},M=Object.prototype.toString;function w(e){return M.call(e)==="[object Number]"&&e===e}var x=(e,r)=>{for(const[l,t]of r)e[l]=t;return e};const z=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:r}){const l=N("icon"),t=a.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const u={};return e.size&&(u.fontSize=w(e.size)?`${e.size}px`:e.size),e.rotate&&(u.transform=`rotate(${e.rotate}deg)`),u});return{cls:t,innerStyle:n,onClick:u=>{r("click",u)}}}}),T=["stroke-width","stroke-linecap","stroke-linejoin"],L=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),P=[L];function R(e,r,l,t,n,d){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:r[0]||(r[0]=(...u)=>e.onClick&&e.onClick(...u))},P,14,T)}var S=x(z,[["render",R]]);const U=Object.assign(S,{install:(e,r)=>{var l;const t=(l=r==null?void 0:r.iconPrefix)!=null?l:"";e.component(t+S.name,S)}}),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:r}){const l=N("icon"),t=a.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const u={};return e.size&&(u.fontSize=w(e.size)?`${e.size}px`:e.size),e.rotate&&(u.transform=`rotate(${e.rotate}deg)`),u});return{cls:t,innerStyle:n,onClick:u=>{r("click",u)}}}}),q=["stroke-width","stroke-linecap","stroke-linejoin"],E=a.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),A=[E];function Y(e,r,l,t,n,d){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:r[0]||(r[0]=(...u)=>e.onClick&&e.onClick(...u))},A,14,q)}var V=x(B,[["render",Y]]);const W=Object.assign(V,{install:(e,r)=>{var l;const t=(l=r==null?void 0:r.iconPrefix)!=null?l:"";e.component(t+V.name,V)}}),$={id:Symbol("ID"),source:Symbol("Source")};function G(e,r){const l=a.ref({});return e==null||e.forEach(n=>{let d=null;n.default&&(d=(typeof n.default=="function"?n.default():n.default)||null),r&&r[n.key]!==void 0&&(d=r[n.key]),l.value[n.key]=d}),[l,n=>{l.value=n}]}function K(e){function r(l,t){return e!=null&&e.disabledDate?e.disabledDate(l,t):!1}return(l,t)=>{switch(e==null?void 0:e.type){case"week":return a.createVNode(f.WeekPicker,{modelValue:l[t.key],"onUpdate:modelValue":n=>l[t.key]=n,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return a.createVNode(f.MonthPicker,{modelValue:l[t.key],"onUpdate:modelValue":n=>l[t.key]=n,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return a.createVNode(f.QuarterPicker,{modelValue:l[t.key],"onUpdate:modelValue":n=>l[t.key]=n,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return a.createVNode(f.YearPicker,{modelValue:l[t.key],"onUpdate:modelValue":n=>l[t.key]=n,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return a.createVNode(f.DatePicker,{modelValue:l[t.key],"onUpdate:modelValue":n=>l[t.key]=n,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function Q(e){return(r,l)=>{switch(e==null?void 0:e.type){case"number":return a.createVNode(f.InputNumber,{modelValue:r[l.key],"onUpdate:modelValue":t=>r[l.key]=t,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(f.Input,{modelValue:r[l.key],"onUpdate:modelValue":t=>r[l.key]=t,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}function X(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const k=new Map;function H(e){let r,l=!1;const t=a.ref(new Map),n=()=>{if(!e.autoSumbit||!r)return;let u=r;for(;u&&u.$el.tagName!=="FORM";)u=u.$parent;u&&u.$el&&u.$el.dispatchEvent(new Event("submit"))},d=async()=>{const u=await e.options();if(e.cache!==!1&&k.has(e.options)){const c=k.get(e.options);typeof c=="function"&&c(u),k.delete(e.options)}else t.value=u};switch(!0){case e.options instanceof Function:{if(e.cache!==!1&&k.has(e.options))break;d(),e.cache!==!1&&k.set(e.options,u=>{t.value=u});break}default:t.value=e.options}return(u,c)=>{let s;return e.default&&!l&&(u[c.key]=e.default,l=!0),a.createVNode(f.Select,{ref:i=>r=i,multiple:e.multiple,modelValue:u[c.key],"onUpdate:modelValue":i=>u[c.key]=i,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:n},X(s=Array.from(t.value.entries()).map(([i,h])=>a.createVNode(f.Option,{key:i,value:i,label:h},null)))?s:{default:()=>[s]})}}function J(e){function r(){e!=null&&e.autoSumbit}return(l,t)=>(e!=null&&e.default&&(l[t.key]=e.default),a.createVNode(f.Switch,{modelValue:l[t.key],"onUpdate:modelValue":n=>l[t.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:r},null))}function Z(e){return(r,l)=>{let t=[];function n(c){t=c}function d(c){if(c&&c.length===2){const[s,i]=c.sort(),h=g(s).startOf("days"),y=g(i).endOf("days");r[l.key]=[h.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),y.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function u(c){return e!=null&&e.disabledDate?e.disabledDate(t,c):!1}return a.createVNode("div",null,[a.createVNode(f.RangePicker,{style:{width:"300px"},modelValue:r[l.key],"onUpdate:modelValue":c=>r[l.key]=c,onSelect:n,onChange:d,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":u,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function p(e){return(r,l)=>a.createVNode(f.Textarea,{modelValue:r[l.key],"onUpdate:modelValue":t=>r[l.key]=t,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const b=new Map;function ee(e){let r,l=!1;const t=a.ref([]),n=()=>{if(!e.autoSumbit||!r)return;let c=r;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},d=async()=>{const c=await e.options();if(e.cache!==!1&&b.has(e.options)){const s=b.get(e.options);typeof s=="function"&&s(c)}else t.value=c};switch(!0){case e.options instanceof Function:{if(e.cache!==!1&&b.has(e.options))break;d(),e.cache!==!1&&b.set(e.options,c=>{t.value=c});break}default:t.value=e.options}function u(c,s){var y;const i=((y=e.fieldNames)==null?void 0:y.title)||"title",h=s[i];return h?h.toLowerCase().includes(c.toLowerCase()):!1}return(c,s)=>(e.default&&!l&&(c[s.key]=e.default,l=!0),a.createVNode(f.TreeSelect,{ref:i=>r=i,multiple:e.multiple,modelValue:c[s.key],"onUpdate:modelValue":i=>c[s.key]=i,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:n,filterTreeNode:u,data:t.value,fieldNames:e.fieldNames},null))}function te(e){return r=>e(r)}function re(){return{input:Q,textarea:p,select:H,treeSelect:ee,date:K,switch:J,dateRange:Z,render:te}}function le(e,r){r.render||(r.render=t=>t.input());const l=r.render({...re()});return{default:()=>l(e,r)}}function ae(e,r){return a.h(f.FormItem,{field:r.key,label:r.title},le(e,r))}function C(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const F=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:320},name:{type:String,required:!1,default:"form"},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 r=Math.random().toString(32).slice(2).toUpperCase(),l=a.ref(),[t,n]=G(e.form,e.modelValue||e.value),d=a.ref(e.columns||0),u=a.ref(!0),c=()=>u.value=!u.value;a.provide($.id,r),a.provide($.source,t);const s=a.computed(()=>{if(!d.value)return 1;const o=e.form.reduce((m,v)=>m+((v==null?void 0:v.span)||1),0);return d.value-o%d.value}),i=a.computed(()=>e.form.reduce((o,m)=>(m.rule&&(o[m.key]=m.rule),o),{}));function h(){var m;if(e.columns)return;const o=(m=l.value)==null?void 0:m.$el;o&&(d.value=Math.floor(o.offsetWidth/e.minWidth))}a.onMounted(()=>{h()});function y(o,m){t.value[o]=m,n({...t})}function I(){var o;(o=l.value)==null||o.resetFields()}return window.addEventListener("resize",h),{formId:r,formSource:t,formInstance:l,formColumns:d,formRules:i,formCollspased:u,formActiosSpan:s,toggleFormCollapsed:c,updateFormField:y,updateFormSource:n,reset:I}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},r=()=>{const t=[],n=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(t.push(a.createVNode(f.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),t.push(a.createVNode(f.Button,{type:"secondary",onClick:()=>{var d;return(d=this.formInstance)==null?void 0:d.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(t.push(a.createVNode(f.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),t.push(a.createVNode(f.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(d=>!!d.collapsed)&&t.push(a.createVNode(f.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(U,null,null):a.createVNode(W,null,null)})),this.$slots.actions&&t.push(...this.$slots.actions()),t.length)return a.createVNode(f.GridItem,n,{default:()=>[a.createVNode(f.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[a.createVNode(f.Space,null,C(t)?t:{default:()=>[t]})]})]})},l=this.form.filter(t=>this.formCollspased?!t.collapsed:!0).filter(t=>{switch(!0){case typeof t.visiable=="boolean":return t.visiable;case typeof t.visiable=="function":return t.visiable(this.formSource);default:return!0}});return a.createVNode("div",{class:"form-render"},[a.createVNode(f.Form,a.mergeProps({layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e},{name:this.name},{"auto-label-width":!0,ref:t=>this.formInstance=t,model:this.formSource}),{default:()=>[a.createVNode(f.Grid,{cols:this.formColumns,"col-gap":10,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(t=>{let n;return a.createVNode(f.GridItem,{span:t.span},C(n=ae(this.formSource,t))?n:{default:()=>[n]})}),r()]})]})])}});function ne(e){return e}function ue(e){const r=a.getCurrentInstance(),l=a.ref();function t(){var d,u;const n=(u=(d=r==null?void 0:r.proxy)==null?void 0:d.$refs)==null?void 0:u[e];n&&(l.value=n)}return a.onMounted(t),a.onUpdated(t),l}const ce={install(e,r){e.component("FormRender",F)}};exports.FormRenderResolver=_.FormRenderResolver;exports.FormRender=F;exports.default=ce;exports.defineForm=ne;exports.useForm=ue;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),f=require("@arco-design/web-vue"),g=require("dayjs"),_=require("./resolver.cjs");const j=Symbol("ArcoConfigProvider"),D="arco",O="$arco",N=e=>{var r,l,t;const u=a.getCurrentInstance(),d=a.inject(j,void 0),c=(t=(l=d==null?void 0:d.prefixCls)!=null?l:(r=u==null?void 0:u.appContext.config.globalProperties[O])==null?void 0:r.classPrefix)!=null?t:D;return e?`${c}-${e}`:c},M=Object.prototype.toString;function w(e){return M.call(e)==="[object Number]"&&e===e}var x=(e,r)=>{for(const[l,t]of r)e[l]=t;return e};const z=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:r}){const l=N("icon"),t=a.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),u=a.computed(()=>{const c={};return e.size&&(c.fontSize=w(e.size)?`${e.size}px`:e.size),e.rotate&&(c.transform=`rotate(${e.rotate}deg)`),c});return{cls:t,innerStyle:u,onClick:c=>{r("click",c)}}}}),T=["stroke-width","stroke-linecap","stroke-linejoin"],L=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),P=[L];function R(e,r,l,t,u,d){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:r[0]||(r[0]=(...c)=>e.onClick&&e.onClick(...c))},P,14,T)}var S=x(z,[["render",R]]);const U=Object.assign(S,{install:(e,r)=>{var l;const t=(l=r==null?void 0:r.iconPrefix)!=null?l:"";e.component(t+S.name,S)}}),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:r}){const l=N("icon"),t=a.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),u=a.computed(()=>{const c={};return e.size&&(c.fontSize=w(e.size)?`${e.size}px`:e.size),e.rotate&&(c.transform=`rotate(${e.rotate}deg)`),c});return{cls:t,innerStyle:u,onClick:c=>{r("click",c)}}}}),q=["stroke-width","stroke-linecap","stroke-linejoin"],E=a.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),A=[E];function W(e,r,l,t,u,d){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:r[0]||(r[0]=(...c)=>e.onClick&&e.onClick(...c))},A,14,q)}var V=x(B,[["render",W]]);const Y=Object.assign(V,{install:(e,r)=>{var l;const t=(l=r==null?void 0:r.iconPrefix)!=null?l:"";e.component(t+V.name,V)}}),$={id:Symbol("ID"),source:Symbol("Source")};function G(e,r){const l=a.ref({});return e==null||e.forEach(u=>{let d=null;u.default&&(d=(typeof u.default=="function"?u.default():u.default)||null),r&&r[u.key]!==void 0&&(d=r[u.key]),l.value[u.key]=d}),[l,u=>{l.value=u}]}function K(e){function r(l,t){return e!=null&&e.disabledDate?e.disabledDate(l,t):!1}return(l,t)=>{switch(e==null?void 0:e.type){case"week":return a.createVNode(f.WeekPicker,{modelValue:l[t.key],"onUpdate:modelValue":u=>l[t.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return a.createVNode(f.MonthPicker,{modelValue:l[t.key],"onUpdate:modelValue":u=>l[t.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return a.createVNode(f.QuarterPicker,{modelValue:l[t.key],"onUpdate:modelValue":u=>l[t.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return a.createVNode(f.YearPicker,{modelValue:l[t.key],"onUpdate:modelValue":u=>l[t.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return a.createVNode(f.DatePicker,{modelValue:l[t.key],"onUpdate:modelValue":u=>l[t.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function Q(e){return(r,l)=>{switch(e==null?void 0:e.type){case"number":return a.createVNode(f.InputNumber,{modelValue:r[l.key],"onUpdate:modelValue":t=>r[l.key]=t,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(f.Input,{modelValue:r[l.key],"onUpdate:modelValue":t=>r[l.key]=t,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}function X(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const k=new WeakMap;function H(e){let r,l=!1;const t=a.ref(new Map),u=n=>t.value=n,d=()=>{if(!e.autoSumbit||!r)return;let n=r;for(;n&&n.$el.tagName!=="FORM";)n=n.$parent;n&&n.$el&&n.$el.dispatchEvent(new Event("submit"))},c=async()=>{const n=await e.options();if(e.cache===!1&&(t.value=n),e.cache!==!1&&k.has(e.options)){const s=k.get(e.options);typeof s=="function"&&s(n),k.set(e.options,n)}else t.value=n};switch(!0){case e.options instanceof Function:{const n=k.get(e.options);if(e.cache!==!1&&typeof n=="function")break;if(e.cache!==!1&&n instanceof Map){u(n);break}c(),e.cache!==!1&&k.set(e.options,s=>{t.value=s});break}default:t.value=e.options}return(n,s)=>{let o;return e.default&&!l&&(n[s.key]=e.default,l=!0),a.createVNode(f.Select,{ref:i=>r=i,multiple:e.multiple,modelValue:n[s.key],"onUpdate:modelValue":i=>n[s.key]=i,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:d},X(o=Array.from(t.value.entries()).map(([i,y])=>a.createVNode(f.Option,{key:i,value:i,label:y},null)))?o:{default:()=>[o]})}}function J(e){function r(){e!=null&&e.autoSumbit}return(l,t)=>(e!=null&&e.default&&(l[t.key]=e.default),a.createVNode(f.Switch,{modelValue:l[t.key],"onUpdate:modelValue":u=>l[t.key]=u,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:r},null))}function Z(e){return(r,l)=>{let t=[];function u(n){t=n}function d(n){if(n&&n.length===2){const[s,o]=n.sort(),i=g(s).startOf("days"),y=g(o).endOf("days");r[l.key]=[i.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),y.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function c(n){return e!=null&&e.disabledDate?e.disabledDate(t,n):!1}return a.createVNode("div",null,[a.createVNode(f.RangePicker,{style:{width:"300px"},modelValue:r[l.key],"onUpdate:modelValue":n=>r[l.key]=n,onSelect:u,onChange:d,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":c,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function p(e){return(r,l)=>a.createVNode(f.Textarea,{modelValue:r[l.key],"onUpdate:modelValue":t=>r[l.key]=t,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const b=new Map;function ee(e){let r,l=!1;const t=a.ref([]),u=()=>{if(!e.autoSumbit||!r)return;let n=r;for(;n&&n.$el.tagName!=="FORM";)n=n.$parent;n&&n.$el&&n.$el.dispatchEvent(new Event("submit"))},d=async()=>{const n=await e.options();if(e.cache!==!1&&b.has(e.options)){const s=b.get(e.options);typeof s=="function"&&s(n),b.delete(e.options)}else t.value=n};switch(!0){case e.options instanceof Function:{if(e.cache!==!1&&b.has(e.options))break;d(),e.cache!==!1&&b.set(e.options,n=>{t.value=n});break}default:t.value=e.options}function c(n,s){var y;const o=((y=e.fieldNames)==null?void 0:y.title)||"title",i=s[o];return i?i.toLowerCase().includes(n.toLowerCase()):!1}return(n,s)=>(e.default&&!l&&(n[s.key]=e.default,l=!0),a.createVNode(f.TreeSelect,{ref:o=>r=o,multiple:e.multiple,modelValue:n[s.key],"onUpdate:modelValue":o=>n[s.key]=o,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:u,filterTreeNode:c,data:t.value,fieldNames:e.fieldNames},null))}function te(e){return r=>e(r)}function re(){return{input:Q,textarea:p,select:H,treeSelect:ee,date:K,switch:J,dateRange:Z,render:te}}function le(e,r){r.render||(r.render=t=>t.input());const l=r.render({...re()});return{default:()=>l(e,r)}}function ae(e,r){return a.h(f.FormItem,{field:r.key,label:r.title},le(e,r))}function C(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const F=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:320},name:{type:String,required:!1,default:"form"},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 r=Math.random().toString(32).slice(2).toUpperCase(),l=a.ref(),[t,u]=G(e.form,e.modelValue||e.value),d=a.ref(e.columns||0),c=a.ref(!0),n=()=>c.value=!c.value;a.provide($.id,r),a.provide($.source,t);const s=a.computed(()=>{if(!d.value)return 1;const m=e.form.reduce((h,v)=>h+((v==null?void 0:v.span)||1),0);return d.value-m%d.value}),o=a.computed(()=>e.form.reduce((m,h)=>(h.rule&&(m[h.key]=h.rule),m),{}));function i(){var h;if(e.columns)return;const m=(h=l.value)==null?void 0:h.$el;m&&(d.value=Math.floor(m.offsetWidth/e.minWidth))}a.onMounted(()=>{i()});function y(m,h){t.value[m]=h,u({...t})}function I(){var m;(m=l.value)==null||m.resetFields()}return window.addEventListener("resize",i),{formId:r,formSource:t,formInstance:l,formColumns:d,formRules:o,formCollspased:c,formActiosSpan:s,toggleFormCollapsed:n,updateFormField:y,updateFormSource:u,reset:I}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},r=()=>{const t=[],u=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(t.push(a.createVNode(f.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),t.push(a.createVNode(f.Button,{type:"secondary",onClick:()=>{var d;return(d=this.formInstance)==null?void 0:d.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(t.push(a.createVNode(f.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),t.push(a.createVNode(f.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(d=>!!d.collapsed)&&t.push(a.createVNode(f.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(U,null,null):a.createVNode(Y,null,null)})),this.$slots.actions&&t.push(...this.$slots.actions()),t.length)return a.createVNode(f.GridItem,u,{default:()=>[a.createVNode(f.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[a.createVNode(f.Space,null,C(t)?t:{default:()=>[t]})]})]})},l=this.form.filter(t=>this.formCollspased?!t.collapsed:!0).filter(t=>{switch(!0){case typeof t.visiable=="boolean":return t.visiable;case typeof t.visiable=="function":return t.visiable(this.formSource);default:return!0}});return a.createVNode("div",{class:"form-render"},[a.createVNode(f.Form,a.mergeProps({layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e},{name:this.name},{"auto-label-width":!0,ref:t=>this.formInstance=t,model:this.formSource}),{default:()=>[a.createVNode(f.Grid,{cols:this.formColumns,"col-gap":10,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(t=>{let u;return a.createVNode(f.GridItem,{span:t.span},C(u=ae(this.formSource,t))?u:{default:()=>[u]})}),r()]})]})])}});function ne(e){return e}function ue(e){const r=a.getCurrentInstance(),l=a.ref();function t(){var d,c;const u=(c=(d=r==null?void 0:r.proxy)==null?void 0:d.$refs)==null?void 0:c[e];u&&(l.value=u)}return a.onMounted(t),a.onUpdated(t),l}const ce={install(e,r){e.component("FormRender",F)}};exports.FormRenderResolver=_.FormRenderResolver;exports.FormRender=F;exports.default=ce;exports.defineForm=ne;exports.useForm=ue;
package/dist/es/index.mjs CHANGED
@@ -1,11 +1,11 @@
1
- import { getCurrentInstance as j, inject as A, defineComponent as x, computed as k, openBlock as N, createElementBlock as O, normalizeClass as L, normalizeStyle as U, createElementVNode as z, ref as h, createVNode as d, isVNode as M, h as Y, provide as F, onMounted as P, mergeProps as W, createTextVNode as S, onUpdated as G } from "vue";
1
+ import { getCurrentInstance as j, inject as A, defineComponent as x, computed as k, openBlock as N, createElementBlock as O, normalizeClass as L, normalizeStyle as M, createElementVNode as U, ref as y, createVNode as d, isVNode as z, h as W, provide as F, onMounted as P, mergeProps as Y, createTextVNode as $, onUpdated as G } from "vue";
2
2
  import { DatePicker as K, YearPicker as Q, QuarterPicker as X, MonthPicker as H, WeekPicker as J, Input as Z, InputNumber as p, Select as ee, Option as le, Switch as te, RangePicker as re, Textarea as ae, TreeSelect as ne, FormItem as R, Form as ue, Grid as ce, GridItem as V, Button as b, Space as de } from "@arco-design/web-vue";
3
3
  import I from "dayjs";
4
4
  import { FormRenderResolver as Ke } from "./resolver.mjs";
5
5
  const fe = Symbol("ArcoConfigProvider"), se = "arco", ie = "$arco", T = (e) => {
6
6
  var t, r, l;
7
- const a = j(), c = A(fe, void 0), n = (l = (r = c == null ? void 0 : c.prefixCls) != null ? r : (t = a == null ? void 0 : a.appContext.config.globalProperties[ie]) == null ? void 0 : t.classPrefix) != null ? l : se;
8
- return e ? `${n}-${e}` : n;
7
+ const n = j(), c = A(fe, void 0), u = (l = (r = c == null ? void 0 : c.prefixCls) != null ? r : (t = n == null ? void 0 : n.appContext.config.globalProperties[ie]) == null ? void 0 : t.classPrefix) != null ? l : se;
8
+ return e ? `${u}-${e}` : u;
9
9
  }, me = Object.prototype.toString;
10
10
  function q(e) {
11
11
  return me.call(e) === "[object Number]" && e === e;
@@ -46,33 +46,33 @@ const oe = x({
46
46
  }) {
47
47
  const r = T("icon"), l = k(() => [r, `${r}-down`, {
48
48
  [`${r}-spin`]: e.spin
49
- }]), a = k(() => {
50
- const n = {};
51
- return e.size && (n.fontSize = q(e.size) ? `${e.size}px` : e.size), e.rotate && (n.transform = `rotate(${e.rotate}deg)`), n;
49
+ }]), n = k(() => {
50
+ const u = {};
51
+ return e.size && (u.fontSize = q(e.size) ? `${e.size}px` : e.size), e.rotate && (u.transform = `rotate(${e.rotate}deg)`), u;
52
52
  });
53
53
  return {
54
54
  cls: l,
55
- innerStyle: a,
56
- onClick: (n) => {
57
- t("click", n);
55
+ innerStyle: n,
56
+ onClick: (u) => {
57
+ t("click", u);
58
58
  }
59
59
  };
60
60
  }
61
- }), he = ["stroke-width", "stroke-linecap", "stroke-linejoin"], ye = /* @__PURE__ */ z("path", {
61
+ }), he = ["stroke-width", "stroke-linecap", "stroke-linejoin"], ye = /* @__PURE__ */ U("path", {
62
62
  d: "M39.6 17.443 24.043 33 8.487 17.443"
63
63
  }, null, -1), ke = [ye];
64
- function be(e, t, r, l, a, c) {
64
+ function be(e, t, r, l, n, c) {
65
65
  return N(), O("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
70
  class: L(e.cls),
71
- style: U(e.innerStyle),
71
+ style: M(e.innerStyle),
72
72
  "stroke-width": e.strokeWidth,
73
73
  "stroke-linecap": e.strokeLinecap,
74
74
  "stroke-linejoin": e.strokeLinejoin,
75
- onClick: t[0] || (t[0] = (...n) => e.onClick && e.onClick(...n))
75
+ onClick: t[0] || (t[0] = (...u) => e.onClick && e.onClick(...u))
76
76
  }, ke, 14, he);
77
77
  }
78
78
  var C = /* @__PURE__ */ B(oe, [["render", be]]);
@@ -113,33 +113,33 @@ const ve = Object.assign(C, {
113
113
  }) {
114
114
  const r = T("icon"), l = k(() => [r, `${r}-up`, {
115
115
  [`${r}-spin`]: e.spin
116
- }]), a = k(() => {
117
- const n = {};
118
- return e.size && (n.fontSize = q(e.size) ? `${e.size}px` : e.size), e.rotate && (n.transform = `rotate(${e.rotate}deg)`), n;
116
+ }]), n = k(() => {
117
+ const u = {};
118
+ return e.size && (u.fontSize = q(e.size) ? `${e.size}px` : e.size), e.rotate && (u.transform = `rotate(${e.rotate}deg)`), u;
119
119
  });
120
120
  return {
121
121
  cls: l,
122
- innerStyle: a,
123
- onClick: (n) => {
124
- t("click", n);
122
+ innerStyle: n,
123
+ onClick: (u) => {
124
+ t("click", u);
125
125
  }
126
126
  };
127
127
  }
128
- }), $e = ["stroke-width", "stroke-linecap", "stroke-linejoin"], ge = /* @__PURE__ */ z("path", {
128
+ }), $e = ["stroke-width", "stroke-linecap", "stroke-linejoin"], ge = /* @__PURE__ */ U("path", {
129
129
  d: "M39.6 30.557 24.043 15 8.487 30.557"
130
130
  }, null, -1), Ce = [ge];
131
- function we(e, t, r, l, a, c) {
131
+ function we(e, t, r, l, n, c) {
132
132
  return N(), O("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
137
  class: L(e.cls),
138
- style: U(e.innerStyle),
138
+ style: M(e.innerStyle),
139
139
  "stroke-width": e.strokeWidth,
140
140
  "stroke-linecap": e.strokeLinecap,
141
141
  "stroke-linejoin": e.strokeLinejoin,
142
- onClick: t[0] || (t[0] = (...n) => e.onClick && e.onClick(...n))
142
+ onClick: t[0] || (t[0] = (...u) => e.onClick && e.onClick(...u))
143
143
  }, Ce, 14, $e);
144
144
  }
145
145
  var w = /* @__PURE__ */ B(Se, [["render", we]]);
@@ -154,12 +154,12 @@ const xe = Object.assign(w, {
154
154
  source: Symbol("Source")
155
155
  };
156
156
  function Fe(e, t) {
157
- const r = h({});
158
- return e == null || e.forEach((a) => {
157
+ const r = y({});
158
+ return e == null || e.forEach((n) => {
159
159
  let c = null;
160
- a.default && (c = (typeof a.default == "function" ? a.default() : a.default) || null), t && t[a.key] !== void 0 && (c = t[a.key]), r.value[a.key] = c;
161
- }), [r, (a) => {
162
- r.value = a;
160
+ n.default && (c = (typeof n.default == "function" ? n.default() : n.default) || null), t && t[n.key] !== void 0 && (c = t[n.key]), r.value[n.key] = c;
161
+ }), [r, (n) => {
162
+ r.value = n;
163
163
  }];
164
164
  }
165
165
  function Ve(e) {
@@ -171,7 +171,7 @@ function Ve(e) {
171
171
  case "week":
172
172
  return d(J, {
173
173
  modelValue: r[l.key],
174
- "onUpdate:modelValue": (a) => r[l.key] = a,
174
+ "onUpdate:modelValue": (n) => r[l.key] = n,
175
175
  "disabled-date": t,
176
176
  format: e == null ? void 0 : e.labelFormat,
177
177
  "value-format": e == null ? void 0 : e.valueFormat
@@ -179,7 +179,7 @@ function Ve(e) {
179
179
  case "month":
180
180
  return d(H, {
181
181
  modelValue: r[l.key],
182
- "onUpdate:modelValue": (a) => r[l.key] = a,
182
+ "onUpdate:modelValue": (n) => r[l.key] = n,
183
183
  "disabled-date": t,
184
184
  format: e == null ? void 0 : e.labelFormat,
185
185
  "value-format": e == null ? void 0 : e.valueFormat
@@ -187,7 +187,7 @@ function Ve(e) {
187
187
  case "quarter":
188
188
  return d(X, {
189
189
  modelValue: r[l.key],
190
- "onUpdate:modelValue": (a) => r[l.key] = a,
190
+ "onUpdate:modelValue": (n) => r[l.key] = n,
191
191
  "disabled-date": t,
192
192
  format: e == null ? void 0 : e.labelFormat,
193
193
  "value-format": e == null ? void 0 : e.valueFormat
@@ -195,7 +195,7 @@ function Ve(e) {
195
195
  case "year":
196
196
  return d(Q, {
197
197
  modelValue: r[l.key],
198
- "onUpdate:modelValue": (a) => r[l.key] = a,
198
+ "onUpdate:modelValue": (n) => r[l.key] = n,
199
199
  "disabled-date": t,
200
200
  format: e == null ? void 0 : e.labelFormat,
201
201
  "value-format": e == null ? void 0 : e.valueFormat
@@ -204,7 +204,7 @@ function Ve(e) {
204
204
  default:
205
205
  return d(K, {
206
206
  modelValue: r[l.key],
207
- "onUpdate:modelValue": (a) => r[l.key] = a,
207
+ "onUpdate:modelValue": (n) => r[l.key] = n,
208
208
  "disabled-date": t,
209
209
  format: e == null ? void 0 : e.labelFormat,
210
210
  "value-format": e == null ? void 0 : e.valueFormat
@@ -237,56 +237,61 @@ function Ie(e) {
237
237
  };
238
238
  }
239
239
  function _e(e) {
240
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !M(e);
240
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !z(e);
241
241
  }
242
- const v = /* @__PURE__ */ new Map();
242
+ const v = /* @__PURE__ */ new WeakMap();
243
243
  function De(e) {
244
244
  let t, r = !1;
245
- const l = h(/* @__PURE__ */ new Map()), a = () => {
245
+ const l = y(/* @__PURE__ */ new Map()), n = (a) => l.value = a, c = () => {
246
246
  if (!e.autoSumbit || !t)
247
247
  return;
248
- let n = t;
249
- for (; n && n.$el.tagName !== "FORM"; )
250
- n = n.$parent;
251
- n && n.$el && n.$el.dispatchEvent(new Event("submit"));
252
- }, c = async () => {
253
- const n = await e.options();
254
- if (e.cache !== !1 && v.has(e.options)) {
255
- const u = v.get(e.options);
256
- typeof u == "function" && u(n), v.delete(e.options);
248
+ let a = t;
249
+ for (; a && a.$el.tagName !== "FORM"; )
250
+ a = a.$parent;
251
+ a && a.$el && a.$el.dispatchEvent(new Event("submit"));
252
+ }, u = async () => {
253
+ const a = await e.options();
254
+ if (e.cache === !1 && (l.value = a), e.cache !== !1 && v.has(e.options)) {
255
+ const f = v.get(e.options);
256
+ typeof f == "function" && f(a), v.set(e.options, a);
257
257
  } else
258
- l.value = n;
258
+ l.value = a;
259
259
  };
260
260
  switch (!0) {
261
261
  case e.options instanceof Function: {
262
- if (e.cache !== !1 && v.has(e.options))
262
+ const a = v.get(e.options);
263
+ if (e.cache !== !1 && typeof a == "function")
264
+ break;
265
+ if (e.cache !== !1 && a instanceof Map) {
266
+ n(a);
263
267
  break;
264
- c(), e.cache !== !1 && v.set(e.options, (n) => {
265
- l.value = n;
268
+ }
269
+ u(), e.cache !== !1 && v.set(e.options, (f) => {
270
+ l.value = f;
266
271
  });
267
272
  break;
268
273
  }
269
274
  default:
270
275
  l.value = e.options;
271
276
  }
272
- return (n, u) => {
273
- let f;
274
- return e.default && !r && (n[u.key] = e.default, r = !0), d(ee, {
277
+ return (a, f) => {
278
+ let i;
279
+ return e.default && !r && (a[f.key] = e.default, r = !0), d(ee, {
275
280
  ref: (s) => t = s,
276
281
  multiple: e.multiple,
277
- modelValue: n[u.key],
278
- "onUpdate:modelValue": (s) => n[u.key] = s,
282
+ modelValue: a[f.key],
283
+ "onUpdate:modelValue": (s) => a[f.key] = s,
279
284
  placeholder: e.placeholder,
280
285
  allowClear: e.clearable,
281
286
  allowSearch: e.searchable,
282
287
  maxTagCount: e.maxTagCount ?? 2,
283
- onChange: a
284
- }, _e(f = Array.from(l.value.entries()).map(([s, o]) => d(le, {
288
+ onChange: c
289
+ }, _e(i = Array.from(l.value.entries()).map(([s, h]) => d(le, {
285
290
  key: s,
286
291
  value: s,
287
- label: o
288
- }, null))) ? f : {
289
- default: () => [f]
292
+ label: h
293
+ }, null))) ? i : {
294
+ default: () => [i]
290
295
  });
291
296
  };
292
297
  }
@@ -296,7 +301,7 @@ function je(e) {
296
301
  }
297
302
  return (r, l) => (e != null && e.default && (r[l.key] = e.default), d(te, {
298
303
  modelValue: r[l.key],
299
- "onUpdate:modelValue": (a) => r[l.key] = a,
304
+ "onUpdate:modelValue": (n) => r[l.key] = n,
300
305
  checkedText: (e == null ? void 0 : e.openLabel) ?? "是",
301
306
  uncheckedText: (e == null ? void 0 : e.closeLabel) ?? "否",
302
307
  checkedValue: (e == null ? void 0 : e.openValue) ?? !0,
@@ -307,29 +312,29 @@ function je(e) {
307
312
  function Ne(e) {
308
313
  return (t, r) => {
309
314
  let l = [];
310
- function a(u) {
311
- l = u;
315
+ function n(a) {
316
+ l = a;
312
317
  }
313
- function c(u) {
314
- if (u && u.length === 2) {
315
- const [f, s] = u.sort(), o = I(f).startOf("days"), y = I(s).endOf("days");
316
- t[r.key] = [o.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), y.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
318
+ function c(a) {
319
+ if (a && a.length === 2) {
320
+ const [f, i] = a.sort(), s = I(f).startOf("days"), h = I(i).endOf("days");
321
+ t[r.key] = [s.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), h.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
317
322
  }
318
323
  }
319
- function n(u) {
320
- return e != null && e.disabledDate ? e.disabledDate(l, u) : !1;
324
+ function u(a) {
325
+ return e != null && e.disabledDate ? e.disabledDate(l, a) : !1;
321
326
  }
322
327
  return d("div", null, [d(re, {
323
328
  style: {
324
329
  width: "300px"
325
330
  },
326
331
  modelValue: t[r.key],
327
- "onUpdate:modelValue": (u) => t[r.key] = u,
328
- onSelect: a,
332
+ "onUpdate:modelValue": (a) => t[r.key] = a,
333
+ onSelect: n,
329
334
  onChange: c,
330
335
  mode: e == null ? void 0 : e.type,
331
336
  allowClear: e == null ? void 0 : e.clearable,
332
- "disabled-date": n,
337
+ "disabled-date": u,
333
338
  format: e == null ? void 0 : e.labelFormat,
334
339
  "value-format": e == null ? void 0 : e.valueFormat
335
340
  }, null)]);
@@ -344,60 +349,60 @@ function Oe(e) {
344
349
  maxLength: e == null ? void 0 : e.maxLength
345
350
  }, null);
346
351
  }
347
- const $ = /* @__PURE__ */ new Map();
352
+ const S = /* @__PURE__ */ new Map();
348
353
  function Le(e) {
349
354
  let t, r = !1;
350
- const l = h([]), a = () => {
355
+ const l = y([]), n = () => {
351
356
  if (!e.autoSumbit || !t)
352
357
  return;
353
- let u = t;
354
- for (; u && u.$el.tagName !== "FORM"; )
355
- u = u.$parent;
356
- u && u.$el && u.$el.dispatchEvent(new Event("submit"));
358
+ let a = t;
359
+ for (; a && a.$el.tagName !== "FORM"; )
360
+ a = a.$parent;
361
+ a && a.$el && a.$el.dispatchEvent(new Event("submit"));
357
362
  }, c = async () => {
358
- const u = await e.options();
359
- if (e.cache !== !1 && $.has(e.options)) {
360
- const f = $.get(e.options);
361
- typeof f == "function" && f(u);
363
+ const a = await e.options();
364
+ if (e.cache !== !1 && S.has(e.options)) {
365
+ const f = S.get(e.options);
366
+ typeof f == "function" && f(a), S.delete(e.options);
362
367
  } else
363
- l.value = u;
368
+ l.value = a;
364
369
  };
365
370
  switch (!0) {
366
371
  case e.options instanceof Function: {
367
- if (e.cache !== !1 && $.has(e.options))
372
+ if (e.cache !== !1 && S.has(e.options))
368
373
  break;
369
- c(), e.cache !== !1 && $.set(e.options, (u) => {
370
- l.value = u;
374
+ c(), e.cache !== !1 && S.set(e.options, (a) => {
375
+ l.value = a;
371
376
  });
372
377
  break;
373
378
  }
374
379
  default:
375
380
  l.value = e.options;
376
381
  }
377
- function n(u, f) {
378
- var y;
379
- const s = ((y = e.fieldNames) == null ? void 0 : y.title) || "title", o = f[s];
380
- return o ? o.toLowerCase().includes(u.toLowerCase()) : !1;
382
+ function u(a, f) {
383
+ var h;
384
+ const i = ((h = e.fieldNames) == null ? void 0 : h.title) || "title", s = f[i];
385
+ return s ? s.toLowerCase().includes(a.toLowerCase()) : !1;
381
386
  }
382
- return (u, f) => (e.default && !r && (u[f.key] = e.default, r = !0), d(ne, {
383
- ref: (s) => t = s,
387
+ return (a, f) => (e.default && !r && (a[f.key] = e.default, r = !0), d(ne, {
388
+ ref: (i) => t = i,
384
389
  multiple: e.multiple,
385
- modelValue: u[f.key],
386
- "onUpdate:modelValue": (s) => u[f.key] = s,
390
+ modelValue: a[f.key],
391
+ "onUpdate:modelValue": (i) => a[f.key] = i,
387
392
  placeholder: e.placeholder,
388
393
  allowClear: e.clearable,
389
394
  allowSearch: e.searchable,
390
395
  maxTagCount: e.maxTagCount ?? 2,
391
- onChange: a,
392
- filterTreeNode: n,
396
+ onChange: n,
397
+ filterTreeNode: u,
393
398
  data: l.value,
394
399
  fieldNames: e.fieldNames
395
400
  }, null));
396
401
  }
397
- function Ue(e) {
402
+ function Me(e) {
398
403
  return (t) => e(t);
399
404
  }
400
- function ze() {
405
+ function Ue() {
401
406
  return {
402
407
  input: Ie,
403
408
  textarea: Oe,
@@ -406,26 +411,26 @@ function ze() {
406
411
  date: Ve,
407
412
  switch: je,
408
413
  dateRange: Ne,
409
- render: Ue
414
+ render: Me
410
415
  };
411
416
  }
412
- function Me(e, t) {
417
+ function ze(e, t) {
413
418
  t.render || (t.render = (l) => l.input());
414
419
  const r = t.render({
415
- ...ze()
420
+ ...Ue()
416
421
  });
417
422
  return {
418
423
  default: () => r(e, t)
419
424
  };
420
425
  }
421
426
  function Pe(e, t) {
422
- return Y(R, {
427
+ return W(R, {
423
428
  field: t.key,
424
429
  label: t.title
425
- }, Me(e, t));
430
+ }, ze(e, t));
426
431
  }
427
432
  function D(e) {
428
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !M(e);
433
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !z(e);
429
434
  }
430
435
  const Re = /* @__PURE__ */ x({
431
436
  props: {
@@ -479,44 +484,44 @@ const Re = /* @__PURE__ */ x({
479
484
  emits: ["submit", "cancel", "update:model-value"],
480
485
  expose: ["formSource", "updateFormField", "updateFormSource", "reset"],
481
486
  setup(e) {
482
- const t = Math.random().toString(32).slice(2).toUpperCase(), r = h(), [l, a] = Fe(e.form, e.modelValue || e.value), c = h(e.columns || 0), n = h(!0), u = () => n.value = !n.value;
487
+ const t = Math.random().toString(32).slice(2).toUpperCase(), r = y(), [l, n] = Fe(e.form, e.modelValue || e.value), c = y(e.columns || 0), u = y(!0), a = () => u.value = !u.value;
483
488
  F(_.id, t), F(_.source, l);
484
489
  const f = k(() => {
485
490
  if (!c.value)
486
491
  return 1;
487
- const i = e.form.reduce((m, g) => m + ((g == null ? void 0 : g.span) || 1), 0);
488
- return c.value - i % c.value;
489
- }), s = k(() => e.form.reduce((i, m) => (m.rule && (i[m.key] = m.rule), i), {}));
490
- function o() {
491
- var m;
492
+ const m = e.form.reduce((o, g) => o + ((g == null ? void 0 : g.span) || 1), 0);
493
+ return c.value - m % c.value;
494
+ }), i = k(() => e.form.reduce((m, o) => (o.rule && (m[o.key] = o.rule), m), {}));
495
+ function s() {
496
+ var o;
492
497
  if (e.columns)
493
498
  return;
494
- const i = (m = r.value) == null ? void 0 : m.$el;
495
- i && (c.value = Math.floor(i.offsetWidth / e.minWidth));
499
+ const m = (o = r.value) == null ? void 0 : o.$el;
500
+ m && (c.value = Math.floor(m.offsetWidth / e.minWidth));
496
501
  }
497
502
  P(() => {
498
- o();
503
+ s();
499
504
  });
500
- function y(i, m) {
501
- l.value[i] = m, a({
505
+ function h(m, o) {
506
+ l.value[m] = o, n({
502
507
  ...l
503
508
  });
504
509
  }
505
510
  function E() {
506
- var i;
507
- (i = r.value) == null || i.resetFields();
511
+ var m;
512
+ (m = r.value) == null || m.resetFields();
508
513
  }
509
- return window.addEventListener("resize", o), {
514
+ return window.addEventListener("resize", s), {
510
515
  formId: t,
511
516
  formSource: l,
512
517
  formInstance: r,
513
518
  formColumns: c,
514
- formRules: s,
515
- formCollspased: n,
519
+ formRules: i,
520
+ formCollspased: u,
516
521
  formActiosSpan: f,
517
- toggleFormCollapsed: u,
518
- updateFormField: y,
519
- updateFormSource: a,
522
+ toggleFormCollapsed: a,
523
+ updateFormField: h,
524
+ updateFormSource: n,
520
525
  reset: E
521
526
  };
522
527
  },
@@ -524,7 +529,7 @@ const Re = /* @__PURE__ */ x({
524
529
  const e = () => {
525
530
  this.$emit("submit", this.formSource), this.$emit("update:model-value", this.formSource);
526
531
  }, t = () => {
527
- const l = [], a = this.footer ? {
532
+ const l = [], n = this.footer ? {
528
533
  span: this.formColumns
529
534
  } : {
530
535
  span: this.formActiosSpan
@@ -533,7 +538,7 @@ const Re = /* @__PURE__ */ x({
533
538
  type: "primary",
534
539
  htmlType: "submit"
535
540
  }, {
536
- default: () => [S("搜索")]
541
+ default: () => [$("搜索")]
537
542
  })), l.push(d(b, {
538
543
  type: "secondary",
539
544
  onClick: () => {
@@ -541,24 +546,24 @@ const Re = /* @__PURE__ */ x({
541
546
  return (c = this.formInstance) == null ? void 0 : c.resetFields();
542
547
  }
543
548
  }, {
544
- default: () => [S("重置")]
549
+ default: () => [$("重置")]
545
550
  }))), this.submitable && (l.push(d(b, {
546
551
  type: "primary",
547
552
  htmlType: "submit"
548
553
  }, {
549
- default: () => [S("提交")]
554
+ default: () => [$("提交")]
550
555
  })), l.push(d(b, {
551
556
  type: "secondary",
552
557
  onClick: () => this.$emit("cancel")
553
558
  }, {
554
- default: () => [S("取消")]
559
+ default: () => [$("取消")]
555
560
  }))), this.form.some((c) => !!c.collapsed) && l.push(d(b, {
556
561
  onClick: this.toggleFormCollapsed
557
562
  }, {
558
563
  default: () => this.formCollspased ? "展开" : "收起",
559
564
  icon: () => this.formCollspased ? d(ve, null, null) : d(xe, null, null)
560
565
  })), this.$slots.actions && l.push(...this.$slots.actions()), l.length)
561
- return d(V, a, {
566
+ return d(V, n, {
562
567
  default: () => [d(R, {
563
568
  hideLabel: !0,
564
569
  contentClass: this.footer ? "form-footer" : ""
@@ -580,7 +585,7 @@ const Re = /* @__PURE__ */ x({
580
585
  });
581
586
  return d("div", {
582
587
  class: "form-render"
583
- }, [d(ue, W({
588
+ }, [d(ue, Y({
584
589
  layout: this.$props.layout,
585
590
  rules: this.formRules,
586
591
  onSubmitSuccess: e
@@ -597,11 +602,11 @@ const Re = /* @__PURE__ */ x({
597
602
  "rol-gap": 10
598
603
  }, {
599
604
  default: () => [r.filter(() => this.formColumns !== 0).map((l) => {
600
- let a;
605
+ let n;
601
606
  return d(V, {
602
607
  span: l.span
603
- }, D(a = Pe(this.formSource, l)) ? a : {
604
- default: () => [a]
608
+ }, D(n = Pe(this.formSource, l)) ? n : {
609
+ default: () => [n]
605
610
  });
606
611
  }), t()]
607
612
  })]
@@ -612,15 +617,15 @@ function Ee(e) {
612
617
  return e;
613
618
  }
614
619
  function Ae(e) {
615
- const t = j(), r = h();
620
+ const t = j(), r = y();
616
621
  function l() {
617
- var c, n;
618
- const a = (n = (c = t == null ? void 0 : t.proxy) == null ? void 0 : c.$refs) == null ? void 0 : n[e];
619
- a && (r.value = a);
622
+ var c, u;
623
+ const n = (u = (c = t == null ? void 0 : t.proxy) == null ? void 0 : c.$refs) == null ? void 0 : u[e];
624
+ n && (r.value = n);
620
625
  }
621
626
  return P(l), G(l), r;
622
627
  }
623
- const Ye = {
628
+ const We = {
624
629
  install(e, t) {
625
630
  e.component("FormRender", Re);
626
631
  }
@@ -628,7 +633,7 @@ const Ye = {
628
633
  export {
629
634
  Re as FormRender,
630
635
  Ke as FormRenderResolver,
631
- Ye as default,
636
+ We as default,
632
637
  Ee as defineForm,
633
638
  Ae as useForm
634
639
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/form-render",
3
3
  "type": "module",
4
- "version": "0.0.25",
4
+ "version": "0.0.27",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"