@visactor/vtable 0.9.2-alpha.3 → 0.9.3-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 (245) hide show
  1. package/cjs/PivotChart.d.ts +1 -0
  2. package/cjs/PivotChart.js +8 -0
  3. package/cjs/PivotChart.js.map +1 -1
  4. package/cjs/chartModule.js +14 -0
  5. package/cjs/chartModule.js.map +1 -0
  6. package/cjs/core/BaseTable.js +26 -9
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/core/TABLE_EVENT_TYPE.d.ts +2 -0
  9. package/cjs/core/TABLE_EVENT_TYPE.js +3 -1
  10. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  11. package/cjs/dataset/dataset-pivot-table.d.ts +60 -0
  12. package/cjs/dataset/dataset-pivot-table.js +387 -0
  13. package/cjs/dataset/dataset-pivot-table.js.map +1 -0
  14. package/cjs/dataset/dataset.d.ts +2 -0
  15. package/cjs/dataset/dataset.js +32 -21
  16. package/cjs/dataset/dataset.js.map +1 -1
  17. package/cjs/event/event.js +2 -2
  18. package/cjs/event/event.js.map +1 -1
  19. package/cjs/event/pivot-chart/axis-hover.d.ts +2 -0
  20. package/cjs/event/pivot-chart/axis-hover.js +41 -0
  21. package/cjs/event/pivot-chart/axis-hover.js.map +1 -0
  22. package/cjs/event/scroll.js +4 -3
  23. package/cjs/event/scroll.js.map +1 -1
  24. package/cjs/event/sparkline-event.js +1 -2
  25. package/cjs/event/util.js +1 -0
  26. package/cjs/index.d.ts +1 -1
  27. package/cjs/index.js +1 -1
  28. package/cjs/index.js.map +1 -1
  29. package/cjs/layout/{pivot-chart → chart-helper}/get-axis-config.js +4 -4
  30. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -0
  31. package/cjs/layout/chart-helper/get-chart-spec.d.ts +7 -0
  32. package/cjs/layout/{pivot-chart → chart-helper}/get-chart-spec.js +23 -6
  33. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -0
  34. package/cjs/layout/pivot-header-layout.d.ts +2 -0
  35. package/cjs/layout/pivot-header-layout.js +8 -2
  36. package/cjs/layout/pivot-header-layout.js.map +1 -1
  37. package/cjs/layout/pivot-layout.d.ts +1 -0
  38. package/cjs/layout/pivot-layout.js +12 -8
  39. package/cjs/layout/pivot-layout.js.map +1 -1
  40. package/cjs/layout/simple-header-layout.d.ts +2 -0
  41. package/cjs/layout/simple-header-layout.js +9 -2
  42. package/cjs/layout/simple-header-layout.js.map +1 -1
  43. package/cjs/plugins/{chartTypes.js → chartModules.js} +1 -1
  44. package/cjs/plugins/chartModules.js.map +1 -0
  45. package/cjs/register.d.ts +1 -1
  46. package/cjs/register.js +6 -6
  47. package/cjs/register.js.map +1 -1
  48. package/cjs/render/layout/text.d.ts +33 -4
  49. package/cjs/render/layout/text.js +9 -3
  50. package/cjs/render/layout/text.js.map +1 -1
  51. package/cjs/scenegraph/component/custom.js +17 -16
  52. package/cjs/scenegraph/component/custom.js.map +1 -1
  53. package/cjs/scenegraph/component/menu.d.ts +41 -0
  54. package/cjs/scenegraph/graphic/chart.d.ts +1 -1
  55. package/cjs/scenegraph/graphic/chart.js +9 -12
  56. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  57. package/cjs/scenegraph/graphic/contributions/chart-render.js +10 -3
  58. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  59. package/cjs/scenegraph/graphic/contributions/group-contribution-render.d.ts +9 -9
  60. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +48 -29
  61. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  62. package/cjs/scenegraph/graphic/contributions/image-contribution-render.d.ts +3 -3
  63. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js +2 -2
  64. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  65. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +3 -3
  66. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  67. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  68. package/cjs/scenegraph/graphic/text.d.ts +15 -0
  69. package/cjs/scenegraph/group-creater/cell-helper.js +2 -1
  70. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  71. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  72. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +4 -4
  73. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  74. package/cjs/scenegraph/layout/update-width.js +32 -2
  75. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  76. package/cjs/scenegraph/refresh-node/update-chart.js +31 -5
  77. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  78. package/cjs/scenegraph/scenegraph.d.ts +1 -2
  79. package/cjs/scenegraph/scenegraph.js +11 -41
  80. package/cjs/scenegraph/scenegraph.js.map +1 -1
  81. package/cjs/scenegraph/stick-text/index.js +4 -4
  82. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  83. package/cjs/scenegraph/style/corner-cell.d.ts +3 -0
  84. package/cjs/scenegraph/style/corner-cell.js +29 -0
  85. package/cjs/scenegraph/style/corner-cell.js.map +1 -0
  86. package/cjs/scenegraph/style/frame-border.d.ts +1 -0
  87. package/cjs/scenegraph/style/frame-border.js +2 -2
  88. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  89. package/cjs/scenegraph/utils/get-cell-merge.js +2 -1
  90. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  91. package/cjs/themes/DARK.js +1 -2
  92. package/cjs/themes/DEFAULT.js +2 -1
  93. package/cjs/themes/theme.d.ts +10 -0
  94. package/cjs/themes/theme.js +50 -4
  95. package/cjs/themes/theme.js.map +1 -1
  96. package/cjs/tools/debounce.js +1 -1
  97. package/cjs/ts-types/customElement.d.ts +2 -0
  98. package/cjs/ts-types/customElement.js.map +1 -1
  99. package/cjs/ts-types/events.d.ts +8 -0
  100. package/cjs/ts-types/events.js.map +1 -1
  101. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  102. package/cjs/ts-types/list-table/define/chart-define.d.ts +1 -1
  103. package/cjs/ts-types/list-table/define/chart-define.js.map +1 -1
  104. package/cjs/ts-types/list-table/layout-map/api.d.ts +2 -2
  105. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  106. package/cjs/ts-types/new-data-set.d.ts +1 -0
  107. package/cjs/ts-types/new-data-set.js.map +1 -1
  108. package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  109. package/cjs/ts-types/pivot-table/indicator/chart-indicator.d.ts +1 -1
  110. package/cjs/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -1
  111. package/cjs/ts-types/theme.d.ts +5 -0
  112. package/cjs/ts-types/theme.js.map +1 -1
  113. package/dist/vtable.js +35578 -33046
  114. package/dist/vtable.min.js +4 -4
  115. package/es/PivotChart.d.ts +1 -0
  116. package/es/PivotChart.js +8 -0
  117. package/es/PivotChart.js.map +1 -1
  118. package/es/{chartType.js → chartModule.js} +2 -2
  119. package/es/chartModule.js.map +1 -0
  120. package/es/core/BaseTable.js +26 -9
  121. package/es/core/BaseTable.js.map +1 -1
  122. package/es/core/TABLE_EVENT_TYPE.d.ts +2 -0
  123. package/es/core/TABLE_EVENT_TYPE.js +3 -1
  124. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  125. package/es/dataset/dataset-pivot-table.d.ts +60 -0
  126. package/es/dataset/dataset-pivot-table.js +378 -0
  127. package/es/dataset/dataset-pivot-table.js.map +1 -0
  128. package/es/dataset/dataset.d.ts +2 -0
  129. package/es/dataset/dataset.js +29 -18
  130. package/es/dataset/dataset.js.map +1 -1
  131. package/es/event/event.js +3 -1
  132. package/es/event/event.js.map +1 -1
  133. package/es/event/pivot-chart/axis-hover.d.ts +2 -0
  134. package/es/event/pivot-chart/axis-hover.js +33 -0
  135. package/es/event/pivot-chart/axis-hover.js.map +1 -0
  136. package/es/event/scroll.js +4 -3
  137. package/es/event/scroll.js.map +1 -1
  138. package/es/event/sparkline-event.js +1 -2
  139. package/es/event/util.js +2 -1
  140. package/es/index.d.ts +1 -1
  141. package/es/index.js +1 -1
  142. package/es/index.js.map +1 -1
  143. package/es/layout/{pivot-chart → chart-helper}/get-axis-config.js +4 -4
  144. package/es/layout/chart-helper/get-axis-config.js.map +1 -0
  145. package/es/layout/chart-helper/get-chart-spec.d.ts +7 -0
  146. package/es/layout/{pivot-chart → chart-helper}/get-chart-spec.js +21 -4
  147. package/es/layout/chart-helper/get-chart-spec.js.map +1 -0
  148. package/es/layout/pivot-header-layout.d.ts +2 -0
  149. package/es/layout/pivot-header-layout.js +9 -1
  150. package/es/layout/pivot-header-layout.js.map +1 -1
  151. package/es/layout/pivot-layout.d.ts +1 -0
  152. package/es/layout/pivot-layout.js +13 -9
  153. package/es/layout/pivot-layout.js.map +1 -1
  154. package/es/layout/simple-header-layout.d.ts +2 -0
  155. package/es/layout/simple-header-layout.js +10 -1
  156. package/es/layout/simple-header-layout.js.map +1 -1
  157. package/es/plugins/chartModules.js +2 -0
  158. package/es/plugins/chartModules.js.map +1 -0
  159. package/es/register.d.ts +1 -1
  160. package/es/register.js +3 -3
  161. package/es/register.js.map +1 -1
  162. package/es/render/layout/text.d.ts +33 -4
  163. package/es/render/layout/text.js +9 -3
  164. package/es/render/layout/text.js.map +1 -1
  165. package/es/scenegraph/component/custom.js +17 -16
  166. package/es/scenegraph/component/custom.js.map +1 -1
  167. package/es/scenegraph/component/menu.d.ts +41 -0
  168. package/es/scenegraph/graphic/chart.d.ts +1 -1
  169. package/es/scenegraph/graphic/chart.js +8 -11
  170. package/es/scenegraph/graphic/chart.js.map +1 -1
  171. package/es/scenegraph/graphic/contributions/chart-render.js +10 -3
  172. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  173. package/es/scenegraph/graphic/contributions/group-contribution-render.d.ts +9 -9
  174. package/es/scenegraph/graphic/contributions/group-contribution-render.js +48 -29
  175. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  176. package/es/scenegraph/graphic/contributions/image-contribution-render.d.ts +3 -3
  177. package/es/scenegraph/graphic/contributions/image-contribution-render.js +2 -2
  178. package/es/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  179. package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +3 -3
  180. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  181. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  182. package/es/scenegraph/graphic/text.d.ts +15 -0
  183. package/es/scenegraph/group-creater/cell-helper.js +2 -1
  184. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  185. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  186. package/es/scenegraph/group-creater/cell-type/chart-cell.js +4 -4
  187. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  188. package/es/scenegraph/layout/update-width.js +33 -1
  189. package/es/scenegraph/layout/update-width.js.map +1 -1
  190. package/es/scenegraph/refresh-node/update-chart.js +27 -2
  191. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  192. package/es/scenegraph/scenegraph.d.ts +1 -2
  193. package/es/scenegraph/scenegraph.js +11 -40
  194. package/es/scenegraph/scenegraph.js.map +1 -1
  195. package/es/scenegraph/stick-text/index.js +4 -4
  196. package/es/scenegraph/stick-text/index.js.map +1 -1
  197. package/es/scenegraph/style/corner-cell.d.ts +3 -0
  198. package/es/scenegraph/style/corner-cell.js +25 -0
  199. package/es/scenegraph/style/corner-cell.js.map +1 -0
  200. package/es/scenegraph/style/frame-border.d.ts +1 -0
  201. package/es/scenegraph/style/frame-border.js +1 -1
  202. package/es/scenegraph/style/frame-border.js.map +1 -1
  203. package/es/scenegraph/utils/get-cell-merge.js +2 -1
  204. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  205. package/es/themes/DARK.js +1 -2
  206. package/es/themes/DEFAULT.js +2 -1
  207. package/es/themes/theme.d.ts +10 -0
  208. package/es/themes/theme.js +50 -4
  209. package/es/themes/theme.js.map +1 -1
  210. package/es/tools/debounce.js +1 -1
  211. package/es/ts-types/customElement.d.ts +2 -0
  212. package/es/ts-types/customElement.js.map +1 -1
  213. package/es/ts-types/events.d.ts +8 -0
  214. package/es/ts-types/events.js.map +1 -1
  215. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  216. package/es/ts-types/list-table/define/chart-define.d.ts +1 -1
  217. package/es/ts-types/list-table/define/chart-define.js.map +1 -1
  218. package/es/ts-types/list-table/layout-map/api.d.ts +2 -2
  219. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  220. package/es/ts-types/new-data-set.d.ts +1 -0
  221. package/es/ts-types/new-data-set.js.map +1 -1
  222. package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -1
  223. package/es/ts-types/pivot-table/indicator/chart-indicator.d.ts +1 -1
  224. package/es/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -1
  225. package/es/ts-types/theme.d.ts +5 -0
  226. package/es/ts-types/theme.js.map +1 -1
  227. package/package.json +9 -9
  228. package/cjs/chartType.js +0 -14
  229. package/cjs/chartType.js.map +0 -1
  230. package/cjs/layout/pivot-chart/get-axis-config.js.map +0 -1
  231. package/cjs/layout/pivot-chart/get-chart-spec.d.ts +0 -4
  232. package/cjs/layout/pivot-chart/get-chart-spec.js.map +0 -1
  233. package/cjs/plugins/chartTypes.js.map +0 -1
  234. package/es/chartType.js.map +0 -1
  235. package/es/layout/pivot-chart/get-axis-config.js.map +0 -1
  236. package/es/layout/pivot-chart/get-chart-spec.d.ts +0 -4
  237. package/es/layout/pivot-chart/get-chart-spec.js.map +0 -1
  238. package/es/plugins/chartTypes.js +0 -2
  239. package/es/plugins/chartTypes.js.map +0 -1
  240. /package/cjs/{chartType.d.ts → chartModule.d.ts} +0 -0
  241. /package/cjs/layout/{pivot-chart → chart-helper}/get-axis-config.d.ts +0 -0
  242. /package/cjs/plugins/{chartTypes.d.ts → chartModules.d.ts} +0 -0
  243. /package/es/{chartType.d.ts → chartModule.d.ts} +0 -0
  244. /package/es/layout/{pivot-chart → chart-helper}/get-axis-config.d.ts +0 -0
  245. /package/es/plugins/{chartTypes.d.ts → chartModules.d.ts} +0 -0
