@gopowerteam/form-render 0.0.17 → 0.0.19

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