@visactor/vtable 0.13.4 → 0.14.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 (311) hide show
  1. package/cjs/PivotTable.d.ts +2 -1
  2. package/cjs/PivotTable.js.map +1 -1
  3. package/cjs/body-helper/style/CheckboxStyle.d.ts +8 -2
  4. package/cjs/body-helper/style/CheckboxStyle.js +17 -3
  5. package/cjs/body-helper/style/CheckboxStyle.js.map +1 -1
  6. package/cjs/components/axis/get-axis-attributes.d.ts +7 -0
  7. package/cjs/components/axis/get-axis-attributes.js +13 -17
  8. package/cjs/components/axis/get-axis-attributes.js.map +1 -1
  9. package/cjs/components/legend/continue-legend/continue-legend.js +1 -0
  10. package/cjs/components/legend/continue-legend/continue-legend.js.map +1 -1
  11. package/cjs/components/legend/discrete-legend/discrete-legend.js +1 -0
  12. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  13. package/cjs/components/title/title.js +7 -6
  14. package/cjs/components/title/title.js.map +1 -1
  15. package/cjs/core/BaseTable.d.ts +1 -0
  16. package/cjs/core/BaseTable.js +28 -2
  17. package/cjs/core/BaseTable.js.map +1 -1
  18. package/cjs/dataset/dataset.d.ts +0 -1
  19. package/cjs/dataset/dataset.js +3 -43
  20. package/cjs/dataset/dataset.js.map +1 -1
  21. package/cjs/header-helper/header-helper.d.ts +2 -1
  22. package/cjs/header-helper/style/CheckboxStyle.d.ts +8 -2
  23. package/cjs/header-helper/style/CheckboxStyle.js +15 -1
  24. package/cjs/header-helper/style/CheckboxStyle.js.map +1 -1
  25. package/cjs/index.d.ts +1 -1
  26. package/cjs/index.js +1 -1
  27. package/cjs/index.js.map +1 -1
  28. package/cjs/layout/chart-helper/get-axis-config.js +71 -35
  29. package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
  30. package/cjs/layout/chart-helper/get-axis-domain.d.ts +1 -1
  31. package/cjs/layout/chart-helper/get-axis-domain.js +18 -8
  32. package/cjs/layout/chart-helper/get-axis-domain.js.map +1 -1
  33. package/cjs/layout/chart-helper/get-chart-spec.js +33 -17
  34. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  35. package/cjs/layout/chart-helper/zero-align.js.map +1 -0
  36. package/cjs/layout/pivot-header-layout.js +20 -11
  37. package/cjs/layout/pivot-header-layout.js.map +1 -1
  38. package/cjs/layout/simple-header-layout.js +2 -1
  39. package/cjs/layout/simple-header-layout.js.map +1 -1
  40. package/cjs/render/layout/arc.d.ts +10 -21
  41. package/cjs/render/layout/arc.js +7 -9
  42. package/cjs/render/layout/arc.js.map +1 -1
  43. package/cjs/render/layout/circle.d.ts +10 -17
  44. package/cjs/render/layout/circle.js +5 -6
  45. package/cjs/render/layout/circle.js.map +1 -1
  46. package/cjs/render/layout/container.d.ts +10 -48
  47. package/cjs/render/layout/container.js +15 -100
  48. package/cjs/render/layout/container.js.map +1 -1
  49. package/cjs/render/layout/group-element.d.ts +4 -24
  50. package/cjs/render/layout/group-element.js +4 -40
  51. package/cjs/render/layout/group-element.js.map +1 -1
  52. package/cjs/render/layout/group.d.ts +12 -0
  53. package/cjs/render/layout/group.js +18 -0
  54. package/cjs/render/layout/group.js.map +1 -0
  55. package/cjs/render/layout/icon.d.ts +10 -10
  56. package/cjs/render/layout/icon.js +11 -9
  57. package/cjs/render/layout/icon.js.map +1 -1
  58. package/cjs/render/layout/image.d.ts +10 -17
  59. package/cjs/render/layout/image.js +6 -7
  60. package/cjs/render/layout/image.js.map +1 -1
  61. package/cjs/render/layout/index.d.ts +2 -0
  62. package/cjs/render/layout/index.js +2 -1
  63. package/cjs/render/layout/index.js.map +1 -1
  64. package/cjs/render/layout/percent-calc.d.ts +1 -4
  65. package/cjs/render/layout/percent-calc.js.map +1 -1
  66. package/cjs/render/layout/rect.d.ts +10 -20
  67. package/cjs/render/layout/rect.js +5 -6
  68. package/cjs/render/layout/rect.js.map +1 -1
  69. package/cjs/render/layout/tag.d.ts +14 -0
  70. package/cjs/render/layout/tag.js +21 -0
  71. package/cjs/render/layout/tag.js.map +1 -0
  72. package/cjs/render/layout/text.d.ts +9 -46
  73. package/cjs/render/layout/text.js +8 -18
  74. package/cjs/render/layout/text.js.map +1 -1
  75. package/cjs/scenegraph/component/custom.d.ts +2 -2
  76. package/cjs/scenegraph/component/custom.js +14 -6
  77. package/cjs/scenegraph/component/custom.js.map +1 -1
  78. package/cjs/scenegraph/graphic/group.d.ts +6 -2
  79. package/cjs/scenegraph/graphic/group.js.map +1 -1
  80. package/cjs/scenegraph/group-creater/cell-helper.d.ts +3 -3
  81. package/cjs/scenegraph/group-creater/cell-helper.js +40 -40
  82. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  83. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -2
  84. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  85. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +22 -3
  86. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  87. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +2 -2
  88. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +2 -2
  89. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  90. package/cjs/scenegraph/group-creater/column-helper.d.ts +3 -2
  91. package/cjs/scenegraph/group-creater/column-helper.js +78 -46
  92. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  93. package/cjs/scenegraph/group-creater/progress/proxy.js +1 -1
  94. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  95. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -3
  96. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  97. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +4 -5
  98. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  99. package/cjs/scenegraph/icon/icon-update.d.ts +17 -0
  100. package/cjs/scenegraph/icon/icon-update.js +165 -0
  101. package/cjs/scenegraph/icon/icon-update.js.map +1 -0
  102. package/cjs/scenegraph/layout/compute-col-width.js +22 -15
  103. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  104. package/cjs/scenegraph/layout/compute-row-height.js +49 -15
  105. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  106. package/cjs/scenegraph/layout/move-cell.js +8 -27
  107. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  108. package/cjs/scenegraph/layout/update-height.js +39 -29
  109. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  110. package/cjs/scenegraph/layout/update-row.js +6 -2
  111. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  112. package/cjs/scenegraph/layout/update-width.js +43 -29
  113. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  114. package/cjs/scenegraph/scenegraph.d.ts +7 -13
  115. package/cjs/scenegraph/scenegraph.js +25 -141
  116. package/cjs/scenegraph/scenegraph.js.map +1 -1
  117. package/cjs/scenegraph/stick-text/index.js +77 -38
  118. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  119. package/cjs/scenegraph/utils/is-merge-cell-group.d.ts +2 -0
  120. package/cjs/scenegraph/utils/is-merge-cell-group.js +16 -0
  121. package/cjs/scenegraph/utils/is-merge-cell-group.js.map +1 -0
  122. package/cjs/scenegraph/utils/text-icon-layout.d.ts +1 -1
  123. package/cjs/scenegraph/utils/text-icon-layout.js +11 -5
  124. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  125. package/cjs/state/cell-move/index.js +14 -12
  126. package/cjs/state/cell-move/index.js.map +1 -1
  127. package/cjs/state/hover/is-cell-hover.js +4 -2
  128. package/cjs/state/hover/is-cell-hover.js.map +1 -1
  129. package/cjs/state/hover/update-cell.js +10 -5
  130. package/cjs/state/hover/update-cell.js.map +1 -1
  131. package/cjs/state/state.js +1 -1
  132. package/cjs/state/state.js.map +1 -1
  133. package/cjs/themes/BRIGHT.js +2 -1
  134. package/cjs/themes/DARK.js +1 -2
  135. package/cjs/tools/calc.js +1 -1
  136. package/cjs/tools/util.js +1 -1
  137. package/cjs/tools/util.js.map +1 -1
  138. package/cjs/ts-types/base-table.d.ts +9 -1
  139. package/cjs/ts-types/base-table.js.map +1 -1
  140. package/cjs/ts-types/column/style.d.ts +4 -1
  141. package/cjs/ts-types/column/style.js.map +1 -1
  142. package/cjs/ts-types/common.d.ts +2 -0
  143. package/cjs/ts-types/common.js.map +1 -1
  144. package/cjs/ts-types/table-engine.d.ts +13 -0
  145. package/cjs/ts-types/table-engine.js.map +1 -1
  146. package/dist/vtable.js +22152 -11275
  147. package/dist/vtable.min.js +2 -2
  148. package/es/PivotTable.d.ts +2 -1
  149. package/es/PivotTable.js.map +1 -1
  150. package/es/body-helper/style/CheckboxStyle.d.ts +8 -2
  151. package/es/body-helper/style/CheckboxStyle.js +17 -3
  152. package/es/body-helper/style/CheckboxStyle.js.map +1 -1
  153. package/es/components/axis/get-axis-attributes.d.ts +7 -0
  154. package/es/components/axis/get-axis-attributes.js +1 -1
  155. package/es/components/axis/get-axis-attributes.js.map +1 -1
  156. package/es/components/legend/continue-legend/continue-legend.js +1 -0
  157. package/es/components/legend/continue-legend/continue-legend.js.map +1 -1
  158. package/es/components/legend/discrete-legend/discrete-legend.js +1 -0
  159. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  160. package/es/components/title/title.js +6 -6
  161. package/es/components/title/title.js.map +1 -1
  162. package/es/core/BaseTable.d.ts +1 -0
  163. package/es/core/BaseTable.js +28 -2
  164. package/es/core/BaseTable.js.map +1 -1
  165. package/es/dataset/dataset.d.ts +0 -1
  166. package/es/dataset/dataset.js +2 -46
  167. package/es/dataset/dataset.js.map +1 -1
  168. package/es/header-helper/header-helper.d.ts +2 -1
  169. package/es/header-helper/style/CheckboxStyle.d.ts +8 -2
  170. package/es/header-helper/style/CheckboxStyle.js +15 -1
  171. package/es/header-helper/style/CheckboxStyle.js.map +1 -1
  172. package/es/index.d.ts +1 -1
  173. package/es/index.js +1 -1
  174. package/es/index.js.map +1 -1
  175. package/es/layout/chart-helper/get-axis-config.js +72 -33
  176. package/es/layout/chart-helper/get-axis-config.js.map +1 -1
  177. package/es/layout/chart-helper/get-axis-domain.d.ts +1 -1
  178. package/es/layout/chart-helper/get-axis-domain.js +20 -8
  179. package/es/layout/chart-helper/get-axis-domain.js.map +1 -1
  180. package/es/layout/chart-helper/get-chart-spec.js +33 -12
  181. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  182. package/es/layout/chart-helper/zero-align.js.map +1 -0
  183. package/es/layout/pivot-header-layout.js +20 -11
  184. package/es/layout/pivot-header-layout.js.map +1 -1
  185. package/es/layout/simple-header-layout.js +2 -1
  186. package/es/layout/simple-header-layout.js.map +1 -1
  187. package/es/render/layout/arc.d.ts +10 -21
  188. package/es/render/layout/arc.js +7 -7
  189. package/es/render/layout/arc.js.map +1 -1
  190. package/es/render/layout/circle.d.ts +10 -17
  191. package/es/render/layout/circle.js +7 -6
  192. package/es/render/layout/circle.js.map +1 -1
  193. package/es/render/layout/container.d.ts +10 -48
  194. package/es/render/layout/container.js +16 -107
  195. package/es/render/layout/container.js.map +1 -1
  196. package/es/render/layout/group-element.d.ts +4 -24
  197. package/es/render/layout/group-element.js +4 -42
  198. package/es/render/layout/group-element.js.map +1 -1
  199. package/es/render/layout/group.d.ts +12 -0
  200. package/es/render/layout/group.js +12 -0
  201. package/es/render/layout/group.js.map +1 -0
  202. package/es/render/layout/icon.d.ts +10 -10
  203. package/es/render/layout/icon.js +12 -10
  204. package/es/render/layout/icon.js.map +1 -1
  205. package/es/render/layout/image.d.ts +10 -17
  206. package/es/render/layout/image.js +8 -7
  207. package/es/render/layout/image.js.map +1 -1
  208. package/es/render/layout/index.d.ts +2 -0
  209. package/es/render/layout/index.js +4 -0
  210. package/es/render/layout/index.js.map +1 -1
  211. package/es/render/layout/percent-calc.d.ts +1 -4
  212. package/es/render/layout/percent-calc.js.map +1 -1
  213. package/es/render/layout/rect.d.ts +10 -20
  214. package/es/render/layout/rect.js +7 -6
  215. package/es/render/layout/rect.js.map +1 -1
  216. package/es/render/layout/tag.d.ts +14 -0
  217. package/es/render/layout/tag.js +15 -0
  218. package/es/render/layout/tag.js.map +1 -0
  219. package/es/render/layout/text.d.ts +9 -46
  220. package/es/render/layout/text.js +10 -18
  221. package/es/render/layout/text.js.map +1 -1
  222. package/es/scenegraph/component/custom.d.ts +2 -2
  223. package/es/scenegraph/component/custom.js +15 -7
  224. package/es/scenegraph/component/custom.js.map +1 -1
  225. package/es/scenegraph/graphic/group.d.ts +6 -2
  226. package/es/scenegraph/graphic/group.js.map +1 -1
  227. package/es/scenegraph/group-creater/cell-helper.d.ts +3 -3
  228. package/es/scenegraph/group-creater/cell-helper.js +41 -40
  229. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  230. package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -2
  231. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  232. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +22 -2
  233. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  234. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +2 -2
  235. package/es/scenegraph/group-creater/cell-type/text-cell.js +2 -2
  236. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  237. package/es/scenegraph/group-creater/column-helper.d.ts +3 -2
  238. package/es/scenegraph/group-creater/column-helper.js +75 -44
  239. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  240. package/es/scenegraph/group-creater/progress/proxy.js +1 -1
  241. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  242. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +3 -4
  243. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  244. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -6
  245. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  246. package/es/scenegraph/icon/icon-update.d.ts +17 -0
  247. package/es/scenegraph/icon/icon-update.js +154 -0
  248. package/es/scenegraph/icon/icon-update.js.map +1 -0
  249. package/es/scenegraph/layout/compute-col-width.js +23 -14
  250. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  251. package/es/scenegraph/layout/compute-row-height.js +51 -15
  252. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  253. package/es/scenegraph/layout/move-cell.js +8 -27
  254. package/es/scenegraph/layout/move-cell.js.map +1 -1
  255. package/es/scenegraph/layout/update-height.js +41 -27
  256. package/es/scenegraph/layout/update-height.js.map +1 -1
  257. package/es/scenegraph/layout/update-row.js +6 -1
  258. package/es/scenegraph/layout/update-row.js.map +1 -1
  259. package/es/scenegraph/layout/update-width.js +45 -27
  260. package/es/scenegraph/layout/update-width.js.map +1 -1
  261. package/es/scenegraph/scenegraph.d.ts +7 -13
  262. package/es/scenegraph/scenegraph.js +25 -142
  263. package/es/scenegraph/scenegraph.js.map +1 -1
  264. package/es/scenegraph/stick-text/index.js +75 -38
  265. package/es/scenegraph/stick-text/index.js.map +1 -1
  266. package/es/scenegraph/utils/is-merge-cell-group.d.ts +2 -0
  267. package/es/scenegraph/utils/is-merge-cell-group.js +6 -0
  268. package/es/scenegraph/utils/is-merge-cell-group.js.map +1 -0
  269. package/es/scenegraph/utils/text-icon-layout.d.ts +1 -1
  270. package/es/scenegraph/utils/text-icon-layout.js +11 -5
  271. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  272. package/es/state/cell-move/index.js +14 -12
  273. package/es/state/cell-move/index.js.map +1 -1
  274. package/es/state/hover/is-cell-hover.js +3 -1
  275. package/es/state/hover/is-cell-hover.js.map +1 -1
  276. package/es/state/hover/update-cell.js +4 -2
  277. package/es/state/hover/update-cell.js.map +1 -1
  278. package/es/state/state.js +1 -1
  279. package/es/state/state.js.map +1 -1
  280. package/es/themes/BRIGHT.js +2 -1
  281. package/es/themes/DARK.js +1 -2
  282. package/es/tools/calc.js +1 -1
  283. package/es/tools/util.js +1 -1
  284. package/es/tools/util.js.map +1 -1
  285. package/es/ts-types/base-table.d.ts +9 -1
  286. package/es/ts-types/base-table.js.map +1 -1
  287. package/es/ts-types/column/style.d.ts +4 -1
  288. package/es/ts-types/column/style.js.map +1 -1
  289. package/es/ts-types/common.d.ts +2 -0
  290. package/es/ts-types/common.js.map +1 -1
  291. package/es/ts-types/table-engine.d.ts +13 -0
  292. package/es/ts-types/table-engine.js.map +1 -1
  293. package/package.json +3 -3
  294. package/cjs/dataset/util/zero-align.js.map +0 -1
  295. package/cjs/scenegraph/header-icon/layout.d.ts +0 -3
  296. package/cjs/scenegraph/header-icon/layout.js +0 -75
  297. package/cjs/scenegraph/header-icon/layout.js.map +0 -1
  298. package/cjs/scenegraph/hover-state.d.ts +0 -14
  299. package/cjs/scenegraph/hover-state.js +0 -27
  300. package/cjs/scenegraph/hover-state.js.map +0 -1
  301. package/es/dataset/util/zero-align.js.map +0 -1
  302. package/es/scenegraph/header-icon/layout.d.ts +0 -3
  303. package/es/scenegraph/header-icon/layout.js +0 -69
  304. package/es/scenegraph/header-icon/layout.js.map +0 -1
  305. package/es/scenegraph/hover-state.d.ts +0 -14
  306. package/es/scenegraph/hover-state.js +0 -19
  307. package/es/scenegraph/hover-state.js.map +0 -1
  308. /package/cjs/{dataset/util → layout/chart-helper}/zero-align.d.ts +0 -0
  309. /package/cjs/{dataset/util → layout/chart-helper}/zero-align.js +0 -0
  310. /package/es/{dataset/util → layout/chart-helper}/zero-align.d.ts +0 -0
  311. /package/es/{dataset/util → layout/chart-helper}/zero-align.js +0 -0
