@visactor/vtable 1.17.3-alpha.5 → 1.17.3-alpha.6

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 (89) hide show
  1. package/cjs/PivotTable.d.ts +0 -5
  2. package/cjs/PivotTable.js +0 -13
  3. package/cjs/PivotTable.js.map +1 -1
  4. package/cjs/core/BaseTable.js +14 -15
  5. package/cjs/core/BaseTable.js.map +1 -1
  6. package/cjs/dataset/dataset.js +4 -6
  7. package/cjs/dataset/dataset.js.map +1 -1
  8. package/cjs/index.d.ts +1 -1
  9. package/cjs/index.js +1 -1
  10. package/cjs/index.js.map +1 -1
  11. package/cjs/layout/index.js +2 -1
  12. package/cjs/layout/pivot-header-layout.js +4 -6
  13. package/cjs/layout/pivot-header-layout.js.map +1 -1
  14. package/cjs/layout/pivot-layout.js +2 -0
  15. package/cjs/layout/row-height-map.js +1 -1
  16. package/cjs/layout/simple-header-layout.js +1 -1
  17. package/cjs/layout/tree-helper.js +1 -1
  18. package/cjs/plugins/chartModules.js +1 -2
  19. package/cjs/plugins/custom-cell-style.js +1 -1
  20. package/cjs/plugins/icons.js +1 -1
  21. package/cjs/plugins/invert-highlight.js +1 -1
  22. package/cjs/plugins/list-tree-stick-cell.js +1 -1
  23. package/cjs/plugins/themes.js +1 -1
  24. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  25. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +4 -4
  26. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  27. package/cjs/scenegraph/group-creater/progress/proxy.js +2 -1
  28. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  29. package/cjs/scenegraph/layout/frozen.js +5 -5
  30. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  31. package/cjs/scenegraph/select/create-select-border.js +2 -13
  32. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  33. package/cjs/state/state.js +47 -79
  34. package/cjs/state/state.js.map +1 -1
  35. package/cjs/ts-types/base-table.d.ts +1 -1
  36. package/cjs/ts-types/base-table.js.map +1 -1
  37. package/cjs/ts-types/common.d.ts +1 -3
  38. package/cjs/ts-types/common.js.map +1 -1
  39. package/cjs/ts-types/events.d.ts +1 -3
  40. package/cjs/ts-types/events.js.map +1 -1
  41. package/cjs/ts-types/table-engine.d.ts +0 -1
  42. package/cjs/ts-types/table-engine.js.map +1 -1
  43. package/cjs/vrender.js.map +1 -1
  44. package/dist/vtable.js +67 -195
  45. package/dist/vtable.min.js +1 -1
  46. package/es/PivotTable.d.ts +0 -5
  47. package/es/PivotTable.js +0 -13
  48. package/es/PivotTable.js.map +1 -1
  49. package/es/core/BaseTable.js +14 -15
  50. package/es/core/BaseTable.js.map +1 -1
  51. package/es/dataset/dataset.js +4 -6
  52. package/es/dataset/dataset.js.map +1 -1
  53. package/es/index.d.ts +1 -1
  54. package/es/index.js +1 -1
  55. package/es/index.js.map +1 -1
  56. package/es/layout/index.js +2 -1
  57. package/es/layout/pivot-header-layout.js +4 -6
  58. package/es/layout/pivot-header-layout.js.map +1 -1
  59. package/es/layout/pivot-layout.js +2 -0
  60. package/es/layout/row-height-map.js +1 -1
  61. package/es/layout/simple-header-layout.js +1 -1
  62. package/es/layout/tree-helper.js +1 -1
  63. package/es/plugins/chartModules.js +1 -2
  64. package/es/plugins/custom-cell-style.js +1 -1
  65. package/es/plugins/icons.js +1 -1
  66. package/es/plugins/invert-highlight.js +1 -1
  67. package/es/plugins/list-tree-stick-cell.js +1 -1
  68. package/es/plugins/themes.js +1 -1
  69. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  70. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +4 -4
  71. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  72. package/es/scenegraph/group-creater/progress/proxy.js +2 -1
  73. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  74. package/es/scenegraph/layout/frozen.js +5 -5
  75. package/es/scenegraph/layout/frozen.js.map +1 -1
  76. package/es/scenegraph/select/create-select-border.js +2 -13
  77. package/es/scenegraph/select/create-select-border.js.map +1 -1
  78. package/es/state/state.js +47 -79
  79. package/es/state/state.js.map +1 -1
  80. package/es/ts-types/base-table.d.ts +1 -1
  81. package/es/ts-types/base-table.js.map +1 -1
  82. package/es/ts-types/common.d.ts +1 -3
  83. package/es/ts-types/common.js.map +1 -1
  84. package/es/ts-types/events.d.ts +1 -3
  85. package/es/ts-types/events.js.map +1 -1
  86. package/es/ts-types/table-engine.d.ts +0 -1
  87. package/es/ts-types/table-engine.js.map +1 -1
  88. package/es/vrender.js.map +1 -1
  89. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import { createRect } from "./../../vrender";
2
2
 
