@gopowerteam/form-render 0.0.12 → 0.0.13

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,9 +4,10 @@ export type SelectOptions = Map<string | number, string>;
4
4
  export interface RenderSelectItemOptions {
5
5
  placeholder?: string;
6
6
  clearable?: boolean;
7
- options: SelectOptions | Promise<SelectOptions> | (() => Promise<SelectOptions>);
7
+ options: SelectOptions | (() => SelectOptions) | Promise<SelectOptions> | (() => Promise<SelectOptions>);
8
8
  multiple?: boolean;
9
9
  maxTagCount?: number;
10
10
  default?: string | number | boolean;
11
11
  autoSumbit?: boolean;
12
+ cache?: boolean;
12
13
  }
@@ -359,8 +359,8 @@ export declare const FormRender: import("vue").DefineComponent<{
359
359
  onCancel?: ((...args: any[]) => any) | undefined;
360
360
  "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
361
361
  }, {
362
- footer: boolean;
363
362
  name: string;
363
+ footer: boolean;
364
364
  layout: "horizontal" | "vertical";
365
365
  minWidth: number;
366
366
  submitable: 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"),S=require("dayjs"),I=require("./resolver.cjs");const _=Symbol("ArcoConfigProvider"),j="arco",D="$arco",$=e=>{var t,r,a;const u=l.getCurrentInstance(),c=l.inject(_,void 0),n=(a=(r=c==null?void 0:c.prefixCls)!=null?r:(t=u==null?void 0:u.appContext.config.globalProperties[D])==null?void 0:t.classPrefix)!=null?a:j;return e?`${n}-${e}`:n},z=Object.prototype.toString;function F(e){return z.call(e)==="[object Number]"&&e===e}var N=(e,t)=>{for(const[r,a]of t)e[r]=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:t}){const r=$("icon"),a=l.computed(()=>[r,`${r}-down`,{[`${r}-spin`]:e.spin}]),u=l.computed(()=>{const n={};return e.size&&(n.fontSize=F(e.size)?`${e.size}px`:e.size),e.rotate&&(n.transform=`rotate(${e.rotate}deg)`),n});return{cls:a,innerStyle:u,onClick:n=>{t("click",n)}}}}),B=["stroke-width","stroke-linecap","stroke-linejoin"],M=l.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),O=[M];function q(e,t,r,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:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))},O,14,B)}var b=N(P,[["render",q]]);const L=Object.assign(b,{install:(e,t)=>{var r;const a=(r=t==null?void 0:t.iconPrefix)!=null?r:"";e.component(a+b.name,b)}}),R=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:t}){const r=$("icon"),a=l.computed(()=>[r,`${r}-up`,{[`${r}-spin`]:e.spin}]),u=l.computed(()=>{const n={};return e.size&&(n.fontSize=F(e.size)?`${e.size}px`:e.size),e.rotate&&(n.transform=`rotate(${e.rotate}deg)`),n});return{cls:a,innerStyle:u,onClick:n=>{t("click",n)}}}}),U=["stroke-width","stroke-linecap","stroke-linejoin"],T=l.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),E=[T];function A(e,t,r,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:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))},E,14,U)}var v=N(R,[["render",A]]);const W=Object.assign(v,{install:(e,t)=>{var r;const a=(r=t==null?void 0:t.iconPrefix)!=null?r:"";e.component(a+v.name,v)}}),g={id:Symbol("ID"),source:Symbol("Source")};function Y(e,t){const r=l.ref({});return e==null||e.forEach(u=>{let c=null;u.default&&(c=(typeof u.default=="function"?u.default():u.default)||null),t&&t[u.key]&&(c=t[u.key]),r.value[u.key]=c}),[r,u=>{r.value=u}]}function G(e){function t(r,a){return e!=null&&e.disabledDate?e.disabledDate(r,a):!1}return(r,a)=>{switch(e==null?void 0:e.type){case"week":return l.createVNode(d.WeekPicker,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return l.createVNode(d.MonthPicker,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return l.createVNode(d.QuarterPicker,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return l.createVNode(d.YearPicker,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,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:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function K(e){return(t,r)=>{switch(e==null?void 0:e.type){case"number":return l.createVNode(d.InputNumber,{modelValue:t[r.key],"onUpdate:modelValue":a=>t[r.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:t[r.key],"onUpdate:modelValue":a=>t[r.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 Q(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const V=new WeakMap;function X(e){let t=!1;const r=l.ref(new Map);e.options instanceof Function?V.has(e.options)?r.value=V.get(e.options):e.options().then(u=>{r.value=u,V.set(e.options,u)}):e.options instanceof Promise?e.options.then(u=>r.value=u):r.value=e.options;function a(){e.autoSumbit}return(u,c)=>{let n;return e.default&&!t&&(u[c.key]=e.default,t=!0),l.createVNode(d.Select,{multiple:e.multiple,modelValue:u[c.key],"onUpdate:modelValue":o=>u[c.key]=o,placeholder:e.placeholder,allowClear:e.clearable,maxTagCount:e.maxTagCount??5,onChange:a},Q(n=Array.from(r.value.entries()).map(([o,i])=>l.createVNode(d.Option,{key:o,value:o,label:i},null)))?n:{default:()=>[n]})}}function H(e){function t(){e!=null&&e.autoSumbit}return(r,a)=>(e!=null&&e.default&&(r[a.key]=e.default),l.createVNode(d.Switch,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[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:t},null))}function J(e){return(t,r)=>{let a=[];function u(o){a=o}function c(o){if(o&&o.length===2){const[i,h]=o.sort(),s=S(i).startOf("days"),y=S(h).endOf("days");t[r.key]=[s.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),y.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function n(o){return e!=null&&e.disabledDate?e.disabledDate(a,o):!1}return l.createVNode("div",null,[l.createVNode(d.RangePicker,{style:{width:"300px"},modelValue:t[r.key],"onUpdate:modelValue":o=>t[r.key]=o,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 Z(e){return(t,r)=>l.createVNode(d.Textarea,{modelValue:t[r.key],"onUpdate:modelValue":a=>t[r.key]=a,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}function p(e){return t=>e(t)}function ee(){return{input:K,textarea:Z,select:X,date:G,switch:H,dateRange:J,render:p}}function re(e,t){t.render||(t.render=a=>a.input());const r=t.render({...ee()});return{default:()=>r(e,t)}}function te(e,t){return l.h(d.FormItem,{field:t.key,label:t.title},re(e,t))}function C(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const x=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:350},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 t=Math.random().toString(32).slice(2).toUpperCase(),r=l.ref(),[a,u]=Y(e.form,e.modelValue||e.value),c=l.ref(e.columns||0),n=l.ref(!0),o=()=>n.value=!n.value;l.provide(g.id,t),l.provide(g.source,a);const i=l.computed(()=>{if(!c.value)return 1;const f=e.form.reduce((m,k)=>m+((k==null?void 0:k.span)||1),0);return c.value-f%c.value}),h=l.computed(()=>e.form.reduce((f,m)=>(m.rule&&(f[m.key]=m.rule),f),{}));function s(){var f;if(c.value===0){const m=(f=r.value)==null?void 0:f.$el;c.value=Math.floor(m.offsetWidth/e.minWidth)}}l.onMounted(()=>{s()});function y(f,m){a.value[f]=m,u({...a})}function w(){var f;(f=r.value)==null||f.resetFields()}return window.addEventListener("resize",s),{formId:t,formSource:a,formInstance:r,formColumns:c,formRules:h,formCollspased:n,formActiosSpan:i,toggleFormCollapsed:o,updateFormField:y,updateFormSource:u,reset:w}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},t=()=>{const r=[],a=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(r.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("搜索")]})),r.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>{var u;return(u=this.formInstance)==null?void 0:u.resetFields()}},{default:()=>[l.createTextVNode("重置")]}))),this.submitable&&(r.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("提交")]})),r.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[l.createTextVNode("取消")]}))),this.form.some(u=>!!u.collapsed)&&r.push(l.createVNode(d.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?l.createVNode(L,null,null):l.createVNode(W,null,null)})),this.$slots.actions&&r.push(...this.$slots.actions()),r.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,C(r)?r:{default:()=>[r]})]})]})};return l.createVNode(d.Form,l.mergeProps({layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e},{name:this.name},{"auto-label-width":!0,ref:r=>this.formInstance=r,model:this.formSource}),{default:()=>[l.createVNode(d.Grid,{cols:this.formColumns,"col-gap":10,"rol-gap":10},{default:()=>[this.form.filter(r=>this.formCollspased?!r.collapsed:!0).map(r=>{let a;return l.createVNode(d.GridItem,{span:r.span},C(a=te(this.formSource,r))?a:{default:()=>[a]})}),t()]})]})}});function le(e){return e}function ae(e){const t=l.getCurrentInstance(),r=l.ref();function a(){var c,n;const u=(n=(c=t==null?void 0:t.proxy)==null?void 0:c.$refs)==null?void 0:n[e];u&&(r.value=u)}return l.onMounted(a),l.onUpdated(a),r}const ue={install(e,t){e.component("FormRender",x)}};exports.FormRenderResolver=I.FormRenderResolver;exports.FormRender=x;exports.default=ue;exports.defineForm=le;exports.useForm=ae;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),d=require("@arco-design/web-vue"),S=require("dayjs"),_=require("./resolver.cjs");const D=Symbol("ArcoConfigProvider"),j="arco",z="$arco",F=e=>{var r,t,a;const u=l.getCurrentInstance(),c=l.inject(D,void 0),n=(a=(t=c==null?void 0:c.prefixCls)!=null?t:(r=u==null?void 0:u.appContext.config.globalProperties[z])==null?void 0:r.classPrefix)!=null?a:j;return e?`${n}-${e}`:n},O=Object.prototype.toString;function N(e){return O.call(e)==="[object Number]"&&e===e}var x=(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=N(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)}}}}),M=["stroke-width","stroke-linecap","stroke-linejoin"],B=l.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),R=[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))},R,14,M)}var b=x(P,[["render",q]]);const L=Object.assign(b,{install:(e,r)=>{var t;const a=(t=r==null?void 0:r.iconPrefix)!=null?t:"";e.component(a+b.name,b)}}),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=N(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"],E=l.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),A=[E];function W(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,T)}var v=x(U,[["render",W]]);const Y=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)}}),g={id:Symbol("ID"),source:Symbol("Source")};function G(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]&&(c=r[u.key]),t.value[u.key]=c}),[t,u=>{t.value=u}]}function K(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 Q(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 $(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function X(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const V=new WeakMap;function H(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();$(n)?n.then(u):u(n);break}case $(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 m;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??5,onChange:c},X(m=Array.from(a.value.entries()).map(([i,h])=>l.createVNode(d.Option,{key:i,value:i,label:h},null)))?m:{default:()=>[m]})}}function J(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 Z(e){return(r,t)=>{let a=[];function u(f){a=f}function c(f){if(f&&f.length===2){const[m,i]=f.sort(),h=S(m).startOf("days"),y=S(i).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(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 p(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)}function ee(e){return r=>e(r)}function te(){return{input:Q,textarea:p,select:H,date:K,switch:J,dateRange:Z,render:ee}}function re(e,r){r.render||(r.render=a=>a.input());const t=r.render({...te()});return{default:()=>t(e,r)}}function le(e,r){return l.h(d.FormItem,{field:r.key,label:r.title},re(e,r))}function C(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const w=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:350},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]=G(e.form,e.modelValue||e.value),c=l.ref(e.columns||0),n=l.ref(!0),f=()=>n.value=!n.value;l.provide(g.id,r),l.provide(g.source,a);const m=l.computed(()=>{if(!c.value)return 1;const o=e.form.reduce((s,k)=>s+((k==null?void 0:k.span)||1),0);return c.value-o%c.value}),i=l.computed(()=>e.form.reduce((o,s)=>(s.rule&&(o[s.key]=s.rule),o),{}));function h(){var o;if(c.value===0){const s=(o=t.value)==null?void 0:o.$el;c.value=Math.floor(s.offsetWidth/e.minWidth)}}l.onMounted(()=>{h()});function y(o,s){a.value[o]=s,u({...a})}function I(){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:m,toggleFormCollapsed:f,updateFormField:y,updateFormSource:u,reset:I}},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(Y,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,C(t)?t:{default:()=>[t]})]})]})};return 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},C(a=le(this.formSource,t))?a:{default:()=>[a]})}),r()]})]})}});function ae(e){return e}function ne(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 ue={install(e,r){e.component("FormRender",w)}};exports.FormRenderResolver=_.FormRenderResolver;exports.FormRender=w;exports.default=ue;exports.defineForm=ae;exports.useForm=ne;
@@ -0,0 +1 @@
1
+ export declare function isPromise(obj: any): boolean;
@@ -4,9 +4,10 @@ export type SelectOptions = Map<string | number, string>;
4
4
  export interface RenderSelectItemOptions {
5
5
  placeholder?: string;
6
6
  clearable?: boolean;
7
- options: SelectOptions | Promise<SelectOptions> | (() => Promise<SelectOptions>);
7
+ options: SelectOptions | (() => SelectOptions) | Promise<SelectOptions> | (() => Promise<SelectOptions>);
8
8
  multiple?: boolean;
9
9
  maxTagCount?: number;
10
10
  default?: string | number | boolean;
11
11
  autoSumbit?: boolean;
12
+ cache?: boolean;
12
13
  }
@@ -359,8 +359,8 @@ export declare const FormRender: import("vue").DefineComponent<{
359
359
  onCancel?: ((...args: any[]) => any) | undefined;
360
360
  "onUpdate:model-value"?: ((...args: any[]) => any) | undefined;
361
361
  }, {
362
- footer: boolean;
363
362
  name: string;
363
+ footer: boolean;
364
364
  layout: "horizontal" | "vertical";
365
365
  minWidth: number;
366
366
  submitable: boolean;
package/dist/es/index.mjs CHANGED
@@ -1,21 +1,21 @@
1
- import { getCurrentInstance as D, inject as A, defineComponent as x, computed as s, openBlock as j, createElementBlock as P, normalizeClass as z, normalizeStyle as L, createElementVNode as O, ref as i, createVNode as c, isVNode as N, h as W, provide as F, onMounted as U, mergeProps as Y, createTextVNode as k, onUpdated as E } from "vue";
2
- import { DatePicker as G, YearPicker as K, QuarterPicker as Q, MonthPicker as X, WeekPicker as H, Input as J, InputNumber as Z, Select as p, Option as ee, Switch as re, RangePicker as le, Textarea as te, FormItem as M, Form as ae, Grid as ue, GridItem as w, Button as h, Space as ne } from "@arco-design/web-vue";
1
+ import { getCurrentInstance as j, inject as A, defineComponent as x, computed as y, openBlock as O, createElementBlock as P, normalizeClass as z, normalizeStyle as L, createElementVNode as N, ref as h, createVNode as u, isVNode as M, h as W, provide as F, onMounted as U, mergeProps as Y, createTextVNode as b, onUpdated as G } from "vue";
2
+ import { DatePicker as K, YearPicker as Q, QuarterPicker as X, MonthPicker as H, WeekPicker as J, Input as Z, InputNumber as p, Select as ee, Option as re, Switch as te, RangePicker as le, Textarea as ae, FormItem as R, Form as ne, Grid as ue, GridItem as w, Button as k, Space as ce } from "@arco-design/web-vue";
3
3
  import V from "dayjs";
4
4
  import { FormRenderResolver as Ye } from "./resolver.mjs";
5
- const ce = Symbol("ArcoConfigProvider"), de = "arco", fe = "$arco", R = (e) => {
6
- var l, r, t;
7
- const a = D(), n = A(ce, void 0), u = (t = (r = n == null ? void 0 : n.prefixCls) != null ? r : (l = a == null ? void 0 : a.appContext.config.globalProperties[fe]) == null ? void 0 : l.classPrefix) != null ? t : de;
8
- return e ? `${u}-${e}` : u;
5
+ const de = Symbol("ArcoConfigProvider"), fe = "arco", ie = "$arco", q = (e) => {
6
+ var t, r, l;
7
+ const n = j(), c = A(de, void 0), a = (l = (r = c == null ? void 0 : c.prefixCls) != null ? r : (t = n == null ? void 0 : n.appContext.config.globalProperties[ie]) == null ? void 0 : t.classPrefix) != null ? l : fe;
8
+ return e ? `${a}-${e}` : a;
9
9
  }, me = Object.prototype.toString;
10
- function q(e) {
10
+ function B(e) {
11
11
  return me.call(e) === "[object Number]" && e === e;
12
12
  }
13
- var B = (e, l) => {
14
- for (const [r, t] of l)
15
- e[r] = t;
13
+ var E = (e, t) => {
14
+ for (const [r, l] of t)
15
+ e[r] = l;
16
16
  return e;
17
17
  };
18
- const ie = x({
18
+ const se = x({
19
19
  name: "IconDown",
20
20
  props: {
21
21
  size: {
@@ -42,27 +42,27 @@ const ie = x({
42
42
  click: (e) => !0
43
43
  },
44
44
  setup(e, {
45
- emit: l
45
+ emit: t
46
46
  }) {
47
- const r = R("icon"), t = s(() => [r, `${r}-down`, {
47
+ const r = q("icon"), l = y(() => [r, `${r}-down`, {
48
48
  [`${r}-spin`]: e.spin
49
- }]), a = s(() => {
50
- const u = {};
51
- return e.size && (u.fontSize = q(e.size) ? `${e.size}px` : e.size), e.rotate && (u.transform = `rotate(${e.rotate}deg)`), u;
49
+ }]), n = y(() => {
50
+ const a = {};
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
  });
53
53
  return {
54
- cls: t,
55
- innerStyle: a,
56
- onClick: (u) => {
57
- l("click", u);
54
+ cls: l,
55
+ innerStyle: n,
56
+ onClick: (a) => {
57
+ t("click", a);
58
58
  }
59
59
  };
60
60
  }
61
- }), se = ["stroke-width", "stroke-linecap", "stroke-linejoin"], oe = /* @__PURE__ */ O("path", {
61
+ }), oe = ["stroke-width", "stroke-linecap", "stroke-linejoin"], he = /* @__PURE__ */ N("path", {
62
62
  d: "M39.6 17.443 24.043 33 8.487 17.443"
63
- }, null, -1), he = [oe];
64
- function ye(e, l, r, t, a, n) {
65
- return j(), P("svg", {
63
+ }, null, -1), ye = [he];
64
+ function ke(e, t, r, l, n, c) {
65
+ return O(), P("svg", {
66
66
  viewBox: "0 0 48 48",
67
67
  fill: "none",
68
68
  xmlns: "http://www.w3.org/2000/svg",
@@ -72,17 +72,17 @@ function ye(e, l, r, t, a, n) {
72
72
  "stroke-width": e.strokeWidth,
73
73
  "stroke-linecap": e.strokeLinecap,
74
74
  "stroke-linejoin": e.strokeLinejoin,
75
- onClick: l[0] || (l[0] = (...u) => e.onClick && e.onClick(...u))
76
- }, he, 14, se);
75
+ onClick: t[0] || (t[0] = (...a) => e.onClick && e.onClick(...a))
76
+ }, ye, 14, oe);
77
77
  }
78
- var g = /* @__PURE__ */ B(ie, [["render", ye]]);
79
- const ke = Object.assign(g, {
80
- install: (e, l) => {
78
+ var $ = /* @__PURE__ */ E(se, [["render", ke]]);
79
+ const be = Object.assign($, {
80
+ install: (e, t) => {
81
81
  var r;
82
- const t = (r = l == null ? void 0 : l.iconPrefix) != null ? r : "";
83
- e.component(t + g.name, g);
82
+ const l = (r = t == null ? void 0 : t.iconPrefix) != null ? r : "";
83
+ e.component(l + $.name, $);
84
84
  }
85
- }), be = x({
85
+ }), ve = x({
86
86
  name: "IconUp",
87
87
  props: {
88
88
  size: {
@@ -109,27 +109,27 @@ const ke = Object.assign(g, {
109
109
  click: (e) => !0
110
110
  },
111
111
  setup(e, {
112
- emit: l
112
+ emit: t
113
113
  }) {
114
- const r = R("icon"), t = s(() => [r, `${r}-up`, {
114
+ const r = q("icon"), l = y(() => [r, `${r}-up`, {
115
115
  [`${r}-spin`]: e.spin
116
- }]), a = s(() => {
117
- const u = {};
118
- return e.size && (u.fontSize = q(e.size) ? `${e.size}px` : e.size), e.rotate && (u.transform = `rotate(${e.rotate}deg)`), u;
116
+ }]), n = y(() => {
117
+ const a = {};
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
  });
120
120
  return {
121
- cls: t,
122
- innerStyle: a,
123
- onClick: (u) => {
124
- l("click", u);
121
+ cls: l,
122
+ innerStyle: n,
123
+ onClick: (a) => {
124
+ t("click", a);
125
125
  }
126
126
  };
127
127
  }
128
- }), ve = ["stroke-width", "stroke-linecap", "stroke-linejoin"], Se = /* @__PURE__ */ O("path", {
128
+ }), Se = ["stroke-width", "stroke-linecap", "stroke-linejoin"], $e = /* @__PURE__ */ N("path", {
129
129
  d: "M39.6 30.557 24.043 15 8.487 30.557"
130
- }, null, -1), ge = [Se];
131
- function $e(e, l, r, t, a, n) {
132
- return j(), P("svg", {
130
+ }, null, -1), ge = [$e];
131
+ function Ce(e, t, r, l, n, c) {
132
+ return O(), P("svg", {
133
133
  viewBox: "0 0 48 48",
134
134
  fill: "none",
135
135
  xmlns: "http://www.w3.org/2000/svg",
@@ -139,86 +139,86 @@ function $e(e, l, r, t, a, n) {
139
139
  "stroke-width": e.strokeWidth,
140
140
  "stroke-linecap": e.strokeLinecap,
141
141
  "stroke-linejoin": e.strokeLinejoin,
142
- onClick: l[0] || (l[0] = (...u) => e.onClick && e.onClick(...u))
143
- }, ge, 14, ve);
142
+ onClick: t[0] || (t[0] = (...a) => e.onClick && e.onClick(...a))
143
+ }, ge, 14, Se);
144
144
  }
145
- var $ = /* @__PURE__ */ B(be, [["render", $e]]);
146
- const Ce = Object.assign($, {
147
- install: (e, l) => {
145
+ var g = /* @__PURE__ */ E(ve, [["render", Ce]]);
146
+ const xe = Object.assign(g, {
147
+ install: (e, t) => {
148
148
  var r;
149
- const t = (r = l == null ? void 0 : l.iconPrefix) != null ? r : "";
150
- e.component(t + $.name, $);
149
+ const l = (r = t == null ? void 0 : t.iconPrefix) != null ? r : "";
150
+ e.component(l + g.name, g);
151
151
  }
152
152
  }), I = {
153
153
  id: Symbol("ID"),
154
154
  source: Symbol("Source")
155
155
  };
156
- function xe(e, l) {
157
- const r = i({});
158
- return e == null || e.forEach((a) => {
159
- let n = null;
160
- a.default && (n = (typeof a.default == "function" ? a.default() : a.default) || null), l && l[a.key] && (n = l[a.key]), r.value[a.key] = n;
161
- }), [r, (a) => {
162
- r.value = a;
156
+ function Fe(e, t) {
157
+ const r = h({});
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] && (c = t[n.key]), r.value[n.key] = c;
161
+ }), [r, (n) => {
162
+ r.value = n;
163
163
  }];
164
164
  }
165
- function Fe(e) {
166
- function l(r, t) {
167
- return e != null && e.disabledDate ? e.disabledDate(r, t) : !1;
165
+ function we(e) {
166
+ function t(r, l) {
167
+ return e != null && e.disabledDate ? e.disabledDate(r, l) : !1;
168
168
  }
169
- return (r, t) => {
169
+ return (r, l) => {
170
170
  switch (e == null ? void 0 : e.type) {
171
171
  case "week":
172
- return c(H, {
173
- modelValue: r[t.key],
174
- "onUpdate:modelValue": (a) => r[t.key] = a,
175
- "disabled-date": l,
172
+ return u(J, {
173
+ modelValue: r[l.key],
174
+ "onUpdate:modelValue": (n) => r[l.key] = n,
175
+ "disabled-date": t,
176
176
  format: e == null ? void 0 : e.labelFormat,
177
177
  "value-format": e == null ? void 0 : e.valueFormat
178
178
  }, null);
179
179
  case "month":
180
- return c(X, {
181
- modelValue: r[t.key],
182
- "onUpdate:modelValue": (a) => r[t.key] = a,
183
- "disabled-date": l,
180
+ return u(H, {
181
+ modelValue: r[l.key],
182
+ "onUpdate:modelValue": (n) => r[l.key] = n,
183
+ "disabled-date": t,
184
184
  format: e == null ? void 0 : e.labelFormat,
185
185
  "value-format": e == null ? void 0 : e.valueFormat
186
186
  }, null);
187
187
  case "quarter":
188
- return c(Q, {
189
- modelValue: r[t.key],
190
- "onUpdate:modelValue": (a) => r[t.key] = a,
191
- "disabled-date": l,
188
+ return u(X, {
189
+ modelValue: r[l.key],
190
+ "onUpdate:modelValue": (n) => r[l.key] = n,
191
+ "disabled-date": t,
192
192
  format: e == null ? void 0 : e.labelFormat,
193
193
  "value-format": e == null ? void 0 : e.valueFormat
194
194
  }, null);
195
195
  case "year":
196
- return c(K, {
197
- modelValue: r[t.key],
198
- "onUpdate:modelValue": (a) => r[t.key] = a,
199
- "disabled-date": l,
196
+ return u(Q, {
197
+ modelValue: r[l.key],
198
+ "onUpdate:modelValue": (n) => r[l.key] = n,
199
+ "disabled-date": t,
200
200
  format: e == null ? void 0 : e.labelFormat,
201
201
  "value-format": e == null ? void 0 : e.valueFormat
202
202
  }, null);
203
203
  case "date":
204
204
  default:
205
- return c(G, {
206
- modelValue: r[t.key],
207
- "onUpdate:modelValue": (a) => r[t.key] = a,
208
- "disabled-date": l,
205
+ return u(K, {
206
+ modelValue: r[l.key],
207
+ "onUpdate:modelValue": (n) => r[l.key] = n,
208
+ "disabled-date": t,
209
209
  format: e == null ? void 0 : e.labelFormat,
210
210
  "value-format": e == null ? void 0 : e.valueFormat
211
211
  }, null);
212
212
  }
213
213
  };
214
214
  }
215
- function we(e) {
216
- return (l, r) => {
215
+ function Ve(e) {
216
+ return (t, r) => {
217
217
  switch (e == null ? void 0 : e.type) {
218
218
  case "number":
219
- return c(Z, {
220
- modelValue: l[r.key],
221
- "onUpdate:modelValue": (t) => l[r.key] = t,
219
+ return u(p, {
220
+ modelValue: t[r.key],
221
+ "onUpdate:modelValue": (l) => t[r.key] = l,
222
222
  hideButton: !0,
223
223
  "read-only": e == null ? void 0 : e.readonly,
224
224
  placeholder: e == null ? void 0 : e.placeholder,
@@ -226,9 +226,9 @@ function we(e) {
226
226
  }, null);
227
227
  case "string":
228
228
  default:
229
- return c(J, {
230
- modelValue: l[r.key],
231
- "onUpdate:modelValue": (t) => l[r.key] = t,
229
+ return u(Z, {
230
+ modelValue: t[r.key],
231
+ "onUpdate:modelValue": (l) => t[r.key] = l,
232
232
  placeholder: e == null ? void 0 : e.placeholder,
233
233
  readonly: e == null ? void 0 : e.readonly,
234
234
  allowClear: e == null ? void 0 : e.clearable
@@ -236,125 +236,150 @@ function we(e) {
236
236
  }
237
237
  };
238
238
  }
239
- function Ve(e) {
240
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !N(e);
239
+ function _(e) {
240
+ return !!e && (typeof e == "object" || typeof e == "function") && typeof e.then == "function";
241
241
  }
242
- const C = /* @__PURE__ */ new WeakMap();
243
242
  function Ie(e) {
244
- let l = !1;
245
- const r = i(/* @__PURE__ */ new Map());
246
- e.options instanceof Function ? C.has(e.options) ? r.value = C.get(e.options) : e.options().then((a) => {
247
- r.value = a, C.set(e.options, a);
248
- }) : e.options instanceof Promise ? e.options.then((a) => r.value = a) : r.value = e.options;
249
- function t() {
250
- e.autoSumbit;
243
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !M(e);
244
+ }
245
+ const C = /* @__PURE__ */ new WeakMap();
246
+ function _e(e) {
247
+ let t, r = !1;
248
+ const l = h(/* @__PURE__ */ new Map()), n = (a) => {
249
+ l.value = a, e.cache !== !1 && C.set(e.options, a);
250
+ };
251
+ switch (!0) {
252
+ case e.options instanceof Function: {
253
+ if (C.has(e.options)) {
254
+ l.value = C.get(e.options);
255
+ break;
256
+ }
257
+ const a = e.options();
258
+ _(a) ? a.then(n) : n(a);
259
+ break;
260
+ }
261
+ case _(e.options): {
262
+ e.options.then((a) => l.value = a);
263
+ break;
264
+ }
265
+ default:
266
+ l.value = e.options;
251
267
  }
252
- return (a, n) => {
253
- let u;
254
- return e.default && !l && (a[n.key] = e.default, l = !0), c(p, {
268
+ function c() {
269
+ if (!e.autoSumbit || !t)
270
+ return;
271
+ let a = t;
272
+ for (; a && a.$el.tagName !== "FORM"; )
273
+ a = a.$parent;
274
+ a && a.$el && a.$el.dispatchEvent(new Event("submit"));
275
+ }
276
+ return (a, d) => {
277
+ let s;
278
+ return e.default && !r && (a[d.key] = e.default, r = !0), u(ee, {
279
+ ref: (i) => t = i,
255
280
  multiple: e.multiple,
256
- modelValue: a[n.key],
257
- "onUpdate:modelValue": (d) => a[n.key] = d,
281
+ modelValue: a[d.key],
282
+ "onUpdate:modelValue": (i) => a[d.key] = i,
258
283
  placeholder: e.placeholder,
259
284
  allowClear: e.clearable,
260
285
  maxTagCount: e.maxTagCount ?? 5,
261
- onChange: t
262
- }, Ve(u = Array.from(r.value.entries()).map(([d, o]) => c(ee, {
263
- key: d,
264
- value: d,
286
+ onChange: c
287
+ }, Ie(s = Array.from(l.value.entries()).map(([i, o]) => u(re, {
288
+ key: i,
289
+ value: i,
265
290
  label: o
266
- }, null))) ? u : {
267
- default: () => [u]
291
+ }, null))) ? s : {
292
+ default: () => [s]
268
293
  });
269
294
  };
270
295
  }
271
- function _e(e) {
272
- function l() {
296
+ function De(e) {
297
+ function t() {
273
298
  e != null && e.autoSumbit;
274
299
  }
275
- return (r, t) => (e != null && e.default && (r[t.key] = e.default), c(re, {
276
- modelValue: r[t.key],
277
- "onUpdate:modelValue": (a) => r[t.key] = a,
300
+ return (r, l) => (e != null && e.default && (r[l.key] = e.default), u(te, {
301
+ modelValue: r[l.key],
302
+ "onUpdate:modelValue": (n) => r[l.key] = n,
278
303
  checkedText: (e == null ? void 0 : e.openLabel) ?? "是",
279
304
  uncheckedText: (e == null ? void 0 : e.closeLabel) ?? "否",
280
305
  checkedValue: (e == null ? void 0 : e.openValue) ?? !0,
281
306
  uncheckedValue: (e == null ? void 0 : e.closeValue) ?? !1,
282
- onChange: l
307
+ onChange: t
283
308
  }, null));
284
309
  }
285
- function De(e) {
286
- return (l, r) => {
287
- let t = [];
288
- function a(d) {
289
- t = d;
290
- }
310
+ function je(e) {
311
+ return (t, r) => {
312
+ let l = [];
291
313
  function n(d) {
314
+ l = d;
315
+ }
316
+ function c(d) {
292
317
  if (d && d.length === 2) {
293
- const [o, b] = d.sort(), y = V(o).startOf("days"), v = V(b).endOf("days");
294
- l[r.key] = [y.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), v.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
318
+ const [s, i] = d.sort(), o = V(s).startOf("days"), v = V(i).endOf("days");
319
+ t[r.key] = [o.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), v.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
295
320
  }
296
321
  }
297
- function u(d) {
298
- return e != null && e.disabledDate ? e.disabledDate(t, d) : !1;
322
+ function a(d) {
323
+ return e != null && e.disabledDate ? e.disabledDate(l, d) : !1;
299
324
  }
300
- return c("div", null, [c(le, {
325
+ return u("div", null, [u(le, {
301
326
  style: {
302
327
  width: "300px"
303
328
  },
304
- modelValue: l[r.key],
305
- "onUpdate:modelValue": (d) => l[r.key] = d,
306
- onSelect: a,
307
- onChange: n,
329
+ modelValue: t[r.key],
330
+ "onUpdate:modelValue": (d) => t[r.key] = d,
331
+ onSelect: n,
332
+ onChange: c,
308
333
  mode: e == null ? void 0 : e.type,
309
334
  allowClear: e == null ? void 0 : e.clearable,
310
- "disabled-date": u,
335
+ "disabled-date": a,
311
336
  format: e == null ? void 0 : e.labelFormat,
312
337
  "value-format": e == null ? void 0 : e.valueFormat
313
338
  }, null)]);
314
339
  };
315
340
  }
316
- function je(e) {
317
- return (l, r) => c(te, {
318
- modelValue: l[r.key],
319
- "onUpdate:modelValue": (t) => l[r.key] = t,
341
+ function Oe(e) {
342
+ return (t, r) => u(ae, {
343
+ modelValue: t[r.key],
344
+ "onUpdate:modelValue": (l) => t[r.key] = l,
320
345
  placeholder: e == null ? void 0 : e.placeholder,
321
346
  autoSize: e == null ? void 0 : e.autosize,
322
347
  maxLength: e == null ? void 0 : e.maxLength
323
348
  }, null);
324
349
  }
325
350
  function Pe(e) {
326
- return (l) => e(l);
351
+ return (t) => e(t);
327
352
  }
328
353
  function ze() {
329
354
  return {
330
- input: we,
331
- textarea: je,
332
- select: Ie,
333
- date: Fe,
334
- switch: _e,
335
- dateRange: De,
355
+ input: Ve,
356
+ textarea: Oe,
357
+ select: _e,
358
+ date: we,
359
+ switch: De,
360
+ dateRange: je,
336
361
  render: Pe
337
362
  };
338
363
  }
339
- function Le(e, l) {
340
- l.render || (l.render = (t) => t.input());
341
- const r = l.render({
364
+ function Le(e, t) {
365
+ t.render || (t.render = (l) => l.input());
366
+ const r = t.render({
342
367
  ...ze()
343
368
  });
344
369
  return {
345
- default: () => r(e, l)
370
+ default: () => r(e, t)
346
371
  };
347
372
  }
348
- function Oe(e, l) {
349
- return W(M, {
350
- field: l.key,
351
- label: l.title
352
- }, Le(e, l));
373
+ function Ne(e, t) {
374
+ return W(R, {
375
+ field: t.key,
376
+ label: t.title
377
+ }, Le(e, t));
353
378
  }
354
- function _(e) {
355
- return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !N(e);
379
+ function D(e) {
380
+ return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !M(e);
356
381
  }
357
- const Ne = /* @__PURE__ */ x({
382
+ const Me = /* @__PURE__ */ x({
358
383
  props: {
359
384
  form: {
360
385
  type: Object,
@@ -406,97 +431,97 @@ const Ne = /* @__PURE__ */ x({
406
431
  emits: ["submit", "cancel", "update:model-value"],
407
432
  expose: ["formSource", "updateFormField", "updateFormSource", "reset"],
408
433
  setup(e) {
409
- const l = Math.random().toString(32).slice(2).toUpperCase(), r = i(), [t, a] = xe(e.form, e.modelValue || e.value), n = i(e.columns || 0), u = i(!0), d = () => u.value = !u.value;
410
- F(I.id, l), F(I.source, t);
411
- const o = s(() => {
412
- if (!n.value)
434
+ const t = Math.random().toString(32).slice(2).toUpperCase(), r = h(), [l, n] = Fe(e.form, e.modelValue || e.value), c = h(e.columns || 0), a = h(!0), d = () => a.value = !a.value;
435
+ F(I.id, t), F(I.source, l);
436
+ const s = y(() => {
437
+ if (!c.value)
413
438
  return 1;
414
439
  const f = e.form.reduce((m, S) => m + ((S == null ? void 0 : S.span) || 1), 0);
415
- return n.value - f % n.value;
416
- }), b = s(() => e.form.reduce((f, m) => (m.rule && (f[m.key] = m.rule), f), {}));
417
- function y() {
440
+ return c.value - f % c.value;
441
+ }), i = y(() => e.form.reduce((f, m) => (m.rule && (f[m.key] = m.rule), f), {}));
442
+ function o() {
418
443
  var f;
419
- if (n.value === 0) {
444
+ if (c.value === 0) {
420
445
  const m = (f = r.value) == null ? void 0 : f.$el;
421
- n.value = Math.floor(m.offsetWidth / e.minWidth);
446
+ c.value = Math.floor(m.offsetWidth / e.minWidth);
422
447
  }
423
448
  }
424
449
  U(() => {
425
- y();
450
+ o();
426
451
  });
427
452
  function v(f, m) {
428
- t.value[f] = m, a({
429
- ...t
453
+ l.value[f] = m, n({
454
+ ...l
430
455
  });
431
456
  }
432
457
  function T() {
433
458
  var f;
434
459
  (f = r.value) == null || f.resetFields();
435
460
  }
436
- return window.addEventListener("resize", y), {
437
- formId: l,
438
- formSource: t,
461
+ return window.addEventListener("resize", o), {
462
+ formId: t,
463
+ formSource: l,
439
464
  formInstance: r,
440
- formColumns: n,
441
- formRules: b,
442
- formCollspased: u,
443
- formActiosSpan: o,
465
+ formColumns: c,
466
+ formRules: i,
467
+ formCollspased: a,
468
+ formActiosSpan: s,
444
469
  toggleFormCollapsed: d,
445
470
  updateFormField: v,
446
- updateFormSource: a,
471
+ updateFormSource: n,
447
472
  reset: T
448
473
  };
449
474
  },
450
475
  render() {
451
476
  const e = () => {
452
477
  this.$emit("submit", this.formSource), this.$emit("update:model-value", this.formSource);
453
- }, l = () => {
454
- const r = [], t = this.footer ? {
478
+ }, t = () => {
479
+ const r = [], l = this.footer ? {
455
480
  span: this.formColumns
456
481
  } : {
457
482
  span: this.formActiosSpan
458
483
  };
459
- if (this.searchable && (r.push(c(h, {
484
+ if (this.searchable && (r.push(u(k, {
460
485
  type: "primary",
461
486
  htmlType: "submit"
462
487
  }, {
463
- default: () => [k("搜索")]
464
- })), r.push(c(h, {
488
+ default: () => [b("搜索")]
489
+ })), r.push(u(k, {
465
490
  type: "secondary",
466
491
  onClick: () => {
467
- var a;
468
- return (a = this.formInstance) == null ? void 0 : a.resetFields();
492
+ var n;
493
+ return (n = this.formInstance) == null ? void 0 : n.resetFields();
469
494
  }
470
495
  }, {
471
- default: () => [k("重置")]
472
- }))), this.submitable && (r.push(c(h, {
496
+ default: () => [b("重置")]
497
+ }))), this.submitable && (r.push(u(k, {
473
498
  type: "primary",
474
499
  htmlType: "submit"
475
500
  }, {
476
- default: () => [k("提交")]
477
- })), r.push(c(h, {
501
+ default: () => [b("提交")]
502
+ })), r.push(u(k, {
478
503
  type: "secondary",
479
504
  onClick: () => this.$emit("cancel")
480
505
  }, {
481
- default: () => [k("取消")]
482
- }))), this.form.some((a) => !!a.collapsed) && r.push(c(h, {
506
+ default: () => [b("取消")]
507
+ }))), this.form.some((n) => !!n.collapsed) && r.push(u(k, {
483
508
  onClick: this.toggleFormCollapsed
484
509
  }, {
485
510
  default: () => this.formCollspased ? "展开" : "收起",
486
- icon: () => this.formCollspased ? c(ke, null, null) : c(Ce, null, null)
511
+ icon: () => this.formCollspased ? u(be, null, null) : u(xe, null, null)
487
512
  })), this.$slots.actions && r.push(...this.$slots.actions()), r.length)
488
- return c(w, t, {
489
- default: () => [c(M, {
513
+ return u(w, l, {
514
+ default: () => [u(R, {
490
515
  hideLabel: !0,
491
516
  contentClass: this.footer ? "form-footer" : ""
492
517
  }, {
493
- default: () => [c(ne, null, _(r) ? r : {
518
+ default: () => [u(ce, null, D(r) ? r : {
494
519
  default: () => [r]
495
520
  })]
496
521
  })]
497
522
  });
498
523
  };
499
- return c(ae, Y({
524
+ return u(ne, Y({
500
525
  layout: this.$props.layout,
501
526
  rules: this.formRules,
502
527
  onSubmitSuccess: e
@@ -507,44 +532,44 @@ const Ne = /* @__PURE__ */ x({
507
532
  ref: (r) => this.formInstance = r,
508
533
  model: this.formSource
509
534
  }), {
510
- default: () => [c(ue, {
535
+ default: () => [u(ue, {
511
536
  cols: this.formColumns,
512
537
  "col-gap": 10,
513
538
  "rol-gap": 10
514
539
  }, {
515
540
  default: () => [this.form.filter((r) => this.formCollspased ? !r.collapsed : !0).map((r) => {
516
- let t;
517
- return c(w, {
541
+ let l;
542
+ return u(w, {
518
543
  span: r.span
519
- }, _(t = Oe(this.formSource, r)) ? t : {
520
- default: () => [t]
544
+ }, D(l = Ne(this.formSource, r)) ? l : {
545
+ default: () => [l]
521
546
  });
522
- }), l()]
547
+ }), t()]
523
548
  })]
524
549
  });
525
550
  }
526
551
  });
527
- function qe(e) {
552
+ function Be(e) {
528
553
  return e;
529
554
  }
530
- function Be(e) {
531
- const l = D(), r = i();
532
- function t() {
533
- var n, u;
534
- const a = (u = (n = l == null ? void 0 : l.proxy) == null ? void 0 : n.$refs) == null ? void 0 : u[e];
535
- a && (r.value = a);
555
+ function Ee(e) {
556
+ const t = j(), r = h();
557
+ function l() {
558
+ var c, a;
559
+ const n = (a = (c = t == null ? void 0 : t.proxy) == null ? void 0 : c.$refs) == null ? void 0 : a[e];
560
+ n && (r.value = n);
536
561
  }
537
- return U(t), E(t), r;
562
+ return U(l), G(l), r;
538
563
  }
539
564
  const Te = {
540
- install(e, l) {
541
- e.component("FormRender", Ne);
565
+ install(e, t) {
566
+ e.component("FormRender", Me);
542
567
  }
543
568
  };
544
569
  export {
545
- Ne as FormRender,
570
+ Me as FormRender,
546
571
  Ye as FormRenderResolver,
547
572
  Te as default,
548
- qe as defineForm,
549
- Be as useForm
573
+ Be as defineForm,
574
+ Ee as useForm
550
575
  };
@@ -0,0 +1 @@
1
+ export declare function isPromise(obj: any): boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/form-render",
3
3
  "type": "module",
4
- "version": "0.0.12",
4
+ "version": "0.0.13",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"