@visactor/vtable 0.18.4 → 0.19.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 (161) hide show
  1. package/cjs/ListTable.d.ts +1 -1
  2. package/cjs/ListTable.js +7 -5
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotTable.d.ts +2 -2
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/core/BaseTable.d.ts +3 -2
  7. package/cjs/core/BaseTable.js +14 -31
  8. package/cjs/core/BaseTable.js.map +1 -1
  9. package/cjs/edit/edit-manager.d.ts +1 -1
  10. package/cjs/edit/edit-manager.js +30 -13
  11. package/cjs/edit/edit-manager.js.map +1 -1
  12. package/cjs/event/event.js +2 -2
  13. package/cjs/event/event.js.map +1 -1
  14. package/cjs/event/listener/table-group.js +1 -1
  15. package/cjs/event/listener/table-group.js.map +1 -1
  16. package/cjs/icons.js +10 -0
  17. package/cjs/icons.js.map +1 -1
  18. package/cjs/index.d.ts +1 -1
  19. package/cjs/index.js +1 -1
  20. package/cjs/index.js.map +1 -1
  21. package/cjs/layout/{pivot-layout-helper.d.ts → layout-helper.d.ts} +18 -16
  22. package/cjs/layout/{pivot-layout-helper.js → layout-helper.js} +33 -16
  23. package/cjs/layout/layout-helper.js.map +1 -0
  24. package/cjs/layout/pivot-header-layout.d.ts +4 -4
  25. package/cjs/layout/pivot-header-layout.js +42 -10
  26. package/cjs/layout/pivot-header-layout.js.map +1 -1
  27. package/cjs/layout/row-height-map.d.ts +32 -0
  28. package/cjs/layout/row-height-map.js +144 -0
  29. package/cjs/layout/row-height-map.js.map +1 -0
  30. package/cjs/layout/simple-header-layout.d.ts +2 -0
  31. package/cjs/layout/simple-header-layout.js +8 -3
  32. package/cjs/layout/simple-header-layout.js.map +1 -1
  33. package/cjs/scenegraph/component/cell-mover.js +3 -5
  34. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  35. package/cjs/scenegraph/graphic/contributions/draw-interceptor.d.ts +13 -0
  36. package/cjs/scenegraph/graphic/contributions/draw-interceptor.js +90 -0
  37. package/cjs/scenegraph/graphic/contributions/draw-interceptor.js.map +1 -0
  38. package/cjs/scenegraph/graphic/contributions/index.js +4 -2
  39. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  40. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +38 -18
  41. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  42. package/cjs/scenegraph/group-creater/progress/proxy.js +3 -3
  43. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  44. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
  45. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  46. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -3
  47. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  48. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +1 -1
  49. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js +9 -3
  50. package/cjs/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  51. package/cjs/scenegraph/layout/compute-row-height.js +14 -4
  52. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  53. package/cjs/scenegraph/layout/move-cell.js +7 -1
  54. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  55. package/cjs/scenegraph/layout/update-height.js +2 -2
  56. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  57. package/cjs/scenegraph/layout/update-row.js +6 -10
  58. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  59. package/cjs/scenegraph/scenegraph.js +16 -9
  60. package/cjs/scenegraph/scenegraph.js.map +1 -1
  61. package/cjs/scenegraph/stick-text/index.js +5 -5
  62. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  63. package/cjs/scenegraph/utils/keep-aspect-ratio.js +5 -4
  64. package/cjs/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
  65. package/cjs/state/cell-move/index.js +6 -4
  66. package/cjs/state/cell-move/index.js.map +1 -1
  67. package/cjs/state/select/update-position.js +10 -1
  68. package/cjs/state/select/update-position.js.map +1 -1
  69. package/cjs/themes/ARCO.js +2 -1
  70. package/cjs/tools/LimitPromiseQueue.js +1 -1
  71. package/cjs/tools/util.d.ts +1 -0
  72. package/cjs/tools/util.js +8 -2
  73. package/cjs/tools/util.js.map +1 -1
  74. package/cjs/ts-types/base-table.d.ts +5 -3
  75. package/cjs/ts-types/base-table.js.map +1 -1
  76. package/cjs/ts-types/table-engine.d.ts +1 -0
  77. package/cjs/ts-types/table-engine.js.map +1 -1
  78. package/cjs/vrender.js.map +1 -1
  79. package/dist/vtable.js +1439 -811
  80. package/dist/vtable.min.js +2 -2
  81. package/es/ListTable.d.ts +1 -1
  82. package/es/ListTable.js +5 -4
  83. package/es/ListTable.js.map +1 -1
  84. package/es/PivotTable.d.ts +2 -2
  85. package/es/PivotTable.js.map +1 -1
  86. package/es/core/BaseTable.d.ts +3 -2
  87. package/es/core/BaseTable.js +16 -28
  88. package/es/core/BaseTable.js.map +1 -1
  89. package/es/edit/edit-manager.d.ts +1 -1
  90. package/es/edit/edit-manager.js +30 -13
  91. package/es/edit/edit-manager.js.map +1 -1
  92. package/es/event/event.js +3 -1
  93. package/es/event/event.js.map +1 -1
  94. package/es/event/listener/table-group.js +1 -1
  95. package/es/event/listener/table-group.js.map +1 -1
  96. package/es/icons.js +10 -0
  97. package/es/icons.js.map +1 -1
  98. package/es/index.d.ts +1 -1
  99. package/es/index.js +1 -1
  100. package/es/index.js.map +1 -1
  101. package/es/layout/{pivot-layout-helper.d.ts → layout-helper.d.ts} +18 -16
  102. package/es/layout/{pivot-layout-helper.js → layout-helper.js} +33 -16
  103. package/es/layout/layout-helper.js.map +1 -0
  104. package/es/layout/pivot-header-layout.d.ts +4 -4
  105. package/es/layout/pivot-header-layout.js +34 -2
  106. package/es/layout/pivot-header-layout.js.map +1 -1
  107. package/es/layout/row-height-map.d.ts +32 -0
  108. package/es/layout/row-height-map.js +136 -0
  109. package/es/layout/row-height-map.js.map +1 -0
  110. package/es/layout/simple-header-layout.d.ts +2 -0
  111. package/es/layout/simple-header-layout.js +9 -2
  112. package/es/layout/simple-header-layout.js.map +1 -1
  113. package/es/scenegraph/component/cell-mover.js +3 -5
  114. package/es/scenegraph/component/cell-mover.js.map +1 -1
  115. package/es/scenegraph/graphic/contributions/draw-interceptor.d.ts +13 -0
  116. package/es/scenegraph/graphic/contributions/draw-interceptor.js +64 -0
  117. package/es/scenegraph/graphic/contributions/draw-interceptor.js.map +1 -0
  118. package/es/scenegraph/graphic/contributions/index.js +5 -2
  119. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  120. package/es/scenegraph/group-creater/cell-type/image-cell.js +35 -17
  121. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  122. package/es/scenegraph/group-creater/progress/proxy.js +3 -3
  123. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  124. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
  125. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  126. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +3 -3
  127. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  128. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.d.ts +1 -1
  129. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js +9 -3
  130. package/es/scenegraph/group-creater/progress/update-position/update-auto-row.js.map +1 -1
  131. package/es/scenegraph/layout/compute-row-height.js +14 -4
  132. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  133. package/es/scenegraph/layout/move-cell.js +7 -1
  134. package/es/scenegraph/layout/move-cell.js.map +1 -1
  135. package/es/scenegraph/layout/update-height.js +2 -2
  136. package/es/scenegraph/layout/update-height.js.map +1 -1
  137. package/es/scenegraph/layout/update-row.js +4 -8
  138. package/es/scenegraph/layout/update-row.js.map +1 -1
  139. package/es/scenegraph/scenegraph.js +16 -9
  140. package/es/scenegraph/scenegraph.js.map +1 -1
  141. package/es/scenegraph/stick-text/index.js +5 -5
  142. package/es/scenegraph/stick-text/index.js.map +1 -1
  143. package/es/scenegraph/utils/keep-aspect-ratio.js +5 -4
  144. package/es/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
  145. package/es/state/cell-move/index.js +6 -4
  146. package/es/state/cell-move/index.js.map +1 -1
  147. package/es/state/select/update-position.js +10 -1
  148. package/es/state/select/update-position.js.map +1 -1
  149. package/es/themes/ARCO.js +2 -1
  150. package/es/tools/LimitPromiseQueue.js +1 -1
  151. package/es/tools/util.d.ts +1 -0
  152. package/es/tools/util.js +6 -0
  153. package/es/tools/util.js.map +1 -1
  154. package/es/ts-types/base-table.d.ts +5 -3
  155. package/es/ts-types/base-table.js.map +1 -1
  156. package/es/ts-types/table-engine.d.ts +1 -0
  157. package/es/ts-types/table-engine.js.map +1 -1
  158. package/es/vrender.js.map +1 -1
  159. package/package.json +7 -7
  160. package/cjs/layout/pivot-layout-helper.js.map +0 -1
  161. package/es/layout/pivot-layout-helper.js.map +0 -1
