cnhis-design-vue 3.2.1-release.2 → 3.2.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/es/components/button-print/src/utils/print.d.ts +1 -1
  2. package/es/components/button-print/src/utils/print.js +1 -1
  3. package/es/components/calendar/index.d.ts +1 -11
  4. package/es/components/calendar/src/Calendar.vue.d.ts +1 -11
  5. package/es/components/callback/src/components/render/popupMaps.d.ts +72 -70
  6. package/es/components/classification/src/components/table-modal/index.vue.d.ts +0 -3
  7. package/es/components/classification/src/index.vue.d.ts +0 -3
  8. package/es/components/default-page/index.d.ts +71 -0
  9. package/es/components/default-page/index.js +1 -0
  10. package/es/components/default-page/src/constants/index.d.ts +19 -0
  11. package/es/components/default-page/src/constants/index.js +1 -0
  12. package/es/components/default-page/src/index.vue.d.ts +72 -0
  13. package/es/components/default-page/src/index.vue.js +1 -0
  14. package/es/components/default-page/src/index.vue2.js +1 -0
  15. package/es/components/default-page/style/index.css +1 -0
  16. package/es/components/fabric-chart/src/hooks/surgicalAnesthesia/useTop.js +1 -1
  17. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  18. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  19. package/es/components/field-set/src/components/Row.vue.d.ts +1 -1
  20. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue2.js +1 -1
  21. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  22. package/es/components/iho-table/index.d.ts +72 -70
  23. package/es/components/iho-table/src/IhoTable.vue.d.ts +72 -70
  24. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  25. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +3 -1
  26. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  27. package/es/components/iho-table/src/hooks/tapHooks/useConfigHooks.d.ts +1 -0
  28. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +2 -1
  29. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.js +1 -1
  30. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/checkRendererPlugin.js +1 -1
  31. package/es/components/iho-table/src/plugins/verticalTablePlugin/index.js +1 -1
  32. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index.d.ts +112 -0
  33. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index.js +1 -0
  34. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useColumn2Data.d.ts +2 -0
  35. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useColumn2Data.js +1 -0
  36. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useCurrentColumn.d.ts +2 -0
  37. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useCurrentColumn.js +1 -0
  38. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useData2Column.d.ts +2 -0
  39. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useData2Column.js +1 -0
  40. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useEditCell.d.ts +2 -0
  41. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useEditCell.js +1 -0
  42. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useEventConvert.d.ts +2 -0
  43. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useEventConvert.js +1 -0
  44. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useExpose.d.ts +2 -0
  45. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useExpose.js +1 -0
  46. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHeaderCSS.d.ts +2 -0
  47. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHeaderCSS.js +1 -0
  48. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHoverColumn.d.ts +2 -0
  49. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useHoverColumn.js +1 -0
  50. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useTriggerRow.d.ts +2 -0
  51. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/hooks/useTriggerRow.js +1 -0
  52. package/es/components/iho-table/src/plugins/verticalTablePlugin/{renderer.d.ts → src/renderer.d.ts} +2 -1
  53. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/renderer.js +1 -0
  54. package/es/components/iho-table/src/plugins/verticalTablePlugin/{types.d.ts → src/types.d.ts} +3 -3
  55. package/es/components/iho-table/src/plugins/verticalTablePlugin/{utils.d.ts → src/utils.d.ts} +7 -6
  56. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -0
  57. package/es/components/iho-table/src/types/index.d.ts +33 -4
  58. package/es/components/iho-table/src/types/pluginType.d.ts +1 -0
  59. package/es/components/index.css +1 -1
  60. package/es/components/index.d.ts +4 -1
  61. package/es/components/index.js +1 -1
  62. package/es/components/step-notice/index.d.ts +301 -0
  63. package/es/components/step-notice/index.js +1 -0
  64. package/es/components/step-notice/src/StepNotice.vue.d.ts +279 -0
  65. package/es/components/step-notice/src/StepNotice.vue.js +1 -0
  66. package/es/components/step-notice/src/StepNotice.vue2.js +1 -0
  67. package/es/components/step-notice/src/components/NoticeConnection.vue.d.ts +39 -0
  68. package/es/components/step-notice/src/components/NoticeConnection.vue.js +1 -0
  69. package/es/components/step-notice/src/components/NoticeConnection.vue2.js +1 -0
  70. package/es/components/step-notice/src/components/NoticeItem.vue.d.ts +148 -0
  71. package/es/components/step-notice/src/components/NoticeItem.vue.js +1 -0
  72. package/es/components/step-notice/src/components/NoticeItem.vue2.js +1 -0
  73. package/es/components/step-notice/src/components/NoticeItemAside.vue.d.ts +35 -0
  74. package/es/components/step-notice/src/components/NoticeItemAside.vue.js +1 -0
  75. package/es/components/step-notice/src/components/NoticeItemAside.vue2.js +1 -0
  76. package/es/components/step-notice/src/components/NoticeOperationList.vue.d.ts +49 -0
  77. package/es/components/step-notice/src/components/NoticeOperationList.vue.js +1 -0
  78. package/es/components/step-notice/src/components/NoticeOperationList.vue2.js +1 -0
  79. package/es/components/step-notice/src/hooks/useTheme.d.ts +1 -0
  80. package/es/components/step-notice/src/hooks/useTheme.js +1 -0
  81. package/es/components/step-notice/src/types.d.ts +32 -0
  82. package/es/components/step-notice/src/types.js +1 -0
  83. package/es/components/step-notice/src/utils.d.ts +3 -0
  84. package/es/components/step-notice/src/utils.js +1 -0
  85. package/es/components/step-notice/style/index.css +1 -0
  86. package/es/env.d.ts +25 -25
  87. package/es/shared/assets/img/defaultCover/10reload.jpg.js +1 -0
  88. package/es/shared/assets/img/defaultCover/1tab.jpg.js +1 -0
  89. package/es/shared/assets/img/defaultCover/2menu.jpg.js +1 -0
  90. package/es/shared/assets/img/defaultCover/3view.jpg.js +1 -0
  91. package/es/shared/assets/img/defaultCover/4system.jpg.js +1 -0
  92. package/es/shared/assets/img/defaultCover/5location.jpg.js +1 -0
  93. package/es/shared/assets/img/defaultCover/6notfound.jpg.js +1 -0
  94. package/es/shared/assets/img/defaultCover/7loading.jpg.js +1 -0
  95. package/es/shared/assets/img/defaultCover/8nopermission.jpg.js +1 -0
  96. package/es/shared/assets/img/defaultCover/9nodata.jpg.js +1 -0
  97. package/es/shared/components/JSONTree/JSONTree.vue.d.ts +26 -0
  98. package/es/shared/components/JSONTree/JSONTree.vue.js +1 -0
  99. package/es/shared/components/JSONTree/JSONTree.vue2.js +1 -0
  100. package/es/shared/components/JSONTree/index.d.ts +2 -0
  101. package/es/shared/components/JSONTree/index.js +1 -0
  102. package/es/shared/package.json.js +1 -1
  103. package/package.json +2 -2
  104. package/es/components/iho-table/src/plugins/verticalTablePlugin/renderer.js +0 -1
  105. package/es/components/iho-table/src/plugins/verticalTablePlugin/utils.js +0 -1
  106. /package/es/components/iho-table/src/plugins/verticalTablePlugin/{constants.d.ts → src/constants.d.ts} +0 -0
  107. /package/es/components/iho-table/src/plugins/verticalTablePlugin/{constants.js → src/constants.js} +0 -0
  108. /package/es/components/iho-table/src/plugins/verticalTablePlugin/{types.js → src/types.js} +0 -0
