@gopowerteam/form-render 0.0.18 → 0.0.20

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 type SelectOptions = Map<string | number, string>;
4
4
  export interface RenderSelectItemOptions {
5
5
  placeholder?: string;
6
6
  clearable?: boolean;
7
+ searchable?: boolean;
7
8
  options: SelectOptions | (() => SelectOptions) | Promise<SelectOptions> | (() => Promise<SelectOptions>);
8
9
  multiple?: boolean;
9
10
  maxTagCount?: number;
@@ -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,allowSearch:e.searchable,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 o;return e.default&&!t&&(n[c.key]=e.default,t=!0),l.createVNode(f.Select,{ref:s=>r=s,multiple:e.multiple,modelValue:n[c.key],"onUpdate:modelValue":s=>n[c.key]=s,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:d},H(o=Array.from(a.value.entries()).map(([s,h])=>l.createVNode(f.Option,{key:s,value:s,label:h},null)))?o:{default:()=>[o]})}}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[o,s]=c.sort(),h=$(o).startOf("days"),y=$(s).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,o){var y;const s=((y=e.fieldNames)==null?void 0:y.title)||"title",h=o[s];return h?h.toLowerCase().includes(c.toLowerCase()):!1}return(c,o)=>(e.default&&!t&&(c[o.key]=e.default,t=!0),l.createVNode(f.TreeSelect,{ref:s=>r=s,multiple:e.multiple,modelValue:c[o.key],"onUpdate:modelValue":s=>c[o.key]=s,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 o=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}),s=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:s,formCollspased:n,formActiosSpan:o,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 type SelectOptions = Map<string | number, string>;
4
4
  export interface RenderSelectItemOptions {
5
5
  placeholder?: string;
6
6
  clearable?: boolean;
7
+ searchable?: boolean;
7
8
  options: SelectOptions | (() => SelectOptions) | Promise<SelectOptions> | (() => Promise<SelectOptions>);
8
9
  multiple?: boolean;
9
10
  maxTagCount?: number;
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 le, Option as te, 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 le, Option as te, 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 se = Symbol("ArcoConfigProvider"), ie = "arco", me = "$arco", q = (e) => {
6
6
  var t, l, r;
7
- const n = j(), c = A(se, void 0), a = (r = (l = c == null ? void 0 : c.prefixCls) != null ? l : (t = n == null ? void 0 : n.appContext.config.globalProperties[me]) == null ? void 0 : t.classPrefix) != null ? r : ie;
7
+ const n = O(), d = A(se, void 0), a = (r = (l = d == null ? void 0 : d.prefixCls) != null ? l : (t = n == null ? void 0 : n.appContext.config.globalProperties[me]) == null ? void 0 : t.classPrefix) != null ? r : ie;
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, t) => {
15
15
  e[l] = 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: t
46
46
  }) {
47
- const l = q("icon"), r = y(() => [l, `${l}-down`, {
47
+ const l = q("icon"), r = k(() => [l, `${l}-down`, {
48
48
  [`${l}-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, t, l, r, n, c) {
65
- return N(), P("svg", {
64
+ function ve(e, t, l, 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 = (l = t == null ? void 0 : t.iconPrefix) != null ? l : "";
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: t
113
113
  }) {
114
- const l = q("icon"), r = y(() => [l, `${l}-up`, {
114
+ const l = q("icon"), r = k(() => [l, `${l}-up`, {
115
115
  [`${l}-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, t, l, r, n, c) {
132
- return N(), P("svg", {
131
+ function we(e, t, l, 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: t[0] || (t[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, t) => {
148
148
  var l;
149
149
  const r = (l = t == null ? void 0 : t.iconPrefix) != null ? l : "";
@@ -154,10 +154,10 @@ const we = Object.assign(C, {
154
154
  source: Symbol("Source")
155
155
  };
156
156
  function Ve(e, t) {
157
- const l = o({});
157
+ const l = 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), t && t[n.key] !== void 0 && (c = t[n.key]), l.value[n.key] = c;
159
+ let d = null;
160
+ n.default && (d = (typeof n.default == "function" ? n.default() : n.default) || null), t && t[n.key] !== void 0 && (d = t[n.key]), l.value[n.key] = d;
161
161
  }), [l, (n) => {
162
162
  l.value = n;
163
163
  }];
@@ -169,7 +169,7 @@ function Ie(e) {
169
169
  return (l, 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: l[r.key],
174
174
  "onUpdate:modelValue": (n) => l[r.key] = n,
175
175
  "disabled-date": t,
@@ -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: l[r.key],
182
182
  "onUpdate:modelValue": (n) => l[r.key] = n,
183
183
  "disabled-date": t,
@@ -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: l[r.key],
190
190
  "onUpdate:modelValue": (n) => l[r.key] = n,
191
191
  "disabled-date": t,
@@ -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: l[r.key],
198
198
  "onUpdate:modelValue": (n) => l[r.key] = n,
199
199
  "disabled-date": t,
@@ -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: l[r.key],
207
207
  "onUpdate:modelValue": (n) => l[r.key] = n,
208
208
  "disabled-date": t,
@@ -216,7 +216,7 @@ function _e(e) {
216
216
  return (t, l) => {
217
217
  switch (e == null ? void 0 : e.type) {
218
218
  case "number":
219
- return u(ee, {
219
+ return c(ee, {
220
220
  modelValue: t[l.key],
221
221
  "onUpdate:modelValue": (r) => t[l.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: t[l.key],
231
231
  "onUpdate:modelValue": (r) => t[l.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 t, l = !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 || !t)
270
270
  return;
271
271
  let a = t;
@@ -273,31 +273,32 @@ 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 s;
278
- return e.default && !l && (a[d.key] = e.default, l = !0), u(le, {
279
- ref: (i) => t = i,
278
+ return e.default && !l && (a[u.key] = e.default, l = !0), c(le, {
279
+ ref: (f) => t = f,
280
280
  multiple: e.multiple,
281
- modelValue: a[d.key],
282
- "onUpdate:modelValue": (i) => a[d.key] = i,
281
+ modelValue: a[u.key],
282
+ "onUpdate:modelValue": (f) => a[u.key] = f,
283
283
  placeholder: e.placeholder,
284
284
  allowClear: e.clearable,
285
+ allowSearch: e.searchable,
285
286
  maxTagCount: e.maxTagCount ?? 2,
286
- onChange: c
287
- }, De(s = Array.from(r.value.entries()).map(([i, h]) => u(te, {
288
- key: i,
289
- value: i,
290
- label: h
287
+ onChange: d
288
+ }, De(s = Array.from(r.value.entries()).map(([f, o]) => c(te, {
289
+ key: f,
290
+ value: f,
291
+ label: o
291
292
  }, null))) ? s : {
292
293
  default: () => [s]
293
294
  });
294
295
  };
295
296
  }
296
- function je(e) {
297
+ function Oe(e) {
297
298
  function t() {
298
299
  e != null && e.autoSumbit;
299
300
  }
300
- return (l, r) => (e != null && e.default && (l[r.key] = e.default), u(re, {
301
+ return (l, r) => (e != null && e.default && (l[r.key] = e.default), c(re, {
301
302
  modelValue: l[r.key],
302
303
  "onUpdate:modelValue": (n) => l[r.key] = n,
303
304
  checkedText: (e == null ? void 0 : e.openLabel) ?? "是",
@@ -307,29 +308,29 @@ function je(e) {
307
308
  onChange: t
308
309
  }, null));
309
310
  }
310
- function Ne(e) {
311
+ function je(e) {
311
312
  return (t, l) => {
312
313
  let r = [];
313
- function n(d) {
314
- r = d;
314
+ function n(u) {
315
+ r = u;
315
316
  }
316
- function c(d) {
317
- if (d && d.length === 2) {
318
- const [s, i] = d.sort(), h = _(s).startOf("days"), S = _(i).endOf("days");
319
- t[l.key] = [h.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), S.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
317
+ function d(u) {
318
+ if (u && u.length === 2) {
319
+ const [s, f] = u.sort(), o = _(s).startOf("days"), y = _(f).endOf("days");
320
+ t[l.key] = [o.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), y.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
320
321
  }
321
322
  }
322
- function a(d) {
323
- return e != null && e.disabledDate ? e.disabledDate(r, d) : !1;
323
+ function a(u) {
324
+ return e != null && e.disabledDate ? e.disabledDate(r, u) : !1;
324
325
  }
325
- return u("div", null, [u(ae, {
326
+ return c("div", null, [c(ae, {
326
327
  style: {
327
328
  width: "300px"
328
329
  },
329
330
  modelValue: t[l.key],
330
- "onUpdate:modelValue": (d) => t[l.key] = d,
331
+ "onUpdate:modelValue": (u) => t[l.key] = u,
331
332
  onSelect: n,
332
- onChange: c,
333
+ onChange: d,
333
334
  mode: e == null ? void 0 : e.type,
334
335
  allowClear: e == null ? void 0 : e.clearable,
335
336
  "disabled-date": a,
@@ -338,8 +339,8 @@ function Ne(e) {
338
339
  }, null)]);
339
340
  };
340
341
  }
341
- function Pe(e) {
342
- return (t, l) => u(ne, {
342
+ function Le(e) {
343
+ return (t, l) => c(ne, {
343
344
  modelValue: t[l.key],
344
345
  "onUpdate:modelValue": (r) => t[l.key] = r,
345
346
  placeholder: e == null ? void 0 : e.placeholder,
@@ -347,70 +348,76 @@ function Pe(e) {
347
348
  maxLength: e == null ? void 0 : e.maxLength
348
349
  }, null);
349
350
  }
350
- const F = /* @__PURE__ */ new WeakMap();
351
- function ze(e) {
351
+ const w = /* @__PURE__ */ new WeakMap();
352
+ function Pe(e) {
352
353
  let t, l = !1;
353
- const r = o([]), n = (a) => {
354
- r.value = a, e.cache !== !1 && F.set(e.options, a);
354
+ const r = h([]), n = (u) => {
355
+ r.value = u, e.cache !== !1 && w.set(e.options, u);
355
356
  };
356
357
  switch (!0) {
357
358
  case e.options instanceof Function: {
358
- if (F.has(e.options)) {
359
- r.value = F.get(e.options);
359
+ if (w.has(e.options)) {
360
+ r.value = w.get(e.options);
360
361
  break;
361
362
  }
362
- const a = e.options();
363
- v(a) ? a.then(n) : n(a);
363
+ const u = e.options();
364
+ S(u) ? u.then(n) : n(u);
364
365
  break;
365
366
  }
366
- case v(e.options): {
367
- e.options.then((a) => r.value = a);
367
+ case S(e.options): {
368
+ e.options.then((u) => r.value = u);
368
369
  break;
369
370
  }
370
371
  default:
371
372
  r.value = e.options;
372
373
  }
373
- function c() {
374
+ function d() {
374
375
  if (!e.autoSumbit || !t)
375
376
  return;
376
- let a = t;
377
- for (; a && a.$el.tagName !== "FORM"; )
378
- a = a.$parent;
379
- a && a.$el && a.$el.dispatchEvent(new Event("submit"));
377
+ let u = t;
378
+ for (; u && u.$el.tagName !== "FORM"; )
379
+ u = u.$parent;
380
+ u && u.$el && u.$el.dispatchEvent(new Event("submit"));
380
381
  }
381
- return (a, d) => (e.default && !l && (a[d.key] = e.default, l = !0), u(ue, {
382
- ref: (s) => t = s,
382
+ function a(u, s) {
383
+ var y;
384
+ const f = ((y = e.fieldNames) == null ? void 0 : y.title) || "title", o = s[f];
385
+ return o ? o.toLowerCase().includes(u.toLowerCase()) : !1;
386
+ }
387
+ return (u, s) => (e.default && !l && (u[s.key] = e.default, l = !0), c(ue, {
388
+ ref: (f) => t = f,
383
389
  multiple: e.multiple,
384
- modelValue: a[d.key],
385
- "onUpdate:modelValue": (s) => a[d.key] = s,
390
+ modelValue: u[s.key],
391
+ "onUpdate:modelValue": (f) => u[s.key] = f,
386
392
  placeholder: e.placeholder,
387
393
  allowClear: e.clearable,
388
394
  allowSearch: e.searchable,
389
395
  maxTagCount: e.maxTagCount ?? 2,
390
- onChange: c,
396
+ onChange: d,
397
+ filterTreeNode: a,
391
398
  data: r.value,
392
399
  fieldNames: e.fieldNames
393
400
  }, null));
394
401
  }
395
- function Me(e) {
402
+ function ze(e) {
396
403
  return (t) => e(t);
397
404
  }
398
- function Le() {
405
+ function Me() {
399
406
  return {
400
407
  input: _e,
401
- textarea: Pe,
402
- select: Oe,
403
- treeSelect: ze,
408
+ textarea: Le,
409
+ select: Ne,
410
+ treeSelect: Pe,
404
411
  date: Ie,
405
- switch: je,
406
- dateRange: Ne,
407
- render: Me
412
+ switch: Oe,
413
+ dateRange: je,
414
+ render: ze
408
415
  };
409
416
  }
410
417
  function Ue(e, t) {
411
418
  t.render || (t.render = (r) => r.input());
412
419
  const l = t.render({
413
- ...Le()
420
+ ...Me()
414
421
  });
415
422
  return {
416
423
  default: () => l(e, t)
@@ -422,10 +429,10 @@ function Re(e, t) {
422
429
  label: t.title
423
430
  }, Ue(e, t));
424
431
  }
425
- function O(e) {
432
+ function N(e) {
426
433
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !U(e);
427
434
  }
428
- const Te = /* @__PURE__ */ w({
435
+ const Te = /* @__PURE__ */ F({
429
436
  props: {
430
437
  form: {
431
438
  type: Object,
@@ -477,41 +484,41 @@ const Te = /* @__PURE__ */ w({
477
484
  emits: ["submit", "cancel", "update:model-value"],
478
485
  expose: ["formSource", "updateFormField", "updateFormSource", "reset"],
479
486
  setup(e) {
480
- const t = Math.random().toString(32).slice(2).toUpperCase(), l = o(), [r, n] = Ve(e.form, e.modelValue || e.value), c = o(e.columns || 0), a = o(!0), d = () => a.value = !a.value;
487
+ const t = Math.random().toString(32).slice(2).toUpperCase(), l = h(), [r, n] = Ve(e.form, e.modelValue || e.value), d = h(e.columns || 0), a = h(!0), u = () => a.value = !a.value;
481
488
  V(D.id, t), V(D.source, r);
482
- const s = y(() => {
483
- if (!c.value)
489
+ const s = k(() => {
490
+ if (!d.value)
484
491
  return 1;
485
- const f = e.form.reduce((m, $) => m + (($ == null ? void 0 : $.span) || 1), 0);
486
- return c.value - f % c.value;
487
- }), i = y(() => e.form.reduce((f, m) => (m.rule && (f[m.key] = m.rule), f), {}));
488
- function h() {
492
+ const i = e.form.reduce((m, $) => m + (($ == null ? void 0 : $.span) || 1), 0);
493
+ return d.value - i % d.value;
494
+ }), f = k(() => e.form.reduce((i, m) => (m.rule && (i[m.key] = m.rule), i), {}));
495
+ function o() {
489
496
  var m;
490
- const f = (m = l.value) == null ? void 0 : m.$el;
491
- f && (c.value = Math.floor(f.offsetWidth / e.minWidth));
497
+ const i = (m = l.value) == null ? void 0 : m.$el;
498
+ i && (d.value = Math.floor(i.offsetWidth / e.minWidth));
492
499
  }
493
500
  R(() => {
494
- h();
501
+ o();
495
502
  });
496
- function S(f, m) {
497
- r.value[f] = m, n({
503
+ function y(i, m) {
504
+ r.value[i] = m, n({
498
505
  ...r
499
506
  });
500
507
  }
501
508
  function W() {
502
- var f;
503
- (f = l.value) == null || f.resetFields();
509
+ var i;
510
+ (i = l.value) == null || i.resetFields();
504
511
  }
505
- return window.addEventListener("resize", h), {
512
+ return window.addEventListener("resize", o), {
506
513
  formId: t,
507
514
  formSource: r,
508
515
  formInstance: l,
509
- formColumns: c,
510
- formRules: i,
516
+ formColumns: d,
517
+ formRules: f,
511
518
  formCollspased: a,
512
519
  formActiosSpan: s,
513
- toggleFormCollapsed: d,
514
- updateFormField: S,
520
+ toggleFormCollapsed: u,
521
+ updateFormField: y,
515
522
  updateFormSource: n,
516
523
  reset: W
517
524
  };
@@ -525,49 +532,49 @@ const Te = /* @__PURE__ */ w({
525
532
  } : {
526
533
  span: this.formActiosSpan
527
534
  };
528
- if (this.searchable && (l.push(u(k, {
535
+ if (this.searchable && (l.push(c(b, {
529
536
  type: "primary",
530
537
  htmlType: "submit"
531
538
  }, {
532
- default: () => [b("搜索")]
533
- })), l.push(u(k, {
539
+ default: () => [v("搜索")]
540
+ })), l.push(c(b, {
534
541
  type: "secondary",
535
542
  onClick: () => {
536
543
  var n;
537
544
  return (n = this.formInstance) == null ? void 0 : n.resetFields();
538
545
  }
539
546
  }, {
540
- default: () => [b("重置")]
541
- }))), this.submitable && (l.push(u(k, {
547
+ default: () => [v("重置")]
548
+ }))), this.submitable && (l.push(c(b, {
542
549
  type: "primary",
543
550
  htmlType: "submit"
544
551
  }, {
545
- default: () => [b("提交")]
546
- })), l.push(u(k, {
552
+ default: () => [v("提交")]
553
+ })), l.push(c(b, {
547
554
  type: "secondary",
548
555
  onClick: () => this.$emit("cancel")
549
556
  }, {
550
- default: () => [b("取消")]
551
- }))), this.form.some((n) => !!n.collapsed) && l.push(u(k, {
557
+ default: () => [v("取消")]
558
+ }))), this.form.some((n) => !!n.collapsed) && l.push(c(b, {
552
559
  onClick: this.toggleFormCollapsed
553
560
  }, {
554
561
  default: () => this.formCollspased ? "展开" : "收起",
555
- icon: () => this.formCollspased ? u(Se, null, null) : u(we, null, null)
562
+ icon: () => this.formCollspased ? c(Se, null, null) : c(Fe, null, null)
556
563
  })), this.$slots.actions && l.push(...this.$slots.actions()), l.length)
557
- return u(I, r, {
558
- default: () => [u(T, {
564
+ return c(I, r, {
565
+ default: () => [c(T, {
559
566
  hideLabel: !0,
560
567
  contentClass: this.footer ? "form-footer" : ""
561
568
  }, {
562
- default: () => [u(fe, null, O(l) ? l : {
569
+ default: () => [c(fe, null, N(l) ? l : {
563
570
  default: () => [l]
564
571
  })]
565
572
  })]
566
573
  });
567
574
  };
568
- return u("div", {
575
+ return c("div", {
569
576
  class: "form-render"
570
- }, [u(ce, G({
577
+ }, [c(ce, G({
571
578
  layout: this.$props.layout,
572
579
  rules: this.formRules,
573
580
  onSubmitSuccess: e
@@ -578,16 +585,16 @@ const Te = /* @__PURE__ */ w({
578
585
  ref: (l) => this.formInstance = l,
579
586
  model: this.formSource
580
587
  }), {
581
- default: () => [u(de, {
588
+ default: () => [c(de, {
582
589
  cols: this.formColumns,
583
590
  "col-gap": 10,
584
591
  "rol-gap": 10
585
592
  }, {
586
593
  default: () => [this.form.filter((l) => this.formCollspased ? !l.collapsed : !0).map((l) => {
587
594
  let r;
588
- return u(I, {
595
+ return c(I, {
589
596
  span: l.span
590
- }, O(r = Re(this.formSource, l)) ? r : {
597
+ }, N(r = Re(this.formSource, l)) ? r : {
591
598
  default: () => [r]
592
599
  });
593
600
  }), t()]
@@ -599,10 +606,10 @@ function We(e) {
599
606
  return e;
600
607
  }
601
608
  function Ae(e) {
602
- const t = j(), l = o();
609
+ const t = O(), l = h();
603
610
  function r() {
604
- var c, a;
605
- const n = (a = (c = t == null ? void 0 : t.proxy) == null ? void 0 : c.$refs) == null ? void 0 : a[e];
611
+ var d, a;
612
+ const n = (a = (d = t == null ? void 0 : t.proxy) == null ? void 0 : d.$refs) == null ? void 0 : a[e];
606
613
  n && (l.value = n);
607
614
  }
608
615
  return R(r), K(r), l;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/form-render",
3
3
  "type": "module",
4
- "version": "0.0.18",
4
+ "version": "0.0.20",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"