@gopowerteam/form-render 0.0.32 → 0.0.34

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.
@@ -14,4 +14,5 @@ export interface RenderTreeSelectItemOptions {
14
14
  default?: string | number | boolean;
15
15
  autoSumbit?: boolean;
16
16
  cache?: boolean;
17
+ defaultExpandAll?: boolean;
17
18
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("@arco-design/web-vue"),F=require("dayjs"),D=require("./resolver.cjs");const _=Symbol("ArcoConfigProvider"),M="arco",p="$arco",x=e=>{var r,l,t;const n=a.getCurrentInstance(),o=a.inject(_,void 0),d=(t=(l=o==null?void 0:o.prefixCls)!=null?l:(r=n==null?void 0:n.appContext.config.globalProperties[p])==null?void 0:r.classPrefix)!=null?t:M;return e?`${d}-${e}`:d},T=Object.prototype.toString;function O(e){return T.call(e)==="[object Number]"&&e===e}var I=(e,r)=>{for(const[l,t]of r)e[l]=t;return e};const R=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}]),n=a.computed(()=>{const d={};return e.size&&(d.fontSize=O(e.size)?`${e.size}px`:e.size),e.rotate&&(d.transform=`rotate(${e.rotate}deg)`),d});return{cls:t,innerStyle:n,onClick:d=>{r("click",d)}}}}),P=["stroke-width","stroke-linecap","stroke-linejoin"],z=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),L=[z];function B(e,r,l,t,n,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:r[0]||(r[0]=(...d)=>e.onClick&&e.onClick(...d))},L,14,P)}var C=I(R,[["render",B]]);const U=Object.assign(C,{install:(e,r)=>{var l;const t=(l=r==null?void 0:r.iconPrefix)!=null?l:"";e.component(t+C.name,C)}}),q=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}]),n=a.computed(()=>{const d={};return e.size&&(d.fontSize=O(e.size)?`${e.size}px`:e.size),e.rotate&&(d.transform=`rotate(${e.rotate}deg)`),d});return{cls:t,innerStyle:n,onClick:d=>{r("click",d)}}}}),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,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:r[0]||(r[0]=(...d)=>e.onClick&&e.onClick(...d))},A,14,E)}var $=I(q,[["render",Y]]);const G=Object.assign($,{install:(e,r)=>{var l;const t=(l=r==null?void 0:r.iconPrefix)!=null?l:"";e.component(t+$.name,$)}}),w={id:Symbol("ID"),source:Symbol("Source")};function K(e,r){const l=a.ref({});return e==null||e.forEach(n=>{let o=null;n.default&&(o=(typeof n.default=="function"?n.default():n.default)||null),r&&r[n.key]!==void 0&&(o=r[n.key]),l.value[n.key]=o}),[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(i.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(i.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(i.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(i.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(i.DatePicker,{"disabled-input":!0,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(i.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(i.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)}}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function V(e,r,l){const t=a.watch(e,(...n)=>(a.nextTick(()=>t()),r(...n)),l);return t}function H(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const k=new WeakMap;function J(){const e=a.ref(new Map);return[e,l=>e.value=l]}function Z(e){let r,l=!1;const[t,n]=J(),o=()=>{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=(c,u)=>{const s=c();s instanceof Promise?s.then(u):u(s)},m=async()=>{const c=k.get(e.options);switch(typeof c){case"function":k.set(e.options,n);return;case"object":n(c);return}k.set(e.options,n),d(e.options,u=>{const s=k.get(e.options);k.set(e.options,u),s(u)})},b=()=>{d(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:t.value=e.options}return(c,u)=>{let s;return e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Select,{ref:f=>r=f,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":f=>c[u.key]=f,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o},H(s=Array.from(t.value.entries()).map(([f,h])=>a.createVNode(i.Option,{key:f,value:f,label:h},null)))?s:{default:()=>[s]})}}function ee(e){function r(){e!=null&&e.autoSumbit}return(l,t)=>(e!=null&&e.default&&(l[t.key]=e.default),a.createVNode(i.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 te(e){return(r,l)=>{let t=[];function n(m){t=m}function o(m){if(m&&m.length===2){const[b,c]=m.sort(),u=F(b).startOf("days"),s=F(c).endOf("days");r[l.key]=[u.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),s.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function d(m){return e!=null&&e.disabledDate?e.disabledDate(t,m):!1}return a.createVNode("div",null,[a.createVNode(i.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:r[l.key],"onUpdate:modelValue":m=>r[l.key]=m,onSelect:n,onChange:o,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":d,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function re(e){return(r,l)=>a.createVNode(i.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 S=new WeakMap;function le(){const e=a.ref([]);return[e,l=>e.value=l]}function ae(e){let r,l=!1;const[t,n]=le(),o=()=>{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=(u,s)=>{const f=u();f instanceof Promise?f.then(s):s(f)},m=async()=>{const u=S.get(e.options);switch(typeof u){case"function":S.set(e.options,n);return;case"object":n(u);return}S.set(e.options,n),d(e.options,s=>{const f=S.get(e.options);S.set(e.options,s),f(s)})},b=()=>{d(e.options,u=>{n(u)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:t.value=e.options}function c(u,s){var y;const f=((y=e.fieldNames)==null?void 0:y.title)||"title",h=s[f];return h?h.toLowerCase().includes(u.toLowerCase()):!1}return(u,s)=>(e.default&&!l&&(u[s.key]=e.default,l=!0),a.createVNode(i.TreeSelect,{ref:f=>r=f,multiple:e.multiple,modelValue:u[s.key],"onUpdate:modelValue":f=>u[s.key]=f,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,filterTreeNode:c,data:t.value,fieldNames:e.fieldNames},null))}const v=new WeakMap;function ne(){const e=a.ref([]);return[e,l=>e.value=l]}function ue(e){let r,l=!1;const[t,n]=ne(),o=()=>{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=(c,u)=>{const s=c();s instanceof Promise?s.then(u):u(s)},m=async()=>{const c=v.get(e.options);switch(typeof c){case"function":v.set(e.options,n);return;case"object":n(c);return}v.set(e.options,n),d(e.options,u=>{const s=v.get(e.options);v.set(e.options,u),s(u)})},b=()=>{d(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:t.value=e.options}return(c,u)=>(e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Cascader,{pathMode:e.pathMode,ref:s=>r=s,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":s=>c[u.key]=s,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,options:t.value},null))}function ce(e){return r=>e(r)}function de(){return{input:X,textarea:re,select:Z,treeSelect:ae,date:Q,switch:ee,dateRange:te,render:ce,cascader:ue}}function se(e,r){r.render||(r.render=t=>t.input());const l=r.render({...de()});return{default:()=>l(e,r)}}function oe(e,r){return a.h(i.FormItem,{field:r.key,label:r.title},se(e,r))}function N(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const j=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),o=a.ref(e.columns||0),d=a.ref(!0),m=()=>d.value=!d.value;a.provide(w.id,r),a.provide(w.source,t);const b=a.computed(()=>{if(!o.value)return 1;const h=e.form.reduce((y,g)=>y+((g==null?void 0:g.span)||1),0);return o.value-h%o.value}),c=a.computed(()=>e.form.reduce((h,y)=>(y.rule&&(h[y.key]=y.rule),h),{}));function u(){var y;if(e.columns)return;const h=(y=l.value)==null?void 0:y.$el;h&&(o.value=Math.floor(h.offsetWidth/e.minWidth))}a.onMounted(()=>{u()});function s(h,y){t.value[h]=y,n({...t})}function f(){var h;(h=l.value)==null||h.resetFields()}return window.addEventListener("resize",u),{formId:r,formSource:t,formInstance:l,formColumns:o,formRules:c,formCollspased:d,formActiosSpan:b,toggleFormCollapsed:m,updateFormField:s,updateFormSource:n,reset:f}},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(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),t.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(t.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),t.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(o=>!!o.collapsed)&&t.push(a.createVNode(i.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(U,null,null):a.createVNode(G,null,null)})),this.$slots.actions&&t.push(...this.$slots.actions()),t.length)return a.createVNode(i.GridItem,n,{default:()=>[a.createVNode(i.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[a.createVNode(i.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(i.Form,a.mergeProps({name:this.name},{labelAlign:"left",layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e,"auto-label-width":!0,ref:t=>this.formInstance=t,model:this.formSource}),{default:()=>[a.createVNode(i.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(t=>{let n;return a.createVNode(i.GridItem,{span:t.span},N(n=oe(this.formSource,t))?n:{default:()=>[n]})}),r()]})]})])}});function ie(e){return e}function fe(e){const r=a.getCurrentInstance(),l=a.ref();function t(){var o,d;const n=(d=(o=r==null?void 0:r.proxy)==null?void 0:o.$refs)==null?void 0:d[e];n&&(l.value=n)}return a.onMounted(t),a.onUpdated(t),l}const me={install(e,r){e.component("FormRender",j)}};exports.FormRenderResolver=D.FormRenderResolver;exports.FormRender=j;exports.default=me;exports.defineForm=ie;exports.useForm=fe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("@arco-design/web-vue"),F=require("dayjs"),D=require("./resolver.cjs");const _=Symbol("ArcoConfigProvider"),p="arco",M="$arco",x=e=>{var r,l,t;const n=a.getCurrentInstance(),o=a.inject(_,void 0),d=(t=(l=o==null?void 0:o.prefixCls)!=null?l:(r=n==null?void 0:n.appContext.config.globalProperties[M])==null?void 0:r.classPrefix)!=null?t:p;return e?`${d}-${e}`:d},T=Object.prototype.toString;function O(e){return T.call(e)==="[object Number]"&&e===e}var I=(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=x("icon"),t=a.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const d={};return e.size&&(d.fontSize=O(e.size)?`${e.size}px`:e.size),e.rotate&&(d.transform=`rotate(${e.rotate}deg)`),d});return{cls:t,innerStyle:n,onClick:d=>{r("click",d)}}}}),R=["stroke-width","stroke-linecap","stroke-linejoin"],z=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),L=[z];function B(e,r,l,t,n,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:r[0]||(r[0]=(...d)=>e.onClick&&e.onClick(...d))},L,14,R)}var C=I(P,[["render",B]]);const E=Object.assign(C,{install:(e,r)=>{var l;const t=(l=r==null?void 0:r.iconPrefix)!=null?l:"";e.component(t+C.name,C)}}),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=x("icon"),t=a.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const d={};return e.size&&(d.fontSize=O(e.size)?`${e.size}px`:e.size),e.rotate&&(d.transform=`rotate(${e.rotate}deg)`),d});return{cls:t,innerStyle:n,onClick:d=>{r("click",d)}}}}),q=["stroke-width","stroke-linecap","stroke-linejoin"],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,o){return a.openBlock(),a.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:a.normalizeClass(e.cls),style:a.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:r[0]||(r[0]=(...d)=>e.onClick&&e.onClick(...d))},A,14,q)}var $=I(U,[["render",Y]]);const G=Object.assign($,{install:(e,r)=>{var l;const t=(l=r==null?void 0:r.iconPrefix)!=null?l:"";e.component(t+$.name,$)}}),w={id:Symbol("ID"),source:Symbol("Source")};function K(e,r){const l=a.ref({});return e==null||e.forEach(n=>{let o=null;n.default&&(o=(typeof n.default=="function"?n.default():n.default)||null),r&&r[n.key]!==void 0&&(o=r[n.key]),l.value[n.key]=o}),[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(i.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(i.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(i.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(i.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(i.DatePicker,{"disabled-input":!0,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(i.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(i.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)}}}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function V(e,r,l){const t=a.watch(e,(...n)=>(a.nextTick(()=>t()),r(...n)),l);return t}function H(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const k=new WeakMap;function J(){const e=a.ref(new Map);return[e,l=>e.value=l]}function Z(e){let r,l=!1;const[t,n]=J(),o=()=>{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=(c,u)=>{const s=c();s instanceof Promise?s.then(u):u(s)},m=async()=>{const c=k.get(e.options);switch(typeof c){case"function":k.set(e.options,n);return;case"object":n(c);return}k.set(e.options,n),d(e.options,u=>{const s=k.get(e.options);k.set(e.options,u),s(u)})},b=()=>{d(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:t.value=e.options}return(c,u)=>{let s;return e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Select,{ref:f=>r=f,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":f=>c[u.key]=f,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o},H(s=Array.from(t.value.entries()).map(([f,h])=>a.createVNode(i.Option,{key:f,value:f,label:h},null)))?s:{default:()=>[s]})}}function ee(e){function r(){e!=null&&e.autoSumbit}return(l,t)=>(e!=null&&e.default&&(l[t.key]=e.default),a.createVNode(i.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 te(e){return(r,l)=>{let t=[];function n(m){t=m}function o(m){if(m&&m.length===2){const[b,c]=m.sort(),u=F(b).startOf("days"),s=F(c).endOf("days");r[l.key]=[u.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),s.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function d(m){return e!=null&&e.disabledDate?e.disabledDate(t,m):!1}return a.createVNode("div",null,[a.createVNode(i.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:r[l.key],"onUpdate:modelValue":m=>r[l.key]=m,onSelect:n,onChange:o,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":d,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function re(e){return(r,l)=>a.createVNode(i.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 S=new WeakMap;function le(){const e=a.ref([]);return[e,l=>e.value=l]}function ae(e){let r,l=!1;const[t,n]=le(),o=()=>{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=(u,s)=>{const f=u();f instanceof Promise?f.then(s):s(f)},m=async()=>{const u=S.get(e.options);switch(typeof u){case"function":S.set(e.options,n);return;case"object":n(u);return}S.set(e.options,n),d(e.options,s=>{const f=S.get(e.options);S.set(e.options,s),f(s)})},b=()=>{d(e.options,u=>{n(u)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:t.value=e.options}function c(u,s){var y;const f=((y=e.fieldNames)==null?void 0:y.title)||"title",h=s[f];return h?h.toLowerCase().includes(u.toLowerCase()):!1}return(u,s)=>(e.default&&!l&&(u[s.key]=e.default,l=!0),a.createVNode(i.TreeSelect,{ref:f=>r=f,multiple:e.multiple,modelValue:u[s.key],"onUpdate:modelValue":f=>u[s.key]=f,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,filterTreeNode:c,data:t.value,fieldNames:e.fieldNames,treeProps:{defaultExpandAll:e.defaultExpandAll}},null))}const v=new WeakMap;function ne(){const e=a.ref([]);return[e,l=>e.value=l]}function ue(e){let r,l=!1;const[t,n]=ne(),o=()=>{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=(c,u)=>{const s=c();s instanceof Promise?s.then(u):u(s)},m=async()=>{const c=v.get(e.options);switch(typeof c){case"function":v.set(e.options,n);return;case"object":n(c);return}v.set(e.options,n),d(e.options,u=>{const s=v.get(e.options);v.set(e.options,u),s(u)})},b=()=>{d(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?m():b();break}case a.isRef(e.options):{V(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:t.value=e.options}return(c,u)=>(e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Cascader,{pathMode:e.pathMode,ref:s=>r=s,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":s=>c[u.key]=s,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,options:t.value},null))}function ce(e){return r=>e(r)}function de(){return{input:X,textarea:re,select:Z,treeSelect:ae,date:Q,switch:ee,dateRange:te,render:ce,cascader:ue}}function se(e,r){r.render||(r.render=t=>t.input());const l=r.render({...de()});return{default:()=>l(e,r)}}function oe(e,r){return a.h(i.FormItem,{field:r.key,label:r.title},se(e,r))}function N(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const j=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:400},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),o=a.ref(e.columns||0),d=a.ref(!0),m=()=>d.value=!d.value;a.provide(w.id,r),a.provide(w.source,t);const b=a.computed(()=>{if(!o.value)return 1;const h=e.form.reduce((y,g)=>y+((g==null?void 0:g.span)||1),0);return o.value-h%o.value}),c=a.computed(()=>e.form.reduce((h,y)=>(y.rule&&(h[y.key]=y.rule),h),{}));function u(){var y;if(e.columns)return;const h=(y=l.value)==null?void 0:y.$el;h&&(o.value=Math.floor(h.offsetWidth/e.minWidth))}a.onMounted(()=>{u()});function s(h,y){t.value[h]=y,n({...t})}function f(){var h;(h=l.value)==null||h.resetFields()}return window.addEventListener("resize",u),{formId:r,formSource:t,formInstance:l,formColumns:o,formRules:c,formCollspased:d,formActiosSpan:b,toggleFormCollapsed:m,updateFormField:s,updateFormSource:n,reset:f}},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(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),t.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(t.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),t.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(o=>!!o.collapsed)&&t.push(a.createVNode(i.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(E,null,null):a.createVNode(G,null,null)})),this.$slots.actions&&t.push(...this.$slots.actions()),t.length)return a.createVNode(i.GridItem,n,{default:()=>[a.createVNode(i.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[a.createVNode(i.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(i.Form,a.mergeProps({name:this.name},{labelAlign:"left",layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e,"auto-label-width":!0,ref:t=>this.formInstance=t,model:this.formSource}),{default:()=>[a.createVNode(i.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(t=>{let n;return a.createVNode(i.GridItem,{span:t.span},N(n=oe(this.formSource,t))?n:{default:()=>[n]})}),r()]})]})])}});function ie(e){return e}function fe(e){const r=a.getCurrentInstance(),l=a.ref();function t(){var o,d;const n=(d=(o=r==null?void 0:r.proxy)==null?void 0:o.$refs)==null?void 0:d[e];n&&(l.value=n)}return a.onMounted(t),a.onUpdated(t),l}const me={install(e,r){e.component("FormRender",j)}};exports.FormRenderResolver=D.FormRenderResolver;exports.FormRender=j;exports.default=me;exports.defineForm=ie;exports.useForm=fe;
@@ -14,4 +14,5 @@ export interface RenderTreeSelectItemOptions {
14
14
  default?: string | number | boolean;
15
15
  autoSumbit?: boolean;
16
16
  cache?: boolean;
17
+ defaultExpandAll?: boolean;
17
18
  }
package/dist/es/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { getCurrentInstance as P, inject as Y, defineComponent as O, computed as b, openBlock as T, createElementBlock as p, normalizeClass as L, normalizeStyle as z, createElementVNode as R, ref as k, createVNode as i, watch as G, nextTick as K, isRef as V, isVNode as U, h as Q, provide as D, onMounted as E, mergeProps as X, createTextVNode as C, onUpdated as H } from "vue";
1
+ import { getCurrentInstance as P, inject as Y, defineComponent as O, computed as b, openBlock as p, createElementBlock as T, normalizeClass as L, normalizeStyle as z, createElementVNode as R, ref as k, createVNode as i, watch as G, nextTick as K, isRef as V, isVNode as U, h as Q, provide as D, onMounted as E, mergeProps as X, createTextVNode as C, onUpdated as H } from "vue";
2
2
  import { DatePicker as J, YearPicker as Z, QuarterPicker as ee, MonthPicker as te, WeekPicker as le, Input as re, InputNumber as ae, Select as ne, Option as ue, Switch as ce, RangePicker as de, Textarea as se, TreeSelect as ie, Cascader as oe, FormItem as q, Form as fe, Grid as me, GridItem as j, Button as S, Space as he } from "@arco-design/web-vue";
3
3
  import _ from "dayjs";
4
4
  import { FormRenderResolver as rt } from "./resolver.mjs";
@@ -7,10 +7,10 @@ const ye = Symbol("ArcoConfigProvider"), ke = "arco", be = "$arco", W = (e) => {
7
7
  const a = P(), s = Y(ye, void 0), c = (t = (r = s == null ? void 0 : s.prefixCls) != null ? r : (l = a == null ? void 0 : a.appContext.config.globalProperties[be]) == null ? void 0 : l.classPrefix) != null ? t : ke;
8
8
  return e ? `${c}-${e}` : c;
9
9
  }, Se = Object.prototype.toString;
10
- function B(e) {
10
+ function A(e) {
11
11
  return Se.call(e) === "[object Number]" && e === e;
12
12
  }
13
- var A = (e, l) => {
13
+ var B = (e, l) => {
14
14
  for (const [r, t] of l)
15
15
  e[r] = t;
16
16
  return e;
@@ -48,7 +48,7 @@ const ve = O({
48
48
  [`${r}-spin`]: e.spin
49
49
  }]), a = b(() => {
50
50
  const c = {};
51
- return e.size && (c.fontSize = B(e.size) ? `${e.size}px` : e.size), e.rotate && (c.transform = `rotate(${e.rotate}deg)`), c;
51
+ return e.size && (c.fontSize = A(e.size) ? `${e.size}px` : e.size), e.rotate && (c.transform = `rotate(${e.rotate}deg)`), c;
52
52
  });
53
53
  return {
54
54
  cls: t,
@@ -62,7 +62,7 @@ const ve = O({
62
62
  d: "M39.6 17.443 24.043 33 8.487 17.443"
63
63
  }, null, -1), Ce = [$e];
64
64
  function we(e, l, r, t, a, s) {
65
- return T(), p("svg", {
65
+ return p(), T("svg", {
66
66
  viewBox: "0 0 48 48",
67
67
  fill: "none",
68
68
  xmlns: "http://www.w3.org/2000/svg",
@@ -75,7 +75,7 @@ function we(e, l, r, t, a, s) {
75
75
  onClick: l[0] || (l[0] = (...c) => e.onClick && e.onClick(...c))
76
76
  }, Ce, 14, ge);
77
77
  }
78
- var F = /* @__PURE__ */ A(ve, [["render", we]]);
78
+ var F = /* @__PURE__ */ B(ve, [["render", we]]);
79
79
  const Fe = Object.assign(F, {
80
80
  install: (e, l) => {
81
81
  var r;
@@ -115,7 +115,7 @@ const Fe = Object.assign(F, {
115
115
  [`${r}-spin`]: e.spin
116
116
  }]), a = b(() => {
117
117
  const c = {};
118
- return e.size && (c.fontSize = B(e.size) ? `${e.size}px` : e.size), e.rotate && (c.transform = `rotate(${e.rotate}deg)`), c;
118
+ return e.size && (c.fontSize = A(e.size) ? `${e.size}px` : e.size), e.rotate && (c.transform = `rotate(${e.rotate}deg)`), c;
119
119
  });
120
120
  return {
121
121
  cls: t,
@@ -129,7 +129,7 @@ const Fe = Object.assign(F, {
129
129
  d: "M39.6 30.557 24.043 15 8.487 30.557"
130
130
  }, null, -1), Ie = [Ve];
131
131
  function De(e, l, r, t, a, s) {
132
- return T(), p("svg", {
132
+ return p(), T("svg", {
133
133
  viewBox: "0 0 48 48",
134
134
  fill: "none",
135
135
  xmlns: "http://www.w3.org/2000/svg",
@@ -142,7 +142,7 @@ function De(e, l, r, t, a, s) {
142
142
  onClick: l[0] || (l[0] = (...c) => e.onClick && e.onClick(...c))
143
143
  }, Ie, 14, Oe);
144
144
  }
145
- var x = /* @__PURE__ */ A(xe, [["render", De]]);
145
+ var x = /* @__PURE__ */ B(xe, [["render", De]]);
146
146
  const je = Object.assign(x, {
147
147
  install: (e, l) => {
148
148
  var r;
@@ -246,13 +246,13 @@ function Pe(e) {
246
246
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !U(e);
247
247
  }
248
248
  const v = /* @__PURE__ */ new WeakMap();
249
- function Te() {
249
+ function pe() {
250
250
  const e = k(/* @__PURE__ */ new Map());
251
251
  return [e, (r) => e.value = r];
252
252
  }
253
- function pe(e) {
253
+ function Te(e) {
254
254
  let l, r = !1;
255
- const [t, a] = Te(), s = () => {
255
+ const [t, a] = pe(), s = () => {
256
256
  if (!e.autoSumbit || !l)
257
257
  return;
258
258
  let u = l;
@@ -442,7 +442,10 @@ function Ee(e) {
442
442
  onChange: s,
443
443
  filterTreeNode: u,
444
444
  data: t.value,
445
- fieldNames: e.fieldNames
445
+ fieldNames: e.fieldNames,
446
+ treeProps: {
447
+ defaultExpandAll: e.defaultExpandAll
448
+ }
446
449
  }, null));
447
450
  }
448
451
  const $ = /* @__PURE__ */ new WeakMap();
@@ -511,26 +514,26 @@ function We(e) {
511
514
  options: t.value
512
515
  }, null));
513
516
  }
514
- function Be(e) {
517
+ function Ae(e) {
515
518
  return (l) => e(l);
516
519
  }
517
- function Ae() {
520
+ function Be() {
518
521
  return {
519
522
  input: Me,
520
523
  textarea: Re,
521
- select: pe,
524
+ select: Te,
522
525
  treeSelect: Ee,
523
526
  date: Ne,
524
527
  switch: Le,
525
528
  dateRange: ze,
526
- render: Be,
529
+ render: Ae,
527
530
  cascader: We
528
531
  };
529
532
  }
530
533
  function Ye(e, l) {
531
534
  l.render || (l.render = (t) => t.input());
532
535
  const r = l.render({
533
- ...Ae()
536
+ ...Be()
534
537
  });
535
538
  return {
536
539
  default: () => r(e, l)
@@ -571,7 +574,7 @@ const Ke = /* @__PURE__ */ O({
571
574
  minWidth: {
572
575
  type: Number,
573
576
  required: !1,
574
- default: 320
577
+ default: 400
575
578
  },
576
579
  name: {
577
580
  type: String,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/form-render",
3
3
  "type": "module",
4
- "version": "0.0.32",
4
+ "version": "0.0.34",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"