@visactor/vtable 1.17.3-alpha.8 → 1.17.3-alpha.9

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 (69) hide show
  1. package/cjs/PivotTable.d.ts +0 -5
  2. package/cjs/PivotTable.js +5 -16
  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/pivot-header-layout.d.ts +1 -0
  12. package/cjs/layout/pivot-header-layout.js +20 -14
  13. package/cjs/layout/pivot-header-layout.js.map +1 -1
  14. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  15. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +4 -4
  16. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  17. package/cjs/scenegraph/group-creater/progress/proxy.js +2 -1
  18. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  19. package/cjs/scenegraph/layout/frozen.js +5 -5
  20. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  21. package/cjs/scenegraph/select/create-select-border.js +2 -13
  22. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  23. package/cjs/state/state.js +47 -79
  24. package/cjs/state/state.js.map +1 -1
  25. package/cjs/ts-types/base-table.d.ts +2 -1
  26. package/cjs/ts-types/base-table.js.map +1 -1
  27. package/cjs/ts-types/common.d.ts +1 -3
  28. package/cjs/ts-types/common.js.map +1 -1
  29. package/cjs/ts-types/events.d.ts +1 -3
  30. package/cjs/ts-types/events.js.map +1 -1
  31. package/cjs/ts-types/table-engine.d.ts +0 -1
  32. package/cjs/ts-types/table-engine.js.map +1 -1
  33. package/cjs/vrender.js.map +1 -1
  34. package/dist/vtable.js +96 -201
  35. package/dist/vtable.min.js +1 -1
  36. package/es/PivotTable.d.ts +0 -5
  37. package/es/PivotTable.js +5 -16
  38. package/es/PivotTable.js.map +1 -1
  39. package/es/core/BaseTable.js +14 -15
  40. package/es/core/BaseTable.js.map +1 -1
  41. package/es/dataset/dataset.js +4 -6
  42. package/es/dataset/dataset.js.map +1 -1
  43. package/es/index.d.ts +1 -1
  44. package/es/index.js +1 -1
  45. package/es/index.js.map +1 -1
  46. package/es/layout/pivot-header-layout.d.ts +1 -0
  47. package/es/layout/pivot-header-layout.js +20 -14
  48. package/es/layout/pivot-header-layout.js.map +1 -1
  49. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  50. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +4 -4
  51. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  52. package/es/scenegraph/group-creater/progress/proxy.js +2 -1
  53. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  54. package/es/scenegraph/layout/frozen.js +5 -5
  55. package/es/scenegraph/layout/frozen.js.map +1 -1
  56. package/es/scenegraph/select/create-select-border.js +2 -13
  57. package/es/scenegraph/select/create-select-border.js.map +1 -1
  58. package/es/state/state.js +47 -79
  59. package/es/state/state.js.map +1 -1
  60. package/es/ts-types/base-table.d.ts +2 -1
  61. package/es/ts-types/base-table.js.map +1 -1
  62. package/es/ts-types/common.d.ts +1 -3
  63. package/es/ts-types/common.js.map +1 -1
  64. package/es/ts-types/events.d.ts +1 -3
  65. package/es/ts-types/events.js.map +1 -1
  66. package/es/ts-types/table-engine.d.ts +0 -1
  67. package/es/ts-types/table-engine.js.map +1 -1
  68. package/es/vrender.js.map +1 -1
  69. package/package.json +2 -2
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  const vrender_1 = require("./../../vrender");
8
8
 
