@gopowerteam/form-render 0.0.23 → 0.0.24

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