package/cjs/icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/icons.ts"],"names":[],"mappings":"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","file":"icons.js","sourcesContent":["/* eslint-disable max-len */\n/*eslint-disable camelcase*/\n\nimport type { ColumnIconOption, SvgIcon } from './ts-types';\nimport { IconPosition, IconFuncTypeEnum } from './ts-types';\nimport { extend } from './tools/helper';\nimport { icons as plugins } from './plugins/icons';\nimport { DrillDown, DrillUp } from './tools/global';\nconst builtins = {\n get sort_downward(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n ' <path d=\"M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '<path d=\"M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z\" fill=\"#416EFF\"/>' +\n ' </svg>',\n width: 16, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n height: 16,\n funcType: IconFuncTypeEnum.sort,\n name: 'sort_downward',\n // positionType: IconPosition.inlineEnd,\n positionType: IconPosition.contentRight,\n marginLeft: 3, //设计要求的是距离8px,这个些5是基于外面的box而言的\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get sort_upward(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n ' <path d=\"M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z\" fill=\"#416EFF\"/>' +\n '<path d=\"M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '</svg> ',\n width: 16,\n height: 16,\n funcType: IconFuncTypeEnum.sort,\n // positionType: IconPosition.inlineEnd,\n positionType: IconPosition.contentRight,\n name: 'sort_upward',\n marginLeft: 3,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get sort_normal(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n '<path d=\"M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '<path d=\"M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '</svg> ',\n width: 16,\n height: 16,\n funcType: IconFuncTypeEnum.sort,\n // positionType: IconPosition.inlineEnd,\n positionType: IconPosition.contentRight,\n name: 'sort_normal',\n marginLeft: 3,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n\n get freeze(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n '<g clip-path=\"url(#clip0)\">' +\n '<path d=\"M17.1313 8.42047C17.1932 8.48238 17.2423 8.55587 17.2759 8.63676C17.3094 8.71764 17.3266 8.80434 17.3266 8.89189C17.3266 8.97944 17.3094 9.06613 17.2759 9.14702C17.2423 9.2279 17.1932 9.3014 17.1313 9.3633L13.3843 13.1103C13.7007 14.3048 13.5305 15.4443 12.8388 16.2395C12.8104 16.2781 12.7778 16.3136 12.7417 16.3451L12.712 16.3755C12.6501 16.4374 12.5766 16.4865 12.4957 16.52C12.4148 16.5535 12.3281 16.5707 12.2406 16.5707C12.153 16.5707 12.0663 16.5535 11.9854 16.52C11.9046 16.4865 11.8311 16.4374 11.7692 16.3755L9.17633 13.7826L6.05316 16.9058L5.11983 17.0925C5.09291 17.0979 5.06508 17.0965 5.03881 17.0886C5.01254 17.0806 4.98863 17.0663 4.96923 17.0469C4.94982 17.0275 4.9355 17.0036 4.92755 16.9773C4.9196 16.951 4.91827 16.9232 4.92366 16.8963L5.11033 15.963L8.23333 12.8396L5.64066 10.2471C5.57875 10.1852 5.52964 10.1117 5.49614 10.0309C5.46263 9.94997 5.44539 9.86327 5.44539 9.77572C5.44539 9.68817 5.46263 9.60148 5.49614 9.52059C5.52964 9.43971 5.57875 9.36621 5.64066 9.3043C5.65066 9.2943 5.66066 9.2843 5.67099 9.27464C5.70266 9.2383 5.73833 9.20547 5.77766 9.17664C6.57283 8.48564 7.71199 8.31564 8.90599 8.63197L12.6528 4.88497C12.7147 4.82306 12.7882 4.77395 12.8691 4.74045C12.95 4.70694 13.0367 4.6897 13.1242 4.6897C13.2118 4.6897 13.2985 4.70694 13.3794 4.74045C13.4603 4.77395 13.5338 4.82306 13.5957 4.88497L17.1312 8.42047H17.1313ZM15.7172 8.8918L13.1243 6.29914L9.56483 9.8588C9.47574 9.94788 9.36323 10.0099 9.24034 10.0376C9.11746 10.0654 8.98922 10.0578 8.87049 10.0156C8.22783 9.78764 7.63899 9.7553 7.17749 9.89814L12.1182 14.8388C12.261 14.3771 12.2287 13.7885 12.0007 13.146C11.9585 13.0272 11.9509 12.899 11.9787 12.7761C12.0064 12.6532 12.0684 12.5407 12.1575 12.4516L15.7172 8.89164V8.8918Z\" fill=\"#282F38\" fill-opacity=\"0.2\"/>' +\n '</g>' +\n '<defs>' +\n '<clipPath id=\"clip0\">' +\n '<rect width=\"22\" height=\"22\" fill=\"white\"/>' +\n '</clipPath>' +\n '</defs>' +\n '</svg>',\n width: 22,\n height: 22,\n name: 'freeze',\n funcType: IconFuncTypeEnum.frozen,\n positionType: IconPosition.right,\n marginRight: 0,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get frozen(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n ' <path d=\"M8.49975 3.66663C8.32294 3.66663 8.15337 3.73686 8.02835 3.86189C7.90332 3.98691 7.83309 4.15648 7.83309 4.33329V9.63246C6.76475 10.2533 6.07942 11.1795 6.00625 12.2308C5.99892 12.2786 5.99692 12.3268 6.00009 12.3741L5.99975 12.4166C5.99975 12.5934 6.06999 12.763 6.19501 12.888C6.32004 13.0131 6.48961 13.0833 6.66642 13.0833H10.3333L10.3331 17.5L10.8611 18.292C10.8763 18.3148 10.8969 18.3335 10.9211 18.3464C10.9453 18.3594 10.9723 18.3662 10.9998 18.3662C11.0272 18.3662 11.0542 18.3594 11.0784 18.3464C11.1026 18.3335 11.1232 18.3148 11.1384 18.292L11.6664 17.5L11.6666 13.0833H15.3331C15.5099 13.0833 15.6795 13.0131 15.8045 12.888C15.9295 12.763 15.9998 12.5934 15.9998 12.4166C15.9998 12.4025 15.9998 12.3883 15.9994 12.3741C16.0028 12.3263 16.0008 12.2776 15.9933 12.2295C15.9196 11.1786 15.2343 10.2528 14.1664 9.63229V4.33329C14.1664 4.15648 14.0962 3.98691 13.9712 3.86189C13.8461 3.73686 13.6766 3.66663 13.4998 3.66663H8.49975Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '</svg>',\n width: 22,\n height: 22,\n name: 'frozen',\n funcType: IconFuncTypeEnum.frozen,\n positionType: IconPosition.right,\n marginRight: 0,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get frozenCurrent(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n '<path d=\"M8.49975 3.66663C8.32294 3.66663 8.15337 3.73686 8.02835 3.86189C7.90332 3.98691 7.83309 4.15648 7.83309 4.33329V9.63246C6.76475 10.2533 6.07942 11.1795 6.00625 12.2308C5.99892 12.2786 5.99692 12.3268 6.00009 12.3741L5.99975 12.4166C5.99975 12.5934 6.06999 12.763 6.19501 12.888C6.32004 13.0131 6.48961 13.0833 6.66642 13.0833H10.3333L10.3331 17.5L10.8611 18.292C10.8763 18.3148 10.8969 18.3335 10.9211 18.3464C10.9453 18.3594 10.9723 18.3662 10.9998 18.3662C11.0272 18.3662 11.0542 18.3594 11.0784 18.3464C11.1026 18.3335 11.1232 18.3148 11.1384 18.292L11.6664 17.5L11.6666 13.0833H15.3331C15.5099 13.0833 15.6795 13.0131 15.8045 12.888C15.9295 12.763 15.9998 12.5934 15.9998 12.4166C15.9998 12.4025 15.9998 12.3883 15.9994 12.3741C16.0028 12.3263 16.0008 12.2776 15.9933 12.2295C15.9196 11.1786 15.2343 10.2528 14.1664 9.63229V4.33329C14.1664 4.15648 14.0962 3.98691 13.9712 3.86189C13.8461 3.73686 13.6766 3.66663 13.4998 3.66663H8.49975Z\" fill=\"#416EFF\"/>' +\n '</svg>',\n width: 22,\n height: 22,\n funcType: IconFuncTypeEnum.frozen,\n positionType: IconPosition.right,\n name: 'frozenCurrent',\n marginRight: 0,\n // marginLeft: 6,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n\n // get dropdownIcon_hover(): SvgIcon {\n // return {\n // type: 'svg',\n // svg: '<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g><rect x=\"2\" y=\"1\" width=\"20\" height=\"20\" rx=\"10\" fill=\"#1E54C9\"/><rect x=\"2.5\" y=\"1.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#141414\" stroke-opacity=\"0.2\"/></g><path d=\"M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z\" fill=\"white\"/></svg>',\n // width: 24, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n // height: 24,\n // funcType: IconFuncTypeEnum.dropDown,\n // positionType: IconPosition.absoluteRight,\n // name: 'dropdownIcon_hover',\n // marginRight: 0, //设计要求的是距离8px,这个些5是基于外面的box而言的\n // hover: {\n // width: 24,\n // height: 24,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n // cursor: 'pointer',\n // };\n // },\n\n get dropdownIcon(): SvgIcon {\n return {\n type: 'svg',\n svg: '<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g><rect x=\"2\" y=\"1\" width=\"20\" height=\"20\" rx=\"10\" fill=\"white\"/><rect x=\"2.5\" y=\"1.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#959DA5\"/></g><path d=\"M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z\" fill=\"#4F5965\"/></svg>',\n width: 24, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n height: 24,\n funcType: IconFuncTypeEnum.dropDown,\n positionType: IconPosition.absoluteRight,\n // positionType: IconPosition.inlineEnd,\n name: 'dropdownIcon',\n marginRight: 0, //设计要求的是距离8px,这个些5是基于外面的box而言的\n hover: {\n width: 24,\n height: 24,\n bgColor: 'rgba(101, 117, 168, 0.1)',\n image:\n '<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g><rect x=\"2\" y=\"1\" width=\"20\" height=\"20\" rx=\"10\" fill=\"#1E54C9\"/><rect x=\"2.5\" y=\"1.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#141414\" stroke-opacity=\"0.2\"/></g><path d=\"M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z\" fill=\"white\"/></svg>'\n },\n cursor: 'pointer',\n visibleTime: 'mouseenter_cell'\n };\n },\n\n get play(): SvgIcon {\n return {\n type: 'svg',\n svg: '<svg width=\"24\" height=\"24\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"48\" height=\"48\" fill=\"white\" fill-opacity=\"0.01\" /><path d=\"M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z\" fill=\"none\" stroke=\"#686a6e\" stroke-width=\"4\" stroke-linejoin=\"round\" stroke-opacity=\"0.7\" /><path d=\"M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z\" fill=\"none\" stroke=\"#686a6e\" stroke-width=\"4\" stroke-linejoin=\"round\" stroke-opacity=\"0.7\" /></svg>',\n width: 24, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n height: 24,\n funcType: IconFuncTypeEnum.play,\n positionType: IconPosition.right,\n name: 'play',\n marginRight: 0, //设计要求的是距离8px,这个些5是基于外面的box而言的\n hover: {\n width: 24,\n height: 24,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n\n get damage_pic(): SvgIcon {\n return {\n type: 'svg',\n svg: '<svg width=\"24\" height=\"24\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 10V38C5 39.1046 5.89543 40 7 40H14H18L15 29L22 27L21 20L29 16L27 13L30 8H7C5.89543 8 5 8.89543 5 10Z\" fill=\"none\" stroke=\"#333\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M43 38V10C43 8.89543 42.1046 8 41 8H38L34 14L37 19L28 23L29 31L22 33L24 40H41C42.1046 40 43 39.1046 43 38Z\" fill=\"none\" stroke=\"#333\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.5 18C15.3284 18 16 17.3284 16 16.5C16 15.6716 15.3284 15 14.5 15C13.6716 15 13 15.6716 13 16.5C13 17.3284 13.6716 18 14.5 18Z\" fill=\"none\" stroke=\"#333\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\n width: 24, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n height: 24,\n funcType: IconFuncTypeEnum.damagePic,\n positionType: IconPosition.left,\n name: 'damage_pic',\n marginRight: 0, //设计要求的是距离8px,这个些5是基于外面的box而言的\n hover: {\n width: 24,\n height: 24,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n //展开状态的按钮 向下三角\n get expand(): SvgIcon {\n return {\n type: 'svg',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M4.64988 6.81235C4.38797 6.48497 4.62106 6 5.04031 6L10.9597 6C11.3789 6 11.612 6.48497 11.3501 6.81235L8.39043 10.512C8.19027 10.7622 7.80973 10.7622 7.60957 10.512L4.64988 6.81235Z\" fill=\"#141414\" fill-opacity=\"0.65\"/>\n </svg>`,\n width: 16, //其实指定的是svg图片绘制多大,实际占位是box,margin也是相对阴影范围指定的\n height: 16,\n funcType: IconFuncTypeEnum.expand,\n name: 'expand',\n positionType: IconPosition.contentLeft,\n marginLeft: 0,\n marginRight: 4,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n //折叠状态的按钮 向右三角\n get collapse(): SvgIcon {\n return {\n type: 'svg',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M5.81235 11.3501C5.48497 11.612 5 11.3789 5 10.9597L5 5.04031C5 4.62106 5.48497 4.38797 5.81235 4.64988L9.51196 7.60957C9.76216 7.80973 9.76216 8.19027 9.51196 8.39044L5.81235 11.3501Z\" fill=\"#141414\" fill-opacity=\"0.65\"/>\n </svg>`,\n width: 16, //其实指定的是svg图片绘制多大,实际占位是box,margin也是相对阴影范围指定的\n height: 16,\n funcType: IconFuncTypeEnum.collapse,\n name: 'collapse',\n positionType: IconPosition.contentLeft,\n marginLeft: 0,\n marginRight: 4,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n\n // drill按钮\n get drillDown(): SvgIcon {\n return {\n name: 'drillDown',\n type: 'svg',\n positionType: IconPosition.absolute,\n funcType: IconFuncTypeEnum.drillDown,\n svg: DrillDown,\n width: 13,\n height: 13,\n cursor: 'pointer'\n };\n },\n get drillUp(): SvgIcon {\n return {\n name: 'drillUp',\n type: 'svg',\n positionType: IconPosition.absolute,\n funcType: IconFuncTypeEnum.drillUp,\n svg: DrillUp,\n width: 13,\n height: 13,\n cursor: 'pointer'\n };\n }\n};\n\nexport function get(): { [key: string]: ColumnIconOption } {\n return extend(builtins, plugins);\n}\n"]}
1
+ {"version":3,"sources":["../src/icons.ts"],"names":[],"mappings":";;;AAIA,yCAA4D;AAC5D,2CAAwC;AACxC,2CAAmD;AACnD,2CAAoD;AACpD,MAAM,QAAQ,GAAG;IACf,IAAI,aAAa;QACf,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EACD,iGAAiG;gBACjG,6FAA6F;gBAC7F,4EAA4E;gBAC5E,SAAS;YACX,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,IAAI;YAC/B,IAAI,EAAE,eAAe;YAErB,YAAY,EAAE,uBAAY,CAAC,YAAY;YACvC,UAAU,EAAE,CAAC;YACb,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,WAAW;QACb,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EACD,iGAAiG;gBACjG,yEAAyE;gBACzE,gGAAgG;gBAChG,SAAS;YACX,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,IAAI;YAE/B,YAAY,EAAE,uBAAY,CAAC,YAAY;YACvC,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,WAAW;QACb,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EACD,iGAAiG;gBACjG,4FAA4F;gBAC5F,gGAAgG;gBAChG,SAAS;YACX,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,IAAI;YAE/B,YAAY,EAAE,uBAAY,CAAC,YAAY;YACvC,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACR,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EACD,iGAAiG;gBACjG,6BAA6B;gBAC7B,qvDAAqvD;gBACrvD,MAAM;gBACN,QAAQ;gBACR,uBAAuB;gBACvB,6CAA6C;gBAC7C,aAAa;gBACb,SAAS;gBACT,QAAQ;YACV,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,2BAAgB,CAAC,MAAM;YACjC,YAAY,EAAE,uBAAY,CAAC,KAAK;YAChC,WAAW,EAAE,CAAC;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM;QACR,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EACD,iGAAiG;gBACjG,+9BAA+9B;gBAC/9B,QAAQ;YACV,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,2BAAgB,CAAC,MAAM;YACjC,YAAY,EAAE,uBAAY,CAAC,KAAK;YAChC,WAAW,EAAE,CAAC;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,aAAa;QACf,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EACD,iGAAiG;gBACjG,08BAA08B;gBAC18B,QAAQ;YACV,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,MAAM;YACjC,YAAY,EAAE,uBAAY,CAAC,KAAK;YAChC,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,CAAC;YAEd,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAqBD,IAAI,YAAY;QACd,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,+jBAA+jB;YACpkB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,QAAQ;YACnC,YAAY,EAAE,uBAAY,CAAC,aAAa;YAExC,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,CAAC;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;gBACnC,KAAK,EACH,olBAAolB;aACvlB;YACD,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,iBAAiB;SAC/B,CAAC;IACJ,CAAC;IAED,IAAI,IAAI;QACN,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,iiBAAiiB;YACtiB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,IAAI;YAC/B,YAAY,EAAE,uBAAY,CAAC,KAAK;YAChC,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,CAAC;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,mxBAAmxB;YACxxB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,SAAS;YACpC,YAAY,EAAE,uBAAY,CAAC,IAAI;YAC/B,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,CAAC;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,WAAW;QACb,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,g3HAAg3H;YACr3H,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,aAAa;YACnB,YAAY,EAAE,uBAAY,CAAC,IAAI;SAChC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM;QACR,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EAAE;;aAEE;YACP,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,MAAM;YACjC,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,uBAAY,CAAC,WAAW;YACtC,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,IAAI,EAAE,KAAK;YACX,GAAG,EAAE;;aAEE;YACP,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,2BAAgB,CAAC,QAAQ;YACnC,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,uBAAY,CAAC,WAAW;YACtC,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE;gBACV,OAAO,EAAE,0BAA0B;aACpC;YACD,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAGD,IAAI,SAAS;QACX,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,uBAAY,CAAC,QAAQ;YACnC,QAAQ,EAAE,2BAAgB,CAAC,SAAS;YACpC,GAAG,EAAE,kBAAS;YACd,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO;QACT,OAAO;YACL,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,KAAK;YACX,YAAY,EAAE,uBAAY,CAAC,QAAQ;YACnC,QAAQ,EAAE,2BAAgB,CAAC,OAAO;YAClC,GAAG,EAAE,gBAAO;YACZ,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,SAAgB,GAAG;IACjB,OAAO,IAAA,eAAM,EAAC,QAAQ,EAAE,aAAO,CAAC,CAAC;AACnC,CAAC;AAFD,kBAEC","file":"icons.js","sourcesContent":["/* eslint-disable max-len */\n/*eslint-disable camelcase*/\n\nimport type { ColumnIconOption, SvgIcon } from './ts-types';\nimport { IconPosition, IconFuncTypeEnum } from './ts-types';\nimport { extend } from './tools/helper';\nimport { icons as plugins } from './plugins/icons';\nimport { DrillDown, DrillUp } from './tools/global';\nconst builtins = {\n get sort_downward(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n ' <path d=\"M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '<path d=\"M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z\" fill=\"#416EFF\"/>' +\n ' </svg>',\n width: 16, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n height: 16,\n funcType: IconFuncTypeEnum.sort,\n name: 'sort_downward',\n // positionType: IconPosition.inlineEnd,\n positionType: IconPosition.contentRight,\n marginLeft: 3, //设计要求的是距离8px,这个些5是基于外面的box而言的\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get sort_upward(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n ' <path d=\"M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z\" fill=\"#416EFF\"/>' +\n '<path d=\"M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '</svg> ',\n width: 16,\n height: 16,\n funcType: IconFuncTypeEnum.sort,\n // positionType: IconPosition.inlineEnd,\n positionType: IconPosition.contentRight,\n name: 'sort_upward',\n marginLeft: 3,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get sort_normal(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n '<path d=\"M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '<path d=\"M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '</svg> ',\n width: 16,\n height: 16,\n funcType: IconFuncTypeEnum.sort,\n // positionType: IconPosition.inlineEnd,\n positionType: IconPosition.contentRight,\n name: 'sort_normal',\n marginLeft: 3,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n\n get freeze(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n '<g clip-path=\"url(#clip0)\">' +\n '<path d=\"M17.1313 8.42047C17.1932 8.48238 17.2423 8.55587 17.2759 8.63676C17.3094 8.71764 17.3266 8.80434 17.3266 8.89189C17.3266 8.97944 17.3094 9.06613 17.2759 9.14702C17.2423 9.2279 17.1932 9.3014 17.1313 9.3633L13.3843 13.1103C13.7007 14.3048 13.5305 15.4443 12.8388 16.2395C12.8104 16.2781 12.7778 16.3136 12.7417 16.3451L12.712 16.3755C12.6501 16.4374 12.5766 16.4865 12.4957 16.52C12.4148 16.5535 12.3281 16.5707 12.2406 16.5707C12.153 16.5707 12.0663 16.5535 11.9854 16.52C11.9046 16.4865 11.8311 16.4374 11.7692 16.3755L9.17633 13.7826L6.05316 16.9058L5.11983 17.0925C5.09291 17.0979 5.06508 17.0965 5.03881 17.0886C5.01254 17.0806 4.98863 17.0663 4.96923 17.0469C4.94982 17.0275 4.9355 17.0036 4.92755 16.9773C4.9196 16.951 4.91827 16.9232 4.92366 16.8963L5.11033 15.963L8.23333 12.8396L5.64066 10.2471C5.57875 10.1852 5.52964 10.1117 5.49614 10.0309C5.46263 9.94997 5.44539 9.86327 5.44539 9.77572C5.44539 9.68817 5.46263 9.60148 5.49614 9.52059C5.52964 9.43971 5.57875 9.36621 5.64066 9.3043C5.65066 9.2943 5.66066 9.2843 5.67099 9.27464C5.70266 9.2383 5.73833 9.20547 5.77766 9.17664C6.57283 8.48564 7.71199 8.31564 8.90599 8.63197L12.6528 4.88497C12.7147 4.82306 12.7882 4.77395 12.8691 4.74045C12.95 4.70694 13.0367 4.6897 13.1242 4.6897C13.2118 4.6897 13.2985 4.70694 13.3794 4.74045C13.4603 4.77395 13.5338 4.82306 13.5957 4.88497L17.1312 8.42047H17.1313ZM15.7172 8.8918L13.1243 6.29914L9.56483 9.8588C9.47574 9.94788 9.36323 10.0099 9.24034 10.0376C9.11746 10.0654 8.98922 10.0578 8.87049 10.0156C8.22783 9.78764 7.63899 9.7553 7.17749 9.89814L12.1182 14.8388C12.261 14.3771 12.2287 13.7885 12.0007 13.146C11.9585 13.0272 11.9509 12.899 11.9787 12.7761C12.0064 12.6532 12.0684 12.5407 12.1575 12.4516L15.7172 8.89164V8.8918Z\" fill=\"#282F38\" fill-opacity=\"0.2\"/>' +\n '</g>' +\n '<defs>' +\n '<clipPath id=\"clip0\">' +\n '<rect width=\"22\" height=\"22\" fill=\"white\"/>' +\n '</clipPath>' +\n '</defs>' +\n '</svg>',\n width: 22,\n height: 22,\n name: 'freeze',\n funcType: IconFuncTypeEnum.frozen,\n positionType: IconPosition.right,\n marginRight: 0,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get frozen(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n ' <path d=\"M8.49975 3.66663C8.32294 3.66663 8.15337 3.73686 8.02835 3.86189C7.90332 3.98691 7.83309 4.15648 7.83309 4.33329V9.63246C6.76475 10.2533 6.07942 11.1795 6.00625 12.2308C5.99892 12.2786 5.99692 12.3268 6.00009 12.3741L5.99975 12.4166C5.99975 12.5934 6.06999 12.763 6.19501 12.888C6.32004 13.0131 6.48961 13.0833 6.66642 13.0833H10.3333L10.3331 17.5L10.8611 18.292C10.8763 18.3148 10.8969 18.3335 10.9211 18.3464C10.9453 18.3594 10.9723 18.3662 10.9998 18.3662C11.0272 18.3662 11.0542 18.3594 11.0784 18.3464C11.1026 18.3335 11.1232 18.3148 11.1384 18.292L11.6664 17.5L11.6666 13.0833H15.3331C15.5099 13.0833 15.6795 13.0131 15.8045 12.888C15.9295 12.763 15.9998 12.5934 15.9998 12.4166C15.9998 12.4025 15.9998 12.3883 15.9994 12.3741C16.0028 12.3263 16.0008 12.2776 15.9933 12.2295C15.9196 11.1786 15.2343 10.2528 14.1664 9.63229V4.33329C14.1664 4.15648 14.0962 3.98691 13.9712 3.86189C13.8461 3.73686 13.6766 3.66663 13.4998 3.66663H8.49975Z\" fill=\"#282F38\" fill-opacity=\"0.35\"/>' +\n '</svg>',\n width: 22,\n height: 22,\n name: 'frozen',\n funcType: IconFuncTypeEnum.frozen,\n positionType: IconPosition.right,\n marginRight: 0,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get frozenCurrent(): SvgIcon {\n return {\n type: 'svg',\n svg:\n '<svg width=\"22\" height=\"22\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">' +\n '<path d=\"M8.49975 3.66663C8.32294 3.66663 8.15337 3.73686 8.02835 3.86189C7.90332 3.98691 7.83309 4.15648 7.83309 4.33329V9.63246C6.76475 10.2533 6.07942 11.1795 6.00625 12.2308C5.99892 12.2786 5.99692 12.3268 6.00009 12.3741L5.99975 12.4166C5.99975 12.5934 6.06999 12.763 6.19501 12.888C6.32004 13.0131 6.48961 13.0833 6.66642 13.0833H10.3333L10.3331 17.5L10.8611 18.292C10.8763 18.3148 10.8969 18.3335 10.9211 18.3464C10.9453 18.3594 10.9723 18.3662 10.9998 18.3662C11.0272 18.3662 11.0542 18.3594 11.0784 18.3464C11.1026 18.3335 11.1232 18.3148 11.1384 18.292L11.6664 17.5L11.6666 13.0833H15.3331C15.5099 13.0833 15.6795 13.0131 15.8045 12.888C15.9295 12.763 15.9998 12.5934 15.9998 12.4166C15.9998 12.4025 15.9998 12.3883 15.9994 12.3741C16.0028 12.3263 16.0008 12.2776 15.9933 12.2295C15.9196 11.1786 15.2343 10.2528 14.1664 9.63229V4.33329C14.1664 4.15648 14.0962 3.98691 13.9712 3.86189C13.8461 3.73686 13.6766 3.66663 13.4998 3.66663H8.49975Z\" fill=\"#416EFF\"/>' +\n '</svg>',\n width: 22,\n height: 22,\n funcType: IconFuncTypeEnum.frozen,\n positionType: IconPosition.right,\n name: 'frozenCurrent',\n marginRight: 0,\n // marginLeft: 6,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n\n // get dropdownIcon_hover(): SvgIcon {\n // return {\n // type: 'svg',\n // svg: '<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g><rect x=\"2\" y=\"1\" width=\"20\" height=\"20\" rx=\"10\" fill=\"#1E54C9\"/><rect x=\"2.5\" y=\"1.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#141414\" stroke-opacity=\"0.2\"/></g><path d=\"M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z\" fill=\"white\"/></svg>',\n // width: 24, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n // height: 24,\n // funcType: IconFuncTypeEnum.dropDown,\n // positionType: IconPosition.absoluteRight,\n // name: 'dropdownIcon_hover',\n // marginRight: 0, //设计要求的是距离8px,这个些5是基于外面的box而言的\n // hover: {\n // width: 24,\n // height: 24,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n // cursor: 'pointer',\n // };\n // },\n\n get dropdownIcon(): SvgIcon {\n return {\n type: 'svg',\n svg: '<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g><rect x=\"2\" y=\"1\" width=\"20\" height=\"20\" rx=\"10\" fill=\"white\"/><rect x=\"2.5\" y=\"1.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#959DA5\"/></g><path d=\"M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z\" fill=\"#4F5965\"/></svg>',\n width: 24, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n height: 24,\n funcType: IconFuncTypeEnum.dropDown,\n positionType: IconPosition.absoluteRight,\n // positionType: IconPosition.inlineEnd,\n name: 'dropdownIcon',\n marginRight: 0, //设计要求的是距离8px,这个些5是基于外面的box而言的\n hover: {\n width: 24,\n height: 24,\n bgColor: 'rgba(101, 117, 168, 0.1)',\n image:\n '<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g><rect x=\"2\" y=\"1\" width=\"20\" height=\"20\" rx=\"10\" fill=\"#1E54C9\"/><rect x=\"2.5\" y=\"1.5\" width=\"19\" height=\"19\" rx=\"9.5\" stroke=\"#141414\" stroke-opacity=\"0.2\"/></g><path d=\"M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z\" fill=\"white\"/></svg>'\n },\n cursor: 'pointer',\n visibleTime: 'mouseenter_cell'\n };\n },\n\n get play(): SvgIcon {\n return {\n type: 'svg',\n svg: '<svg width=\"24\" height=\"24\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"48\" height=\"48\" fill=\"white\" fill-opacity=\"0.01\" /><path d=\"M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z\" fill=\"none\" stroke=\"#686a6e\" stroke-width=\"4\" stroke-linejoin=\"round\" stroke-opacity=\"0.7\" /><path d=\"M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z\" fill=\"none\" stroke=\"#686a6e\" stroke-width=\"4\" stroke-linejoin=\"round\" stroke-opacity=\"0.7\" /></svg>',\n width: 24, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n height: 24,\n funcType: IconFuncTypeEnum.play,\n positionType: IconPosition.right,\n name: 'play',\n marginRight: 0, //设计要求的是距离8px,这个些5是基于外面的box而言的\n hover: {\n width: 24,\n height: 24,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n\n get damage_pic(): SvgIcon {\n return {\n type: 'svg',\n svg: '<svg width=\"24\" height=\"24\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 10V38C5 39.1046 5.89543 40 7 40H14H18L15 29L22 27L21 20L29 16L27 13L30 8H7C5.89543 8 5 8.89543 5 10Z\" fill=\"none\" stroke=\"#333\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M43 38V10C43 8.89543 42.1046 8 41 8H38L34 14L37 19L28 23L29 31L22 33L24 40H41C42.1046 40 43 39.1046 43 38Z\" fill=\"none\" stroke=\"#333\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M14.5 18C15.3284 18 16 17.3284 16 16.5C16 15.6716 15.3284 15 14.5 15C13.6716 15 13 15.6716 13 16.5C13 17.3284 13.6716 18 14.5 18Z\" fill=\"none\" stroke=\"#333\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\n width: 24, //其实指定的是svg图片绘制多大,实际下面的阴影是box,margin也是相对阴影范围指定的\n height: 24,\n funcType: IconFuncTypeEnum.damagePic,\n positionType: IconPosition.left,\n name: 'damage_pic',\n marginRight: 0, //设计要求的是距离8px,这个些5是基于外面的box而言的\n hover: {\n width: 24,\n height: 24,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n get loading_pic(): SvgIcon {\n return {\n type: 'svg',\n svg: '<svg viewBox=\"0 0 400 300\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><mask id=\"a\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"50\" y=\"65\" width=\"301\" height=\"170\"><path d=\"M350.3 65H50v169.8h300.3V65Z\" fill=\"#fff\"/></mask><g mask=\"url(#a)\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M58.3 233.2h32.8v-36.8H58.3v36.8Z\" fill=\"#C7DEFF\"/><path d=\"M91.1 224.5v8.8H58.3M82.4 196.2H58.3\" stroke=\"#071F4D\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M305.4 182.5s-2.7 12.6 0 17.4c2.7 4.8 8.3 6.7 12.4 4.4 4.2-2.4 5.3-8.1 2.6-12.9-2.7-4.8-15-8.9-15-8.9ZM336 204.7c4.3 2 9.7-.4 12-5.4 2.3-5-1.5-17.3-1.5-17.3s-11.8 5.1-14.1 10.1c-2.3 5-.7 10.6 3.6 12.6Z\" fill=\"#00E4E5\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M326.7 174s-10 11.8-10 18.6c0 6.7 4.5 12.2 10 12.2s10-5.5 10-12.3c0-6.8-10-18.5-10-18.5Z\" fill=\"#00E4E5\"/><path d=\"M332.3 181.5c2.3 3.6 4.4 7.8 4.4 10.9M316.7 192.5c0-3.1 2.1-7.2 4.3-10.8\" stroke=\"#071F4D\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M343.1 227.3v-9.7h-34v9.7c0 3.7 3 6.6 6.6 6.6h20.9c3.6 0 6.5-2.9 6.5-6.6Z\" fill=\"#071F4D\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M350.4 220.8V198H302v22.8c0 5.9 4.8 10.7 10.7 10.7h26.9c5.9 0 10.7-4.8 10.8-10.7Z\" fill=\"#C7DEFF\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M331.7 74.2H117.8L87.4 203h213.8l30.5-128.8Z\" fill=\"#fff\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M337 74.2h-6.2l-30.6 129.2h6.2L337 74.2Z\" fill=\"#fff\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M303.8 203.5h2.4l30.7-129.3h-1.8l-31.3 129.3Z\" fill=\"#C7DEFF\"/><path d=\"m337 74.2-30.6 129.2h-5.9\" stroke=\"#071F4D\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M229.9 202.1h-47.6l2 9.6h47.3l-1.7-9.6Z\" fill=\"#C7DEFF\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M94.7 172.6 87.4 203h213.1l7.8-30.4H94.7Z\" fill=\"#006EFF\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M94.7 172.6 87.4 203h213.1l7.8-30.4H94.7Z\" fill=\"#006EFF\"/><path d=\"M138.5 74.2h193.2l-23.4 98.6M94.5 172.7l11-46.3M104.8 155.4l-2.3 11.5h6.7M316 112.1l1.1-4.5\" stroke=\"#071F4D\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M148.3 138.1h97V119h-97v19.1Z\" fill=\"#00E4E5\"/><path d=\"M303.1 80.6h20.3l-4.6 19.6M228.3 234.3c3.6 0 6.3-3.2 5.7-6.8l-4.1-24.1\" stroke=\"#071F4D\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M226.2 229.5h-68.9v1.2c0 2 1.6 3.7 3.7 3.7h60.1c2.8 0 5-2.2 5.1-4.9Z\" fill=\"#C7DEFF\"/><path d=\"M180.699 226.8h-19.9c-2.8 0-4.6 3-3.3 5.5m0 0c.6 1.2 1.9 2 3.3 2h57.8M175.9 203.4l3.6 17.6M241.2 234.3h65.1M104.6 234.3h41.3\" stroke=\"#071F4D\"/><path d=\"M206.2 234.3h14.9c3.1 0 5.5-2.8 5-5.9l-4.3-24.9M160.7 226.8h46M62.2 226.1h-9.5c-1.2 0-2.2-1-2.2-2.2v-18.3c0-1.2 1-2.2 2.2-2.2h9.5\" stroke=\"#071F4D\"/><path d=\"M53.4 171.7H68c2.1 0 3.7 1.7 3.7 3.7v16.1M79.1 192v-21.8c0-2.5 2-4.6 4.6-4.6h2.2c2.5 0 4.5-2 4.5-4.5m0 0c0-2.5-2-4.5-4.5-4.5H56.1c-2.4 0-4.3-1.9-4.3-4.3V148M71.2 165.2h-18M64 181.7v10.1\" stroke=\"#C7DEFF\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M85.7 120H124c4.3 0 7.7-3.5 7.7-7.7V65.5H94.2c-4.7 0-8.5 4.9-8.5 11V120Z\" fill=\"#C7DEFF\"/><path d=\"M85.7 110.7V73c0-4.1 3.4-7.5 7.5-7.5h38.5M146.2 73.8v-2.5c0-3.2-2-5.8-5.8-5.8-2.8 0-6 1.1-6 5.8v42.4c0 4.7-3.8 8.5-8.5 8.5h-15.6\" stroke=\"#071F4D\"/><path d=\"M119.7 122.3H87c-6.1 0-11.1-5-11.1-11.1m0 0h39M126.1 122.3c-6.1 0-11.1-5-11.1-11.1\" stroke=\"#071F4D\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M85.4 122.1h37.2c-6.5-1.8-8-10.5-8-10.5H76.2c.6 8.8 9.2 10.5 9.2 10.5Z\" fill=\"#071F4D\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M95.8 102.9h4.8V83.6h-4.8v19.3ZM106.6 102.9h4.8V77.6h-4.8v25.3ZM117.3 102.9h4.8V89.1h-4.8v13.8Z\" fill=\"#fff\"/><path d=\"M273.2 195.9h16.9M261.2 195.9h5\" stroke=\"#fff\"/><path d=\"M62.4 201.9v2.9M62.4 224.5v2.9\" stroke=\"#071F4D\"/><path d=\"m153.6 138.1 9.7-19.1M168.8 138.1l9.7-19.1M184.1 138.1l9.7-19.1M199.4 138.1l9.7-19.1M214.6 138.1l9.8-19.1M229.9 138.1l9.7-19.1\" stroke=\"#fff\"/><path d=\"M148.3 138.1h121.6V119H148.3v19.1Z\" stroke=\"#071F4D\"/></g></svg>',\n width: 400,\n height: 300,\n name: 'loading_pic',\n positionType: IconPosition.left\n };\n },\n //展开状态的按钮 向下三角\n get expand(): SvgIcon {\n return {\n type: 'svg',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M4.64988 6.81235C4.38797 6.48497 4.62106 6 5.04031 6L10.9597 6C11.3789 6 11.612 6.48497 11.3501 6.81235L8.39043 10.512C8.19027 10.7622 7.80973 10.7622 7.60957 10.512L4.64988 6.81235Z\" fill=\"#141414\" fill-opacity=\"0.65\"/>\n </svg>`,\n width: 16, //其实指定的是svg图片绘制多大,实际占位是box,margin也是相对阴影范围指定的\n height: 16,\n funcType: IconFuncTypeEnum.expand,\n name: 'expand',\n positionType: IconPosition.contentLeft,\n marginLeft: 0,\n marginRight: 4,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n //折叠状态的按钮 向右三角\n get collapse(): SvgIcon {\n return {\n type: 'svg',\n svg: `<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M5.81235 11.3501C5.48497 11.612 5 11.3789 5 10.9597L5 5.04031C5 4.62106 5.48497 4.38797 5.81235 4.64988L9.51196 7.60957C9.76216 7.80973 9.76216 8.19027 9.51196 8.39044L5.81235 11.3501Z\" fill=\"#141414\" fill-opacity=\"0.65\"/>\n </svg>`,\n width: 16, //其实指定的是svg图片绘制多大,实际占位是box,margin也是相对阴影范围指定的\n height: 16,\n funcType: IconFuncTypeEnum.collapse,\n name: 'collapse',\n positionType: IconPosition.contentLeft,\n marginLeft: 0,\n marginRight: 4,\n hover: {\n width: 22,\n height: 22,\n bgColor: 'rgba(101, 117, 168, 0.1)'\n },\n cursor: 'pointer'\n };\n },\n\n // drill按钮\n get drillDown(): SvgIcon {\n return {\n name: 'drillDown',\n type: 'svg',\n positionType: IconPosition.absolute,\n funcType: IconFuncTypeEnum.drillDown,\n svg: DrillDown,\n width: 13,\n height: 13,\n cursor: 'pointer'\n };\n },\n get drillUp(): SvgIcon {\n return {\n name: 'drillUp',\n type: 'svg',\n positionType: IconPosition.absolute,\n funcType: IconFuncTypeEnum.drillUp,\n svg: DrillUp,\n width: 13,\n height: 13,\n cursor: 'pointer'\n };\n }\n};\n\nexport function get(): { [key: string]: ColumnIconOption } {\n return extend(builtins, plugins);\n}\n"]}
package/cjs/index.d.ts CHANGED
@@ -15,7 +15,7 @@ import { updateCell } from './scenegraph/group-creater/cell-helper';
15
15
  import { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';
16
16
  export { getDataCellPath } from './tools/get-data-path';
17
17
  export * from './render/jsx';
18
- export declare const version = "0.18.4";
18
+ export declare const version = "0.19.0";
19
19
  export { TYPES, core, ListTable, ListTableConstructorOptions, PivotTable, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil };
20
20
  declare function getIcons(): {
21
21
  [key: string]: TYPES.ColumnIconOption;
package/cjs/index.js CHANGED
@@ -128,6 +128,6 @@ Object.defineProperty(exports, "getDataCellPath", {
128
128
  get: function() {
129
129
  return get_data_path_1.getDataCellPath;
130
130
  }
131
- }), __exportStar(require("./render/jsx"), exports), exports.version = "0.18.4",
131
+ }), __exportStar(require("./render/jsx"), exports), exports.version = "0.19.0",
132
132
  exports.getIcons = getIcons, exports.clearGlobal = clearGlobal, TYPES.AggregationType;