9
9
  function createCellSelectBorder(scene, start_Col, start_Row, end_Col, end_Row, selectRangeType, selectId, strokes) {
10
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
10
+ var _a, _b, _c, _d, _e, _f, _g, _h;
11
11
  let isHasFillHandleRect = !!(null === (_a = scene.table.options.excelOptions) || void 0 === _a ? void 0 : _a.fillHandle);
12
12
  if ((null === (_b = scene.table.stateManager.select.ranges) || void 0 === _b ? void 0 : _b.length) > 1) isHasFillHandleRect = !1,
13
13
  scene.removeFillHandleFromSelectComponents(); else if (1 === (null === (_c = scene.table.stateManager.select.ranges) || void 0 === _c ? void 0 : _c.length)) {
@@ -25,8 +25,7 @@ function createCellSelectBorder(scene, start_Col, start_Row, end_Col, end_Row, s
25
25
  y: firstCellBound.y1 - scene.tableGroup.attribute.y,
26
26
  width: 0,
27
27
  height: 0,
28
- visible: !0,
29
- 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)
28
+ visible: !0
30
29
  });
31
30
  let fillhandle;
32
31
  isHasFillHandleRect && (fillhandle = (0, vrender_1.createRect)({
@@ -46,15 +45,5 @@ function createCellSelectBorder(scene, start_Col, start_Row, end_Col, end_Row, s
46
45
  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);
47
46
  }
48
47
 
49
- function getCornerRadius(selectRangeType, cornerRadius, start_Col, start_Row, end_Col, end_Row, table) {
50
- if (!cornerRadius) return;
51
- const cornerRadiusArray = Array.isArray(cornerRadius) ? cornerRadius : [ cornerRadius, cornerRadius, cornerRadius, cornerRadius ], tableEndCol = table.colCount - 1, tableEndRow = table.rowCount - 1, result = [ 0, 0, 0, 0 ];
52
- let changed = !1;
53
- return 0 === start_Col && 0 === start_Row ? (result[0] = cornerRadiusArray[0], changed = !0) : end_Col === tableEndCol && end_Row === tableEndRow ? (result[2] = cornerRadiusArray[2],
54
- changed = !0) : 0 === start_Col && end_Row === tableEndRow ? (result[3] = cornerRadiusArray[3],
55
- changed = !0) : end_Col === tableEndCol && 0 === start_Row && (result[1] = cornerRadiusArray[1],
56
- changed = !0), changed ? result : void 0;
57
- }
58
-
59
48
  exports.createCellSelectBorder = createCellSelectBorder;
60
49
  //# 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,6CAA6C;AAK7C,SAAgB,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,IAAA,oBAAU,EAAC;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,IAAA,oBAAU,EAAC;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;AA7HD,wDA6HC","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"]}
@@ -388,114 +388,82 @@ class StateManager {
388
388
  updateVerticalScrollBar(yRatio) {
389
389
  var _a, _b;
390
390
  const totalHeight = this.table.getAllRowsHeight(), oldVerticalBarPos = this.scroll.verticalBarPos;
391
- let verticalBarPos = Math.ceil(yRatio * (totalHeight - this.table.scenegraph.height));
392
- (0, vutils_1.isValid)(verticalBarPos) && !isNaN(verticalBarPos) || (verticalBarPos = 0);
393
- const dy = verticalBarPos - this.table.scenegraph.proxy.deltaY - oldVerticalBarPos;
394
- if (this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, {
391
+ this.scroll.verticalBarPos = Math.ceil(yRatio * (totalHeight - this.table.scenegraph.height)),
392
+ (0, vutils_1.isValid)(this.scroll.verticalBarPos) && !isNaN(this.scroll.verticalBarPos) || (this.scroll.verticalBarPos = 0),
393
+ this.table.scenegraph.setY(-this.scroll.verticalBarPos, 1 === yRatio), this.scroll.verticalBarPos -= this.table.scenegraph.proxy.deltaY,
394
+ this.table.scenegraph.proxy.deltaY = 0, this.updateHoverPos(-1, -1), this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, {
395
395
  event: void 0,
396
- scrollTop: verticalBarPos - this.table.scenegraph.proxy.deltaY,
396
+ scrollTop: this.scroll.verticalBarPos,
397
397
  scrollLeft: this.scroll.horizontalBarPos,
398
398
  scrollHeight: null === (_a = this.table.theme.scrollStyle) || void 0 === _a ? void 0 : _a.width,
399
399
  scrollWidth: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
400
400
  viewHeight: this.table.tableNoFrameHeight,
401
401
  viewWidth: this.table.tableNoFrameWidth,
402
402
  scrollDirection: "vertical",
403
- scrollRatioY: yRatio,
404
- dy: dy
405
- }).some((value => !1 === value))) {
406
- const yRatio = this.scroll.verticalBarPos / (totalHeight - this.table.scenegraph.height);
407
- this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio);
408
- } else this.scroll.verticalBarPos = verticalBarPos, this.table.scenegraph.setY(-this.scroll.verticalBarPos, 1 === yRatio),
409
- this.scroll.verticalBarPos -= this.table.scenegraph.proxy.deltaY, this.table.scenegraph.proxy.deltaY = 0,
410
- this.updateHoverPos(-1, -1), oldVerticalBarPos !== this.scroll.verticalBarPos && this.checkVerticalScrollBarEnd();
403
+ scrollRatioY: yRatio
404
+ }), oldVerticalBarPos !== this.scroll.verticalBarPos && this.checkVerticalScrollBarEnd();
411
405
  }
