cnhis-design-vue 3.2.2-beta.1 → 3.2.2-beta.7

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 (79) hide show
  1. package/es/components/biunique-chat/index.d.ts +738 -562
  2. package/es/components/biunique-chat/index.js +1 -1
  3. package/es/components/biunique-chat/src/Index.vue.d.ts +1201 -0
  4. package/es/components/biunique-chat/src/Index.vue.js +1 -0
  5. package/es/components/biunique-chat/src/Index.vue2.js +1 -0
  6. package/es/components/biunique-chat/src/api/index.d.ts +2 -5
  7. package/es/components/biunique-chat/src/api/index.js +1 -1
  8. package/es/components/biunique-chat/src/components/ChatFile.vue.d.ts +241 -0
  9. package/es/components/biunique-chat/src/components/ChatFile.vue.js +1 -0
  10. package/es/components/biunique-chat/src/components/ChatFile.vue2.js +1 -0
  11. package/es/components/biunique-chat/src/components/ChatFooter.vue.d.ts +3 -5
  12. package/es/components/biunique-chat/src/components/ChatFooter.vue2.js +1 -1
  13. package/es/components/biunique-chat/src/components/ChatHeader.vue.d.ts +639 -0
  14. package/es/components/biunique-chat/src/components/ChatHeader.vue2.js +1 -1
  15. package/es/components/biunique-chat/src/components/ChatMain.vue.d.ts +61 -5
  16. package/es/components/biunique-chat/src/components/ChatMain.vue2.js +1 -1
  17. package/es/components/biunique-chat/src/components/ChatRecord.vue.d.ts +101 -0
  18. package/es/components/biunique-chat/src/components/ChatRecord.vue.js +1 -0
  19. package/es/components/biunique-chat/src/components/ChatRecord.vue2.js +1 -0
  20. package/es/components/biunique-chat/src/components/ChatSet.vue.d.ts +246 -0
  21. package/es/components/biunique-chat/src/components/ChatSet.vue.js +1 -0
  22. package/es/components/biunique-chat/src/components/ChatSet.vue2.js +1 -0
  23. package/es/components/biunique-chat/src/components/PersonProfile.vue.d.ts +59 -0
  24. package/es/components/biunique-chat/src/components/PersonProfile.vue.js +1 -0
  25. package/es/components/biunique-chat/src/components/PersonProfile.vue2.js +1 -0
  26. package/es/components/biunique-chat/src/components/SiderList.vue.d.ts +18 -28
  27. package/es/components/biunique-chat/src/components/SiderList.vue2.js +1 -1
  28. package/es/components/biunique-chat/src/hooks/useState.d.ts +7 -0
  29. package/es/components/biunique-chat/src/hooks/useState.js +1 -0
  30. package/es/components/biunique-chat/src/types/index.d.ts +10 -0
  31. package/es/components/biunique-chat/src/types/index.js +1 -0
  32. package/es/components/biunique-chat/src/utils/index.d.ts +6 -0
  33. package/es/components/biunique-chat/src/utils/index.js +1 -0
  34. package/es/components/biunique-chat/style/iconfont.ttf +0 -0
  35. package/es/components/biunique-chat/style/index.css +1 -1
  36. package/es/components/button-print/src/utils/print.d.ts +1 -0
  37. package/es/components/button-print/src/utils/print.js +1 -1
  38. package/es/components/callback/src/components/render/popupMaps.d.ts +2 -0
  39. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcess.js +1 -1
  40. package/es/components/fabric-chart/src/hooks/birthProcess/useBirthProcessChart.js +1 -1
  41. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useCenter.js +1 -1
  42. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useLeft.js +1 -1
  43. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useSurgicalAnesthesiaChart.js +1 -1
  44. package/es/components/fabric-chart/src/hooks/temperature/useCenter.js +1 -1
  45. package/es/components/fabric-chart/src/hooks/temperature/useLeft.js +1 -1
  46. package/es/components/fabric-chart/src/hooks/temperature/useOther.js +1 -1
  47. package/es/components/fabric-chart/src/hooks/useCumputedPoint.js +1 -1
  48. package/es/components/form-config/src/hooks/useSortalbeConfig.js +1 -1
  49. package/es/components/form-render/src/hooks/useFormEvent.js +1 -1
  50. package/es/components/form-render/src/hooks/useSelectedSetting.d.ts +3 -4
  51. package/es/components/form-render/src/hooks/useSelectedSetting.js +1 -1
  52. package/es/components/iho-table/index.d.ts +2 -0
  53. package/es/components/iho-table/src/IhoTable.vue.d.ts +2 -0
  54. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue.d.ts +1 -0
  55. package/es/components/iho-table/src/plugins/filterRenderPlugin/filter.vue2.js +1 -1
  56. package/es/components/iho-table/src/plugins/headerPlugin.js +1 -1
  57. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index.d.ts +5 -0
  58. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHeaderCSS.js +1 -1
  59. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHoverColumn.js +1 -1
  60. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/renderer.js +1 -1
  61. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/types.d.ts +1 -0
  62. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.d.ts +1 -0
  63. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
  64. package/es/components/iho-table/src/types/index.d.ts +1 -0
  65. package/es/components/iho-table/src/utils/index.d.ts +1 -1
  66. package/es/components/iho-table/src/utils/index.js +1 -1
  67. package/es/components/index.css +1 -1
  68. package/es/components/step-notice/index.d.ts +9 -0
  69. package/es/components/step-notice/src/StepNotice.vue.d.ts +9 -0
  70. package/es/components/step-notice/src/StepNotice.vue2.js +1 -1
  71. package/es/components/step-notice/src/components/NoticeItem.vue.d.ts +3 -0
  72. package/es/components/step-notice/src/components/NoticeItem.vue2.js +1 -1
  73. package/es/components/step-notice/src/types.d.ts +1 -0
  74. package/es/components/step-notice/style/index.css +1 -1
  75. package/es/shared/package.json.js +1 -1
  76. package/package.json +2 -2
  77. package/es/components/biunique-chat/src/BiuniqueChat.vue.d.ts +0 -1005
  78. package/es/components/biunique-chat/src/BiuniqueChat.vue.js +0 -1
  79. package/es/components/biunique-chat/src/BiuniqueChat.vue2.js +0 -1