3
3
  export function createCellSelectBorder(scene, start_Col, start_Row, end_Col, end_Row, selectRangeType, selectId, strokes) {
4
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
4
+ var _a, _b, _c, _d, _e, _f, _g, _h;
5
5
  let isHasFillHandleRect = !!(null === (_a = scene.table.options.excelOptions) || void 0 === _a ? void 0 : _a.fillHandle);
6
6
  if ((null === (_b = scene.table.stateManager.select.ranges) || void 0 === _b ? void 0 : _b.length) > 1) isHasFillHandleRect = !1,
7
7
  scene.removeFillHandleFromSelectComponents(); else if (1 === (null === (_c = scene.table.stateManager.select.ranges) || void 0 === _c ? void 0 : _c.length)) {
@@ -18,8 +18,7 @@ export function createCellSelectBorder(scene, start_Col, start_Row, end_Col, end
18
18
  y: firstCellBound.y1 - scene.tableGroup.attribute.y,
19
19
  width: 0,
20
20
  height: 0,
21
- visible: !0,
22
- cornerRadius: getCornerRadius(selectRangeType, null === (_j = scene.table.theme.frameStyle) || void 0 === _j ? void 0 : _j.cornerRadius, start_Col, start_Row, end_Col, end_Row, scene.table)
21
+ visible: !0
23
22
  });
24
23
  let fillhandle;
25
24
  isHasFillHandleRect && (fillhandle = createRect({
@@ -38,14 +37,4 @@ export function createCellSelectBorder(scene, start_Col, start_Row, end_Col, end
38
37
  }), scene.tableGroup.insertAfter(rect, "body" === selectRangeType ? scene.bodyGroup : "columnHeader" === selectRangeType ? scene.colHeaderGroup : "rowHeader" === selectRangeType ? scene.rowHeaderGroup : "cornerHeader" === selectRangeType ? scene.cornerHeaderGroup : "rightTopCorner" === selectRangeType ? scene.rightTopCornerGroup : "rightFrozen" === selectRangeType ? scene.rightFrozenGroup : "leftBottomCorner" === selectRangeType ? scene.leftBottomCornerGroup : "bottomFrozen" === selectRangeType ? scene.bottomFrozenGroup : scene.rightBottomCornerGroup),
39
38
  isHasFillHandleRect && scene.tableGroup.insertAfter(fillhandle, "body" === selectRangeType ? scene.bodyGroup : "columnHeader" === selectRangeType ? scene.colHeaderGroup : "rowHeader" === selectRangeType ? scene.rowHeaderGroup : "cornerHeader" === selectRangeType ? scene.cornerHeaderGroup : "rightTopCorner" === selectRangeType ? scene.rightTopCornerGroup : "rightFrozen" === selectRangeType ? scene.rightFrozenGroup : "leftBottomCorner" === selectRangeType ? scene.leftBottomCornerGroup : "bottomFrozen" === selectRangeType ? scene.bottomFrozenGroup : scene.rightBottomCornerGroup);
40
39
  }
41
-
42
- function getCornerRadius(selectRangeType, cornerRadius, start_Col, start_Row, end_Col, end_Row, table) {
43
- if (!cornerRadius) return;
44
- const cornerRadiusArray = Array.isArray(cornerRadius) ? cornerRadius : [ cornerRadius, cornerRadius, cornerRadius, cornerRadius ], tableEndCol = table.colCount - 1, tableEndRow = table.rowCount - 1, result = [ 0, 0, 0, 0 ];
45
- let changed = !1;
46
- return 0 === start_Col && 0 === start_Row ? (result[0] = cornerRadiusArray[0], changed = !0) : end_Col === tableEndCol && end_Row === tableEndRow ? (result[2] = cornerRadiusArray[2],
47
- changed = !0) : 0 === start_Col && end_Row === tableEndRow ? (result[3] = cornerRadiusArray[3],
48
- changed = !0) : end_Col === tableEndCol && 0 === start_Row && (result[1] = cornerRadiusArray[1],
49
- changed = !0), changed ? result : void 0;
50
- }
51
40
  //# sourceMappingURL=create-select-border.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/select/create-select-border.ts"],"names":[],"mappings":"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","file":"create-select-border.js","sourcesContent":["import { createRect } from './../../vrender';\nimport type { CellSubLocation } from '../../ts-types';\nimport type { Scenegraph } from '../scenegraph';\nimport { table } from 'console';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport function createCellSelectBorder(\n scene: Scenegraph,\n start_Col: number,\n start_Row: number,\n end_Col: number,\n end_Row: number,\n selectRangeType: CellSubLocation,\n selectId: string, //整体区域${endRow}-${startCol}${startRow}${endCol}${endRow}作为其编号\n strokes: boolean[]\n // isHasFillHandleRect: boolean\n) {\n let isHasFillHandleRect = !!scene.table.options.excelOptions?.fillHandle;\n if (scene.table.stateManager.select.ranges?.length > 1) {\n isHasFillHandleRect = false;\n scene.removeFillHandleFromSelectComponents();\n } else if (scene.table.stateManager.select.ranges?.length === 1) {\n const maxRow = Math.max(\n scene.table.stateManager.select.ranges[0].start.row,\n scene.table.stateManager.select.ranges[0].end.row\n );\n const maxCol = Math.max(\n scene.table.stateManager.select.ranges[0].start.col,\n scene.table.stateManager.select.ranges[0].end.col\n );\n if (scene.table.isHeader(maxCol, maxRow)) {\n isHasFillHandleRect = false;\n }\n }\n if (Array.isArray(strokes) && (strokes[1] === false || strokes[2] === false)) {\n isHasFillHandleRect = false;\n }\n const startCol = Math.min(start_Col, end_Col);\n const startRow = Math.min(start_Row, end_Row);\n const endCol = Math.max(start_Col, end_Col);\n const endRow = Math.max(start_Row, end_Row);\n const firstCellBound = scene.highPerformanceGetCell(startCol, startRow).globalAABBBounds;\n const lastCellBound = scene.highPerformanceGetCell(endCol, endRow).globalAABBBounds;\n const theme = scene.table.theme;\n // 框选外边框\n const bodyClickBorderColor = theme.selectionStyle?.cellBorderColor;\n const bodyClickLineWidth = theme.selectionStyle?.cellBorderLineWidth;\n const rect = createRect({\n pickable: false,\n fill:\n theme.selectionStyle?.selectionFillMode === 'replace'\n ? false\n : (theme.selectionStyle?.cellBgColor as any) ?? 'rgba(0, 0, 255,0.1)',\n\n lineWidth: bodyClickLineWidth as number,\n // stroke: bodyClickBorderColor as string,\n stroke: strokes.map(stroke => {\n if (stroke) {\n return bodyClickBorderColor as string;\n }\n return false;\n }),\n x: firstCellBound.x1 - scene.tableGroup.attribute.x, // 坐标xy及宽高width height 不需要这里计算具体值 update-select-border文件中updateComponent方法中有逻辑 且该方法调用时间是render\n y: firstCellBound.y1 - scene.tableGroup.attribute.y,\n width: 0,\n height: 0,\n visible: true,\n cornerRadius: getCornerRadius(\n selectRangeType,\n scene.table.theme.frameStyle?.cornerRadius,\n start_Col,\n start_Row,\n end_Col,\n end_Row,\n scene.table\n )\n });\n // 创建右下角小方块\n let fillhandle;\n if (isHasFillHandleRect) {\n fillhandle = createRect({\n pickable: false,\n fill: bodyClickBorderColor as string,\n // lineWidth: bodyClickLineWidth as number,\n stroke: bodyClickBorderColor as string, // 右下角小方块边框颜色\n x: lastCellBound.x2 - 3, // 调整小方块位置\n y: lastCellBound.y2 - 3, // 调整小方块位置\n width: 6,\n height: 6,\n\n visible: true\n });\n }\n scene.lastSelectId = selectId;\n scene.selectingRangeComponents.set(`${startCol}-${startRow}-${endCol}-${endRow}-${selectId}`, {\n rect,\n fillhandle,\n role: selectRangeType\n });\n scene.tableGroup.insertAfter(\n rect,\n selectRangeType === 'body'\n ? scene.bodyGroup\n : selectRangeType === 'columnHeader'\n ? scene.colHeaderGroup\n : selectRangeType === 'rowHeader'\n ? scene.rowHeaderGroup\n : selectRangeType === 'cornerHeader'\n ? scene.cornerHeaderGroup\n : selectRangeType === 'rightTopCorner'\n ? scene.rightTopCornerGroup\n : selectRangeType === 'rightFrozen'\n ? scene.rightFrozenGroup\n : selectRangeType === 'leftBottomCorner'\n ? scene.leftBottomCornerGroup\n : selectRangeType === 'bottomFrozen'\n ? scene.bottomFrozenGroup\n : scene.rightBottomCornerGroup\n );\n isHasFillHandleRect &&\n scene.tableGroup.insertAfter(\n fillhandle,\n selectRangeType === 'body'\n ? scene.bodyGroup\n : selectRangeType === 'columnHeader'\n ? scene.colHeaderGroup\n : selectRangeType === 'rowHeader'\n ? scene.rowHeaderGroup\n : selectRangeType === 'cornerHeader'\n ? scene.cornerHeaderGroup\n : selectRangeType === 'rightTopCorner'\n ? scene.rightTopCornerGroup\n : selectRangeType === 'rightFrozen'\n ? scene.rightFrozenGroup\n : selectRangeType === 'leftBottomCorner'\n ? scene.leftBottomCornerGroup\n : selectRangeType === 'bottomFrozen'\n ? scene.bottomFrozenGroup\n : scene.rightBottomCornerGroup\n );\n}\n\n// set corner radius in select rect which covers the corner of the table\nfunction getCornerRadius(\n selectRangeType: CellSubLocation,\n cornerRadius: undefined | number | [number, number, number, number],\n start_Col: number,\n start_Row: number,\n end_Col: number,\n end_Row: number,\n table: BaseTableAPI\n) {\n if (!cornerRadius) {\n return undefined;\n }\n const cornerRadiusArray = Array.isArray(cornerRadius)\n ? cornerRadius\n : [cornerRadius, cornerRadius, cornerRadius, cornerRadius]; // [left top, right top, right bottom, left bottom]\n\n const tableStartCol = 0;\n const tableStartRow = 0;\n const tableEndCol = table.colCount - 1;\n const tableEndRow = table.rowCount - 1;\n\n const result = [0, 0, 0, 0];\n let changed = false;\n\n if (start_Col === tableStartCol && start_Row === tableStartRow) {\n // select rect covers the left top corner of the table\n result[0] = cornerRadiusArray[0];\n changed = true;\n } else if (end_Col === tableEndCol && end_Row === tableEndRow) {\n // select rect covers the right bottom corner of the table\n result[2] = cornerRadiusArray[2];\n changed = true;\n } else if (start_Col === tableStartCol && end_Row === tableEndRow) {\n // select rect covers the left bottom corner of the table\n result[3] = cornerRadiusArray[3];\n changed = true;\n } else if (end_Col === tableEndCol && start_Row === tableStartRow) {\n // select rect covers the right top corner of the table\n result[1] = cornerRadiusArray[1];\n changed = true;\n }\n\n if (changed) {\n return result;\n }\n\n return undefined;\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/select/create-select-border.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C,MAAM,UAAU,sBAAsB,CACpC,KAAiB,EACjB,SAAiB,EACjB,SAAiB,EACjB,OAAe,EACf,OAAe,EACf,eAAgC,EAChC,QAAgB,EAChB,OAAkB;;IAGlB,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,0CAAE,UAAU,CAAA,CAAC;IACzE,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,0CAAE,MAAM,IAAG,CAAC,EAAE;QACtD,mBAAmB,GAAG,KAAK,CAAC;QAC5B,KAAK,CAAC,oCAAoC,EAAE,CAAC;KAC9C;SAAM,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,0CAAE,MAAM,MAAK,CAAC,EAAE;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EACnD,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAClD,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EACnD,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAClD,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;YACxC,mBAAmB,GAAG,KAAK,CAAC;SAC7B;KACF;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE;QAC5E,mBAAmB,GAAG,KAAK,CAAC;KAC7B;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,KAAK,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,gBAAgB,CAAC;IACzF,MAAM,aAAa,GAAG,KAAK,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,gBAAgB,CAAC;IACpF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;IAEhC,MAAM,oBAAoB,GAAG,MAAA,KAAK,CAAC,cAAc,0CAAE,eAAe,CAAC;IACnE,MAAM,kBAAkB,GAAG,MAAA,KAAK,CAAC,cAAc,0CAAE,mBAAmB,CAAC;IACrE,MAAM,IAAI,GAAG,UAAU,CAAC;QACtB,QAAQ,EAAE,KAAK;QACf,IAAI,EACF,CAAA,MAAA,KAAK,CAAC,cAAc,0CAAE,iBAAiB,MAAK,SAAS;YACnD,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,MAAC,MAAA,KAAK,CAAC,cAAc,0CAAE,WAAmB,mCAAI,qBAAqB;QAEzE,SAAS,EAAE,kBAA4B;QAEvC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC3B,IAAI,MAAM,EAAE;gBACV,OAAO,oBAA8B,CAAC;aACvC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,CAAC,EAAE,cAAc,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC,EAAE,cAAc,CAAC,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC;IACf,IAAI,mBAAmB,EAAE;QACvB,UAAU,GAAG,UAAU,CAAC;YACtB,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,oBAA8B;YAEpC,MAAM,EAAE,oBAA8B;YACtC,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC;YACvB,CAAC,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC;YACvB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YAET,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;IACD,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC9B,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,QAAQ,EAAE,EAAE;QAC5F,IAAI;QACJ,UAAU;QACV,IAAI,EAAE,eAAe;KACtB,CAAC,CAAC;IACH,KAAK,CAAC,UAAU,CAAC,WAAW,CAC1B,IAAI,EACJ,eAAe,KAAK,MAAM;QACxB,CAAC,CAAC,KAAK,CAAC,SAAS;QACjB,CAAC,CAAC,eAAe,KAAK,cAAc;YACpC,CAAC,CAAC,KAAK,CAAC,cAAc;YACtB,CAAC,CAAC,eAAe,KAAK,WAAW;gBACjC,CAAC,CAAC,KAAK,CAAC,cAAc;gBACtB,CAAC,CAAC,eAAe,KAAK,cAAc;oBACpC,CAAC,CAAC,KAAK,CAAC,iBAAiB;oBACzB,CAAC,CAAC,eAAe,KAAK,gBAAgB;wBACtC,CAAC,CAAC,KAAK,CAAC,mBAAmB;wBAC3B,CAAC,CAAC,eAAe,KAAK,aAAa;4BACnC,CAAC,CAAC,KAAK,CAAC,gBAAgB;4BACxB,CAAC,CAAC,eAAe,KAAK,kBAAkB;gCACxC,CAAC,CAAC,KAAK,CAAC,qBAAqB;gCAC7B,CAAC,CAAC,eAAe,KAAK,cAAc;oCACpC,CAAC,CAAC,KAAK,CAAC,iBAAiB;oCACzB,CAAC,CAAC,KAAK,CAAC,sBAAsB,CACjC,CAAC;IACF,mBAAmB;QACjB,KAAK,CAAC,UAAU,CAAC,WAAW,CAC1B,UAAU,EACV,eAAe,KAAK,MAAM;YACxB,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,eAAe,KAAK,cAAc;gBACpC,CAAC,CAAC,KAAK,CAAC,cAAc;gBACtB,CAAC,CAAC,eAAe,KAAK,WAAW;oBACjC,CAAC,CAAC,KAAK,CAAC,cAAc;oBACtB,CAAC,CAAC,eAAe,KAAK,cAAc;wBACpC,CAAC,CAAC,KAAK,CAAC,iBAAiB;wBACzB,CAAC,CAAC,eAAe,KAAK,gBAAgB;4BACtC,CAAC,CAAC,KAAK,CAAC,mBAAmB;4BAC3B,CAAC,CAAC,eAAe,KAAK,aAAa;gCACnC,CAAC,CAAC,KAAK,CAAC,gBAAgB;gCACxB,CAAC,CAAC,eAAe,KAAK,kBAAkB;oCACxC,CAAC,CAAC,KAAK,CAAC,qBAAqB;oCAC7B,CAAC,CAAC,eAAe,KAAK,cAAc;wCACpC,CAAC,CAAC,KAAK,CAAC,iBAAiB;wCACzB,CAAC,CAAC,KAAK,CAAC,sBAAsB,CACjC,CAAC;AACN,CAAC","file":"create-select-border.js","sourcesContent":["import { createRect } from './../../vrender';\nimport type { CellSubLocation } from '../../ts-types';\nimport type { Scenegraph } from '../scenegraph';\nimport { table } from 'console';\n\nexport function createCellSelectBorder(\n scene: Scenegraph,\n start_Col: number,\n start_Row: number,\n end_Col: number,\n end_Row: number,\n selectRangeType: CellSubLocation,\n selectId: string, //整体区域${endRow}-${startCol}${startRow}${endCol}${endRow}作为其编号\n strokes: boolean[]\n // isHasFillHandleRect: boolean\n) {\n let isHasFillHandleRect = !!scene.table.options.excelOptions?.fillHandle;\n if (scene.table.stateManager.select.ranges?.length > 1) {\n isHasFillHandleRect = false;\n scene.removeFillHandleFromSelectComponents();\n } else if (scene.table.stateManager.select.ranges?.length === 1) {\n const maxRow = Math.max(\n scene.table.stateManager.select.ranges[0].start.row,\n scene.table.stateManager.select.ranges[0].end.row\n );\n const maxCol = Math.max(\n scene.table.stateManager.select.ranges[0].start.col,\n scene.table.stateManager.select.ranges[0].end.col\n );\n if (scene.table.isHeader(maxCol, maxRow)) {\n isHasFillHandleRect = false;\n }\n }\n if (Array.isArray(strokes) && (strokes[1] === false || strokes[2] === false)) {\n isHasFillHandleRect = false;\n }\n const startCol = Math.min(start_Col, end_Col);\n const startRow = Math.min(start_Row, end_Row);\n const endCol = Math.max(start_Col, end_Col);\n const endRow = Math.max(start_Row, end_Row);\n const firstCellBound = scene.highPerformanceGetCell(startCol, startRow).globalAABBBounds;\n const lastCellBound = scene.highPerformanceGetCell(endCol, endRow).globalAABBBounds;\n const theme = scene.table.theme;\n // 框选外边框\n const bodyClickBorderColor = theme.selectionStyle?.cellBorderColor;\n const bodyClickLineWidth = theme.selectionStyle?.cellBorderLineWidth;\n const rect = createRect({\n pickable: false,\n fill:\n theme.selectionStyle?.selectionFillMode === 'replace'\n ? false\n : (theme.selectionStyle?.cellBgColor as any) ?? 'rgba(0, 0, 255,0.1)',\n\n lineWidth: bodyClickLineWidth as number,\n // stroke: bodyClickBorderColor as string,\n stroke: strokes.map(stroke => {\n if (stroke) {\n return bodyClickBorderColor as string;\n }\n return false;\n }),\n x: firstCellBound.x1 - scene.tableGroup.attribute.x, // 坐标xy及宽高width height 不需要这里计算具体值 update-select-border文件中updateComponent方法中有逻辑 且该方法调用时间是render\n y: firstCellBound.y1 - scene.tableGroup.attribute.y,\n width: 0,\n height: 0,\n visible: true\n });\n // 创建右下角小方块\n let fillhandle;\n if (isHasFillHandleRect) {\n fillhandle = createRect({\n pickable: false,\n fill: bodyClickBorderColor as string,\n // lineWidth: bodyClickLineWidth as number,\n stroke: bodyClickBorderColor as string, // 右下角小方块边框颜色\n x: lastCellBound.x2 - 3, // 调整小方块位置\n y: lastCellBound.y2 - 3, // 调整小方块位置\n width: 6,\n height: 6,\n\n visible: true\n });\n }\n scene.lastSelectId = selectId;\n scene.selectingRangeComponents.set(`${startCol}-${startRow}-${endCol}-${endRow}-${selectId}`, {\n rect,\n fillhandle,\n role: selectRangeType\n });\n scene.tableGroup.insertAfter(\n rect,\n selectRangeType === 'body'\n ? scene.bodyGroup\n : selectRangeType === 'columnHeader'\n ? scene.colHeaderGroup\n : selectRangeType === 'rowHeader'\n ? scene.rowHeaderGroup\n : selectRangeType === 'cornerHeader'\n ? scene.cornerHeaderGroup\n : selectRangeType === 'rightTopCorner'\n ? scene.rightTopCornerGroup\n : selectRangeType === 'rightFrozen'\n ? scene.rightFrozenGroup\n : selectRangeType === 'leftBottomCorner'\n ? scene.leftBottomCornerGroup\n : selectRangeType === 'bottomFrozen'\n ? scene.bottomFrozenGroup\n : scene.rightBottomCornerGroup\n );\n isHasFillHandleRect &&\n scene.tableGroup.insertAfter(\n fillhandle,\n selectRangeType === 'body'\n ? scene.bodyGroup\n : selectRangeType === 'columnHeader'\n ? scene.colHeaderGroup\n : selectRangeType === 'rowHeader'\n ? scene.rowHeaderGroup\n : selectRangeType === 'cornerHeader'\n ? scene.cornerHeaderGroup\n : selectRangeType === 'rightTopCorner'\n ? scene.rightTopCornerGroup\n : selectRangeType === 'rightFrozen'\n ? scene.rightFrozenGroup\n : selectRangeType === 'leftBottomCorner'\n ? scene.leftBottomCornerGroup\n : selectRangeType === 'bottomFrozen'\n ? scene.bottomFrozenGroup\n : scene.rightBottomCornerGroup\n );\n}\n"]}
package/es/state/state.js CHANGED
@@ -429,114 +429,82 @@ export class StateManager {
429
429
  updateVerticalScrollBar(yRatio) {
430
430
  var _a, _b;
431
431
  const totalHeight = this.table.getAllRowsHeight(), oldVerticalBarPos = this.scroll.verticalBarPos;
432
- let verticalBarPos = Math.ceil(yRatio * (totalHeight - this.table.scenegraph.height));
433
- isValid(verticalBarPos) && !isNaN(verticalBarPos) || (verticalBarPos = 0);
434
- const dy = verticalBarPos - this.table.scenegraph.proxy.deltaY - oldVerticalBarPos;
435
- if (this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
432
+ this.scroll.verticalBarPos = Math.ceil(yRatio * (totalHeight - this.table.scenegraph.height)),
433
+ isValid(this.scroll.verticalBarPos) && !isNaN(this.scroll.verticalBarPos) || (this.scroll.verticalBarPos = 0),
434
+ this.table.scenegraph.setY(-this.scroll.verticalBarPos, 1 === yRatio), this.scroll.verticalBarPos -= this.table.scenegraph.proxy.deltaY,
435
+ this.table.scenegraph.proxy.deltaY = 0, this.updateHoverPos(-1, -1), this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
436
436
  event: void 0,
437
- scrollTop: verticalBarPos - this.table.scenegraph.proxy.deltaY,
437
+ scrollTop: this.scroll.verticalBarPos,
438
438
  scrollLeft: this.scroll.horizontalBarPos,
439
439
  scrollHeight: null === (_a = this.table.theme.scrollStyle) || void 0 === _a ? void 0 : _a.width,
440
440
  scrollWidth: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
441
441
  viewHeight: this.table.tableNoFrameHeight,
442
442
  viewWidth: this.table.tableNoFrameWidth,
443
443
  scrollDirection: "vertical",
444
- scrollRatioY: yRatio,
445
- dy: dy
446
- }).some((value => !1 === value))) {
447
- const yRatio = this.scroll.verticalBarPos / (totalHeight - this.table.scenegraph.height);
448
- this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio);
449
- } else this.scroll.verticalBarPos = verticalBarPos, this.table.scenegraph.setY(-this.scroll.verticalBarPos, 1 === yRatio),
450
- this.scroll.verticalBarPos -= this.table.scenegraph.proxy.deltaY, this.table.scenegraph.proxy.deltaY = 0,
451
- this.updateHoverPos(-1, -1), oldVerticalBarPos !== this.scroll.verticalBarPos && this.checkVerticalScrollBarEnd();
444
+ scrollRatioY: yRatio
445
+ }), oldVerticalBarPos !== this.scroll.verticalBarPos && this.checkVerticalScrollBarEnd();
452
446
  }