412
406
  updateHorizontalScrollBar(xRatio) {
413
407
  var _a, _b;
414
408
  const totalWidth = this.table.getAllColsWidth(), oldHorizontalBarPos = this.scroll.horizontalBarPos;
415
- let horizontalBarPos = Math.ceil(xRatio * (totalWidth - this.table.scenegraph.width));
416
- (0, vutils_1.isValid)(horizontalBarPos) && !isNaN(horizontalBarPos) || (horizontalBarPos = 0);
417
- const dx = horizontalBarPos - this.table.scenegraph.proxy.deltaX - oldHorizontalBarPos;
418
- if (this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, {
409
+ this.scroll.horizontalBarPos = Math.ceil(xRatio * (totalWidth - this.table.scenegraph.width)),
410
+ (0, vutils_1.isValid)(this.scroll.horizontalBarPos) && !isNaN(this.scroll.horizontalBarPos) || (this.scroll.horizontalBarPos = 0),
411
+ this.table.scenegraph.setX(-this.scroll.horizontalBarPos, 1 === xRatio), this.scroll.horizontalBarPos -= this.table.scenegraph.proxy.deltaX,
412
+ this.table.scenegraph.proxy.deltaX = 0, this.updateHoverPos(-1, -1), this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, {
419
413
  event: void 0,
420
414
  scrollTop: this.scroll.verticalBarPos,
421
- scrollLeft: horizontalBarPos - this.table.scenegraph.proxy.deltaX,
415
+ scrollLeft: this.scroll.horizontalBarPos,
422
416
  scrollHeight: null === (_a = this.table.theme.scrollStyle) || void 0 === _a ? void 0 : _a.width,
423
417
  scrollWidth: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
424
418
  viewHeight: this.table.tableNoFrameHeight,
425
419
  viewWidth: this.table.tableNoFrameWidth,
426
420
  scrollDirection: "horizontal",
427
- scrollRatioX: xRatio,
428
- dx: dx
429
- }).some((value => !1 === value))) {
430
- const xRatio = this.scroll.horizontalBarPos / (totalWidth - this.table.scenegraph.width);
431
- this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio);
432
- } else this.scroll.horizontalBarPos = horizontalBarPos, this.table.scenegraph.setX(-this.scroll.horizontalBarPos, 1 === xRatio),
433
- this.scroll.horizontalBarPos -= this.table.scenegraph.proxy.deltaX, this.table.scenegraph.proxy.deltaX = 0,
434
- this.updateHoverPos(-1, -1), oldHorizontalBarPos !== this.scroll.horizontalBarPos && this.checkHorizontalScrollBarEnd();
421
+ scrollRatioX: xRatio
422
+ }), oldHorizontalBarPos !== this.scroll.horizontalBarPos && this.checkHorizontalScrollBarEnd();
435
423
  }