133
133
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AA6F1D,4FA7FO,qBAAW,OA6FP;AA5Fb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AAoDlC,sBAAK;AAnDP,6CAA+B;AAoD7B,oBAAI;AAnDN,6CAA+B;AA2E7B,oBAAI;AA1EN,+CAAiC;AACjC,qDAAuC;AA8ErC,4BAAQ;AA7EV,iDAAmC;AAuEjC,wBAAM;AAtER,yEAA2D;AAgFzD,wCAAc;AA1DhB,2CAAwC;AA0BtC,0FA1BO,qBAAS,OA0BP;AAzBX,6CAA0C;AA2BxC,2FA3BO,uBAAU,OA2BP;AA1BZ,6CAA0C;AA6BxC,2FA7BO,uBAAU,OA6BP;AA3BZ,8DAAgD;AAuD9C,oCAAY;AArDd,wEAAoE;AAsDlE,2FAtDO,wBAAU,OAsDP;AArDZ,gGAAqF;AAsDnF,4FAtDO,iCAAW,OAsDP;AAjDb,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAEhB,QAAA,OAAO,GAAG,QAAQ,CAAC;AAmDhC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAnBC,4BAAQ;AAqBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AAxBC,kCAAW;AAyBb,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\n\nexport const version = \"0.18.4\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AA6F1D,4FA7FO,qBAAW,OA6FP;AA5Fb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AAoDlC,sBAAK;AAnDP,6CAA+B;AAoD7B,oBAAI;AAnDN,6CAA+B;AA2E7B,oBAAI;AA1EN,+CAAiC;AACjC,qDAAuC;AA8ErC,4BAAQ;AA7EV,iDAAmC;AAuEjC,wBAAM;AAtER,yEAA2D;AAgFzD,wCAAc;AA1DhB,2CAAwC;AA0BtC,0FA1BO,qBAAS,OA0BP;AAzBX,6CAA0C;AA2BxC,2FA3BO,uBAAU,OA2BP;AA1BZ,6CAA0C;AA6BxC,2FA7BO,uBAAU,OA6BP;AA3BZ,8DAAgD;AAuD9C,oCAAY;AArDd,wEAAoE;AAsDlE,2FAtDO,wBAAU,OAsDP;AArDZ,gGAAqF;AAsDnF,4FAtDO,iCAAW,OAsDP;AAjDb,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAEhB,QAAA,OAAO,GAAG,QAAQ,CAAC;AAmDhC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAnBC,4BAAQ;AAqBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AAxBC,kCAAW;AAyBb,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\n\nexport const version = \"0.19.0\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
@@ -3,10 +3,11 @@ import type { Either } from '../tools/helper';
3
3
  import type { CellInfo, ColumnIconOption, HeaderData, ICustomRender, IDimension, LayoutObjectId } from '../ts-types';
