@gopowerteam/form-render 0.0.23 → 0.0.25

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