@@ -1,75 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.iconLayout = void 0;
6
-
7
- const ts_types_1 = require("../../ts-types"), icon_1 = require("../graphic/icon");
8
-
9
- function createIcon(option) {
10
- const icon = new icon_1.Icon(option);
11
- return icon.role = "icon", icon;
12
- }
13
-
14
- function iconLayout(icons, cellGroup, padding, width, height, textWidth, textAlign) {
15
- const absoluteRightIcons = null == icons ? void 0 : icons.filter((value => value.positionType === ts_types_1.IconPosition.absoluteRight)), absoluteRightIconsWidths = absoluteRightIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalAbsoluteRightIconWidth = absoluteRightIconsWidths.reduce(((a, b) => a + b), 0), rightIcons = null == icons ? void 0 : icons.filter((value => value.positionType === ts_types_1.IconPosition.right)), rightIconsWidths = rightIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalRightIconWidth = rightIconsWidths.reduce(((a, b) => a + b), 0), leftIcons = null == icons ? void 0 : icons.filter((value => value.positionType === ts_types_1.IconPosition.left)), leftIconsWidths = leftIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalLeftIconWidth = leftIconsWidths.reduce(((a, b) => a + b), 0), middleFrontIcons = null == icons ? void 0 : icons.filter((value => value.positionType === ts_types_1.IconPosition.inlineFront)), middleFrontIconsWidths = middleFrontIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalMiddleFrontIconWidth = middleFrontIconsWidths.reduce(((a, b) => a + b), 0), middleEndIcons = null == icons ? void 0 : icons.filter((value => value.positionType === ts_types_1.IconPosition.inlineEnd)), middleEndIconsWidths = middleEndIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalMiddleEndIconWidth = middleEndIconsWidths.reduce(((a, b) => a + b), 0);
16
- let rightIconsLeft = width - padding[1] - totalRightIconWidth, leftIconsLeft = padding[3];
17
- rightIcons.forEach(((icon, index) => {
18
- const image = createIcon({
19
- x: rightIconsLeft,
20
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
21
- width: icon.width,
22
- height: icon.height,
23
- image: icon.svg
24
- });
25
- cellGroup.addChild(image), rightIconsLeft += rightIconsWidths[index];
26
- })), leftIcons.forEach(((icon, index) => {
27
- const image = createIcon({
28
- x: leftIconsLeft,
29
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
30
- width: icon.width,
31
- height: icon.height,
32
- image: icon.svg
33
- });
34
- cellGroup.addChild(image), leftIconsLeft += leftIconsWidths[index];
35
- }));
36
- let middleFrontIconsLeft = leftIconsLeft, middleEndIconsLeft = padding[3] + totalLeftIconWidth + totalMiddleFrontIconWidth + textWidth;
37
- if ("right" === textAlign) middleFrontIconsLeft = width - padding[1] - totalRightIconWidth - totalMiddleEndIconWidth - textWidth - totalMiddleFrontIconWidth,
38
- middleEndIconsLeft = width - padding[1] - totalRightIconWidth - totalMiddleEndIconWidth; else if ("center" === textAlign) {
39
- const centerX = padding[1] + (width - padding[1] - padding[3]) / 2;
40
- middleFrontIconsLeft = centerX - textWidth / 2 - totalMiddleFrontIconWidth, middleEndIconsLeft = centerX + textWidth / 2;
41
- }
42
- middleFrontIcons.forEach(((icon, index) => {
43
- const image = createIcon({
44
- x: middleFrontIconsLeft,
45
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
46
- width: icon.width,
47
- height: icon.height,
48
- image: icon.svg
49
- });
50
- cellGroup.addChild(image), middleFrontIconsLeft += middleFrontIconsWidths[index];
51
- })), middleEndIcons.forEach(((icon, index) => {
52
- const image = createIcon({
53
- x: middleEndIconsLeft,
54
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
55
- width: icon.width,
56
- height: icon.height,
57
- image: icon.svg
58
- });
59
- cellGroup.addChild(image), middleEndIconsLeft += middleEndIconsWidths[index];
60
- }));
61
- let absoluteRightIconsLeft = width - totalAbsoluteRightIconWidth;
62
- return absoluteRightIcons.forEach(((icon, index) => {
63
- const image = createIcon({
64
- x: absoluteRightIconsLeft,
65
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
66
- width: icon.width,
67
- height: icon.height,
68
- image: icon.svg
69
- });
70
- cellGroup.addChild(image), absoluteRightIconsLeft += absoluteRightIconsWidths[index];
71
- })), "right" === textAlign ? -totalRightIconWidth - totalMiddleEndIconWidth : "center" === textAlign ? 0 : totalLeftIconWidth + totalMiddleFrontIconWidth;
72
- }
73
-
74
- exports.iconLayout = iconLayout;
75
- //# sourceMappingURL=layout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/header-icon/layout.ts"],"names":[],"mappings":"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","file":"layout.js","sourcesContent":["import type { Group, IImageGraphicAttribute } from '@visactor/vrender';\nimport type { ColumnIconOption } from '../../ts-types';\nimport { IconPosition } from '../../ts-types';\nimport { Icon } from '../graphic/icon';\n\nfunction createIcon(option: IImageGraphicAttribute): Icon {\n const icon = new Icon(option);\n icon.role = 'icon';\n return icon;\n}\n\nexport function iconLayout(\n icons: ColumnIconOption[],\n cellGroup: Group,\n padding: number[],\n width: number,\n height: number,\n textWidth: number,\n textAlign: CanvasTextAlign\n): number {\n // icons.forEach((icon, index) => {\n // const image = createIcon({\n // x: 100 + index * 20,\n // y: 20,\n // width: icon.width,\n // height: icon.height,\n // image: (<any>icon).svg,\n // });\n // cellGroup.addChild(image);\n // });\n\n //图标的inline对象\n const absoluteRightIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.absoluteRight) {\n return true;\n }\n return false;\n });\n const absoluteRightIconsWidths = absoluteRightIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalAbsoluteRightIconWidth = absoluteRightIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n const rightIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.right) {\n return true;\n }\n return false;\n });\n const rightIconsWidths = rightIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalRightIconWidth = rightIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n const leftIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.left) {\n return true;\n }\n return false;\n });\n const leftIconsWidths = leftIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalLeftIconWidth = leftIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n // TODO: 处理行内换行图标\n const middleFrontIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.inlineFront) {\n return true;\n }\n return false;\n });\n const middleFrontIconsWidths = middleFrontIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalMiddleFrontIconWidth = middleFrontIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n const middleEndIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.inlineEnd) {\n return true;\n }\n return false;\n });\n const middleEndIconsWidths = middleEndIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalMiddleEndIconWidth = middleEndIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n let rightIconsLeft = width - padding[1] - totalRightIconWidth;\n let leftIconsLeft = padding[3];\n\n // 处理右侧图标\n // let rightIconsLeft = width - padding[1] - totalRightIconWidth;\n rightIcons.forEach((icon, index) => {\n const image = createIcon({\n x: rightIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n rightIconsLeft += rightIconsWidths[index];\n });\n\n // 处理左侧图标\n // let leftIconsLeft = padding[3];\n leftIcons.forEach((icon, index) => {\n const image = createIcon({\n x: leftIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n leftIconsLeft += leftIconsWidths[index];\n });\n\n // textAlign === 'left'\n let middleFrontIconsLeft = leftIconsLeft;\n let middleEndIconsLeft = padding[3] + totalLeftIconWidth + totalMiddleFrontIconWidth + textWidth;\n if (textAlign === 'right') {\n middleFrontIconsLeft =\n width - padding[1] - totalRightIconWidth - totalMiddleEndIconWidth - textWidth - totalMiddleFrontIconWidth;\n middleEndIconsLeft = width - padding[1] - totalRightIconWidth - totalMiddleEndIconWidth;\n } else if (textAlign === 'center') {\n const centerX = padding[1] + (width - padding[1] - padding[3]) / 2;\n middleFrontIconsLeft = centerX - textWidth / 2 - totalMiddleFrontIconWidth;\n middleEndIconsLeft = centerX + textWidth / 2;\n }\n\n // 处理行内左侧图标\n middleFrontIcons.forEach((icon, index) => {\n const image = createIcon({\n x: middleFrontIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n middleFrontIconsLeft += middleFrontIconsWidths[index];\n });\n\n // 处理行内右侧图标\n // let middleEndIconsLeft = padding[3] + totalLeftIconWidth + totalMiddleFrontIconWidth + textWidth;\n middleEndIcons.forEach((icon, index) => {\n const image = createIcon({\n x: middleEndIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n middleEndIconsLeft += middleEndIconsWidths[index];\n });\n\n // 处理absolute右侧图标\n let absoluteRightIconsLeft = width - totalAbsoluteRightIconWidth;\n absoluteRightIcons.forEach((icon, index) => {\n const image = createIcon({\n x: absoluteRightIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n absoluteRightIconsLeft += absoluteRightIconsWidths[index];\n });\n\n if (textAlign === 'right') {\n return -totalRightIconWidth - totalMiddleEndIconWidth;\n } else if (textAlign === 'center') {\n return 0;\n }\n // textAlign === 'left'\n return totalLeftIconWidth + totalMiddleFrontIconWidth;\n}\n"]}
@@ -1,14 +0,0 @@
1
- export declare class HoverState {
2
- highlightMode: 'cross' | 'column' | 'row' | 'cell';
3
- disableHover: boolean;
4
- disableHeaderHover: boolean;
5
- cell: {
6
- row: number;
7
- col: number;
8
- };
9
- _state: any;
10
- table: any;
11
- constructor(table: any);
12
- get state(): any;
13
- set state(state: any);
14
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.HoverState = void 0;
6
-
7
- class HoverState {
8
- constructor(table) {
9
- this.highlightMode = "cell", this.cell = {
10
- row: -1,
11
- col: -1
12
- }, this.disableHeaderHover = !1, this.table = table;
13
- }
14
- get state() {
15
- return this._state;
16
- }
17
- set state(state) {
18
- state && this._state && (state.address.col !== this._state.address.col || state.address.row !== this._state.address.row) ? (this.table.scenegraph.update(this.table.scenegraph.getCell(this._state.address.col, this._state.address.row), state.address.col, state.address.row, 0, "fill", "normal"),
19
- this.table.scenegraph.update(this.table.scenegraph.getCell(state.address.col, state.address.row), state.address.col, state.address.row, 0, "fill", "#c8daf6"),
20
- this._state = state) : !state && this._state ? (this.table.scenegraph.update(this.table.scenegraph.getCell(this._state.address.col, this._state.address.row), this._state.address.col, this._state.address.row, 0, "fill", "normal"),
21
- this._state = state) : state && !this._state && (this.table.scenegraph.update(this.table.scenegraph.getCell(state.address.col, state.address.row), state.address.col, state.address.row, 0, "fill", "#c8daf6"),
22
- this._state = state);
23
- }
24
- }
25
-
26
- exports.HoverState = HoverState;
27
- //# sourceMappingURL=hover-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/hover-state.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IAQrB,YAAY,KAAU;QACpB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACb,IACE,KAAK;YACL,IAAI,CAAC,MAAM;YACX,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAChG;YACA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAC/E,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,CAAC,EACD,MAAM,EACN,QAAQ,CACT,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EACnE,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,CAAC,EACD,MAAM,EACN,SAAS,CACV,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;aAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAC/E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EACvB,CAAC,EACD,MAAM,EACN,QAAQ,CACT,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;aAAM,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EACnE,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,CAAC,EACD,MAAM,EACN,SAAS,CACV,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;IACH,CAAC;CACF;AApED,gCAoEC","file":"hover-state.js","sourcesContent":["export class HoverState {\n highlightMode: 'cross' | 'column' | 'row' | 'cell';\n disableHover: boolean;\n disableHeaderHover: boolean;\n cell: { row: number; col: number };\n _state: any;\n table: any;\n\n constructor(table: any) {\n this.highlightMode = 'cell';\n this.cell = { row: -1, col: -1 };\n this.disableHeaderHover = false;\n this.table = table;\n }\n\n get state() {\n return this._state;\n }\n\n set state(state) {\n if (\n state &&\n this._state &&\n (state.address.col !== this._state.address.col || state.address.row !== this._state.address.row)\n ) {\n this.table.scenegraph.update(\n this.table.scenegraph.getCell(this._state.address.col, this._state.address.row),\n state.address.col,\n state.address.row,\n 0,\n 'fill',\n 'normal'\n );\n\n this.table.scenegraph.update(\n this.table.scenegraph.getCell(state.address.col, state.address.row),\n state.address.col,\n state.address.row,\n 0,\n 'fill',\n '#c8daf6'\n );\n\n this._state = state;\n } else if (!state && this._state) {\n this.table.scenegraph.update(\n this.table.scenegraph.getCell(this._state.address.col, this._state.address.row),\n this._state.address.col,\n this._state.address.row,\n 0,\n 'fill',\n 'normal'\n );\n\n this._state = state;\n } else if (state && !this._state) {\n this.table.scenegraph.update(\n this.table.scenegraph.getCell(state.address.col, state.address.row),\n state.address.col,\n state.address.row,\n 0,\n 'fill',\n '#c8daf6'\n );\n\n this._state = state;\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["dataset/util/zero-align.ts"],"names":[],"mappings":"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","file":"zero-align.js","sourcesContent":["/*\n * migrate from vchart/src/plugin/components/axis-sync-plugin/zero-align-transform.ts\n */\nimport { isValidNumber } from '@visactor/vutils';\n\ntype ScaleInfo = {\n total: number;\n negative: number;\n positive: number;\n includeZero: boolean;\n extendable_min: boolean;\n extendable_max: boolean;\n domain: number[];\n};\n\nfunction isValidAlignDomain(domain: number[]): boolean {\n return domain.length === 2 && isValidNumber(domain[0]) && isValidNumber(domain[1]) && domain[1] >= domain[0];\n}\n\nfunction getScaleInfo(domain: number[]): ScaleInfo {\n // example: -10 -20 total = 10 negative = 10\n const total = domain[1] - domain[0];\n const includeZero = domain[1] * domain[0] < 0;\n let negative = domain[0] <= 0 ? 0 - domain[0] : 0;\n let positive = domain[1] > 0 ? domain[1] - 0 : 0;\n if (total === 0) {\n if (domain[0] < 0) {\n negative = 1;\n positive = 0;\n } else if (domain[0] > 0) {\n negative = 0;\n positive = 1;\n }\n } else {\n negative = negative / total;\n positive = positive / total;\n }\n return {\n total,\n negative,\n positive,\n includeZero,\n domain,\n extendable_min: true,\n extendable_max: true\n };\n}\n\nfunction inDifferentCrossZero(info1: ScaleInfo, info2: ScaleInfo): boolean {\n const {\n positive: positive1,\n negative: negative1,\n extendable_min: s1Extendable_min,\n extendable_max: s1Extendable_max,\n domain: domain1\n } = info1;\n const {\n positive: positive2,\n negative: negative2,\n extendable_min: s2Extendable_min,\n extendable_max: s2Extendable_max,\n domain: domain2\n } = info2;\n // make s2 percent same as s1\n if (positive2 > 0) {\n if (!s2Extendable_min) {\n return false;\n }\n let comp = negative1 / positive1;\n // if s1 could extend max, then expand s1\n // example:【0.5,0.5】 + 【0,1】 = 【0.5,1】\n if (s1Extendable_max) {\n // change s1 percent\n comp = negative1 / Math.max(positive1, positive2);\n domain1[1] = -domain1[0] / comp;\n }\n domain2[0] = -domain2[1] * comp;\n } else if (negative2 > 0) {\n if (!s2Extendable_max) {\n return false;\n }\n let comp = positive1 / negative1;\n // if s1 could extend max, then expand s1\n // example:【0.5,0.5】 + 【1,0】 = 【1,0.5】\n if (s1Extendable_min) {\n // change s1 percent\n comp = positive1 / Math.max(negative1, negative1);\n domain1[0] = -domain1[1] / comp;\n }\n domain2[1] = -domain2[0] * comp;\n }\n return true;\n}\n\nfunction inOnlyZeroDomain(info1: ScaleInfo, info2: ScaleInfo): boolean {\n const { extendable_min: s1Extendable_min, extendable_max: s1Extendable_max, domain: domain1 } = info1;\n const { positive: positive2, negative: negative2, domain: domain2 } = info2;\n // both [0,0]\n if (positive2 === 0 && negative2 === 0) {\n return false;\n }\n // 如果副轴 有正值部分 主轴无法正值扩展,跳过\n if (positive2 > 0 && !s1Extendable_max) {\n return false;\n }\n // 如果副轴 有负值部分 主轴无法负值扩展,跳过\n if (negative2 > 0 && !s1Extendable_min) {\n return false;\n }\n // 其他场景,将主轴设置为与副轴相同\n domain1[0] = domain2[0];\n domain1[1] = domain2[1];\n return true;\n}\n\nfunction inAllCrossZero(info1: ScaleInfo, info2: ScaleInfo): boolean {\n const { positive: positive1, negative: negative1, extendable_max: s1Extendable_max, domain: domain1 } = info1;\n const { positive: positive2, negative: negative2, extendable_min: s2Extendable_min, domain: domain2 } = info2;\n if (s1Extendable_max && s2Extendable_min) {\n // percent\n const comp = Math.max(negative1, negative2) / Math.max(positive1, positive2);\n domain1[1] = -domain1[0] / comp;\n domain2[0] = -domain2[1] * comp;\n }\n // only on side extendable\n else if (s2Extendable_min) {\n const comp = negative1 / positive1;\n domain2[0] = -domain2[1] * comp;\n } else if (s1Extendable_max) {\n const comp = negative2 / positive2;\n domain1[1] = -domain1[0] / comp;\n } else {\n // skip\n return false;\n }\n return true;\n}\n\nfunction inNoCrossDifferentSide(info1: ScaleInfo, info2: ScaleInfo): boolean {\n const { extendable_min: s1Extendable_min, domain: domain1 } = info1;\n const { extendable_max: s2Extendable_max, domain: domain2 } = info2;\n // extendable\n if (!s1Extendable_min || !s2Extendable_max) {\n return false;\n }\n domain1[0] = -domain1[1];\n domain2[1] = -domain2[0];\n return true;\n}\n\nexport function getNewRangeToAlign(\n range1: { min: number; max: number },\n range2: { min: number; max: number }\n): { range1: number[]; range2: number[] } | undefined {\n const domain1 = [range1.min, range1.max];\n const domain2 = [range2.min, range2.max];\n\n if (!isValidAlignDomain(domain1) || !isValidAlignDomain(domain2)) {\n return undefined;\n }\n // 先分别获取正负比例\n const info1 = getScaleInfo(domain1);\n const info2 = getScaleInfo(domain2);\n const {\n positive: positive1,\n negative: negative1,\n extendable_min: s1Extendable_min,\n extendable_max: s1Extendable_max,\n includeZero: includeZero1\n } = info1;\n const {\n positive: positive2,\n negative: negative2,\n extendable_min: s2Extendable_min,\n extendable_max: s2Extendable_max,\n includeZero: includeZero2\n } = info2;\n\n // first check [0,0]\n // axis 1 in [0,0]\n if (positive1 === 0 && negative1 === 0) {\n if (!inOnlyZeroDomain(info1, info2)) {\n return undefined;\n }\n }\n // axis 2 in [0,0]\n else if (positive2 === 0 && negative2 === 0) {\n if (!inOnlyZeroDomain(info2, info1)) {\n return undefined;\n }\n }\n // check of both of axis are not cross zero\n else if (!includeZero1 && !includeZero2) {\n // if in different side s1 * s2 < 0\n // s1 > 0 s2 < 0\n if (negative1 === 0 && positive2 === 0) {\n if (!inNoCrossDifferentSide(info1, info2)) {\n return undefined;\n }\n }\n // s1 < 0 s2 > 0\n else if (negative2 === 0 && positive1 === 0) {\n if (!inNoCrossDifferentSide(info2, info1)) {\n return undefined;\n }\n }\n\n // if in same side s1 * s2 > 0\n // both positive\n if (negative1 === 0 && negative2 === 0) {\n // make sure has zero\n if (domain1[0] === 0 && domain2[0] > 0) {\n if (!s2Extendable_min) {\n return undefined;\n }\n domain2[0] = 0;\n } else if (domain2[0] === 0 && domain1[0] > 0) {\n if (!s1Extendable_min) {\n return undefined;\n }\n domain1[0] = 0;\n } else {\n return undefined;\n }\n }\n // both negative1\n if (positive1 === 0 && positive2 === 0) {\n // s1 has 0 in domain & s2 has not\n if (domain1[1] === 0 && domain2[1] > 0) {\n if (!s2Extendable_max) {\n return undefined;\n }\n domain2[1] = 0;\n }\n // s2 has 0 in domain & s1 has not\n else if (domain2[1] === 0 && domain1[1] > 0) {\n if (!s1Extendable_max) {\n return undefined;\n }\n domain1[1] = 0;\n } else {\n return undefined;\n }\n }\n }\n // check one axis cross zero axis1\n else if (includeZero1 && !includeZero2) {\n if (!inDifferentCrossZero(info1, info2)) {\n return undefined;\n }\n }\n // check one axis cross zero axis2\n else if (includeZero2 && !includeZero1) {\n if (!inDifferentCrossZero(info2, info1)) {\n return undefined;\n }\n }\n // check of both of axis are cross zero\n else {\n // same percent of negative\n if (negative1 === negative2) {\n return undefined;\n }\n // negative percent s1 > s2\n else if (negative1 > negative2) {\n if (!inAllCrossZero(info1, info2)) {\n return undefined;\n }\n }\n // negative percent s1 < s2\n else {\n if (!inAllCrossZero(info2, info1)) {\n return undefined;\n }\n }\n }\n // s1.domain(domain1);\n // s2.domain(domain2);\n\n return { range1: domain1, range2: domain2 };\n}\n"]}
@@ -1,3 +0,0 @@
1
- import type { Group } from '@visactor/vrender';
2
- import type { ColumnIconOption } from '../../ts-types';
3
- export declare function iconLayout(icons: ColumnIconOption[], cellGroup: Group, padding: number[], width: number, height: number, textWidth: number, textAlign: CanvasTextAlign): number;
@@ -1,69 +0,0 @@
1
- import { IconPosition } from "../../ts-types";
2
-
3
- import { Icon } from "../graphic/icon";
4
-
5
- function createIcon(option) {
6
- const icon = new Icon(option);
7
- return icon.role = "icon", icon;
8
- }
9
-
10
- export function iconLayout(icons, cellGroup, padding, width, height, textWidth, textAlign) {
11
- const absoluteRightIcons = null == icons ? void 0 : icons.filter((value => value.positionType === IconPosition.absoluteRight)), absoluteRightIconsWidths = absoluteRightIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalAbsoluteRightIconWidth = absoluteRightIconsWidths.reduce(((a, b) => a + b), 0), rightIcons = null == icons ? void 0 : icons.filter((value => value.positionType === IconPosition.right)), rightIconsWidths = rightIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalRightIconWidth = rightIconsWidths.reduce(((a, b) => a + b), 0), leftIcons = null == icons ? void 0 : icons.filter((value => value.positionType === IconPosition.left)), leftIconsWidths = leftIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalLeftIconWidth = leftIconsWidths.reduce(((a, b) => a + b), 0), middleFrontIcons = null == icons ? void 0 : icons.filter((value => value.positionType === IconPosition.inlineFront)), middleFrontIconsWidths = middleFrontIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalMiddleFrontIconWidth = middleFrontIconsWidths.reduce(((a, b) => a + b), 0), middleEndIcons = null == icons ? void 0 : icons.filter((value => value.positionType === IconPosition.inlineEnd)), middleEndIconsWidths = middleEndIcons.map((icon => icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0))), totalMiddleEndIconWidth = middleEndIconsWidths.reduce(((a, b) => a + b), 0);
12
- let rightIconsLeft = width - padding[1] - totalRightIconWidth, leftIconsLeft = padding[3];
13
- rightIcons.forEach(((icon, index) => {
14
- const image = createIcon({
15
- x: rightIconsLeft,
16
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
17
- width: icon.width,
18
- height: icon.height,
19
- image: icon.svg
20
- });
21
- cellGroup.addChild(image), rightIconsLeft += rightIconsWidths[index];
22
- })), leftIcons.forEach(((icon, index) => {
23
- const image = createIcon({
24
- x: leftIconsLeft,
25
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
26
- width: icon.width,
27
- height: icon.height,
28
- image: icon.svg
29
- });
30
- cellGroup.addChild(image), leftIconsLeft += leftIconsWidths[index];
31
- }));
32
- let middleFrontIconsLeft = leftIconsLeft, middleEndIconsLeft = padding[3] + totalLeftIconWidth + totalMiddleFrontIconWidth + textWidth;
33
- if ("right" === textAlign) middleFrontIconsLeft = width - padding[1] - totalRightIconWidth - totalMiddleEndIconWidth - textWidth - totalMiddleFrontIconWidth,
34
- middleEndIconsLeft = width - padding[1] - totalRightIconWidth - totalMiddleEndIconWidth; else if ("center" === textAlign) {
35
- const centerX = padding[1] + (width - padding[1] - padding[3]) / 2;
36
- middleFrontIconsLeft = centerX - textWidth / 2 - totalMiddleFrontIconWidth, middleEndIconsLeft = centerX + textWidth / 2;
37
- }
38
- middleFrontIcons.forEach(((icon, index) => {
39
- const image = createIcon({
40
- x: middleFrontIconsLeft,
41
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
42
- width: icon.width,
43
- height: icon.height,
44
- image: icon.svg
45
- });
46
- cellGroup.addChild(image), middleFrontIconsLeft += middleFrontIconsWidths[index];
47
- })), middleEndIcons.forEach(((icon, index) => {
48
- const image = createIcon({
49
- x: middleEndIconsLeft,
50
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
51
- width: icon.width,
52
- height: icon.height,
53
- image: icon.svg
54
- });
55
- cellGroup.addChild(image), middleEndIconsLeft += middleEndIconsWidths[index];
56
- }));
57
- let absoluteRightIconsLeft = width - totalAbsoluteRightIconWidth;
58
- return absoluteRightIcons.forEach(((icon, index) => {
59
- const image = createIcon({
60
- x: absoluteRightIconsLeft,
61
- y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,
62
- width: icon.width,
63
- height: icon.height,
64
- image: icon.svg
65
- });
66
- cellGroup.addChild(image), absoluteRightIconsLeft += absoluteRightIconsWidths[index];
67
- })), "right" === textAlign ? -totalRightIconWidth - totalMiddleEndIconWidth : "center" === textAlign ? 0 : totalLeftIconWidth + totalMiddleFrontIconWidth;
68
- }
69
- //# sourceMappingURL=layout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/header-icon/layout.ts"],"names":[],"mappings":"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","file":"layout.js","sourcesContent":["import type { Group, IImageGraphicAttribute } from '@visactor/vrender';\nimport type { ColumnIconOption } from '../../ts-types';\nimport { IconPosition } from '../../ts-types';\nimport { Icon } from '../graphic/icon';\n\nfunction createIcon(option: IImageGraphicAttribute): Icon {\n const icon = new Icon(option);\n icon.role = 'icon';\n return icon;\n}\n\nexport function iconLayout(\n icons: ColumnIconOption[],\n cellGroup: Group,\n padding: number[],\n width: number,\n height: number,\n textWidth: number,\n textAlign: CanvasTextAlign\n): number {\n // icons.forEach((icon, index) => {\n // const image = createIcon({\n // x: 100 + index * 20,\n // y: 20,\n // width: icon.width,\n // height: icon.height,\n // image: (<any>icon).svg,\n // });\n // cellGroup.addChild(image);\n // });\n\n //图标的inline对象\n const absoluteRightIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.absoluteRight) {\n return true;\n }\n return false;\n });\n const absoluteRightIconsWidths = absoluteRightIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalAbsoluteRightIconWidth = absoluteRightIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n const rightIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.right) {\n return true;\n }\n return false;\n });\n const rightIconsWidths = rightIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalRightIconWidth = rightIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n const leftIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.left) {\n return true;\n }\n return false;\n });\n const leftIconsWidths = leftIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalLeftIconWidth = leftIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n // TODO: 处理行内换行图标\n const middleFrontIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.inlineFront) {\n return true;\n }\n return false;\n });\n const middleFrontIconsWidths = middleFrontIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalMiddleFrontIconWidth = middleFrontIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n const middleEndIcons = icons?.filter((value: ColumnIconOption) => {\n if (value.positionType === IconPosition.inlineEnd) {\n return true;\n }\n return false;\n });\n const middleEndIconsWidths = middleEndIcons.map(icon => {\n return icon.width + (icon.marginLeft || 0) + (icon.marginRight || 0);\n });\n const totalMiddleEndIconWidth = middleEndIconsWidths.reduce((a: number, b: number) => {\n return a + b;\n }, 0);\n\n let rightIconsLeft = width - padding[1] - totalRightIconWidth;\n let leftIconsLeft = padding[3];\n\n // 处理右侧图标\n // let rightIconsLeft = width - padding[1] - totalRightIconWidth;\n rightIcons.forEach((icon, index) => {\n const image = createIcon({\n x: rightIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n rightIconsLeft += rightIconsWidths[index];\n });\n\n // 处理左侧图标\n // let leftIconsLeft = padding[3];\n leftIcons.forEach((icon, index) => {\n const image = createIcon({\n x: leftIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n leftIconsLeft += leftIconsWidths[index];\n });\n\n // textAlign === 'left'\n let middleFrontIconsLeft = leftIconsLeft;\n let middleEndIconsLeft = padding[3] + totalLeftIconWidth + totalMiddleFrontIconWidth + textWidth;\n if (textAlign === 'right') {\n middleFrontIconsLeft =\n width - padding[1] - totalRightIconWidth - totalMiddleEndIconWidth - textWidth - totalMiddleFrontIconWidth;\n middleEndIconsLeft = width - padding[1] - totalRightIconWidth - totalMiddleEndIconWidth;\n } else if (textAlign === 'center') {\n const centerX = padding[1] + (width - padding[1] - padding[3]) / 2;\n middleFrontIconsLeft = centerX - textWidth / 2 - totalMiddleFrontIconWidth;\n middleEndIconsLeft = centerX + textWidth / 2;\n }\n\n // 处理行内左侧图标\n middleFrontIcons.forEach((icon, index) => {\n const image = createIcon({\n x: middleFrontIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n middleFrontIconsLeft += middleFrontIconsWidths[index];\n });\n\n // 处理行内右侧图标\n // let middleEndIconsLeft = padding[3] + totalLeftIconWidth + totalMiddleFrontIconWidth + textWidth;\n middleEndIcons.forEach((icon, index) => {\n const image = createIcon({\n x: middleEndIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n middleEndIconsLeft += middleEndIconsWidths[index];\n });\n\n // 处理absolute右侧图标\n let absoluteRightIconsLeft = width - totalAbsoluteRightIconWidth;\n absoluteRightIcons.forEach((icon, index) => {\n const image = createIcon({\n x: absoluteRightIconsLeft,\n y: (height + padding[0] - padding[2]) / 2 - icon.height / 2,\n width: icon.width,\n height: icon.height,\n image: (<any>icon).svg\n });\n cellGroup.addChild(image);\n\n absoluteRightIconsLeft += absoluteRightIconsWidths[index];\n });\n\n if (textAlign === 'right') {\n return -totalRightIconWidth - totalMiddleEndIconWidth;\n } else if (textAlign === 'center') {\n return 0;\n }\n // textAlign === 'left'\n return totalLeftIconWidth + totalMiddleFrontIconWidth;\n}\n"]}
@@ -1,14 +0,0 @@
1
- export declare class HoverState {
2
- highlightMode: 'cross' | 'column' | 'row' | 'cell';
3
- disableHover: boolean;
4
- disableHeaderHover: boolean;
5
- cell: {
6
- row: number;
7
- col: number;
8
- };
9
- _state: any;
10
- table: any;
11
- constructor(table: any);
12
- get state(): any;
13
- set state(state: any);
14
- }
@@ -1,19 +0,0 @@
1
- export class HoverState {
2
- constructor(table) {
3
- this.highlightMode = "cell", this.cell = {
4
- row: -1,
5
- col: -1
6
- }, this.disableHeaderHover = !1, this.table = table;
7
- }
8
- get state() {
9
- return this._state;
10
- }
11
- set state(state) {
12
- state && this._state && (state.address.col !== this._state.address.col || state.address.row !== this._state.address.row) ? (this.table.scenegraph.update(this.table.scenegraph.getCell(this._state.address.col, this._state.address.row), state.address.col, state.address.row, 0, "fill", "normal"),
13
- this.table.scenegraph.update(this.table.scenegraph.getCell(state.address.col, state.address.row), state.address.col, state.address.row, 0, "fill", "#c8daf6"),
14
- this._state = state) : !state && this._state ? (this.table.scenegraph.update(this.table.scenegraph.getCell(this._state.address.col, this._state.address.row), this._state.address.col, this._state.address.row, 0, "fill", "normal"),
15
- this._state = state) : state && !this._state && (this.table.scenegraph.update(this.table.scenegraph.getCell(state.address.col, state.address.row), state.address.col, state.address.row, 0, "fill", "#c8daf6"),
16
- this._state = state);
17
- }
18
- }
19
- //# sourceMappingURL=hover-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["scenegraph/hover-state.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,UAAU;IAQrB,YAAY,KAAU;QACpB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAK;QACb,IACE,KAAK;YACL,IAAI,CAAC,MAAM;YACX,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAChG;YACA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAC/E,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,CAAC,EACD,MAAM,EACN,QAAQ,CACT,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EACnE,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,CAAC,EACD,MAAM,EACN,SAAS,CACV,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;aAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAC/E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EACvB,CAAC,EACD,MAAM,EACN,QAAQ,CACT,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;aAAM,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAC1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EACnE,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,KAAK,CAAC,OAAO,CAAC,GAAG,EACjB,CAAC,EACD,MAAM,EACN,SAAS,CACV,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;SACrB;IACH,CAAC;CACF","file":"hover-state.js","sourcesContent":["export class HoverState {\n highlightMode: 'cross' | 'column' | 'row' | 'cell';\n disableHover: boolean;\n disableHeaderHover: boolean;\n cell: { row: number; col: number };\n _state: any;\n table: any;\n\n constructor(table: any) {\n this.highlightMode = 'cell';\n this.cell = { row: -1, col: -1 };\n this.disableHeaderHover = false;\n this.table = table;\n }\n\n get state() {\n return this._state;\n }\n\n set state(state) {\n if (\n state &&\n this._state &&\n (state.address.col !== this._state.address.col || state.address.row !== this._state.address.row)\n ) {\n this.table.scenegraph.update(\n this.table.scenegraph.getCell(this._state.address.col, this._state.address.row),\n state.address.col,\n state.address.row,\n 0,\n 'fill',\n 'normal'\n );\n\n this.table.scenegraph.update(\n this.table.scenegraph.getCell(state.address.col, state.address.row),\n state.address.col,\n state.address.row,\n 0,\n 'fill',\n '#c8daf6'\n );\n\n this._state = state;\n } else if (!state && this._state) {\n this.table.scenegraph.update(\n this.table.scenegraph.getCell(this._state.address.col, this._state.address.row),\n this._state.address.col,\n this._state.address.row,\n 0,\n 'fill',\n 'normal'\n );\n\n this._state = state;\n } else if (state && !this._state) {\n this.table.scenegraph.update(\n this.table.scenegraph.getCell(state.address.col, state.address.row),\n state.address.col,\n state.address.row,\n 0,\n 'fill',\n '#c8daf6'\n );\n\n this._state = state;\n }\n }\n}\n"]}