@gopowerteam/form-render 0.0.25 → 0.0.26

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 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;
package/dist/es/index.mjs CHANGED
@@ -1,4 +1,4 @@
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 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
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";
@@ -344,7 +344,7 @@ function Oe(e) {
344
344
  maxLength: e == null ? void 0 : e.maxLength
345
345
  }, null);
346
346
  }
347
- const $ = /* @__PURE__ */ new Map();
347
+ const S = /* @__PURE__ */ new Map();
348
348
  function Le(e) {
349
349
  let t, r = !1;
350
350
  const l = h([]), a = () => {
@@ -356,17 +356,17 @@ function Le(e) {
356
356
  u && u.$el && u.$el.dispatchEvent(new Event("submit"));
357
357
  }, c = async () => {
358
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);
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);
362
362
  } else
363
363
  l.value = u;
364
364
  };
365
365
  switch (!0) {
366
366
  case e.options instanceof Function: {
367
- if (e.cache !== !1 && $.has(e.options))
367
+ if (e.cache !== !1 && S.has(e.options))
368
368
  break;
369
- c(), e.cache !== !1 && $.set(e.options, (u) => {
369
+ c(), e.cache !== !1 && S.set(e.options, (u) => {
370
370
  l.value = u;
371
371
  });
372
372
  break;
@@ -533,7 +533,7 @@ const Re = /* @__PURE__ */ x({
533
533
  type: "primary",
534
534
  htmlType: "submit"
535
535
  }, {
536
- default: () => [S("搜索")]
536
+ default: () => [$("搜索")]
537
537
  })), l.push(d(b, {
538
538
  type: "secondary",
539
539
  onClick: () => {
@@ -541,17 +541,17 @@ const Re = /* @__PURE__ */ x({
541
541
  return (c = this.formInstance) == null ? void 0 : c.resetFields();
542
542
  }
543
543
  }, {
544
- default: () => [S("重置")]
544
+ default: () => [$("重置")]
545
545
  }))), this.submitable && (l.push(d(b, {
546
546
  type: "primary",
547
547
  htmlType: "submit"
548
548
  }, {
549
- default: () => [S("提交")]
549
+ default: () => [$("提交")]
550
550
  })), l.push(d(b, {
551
551
  type: "secondary",
552
552
  onClick: () => this.$emit("cancel")
553
553
  }, {
554
- default: () => [S("取消")]
554
+ default: () => [$("取消")]
555
555
  }))), this.form.some((c) => !!c.collapsed) && l.push(d(b, {
556
556
  onClick: this.toggleFormCollapsed
557
557
  }, {
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.26",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"