@@ -1 +1 @@
1
- import{arrayed as e,findAncestor as t}from"../../../../shared/utils/index.js";import{isField as r}from"@formily/core";import{Path as o}from"@formily/path";import{isObject as i}from"@vue/shared";import{promiseTimeout as n}from"@vueuse/shared";import{isFunction as a,isArray as s,isString as d}from"lodash-es";import{nextTick as l}from"vue";import"../../index.js";import{NESTED_FORM_ITEM_TYPE as u}from"../constants/index.js";import{queryDecoratorByAddress as m,queryInput as f,queryDecoratorByFieldKey as c,findNextWidget as p}from"../utils/dom.js";import{validateMessageParser as g,combineExtendKey as v,splitExtendKey as y}from"../utils/index.js";import{getParentLinebar as h}from"../utils/schema.js";import{useSelectedSetting as b}from"./useSelectedSetting.js";function S({formModel:t,formRenderRef:n,formUUID:u,getFieldList:p,formItemDepsCollector:S,businessCollector:x,wordbookSettingHandler:D,operationalFormHandler:j}){const{applySelectedSetting:F}=b(t);return{validate(o,{force:l}={}){if(null==o&&(o="*"),a(o)){const e=Object.entries(t.fields).reduce(((e,[t,r])=>(o(r)&&e.push(t),e)),[]);if(!e.length)return Promise.resolve();o=e.length?`*(${e.join(",")})`:"*"}const c=[];l&&t.setFieldState(o,(e=>{"visible"===e.display&&"editable"!==e.pattern&&r(e)&&(c.push({pattern:e.pattern,state:e}),e.pattern="editable")}));const p=t.validate(o).catch((e=>Promise.reject(Array.isArray(e)?e.reduce(v,[]):e)));return l&&c.forEach((({pattern:e,state:t})=>t.pattern=e)),p;function v(t,r){if(!i(r))return t;let o=!1;return s(r.messages)&&r.messages.forEach((r=>{i(r)&&(t.push(...e(r).map(y)),o=!0)})),!o&&t.push(y(r)),t}function y(e){if(e.decoratorElement)return e;const r=t.query(e.path),o=r.get("title"),a=e.messages.map((e=>function(e,t){if(!t||!i(t.fieldItem))return e;const r=t.fieldItem.defined_error_msg;return g(r&&d(r)?r:e,t.fieldItem)}(e,r.get("decoratorProps")))),s=m(e.address,n.value,u);return{...e,messages:a,title:o,decoratorElement:s,...f(s)}}},getFormValues(e=!0){let r=t.getFormState().values;return e&&(r=v(p(),r)),r},async setFormValues(e,i){i=Object.assign({avoidDependKeyConnection:!0,needSplitExtendKey:!0,avoidWordbookSettingConnection:!0,avoidOperationalFormConnection:!0,dependKeyKeepValue:!1,avoidBusinessConnection:!1,overwrite:!0},i),x.triggerDisabled=i.avoidBusinessConnection,S.triggerDisabled=i.avoidDependKeyConnection,S.keepValue=i.dependKeyKeepValue,D.triggerDisabled=i.avoidWordbookSettingConnection,j.triggerDisabled=i.avoidOperationalFormConnection,i.needSplitExtendKey&&(e=y(p(),e)),t.setFieldState("*",(t=>{r(t)&&(i.overwrite||o.existIn(e,t.path))&&(t.value=o.getIn(e,t.path))})),await l(),x.triggerDisabled=!1,S.triggerDisabled=!1,D.triggerDisabled=!1,j.triggerDisabled=!1,S.keepValue=!1},setFieldState(e,r){t.setFieldState(e,r)},resetFields:(e="*")=>t.reset(e),queryWidget:e=>async function(e,t,r){if(!n.value)return s();const i=c(e,t,u);if(i)return s(i);const a=h(e,r);return a?(S.trigger(o.parse(a),!0),await l(),s(c(e,t,u))):s();function s(e){return{decoratorElement:e,...f(e)}}}(e,n.value,p()),applySelectedSetting:F}}function x({props:e,formRenderRef:r,formModel:o}){return{onKeydown:async function i(s){var d;if(e.enterToNextWidget&&s.target){if("TEXTAREA"===s.target.tagName&&!s.ctrlKey)return;s.preventDefault()}if(await n(0),Reflect.get(s,"stopCapture")||!e.enterToNextWidget||!r.value)return;const l=t(s.target,(e=>e.classList.contains("form-render__formItem")));if(!l)return;const m=`.form-render__formItem${u.map((e=>`:not([widget-type=${e}])`)).join("")}`,f=Array.from(r.value.querySelectorAll(m)),c=f.findIndex((e=>e.id===l.id));if(!~c)return;const{widget:g,field:v}=p(f,c,s.target);if(g)if(a(e.enterToNextWidget)){const t=v&&o.query(v).take();!t||e.enterToNextWidget(null==(d=t.decoratorProps)?void 0:d.fieldItem)?y():i({target:g})}else y();async function y(){await n(0),g.focus()}}}}export{x as useFormDomEvent,S as useFormExposeEvent};
1
+ import{arrayed as e,findAncestor as t}from"../../../../shared/utils/index.js";import{isField as r}from"@formily/core";import{Path as o}from"@formily/path";import{isObject as i}from"@vue/shared";import{promiseTimeout as n}from"@vueuse/shared";import{isFunction as a,isArray as s,isString as d}from"lodash-es";import{nextTick as l}from"vue";import"../../index.js";import{NESTED_FORM_ITEM_TYPE as u}from"../constants/index.js";import{queryDecoratorByAddress as m,queryInput as f,queryDecoratorByFieldKey as c,findNextWidget as p}from"../utils/dom.js";import{validateMessageParser as g,combineExtendKey as v,splitExtendKey as y}from"../utils/index.js";import{getParentLinebar as S}from"../utils/schema.js";import{useSelectedSetting as h}from"./useSelectedSetting.js";function b({formModel:t,formRenderRef:n,formUUID:u,getFieldList:p,formItemDepsCollector:b,businessCollector:F,wordbookSettingHandler:x,operationalFormHandler:D}){const{applySelectedSetting:j}=h();return{validate(o,{force:l}={}){if(null==o&&(o="*"),a(o)){const e=Object.entries(t.fields).reduce(((e,[t,r])=>(o(r)&&e.push(t),e)),[]);if(!e.length)return Promise.resolve();o=e.length?`*(${e.join(",")})`:"*"}const c=[];l&&t.setFieldState(o,(e=>{"visible"===e.display&&"editable"!==e.pattern&&r(e)&&(c.push({pattern:e.pattern,state:e}),e.pattern="editable")}));const p=t.validate(o).catch((e=>Promise.reject(Array.isArray(e)?e.reduce(v,[]):e)));return l&&c.forEach((({pattern:e,state:t})=>t.pattern=e)),p;function v(t,r){if(!i(r))return t;let o=!1;return s(r.messages)&&r.messages.forEach((r=>{i(r)&&(t.push(...e(r).map(y)),o=!0)})),!o&&t.push(y(r)),t}function y(e){if(e.decoratorElement)return e;const r=t.query(e.path),o=r.get("title"),a=e.messages.map((e=>function(e,t){if(!t||!i(t.fieldItem))return e;const r=t.fieldItem.defined_error_msg;return g(r&&d(r)?r:e,t.fieldItem)}(e,r.get("decoratorProps")))),s=m(e.address,n.value,u);return{...e,messages:a,title:o,decoratorElement:s,...f(s)}}},getFormValues(e=!0){let r=t.getFormState().values;return e&&(r=v(p(),r)),r},async setFormValues(e,i){i=Object.assign({avoidDependKeyConnection:!0,needSplitExtendKey:!0,avoidWordbookSettingConnection:!0,avoidOperationalFormConnection:!0,dependKeyKeepValue:!1,avoidBusinessConnection:!1,overwrite:!0},i),F.triggerDisabled=i.avoidBusinessConnection,b.triggerDisabled=i.avoidDependKeyConnection,b.keepValue=i.dependKeyKeepValue,x.triggerDisabled=i.avoidWordbookSettingConnection,D.triggerDisabled=i.avoidOperationalFormConnection,i.needSplitExtendKey&&(e=y(p(),e)),t.setFieldState("*",(t=>{r(t)&&(i.overwrite||o.existIn(e,t.path))&&(t.value=o.getIn(e,t.path))})),await l(),F.triggerDisabled=!1,b.triggerDisabled=!1,x.triggerDisabled=!1,D.triggerDisabled=!1,b.keepValue=!1},setFieldState(e,r){t.setFieldState(e,r)},resetFields:(e="*")=>t.reset(e),queryWidget:e=>async function(e,t,r){if(!n.value)return s();const i=c(e,t,u);if(i)return s(i);const a=S(e,r);return a?(b.trigger(o.parse(a),!0),await l(),s(c(e,t,u))):s();function s(e){return{decoratorElement:e,...f(e)}}}(e,n.value,p()),applySelectedSetting(e){const o=t.getFormState().values;j(o,e,((e,o)=>{t.setFieldState(e,(e=>{r(e)&&e.setValue(o)}))}))}}}function F({props:e,formRenderRef:r,formModel:o}){return{onKeydown:async function i(s){var d;if(e.enterToNextWidget&&s.target){if("TEXTAREA"===s.target.tagName&&!s.ctrlKey)return;s.preventDefault()}if(await n(0),Reflect.get(s,"stopCapture")||!e.enterToNextWidget||!r.value)return;const l=t(s.target,(e=>e.classList.contains("form-render__formItem")));if(!l)return;const m=`.form-render__formItem${u.map((e=>`:not([widget-type=${e}])`)).join("")}`,f=Array.from(r.value.querySelectorAll(m)),c=f.findIndex((e=>e.id===l.id));if(!~c)return;const{widget:g,field:v}=p(f,c,s.target);if(g)if(a(e.enterToNextWidget)){const t=v&&o.query(v).take();!t||e.enterToNextWidget(null==(d=t.decoratorProps)?void 0:d.fieldItem)?y():i({target:g})}else y();async function y(){await n(0),g.focus()}}}}export{F as useFormDomEvent,b as useFormExposeEvent};
@@ -1,5 +1,4 @@
1
- import { LowCodeTypes } from '../../../../shared/types';
2
- import { Form } from '@formily/core';
3
- export declare function useSelectedSetting(formModel: Form): {
4
- applySelectedSetting: (selectedSettings: LowCodeTypes.selectedSettingConfig[]) => void;
1
+ import { AnyObject, LowCodeTypes } from '../../../../shared/types';
2
+ export declare function useSelectedSetting(): {
3
+ applySelectedSetting: (data: AnyObject, selectedSettings: LowCodeTypes.selectedSettingConfig[], setter?: ((key: string, value: any) => void) | undefined) => void;
5
4
  };
@@ -1 +1 @@
1
- import"../../../../shared/utils/index.js";import{isField as e}from"@formily/core";import{isEmpty as t}from"lodash-es";import{isMatchNewLowCodeConditionsWithSqlExpression as r}from"../../../../shared/utils/business.js";function i(i){return{applySelectedSetting:function(o){const s=i.getFormState().values;o.forEach((o=>{if(t(o.children))return;const l=o.children.find((e=>r(s,e)));l&&i.setFieldState(o.selectedField,(t=>{e(t)&&t.setValue(l.value)}))}))}}}export{i as useSelectedSetting};
1
+ import"../../../../shared/utils/index.js";import{isEmpty as e}from"lodash-es";import{isMatchNewLowCodeConditionsWithSqlExpression as i}from"../../../../shared/utils/business.js";function t(){return{applySelectedSetting:function(t,r,s){r.forEach((r=>{if(e(r.children))return;const l=r.children.find((e=>i(t,e)));l&&(s?s(r.selectedField,l.value):t[r.selectedField]=l.value)}))}}}export{t as useSelectedSetting};
@@ -3211,6 +3211,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
3211
3211
  verticalConfig?: {
3212
3212
  enable?: boolean | undefined;
3213
3213
  headerWidth?: number | "auto" | ((level: number) => number) | undefined;
3214
+ bodyWidth?: number | ((index: number) => number) | undefined;
3214
3215
  } | undefined;
3215
3216
  onFormChange?: ((payload_0: import("../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
3216
3217
  onCopy?: ((params: import("vxe-table").VxeTableDefines.CopyEventParams) => void) | undefined;
@@ -6774,6 +6775,7 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
6774
6775
  verticalConfig?: {
6775
6776
  enable?: boolean | undefined;
6776
6777
  headerWidth?: number | "auto" | ((level: number) => number) | undefined;
6778
+ bodyWidth?: number | ((index: number) => number) | undefined;
6777
6779
  } | undefined;
6778
6780
  onFormChange?: ((payload_0: import("../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
6779
6781
  onSettingClick?: (() => void) | undefined;
@@ -3212,6 +3212,7 @@ declare const _default: import("vue").DefineComponent<{
3212
3212
  verticalConfig?: {
3213
3213
  enable?: boolean | undefined;
3214
3214
  headerWidth?: number | "auto" | ((level: number) => number) | undefined;
3215
+ bodyWidth?: number | ((index: number) => number) | undefined;
3215
3216
  } | undefined;
3216
3217
  onFormChange?: ((payload_0: import("../../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
3217
3218
  onCopy?: ((params: import("vxe-table").VxeTableDefines.CopyEventParams) => void) | undefined;
@@ -6775,6 +6776,7 @@ declare const _default: import("vue").DefineComponent<{
6775
6776
  verticalConfig?: {
6776
6777
  enable?: boolean | undefined;
6777
6778
  headerWidth?: number | "auto" | ((level: number) => number) | undefined;
6779
+ bodyWidth?: number | ((index: number) => number) | undefined;
6778
6780
  } | undefined;
6779
6781
  onFormChange?: ((payload_0: import("../../../components/iho-table/src/types").IhoTableFormChangePayload) => void) | undefined;
6780
6782
  onSettingClick?: (() => void) | undefined;
@@ -13,6 +13,7 @@ declare const _default: import("vue").DefineComponent<{
13
13
  };
14
14
  }>> & {}>>;
15
15
  $table: (VxeTableConstructor & VxeTablePrivateMethods & VxeTableMethods) | undefined;
16
+ tableConfig: import("vue").Ref<import("../../../../../components/iho-table").IhoTableConfig>;
16
17
  multipleRef: import("vue").ComputedRef<boolean>;
17
18
  optionsRef: import("vue").ComputedRef<import("vxe-table").VxeTableDefines.FilterOption[] & VxeColumnPropTypes.Filter[]>;
18
19
  checkedRef: import("vue").WritableComputedRef<string[]>;
@@ -1 +1 @@
1
- import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,onMounted as i,toRaw as o,openBlock as r,createElementBlock as n,unref as v,createBlock as c,createCommentVNode as s,createElementVNode as d,createVNode as p,isRef as f,withCtx as h,mergeProps as m,normalizeProps as _,guardReactiveProps as y,Fragment as b,renderList as k,toDisplayString as g,createTextVNode as C,normalizeStyle as L}from"vue";import w from"../../../../../shared/components/CancelRadio/CancelRadio.js";import{keywordMatcher as I,widthAppend as D}from"../../../../../shared/utils/index.js";import{useVirtualList as S}from"@vueuse/core";import{isNumber as U,isString as j,isFunction as x,isEqual as F}from"lodash-es";import{NInput as R,NCheckbox as W,NSpin as E,NCheckboxGroup as $,NRadioGroup as O,NButtonGroup as P,NButton as V}from"naive-ui";import{isVariableHeightTable as Y}from"../../utils/index.js";const q={class:"iho-table__filterWrapper"},z={key:1,class:"iho-table__filterCheckAllWrapper"},A={class:"iho-table__filterListItem"},H={class:"iho-table__filterListItem"},M=["title"],B=["title"],G={class:"iho-table__filterListItemContent"},J={class:"iho-table__filterFooter"};var K=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const K=e,N=l("$xetable"),Q=a((()=>{var e;return!!(null==(e=K.payload)?void 0:e.column.filterMultiple)})),T=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=K.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),X=a({get:()=>T.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),async set(e){if(!K.payload||!N)return;const l=N.reactData.filterStore.options||[];if(Q.value?(l.forEach((l=>l._checked=e.includes(l.value))),N.checkFilterOptions()):l.forEach((l=>l._checked=l.value===e[0])),!Y(N))return a();function a(){K.payload.$panel.confirmFilter(new CustomEvent("click"))}N.reactData.scrollYLoad=!0,a(),N.reactData.scrollYLoad=!1}}),Z=t([...X.value]),ee=t("");async function le(){N&&(N.reactData.filterStore.visible=!1)}u(le);const ae=a((()=>{var e,l;if(!K.payload||!K.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=K.payload.column.editRender)?void 0:e.props)?l:{};return U(a)&&a>0?a:10})),te=a((()=>ee.value?T.value.filter((e=>!!`${e.label}`.includes(ee.value)||(j(e.data)?I(ee.value,e.data):void 0))):T.value)),{list:ue,containerProps:ie,wrapperProps:oe}=S(te,{itemHeight:32,overscan:3}),re=a({get:()=>te.value.every((e=>Z.value.includes(e.value))),set(e){Z.value=e?[...new Set([...Z.value,...te.value.map((e=>e.value))])]:Z.value.filter((e=>te.value.every((l=>l.value!==e))))}}),ne=a((()=>te.value.some((e=>Z.value.includes(e.value)))&&!re.value)),ve=a({get:()=>Z.value.length===T.value.length&&0!==T.value.length,set:e=>{Z.value=e?T.value.map((e=>e.value)):[]}}),ce=a((()=>!!Z.value.length&&!ve.value)),se=a((()=>({height:D(32*ae.value)})));function de(){X.value=Q.value?Z.value:F(Z.value[0],null)?[]:[Z.value[0]],le()}function pe(){Z.value=Q.value?[]:[null]}const fe=t(!1);return i((async()=>{var e;if(!N)return;const l=null==(e=K.payload.column.editRender.props)?void 0:e.onFilterShow;if(x(l))try{fe.value=!0,await l(K.payload);const{filterStore:e}=N.reactData;o(e.options)!==o(T.value)&&(e.options=T.value)}finally{fe.value=!1}})),(e,l)=>(r(),n("section",q,[v(T).length>5?(r(),c(v(R),{key:0,value:ee.value,"onUpdate:value":l[0]||(l[0]=e=>ee.value=e)},null,8,["value"])):s("v-if",!0),v(Q)?(r(),n("div",z,[d("div",A,[p(v(W),{label:"全选当前",checked:v(re),"onUpdate:checked":l[1]||(l[1]=e=>f(re)?re.value=e:null),indeterminate:v(ne)},null,8,["checked","indeterminate"])]),d("div",H,[p(v(W),{label:"全选所有",checked:v(ve),"onUpdate:checked":l[2]||(l[2]=e=>f(ve)?ve.value=e:null),indeterminate:v(ce)},null,8,["checked","indeterminate"])])])):s("v-if",!0),p(v(E),{show:fe.value},{default:h((()=>[v(Q)?(r(),c(v($),{key:0,value:Z.value,"onUpdate:value":l[3]||(l[3]=e=>Z.value=e)},{default:h((()=>[d("section",m(v(ie),{style:v(se),class:"iho-table__filterListWrapper"}),[d("section",_(y(v(oe))),[(r(!0),n(b,null,k(v(ue),(e=>(r(),n("div",{class:"iho-table__filterListItem",key:e.data.value},[p(v(W),{value:e.data.value},{default:h((()=>[d("div",{class:"iho-table__filterListItemContent",title:e.data.label},g(e.data.label),9,M)])),_:2},1032,["value"])])))),128))],16)],16)])),_:1},8,["value"])):(r(),c(v(O),{key:1,value:Z.value[0],"onUpdate:value":l[5]||(l[5]=e=>Z.value[0]=e)},{default:h((()=>[d("section",m(v(ie),{style:v(se),class:"iho-table__filterListWrapper"}),[d("section",_(y(v(oe))),[(r(!0),n(b,null,k(v(ue),(e=>(r(),n("div",{class:"iho-table__filterListItem",key:e.data.value,title:e.data.label},[p(v(w),{value:e.data.value,currentValue:Z.value[0],cancelable:"",onCancel:l[4]||(l[4]=e=>Z.value=[null])},{default:h((()=>[d("div",G,g(e.data.label),1)])),_:2},1032,["value","currentValue"])],8,B)))),128))],16)],16)])),_:1},8,["value"]))])),_:1},8,["show"]),d("footer",J,[d("section",null,[v(Q)?(r(),n(b,{key:0},[C(" 已选择 "),d("span",{style:L({color:"var(--c-primary-color)"})},g(Z.value.length),5),C(" 项 ")],64)):s("v-if",!0)]),p(v(P),{size:"small"},{default:h((()=>[p(v(V),{onClick:pe},{default:h((()=>[C("清空")])),_:1}),p(v(V),{onClick:le},{default:h((()=>[C("取消")])),_:1}),p(v(V),{type:"primary",onClick:de},{default:h((()=>[C("确定")])),_:1})])),_:1})])]))}});export{K as default};
1
+ import{defineComponent as e,inject as l,computed as a,ref as t,onDeactivated as u,onMounted as i,toRaw as n,openBlock as o,createElementBlock as r,unref as v,createBlock as s,createCommentVNode as c,createElementVNode as d,createVNode as p,isRef as f,withCtx as m,mergeProps as h,normalizeProps as _,guardReactiveProps as y,Fragment as b,renderList as k,toDisplayString as g,createTextVNode as C,normalizeStyle as L}from"vue";import w from"../../../../../shared/components/CancelRadio/CancelRadio.js";import{keywordMatcher as D,widthAppend as I}from"../../../../../shared/utils/index.js";import{useVirtualList as j}from"@vueuse/core";import{isNumber as x,isString as F,isFunction as S,isEqual as U}from"lodash-es";import{NInput as R,NCheckbox as W,NSpin as E,NCheckboxGroup as Y,NRadioGroup as $,NButtonGroup as O,NButton as P}from"naive-ui";import{InjectionIhoTableConfig as V}from"../../constants/index.js";import{isVariableHeightTable as q}from"../../utils/index.js";const z={class:"iho-table__filterWrapper"},A={key:1,class:"iho-table__filterCheckAllWrapper"},H={class:"iho-table__filterListItem"},M={class:"iho-table__filterListItem"},B=["title"],G=["title"],J={class:"iho-table__filterListItemContent"},K={class:"iho-table__filterFooter"};var N=e({__name:"filter",props:{payload:{type:Object,required:!0}},setup(e){const N=e,Q=l("$xetable"),T=l(V),X=a((()=>{var e;return!!(null==(e=N.payload)?void 0:e.column.filterMultiple)})),Z=a((()=>{var e,l,a;return null!=(a=null==(l=null==(e=N.payload)?void 0:e.column)?void 0:l.filters)?a:[]})),ee=a({get:()=>Z.value.reduce(((e,l)=>(l.checked&&e.push(l.value),e)),[]),async set(e){var l,a,t,u;if(!N.payload||!Q)return;const i=Q.reactData.filterStore.options||[];if(X.value?(i.forEach((l=>l._checked=e.includes(l.value))),Q.checkFilterOptions()):i.forEach((l=>l._checked=l.value===e[0])),!q(Q))return n();function n(){N.payload.$panel.confirmFilter(new CustomEvent("click"))}(null!=(a=null==(l=Q.internalData.afterFullData)?void 0:l.length)?a:0)>(null!=(u=null==(t=T.value.scrollY)?void 0:t.gt)?u:100)&&(Q.reactData.scrollYLoad=!0),n(),Q.reactData.scrollYLoad=!1}}),le=t([...ee.value]),ae=t("");async function te(){Q&&(Q.reactData.filterStore.visible=!1)}u(te);const ue=a((()=>{var e,l;if(!N.payload||!N.payload.column)return 10;const{filterCapacity:a}=null!=(l=null==(e=N.payload.column.editRender)?void 0:e.props)?l:{};return x(a)&&a>0?a:10})),ie=a((()=>ae.value?Z.value.filter((e=>!!`${e.label}`.includes(ae.value)||(F(e.data)?D(ae.value,e.data):void 0))):Z.value)),{list:ne,containerProps:oe,wrapperProps:re}=j(ie,{itemHeight:32,overscan:3}),ve=a({get:()=>ie.value.every((e=>le.value.includes(e.value))),set(e){le.value=e?[...new Set([...le.value,...ie.value.map((e=>e.value))])]:le.value.filter((e=>ie.value.every((l=>l.value!==e))))}}),se=a((()=>ie.value.some((e=>le.value.includes(e.value)))&&!ve.value)),ce=a({get:()=>le.value.length===Z.value.length&&0!==Z.value.length,set:e=>{le.value=e?Z.value.map((e=>e.value)):[]}}),de=a((()=>!!le.value.length&&!ce.value)),pe=a((()=>({height:I(32*ue.value)})));function fe(){ee.value=X.value?le.value:U(le.value[0],null)?[]:[le.value[0]],te()}function me(){le.value=X.value?[]:[null]}const he=t(!1);return i((async()=>{var e;if(!Q)return;const l=null==(e=N.payload.column.editRender.props)?void 0:e.onFilterShow;if(S(l))try{he.value=!0,await l(N.payload);const{filterStore:e}=Q.reactData;n(e.options)!==n(Z.value)&&(e.options=Z.value)}finally{he.value=!1}})),(e,l)=>(o(),r("section",z,[v(Z).length>5?(o(),s(v(R),{key:0,value:ae.value,"onUpdate:value":l[0]||(l[0]=e=>ae.value=e)},null,8,["value"])):c("v-if",!0),v(X)?(o(),r("div",A,[d("div",H,[p(v(W),{label:"全选当前",checked:v(ve),"onUpdate:checked":l[1]||(l[1]=e=>f(ve)?ve.value=e:null),indeterminate:v(se)},null,8,["checked","indeterminate"])]),d("div",M,[p(v(W),{label:"全选所有",checked:v(ce),"onUpdate:checked":l[2]||(l[2]=e=>f(ce)?ce.value=e:null),indeterminate:v(de)},null,8,["checked","indeterminate"])])])):c("v-if",!0),p(v(E),{show:he.value},{default:m((()=>[v(X)?(o(),s(v(Y),{key:0,value:le.value,"onUpdate:value":l[3]||(l[3]=e=>le.value=e)},{default:m((()=>[d("section",h(v(oe),{style:v(pe),class:"iho-table__filterListWrapper"}),[d("section",_(y(v(re))),[(o(!0),r(b,null,k(v(ne),(e=>(o(),r("div",{class:"iho-table__filterListItem",key:e.data.value},[p(v(W),{value:e.data.value},{default:m((()=>[d("div",{class:"iho-table__filterListItemContent",title:e.data.label},g(e.data.label),9,B)])),_:2},1032,["value"])])))),128))],16)],16)])),_:1},8,["value"])):(o(),s(v($),{key:1,value:le.value[0],"onUpdate:value":l[5]||(l[5]=e=>le.value[0]=e)},{default:m((()=>[d("section",h(v(oe),{style:v(pe),class:"iho-table__filterListWrapper"}),[d("section",_(y(v(re))),[(o(!0),r(b,null,k(v(ne),(e=>(o(),r("div",{class:"iho-table__filterListItem",key:e.data.value,title:e.data.label},[p(v(w),{value:e.data.value,currentValue:le.value[0],cancelable:"",onCancel:l[4]||(l[4]=e=>le.value=[null])},{default:m((()=>[d("div",J,g(e.data.label),1)])),_:2},1032,["value","currentValue"])],8,G)))),128))],16)],16)])),_:1},8,["value"]))])),_:1},8,["show"]),d("footer",K,[d("section",null,[v(X)?(o(),r(b,{key:0},[C(" 已选择 "),d("span",{style:L({color:"var(--c-primary-color)"})},g(le.value.length),5),C(" 项 ")],64)):c("v-if",!0)]),p(v(O),{size:"small"},{default:m((()=>[p(v(P),{onClick:me},{default:m((()=>[C("清空")])),_:1}),p(v(P),{onClick:te},{default:m((()=>[C("取消")])),_:1}),p(v(P),{type:"primary",onClick:fe},{default:m((()=>[C("确定")])),_:1})])),_:1})])]))}});export{N as default};
@@ -1 +1 @@
1
- import{useAttrs as e,onBeforeUnmount as t,inject as l,createVNode as o}from"vue";import{arrayed as n,widthAppend as a}from"../../../../shared/utils/index.js";import{isObject as r,isString as i,isFunction as s}from"lodash-es";import u from"../../../annotation-edit/index.js";import"../../index.js";import{InjectionIhoTableAnnotation as d,InjectionIhoTableConfig as m}from"../constants/index.js";import{getLowCodeFieldFromField as h,IhoTableRenderHelper as c}from"../utils/index.js";import{defineTablePlugin as p}from"../hooks/useTablePlugin.js";function f(){const f="headerPlugin";return p({name:f,apply(p){let v=null;p.setupHooks.setup.tap(f,(()=>{v=e(),t((()=>{v=null}))})),p.fieldHooks.field.tap(f,(e=>{var t;const p=null==(t=e.slots)?void 0:t.header;return e.slots={...e.slots,header:t=>function(e,t,h){const p=l(d),f=l(m),x=l("$xetable"),b=e.column||{},j=r(null==p?void 0:p.value)&&!1!==t.annotation,g=c.isEditableColumn(f.value,b),w=c.hasFilter(t)||c.hasDateFiler(t),W=c.hasTitlePrefix(t),k=i(h)?h:s(h)?h(e):null;let y=!1;if(f.value){const e=f.value.editRules&&f.value.editRules[b.field];e&&(y=n(e).some((e=>e.required)))}const D=f.value.border?Math.max(2,Math.ceil(x.reactData.scrollbarWidth/x.reactData.tableColumn.length)):1,M=a(Math.max(0,b.renderWidth-20-D-(y?14:0)-(j?18:0)-(w?23:0)-(g?22:0)-(W?20:0)-(b.sortable?23:0)));return o("section",{class:"iho-table__headerWrapper"},[o("section",{style:{width:M}},[null!=k?k:o("div",{style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[function(){const e=b.title,t=/\\n|\n|\r/g;if(!t.test(e))return e;const l=e.replace(t,"<br>").split("<br>");return l.map(((e,t)=>[e,t===l.length-1?null:o("br",null,null)]))}()])]),j?o(u,{modelValue:p.value[b.field],"onUpdate:modelValue":e=>p.value[b.field]=e,shortcuts:v&&(v["annotation-shortcuts"]||v.annotationShortcuts)||[]},null):null])}(t,h(e),p)},e}))}})}export{f as default};
1
+ import{useAttrs as e,onBeforeUnmount as t,inject as l,createVNode as o}from"vue";import{arrayed as n,widthAppend as a}from"../../../../shared/utils/index.js";import{isObject as r,isString as i,isFunction as s}from"lodash-es";import u from"../../../annotation-edit/index.js";import"../../index.js";import{InjectionIhoTableAnnotation as d,InjectionIhoTableConfig as m}from"../constants/index.js";import{getLowCodeFieldFromField as c,IhoTableRenderHelper as h}from"../utils/index.js";import{defineTablePlugin as p}from"../hooks/useTablePlugin.js";function f(){const f="headerPlugin";return p({name:f,apply(p){let v=null;p.setupHooks.setup.tap(f,(()=>{v=e(),t((()=>{v=null}))})),p.fieldHooks.field.tap(f,(e=>{var t;const p=null==(t=e.slots)?void 0:t.header;return e.slots={...e.slots,header:t=>function(e,t,c){const p=l(d),f=l(m),x=l("$xetable"),b=e.column||{},j=r(null==p?void 0:p.value)&&!1!==t.annotation,g=h.isEditableColumn(f.value,b),w=h.hasFilter(t)||h.hasDateFiler(t),W=h.hasTitlePrefix(e.column),k=i(c)?c:s(c)?c(e):null;let y=!1;if(f.value){const e=f.value.editRules&&f.value.editRules[b.field];e&&(y=n(e).some((e=>e.required)))}const D=f.value.border?Math.max(2,Math.ceil(x.reactData.scrollbarWidth/x.reactData.tableColumn.length)):1,M=a(Math.max(0,b.renderWidth-20-D-(y?14:0)-(j?18:0)-(w?23:0)-(g?22:0)-(W?20:0)-(b.sortable?23:0)));return o("section",{class:"iho-table__headerWrapper"},[o("section",{style:{width:M}},[null!=k?k:o("div",{style:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[function(){const e=b.title,t=/\\n|\n|\r/g;if(!t.test(e))return e;const l=e.replace(t,"<br>").split("<br>");return l.map(((e,t)=>[e,t===l.length-1?null:o("br",null,null)]))}()])]),j?o(u,{modelValue:p.value[b.field],"onUpdate:modelValue":e=>p.value[b.field]=e,shortcuts:v&&(v["annotation-shortcuts"]||v.annotationShortcuts)||[]},null):null])}(t,c(e),p)},e}))}})}export{f as default};
@@ -28,6 +28,7 @@ export declare const createVerticalTableHooks: () => {
28
28
  } | null;
29
29
  editStateEvent: (event: MouseEvent) => void;
30
30
  hoveringRow: AnyObject | null;
31
+ hoveringFieldKey: string | null;
31
32
  }>], void, import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
32
33
  cellStyle: SyncWaterfallHook<[CSSProperties, {
33
34
  column: VxeTableDefines.ColumnInfo;
@@ -48,6 +49,7 @@ export declare const createVerticalTableHooks: () => {
48
49
  } | null;
49
50
  editStateEvent: (event: MouseEvent) => void;
50
51
  hoveringRow: AnyObject | null;
52
+ hoveringFieldKey: string | null;
51
53
  }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
52
54
  cellClassName: SyncWaterfallHook<[Record<string, boolean>, {
53
55
  column: VxeTableDefines.ColumnInfo;
@@ -67,6 +69,7 @@ export declare const createVerticalTableHooks: () => {
67
69
  } | null;
68
70
  editStateEvent: (event: MouseEvent) => void;
69
71
  hoveringRow: AnyObject | null;
72
+ hoveringFieldKey: string | null;
70
73
  }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
71
74
  config: SyncWaterfallHook<[IhoTableConfig, Partial<{
72
75
  originalTableConfig: IhoTableConfig;
@@ -84,6 +87,7 @@ export declare const createVerticalTableHooks: () => {
84
87
  } | null;
85
88
  editStateEvent: (event: MouseEvent) => void;
86
89
  hoveringRow: AnyObject | null;
90
+ hoveringFieldKey: string | null;
87
91
  }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
88
92
  headerRowStyle: SyncWaterfallHook<[CSSProperties, {
89
93
  $table: VxeTableConstructor & VxeTablePrivateMethods;
@@ -106,6 +110,7 @@ export declare const createVerticalTableHooks: () => {
106
110
  } | null;
107
111
  editStateEvent: (event: MouseEvent) => void;
108
112
  hoveringRow: AnyObject | null;
113
+ hoveringFieldKey: string | null;
109
114
  }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
110
115
  };
111
116
  export declare const usePresetVerticalPlugins: VerticalTablePlugin;
@@ -1 +1 @@
1
- import{isVerticalHeader as e,getOriginFieldFromRowData as t,getSpanInfo as n}from"../utils.js";const c=c=>{c.cellStyle.tap("useHeaderCSS",((c,{column:l,row:s})=>(e(l.field)||(s&&["checkbox","radio","seq"].includes(t(s).type||"")&&Object.assign(c,{textAlign:"center"}),Object.assign(c,{textShadow:"none"})),s&&n({row:s,column:l}).colspan>1&&Object.assign(c,{textAlign:"center"}),l.colSpan>1&&Object.assign(c,{textAlign:"center"}),c))),c.cellClassName.tap("useHeaderCSS",((t,{column:n})=>{const c=e(n.field);return Object.assign(t,{"vxe-header--column":c,"vxe-table--header":c,[n.field]:!0})}))};export{c as useHeaderCSS};
1
+ import{isVerticalHeader as e,getOriginFieldFromRowData as t,getSpanInfo as l}from"../utils.js";const n=n=>{n.cellStyle.tap("useHeaderCSS",((n,{column:c,row:s})=>(e(c.field)||(s&&["checkbox","radio","seq"].includes(t(s).type||"")&&Object.assign(n,{textAlign:"center"}),Object.assign(n,{textShadow:"none"})),s&&l({row:s,column:c}).colspan>1&&Object.assign(n,{textAlign:"center"}),c.colSpan>1&&Object.assign(n,{textAlign:"center"}),n))),n.cellClassName.tap("useHeaderCSS",((t,{column:l})=>{const n=e(l.field);return Object.assign(t,{"vxe-header--column":n,"vxe-table--header":n,[l.field.replaceAll("_parent","")]:!0})}))};export{n as useHeaderCSS};
@@ -1 +1 @@
1
- import{useThrottleFn as o}from"@vueuse/core";import{promiseTimeout as e}from"@vueuse/shared";import{unref as r}from"vue";import{getVerticalInfoFromEvent as n,isVerticalHeader as l,createVerticalStateHandler as i}from"../utils.js";const t=(t,u,a)=>{t.config.tap("useHoverColumn",((r,l)=>i(l).getTableConfig("rowConfig.isHover")?Object.assign(r,{onMousemove:o((o=>{var e,r;const i=n(o);if(!i||"body"!==i.type)return l.hoveringRow=null;l.hoveringRow=null!=(r=null==(e=l.originalData)?void 0:e[i.sequence])?r:null}),100),async onMouseleave(){await e(101),l.hoveringRow=null},async onScroll(){await e(101),l.hoveringRow=null}}):r)),t.cellStyle.tap({name:"useHoverColumn",before:"useCurrentColumn"},((o,{column:e},r)=>{if(l(e.field))return o;const n=i(r);if(!n.getTableConfig("rowConfig.isHover"))return o;const t=n.getOriginDataByColumn(e);return r.hoveringRow!==t?o:Object.assign(o,{backgroundColor:"var(--c-hover-color)"})})),u.exposeHooks.expose.tap("VerticalTable-useHoverColumn",((o,e)=>Object.assign(o,{verticalTable:{...o.verticalTable,getHoveringRow:()=>{var o;const n=null==(o=r(e))?void 0:o.uuid;return n?a(n).hoveringRow:null}}})))};export{t as useHoverColumn};
1
+ import{useThrottleFn as o}from"@vueuse/core";import{promiseTimeout as e}from"@vueuse/shared";import{unref as r}from"vue";import{createVerticalStateHandler as n,getVerticalInfoFromEvent as l}from"../utils.js";const u=(u,i,t)=>{u.config.tap("useHoverColumn",((r,u)=>{if(!n(u).getTableConfig("rowConfig.isHover"))return r;function i(o){var e,n;if(o){const r=l(o);if(i(),!r||"body"!==r.type)return;u.hoveringRow=null!=(n=null==(e=u.originalData)?void 0:e[r.sequence])?n:null,u.hoveringFieldKey=r.fieldKey,t(r.fieldKey).forEach((o=>{o.style.backgroundColor||(o.style.backgroundColor="var(--c-hover-color)")}))}else i();function i(){u.hoveringRow=null;const o=u.hoveringFieldKey;o&&(t(o).forEach((o=>{"var(--c-hover-color)"===o.style.backgroundColor&&(o.style.backgroundColor="")})),u.hoveringFieldKey=null)}function t(o){const e=r.uuid;if(!e)return[];const n=document.querySelector(`[uuid="${e}"]`);return n?Array.from(n.querySelectorAll(`.${o}`)):[]}}return Object.assign(r,{onMousemove:o(i,100),async onMouseleave(){await e(101),i()},async onScroll(){i()}})})),i.exposeHooks.expose.tap("VerticalTable-useHoverColumn",((o,e)=>Object.assign(o,{verticalTable:{...o.verticalTable,getHoveringRow:()=>{var o;const n=null==(o=r(e))?void 0:o.uuid;return n?t(n).hoveringRow:null}}})))};export{u as useHoverColumn};
@@ -1 +1 @@
1
- import{inject as e,toRaw as n,computed as l,createVNode as r,withModifiers as o}from"vue";import{property as i,isFunction as t,isEmpty as d,identity as c}from"lodash-es";import{NCheckbox as u,NRadio as a}from"naive-ui";import{InjectionIhoTableUUID as s,WIDGET_TYPE as f}from"../../../constants/index.js";import{isVerticalHeader as v,getOriginBasePayload as m,getOriginRowFromRowData as w,getHeaderDepthByField as p}from"./utils.js";const x={seq:e=>e.rowIndex+1,checkbox:e=>r(u,{checked:e.row.checked,"onUpdate:checked":n=>e.row.checked=n,onClick:o(c,["stop"])},null),radio(e,n){const i=l({get:()=>e.row===n.currentRow,set(){n.currentRow=e.row}});return r(a,{checked:i.value,"onUpdate:checked":e=>i.value=e,onClick:o(c,["stop"])},null)}};function h(n,o,c){return(a,w)=>{var p,h;const k=e(s),g=o(k),{row:b,column:I}=w;if(v(I.field)){return"checkbox"===i("originalField")(b).type?function(e){var n,o;const i=l({get(){var n,l;return!d(e.originalData)&&null!=(l=null==(n=e.originalData)?void 0:n.every((e=>e.checked)))&&l},set(n){var l;null==(l=e.originalData)||l.forEach((e=>e.checked=n))}}),t=l((()=>{var n,l;return null!=(l=null==(n=e.originalData)?void 0:n.some((e=>e.checked)))&&l}));return r(u,{checked:i.value,"onUpdate:checked":e=>i.value=e,indeterminate:!i.value&&t.value,disabled:null==(o=null==(n=e.originalTableConfig)?void 0:n.checkboxConfig)?void 0:o.disableHeader},null)}(g):b[I.field.replaceAll("_parent","")]}const C={$table:w.$table,columnIndex:w.rowIndex,$columnIndex:w.rowIndex,isHidden:w.isHidden,rowid:w.rowid,...m(b,I)};if(!C.row)return null;const{originalField:{editRender:y={},slots:D={}}={}}=b;if(t(D[c]))return D[c](C);if(D.default&&!D.edit)return D.default(C);if(x[C.type])return x[C.type](C,g);const $=y.name||f.DEFAULT,F=n.renderer.get($);return F?"default"===c?null==(p=F.renderCell)?void 0:p.call(F,y,C):null==(h=F.renderEdit)?void 0:h.call(F,y,C):{}}}function k(l,r){return(o,t)=>{var d,c,u;const a=e(s),f=r(a),v=null==(d=f.fixedLeftVerticalData)?void 0:d[t.$rowIndex];if(!v)return null;const m=i("originalField")(v),x=w(v,p(t.column.field)),k=n(null==(c=f.editCell)?void 0:c.row)===n(x)&&n(null==(u=f.editCell)?void 0:u.column)===n(m);return h(l,r,k?"edit":"default")(null,{...t,row:v,rowIndex:t.$rowIndex,rowid:t.$rowIndex+"",fixed:t.column.fixed,isHidden:!t.column.visible,type:t.column.type})}}export{x as VerticalRenderMap,h as createCellRender,k as createHeaderCellRender};
1
+ import{inject as e,createVNode as l,toRaw as n,computed as r,withModifiers as i}from"vue";import{property as o,isFunction as t,isEmpty as d,identity as u}from"lodash-es";import{NPopover as c,NCheckbox as a,NRadio as s}from"naive-ui";import{InjectionIhoTableUUID as f,WIDGET_TYPE as v}from"../../../constants/index.js";import{IhoTableRenderHelper as x}from"../../../utils/index.js";import{isVerticalHeader as m,getHeaderDepthByField as p,getOriginBasePayload as h,getOriginRowFromRowData as w}from"./utils.js";const k={seq:e=>e.rowIndex+1,checkbox:e=>l(a,{checked:e.row.checked,"onUpdate:checked":l=>e.row.checked=l,onClick:i(u,["stop"])},null),radio(e,n){const o=r({get:()=>e.row===n.currentRow,set(){n.currentRow=e.row}});return l(s,{checked:o.value,"onUpdate:checked":e=>o.value=e,onClick:i(u,["stop"])},null)}};function g(n,i,u){return(s,w)=>{var g,b;const I=e(f),C=i(I),{row:D,column:H}=w;if(m(H.field)){const e=o("originalField")(D);if("checkbox"===e.type)return function(e){var n,i;const o=r({get(){var l,n;return!d(e.originalData)&&null!=(n=null==(l=e.originalData)?void 0:l.every((e=>e.checked)))&&n},set(l){var n;null==(n=e.originalData)||n.forEach((e=>e.checked=l))}}),t=r((()=>{var l,n;return null!=(n=null==(l=e.originalData)?void 0:l.some((e=>e.checked)))&&n}));return l(a,{checked:o.value,"onUpdate:checked":e=>o.value=e,indeterminate:!o.value&&t.value,disabled:null==(i=null==(n=e.originalTableConfig)?void 0:n.checkboxConfig)?void 0:i.disableHeader},null)}(C);const n=D[H.field.replaceAll("_parent","")];return x.hasTitlePrefix(e)&&p(H.field)===C.headerDepth?[l(c,null,{trigger:()=>l("i",{class:"vxe-cell-help-icon vxe-icon-question-circle-fill"},null),default:()=>e.titlePrefix.useHTML?l("div",{innerHTML:e.titlePrefix.useHTML},null):l("div",null,[e.titlePrefix.content])}),n]:n}const y={$table:w.$table,columnIndex:w.rowIndex,$columnIndex:w.rowIndex,isHidden:w.isHidden,rowid:w.rowid,...h(D,H)};if(!y.row)return null;const{originalField:{editRender:T={},slots:$={}}={}}=D;if(t($[u]))return $[u](y);if($.default&&!$.edit)return $.default(y);if(k[y.type])return k[y.type](y,C);const L=T.name||v.DEFAULT,F=n.renderer.get(L);return F?"default"===u?null==(g=F.renderCell)?void 0:g.call(F,T,y):null==(b=F.renderEdit)?void 0:b.call(F,T,y):{}}}function b(l,r){return(i,t)=>{var d,u,c;const a=e(f),s=r(a),v=null==(d=s.fixedLeftVerticalData)?void 0:d[t.$rowIndex];if(!v)return null;const x=o("originalField")(v),m=w(v,p(t.column.field)),h=n(null==(u=s.editCell)?void 0:u.row)===n(m)&&n(null==(c=s.editCell)?void 0:c.column)===n(x);return g(l,r,h?"edit":"default")(null,{...t,row:v,rowIndex:t.$rowIndex,rowid:t.$rowIndex+"",fixed:t.column.fixed,isHidden:!t.column.visible,type:t.column.type})}}export{k as VerticalRenderMap,g as createCellRender,b as createHeaderCellRender};
@@ -16,4 +16,5 @@ export declare type IhoTableVerticalState = Partial<{
16
16
  } | null;
17
17
  editStateEvent: (event: MouseEvent) => void;
18
18
  hoveringRow: AnyObject | null;
19
+ hoveringFieldKey: string | null;
19
20
  }>;
@@ -16,6 +16,7 @@ export declare function getSpanInfo({ row, column }: {
16
16
  };
17
17
  export declare function createVerticalFieldList(tableData: AnyObject[], headerDepth: number, verticalState: IhoTableVerticalState): IhoTableFieldItem[];
18
18
  export declare function getVerticalInfoFromEvent(event: MouseEvent): {
19
+ fieldKey: string;
19
20
  type: string;
20
21
  sequence: number;
21
22
  } | undefined;
@@ -1 +1 @@
1
- import{traverse as e,findAncestor as n,getStringWidth as t}from"../../../../../../shared/utils/index.js";import{isString as r,isNumber as i,constant as o,isFunction as a,range as l,property as u}from"lodash-es";import{VERTICAL_CELL_TYPE as c}from"./constants.js";function f(e){var n;return!!(null==(n=e.verticalConfig)?void 0:n.enable)}function d(e){return!!r(e)&&e.startsWith("header_")}function s(e){return!!r(e)&&e.startsWith("body_")}function p(e){var n;return r(e)?+(null!=(n=e.split("_")[1])?n:-1):-1}function h(n,t){const r=[];return e(n,((e,n,o)=>{e.parent=o,e.children||(!function(e,n){let t=e,r=n;if(!e.parent)return e[`header_${n}`]=e.title,void l(n+1).forEach((t=>{e[`header_${t}_colspan`]=t===n?n+1:0,e[`header_${t}_rowspan`]=t===n?1:0}));for(;t;)e[`header_${r}`]=t.title,e[`header_${r}_rowspan`]=i(t),e[`header_${r}_colspan`]=1,r--,t=t.parent}(e,t),r.push(e))})),r.forEach(((e,n)=>{const t=r[n-1];t&&Object.entries(e).forEach((([n,r])=>{n.match(/^header_(\d+)$/)&&r===t[n]&&r&&(e[`${n}_colspan`]=0,e[`${n}_rowspan`]=0)}))})),r;function i(n){if(!n.children)return 1;let t=0;return e(n.children,(e=>{e.children||t++})),t}}function _({row:e,column:n}){var t,r;return d(n.field)?{rowspan:null!=(t=e[n.field+"_rowspan"])?t:1,colspan:null!=(r=e[n.field+"_colspan"])?r:1}:{colspan:1,rowspan:1}}const g=({cell:e}={})=>{const n=e&&e.querySelector("input,.n-input__input-el");return n&&n.click(),n};function m(n,r){let i=120;return e(r,((e,r,o,a)=>{a===n&&(i=Math.max(i,t(e.title||"")+20))})),Math.ceil(i)}function $(e,n,t){let r=C(t).getTableConfig("verticalConfig.headerWidth");return r="auto"===r?m:i(r)?o(r):a(r)?r:m,[...l(n+1).map((e=>({field:`header_${e}`,title:`header_${e}`,width:r(e,t.originalFieldList),fixed:"left",editRender:{name:c,props:{},enable:!1}}))),...e.map(((e,n)=>({field:`body_${n}`,title:`body_${n}`,minWidth:120,editRender:{name:c,props:{},enable:!0,autofocus:g}})))]}function w(e){const t=n(e.target,(e=>"TD"===e.tagName||"TH"===e.tagName));if(!t)return;const r=t.className.match(/(body|header)_(\d+)/);if(!r)return;const[,i,o]=r;return{type:i,sequence:+o}}function b(e){return u("originalField")(e)}function y(e,n){return u(`originalData.${n}`)(e)}function x(e,n){const t=p(n.field),r=b(e);return{row:y(e,t),rowIndex:t,$rowIndex:t,column:r,fixed:r.fixed,type:r.type}}function v(n){const t=[];return e(n,(e=>{"left"===e.fixed&&t.push(e)})),t}function C(e){return{getOriginDataByColumn(n){const{originalData:t=[]}=e;return t[p(n.field)]},getTableConfig:n=>u(n)(e.originalTableConfig)}}function D(e,n){return new Proxy({},{get(t,r){var i;if("originalField"===r)return e;if("originalData"===r)return a(n)?n():n;if(d(r))return e[r];if(s(r)){const t=p(r);return"seq"===e.type?t+1:null==(i=n[t])?void 0:i[e.field]}},set(t,r,i){if(!d(r)){const t=p(r);t>=0&&n[t]&&(n[t][e.field]=i)}return!0}})}g.toString=()=>"input,.n-input__input-el";export{h as bindHeaderInfoAndFlatten,D as createDataProxy,$ as createVerticalFieldList,C as createVerticalStateHandler,v as findFixedLeftFields,p as getHeaderDepthByField,x as getOriginBasePayload,b as getOriginFieldFromRowData,y as getOriginRowFromRowData,_ as getSpanInfo,w as getVerticalInfoFromEvent,s as isVerticalBody,d as isVerticalHeader,f as isVerticalTable};
1
+ import{traverse as e,findAncestor as n,getStringWidth as t}from"../../../../../../shared/utils/index.js";import{isString as r,isNumber as i,constant as o,isFunction as a,range as l,property as u}from"lodash-es";import{IhoTableRenderHelper as c}from"../../../utils/index.js";import{VERTICAL_CELL_TYPE as f}from"./constants.js";function d(e){var n;return!!(null==(n=e.verticalConfig)?void 0:n.enable)}function s(e){return!!r(e)&&e.startsWith("header_")}function p(e){return!!r(e)&&e.startsWith("body_")}function h(e){var n;return r(e)?+(null!=(n=e.split("_")[1])?n:-1):-1}function _(n,t){const r=[];return e(n,((e,n,o)=>{e.parent=o,e.children||(!function(e,n){let t=e,r=n;if(!e.parent)return e[`header_${n}`]=e.title,void l(n+1).forEach((t=>{e[`header_${t}_colspan`]=t===n?n+1:0,e[`header_${t}_rowspan`]=t===n?1:0}));for(;t;)e[`header_${r}`]=t.title,e[`header_${r}_rowspan`]=i(t),e[`header_${r}_colspan`]=1,r--,t=t.parent}(e,t),r.push(e))})),r.forEach(((e,n)=>{const t=r[n-1];t&&Object.entries(e).forEach((([n,r])=>{n.match(/^header_(\d+)$/)&&r===t[n]&&r&&(e[`${n}_colspan`]=0,e[`${n}_rowspan`]=0)}))})),r;function i(n){if(!n.children)return 1;let t=0;return e(n.children,(e=>{e.children||t++})),t}}function g({row:e,column:n}){var t,r;return s(n.field)?{rowspan:null!=(t=e[n.field+"_rowspan"])?t:1,colspan:null!=(r=e[n.field+"_colspan"])?r:1}:{colspan:1,rowspan:1}}const m=({cell:e}={})=>{const n=e&&e.querySelector("input,.n-input__input-el");return n&&n.click(),n};function $(n,r){let i=120;return e(r,((e,r,o,a)=>{a===n&&(i=Math.max(i,t(e.title||"")+20+(c.hasTitlePrefix(e)?20:0)))})),Math.ceil(i)}function b(e,n,t){const r=T(t);let u=r.getTableConfig("verticalConfig.headerWidth");u="auto"===u?$:i(u)?o(u):a(u)?u:$;let c=r.getTableConfig("verticalConfig.bodyWidth");return c=i(c)?o(c):a(c)?c:o(120),[...l(n+1).map((e=>({field:`header_${e}`,title:`header_${e}`,width:u(e,t.originalFieldList),fixed:"left",editRender:{name:f,props:{},enable:!1}}))),...e.map(((e,n)=>({field:`body_${n}`,title:`body_${n}`,minWidth:c(n),editRender:{name:f,props:{},enable:!0,autofocus:m}})))]}function y(e){const t=n(e.target,(e=>"TD"===e.tagName||"TH"===e.tagName));if(!t)return;const r=t.className.match(/(body|header)_(\d+)/);if(!r)return;const[i,o,a]=r;return{fieldKey:i,type:o,sequence:+a}}function w(e){return u("originalField")(e)}function x(e,n){return u(`originalData.${n}`)(e)}function v(e,n){const t=h(n.field),r=w(e);return{row:x(e,t),rowIndex:t,$rowIndex:t,column:r,fixed:r.fixed,type:r.type}}function C(n){const t=[];return e(n,(e=>{"left"===e.fixed&&t.push(e)})),t}function T(e){return{getOriginDataByColumn(n){const{originalData:t=[]}=e;return t[h(n.field)]},getTableConfig:n=>u(n)(e.originalTableConfig)}}function D(e,n){return new Proxy({},{get(t,r){var i;if("originalField"===r)return e;if("originalData"===r)return a(n)?n():n;if(s(r))return e[r];if(p(r)){const t=h(r);return"seq"===e.type?t+1:null==(i=n[t])?void 0:i[e.field]}},set(t,r,i){if(!s(r)){const t=h(r);t>=0&&n[t]&&(n[t][e.field]=i)}return!0}})}m.toString=()=>"input,.n-input__input-el";export{_ as bindHeaderInfoAndFlatten,D as createDataProxy,b as createVerticalFieldList,T as createVerticalStateHandler,C as findFixedLeftFields,h as getHeaderDepthByField,v as getOriginBasePayload,w as getOriginFieldFromRowData,x as getOriginRowFromRowData,g as getSpanInfo,y as getVerticalInfoFromEvent,p as isVerticalBody,s as isVerticalHeader,d as isVerticalTable};
@@ -86,6 +86,7 @@ export declare type IhoTableConfig = VxeTableProps & Partial<{
86
86
  verticalConfig: {
87
87
  enable?: boolean;
88
88
  headerWidth?: number | 'auto' | ((level: number) => number);
89
+ bodyWidth?: number | ((index: number) => number);
89
90
  };
90
91
  [K: string]: unknown;
91
92
  }> &
@@ -37,7 +37,7 @@ export declare const IhoTableRenderHelper: Readonly<{
37
37
  isEditableColumn(config: IhoTableConfig, column: IhoTableFieldItem): boolean | undefined;
38
38
  hasFilter(lowCodeField: LowCodeTableFieldItem): boolean;
39
39
  hasDateFiler(lowCodeField: LowCodeTableFieldItem): boolean | undefined;
40
- hasTitlePrefix(lowCodeField: LowCodeTableFieldItem): unknown;
40
+ hasTitlePrefix(lowCodeField: VxeTableDefines.ColumnInfo | IhoTableFieldItem): boolean | import("vxe-table").VxeTooltipPropTypes.Content | undefined;
41
41
  }>;
42
42
  export declare const IhoTableStatusHelper: Readonly<{
43
43
  isPositive(value: string | number | undefined | null): boolean;
@@ -1 +1 @@
1
- import{reactive as e,inject as n,unref as t,toRaw as r,createVNode as o}from"vue";import{jsonParse as i}from"../../../../shared/utils/index.js";import{promiseTimeout as l}from"@vueuse/shared";import{parse as u,isValid as a,compareDesc as c}from"date-fns";import{isNumber as d,isFunction as s,isString as f,isObject as p,isArray as m}from"lodash-es";import{InjectionIhoTableConfig as v,InjectionIhoTableEmits as g,IHO_TABLE_STRING_STATUS as h,IHO_TABLE_NUMBER_STATUS as I,IHO_TABLE_TREE_TYPE as E,EDITABLE_WIDGET_TYPE as T,InjectionIhoTableUUID as w}from"../constants/index.js";import{getSeparateInfo as R}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function C(e){return console.warn(`[IhoTable]: ${e}`)}const S=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function F(){var e,t,r;const o=n(v);return o||C("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(t=null==(e=null==o?void 0:o.value)?void 0:e.rowConfig)?void 0:t.height)?r:32}function D(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function P(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function b(n,t=!0){const r=t?e(new Map):new Map;return{getItemFromUUID:function(e){return r.set(e,r.get(e)||n()).get(e)},setItemFromUUID:function(e,n){r.set(e,n)},removeItemFromUUID:function(e){r.delete(e)}}}async function O(e,n,r,o,i=2){const u=function(){var i;const l=null==(i=t(o))?void 0:i.getColumnByField(e.field);if(!l)return;const u=x(l);return u?s(u.separateWidth)?u.separateWidth({column:l,row:n,rowIndex:r,$table:t(o)}):d(u.separateWidth)?u.separateWidth:l.renderWidth:l.renderWidth}();return d(u)&&u>0?u:i<=0?function(){const n=+e.colWidth;return d(n)?n:64}():(await l(0),O(e,n,r,o,i-1))}function A(e){const o=n(g);function i(){var n;const r=t(e);return{$table:r.$table,value:r.row[r.column.field],row:r.row,column:{...r.column,...null==(n=r.column.editRender)?void 0:n.props},index:r.rowIndex>-1?r.rowIndex:r.$rowIndex}}function l(e={}){o("formChange",{...i(),...r(e)})}function u(e={}){o("formClick",{...i(),...r(e)})}return{emitFormChange:function(){l()},emitFormClick:function(){u()},emitFormChangeWithParams:l,emitFormClickWithParams:u}}function x(e){var n;return null==(n=e.editRender)?void 0:n.props}const $=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:t,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(t[r.field]);const i=n(w),l=R(i,t);if(!l)return c(t[r.field]);const{originalData:u=t,isLastRow:a}=l;return c(a?u[r.field]:null);function c(e){return[o("span",{title:U(r,e),class:"iho-table__colorAndIcon"},[e])]}}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...A(t)})}},isEditableColumn(e,n){var t;return!1!==(null==(t=e.editConfig)?void 0:t.showIcon)&&n.editRender&&!1!==n.editRender.enabled},hasFilter(e){if(H(e))return!0;let n=e.fieldSetting;return f(n)&&(n=i(n||"")),p(n)&&((t=n).notParticipatingSearch!==h.POSITIVE&&"manual"===(null==(r=t.mapping)?void 0:r.type));var t,r},hasDateFiler(e){var n;return null==(n=null==e?void 0:e.filterSetting)?void 0:n.daterange},hasTitlePrefix(e){var n,t;return(null==(n=null==e?void 0:e.titlePrefix)?void 0:n.content)||(null==(t=null==e?void 0:e.settingObj)?void 0:t.feildDescribe)}}),N=Object.freeze({isPositive:e=>e===I.POSITIVE||e===h.POSITIVE,isNegative:e=>e===I.NEGATIVE||e===h.NEGATIVE,notPositive:e=>e!==I.POSITIVE&&e!==h.POSITIVE,notNegative:e=>e!==I.NEGATIVE&&e!==h.NEGATIVE});function V(e){return[E.TRANSFORM_WITH_SPAN_METHOD,E.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function W(e){return f(e)&&!!e.match(/^###\{[^{}]+}$/)}function _(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function j(e,n){if(e.$__SEPARATE||!n.editRender||!n.editRender.props)return e[n.field];const{fieldSetting:t}=n.editRender.props;if(!f(t))return e[n.field];const{mergedFeildExpression:r}=i(t);return r&&f(r)?r.replace(/#{(.+?)}/g,(function(n,t){let r=t?e[t.trim()]:null;W(r)&&(r=_(r).change_text);return r||(null==r?"--":r)})):e[n.field]}const y=["SEARCH","SELECT","RADIO","CHECKBOX"];function H(e){return e.notParticipatingSearch===I.NEGATIVE&&y.includes(S.getCellType(e))&&m(e.options)&&e.options.length}function U(e,n=""){return"tooltip"!==e.showOverflow&&f(n)?n:""}function M(e,n){var r,o,i;n=t(n)||"";const l=null!=(o=null==(r=e.editRender)?void 0:r.props)?o:{},c=u(n,(null==(i=null==l?void 0:l.componentProps)?void 0:i.valueFormat)||"HH:mm",new Date);return!a(c)}function G(e,n,r){var o,i;const l=null!=(i=null==(o=e.editRender)?void 0:o.props)?i:{};return r=t(r)||"",!a(new Date(r))||f(l.connectField)&&n[l.connectField]&&(l.isStartDate&&c(new Date(r),new Date(n[l.connectField]))<0||l.isEndDate&&c(new Date(r),new Date(n[l.connectField]))>0)}function L(e){var n,t;return(!0===e.variableHeight||"1"===e.variableHeight)&&(null!=(t=null==(n=e.editRender)?void 0:n.name)?t:S.getCellType(e))!==T.SEPARATE}function k(e){const n=e.internalData.tableFullColumn;return!!m(n)&&n.some((e=>{var n,t;return L(null!=(t=null==(n=e.editRender)?void 0:n.props)?t:{})}))}export{$ as IhoTableRenderHelper,N as IhoTableStatusHelper,S as IhoTableUtils,C as IhoTableWarn,D as eventListener2EventName,P as eventName2EventListener,O as getColumnRenderWidth,x as getLowCodeFieldFromField,F as getRowHeight,U as getTitle,H as isCompatibleColumn,G as isInvalidDate,M as isInvalidTime,W as isRichContent,V as isTransformTreeType,L as isVariableHeightColumn,k as isVariableHeightTable,j as parseMergeField,_ as parseRichContent,A as useIhoTableFormEvent,b as useUUIDMap};
1
+ import{reactive as e,inject as n,unref as t,toRaw as r,createVNode as o}from"vue";import{jsonParse as i}from"../../../../shared/utils/index.js";import{promiseTimeout as l}from"@vueuse/shared";import{parse as u,isValid as a,compareDesc as c}from"date-fns";import{isNumber as d,isFunction as s,isString as f,isObject as p,isArray as m}from"lodash-es";import{InjectionIhoTableConfig as v,InjectionIhoTableEmits as h,IHO_TABLE_STRING_STATUS as I,IHO_TABLE_NUMBER_STATUS as g,IHO_TABLE_TREE_TYPE as E,EDITABLE_WIDGET_TYPE as T,InjectionIhoTableUUID as w}from"../constants/index.js";import{getSeparateInfo as R}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function C(e){return console.warn(`[IhoTable]: ${e}`)}const S=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function F(){var e,t,r;const o=n(v);return o||C("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(t=null==(e=null==o?void 0:o.value)?void 0:e.rowConfig)?void 0:t.height)?r:32}function P(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function D(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function b(n,t=!0){const r=t?e(new Map):new Map;return{getItemFromUUID:function(e){return r.set(e,r.get(e)||n()).get(e)},setItemFromUUID:function(e,n){r.set(e,n)},removeItemFromUUID:function(e){r.delete(e)}}}async function A(e,n,r,o,i=2){const u=function(){var i;const l=null==(i=t(o))?void 0:i.getColumnByField(e.field);if(!l)return;const u=x(l);return u?s(u.separateWidth)?u.separateWidth({column:l,row:n,rowIndex:r,$table:t(o)}):d(u.separateWidth)?u.separateWidth:l.renderWidth:l.renderWidth}();return d(u)&&u>0?u:i<=0?function(){const n=+e.colWidth;return d(n)?n:64}():(await l(0),A(e,n,r,o,i-1))}function O(e){const o=n(h);function i(){var n;const r=t(e);return{$table:r.$table,value:r.row[r.column.field],row:r.row,column:{...r.column,...null==(n=r.column.editRender)?void 0:n.props},index:r.rowIndex>-1?r.rowIndex:r.$rowIndex}}function l(e={}){o("formChange",{...i(),...r(e)})}function u(e={}){o("formClick",{...i(),...r(e)})}return{emitFormChange:function(){l()},emitFormClick:function(){u()},emitFormChangeWithParams:l,emitFormClickWithParams:u}}function x(e){var n;return null==(n=e.editRender)?void 0:n.props}const $=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:t,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(t[r.field]);const i=n(w),l=R(i,t);if(!l)return c(t[r.field]);const{originalData:u=t,isLastRow:a}=l;return c(a?u[r.field]:null);function c(e){return[o("span",{title:j(r,e),class:"iho-table__colorAndIcon"},[e])]}}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...O(t)})}},isEditableColumn(e,n){var t;return!1!==(null==(t=e.editConfig)?void 0:t.showIcon)&&n.editRender&&!1!==n.editRender.enabled},hasFilter(e){if(U(e))return!0;let n=e.fieldSetting;return f(n)&&(n=i(n||"")),p(n)&&((t=n).notParticipatingSearch!==I.POSITIVE&&"manual"===(null==(r=t.mapping)?void 0:r.type));var t,r},hasDateFiler(e){var n;return null==(n=null==e?void 0:e.filterSetting)?void 0:n.daterange},hasTitlePrefix(e){var n,t;return e&&((null==(n=e.titlePrefix)?void 0:n.content)||(null==(t=e.titlePrefix)?void 0:t.useHTML))}}),N=Object.freeze({isPositive:e=>e===g.POSITIVE||e===I.POSITIVE,isNegative:e=>e===g.NEGATIVE||e===I.NEGATIVE,notPositive:e=>e!==g.POSITIVE&&e!==I.POSITIVE,notNegative:e=>e!==g.NEGATIVE&&e!==I.NEGATIVE});function H(e){return[E.TRANSFORM_WITH_SPAN_METHOD,E.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function V(e){return f(e)&&!!e.match(/^###\{[^{}]+}$/)}function W(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function _(e,n){if(e.$__SEPARATE||!n.editRender||!n.editRender.props)return e[n.field];const{fieldSetting:t}=n.editRender.props;if(!f(t))return e[n.field];const{mergedFeildExpression:r}=i(t);return r&&f(r)?r.replace(/#{(.+?)}/g,(function(n,t){let r=t?e[t.trim()]:null;V(r)&&(r=W(r).change_text);return r||(null==r?"--":r)})):e[n.field]}const y=["SEARCH","SELECT","RADIO","CHECKBOX"];function U(e){return e.notParticipatingSearch===g.NEGATIVE&&y.includes(S.getCellType(e))&&m(e.options)&&e.options.length}function j(e,n=""){return"tooltip"!==e.showOverflow&&f(n)?n:""}function M(e,n){var r,o,i;n=t(n)||"";const l=null!=(o=null==(r=e.editRender)?void 0:r.props)?o:{},c=u(n,(null==(i=null==l?void 0:l.componentProps)?void 0:i.valueFormat)||"HH:mm",new Date);return!a(c)}function G(e,n,r){var o,i;const l=null!=(i=null==(o=e.editRender)?void 0:o.props)?i:{};return r=t(r)||"",!a(new Date(r))||f(l.connectField)&&n[l.connectField]&&(l.isStartDate&&c(new Date(r),new Date(n[l.connectField]))<0||l.isEndDate&&c(new Date(r),new Date(n[l.connectField]))>0)}function L(e){var n,t;return(!0===e.variableHeight||"1"===e.variableHeight)&&(null!=(t=null==(n=e.editRender)?void 0:n.name)?t:S.getCellType(e))!==T.SEPARATE}function k(e){const n=e.internalData.tableFullColumn;return!!m(n)&&n.some((e=>{var n,t;return L(null!=(t=null==(n=e.editRender)?void 0:n.props)?t:{})}))}export{$ as IhoTableRenderHelper,N as IhoTableStatusHelper,S as IhoTableUtils,C as IhoTableWarn,P as eventListener2EventName,D as eventName2EventListener,A as getColumnRenderWidth,x as getLowCodeFieldFromField,F as getRowHeight,j as getTitle,U as isCompatibleColumn,G as isInvalidDate,M as isInvalidTime,V as isRichContent,H as isTransformTreeType,L as isVariableHeightColumn,k as isVariableHeightTable,_ as parseMergeField,W as parseRichContent,O as useIhoTableFormEvent,b as useUUIDMap};