453
447
  updateHorizontalScrollBar(xRatio) {
454
448
  var _a, _b;
455
449
  const totalWidth = this.table.getAllColsWidth(), oldHorizontalBarPos = this.scroll.horizontalBarPos;
456
- let horizontalBarPos = Math.ceil(xRatio * (totalWidth - this.table.scenegraph.width));
457
- isValid(horizontalBarPos) && !isNaN(horizontalBarPos) || (horizontalBarPos = 0);
458
- const dx = horizontalBarPos - this.table.scenegraph.proxy.deltaX - oldHorizontalBarPos;
459
- if (this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
450
+ this.scroll.horizontalBarPos = Math.ceil(xRatio * (totalWidth - this.table.scenegraph.width)),
451
+ isValid(this.scroll.horizontalBarPos) && !isNaN(this.scroll.horizontalBarPos) || (this.scroll.horizontalBarPos = 0),
452
+ this.table.scenegraph.setX(-this.scroll.horizontalBarPos, 1 === xRatio), this.scroll.horizontalBarPos -= this.table.scenegraph.proxy.deltaX,
453
+ this.table.scenegraph.proxy.deltaX = 0, this.updateHoverPos(-1, -1), this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
460
454
  event: void 0,
461
455
  scrollTop: this.scroll.verticalBarPos,
462
- scrollLeft: horizontalBarPos - this.table.scenegraph.proxy.deltaX,
456
+ scrollLeft: this.scroll.horizontalBarPos,
463
457
  scrollHeight: null === (_a = this.table.theme.scrollStyle) || void 0 === _a ? void 0 : _a.width,
464
458
  scrollWidth: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
465
459
  viewHeight: this.table.tableNoFrameHeight,
466
460
  viewWidth: this.table.tableNoFrameWidth,
467
461
  scrollDirection: "horizontal",
468
- scrollRatioX: xRatio,
469
- dx: dx
470
- }).some((value => !1 === value))) {
471
- const xRatio = this.scroll.horizontalBarPos / (totalWidth - this.table.scenegraph.width);
472
- this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio);
473
- } else this.scroll.horizontalBarPos = horizontalBarPos, this.table.scenegraph.setX(-this.scroll.horizontalBarPos, 1 === xRatio),
474
- this.scroll.horizontalBarPos -= this.table.scenegraph.proxy.deltaX, this.table.scenegraph.proxy.deltaX = 0,
475
- this.updateHoverPos(-1, -1), oldHorizontalBarPos !== this.scroll.horizontalBarPos && this.checkHorizontalScrollBarEnd();
462
+ scrollRatioX: xRatio
463
+ }), oldHorizontalBarPos !== this.scroll.horizontalBarPos && this.checkHorizontalScrollBarEnd();
476
464
  }
