@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.
package/dist/cjs/index.cjs
CHANGED
|
@@ -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;
|
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
|
|
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
|
|
10
|
+
function A(e) {
|
|
11
11
|
return Se.call(e) === "[object Number]" && e === e;
|
|
12
12
|
}
|
|
13
|
-
var
|
|
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 =
|
|
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
|
|
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__ */
|
|
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 =
|
|
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
|
|
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__ */
|
|
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
|
|
249
|
+
function pe() {
|
|
250
250
|
const e = k(/* @__PURE__ */ new Map());
|
|
251
251
|
return [e, (r) => e.value = r];
|
|
252
252
|
}
|
|
253
|
-
function
|
|
253
|
+
function Te(e) {
|
|
254
254
|
let l, r = !1;
|
|
255
|
-
const [t, a] =
|
|
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
|
|
517
|
+
function Ae(e) {
|
|
515
518
|
return (l) => e(l);
|
|
516
519
|
}
|
|
517
|
-
function
|
|
520
|
+
function Be() {
|
|
518
521
|
return {
|
|
519
522
|
input: Me,
|
|
520
523
|
textarea: Re,
|
|
521
|
-
select:
|
|
524
|
+
select: Te,
|
|
522
525
|
treeSelect: Ee,
|
|
523
526
|
date: Ne,
|
|
524
527
|
switch: Le,
|
|
525
528
|
dateRange: ze,
|
|
526
|
-
render:
|
|
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
|
-
...
|
|
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:
|
|
577
|
+
default: 400
|
|
575
578
|
},
|
|
576
579
|
name: {
|
|
577
580
|
type: String,
|