@visactor/vtable 0.9.1 → 0.9.2-alpha.0

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 (167) hide show
  1. package/cjs/core/BaseTable.d.ts +1 -1
  2. package/cjs/core/BaseTable.js +10 -8
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/event/event.js +1 -1
  5. package/cjs/event/event.js.map +1 -1
  6. package/cjs/index.d.ts +1 -1
  7. package/cjs/index.js +1 -1
  8. package/cjs/index.js.map +1 -1
  9. package/cjs/layout/pivot-header-layout.d.ts +2 -0
  10. package/cjs/layout/pivot-header-layout.js +26 -0
  11. package/cjs/layout/pivot-header-layout.js.map +1 -1
  12. package/cjs/layout/pivot-layout.d.ts +2 -0
  13. package/cjs/layout/pivot-layout.js +26 -0
  14. package/cjs/layout/pivot-layout.js.map +1 -1
  15. package/cjs/layout/simple-header-layout.d.ts +2 -0
  16. package/cjs/layout/simple-header-layout.js +6 -0
  17. package/cjs/layout/simple-header-layout.js.map +1 -1
  18. package/cjs/render/layout/container.js +13 -0
  19. package/cjs/render/layout/container.js.map +1 -1
  20. package/cjs/scenegraph/graphic/text.js +5 -5
  21. package/cjs/scenegraph/graphic/text.js.map +1 -1
  22. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -1
  23. package/cjs/scenegraph/group-creater/cell-helper.js +14 -10
  24. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  25. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +2 -1
  26. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +4 -4
  27. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  28. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  29. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +1 -2
  30. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  31. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +2 -1
  32. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +2 -3
  33. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  34. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -2
  35. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +6 -18
  36. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  37. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  38. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -2
  39. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  40. package/cjs/scenegraph/group-creater/column-helper.js +9 -30
  41. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  42. package/cjs/scenegraph/group-creater/progress/proxy.d.ts +31 -12
  43. package/cjs/scenegraph/group-creater/progress/proxy.js +118 -123
  44. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  45. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +2 -0
  46. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +112 -0
  47. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -0
  48. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +2 -0
  49. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +109 -0
  50. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -0
  51. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +2 -0
  52. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +24 -0
  53. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -0
  54. package/cjs/scenegraph/layout/compute-col-width.d.ts +9 -1
  55. package/cjs/scenegraph/layout/compute-col-width.js +11 -9
  56. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  57. package/cjs/scenegraph/layout/compute-row-height.d.ts +3 -0
  58. package/cjs/scenegraph/layout/compute-row-height.js +162 -0
  59. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -0
  60. package/cjs/scenegraph/layout/update-height.js +3 -2
  61. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  62. package/cjs/scenegraph/layout/update-width.js +3 -2
  63. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  64. package/cjs/scenegraph/scenegraph.d.ts +4 -5
  65. package/cjs/scenegraph/scenegraph.js +23 -42
  66. package/cjs/scenegraph/scenegraph.js.map +1 -1
  67. package/cjs/scenegraph/stick-text/index.d.ts +1 -0
  68. package/cjs/scenegraph/stick-text/index.js +16 -2
  69. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  70. package/cjs/scenegraph/utils/text-icon-layout.d.ts +2 -1
  71. package/cjs/scenegraph/utils/text-icon-layout.js +6 -5
  72. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  73. package/cjs/state/hover/col.js +4 -4
  74. package/cjs/state/hover/col.js.map +1 -1
  75. package/cjs/tools/NumberMap.d.ts +1 -0
  76. package/cjs/tools/NumberMap.js +3 -0
  77. package/cjs/tools/NumberMap.js.map +1 -1
  78. package/cjs/ts-types/base-table.d.ts +12 -0
  79. package/cjs/ts-types/base-table.js.map +1 -1
  80. package/cjs/ts-types/list-table/layout-map/api.d.ts +2 -0
  81. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  82. package/dist/vtable.js +7621 -7036
  83. package/dist/vtable.min.js +2 -2
  84. package/es/core/BaseTable.d.ts +1 -1
  85. package/es/core/BaseTable.js +10 -8
  86. package/es/core/BaseTable.js.map +1 -1
  87. package/es/event/event.js +2 -2
  88. package/es/event/event.js.map +1 -1
  89. package/es/index.d.ts +1 -1
  90. package/es/index.js +1 -1
  91. package/es/index.js.map +1 -1
  92. package/es/layout/pivot-header-layout.d.ts +2 -0
  93. package/es/layout/pivot-header-layout.js +26 -0
  94. package/es/layout/pivot-header-layout.js.map +1 -1
  95. package/es/layout/pivot-layout.d.ts +2 -0
  96. package/es/layout/pivot-layout.js +26 -0
  97. package/es/layout/pivot-layout.js.map +1 -1
  98. package/es/layout/simple-header-layout.d.ts +2 -0
  99. package/es/layout/simple-header-layout.js +6 -0
  100. package/es/layout/simple-header-layout.js.map +1 -1
  101. package/es/render/layout/container.js +13 -0
  102. package/es/render/layout/container.js.map +1 -1
  103. package/es/scenegraph/graphic/text.js +5 -5
  104. package/es/scenegraph/graphic/text.js.map +1 -1
  105. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -1
  106. package/es/scenegraph/group-creater/cell-helper.js +14 -9
  107. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  108. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +2 -1
  109. package/es/scenegraph/group-creater/cell-type/chart-cell.js +3 -5
  110. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  111. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  112. package/es/scenegraph/group-creater/cell-type/image-cell.js +0 -3
  113. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  114. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +2 -1
  115. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +1 -4
  116. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  117. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -2
  118. package/es/scenegraph/group-creater/cell-type/text-cell.js +3 -17
  119. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  120. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  121. package/es/scenegraph/group-creater/cell-type/video-cell.js +0 -3
  122. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  123. package/es/scenegraph/group-creater/column-helper.js +8 -29
  124. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  125. package/es/scenegraph/group-creater/progress/proxy.d.ts +31 -12
  126. package/es/scenegraph/group-creater/progress/proxy.js +124 -123
  127. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  128. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.d.ts +2 -0
  129. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +104 -0
  130. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -0
  131. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.d.ts +2 -0
  132. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +102 -0
  133. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -0
  134. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +2 -0
  135. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +18 -0
  136. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -0
  137. package/es/scenegraph/layout/compute-col-width.d.ts +9 -1
  138. package/es/scenegraph/layout/compute-col-width.js +9 -8
  139. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  140. package/es/scenegraph/layout/compute-row-height.d.ts +3 -0
  141. package/es/scenegraph/layout/compute-row-height.js +164 -0
  142. package/es/scenegraph/layout/compute-row-height.js.map +1 -0
  143. package/es/scenegraph/layout/update-height.js +3 -1
  144. package/es/scenegraph/layout/update-height.js.map +1 -1
  145. package/es/scenegraph/layout/update-width.js +3 -1
  146. package/es/scenegraph/layout/update-width.js.map +1 -1
  147. package/es/scenegraph/scenegraph.d.ts +4 -5
  148. package/es/scenegraph/scenegraph.js +24 -44
  149. package/es/scenegraph/scenegraph.js.map +1 -1
  150. package/es/scenegraph/stick-text/index.d.ts +1 -0
  151. package/es/scenegraph/stick-text/index.js +14 -0
  152. package/es/scenegraph/stick-text/index.js.map +1 -1
  153. package/es/scenegraph/utils/text-icon-layout.d.ts +2 -1
  154. package/es/scenegraph/utils/text-icon-layout.js +4 -4
  155. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  156. package/es/state/hover/col.js +4 -4
  157. package/es/state/hover/col.js.map +1 -1
  158. package/es/tools/NumberMap.d.ts +1 -0
  159. package/es/tools/NumberMap.js +3 -0
  160. package/es/tools/NumberMap.js.map +1 -1
  161. package/es/ts-types/base-table.d.ts +12 -0
  162. package/es/ts-types/base-table.js.map +1 -1
  163. package/es/ts-types/list-table/layout-map/api.d.ts +2 -0
  164. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  165. package/package.json +4 -4
  166. package/dist/vtable.es5.js +0 -53155
  167. package/dist/vtable.es5.min.js +0 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/list-table/layout-map/api.ts"],"names":[],"mappings":"","file":"api.js","sourcesContent":["import type {\n CellAddress,\n CellRange,\n ColumnIconOption,\n ColumnStyle,\n ColumnStyleOption,\n // ColumnTypeOption,\n FieldDef,\n FieldFormat,\n HeaderStyleOption,\n LayoutObjectId,\n MenuListItem,\n IPivotTableCellHeaderPaths,\n CellInfo,\n // ICustomRenderFuc,\n // ICustomRenderObj,\n PivotInfo,\n FieldKeyDef,\n CustomRenderFunctionArg,\n SparklineSpec,\n HierarchyState\n} from '../../';\n\nimport type { HeaderDefine, ColumnDefine, ColumnBodyDefine } from '../define';\n\n// todo: 修改引用这些类型的路径\nexport type {\n HeaderDefine,\n ColumnDefine,\n ColumnBodyDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine\n} from '../define';\n\n/**\n * layout中组织表头的信息类 和HeaderDefine对应\n */\nexport interface HeaderData extends WidthData {\n id: LayoutObjectId;\n caption?: string | (() => string);\n /** @deprecated\n * 已废除该配置 标题中显示图标 现在请使用headerIcon进行配置\n */\n captionIcon?: ColumnIconOption;\n headerIcon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n icons?: (string | ColumnIconOption)[] | ((args: CellInfo) => (string | ColumnIconOption)[]);\n\n field: FieldDef;\n fieldKey?: FieldKeyDef;\n fieldFormat?: FieldFormat;\n style?: HeaderStyleOption | ColumnStyle | null | undefined;\n headerType: 'text' | 'link' | 'image' | 'video'; // headerType.BaseHeader;\n define: ColumnDefine;\n // sortIconPosition?: RectProps;\n // freezeIconPosition?: RectProps;\n /**存储图标的位置 坐标及宽高 是包括了boxWidth boxWidth 共getHitIcon方法使用 计算是否命中图标*/\n // iconPositionList?: { [key in IconFuncTypeEnum]?: RectProps & { icon: ColumnIconOption } };\n dropDownMenu?: MenuListItem[];\n pivotInfo?: PivotInfo;\n /**\n * 维度层级level 从0开始:第0层 第1层\n */\n hierarchyLevel?: number;\n /**\n * 维度总层级数\n */\n dimensionTotalLevel?: number;\n /**\n * 层级展开or折叠状态\n */\n hierarchyState?: HierarchyState;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n\n showSort?: boolean;\n\n /**\n * 表头描述 鼠标hover会提示该信息\n */\n description?: string | ((args: CellInfo) => string);\n}\n\nexport interface WidthData {\n width?: number | string;\n minWidth?: number | string;\n maxWidth?: number | string;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n}\n/**\n * layout中组织body列的信息类 和ColumnDefine对应\n */\nexport interface ColumnData extends WidthData {\n id: LayoutObjectId;\n field: FieldDef;\n fieldKey?: FieldKeyDef;\n fieldFormat?: FieldFormat;\n // icon?: ColumnIconOption | ColumnIconOption[];\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n columnType: 'text' | 'link' | 'image' | 'video' | 'sparkline' | 'progressbar' | 'chart'; //BaseColumn<T, any>;\n /** 如果是绘制图表库组件的图表类型 需要将注入的组件名称 写到chartType */\n chartType?: string;\n /** 如果是绘制图表库组件的图表类型 统一图表配置chartSpec */\n chartSpec?: any | ((arg0: CellInfo) => any);\n sparklineSpec?: SparklineSpec | ((arg0: CellInfo) => SparklineSpec);\n style: ColumnStyleOption | null | undefined;\n define: ColumnDefine;\n templateLink?: string;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n /**存储图标的位置 坐标及宽高 是包括了boxWidth boxWidth 共getHitIcon方法使用 计算是否命中图标*/\n // iconPositionList?: { [key in IconFuncTypeEnum]?: RectProps & { icon: ColumnIconOption } };\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n}\n\nexport interface IndicatorData extends WidthData {\n id: LayoutObjectId;\n field: string | number;\n /**\n * 唯一标识一种指标\n */\n indicatorKey: string;\n // fieldKey: FieldKeyDef;\n fieldFormat?: FieldFormat;\n columnType: 'text' | 'link' | 'image' | 'video' | 'sparkline' | 'progressbar' | 'chart'; //BaseColumn<T, any>;\n chartType?: string;\n chartSpec?: any | ((arg0: CustomRenderFunctionArg) => any);\n style?: ColumnStyleOption | null | undefined;\n define: ColumnDefine;\n // headerIcon?:\n // | (string | ColumnIconOption)[]\n // | ((args: CellInfo) => (string | ColumnIconOption)[]);\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n sparklineSpec?: SparklineSpec | ((arg0: CustomRenderFunctionArg) => SparklineSpec);\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n}\n\n// Simple header\n\n// export interface GroupHeaderDefine extends HeaderDefine {\n// columns: HeadersDefine;\n// hideColumnsSubHeader?: boolean;\n// dropDownMenu?: MenuListItem[];\n// }\n// type Either<X, Y> =\n// | ({\n// [KX in keyof X]: X[KX];\n// } & {\n// [KY in Exclude<keyof Y, keyof X>]?: never;\n// })\n// | ({\n// [KY in keyof Y]: Y[KY];\n// } & {\n// [KX in Exclude<keyof X, keyof Y>]?: never;\n// });\n// export type HeaderColumnDefine = Either<GroupHeaderDefine, ColumnDefine>;\n// export type HeadersDefine = HeaderColumnDefine[];\n\n// Advanced layout\n\n// export interface HeaderCellDefine extends HeaderDefine {\n// colSpan?: number;\n// rowSpan?: number;\n// }\nexport type HeaderCellDefine = HeaderDefine & {\n colSpan?: number;\n rowSpan?: number;\n};\n\n// export interface CellDefine extends ColumnDefine {\n// colSpan?: number;\n// rowSpan?: number;\n// }\n\nexport type CellDefine = ColumnBodyDefine & {\n colSpan?: number;\n rowSpan?: number;\n};\n\nexport type ArrayLayoutDefine = CellDefine[][];\n/** @internal */\ninterface LayoutMapAPI {\n readonly headerLevelCount: number;\n readonly rowHeaderLevelCount: number;\n readonly columnHeaderLevelCount: number;\n readonly bodyRowCount: number;\n readonly colCount: number | undefined;\n readonly rowCount: number | undefined;\n readonly columnWidths: WidthData[];\n readonly headerObjects: HeaderData[];\n readonly columnObjects: ColumnData[] | IndicatorData[];\n // transpose: boolean;\n // showHeader: boolean;\n isHeader: (col: number, row: number) => boolean;\n // isHeaderNode(col: number, row: number): boolean; //是否为叶子表头\n /**获取单元格header对象 包括field style type 等 */\n getHeader: (col: number, row: number) => HeaderData;\n /**获取对应header的field */\n getHeaderField: (col: number, row: number) => FieldDef;\n // getHeaderFieldKey(col: number, row: number): FieldKeyDef;\n /**获取单元格column对象 包括field style type 等 */\n getBody: (col: number, row: number) => ColumnData | IndicatorData;\n /**获取单元格标识key */\n getCellId: (col: number, row: number) => LayoutObjectId;\n getCellRange: (col: number, row: number) => CellRange;\n // getCellRangeTranspose(col: number, row: number): CellRange;\n getBodyLayoutRangeById: (id: LayoutObjectId) => CellRange;\n getHeaderCellAdress: (id: number) => CellAddress | undefined;\n getHeaderCellAddressByField: (field: string) => CellAddress | undefined;\n getRecordIndexByRow: (col: number, row: number) => number;\n getRecordStartRowByRecordIndex: (index: number) => number;\n}\n\nexport type { LayoutMapAPI };\n"]}
1
+ {"version":3,"sources":["ts-types/list-table/layout-map/api.ts"],"names":[],"mappings":"","file":"api.js","sourcesContent":["import type {\n CellAddress,\n CellRange,\n ColumnIconOption,\n ColumnStyle,\n ColumnStyleOption,\n // ColumnTypeOption,\n FieldDef,\n FieldFormat,\n HeaderStyleOption,\n LayoutObjectId,\n MenuListItem,\n IPivotTableCellHeaderPaths,\n CellInfo,\n // ICustomRenderFuc,\n // ICustomRenderObj,\n PivotInfo,\n FieldKeyDef,\n CustomRenderFunctionArg,\n SparklineSpec,\n HierarchyState\n} from '../../';\n\nimport type { HeaderDefine, ColumnDefine, ColumnBodyDefine } from '../define';\n\n// todo: 修改引用这些类型的路径\nexport type {\n HeaderDefine,\n ColumnDefine,\n ColumnBodyDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine\n} from '../define';\n\n/**\n * layout中组织表头的信息类 和HeaderDefine对应\n */\nexport interface HeaderData extends WidthData {\n id: LayoutObjectId;\n caption?: string | (() => string);\n /** @deprecated\n * 已废除该配置 标题中显示图标 现在请使用headerIcon进行配置\n */\n captionIcon?: ColumnIconOption;\n headerIcon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n icons?: (string | ColumnIconOption)[] | ((args: CellInfo) => (string | ColumnIconOption)[]);\n\n field: FieldDef;\n fieldKey?: FieldKeyDef;\n fieldFormat?: FieldFormat;\n style?: HeaderStyleOption | ColumnStyle | null | undefined;\n headerType: 'text' | 'link' | 'image' | 'video'; // headerType.BaseHeader;\n define: ColumnDefine;\n // sortIconPosition?: RectProps;\n // freezeIconPosition?: RectProps;\n /**存储图标的位置 坐标及宽高 是包括了boxWidth boxWidth 共getHitIcon方法使用 计算是否命中图标*/\n // iconPositionList?: { [key in IconFuncTypeEnum]?: RectProps & { icon: ColumnIconOption } };\n dropDownMenu?: MenuListItem[];\n pivotInfo?: PivotInfo;\n /**\n * 维度层级level 从0开始:第0层 第1层\n */\n hierarchyLevel?: number;\n /**\n * 维度总层级数\n */\n dimensionTotalLevel?: number;\n /**\n * 层级展开or折叠状态\n */\n hierarchyState?: HierarchyState;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n\n showSort?: boolean;\n\n /**\n * 表头描述 鼠标hover会提示该信息\n */\n description?: string | ((args: CellInfo) => string);\n}\n\nexport interface WidthData {\n width?: number | string;\n minWidth?: number | string;\n maxWidth?: number | string;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n}\n/**\n * layout中组织body列的信息类 和ColumnDefine对应\n */\nexport interface ColumnData extends WidthData {\n id: LayoutObjectId;\n field: FieldDef;\n fieldKey?: FieldKeyDef;\n fieldFormat?: FieldFormat;\n // icon?: ColumnIconOption | ColumnIconOption[];\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n columnType: 'text' | 'link' | 'image' | 'video' | 'sparkline' | 'progressbar' | 'chart'; //BaseColumn<T, any>;\n /** 如果是绘制图表库组件的图表类型 需要将注入的组件名称 写到chartType */\n chartType?: string;\n /** 如果是绘制图表库组件的图表类型 统一图表配置chartSpec */\n chartSpec?: any | ((arg0: CellInfo) => any);\n chartInstance?: any;\n sparklineSpec?: SparklineSpec | ((arg0: CellInfo) => SparklineSpec);\n style: ColumnStyleOption | null | undefined;\n define: ColumnDefine;\n templateLink?: string;\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n /**存储图标的位置 坐标及宽高 是包括了boxWidth boxWidth 共getHitIcon方法使用 计算是否命中图标*/\n // iconPositionList?: { [key in IconFuncTypeEnum]?: RectProps & { icon: ColumnIconOption } };\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n}\n\nexport interface IndicatorData extends WidthData {\n id: LayoutObjectId;\n field: string | number;\n /**\n * 唯一标识一种指标\n */\n indicatorKey: string;\n // fieldKey: FieldKeyDef;\n fieldFormat?: FieldFormat;\n columnType: 'text' | 'link' | 'image' | 'video' | 'sparkline' | 'progressbar' | 'chart'; //BaseColumn<T, any>;\n chartType?: string;\n chartSpec?: any | ((arg0: CustomRenderFunctionArg) => any);\n chartInstance?: any;\n style?: ColumnStyleOption | null | undefined;\n define: ColumnDefine;\n // headerIcon?:\n // | (string | ColumnIconOption)[]\n // | ((args: CellInfo) => (string | ColumnIconOption)[]);\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n sparklineSpec?: SparklineSpec | ((arg0: CustomRenderFunctionArg) => SparklineSpec);\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n}\n\n// Simple header\n\n// export interface GroupHeaderDefine extends HeaderDefine {\n// columns: HeadersDefine;\n// hideColumnsSubHeader?: boolean;\n// dropDownMenu?: MenuListItem[];\n// }\n// type Either<X, Y> =\n// | ({\n// [KX in keyof X]: X[KX];\n// } & {\n// [KY in Exclude<keyof Y, keyof X>]?: never;\n// })\n// | ({\n// [KY in keyof Y]: Y[KY];\n// } & {\n// [KX in Exclude<keyof X, keyof Y>]?: never;\n// });\n// export type HeaderColumnDefine = Either<GroupHeaderDefine, ColumnDefine>;\n// export type HeadersDefine = HeaderColumnDefine[];\n\n// Advanced layout\n\n// export interface HeaderCellDefine extends HeaderDefine {\n// colSpan?: number;\n// rowSpan?: number;\n// }\nexport type HeaderCellDefine = HeaderDefine & {\n colSpan?: number;\n rowSpan?: number;\n};\n\n// export interface CellDefine extends ColumnDefine {\n// colSpan?: number;\n// rowSpan?: number;\n// }\n\nexport type CellDefine = ColumnBodyDefine & {\n colSpan?: number;\n rowSpan?: number;\n};\n\nexport type ArrayLayoutDefine = CellDefine[][];\n/** @internal */\ninterface LayoutMapAPI {\n readonly headerLevelCount: number;\n readonly rowHeaderLevelCount: number;\n readonly columnHeaderLevelCount: number;\n readonly bodyRowCount: number;\n readonly colCount: number | undefined;\n readonly rowCount: number | undefined;\n readonly columnWidths: WidthData[];\n readonly headerObjects: HeaderData[];\n readonly columnObjects: ColumnData[] | IndicatorData[];\n // transpose: boolean;\n // showHeader: boolean;\n isHeader: (col: number, row: number) => boolean;\n // isHeaderNode(col: number, row: number): boolean; //是否为叶子表头\n /**获取单元格header对象 包括field style type 等 */\n getHeader: (col: number, row: number) => HeaderData;\n /**获取对应header的field */\n getHeaderField: (col: number, row: number) => FieldDef;\n // getHeaderFieldKey(col: number, row: number): FieldKeyDef;\n /**获取单元格column对象 包括field style type 等 */\n getBody: (col: number, row: number) => ColumnData | IndicatorData;\n /**获取单元格标识key */\n getCellId: (col: number, row: number) => LayoutObjectId;\n getCellRange: (col: number, row: number) => CellRange;\n // getCellRangeTranspose(col: number, row: number): CellRange;\n getBodyLayoutRangeById: (id: LayoutObjectId) => CellRange;\n getHeaderCellAdress: (id: number) => CellAddress | undefined;\n getHeaderCellAddressByField: (field: string) => CellAddress | undefined;\n getRecordIndexByRow: (col: number, row: number) => number;\n getRecordStartRowByRecordIndex: (index: number) => number;\n}\n\nexport type { LayoutMapAPI };\n"]}