@@ -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 // header内容为空\n isEmpty?: boolean;\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 /** 从定义中获取一列配置项width的定义值 */\n getColumnWidthDefined: (col: number) => WidthData;\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 // header内容为空\n isEmpty?: boolean;\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 chartModule?: 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 chartModule?: 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 /** 从定义中获取一列配置项width的定义值 */\n getColumnWidthDefined: (col: number) => WidthData;\n}\n\nexport type { LayoutMapAPI };\n"]}
@@ -96,6 +96,7 @@ export interface IDataConfig {
96
96
  derivedFieldRules?: DerivedFieldRules;
97
97
  collectValuesBy?: Record<string, CollectValueBy>;
98
98
  isPivotChart?: boolean;
99
+ dimensionSortArray?: string[];
99
100
  }
100
101
  export type CollectValueBy = {
101
102
  by: string[];
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/new-data-set.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,kCAAe,CAAA;AACjB,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AACD,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,yBAAa,CAAA;AACf,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB","file":"new-data-set.js","sourcesContent":["import type { SortOrder } from './common';\n\n//#region 总计小计\nexport interface TotalsStatus {\n isRowTotal: boolean;\n isRowSubTotal: boolean;\n isColTotal: boolean;\n isColSubTotal: boolean;\n}\n\nexport enum AggregationType {\n RECORD = 'RECORD',\n SUM = 'SUM',\n MIN = 'MIN',\n MAX = 'MAX',\n AVG = 'AVG',\n COUNT = 'COUNT'\n}\nexport enum SortType {\n ASC = 'ASC',\n DESC = 'DESC'\n}\nexport interface CalcTotals {\n aggregationType?: AggregationType; // 聚合方式\n // calcFunc?: (query: Record<string, any>, arr: Record<string, any>[]) => number;\n}\n\nexport interface Total {\n // 是否显示总计\n showGrandTotals: boolean;\n // 是否显示小计\n showSubTotals: boolean;\n // // 计算总计方法\n // calcGrandTotals?: CalcTotals;\n // // 计算小计方法\n // calcSubTotals?: CalcTotals;\n // 小计汇总维度定义\n subTotalsDimensions?: string[];\n // 默认'总计'\n grandTotalLabel?: string;\n // 默认'小计'\n subTotalLabel?: string;\n}\n\nexport interface Totals {\n row?: Total;\n column?: Total;\n}\n\n//#endregion 总计小计\n\n//#region 排序规则\n// export interface SortRule {\n// //排序维度\n// sortField: string;\n// //以下均为排序方法\n// //1. 指定排序类型\n// sortType?: SortType;\n// //2. 按维度成员指定排序\n// sortBy?: string[];\n// //3. 按指标值排序\n// sortByIndicator?: string;\n// //如果按指标值排序,还需要指定另外一个(行或列)方向的底层维度成员具体值\n// query?: string[];\n// //4. 自定义排序方法function\n// sortFunc?: (a: any, b: any) => number;\n// }\n//以下均为排序方法\n//1. 指定排序类型\nexport interface SortTypeRule {\n /**排序维度 */\n sortField: string;\n /**升序降序 ASC or DESC*/\n sortType?: SortType;\n}\n//2. 按维度成员指定排序\nexport interface SortByRule {\n /**排序维度 */\n sortField: string;\n /**根据指定具体顺序排序 */\n sortBy?: SortOrder[];\n}\n//3. 按指标值排序\nexport interface SortByIndicatorRule {\n /**排序维度 */\n sortField: string;\n /**排序根据某个指标值 */\n sortByIndicator?: string;\n /**如果按指标值排序,还需要指定另外一个(行或列)方向的底层维度成员具体值。例如按照办公用品下的纸张 ['办公用品', '纸张'] */\n query?: string[];\n}\n//4. 自定义排序方法function\nexport interface SortFuncRule {\n /**排序维度 */\n sortField: string;\n /**自定义排序函数 */\n sortFunc?: (a: any, b: any) => number;\n}\n//自定义排序方法参数\n// export interface SortFuncParam extends SortRule {\n// data: Array<string | Record<string, any>>;\n// }\nexport type SortRule = SortTypeRule | SortByRule | SortByIndicatorRule | SortFuncRule;\nexport type SortRules = SortRule[];\n//#endregion 排序规则\n\n//#region 过滤规则\nexport interface FilterRule {\n filterKey?: string;\n filteredValues?: unknown[];\n filterFunc?: (row: Record<string, any>) => boolean;\n}\nexport type FilterRules = FilterRule[];\n//#endregion 过滤规则\n\n//#region 聚合规则\nexport interface AggregationRule<T extends AggregationType> {\n /** 区别于field 重新起个key值,供配置indicators使用 */\n indicatorKey: string;\n // 可以收集单个字段的聚合结果,或者收集多个字段的聚合结果\n field: T extends AggregationType.RECORD ? string[] | string : string;\n aggregationType: T;\n /**计算结果格式化 */\n formatFun?: (num: number) => string;\n}\nexport type AggregationRules = AggregationRule<AggregationType>[];\n//#endregion 聚合规则\n\n//#region 映射规则\nexport interface MappingRule {\n label?: LabelMapping;\n symbol?: SymbolMapping;\n bgColor?: MappingFuncRule;\n}\nexport type MappingRules = MappingRule[];\nexport interface LabelMapping {\n text?: MappingFuncRule;\n color?: MappingFuncRule;\n}\nexport interface SymbolMapping {\n shape?: 'circle' | 'rect';\n color?: MappingFuncRule;\n size?: MappingFuncRule;\n}\n\nexport type MappingFuncRule = {\n indicatorKey: string;\n mapping?: (table: any, value: number) => string;\n};\n\n//#endregion 映射规则\nexport interface DerivedFieldRule {\n fieldName?: string;\n derivedFunc?: (record: Record<string, any>) => any;\n}\nexport type DerivedFieldRules = DerivedFieldRule[];\n/**\n * 数据处理配置\n */\nexport interface IDataConfig {\n // rows: string[]; //行维度字段数组;\n // columns: string[]; //列维度字段数组;\n aggregationRules?: AggregationRules; //按照行列维度聚合值计算规则;\n // indicators?: string[]; //具体展示指标;\n // descriptions?: any[]; //字段标题及描述信息;\n sortRules?: SortRules; //排序规则;\n filterRules?: FilterRules; //过滤规则;\n totals?: Totals; //小计或总计;\n // indicatorsAsCol?: boolean;\n // hideIndicatorName?: boolean;\n\n mappingRules?: MappingRules;\n derivedFieldRules?: DerivedFieldRules;\n\n collectValuesBy?: Record<string, CollectValueBy>;\n isPivotChart?: boolean;\n}\n\n/** 在处理数据的过程中 去额外收集某个维度的维度值范围 可为离散值或者连续值范围 */\nexport type CollectValueBy = {\n // field: string;\n by: string[];\n /** 是否计算一个range范围 true的话对应的收集数据的结果为{max:number,min:number} */\n range?: boolean;\n /** 收集是按照sumBy字段相同的进行分组聚合 聚合结果求最大最小值;如果不设置该值 则按单条数据求最大最小值 */\n sumBy?: string[];\n /** 帮助计算列宽使用 如果是chart图表 收集的是xFiled的维度值 可以根据维度值的个数乘于图元宽度计算一个最优列宽*/\n type?: 'xField' | 'yField' | undefined;\n};\nexport type CollectedValue = { max?: number; min?: number } | Set<string>;\n"]}
1
+ {"version":3,"sources":["ts-types/new-data-set.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,oCAAiB,CAAA;IACjB,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,8BAAW,CAAA;IACX,kCAAe,CAAA;AACjB,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AACD,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,yBAAa,CAAA;AACf,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB","file":"new-data-set.js","sourcesContent":["import type { SortOrder } from './common';\n\n//#region 总计小计\nexport interface TotalsStatus {\n isRowTotal: boolean;\n isRowSubTotal: boolean;\n isColTotal: boolean;\n isColSubTotal: boolean;\n}\n\nexport enum AggregationType {\n RECORD = 'RECORD',\n SUM = 'SUM',\n MIN = 'MIN',\n MAX = 'MAX',\n AVG = 'AVG',\n COUNT = 'COUNT'\n}\nexport enum SortType {\n ASC = 'ASC',\n DESC = 'DESC'\n}\nexport interface CalcTotals {\n aggregationType?: AggregationType; // 聚合方式\n // calcFunc?: (query: Record<string, any>, arr: Record<string, any>[]) => number;\n}\n\nexport interface Total {\n // 是否显示总计\n showGrandTotals: boolean;\n // 是否显示小计\n showSubTotals: boolean;\n // // 计算总计方法\n // calcGrandTotals?: CalcTotals;\n // // 计算小计方法\n // calcSubTotals?: CalcTotals;\n // 小计汇总维度定义\n subTotalsDimensions?: string[];\n // 默认'总计'\n grandTotalLabel?: string;\n // 默认'小计'\n subTotalLabel?: string;\n}\n\nexport interface Totals {\n row?: Total;\n column?: Total;\n}\n\n//#endregion 总计小计\n\n//#region 排序规则\n// export interface SortRule {\n// //排序维度\n// sortField: string;\n// //以下均为排序方法\n// //1. 指定排序类型\n// sortType?: SortType;\n// //2. 按维度成员指定排序\n// sortBy?: string[];\n// //3. 按指标值排序\n// sortByIndicator?: string;\n// //如果按指标值排序,还需要指定另外一个(行或列)方向的底层维度成员具体值\n// query?: string[];\n// //4. 自定义排序方法function\n// sortFunc?: (a: any, b: any) => number;\n// }\n//以下均为排序方法\n//1. 指定排序类型\nexport interface SortTypeRule {\n /**排序维度 */\n sortField: string;\n /**升序降序 ASC or DESC*/\n sortType?: SortType;\n}\n//2. 按维度成员指定排序\nexport interface SortByRule {\n /**排序维度 */\n sortField: string;\n /**根据指定具体顺序排序 */\n sortBy?: SortOrder[];\n}\n//3. 按指标值排序\nexport interface SortByIndicatorRule {\n /**排序维度 */\n sortField: string;\n /**排序根据某个指标值 */\n sortByIndicator?: string;\n /**如果按指标值排序,还需要指定另外一个(行或列)方向的底层维度成员具体值。例如按照办公用品下的纸张 ['办公用品', '纸张'] */\n query?: string[];\n}\n//4. 自定义排序方法function\nexport interface SortFuncRule {\n /**排序维度 */\n sortField: string;\n /**自定义排序函数 */\n sortFunc?: (a: any, b: any) => number;\n}\n//自定义排序方法参数\n// export interface SortFuncParam extends SortRule {\n// data: Array<string | Record<string, any>>;\n// }\nexport type SortRule = SortTypeRule | SortByRule | SortByIndicatorRule | SortFuncRule;\nexport type SortRules = SortRule[];\n//#endregion 排序规则\n\n//#region 过滤规则\nexport interface FilterRule {\n filterKey?: string;\n filteredValues?: unknown[];\n filterFunc?: (row: Record<string, any>) => boolean;\n}\nexport type FilterRules = FilterRule[];\n//#endregion 过滤规则\n\n//#region 聚合规则\nexport interface AggregationRule<T extends AggregationType> {\n /** 区别于field 重新起个key值,供配置indicators使用 */\n indicatorKey: string;\n // 可以收集单个字段的聚合结果,或者收集多个字段的聚合结果\n field: T extends AggregationType.RECORD ? string[] | string : string;\n aggregationType: T;\n /**计算结果格式化 */\n formatFun?: (num: number) => string;\n}\nexport type AggregationRules = AggregationRule<AggregationType>[];\n//#endregion 聚合规则\n\n//#region 映射规则\nexport interface MappingRule {\n label?: LabelMapping;\n symbol?: SymbolMapping;\n bgColor?: MappingFuncRule;\n}\nexport type MappingRules = MappingRule[];\nexport interface LabelMapping {\n text?: MappingFuncRule;\n color?: MappingFuncRule;\n}\nexport interface SymbolMapping {\n shape?: 'circle' | 'rect';\n color?: MappingFuncRule;\n size?: MappingFuncRule;\n}\n\nexport type MappingFuncRule = {\n indicatorKey: string;\n mapping?: (table: any, value: number) => string;\n};\n\n//#endregion 映射规则\nexport interface DerivedFieldRule {\n fieldName?: string;\n derivedFunc?: (record: Record<string, any>) => any;\n}\nexport type DerivedFieldRules = DerivedFieldRule[];\n/**\n * 数据处理配置\n */\nexport interface IDataConfig {\n // rows: string[]; //行维度字段数组;\n // columns: string[]; //列维度字段数组;\n aggregationRules?: AggregationRules; //按照行列维度聚合值计算规则;\n // indicators?: string[]; //具体展示指标;\n // descriptions?: any[]; //字段标题及描述信息;\n sortRules?: SortRules; //排序规则;\n filterRules?: FilterRules; //过滤规则;\n totals?: Totals; //小计或总计;\n // indicatorsAsCol?: boolean;\n // hideIndicatorName?: boolean;\n\n mappingRules?: MappingRules;\n derivedFieldRules?: DerivedFieldRules;\n\n collectValuesBy?: Record<string, CollectValueBy>;\n isPivotChart?: boolean;\n dimensionSortArray?: string[];\n}\n\n/** 在处理数据的过程中 去额外收集某个维度的维度值范围 可为离散值或者连续值范围 */\nexport type CollectValueBy = {\n // field: string;\n by: string[];\n /** 是否计算一个range范围 true的话对应的收集数据的结果为{max:number,min:number} */\n range?: boolean;\n /** 收集是按照sumBy字段相同的进行分组聚合 聚合结果求最大最小值;如果不设置该值 则按单条数据求最大最小值 */\n sumBy?: string[];\n /** 帮助计算列宽使用 如果是chart图表 收集的是xFiled的维度值 可以根据维度值的个数乘于图元宽度计算一个最优列宽*/\n type?: 'xField' | 'yField' | undefined;\n};\nexport type CollectedValue = { max?: number; min?: number } | Set<string>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/pivot-table/indicator/basic-indicator.ts"],"names":[],"mappings":"","file":"basic-indicator.js","sourcesContent":["import type { ICustomRender } from '../../customElement';\nimport type { ICustomLayout } from '../../customLayout';\nimport type { FieldFormat } from '../../table-engine';\nimport type { ColumnIconOption } from '../../icon';\nimport type { MenuListItem } from '../../menu';\nimport type { CellInfo } from '../../common';\n\nexport interface IBasicHeaderIndicator {\n // 单种指标属性配置\n indicatorKey: string; // 指标的唯一标识 用处对应到具体数据查询阶段 flat数据\n caption?: string; // 指标名\n // headerType?: HeaderTypeOption | null; //指标表头类型\n // headerStyle?: HeaderStyleOption | null; //指标名称在表头部分显示类型\n headerIcon?: (string | ColumnIconOption)[] | ((args: CellInfo) => (string | ColumnIconOption)[]);\n\n // linkJump?: boolean;\n // linkDetect?: boolean;\n // templateLink?: string;\n\n // chartSpec?: any | ((arg0: CustomRenderFunctionArg) => any);\n // chartType?: string; // 如果配置了columnType未chart,chartType来指定图表组件类型 如'vchart' 需要从预先register的图表类型获取\n // sparklineSpec?: SparklineSpec | ((arg0: CustomRenderFunctionArg) => SparklineSpec);\n\n dropDownMenu?: MenuListItem[]; // 针对单独指标上配置下拉按钮\n showSort?: boolean; // 否显示排序icon\n disableColumnResize?: boolean; // 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n\n /** 指标名称表头自定义渲染内容定义 */\n headerCustomRender?: ICustomRender; // header单元格的自定义内容\n /** 指标名称表头自定义布局元素 */\n headerCustomLayout?: ICustomLayout;\n}\n\nexport interface IBasicColumnIndicator {\n width?: string | number;\n minWidth?: number | string;\n maxWidth?: number | string;\n format?: FieldFormat; // 指标值格式化\n headerFormat?: FieldFormat; // 指标名称格式化\n // columnType?: ColumnTypeOption | BaseColumn<any, any> | null; // body指标值显示类型\n // style?: ColumnStyleOption | null; // body部分指标值显示样式\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n /** 指标值body单元格自定义渲染内容定义 */\n customRender?: ICustomRender; // body单元格的自定义内容\n /** 指标值body单元格自定义布局元素 */\n customLayout?: ICustomLayout;\n}\n"]}
1
+ {"version":3,"sources":["ts-types/pivot-table/indicator/basic-indicator.ts"],"names":[],"mappings":"","file":"basic-indicator.js","sourcesContent":["import type { ICustomRender } from '../../customElement';\nimport type { ICustomLayout } from '../../customLayout';\nimport type { FieldFormat } from '../../table-engine';\nimport type { ColumnIconOption } from '../../icon';\nimport type { MenuListItem } from '../../menu';\nimport type { CellInfo } from '../../common';\n\nexport interface IBasicHeaderIndicator {\n // 单种指标属性配置\n indicatorKey: string; // 指标的唯一标识 用处对应到具体数据查询阶段 flat数据\n caption?: string; // 指标名\n // headerType?: HeaderTypeOption | null; //指标表头类型\n // headerStyle?: HeaderStyleOption | null; //指标名称在表头部分显示类型\n headerIcon?: (string | ColumnIconOption)[] | ((args: CellInfo) => (string | ColumnIconOption)[]);\n\n // linkJump?: boolean;\n // linkDetect?: boolean;\n // templateLink?: string;\n\n // chartSpec?: any | ((arg0: CustomRenderFunctionArg) => any);\n // chartModule?: string; // 如果配置了columnType未chart,chartType来指定图表组件类型 如'vchart' 需要从预先register的图表类型获取\n // sparklineSpec?: SparklineSpec | ((arg0: CustomRenderFunctionArg) => SparklineSpec);\n\n dropDownMenu?: MenuListItem[]; // 针对单独指标上配置下拉按钮\n showSort?: boolean; // 否显示排序icon\n disableColumnResize?: boolean; // 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n\n /** 指标名称表头自定义渲染内容定义 */\n headerCustomRender?: ICustomRender; // header单元格的自定义内容\n /** 指标名称表头自定义布局元素 */\n headerCustomLayout?: ICustomLayout;\n}\n\nexport interface IBasicColumnIndicator {\n width?: string | number;\n minWidth?: number | string;\n maxWidth?: number | string;\n format?: FieldFormat; // 指标值格式化\n headerFormat?: FieldFormat; // 指标名称格式化\n // columnType?: ColumnTypeOption | BaseColumn<any, any> | null; // body指标值显示类型\n // style?: ColumnStyleOption | null; // body部分指标值显示样式\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n /** 指标值body单元格自定义渲染内容定义 */\n customRender?: ICustomRender; // body单元格的自定义内容\n /** 指标值body单元格自定义布局元素 */\n customLayout?: ICustomLayout;\n}\n"]}
@@ -5,6 +5,6 @@ import type { IBasicColumnIndicator } from './basic-indicator';
5
5
  export interface IChartColumnIndicator extends IBasicColumnIndicator {
6
6
  columnType: 'chart';
7
7
  style?: IStyleOption | ((styleArg: StylePropertyFunctionArg) => IStyleOption);
8
- chartType?: string;
8
+ chartModule?: string;
9
9
  chartSpec?: any | ((arg0: CellInfo) => any);
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/pivot-table/indicator/chart-indicator.ts"],"names":[],"mappings":"","file":"chart-indicator.js","sourcesContent":["import type { IStyleOption } from '../../column';\nimport type { CellInfo } from '../../common';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicColumnIndicator } from './basic-indicator';\n\nexport interface IChartColumnIndicator extends IBasicColumnIndicator {\n columnType: 'chart'; // body指标值显示类型\n style?: IStyleOption | ((styleArg: StylePropertyFunctionArg) => IStyleOption); // body部分指标值显示样式\n\n chartType?: string; // 如果是绘制图表库组件的图表类型 需要将注入的组件名称 写到chartType\n chartSpec?: any | ((arg0: CellInfo) => any); // 如果是绘制图表库组件的图表类型 统一图表配置chartSpec\n}\n"]}
1
+ {"version":3,"sources":["ts-types/pivot-table/indicator/chart-indicator.ts"],"names":[],"mappings":"","file":"chart-indicator.js","sourcesContent":["import type { IStyleOption } from '../../column';\nimport type { CellInfo } from '../../common';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicColumnIndicator } from './basic-indicator';\n\nexport interface IChartColumnIndicator extends IBasicColumnIndicator {\n columnType: 'chart'; // body指标值显示类型\n style?: IStyleOption | ((styleArg: StylePropertyFunctionArg) => IStyleOption); // body部分指标值显示样式\n\n chartModule?: string; // 如果是绘制图表库组件的图表类型 需要将注入的组件名称 写到chartType\n chartSpec?: any | ((arg0: CellInfo) => any); // 如果是绘制图表库组件的图表类型 统一图表配置chartSpec\n}\n"]}
@@ -49,6 +49,11 @@ export interface ITableThemeDefine {
49
49
  underlayBackgroundColor?: string;
50
50
  defaultStyle?: ThemeStyle;
51
51
  cornerHeaderStyle?: ThemeStyle;
52
+ cornerRightTopCellStyle?: ThemeStyle;
53
+ cornerLeftBottomCellStyle?: ThemeStyle;
54
+ cornerRightBottomCellStyle?: ThemeStyle;
55
+ rightFrozenStyle?: ThemeStyle;
56
+ bottomFrozenStyle?: ThemeStyle;
52
57
  headerStyle?: ThemeStyle;
53
58
  rowHeaderStyle?: ThemeStyle;
54
59
  bodyStyle?: ThemeStyle;
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["/* eslint-disable sort-imports */\nimport type { ColorsDef, LineDashsDef, LineWidthsDef, LineWidthsPropertyDefine } from '.';\nimport type { ITextStyleOption } from './column/style';\nimport type { ColorPropertyDefine, ColorsPropertyDefine } from './style-define';\nimport type { ColumnIconOption } from './icon';\n// ****** Custom Theme *******\nexport type PartialTableThemeDefine = Partial<ITableThemeDefine>;\nexport type ThemeStyle = ITextStyleOption & {\n hover?: Omit<InteractionStyle, 'cellBorderColor' | 'cellBorderLineWidth'>; //鼠标hover到某个单元格\n // click?: Omit<InteractionStyle, 'inlineRowBgColor' | 'inlineColumnBgColor'>; //鼠标点击到某个单元格\n frameStyle?: FrameStyle;\n};\nexport type InteractionStyle = {\n cellBorderColor?: ColorsPropertyDefine; //交互所在单元格的边框颜色\n cellBorderLineWidth?: LineWidthsPropertyDefine;\n // cellBorderLineDash?:LineDashsPropertyDefine,//用到的场景应该不多\n cellBgColor?: ColorPropertyDefine; //交互所在单元格的背景颜色\n // inlineRowBorderColor?: ColorsPropertyDefine,//交互所在整行的边框颜色\n inlineRowBgColor?: ColorPropertyDefine; //交互所在整行的背景颜色\n // inlineColBorderColor?: ColorsPropertyDefine,//交互所在整列的边框颜色\n inlineColumnBgColor?: ColorPropertyDefine; //交互所在整列的背景颜色\n // headerHighlightBorderColor?:ColorPropertyDefine,//表头底部高亮线\n};\nexport type FrameStyle = {\n borderColor?: ColorsDef;\n borderLineWidth?: LineWidthsDef;\n borderLineDash?: LineDashsDef;\n};\nexport type TableFrameStyle = FrameStyle & {\n shadowBlur?: number; //阴影宽度\n shadowOffsetX?: number; //x方向偏移\n shadowOffsetY?: number; //Y方向偏移\n shadowColor?: string; //阴影颜色\n cornerRadius?: number; //边框圆角半径\n};\nexport type menuStyle = {\n color?: string;\n highlightColor?: string;\n font?: string;\n highlightFont?: string;\n hoverBgColor?: string;\n};\nexport type ScrollStyle = {\n /**滚动条滚动的颜色 */\n scrollRailColor?: string;\n /**滚动条滑块的颜色 */\n scrollSliderColor?: string;\n /**滚动条宽度大小 */\n width?: number;\n /**滚动条是否可见 'always' | 'scrolling' | 'none' | 'focus',常驻|滚动时|不显示|聚焦在画布上时 */\n visible?: 'always' | 'scrolling' | 'none' | 'focus';\n /*** 悬浮与容器上,还是独立于容器外 */\n hoverOn?: boolean;\n};\n/**\n * 气泡框,按钮的的解释信息\n */\nexport type TooltipStyle = {\n font?: string;\n color?: string;\n padding?: number[];\n bgColor?: string;\n /** !目前未实现该逻辑。触发行为:hover or click */\n // trigger?: string | string[];\n /**气泡框位置,可选 top left right bottom */\n // placement?: Placement;\n};\nexport interface ITableThemeDefine {\n /** 表格绘制范围外的canvas上填充的颜色 */\n underlayBackgroundColor?: string;\n // selectionBgColor?: ColorPropertyDefine; //多选单元格背景色 手动设置的多选 非框选\n defaultStyle?: ThemeStyle;\n cornerHeaderStyle?: ThemeStyle; //角头样式\n headerStyle?: ThemeStyle;\n rowHeaderStyle?: ThemeStyle;\n bodyStyle?: ThemeStyle;\n frameStyle?: TableFrameStyle;\n //列调整宽度的直线\n columnResize?: {\n lineColor: ColorPropertyDefine; //上面线的颜色\n bgColor?: ColorPropertyDefine; //背景线的颜色\n lineWidth: number; //上面线的宽度\n width?: number; //背景线的宽度\n };\n //拖拽表格换位分割线的样式\n dragHeaderSplitLine?: {\n lineColor: ColorPropertyDefine; //上面线的颜色\n lineWidth: number; //上面线的宽度\n shadowBlockColor?: string; //拖拽时阴影区域的颜色\n };\n //冻结列后面的效果\n frozenColumnLine?: {\n shadow?: {\n //默认效果 会有阴影配置\n width: number; //阴影整体宽度\n startColor: string; //开始颜色\n endColor: string; //结束颜色\n };\n /** TODO 暂未生效 */\n border?: {\n //有些需求要两种效果 这里配置滚动前的边框效果(实现方式是两条线叠加产生),滚动后按上面的阴影效果\n lineColor: ColorPropertyDefine; //上面线的颜色\n bgColor?: ColorPropertyDefine; //背景线的颜色\n lineWidth: number; //上面线的宽度\n width?: number; //背景线的宽度\n };\n };\n\n // menuStyle?: menuStyle;\n scrollStyle?: ScrollStyle;\n tooltipStyle?: TooltipStyle;\n // selectHeaderHighlight?: boolean;\n /** 选择框样式 */\n selectionStyle?: //Omit<InteractionStyle, 'inlineRowBgColor' | 'inlineColumnBgColor'>; //鼠标点击到某个单元格\n {\n cellBorderColor?: string; //边框颜色\n cellBorderLineWidth?: number; //边框线宽度\n cellBgColor?: string; //选择框背景颜色\n };\n}\n\nexport type RequiredTableThemeDefine = Required<ITableThemeDefine>;\n"]}
1
+ {"version":3,"sources":["ts-types/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["/* eslint-disable sort-imports */\nimport type { ColorsDef, LineDashsDef, LineWidthsDef, LineWidthsPropertyDefine } from '.';\nimport type { ITextStyleOption } from './column/style';\nimport type { ColorPropertyDefine, ColorsPropertyDefine } from './style-define';\nimport type { ColumnIconOption } from './icon';\n// ****** Custom Theme *******\nexport type PartialTableThemeDefine = Partial<ITableThemeDefine>;\nexport type ThemeStyle = ITextStyleOption & {\n hover?: Omit<InteractionStyle, 'cellBorderColor' | 'cellBorderLineWidth'>; //鼠标hover到某个单元格\n // click?: Omit<InteractionStyle, 'inlineRowBgColor' | 'inlineColumnBgColor'>; //鼠标点击到某个单元格\n frameStyle?: FrameStyle;\n};\nexport type InteractionStyle = {\n cellBorderColor?: ColorsPropertyDefine; //交互所在单元格的边框颜色\n cellBorderLineWidth?: LineWidthsPropertyDefine;\n // cellBorderLineDash?:LineDashsPropertyDefine,//用到的场景应该不多\n cellBgColor?: ColorPropertyDefine; //交互所在单元格的背景颜色\n // inlineRowBorderColor?: ColorsPropertyDefine,//交互所在整行的边框颜色\n inlineRowBgColor?: ColorPropertyDefine; //交互所在整行的背景颜色\n // inlineColBorderColor?: ColorsPropertyDefine,//交互所在整列的边框颜色\n inlineColumnBgColor?: ColorPropertyDefine; //交互所在整列的背景颜色\n // headerHighlightBorderColor?:ColorPropertyDefine,//表头底部高亮线\n};\nexport type FrameStyle = {\n borderColor?: ColorsDef;\n borderLineWidth?: LineWidthsDef;\n borderLineDash?: LineDashsDef;\n};\nexport type TableFrameStyle = FrameStyle & {\n shadowBlur?: number; //阴影宽度\n shadowOffsetX?: number; //x方向偏移\n shadowOffsetY?: number; //Y方向偏移\n shadowColor?: string; //阴影颜色\n cornerRadius?: number; //边框圆角半径\n};\nexport type menuStyle = {\n color?: string;\n highlightColor?: string;\n font?: string;\n highlightFont?: string;\n hoverBgColor?: string;\n};\nexport type ScrollStyle = {\n /**滚动条滚动的颜色 */\n scrollRailColor?: string;\n /**滚动条滑块的颜色 */\n scrollSliderColor?: string;\n /**滚动条宽度大小 */\n width?: number;\n /**滚动条是否可见 'always' | 'scrolling' | 'none' | 'focus',常驻|滚动时|不显示|聚焦在画布上时 */\n visible?: 'always' | 'scrolling' | 'none' | 'focus';\n /*** 悬浮与容器上,还是独立于容器外 */\n hoverOn?: boolean;\n};\n/**\n * 气泡框,按钮的的解释信息\n */\nexport type TooltipStyle = {\n font?: string;\n color?: string;\n padding?: number[];\n bgColor?: string;\n /** !目前未实现该逻辑。触发行为:hover or click */\n // trigger?: string | string[];\n /**气泡框位置,可选 top left right bottom */\n // placement?: Placement;\n};\nexport interface ITableThemeDefine {\n /** 表格绘制范围外的canvas上填充的颜色 */\n underlayBackgroundColor?: string;\n // selectionBgColor?: ColorPropertyDefine; //多选单元格背景色 手动设置的多选 非框选\n defaultStyle?: ThemeStyle;\n cornerHeaderStyle?: ThemeStyle; //角头样式\n cornerRightTopCellStyle?: ThemeStyle; // 右上角占位单元格样式\n cornerLeftBottomCellStyle?: ThemeStyle; // 左下角占位单元格样式\n cornerRightBottomCellStyle?: ThemeStyle; // 右下角占位单元格样式\n rightFrozenStyle?: ThemeStyle; // 右侧冻结单元格样式\n bottomFrozenStyle?: ThemeStyle; // 下部冻结单元格样式\n headerStyle?: ThemeStyle;\n rowHeaderStyle?: ThemeStyle;\n bodyStyle?: ThemeStyle;\n frameStyle?: TableFrameStyle;\n //列调整宽度的直线\n columnResize?: {\n lineColor: ColorPropertyDefine; //上面线的颜色\n bgColor?: ColorPropertyDefine; //背景线的颜色\n lineWidth: number; //上面线的宽度\n width?: number; //背景线的宽度\n };\n //拖拽表格换位分割线的样式\n dragHeaderSplitLine?: {\n lineColor: ColorPropertyDefine; //上面线的颜色\n lineWidth: number; //上面线的宽度\n shadowBlockColor?: string; //拖拽时阴影区域的颜色\n };\n //冻结列后面的效果\n frozenColumnLine?: {\n shadow?: {\n //默认效果 会有阴影配置\n width: number; //阴影整体宽度\n startColor: string; //开始颜色\n endColor: string; //结束颜色\n };\n /** TODO 暂未生效 */\n border?: {\n //有些需求要两种效果 这里配置滚动前的边框效果(实现方式是两条线叠加产生),滚动后按上面的阴影效果\n lineColor: ColorPropertyDefine; //上面线的颜色\n bgColor?: ColorPropertyDefine; //背景线的颜色\n lineWidth: number; //上面线的宽度\n width?: number; //背景线的宽度\n };\n };\n\n // menuStyle?: menuStyle;\n scrollStyle?: ScrollStyle;\n tooltipStyle?: TooltipStyle;\n // selectHeaderHighlight?: boolean;\n /** 选择框样式 */\n selectionStyle?: //Omit<InteractionStyle, 'inlineRowBgColor' | 'inlineColumnBgColor'>; //鼠标点击到某个单元格\n {\n cellBorderColor?: string; //边框颜色\n cellBorderLineWidth?: number; //边框线宽度\n cellBgColor?: string; //选择框背景颜色\n };\n}\n\nexport type RequiredTableThemeDefine = Required<ITableThemeDefine>;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vtable",
3
- "version": "0.9.2-alpha.3",
3
+ "version": "0.9.3-alpha.0",
4
4
  "description": "canvas table width high performance",
5
5
  "keywords": [
6
6
  "grid",
@@ -35,12 +35,12 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@visactor/vrender": "0.12.3",
39
- "@visactor/vutils": "0.9.0-alpha.2",
40
- "@visactor/vrender-components": "0.12.3",
38
+ "@visactor/vrender": "~0.13.0",
39
+ "@visactor/vrender-components": "~0.13.0",
40
+ "@visactor/vutils": "~0.13.3",
41
+ "@visactor/vscale": "~0.13.3",
42
+ "@visactor/vdataset": "~0.13.3",
41
43
  "cssfontparser": "^1.2.1",
42
- "@visactor/vscale": "0.9.0-alpha.2",
43
- "@visactor/vdataset": "0.11.1",
44
44
  "d3-dsv": "^3.0.1",
45
45
  "d3-array": "3.2.3",
46
46
  "d3-geo": "^3.0.1",
@@ -87,9 +87,9 @@
87
87
  "node-fetch": "2.6.7",
88
88
  "form-data": "~4.0.0",
89
89
  "axios": "~1.4.0",
90
- "@internal/eslint-config": "0.0.1",
91
90
  "@internal/ts-config": "0.0.1",
92
- "@internal/bundler": "0.0.1"
91
+ "@internal/bundler": "0.0.1",
92
+ "@internal/eslint-config": "0.0.1"
93
93
  },
94
94
  "unpkg": "latest",
95
95
  "unpkgFiles": [
@@ -108,6 +108,6 @@
108
108
  "start": "vite ./vite",
109
109
  "test": "jest --silent",
110
110
  "test-cov": "jest --coverage",
111
- "ci": "node github-ci.js"
111
+ "ci": "ts-node --transpileOnly --skipProject ./scripts/trigger-test.ts"
112
112
  }
113
113
  }
package/cjs/chartType.js DELETED
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.get = void 0;
6
-
7
- const helper_1 = require("./tools/helper"), chartTypes_1 = require("./plugins/chartTypes"), builtin = {};
8
-
9
- function get() {
10
- return (0, helper_1.extend)(builtin, chartTypes_1.chartTypes);
11
- }
12
-
13
- exports.get = get;
14
- //# sourceMappingURL=chartType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["chartType.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,qDAA6D;AAC7D,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,SAAgB,GAAG;IACjB,OAAO,IAAA,eAAM,EAAC,OAAO,EAAE,uBAAO,CAAC,CAAC;AAClC,CAAC;AAFD,kBAEC","file":"chartType.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { extend } from './tools/helper';\nimport { chartTypes as plugins } from './plugins/chartTypes';\nconst builtin = {};\nexport function get(): { [key: string]: any } {\n return extend(builtin, plugins);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["layout/pivot-chart/get-axis-config.ts"],"names":[],"mappings":"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","file":"get-axis-config.js","sourcesContent":["import { merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotChart } from '../../PivotChart';\n\nexport function getAxisConfigInPivotChart(col: number, row: number, layout: PivotLayoutMap): any {\n if (!layout._table.isPivotChart()) {\n return undefined;\n }\n\n // 是否是指标\n if (layout.indicatorsAsCol) {\n if (\n layout.hasTwoIndicatorAxes &&\n row === layout.columnHeaderLevelCount - 1 &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, layout.columnHeaderLevelCount - 1);\n const defaultKey = indicatorKeys[1];\n if (!defaultKey) {\n return undefined;\n }\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range = data[layout.getColKeysPath()[index][layout.columnHeaderLevelCount - 1 - layout.topAxesCount]];\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'top';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 顶部副指标轴\n return merge({}, axisOption, {\n orient: 'top',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n visible: false\n }\n });\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const defaultKey = indicatorKeys[0];\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range = data[layout.getColKeysPath()[index][layout.columnHeaderLevelCount - 1 - layout.topAxesCount]];\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'bottom';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 底侧指标轴\n return merge({}, axisOption, {\n orient: 'bottom',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n // visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n }\n });\n } else if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.rowHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];\n const data = layout.dataset.collectedValues[rowDimensionKey];\n\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Set<string>;\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'left';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧维度轴\n return merge({}, axisOption, {\n orient: 'left',\n type: 'band',\n data: Array.from(domain).reverse(),\n title: {\n visible: false\n }\n });\n }\n } else {\n if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const defaultKey = indicatorKeys[0];\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range = data[layout.getRowKeysPath()[index][layout.rowHeaderLevelCount - 1 - layout.leftAxesCount]];\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'left';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧指标轴\n return merge({}, axisOption, {\n orient: 'left',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n // visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n }\n });\n } else if (\n col === layout.colCount - layout.rightFrozenColCount &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(layout.rowHeaderLevelCount - 1, row);\n const defaultKey = indicatorKeys[1];\n if (!defaultKey) {\n return undefined;\n }\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range = data[layout.getRowKeysPath()[index][layout.rowHeaderLevelCount - 1 - layout.leftAxesCount]];\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'right';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 右侧副指标轴\n return merge({}, axisOption, {\n orient: 'right',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n visible: false\n }\n });\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n // const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n\n const columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n const data = layout.dataset.collectedValues[columnDimensionKey];\n\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = data[colPath[colPath.length - 1]] as Set<string>;\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'bottom';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 底部维度轴\n return merge({}, axisOption, {\n orient: 'bottom',\n type: 'band',\n data: Array.from(domain),\n title: {\n visible: false\n }\n });\n }\n }\n\n return undefined;\n}\n"]}
@@ -1,4 +0,0 @@
1
- import type { PivotLayoutMap } from '../pivot-layout';
2
- export declare function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap): any;
3
- export declare function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any;
4
- export declare function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["layout/pivot-chart/get-chart-spec.ts"],"names":[],"mappings":"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","file":"get-chart-spec.js","sourcesContent":["import { cloneDeep, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { PivotChart } from '../../PivotChart';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\n\nexport function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n const paths = layout.getCellHeaderPaths(col, row);\n let indicatorObj;\n if (layout.indicatorsAsCol) {\n const indicatorKey = paths.colHeaderPaths.find(colPath => colPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n } else {\n const indicatorKey = paths.rowHeaderPaths.find(rowPath => rowPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n }\n // const indicatorKeys: string[] = [];\n const chartSpec = indicatorObj?.chartSpec;\n\n return chartSpec;\n}\n\nexport function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n let chartSpec = layout.getRawChartSpec(col, row);\n if (chartSpec) {\n chartSpec = cloneDeep(chartSpec);\n chartSpec.axes = layout.getChartAxes(col, row);\n chartSpec.padding = 0;\n return chartSpec;\n }\n return null;\n}\n\nexport function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any {\n const axes = [];\n if (layout.indicatorsAsCol) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const colIndex = layout.getRecordIndexByCol(col);\n indicatorKeys.forEach((key, index) => {\n // const data = layout.dataset.collectedValues[key];\n const data = layout.dataset.collectedValues[key + '_align']\n ? layout.dataset.collectedValues[key + '_align']\n : layout.dataset.collectedValues[key];\n const range = data[layout.getColKeysPath()[colIndex][layout.columnHeaderLevelCount - 1 - layout.topAxesCount]];\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === (index === 0 ? 'bottom' : 'top');\n });\n axes.push(\n merge({}, axisOption, {\n type: 'linear',\n orient: index === 0 ? 'bottom' : 'top',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n range,\n seriesIndex: index\n })\n );\n });\n\n const rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];\n const data = layout.dataset.collectedValues[rowDimensionKey];\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Set<string>;\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'left';\n });\n axes.push(\n merge({}, axisOption, {\n type: 'band',\n orient: 'left',\n // visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n // height: -1,\n width: -1,\n // autoIndent: false,\n domain: Array.from(domain)\n })\n );\n } else {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const rowIndex = layout.getRecordIndexByRow(row);\n indicatorKeys.forEach((key, index) => {\n const data = layout.dataset.collectedValues[key + '_align']\n ? layout.dataset.collectedValues[key + '_align']\n : layout.dataset.collectedValues[key];\n const range = data[layout.getRowKeysPath()[rowIndex][layout.rowHeaderLevelCount - 1 - layout.leftAxesCount]];\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === (index === 0 ? 'left' : 'right');\n });\n axes.push(\n merge({}, axisOption, {\n type: 'linear',\n orient: index === 0 ? 'left' : 'right',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n range,\n seriesIndex: index\n // grid: index === 0 ? undefined : { visible: false }\n })\n );\n });\n\n const columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n const data = layout.dataset.collectedValues[columnDimensionKey];\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = data[colPath[colPath.length - 1]] as Set<string>;\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'bottom';\n });\n axes.push(\n merge({}, axisOption, {\n type: 'band',\n orient: 'bottom',\n visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n height: -1,\n // autoIndent: false,\n domain: Array.from(domain)\n })\n );\n }\n return axes;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["plugins/chartTypes.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAA2B,EAAE,CAAC","file":"chartTypes.js","sourcesContent":["export const chartTypes: { [key: string]: any } = {};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["chartType.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC7D,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,UAAU,GAAG;IACjB,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC","file":"chartType.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { extend } from './tools/helper';\nimport { chartTypes as plugins } from './plugins/chartTypes';\nconst builtin = {};\nexport function get(): { [key: string]: any } {\n return extend(builtin, plugins);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["layout/pivot-chart/get-axis-config.ts"],"names":[],"mappings":"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","file":"get-axis-config.js","sourcesContent":["import { merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\nimport type { PivotChart } from '../../PivotChart';\n\nexport function getAxisConfigInPivotChart(col: number, row: number, layout: PivotLayoutMap): any {\n if (!layout._table.isPivotChart()) {\n return undefined;\n }\n\n // 是否是指标\n if (layout.indicatorsAsCol) {\n if (\n layout.hasTwoIndicatorAxes &&\n row === layout.columnHeaderLevelCount - 1 &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, layout.columnHeaderLevelCount - 1);\n const defaultKey = indicatorKeys[1];\n if (!defaultKey) {\n return undefined;\n }\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range = data[layout.getColKeysPath()[index][layout.columnHeaderLevelCount - 1 - layout.topAxesCount]];\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'top';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 顶部副指标轴\n return merge({}, axisOption, {\n orient: 'top',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n visible: false\n }\n });\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const defaultKey = indicatorKeys[0];\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByCol(col);\n const range = data[layout.getColKeysPath()[index][layout.columnHeaderLevelCount - 1 - layout.topAxesCount]];\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'bottom';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 底侧指标轴\n return merge({}, axisOption, {\n orient: 'bottom',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n // visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n }\n });\n } else if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.rowHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, row)[0];\n const data = layout.dataset.collectedValues[rowDimensionKey];\n\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Set<string>;\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'left';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧维度轴\n return merge({}, axisOption, {\n orient: 'left',\n type: 'band',\n data: Array.from(domain).reverse(),\n title: {\n visible: false\n }\n });\n }\n } else {\n if (\n col === layout.rowHeaderLevelCount - 1 &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const defaultKey = indicatorKeys[0];\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range = data[layout.getRowKeysPath()[index][layout.rowHeaderLevelCount - 1 - layout.leftAxesCount]];\n let indicatorInfo = null;\n indicatorKeys.forEach(key => {\n const info = layout.getIndicatorInfo(key);\n if (info) {\n indicatorInfo = info;\n }\n });\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'left';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 左侧指标轴\n return merge({}, axisOption, {\n orient: 'left',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n // visible: true,\n text: (indicatorInfo as any)?.caption,\n autoRotate: true\n }\n });\n } else if (\n col === layout.colCount - layout.rightFrozenColCount &&\n row >= layout.columnHeaderLevelCount &&\n row < layout.rowCount - layout.bottomFrozenRowCount\n ) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(layout.rowHeaderLevelCount - 1, row);\n const defaultKey = indicatorKeys[1];\n if (!defaultKey) {\n return undefined;\n }\n // const data = layout.dataset.collectedValues[defaultKey];\n const data = layout.dataset.collectedValues[defaultKey + '_align']\n ? layout.dataset.collectedValues[defaultKey + '_align']\n : layout.dataset.collectedValues[defaultKey];\n const index = layout.getRecordIndexByRow(row);\n const range = data[layout.getRowKeysPath()[index][layout.rowHeaderLevelCount - 1 - layout.leftAxesCount]];\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'right';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 右侧副指标轴\n return merge({}, axisOption, {\n orient: 'right',\n type: 'linear',\n range: range,\n label: {\n flush: true\n },\n // grid: {\n // visible: true\n // },\n title: {\n visible: false\n }\n });\n } else if (\n row === layout.rowCount - layout.bottomFrozenRowCount &&\n col >= layout.rowHeaderLevelCount &&\n col < layout.colCount - layout.rightFrozenColCount\n ) {\n // const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n\n const columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n const data = layout.dataset.collectedValues[columnDimensionKey];\n\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = data[colPath[colPath.length - 1]] as Set<string>;\n\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'bottom';\n });\n if (axisOption?.visible === false) {\n return;\n }\n // 底部维度轴\n return merge({}, axisOption, {\n orient: 'bottom',\n type: 'band',\n data: Array.from(domain),\n title: {\n visible: false\n }\n });\n }\n }\n\n return undefined;\n}\n"]}
@@ -1,4 +0,0 @@
1
- import type { PivotLayoutMap } from '../pivot-layout';
2
- export declare function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap): any;
3
- export declare function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any;
4
- export declare function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["layout/pivot-chart/get-chart-spec.ts"],"names":[],"mappings":"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","file":"get-chart-spec.js","sourcesContent":["import { cloneDeep, merge } from '@visactor/vutils';\nimport type { PivotLayoutMap } from '../pivot-layout';\nimport type { PivotChart } from '../../PivotChart';\nimport type { ITableAxisOption } from '../../ts-types/component/axis';\n\nexport function getRawChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n const paths = layout.getCellHeaderPaths(col, row);\n let indicatorObj;\n if (layout.indicatorsAsCol) {\n const indicatorKey = paths.colHeaderPaths.find(colPath => colPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n } else {\n const indicatorKey = paths.rowHeaderPaths.find(rowPath => rowPath.indicatorKey)?.indicatorKey;\n indicatorObj = layout.columnObjects.find(indicator => indicator.indicatorKey === indicatorKey);\n }\n // const indicatorKeys: string[] = [];\n const chartSpec = indicatorObj?.chartSpec;\n\n return chartSpec;\n}\n\nexport function getChartSpec(col: number, row: number, layout: PivotLayoutMap): any {\n let chartSpec = layout.getRawChartSpec(col, row);\n if (chartSpec) {\n chartSpec = cloneDeep(chartSpec);\n chartSpec.axes = layout.getChartAxes(col, row);\n chartSpec.padding = 0;\n return chartSpec;\n }\n return null;\n}\n\nexport function getChartAxes(col: number, row: number, layout: PivotLayoutMap): any {\n const axes = [];\n if (layout.indicatorsAsCol) {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const colIndex = layout.getRecordIndexByCol(col);\n indicatorKeys.forEach((key, index) => {\n // const data = layout.dataset.collectedValues[key];\n const data = layout.dataset.collectedValues[key + '_align']\n ? layout.dataset.collectedValues[key + '_align']\n : layout.dataset.collectedValues[key];\n const range = data[layout.getColKeysPath()[colIndex][layout.columnHeaderLevelCount - 1 - layout.topAxesCount]];\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === (index === 0 ? 'bottom' : 'top');\n });\n axes.push(\n merge({}, axisOption, {\n type: 'linear',\n orient: index === 0 ? 'bottom' : 'top',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n range,\n seriesIndex: index\n })\n );\n });\n\n const rowDimensionKey = layout.getDimensionKeyInChartSpec(layout.rowHeaderLevelCount, col)[0];\n const data = layout.dataset.collectedValues[rowDimensionKey];\n const recordRow = layout.getRecordIndexByRow(row);\n const rowPath = layout.getRowKeysPath()[recordRow];\n const domain = data[rowPath[rowPath.length - 1]] as Set<string>;\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'left';\n });\n axes.push(\n merge({}, axisOption, {\n type: 'band',\n orient: 'left',\n // visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n // height: -1,\n width: -1,\n // autoIndent: false,\n domain: Array.from(domain)\n })\n );\n } else {\n const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);\n const rowIndex = layout.getRecordIndexByRow(row);\n indicatorKeys.forEach((key, index) => {\n const data = layout.dataset.collectedValues[key + '_align']\n ? layout.dataset.collectedValues[key + '_align']\n : layout.dataset.collectedValues[key];\n const range = data[layout.getRowKeysPath()[rowIndex][layout.rowHeaderLevelCount - 1 - layout.leftAxesCount]];\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === (index === 0 ? 'left' : 'right');\n });\n axes.push(\n merge({}, axisOption, {\n type: 'linear',\n orient: index === 0 ? 'left' : 'right',\n // visible: true,\n label: { visible: false },\n title: { visible: false },\n range,\n seriesIndex: index\n // grid: index === 0 ? undefined : { visible: false }\n })\n );\n });\n\n const columnDimensionKey = layout.getDimensionKeyInChartSpec(col, layout.columnHeaderLevelCount)[0];\n const data = layout.dataset.collectedValues[columnDimensionKey];\n const recordCol = layout.getRecordIndexByCol(col);\n const colPath = layout.getColKeysPath()[recordCol];\n const domain = data[colPath[colPath.length - 1]] as Set<string>;\n const axisOption = ((layout._table as PivotChart).pivotChartAxes as ITableAxisOption[]).find(axisOption => {\n return axisOption.orient === 'bottom';\n });\n axes.push(\n merge({}, axisOption, {\n type: 'band',\n orient: 'bottom',\n visible: true,\n label: { visible: false, space: 0 },\n domainLine: { visible: false },\n tick: { visible: false },\n subTick: { visible: false },\n title: { visible: false },\n height: -1,\n // autoIndent: false,\n domain: Array.from(domain)\n })\n );\n }\n return axes;\n}\n"]}
@@ -1,2 +0,0 @@
1
- export const chartTypes = {};
2
- //# sourceMappingURL=chartTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["plugins/chartTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAA2B,EAAE,CAAC","file":"chartTypes.js","sourcesContent":["export const chartTypes: { [key: string]: any } = {};\n"]}
File without changes
File without changes