477
465
  setScrollTop(top, event, triggerEvent = !0) {
478
- var _a, _b, _c, _d, _e;
466
+ var _a, _b, _c;
479
467
  const totalHeight = this.table.getAllRowsHeight(), sizeTolerance = (null === (_a = this.table.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) ? 1 : 0;
480
468
  top = Math.max(0, Math.min(top, totalHeight - this.table.scenegraph.height - sizeTolerance)),
481
- top = Math.ceil(top);
482
- const oldVerticalBarPos = this.scroll.verticalBarPos, yRatio = top / (totalHeight - this.table.scenegraph.height);
483
- if ((oldVerticalBarPos !== top || !0 === (null === (_c = null === (_b = this.table.options) || void 0 === _b ? void 0 : _b.customConfig) || void 0 === _c ? void 0 : _c.scrollEventAlwaysTrigger)) && triggerEvent) {
484
- let verticalBarPos = top;
485
- isValid(verticalBarPos) && !isNaN(verticalBarPos) || (verticalBarPos = 0);
486
- const dy = verticalBarPos - oldVerticalBarPos;
487
- if (this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
488
- event: null == event ? void 0 : event.nativeEvent,
489
- scrollTop: verticalBarPos,
490
- scrollLeft: this.scroll.horizontalBarPos,
491
- scrollHeight: null === (_d = this.table.theme.scrollStyle) || void 0 === _d ? void 0 : _d.width,
492
- scrollWidth: null === (_e = this.table.theme.scrollStyle) || void 0 === _e ? void 0 : _e.width,
493
- viewHeight: this.table.tableNoFrameHeight,
494
- viewWidth: this.table.tableNoFrameWidth,
495
- scrollDirection: "vertical",
496
- scrollRatioY: yRatio,
497
- dy: dy
498
- }).some((value => !1 === value))) {
499
- const yRatio = this.scroll.verticalBarPos / (totalHeight - this.table.scenegraph.height);
500
- return void this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio);
501
- }
502
- }
503
- (top !== this.scroll.verticalBarPos || this.table.isPivotChart()) && this.updateHoverPos(-1, -1),
469
+ ((top = Math.ceil(top)) !== this.scroll.verticalBarPos || this.table.isPivotChart()) && this.updateHoverPos(-1, -1);
470
+ const oldVerticalBarPos = this.scroll.verticalBarPos;
504
471
  this.scroll.verticalBarPos = top, isValid(this.scroll.verticalBarPos) && !isNaN(this.scroll.verticalBarPos) || (this.scroll.verticalBarPos = 0),
