@gopowerteam/form-render 0.0.26 → 0.0.28

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