436
424
  setScrollTop(top, event, triggerEvent = !0) {
437
- var _a, _b, _c, _d, _e;
425
+ var _a, _b, _c;
438
426
  const totalHeight = this.table.getAllRowsHeight(), sizeTolerance = (null === (_a = this.table.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) ? 1 : 0;
439
427
  top = Math.max(0, Math.min(top, totalHeight - this.table.scenegraph.height - sizeTolerance)),
440
- top = Math.ceil(top);
441
- const oldVerticalBarPos = this.scroll.verticalBarPos, yRatio = top / (totalHeight - this.table.scenegraph.height);
442
- 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) {
443
- let verticalBarPos = top;
444
- (0, vutils_1.isValid)(verticalBarPos) && !isNaN(verticalBarPos) || (verticalBarPos = 0);
445
- const dy = verticalBarPos - oldVerticalBarPos;
446
- if (this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, {
447
- event: null == event ? void 0 : event.nativeEvent,
448
- scrollTop: verticalBarPos,
449
- scrollLeft: this.scroll.horizontalBarPos,
450
- scrollHeight: null === (_d = this.table.theme.scrollStyle) || void 0 === _d ? void 0 : _d.width,
451
- scrollWidth: null === (_e = this.table.theme.scrollStyle) || void 0 === _e ? void 0 : _e.width,
452
- viewHeight: this.table.tableNoFrameHeight,
453
- viewWidth: this.table.tableNoFrameWidth,
454
- scrollDirection: "vertical",
455
- scrollRatioY: yRatio,
456
- dy: dy
457
- }).some((value => !1 === value))) {
458
- const yRatio = this.scroll.verticalBarPos / (totalHeight - this.table.scenegraph.height);
459
- return void this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio);
460
- }
461
- }
462
- (top !== this.scroll.verticalBarPos || this.table.isPivotChart()) && this.updateHoverPos(-1, -1),
428
+ ((top = Math.ceil(top)) !== this.scroll.verticalBarPos || this.table.isPivotChart()) && this.updateHoverPos(-1, -1);
429
+ const oldVerticalBarPos = this.scroll.verticalBarPos;
463
430
  this.scroll.verticalBarPos = top, (0, vutils_1.isValid)(this.scroll.verticalBarPos) && !isNaN(this.scroll.verticalBarPos) || (this.scroll.verticalBarPos = 0),
464
- this.table.scenegraph.setY(-top), this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio),
465
- oldVerticalBarPos !== top && triggerEvent && this.checkVerticalScrollBarEnd();
431
+ this.table.scenegraph.setY(-top);
432
+ const yRatio = top / (totalHeight - this.table.scenegraph.height);
433
+ this.table.scenegraph.component.updateVerticalScrollBarPos(yRatio), oldVerticalBarPos !== top && triggerEvent && (this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, {
434
+ event: null == event ? void 0 : event.nativeEvent,
435
+ scrollTop: this.scroll.verticalBarPos,
436
+ scrollLeft: this.scroll.horizontalBarPos,
437
+ scrollHeight: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
438
+ scrollWidth: null === (_c = this.table.theme.scrollStyle) || void 0 === _c ? void 0 : _c.width,
439
+ viewHeight: this.table.tableNoFrameHeight,
440
+ viewWidth: this.table.tableNoFrameWidth,
441
+ scrollDirection: "vertical",
442
+ scrollRatioY: yRatio
443
+ }), this.checkVerticalScrollBarEnd());
466
444
  }
