cnhis-design-vue 3.1.50-beta.9 → 3.1.50-release.1

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.
Files changed (73) hide show
  1. package/es/components/card-reader-sdk/src/types/index.d.ts +1 -1
  2. package/es/components/fabric-chart/src/FabricChart.vue2.js +1 -1
  3. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
  4. package/es/components/fabric-chart/src/hooks/index.js +1 -1
  5. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.d.ts +3 -0
  6. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
  7. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useLeft.js +1 -1
  8. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.d.ts +1 -1
  9. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useOther.js +1 -1
  10. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js +1 -1
  11. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useTop.js +1 -1
  12. package/es/components/fabric-chart/src/hooks/temperature/useBottom.js +1 -1
  13. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  14. package/es/components/fabric-chart/src/hooks/temperature/useLeft.js +1 -1
  15. package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
  16. package/es/components/fabric-chart/src/hooks/temperature/useTop.js +1 -1
  17. package/es/components/fabric-chart/src/hooks/useEvent.d.ts +1 -0
  18. package/es/components/fabric-chart/src/hooks/useEvent.js +1 -1
  19. package/es/components/form-config/index.d.ts +243 -56
  20. package/es/components/form-config/src/FormConfig.vue.d.ts +243 -56
  21. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +106 -19
  22. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +121 -28
  23. package/es/components/form-config/src/hooks/useConfigurationField.js +1 -1
  24. package/es/components/form-render/index.d.ts +106 -19
  25. package/es/components/form-render/src/FormRender.vue.d.ts +106 -19
  26. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  27. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +106 -19
  28. package/es/components/form-render/src/components/renderer/levelSearchCascader.js +1 -1
  29. package/es/components/form-render/src/components/renderer/searchCascade.d.ts +1 -1
  30. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  31. package/es/components/form-render/src/components/renderer/select.d.ts +3 -0
  32. package/es/components/form-render/src/components/renderer/select.js +1 -1
  33. package/es/components/form-render/src/hooks/useFieldListAdaptor.d.ts +2 -5
  34. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  35. package/es/components/form-render/src/hooks/useFieldNormalize.d.ts +173 -4
  36. package/es/components/form-render/src/hooks/useFieldNormalize.js +1 -1
  37. package/es/components/form-render/src/hooks/useFormAsyncQueue.d.ts +2 -2
  38. package/es/components/form-render/src/hooks/useFormAsyncQueue.js +1 -1
  39. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  40. package/es/components/form-render/src/hooks/useFormRenderLifeCycle.d.ts +6 -6
  41. package/es/components/form-render/src/hooks/useFormRenderOptions.js +1 -1
  42. package/es/components/form-render/src/hooks/useLowCodeReactions.d.ts +1 -1
  43. package/es/components/form-render/src/hooks/useLowCodeReactions.js +1 -1
  44. package/es/components/form-render/src/types/fieldItem.d.ts +1 -0
  45. package/es/components/form-render/src/types/index.d.ts +6 -3
  46. package/es/components/iho-table/index.d.ts +26 -0
  47. package/es/components/iho-table/src/IhoTable.vue.d.ts +26 -0
  48. package/es/components/iho-table/src/hooks/tapHooks/useConfigHooks.d.ts +3 -1
  49. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +1 -1
  50. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  51. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.js +1 -1
  52. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  53. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/defaultRendererPlugin.js +1 -1
  54. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -1
  55. package/es/components/iho-table/src/types/index.d.ts +4 -0
  56. package/es/components/info-header/index.d.ts +314 -53
  57. package/es/components/info-header/src/InfoHeader.vue.d.ts +314 -53
  58. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +86 -3
  59. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +86 -3
  60. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +192 -22
  61. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +106 -19
  62. package/es/components/search-cascader/index.d.ts +4 -0
  63. package/es/components/search-cascader/src/SearchCascader.vue.d.ts +4 -0
  64. package/es/components/search-cascader/src/SearchCascader.vue2.js +1 -1
  65. package/es/components/shortcut-setter/index.d.ts +107 -19
  66. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +107 -19
  67. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +28 -0
  68. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.js +1 -1
  69. package/es/shared/package.json.js +1 -1
  70. package/es/shared/utils/business.d.ts +3 -1
  71. package/es/shared/utils/business.js +1 -1
  72. package/es/shared/utils/index.js +1 -1
  73. package/package.json +2 -2
@@ -4,8 +4,8 @@ import { ComputedRef } from 'vue';
4
4
  import { FormAsyncQueueItem } from '../types';
5
5
  import { RequestInstance } from '../../../../../es/components/form-render';
6
6
  declare type ProcessorOption = Partial<{
7
- afterRequest(key: string, payload?: unknown): AnyObject[];
8
- beforeRequest(key: string, params?: unknown): UndefinedAble<AnyObject> | void;
7
+ afterRequest(key: string, res?: unknown, payload?: AnyObject): AnyObject[];
8
+ beforeRequest(key: string, params?: unknown, payload?: AnyObject): UndefinedAble<AnyObject> | void;
9
9
  }>;
