@gopowerteam/form-render 0.0.40 → 0.0.41
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.
|
@@ -15,5 +15,6 @@ export interface RenderTreeSelectItemOptions {
|
|
|
15
15
|
default?: string | number | boolean;
|
|
16
16
|
autoSumbit?: boolean;
|
|
17
17
|
cache?: boolean;
|
|
18
|
-
treeProps?: TreeProps
|
|
18
|
+
treeProps?: Partial<TreeProps>;
|
|
19
|
+
slots?: Record<'trigger' | 'prefix' | 'label' | 'header' | 'loader' | 'empty' | 'footer' | 'tree-slot-extra' | 'tree-slot-title' | 'tree-slot-icon' | 'tree-slot-switcher-icon', (data?: TreeNodeData) => JSX.Element>;
|
|
19
20
|
}
|
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"),w=require("dayjs"),_=require("./resolver.cjs");const M=Symbol("ArcoConfigProvider"),P="arco",T="$arco",O=e=>{var t,l,r;const n=a.getCurrentInstance(),o=a.inject(M,void 0),s=(r=(l=o==null?void 0:o.prefixCls)!=null?l:(t=n==null?void 0:n.appContext.config.globalProperties[T])==null?void 0:t.classPrefix)!=null?r:P;return e?`${s}-${e}`:s},R=Object.prototype.toString;function I(e){return R.call(e)==="[object Number]"&&e===e}var j=(e,t)=>{for(const[l,r]of t)e[l]=r;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:t}){const l=O("icon"),r=a.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=I(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),z=["stroke-width","stroke-linecap","stroke-linejoin"],L=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),q=[L];function B(e,t,l,r,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:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},q,14,z)}var C=j(p,[["render",B]]);const E=Object.assign(C,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+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:t}){const l=O("icon"),r=a.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=I(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),W=["stroke-width","stroke-linecap","stroke-linejoin"],A=a.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),Y=[A];function G(e,t,l,r,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:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},Y,14,W)}var V=j(U,[["render",G]]);const K=Object.assign(V,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+V.name,V)}}),N={id:Symbol("ID"),source:Symbol("Source")};function Q(e,t){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),t&&t[n.key]!==void 0&&(o=t[n.key]),l.value[n.key]=o}),[l,n=>{l.value=n}]}function X(e){function t(l,r){return e!=null&&e.disabledDate?e.disabledDate(l,r):!1}return(l,r)=>{switch(e==null?void 0:e.type){case"week":return a.createVNode(i.WeekPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,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[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,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[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,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[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,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[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function H(e){return(t,l)=>{switch(e==null?void 0:e.type){case"number":return a.createVNode(i.InputNumber,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,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:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,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 F(e,t,l){const r=a.watch(e,(...n)=>(a.nextTick(()=>r()),t(...n)),l);return r}function J(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const v=new WeakMap;function Z(){const e=a.ref(new Map);return[e,l=>e.value=l]}function ee(e){let t,l=!1;const[r,n]=Z(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=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),s(e.options,u=>{const d=v.get(e.options);v.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>{let d;return e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Select,{ref:m=>t=m,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":m=>c[u.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o},J(d=Array.from(r.value.entries()).map(([m,k])=>a.createVNode(i.Option,{key:m,value:m,label:k},null)))?d:{default:()=>[d]})}}function te(e){function t(){e!=null&&e.autoSumbit}return(l,r)=>(e!=null&&e.default&&(l[r.key]=e.default),a.createVNode(i.Switch,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.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:t},null))}function re(e){return(t,l)=>{let r=[];function n(h){r=h}function o(h){if(h&&h.length===2){const[b,c]=h.sort(),u=w(b).startOf("days"),d=w(c).endOf("days");t[l.key]=[u.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),d.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function s(h){return e!=null&&e.disabledDate?e.disabledDate(r,h):!1}return a.createVNode("div",null,[a.createVNode(i.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:t[l.key],"onUpdate:modelValue":h=>t[l.key]=h,onSelect:n,onChange:o,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":s,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function le(e){return(t,l)=>a.createVNode(i.Textarea,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,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 ae(){const e=a.ref([]);return[e,l=>e.value=l]}function ne(e){let t,l=!1;const[r,n]=ae(),o=()=>{if(!e.autoSumbit||!t)return;let u=t;for(;u&&u.$el.tagName!=="FORM";)u=u.$parent;u&&u.$el&&u.$el.dispatchEvent(new Event("submit"))},s=(u,d)=>{const m=u();m instanceof Promise?m.then(d):d(m)},h=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),s(e.options,d=>{const m=S.get(e.options);S.set(e.options,d),m(d)})},b=()=>{s(e.options,u=>{n(u)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}function c(u,d){var f;const m=((f=e.fieldNames)==null?void 0:f.title)||"title",k=d[m];return k?k.toLowerCase().includes(u.toLowerCase()):!1}return(u,d)=>(e.default&&!l&&(u[d.key]=e.default,l=!0),a.createVNode(i.TreeSelect,{ref:m=>t=m,multiple:e.multiple,modelValue:u[d.key],"onUpdate:modelValue":m=>u[d.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,filterTreeNode:c,data:r.value,fieldNames:e.fieldNames,treeProps:e.treeProps},null))}const g=new WeakMap;function ue(){const e=a.ref([]);return[e,l=>e.value=l]}function ce(e){let t,l=!1;const[r,n]=ue(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=async()=>{const c=g.get(e.options);switch(typeof c){case"function":g.set(e.options,n);return;case"object":n(c);return}g.set(e.options,n),s(e.options,u=>{const d=g.get(e.options);g.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>(e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Cascader,{pathMode:e.pathMode,ref:d=>t=d,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":d=>c[u.key]=d,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,options:r.value},null))}function de(e){return t=>e(t)}function se(){return{input:H,textarea:le,select:ee,treeSelect:ne,date:X,switch:te,dateRange:re,render:de,cascader:ce}}function oe(e,t){t.render||(t.render=r=>r.input());const l=t.render({...se()});return{default:()=>l(e,t)}}function ie(e,t){return a.h(i.FormItem,{field:t.key,label:t.title},oe(e,t))}function x(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const D=a.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:400},name:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},id:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},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","validate"],setup(e){const t=a.ref(),[l,r]=Q(e.form,e.modelValue||e.value),n=a.ref(e.columns||0),o=a.ref(!0),s=()=>o.value=!o.value;a.provide(N.id,e.id),a.provide(N.source,l);const h=a.computed(()=>{if(!n.value)return 1;const f=e.form.reduce((y,$)=>y+(($==null?void 0:$.span)||1),0);return n.value-f%n.value}),b=a.computed(()=>e.form.reduce((f,y)=>(y.rule&&(f[y.key]=y.rule),f),{}));function c(){var y;if(e.columns)return;const f=(y=t.value)==null?void 0:y.$el;f&&(n.value=Math.floor(f.offsetWidth/e.minWidth))}function u(){var y;const f=(y=t.value)==null?void 0:y.$el;f&&(f.id=e.id)}a.onMounted(()=>{c(),u()});function d(f,y){l.value[f]=y,r({...l.value})}function m(){var f;(f=t.value)==null||f.resetFields()}function k(){var f;return(f=t.value)==null?void 0:f.validate()}return window.addEventListener("resize",c),{formSource:l,formInstance:t,formColumns:n,formRules:b,formCollspased:o,formActiosSpan:h,toggleFormCollapsed:s,updateFormField:d,updateFormSource:r,reset:m,validate:k}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},t=()=>{const r=[],n=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(o=>!!o.collapsed)&&r.push(a.createVNode(i.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(E,null,null):a.createVNode(K,null,null)})),this.$slots.actions&&r.push(...this.$slots.actions()),r.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,x(r)?r:{default:()=>[r]})]})]})},l=this.form.filter(r=>this.formCollspased?!r.collapsed:!0).filter(r=>{switch(!0){case typeof r.visiable=="boolean":return r.visiable;case typeof r.visiable=="function":return r.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:r=>this.formInstance=r,model:this.formSource}),{default:()=>[a.createVNode(i.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(r=>{let n;return a.createVNode(i.GridItem,{span:r.span},x(n=ie(this.formSource,r))?n:{default:()=>[n]})}),t()]})]})])}});function fe(e){return e}function me(e){const t=a.getCurrentInstance(),l=a.ref();function r(){var o,s;const n=(s=(o=t==null?void 0:t.proxy)==null?void 0:o.$refs)==null?void 0:s[e];n&&(l.value=n)}return a.onMounted(r),a.onUpdated(r),l}const he={install(e,t){e.component("FormRender",D)}};exports.FormRenderResolver=_.FormRenderResolver;exports.FormRender=D;exports.default=he;exports.defineForm=fe;exports.useForm=me;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("@arco-design/web-vue"),w=require("dayjs"),_=require("./resolver.cjs");const M=Symbol("ArcoConfigProvider"),P="arco",T="$arco",O=e=>{var t,l,r;const n=a.getCurrentInstance(),o=a.inject(M,void 0),s=(r=(l=o==null?void 0:o.prefixCls)!=null?l:(t=n==null?void 0:n.appContext.config.globalProperties[T])==null?void 0:t.classPrefix)!=null?r:P;return e?`${s}-${e}`:s},R=Object.prototype.toString;function I(e){return R.call(e)==="[object Number]"&&e===e}var j=(e,t)=>{for(const[l,r]of t)e[l]=r;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:t}){const l=O("icon"),r=a.computed(()=>[l,`${l}-down`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=I(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),z=["stroke-width","stroke-linecap","stroke-linejoin"],L=a.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),q=[L];function B(e,t,l,r,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:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},q,14,z)}var C=j(p,[["render",B]]);const E=Object.assign(C,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+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:t}){const l=O("icon"),r=a.computed(()=>[l,`${l}-up`,{[`${l}-spin`]:e.spin}]),n=a.computed(()=>{const s={};return e.size&&(s.fontSize=I(e.size)?`${e.size}px`:e.size),e.rotate&&(s.transform=`rotate(${e.rotate}deg)`),s});return{cls:r,innerStyle:n,onClick:s=>{t("click",s)}}}}),W=["stroke-width","stroke-linecap","stroke-linejoin"],A=a.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),Y=[A];function G(e,t,l,r,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:t[0]||(t[0]=(...s)=>e.onClick&&e.onClick(...s))},Y,14,W)}var V=j(U,[["render",G]]);const K=Object.assign(V,{install:(e,t)=>{var l;const r=(l=t==null?void 0:t.iconPrefix)!=null?l:"";e.component(r+V.name,V)}}),N={id:Symbol("ID"),source:Symbol("Source")};function Q(e,t){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),t&&t[n.key]!==void 0&&(o=t[n.key]),l.value[n.key]=o}),[l,n=>{l.value=n}]}function X(e){function t(l,r){return e!=null&&e.disabledDate?e.disabledDate(l,r):!1}return(l,r)=>{switch(e==null?void 0:e.type){case"week":return a.createVNode(i.WeekPicker,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,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[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,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[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,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[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,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[r.key],"onUpdate:modelValue":n=>l[r.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function H(e){return(t,l)=>{switch(e==null?void 0:e.type){case"number":return a.createVNode(i.InputNumber,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,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:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,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 F(e,t,l){const r=a.watch(e,(...n)=>(a.nextTick(()=>r()),t(...n)),l);return r}function J(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const v=new WeakMap;function Z(){const e=a.ref(new Map);return[e,l=>e.value=l]}function ee(e){let t,l=!1;const[r,n]=Z(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=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),s(e.options,u=>{const d=v.get(e.options);v.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>{let d;return e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Select,{ref:m=>t=m,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":m=>c[u.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o},J(d=Array.from(r.value.entries()).map(([m,k])=>a.createVNode(i.Option,{key:m,value:m,label:k},null)))?d:{default:()=>[d]})}}function te(e){function t(){e!=null&&e.autoSumbit}return(l,r)=>(e!=null&&e.default&&(l[r.key]=e.default),a.createVNode(i.Switch,{modelValue:l[r.key],"onUpdate:modelValue":n=>l[r.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:t},null))}function re(e){return(t,l)=>{let r=[];function n(h){r=h}function o(h){if(h&&h.length===2){const[b,c]=h.sort(),u=w(b).startOf("days"),d=w(c).endOf("days");t[l.key]=[u.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),d.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function s(h){return e!=null&&e.disabledDate?e.disabledDate(r,h):!1}return a.createVNode("div",null,[a.createVNode(i.RangePicker,{"disabled-input":!0,style:{width:"300px"},modelValue:t[l.key],"onUpdate:modelValue":h=>t[l.key]=h,onSelect:n,onChange:o,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":s,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function le(e){return(t,l)=>a.createVNode(i.Textarea,{modelValue:t[l.key],"onUpdate:modelValue":r=>t[l.key]=r,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 ae(){const e=a.ref([]);return[e,l=>e.value=l]}function ne(e){let t,l=!1;const[r,n]=ae(),o=()=>{if(!e.autoSumbit||!t)return;let u=t;for(;u&&u.$el.tagName!=="FORM";)u=u.$parent;u&&u.$el&&u.$el.dispatchEvent(new Event("submit"))},s=(u,d)=>{const m=u();m instanceof Promise?m.then(d):d(m)},h=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),s(e.options,d=>{const m=S.get(e.options);S.set(e.options,d),m(d)})},b=()=>{s(e.options,u=>{n(u)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}function c(u,d){var f;const m=((f=e.fieldNames)==null?void 0:f.title)||"title",k=d[m];return k?k.toLowerCase().includes(u.toLowerCase()):!1}return(u,d)=>(e.default&&!l&&(u[d.key]=e.default,l=!0),a.createVNode(i.TreeSelect,{ref:m=>t=m,multiple:e.multiple,modelValue:u[d.key],"onUpdate:modelValue":m=>u[d.key]=m,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,filterTreeNode:c,data:r.value,fieldNames:e.fieldNames,treeProps:e.treeProps},{...e.slots}))}const g=new WeakMap;function ue(){const e=a.ref([]);return[e,l=>e.value=l]}function ce(e){let t,l=!1;const[r,n]=ue(),o=()=>{if(!e.autoSumbit||!t)return;let c=t;for(;c&&c.$el.tagName!=="FORM";)c=c.$parent;c&&c.$el&&c.$el.dispatchEvent(new Event("submit"))},s=(c,u)=>{const d=c();d instanceof Promise?d.then(u):u(d)},h=async()=>{const c=g.get(e.options);switch(typeof c){case"function":g.set(e.options,n);return;case"object":n(c);return}g.set(e.options,n),s(e.options,u=>{const d=g.get(e.options);g.set(e.options,u),d(u)})},b=()=>{s(e.options,c=>{n(c)})};switch(!0){case e.options instanceof Function:{e.cache!==!1?h():b();break}case a.isRef(e.options):{F(e.options,()=>{n(e.options.value)},{immediate:!0});break}default:r.value=e.options}return(c,u)=>(e.default&&!l&&(c[u.key]=e.default,l=!0),a.createVNode(i.Cascader,{pathMode:e.pathMode,ref:d=>t=d,multiple:e.multiple,modelValue:c[u.key],"onUpdate:modelValue":d=>c[u.key]=d,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:o,options:r.value},null))}function de(e){return t=>e(t)}function se(){return{input:H,textarea:le,select:ee,treeSelect:ne,date:X,switch:te,dateRange:re,render:de,cascader:ce}}function oe(e,t){t.render||(t.render=r=>r.input());const l=t.render({...se()});return{default:()=>l(e,t)}}function ie(e,t){return a.h(i.FormItem,{field:t.key,label:t.title},oe(e,t))}function x(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const D=a.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:400},name:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},id:{type:String,required:!1,default:`form-${Math.random().toString(32).slice(2)}`},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","validate"],setup(e){const t=a.ref(),[l,r]=Q(e.form,e.modelValue||e.value),n=a.ref(e.columns||0),o=a.ref(!0),s=()=>o.value=!o.value;a.provide(N.id,e.id),a.provide(N.source,l);const h=a.computed(()=>{if(!n.value)return 1;const f=e.form.reduce((y,$)=>y+(($==null?void 0:$.span)||1),0);return n.value-f%n.value}),b=a.computed(()=>e.form.reduce((f,y)=>(y.rule&&(f[y.key]=y.rule),f),{}));function c(){var y;if(e.columns)return;const f=(y=t.value)==null?void 0:y.$el;f&&(n.value=Math.floor(f.offsetWidth/e.minWidth))}function u(){var y;const f=(y=t.value)==null?void 0:y.$el;f&&(f.id=e.id)}a.onMounted(()=>{c(),u()});function d(f,y){l.value[f]=y,r({...l.value})}function m(){var f;(f=t.value)==null||f.resetFields()}function k(){var f;return(f=t.value)==null?void 0:f.validate()}return window.addEventListener("resize",c),{formSource:l,formInstance:t,formColumns:n,formRules:b,formCollspased:o,formActiosSpan:h,toggleFormCollapsed:s,updateFormField:d,updateFormSource:r,reset:m,validate:k}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},t=()=>{const r=[],n=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("搜索")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>{var o;return(o=this.formInstance)==null?void 0:o.resetFields()}},{default:()=>[a.createTextVNode("重置")]}))),this.submitable&&(r.push(a.createVNode(i.Button,{type:"primary",htmlType:"submit"},{default:()=>[a.createTextVNode("提交")]})),r.push(a.createVNode(i.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[a.createTextVNode("取消")]}))),this.form.some(o=>!!o.collapsed)&&r.push(a.createVNode(i.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?a.createVNode(E,null,null):a.createVNode(K,null,null)})),this.$slots.actions&&r.push(...this.$slots.actions()),r.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,x(r)?r:{default:()=>[r]})]})]})},l=this.form.filter(r=>this.formCollspased?!r.collapsed:!0).filter(r=>{switch(!0){case typeof r.visiable=="boolean":return r.visiable;case typeof r.visiable=="function":return r.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:r=>this.formInstance=r,model:this.formSource}),{default:()=>[a.createVNode(i.Grid,{cols:this.formColumns,"col-gap":24,"rol-gap":10},{default:()=>[l.filter(()=>this.formColumns!==0).map(r=>{let n;return a.createVNode(i.GridItem,{span:r.span},x(n=ie(this.formSource,r))?n:{default:()=>[n]})}),t()]})]})])}});function fe(e){return e}function me(e){const t=a.getCurrentInstance(),l=a.ref();function r(){var o,s;const n=(s=(o=t==null?void 0:t.proxy)==null?void 0:o.$refs)==null?void 0:s[e];n&&(l.value=n)}return a.onMounted(r),a.onUpdated(r),l}const he={install(e,t){e.component("FormRender",D)}};exports.FormRenderResolver=_.FormRenderResolver;exports.FormRender=D;exports.default=he;exports.defineForm=fe;exports.useForm=me;
|
|
@@ -15,5 +15,6 @@ export interface RenderTreeSelectItemOptions {
|
|
|
15
15
|
default?: string | number | boolean;
|
|
16
16
|
autoSumbit?: boolean;
|
|
17
17
|
cache?: boolean;
|
|
18
|
-
treeProps?: TreeProps
|
|
18
|
+
treeProps?: Partial<TreeProps>;
|
|
19
|
+
slots?: Record<'trigger' | 'prefix' | 'label' | 'header' | 'loader' | 'empty' | 'footer' | 'tree-slot-extra' | 'tree-slot-title' | 'tree-slot-icon' | 'tree-slot-switcher-icon', (data?: TreeNodeData) => JSX.Element>;
|
|
19
20
|
}
|
package/dist/es/index.mjs
CHANGED