467
445
  setScrollLeft(left, event, triggerEvent = !0) {
468
- var _a, _b, _c, _d, _e;
446
+ var _a, _b, _c;
469
447
  this.table.scrollLeft;
470
448
  const totalWidth = this.table.getAllColsWidth(), sizeTolerance = (this.table.getFrozenColsWidth(),
471
449
  (null === (_a = this.table.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) ? 1 : 0);
472
450
  left = Math.max(0, Math.min(left, totalWidth - this.table.scenegraph.width - sizeTolerance)),
473
- left = Math.ceil(left);
474
- const oldHorizontalBarPos = this.scroll.horizontalBarPos, xRatio = left / (totalWidth - this.table.scenegraph.width);
475
- 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) {
476
- let horizontalBarPos = left;
477
- (0, vutils_1.isValid)(horizontalBarPos) && !isNaN(horizontalBarPos) || (horizontalBarPos = 0);
478
- const dx = horizontalBarPos - oldHorizontalBarPos;
479
- if (this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, {
480
- event: null == event ? void 0 : event.nativeEvent,
481
- scrollTop: this.scroll.verticalBarPos,
482
- scrollLeft: horizontalBarPos,
483
- scrollHeight: null === (_d = this.table.theme.scrollStyle) || void 0 === _d ? void 0 : _d.width,
484
- scrollWidth: null === (_e = this.table.theme.scrollStyle) || void 0 === _e ? void 0 : _e.width,
485
- viewHeight: this.table.tableNoFrameHeight,
486
- viewWidth: this.table.tableNoFrameWidth,
487
- scrollDirection: "horizontal",
488
- scrollRatioX: xRatio,
489
- dx: dx
490
- }).some((value => !1 === value))) {
491
- const xRatio = this.scroll.horizontalBarPos / (totalWidth - this.table.scenegraph.width);
492
- return void this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio);
493
- }
494
- }
495
- left !== this.scroll.horizontalBarPos && this.updateHoverPos(-1, -1), this.scroll.horizontalBarPos = left,
496
- (0, vutils_1.isValid)(this.scroll.horizontalBarPos) && !isNaN(this.scroll.horizontalBarPos) || (this.scroll.horizontalBarPos = 0),
497
- this.table.scenegraph.setX(-left), this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio),
498
- oldHorizontalBarPos !== left && triggerEvent && this.checkHorizontalScrollBarEnd();
451
+ (left = Math.ceil(left)) !== this.scroll.horizontalBarPos && this.updateHoverPos(-1, -1);
452
+ const oldHorizontalBarPos = this.scroll.horizontalBarPos;
453
+ this.scroll.horizontalBarPos = left, (0, vutils_1.isValid)(this.scroll.horizontalBarPos) && !isNaN(this.scroll.horizontalBarPos) || (this.scroll.horizontalBarPos = 0),
454
+ this.table.scenegraph.setX(-left);
455
+ const xRatio = left / (totalWidth - this.table.scenegraph.width);
456
+ this.table.scenegraph.component.updateHorizontalScrollBarPos(xRatio), oldHorizontalBarPos !== left && triggerEvent && (this.table.fireListeners(TABLE_EVENT_TYPE_1.TABLE_EVENT_TYPE.SCROLL, {
457
+ event: null == event ? void 0 : event.nativeEvent,
458
+ scrollTop: this.scroll.verticalBarPos,
459
+ scrollLeft: this.scroll.horizontalBarPos,
460
+ scrollHeight: null === (_b = this.table.theme.scrollStyle) || void 0 === _b ? void 0 : _b.width,
461
+ scrollWidth: null === (_c = this.table.theme.scrollStyle) || void 0 === _c ? void 0 : _c.width,
462
+ viewHeight: this.table.tableNoFrameHeight,
463
+ viewWidth: this.table.tableNoFrameWidth,
464
+ scrollDirection: "horizontal",
465
+ scrollRatioX: xRatio
466
+ }), this.checkHorizontalScrollBarEnd());
499
467
  }
500
468
  hideVerticalScrollBar() {
501
469
  this.table.scenegraph.component.hideVerticalScrollBar();