10
10
  export declare function useFormAsyncQueue(requestInstance: ComputedRef<UndefinedAble<RequestInstance>>, uniqueData: ComputedRef<boolean>): {
11
11
  create: (parallelism?: number, option?: ProcessorOption) => AsyncQueue<FormAsyncQueueItem, any, {
@@ -1 +1 @@
1
- import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import"naive-ui";import{unref as t}from"vue";import"@vueuse/core";import"date-fns";import{AsyncQueue as o}from"../../../../shared/hooks/useAsyncQueue.js";import"../../index.js";import{useCommonLog as s}from"./useCommonLog.js";import{useFormRequest as a}from"./useFormRequest.js";function n(n,u){const{getHttpInstance:i}=a();return{create:function(a=3,m){return new o({name:"FormRenderAsyncQueue",uniqueData:u.value,parallelism:a,async processor({key:e,method:o="post",cache:a,params:u,url:p},c,f){var l,d;const h=null!=(l=t(n))?l:i();if(!h)return s().invalidHttpInstanceLog(),c(),void f();try{m&&r(m.beforeRequest)&&(u=null!=(d=m.beforeRequest(e,u))?d:{});let t=await h[o](p,u);m&&r(m.afterRequest)&&(t=m.afterRequest(e,t)),c(void 0,Array.isArray(t)?t:[]),!a&&f()}catch(e){c(new Error(`Request error => ${e}`)),f()}},getKey:({url:r,method:t="post",cache:o,params:s})=>o?r+t+JSON.stringify(s||{}):e()})}}}export{n as useFormAsyncQueue};
1
+ import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import"naive-ui";import{unref as t}from"vue";import"@vueuse/core";import"date-fns";import{AsyncQueue as o}from"../../../../shared/hooks/useAsyncQueue.js";import"../../index.js";import{useCommonLog as s}from"./useCommonLog.js";import{useFormRequest as a}from"./useFormRequest.js";function n(n,u){const{getHttpInstance:i}=a();return{create:function(a=3,m){return new o({name:"FormRenderAsyncQueue",uniqueData:u.value,parallelism:a,async processor({key:e,method:o="post",cache:a,params:u,url:p,payload:c},f,l){var d,y;const h=null!=(d=t(n))?d:i();if(!h)return s().invalidHttpInstanceLog(),f(),void l();try{m&&r(m.beforeRequest)&&(u=null!=(y=m.beforeRequest(e,u,c))?y:{});let t=await h[o](p,u);m&&r(m.afterRequest)&&(t=m.afterRequest(e,t,c)),f(void 0,Array.isArray(t)?t:[]),!a&&l()}catch(e){f(new Error(`Request error => ${e}`)),l()}},getKey:({url:r,method:t="post",cache:o,params:s})=>o?r+t+JSON.stringify(s||{}):e()})}}}export{n as useFormAsyncQueue};
@@ -1 +1 @@
1
- import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{createSchemaField as o}from"@formily/vue";import{isObject as t}from"@vue/shared";import{cloneDeep as r}from"lodash-es";import{computed as n,provide as s,readonly as i}from"vue";import"../../index.js";import m from"../components/renderer/index.js";import{InjectionAsyncQueue as a,InjectionSchemaField as u,InjectionBusinessCollector as c,InjectionChangeContextCollector as p,InjectionFormItemDepsCollector as l,InjectionFormUUID as f,InjectionAnnotation as d,InjectionFormGlobalProps as j}from"../constants/index.js";import{useFormRenderLifeCycle as C}from"./useFormRenderLifeCycle.js";import{usePresetScope as h}from"./usePresetScope.js";import{injectOrProvide as y,presetRequestHandler as x}from"../utils/index.js";import{useFormAsyncQueue as g}from"./useFormAsyncQueue.js";import{useBusinessBinding as q}from"./useBusinessBinding.js";import{useChangeContext as v}from"./useChangeContext.js";import{useFormItemDeps as F}from"./useFormItemDeps.js";function b(b,R){const{callLifeCycle:D}=C(b),I=y(a,(()=>g(n((()=>b.requestInstance)),n((()=>!!b.uniqueCacheData))).create(b.parallelism,{beforeRequest:(...e)=>D("beforeRequest",r(e))||e[1],afterRequest:(...e)=>D("afterRequest",r(e))||x(e[1])}))),S=y(u,(()=>o({components:{...m,...b.components},scope:Object.assign({},h(),b.scope)}).SchemaField)),B=q().create(b.businessFormatter);s(c,B);const L=v().create();s(p,L);const Q=F().create();s(l,Q);const U=b.uuid||e();return s(f,U),s(d,n({get:()=>b.annotation?i(b.annotation):null,set(e){if(!t(b.annotation)||!t(e))return;const o=b.annotation[e.property];b.annotation[e.property]=e.value,R("annotationChange",{fieldKey:e.property,value:e.value,oldValue:o})}})),s(j,b),{asyncQueue:I,SchemaField:S,businessCollector:B,changeContextCollector:L,formItemDepsCollector:Q,formUUID:U}}export{b as useFormContext};
1
+ import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{createSchemaField as o}from"@formily/vue";import{isObject as t}from"@vue/shared";import{computed as r,provide as n,readonly as s}from"vue";import"../../index.js";import i from"../components/renderer/index.js";import{InjectionAsyncQueue as m,InjectionSchemaField as a,InjectionBusinessCollector as u,InjectionChangeContextCollector as c,InjectionFormItemDepsCollector as p,InjectionFormUUID as l,InjectionAnnotation as f,InjectionFormGlobalProps as d}from"../constants/index.js";import{useFormRenderLifeCycle as j}from"./useFormRenderLifeCycle.js";import{usePresetScope as C}from"./usePresetScope.js";import{injectOrProvide as y,presetRequestHandler as h}from"../utils/index.js";import{useFormAsyncQueue as x}from"./useFormAsyncQueue.js";import{useBusinessBinding as g}from"./useBusinessBinding.js";import{useChangeContext as q}from"./useChangeContext.js";import{useFormItemDeps as v}from"./useFormItemDeps.js";function F(F,b){const{callLifeCycle:R}=j(F),D=y(m,(()=>x(r((()=>F.requestInstance)),r((()=>!!F.uniqueCacheData))).create(F.parallelism,{beforeRequest:(...e)=>R("beforeRequest",e)||e[1],afterRequest:(...e)=>R("afterRequest",e)||h(e[1])}))),I=y(a,(()=>o({components:{...i,...F.components},scope:Object.assign({},C(),F.scope)}).SchemaField)),S=g().create(F.businessFormatter);n(u,S);const B=q().create();n(c,B);const L=v().create();n(p,L);const Q=F.uuid||e();return n(l,Q),n(f,r({get:()=>F.annotation?s(F.annotation):null,set(e){if(!t(F.annotation)||!t(e))return;const o=F.annotation[e.property];F.annotation[e.property]=e.value,b("annotationChange",{fieldKey:e.property,value:e.value,oldValue:o})}})),n(d,F),{asyncQueue:D,SchemaField:I,businessCollector:S,changeContextCollector:B,formItemDepsCollector:L,formUUID:Q}}export{F as useFormContext};
@@ -3,13 +3,13 @@ import { FormRenderLifeCycle, FormRenderProps } from '../../../../../es/componen
3
3
  export declare function useFormRenderLifeCycle(props: FormRenderProps): {
4
4
  callLifeCycle: <T extends "onSetup" | "beforeRequest" | "afterRequest" | "afterOptionInit">(lifeCycleName: T, payload?: Parameters<Required<Partial<{
5
5
  onSetup(): void;
6
- beforeRequest(fieldKey: string, params?: import("../../../../../es/shared/types").AnyObject | undefined): void | UndefinedAble<import("../../../../../es/shared/types").AnyObject>;
7
- afterRequest(fieldKey: string, payload?: any): import("../../../../../es/shared/types").AnyObject[];
8
- afterOptionInit(fieldKey: string, options: import("../../../../../es/shared/types").AnyObject[]): void;
6
+ beforeRequest(fieldKey: string, params?: import("../../../../../es/shared/types").AnyObject | undefined, payload?: import("../../../../../es/shared/types").AnyObject | undefined): void | UndefinedAble<import("../../../../../es/shared/types").AnyObject>;
7
+ afterRequest(fieldKey: string, res?: any, payload?: import("../../../../../es/shared/types").AnyObject | undefined): import("../../../../../es/shared/types").AnyObject[];
8
+ afterOptionInit(fieldKey: string, options: import("../../../../../es/shared/types").AnyObject[], payload?: import("../../../../../es/shared/types").AnyObject | undefined): void;
9
9
  }>>[T]> | undefined) => UndefinedAble<ReturnType<Required<Partial<{
10
10
  onSetup(): void;
11
- beforeRequest(fieldKey: string, params?: import("../../../../../es/shared/types").AnyObject | undefined): void | UndefinedAble<import("../../../../../es/shared/types").AnyObject>;
12
- afterRequest(fieldKey: string, payload?: any): import("../../../../../es/shared/types").AnyObject[];
13
- afterOptionInit(fieldKey: string, options: import("../../../../../es/shared/types").AnyObject[]): void;
11
+ beforeRequest(fieldKey: string, params?: import("../../../../../es/shared/types").AnyObject | undefined, payload?: import("../../../../../es/shared/types").AnyObject | undefined): void | UndefinedAble<import("../../../../../es/shared/types").AnyObject>;
12
+ afterRequest(fieldKey: string, res?: any, payload?: import("../../../../../es/shared/types").AnyObject | undefined): import("../../../../../es/shared/types").AnyObject[];
13
+ afterOptionInit(fieldKey: string, options: import("../../../../../es/shared/types").AnyObject[], payload?: import("../../../../../es/shared/types").AnyObject | undefined): void;
14
14
  }>>[T]>>;
15
15
  };
@@ -1 +1 @@
1
- import{checkInSetupEnv as e,arrayed as n,jsonParse as l,keywordMatcher as t}from"../../../../shared/utils/index.js";import{useForm as u}from"@formily/vue";import{useMemoize as o}from"@vueuse/core";import{identity as r,uniqBy as a,isEqual as i,isString as c,omit as s,isArray as v,isFunction as m}from"lodash-es";import{computed as d,inject as f,ref as y,watch as p,toRaw as h}from"vue";import"../../index.js";import{InjectionAsyncQueue as g,InjectionFormLifeCycleCaller as w,InjectionFormItemDepsCollector as k}from"../constants/index.js";import{useFormField as b}from"./useFormField.js";import{createUrlConfigParams as C,formRenderLog as K}from"../utils/index.js";import{useFormRequest as F}from"./useFormRequest.js";function R(e,n){const l=y();return d({get:()=>l.value?l.value:e[n],set(e){l.value=e}})}const O=(()=>{const e=o((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:r});return(n,l)=>l.match(e(n))})();function q(){const e=y();return{searchContent:e,optionSearchFilter:function(n,l,u){if(!e.value)return n;const o=v(u)?u.filter((e=>e&&c(e))):[];return n.filter((n=>function(n,l,u){if(!e.value)return!0;const o=n?n[l]:"";return!!c(o)&&(!!O(e.value,o)||!!t(e.value,n.keyword)||!!u.length&&u.some((l=>c(n[l])&&n[l].includes(e.value))))}(n,l,o)))}}}function j(e,n,t,u,o){const r=R(e,"commonList"),i=R(e,"recentList"),{searchContent:c,optionSearchFilter:v}=q();function y(e){return l(e.itemObj)}const p=d((()=>{var e,n;return null!=(n=null==(e=r.value)?void 0:e.map(y))?n:[]})),h=d((()=>{var e,n;return null!=(n=null==(e=i.value)?void 0:e.map(y))?n:[]})),w=d((()=>{if(!e.recommend||!p.value.length&&!h.value.length)return n.value;const l=a(p.value.concat(h.value),(e=>e[o.value])),t=n.value.filter((e=>l.every((function(n){return n[o.value]!==e[o.value]}))));return[...v(l,u.value),...t]})),{getRecommendRequestInfo:k,getHttpInstance:C}=F();function K(n){const{url:l,getRecommendIds:t}=k(),u=m(t)?t():{},o=m(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:l[n],info:Object.assign({},u,o)}}const{fieldKey:O}=b(),j=f(g);return{postRecommend:async function(n){if(!e.recommend)return;const l=C();if(!l)return;const{url:u,info:r}=K("post"),a=w.value.find((e=>e[o.value]===n));a&&t("postRecommend",await l.post(u,{...r,keyword:"",itemId:o.value,itemObj:JSON.stringify(a)}))},getRecommend:async function(n){if(!e.recommend)return;if(c.value=n,r.value&&i.value&&e.recommendCache)return;const l=await j.addAsync(function(n,l){const{url:t,info:u}=K("get");return{url:t,method:"get",key:n,cache:l,params:{...u,recNum:Math.max(e.commonNum,e.recentNum),keyword:""}}}(O.value,e.recommendCache)),{commonly:t,recently:u}=l.reduce(((e,n)=>("commonly"===n.type?e.commonly.push(s(n,["type"])):"recently"===n.type&&e.recently.push(s(n,["type"])),e)),{commonly:[],recently:[]});r.value=t.slice(0,e.commonNum),i.value=u.slice(0,e.recentNum)},sortedOptions:w}}function I(n,l){e();const t=f(g),u=f(w),o=d((()=>{var e,l,t;return null!=(t=null!=(l=null==(e=n.urlConfig)?void 0:e.nameKey)?l:n.labelField)?t:"text"})),r=d((()=>{var e,l,t;return null!=(t=null!=(l=null==(e=n.urlConfig)?void 0:e.valueKey)?l:n.valueField)?t:"value"})),a=d((()=>{var e,l;return null!=(l=null==(e=n.urlConfig)?void 0:e.showKey)?l:n.showField})),{searchContent:s,optionSearchFilter:v}=q(),m=y(null),{field:F,fieldKey:R}=b(),O=y(!1),j=async function(e){if(s.value=e||"",!n.urlConfig)return m.value=null;try{O.value=!0;const e=await t.addAsync(await C({config:n.urlConfig,cache:n.requestCache,field:F.value}));h(m.value)!==e&&(m.value=e,u("afterOptionInit",[R.value,m.value]))}catch(e){c(e)&&K(e)}finally{O.value=!1}},I=d((()=>m.value?v(m.value,o.value):Array.isArray(n.options)?v(n.options,o.value):[])),x=d((()=>m.value||n.options||[])),A=f(k);return p((()=>n.urlConfig),((e,t)=>{if(!i(e,t)){if(m.value=null,!e)return m.value=null;A.setDeps(R.value,e.dependKey||[],(async()=>{m.value=null,l.value=null,!n.lazyRequest&&await j()})),(l.value||!n.lazyRequest)&&j()}}),{immediate:!0}),{labelKey:o,loading:O,showKey:a,valueKey:r,remoteOptions:m,filterOptions:I,fullOptions:x,fetchData:j,searchContent:s}}function x(l,t){e();const o=f(g),r=f(w),a=u(),s=d((()=>{var e;const t=n(null==(e=l.wordbook)?void 0:e.show_key)[0];return c(t)?t:null})),v=d((()=>{var e,n,t,u;const o=null==(n=null==(e=l.wordbook)?void 0:e.render_key)?void 0:n[0];return c(o)?o:null!=(u=null!=(t=s.value)?t:l.labelField)?u:"text"})),m=d((()=>{var e,n,t;return null!=(t=null!=(n=null==(e=l.wordbook)?void 0:e.value_key)?n:l.valueField)?t:"value"})),C=d((()=>{var e;return(null==(e=l.wordbook)?void 0:e.search_key)||[]})),R=d((()=>{var e;return null!=(e=s.value)?e:l.showField})),{searchContent:O,optionSearchFilter:j}=q(),I=y(null),{fieldKey:x}=b(),{getSearchRequestInfo:A}=F(),S=y(!1),N=async function(e){if(O.value=e||"",!l.autograph||!l.wordbook)return I.value=null;try{S.value=!0;const e=await o.addAsync(function(e,n,t){var u,o,r;const i={autograph:n,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};if(null==(u=e.queryParams)?void 0:u.length){const n=null!=(r=null==(o=a.value)?void 0:o.getFormState().values)?r:{};e.queryParams.forEach((e=>{i[e]=n[e]}))}return{...A(),params:i,key:t,cache:l.requestCache}}(l.wordbook,l.autograph,x.value));h(I.value)!==e&&(I.value=e,r("afterOptionInit",[x.value,I.value]))}catch(e){c(e)&&K(e)}finally{S.value=!1}},_=d((()=>I.value?j(I.value,v.value,C.value):Array.isArray(l.options)?j(l.options,v.value):[])),D=d((()=>I.value||l.options||[])),z=f(k);return p((()=>l.wordbook),((e,n)=>{if(!i(e,n)){if(I.value=null,!e)return I.value=null;z.setDeps(x.value,e.queryParams||[],(async()=>{I.value=null,N()})),(t.value||!l.lazyRequest)&&N()}}),{immediate:!0}),{labelKey:v,showKey:R,loading:S,remoteOptions:I,valueKey:m,filterOptions:_,fullOptions:D,fetchData:N,searchContent:O}}export{O as searchContentMatcher,x as useAutographOptions,j as useRecommendOptions,I as useUrlConfigOptions};
1
+ import{checkInSetupEnv as e,arrayed as l,jsonParse as n,keywordMatcher as u}from"../../../../shared/utils/index.js";import{useForm as t}from"@formily/vue";import{useMemoize as a}from"@vueuse/core";import{identity as o,uniqBy as r,isEqual as i,isString as v,omit as c,isArray as s,isFunction as m}from"lodash-es";import{computed as d,inject as f,ref as y,watch as p,toRaw as h}from"vue";import"../../index.js";import{InjectionAsyncQueue as g,InjectionFormLifeCycleCaller as w,InjectionFormItemDepsCollector as K}from"../constants/index.js";import{useFormField as k}from"./useFormField.js";import{createUrlConfigParams as b,formRenderLog as C}from"../utils/index.js";import{useFormRequest as F}from"./useFormRequest.js";function R(e,l){const n=y();return d({get:()=>n.value?n.value:e[l],set(e){n.value=e}})}const O=(()=>{const e=a((e=>new RegExp(`(.*)${e.split("").map((e=>`(${function(e){return e.match(/[()\[\]{}$^\/]/)?"\\"+e:e}(e)})`)).join("(.*)")}(.*)`)),{getKey:o});return(l,n)=>n.match(e(l))})();function q(){const e=y();return{searchContent:e,optionSearchFilter:function(l,n,t){if(!e.value)return l;const a=s(t)?t.filter((e=>e&&v(e))):[];return l.filter((l=>function(l,n,t){if(!e.value)return!0;const a=l?l[n]:"";return!!v(a)&&(!!O(e.value,a)||!!u(e.value,l.keyword)||!!t.length&&t.some((n=>v(l[n])&&l[n].includes(e.value))))}(l,n,a)))}}}function j(e,l,u,t,a){const o=R(e,"commonList"),i=R(e,"recentList"),{searchContent:v,optionSearchFilter:s}=q();function y(e){return n(e.itemObj)}const p=d((()=>{var e,l;return null!=(l=null==(e=o.value)?void 0:e.map(y))?l:[]})),h=d((()=>{var e,l;return null!=(l=null==(e=i.value)?void 0:e.map(y))?l:[]})),w=d((()=>{if(!e.recommend||!p.value.length&&!h.value.length)return l.value;const n=r(p.value.concat(h.value),(e=>e[a.value])),u=l.value.filter((e=>n.every((function(l){return l[a.value]!==e[a.value]}))));return[...s(n,t.value),...u]})),{getRecommendRequestInfo:K,getHttpInstance:b}=F();function C(l){const{url:n,getRecommendIds:u}=K(),t=m(u)?u():{},a=m(e.getRecommendInfo)?e.getRecommendInfo():{};return{url:n[l],info:Object.assign({},t,a)}}const{fieldKey:O,field:j}=k(),I=f(g);return{postRecommend:async function(l){if(!e.recommend)return;const n=b();if(!n)return;const{url:t,info:o}=C("post"),r=w.value.find((e=>e[a.value]===l));r&&u("postRecommend",await n.post(t,{...o,keyword:"",itemId:a.value,itemObj:JSON.stringify(r)}))},getRecommend:async function(l){if(!e.recommend)return;if(v.value=l,o.value&&i.value&&e.recommendCache)return;const n=await I.addAsync(function(l,n){const{url:u,info:o}=C("get");return{url:u,method:"get",key:l,cache:n,params:{...o,recNum:Math.max(e.commonNum,e.recentNum),keyword:""},payload:{field:j.value,labelKey:t.value,valueKey:a.value}}}(O.value,e.recommendCache)),{commonly:u,recently:r}=n.reduce(((e,l)=>("commonly"===l.type?e.commonly.push(c(l,["type"])):"recently"===l.type&&e.recently.push(c(l,["type"])),e)),{commonly:[],recently:[]});o.value=u.slice(0,e.commonNum),i.value=r.slice(0,e.recentNum)},sortedOptions:w}}function I(l,n){e();const u=f(g),t=f(w),a=d((()=>{var e,n,u;return null!=(u=null!=(n=null==(e=l.urlConfig)?void 0:e.nameKey)?n:l.labelField)?u:"text"})),o=d((()=>{var e,n,u;return null!=(u=null!=(n=null==(e=l.urlConfig)?void 0:e.valueKey)?n:l.valueField)?u:"value"})),r=d((()=>{var e,n;return null!=(n=null==(e=l.urlConfig)?void 0:e.showKey)?n:l.showField})),{searchContent:c,optionSearchFilter:s}=q(),m=y(null),{field:F,fieldKey:R}=k(),O=y(!1),j=async function(e){if(c.value=e||"",!l.urlConfig)return m.value=null;try{O.value=!0;const e={field:F.value,labelKey:a.value,valueKey:o.value},n=await u.addAsync(await b({config:{...l.urlConfig,payload:e},cache:l.requestCache,field:F.value}));h(m.value)!==n&&(m.value=n,t("afterOptionInit",[R.value,m.value,e]))}catch(e){v(e)&&C(e)}finally{O.value=!1}},I=d((()=>m.value?s(m.value,a.value):Array.isArray(l.options)?s(l.options,a.value):[])),x=d((()=>m.value||l.options||[])),A=f(K);return p((()=>l.urlConfig),((e,u)=>{if(!i(e,u)){if(m.value=null,!e)return m.value=null;A.setDeps(R.value,e.dependKey||[],(async()=>{m.value=null,n.value=null,!l.lazyRequest&&await j()})),(n.value||!l.lazyRequest)&&j()}}),{immediate:!0}),{labelKey:a,loading:O,showKey:r,valueKey:o,remoteOptions:m,filterOptions:I,fullOptions:x,fetchData:j,searchContent:c}}function x(n,u){e();const a=f(g),o=f(w),r=t(),c=d((()=>{var e;const u=l(null==(e=n.wordbook)?void 0:e.show_key)[0];return v(u)?u:null})),s=d((()=>{var e,l,u,t;const a=null==(l=null==(e=n.wordbook)?void 0:e.render_key)?void 0:l[0];return v(a)?a:null!=(t=null!=(u=c.value)?u:n.labelField)?t:"text"})),m=d((()=>{var e,l,u;return null!=(u=null!=(l=null==(e=n.wordbook)?void 0:e.value_key)?l:n.valueField)?u:"value"})),b=d((()=>{var e;return(null==(e=n.wordbook)?void 0:e.search_key)||[]})),R=d((()=>{var e;return null!=(e=c.value)?e:n.showField})),{searchContent:O,optionSearchFilter:j}=q(),I=y(null),{fieldKey:x,field:A}=k(),{getSearchRequestInfo:S}=F(),N=y(!1),_=async function(e){if(O.value=e||"",!n.autograph||!n.wordbook)return I.value=null;try{N.value=!0;const e={field:A.value,labelKey:s.value,valueKey:m.value},l=await a.addAsync(function(e,l,u,t){var a,o,i;const v={autograph:l,wordbookId:e.id,wordbookType:e.type,fieldKeys:e.search_key,keyword:"",page:1};if(null==(a=e.queryParams)?void 0:a.length){const l=null!=(i=null==(o=r.value)?void 0:o.getFormState().values)?i:{};e.queryParams.forEach((e=>{v[e]=l[e]}))}return{...S(),params:v,key:u,cache:n.requestCache,payload:t}}(n.wordbook,n.autograph,x.value,e));h(I.value)!==l&&(I.value=l,o("afterOptionInit",[x.value,I.value,e]))}catch(e){v(e)&&C(e)}finally{N.value=!1}},D=d((()=>I.value?j(I.value,s.value,b.value):Array.isArray(n.options)?j(n.options,s.value):[])),z=d((()=>I.value||n.options||[])),P=f(K);return p((()=>n.wordbook),((e,l)=>{if(!i(e,l)){if(I.value=null,!e)return I.value=null;P.setDeps(x.value,e.queryParams||[],(async()=>{I.value=null,_()})),(u.value||!n.lazyRequest)&&_()}}),{immediate:!0}),{labelKey:s,showKey:R,loading:N,remoteOptions:I,valueKey:m,filterOptions:D,fullOptions:z,fetchData:_,searchContent:O}}export{O as searchContentMatcher,x as useAutographOptions,j as useRecommendOptions,I as useUrlConfigOptions};
@@ -2,6 +2,6 @@ import { Form } from '@formily/core';
2
2
  import { MaybeRef } from '@vueuse/core';
3
3
  import { FormLowCodeReactions } from '../../../../../es/components/form-render';
4
4
  export declare function useLowCodeReactions(configListRef: MaybeRef<FormLowCodeReactions.Config[] | undefined>, formModel: Form): {
5
- lowCodeReactionsHandler: (field: string, value: unknown) => void;
5
+ lowCodeReactionsHandler: (field: string) => void;
6
6
  triggerAllReactionsHandler: () => void;
7
7
  };
@@ -1 +1 @@
1
- import"../../../../shared/utils/index.js";import{isField as e}from"@formily/core";import{Path as r}from"@formily/path";import{isArray as i}from"lodash-es";import{computed as o,unref as t}from"vue";import{isMatchLowCodeCondition as n}from"../../../../shared/utils/business.js";function l(l,d){const s={hideField:c((e=>e.setDisplay("none"))),showField:c((e=>e.setDisplay("visible"))),requiredField:c((e=>e.required=!0)),notRequiredField:c((e=>{e.required=!1,e.validate()})),enabledField:c((e=>e.editable=!0)),disabledField:c((e=>e.editable=!1))};function c(r){return i=>{i.forEach((i=>{const o=d.query(i).take();o&&e(o)&&r(o)}))}}const u=o((()=>t(l)?t(l).reduce(((e,r)=>(i(r.conObj)&&r.conObj.forEach((r=>e.push(r.field_key))),e)),[]):[]));function a(e,r,i){if(i.field_key===e)return n(r,i)}function f(e){Object.entries(e).forEach((([e,r])=>s[e]&&s[e](r)))}return{lowCodeReactionsHandler:function(e,r){const i=t(l);i&&u.value.includes(e)&&i.forEach((i=>{var o,t;o=e,t=r,i.conObj.every((e=>a(o,t,e)))&&f(i)}))},triggerAllReactionsHandler:function(){const e=t(l);if(!e)return;const o=d.getFormState().values;e.forEach((e=>{(function(e,o){if(!i(o.conObj))return;return o.conObj.every((i=>a(i.field_key,r.getIn(e,i.field_key),i)))})(o,e)&&f(e)}))}}}export{l as useLowCodeReactions};
1
+ import"../../../../shared/utils/index.js";import{isField as e}from"@formily/core";import{isArray as o}from"lodash-es";import{computed as r,unref as i}from"vue";import{isMatchLowCodeConditionsWithSqlExpression as t}from"../../../../shared/utils/business.js";function n(n,s){const l={hideField:c((e=>e.setDisplay("none"))),showField:c((e=>e.setDisplay("visible"))),requiredField:c((e=>e.required=!0)),notRequiredField:c((e=>{e.required=!1,e.validate()})),enabledField:c((e=>e.editable=!0)),disabledField:c((e=>e.editable=!1))};function c(o){return r=>{r.forEach((r=>{const i=s.query(r).take();i&&e(i)&&o(i)}))}}const d=r((()=>i(n)?i(n).reduce(((e,r)=>(o(r.conObj)&&r.conObj.forEach((o=>e.push(o.field_key))),e)),[]):[]));function a(e){Object.entries(e).forEach((([e,o])=>l[e]&&l[e](o)))}return{lowCodeReactionsHandler:function(e){const o=i(n);if(!o||!d.value.includes(e))return;const r=s.getFormState().values;o.forEach((o=>{(function(e,o){return!!o.conObj&&o.conObj.some((o=>o.field_key===e))})(e,o)&&t(r,o)&&a(o)}))},triggerAllReactionsHandler:function(){const e=i(n);if(!e)return;const o=s.getFormState().values;e.forEach((e=>{t(o,e)&&a(e)}))}}}export{n as useLowCodeReactions};
@@ -54,6 +54,7 @@ export declare type UrlConfig = {
54
54
  showKey: string;
55
55
  params: AnyObject;
56
56
  dependKey: DependKeyType;
57
+ [key: string]: any;
57
58
  }>;
58
59
  interface SwitchProperty {
59
60
  value?: any;
@@ -22,6 +22,7 @@ export interface FormAsyncQueueItem {
22
22
  url: string;
23
23
  method?: FormRequestType;
24
24
  params?: AnyObject;
25
+ payload?: AnyObject;
25
26
  }
26
27
  export declare type FormAsyncQueue = AsyncQueue<FormAsyncQueueItem, any, AnyObject[]>;
27
28
  export declare type AgeContext = Record<'age' | 'day' | 'month' | 'year' | 'hours', number>;
@@ -115,9 +116,9 @@ export declare type DependKeyType = string | Record<string, string> | Array<{
115
116
  } | string>;
116
117
  export declare type FormRenderLifeCycle = Partial<{
117
118
  onSetup(): void;
118
- beforeRequest(fieldKey: string, params?: AnyObject): UndefinedAble<AnyObject> | void;
119
- afterRequest(fieldKey: string, payload?: any): AnyObject[];
120
- afterOptionInit(fieldKey: string, options: AnyObject[]): void;
119
+ beforeRequest(fieldKey: string, params?: AnyObject, payload?: AnyObject): UndefinedAble<AnyObject> | void;
120
+ afterRequest(fieldKey: string, res?: any, payload?: AnyObject): AnyObject[];
121
+ afterOptionInit(fieldKey: string, options: AnyObject[], payload?: AnyObject): void;
121
122
  }>;
122
123
  export declare type FormRenderProps = Partial<{
123
124
  fieldList: FieldItem[];
@@ -143,6 +144,7 @@ export declare type FormRenderProps = Partial<{
143
144
  uniqueCacheData: boolean;
144
145
  operationalForm: FormOperationalConfig[];
145
146
  outBordered: boolean;
147
+ forceClearable: boolean;
146
148
  }>;
147
149
  export declare type FormBusinessFormatter = (payload: {
148
150
  fieldKey: string;
@@ -159,6 +161,7 @@ export declare namespace FormLowCodeReactions {
159
161
  type Config = {
160
162
  conObj: ConObj[];
161
163
  } & Partial<{
164
+ sqlExpression: string;
162
165
  showField: string[];
163
166
  hideField: string[];
164
167
  requiredField: string[];
@@ -868,6 +868,18 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
868
868
  trigger?: "default" | "cell" | "row" | undefined;
869
869
  highlight?: boolean | undefined;
870
870
  strict?: boolean | undefined;
871
+ slots?: {
872
+ title?: string | ((params: import("vxe-table").VxeColumnPropTypes.HeaderSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
873
+ radio?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
874
+ checkbox?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
875
+ default?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
876
+ header?: string | ((params: import("vxe-table").VxeColumnPropTypes.HeaderSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
877
+ footer?: string | ((params: import("vxe-table").VxeColumnPropTypes.FooterSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
878
+ content?: string | ((params: import("vxe-table").VxeColumnPropTypes.ContentSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
879
+ filter?: string | ((params: import("vxe-table").VxeColumnPropTypes.FilterSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
880
+ edit?: string | ((params: import("vxe-table").VxeColumnPropTypes.EditSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
881
+ icon?: string | ((params: import("vxe-table").VxeColumnPropTypes.IconSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
882
+ } | undefined;
871
883
  } | undefined;
872
884
  checkboxConfig?: {
873
885
  reserve?: boolean | undefined;
@@ -2111,6 +2123,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
2111
2123
  isSingleSelect?: import("../../../es/shared/types").MaybeString<0 | 1> | undefined;
2112
2124
  hideSettingBtn?: import("../../../es/shared/types").MaybeString<0 | 1> | undefined;
2113
2125
  showSeq?: boolean | undefined;
2126
+ forceClearable?: boolean | undefined;
2114
2127
  selectType?: "checkbox" | "radio" | null | undefined;
2115
2128
  rowGroupSetting?: {
2116
2129
  firstRowGroup?: {
@@ -3356,6 +3369,18 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
3356
3369
  trigger?: "default" | "cell" | "row" | undefined;
3357
3370
  highlight?: boolean | undefined;
3358
3371
  strict?: boolean | undefined;
3372
+ slots?: {
3373
+ title?: string | ((params: import("vxe-table").VxeColumnPropTypes.HeaderSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3374
+ radio?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3375
+ checkbox?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3376
+ default?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3377
+ header?: string | ((params: import("vxe-table").VxeColumnPropTypes.HeaderSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3378
+ footer?: string | ((params: import("vxe-table").VxeColumnPropTypes.FooterSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3379
+ content?: string | ((params: import("vxe-table").VxeColumnPropTypes.ContentSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3380
+ filter?: string | ((params: import("vxe-table").VxeColumnPropTypes.FilterSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3381
+ edit?: string | ((params: import("vxe-table").VxeColumnPropTypes.EditSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3382
+ icon?: string | ((params: import("vxe-table").VxeColumnPropTypes.IconSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3383
+ } | undefined;
3359
3384
  } | undefined;
3360
3385
  checkboxConfig?: {
3361
3386
  reserve?: boolean | undefined;
@@ -4539,6 +4564,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
4539
4564
  isSingleSelect?: import("../../../es/shared/types").MaybeString<0 | 1> | undefined;
4540
4565
  hideSettingBtn?: import("../../../es/shared/types").MaybeString<0 | 1> | undefined;
4541
4566
  showSeq?: boolean | undefined;
4567
+ forceClearable?: boolean | undefined;
4542
4568
  selectType?: "checkbox" | "radio" | null | undefined;
4543
4569
  rowGroupSetting?: {
4544
4570
  firstRowGroup?: {
@@ -867,6 +867,18 @@ declare const _default: import("vue").DefineComponent<{
867
867
  trigger?: "default" | "cell" | "row" | undefined;
868
868
  highlight?: boolean | undefined;
869
869
  strict?: boolean | undefined;
870
+ slots?: {
871
+ title?: string | ((params: import("vxe-table").VxeColumnPropTypes.HeaderSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
872
+ radio?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
873
+ checkbox?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
874
+ default?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
875
+ header?: string | ((params: import("vxe-table").VxeColumnPropTypes.HeaderSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
876
+ footer?: string | ((params: import("vxe-table").VxeColumnPropTypes.FooterSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
877
+ content?: string | ((params: import("vxe-table").VxeColumnPropTypes.ContentSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
878
+ filter?: string | ((params: import("vxe-table").VxeColumnPropTypes.FilterSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
879
+ edit?: string | ((params: import("vxe-table").VxeColumnPropTypes.EditSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
880
+ icon?: string | ((params: import("vxe-table").VxeColumnPropTypes.IconSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
881
+ } | undefined;
870
882
  } | undefined;
871
883
  checkboxConfig?: {
872
884
  reserve?: boolean | undefined;
@@ -2110,6 +2122,7 @@ declare const _default: import("vue").DefineComponent<{
2110
2122
  isSingleSelect?: import("../../../../es/shared/types").MaybeString<0 | 1> | undefined;
2111
2123
  hideSettingBtn?: import("../../../../es/shared/types").MaybeString<0 | 1> | undefined;
2112
2124
  showSeq?: boolean | undefined;
2125
+ forceClearable?: boolean | undefined;
2113
2126
  selectType?: "checkbox" | "radio" | null | undefined;
2114
2127
  rowGroupSetting?: {
2115
2128
  firstRowGroup?: {
@@ -3355,6 +3368,18 @@ declare const _default: import("vue").DefineComponent<{
3355
3368
  trigger?: "default" | "cell" | "row" | undefined;
3356
3369
  highlight?: boolean | undefined;
3357
3370
  strict?: boolean | undefined;
3371
+ slots?: {
3372
+ title?: string | ((params: import("vxe-table").VxeColumnPropTypes.HeaderSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3373
+ radio?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3374
+ checkbox?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3375
+ default?: string | ((params: import("vxe-table").VxeColumnPropTypes.DefaultSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3376
+ header?: string | ((params: import("vxe-table").VxeColumnPropTypes.HeaderSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3377
+ footer?: string | ((params: import("vxe-table").VxeColumnPropTypes.FooterSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3378
+ content?: string | ((params: import("vxe-table").VxeColumnPropTypes.ContentSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3379
+ filter?: string | ((params: import("vxe-table").VxeColumnPropTypes.FilterSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3380
+ edit?: string | ((params: import("vxe-table").VxeColumnPropTypes.EditSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3381
+ icon?: string | ((params: import("vxe-table").VxeColumnPropTypes.IconSlotParams) => import("vxe-table").SlotVNodeType | import("vxe-table").SlotVNodeType[]) | null | undefined;
3382
+ } | undefined;
3358
3383
  } | undefined;
3359
3384
  checkboxConfig?: {
3360
3385
  reserve?: boolean | undefined;
@@ -4538,6 +4563,7 @@ declare const _default: import("vue").DefineComponent<{
4538
4563
  isSingleSelect?: import("../../../../es/shared/types").MaybeString<0 | 1> | undefined;
4539
4564
  hideSettingBtn?: import("../../../../es/shared/types").MaybeString<0 | 1> | undefined;
4540
4565
  showSeq?: boolean | undefined;
4566
+ forceClearable?: boolean | undefined;
4541
4567
  selectType?: "checkbox" | "radio" | null | undefined;
4542
4568
  rowGroupSetting?: {
4543
4569
  firstRowGroup?: {
@@ -14,7 +14,9 @@ declare class ConfigHooks extends AbstractConfigHooks {
14
14
  readonly seqConfig: SyncWaterfallHook<[import("vxe-table").VxeTablePropTypes.SeqConfig | undefined, IhoTableConfig, IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
15
15
  readonly sortConfig: SyncWaterfallHook<[import("vxe-table").VxeTablePropTypes.SortConfig | undefined, IhoTableConfig, IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
16
16
  readonly filterConfig: SyncWaterfallHook<[import("vxe-table").VxeTablePropTypes.FilterConfig | undefined, IhoTableConfig, IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
17
- readonly radioConfig: SyncWaterfallHook<[import("vxe-table").VxeTablePropTypes.RadioConfig | undefined, IhoTableConfig, IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
17
+ readonly radioConfig: SyncWaterfallHook<[(import("vxe-table").VxeTablePropTypes.RadioConfig & Partial<import("vxe-table").VxeTablePropTypes.RadioConfig & {
18
+ slots: import("vxe-table").VxeColumnPropTypes.Slots;
19
+ }>) | undefined, IhoTableConfig, IhoTableHandlerContext<true>], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
18
20
  readonly checkboxConfig: SyncWaterfallHook<[(import("vxe-table").VxeTablePropTypes.CheckboxConfig & Partial<import("vxe-table").VxeTablePropTypes.CheckboxConfig & {
19
21
  slots: import("vxe-table").VxeColumnPropTypes.Slots;
20
22
  maxCheckSize: number;
@@ -1 +1 @@
1
- import{unref as e}from"vue";import{promiseTimeout as n}from"@vueuse/shared";import"../../../index.js";import{useSessionStorage as t}from"@vueuse/core";import{isString as o,trim as i,isEmpty as l,isEqual as r,isFunction as u}from"lodash-es";import{selectOptionsMap as d}from"../rendererPlugins/editableWidgets/hooks/useSelectOption.js";import{IhoTableUtils as a}from"../../utils/index.js";import{EDITABLE_WIDGET_TYPE as s}from"../../constants/index.js";import{parse as c,isValid as p,compareDesc as f}from"date-fns";import{defineTablePlugin as m}from"../../hooks/useTablePlugin.js";function v(){const v="keyboardEventPlugin",g=t("ihoTableClipData","");return m({name:v,apply(t){function m(n,t,m,v,w){var b,y;if(!(null==(b=null==m?void 0:m.keyboardConfig)?void 0:b.isClip))return;const{row:C,column:R}=t.getSelectedCell()||t.getEditRecord()||{};if(!C||!R||!E(R,s.SELECT)&&e(g)===C[R.field])return;const x=m.uuid&&E(R,s.SELECT)&&d.get(m.uuid)[R.field],T=C[R.field];if("copy"===n){const e=(null==(y=(x||[]).filter((e=>T.includes(e.value))))?void 0:y.map((e=>e.label)).join(","))||T;g.value=e}else{if(o(e(g))&&(g.value=i(e(g)||"")),!e(g)||!function(e){var n;const t=null==(n=e.editRender)?void 0:n.props;return t&&Object.keys(s).includes(a.getCellType(t))}(R)||C.$__SEPARATE||!function(e,n,t,o){var i,l;const{beforeEditMethod:r}=n.editConfig||{},d={rowIndex:null!=(i=e.getRowIndex(t))?i:0,columnIndex:null!=(l=e.getColumnIndex(o))?l:0};return!r||u(r)&&r({row:t,column:o,...d,$table:e,$grid:void 0})}(t,m,C,R))return;if(E(R,s.DATE)&&function(n,t){var i;const l=null==(i=n.editRender)?void 0:i.props,r=e(g)||"";return!p(new Date(r))||o(l.connectField)&&t[l.connectField]&&(l.isStartDate&&f(new Date(r),new Date(t[l.connectField]))<0||l.isEndDate&&f(new Date(r),new Date(t[l.connectField]))>0)}(R,C))return;if(E(R,s.NUMBER)&&!/^-?\d*\.?\d+$/.test((e(g)||"").toString()))return;if(E(R,s.TIME)&&function(n){var t,o;const i=e(g)||"",l=null==(t=n.editRender)?void 0:t.props,r=c(i,(null==(o=null==l?void 0:l.componentProps)?void 0:o.valueFormat)||"HH:mm",new Date);return!p(r)}(R))return;let n=e(g)||"";if(x&&!l(x)){const e=x.filter((e=>n.split(",").includes(e.label))).map((e=>e.value));if(l(e))return;if(function(e){var n,t;const o=null==(n=e.editRender)?void 0:n.props;return E(e,s.SELECT)&&(null==(t=o.componentProps)?void 0:t.multiple)}(R)){if(r(T,e))return;n=e}else{if(e.includes(T))return;n=e[0]}}C[R.field]=n,v("formChange",{column:R,row:C,oldValue:T,value:n,index:t.getRowIndex(C)}),E(R,s.SEPARATE)&&(null==w||w())}}function E(e,n){var t;const o=null==(t=e.editRender)?void 0:t.props;return o&&a.getCellType(o)===n}t.eventHooks.onCopy.tap(v,(({$table:e},n,{emits:t})=>m("copy",e,n,t))),t.eventHooks.onPaste.tap(v,(({$table:e},n,{emits:t,updateTableDataRef:o})=>m("paste",e,n,t,o))),t.eventHooks.onKeydown.tap(v,(async({$event:e,$table:t},o,{emits:i})=>{await n(0);const{row:l,column:r}=t.getSelectedCell()||t.getEditRecord()||{};if(!l||!r)return;i("keyboard",{$table:t,key:e.key,index:t.getRowIndex(l),value:l[r.field],row:l,column:r})}))}})}export{v as keyboardEventPlugin};
1
+ import{unref as e}from"vue";import{promiseTimeout as t}from"@vueuse/shared";import"../../../index.js";import{useSessionStorage as n}from"@vueuse/core";import{isString as o,trim as l,isEmpty as i,isEqual as r,isFunction as u}from"lodash-es";import{selectOptionsMap as d}from"../rendererPlugins/editableWidgets/hooks/useSelectOption.js";import{IhoTableUtils as a}from"../../utils/index.js";import{EDITABLE_WIDGET_TYPE as s}from"../../constants/index.js";import{parse as c,isValid as p,compareDesc as f}from"date-fns";import{defineTablePlugin as m}from"../../hooks/useTablePlugin.js";function v(){const v="keyboardEventPlugin",g=n("ihoTableClipData","");return m({name:v,apply(n){function m(t,n,m,v,w){var b,C;if(!(null==(b=null==m?void 0:m.keyboardConfig)?void 0:b.isClip))return;if("paste"===t&&!n.getSelectedCell())return;const{row:y,column:R}=n.getSelectedCell()||n.getEditRecord()||{};if(!y||!R||!E(R,s.SELECT)&&e(g)===y[R.field])return;const x=m.uuid&&E(R,s.SELECT)&&d.get(m.uuid)[R.field],T=y[R.field];if("copy"===t){const e=(null==(C=(x||[]).filter((e=>T.includes(e.value))))?void 0:C.map((e=>e.label)).join(","))||T;g.value=e}else{if(o(e(g))&&(g.value=l(e(g)||"")),!e(g)||!function(e){var t;const n=null==(t=e.editRender)?void 0:t.props;return n&&Object.keys(s).includes(a.getCellType(n))}(R)||y.$__SEPARATE||!function(e,t,n,o){var l,i;const{beforeEditMethod:r}=t.editConfig||{},d={rowIndex:null!=(l=e.getRowIndex(n))?l:0,columnIndex:null!=(i=e.getColumnIndex(o))?i:0};return!r||u(r)&&r({row:n,column:o,...d,$table:e,$grid:void 0})}(n,m,y,R))return;if(E(R,s.DATE)&&function(t,n){var l;const i=null==(l=t.editRender)?void 0:l.props,r=e(g)||"";return!p(new Date(r))||o(i.connectField)&&n[i.connectField]&&(i.isStartDate&&f(new Date(r),new Date(n[i.connectField]))<0||i.isEndDate&&f(new Date(r),new Date(n[i.connectField]))>0)}(R,y))return;if(E(R,s.NUMBER)&&!/^-?\d*\.?\d+$/.test((e(g)||"").toString()))return;if(E(R,s.TIME)&&function(t){var n,o;const l=e(g)||"",i=null==(n=t.editRender)?void 0:n.props,r=c(l,(null==(o=null==i?void 0:i.componentProps)?void 0:o.valueFormat)||"HH:mm",new Date);return!p(r)}(R))return;let t=e(g)||"";if(x&&!i(x)){const e=x.filter((e=>t.split(",").includes(e.label))).map((e=>e.value));if(i(e))return;if(function(e){var t,n;const o=null==(t=e.editRender)?void 0:t.props;return E(e,s.SELECT)&&(null==(n=o.componentProps)?void 0:n.multiple)}(R)){if(r(T,e))return;t=e}else{if(e.includes(T))return;t=e[0]}}y[R.field]=t,v("formChange",{column:R,row:y,oldValue:T,value:t,index:n.getRowIndex(y)}),E(R,s.SEPARATE)&&(null==w||w())}}function E(e,t){var n;const o=null==(n=e.editRender)?void 0:n.props;return o&&a.getCellType(o)===t}n.eventHooks.onCopy.tap(v,(({$table:e},t,{emits:n})=>m("copy",e,t,n))),n.eventHooks.onPaste.tap(v,(({$table:e},t,{emits:n,updateTableDataRef:o})=>m("paste",e,t,n,o))),n.eventHooks.onKeydown.tap(v,(async({$event:e,$table:n},o,{emits:l})=>{await t(0);const{row:i,column:r}=n.getSelectedCell()||n.getEditRecord()||{};if(!i||!r)return;l("keyboard",{$table:n,key:e.key,index:n.getRowIndex(i),value:i[r.field],row:i,column:r})}))}})}export{v as keyboardEventPlugin};
@@ -1 +1 @@
1
- import{toRaw as e,h as t,inject as l,createVNode as i}from"vue";import{arrayed as o,widthAppend as s}from"../../../../../shared/utils/index.js";import{isObject as n,isFunction as a,cloneDeep as d,isString as r}from"lodash-es";import u from"../../../../annotation-edit/index.js";import{HIGHEST_PRIORITY as c,IHO_TABLE_FIXED_STATUS as f,LOWEST_PRIORITY as m,WIDGET_TYPE as p,InjectionIhoTableAnnotation as h,InjectionIhoTableConfig as v}from"../../constants/index.js";import{defineTablePlugin as b}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as g,IhoTableUtils as x,IhoTableRenderHelper as R}from"../../utils/index.js";import{getDefaultValue as j}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function w(){const w="lowCodeFieldAdaptorPlugin";return b({name:w,apply(b){b.fieldHooks.field.tap({name:w,stage:c},((c,m,b)=>{const w=c,P={className:w.bold?"iho-table__boldCell":"",field:w.columnName,showOverflow:"ellipsis",visible:g.notNegative(w.isShow),minWidth:w.colWidth,sortable:g.isPositive(w.isSort),fixed:f[w.isFixed],...w,title:w.alias||w.title};return function(e,d){const c={default:d.slotFn,header:d.headerSlotFn,edit:d.editSlotFn,footer:d.footerSlotFn,...d.slots};if(a(d.checkEditStatus)){const{default:e}=c;a(e)&&(c.default=l=>d.checkEditStatus(l)?e(l):[t("span",null,j(l.row,l.column.editRender.props))])}const f=c.header;c.header=e=>function(e,t,d){var c;const f=l(h),m=l(v),p=l("$xetable"),b=e.column||{},g=n(null==f?void 0:f.value)&&!1!==t.annotation,x=R.isEditableColumn(m.value,b),j=R.hasFilter(t)||R.hasDateFiler(t),w=null==(c=t.titlePrefix)?void 0:c.content,P=r(d)?d:a(d)?d(e):null;let F=!1;if(m.value){const e=m.value.editRules&&m.value.editRules[b.field];e&&(F=o(e).some((e=>e.required)))}const S=m.value.border?Math.max(2,Math.ceil(p.reactData.scrollbarWidth/p.reactData.tableColumn.length)):1,W=s(Math.max(0,b.renderWidth-20-S-(F?14:0)-(g?18:0)-(j?23:0)-(x?22:0)-(w?20:0)-(b.sortable?23:0)));return i("section",{class:"iho-table__headerWrapper"},[i("section",{style:{width:W}},[null!=P?P:i("div",{style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[b.title])]),g?i(u,{modelValue:f.value[b.field],"onUpdate:modelValue":e=>f.value[b.field]=e},null):null])}(e,d,f),e.slots=c}(P,w),function(t,l,i){var o,s;const r=d(e(l));r.componentProps={size:"mini"===i.size?"small":i.size,...r.componentProps},t.editRender={name:x.getCellType(l),...t.editRender,props:r},t.editRender.enabled=!Reflect.get(p,t.editRender.name),a(null==(o=t.slots)?void 0:o.default)&&(t.editRender.enabled=t.editRender.enabled&&a(null==(s=t.slots)?void 0:s.edit));if(!n(l.settingObj))return;Reflect.has(l.settingObj,"isHide")&&(t.visible=t.visible&&g.notPositive(l.settingObj.isHide))}(P,w,b),P})),b.fieldHooks.field.tap({name:w+"After",stage:m},(e=>(n(e.slots)&&Object.entries(e.slots).forEach((([t,l])=>{null==l&&Reflect.deleteProperty(e.slots,t)})),e)))}})}export{w as lowCodeFieldAdaptorPlugin};
1
+ import{toRaw as e,h as t,inject as l,createVNode as i}from"vue";import{arrayed as o,widthAppend as s}from"../../../../../shared/utils/index.js";import{isObject as n,isFunction as a,cloneDeep as r,isString as d}from"lodash-es";import u from"../../../../annotation-edit/index.js";import{HIGHEST_PRIORITY as c,IHO_TABLE_FIXED_STATUS as f,LOWEST_PRIORITY as m,WIDGET_TYPE as p,InjectionIhoTableAnnotation as h,InjectionIhoTableConfig as b}from"../../constants/index.js";import{defineTablePlugin as v}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as g,IhoTableUtils as x,IhoTableRenderHelper as R}from"../../utils/index.js";import{getDefaultValue as P}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function j(){const j="lowCodeFieldAdaptorPlugin";return v({name:j,apply(v){v.fieldHooks.field.tap({name:j,stage:c},((c,m,v)=>{const j=c,w={className:j.bold?"iho-table__boldCell":"",field:j.columnName,showOverflow:"ellipsis",visible:g.notNegative(j.isShow),minWidth:j.colWidth,sortable:g.isPositive(j.isSort),fixed:f[j.isFixed],...j,title:j.alias||j.title};return function(e,r){const c={default:r.slotFn,header:r.headerSlotFn,edit:r.editSlotFn,footer:r.footerSlotFn,...r.slots};if(a(r.checkEditStatus)){const{default:e}=c;a(e)&&(c.default=l=>r.checkEditStatus(l)?e(l):[t("span",null,P(l.row,l.column.editRender.props))])}const f=c.header;c.header=e=>function(e,t,r){var c;const f=l(h),m=l(b),p=l("$xetable"),v=e.column||{},g=n(null==f?void 0:f.value)&&!1!==t.annotation,x=R.isEditableColumn(m.value,v),P=R.hasFilter(t)||R.hasDateFiler(t),j=null==(c=t.titlePrefix)?void 0:c.content,w=d(r)?r:a(r)?r(e):null;let F=!1;if(m.value){const e=m.value.editRules&&m.value.editRules[v.field];e&&(F=o(e).some((e=>e.required)))}const S=m.value.border?Math.max(2,Math.ceil(p.reactData.scrollbarWidth/p.reactData.tableColumn.length)):1,W=s(Math.max(0,v.renderWidth-20-S-(F?14:0)-(g?18:0)-(P?23:0)-(x?22:0)-(j?20:0)-(v.sortable?23:0)));return i("section",{class:"iho-table__headerWrapper"},[i("section",{style:{width:W}},[null!=w?w:i("div",{style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[v.title])]),g?i(u,{modelValue:f.value[v.field],"onUpdate:modelValue":e=>f.value[v.field]=e},null):null])}(e,r,f),e.slots=c}(w,j),function(t,l,i){var o,s;const d=r(e(l));d.componentProps={size:"mini"===i.size?"small":i.size,...d.componentProps},i.forceClearable&&(d.componentProps.clearable=!0);t.editRender={name:x.getCellType(l),...t.editRender,props:d},t.editRender.enabled=!Reflect.get(p,t.editRender.name),a(null==(o=t.slots)?void 0:o.default)&&(t.editRender.enabled=t.editRender.enabled&&a(null==(s=t.slots)?void 0:s.edit));if(!n(l.settingObj))return;Reflect.has(l.settingObj,"isHide")&&(t.visible=t.visible&&g.notPositive(l.settingObj.isHide))}(w,j,v),w})),v.fieldHooks.field.tap({name:j+"After",stage:m},(e=>(n(e.slots)&&Object.entries(e.slots).forEach((([t,l])=>{null==l&&Reflect.deleteProperty(e.slots,t)})),e)))}})}export{j as lowCodeFieldAdaptorPlugin};
@@ -1 +1 @@
1
- import{createVNode as e,mergeProps as l,defineComponent as o,computed as r}from"vue";import n from"../../../../../../shared/components/InputNumberSlash/InputNumberSlash.js";import{isNumber as u}from"lodash-es";import{NInputNumber as t}from"naive-ui";import"../../../../index.js";import{EDITABLE_WIDGET_TYPE as a}from"../../../constants/index.js";import{useAutoFocus as s}from"./hooks/useAutoFocus.js";import{IhoTableRenderHelper as i}from"../../../utils/index.js";import{defineTablePlugin as m}from"../../../hooks/useTablePlugin.js";const p=o({name:"IhoTableInputNumber",props:{value:[String,Number]},emits:["update:value"],setup(l,{emit:o}){const n=r({get:()=>u(l.value)?l.value:l.value&&u(+l.value)?+l.value:null,set(e){o("update:value",e)}});return()=>e(t,{value:n.value,"onUpdate:value":e=>n.value=e},null)}});function d(){const o="numberRendererPlugin";return m({name:o,vxe(o){o.renderer.add(a.NUMBER,{renderCell:i.createDefaultRenderCell(),renderEdit:i.createRenderEdit((({row:o,column:r,fieldItem:u,emitFormClick:t,emitFormChangeWithParams:a})=>{const{placeholder:s="请输入"}=u.componentProps||{},i={clearable:!0,placeholder:s,onBlur:()=>a({type:"blur",oldValue:o[r.field]}),[u.allowSlash?"onChange":"onUpdateValue"]:e=>{const l=o[r.field];o[r.field]=e,a({oldValue:l})},onClick:t};return u.allowSlash?e(n,l({value:o[r.field]},i,u.componentProps),null):e(p,l({value:o[r.field]},i,u.componentProps),null)}))})},apply(e){s(e).bindAutoFocusConfig(o,a.INPUT,".n-input__input-el",{focusType:"class"})}})}export{d as numberRendererPlugin};
1
+ import{createVNode as e,mergeProps as l,defineComponent as o,computed as r}from"vue";import n from"../../../../../../shared/components/InputNumberSlash/InputNumberSlash.js";import{isNumber as u}from"lodash-es";import{NInputNumber as t}from"naive-ui";import"../../../../index.js";import{EDITABLE_WIDGET_TYPE as a}from"../../../constants/index.js";import{useAutoFocus as s}from"./hooks/useAutoFocus.js";import{IhoTableRenderHelper as i}from"../../../utils/index.js";import{defineTablePlugin as m}from"../../../hooks/useTablePlugin.js";const p=o({name:"IhoTableInputNumber",props:{value:[String,Number]},emits:["update:value"],setup(l,{emit:o}){const n=r({get:()=>u(l.value)?l.value:l.value&&u(+l.value)?+l.value:null,set(e){o("update:value",e)}});return()=>e(t,{value:n.value,"onUpdate:value":e=>n.value=e},null)}});function d(){const o="numberRendererPlugin";return m({name:o,vxe(o){o.renderer.add(a.NUMBER,{renderCell:i.createDefaultRenderCell(),renderEdit:i.createRenderEdit((({row:o,column:r,fieldItem:u,emitFormClick:t,emitFormChangeWithParams:a})=>{const{placeholder:s="请输入"}=u.componentProps||{},i={clearable:!0,placeholder:s,onBlur:()=>a({type:"blur",oldValue:o[r.field]}),[u.allowSlash?"onChange":"onUpdateValue"]:e=>{const l=o[r.field];o[r.field]=e,a({oldValue:l})},onClick:t};return u.allowSlash?e(n,l({value:o[r.field]},i,u.componentProps),null):e(p,l({value:o[r.field]},i,u.componentProps),null)}))})},apply(e){s(e).bindAutoFocusConfig(o,a.NUMBER,".n-input__input-el",{focusType:"class"})}})}export{d as numberRendererPlugin};
@@ -1 +1 @@
1
- import{createVNode as e,defineComponent as n,inject as t}from"vue";import"../../../../index.js";import{NCheckbox as a}from"naive-ui";import{defineTablePlugin as s}from"../../../hooks/useTablePlugin.js";function l(){const n="checkRendererPlugin";return s({name:n,apply(t){t.fieldHooks.field.tap(n,((t,{index:a,insertBefore:s},l)=>{if(0===a&&l.selectType){const{checkboxConfig:t={}}=l,a={field:n,annotation:!1,type:l.selectType,...t,width:45,align:"center",fixed:"left"};t.disableHeader&&(a.slots={header:()=>e("span",{class:"checkbox-cell--disable"},null),...a.slots}),t.useNCheckbox&&(a.slots={header:n=>[e(o,{style:"margin-left: -1px",params:n},null)],checkbox:n=>[e(o,{params:n},null)],...a.slots}),s(a)}return t}))}})}const o=n({name:"Checkbox",props:{params:{type:Object,default:()=>({})}},setup(n){const s=t("$xetable");function l(e){var t;"header"===(null==(t=n.params)?void 0:t.type)?null==s||s.triggerCheckAllEvent(new MouseEvent("mouse-down"),e):null==s||s.triggerCheckRowEvent(new MouseEvent("mouse-down"),n.params,e)}return()=>e(a,{checked:n.params.checked,"onUpdate:checked":e=>n.params.checked=e,indeterminate:n.params.indeterminate,disabled:n.params.disabled,onUpdateChecked:l},null)}});export{l as checkRendererPlugin};
1
+ import{createVNode as e,defineComponent as n,inject as t}from"vue";import"../../../../index.js";import{NCheckbox as a}from"naive-ui";import{defineTablePlugin as o}from"../../../hooks/useTablePlugin.js";function s(){const n="checkRendererPlugin";return o({name:n,apply(t){t.fieldHooks.field.tap(n,((t,{index:a,insertBefore:o},s)=>{if(0===a&&s.selectType&&["checkbox","radio"].includes(s.selectType)){const{radioConfig:t,checkboxConfig:a={}}=s,r={width:45,align:"center",fixed:"left",..."radio"===s.selectType?t:a,field:n,type:s.selectType,annotation:!1};a.disableHeader&&(r.slots={header:()=>e("span",{class:"checkbox-cell--disable"},null),...r.slots}),a.useNCheckbox&&(r.slots={header:n=>[e(l,{style:"margin-left: -1px",params:n},null)],checkbox:n=>[e(l,{params:n},null)],...r.slots}),o(r)}return t}))}})}const l=n({name:"Checkbox",props:{params:{type:Object,default:()=>({})}},setup(n){const o=t("$xetable");function s(e){var t;"header"===(null==(t=n.params)?void 0:t.type)?null==o||o.triggerCheckAllEvent(new MouseEvent("mouse-down"),e):null==o||o.triggerCheckRowEvent(new MouseEvent("mouse-down"),n.params,e)}return()=>e(a,{checked:n.params.checked,"onUpdate:checked":e=>n.params.checked=e,indeterminate:n.params.indeterminate,disabled:n.params.disabled,onUpdateChecked:s},null)}});export{s as checkRendererPlugin};
@@ -1 +1 @@
1
- import{createVNode as n}from"vue";import"../../../../../../shared/utils/index.js";import{isObject as o,isArray as e}from"lodash-es";import"../../../../index.js";import{WIDGET_TYPE as t}from"../../../constants/index.js";import{parseMergeField as r,isRichContent as i,parseRichContent as l,getTitle as s}from"../../../utils/index.js";import{defineTablePlugin as c}from"../../../hooks/useTablePlugin.js";import{isMatchLowCodeCondition as d}from"../../../../../../shared/utils/business.js";function u(){return c({name:"defaultRendererPlugin",vxe(c){c.renderer.add(t.DEFAULT,{renderCell(t,{row:c,column:u}){const a=r(c,u),f=i(a)?function(o,e){const t=l(o);return[n("span",{title:s(e,t.change_text),style:{color:t.background||t.icon}},[r(t.icon),t.change_text])];function r(o){return o?o.match(/#[\da-f]{6}|[\da-f]{3}/i)?n("i",{class:"icon-dot",style:{"--table-icon-color":o,"--table-icon-shadow":o}},null):n("i",{class:t.icon},null):null}}(a,u):[a];return function(o,t,r,i){if(!e(o)||!o.length)return n("span",{title:s(r,i)},[i]);const l=o.find((n=>n.condition&&n.condition.find((n=>{const o=t[n.field_key||r.field];return d(o,n)}))));return n("span",l?{title:s(r,i),style:{color:l.color},class:l.icon}:{title:s(r,i)},[i])}(function(n){var e,t,r;const i=null==(e=n.editRender)?void 0:e.props;if(!o(i))return;return null!=(r=i.colorAndIcon)?r:null==(t=i.settingObj)?void 0:t.colorAndIcon}(u),c,u,f)}}),c.renderer.add(t.STATUS,c.renderer.get(t.DEFAULT))}})}export{u as defaultRendererPlugin};
1
+ import{createVNode as n}from"vue";import"../../../../../../shared/utils/index.js";import{isObject as o,isArray as e}from"lodash-es";import"../../../../index.js";import{WIDGET_TYPE as t}from"../../../constants/index.js";import{parseMergeField as r,isRichContent as i,parseRichContent as l,getTitle as s}from"../../../utils/index.js";import{isMatchLowCodeCondition as c}from"../../../../../../shared/utils/business.js";import{defineTablePlugin as d}from"../../../hooks/useTablePlugin.js";function u(){return d({name:"defaultRendererPlugin",vxe(d){d.renderer.add(t.DEFAULT,{renderCell(t,{row:d,column:u}){const a=r(d,u),f=i(a)?function(o,e){const t=l(o);return[n("span",{title:s(e,t.change_text),style:{color:t.background||t.icon}},[r(t.icon),t.change_text])];function r(o){return o?o.match(/#[\da-f]{6}|[\da-f]{3}/i)?n("i",{class:"icon-dot",style:{"--table-icon-color":o,"--table-icon-shadow":o}},null):n("i",{class:t.icon},null):null}}(a,u):[a];return function(o,t,r,i){if(!e(o)||!o.length)return n("span",{title:s(r,i)},[i]);const l=o.find((n=>n.condition&&n.condition.find((n=>{const o=t[n.field_key||r.field];return c(o,n)}))));return n("span",l?{title:s(r,i),style:{color:l.color},class:l.icon}:{title:s(r,i)},[i])}(function(n){var e,t,r;const i=null==(e=n.editRender)?void 0:e.props;if(!o(i))return;return null!=(r=i.colorAndIcon)?r:null==(t=i.settingObj)?void 0:t.colorAndIcon}(u),d,u,f)}}),d.renderer.add(t.STATUS,d.renderer.get(t.DEFAULT))}})}export{u as defaultRendererPlugin};
@@ -1 +1 @@
1
- import{unref as e,createVNode as t,onBeforeUnmount as o,shallowReactive as l,defineComponent as n,inject as r,ref as a,computed as s,provide as i,watch as u,onMounted as d,h as c}from"vue";import{traverse as p,widthAppend as f}from"../../../../../shared/utils/index.js";import{doAnimation as m}from"../../../../../shared/utils/anime.js";import{useThrottleFn as h}from"@vueuse/core";import{promiseTimeout as g}from"@vueuse/shared";import{last as v,isFunction as x,omit as I,isNumber as b}from"lodash-es";import"../../../index.js";import{WIDGET_TYPE as y,InjectionIhoTableUUID as T}from"../../constants/index.js";import{useUUIDMap as w}from"../../utils/index.js";import{defineTablePlugin as H}from"../../hooks/useTablePlugin.js";class R{constructor(){this.records={},this.maxRecords=l(new Map)}set(e,t,o){if(this.records[e]||(this.records[e]={}),this.records[e][t]===o)return;this.records[e][t]=o;const l=Math.max(...Object.values(this.records[e]),0);this.maxRecords.get(e)!==l&&this.maxRecords.set(e,l)}getMax(e){return this.maxRecords.get(e)||0}}const{getItemFromUUID:D,removeItemFromUUID:M}=w((()=>new R),!0),{getItemFromUUID:S,removeItemFromUUID:U,setItemFromUUID:C}=w((()=>null)),{getItemFromUUID:$,removeItemFromUUID:E,setItemFromUUID:k}=w((()=>{})),F=n({props:{payload:{type:Object,required:!0}},setup(e){const o=r(T),l=r("$xetable"),n=a(),p=D(o),m=s((()=>e.payload.row[e.payload.column.field]));function h(){const{row:t,column:o}=e.payload,r=l.getRowSeq(t);if(!p||null==r||!n.value)return;const a=n.value.clientHeight;p.set(r,o.field,a)}i("updateCellHeight",h),u([()=>e.payload.rowIndex,()=>e.payload.column.field,m,()=>e.payload.column.renderWidth],(async()=>{await g(0),h()})),d((()=>{l&&!S(o)&&C(o,l),h()}));const v=s((()=>{var t,o,l,n;const r=null!=(o=null==(t=e.payload.column.editRender)?void 0:t.props)?o:{},a=null!=(n=null==(l=r.slots)?void 0:l.default)?n:r.slotFn;return x(a)?a:()=>m.value})),I=s((()=>{if(e.payload.column.treeNode)return"";const t=e.payload.column.renderWidth;return b(t)&&t>0?f(t-20-2):""}));return()=>t("div",{ref:n,style:{padding:"7px 0",width:I.value,overflow:"hidden"}},[c(v.value,e.payload)])}});function j(t,o,{scrollTop:l=0}){var n,r;const{uuid:a,rowConfig:s={}}=o;if(!a)return;const i=D(a),{oSize:u=0,gt:d=100}=null!=(n=$(a))?n:{},{internalData:c,reactData:p}=t,{scrollYStore:f,elemStore:m,afterFullData:h,fullDataRowIdData:g}=c;if(d>h.length)return;const I=null!=(r=s.height)?r:36,b=m["main-body-wrapper"],y=b?e(b):null;let T=y?Math.max(8,Math.ceil(y.clientHeight/I)+2+u):8;const w=[0];let H=0;if(l&&h.find(((e,o)=>{const n=t.getRowSeq(e),r=(v(w)||0)+Math.max(I,i.getMax(n));if(w.push(r),r>l)return H=Math.max(0,o-u),T+=Math.min(H,u),!0})),H>0&&x(o.spanMethod)){const{spanMethod:e}=o,l={rowspan:1,colspan:1};for(;H>0;){if(!t.getColumns().some(((t,o)=>{const{rowspan:n,colspan:r}=e({column:t,columnIndex:o,$columnIndex:o,row:h[H],rowIndex:H,$rowIndex:H,_rowIndex:H,isHidden:!t.visible,fixed:t.fixed,type:t.type,visibleData:h})||l;if(0===n&&0===r)return H--,!0})))break}}const R=`${w[H]}px`,M=`${h.reduce(((e,o)=>{const l=t.getRowSeq(o);return e+Math.max(I,i.getMax(l))}),0)}px`;["main","left","right"].forEach((t=>{const o=m[`${t}-body-table`],n=o?e(o):null;n&&(n.style.marginTop=R,n.scrollTop=l),["header","body","footer"].forEach((o=>{const l=m[`${t}-${o}-ySpace`],n=l?e(l):null;n&&(n.style.height=M)}))}));const S=Math.min(h.length,H+T);if(f.startIndex===H&&f.endIndex===S)return;f.startIndex=H,f.endIndex=S;const U=h.slice(f.startIndex,f.endIndex);U.forEach(((e,o)=>{const l=t.getRowid(e),n=g[l];n&&(n.$index=o)})),p.tableData.length=0,p.tableData.push(...U)}const L=h(j,300);function Y(){const l="variableHeightRendererPlugin";return H({name:l,vxe(e){e.renderer.add(y.VARIABLE_HEIGHT,{renderCell:(e,o)=>t(F,{payload:o},null)})},apply(t){function n(t){const o=S(t.uuid);if(!o)return;t.scrollY={enabled:!1},o.reactData.scrollYLoad=!1;const l=function(t){const o=t.internalData.elemStore["main-body-wrapper"];return o?e(o):null}(o);l&&j(o,t,{scrollTop:l.scrollTop})}function r(e){if(!e.uuid)return;const t=$(e.uuid);t&&(e.scrollY=t),setTimeout((()=>n(e)),300)}t.dataHooks.dataStart.tap(l,r),t.eventHooks.onFilterChange.tap(l,((e,t)=>r(t))),t.eventHooks.onSortChange.tap(l,((e,t)=>r(t))),t.eventHooks.onToggleTreeExpand.tap(l,((e,t)=>r(t))),t.eventHooks.onResizableChange.tap(l,(async({column:e},t)=>{if(!e.editRender||!e.editRender.props)return;e.editRender.props.variableHeight&&r(t)})),t.eventHooks.onScroll.tap(l,h(((e,t)=>{if(e.isX)return;const{uuid:o}=t;if(!o)return;const l=S(o);l&&j(l,t,e)}),100,!0,!0)),t.fieldHooks.field.tap(l,(e=>{if(Reflect.get(e,"variableHeight")){const t=e.slots;e.slots=I(t,["default"]),e.editRender={...e.editRender,name:y.VARIABLE_HEIGHT};const o=e.className,l="variable-height";e.className=o?function(e){return x(o)?[o(e),l]:[o,l]}:l}return e})),t.fieldHooks.fieldList.tap(l,((t,o,{$table:l})=>(o.uuid&&p(t,((t,r)=>{var a,s,i;if((null==(a=t.editRender)?void 0:a.name)===y.VARIABLE_HEIGHT){const t=null!=(i=null==(s=o.rowConfig)?void 0:s.height)?i:36,a=D(o.uuid),u=o.cellStyle;if(o.cellStyle=function(e){const o={};if(l.value){const n=Math.max(t,a.getMax(l.value.getRowSeq(e.row)));o.height=`${n}px`}return Object.assign(o,u?x(u)?u(e):u:null)},o.sortableConfig&&o.sortableConfig.enable){const t=o.sortableConfig.onEnd;o.sortableConfig.onEnd=function(l){const n=S(o.uuid);if(n){const{internalData:{elemStore:t}}=n,l=t["main-table-body"];l&&e(l)&&j(n,o,{scrollTop:e(l).scrollTop})}x(t)&&t(l)}}o.scrollY={...o.scrollY,mode:"default"},o.onWheel=function(t){let o=null,l=0,n=!0;return function(r){if(!t.uuid)return;const a=S(t.uuid);if(!a)return;const{internalData:s}=a,{isHover:i}=t.rowConfig||{},{deltaX:u,deltaY:d}=r,{refTableLeftBody:c,refTableRightBody:p,refTableBody:f}=a.getRefMaps(),h=d,g=u,v=h<0,x=e(f),I=x?x.$el:null;if(!I)return;if(v?I.scrollTop<=0:I.scrollTop>=I.scrollHeight-I.clientHeight)return;const b=I.scrollTop+h,y=I.scrollLeft+g;if(b===s.lastScrollTop)return;r.preventDefault(),s.lastScrollTop=b,s.lastScrollLeft=y,s.lastScrollTime=Date.now(),i&&a.clearHoverRow();const T=c.value,w=p.value,H=T?T.$el:null,R=w?w.$el:null,D=Math.min(100,Math.abs(Math.floor(h/2)));n&&(l=I.scrollTop,n=!1),l+=D*(v?-1:1),o&&o(),o=m(I.scrollTop,l,400,(e=>{I.scrollTop=e,H&&(H.scrollTop=e),R&&(R.scrollTop=e)}),"easeOutCubic",(()=>{l=I.scrollTop,n=!0})),L(a,t,I)}}(o),setTimeout((()=>{k(o.uuid,o.scrollY),n(o)}),300),r()}})),t))),t.setupHooks.setup.tap(l,(e=>{o((()=>{e.value.uuid&&(M(e.value.uuid),U(e.value.uuid),E(e.value.uuid))}))}))}})}export{Y as variableHeightRendererPlugin};
1
+ import{unref as e,createVNode as t,onBeforeUnmount as o,shallowReactive as l,defineComponent as n,inject as r,ref as a,computed as s,provide as i,watch as u,onMounted as d,h as c}from"vue";import{traverse as p,widthAppend as f}from"../../../../../shared/utils/index.js";import{doAnimation as m}from"../../../../../shared/utils/anime.js";import{useThrottleFn as h}from"@vueuse/core";import{promiseTimeout as g}from"@vueuse/shared";import{last as v,isFunction as x,omit as I,isNumber as b}from"lodash-es";import"../../../index.js";import{WIDGET_TYPE as y,InjectionIhoTableUUID as T}from"../../constants/index.js";import{useUUIDMap as w}from"../../utils/index.js";import{defineTablePlugin as H}from"../../hooks/useTablePlugin.js";class R{constructor(){this.records={},this.maxRecords=l(new Map)}set(e,t,o){if(this.records[e]||(this.records[e]={}),this.records[e][t]===o)return;this.records[e][t]=o;const l=Math.max(...Object.values(this.records[e]),0);this.maxRecords.get(e)!==l&&this.maxRecords.set(e,l)}getMax(e){return this.maxRecords.get(e)||0}}const{getItemFromUUID:D,removeItemFromUUID:M}=w((()=>new R),!0),{getItemFromUUID:S,removeItemFromUUID:U,setItemFromUUID:C}=w((()=>null)),{getItemFromUUID:$,removeItemFromUUID:E,setItemFromUUID:k}=w((()=>{})),F=n({props:{payload:{type:Object,required:!0}},setup(e){const o=r(T),l=r("$xetable"),n=a(),p=D(o),m=s((()=>e.payload.row[e.payload.column.field]));function h(){const{row:t,column:o}=e.payload,r=l.getRowSeq(t);if(!p||null==r||!n.value)return;const a=n.value.clientHeight;p.set(r,o.field,a)}i("updateCellHeight",h),u([()=>e.payload.rowIndex,()=>e.payload.column.field,m,()=>e.payload.column.renderWidth],(async()=>{await g(0),h()})),d((()=>{l&&!S(o)&&C(o,l),h()}));const v=s((()=>{var t,o,l,n;const r=null!=(o=null==(t=e.payload.column.editRender)?void 0:t.props)?o:{},a=null!=(n=null==(l=r.slots)?void 0:l.default)?n:r.slotFn;return x(a)?a:()=>m.value})),I=s((()=>{if(e.payload.column.treeNode)return"";const t=e.payload.column.renderWidth;return b(t)&&t>0?f(t-20-2):""}));return()=>t("div",{ref:n,style:{padding:"7px 0",width:I.value,overflow:"hidden"}},[c(v.value,e.payload)])}});function j(t,o,{scrollTop:l=0}){var n,r;const{uuid:a,rowConfig:s={}}=o;if(!a)return;const i=D(a),{oSize:u=0,gt:d=100}=null!=(n=$(a))?n:{},{internalData:c,reactData:p}=t,{scrollYStore:f,elemStore:m,afterFullData:h,fullDataRowIdData:g}=c;if(d>h.length)return;const I=null!=(r=s.height)?r:36,b=m["main-body-wrapper"],y=b?e(b):null;let T=y?Math.max(8,Math.ceil(y.clientHeight/I)+2+u):8;const w=[0];let H=0;if(l&&h.find(((e,o)=>{const n=t.getRowSeq(e),r=(v(w)||0)+Math.max(I,i.getMax(n));if(w.push(r),r>l)return H=Math.max(0,o-u),T+=Math.min(H,u),!0})),H>0&&x(o.spanMethod)){const{spanMethod:e}=o,l={rowspan:1,colspan:1};for(;H>0;){if(!t.getColumns().some(((t,o)=>{const{rowspan:n,colspan:r}=e({column:t,columnIndex:o,$columnIndex:o,row:h[H],rowIndex:H,$rowIndex:H,_rowIndex:H,isHidden:!t.visible,fixed:t.fixed,type:t.type,visibleData:h})||l;if(0===n&&0===r)return H--,!0})))break}}const R=`${w[H]}px`,M=`${h.reduce(((e,o)=>{const l=t.getRowSeq(o);return e+Math.max(I,i.getMax(l))}),0)}px`;["main","left","right"].forEach((t=>{const o=m[`${t}-body-table`],n=o?e(o):null;n&&(n.style.marginTop=R,n.scrollTop=l),["header","body","footer"].forEach((o=>{const l=m[`${t}-${o}-ySpace`],n=l?e(l):null;n&&(n.style.height=M)}))}));const S=Math.min(h.length,H+T);if(f.startIndex===H&&f.endIndex===S)return;f.startIndex=H,f.endIndex=S;const U=h.slice(f.startIndex,f.endIndex);U.forEach(((e,o)=>{const l=t.getRowid(e),n=g[l];n&&(n.$index=o)})),p.tableData.length=0,p.tableData.push(...U)}const L=h(j,300);function Y(e){return!0===e.variableHeight||"1"===e.variableHeight}function A(){const l="variableHeightRendererPlugin";return H({name:l,vxe(e){e.renderer.add(y.VARIABLE_HEIGHT,{renderCell:(e,o)=>t(F,{payload:o},null)})},apply(t){function n(t){const o=S(t.uuid);if(!o)return;t.scrollY={enabled:!1},o.reactData.scrollYLoad=!1;const l=function(t){const o=t.internalData.elemStore["main-body-wrapper"];return o?e(o):null}(o);l&&j(o,t,{scrollTop:l.scrollTop})}function r(e){if(!e.uuid)return;const t=$(e.uuid);t&&(e.scrollY=t),setTimeout((()=>n(e)),300)}t.dataHooks.dataStart.tap(l,r),t.eventHooks.onFilterChange.tap(l,((e,t)=>r(t))),t.eventHooks.onSortChange.tap(l,((e,t)=>r(t))),t.eventHooks.onToggleTreeExpand.tap(l,((e,t)=>r(t))),t.eventHooks.onResizableChange.tap(l,(async({column:e},t)=>{e.editRender&&e.editRender.props&&Y(e.editRender.props)&&r(t)})),t.eventHooks.onScroll.tap(l,h(((e,t)=>{if(e.isX)return;const{uuid:o}=t;if(!o)return;const l=S(o);l&&j(l,t,e)}),100,!0,!0)),t.fieldHooks.field.tap(l,(e=>{if(Y(e)){const t=e.slots;e.slots=I(t,["default"]),e.editRender={...e.editRender,name:y.VARIABLE_HEIGHT};const o=e.className,l="variable-height";e.className=o?function(e){return x(o)?[o(e),l]:[o,l]}:l}return e})),t.fieldHooks.fieldList.tap(l,((t,o,{$table:l})=>(o.uuid&&p(t,((t,r)=>{var a,s,i;if((null==(a=t.editRender)?void 0:a.name)===y.VARIABLE_HEIGHT){const t=null!=(i=null==(s=o.rowConfig)?void 0:s.height)?i:36,a=D(o.uuid),u=o.cellStyle;if(o.cellStyle=function(e){const o={};if(l.value){const n=Math.max(t,a.getMax(l.value.getRowSeq(e.row)));o.height=`${n}px`}return Object.assign(o,u?x(u)?u(e):u:null)},o.sortableConfig&&o.sortableConfig.enable){const t=o.sortableConfig.onEnd;o.sortableConfig.onEnd=function(l){const n=S(o.uuid);if(n){const{internalData:{elemStore:t}}=n,l=t["main-table-body"];l&&e(l)&&j(n,o,{scrollTop:e(l).scrollTop})}x(t)&&t(l)}}o.scrollY={...o.scrollY,mode:"default"},o.onWheel=function(t){let o=null,l=0,n=!0;return function(r){if(!t.uuid)return;const a=S(t.uuid);if(!a)return;const{internalData:s}=a,{isHover:i}=t.rowConfig||{},{deltaX:u,deltaY:d}=r,{refTableLeftBody:c,refTableRightBody:p,refTableBody:f}=a.getRefMaps(),h=d,g=u,v=h<0,x=e(f),I=x?x.$el:null;if(!I)return;if(v?I.scrollTop<=0:I.scrollTop>=I.scrollHeight-I.clientHeight)return;const b=I.scrollTop+h,y=I.scrollLeft+g;if(b===s.lastScrollTop)return;r.preventDefault(),s.lastScrollTop=b,s.lastScrollLeft=y,s.lastScrollTime=Date.now(),i&&a.clearHoverRow();const T=c.value,w=p.value,H=T?T.$el:null,R=w?w.$el:null,D=Math.min(100,Math.abs(Math.floor(h/2)));n&&(l=I.scrollTop,n=!1),l+=D*(v?-1:1),o&&o(),o=m(I.scrollTop,l,400,(e=>{I.scrollTop=e,H&&(H.scrollTop=e),R&&(R.scrollTop=e)}),"easeOutCubic",(()=>{l=I.scrollTop,n=!0})),L(a,t,I)}}(o),setTimeout((()=>{k(o.uuid,o.scrollY),n(o)}),300),r()}})),t))),t.setupHooks.setup.tap(l,(e=>{o((()=>{e.value.uuid&&(M(e.value.uuid),U(e.value.uuid),E(e.value.uuid))}))}))}})}export{A as variableHeightRendererPlugin};
@@ -19,6 +19,7 @@ export declare type IhoTableConfig = VxeTableProps & Partial<{
19
19
  isSingleSelect: MaybeString<0 | 1>;
20
20
  hideSettingBtn: MaybeString<0 | 1>;
21
21
  showSeq: boolean;
22
+ forceClearable: boolean;
22
23
  selectType: Exclude<VxeTableDefines.ColumnInfo['type'], 'seq' | 'expand' | 'html'>;
23
24
  rowGroupSetting: Partial<Record<TupleToUnion<typeof IhoTableRowGroupSequence>, IhoTableRowGroupItem[]>>;
24
25
  anchorList: Array<{
@@ -37,6 +38,9 @@ export declare type IhoTableConfig = VxeTableProps & Partial<{
37
38
  disableHeader: boolean;
38
39
  useNCheckbox: boolean;
39
40
  }>;
41
+ radioConfig: Partial<VxeTableProps['radioConfig'] & {
42
+ slots: VxeColumnPropTypes.Slots;
43
+ }>;
40
44
  sortableConfig: Partial<{
41
45
  enable: boolean;
42
46
  usePreset: boolean;