@gopowerteam/form-render 0.0.22 → 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 o;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(o=Array.from(t.value.entries()).map(([s,h])=>a.createVNode(f.Option,{key:s,value:s,label:h},null)))?o:{default:()=>[o]})}}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[o,s]=c.sort(),h=$(o).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,o){var y;const s=((y=e.fieldNames)==null?void 0:y.title)||"title",h=o[s];return h?h.toLowerCase().includes(c.toLowerCase()):!1}return(c,o)=>(e.default&&!l&&(c[o.key]=e.default,l=!0),a.createVNode(f.TreeSelect,{ref:s=>r=s,multiple:e.multiple,modelValue:c[o.key],"onUpdate:modelValue":s=>c[o.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 o=a.computed(()=>{if(!d.value)return 1;const i=e.form.reduce((m,b)=>m+((b==null?void 0:b.span)||1),0);return d.value-i%d.value}),s=a.computed(()=>e.form.reduce((i,m)=>(m.rule&&(i[m.key]=m.rule),i),{}));function h(){var m;const i=(m=l.value)==null?void 0:m.$el;i&&(d.value=Math.floor(i.offsetWidth/e.minWidth))}a.onMounted(()=>{h()});function y(i,m){t.value[i]=m,n({...t})}function _(){var i;(i=l.value)==null||i.resetFields()}return window.addEventListener("resize",h),{formId:r,formSource:t,formInstance:l,formColumns:d,formRules:s,formCollspased:u,formActiosSpan:o,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.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;
@@ -494,50 +496,52 @@ const Te = /* @__PURE__ */ F({
494
496
  }), f = k(() => e.form.reduce((i, m) => (m.rule && (i[m.key] = m.rule), i), {}));
495
497
  function o() {
496
498
  var m;
499
+ if (e.columns)
500
+ return;
497
501
  const i = (m = r.value) == null ? void 0 : m.$el;
498
502
  i && (c.value = Math.floor(i.offsetWidth / e.minWidth));
499
503
  }
500
- R(() => {
504
+ q(() => {
501
505
  o();
502
506
  });
503
507
  function y(i, m) {
504
- t.value[i] = m, a({
505
- ...t
508
+ l.value[i] = m, u({
509
+ ...l
506
510
  });
507
511
  }
508
- function W() {
512
+ function Y() {
509
513
  var i;
510
514
  (i = r.value) == null || i.resetFields();
511
515
  }
512
516
  return window.addEventListener("resize", o), {
513
- formId: l,
514
- formSource: t,
517
+ formId: t,
518
+ formSource: l,
515
519
  formInstance: r,
516
520
  formColumns: c,
517
521
  formRules: f,
518
- formCollspased: n,
522
+ formCollspased: a,
519
523
  formActiosSpan: s,
520
- toggleFormCollapsed: u,
524
+ toggleFormCollapsed: n,
521
525
  updateFormField: y,
522
- updateFormSource: a,
523
- reset: W
526
+ updateFormSource: u,
527
+ reset: Y
524
528
  };
525
529
  },
526
530
  render() {
527
531
  const e = () => {
528
532
  this.$emit("submit", this.formSource), this.$emit("update:model-value", this.formSource);
529
- }, l = () => {
530
- const t = [], a = this.footer ? {
533
+ }, t = () => {
534
+ const l = [], u = this.footer ? {
531
535
  span: this.formColumns
532
536
  } : {
533
537
  span: this.formActiosSpan
534
538
  };
535
- if (this.searchable && (t.push(d(b, {
539
+ if (this.searchable && (l.push(d(b, {
536
540
  type: "primary",
537
541
  htmlType: "submit"
538
542
  }, {
539
543
  default: () => [v("搜索")]
540
- })), t.push(d(b, {
544
+ })), l.push(d(b, {
541
545
  type: "secondary",
542
546
  onClick: () => {
543
547
  var c;
@@ -545,45 +549,45 @@ const Te = /* @__PURE__ */ F({
545
549
  }
546
550
  }, {
547
551
  default: () => [v("重置")]
548
- }))), this.submitable && (t.push(d(b, {
552
+ }))), this.submitable && (l.push(d(b, {
549
553
  type: "primary",
550
554
  htmlType: "submit"
551
555
  }, {
552
556
  default: () => [v("提交")]
553
- })), t.push(d(b, {
557
+ })), l.push(d(b, {
554
558
  type: "secondary",
555
559
  onClick: () => this.$emit("cancel")
556
560
  }, {
557
561
  default: () => [v("取消")]
558
- }))), this.form.some((c) => !!c.collapsed) && t.push(d(b, {
562
+ }))), this.form.some((c) => !!c.collapsed) && l.push(d(b, {
559
563
  onClick: this.toggleFormCollapsed
560
564
  }, {
561
565
  default: () => this.formCollspased ? "展开" : "收起",
562
- icon: () => this.formCollspased ? d(Se, null, null) : d(Fe, null, null)
563
- })), this.$slots.actions && t.push(...this.$slots.actions()), t.length)
564
- return d(I, a, {
565
- 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, {
566
570
  hideLabel: !0,
567
571
  contentClass: this.footer ? "form-footer" : ""
568
572
  }, {
569
- default: () => [d(fe, null, N(t) ? t : {
570
- default: () => [t]
573
+ default: () => [d(ie, null, j(l) ? l : {
574
+ default: () => [l]
571
575
  })]
572
576
  })]
573
577
  });
574
- }, 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) => {
575
579
  switch (!0) {
576
- case typeof t.visiable == "boolean":
577
- return t.visiable;
578
- case typeof t.visiable == "function":
579
- 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);
580
584
  default:
581
585
  return !0;
582
586
  }
583
587
  });
584
588
  return d("div", {
585
589
  class: "form-render"
586
- }, [d(ce, G({
590
+ }, [d(fe, Q({
587
591
  layout: this.$props.layout,
588
592
  rules: this.formRules,
589
593
  onSubmitSuccess: e
@@ -591,47 +595,47 @@ const Te = /* @__PURE__ */ F({
591
595
  name: this.name
592
596
  }, {
593
597
  "auto-label-width": !0,
594
- ref: (t) => this.formInstance = t,
598
+ ref: (l) => this.formInstance = l,
595
599
  model: this.formSource
596
600
  }), {
597
- default: () => [d(de, {
601
+ default: () => [d(se, {
598
602
  cols: this.formColumns,
599
603
  "col-gap": 10,
600
604
  "rol-gap": 10
601
605
  }, {
602
- default: () => [r.map((t) => {
603
- let a;
604
- return d(I, {
605
- span: t.span
606
- }, N(a = Re(this.formSource, t)) ? a : {
607
- 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]
608
612
  });
609
- }), l()]
613
+ }), t()]
610
614
  })]
611
615
  })]);
612
616
  }
613
617
  });
614
- function We(e) {
618
+ function Ye(e) {
615
619
  return e;
616
620
  }
617
- function Ae(e) {
618
- const l = O(), r = h();
619
- function t() {
620
- var c, n;
621
- const a = (n = (c = l == null ? void 0 : l.proxy) == null ? void 0 : c.$refs) == null ? void 0 : n[e];
622
- 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);
623
627
  }
624
- return R(t), K(t), r;
628
+ return q(l), X(l), r;
625
629
  }
626
- const Ye = {
627
- install(e, l) {
628
- e.component("FormRender", Te);
630
+ const Ke = {
631
+ install(e, t) {
632
+ e.component("FormRender", Be);
629
633
  }
630
634
  };
631
635
  export {
632
- Te as FormRender,
633
- Qe as FormRenderResolver,
634
- Ye as default,
635
- We as defineForm,
636
- Ae as useForm
636
+ Be as FormRender,
637
+ He as FormRenderResolver,
638
+ Ke as default,
639
+ Ye as defineForm,
640
+ Ge as useForm
637
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.22",
4
+ "version": "0.0.24",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"