cnhis-design-vue 3.1.51-release.4 → 3.1.51

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 (47) hide show
  1. package/es/components/annotation-edit/src/type.d.ts +1 -1
  2. package/es/components/base-search/index.d.ts +3 -0
  3. package/es/components/base-search/src/index.vue.d.ts +3 -0
  4. package/es/components/base-search/src/index.vue2.js +1 -1
  5. package/es/components/callback/src/components/render/popupMaps.d.ts +3 -3
  6. package/es/components/card-reader-sdk/src/cardReaderSDK.js +1 -1
  7. package/es/components/field-set/index.d.ts +35 -0
  8. package/es/components/field-set/src/FieldSet.vue.d.ts +36 -1
  9. package/es/components/field-set/src/FieldSet.vue2.js +1 -1
  10. package/es/components/field-set/src/components/Row.vue.d.ts +2 -1
  11. package/es/components/field-set/src/components/Row.vue2.js +1 -1
  12. package/es/components/field-set/src/types/index.d.ts +1 -0
  13. package/es/components/field-set/src/utils/index.d.ts +2 -0
  14. package/es/components/field-set/src/utils/index.js +1 -1
  15. package/es/components/field-set/style/index.css +1 -1
  16. package/es/components/form-render/src/FormRender.vue2.js +1 -1
  17. package/es/components/form-render/src/components/renderer/levelSearchCascader.js +1 -1
  18. package/es/components/form-render/src/types/index.d.ts +1 -0
  19. package/es/components/iho-table/index.d.ts +3 -3
  20. package/es/components/iho-table/src/IhoTable.vue.d.ts +4 -3
  21. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  22. package/es/components/iho-table/src/constants/index.d.ts +7 -6
  23. package/es/components/iho-table/src/hooks/useColumnConfigAdaptor.js +1 -1
  24. package/es/components/iho-table/src/plugins/defaultValuePlugin.d.ts +1 -0
  25. package/es/components/iho-table/src/plugins/defaultValuePlugin.js +1 -0
  26. package/es/components/iho-table/src/plugins/filterVisibleEventPlugin.js +1 -1
  27. package/es/components/iho-table/src/plugins/headerPlugin.d.ts +1 -0
  28. package/es/components/iho-table/src/plugins/headerPlugin.js +1 -0
  29. package/es/components/iho-table/src/plugins/index.js +1 -1
  30. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  31. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.js +1 -1
  32. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  33. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
  34. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin/index.js +1 -1
  35. package/es/components/iho-table/src/types/index.d.ts +15 -0
  36. package/es/components/iho-table/src/utils/index.d.ts +1 -1
  37. package/es/components/iho-table/src/utils/index.js +1 -1
  38. package/es/components/index.css +1 -1
  39. package/es/components/quick-search/index.d.ts +3 -0
  40. package/es/components/quick-search/src/index.vue.d.ts +3 -0
  41. package/es/components/quick-search/src/index.vue2.js +1 -1
  42. package/es/components/slider-tree/index.d.ts +16 -9
  43. package/es/components/slider-tree/src/index.vue.d.ts +16 -9
  44. package/es/components/slider-tree/src/index.vue2.js +1 -1
  45. package/es/shared/package.json.js +1 -1
  46. package/es/shared/utils/index.js +1 -1
  47. package/package.json +2 -2
@@ -1 +1 @@
1
- import{defineComponent as e,computed as t,provide as a,ref as o,watch as l,resolveComponent as n,openBlock as s,createElementBlock as r,unref as i,normalizeStyle as u,createBlock as d,resolveDynamicComponent as c,createElementVNode as f,createVNode as m,mergeProps as v,createSlots as p,renderList as b,withCtx as h,createCommentVNode as g,renderSlot as x,normalizeProps as k,guardReactiveProps as y}from"vue";import{useTheme as D}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as C}from"@vueuse/core";import"date-fns";import{isString as $,isFunction as j,pick as w}from"lodash-es";import{widthAppend as I,uuidGenerator as H}from"../../../shared/utils/index.js";import{promiseTimeout as T}from"@vueuse/shared";import{VxeTableEventNameList as _,InjectionIhoTableEmits as A,InjectionIhoTableAnnotation as L,InjectionIhoTableUUID as R,InjectionIhoTableInstance as E,InjectionIhoTableConfig as F,InjectionIhoTableFieldList as O,InjectionIhoTableHandler as B}from"./constants/index.js";import{createTableHooks as S,applyTableConfigHooks as W,applyTableFieldHooks as q,createTableEventHandlers as z,createDomInsertComponent as G,createDataTransfer as J}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as K}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as M}from"./utils/index.js";const N=["id"];var P=e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",..._],setup(e,{expose:_,emit:P}){var Q,U;const V=e,X=D({"--c-border-color":"#e2e2e2","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#f7f7f7"}),Y=t((()=>{var e,t;const a=null!=(t=null==(e=V.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===a?"100%":$(a)&&(a.includes("calc")||a.endsWith("%"))?a:I(a)}})),Z=K(),ee=function(e,...t){P(e,...t);const a=i(le)[M(e)];j(a)&&a(...t),Z.trigger(e,...t)};a(A,ee);const te=S();a(L,t((()=>V.annotation)));const ae=H();a(R,ae);const oe=o();a(E,oe);const le=o({uuid:null!=(U=null==(Q=V.tableConfig)?void 0:Q.uuid)?U:ae});a(F,le);const ne=C(se,10);function se(){le.value=W(te,V.tableConfig,{$table:oe,emits:ee}),le.value.uuid=ae}const re=o([]);a(O,re);const ie=C(ue,10);function ue(){re.value=q(te,V.fieldList,le.value,{$table:oe,emits:ee})}const de=J(te,le,oe),ce=o([]);async function fe(){var e,t;const a=await de(V.tableData),o=null==(e=oe.value)?void 0:e.getTableData().fullData;if(o){let e=0;if(!(o.some((t=>{var o;if(!(null==(o=oe.value)?void 0:o.isInsertByRow(t))){if(t!==a[e])return!0;e++}}))||e!==a.length))return}ce.value=a,null==(t=oe.value)||t.recalculate(!0)}const me={updateTableDataRef:C(fe,10),updateConfigRef:ne,updateFieldListRef:ie};a(B,me);const ve=z({hooks:te,config:le,$table:oe,context:me,emits:ee}),pe=t((()=>({...le.value,...ve})));let be=!1,he=!1,ge=!1;const xe=C((()=>{be&&se(),he&&ue(),ge&&fe(),be=!1,he=!1,ge=!1}),10);l((()=>V.tableConfig),(()=>{be=!0,he=!0,ge=!0,xe()}),{deep:!0}),l((()=>V.fieldList),(()=>{he=!0,ge=!0,xe()}),{deep:!0}),l([()=>[...V.tableData],()=>{var e;return null==(e=V.tableData)?void 0:e.length}],(()=>{ge=!0,xe()})),l([()=>V.tableData,()=>{var e;return null==(e=V.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=le.value.treeConfig)?void 0:e.expandAll)&&(await T(11),null==(t=oe.value)||t.setAllTreeExpand(!0))})),se(),ue(),fe();const{header:ke,footer:ye}=G(te);function De(e){return w(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return _({$table:oe,async loadData(e){var t;null==(t=oe.value)||t.loadData(await de(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),reload(){var e,t;null==(e=oe.value)||e.loadColumn([]),null==(t=oe.value)||t.loadData([]),se(),ue(),fe()},...te.exposeHooks.expose.call({},le,{$table:oe,emits:ee})}),te.setupHooks.setup.call(le,re,{$table:oe,emits:ee}),(e,t)=>{const a=n("vxe-grid");return s(),r("section",{class:"iho-table",id:i(ae),style:u(i(X))},[(s(),d(c(i(ke)))),f("section",{style:u(i(Y))},[m(a,v({ref_key:"$table",ref:oe},i(pe),{columns:re.value,data:ce.value}),p({_:2},[b(e.$slots,((t,a)=>({name:a,fn:h((t=>[g(" 实际上所有的vxe-grid插槽都支持 "),x(e.$slots,a,k(y(De(t))))]))})))]),1040,["columns","data"])],4),(s(),d(c(i(ye))))],12,N)}}});export{P as default};
1
+ import{defineComponent as e,computed as t,provide as a,ref as o,toRaw as l,watch as n,resolveComponent as r,openBlock as s,createElementBlock as i,unref as u,normalizeStyle as d,createBlock as c,resolveDynamicComponent as f,createElementVNode as v,createVNode as m,mergeProps as p,createSlots as b,renderList as g,withCtx as h,createCommentVNode as x,renderSlot as k,normalizeProps as y,guardReactiveProps as D}from"vue";import{useTheme as C}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as $}from"@vueuse/core";import"date-fns";import{isString as j,isEqualWith as w,isFunction as I,pick as H}from"lodash-es";import{widthAppend as T,uuidGenerator as _}from"../../../shared/utils/index.js";import{promiseTimeout as A}from"@vueuse/shared";import{VxeTableEventNameList as L,InjectionIhoTableEmits as R,InjectionIhoTableAnnotation as S,InjectionIhoTableUUID as E,InjectionIhoTableInstance as F,InjectionIhoTableConfig as O,InjectionIhoTableFieldList as B,InjectionIhoTableHandler as W}from"./constants/index.js";import{createTableHooks as q,applyTableConfigHooks as z,applyTableFieldHooks as G,createTableEventHandlers as J,createDomInsertComponent as K,createDataTransfer as M}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as N}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as P}from"./utils/index.js";const Q=["id"];var U=e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object}},emits:["formChange","settingClick","formClick","keyboard","rowDrag",...L],setup(e,{expose:L,emit:U}){var V,X;const Y=e,Z=C({"--c-border-color":"#e2e2e2","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#f7f7f7"}),ee=t((()=>{var e,t;const a=null!=(t=null==(e=Y.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===a?"100%":j(a)&&(a.includes("calc")||a.endsWith("%"))?a:T(a)}})),te=N(),ae=function(e,...t){U(e,...t);const a=u(re)[P(e)];I(a)&&a(...t),te.trigger(e,...t)};a(R,ae);const oe=q();a(S,t((()=>Y.annotation)));const le=_();a(E,le);const ne=o();a(F,ne);const re=o({uuid:null!=(X=null==(V=Y.tableConfig)?void 0:V.uuid)?X:le});a(O,re);const se=$(ie,10);function ie(){re.value=z(oe,Y.tableConfig,{$table:ne,emits:ae}),re.value.uuid=le}const ue=o([]);a(B,ue);const de=$(ce,10);function ce(){const e=G(oe,Y.fieldList,re.value,{$table:ne,emits:ae});w(e,l(ue.value),((e,t)=>{if(I(e)&&I(t))return e.toString()===t.toString()}))||(ue.value=e)}const fe=M(oe,re,ne),ve=o([]);async function me(){var e,t;const a=await fe(Y.tableData),o=null==(e=ne.value)?void 0:e.getTableData().fullData;if(o){let e=0;if(!(o.some((t=>{var o;if(!(null==(o=ne.value)?void 0:o.isInsertByRow(t))){if(t!==a[e])return!0;e++}}))||e!==a.length))return}ve.value=a,null==(t=ne.value)||t.recalculate(!0)}const pe={updateTableDataRef:$(me,10),updateConfigRef:se,updateFieldListRef:de};a(W,pe);const be=J({hooks:oe,config:re,$table:ne,context:pe,emits:ae}),ge=t((()=>({...re.value,...be})));let he=!1,xe=!1,ke=!1;const ye=$((()=>{he&&ie(),xe&&ce(),ke&&me(),he=!1,xe=!1,ke=!1}),10);n((()=>Y.tableConfig),(()=>{he=!0,xe=!0,ke=!0,ye()}),{deep:!0}),n((()=>Y.fieldList),(()=>{xe=!0,ke=!0,ye()}),{deep:!0}),n([()=>[...Y.tableData],()=>{var e;return null==(e=Y.tableData)?void 0:e.length}],(()=>{ke=!0,ye()})),n([()=>Y.tableData,()=>{var e;return null==(e=Y.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=re.value.treeConfig)?void 0:e.expandAll)&&(await A(11),null==(t=ne.value)||t.setAllTreeExpand(!0))})),ie(),ce(),me();const{header:De,footer:Ce}=K(oe);function $e(e){return H(e,["row","rowIndex","$rowIndex","column","columnIndex","$columnIndex","_columnIndex","checked","disabled","indeterminate"])}return L({$table:ne,async loadData(e){var t;null==(t=ne.value)||t.loadData(await fe(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),reload(){var e,t;null==(e=ne.value)||e.loadColumn([]),null==(t=ne.value)||t.loadData([]),ie(),ce(),me()},...oe.exposeHooks.expose.call({},re,{$table:ne,emits:ae})}),oe.setupHooks.setup.call(re,ue,{$table:ne,emits:ae}),(e,t)=>{const a=r("vxe-grid");return s(),i("section",{class:"iho-table",id:u(le),style:d(u(Z))},[(s(),c(f(u(De)))),v("section",{style:d(u(ee))},[m(a,p({ref_key:"$table",ref:ne},u(ge),{columns:ue.value,data:ve.value}),b({_:2},[g(e.$slots,((t,a)=>({name:a,fn:h((t=>[x(" 实际上所有的vxe-grid插槽都支持 "),k(e.$slots,a,y(D($e(t))))]))})))]),1040,["columns","data"])],4),(s(),c(f(u(Ce))))],12,Q)}}});export{U as default};
@@ -1,7 +1,8 @@
1
- import { AnyObject, Nullable, UndefinedAble } from '../../../../../es/shared/types';
1
+ import { Nullable, UndefinedAble } from '../../../../../es/shared/types';
2
2
  import { ComputedRef, InjectionKey, Ref } from 'vue';