505
- this.table.scenegraph.setY(-top), this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio),
506
- oldVerticalBarPos !== top && triggerEvent && this.checkVerticalScrollBarEnd();
472
+ this.table.scenegraph.setY(-top);
473
+ const yRatio = top / (totalHeight - this.table.scenegraph.height);
474
+ this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio), oldVerticalBarPos !== top && triggerEvent && (this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
475
+ event: null == event ? void 0 : event.nativeEvent,
476
+ scrollTop: this.scroll.verticalBarPos,
477
+ scrollLeft: this.scroll.horizontalBarPos,
478
+ scrollHeight: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
479
+ scrollWidth: null === (_c = this.table.theme.scrollStyle) || void 0 === _c ? void 0 : _c.width,
480
+ viewHeight: this.table.tableNoFrameHeight,
481
+ viewWidth: this.table.tableNoFrameWidth,
482
+ scrollDirection: "vertical",
483
+ scrollRatioY: yRatio
484
+ }), this.checkVerticalScrollBarEnd());
507
485
  }
508
486
  setScrollLeft(left, event, triggerEvent = !0) {
509
- var _a, _b, _c, _d, _e;
487
+ var _a, _b, _c;
510
488
  this.table.scrollLeft;
511
489
  const totalWidth = this.table.getAllColsWidth(), sizeTolerance = (this.table.getFrozenColsWidth(),
512
490
  (null === (_a = this.table.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) ? 1 : 0);
513
491
  left = Math.max(0, Math.min(left, totalWidth - this.table.scenegraph.width - sizeTolerance)),
514
- left = Math.ceil(left);
515
- const oldHorizontalBarPos = this.scroll.horizontalBarPos, xRatio = left / (totalWidth - this.table.scenegraph.width);
516
- if ((oldHorizontalBarPos !== left || !0 === (null === (_c = null === (_b = this.table.options) || void 0 === _b ? void 0 : _b.customConfig) || void 0 === _c ? void 0 : _c.scrollEventAlwaysTrigger)) && triggerEvent) {
517
- let horizontalBarPos = left;
518
- isValid(horizontalBarPos) && !isNaN(horizontalBarPos) || (horizontalBarPos = 0);
519
- const dx = horizontalBarPos - oldHorizontalBarPos;
520
- if (this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
521
- event: null == event ? void 0 : event.nativeEvent,
522
- scrollTop: this.scroll.verticalBarPos,
523
- scrollLeft: horizontalBarPos,
524
- scrollHeight: null === (_d = this.table.theme.scrollStyle) || void 0 === _d ? void 0 : _d.width,
525
- scrollWidth: null === (_e = this.table.theme.scrollStyle) || void 0 === _e ? void 0 : _e.width,
526
- viewHeight: this.table.tableNoFrameHeight,
527
- viewWidth: this.table.tableNoFrameWidth,
528
- scrollDirection: "horizontal",
529
- scrollRatioX: xRatio,
530
- dx: dx
531
- }).some((value => !1 === value))) {
532
- const xRatio = this.scroll.horizontalBarPos / (totalWidth - this.table.scenegraph.width);
533
- return void this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio);
534
- }
535
- }
536
- left !== this.scroll.horizontalBarPos && this.updateHoverPos(-1, -1), this.scroll.horizontalBarPos = left,
537
- isValid(this.scroll.horizontalBarPos) && !isNaN(this.scroll.horizontalBarPos) || (this.scroll.horizontalBarPos = 0),
538
- this.table.scenegraph.setX(-left), this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio),
539
- oldHorizontalBarPos !== left && triggerEvent && this.checkHorizontalScrollBarEnd();
492
+ (left = Math.ceil(left)) !== this.scroll.horizontalBarPos && this.updateHoverPos(-1, -1);
493
+ const oldHorizontalBarPos = this.scroll.horizontalBarPos;
494
+ this.scroll.horizontalBarPos = left, isValid(this.scroll.horizontalBarPos) && !isNaN(this.scroll.horizontalBarPos) || (this.scroll.horizontalBarPos = 0),
495
+ this.table.scenegraph.setX(-left);
496
+ const xRatio = left / (totalWidth - this.table.scenegraph.width);
497
+ this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio), oldHorizontalBarPos !== left && triggerEvent && (this.table.fireListeners(TABLE_EVENT_TYPE.SCROLL, {
498
+ event: null == event ? void 0 : event.nativeEvent,
499
+ scrollTop: this.scroll.verticalBarPos,
500
+ scrollLeft: this.scroll.horizontalBarPos,
501
+ scrollHeight: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
502
+ scrollWidth: null === (_c = this.table.theme.scrollStyle) || void 0 === _c ? void 0 : _c.width,
503
+ viewHeight: this.table.tableNoFrameHeight,
504
+ viewWidth: this.table.tableNoFrameWidth,
505
+ scrollDirection: "horizontal",
506
+ scrollRatioX: xRatio
507
+ }), this.checkHorizontalScrollBarEnd());
540
508
  }
541
509
  hideVerticalScrollBar() {
542
510
  this.table.scenegraph.component.hideVerticalScrollBar();