4
4
  import { HierarchyState } from '../ts-types';
5
5
  import type { PivotHeaderLayoutMap } from './pivot-header-layout';
6
- interface IPivotLayoutBaseHeadNode {
6
+ interface ITreeLayoutBaseHeadNode {
7
7
  id: number;
8
8
  value: string;
9
- children: IPivotLayoutHeadNode[] | undefined;
9
+ children: ITreeLayoutHeadNode[] | undefined;
10
+ columns?: any;
10
11
  level: number;
11
12
  levelSpan: number;
12
13
  startIndex: number;
@@ -16,13 +17,13 @@ interface IPivotLayoutBaseHeadNode {
16
17
  hierarchyState: HierarchyState;
17
18
  headerIcon?: (string | ColumnIconOption)[] | ((args: CellInfo) => (string | ColumnIconOption)[]);
18
19
  }
19
- interface IPivotLayoutDimensionHeadNode extends IPivotLayoutBaseHeadNode {
20
+ interface ITreeLayoutDimensionHeadNode extends ITreeLayoutBaseHeadNode {
20
21
  dimensionKey: string;
21
22
  }
22
- interface IPivotLayoutIndicatorHeadNode extends IPivotLayoutBaseHeadNode {
23
+ interface ITreeLayoutIndicatorHeadNode extends ITreeLayoutBaseHeadNode {
23
24
  indicatorKey: string;
24
25
  }
25
- export type IPivotLayoutHeadNode = Either<IPivotLayoutDimensionHeadNode, IPivotLayoutIndicatorHeadNode>;
26
+ export type ITreeLayoutHeadNode = Either<ITreeLayoutDimensionHeadNode, ITreeLayoutIndicatorHeadNode>;
26
27
  export declare class DimensionTree {
27
28
  sharedVar: {
28
29
  seqId: number;
@@ -30,20 +31,21 @@ export declare class DimensionTree {
30
31
  sizeIncludeParent: boolean;
31
32
  rowExpandLevel: number;
32
33
  hierarchyType: 'grid' | 'tree';
33
- tree: IPivotLayoutHeadNode;
34
+ tree: ITreeLayoutHeadNode;
34
35
  totalLevel: number;
35
36
  dimensionKeys: NumberMap<string>;
36
37
  cache: Map<number, any>;
37
- constructor(tree: IPivotLayoutHeadNode[], sharedVar: {
38
+ constructor(tree: ITreeLayoutHeadNode[], sharedVar: {
38
39
  seqId: number;
39
40
  }, hierarchyType?: 'grid' | 'tree', rowExpandLevel?: number);
40
- reset(tree: IPivotLayoutHeadNode[], updateTreeNode?: boolean): void;
41
- setTreeNode(node: IPivotLayoutHeadNode, startIndex: number, parent: IPivotLayoutHeadNode): number;
42
- getTreePath(index: number, maxDeep?: number): Array<IPivotLayoutHeadNode>;
43
- getTreePathByCellIds(ids: LayoutObjectId[]): Array<IPivotLayoutHeadNode>;
44
- findNodeById(nodes: IPivotLayoutHeadNode[], id: LayoutObjectId): IPivotLayoutHeadNode;
45
- searchPath(index: number, node: IPivotLayoutHeadNode, path: Array<IPivotLayoutHeadNode>, maxDeep: number): void;
41
+ reset(tree: ITreeLayoutHeadNode[], updateTreeNode?: boolean): void;
42
+ setTreeNode(node: ITreeLayoutHeadNode, startIndex: number, parent: ITreeLayoutHeadNode): number;
43
+ getTreePath(index: number, maxDeep?: number): Array<ITreeLayoutHeadNode>;
44
+ getTreePathByCellIds(ids: LayoutObjectId[]): Array<ITreeLayoutHeadNode>;
45
+ findNodeById(nodes: ITreeLayoutHeadNode[], id: LayoutObjectId): ITreeLayoutHeadNode;
46
+ searchPath(index: number, node: ITreeLayoutHeadNode, path: Array<ITreeLayoutHeadNode>, maxDeep: number): void;
46
47
  movePosition(level: number, sourceIndex: number, targetIndex: number): void;
48
+ getCopiedTree(): any;
47
49
  }
48
50
  export type LayouTreeNode = {
49
51
  dimensionKey?: string;
@@ -52,10 +54,10 @@ export type LayouTreeNode = {
52
54
  hierarchyState: HierarchyState;
53
55
  children?: LayouTreeNode[];
54
56
  };
55
- export declare function generateLayoutTree(tree: LayouTreeNode[], children: IPivotLayoutHeadNode[]): void;
57
+ export declare function generateLayoutTree(tree: LayouTreeNode[], children: ITreeLayoutHeadNode[]): void;
56
58
  export declare function countLayoutTree(children: {
57
59
  children?: any;
58
60
  }[], countParentNode: boolean): number;
59
- export declare function dealHeader(hd: IPivotLayoutHeadNode, _headerCellIds: number[][], results: HeaderData[], roots: number[], row: number, layoutMap: PivotHeaderLayoutMap): void;
60
- export declare function dealHeaderForTreeMode(hd: IPivotLayoutHeadNode, _headerCellIds: number[][], results: HeaderData[], roots: number[], row: number, totalLevel: number, show: boolean, dimensions: (IDimension | string)[], layoutMap: PivotHeaderLayoutMap): void;
61
+ export declare function dealHeader(hd: ITreeLayoutHeadNode, _headerCellIds: number[][], results: HeaderData[], roots: number[], row: number, layoutMap: PivotHeaderLayoutMap): void;
62
+ export declare function dealHeaderForTreeMode(hd: ITreeLayoutHeadNode, _headerCellIds: number[][], results: HeaderData[], roots: number[], row: number, totalLevel: number, show: boolean, dimensions: (IDimension | string)[], layoutMap: PivotHeaderLayoutMap): void;
61
63
  export {};
@@ -28,26 +28,27 @@ class DimensionTree {
28
28
  this.setTreeNode(this.tree, 0, this.tree), this.totalLevel = this.dimensionKeys.count();
29
29
  }
30
30
  setTreeNode(node, startIndex, parent) {
31
- var _a, _b, _c, _d, _e, _f, _g;
31
+ var _a, _b;
32
32
  node.startIndex = startIndex, node.startInTotal = (null !== (_a = parent.startInTotal) && void 0 !== _a ? _a : 0) + node.startIndex,
33
33
  (null !== (_b = node.dimensionKey) && void 0 !== _b ? _b : node.indicatorKey) && (!this.dimensionKeys.contain(node.indicatorKey ? global_1.IndicatorDimensionKeyPlaceholder : node.dimensionKey) && this.dimensionKeys.put(node.level, node.indicatorKey ? global_1.IndicatorDimensionKeyPlaceholder : node.dimensionKey),
34
34
  node.id || (node.id = ++this.sharedVar.seqId));
35
35
  let size = node.dimensionKey && this.sizeIncludeParent ? 1 : 0;
36
- return "grid" === this.hierarchyType ? (null === (_c = node.children) || void 0 === _c ? void 0 : _c.length) >= 1 ? node.children.forEach((n => {
36
+ const children = node.children || node.columns;
37
+ return "grid" === this.hierarchyType ? (null == children ? void 0 : children.length) >= 1 ? children.forEach((n => {
37
38
  var _a;
38
39
  n.level = (null !== (_a = node.level) && void 0 !== _a ? _a : 0) + 1, size += this.setTreeNode(n, size, node);
39
- })) : size = 1 : node.hierarchyState === ts_types_1.HierarchyState.expand && (null === (_d = node.children) || void 0 === _d ? void 0 : _d.length) >= 1 ? node.children.forEach((n => {
40
+ })) : size = 1 : node.hierarchyState === ts_types_1.HierarchyState.expand && (null == children ? void 0 : children.length) >= 1 ? children.forEach((n => {
40
41
  var _a;
41
42
  n.level = (null !== (_a = node.level) && void 0 !== _a ? _a : 0) + 1, size += this.setTreeNode(n, size, node);
42
- })) : node.hierarchyState === ts_types_1.HierarchyState.collapse && (null === (_e = node.children) || void 0 === _e ? void 0 : _e.length) >= 1 ? node.children.forEach((n => {
43
+ })) : node.hierarchyState === ts_types_1.HierarchyState.collapse && (null == children ? void 0 : children.length) >= 1 ? children.forEach((n => {
43
44
  var _a;
44
45
  n.level = (null !== (_a = node.level) && void 0 !== _a ? _a : 0) + 1, this.setTreeNode(n, size, node);
45
- })) : !node.hierarchyState && node.level + 1 < this.rowExpandLevel && (null === (_f = node.children) || void 0 === _f ? void 0 : _f.length) >= 1 ? (node.hierarchyState = ts_types_1.HierarchyState.expand,
46
- node.children.forEach((n => {
46
+ })) : !node.hierarchyState && node.level + 1 < this.rowExpandLevel && (null == children ? void 0 : children.length) >= 1 ? (node.hierarchyState = ts_types_1.HierarchyState.expand,
47
+ children.forEach((n => {
47
48
  var _a;
48
49
  n.level = (null !== (_a = node.level) && void 0 !== _a ? _a : 0) + 1, size += this.setTreeNode(n, size, node);
49
- }))) : (null === (_g = node.children) || void 0 === _g ? void 0 : _g.length) >= 1 ? (node.hierarchyState = ts_types_1.HierarchyState.collapse,
50
- node.children.forEach((n => {
50
+ }))) : (null == children ? void 0 : children.length) >= 1 ? (node.hierarchyState = ts_types_1.HierarchyState.collapse,
51
+ children.forEach((n => {
51
52
  var _a;
52
53
  n.level = (null !== (_a = node.level) && void 0 !== _a ? _a : 0) + 1, this.setTreeNode(n, size, node);
53
54
  }))) : (node.hierarchyState = ts_types_1.HierarchyState.none, size = 1), node.size = size,
@@ -98,16 +99,22 @@ class DimensionTree {
98
99
  movePosition(level, sourceIndex, targetIndex) {
99
100
  let parNode, sourceSubIndex, targetSubIndex;
100
101
  const findTargetNode = (node, subIndex) => {
101
- if ((void 0 === sourceSubIndex || void 0 === targetSubIndex) && (node.level === level && (node.startInTotal === sourceIndex && (sourceSubIndex = subIndex),
102
- node.startInTotal <= targetIndex && targetIndex <= node.startInTotal + node.size - 1 && (targetSubIndex = subIndex)),
103
- node.children && node.level < level)) {
102
+ if (void 0 !== sourceSubIndex && void 0 !== targetSubIndex) return;
103
+ node.level === level && (node.startInTotal === sourceIndex && (sourceSubIndex = subIndex),
104
+ node.startInTotal <= targetIndex && targetIndex <= node.startInTotal + node.size - 1 && (targetSubIndex = subIndex));
105
+ const children = node.children || node.columns;
106
+ if (children && node.level < level) {
104
107
  parNode = node;
105
- for (let i = 0; i < node.children.length; i++) (sourceIndex >= node.children[i].startInTotal && sourceIndex <= node.children[i].startInTotal + node.children[i].size || targetIndex >= node.children[i].startInTotal && targetIndex <= node.children[i].startInTotal + node.children[i].size) && findTargetNode(node.children[i], i);
108
+ for (let i = 0; i < children.length; i++) (sourceIndex >= children[i].startInTotal && sourceIndex <= children[i].startInTotal + children[i].size || targetIndex >= children[i].startInTotal && targetIndex <= children[i].startInTotal + children[i].size) && findTargetNode(children[i], i);
106
109
  }
107
110
  };
108
111
  findTargetNode(this.tree, 0);
109
- const sourceColumns = parNode.children.splice(sourceSubIndex, 1);
110
- sourceColumns.unshift(targetSubIndex, 0), Array.prototype.splice.apply(parNode.children, sourceColumns);
112
+ const children = parNode.children || parNode.columns, sourceColumns = children.splice(sourceSubIndex, 1);
113
+ sourceColumns.unshift(targetSubIndex, 0), Array.prototype.splice.apply(children, sourceColumns);
114
+ }
115
+ getCopiedTree() {
116
+ const children = (0, vutils_1.cloneDeep)(this.tree.children);
117
+ return clearNode(children), children;
111
118
  }
112
119
  }
113
120
 
@@ -237,6 +244,16 @@ function dealHeaderForTreeMode(hd, _headerCellIds, results, roots, row, totalLev
237
244
  }
238
245
  }
239
246
 
247
+ function clearNode(children) {
248
+ for (let i = 0; i < children.length; i++) {
249
+ const node = children[i];
250
+ delete node.level, delete node.startIndex, delete node.id, delete node.levelSpan,
251
+ delete node.size, delete node.startInTotal;
252
+ const childrenNew = node.children || node.columns;
253
+ childrenNew && clearNode(childrenNew);
254
+ }
255
+ }
256
+
257
+ //# sourceMappingURL=layout-helper.js.map
240
258
  exports.DimensionTree = DimensionTree, exports.generateLayoutTree = generateLayoutTree,
241
- exports.countLayoutTree = countLayoutTree, exports.dealHeader = dealHeader, exports.dealHeaderForTreeMode = dealHeaderForTreeMode;
242
- //# sourceMappingURL=pivot-layout-helper.js.map
259
+ exports.countLayoutTree = countLayoutTree, exports.dealHeader = dealHeader, exports.dealHeaderForTreeMode = dealHeaderForTreeMode;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":"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","file":"layout-helper.js","sourcesContent":["import { cloneDeep, isValid } from '@visactor/vutils';\nimport { NumberMap } from '../tools/NumberMap';\nimport { IndicatorDimensionKeyPlaceholder } from '../tools/global';\nimport type { Either } from '../tools/helper';\nimport type {\n CellInfo,\n ColumnIconOption,\n FieldData,\n HeaderData,\n ICustomRender,\n IDimension,\n IIndicator,\n IRowDimension,\n LayoutObjectId\n} from '../ts-types';\nimport { HierarchyState } from '../ts-types';\nimport type { PivotHeaderLayoutMap } from './pivot-header-layout';\nimport type { ILinkDimension } from '../ts-types/pivot-table/dimension/link-dimension';\nimport type { IImageDimension } from '../ts-types/pivot-table/dimension/image-dimension';\n// import { sharedVar } from './pivot-header-layout';\n\ninterface ITreeLayoutBaseHeadNode {\n id: number;\n // dimensionKey: string;\n // // title: string;\n // indicatorKey?: string;\n value: string;\n children: ITreeLayoutHeadNode[] | undefined;\n columns?: any; //兼容ListTable情况 simple-header-layout中增加了columnTree\n level: number;\n /** 节点跨占层数 如汇总节点跨几层维度 */\n levelSpan: number;\n startIndex: number;\n size: number; //对应到colSpan或者rowSpan\n // parsing?: 'img' | 'link' | 'video' | 'templateLink';\n startInTotal: number;\n // headerStyle:HeaderStyleOption| null;\n customRender?: ICustomRender;\n\n hierarchyState: HierarchyState;\n headerIcon?: (string | ColumnIconOption)[] | ((args: CellInfo) => (string | ColumnIconOption)[]);\n}\n\ninterface ITreeLayoutDimensionHeadNode extends ITreeLayoutBaseHeadNode {\n dimensionKey: string;\n}\ninterface ITreeLayoutIndicatorHeadNode extends ITreeLayoutBaseHeadNode {\n indicatorKey: string;\n}\nexport type ITreeLayoutHeadNode = Either<ITreeLayoutDimensionHeadNode, ITreeLayoutIndicatorHeadNode>;\nexport class DimensionTree {\n sharedVar: { seqId: number };\n // 每一个值对应的序号 结果缓存\n // cache: {\n // [propName: string]: any;\n // };\n //树形展示 会将非叶子节点单独展示一行 所以size会增加非叶子节点的个数\n sizeIncludeParent = false;\n rowExpandLevel: number;\n hierarchyType: 'grid' | 'tree';\n tree: ITreeLayoutHeadNode = {\n id: 0,\n dimensionKey: '',\n // title: '',\n value: '',\n children: [],\n level: -1,\n levelSpan: 1,\n startIndex: 0,\n size: 0,\n startInTotal: 0,\n hierarchyState: undefined\n };\n\n totalLevel = 0;\n\n // blockLevel: number = 0;\n\n // blockStartIndexMap: Map<number, boolean> = new Map();\n // blockEndIndexMap: Map<number, boolean> = new Map();\n dimensionKeys: NumberMap<string> = new NumberMap<string>();\n // dimensions: IDimension[] | undefined;//目前用不到这个\n\n cache: Map<number, any> = new Map();\n constructor(\n tree: ITreeLayoutHeadNode[],\n sharedVar: { seqId: number },\n hierarchyType: 'grid' | 'tree' = 'grid',\n rowExpandLevel: number = undefined\n ) {\n this.sizeIncludeParent = rowExpandLevel !== null && rowExpandLevel !== undefined;\n this.rowExpandLevel = rowExpandLevel;\n this.hierarchyType = hierarchyType;\n this.sharedVar = sharedVar;\n this.reset(tree);\n }\n\n reset(tree: ITreeLayoutHeadNode[], updateTreeNode = false) {\n // 清空缓存的计算\n // this.cache = {};\n // this.dimensions = dimensions;\n this.cache.clear();\n this.dimensionKeys = new NumberMap<string>();\n this.tree.children = tree as ITreeLayoutHeadNode[];\n // const re = { totalLevel: 0 };\n // if (updateTreeNode) this.updateTreeNode(this.tree, 0, re, this.tree);\n // else\n this.setTreeNode(this.tree, 0, this.tree);\n this.totalLevel = this.dimensionKeys.count();\n }\n setTreeNode(node: ITreeLayoutHeadNode, startIndex: number, parent: ITreeLayoutHeadNode): number {\n node.startIndex = startIndex;\n node.startInTotal = (parent.startInTotal ?? 0) + node.startIndex;\n // if (node.dimensionKey) {\n // !this.dimensionKeys.contain(node.dimensionKey) &&\n // this.dimensionKeys.put(node.level, node.dimensionKey);\n // if (!node.id) node.id = ++seqId;\n // }\n if (node.dimensionKey ?? node.indicatorKey) {\n !this.dimensionKeys.contain(node.indicatorKey ? IndicatorDimensionKeyPlaceholder : node.dimensionKey) &&\n this.dimensionKeys.put(node.level, node.indicatorKey ? IndicatorDimensionKeyPlaceholder : node.dimensionKey);\n if (!node.id) {\n node.id = ++this.sharedVar.seqId;\n }\n }\n let size = node.dimensionKey ? (this.sizeIncludeParent ? 1 : 0) : 0;\n const children = node.children || node.columns;\n //平铺展示 分析所有层级\n if (this.hierarchyType === 'grid') {\n if (children?.length >= 1) {\n children.forEach((n: any) => {\n n.level = (node.level ?? 0) + 1;\n size += this.setTreeNode(n, size, node);\n });\n } else {\n size = 1;\n // re.totalLevel = Math.max(re.totalLevel, (node.level ?? -1) + 1);\n }\n } else if (node.hierarchyState === HierarchyState.expand && children?.length >= 1) {\n //树形展示 有子节点 且下一层需要展开\n children.forEach((n: any) => {\n n.level = (node.level ?? 0) + 1;\n size += this.setTreeNode(n, size, node);\n });\n } else if (node.hierarchyState === HierarchyState.collapse && children?.length >= 1) {\n //树形展示 有子节点 且下一层不需要展开\n children.forEach((n: any) => {\n n.level = (node.level ?? 0) + 1;\n this.setTreeNode(n, size, node);\n });\n } else if (!node.hierarchyState && node.level + 1 < this.rowExpandLevel && children?.length >= 1) {\n //树形展示 有子节点 且下一层需要展开\n node.hierarchyState = HierarchyState.expand;\n children.forEach((n: any) => {\n n.level = (node.level ?? 0) + 1;\n size += this.setTreeNode(n, size, node);\n });\n } else if (children?.length >= 1) {\n //树形展示 有子节点 且下一层不需要展开\n node.hierarchyState = HierarchyState.collapse;\n children.forEach((n: any) => {\n n.level = (node.level ?? 0) + 1;\n this.setTreeNode(n, size, node);\n });\n } else {\n //树形展示 无children子节点。但不能确定是最后一层的叶子节点 totalLevel还不能确定是计算完整棵树的整体深度\n node.hierarchyState = HierarchyState.none;\n size = 1;\n // re.totalLevel = Math.max(re.totalLevel, (node.level ?? -1) + 1);\n }\n\n node.size = size;\n // startInTotal = parent.startIndex + prevStartIndex\n return size;\n }\n getTreePath(index: number, maxDeep = 30): Array<ITreeLayoutHeadNode> {\n const path: any[] = [];\n this.searchPath(index, this.tree, path, maxDeep);\n path.shift();\n return path;\n }\n\n getTreePathByCellIds(ids: LayoutObjectId[]): Array<ITreeLayoutHeadNode> {\n const path: any[] = [];\n let nodes = this.tree.children;\n for (let i = 0; i < ids.length; i++) {\n const id = ids[i];\n const pathNode = this.findNodeById(nodes, id);\n if (pathNode) {\n path.push(pathNode);\n nodes = pathNode.children;\n } else {\n break;\n }\n }\n // path.shift();\n return path;\n }\n findNodeById(nodes: ITreeLayoutHeadNode[], id: LayoutObjectId) {\n return nodes.find(node => {\n return node.id === id;\n });\n }\n searchPath(index: number, node: ITreeLayoutHeadNode, path: Array<ITreeLayoutHeadNode>, maxDeep: number) {\n if (!node) {\n return;\n }\n if (index < node.startIndex || index >= node.startIndex + node.size) {\n return;\n }\n path.push(node);\n if (!node.children || node.children.length === 0 || node.level >= maxDeep) {\n return;\n }\n\n // const cIndex = index - node.startIndex;\n // for (let i = 0; i < node.children.length; i++) {\n // const element = node.children[i];\n // if (cIndex >= element.startIndex && cIndex < element.startIndex + element.size) {\n // this.searchPath(cIndex, element, path, maxDeep);\n // break;\n // }\n // }\n\n // use dichotomy to optimize search performance\n const cIndex = index - node.startIndex;\n\n if (this.cache.has(node.level + 1)) {\n const cacheNode = this.cache.get(node.level + 1);\n if (cIndex >= cacheNode.startIndex && cIndex < cacheNode.startIndex + cacheNode.size) {\n this.searchPath(cIndex, cacheNode, path, maxDeep);\n return;\n }\n }\n\n let left = 0;\n let right = node.children.length - 1;\n\n while (left <= right) {\n const middle = Math.floor((left + right) / 2);\n const element = node.children[middle];\n\n if (cIndex >= element.startIndex && cIndex < element.startIndex + element.size) {\n this.cache.set(element.level, element);\n const deleteLevels: number[] = [];\n this.cache.forEach((node, key) => {\n if (key > element.level) {\n deleteLevels.push(key);\n }\n });\n deleteLevels.forEach(key => {\n this.cache.delete(key);\n });\n this.searchPath(cIndex, element, path, maxDeep);\n break;\n } else if (cIndex < element.startIndex) {\n right = middle - 1;\n } else {\n left = middle + 1;\n }\n }\n return;\n }\n /**\n * 将该树中 层级为level 的sourceIndex处的节点移动到targetIndex位置\n * @param level\n * @param sourceIndex\n * @param targetIndex\n */\n movePosition(level: number, sourceIndex: number, targetIndex: number) {\n // let sourceNode: IPivotLayoutHeadNode;\n let parNode: ITreeLayoutHeadNode;\n let sourceSubIndex: number;\n let targetSubIndex: number;\n /**\n * 对parNode的子节点第subIndex处的node节点 进行判断是否为sourceIndex或者targetIndex\n * 如果是 则记录下subIndex 以对parNode中个节点位置进行移位\n * @param node\n * @param subIndex\n * @returns\n */\n const findTargetNode = (node: ITreeLayoutHeadNode, subIndex: number) => {\n if (sourceSubIndex !== undefined && targetSubIndex !== undefined) {\n return;\n }\n if (node.level === level) {\n if (node.startInTotal === sourceIndex) {\n // sourceNode = node;\n sourceSubIndex = subIndex;\n }\n // if (node.startInTotal === targetIndex) targetSubIndex = subIndex;\n // 判断targetIndex是否在node的范围内 将当前node的subIndex记为targetSubIndex\n if (node.startInTotal <= targetIndex && targetIndex <= node.startInTotal + node.size - 1) {\n targetSubIndex = subIndex;\n }\n }\n const children = node.children || node.columns;\n if (children && node.level < level) {\n parNode = node;\n for (let i = 0; i < children.length; i++) {\n if (\n (sourceIndex >= children[i].startInTotal && sourceIndex <= children[i].startInTotal + children[i].size) ||\n (targetIndex >= children[i].startInTotal && targetIndex <= children[i].startInTotal + children[i].size)\n ) {\n findTargetNode(children[i], i);\n }\n }\n }\n };\n findTargetNode(this.tree, 0);\n\n //对parNode子节点位置进行移位【根据sourceSubIndex和targetSubIndex】\n const children = parNode.children || parNode.columns;\n const sourceColumns = children.splice(sourceSubIndex, 1);\n sourceColumns.unshift(targetSubIndex as any, 0 as any);\n Array.prototype.splice.apply(children, sourceColumns);\n }\n /** 获取纯净树结构 没有level size index这些属性 */\n getCopiedTree() {\n const children = cloneDeep(this.tree.children);\n clearNode(children);\n return children;\n }\n}\n\n//#region 为方法getLayoutRowTree提供的类型和工具方法\nexport type LayouTreeNode = {\n dimensionKey?: string;\n indicatorKey?: string;\n value: string;\n hierarchyState: HierarchyState;\n children?: LayouTreeNode[];\n};\n\nexport function generateLayoutTree(tree: LayouTreeNode[], children: ITreeLayoutHeadNode[]) {\n children?.forEach((node: ITreeLayoutHeadNode) => {\n const diemnsonNode: {\n dimensionKey?: string;\n indicatorKey?: string;\n value: string;\n hierarchyState: HierarchyState;\n children: any;\n } = {\n dimensionKey: node.dimensionKey,\n indicatorKey: node.indicatorKey,\n value: node.value,\n hierarchyState: node.hierarchyState,\n children: undefined\n };\n tree.push(diemnsonNode);\n if (node.children) {\n diemnsonNode.children = [];\n generateLayoutTree(diemnsonNode.children, node.children);\n }\n });\n}\n//#endregion\n\n//#region 为方法getLayoutRowTreeCount提的工具方法\nexport function countLayoutTree(children: { children?: any }[], countParentNode: boolean) {\n let count = 0;\n children?.forEach((node: ITreeLayoutHeadNode) => {\n if (countParentNode) {\n count++;\n } else {\n if (!node.children || node.children.length === 0) {\n count++;\n }\n }\n if (node.children) {\n count += countLayoutTree(node.children, countParentNode);\n }\n });\n return count;\n}\n//#endregion\n\nexport function dealHeader(\n hd: ITreeLayoutHeadNode,\n _headerCellIds: number[][],\n results: HeaderData[],\n roots: number[],\n row: number,\n layoutMap: PivotHeaderLayoutMap\n) {\n // const col = this._columns.length;\n const id = hd.id;\n const dimensionInfo: IDimension =\n (layoutMap.rowsDefine?.find(dimension =>\n typeof dimension === 'string' ? false : dimension.dimensionKey === hd.dimensionKey\n ) as IDimension) ??\n (layoutMap.columnsDefine?.find(dimension =>\n typeof dimension === 'string' ? false : dimension.dimensionKey === hd.dimensionKey\n ) as IDimension);\n const indicatorInfo = layoutMap.indicatorsDefine?.find(indicator => {\n if (typeof indicator === 'string') {\n return false;\n }\n if (hd.indicatorKey) {\n return indicator.indicatorKey === hd.indicatorKey;\n }\n return indicator.title === hd.value;\n }) as IIndicator;\n const cell: HeaderData = {\n id,\n title: hd.value ?? indicatorInfo?.title,\n field: hd.dimensionKey,\n style:\n typeof (indicatorInfo ?? dimensionInfo)?.headerStyle === 'function'\n ? (indicatorInfo ?? dimensionInfo)?.headerStyle\n : Object.assign({}, (indicatorInfo ?? dimensionInfo)?.headerStyle),\n headerType: indicatorInfo?.headerType ?? dimensionInfo?.headerType ?? 'text',\n headerIcon: indicatorInfo?.headerIcon ?? dimensionInfo?.headerIcon,\n // define: <any>hd,\n define: Object.assign({}, <any>hd, indicatorInfo ?? dimensionInfo),\n fieldFormat: indicatorInfo?.headerFormat ?? dimensionInfo?.headerFormat,\n // iconPositionList:[]\n dropDownMenu: indicatorInfo?.dropDownMenu ?? dimensionInfo?.dropDownMenu,\n pivotInfo: {\n value: hd.value,\n dimensionKey: hd.dimensionKey,\n isPivotCorner: false\n // customInfo: dimensionInfo?.customInfo\n },\n width: (dimensionInfo as IRowDimension)?.width,\n minWidth: (dimensionInfo as IRowDimension)?.minWidth,\n maxWidth: (dimensionInfo as IRowDimension)?.maxWidth,\n showSort: indicatorInfo?.showSort ?? dimensionInfo?.showSort,\n description: dimensionInfo?.description\n };\n\n if (indicatorInfo) {\n //收集indicatorDimensionKey 提到了构造函数中\n // this.indicatorDimensionKey = dimensionInfo.dimensionKey;\n if (indicatorInfo.customRender) {\n hd.customRender = indicatorInfo.customRender;\n }\n if (!isValid(layoutMap._indicators?.find(indicator => indicator.indicatorKey === indicatorInfo.indicatorKey))) {\n layoutMap._indicators?.push({\n id: ++layoutMap.sharedVar.seqId,\n indicatorKey: indicatorInfo.indicatorKey,\n field: indicatorInfo.indicatorKey,\n fieldFormat: indicatorInfo?.format,\n cellType: indicatorInfo?.cellType ?? (indicatorInfo as any)?.columnType ?? 'text',\n chartModule: 'chartModule' in indicatorInfo ? indicatorInfo.chartModule : null,\n chartSpec: 'chartSpec' in indicatorInfo ? indicatorInfo.chartSpec : null,\n sparklineSpec: 'sparklineSpec' in indicatorInfo ? indicatorInfo.sparklineSpec : null,\n style: indicatorInfo?.style,\n icon: indicatorInfo?.icon,\n define: Object.assign({}, <any>hd, indicatorInfo, {\n dragHeader: dimensionInfo?.dragHeader\n }),\n width: indicatorInfo?.width,\n minWidth: indicatorInfo?.minWidth,\n maxWidth: indicatorInfo?.maxWidth,\n disableColumnResize: indicatorInfo?.disableColumnResize\n });\n }\n } else if (hd.indicatorKey) {\n //兼容当某个指标没有设置在dimension.indicators中\n if (!isValid(layoutMap._indicators?.find(indicator => indicator.indicatorKey === hd.indicatorKey))) {\n layoutMap._indicators?.push({\n id: ++layoutMap.sharedVar.seqId,\n indicatorKey: hd.indicatorKey,\n field: hd.indicatorKey,\n cellType: 'text',\n define: Object.assign({}, <any>hd)\n });\n }\n }\n // if (dimensionInfo.indicators) {\n // layoutMap.hideIndicatorName = dimensionInfo.hideIndicatorName ?? false;\n // layoutMap.indicatorsAsCol = dimensionInfo.indicatorsAsCol ?? true;\n // }\n results[id] = cell;\n layoutMap._headerObjects[id] = cell;\n _headerCellIds[row][layoutMap.colIndex] = id;\n for (let r = row - 1; r >= 0; r--) {\n _headerCellIds[r][layoutMap.colIndex] = roots[r];\n }\n\n // 处理汇总小计跨维度层级的情况\n if ((hd as any).levelSpan > 1) {\n for (let i = 1; i < (hd as any).levelSpan; i++) {\n if (!_headerCellIds[row + i]) {\n _headerCellIds[row + i] = [];\n }\n _headerCellIds[row + i][layoutMap.colIndex] = id;\n }\n }\n\n if ((hd as ITreeLayoutHeadNode).children?.length >= 1) {\n layoutMap\n ._addHeaders(_headerCellIds, row + ((hd as any).levelSpan ?? 1), (hd as ITreeLayoutHeadNode).children ?? [], [\n ...roots,\n ...Array((hd as any).levelSpan ?? 1).fill(id)\n ])\n .forEach(c => results.push(c));\n } else {\n // columns.push([\"\"])//代码一个路径\n for (let r = row + 1; r < _headerCellIds.length; r++) {\n _headerCellIds[r][layoutMap.colIndex] = id;\n\n // if ((hd as any).levelSpan > 1) {\n // for (let i = 1; i < (hd as any).levelSpan; i++) {\n // _headerCellIds[r + i][layoutMap.colIndex] = id;\n // }\n // }\n }\n layoutMap.colIndex++;\n }\n}\n\nexport function dealHeaderForTreeMode(\n hd: ITreeLayoutHeadNode,\n _headerCellIds: number[][],\n results: HeaderData[],\n roots: number[],\n row: number,\n totalLevel: number,\n show: boolean,\n dimensions: (IDimension | string)[],\n layoutMap: PivotHeaderLayoutMap\n) {\n const id = hd.id;\n // const dimensionInfo: IDimension =\n // (this.rowsDefine?.find(dimension =>\n // typeof dimension === 'string' ? false : dimension.dimensionKey === hd.dimensionKey\n // ) as IDimension) ??\n // (this.columnsDefine?.find(dimension =>\n // typeof dimension === 'string' ? false : dimension.dimensionKey === hd.dimensionKey\n // ) as IDimension);\n const dimensionInfo: IDimension = dimensions.find(dimension =>\n typeof dimension === 'string' ? false : dimension.dimensionKey === hd.dimensionKey\n ) as IDimension;\n\n const cell: HeaderData = {\n id,\n title: hd.value,\n field: hd.dimensionKey as FieldData,\n //如果不是整棵树的叶子节点,都靠左显示\n style:\n hd.level + 1 === totalLevel || typeof dimensionInfo?.headerStyle === 'function'\n ? dimensionInfo?.headerStyle\n : Object.assign({}, dimensionInfo?.headerStyle, { textAlign: 'left' }),\n headerType: dimensionInfo?.headerType ?? 'text',\n headerIcon: dimensionInfo?.headerIcon,\n define: Object.assign(<any>hd, {\n linkJump: (dimensionInfo as ILinkDimension)?.linkJump,\n linkDetect: (dimensionInfo as ILinkDimension)?.linkDetect,\n templateLink: (dimensionInfo as ILinkDimension)?.templateLink,\n\n // image相关 to be fixed\n keepAspectRatio: (dimensionInfo as IImageDimension)?.keepAspectRatio ?? false,\n imageAutoSizing: (dimensionInfo as IImageDimension)?.imageAutoSizing,\n\n headerCustomRender: dimensionInfo?.headerCustomRender,\n headerCustomLayout: dimensionInfo?.headerCustomLayout,\n dragHeader: dimensionInfo?.dragHeader,\n disableHeaderHover: !!dimensionInfo?.disableHeaderHover,\n disableHeaderSelect: !!dimensionInfo?.disableHeaderSelect\n }), //这里不能新建对象,要用hd保持引用关系\n fieldFormat: dimensionInfo?.headerFormat,\n // iconPositionList:[]\n dropDownMenu: dimensionInfo?.dropDownMenu,\n pivotInfo: {\n value: hd.value,\n dimensionKey: hd.dimensionKey as string,\n isPivotCorner: false\n // customInfo: dimensionInfo?.customInfo\n },\n hierarchyLevel: hd.level,\n dimensionTotalLevel: totalLevel,\n hierarchyState: hd.level + 1 === totalLevel ? undefined : hd.hierarchyState,\n width: (dimensionInfo as IRowDimension)?.width,\n minWidth: (dimensionInfo as IRowDimension)?.minWidth,\n maxWidth: (dimensionInfo as IRowDimension)?.maxWidth,\n parentCellId: roots[roots.length - 1]\n };\n\n results[id] = cell;\n // this._cellIdDiemnsionMap.set(id, {\n // dimensionKey: hd.dimensionKey,\n // value: hd.value\n // });\n layoutMap._headerObjects[id] = cell;\n _headerCellIds[row][layoutMap.colIndex] = id;\n for (let r = row - 1; r >= 0; r--) {\n _headerCellIds[r][layoutMap.colIndex] = roots[r];\n }\n if (hd.hierarchyState === HierarchyState.expand && (hd as ITreeLayoutHeadNode).children?.length >= 1) {\n //row传值 colIndex++和_addHeaders有区别\n show && layoutMap.colIndex++;\n layoutMap\n ._addHeadersForTreeMode(\n _headerCellIds,\n row,\n (hd as ITreeLayoutHeadNode).children ?? [],\n [...roots, id],\n totalLevel,\n show && hd.hierarchyState === HierarchyState.expand, //当前节点show 且当前节点状态为展开 则传给子节点为show:true\n dimensions\n )\n .forEach(c => results.push(c));\n } else {\n // columns.push([\"\"])//代码一个路径\n show && layoutMap.colIndex++;\n for (let r = row + 1; r < _headerCellIds.length; r++) {\n _headerCellIds[r][layoutMap.colIndex] = id;\n }\n }\n}\n\nfunction clearNode(children: any) {\n for (let i = 0; i < children.length; i++) {\n const node = children[i];\n delete node.level;\n delete node.startIndex;\n delete node.id;\n delete node.levelSpan;\n delete node.size;\n delete node.startInTotal;\n const childrenNew = node.children || node.columns;\n if (childrenNew) {\n clearNode(childrenNew);\n }\n }\n}\n"]}
@@ -2,8 +2,8 @@ import type { CellAddress, CellRange, IPivotTableCellHeaderPaths, LayoutObjectId
2
2
  import type { HeaderData, IndicatorData, LayoutMapAPI, WidthData } from '../ts-types/list-table/layout-map/api';
3
3
  import type { PivotTable } from '../PivotTable';
4
4
  import type { PivotChart } from '../PivotChart';
5
- import type { LayouTreeNode, IPivotLayoutHeadNode } from './pivot-layout-helper';
6
- import { DimensionTree } from './pivot-layout-helper';
5
+ import type { LayouTreeNode, ITreeLayoutHeadNode } from './layout-helper';
6
+ import { DimensionTree } from './layout-helper';
7
7
  import type { Dataset } from '../dataset/dataset';
8
8
  export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
9
9
  sharedVar: {
@@ -69,8 +69,8 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
69
69
  _lastCellRow: number;
70
70
  _lastCellHeaderPath: IPivotTableCellHeaderPaths;
71
71
  constructor(table: PivotTable | PivotChart, dataset: Dataset);
72
- _addHeaders(_headerCellIds: number[][], row: number, header: IPivotLayoutHeadNode[], roots: number[]): HeaderData[];
73
- _addHeadersForTreeMode(_headerCellIds: number[][], row: number, header: IPivotLayoutHeadNode[], roots: number[], totalLevel: number, show: boolean, dimensions: (IDimension | string)[]): HeaderData[];
72
+ _addHeaders(_headerCellIds: number[][], row: number, header: ITreeLayoutHeadNode[], roots: number[]): HeaderData[];
73
+ _addHeadersForTreeMode(_headerCellIds: number[][], row: number, header: ITreeLayoutHeadNode[], roots: number[], totalLevel: number, show: boolean, dimensions: (IDimension | string)[]): HeaderData[];
74
74
  private _addCornerHeaders;
75
75
  private generateExtensionRowTree;
76
76
  private setColumnWidths;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: !0
5
5
  }), exports.PivotHeaderLayoutMap = void 0;
6
6
 
7
- const util_1 = require("../tools/util"), ts_types_1 = require("../ts-types"), global_1 = require("../tools/global"), diff_cell_1 = require("../tools/diff-cell"), get_chart_spec_1 = require("./chart-helper/get-chart-spec"), pivot_layout_helper_1 = require("./pivot-layout-helper"), vutils_1 = require("@visactor/vutils"), padding_1 = require("../scenegraph/utils/padding"), get_axis_config_1 = require("./chart-helper/get-axis-config"), defaultDimension = {
7
+ const util_1 = require("../tools/util"), ts_types_1 = require("../ts-types"), global_1 = require("../tools/global"), diff_cell_1 = require("../tools/diff-cell"), get_chart_spec_1 = require("./chart-helper/get-chart-spec"), layout_helper_1 = require("./layout-helper"), vutils_1 = require("@visactor/vutils"), padding_1 = require("../scenegraph/utils/padding"), get_axis_config_1 = require("./chart-helper/get-axis-config"), defaultDimension = {
8
8
  startInTotal: 0,
9
9
  level: 0
10
10
  };
@@ -56,8 +56,8 @@ class PivotHeaderLayoutMap {
56
56
  }
57
57
  if (null === (_o = this.indicatorsDefine) || void 0 === _o || _o.forEach((indicator => {
58
58
  "string" == typeof indicator ? this.indicatorKeys.push(indicator) : this.indicatorKeys.push(indicator.indicatorKey);
59
- })), this.columnDimensionTree = new pivot_layout_helper_1.DimensionTree(null !== (_p = this.columnTree) && void 0 !== _p ? _p : [], this.sharedVar),
60
- this.rowDimensionTree = new pivot_layout_helper_1.DimensionTree(null !== (_q = this.rowTree) && void 0 !== _q ? _q : [], this.sharedVar, this.rowHierarchyType, "tree" === this.rowHierarchyType ? this.rowExpandLevel : void 0),
59
+ })), this.columnDimensionTree = new layout_helper_1.DimensionTree(null !== (_p = this.columnTree) && void 0 !== _p ? _p : [], this.sharedVar),
60
+ this.rowDimensionTree = new layout_helper_1.DimensionTree(null !== (_q = this.rowTree) && void 0 !== _q ? _q : [], this.sharedVar, this.rowHierarchyType, "tree" === this.rowHierarchyType ? this.rowExpandLevel : void 0),
61
61
  this.colDimensionKeys = this.columnDimensionTree.dimensionKeys.valueArr(), this.rowDimensionKeys = this.rowDimensionTree.dimensionKeys.valueArr(),
62
62
  this.fullRowDimensionKeys = this.fullRowDimensionKeys.concat(this.rowDimensionKeys),
63
63
  this.resetRowHeaderLevelCount(), (null === (_r = this.columnDimensionTree.tree.children) || void 0 === _r ? void 0 : _r.length) >= 1 && (this.columnHeaderObjs = this._addHeaders(this._columnHeaderCellIds, 0, this.columnDimensionTree.tree.children, [])),
@@ -141,7 +141,7 @@ class PivotHeaderLayoutMap {
141
141
  }(row);
142
142
  for (let i = 0; i < header.length; i++) {
143
143
  const hd = header[i];
144
- (0, pivot_layout_helper_1.dealHeader)(hd, _headerCellIds, results, roots, row, this);
144
+ (0, layout_helper_1.dealHeader)(hd, _headerCellIds, results, roots, row, this);
145
145
  }
146
146
  return results;
147
147
  }
@@ -156,7 +156,7 @@ class PivotHeaderLayoutMap {
156
156
  }(row);
157
157
  for (let i = 0; i < header.length; i++) {
158
158
  const hd = header[i];
159
- (0, pivot_layout_helper_1.dealHeaderForTreeMode)(hd, _headerCellIds, results, roots, row, totalLevel, show, dimensions, this);
159
+ (0, layout_helper_1.dealHeaderForTreeMode)(hd, _headerCellIds, results, roots, row, totalLevel, show, dimensions, this);
160
160
  }
161
161
  return results;
162
162
  }
@@ -226,7 +226,7 @@ class PivotHeaderLayoutMap {
226
226
  }))));
227
227
  } else tree = (0, vutils_1.cloneDeep)(extensionRow.rowTree);
228
228
  this._rowHeaderExtensionTree[key] ? (this._rowHeaderExtensionTree[key].reset(this._rowHeaderExtensionTree[key].tree.children, !0),
229
- rowExtensionDimensionTree = this._rowHeaderExtensionTree[key]) : (rowExtensionDimensionTree = new pivot_layout_helper_1.DimensionTree(null != tree ? tree : [], this.sharedVar, this.rowHierarchyType, void 0),
229
+ rowExtensionDimensionTree = this._rowHeaderExtensionTree[key]) : (rowExtensionDimensionTree = new layout_helper_1.DimensionTree(null != tree ? tree : [], this.sharedVar, this.rowHierarchyType, void 0),
230
230
  this._rowHeaderExtensionTree[key] = rowExtensionDimensionTree);
231
231
  const extensionRowTreeHeaderIds = [];
232
232
  this._addHeadersForTreeMode(extensionRowTreeHeaderIds, 0, rowExtensionDimensionTree.tree.children, [], rowExtensionDimensionTree.totalLevel, !0, extensionRow.rows);
@@ -596,6 +596,38 @@ class PivotHeaderLayoutMap {
596
596
  };
597
597
  if (!this.isHeader(col, row) || -1 === col || -1 === row) return result;
598
598
  if (this.isRightFrozenColumn(col, row) || this.isBottomFrozenRow(col, row)) return result;
599
+ if (this._table.isPivotChart()) {
600
+ if (this.isLeftBottomCorner(col, row)) return {
601
+ start: {
602
+ col: 0,
603
+ row: this.rowCount - this.bottomFrozenRowCount
604
+ },
605
+ end: {
606
+ col: this.frozenColCount - 1,
607
+ row: this.rowCount - 1
608
+ }
609
+ };
610
+ if (this.isRightTopCorner(col, row)) return {
611
+ start: {
612
+ col: this.colCount - this.rightFrozenColCount,
613
+ row: 0
614
+ },
615
+ end: {
616
+ col: this.colCount - 1,
617
+ row: this.frozenRowCount - 1
618
+ }
619
+ };
620
+ if (this.isRightBottomCorner(col, row)) return {
621
+ start: {
622
+ col: this.colCount - this.rightFrozenColCount,
623
+ row: this.rowCount - this.bottomFrozenRowCount
624
+ },
625
+ end: {
626
+ col: this.colCount - 1,
627
+ row: this.rowCount - 1
628
+ }
629
+ };
630
+ }
599
631
  for (let i = 0; i < this._largeCellRangeCache.length; i++) {
600
632
  const range = this._largeCellRangeCache[i];
601
633
  if (col >= range.start.col && col <= range.end.col && row >= range.start.row && row <= range.end.row) return range;
@@ -894,7 +926,7 @@ class PivotHeaderLayoutMap {
894
926
  }
895
927
  const sourceColumns = this._columnWidths.splice(sourceCellRange.start.col, moveSize);
896
928
  return sourceColumns.unshift(targetIndex, 0), Array.prototype.splice.apply(this._columnWidths, sourceColumns),
897
- this.columnDimensionTree.movePosition(source.row, sourceCellRange.start.col - this.rowHeaderLevelCount, targetIndex - this.rowHeaderLevelCount),
929
+ this.columnDimensionTree.movePosition(this.getCellHeaderPathsWidthTreeNode(source.col, source.row).colHeaderPaths.length - 1, sourceCellRange.start.col - this.rowHeaderLevelCount, targetIndex - this.rowHeaderLevelCount),
898
930
  this.columnDimensionTree.reset(this.columnDimensionTree.tree.children, !0), this._CellHeaderPathMap = new Map,
899
931
  this._largeCellRangeCache.length = 0, {
900
932
  sourceIndex: sourceCellRange.start.col,
@@ -1246,15 +1278,15 @@ class PivotHeaderLayoutMap {
1246
1278
  }
1247
1279
  getLayoutRowTree() {
1248
1280
  const tree = [], children = this.rowDimensionTree.tree.children;
1249
- return (0, pivot_layout_helper_1.generateLayoutTree)(tree, children), tree;
1281
+ return (0, layout_helper_1.generateLayoutTree)(tree, children), tree;
1250
1282
  }
1251
1283
  getLayoutRowTreeCount() {
1252
1284
  var _a;
1253
1285
  const children = this.rowDimensionTree.tree.children;
1254
- let totalCount = (0, pivot_layout_helper_1.countLayoutTree)(children, "tree" === this.rowHierarchyType);
1286
+ let totalCount = (0, layout_helper_1.countLayoutTree)(children, "tree" === this.rowHierarchyType);
1255
1287
  return null === (_a = this.extensionRows) || void 0 === _a || _a.forEach((extensionRow => {
1256
1288
  if ("function" != typeof extensionRow.rowTree) {
1257
- const thisTreeCount = (0, pivot_layout_helper_1.countLayoutTree)(extensionRow.rowTree, !0);
1289
+ const thisTreeCount = (0, layout_helper_1.countLayoutTree)(extensionRow.rowTree, !0);
1258
1290
  totalCount *= thisTreeCount;
1259
1291
  }
1260
1292
  })), totalCount;