@@ -1 +1 @@
1
- import{createVNode as e,defineComponent as o,inject as a}from"vue";import"../../../../index.js";import{NCheckbox as n}from"naive-ui";import{isNumber as t}from"lodash-es";import{defineTablePlugin as s}from"../../../hooks/useTablePlugin.js";function r(){const o="checkRendererPlugin";return s({name:o,apply(a){a.fieldHooks.field.tap(o,((a,{index:n,insertBefore:s},r)=>{if(0===n&&r.selectType&&["checkbox","radio"].includes(r.selectType)){const{radioConfig:a,checkboxConfig:n={}}=r,i={width:45,align:"center",fixed:"left",..."radio"===r.selectType?a:n,field:o,type:r.selectType,annotation:!1};n.disableHeader&&(i.slots={header:()=>e("span",{class:"checkbox-cell--disable"},null),...i.slots}),n.useNCheckbox&&(i.slots={...t(n.maxCheckSize)?{}:{header:o=>[e(l,{params:o},null)]},checkbox:o=>[e(l,{params:o},null)],...i.slots}),s(i)}return a}))}})}const l=o({name:"Checkbox",props:{params:{type:Object,default:()=>({})}},setup(o){const t=a("$xetable");function s(e,a){var n;a.stopPropagation(),"header"===(null==(n=o.params)?void 0:n.type)?null==t||t.triggerCheckAllEvent(new MouseEvent("mouse-down"),e):null==t||t.triggerCheckRowEvent(new MouseEvent("mouse-down"),o.params,e)}return()=>e(n,{checked:o.params.checked,"onUpdate:checked":e=>o.params.checked=e,indeterminate:o.params.indeterminate,disabled:o.params.disabled,onUpdateChecked:s},null)}});export{r as checkRendererPlugin};
1
+ import{createVNode as e,defineComponent as o,inject as n,computed as t}from"vue";import{isNumber as l,constant as a,isString as i}from"lodash-es";import"../../../../index.js";import{NCheckbox as d}from"naive-ui";import{defineTablePlugin as c}from"../../../hooks/useTablePlugin.js";function r(){const o="checkRendererPlugin";return c({name:o,apply(n){n.fieldHooks.field.tap(o,((n,{index:t,insertBefore:i},d)=>{if(0===t&&d.selectType&&["checkbox","radio"].includes(d.selectType)){const{radioConfig:n,checkboxConfig:t={}}=d,c={width:45,align:"center",fixed:"left",..."radio"===d.selectType?n:t,field:o,type:d.selectType,annotation:!1};t.disableHeader&&(c.slots={header:()=>e("span",{class:"checkbox-cell--disable"},null),...c.slots}),t.useNCheckbox&&(c.slots={checkbox:e=>s(e,t),header:l(t.maxCheckSize)?a([]):e=>s(e,t),...c.slots}),i(c)}return n}))}})}function s(o,n){return[e(p,{payload:o,checkboxConfig:n},null)]}const p=o({name:"IhoTableNCheckbox",props:{payload:{type:Object,default:()=>({})},checkboxConfig:{type:Object,default:()=>({})}},setup(o){const l=n("$xetable");function a(e,n){var t;n.stopPropagation(),"header"===(null==(t=o.payload)?void 0:t.type)?null==l||l.triggerCheckAllEvent(new MouseEvent("mouse-down"),e):null==l||l.triggerCheckRowEvent(new MouseEvent("mouse-down"),o.payload,e)}const c=t((()=>{var e,n;return i(null==(e=o.checkboxConfig)?void 0:e.indeterminateField)?null==(n=o.payload.row)?void 0:n[o.checkboxConfig.indeterminateField]:o.payload.indeterminate}));return()=>e(d,{checked:o.payload.checked,"onUpdate:checked":e=>o.payload.checked=e,indeterminate:c.value,disabled:o.payload.disabled,onUpdateChecked:a},null)}});export{r as checkRendererPlugin};
@@ -1 +1 @@
1
- import{getArrDepth as e}from"../../../../../shared/utils/index.js";import{useThrottleFn as t}from"@vueuse/core";import{promiseTimeout as o}from"@vueuse/shared";import{pick as n,isEmpty as r,isArray as i}from"lodash-es";import{inject as l,onBeforeUnmount as a,unref as d}from"vue";import"../../../index.js";import{InjectionIhoTableUUID as c,LOWEST_PRIORITY as u,WIDGET_TYPE as s}from"../../constants/index.js";import{useUUIDMap as f}from"../../utils/index.js";import{VERTICAL_CELL_TYPE as g}from"./constants.js";import{createCellRender as m}from"./renderer.js";import{isVerticalTable as p,isVerticalHeader as h,getSpanInfo as w,getVerticalInfoFromEvent as x,createVerticalFieldList as v,bindHeaderInfoAndFlatten as C,findFixedLeftFields as b,createDataProxy as D,createVerticalStateHandler as k,getOriginFieldFromRowData as y}from"./utils.js";import{defineTablePlugin as R}from"../../hooks/useTablePlugin.js";const I=["RADIO","SWITCH"];function j(){const j="verticalTablePlugin",{getItemFromUUID:T,removeItemFromUUID:H}=f((()=>({})));return R({name:j,vxe(e){e.renderer.add(g,{renderCell:m(e,T,"default"),renderEdit:m(e,T,"edit"),renderHeader(t,o){var n,r,i;const a=l(c),d=T(a),u=null==(n=d.fixedLeftVerticalData)?void 0:n[o.$rowIndex];if(!u)return null;const s=(null==(r=d.editCell)?void 0:r.rowIndex)===o.$rowIndex&&(null==(i=d.editCell)?void 0:i.column)===o.column;return m(e,T,s?"edit":"default")(null,{...o,row:u,rowIndex:o.$rowIndex,rowid:o.$rowIndex+"",fixed:o.column.fixed,isHidden:!o.column.visible,type:o.column.type})}})},apply(l){l.configHooks.config.tap({name:j,stage:u},(e=>{if(!e.uuid||!p(e))return e;const{uuid:i}=e,l=T(i);l.originalTableConfig=e,Reflect.set(window,"__state",l);const a=k(l);function d({column:e,type:t,$rowIndex:o}){if(h(e.field))return void(l.editCell=null);const n=a.getOriginDataByColumn(e);if(n){if(l.editCell="body"===t?null:{rowIndex:o,column:e},l.currentRow=a.getTableConfig("rowConfig.clickToCancel")&&l.currentRow===n?null:n,"row"===a.getTableConfig("checkboxConfig.trigger")){const e=a.getTableConfig("checkboxConfig.checkField")||"checked";n[e]=!n[e]}"row"===a.getTableConfig("radioConfig.trigger")&&(l.currentRow=n)}}function c({column:e,row:t}){const o={};if(t&&w(t,e).colspan>1&&Object.assign(o,{textAlign:"center"}),!h(e.field)){const n=a.getOriginDataByColumn(e);n===l.hoveringRow&&Object.assign(o,{backgroundColor:"var(--c-hover-color)"}),n===l.currentRow&&Object.assign(o,{backgroundColor:"var(--c-primary-color-opacity2)"}),t&&["checkbox","radio","seq"].includes(y(t).type||"")&&Object.assign(o,{textAlign:"center"})}return o}function u({column:e}){const t=h(e.field);return{"vxe-header--column":t,"vxe-table--header":t,[e.field]:!0}}return a.initClickEvent(i),{uuid:i,showHeader:!1,...n(e,["border","height","verticalConfig","showSeq","size","rowGroupSetting","keyboardConfig","selectType","columnConfig"]),cellClassName:u,headerRowStyle({$rowIndex:e}){const t={background:"white"};return r(l.fixedLeftVerticalData)||l.fixedLeftVerticalData.length!==e||(t.display="none"),t},headerCellStyle({column:e,$rowIndex:t}){const{fixedLeftVerticalData:o=[]}=l,n=c({column:e,row:o[t]});return e.colSpan>1&&(n.textAlign="center"),{textShadow:h(e.field)?"0 0 1px":"none",...n}},headerCellClassName:u,cellStyle:c,spanMethod:({row:e,column:t})=>w(e,t),editConfig:{...e.editConfig,showIcon:!1,beforeEditMethod({row:e,column:t}){var o;const{originalField:n={}}=e;if(h(t.field))return!1;const{editRender:{name:r=s.DEFAULT}={}}=n;return!Object.values(s).concat(I).includes(r)&&(!(null==(o=n.slots)?void 0:o.default)||!!n.slots.edit)}},onHeaderCellClick:d,onCellClick:d,onMousemove:t((e=>{var t,o;const n=x(e);if(!n||"body"!==n.type)return l.hoveringRow=null;l.hoveringRow=null!=(o=null==(t=l.originalData)?void 0:t[n.sequence])?o:null}),100),async onMouseleave(){await o(101),l.hoveringRow=null},async onScroll(){await o(101),l.hoveringRow=null}}})),l.fieldHooks.fieldList.tap({name:j,stage:u},((t,o,{globProps:n})=>{const{uuid:r}=o;if(!r||!p(o))return t;const l=T(r);if(!l)return t;if(l.originalFieldList=t,!i(n.tableData))return[];let a=v(n.tableData,l.headerDepth=e(t),l);l.fullVerticalOriginData=C(t,l.headerDepth);const d=b(t);return d.length&&(o.showHeader=!0,d.forEach((e=>{let t=[];a=a.reduce(((o,n)=>{if(h(n.field)){if(0===e[n.field.replaceAll("_parent","")+"_colspan"])return t.push(n),o}return o.push({field:n.field+"_parent",fixed:n.fixed,editRender:n.editRender,children:[...t,n]}),t=[],o}),[])}))),l.verticalFieldList=a})),l.dataHooks.dataList.tap({name:j,stage:u},((e,t)=>{const{uuid:o}=t;if(!o||!p(t))return e;const n=T(o);if(!n)return e;n.originalData=e;const{fullVerticalOriginData:r=[]}=n;return n.fixedLeftVerticalData=r.filter((e=>"left"===e.fixed)).map((e=>D(e,(()=>n.originalData||[])))),n.verticalData=r.filter((e=>"left"!==e.fixed)).map((e=>D(e,(()=>n.originalData||[]))))})),l.setupHooks.setup.tap(j,(e=>{a((()=>{const{uuid:t}=d(e)||{};t&&(k(T(t)).removeClickEvent(),H(t))}))})),l.exposeHooks.expose.tap(j,((e,t,o)=>Object.assign(e,{verticalTable:{update(){t.value.uuid&&(o.updateConfigRef(),o.updateFieldListRef(),o.updateTableDataRef())}}})))}})}export{j as verticalTablePlugin};
1
+ import{pick as e}from"lodash-es";import{onBeforeUnmount as r,unref as o}from"vue";import"../../../index.js";import{LOWEST_PRIORITY as l}from"../../constants/index.js";import{createVerticalTableHooks as t,usePresetVerticalPlugins as n}from"./src/hooks/index.js";import{useUUIDMap as i}from"../../utils/index.js";import{VERTICAL_CELL_TYPE as s}from"./src/constants.js";import{createCellRender as a,createHeaderCellRender as c}from"./src/renderer.js";import{isVerticalTable as d,getSpanInfo as u}from"./src/utils.js";import{defineTablePlugin as m}from"../../hooks/useTablePlugin.js";function f(){const f="verticalTablePlugin",{getItemFromUUID:p,removeItemFromUUID:C}=i((()=>({})));return m({name:f,vxe(e){e.renderer.add(s,{renderCell:a(e,p,"default"),renderEdit:a(e,p,"edit"),renderHeader:c(e,p)})},apply(i){const s=t();n(s,i,p),i.configHooks.config.tap({name:f,stage:l},(r=>{if(!r.uuid||!d(r))return r;const o=p(r.uuid);function l(e){s.onCellClick.call(e,o)}function t(e){var r;return e.row||null==e.$rowIndex||(e.row=null==(r=o.fixedLeftVerticalData)?void 0:r[e.$rowIndex]),s.cellStyle.call({},e,o)}function n(e){return s.cellClassName.call({},e,o)}o.originalTableConfig=r;const i={...e(r,["uuid","border","height","verticalConfig","showSeq","size","rowGroupSetting","keyboardConfig","selectType","editConfig"]),cellClassName:n,headerCellClassName:n,cellStyle:t,headerCellStyle:t,headerRowStyle:e=>s.headerRowStyle.call({background:"white"},e,o),spanMethod:u,onCellClick:l,onHeaderCellClick:l};return s.config.call(i,o)})),i.setupHooks.setup.tap(f,(e=>{r((()=>C(o(e).uuid)))}))}})}export{f as verticalTablePlugin};
@@ -0,0 +1,112 @@
1
+ import { AnyObject } from '../../../../../../../shared/types';
2
+ import { SyncHook, SyncWaterfallHook } from '../../../../../../../shared/utils/tapable';
3
+ import { CSSProperties } from 'vue';
4
+ import { VxeTableDefines } from 'vxe-table';
5
+ import { VxeColumnPropTypes } from 'vxe-table/types/column';
6
+ import { VxeTableConstructor, VxeTablePrivateMethods } from 'vxe-table/types/table';
7
+ import { IhoTableConfig, TableHooks } from '../../../../../../../components/iho-table';
8
+ import { IhoTableVerticalState } from '../types';
9
+ export declare const createVerticalTableHooks: () => {
10
+ onCellClick: SyncHook<[{
11
+ $rowIndex: number;
12
+ row?: AnyObject | undefined;
13
+ $columnIndex: number;
14
+ column: VxeTableDefines.ColumnInfo;
15
+ }, Partial<{
16
+ originalTableConfig: IhoTableConfig;
17
+ originalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
18
+ originalData: AnyObject[];
19
+ verticalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
20
+ fullVerticalOriginData: AnyObject[];
21
+ verticalData: AnyObject[];
22
+ fixedLeftVerticalData: AnyObject[];
23
+ headerDepth: number;
24
+ currentRow: AnyObject | null;
25
+ editCell: {
26
+ row: AnyObject;
27
+ column: import("../../../../../../../components/iho-table").IhoTableFieldItem;
28
+ } | null;
29
+ editStateEvent: (event: MouseEvent) => void;
30
+ hoveringRow: AnyObject | null;
31
+ }>], void, import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
32
+ cellStyle: SyncWaterfallHook<[CSSProperties, {
33
+ column: VxeTableDefines.ColumnInfo;
34
+ row?: AnyObject | undefined;
35
+ }, Partial<{
36
+ originalTableConfig: IhoTableConfig;
37
+ originalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
38
+ originalData: AnyObject[];
39
+ verticalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
40
+ fullVerticalOriginData: AnyObject[];
41
+ verticalData: AnyObject[];
42
+ fixedLeftVerticalData: AnyObject[];
43
+ headerDepth: number;
44
+ currentRow: AnyObject | null;
45
+ editCell: {
46
+ row: AnyObject;
47
+ column: import("../../../../../../../components/iho-table").IhoTableFieldItem;
48
+ } | null;
49
+ editStateEvent: (event: MouseEvent) => void;
50
+ hoveringRow: AnyObject | null;
51
+ }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
52
+ cellClassName: SyncWaterfallHook<[Record<string, boolean>, {
53
+ column: VxeTableDefines.ColumnInfo;
54
+ }, Partial<{
55
+ originalTableConfig: IhoTableConfig;
56
+ originalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
57
+ originalData: AnyObject[];
58
+ verticalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
59
+ fullVerticalOriginData: AnyObject[];
60
+ verticalData: AnyObject[];
61
+ fixedLeftVerticalData: AnyObject[];
62
+ headerDepth: number;
63
+ currentRow: AnyObject | null;
64
+ editCell: {
65
+ row: AnyObject;
66
+ column: import("../../../../../../../components/iho-table").IhoTableFieldItem;
67
+ } | null;
68
+ editStateEvent: (event: MouseEvent) => void;
69
+ hoveringRow: AnyObject | null;
70
+ }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
71
+ config: SyncWaterfallHook<[IhoTableConfig, Partial<{
72
+ originalTableConfig: IhoTableConfig;
73
+ originalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
74
+ originalData: AnyObject[];
75
+ verticalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
76
+ fullVerticalOriginData: AnyObject[];
77
+ verticalData: AnyObject[];
78
+ fixedLeftVerticalData: AnyObject[];
79
+ headerDepth: number;
80
+ currentRow: AnyObject | null;
81
+ editCell: {
82
+ row: AnyObject;
83
+ column: import("../../../../../../../components/iho-table").IhoTableFieldItem;
84
+ } | null;
85
+ editStateEvent: (event: MouseEvent) => void;
86
+ hoveringRow: AnyObject | null;
87
+ }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
88
+ headerRowStyle: SyncWaterfallHook<[CSSProperties, {
89
+ $table: VxeTableConstructor & VxeTablePrivateMethods;
90
+ $rowIndex: number;
91
+ fixed: VxeColumnPropTypes.Fixed;
92
+ type: string;
93
+ }, Partial<{
94
+ originalTableConfig: IhoTableConfig;
95
+ originalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
96
+ originalData: AnyObject[];
97
+ verticalFieldList: import("../../../../../../../components/iho-table").IhoTableFieldItem[];
98
+ fullVerticalOriginData: AnyObject[];
99
+ verticalData: AnyObject[];
100
+ fixedLeftVerticalData: AnyObject[];
101
+ headerDepth: number;
102
+ currentRow: AnyObject | null;
103
+ editCell: {
104
+ row: AnyObject;
105
+ column: import("../../../../../../../components/iho-table").IhoTableFieldItem;
106
+ } | null;
107
+ editStateEvent: (event: MouseEvent) => void;
108
+ hoveringRow: AnyObject | null;
109
+ }>], import("../../../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
110
+ };
111
+ export declare const usePresetVerticalPlugins: VerticalTablePlugin;
112
+ export declare type VerticalTablePlugin = (verticalTableHooks: ReturnType<typeof createVerticalTableHooks>, tableHooks: TableHooks, getVerticalState: (uuid: string) => IhoTableVerticalState) => void;
@@ -0,0 +1 @@
1
+ import e from"../../../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../../../shared/utils/tapable/SyncBailHook.js";import o from"../../../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{useExpose as s}from"./useExpose.js";import{useColumn2Data as a}from"./useColumn2Data.js";import{useCurrentColumn as t}from"./useCurrentColumn.js";import{useData2Column as r}from"./useData2Column.js";import{useEditCell as l}from"./useEditCell.js";import{useEventConvert as i}from"./useEventConvert.js";import{useHeaderCSS as p}from"./useHeaderCSS.js";import{useHoverColumn as m}from"./useHoverColumn.js";import{useTriggerRow as n}from"./useTriggerRow.js";const u=()=>({onCellClick:new e(["payload","verticalState"]),cellStyle:new o(["styles","payload","verticalState"]),cellClassName:new o(["classes","payload","verticalState"]),config:new o(["config","verticalState"]),headerRowStyle:new o(["styles","payload","verticalState"])}),c=(e,o,u)=>{t(e,o,u),l(e,o,u),m(e,o,u),p(e),n(e),i(e,o,u),r(e,o,u),a(e,o,u),s(e,o)};export{u as createVerticalTableHooks,c as usePresetVerticalPlugins};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from '../../../../../../../components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index';
2
+ export declare const useColumn2Data: VerticalTablePlugin;
@@ -0,0 +1 @@
1
+ import{isEmpty as t}from"lodash-es";import{LOWEST_PRIORITY as a}from"../../../../constants/index.js";import{isVerticalTable as e,createDataProxy as i}from"../utils.js";const r=(r,o,l)=>{r.headerRowStyle.tap("useData2Column",((a,e,i)=>(t(i.fixedLeftVerticalData)||i.fixedLeftVerticalData.length!==e.$rowIndex||(a.display="none"),a))),o.dataHooks.dataList.tap({name:"Vertical--useData2Column",stage:a},((t,a)=>{const{uuid:r}=a;if(!r||!e(a))return t;const o=l(r);if(!o)return t;o.originalData=t;const{fullVerticalOriginData:n=[]}=o;return o.fixedLeftVerticalData=n.filter((t=>"left"===t.fixed)).map((t=>i(t,(()=>o.originalData||[])))),o.verticalData=n.filter((t=>"left"!==t.fixed)).map((t=>i(t,(()=>o.originalData||[]))))}))};export{r as useColumn2Data};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from '../../../../../../../components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index';
2
+ export declare const useCurrentColumn: VerticalTablePlugin;
@@ -0,0 +1 @@
1
+ import{unref as r}from"vue";import{isVerticalHeader as e,createVerticalStateHandler as o}from"../utils.js";const n=(n,t,l)=>{n.onCellClick.tap("useCurrentColumn",(({row:r},e)=>{if(!r)return;const n=o(e);n.getTableConfig("rowConfig.isCurrent")&&(e.currentRow=!1!==n.getTableConfig("rowConfig.clickToCancel")&&e.currentRow===r?null:r)})),n.cellStyle.tap("useCurrentColumn",((r,{column:n},t)=>{if(e(n.field))return r;const l=o(t);if(!l.getTableConfig("rowConfig.isCurrent"))return r;return l.getOriginDataByColumn(n)!==t.currentRow?r:Object.assign(r,{backgroundColor:"var(--c-primary-color-opacity2)"})})),t.exposeHooks.expose.tap("VerticalTable-useCurrentColumn",((e,o)=>Object.assign(e,{verticalTable:{...e.verticalTable,getCurrentRow:()=>{var e;const n=null==(e=r(o))?void 0:e.uuid;return n?l(n).currentRow:null}}})))};export{n as useCurrentColumn};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from '../../../../../../../components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index';
2
+ export declare const useData2Column: VerticalTablePlugin;
@@ -0,0 +1 @@
1
+ import{getArrDepth as e}from"../../../../../../../shared/utils/index.js";import{isArray as t}from"lodash-es";import{LOWEST_PRIORITY as r}from"../../../../constants/index.js";import{isVerticalTable as i,createVerticalFieldList as l,bindHeaderInfoAndFlatten as a,findFixedLeftFields as n,isVerticalHeader as s}from"../utils.js";const d=(d,o,f)=>{o.fieldHooks.fieldList.tap({name:"Vertical--useColumn2Data",stage:r},((r,d,{globProps:o})=>{const{uuid:u}=d;if(!u||!i(d))return r;const p=f(u);if(!p)return r;if(p.originalFieldList=r,!t(o.tableData))return[];let c=l(o.tableData,p.headerDepth=e(r),p);p.fullVerticalOriginData=a(r,p.headerDepth);const h=n(r);return d.showHeader=!!h.length,h.length&&h.forEach((e=>{let t=[];c=c.reduce(((r,i)=>{if(s(i.field)){if(0===e[i.field.replaceAll("_parent","")+"_colspan"])return t.push(i),r}return r.push({field:i.field+"_parent",fixed:i.fixed,editRender:i.editRender,children:[...t,i]}),t=[],r}),[])})),p.verticalFieldList=c}))};export{d as useData2Column};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from '../../../../../../../components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index';
2
+ export declare const useEditCell: VerticalTablePlugin;
@@ -0,0 +1 @@
1
+ import{findAncestor as t}from"../../../../../../../shared/utils/index.js";import{onBeforeUnmount as e,unref as i}from"vue";import{WIDGET_TYPE as n}from"../../../../constants/index.js";import{isVerticalHeader as l}from"../utils.js";const o=["RADIO","SWITCH"],d=(d,r,u)=>{d.onCellClick.tap("useEditCell",(({column:t,row:e,$columnIndex:i},n)=>{var l,o;n.editCell=e&&i<=(null!=(o=null==(l=n.fixedLeftVerticalData)?void 0:l.length)?o:0)?{row:e,column:t}:null})),d.config.tap("useEditCell",((e,i)=>(e.uuid&&(i.editStateEvent&&window.removeEventListener("click",i.editStateEvent,{capture:!0}),i.editStateEvent=n=>{t(n.target,(t=>t.getAttribute("uuid")===e.uuid||t.classList.contains("vxe-table--ignore-clear")))||(i.editCell=null)},window.addEventListener("click",i.editStateEvent,{capture:!0})),e.editConfig={...e.editConfig,showIcon:!1,beforeEditMethod({row:t,column:e}){var i;const{originalField:d={}}=t;if(l(e.field))return!1;const{editRender:{name:r=n.DEFAULT}={}}=d;return!Object.values(n).concat(o).includes(r)&&(!(null==(i=d.slots)?void 0:i.default)||!!d.slots.edit)}},e))),r.setupHooks.setup.tap("Vertical-UseEditCell",(t=>{e((()=>{const{uuid:e}=i(t)||{};if(!e)return;const n=u(e);n.editStateEvent&&window.removeEventListener("click",n.editStateEvent,{capture:!0})}))}))};export{d as useEditCell};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from '../../../../../../../components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index';
2
+ export declare const useEventConvert: VerticalTablePlugin;
@@ -0,0 +1 @@
1
+ import{isObject as e}from"lodash-es";import{unref as o}from"vue";import{isVerticalTable as n,isVerticalHeader as r,getHeaderDepthByField as t,getOriginFieldFromRowData as d,getOriginRowFromRowData as l}from"../utils.js";const u=(u,c,m)=>{c.eventHooks.beforeEvent.tap("Vertical--useEventConvert",((u,c)=>{var i;if(!e(u))return u;const x=null==(i=o(c))?void 0:i.uuid;if(!x||!n(c))return u;const I=u,{$table:a,$event:s,cell:v}=I;let{$columnIndex:f,$rowIndex:p,column:w,columnIndex:$,row:h,rowIndex:b,type:_,_rowIndex:y,_columnIndex:E}=I;if(w&&(_=r(w.field)?"header":"body",h)){const e=t(w.field);w=d(h),h="header"===_?void 0:l(h,e),E=$=f=(m(x).headerDepth||0)+(y||0),y=b=p="header"===_?-1:e}return{$table:a,$event:s,cell:v,type:_,row:h,column:w,rowIndex:b,columnIndex:$,$rowIndex:p,$columnIndex:f,_rowIndex:y,_columnIndex:E}}))};export{u as useEventConvert};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from '../../../../../../../components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index';
2
+ export declare const useExpose: VerticalTablePlugin;
@@ -0,0 +1 @@
1
+ const e=(e,a)=>{a.exposeHooks.expose.tap("Vertical--useExpose",((e,a,t)=>Object.assign(e,{verticalTable:{...e.verticalTable,update(){a.value.uuid&&(t.updateConfigRef(),t.updateFieldListRef(),t.updateTableDataRef())}}})))};export{e as useExpose};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from './index';
2
+ export declare const useHeaderCSS: VerticalTablePlugin;
@@ -0,0 +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};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from './index';
2
+ export declare const useHoverColumn: VerticalTablePlugin;
@@ -0,0 +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};
@@ -0,0 +1,2 @@
1
+ import { VerticalTablePlugin } from '../../../../../../../components/iho-table/src/plugins/verticalTablePlugin/src/hooks/index';
2
+ export declare const useTriggerRow: VerticalTablePlugin;
@@ -0,0 +1 @@
1
+ import{createVerticalStateHandler as o}from"../utils.js";const e=e=>{e.onCellClick.tap("useTriggerRow",(({row:e},r)=>{if(!e)return;const i=o(r);if("row"===i.getTableConfig("checkboxConfig.trigger")){const o=i.getTableConfig("checkboxConfig.checkField")||"checked";e[o]=!e[o]}"row"===i.getTableConfig("radioConfig.trigger")&&(r.currentRow=e)}))};export{e as useTriggerRow};
@@ -1,5 +1,6 @@
1
1
  import { VxeGlobalRendererHandles } from 'vxe-table/types/v-x-e-table/renderer';
2
- import { IhoTableInstance } from '../../../../../components/iho-table';
2
+ import { IhoTableInstance } from '../../../../../../components/iho-table';
3
3
  import { IhoTableVerticalState } from './types';
4
4
  export declare const VerticalRenderMap: Record<string, (payload: VxeGlobalRendererHandles.RenderCellParams, verticalState: IhoTableVerticalState) => any>;
5
5
  export declare function createCellRender(instance: IhoTableInstance, verticalStateGetter: (uuid: string) => IhoTableVerticalState, type: 'edit' | 'default'): (_: unknown, payload: VxeGlobalRendererHandles.RenderCellParams) => any;
6
+ export declare function createHeaderCellRender(instance: IhoTableInstance, verticalStateGetter: (uuid: string) => IhoTableVerticalState): (_: unknown, payload: VxeGlobalRendererHandles.RenderHeaderParams) => any;
@@ -0,0 +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,5 +1,5 @@
1
- import { AnyObject } from '../../../../../shared/types';
2
- import { IhoTableConfig, IhoTableFieldItem } from '../../../../../components/iho-table';
1
+ import { AnyObject } from '../../../../../../shared/types';
2
+ import { IhoTableConfig, IhoTableFieldItem } from '../../../../../../components/iho-table';
3
3
  export declare type IhoTableVerticalState = Partial<{
4
4
  originalTableConfig: IhoTableConfig;
5
5
  originalFieldList: IhoTableFieldItem[];
@@ -11,7 +11,7 @@ export declare type IhoTableVerticalState = Partial<{
11
11
  headerDepth: number;
12
12
  currentRow: AnyObject | null;
13
13
  editCell: {
14
- rowIndex: number;
14
+ row: AnyObject;
15
15
  column: IhoTableFieldItem;
16
16
  } | null;
17
17
  editStateEvent: (event: MouseEvent) => void;
@@ -1,13 +1,16 @@
1
- import { AnyObject } from '../../../../../shared/types';
1
+ import { AnyObject } from '../../../../../../shared/types';
2
2
  import { VxeTableDefines } from 'vxe-table';
3
- import { IhoTableConfig, IhoTableFieldItem } from '../../../../../components/iho-table';
4
- import { IhoTableVerticalState } from '../../../../../components/iho-table/src/plugins/verticalTablePlugin/types';
3
+ import { IhoTableConfig, IhoTableFieldItem } from '../../../../../../components/iho-table';
4
+ import { IhoTableVerticalState } from './types';
5
5
  export declare function isVerticalTable(tableConfig: IhoTableConfig): boolean;
6
6
  export declare function isVerticalHeader(field?: string): boolean;
7
7
  export declare function isVerticalBody(field?: string): boolean;
8
8
  export declare function getHeaderDepthByField(field?: string): number;
9
9
  export declare function bindHeaderInfoAndFlatten(fieldList: IhoTableFieldItem[], depth: number): IhoTableFieldItem[];
10
- export declare function getSpanInfo(row: AnyObject, column: VxeTableDefines.ColumnInfo): {
10
+ export declare function getSpanInfo({ row, column }: {
11
+ row: AnyObject;
12
+ column: VxeTableDefines.ColumnInfo;
13
+ }): {
11
14
  rowspan: any;
12
15
  colspan: any;
13
16
  };
@@ -30,7 +33,5 @@ export declare function findFixedLeftFields(fieldList: IhoTableFieldItem[]): Iho
30
33
  export declare function createVerticalStateHandler(verticalState: IhoTableVerticalState): {
31
34
  readonly getOriginDataByColumn: (column: VxeTableDefines.ColumnInfo) => AnyObject;
32
35
  readonly getTableConfig: (path: string) => any;
33
- readonly initClickEvent: (uuid: string) => void;
34
- readonly removeClickEvent: () => void;
35
36
  };
36
37
  export declare function createDataProxy(originalField: IhoTableFieldItem, dataList: AnyObject[] | (() => AnyObject[])): {};
@@ -0,0 +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};
@@ -14,8 +14,6 @@ export interface IhoTableRowGroupItem {
14
14
  list: string[];
15
15
  }
16
16
  export declare type IhoTableConfig = VxeTableProps & Partial<{
17
- [K in EventNameToEventListener<typeof IhoTableEventNameTuple[number]>]: (...payload: IhoTableEmitPayload<EventListenerToEventName<K>>) => void;
18
- }> & Partial<{
19
17
  uuid: string;
20
18
  isTree: MaybeString<0 | 1 | 2 | 3>;
21
19
  isBatchSelect: MaybeString<0 | 1>;
@@ -44,31 +42,59 @@ export declare type IhoTableConfig = VxeTableProps & Partial<{
44
42
  operationalForm: LowCodeTypes.operationalConfig[];
45
43
  operationForm: LowCodeTypes.operationalConfig[];
46
44
  dateOperationalForm: LowCodeTypes.dateOperationalConfig[];
45
+ /**
46
+ * @desc 在checkboxConfig作拓展
47
+ * @property slots - 用于配置checkbox列插槽 { default,edit,header,filter... }
48
+ * @property maxCheckSize - 多选时的最大选择数量
49
+ * @property disableHeader - 是否禁用表头的全选功能
50
+ * @property useNCheckbox - 是否使用n-checkbox组件
51
+ * @property indeterminateField - 用于配置checkbox列的半选状态字段
52
+ */
47
53
  checkboxConfig: Partial<VxeTableProps['checkboxConfig'] & {
48
54
  slots: VxeColumnPropTypes.Slots;
49
55
  maxCheckSize: number;
50
56
  disableHeader: boolean;
51
57
  useNCheckbox: boolean;
58
+ indeterminateField: string;
52
59
  }>;
60
+ /**
61
+ * @desc 在rowConfig作拓展
62
+ * @property clickToCancel - 是否允许点击行后取消其高亮状态
63
+ */
53
64
  rowConfig: Partial<VxeTableProps['rowConfig'] & {
54
65
  clickToCancel: boolean;
55
66
  }>;
67
+ /**
68
+ * @desc 在keyboardConfig作拓展
69
+ * @property forceArrowKey - 是否强制使用上下左右键进行导航(即使已经处于编辑状态)
70
+ */
56
71
  keyboardConfig: Partial<VxeTableProps['keyboardConfig'] & {
57
72
  forceArrowKey: boolean;
58
73
  }>;
74
+ /**
75
+ * @desc 在radioConfig作拓展
76
+ * @property slots - 用于配置radio列插槽 { default,edit,header,filter... }
77
+ */
59
78
  radioConfig: Partial<VxeTableProps['radioConfig'] & {
60
79
  slots: VxeColumnPropTypes.Slots;
61
80
  }>;
62
81
  /**
63
82
  * @desc 竖向表格相关配置
64
- * @property {boolean} enable - 是否开启竖向表格
65
- * @property {number | 'auto' | ((level: number) => number)} headerWidth - 表头宽度
83
+ * @property enable - 是否开启竖向表格
84
+ * @property headerWidth - 表头宽度
66
85
  */
67
86
  verticalConfig: {
68
87
  enable?: boolean;
69
88
  headerWidth?: number | 'auto' | ((level: number) => number);
70
89
  };
71
90
  [K: string]: unknown;
91
+ }> &
92
+ /**
93
+ * 允许在配置中使用on开头属性监听vxe-table中的所有事件(含iho-table中的拓展事件),如 onKeydown(){ ... }、onFormChange(){ ... } 等等
94
+ * 不推荐使用,请在表格外层设置监听器
95
+ */
96
+ Partial<{
97
+ [K in EventNameToEventListener<typeof IhoTableEventNameTuple[number]>]: (...payload: IhoTableEmitPayload<EventListenerToEventName<K>>) => void;
72
98
  }>;
73
99
  export declare type IhoTableFieldItem = {
74
100
  [K in keyof VxeTableDefines.ColumnInfo]?: K extends 'children' ? IhoTableFieldItem[] : K extends keyof VxeTableDefines.ColumnInfo ? VxeTableDefines.ColumnInfo[K] : never;
@@ -214,6 +240,9 @@ export declare type IhoTableExpose = {
214
240
  setSort(field: string, value: 'asc' | 'desc' | null): void;
215
241
  setFilter(field: string, value: ArrayAble<string>): void;
216
242
  reload(): Promise<void>;
243
+ verticalTable: {
244
+ update: () => void;
245
+ };
217
246
  };
218
247
  export declare type IhoTableSeparateInfo = {
219
248
  index: number;
@@ -76,6 +76,7 @@ declare type VxeEventTypes = Required<{
76
76
  readonly [K in keyof IhoTableEventTypes]: EventHookType<NonNullable<IhoTableEventTypes[K]>>;
77
77
  }>;
78
78
  export declare abstract class AbstractEventHooks implements VxeEventTypes {
79
+ abstract readonly beforeEvent: SyncWaterfallHook<[...WithIhoEventContext<[any]>, string]>;
79
80
  abstract readonly onKeydownStart: EventHookType<VxeTableEvents.KeydownStart>;
80
81
  abstract readonly onKeydown: EventHookType<VxeTableEvents.Keydown>;
81
82
  abstract readonly onKeydownEnd: EventHookType<VxeTableEvents.KeydownEnd>;