@visactor/vtable 1.13.1-alpha.0 → 1.13.1-alpha.2

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.
@@ -337,5 +337,4 @@ export class DatasetForPivotTable {
337
337
  }
338
338
  return tree.forEach((treeNode => getPath(treeNode, []))), result;
339
339
  }
340
- }
341
- //# sourceMappingURL=dataset-pivot-table.js.map
340
+ }
@@ -120,4 +120,5 @@ export class FlatDataToObjects {
120
120
  this.rowFlatKeys = {}, this.colFlatKeys = {}, this.tree = {}, this.processRecords();
121
121
  }
122
122
  }
123
- }
123
+ }
124
+ //# sourceMappingURL=flatDataToObject.js.map
package/es/index.d.ts CHANGED
@@ -19,7 +19,7 @@ import { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils
19
19
  export { getDataCellPath } from './tools/get-data-path';
20
20
  export * from './render/jsx';
21
21
  export { getTargetCell } from './event/util';
22
- export declare const version = "1.13.1-alpha.0";
22
+ export declare const version = "1.13.1-alpha.2";
23
23
  export { TYPES, core, ListTable, ListTableSimple, ListTableConstructorOptions, PivotTable, PivotTableSimple, 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, setCustomAlphabetCharSet, restoreMeasureText };
24
24
  declare function getIcons(): {
25
25
  [key: string]: TYPES.ColumnIconOption;
package/es/index.js CHANGED
@@ -40,7 +40,7 @@ export * from "./render/jsx";
40
40
 
41
41
  export { getTargetCell } from "./event/util";
42
42
 
43
- export const version = "1.13.1-alpha.0";
43
+ export const version = "1.13.1-alpha.2";
44
44
 
45
45
  export { TYPES, core, ListTable, ListTableSimple, PivotTable, PivotTableSimple, PivotChart, themes, data, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText };
46
46
 
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAsB3D,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAIxC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAEf,UAAU,EACV,gBAAgB,EAGhB,UAAU,EAiBV,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAEnB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC;AAEtB,cAAc,cAAc,CAAC;AAC7B,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,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 { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\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';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\nexport { getTargetCell } from './event/util';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.13.1-alpha.0\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\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 setCustomAlphabetCharSet,\n restoreMeasureText\n // VRender // should use import {xxx} from '@visactor/vtable/es/vrender'\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\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAsB3D,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAK7C,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAIxC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAEf,UAAU,EACV,gBAAgB,EAGhB,UAAU,EAiBV,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAEnB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC;AAEtB,cAAc,cAAc,CAAC;AAC7B,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,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 { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\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';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\nexport { getTargetCell } from './event/util';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.13.1-alpha.2\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\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 setCustomAlphabetCharSet,\n restoreMeasureText\n // VRender // should use import {xxx} from '@visactor/vtable/es/vrender'\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\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\n"]}
@@ -2,8 +2,8 @@ export function fixUpdateRowRange(diffPositions, col, row, table) {
2
2
  const updateCells = [ {
3
3
  col: col,
4
4
  row: row
5
- } ], addCells = [], removeCells = [], {addCellPositions: addCellPositions, removeCellPositions: removeCellPositions} = diffPositions, proxy = table.scenegraph.proxy, {rowStart: rowStart, rowLimit: rowLimit, bodyBottomRow: bodyBottomRow} = proxy;
6
- let {rowEnd: rowEnd} = proxy, updateRow = 1 / 0;
5
+ } ], addCells = [], removeCells = [], {addCellPositions: addCellPositions, removeCellPositions: removeCellPositions} = diffPositions, proxy = table.scenegraph.proxy, {rowStart: rowStart, rowLimit: rowLimit} = proxy;
6
+ let {rowEnd: rowEnd, bodyBottomRow: bodyBottomRow} = proxy, updateRow = 1 / 0;
7
7
  for (let i = 0; i < addCellPositions.length; i++) {
8
8
  const {row: cellRow} = addCellPositions[i];
9
9
  rowEnd - rowStart + 1 === rowLimit ? cellRow >= rowStart && cellRow <= rowEnd && (updateRow = Math.min(updateRow, cellRow)) : (addCells.push({
@@ -12,11 +12,11 @@ export function fixUpdateRowRange(diffPositions, col, row, table) {
12
12
  }), rowEnd++);
13
13
  }
14
14
  for (let i = 0; i < removeCellPositions.length; i++) {
15
- const {row: cellRow} = removeCellPositions[i];
16
- cellRow < rowStart || cellRow > rowEnd || (rowEnd === bodyBottomRow ? removeCells.push({
15
+ const {row: cellRow} = removeCellPositions[removeCellPositions.length - i - 1];
16
+ cellRow < rowStart || cellRow > rowEnd ? bodyBottomRow-- : rowEnd === bodyBottomRow ? (removeCells.push({
17
17
  col: col,
18
18
  row: cellRow
19
- }) : updateRow = Math.min(updateRow, cellRow));
19
+ }), updateRow--) : (updateRow = Math.min(updateRow, cellRow), bodyBottomRow--);
20
20
  }
21
21
  if (updateRow !== 1 / 0) for (let i = updateRow; i <= rowEnd; i++) updateCells.push({
22
22
  col: col,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tools/update-row.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,iBAAiB,CAC/B,aAGC,EAED,GAAW,EACX,GAAW,EACX,KAAmB;IAEnB,MAAM,WAAW,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,aAAa,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;IACrC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACpD,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACvB,IAAI,SAAS,GAAG,QAAQ,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,MAAM,GAAG,QAAQ,GAAG,CAAC,KAAK,QAAQ,EAAE;YAEtC,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE;gBAC5C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aAC1C;SACF;aAAM;YAEL,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG;gBACH,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;YACH,MAAM,EAAE,CAAC;SACV;KACF;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,OAAO,GAAG,QAAQ,IAAI,OAAO,GAAG,MAAM,EAAE;YAC1C,SAAS;SACV;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE;YACnC,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG;gBACH,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;SACJ;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC1C;KACF;IAED,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG;gBACH,GAAG,EAAE,CAAC;aACP,CAAC,CAAC;SACJ;KACF;IAED,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IACzC,OAAO;QACL,WAAW;QACX,QAAQ;QACR,WAAW;KACZ,CAAC;AACJ,CAAC","file":"update-row.js","sourcesContent":["import type { CellAddress } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\n/*\n * fix update row range logic:\n *\n * ADD:\n * 1. proxy not full => add\n * 2. proxy full\n * 2.1 row outside of proxy row range => skip\n * 2.2 row inside of proxy row range => update row to proxy rowEnd\n * REM:\n * 1. row before rowStart or after rowEnd => skip\n * 2. no row after rowEnd => skip\n * 3. rows after rowEnd => update row to proxy rowEnd\n */\n\nexport function fixUpdateRowRange(\n diffPositions: {\n addCellPositions: CellAddress[];\n removeCellPositions: CellAddress[];\n },\n // updateCells: CellAddress[], // default [{col,row}]\n col: number,\n row: number,\n table: BaseTableAPI\n) {\n const updateCells = [{ col, row }];\n const addCells = [];\n const removeCells = [];\n\n const { addCellPositions, removeCellPositions } = diffPositions;\n const proxy = table.scenegraph.proxy;\n const { rowStart, rowLimit, bodyBottomRow } = proxy;\n let { rowEnd } = proxy;\n let updateRow = Infinity;\n\n for (let i = 0; i < addCellPositions.length; i++) {\n const { row: cellRow } = addCellPositions[i];\n\n if (rowEnd - rowStart + 1 === rowLimit) {\n // current row cell is full\n if (cellRow >= rowStart && cellRow <= rowEnd) {\n updateRow = Math.min(updateRow, cellRow);\n }\n } else {\n // row cell is not full\n addCells.push({\n col,\n row: cellRow\n });\n rowEnd++;\n }\n }\n\n for (let i = 0; i < removeCellPositions.length; i++) {\n const { row: cellRow } = removeCellPositions[i];\n if (cellRow < rowStart || cellRow > rowEnd) {\n continue;\n } else if (rowEnd === bodyBottomRow) {\n removeCells.push({\n col,\n row: cellRow\n });\n } else {\n updateRow = Math.min(updateRow, cellRow);\n }\n }\n\n if (updateRow !== Infinity) {\n for (let i = updateRow; i <= rowEnd; i++) {\n updateCells.push({\n col,\n row: i\n });\n }\n }\n\n table.scenegraph.proxy.refreshRowCount();\n return {\n updateCells,\n addCells,\n removeCells\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/tools/update-row.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,iBAAiB,CAC/B,aAGC,EAED,GAAW,EACX,GAAW,EACX,KAAmB;IAEnB,MAAM,WAAW,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,aAAa,CAAC;IAChE,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;IACrC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACrC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACtC,IAAI,SAAS,GAAG,QAAQ,CAAC;IAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAChD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAE7C,IAAI,MAAM,GAAG,QAAQ,GAAG,CAAC,KAAK,QAAQ,EAAE;YAEtC,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,MAAM,EAAE;gBAC5C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aAC1C;SACF;aAAM;YAEL,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG;gBACH,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;YACH,MAAM,EAAE,CAAC;SACV;KACF;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACjF,IAAI,OAAO,GAAG,QAAQ,IAAI,OAAO,GAAG,MAAM,EAAE;YAE1C,aAAa,EAAE,CAAC;SACjB;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE;YACnC,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG;gBACH,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;YACH,SAAS,EAAE,CAAC;SACb;aAAM;YACL,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,aAAa,EAAE,CAAC;SACjB;KACF;IAED,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG;gBACH,GAAG,EAAE,CAAC;aACP,CAAC,CAAC;SACJ;KACF;IAED,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IACzC,OAAO;QACL,WAAW;QACX,QAAQ;QACR,WAAW;KACZ,CAAC;AACJ,CAAC","file":"update-row.js","sourcesContent":["import type { CellAddress } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\n/*\n * fix update row range logic:\n *\n * ADD:\n * 1. proxy not full => add\n * 2. proxy full\n * 2.1 row outside of proxy row range => skip\n * 2.2 row inside of proxy row range => update row to proxy rowEnd\n * REM:\n * 1. row before rowStart or after rowEnd => skip\n * 2. no row after rowEnd => skip\n * 3. rows after rowEnd => update row to proxy rowEnd\n */\n\nexport function fixUpdateRowRange(\n diffPositions: {\n addCellPositions: CellAddress[];\n removeCellPositions: CellAddress[];\n },\n // updateCells: CellAddress[], // default [{col,row}]\n col: number,\n row: number,\n table: BaseTableAPI\n) {\n const updateCells = [{ col, row }];\n const addCells = [];\n const removeCells = [];\n\n const { addCellPositions, removeCellPositions } = diffPositions;\n const proxy = table.scenegraph.proxy;\n const { rowStart, rowLimit } = proxy;\n let { rowEnd, bodyBottomRow } = proxy;\n let updateRow = Infinity;\n\n for (let i = 0; i < addCellPositions.length; i++) {\n const { row: cellRow } = addCellPositions[i];\n\n if (rowEnd - rowStart + 1 === rowLimit) {\n // current row cell is full\n if (cellRow >= rowStart && cellRow <= rowEnd) {\n updateRow = Math.min(updateRow, cellRow);\n }\n } else {\n // row cell is not full\n addCells.push({\n col,\n row: cellRow\n });\n rowEnd++;\n }\n }\n\n for (let i = 0; i < removeCellPositions.length; i++) {\n const { row: cellRow } = removeCellPositions[removeCellPositions.length - i - 1];\n if (cellRow < rowStart || cellRow > rowEnd) {\n // continue;\n bodyBottomRow--;\n } else if (rowEnd === bodyBottomRow) {\n removeCells.push({\n col,\n row: cellRow\n });\n updateRow--;\n } else {\n updateRow = Math.min(updateRow, cellRow);\n bodyBottomRow--;\n }\n }\n\n if (updateRow !== Infinity) {\n for (let i = updateRow; i <= rowEnd; i++) {\n updateCells.push({\n col,\n row: i\n });\n }\n }\n\n table.scenegraph.proxy.refreshRowCount();\n return {\n updateCells,\n addCells,\n removeCells\n };\n}\n"]}
package/es/vrender.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EAGX,cAAc,EAEd,aAAa,EACb,aAAa,EACb,YAAY,EAIZ,YAAY,EAEZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EAEb,MAAM,wBAAwB,CAAC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,MAAM,UAAU,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,gBAAgB,EAAE,CAAC;IAEnB,IAAI,YAAY,EAAE,EAAE;QAClB,cAAc,CAAC,SAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,SAAS,EAAE,EAAE;QACtB,WAAW,CAAC,SAAS,CAAC,CAAC;KACxB;IACD,WAAW,EAAE,CAAC;IAGd,cAAc,EAAE,CAAC;IAEjB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IAIf,YAAY,EAAE,CAAC;IAEf,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,wBAAwB,EAAE,CAAC;IAE3B,UAAU,EAAE,CAAC;IAEb,wBAAwB,EAAE,CAAC;AAC7B,CAAC;AAGD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule, registerFlexLayoutPlugin } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.13.1-alpha.0\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n // registerArc3d();\n // registerArea();\n registerCircle();\n // registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n // registerPath();\n // registerPolygon();\n // registerPyramid3d();\n registerRect();\n // registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerFlexLayoutPlugin();\n // registerWrapText();\n loadPoptip();\n\n registerFlexLayoutPlugin();\n}\n\nexport type { Direction, Timeline } from '@visactor/vrender-core';\nexport { GroupFadeIn } from '@visactor/vrender-core';\nexport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\n"]}
1
+ {"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EACL,cAAc,EACd,WAAW,EACX,WAAW,EAGX,cAAc,EAEd,aAAa,EACb,aAAa,EACb,YAAY,EAIZ,YAAY,EAEZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EAEb,MAAM,wBAAwB,CAAC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,MAAM,UAAU,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,gBAAgB,EAAE,CAAC;IAEnB,IAAI,YAAY,EAAE,EAAE;QAClB,cAAc,CAAC,SAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,SAAS,EAAE,EAAE;QACtB,WAAW,CAAC,SAAS,CAAC,CAAC;KACxB;IACD,WAAW,EAAE,CAAC;IAGd,cAAc,EAAE,CAAC;IAEjB,aAAa,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IAIf,YAAY,EAAE,CAAC;IAEf,gBAAgB,EAAE,CAAC;IACnB,kBAAkB,EAAE,CAAC;IACrB,cAAc,EAAE,CAAC;IACjB,YAAY,EAAE,CAAC;IACf,wBAAwB,EAAE,CAAC;IAE3B,UAAU,EAAE,CAAC;IAEb,wBAAwB,EAAE,CAAC;AAC7B,CAAC;AAGD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC","file":"vrender.js","sourcesContent":["import { loadPoptip } from '@visactor/vrender-components';\nimport '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule, registerFlexLayoutPlugin } from '@visactor/vrender-core';\nimport {\n loadBrowserEnv,\n loadNodeEnv,\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"1.13.1-alpha.2\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n // registerArc3d();\n // registerArea();\n registerCircle();\n // registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n // registerPath();\n // registerPolygon();\n // registerPyramid3d();\n registerRect();\n // registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerFlexLayoutPlugin();\n // registerWrapText();\n loadPoptip();\n\n registerFlexLayoutPlugin();\n}\n\nexport type { Direction, Timeline } from '@visactor/vrender-core';\nexport { GroupFadeIn } from '@visactor/vrender-core';\nexport { GroupFadeOut } from '@visactor/vrender-core';\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\nexport * from '@visactor/vrender-components';\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vtable",
3
- "version": "1.13.1-alpha.0",
3
+ "version": "1.13.1-alpha.2",
4
4
  "description": "canvas table width high performance",
5
5
  "keywords": [
6
6
  "grid",
@@ -37,7 +37,7 @@
37
37
  "dist"
38
38
  ],
39
39
  "dependencies": {
40
- "@visactor/vtable-editors": "1.13.1-alpha.0",
40
+ "@visactor/vtable-editors": "1.13.1-alpha.2",
41
41
  "@visactor/vrender-core": "0.21.2-alpha.1",
42
42
  "@visactor/vrender-kits": "0.21.2-alpha.1",
43
43
  "@visactor/vrender-components": "0.21.2-alpha.1",
@@ -96,9 +96,9 @@
96
96
  "d3-hierarchy": "^3.1.1",
97
97
  "@resvg/resvg-js": "^2.5.0",
98
98
  "pikaday": "1.8.2",
99
- "@internal/bundler": "0.0.1",
100
99
  "@internal/eslint-config": "0.0.1",
101
- "@internal/ts-config": "0.0.1"
100
+ "@internal/ts-config": "0.0.1",
101
+ "@internal/bundler": "0.0.1"
102
102
  },
103
103
  "unpkg": "latest",
104
104
  "unpkgFiles": [