3
3
  import { VxeTableInstance } from 'vxe-table';
4
- import { IhoTableConfig, IhoTableEmits, IhoTableEventTypes, IhoTableFieldItem, IhoTableHandler } from '../../../../../es/components/iho-table';
4
+ import { AnnotationItem } from '../../../../../es/components/annotation-edit/src/type';
5
+ import { IhoTableConfig, IhoTableEmits, IhoTableFieldItem, IhoTableHandler } from '../../../../../es/components/iho-table';
5
6
  import { IhoTableEventListener } from '../../../../../es/components/iho-table/src/hooks/tapHooks/useEventHooks';
6
7
  export declare enum WIDGET_TYPE {
7
8
  DEFAULT = "DEFAULT",
@@ -37,8 +38,8 @@ export declare enum WIDGET_TYPE {
37
38
  BANK_CARD = "BANK_CARD",
38
39
  SEQUENCE = "SEQUENCE"
39
40
  }
40
- export declare const VxeEventListenerNameList: Readonly<(keyof IhoTableEventTypes)[]>;
41
- export declare const VxeTableEventNameList: ("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd" | "pageChange")[];
41
+ export declare const VxeEventListenerNameList: readonly ["onKeydownStart", "onKeydown", "onKeydownEnd", "onPaste", "onCopy", "onCut", "onCurrentChange", "onRadioChange", "onCheckboxChange", "onCheckboxAll", "onCheckboxRangeStart", "onCheckboxRangeChange", "onCheckboxRangeEnd", "onCellClick", "onCellDblclick", "onCellMenu", "onCellMouseenter", "onCellMouseleave", "onHeaderCellClick", "onHeaderCellDblclick", "onHeaderCellMenu", "onFooterCellClick", "onFooterCellDblclick", "onFooterCellMenu", "onSortChange", "onFilterChange", "onFilterVisible", "onResizableChange", "onToggleRowExpand", "onToggleTreeExpand", "onMenuClick", "onEditClosed", "onEditActived", "onEditDisabled", "onValidError", "onScroll", "onCustom", "onOpenFnr", "onFnrChange", "onFnrFind", "onFnrFindAll", "onFnrReplace", "onFnrReplaceAll", "onCellAreaCopy", "onCellAreaCut", "onCellAreaPaste", "onCellAreaMerge", "onClearCellAreaMerge", "onHeaderCellAreaSelection", "onCellAreaSelectionStart", "onCellAreaSelectionDrag", "onCellAreaSelectionEnd", "onCellAreaExtensionStart", "onCellAreaExtensionDrag", "onCellAreaExtensionEnd", "onCellAreaArrowsStart", "onCellAreaArrowsEnd", "onActiveCellChangeStart", "onActiveCellChangeEnd", "onPageChange"];
42
+ export declare const VxeTableEventNameList: ["toggleRowExpand", "toggleTreeExpand", "copy", "scroll", "cut", "paste", "keydown", "keydownStart", "keydownEnd", "currentChange", "radioChange", "checkboxChange", "checkboxAll", "checkboxRangeStart", "checkboxRangeChange", "checkboxRangeEnd", "cellClick", "cellDblclick", "cellMenu", "cellMouseenter", "cellMouseleave", "headerCellClick", "headerCellDblclick", "headerCellMenu", "footerCellClick", "footerCellDblclick", "footerCellMenu", "sortChange", "filterChange", "filterVisible", "resizableChange", "menuClick", "editClosed", "editActived", "editDisabled", "validError", "custom", "openFnr", "fnrChange", "fnrFind", "fnrFindAll", "fnrReplace", "fnrReplaceAll", "cellAreaCopy", "cellAreaCut", "cellAreaPaste", "cellAreaMerge", "clearCellAreaMerge", "headerCellAreaSelection", "cellAreaSelectionStart", "cellAreaSelectionDrag", "cellAreaSelectionEnd", "cellAreaExtensionStart", "cellAreaExtensionDrag", "cellAreaExtensionEnd", "cellAreaArrowsStart", "cellAreaArrowsEnd", "activeCellChangeStart", "activeCellChangeEnd", "pageChange"];
42
43
  export declare const IhoTableRowGroupSequence: readonly ["firstRowGroup", "secondRowGroup", "thirdRowGroup", "fourthRowGroup", "fifthRowGroup", "sixthRowGroup", "seventhRowGroup", "eighthRowGroup", "ninthRowGroup", "tenthRowGroup"];
43
44
  export declare const HIGHEST_PRIORITY: number;
44
45
  export declare const LOWEST_PRIORITY: number;
@@ -71,11 +72,11 @@ export declare enum IHO_TABLE_FIXED_STATUS {
71
72
  right = 2
72
73
  }
73
74
  export declare const IhoTableCustomEventNameTuple: readonly ["formChange", "settingClick", "formClick", "keyboard", "rowDrag"];
74
- export declare const IhoTableEventNameTuple: readonly ["formChange", "settingClick", "formClick", "keyboard", "rowDrag", ...("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd" | "pageChange")[]];
75
+ export declare const IhoTableEventNameTuple: readonly ["formChange", "settingClick", "formClick", "keyboard", "rowDrag", "toggleRowExpand", "toggleTreeExpand", "copy", "scroll", "cut", "paste", "keydown", "keydownStart", "keydownEnd", "currentChange", "radioChange", "checkboxChange", "checkboxAll", "checkboxRangeStart", "checkboxRangeChange", "checkboxRangeEnd", "cellClick", "cellDblclick", "cellMenu", "cellMouseenter", "cellMouseleave", "headerCellClick", "headerCellDblclick", "headerCellMenu", "footerCellClick", "footerCellDblclick", "footerCellMenu", "sortChange", "filterChange", "filterVisible", "resizableChange", "menuClick", "editClosed", "editActived", "editDisabled", "validError", "custom", "openFnr", "fnrChange", "fnrFind", "fnrFindAll", "fnrReplace", "fnrReplaceAll", "cellAreaCopy", "cellAreaCut", "cellAreaPaste", "cellAreaMerge", "clearCellAreaMerge", "headerCellAreaSelection", "cellAreaSelectionStart", "cellAreaSelectionDrag", "cellAreaSelectionEnd", "cellAreaExtensionStart", "cellAreaExtensionDrag", "cellAreaExtensionEnd", "cellAreaArrowsStart", "cellAreaArrowsEnd", "activeCellChangeStart", "activeCellChangeEnd", "pageChange"];
75
76
  export declare const InjectionIhoTableConfig: InjectionKey<Ref<IhoTableConfig>>;
76
77
  export declare const InjectionIhoTableFieldList: InjectionKey<Ref<IhoTableFieldItem[]>>;
77
78
  export declare const InjectionIhoTableEmits: InjectionKey<IhoTableEmits>;
78
- export declare const InjectionIhoTableAnnotation: InjectionKey<ComputedRef<Nullable<AnyObject>>>;
79
+ export declare const InjectionIhoTableAnnotation: InjectionKey<ComputedRef<Nullable<Record<string, AnnotationItem>>>>;
79
80
  export declare const InjectionIhoTableUUID: InjectionKey<string>;
80
81
  export declare const InjectionIhoTableInstance: InjectionKey<Ref<UndefinedAble<VxeTableInstance>>>;
81
82
  export declare const InjectionIhoTableHandler: InjectionKey<IhoTableHandler>;
@@ -1 +1 @@
1
- import{cloneDeep as e,isString as t,isFunction as n,pick as o,isArray as a,isNumber as i}from"lodash-es";import{isObject as r}from"@vue/shared";const s=Symbol("remove property");function l(){return{formConfigLikeAdaptor:function(l){const p={};return r(l)?{fieldList:function(l){const m=new Map([["NONE",0],["LEFT",1],["RIGHT",2]]),u=new Map([["0",0],["1",1]]),c=new Map([...["RADIO","RADIO_BLOCK","CHECKBOX","CHECKBOX_BLOCK","SELECT","SEARCH","SEARCH_MORE","SWITCH_COMPONENT"].map((e=>[e,"select"])),...["DATE"].map((e=>[e,"date"])),...["INPUT"].map((e=>[e,"input"])),...["DIGITAL"].map((e=>[e,"number"]))]),d=(e,t)=>{if(!r(e))return;const n={label:e.describe,...e};t.options=a(t.options)?[...t.options,n]:[n]},f=(e,n)=>{0!==e&&"0"!==e&&e&&(t(e)||i(e))&&(console.log("value=>",e),n.componentProps={maxTagCount:+e,...n.componentProps})},_=new Map([["multi_select_value",f],["is_null",(e,t,n,o)=>{"1"!==e&&"0"===e&&(o[n.val_key]=[{required:!0,message:"必填"}])}],["validate",(e,t)=>{if(!r(e))return;t.componentProps={...Object.entries({maxlength:"max_length",minlength:"min_length",max:"max_value",min:"min_value",precision:"decimal_length"}).reduce(((t,[n,o])=>(t[n]=e[o],t)),{}),...t.componentProps}}],["dateValidate",(e,t)=>{r(e)&&(t.isDateDisabled=(t,n)=>{if(!r(n))return;const{startDate:o,endDate:a}=e;let i=!1;return o&&(i=new Date(n[o]).getTime()>t),a&&(i=i||new Date(n[a]).getTime()<t),i})}],["date_format","valueFormat"],...["open","close"].map((e=>[e,d])),["is_edit",{property:"isEdit",valueMap:u}],["free_entry",(e,t,n)=>{t.componentProps={...t.componentProps,allowCreate:"1"===e||1===e,shouldSave:"1"===n.save_free_entry||1===n.save_free_entry}}],["html_type",(e,n,o)=>{var a;if(!t(e))return;if("DATE"===e)return void(n.formType=t(o.date_format)&&o.date_format.startsWith("HH:mm")?"time":"date");n.formType=null!=(a=c.get(e))?a:e;const i="SEARCH"!==e&&("SEARCH_MORE"===e||("SELECT"===e?"0"===o.multi_select:null));i&&(n.componentProps={multiple:i,...n.componentProps})}],["option",{property:"options",fieldMap:new Map([["text","label"]])}],...["alias","name"].map((e=>[e,(e,t,n)=>{var o;t.title=`${null!=(o=n.alias)?o:n.name}${n.suffix?`(${n.suffix})`:""}`}]))]),v=new Map([["sum","isSum"],["show","isShow"],["elementId","columnName"],["columnWidth","colWidth"],["fixedWayEnum",{property:"isFixed",valueMap:m}],["multi_select_value",f],["setting",{fieldMap:_,assign:!0}]]);return l.map((e=>E(e,p,v)));function E(i,l,p){if(!p)return e(i);const m={};return Object.entries(i).forEach((([e,o])=>{const a=p.get(e);return a?a!==s?t(a)?m[a]=o:n(a)?a(o,m,i,l):void(r(a)&&(a.assign?Object.assign(m,u(o,a)):m[a.property||e]=u(o,a))):void 0:m[e]=o})),m.componentProps=Object.assign({},m.componentProps,o(m,["options","isDateDisabled"])),m;function u(e,t){var o,i;return!r(t)||n(t)?e:a(e)?e.map((e=>u(e,t))):r(e)?E(e,l,t.fieldMap):null!=(i=null==(o=t.valueMap)?void 0:o.get(e))?i:e}}}(l.fieldList),editRules:p}:{fieldList:[],editRules:p}}}}export{l as useColumnConfigAdaptor};
1
+ import{cloneDeep as e,isString as t,isFunction as n,pick as o,isArray as a,isNumber as i}from"lodash-es";import{isObject as r}from"@vue/shared";const s=Symbol("remove property");function l(){return{formConfigLikeAdaptor:function(l){const p={};return r(l)?{fieldList:function(l){const m=new Map([["NONE",0],["LEFT",1],["RIGHT",2]]),u=new Map([["0",0],["1",1]]),c=new Map([...["RADIO","RADIO_BLOCK","CHECKBOX","CHECKBOX_BLOCK","SELECT","SEARCH","SEARCH_MORE","SWITCH_COMPONENT"].map((e=>[e,"select"])),...["DATE"].map((e=>[e,"date"])),...["INPUT"].map((e=>[e,"input"])),...["DIGITAL"].map((e=>[e,"number"]))]),d=(e,t)=>{if(!r(e))return;const n={label:e.describe,...e};t.options=a(t.options)?[...t.options,n]:[n]},f=(e,n)=>{0!==e&&"0"!==e&&e&&(t(e)||i(e))&&(n.componentProps={maxTagCount:+e,...n.componentProps})},_=new Map([["multi_select_value",f],["is_null",(e,t,n,o)=>{"1"!==e&&"0"===e&&(o[n.val_key]=[{required:!0,message:"必填"}])}],["validate",(e,t)=>{if(!r(e))return;t.componentProps={...Object.entries({maxlength:"max_length",minlength:"min_length",max:"max_value",min:"min_value",precision:"decimal_length"}).reduce(((t,[n,o])=>(t[n]=e[o],t)),{}),...t.componentProps}}],["dateValidate",(e,t)=>{r(e)&&(t.isDateDisabled=(t,n)=>{if(!r(n))return;const{startDate:o,endDate:a}=e;let i=!1;return o&&(i=new Date(n[o]).getTime()>t),a&&(i=i||new Date(n[a]).getTime()<t),i})}],["default_val","defaultValue"],["date_format","valueFormat"],...["open","close"].map((e=>[e,d])),["is_edit",{property:"isEdit",valueMap:u}],["free_entry",(e,t,n)=>{t.componentProps={...t.componentProps,allowCreate:"1"===e||1===e,shouldSave:"1"===n.save_free_entry||1===n.save_free_entry}}],["html_type",(e,n,o)=>{var a;if(!t(e))return;if("DATE"===e)return void(n.formType=t(o.date_format)&&o.date_format.startsWith("HH:mm")?"time":"date");n.formType=null!=(a=c.get(e))?a:e;const i="SEARCH"!==e&&("SEARCH_MORE"===e||("SELECT"===e?"0"===o.multi_select:null));i&&(n.componentProps={multiple:i,...n.componentProps})}],["option",{property:"options",fieldMap:new Map([["text","label"]])}],...["alias","name"].map((e=>[e,(e,t,n)=>{var o;t.title=`${null!=(o=n.alias)?o:n.name}${n.suffix?`(${n.suffix})`:""}`}]))]),v=new Map([["sum","isSum"],["show","isShow"],["elementId","columnName"],["columnWidth","colWidth"],["fixedWayEnum",{property:"isFixed",valueMap:m}],["multi_select_value",f],["setting",{fieldMap:_,assign:!0}]]);return l.map((e=>E(e,p,v)));function E(i,l,p){if(!p)return e(i);const m={};return Object.entries(i).forEach((([e,o])=>{const a=p.get(e);return a?a!==s?t(a)?m[a]=o:n(a)?a(o,m,i,l):void(r(a)&&(a.assign?Object.assign(m,u(o,a)):m[a.property||e]=u(o,a))):void 0:m[e]=o})),m.componentProps=Object.assign({},m.componentProps,o(m,["options","isDateDisabled"])),m;function u(e,t){var o,i;return!r(t)||n(t)?e:a(e)?e.map((e=>u(e,t))):r(e)?E(e,l,t.fieldMap):null!=(i=null==(o=t.valueMap)?void 0:o.get(e))?i:e}}}(l.fieldList),editRules:p}:{fieldList:[],editRules:p}}}}export{l as useColumnConfigAdaptor};
@@ -0,0 +1 @@
1
+ export declare function defaultValuePlugin(): import("../../../../../es/components/iho-table").TablePlugin;
@@ -0,0 +1 @@
1
+ import{format as e}from"date-fns";import"../../index.js";import{EDITABLE_WIDGET_TYPE as t}from"../constants/index.js";import{getLowCodeFieldFromField as a}from"../utils/index.js";import{defineTablePlugin as l}from"../hooks/useTablePlugin.js";function n(){const n="defaultValuePlugin",o=new Map([[[t.TIME],({defaultValue:t,valueFormat:a="HH:mm"})=>"current"===t?e(Date.now(),a):t],[[t.DATE],({defaultValue:t,valueFormat:a="yyyy-MM-dd HH:mm:ss"})=>"current"===t?e(Date.now(),a):t]]);return l({name:n,apply(e){let t=[];e.fieldHooks.fieldList.tap(n,(e=>(t=e,e))),e.dataHooks.data.tap(n,(e=>{t.length&&t.forEach((t=>{var l;const n=a(t);if(null==(null==n?void 0:n.defaultValue))return;const d=null==(l=t.editRender)?void 0:l.name,[,u]=[...o.entries()].find((([e])=>e.includes(d)))||[];null==e[t.field]&&(e[t.field]=u?u(n):n.defaultValue)}))})),e.dataHooks.dataEnd.tap(n,(()=>{t=[]}))}})}export{n as defaultValuePlugin};
@@ -1 +1 @@
1
- import{nextTick as e}from"vue";import"../../index.js";import{defineTablePlugin as t}from"../hooks/useTablePlugin.js";function i(){const i="filterVisibleEventPlugin";return t({name:i,apply(t){t.eventHooks.onFilterVisible.tap(i,(({$table:t,visible:i})=>{i&&e((()=>{const e=t.getRefMaps().refTableFilter.value.$el,i=null==e?void 0:e.getBoundingClientRect(),n=Math.min(document.documentElement.clientHeight,window.innerHeight),l=parseFloat(t.reactData.filterStore.style.top);n-i.top-l<=i.height&&(e.style.transform=`translateY(${-(i.height+l)}px)`)}))}))}})}export{i as filterVisibleEventPlugin};
1
+ import{nextTick as e}from"vue";import"../../index.js";import{defineTablePlugin as t}from"../hooks/useTablePlugin.js";function i(){const i="filterVisibleEventPlugin";return t({name:i,apply(t){t.eventHooks.onFilterVisible.tap(i,(({$table:t,visible:i})=>{i&&e((()=>{const e=t.getRefMaps().refTableFilter.value.$el,i=null==e?void 0:e.getBoundingClientRect(),n=Math.min(document.documentElement.clientHeight,window.innerHeight),l=parseFloat(t.reactData.filterStore.style.top),{top:o,height:r}=i,a=n-o-l;a<r&&o>a&&(e.style.transform=`translateY(${-(r+l)}px)`)}))}))}})}export{i as filterVisibleEventPlugin};
@@ -0,0 +1 @@
1
+ export default function HeaderPlugin(): import("../../../../../es/components/iho-table").TablePlugin;
@@ -0,0 +1 @@
1
+ import{inject as e,createVNode as t}from"vue";import{arrayed as l,widthAppend as n}from"../../../../shared/utils/index.js";import{isObject as o,isString as a,isFunction as i}from"lodash-es";import r from"../../../annotation-edit/index.js";import"../../index.js";import{InjectionIhoTableAnnotation as s,InjectionIhoTableConfig as u}from"../constants/index.js";import{getLowCodeFieldFromField as d,IhoTableRenderHelper as m}from"../utils/index.js";import{defineTablePlugin as c}from"../hooks/useTablePlugin.js";function p(){const p="headerPlugin";return c({name:p,apply(c){c.fieldHooks.field.tap(p,(c=>{var p;const f=null==(p=c.slots)?void 0:p.header;return c.slots={...c.slots,header:p=>function(d,c,p){var f;const h=e(s),v=e(u),x=e("$xetable"),b=d.column||{},j=o(null==h?void 0:h.value)&&!1!==c.annotation,g=m.isEditableColumn(v.value,b),w=m.hasFilter(c)||m.hasDateFiler(c),W=null==(f=c.titlePrefix)?void 0:f.content,y=a(p)?p:i(p)?p(d):null;let D=!1;if(v.value){const e=v.value.editRules&&v.value.editRules[b.field];e&&(D=l(e).some((e=>e.required)))}const M=v.value.border?Math.max(2,Math.ceil(x.reactData.scrollbarWidth/x.reactData.tableColumn.length)):1,P=n(Math.max(0,b.renderWidth-20-M-(D?14:0)-(j?18:0)-(w?23:0)-(g?22:0)-(W?20:0)-(b.sortable?23:0)));return t("section",{class:"iho-table__headerWrapper"},[t("section",{style:{width:P}},[null!=y?y:t("div",{style:{maxWidth:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[function(){const e=b.title,l=/\\n|\n|\r/g;if(!l.test(e))return e;const n=e.replace(l,"<br>").split("<br>");return n.map(((e,l)=>[e,l===n.length-1?null:t("br",null,null)]))}()])]),j?t(r,{modelValue:h.value[b.field],"onUpdate:modelValue":e=>h.value[b.field]=e},null):null])}(p,d(c),f)},c}))}})}export{p as default};
@@ -1 +1 @@
1
- import*as e from"./anchorPlugin/index.js";import*as r from"./bindEventSettingPlugin/index.js";import*as i from"./defaultConfigPlugin/index.js";import*as n from"./filterDaterangeRenderPlugin/index.js";import*as s from"./filterRenderPlugin/index.js";import*as t from"./filterVisibleEventPlugin.js";import*as d from"./highLightSetPlugin.js";import*as l from"./keyboardEventPlugin/index.js";import*as g from"./lowCodeFieldAdaptorPlugin/index.js";import*as u from"./maxCheckSizePlugin.js";import*as o from"./operationalFormPlugin/index.js";import*as P from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";import*as a from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";import*as m from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";import*as x from"./rendererPlugins/editableWidgets/radioRendererPlugin.js";import*as f from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";import*as p from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";import*as j from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";import*as R from"./rendererPlugins/widgets/checkRendererPlugin.js";import*as b from"./rendererPlugins/widgets/colorRendererPlugin.js";import*as w from"./rendererPlugins/widgets/defaultRendererPlugin.js";import*as c from"./rendererPlugins/widgets/htmlRendererPlugin.js";import*as h from"./rendererPlugins/widgets/labelRendererPlugin.js";import*as W from"./rendererPlugins/widgets/pictureRendererPlugin.js";import*as v from"./rendererPlugins/widgets/seqRendererPlugin.js";import*as k from"./rowClickPlugin/index.js";import*as C from"./rowDragPlugin/index.js";import*as S from"./rowGroupSettingPlugin/index.js";import*as E from"./varialbleHeightPlugin/index.js";import*as D from"./virtualTreePlugin/index.js";import{separateMetaModule as F}from"../../../../shared/utils/index.js";var q=F(Object.assign({"./anchorPlugin/index.tsx":e,"./bindEventSettingPlugin/index.ts":r,"./defaultConfigPlugin/index.ts":i,"./filterDaterangeRenderPlugin/index.tsx":n,"./filterRenderPlugin/index.tsx":s,"./filterVisibleEventPlugin.ts":t,"./highLightSetPlugin.tsx":d,"./keyboardEventPlugin/index.ts":l,"./lowCodeFieldAdaptorPlugin/index.tsx":g,"./maxCheckSizePlugin.ts":u,"./operationalFormPlugin/index.ts":o,"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx":P,"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx":a,"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx":m,"./rendererPlugins/editableWidgets/radioRendererPlugin.tsx":x,"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx":f,"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx":p,"./rendererPlugins/editableWidgets/timeRendererPlugin/index.tsx":j,"./rendererPlugins/widgets/checkRendererPlugin.tsx":R,"./rendererPlugins/widgets/colorRendererPlugin.tsx":b,"./rendererPlugins/widgets/defaultRendererPlugin.tsx":w,"./rendererPlugins/widgets/htmlRendererPlugin.tsx":c,"./rendererPlugins/widgets/labelRendererPlugin.tsx":h,"./rendererPlugins/widgets/pictureRendererPlugin.tsx":W,"./rendererPlugins/widgets/seqRendererPlugin.tsx":v,"./rowClickPlugin/index.ts":k,"./rowDragPlugin/index.ts":C,"./rowGroupSettingPlugin/index.ts":S,"./varialbleHeightPlugin/index.tsx":E,"./virtualTreePlugin/index.ts":D}));export{q as default};
1
+ import*as e from"./anchorPlugin/index.js";import*as r from"./bindEventSettingPlugin/index.js";import*as i from"./defaultConfigPlugin/index.js";import*as n from"./defaultValuePlugin.js";import*as s from"./filterDaterangeRenderPlugin/index.js";import*as t from"./filterRenderPlugin/index.js";import*as d from"./filterVisibleEventPlugin.js";import*as l from"./headerPlugin.js";import*as g from"./highLightSetPlugin.js";import*as u from"./keyboardEventPlugin/index.js";import*as o from"./lowCodeFieldAdaptorPlugin/index.js";import*as a from"./maxCheckSizePlugin.js";import*as P from"./operationalFormPlugin/index.js";import*as m from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";import*as x from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";import*as f from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";import*as p from"./rendererPlugins/editableWidgets/radioRendererPlugin.js";import*as j from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";import*as R from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";import*as b from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";import*as w from"./rendererPlugins/widgets/checkRendererPlugin.js";import*as h from"./rendererPlugins/widgets/colorRendererPlugin.js";import*as c from"./rendererPlugins/widgets/defaultRendererPlugin.js";import*as W from"./rendererPlugins/widgets/htmlRendererPlugin.js";import*as v from"./rendererPlugins/widgets/labelRendererPlugin.js";import*as k from"./rendererPlugins/widgets/pictureRendererPlugin.js";import*as C from"./rendererPlugins/widgets/seqRendererPlugin.js";import*as S from"./rowClickPlugin/index.js";import*as E from"./rowDragPlugin/index.js";import*as D from"./rowGroupSettingPlugin/index.js";import*as F from"./varialbleHeightPlugin/index.js";import*as V from"./virtualTreePlugin/index.js";import{separateMetaModule as q}from"../../../../shared/utils/index.js";var y=q(Object.assign({"./anchorPlugin/index.tsx":e,"./bindEventSettingPlugin/index.ts":r,"./defaultConfigPlugin/index.ts":i,"./defaultValuePlugin.ts":n,"./filterDaterangeRenderPlugin/index.tsx":s,"./filterRenderPlugin/index.tsx":t,"./filterVisibleEventPlugin.ts":d,"./headerPlugin.tsx":l,"./highLightSetPlugin.tsx":g,"./keyboardEventPlugin/index.ts":u,"./lowCodeFieldAdaptorPlugin/index.tsx":o,"./maxCheckSizePlugin.ts":a,"./operationalFormPlugin/index.ts":P,"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx":m,"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx":x,"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx":f,"./rendererPlugins/editableWidgets/radioRendererPlugin.tsx":p,"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx":j,"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx":R,"./rendererPlugins/editableWidgets/timeRendererPlugin/index.tsx":b,"./rendererPlugins/widgets/checkRendererPlugin.tsx":w,"./rendererPlugins/widgets/colorRendererPlugin.tsx":h,"./rendererPlugins/widgets/defaultRendererPlugin.tsx":c,"./rendererPlugins/widgets/htmlRendererPlugin.tsx":W,"./rendererPlugins/widgets/labelRendererPlugin.tsx":v,"./rendererPlugins/widgets/pictureRendererPlugin.tsx":k,"./rendererPlugins/widgets/seqRendererPlugin.tsx":C,"./rowClickPlugin/index.ts":S,"./rowDragPlugin/index.ts":E,"./rowGroupSettingPlugin/index.ts":D,"./varialbleHeightPlugin/index.tsx":F,"./virtualTreePlugin/index.ts":V}));export{y as default};
@@ -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 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),!t.editRender.enabled&&a(null==(o=t.slots)?void 0:o.default)&&(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
+ import{isObject as e,isFunction as t,cloneDeep as i}from"lodash-es";import{toRaw as o,h as l}from"vue";import{HIGHEST_PRIORITY as s,IHO_TABLE_FIXED_STATUS as n,LOWEST_PRIORITY as d,WIDGET_TYPE as r}from"../../constants/index.js";import{defineTablePlugin as a}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as f,IhoTableUtils as c}from"../../utils/index.js";import{getDefaultValue as m}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function p(){const p="lowCodeFieldAdaptorPlugin";return a({name:p,apply(a){a.fieldHooks.field.tap({name:p,stage:s},((s,d,a)=>{const p=s,u={className:p.bold?"iho-table__boldCell":"",field:p.columnName,showOverflow:"ellipsis",visible:f.notNegative(p.isShow),minWidth:p.colWidth,sortable:f.isPositive(p.isSort),fixed:n[p.isFixed],...p,title:p.alias||p.title};return function(e,i){const o={default:i.slotFn,header:i.headerSlotFn,edit:i.editSlotFn,footer:i.footerSlotFn,...i.slots};if(t(i.checkEditStatus)){const{default:e}=o;t(e)&&(o.default=t=>i.checkEditStatus(t)?e(t):[l("span",null,m(t.row,t.column.editRender.props))])}e.slots=o}(u,p),function(l,s,n){var d,a;const m=i(o(s));m.componentProps={size:"mini"===n.size?"small":n.size,...m.componentProps},n.forceClearable&&(m.componentProps.clearable=!0);l.editRender={name:c.getCellType(s),...l.editRender,props:m},l.editRender.enabled=!Reflect.get(r,l.editRender.name),!l.editRender.enabled&&t(null==(d=l.slots)?void 0:d.default)&&(l.editRender.enabled=t(null==(a=l.slots)?void 0:a.edit));if(!e(s.settingObj))return;Reflect.has(s.settingObj,"isHide")&&(l.visible=l.visible&&f.notPositive(s.settingObj.isHide))}(u,p,a),u})),a.fieldHooks.field.tap({name:p+"After",stage:d},(t=>(e(t.slots)&&Object.entries(t.slots).forEach((([e,i])=>{null==i&&Reflect.deleteProperty(t.slots,e)})),t)))}})}export{p as lowCodeFieldAdaptorPlugin};
@@ -1 +1 @@
1
- import{createVNode as e,mergeProps as t}from"vue";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as n}from"../../../../constants/index.js";import{createIhoTableClearActivedInterceptor as r,IhoTableRenderHelper as i}from"../../../../utils/index.js";import o from"./editDate.vue.js";import{defineTablePlugin as d}from"../../../../hooks/useTablePlugin.js";function l(){return d({name:"dateRendererPlugin",vxe(d){d.interceptor.add("event.clearActived",r(n.DATE,(e=>e.classList.contains("n-date-panel")))),d.renderer.add(n.DATE,{renderCell:i.createDefaultRenderCell(),renderEdit:i.createRenderEdit((({fieldItem:n,emitFormClick:r,row:i,column:d,$rowIndex:l})=>[e(o,t({value:i[d.field],"onUpdate:value":e=>i[d.field]=e,isStartDate:n.isStartDate,isEndDate:n.isEndDate,connectField:n.connectField},n.componentProps,{column:d,row:i,"row-index":l,onClick:r}),null)]))})}})}export{l as dateRendererPlugin};
1
+ import{createVNode as e,mergeProps as t}from"vue";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r}from"../../../../constants/index.js";import{createIhoTableClearActivedInterceptor as n,IhoTableRenderHelper as o}from"../../../../utils/index.js";import i from"./editDate.vue.js";import{defineTablePlugin as d}from"../../../../hooks/useTablePlugin.js";function a(){return d({name:"dateRendererPlugin",vxe(d){d.interceptor.add("event.clearActived",n(r.DATE,(e=>e.classList.contains("n-date-panel")))),d.renderer.add(r.DATE,{renderCell:o.createDefaultRenderCell(),renderEdit:o.createRenderEdit((({fieldItem:r,emitFormClick:n,row:o,column:d,$rowIndex:a})=>[e(i,t({value:o[d.field],"onUpdate:value":e=>o[d.field]=e,isStartDate:r.isStartDate,isEndDate:r.isEndDate,connectField:r.connectField,valueFormat:r.valueFormat},r.componentProps,{column:d,row:o,"row-index":a,onClick:n}),null)]))})}})}export{a as dateRendererPlugin};
@@ -1 +1 @@
1
- import{reactive as e,inject as o,createVNode as t,mergeProps as n,onBeforeUnmount as l}from"vue";import{arrayed as i}from"../../../../../../../shared/utils/index.js";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r,InjectionIhoTableUUID as s}from"../../../../constants/index.js";import{useAutoFocus as d}from"../hooks/useAutoFocus.js";import{createIhoTableClearActivedInterceptor as u,getTitle as c,IhoTableRenderHelper as a,IhoTableUtils as p}from"../../../../utils/index.js";import f from"./editSelect.js";import{getDefaultValue as m,isConnectField as v,getArray as E}from"./selectUtils.js";import{getSelectOptions as g,selectOptionsMap as w}from"../hooks/useSelectOption.js";import{cloneDeep as C,isEqual as b}from"lodash-es";import{defineTablePlugin as h}from"../../../../hooks/useTablePlugin.js";function x(){const x="selectRendererPlugin",k=e(new Map);return h({name:x,vxe(e){e.interceptor.add("event.clearActived",u(r.SELECT,(e=>e.classList.contains("iho-table__selectMenu")))),e.renderer.add(r.SELECT,{renderCell({props:e},{row:n,column:l,$table:r}){var d;const u=o(s),a=g(u,l.field,n,r),p=m(n,e,a),f=i(p).join(","),v=e&&(!0===(E=e.variableHeight)||"1"===E||(null==(d=e.componentProps)?void 0:d.indexedText));var E;return[t("span",{title:c(l,f)},[v?i(p).filter((e=>null!=e)).map(((e,o)=>[o+1,".",e,";",t("br",null,null)])):f])]},renderEdit:a.createRenderEdit((({fieldItem:e,emitFormClick:l,row:i,column:r,$rowIndex:d,$table:u})=>{const c=o(s),a=g(c,r.field,i,u);return[t(f,n({queryOptions:e.queryOptions},e.componentProps,{options:a,column:r,row:i,"row-index":d,value:i[r.field],"onUpdate:value":e=>i[r.field]=e,onClick:l}),null)]}))})},apply(e){async function o(e,o={}){var t,n,l;const i=null==(t=e.editRender)?void 0:t.props;if(!i)return[];let r=E(i.options)||E(null==(n=i.componentProps)?void 0:n.options)||[];if(i.queryOptions)try{const t={column:e,isFullData:!0,...o};r=await(null==(l=i.queryOptions)?void 0:l.call(i,t))}catch(e){console.log(`获取${i.field}_options错误`)}return r}d(e).bindAutoFocusConfig(x,r.SELECT,".n-base-selection-input"),e.fieldHooks.fieldList.tap(x,((e,{uuid:o})=>(o&&(w.get(o)||w.set(o,{}),k.set(o,C(e))),e))),e.dataHooks.data.tap(x,((e,{uuid:t},n)=>{if(!t)return;const l=k.get(t);if(!l||!l.length)return;const i=w.get(t);l.forEach((async t=>{var n;const r=null==(n=t.editRender)?void 0:n.props;if(t.field&&r&&"SELECT"===p.getCellType(r)){if(null==r?void 0:r.connectField){const n=r.connectField.split(","),s=e[r.columnName];n.forEach((async n=>{const d=null==l?void 0:l.find((e=>e.field===n));if(!d)return;const u=s?`${n}__${r.columnName}-${s}`:n;i[u]||(i[u]=[],i[u]=await o(d,{row:e,connectColumn:t}))}))}i[t.field]||v(l,t.field)||(i[t.field]=[],i[t.field]=await o(t,{row:e}))}}))})),e.setupHooks.setup.tap(x,(e=>{l((()=>{var o;const t=null==(o=e.value)?void 0:o.uuid;t&&(w.delete(t),k.delete(t))}))})),e.eventHooks.onCellDblclick.tap(x,(({$table:e},o,{emits:t})=>{var n;const{column:l,row:i}=e.reactData.editStore.actived,s=null==(n=l.editRender)?void 0:n.props,{cellDblclickSelectable:d=!1,multiple:u=!1,valueField:c="value"}=s.componentProps||{};if(!d||!l||!function(e){return e&&p.getCellType(e)===r.SELECT}(s))return;const a=o.uuid&&g(o.uuid,l.field,i,e);if(1!==(null==a?void 0:a.length))return;const f=u?[a[0][c]]:a[0][c],m=i[l.field];e.clearEdit(),b(f,m)||(i[l.field]=f,t("formChange",{column:l,row:i,oldValue:m,value:f,index:e.getRowIndex(i),$table:e,option:a[0]}))}))}})}export{x as selectRendererPlugin};
1
+ import{reactive as e,inject as o,createVNode as t,mergeProps as n,onBeforeUnmount as l}from"vue";import{arrayed as i}from"../../../../../../../shared/utils/index.js";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r,InjectionIhoTableUUID as s}from"../../../../constants/index.js";import{useAutoFocus as d}from"../hooks/useAutoFocus.js";import{createIhoTableClearActivedInterceptor as u,getTitle as c,IhoTableRenderHelper as a,IhoTableUtils as p}from"../../../../utils/index.js";import f from"./editSelect.js";import{getDefaultValue as m,isConnectField as v,getArray as E}from"./selectUtils.js";import{getSelectOptions as g,selectOptionsMap as C}from"../hooks/useSelectOption.js";import{cloneDeep as h,isEqual as b}from"lodash-es";import{defineTablePlugin as w}from"../../../../hooks/useTablePlugin.js";function y(){const y="selectRendererPlugin",x=e(new Map);return w({name:y,vxe(e){e.interceptor.add("event.clearActived",u(r.SELECT,(e=>e.classList.contains("iho-table__selectMenu")))),e.renderer.add(r.SELECT,{renderCell({props:e},{row:n,column:l,$table:r}){var d;const u=o(s),a=g(u,l.field,n,r),p=m(n,e,a),f=i(p).join(","),v=e&&(!0===(E=e.variableHeight)||"1"===E||(null==(d=e.componentProps)?void 0:d.indexedText));var E;return[t("span",{title:c(l,f)},[v?i(p).filter((e=>null!=e)).map(((e,o)=>[o+1,".",e,";",t("br",null,null)])):f])]},renderEdit:a.createRenderEdit((({fieldItem:e,emitFormClick:l,row:i,column:r,$rowIndex:d,$table:u})=>{const c=o(s),a=g(c,r.field,i,u);return[t(f,n({queryOptions:e.queryOptions},e.componentProps,{options:a,column:r,row:i,"row-index":d,value:i[r.field],"onUpdate:value":e=>i[r.field]=e,onClick:l}),null)]}))})},apply(e){async function o(e,o={}){var t,n,l;const i=null==(t=e.editRender)?void 0:t.props;if(!i)return[];let r=E(i.options)||E(null==(n=i.componentProps)?void 0:n.options)||[];if(i.queryOptions)try{const t={column:e,isFullData:!0,...o};r=await(null==(l=i.queryOptions)?void 0:l.call(i,t))}catch(e){console.log(`获取${i.field}_options错误`)}return r}d(e).bindAutoFocusConfig(y,r.SELECT,".n-base-selection-input"),e.fieldHooks.fieldList.tap(y,((e,{uuid:t})=>{if(t){C.get(t)||C.set(t,{}),x.set(t,h(e));const n=C.get(t);e.forEach((async t=>{var l;const i=null==(l=t.editRender)?void 0:l.props;t.field&&i&&"SELECT"===p.getCellType(i)&&(n[t.field]||v(e,t.field)||(n[t.field]=[],n[t.field]=await o(t)))}))}return e})),e.dataHooks.data.tap(y,((e,{uuid:t},n)=>{if(!t)return;const l=x.get(t);if(!l||!l.length)return;const i=C.get(t);l.forEach((async t=>{var n;const r=null==(n=t.editRender)?void 0:n.props;if(t.field&&r&&"SELECT"===p.getCellType(r)&&(null==r?void 0:r.connectField)){const n=r.connectField.split(","),s=e[r.columnName];n.forEach((async n=>{const d=null==l?void 0:l.find((e=>e.field===n));if(!d)return;const u=s?`${n}__${r.columnName}-${s}`:n;i[u]||(i[u]=[],i[u]=await o(d,{row:e,connectColumn:t}))}))}}))})),e.setupHooks.setup.tap(y,(e=>{l((()=>{var o;const t=null==(o=e.value)?void 0:o.uuid;t&&(C.delete(t),x.delete(t))}))})),e.eventHooks.onCellDblclick.tap(y,(({$table:e},o,{emits:t})=>{var n;const{column:l,row:i}=e.reactData.editStore.actived;if(!l||!i)return;const s=null==(n=l.editRender)?void 0:n.props,{cellDblclickSelectable:d=!1,multiple:u=!1,valueField:c="value"}=s.componentProps||{};if(!d||!function(e){return e&&p.getCellType(e)===r.SELECT}(s))return;const a=o.uuid&&g(o.uuid,l.field,i,e);if(1!==(null==a?void 0:a.length))return;const f=u?[a[0][c]]:a[0][c],m=i[l.field];e.clearEdit(),b(f,m)||(i[l.field]=f,t("formChange",{column:l,row:i,oldValue:m,value:f,index:e.getRowIndex(i),$table:e,option:a[0]}))}))}})}export{y as selectRendererPlugin};
@@ -1 +1 @@
1
- import{reactive as e,inject as t,createVNode as a,toRaw as o,h as r,onBeforeUnmount as n}from"vue";import{traverse as i,arrayed as l}from"../../../../../../../shared/utils/index.js";import{isFunction as u,isObject as s,isArray as d,compact as p,range as c,flatten as f}from"lodash-es";import{NInput as _}from"naive-ui";import{uniq as m}from"xe-utils";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as E,InjectionIhoTableUUID as h,InjectionIhoTableHandler as A}from"../../../../constants/index.js";import{useAutoFocus as v}from"../hooks/useAutoFocus.js";import{createIhoTableClearActivedInterceptor as R,getLowCodeFieldFromField as g,IhoTableRenderHelper as T,getRowHeight as D,getColumnRenderWidth as w,parseMergeField as b}from"../../../../utils/index.js";import P from"./editSeparate.vue.js";import{contentSeparate as $,getLengthDiffArray as x,getColumnInfoMaxLength as C,generateSeparateRowData as S,isSeparateColumn as k}from"./separateUtils.js";import{getSeparateInfo as H,setSeparateInfo as j,deleteSeparateInfo as M}from"../../../../utils/separateMap.js";import{defineTablePlugin as O}from"../../../../hooks/useTablePlugin.js";function I(){const I="separateRendererPlugins",F=e(new Map);return O({name:I,vxe(e){e.interceptor.add("event.clearActived",R(E.SEPARATE,(e=>e.classList.contains("v-binder-follower-content")))),e.renderer.add(E.SEPARATE,{renderCell(e,{column:o,row:r}){var n,i;const l=t(h),u=null!=(i=null==(n=H(l,r))?void 0:n.separateData)?i:{},s=g(o),d=(null==s?void 0:s.separateFormatter)?s.separateFormatter(u[o.field]):u[o.field];return a("section",{class:"iho-table__ellipsis",title:d},[d])},renderEdit:T.createRenderEdit((({fieldItem:e,column:n,row:i,emitFormClick:l})=>{var d,p;const c=t(h),f=H(c,i),m=D(),E={};let v=null!=(p=null==(d=e.componentProps)?void 0:d.separateSlot)?p:e.separateSlot;return v&&(v=o(v),E.menu=u(v)?v:s(v)?e=>r(v,e):void 0),e.separateRowEdit?function(){if(!f)return[];if(f.ihoTableHandler=t(A),f.separateData["__"+n.field]=f.separateData["__"+n.field]||f.separateData[n.field],E.menu){const e=E.menu;return a(e,{column:n,col:n,row:i,value:f.separateData["__"+n.field],"onUpdate:value":e=>f.separateData["__"+n.field]=e},null)}return[a(_,{value:f.separateData["__"+n.field],"onUpdate:value":e=>f.separateData["__"+n.field]=e},null)]}():[a(P,{value:i[n.field],"onUpdate:value":e=>i[n.field]=e,"row-index":null==f?void 0:f.index,height:m,column:n,row:i,"display-content":null==(R=null==f?void 0:f.separateData)?void 0:R[n.field],onClick:l},E)];var R}))})},apply(e){function t(e){return(...t)=>{var a;return!(null==(a=t[0].row)?void 0:a.$__SEPARATE)&&(!u(e)||e(...t))}}v(e).bindAutoFocusConfig(I,E.SEPARATE,".iho-table__separateText"),e.eventHooks.onEditClosed.tap(I,(({row:e,column:t,$table:a},o,{emits:r})=>{if(!e.$__uuid)return;const n=g(t);if(!n||!n.separateRowEdit)return;const i=H(e.$__uuid,e);if(!i)return;const{separateData:l,originalData:u,ihoTableHandler:s,index:p}=i,{field:c}=t;if(l["__"+c]&&l["__"+c]!==l[c]&&d(u.$__SEPARATE_DATA)){const e=u.$__SEPARATE_DATA.map((e=>{var t;return null!=(t=e["__"+c])?t:e[c]})),o=u[c];u[c]=d(u[c])?e:e.join(""),r("formChange",{value:u[c],oldValue:o,row:u,column:t,index:p,$table:a}),null==s||s.updateTableDataRef()}})),e.fieldHooks.fieldList.tap(I,((e,{uuid:t})=>(t&&F.set(t,e.reduce(((e,t)=>(i(t,(t=>{k(t)&&(e.push(o(t)),t.showOverflow="ellipsis")})),e)),[])),e))),e.dataHooks.data.tapPromise(I,(async(e,t,{insertAfter:a,index:o,$table:r})=>{var n;if(!t.uuid)return;const i=F.get(t.uuid);if(!i||!i.length)return;const u=[];for(const t of i){if(!t.field)continue;const a=await w(t,r),o={field:t.field,column:t,data:$(b(e,t),t,a,null==(n=g(t))?void 0:n.separateDeep)};u.push(o)}function s(e){return u.find((t=>t.field===e))}u.forEach((e=>{const{column:t}=e,a=g(t);if(!a)return;if(!a.separateDeep||!a.separateBinder)return;const o=p(l(a.separateBinder).map(s));if(!o.length)return;const r=o.concat(e),n=Math.max(...r.map((e=>e.data.length)));c(n).forEach((e=>{const t=r.map((t=>{const a=t.data[e];return{item:a,data:t.data,length:d(a)?a.length:1}})),a=t.map((e=>e.length));if(1===m(a).length)return;const o=Math.max(...a);t.forEach((({item:t,data:a,length:r})=>{r!==o&&(d(t)?t.push(...x(o,r)):a[e]=c(o).map(((e,a)=>0===a?t:"")))}))}))})),u.forEach((e=>{e.data=f(e.data)})),c(C(u)).forEach(((r,n,i)=>{var l;const s=S(u,n),d={index:o,originalData:e,separateData:s,separateIndex:n,separateLength:i.length,isOriginRow:0===n,isLastRow:n===i.length-1};if(0===n)return e.$__SEPARATE_DATA=[s],e.$__SEPARATE_ROW_CACHE=e.$__SEPARATE_ROW_CACHE||[],e.$__uuid=t.uuid,void j(t.uuid,e,d);const p=null!=(l=e.$__SEPARATE_ROW_CACHE[n-1])?l:e.$__SEPARATE_ROW_CACHE[n-1]={$__SEPARATE:!0,$__uuid:t.uuid,$__ORIGIN_INDEX:o,$__SEPARATE_INDEX:n};j(t.uuid,p,d),e.$__SEPARATE_DATA.push(s),a(p)}))})),e.eventHooks.onResizableChange.tap(I,(async({column:e},t,a)=>{k(e)&&a.updateTableDataRef()})),e.configHooks.editConfig.tap(I,((e={},t)=>{const a=e.beforeEditMethod;return e.beforeEditMethod=(...e)=>{var o;if(!t.uuid)return c();const r=F.get(t.uuid);if(!r||!r.length)return c();const{row:n,column:i}=e[0],l=H(t.uuid,n);if(!l)return c();const s=null==(o=i.editRender)?void 0:o.props;if(!s||s.separateRowEdit)return c();const{isOriginRow:d,isLastRow:p}=l;return("bottom"===s.separatePlacement?p:d)&&c();function c(){return!u(a)||a(...e)}},e})),e.configHooks.checkboxConfig.tap(I,((e={},a)=>(e.checkMethod=t(e.checkMethod),e.visibleMethod=t(e.visibleMethod),e))),e.setupHooks.setup.tap(I,(e=>{n((()=>{e.value.uuid&&(F.delete(e.value.uuid),M(e.value.uuid))}))}))}})}export{I as separateRendererPlugins};
1
+ import{reactive as e,inject as t,createVNode as a,toRaw as r,h as o,onBeforeUnmount as n}from"vue";import{traverse as i,arrayed as u}from"../../../../../../../shared/utils/index.js";import{isFunction as l,isObject as s,isArray as d,compact as p,range as c,uniq as f,flatten as _}from"lodash-es";import{NInput as m}from"naive-ui";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as E,InjectionIhoTableUUID as A,InjectionIhoTableHandler as h}from"../../../../constants/index.js";import{useAutoFocus as v}from"../hooks/useAutoFocus.js";import{createIhoTableClearActivedInterceptor as R,getLowCodeFieldFromField as g,IhoTableRenderHelper as T,getRowHeight as D,getColumnRenderWidth as w,parseMergeField as b}from"../../../../utils/index.js";import P from"./editSeparate.vue.js";import{contentSeparate as $,getLengthDiffArray as x,getColumnInfoMaxLength as C,generateSeparateRowData as S,isSeparateColumn as k}from"./separateUtils.js";import{getSeparateInfo as H,setSeparateInfo as j,deleteSeparateInfo as M}from"../../../../utils/separateMap.js";import{defineTablePlugin as O}from"../../../../hooks/useTablePlugin.js";function F(){const F="separateRendererPlugins",I=e(new Map);return O({name:F,vxe(e){e.interceptor.add("event.clearActived",R(E.SEPARATE,(e=>e.classList.contains("v-binder-follower-content")))),e.renderer.add(E.SEPARATE,{renderCell(e,{column:r,row:o}){var n,i;const u=t(A),l=null!=(i=null==(n=H(u,o))?void 0:n.separateData)?i:{},s=g(r),d=(null==s?void 0:s.separateFormatter)?s.separateFormatter(l[r.field]):l[r.field];return a("section",{class:"iho-table__ellipsis",title:d},[d])},renderEdit:T.createRenderEdit((({fieldItem:e,column:n,row:i,emitFormClick:u})=>{var d,p;const c=t(A),f=H(c,i),_=D(),E={};let v=null!=(p=null==(d=e.componentProps)?void 0:d.separateSlot)?p:e.separateSlot;return v&&(v=r(v),E.menu=l(v)?v:s(v)?e=>o(v,e):void 0),e.separateRowEdit?function(){if(!f)return[];if(f.ihoTableHandler=t(h),f.separateData["__"+n.field]=f.separateData["__"+n.field]||f.separateData[n.field],E.menu){const e=E.menu;return a(e,{column:n,col:n,row:i,value:f.separateData["__"+n.field],"onUpdate:value":e=>f.separateData["__"+n.field]=e},null)}return a(m,{value:f.separateData["__"+n.field],"onUpdate:value":e=>f.separateData["__"+n.field]=e},null)}():function(){var t;const r=null==(t=null==f?void 0:f.separateData)?void 0:t[n.field],o=l(e.separateFormatter)?e.separateFormatter(r):r;return[a(P,{value:i[n.field],"onUpdate:value":e=>i[n.field]=e,"row-index":null==f?void 0:f.index,height:_,column:n,row:i,"display-content":o,onClick:u},E)]}()}))})},apply(e){function t(e){return(...t)=>{var a;return!(null==(a=t[0].row)?void 0:a.$__SEPARATE)&&(!l(e)||e(...t))}}v(e).bindAutoFocusConfig(F,E.SEPARATE,".iho-table__separateText"),e.eventHooks.onEditClosed.tap(F,(({row:e,column:t,$table:a},r,{emits:o})=>{if(!e.$__uuid)return;const n=g(t);if(!n||!n.separateRowEdit)return;const i=H(e.$__uuid,e);if(!i)return;const{separateData:u,originalData:l,ihoTableHandler:s,index:p}=i,{field:c}=t;if(u["__"+c]&&u["__"+c]!==u[c]&&d(l.$__SEPARATE_DATA)){const e=l.$__SEPARATE_DATA.map((e=>{var t;return null!=(t=e["__"+c])?t:e[c]})),r=l[c];l[c]=d(l[c])?e:e.join(""),o("formChange",{value:l[c],oldValue:r,row:l,column:t,index:p,$table:a}),null==s||s.updateTableDataRef()}})),e.fieldHooks.fieldList.tap(F,((e,{uuid:t})=>(t&&I.set(t,e.reduce(((e,t)=>(i(t,(t=>{k(t)&&(e.push(r(t)),t.showOverflow="ellipsis")})),e)),[])),e))),e.dataHooks.data.tapPromise(F,(async(e,t,{insertAfter:a,index:r,$table:o})=>{var n;if(!t.uuid)return;const i=I.get(t.uuid);if(!i||!i.length)return;const l=[];for(const t of i){if(!t.field)continue;const a=await w(t,e,r,o),i={field:t.field,column:t,data:$(b(e,t),t,a,null==(n=g(t))?void 0:n.separateDeep)};l.push(i)}function s(e){return l.find((t=>t.field===e))}l.forEach((e=>{const{column:t}=e,a=g(t);if(!a)return;if(!a.separateDeep||!a.separateBinder)return;const r=p(u(a.separateBinder).map(s));if(!r.length)return;const o=r.concat(e),n=Math.max(...o.map((e=>e.data.length)));c(n).forEach((e=>{const t=o.map((t=>({item:t.data[e],data:t.data}))),a=t.map((({item:e})=>n(e)));if(1===f(a).length)return;const r=Math.max(...a);function n(e){return d(e)?e.length:1}t.forEach((({item:t,data:a})=>{const o=n(t);o!==r&&(d(t)?t.push(...x(r,o)):a[e]=c(r).map(((e,a)=>0===a?t:"")))}))}))})),l.forEach((e=>{e.data=_(e.data)})),c(C(l)).forEach(((o,n,i)=>{var u;const s=S(l,n),d={index:r,originalData:e,separateData:s,separateIndex:n,separateLength:i.length,isOriginRow:0===n,isLastRow:n===i.length-1};if(0===n)return e.$__SEPARATE_DATA=[s],e.$__SEPARATE_ROW_CACHE=e.$__SEPARATE_ROW_CACHE||[],e.$__uuid=t.uuid,void j(t.uuid,e,d);const p=null!=(u=e.$__SEPARATE_ROW_CACHE[n-1])?u:e.$__SEPARATE_ROW_CACHE[n-1]={$__SEPARATE:!0,$__uuid:t.uuid,$__SEPARATE_INDEX:n};p.$__ORIGIN_INDEX=r,j(t.uuid,p,d),e.$__SEPARATE_DATA.push(s),a(p)}))})),e.eventHooks.onResizableChange.tap(F,(async({column:e},t,a)=>{k(e)&&a.updateTableDataRef()})),e.configHooks.editConfig.tap(F,((e={},t)=>{const a=e.beforeEditMethod;return e.beforeEditMethod=(...e)=>{var r;if(!t.uuid)return c();const o=I.get(t.uuid);if(!o||!o.length)return c();const{row:n,column:i}=e[0],u=H(t.uuid,n);if(!u)return c();const s=null==(r=i.editRender)?void 0:r.props;if(!s||s.separateRowEdit)return c();const{isOriginRow:d,isLastRow:p}=u;return("bottom"===s.separatePlacement?p:d)&&c();function c(){return!l(a)||a(...e)}},e})),e.configHooks.checkboxConfig.tap(F,((e={},a)=>(e.checkMethod=t(e.checkMethod),e.visibleMethod=t(e.visibleMethod),e))),e.setupHooks.setup.tap(F,(e=>{n((()=>{e.value.uuid&&(I.delete(e.value.uuid),M(e.value.uuid))}))}))}})}export{F as separateRendererPlugins};
@@ -1 +1 @@
1
- import{createVNode as e,mergeProps as o}from"vue";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as t}from"../../../../constants/index.js";import{useAutoFocus as r}from"../hooks/useAutoFocus.js";import{createIhoTableClearActivedInterceptor as n,IhoTableRenderHelper as i}from"../../../../utils/index.js";import d from"./editTime.vue.js";import{defineTablePlugin as l}from"../../../../hooks/useTablePlugin.js";function m(){const m="timeRendererPlugin";return l({name:m,vxe(r){r.interceptor.add("event.clearActived",n(t.TIME,(e=>e.classList.contains("n-popover")))),r.renderer.add(t.TIME,{renderCell:i.createDefaultRenderCell(),renderEdit:i.createRenderEdit((({fieldItem:t,emitFormClick:r,row:n,column:i,$rowIndex:l})=>[e(d,o({formattedValue:n[i.field],"onUpdate:formattedValue":e=>n[i.field]=e,column:i,row:n,"row-index":l},t.componentProps,{onClick:r}),null)]))})},apply(e){r(e).bindAutoFocusConfig(m,t.TIME,".n-input__input-el",{after:e=>(Reflect.set(e.editRender,"autoselect",!0),e)})}})}export{m as timeRendererPlugin};
1
+ import{createVNode as e,mergeProps as o}from"vue";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as t}from"../../../../constants/index.js";import{useAutoFocus as r}from"../hooks/useAutoFocus.js";import{createIhoTableClearActivedInterceptor as n,IhoTableRenderHelper as i}from"../../../../utils/index.js";import d from"./editTime.vue.js";import{defineTablePlugin as l}from"../../../../hooks/useTablePlugin.js";function m(){const m="timeRendererPlugin";return l({name:m,vxe(r){r.interceptor.add("event.clearActived",n(t.TIME,(e=>e.classList.contains("n-popover")))),r.renderer.add(t.TIME,{renderCell:i.createDefaultRenderCell(),renderEdit:i.createRenderEdit((({fieldItem:t,emitFormClick:r,row:n,column:i,$rowIndex:l})=>[e(d,o({formattedValue:n[i.field],"onUpdate:formattedValue":e=>n[i.field]=e,column:i,row:n,"row-index":l,valueFormat:t.valueFormat},t.componentProps,{onClick:r}),null)]))})},apply(e){r(e).bindAutoFocusConfig(m,t.TIME,".n-input__input-el",{after:e=>(Reflect.set(e.editRender,"autoselect",!0),e)})}})}export{m as timeRendererPlugin};
@@ -2,6 +2,7 @@ import { AnyObject, ArrayAble, BindEventSettingItem, FormOperationalConfig, Func
2
2
  import { VxeTableProps, VxeTableDefines, VxeTableInstance, VxeColumnPropTypes, VxeTablePropTypes, VxeTableConstructor } from 'vxe-table';
3
3
  import { VxePagerEventProps } from 'vxe-table/types/pager';
4
4
  import { VxeTableEventProps, VxeTableListeners, VxeTablePrivateMethods } from 'vxe-table/types/table';
5
+ import { AnnotationItem } from '../../../../../es/components/annotation-edit/src/type';
5
6
  import { IHO_TABLE_STRING_STATUS, IhoTableEventNameTuple, IhoTableRowGroupSequence } from '../../../../../es/components/iho-table/src/constants';
6
7
  import Sortable from 'sortablejs';
7
8
  export * from './pluginType';
@@ -128,6 +129,13 @@ export declare type LowCodeTableFieldItem = {
128
129
  separateDeep: boolean;
129
130
  separateBinder: ArrayAble<string>;
130
131
  separateRowEdit: boolean;
132
+ separatePlacement: 'bottom';
133
+ separateWidth: ((payload: {
134
+ column: VxeTableDefines.ColumnInfo;
135
+ row: AnyObject;
136
+ rowIndex: number;
137
+ $table: VxeTableInstance;
138
+ }) => number) | number;
131
139
  /**
132
140
  * 即将被废弃,请使用表格外层的beforeEditMethod属性
133
141
  * @deprecated
@@ -139,6 +147,7 @@ export declare type LowCodeTableFieldItem = {
139
147
  bindEventSetting: BindEventSettingItem[];
140
148
  allowSlash: boolean | string;
141
149
  whiteList: string[];
150
+ defaultValue: any;
142
151
  }> & Partial<VxeTableDefines.ColumnInfo>;
143
152
  export declare type IhoTableFormChangePayload = {
144
153
  column: IhoTableFieldItem;
@@ -182,3 +191,9 @@ export declare type IhoTableSeparateInfo = {
182
191
  separateLength: number;
183
192
  ihoTableHandler?: IhoTableHandler;
184
193
  };
194
+ export declare type IhoTableProps = Partial<{
195
+ tableConfig: IhoTableConfig;
196
+ fieldList: IhoTableFieldItem[];
197
+ tableData: AnyObject[];
198
+ annotation: Record<string, AnnotationItem>;
199
+ }>;
@@ -18,7 +18,7 @@ export declare function useUUIDMap<T>(creator: () => T, isReactive?: boolean): {
18
18
  setItemFromUUID: (uuid: string, value: T) => void;
19
19
  removeItemFromUUID: (uuid: string) => void;
20
20
  };
21
- export declare function getColumnRenderWidth(column: AnyObject, $table: MaybeRef<Nullable<VxeTableInstance>>): Promise<number>;
21
+ export declare function getColumnRenderWidth(column: AnyObject, row: AnyObject, rowIndex: number, $table: MaybeRef<Nullable<VxeTableInstance>>): Promise<number>;
22
22
  export declare function useIhoTableFormEvent(payloadRef: MaybeRef<Pick<VxeGlobalRendererHandles.RenderEditParams, 'row' | 'rowIndex' | 'column' | '$table'> & {
23
23
  $rowIndex?: number;
24
24
  }>): {
@@ -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,arrayed as u,findAncestor as l}from"../../../../shared/utils/index.js";import{promiseTimeout as a}from"@vueuse/shared";import{isNumber as c,isString as s,isObject as d,isArray as f}from"lodash-es";import{InjectionIhoTableConfig as m,InjectionIhoTableEmits as p,IHO_TABLE_STRING_STATUS as v,IHO_TABLE_NUMBER_STATUS as I,IHO_TABLE_TREE_TYPE as g,InjectionIhoTableUUID as E}from"../constants/index.js";import{getSeparateInfo as h}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function T(e){return console.warn(`[IhoTable]: ${e}`)}const C=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function R(){var e,t,r;const o=n(m);return o||T("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 S(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function w(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function O(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 P(e,n){return r()||await a(0),r()||function(){const n=+e.colWidth;return c(n)?n:64}();function r(){var r,o;return null==(o=null==(r=t(n))?void 0:r.getColumnByField(e.field))?void 0:o.renderWidth}}function F(e){const o=n(p);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 u(e={}){o("formChange",{...i(),...r(e)})}function l(e={}){o("formClick",{...i(),...r(e)})}return{emitFormChange:function(){u()},emitFormClick:function(){l()},emitFormChangeWithParams:u,emitFormClickWithParams:l}}function A(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(E),u=h(i,t);if(!u)return c(t[r.field]);const{originalData:l=t,isLastRow:a}=u;return c(a?l[r.field]:null);function c(e){return[o("span",{title:_(r,e)},[e])]}}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...F(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(y(e))return!0;let n=e.fieldSetting;return s(n)&&(n=i(n||"")),d(n)&&((t=n).notParticipatingSearch!==v.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}}),b=Object.freeze({isPositive:e=>e===I.POSITIVE||e===v.POSITIVE,isNegative:e=>e===I.NEGATIVE||e===v.NEGATIVE,notPositive:e=>e!==I.POSITIVE&&e!==v.POSITIVE,notNegative:e=>e!==I.NEGATIVE&&e!==v.NEGATIVE}),N=(e,n)=>({$event:t,column:r})=>{var o;if(!u(e).includes(null==(o=r.editRender)?void 0:o.name))return!0;const i=null==t?void 0:t.target;return!d(i)||!l(i,n)};function x(e){return[g.TRANSFORM_WITH_SPAN_METHOD,g.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function V(e){return s(e)&&!!e.match(/^###\{[^{}]+}$/)}function D(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function U(e,n){if(e.$__SEPARATE||!n.editRender||!n.editRender.props)return e[n.field];const{fieldSetting:t}=n.editRender.props;if(!s(t))return e[n.field];const{mergedFeildExpression:r}=i(t);return r&&s(r)?r.replace(/#{(.+?)}/g,(function(n,t){let r=t?e[t.trim()]:null;V(r)&&(r=D(r).change_text);return r||(null==r?"--":r)})):e[n.field]}const j=["SEARCH","SELECT","RADIO","CHECKBOX"];function y(e){return e.notParticipatingSearch===I.NEGATIVE&&j.includes(C.getCellType(e))&&f(e.options)&&e.options.length}function _(e,n=""){return"tooltip"===e.showOverflow?"":n}export{$ as IhoTableRenderHelper,b as IhoTableStatusHelper,C as IhoTableUtils,T as IhoTableWarn,N as createIhoTableClearActivedInterceptor,S as eventListener2EventName,w as eventName2EventListener,P as getColumnRenderWidth,A as getLowCodeFieldFromField,R as getRowHeight,_ as getTitle,y as isCompatibleColumn,V as isRichContent,x as isTransformTreeType,U as parseMergeField,D as parseRichContent,F as useIhoTableFormEvent,O as useUUIDMap};
1
+ import{reactive as e,inject as t,unref as n,toRaw as r,createVNode as o}from"vue";import{jsonParse as i,arrayed as u,findAncestor as l}from"../../../../shared/utils/index.js";import{promiseTimeout as a}from"@vueuse/shared";import{isNumber as c,isFunction as s,isString as d,isObject as f,isArray as p}from"lodash-es";import{InjectionIhoTableConfig as m,InjectionIhoTableEmits as v,IHO_TABLE_STRING_STATUS as I,IHO_TABLE_NUMBER_STATUS as g,IHO_TABLE_TREE_TYPE as h,InjectionIhoTableUUID as E}from"../constants/index.js";import{getSeparateInfo as T}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function w(e){return console.warn(`[IhoTable]: ${e}`)}const C=Object.freeze({getCellType(e){var t;return((null==(t=e.settingObj)?void 0:t.attr)||e.formType||"DEFAULT").toUpperCase()}});function R(){var e,n,r;const o=t(m);return o||w("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(n=null==(e=null==o?void 0:o.value)?void 0:e.rowConfig)?void 0:n.height)?r:32}function S(e){const t=e.slice(2);return`${t[0].toLowerCase()}${t.slice(1)}`}function O(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function P(t,n=!0){const r=n?e(new Map):new Map;return{getItemFromUUID:function(e){return r.set(e,r.get(e)||t()).get(e)},setItemFromUUID:function(e,t){r.set(e,t)},removeItemFromUUID:function(e){r.delete(e)}}}async function F(e,t,r,o){const i=u();return c(i)||await a(0),u()||function(){const t=+e.colWidth;return c(t)?t:64}();function u(){var i;const u=null==(i=n(o))?void 0:i.getColumnByField(e.field);if(!u)return;const l=$(u);return l?s(l.separateWidth)?l.separateWidth({column:u,row:t,rowIndex:r,$table:n(o)}):c(l.separateWidth)?l.separateWidth:u.renderWidth:u.renderWidth}}function A(e){const o=t(v);function i(){var t;const r=n(e);return{$table:r.$table,value:r.row[r.column.field],row:r.row,column:{...r.column,...null==(t=r.column.editRender)?void 0:t.props},index:r.rowIndex>-1?r.rowIndex:r.$rowIndex}}function u(e={}){o("formChange",{...i(),...r(e)})}function l(e={}){o("formClick",{...i(),...r(e)})}return{emitFormChange:function(){u()},emitFormClick:function(){l()},emitFormChangeWithParams:u,emitFormClickWithParams:l}}function $(e){var t;return null==(t=e.editRender)?void 0:t.props}const b=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:n,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(n[r.field]);const i=t(E),u=T(i,n);if(!u)return c(n[r.field]);const{originalData:l=n,isLastRow:a}=u;return c(a?l[r.field]:null);function c(e){return[o("span",{title:_(r,e)},[e])]}}},createRenderEdit:function(e){return function({props:t},n){return e({...n,fieldItem:t||{},...A(n)})}},isEditableColumn(e,t){var n;return!1!==(null==(n=e.editConfig)?void 0:n.showIcon)&&t.editRender&&!1!==t.editRender.enabled},hasFilter(e){if(y(e))return!0;let t=e.fieldSetting;return d(t)&&(t=i(t||"")),f(t)&&((n=t).notParticipatingSearch!==I.POSITIVE&&"manual"===(null==(r=n.mapping)?void 0:r.type));var n,r},hasDateFiler(e){var t;return null==(t=null==e?void 0:e.filterSetting)?void 0:t.daterange}}),x=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}),N=(e,t)=>({$event:n,column:r})=>{var o;if(!u(e).includes(null==(o=r.editRender)?void 0:o.name))return!0;const i=null==n?void 0:n.target;return!f(i)||!l(i,t)};function V(e){return[h.TRANSFORM_WITH_SPAN_METHOD,h.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function W(e){return d(e)&&!!e.match(/^###\{[^{}]+}$/)}function D(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function U(e,t){if(e.$__SEPARATE||!t.editRender||!t.editRender.props)return e[t.field];const{fieldSetting:n}=t.editRender.props;if(!d(n))return e[t.field];const{mergedFeildExpression:r}=i(n);return r&&d(r)?r.replace(/#{(.+?)}/g,(function(t,n){let r=n?e[n.trim()]:null;W(r)&&(r=D(r).change_text);return r||(null==r?"--":r)})):e[t.field]}const j=["SEARCH","SELECT","RADIO","CHECKBOX"];function y(e){return e.notParticipatingSearch===g.NEGATIVE&&j.includes(C.getCellType(e))&&p(e.options)&&e.options.length}function _(e,t=""){return"tooltip"===e.showOverflow?"":t}export{b as IhoTableRenderHelper,x as IhoTableStatusHelper,C as IhoTableUtils,w as IhoTableWarn,N as createIhoTableClearActivedInterceptor,S as eventListener2EventName,O as eventName2EventListener,F as getColumnRenderWidth,$ as getLowCodeFieldFromField,R as getRowHeight,_ as getTitle,y as isCompatibleColumn,W as isRichContent,V as isTransformTreeType,U as parseMergeField,D as parseRichContent,A as useIhoTableFormEvent,P as useUUIDMap};