@visactor/vrender-components 1.0.9-alpha.1 → 1.0.9-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.
Files changed (52) hide show
  1. package/cjs/axis/line.js +1 -2
  2. package/cjs/brush/config.js +2 -1
  3. package/cjs/empty-tip/empty-tip.js +2 -1
  4. package/cjs/index.d.ts +2 -1
  5. package/cjs/index.js +3 -2
  6. package/cjs/index.js.map +1 -1
  7. package/cjs/indicator/register.js +1 -2
  8. package/cjs/table-series-number/event-manager.d.ts +16 -0
  9. package/cjs/table-series-number/event-manager.js +160 -0
  10. package/cjs/table-series-number/event-manager.js.map +1 -0
  11. package/cjs/table-series-number/index.d.ts +2 -0
  12. package/cjs/table-series-number/index.js +21 -0
  13. package/cjs/table-series-number/index.js.map +1 -0
  14. package/cjs/table-series-number/register.d.ts +1 -0
  15. package/cjs/table-series-number/register.js +14 -0
  16. package/cjs/table-series-number/register.js.map +1 -0
  17. package/cjs/table-series-number/table-series-number.d.ts +76 -0
  18. package/cjs/table-series-number/table-series-number.js +534 -0
  19. package/cjs/table-series-number/table-series-number.js.map +1 -0
  20. package/cjs/table-series-number/tools.d.ts +1 -0
  21. package/cjs/table-series-number/tools.js +14 -0
  22. package/cjs/table-series-number/tools.js.map +1 -0
  23. package/cjs/table-series-number/type.d.ts +80 -0
  24. package/cjs/table-series-number/type.js +17 -0
  25. package/cjs/table-series-number/type.js.map +1 -0
  26. package/dist/index.es.js +997 -6
  27. package/es/axis/line.js +1 -2
  28. package/es/brush/config.js +2 -1
  29. package/es/empty-tip/empty-tip.js +2 -1
  30. package/es/index.d.ts +2 -1
  31. package/es/index.js +3 -1
  32. package/es/index.js.map +1 -1
  33. package/es/indicator/register.js +1 -2
  34. package/es/table-series-number/event-manager.d.ts +16 -0
  35. package/es/table-series-number/event-manager.js +154 -0
  36. package/es/table-series-number/event-manager.js.map +1 -0
  37. package/es/table-series-number/index.d.ts +2 -0
  38. package/es/table-series-number/index.js +4 -0
  39. package/es/table-series-number/index.js.map +1 -0
  40. package/es/table-series-number/register.d.ts +1 -0
  41. package/es/table-series-number/register.js +6 -0
  42. package/es/table-series-number/register.js.map +1 -0
  43. package/es/table-series-number/table-series-number.d.ts +76 -0
  44. package/es/table-series-number/table-series-number.js +542 -0
  45. package/es/table-series-number/table-series-number.js.map +1 -0
  46. package/es/table-series-number/tools.d.ts +1 -0
  47. package/es/table-series-number/tools.js +8 -0
  48. package/es/table-series-number/tools.js.map +1 -0
  49. package/es/table-series-number/type.d.ts +80 -0
  50. package/es/table-series-number/type.js +16 -0
  51. package/es/table-series-number/type.js.map +1 -0
  52. package/package.json +4 -4
package/dist/index.es.js CHANGED
@@ -13364,7 +13364,7 @@ let DefaultDrawContribution = class {
13364
13364
  return data || this.currentRenderMap.get(type) || this.defaultRenderMap.get(type);
13365
13365
  }
13366
13366
  clearScreen(renderService, context, drawContext) {
13367
- var _a, _b, _c;
13367
+ var _a, _b;
13368
13368
  const {
13369
13369
  clear: clear,
13370
13370
  viewBox: viewBox
@@ -13372,9 +13372,9 @@ let DefaultDrawContribution = class {
13372
13372
  width = viewBox.width(),
13373
13373
  height = viewBox.height();
13374
13374
  if (clear) {
13375
- context.clearRect(0, 0, width, height), (null === (_a = renderService.drawParams) || void 0 === _a ? void 0 : _a.stage) && renderService.drawParams.stage.hooks.afterClearScreen.call(renderService.drawParams);
13376
- const stage = null === (_b = renderService.drawParams) || void 0 === _b ? void 0 : _b.stage;
13377
- if (stage && (context.globalAlpha = null !== (_c = stage.attribute.opacity) && void 0 !== _c ? _c : 1), stage && stage.backgroundImg && stage.resources) {
13375
+ context.clearRect(0, 0, width, height);
13376
+ const stage = null === (_a = renderService.drawParams) || void 0 === _a ? void 0 : _a.stage;
13377
+ if (stage && (context.globalAlpha = null !== (_b = stage.attribute.opacity) && void 0 !== _b ? _b : 1), stage && stage.backgroundImg && stage.resources) {
13378
13378
  const res = stage.resources.get(clear);
13379
13379
  res && "success" === res.state && res.data && context.drawImage(res.data, 0, 0, width, height);
13380
13380
  } else context.fillStyle = createColor(context, clear, {
@@ -33127,6 +33127,997 @@ StoryLabelItem.defaultAttributes = {
33127
33127
  theme: 'default'
33128
33128
  };
33129
33129
 
33130
- const version = "1.0.9-alpha.1";
33130
+ function generateColField(index) {
33131
+ if (index < 26) {
33132
+ return String.fromCharCode(65 + index);
33133
+ }
33134
+ const title = [];
33135
+ index++;
33136
+ while (index > 0) {
33137
+ index--;
33138
+ title.unshift(String.fromCharCode(65 + (index % 26)));
33139
+ index = Math.floor(index / 26);
33140
+ }
33141
+ return title.join('');
33142
+ }
33143
+
33144
+ var SeriesNumberCellStateValue;
33145
+ (function (SeriesNumberCellStateValue) {
33146
+ SeriesNumberCellStateValue["hover"] = "hover";
33147
+ SeriesNumberCellStateValue["select"] = "select";
33148
+ })(SeriesNumberCellStateValue || (SeriesNumberCellStateValue = {}));
33149
+ var SeriesNumberEvent;
33150
+ (function (SeriesNumberEvent) {
33151
+ SeriesNumberEvent["seriesNumberCellHover"] = "seriesNumberCellHover";
33152
+ SeriesNumberEvent["seriesNumberCellUnHover"] = "seriesNumberCellUnHover";
33153
+ SeriesNumberEvent["seriesNumberCellClick"] = "seriesNumberCellClick";
33154
+ SeriesNumberEvent["seriesNumberCellClickUp"] = "seriesNumberCellClickUp";
33155
+ SeriesNumberEvent["seriesNumberCellCancelClick"] = "seriesNumberCellCancelClick";
33156
+ SeriesNumberEvent["rowSeriesNumberWidthChange"] = "rowSeriesNumberWidthChange";
33157
+ SeriesNumberEvent["resizeRowHeightStart"] = "resizeRowHeightStart";
33158
+ SeriesNumberEvent["resizeColWidthStart"] = "resizeColWidthStart";
33159
+ SeriesNumberEvent["seriesNumberCellRightClick"] = "seriesNumberCellRightClick";
33160
+ })(SeriesNumberEvent || (SeriesNumberEvent = {}));
33161
+
33162
+ class TableSeriesNumberEventManager {
33163
+ constructor(tableSeriesNumber) {
33164
+ this.isPointerDownStartSelect = false;
33165
+ this._onRightDown = (e) => {
33166
+ const target = e.target;
33167
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.seriesNumberCellRightClick, {
33168
+ seriesNumberCell: target,
33169
+ event: e
33170
+ });
33171
+ };
33172
+ this._onPointermove = (e) => {
33173
+ const target = e.target;
33174
+ if (this.isPointerDownStartSelect) {
33175
+ if (!this._tableSeriesNumber.interactionState.selectIndexs.has(target.name)) {
33176
+ this._tableSeriesNumber.interactionState.selectIndexs.add(target.name);
33177
+ this._tableSeriesNumber.renderSelectedIndexsState();
33178
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.seriesNumberCellClick, {
33179
+ seriesNumberCell: target,
33180
+ event: e,
33181
+ isDragSelect: true
33182
+ });
33183
+ }
33184
+ else {
33185
+ if (this._tableSeriesNumber.interactionState._lastClickItem &&
33186
+ this._tableSeriesNumber.interactionState._lastClickItem.id === target.id) {
33187
+ return;
33188
+ }
33189
+ this._tableSeriesNumber.renderSelectedIndexsState();
33190
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.seriesNumberCellClick, {
33191
+ seriesNumberCell: target,
33192
+ event: e,
33193
+ isDragSelect: true
33194
+ });
33195
+ }
33196
+ this._tableSeriesNumber.interactionState._lastClickItem = target;
33197
+ return;
33198
+ }
33199
+ if (target.name.startsWith('col')) {
33200
+ Number(target.name.split('-')[1]);
33201
+ const canvasPointXY = target.stage.window.pointTransform(e.canvasX, e.canvasY);
33202
+ const XYtoTarget = { x: 0, y: 0 };
33203
+ target.globalTransMatrix.transformPoint(canvasPointXY, XYtoTarget);
33204
+ if (XYtoTarget.x <= 4 ||
33205
+ (XYtoTarget.x <= target.getAttributes().width && XYtoTarget.x >= target.getAttributes().width - 4)) {
33206
+ target.setAttribute('cursor', 'col-resize');
33207
+ }
33208
+ else {
33209
+ target.setAttribute('cursor', 'default');
33210
+ }
33211
+ }
33212
+ else if (target.name.startsWith('row')) {
33213
+ Number(target.name.split('-')[1]);
33214
+ const canvasPointXY = target.stage.window.pointTransform(e.canvasX, e.canvasY);
33215
+ const XYtoTarget = { x: 0, y: 0 };
33216
+ target.globalTransMatrix.transformPoint(canvasPointXY, XYtoTarget);
33217
+ if (XYtoTarget.y <= 4 ||
33218
+ (XYtoTarget.y <= target.getAttributes().height && XYtoTarget.y >= target.getAttributes().height - 4)) {
33219
+ target.setAttribute('cursor', 'row-resize');
33220
+ }
33221
+ else {
33222
+ target.setAttribute('cursor', 'default');
33223
+ }
33224
+ }
33225
+ if (this._tableSeriesNumber.interactionState._lastHoverItem) {
33226
+ if (this._tableSeriesNumber.interactionState._lastHoverItem.id === target.id) {
33227
+ return;
33228
+ }
33229
+ this._unHoverHandler(this._tableSeriesNumber.interactionState._lastHoverItem, e);
33230
+ }
33231
+ if (this._tableSeriesNumber.getAttributes().hover) {
33232
+ this._hoverHandler(target, e);
33233
+ }
33234
+ };
33235
+ this._onPointerleave = (e) => {
33236
+ if (this._tableSeriesNumber.interactionState._lastHoverItem) {
33237
+ this._unHoverHandler(this._tableSeriesNumber.interactionState._lastHoverItem, e);
33238
+ this._tableSeriesNumber.interactionState._lastHoverItem = null;
33239
+ }
33240
+ };
33241
+ this._onPointerdown = (e) => {
33242
+ var _a;
33243
+ if (e.button === 2) {
33244
+ return;
33245
+ }
33246
+ const target = e.target;
33247
+ if (target.name.startsWith('col')) {
33248
+ const colIndex = Number(target.name.split('-')[1]);
33249
+ const canvasPointXY = target.stage.window.pointTransform(e.canvasX, e.canvasY);
33250
+ const XYtoTarget = { x: 0, y: 0 };
33251
+ target.globalTransMatrix.transformPoint(canvasPointXY, XYtoTarget);
33252
+ if (XYtoTarget.x <= 4 ||
33253
+ (XYtoTarget.x <= target.getAttributes().width && XYtoTarget.x >= target.getAttributes().width - 4)) {
33254
+ let resizeTargetColIndex = colIndex;
33255
+ if (XYtoTarget.x <= 4) {
33256
+ resizeTargetColIndex = colIndex - 1;
33257
+ }
33258
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.resizeColWidthStart, {
33259
+ colIndex: resizeTargetColIndex,
33260
+ event: e
33261
+ });
33262
+ return;
33263
+ }
33264
+ }
33265
+ else if (target.name.startsWith('row')) {
33266
+ const rowIndex = Number(target.name.split('-')[1]);
33267
+ const canvasPointXY = target.stage.window.pointTransform(e.canvasX, e.canvasY);
33268
+ const XYtoTarget = { x: 0, y: 0 };
33269
+ target.globalTransMatrix.transformPoint(canvasPointXY, XYtoTarget);
33270
+ if (XYtoTarget.y <= 4 ||
33271
+ (XYtoTarget.y <= target.getAttributes().height && XYtoTarget.y >= target.getAttributes().height - 4)) {
33272
+ let resizeTargetRowIndex = rowIndex;
33273
+ if (XYtoTarget.y <= 4) {
33274
+ resizeTargetRowIndex = rowIndex - 1;
33275
+ }
33276
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.resizeRowHeightStart, {
33277
+ rowIndex: resizeTargetRowIndex,
33278
+ event: e
33279
+ });
33280
+ return;
33281
+ }
33282
+ }
33283
+ this.isPointerDownStartSelect = true;
33284
+ if ((_a = this._tableSeriesNumber.interactionState.selectIndexs) === null || _a === void 0 ? void 0 : _a.size) {
33285
+ if (this._tableSeriesNumber.interactionState.selectIndexs.has(target.name)) {
33286
+ if (e.nativeEvent.ctrlKey || e.nativeEvent.metaKey) {
33287
+ this._tableSeriesNumber.removeOneGroupSelected(target);
33288
+ this._unClickHandler(target.name, e);
33289
+ }
33290
+ else {
33291
+ this._tableSeriesNumber.removeAllSelectedIndexs();
33292
+ for (const name of this._tableSeriesNumber.interactionState.selectIndexs) {
33293
+ this._unClickHandler(name, e);
33294
+ }
33295
+ }
33296
+ }
33297
+ else {
33298
+ if (e.nativeEvent.ctrlKey || e.nativeEvent.metaKey) ;
33299
+ else {
33300
+ this._tableSeriesNumber.removeAllSelectedIndexs();
33301
+ for (const name of this._tableSeriesNumber.interactionState.selectIndexs) {
33302
+ if ((target.name.startsWith('row') && name.startsWith('row')) ||
33303
+ (target.name.startsWith('col') && name.startsWith('col'))) {
33304
+ this._unClickHandler(name, e);
33305
+ }
33306
+ }
33307
+ }
33308
+ }
33309
+ }
33310
+ this._clickHandler(target, e);
33311
+ };
33312
+ this._onPointerup = (e) => {
33313
+ const target = e.target;
33314
+ if (this.isPointerDownStartSelect) {
33315
+ this.isPointerDownStartSelect = false;
33316
+ this._tableSeriesNumber.interactionState._lastClickItem = null;
33317
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.seriesNumberCellClickUp, {
33318
+ seriesNumberCell: target,
33319
+ event: e
33320
+ });
33321
+ }
33322
+ };
33323
+ this._tableSeriesNumber = tableSeriesNumber;
33324
+ }
33325
+ bindEvents() {
33326
+ const { hover = true, select = true } = this._tableSeriesNumber.attribute;
33327
+ if (hover) {
33328
+ this._tableSeriesNumber._rowSeriesNumberGroup.addEventListener('pointermove', this._onPointermove);
33329
+ this._tableSeriesNumber._rowSeriesNumberGroup.addEventListener('pointerleave', this._onPointerleave);
33330
+ this._tableSeriesNumber._colSeriesNumberGroup.addEventListener('pointermove', this._onPointermove);
33331
+ this._tableSeriesNumber._colSeriesNumberGroup.addEventListener('pointerleave', this._onPointerleave);
33332
+ this._tableSeriesNumber._cornerGroup.addEventListener('pointermove', this._onPointermove);
33333
+ this._tableSeriesNumber._cornerGroup.addEventListener('pointerleave', this._onPointerleave);
33334
+ this._tableSeriesNumber._frozenTopRowSeriesNumberGroup.addEventListener('pointermove', this._onPointermove);
33335
+ this._tableSeriesNumber._frozenTopRowSeriesNumberGroup.addEventListener('pointerleave', this._onPointerleave);
33336
+ this._tableSeriesNumber._frozenLeftColSeriesNumberGroup.addEventListener('pointermove', this._onPointermove);
33337
+ this._tableSeriesNumber._frozenLeftColSeriesNumberGroup.addEventListener('pointerleave', this._onPointerleave);
33338
+ }
33339
+ if (select) {
33340
+ this._tableSeriesNumber._rowSeriesNumberGroup.addEventListener('pointerdown', this._onPointerdown);
33341
+ this._tableSeriesNumber._colSeriesNumberGroup.addEventListener('pointerdown', this._onPointerdown);
33342
+ this._tableSeriesNumber._cornerGroup.addEventListener('pointerdown', this._onPointerdown);
33343
+ this._tableSeriesNumber._frozenTopRowSeriesNumberGroup.addEventListener('pointerdown', this._onPointerdown);
33344
+ this._tableSeriesNumber._frozenLeftColSeriesNumberGroup.addEventListener('pointerdown', this._onPointerdown);
33345
+ vglobal.addEventListener('pointerup', this._onPointerup);
33346
+ }
33347
+ this._tableSeriesNumber._rowSeriesNumberGroup.addEventListener('rightdown', this._onRightDown);
33348
+ this._tableSeriesNumber._colSeriesNumberGroup.addEventListener('rightdown', this._onRightDown);
33349
+ this._tableSeriesNumber._cornerGroup.addEventListener('rightdown', this._onRightDown);
33350
+ this._tableSeriesNumber._frozenTopRowSeriesNumberGroup.addEventListener('rightdown', this._onRightDown);
33351
+ this._tableSeriesNumber._frozenLeftColSeriesNumberGroup.addEventListener('rightdown', this._onRightDown);
33352
+ }
33353
+ _hoverHandler(seriesNumberCell, e) {
33354
+ this._tableSeriesNumber.interactionState._lastHoverItem = seriesNumberCell;
33355
+ if (seriesNumberCell.hasState(SeriesNumberCellStateValue.select)) {
33356
+ seriesNumberCell.useStates([SeriesNumberCellStateValue.select, SeriesNumberCellStateValue.hover]);
33357
+ }
33358
+ else {
33359
+ seriesNumberCell.useStates([SeriesNumberCellStateValue.hover]);
33360
+ }
33361
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.seriesNumberCellHover, {
33362
+ seriesNumberCell,
33363
+ event: e
33364
+ });
33365
+ }
33366
+ _unHoverHandler(seriesNumberCell, e) {
33367
+ seriesNumberCell.removeState(SeriesNumberCellStateValue.hover);
33368
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.seriesNumberCellUnHover, {
33369
+ seriesNumberCell,
33370
+ event: e
33371
+ });
33372
+ }
33373
+ _clickHandler(seriesNumberCell, e) {
33374
+ this._tableSeriesNumber.addOneGroupSelected(seriesNumberCell);
33375
+ this._tableSeriesNumber.interactionState._lastClickItem = seriesNumberCell;
33376
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.seriesNumberCellClick, {
33377
+ seriesNumberCell,
33378
+ event: e
33379
+ });
33380
+ }
33381
+ _unClickHandler(seriesNumberIndex, e) {
33382
+ const isRow = seriesNumberIndex.startsWith('row');
33383
+ const seriesNumberCell = isRow
33384
+ ? this._tableSeriesNumber.getRowSeriesNumberCellGroup(Number(seriesNumberIndex.split('-')[1]))
33385
+ : this._tableSeriesNumber.getColSeriesNumberCellGroup(Number(seriesNumberIndex.split('-')[1]));
33386
+ seriesNumberCell === null || seriesNumberCell === void 0 ? void 0 : seriesNumberCell.removeState(SeriesNumberCellStateValue.select);
33387
+ this._tableSeriesNumber.dispatchTableSeriesNumberEvent(SeriesNumberEvent.seriesNumberCellCancelClick, {
33388
+ index: seriesNumberIndex,
33389
+ event: e
33390
+ });
33391
+ }
33392
+ }
33393
+
33394
+ function loadTableSeriesNumberComponent() {
33395
+ registerGroup();
33396
+ registerText();
33397
+ registerImage();
33398
+ }
33399
+
33400
+ loadTableSeriesNumberComponent();
33401
+ class TableSeriesNumber extends AbstractComponent {
33402
+ constructor(attributes, options) {
33403
+ super((options === null || options === void 0 ? void 0 : options.skipDefault) ? attributes : merge({}, TableSeriesNumber.defaultAttributes, attributes));
33404
+ this.name = 'tableSeriesNumber';
33405
+ this._firstRowSeriesNumberIndex = 0;
33406
+ this._firstColSeriesNumberIndex = 0;
33407
+ this._maxTextWidth = 0;
33408
+ this._changeRowSeriesNumberWidthTimer = null;
33409
+ this.interactionState = { selectIndexs: new Set(), _lastHoverItem: null, _lastClickItem: null };
33410
+ this._parsedRowSeriesNumberCellPadding = [0, 0, 0, 0];
33411
+ this._parsedColSeriesNumberCellPadding = [0, 0, 0, 0];
33412
+ this.initRenderAll = false;
33413
+ this.initRenderAll = (options === null || options === void 0 ? void 0 : options.initRenderAll) || false;
33414
+ this._skipRenderAttributes.push('frozenTopRow');
33415
+ this._skipRenderAttributes.push('frozenLeftCol');
33416
+ this._skipRenderAttributes.push('frozenRightCol');
33417
+ this._skipRenderAttributes.push('frozenBottomRow');
33418
+ this._skipRenderAttributes.push('rowCount');
33419
+ this._skipRenderAttributes.push('colCount');
33420
+ this._skipRenderAttributes.push('hover');
33421
+ this._skipRenderAttributes.push('select');
33422
+ if (this.attribute.rowSeriesNumberCellStyle.text.padding) {
33423
+ const padding = parsePadding(this.attribute.rowSeriesNumberCellStyle.text.padding);
33424
+ if (typeof padding === 'number') {
33425
+ this._parsedRowSeriesNumberCellPadding = [padding, padding, padding, padding];
33426
+ }
33427
+ else {
33428
+ this._parsedRowSeriesNumberCellPadding = padding;
33429
+ }
33430
+ }
33431
+ if (this.attribute.colSeriesNumberCellStyle.text.padding) {
33432
+ const padding = parsePadding(this.attribute.colSeriesNumberCellStyle.text.padding);
33433
+ if (typeof padding === 'number') {
33434
+ this._parsedColSeriesNumberCellPadding = [padding, padding, padding, padding];
33435
+ }
33436
+ else {
33437
+ this._parsedColSeriesNumberCellPadding = padding;
33438
+ }
33439
+ }
33440
+ this._eventManager = new TableSeriesNumberEventManager(this);
33441
+ }
33442
+ get rowSeriesNumberWidth() {
33443
+ const { rowSeriesNumberWidth } = this.attribute;
33444
+ if (this._maxTextWidth) {
33445
+ return Math.max(this._maxTextWidth + this._parsedRowSeriesNumberCellPadding[3] + this._parsedRowSeriesNumberCellPadding[1], typeof rowSeriesNumberWidth === 'number' ? rowSeriesNumberWidth : 40);
33446
+ }
33447
+ return typeof rowSeriesNumberWidth === 'number' ? rowSeriesNumberWidth : 40;
33448
+ }
33449
+ get colSeriesNumberHeight() {
33450
+ const { colSeriesNumberHeight } = this.attribute;
33451
+ return typeof colSeriesNumberHeight === 'number' ? colSeriesNumberHeight : 20;
33452
+ }
33453
+ get rowCount() {
33454
+ const { rowCount } = this.attribute;
33455
+ return rowCount;
33456
+ }
33457
+ get colCount() {
33458
+ const { colCount } = this.attribute;
33459
+ return colCount;
33460
+ }
33461
+ bindEvents() {
33462
+ this._eventManager.bindEvents();
33463
+ }
33464
+ dispatchTableSeriesNumberEvent(event, ...args) {
33465
+ this._dispatchEvent(event, ...args);
33466
+ }
33467
+ render() {
33468
+ const { rowCount, colCount, rowSeriesNumberWidth, colSeriesNumberHeight, rowSeriesNumberCellStyle, colSeriesNumberCellStyle, rowHeight, colWidth } = this.attribute;
33469
+ const innerView = this.createOrUpdateChild('tableSeriesNumberContainer', {
33470
+ x: 0,
33471
+ y: 0,
33472
+ fill: 'rgba(1,1,1,0)',
33473
+ width: this.rowSeriesNumberWidth + colCount * (typeof colWidth === 'number' ? colWidth : 20),
33474
+ height: this.colSeriesNumberHeight + rowCount * (typeof rowHeight === 'number' ? rowHeight : 20),
33475
+ pickable: false,
33476
+ childrenPickable: true
33477
+ }, 'group');
33478
+ this._tableSeriesNumberContainer = innerView;
33479
+ this._renderContent();
33480
+ }
33481
+ _renderContent() {
33482
+ this._renderRowSeriesNumber();
33483
+ this._renderColSeriesNumber();
33484
+ this._renderFrozenTopRowSeriesNumber();
33485
+ this._renderFrozenLeftColSeriesNumber();
33486
+ this._renderCorner();
33487
+ if (this.initRenderAll) {
33488
+ this.recreateCellsToRowSeriesNumberGroup(0, this.attribute.rowCount - 1);
33489
+ this.recreateCellsToColSeriesNumberGroup(0, this.attribute.colCount - 1);
33490
+ let y = 0;
33491
+ for (let i = 0; i < this.attribute.rowCount; i++) {
33492
+ this.setRowSeriesNumberCellAttributes(i, {
33493
+ y,
33494
+ height: typeof this.attribute.rowHeight === 'number' ? this.attribute.rowHeight : 20
33495
+ });
33496
+ y += typeof this.attribute.rowHeight === 'number' ? this.attribute.rowHeight : 20;
33497
+ }
33498
+ let x = 0;
33499
+ for (let i = 0; i < this.attribute.colCount; i++) {
33500
+ this.setColSeriesNumberCellAttributes(i, {
33501
+ x,
33502
+ width: typeof this.attribute.colWidth === 'number' ? this.attribute.colWidth : 20
33503
+ });
33504
+ x += typeof this.attribute.colWidth === 'number' ? this.attribute.colWidth : 20;
33505
+ }
33506
+ }
33507
+ }
33508
+ _renderCorner() {
33509
+ const { rowCount, colCount, cornerCellStyle: cornerSeriesNumberCellStyle, rowSeriesNumberWidth, colSeriesNumberHeight, rowSeriesNumberCellStyle, colSeriesNumberCellStyle, rowHeight, colWidth } = this.attribute;
33510
+ const cornerGroup = this._tableSeriesNumberContainer.createOrUpdateChild('cornerSeriesNumberCell', {
33511
+ x: 0,
33512
+ y: 0,
33513
+ fill: cornerSeriesNumberCellStyle.bgColor,
33514
+ stroke: cornerSeriesNumberCellStyle.borderLine.stroke,
33515
+ lineWidth: cornerSeriesNumberCellStyle.borderLine.lineWidth,
33516
+ pickable: true,
33517
+ width: this.rowSeriesNumberWidth,
33518
+ height: this.colSeriesNumberHeight
33519
+ }, 'group');
33520
+ cornerGroup.id = '0,0';
33521
+ cornerGroup.states = cornerSeriesNumberCellStyle.states;
33522
+ this._cornerGroup = cornerGroup;
33523
+ }
33524
+ _renderRowSeriesNumber() {
33525
+ const { frozenRowCount, rowCount, colCount, rowSeriesNumberWidth, colSeriesNumberHeight, rowSeriesNumberCellStyle, colSeriesNumberCellStyle, rowHeight, colWidth } = this.attribute;
33526
+ const rowSeriesNumberGroup = this._tableSeriesNumberContainer.createOrUpdateChild('rowSeriesNumberCellGroup', {
33527
+ x: 0,
33528
+ y: this.colSeriesNumberHeight,
33529
+ pickable: true,
33530
+ fill: rowSeriesNumberCellStyle.bgColor,
33531
+ width: this.rowSeriesNumberWidth,
33532
+ height: rowCount * (typeof rowHeight === 'number' ? rowHeight : 20)
33533
+ }, 'group');
33534
+ this._rowSeriesNumberGroup = rowSeriesNumberGroup;
33535
+ }
33536
+ _renderColSeriesNumber() {
33537
+ const { frozenColCount, rowCount, colCount, rowSeriesNumberWidth, colSeriesNumberHeight, rowSeriesNumberCellStyle, colSeriesNumberCellStyle, rowHeight, colWidth } = this.attribute;
33538
+ const colSeriesNumberGroup = this._tableSeriesNumberContainer.createOrUpdateChild('colSeriesNumberCellGroup', {
33539
+ x: this.rowSeriesNumberWidth + frozenColCount * (typeof colWidth === 'number' ? colWidth : 20),
33540
+ y: 0,
33541
+ pickable: true,
33542
+ fill: colSeriesNumberCellStyle.bgColor,
33543
+ width: colCount * (typeof colWidth === 'number' ? colWidth : 20),
33544
+ height: this.colSeriesNumberHeight
33545
+ }, 'group');
33546
+ this._colSeriesNumberGroup = colSeriesNumberGroup;
33547
+ }
33548
+ _renderFrozenTopRowSeriesNumber() {
33549
+ const { frozenRowCount, colCount, rowSeriesNumberWidth, colSeriesNumberHeight, rowSeriesNumberCellStyle, colSeriesNumberCellStyle, rowHeight, colWidth } = this.attribute;
33550
+ const frozenTopSeriesNumberGroup = this._tableSeriesNumberContainer.createOrUpdateChild('frozenTopSeriesNumberGroup', {
33551
+ x: 0,
33552
+ y: this.colSeriesNumberHeight,
33553
+ width: this.rowSeriesNumberWidth,
33554
+ height: frozenRowCount * (typeof rowHeight === 'number' ? rowHeight : 20)
33555
+ }, 'group');
33556
+ this._frozenTopRowSeriesNumberGroup = frozenTopSeriesNumberGroup;
33557
+ }
33558
+ _renderFrozenLeftColSeriesNumber() {
33559
+ const { frozenColCount, rowCount, rowSeriesNumberWidth, colSeriesNumberHeight, rowSeriesNumberCellStyle, colSeriesNumberCellStyle, rowHeight, colWidth } = this.attribute;
33560
+ const frozenLeftSeriesNumberGroup = this._tableSeriesNumberContainer.createOrUpdateChild('frozenLeftSeriesNumberGroup', {
33561
+ x: this.rowSeriesNumberWidth,
33562
+ y: 0,
33563
+ height: this.colSeriesNumberHeight,
33564
+ width: frozenColCount * (typeof colWidth === 'number' ? colWidth : 20)
33565
+ }, 'group');
33566
+ this._frozenLeftColSeriesNumberGroup = frozenLeftSeriesNumberGroup;
33567
+ }
33568
+ recreateCellsToRowSeriesNumberGroup(startIndex, endIndex) {
33569
+ var _a, _b;
33570
+ const { frozenRowCount, rowCount, colCount, rowSeriesNumberWidth, colSeriesNumberHeight, rowSeriesNumberCellStyle, colSeriesNumberCellStyle, rowHeight, colWidth } = this.attribute;
33571
+ this._frozenTopRowSeriesNumberGroup.removeAllChild();
33572
+ this._rowSeriesNumberGroup.removeAllChild();
33573
+ let y = 0;
33574
+ const height = (typeof rowHeight === 'number' ? rowHeight : 20) -
33575
+ this._parsedRowSeriesNumberCellPadding[0] -
33576
+ this._parsedRowSeriesNumberCellPadding[2];
33577
+ if (rowSeriesNumberCellStyle.text.textBaseline === 'middle') {
33578
+ y = this._parsedRowSeriesNumberCellPadding[0] + (height - rowSeriesNumberCellStyle.text.fontSize) / 2;
33579
+ }
33580
+ else if (rowSeriesNumberCellStyle.text.textBaseline === 'bottom') {
33581
+ y = this._parsedRowSeriesNumberCellPadding[0] + height - rowSeriesNumberCellStyle.text.fontSize;
33582
+ }
33583
+ else {
33584
+ y = this._parsedRowSeriesNumberCellPadding[0];
33585
+ }
33586
+ let x;
33587
+ const width = this.rowSeriesNumberWidth - this._parsedRowSeriesNumberCellPadding[3] - this._parsedRowSeriesNumberCellPadding[1];
33588
+ const textAlign = this.attribute.rowSeriesNumberCellStyle.text.textAlign;
33589
+ const padding = this._parsedRowSeriesNumberCellPadding;
33590
+ if (textAlign === 'center') {
33591
+ x = padding[3] + +width / 2;
33592
+ }
33593
+ else if (textAlign === 'right') {
33594
+ x = padding[3] + width;
33595
+ }
33596
+ else {
33597
+ x = padding[3];
33598
+ }
33599
+ for (let i = 0; i < frozenRowCount; i++) {
33600
+ const cellGroup = this._frozenTopRowSeriesNumberGroup.createOrUpdateChild(`rowSeriesNumberCell-${i}`, {
33601
+ x: 0,
33602
+ y: 0,
33603
+ pickable: true,
33604
+ fill: rowSeriesNumberCellStyle.bgColor,
33605
+ stroke: rowSeriesNumberCellStyle.borderLine.stroke,
33606
+ lineWidth: rowSeriesNumberCellStyle.borderLine.lineWidth,
33607
+ width: this.rowSeriesNumberWidth,
33608
+ height: typeof rowHeight === 'number' ? rowHeight : 20
33609
+ }, 'group');
33610
+ cellGroup.id = i;
33611
+ cellGroup.states = rowSeriesNumberCellStyle.states;
33612
+ if ((_a = this.interactionState.selectIndexs) === null || _a === void 0 ? void 0 : _a.has(cellGroup.name)) {
33613
+ cellGroup.useStates([SeriesNumberCellStateValue.select]);
33614
+ }
33615
+ cellGroup.createOrUpdateChild(`rowSeriesNumberCellText-${i}`, Object.assign(Object.assign({ x,
33616
+ y, text: `${i + 1}`, pickable: false, dx: 0 }, rowSeriesNumberCellStyle.text), { textBaseline: 'top' }), 'text');
33617
+ }
33618
+ this._firstRowSeriesNumberIndex = Math.max(startIndex, frozenRowCount) - frozenRowCount;
33619
+ let thisTextMaxWidth = 0;
33620
+ for (let i = this._firstRowSeriesNumberIndex; i <= endIndex - frozenRowCount; i++) {
33621
+ const cellGroup = this._rowSeriesNumberGroup.createOrUpdateChild(`rowSeriesNumberCell-${i + frozenRowCount}`, {
33622
+ x: 0,
33623
+ y: 0,
33624
+ pickable: true,
33625
+ fill: rowSeriesNumberCellStyle.bgColor,
33626
+ stroke: rowSeriesNumberCellStyle.borderLine.stroke,
33627
+ lineWidth: rowSeriesNumberCellStyle.borderLine.lineWidth,
33628
+ width: this.rowSeriesNumberWidth,
33629
+ height: typeof rowHeight === 'number' ? rowHeight : 20
33630
+ }, 'group');
33631
+ cellGroup.id = i + frozenRowCount;
33632
+ cellGroup.states = rowSeriesNumberCellStyle.states;
33633
+ if ((_b = this.interactionState.selectIndexs) === null || _b === void 0 ? void 0 : _b.has(cellGroup.name)) {
33634
+ cellGroup.useStates([SeriesNumberCellStateValue.select]);
33635
+ }
33636
+ const text = cellGroup.createOrUpdateChild(`rowSeriesNumberCellText-${i + frozenRowCount}`, Object.assign(Object.assign({ x,
33637
+ y, text: `${i + 1 + frozenRowCount}`, pickable: false, dx: 0 }, rowSeriesNumberCellStyle.text), { textBaseline: 'top' }), 'text');
33638
+ if (i === endIndex - frozenRowCount) {
33639
+ thisTextMaxWidth = text.clipedWidth;
33640
+ }
33641
+ }
33642
+ clearTimeout(this._changeRowSeriesNumberWidthTimer);
33643
+ this._changeRowSeriesNumberWidthTimer = setTimeout(() => {
33644
+ if (Math.abs(thisTextMaxWidth - this._maxTextWidth) >= 6) {
33645
+ const oldWidth = this._maxTextWidth;
33646
+ this._maxTextWidth = thisTextMaxWidth;
33647
+ this.changeRowSeriesNumberWidth(Math.max(this.rowSeriesNumberWidth, 20));
33648
+ this._dispatchEvent(SeriesNumberEvent.rowSeriesNumberWidthChange, {
33649
+ newWidth: this.rowSeriesNumberWidth,
33650
+ oldWidth
33651
+ });
33652
+ }
33653
+ }, 100);
33654
+ }
33655
+ recreateCellsToColSeriesNumberGroup(startIndex, endIndex) {
33656
+ var _a, _b;
33657
+ const { colCount, colSeriesNumberCellStyle, frozenColCount, colWidth } = this
33658
+ .attribute;
33659
+ this._frozenLeftColSeriesNumberGroup.removeAllChild();
33660
+ this._colSeriesNumberGroup.removeAllChild();
33661
+ let y = 0;
33662
+ const height = this.colSeriesNumberHeight -
33663
+ this._parsedColSeriesNumberCellPadding[0] -
33664
+ this._parsedColSeriesNumberCellPadding[2];
33665
+ if (colSeriesNumberCellStyle.text.textBaseline === 'middle') {
33666
+ y = this._parsedColSeriesNumberCellPadding[0] + (height - colSeriesNumberCellStyle.text.fontSize) / 2;
33667
+ }
33668
+ else if (colSeriesNumberCellStyle.text.textBaseline === 'bottom') {
33669
+ y = this._parsedColSeriesNumberCellPadding[0] + height - colSeriesNumberCellStyle.text.fontSize;
33670
+ }
33671
+ else {
33672
+ y = this._parsedColSeriesNumberCellPadding[0];
33673
+ }
33674
+ let x;
33675
+ const width = (typeof colWidth === 'number' ? colWidth : 20) -
33676
+ this._parsedColSeriesNumberCellPadding[3] -
33677
+ this._parsedColSeriesNumberCellPadding[1];
33678
+ const textAlign = this.attribute.colSeriesNumberCellStyle.text.textAlign;
33679
+ const padding = this._parsedColSeriesNumberCellPadding;
33680
+ if (textAlign === 'center') {
33681
+ x = padding[3] + +width / 2;
33682
+ }
33683
+ else if (textAlign === 'right') {
33684
+ x = padding[3] + width;
33685
+ }
33686
+ else {
33687
+ x = padding[3];
33688
+ }
33689
+ for (let i = 0; i < frozenColCount; i++) {
33690
+ const cellGroup = this._frozenLeftColSeriesNumberGroup.createOrUpdateChild(`colSeriesNumberCell-${i}`, {
33691
+ x: 0,
33692
+ y: 0,
33693
+ pickable: true,
33694
+ fill: colSeriesNumberCellStyle.bgColor,
33695
+ stroke: colSeriesNumberCellStyle.borderLine.stroke,
33696
+ lineWidth: colSeriesNumberCellStyle.borderLine.lineWidth,
33697
+ width: typeof colWidth === 'number' ? colWidth : 20,
33698
+ height: this.colSeriesNumberHeight
33699
+ }, 'group');
33700
+ cellGroup.id = i;
33701
+ cellGroup.states = colSeriesNumberCellStyle.states;
33702
+ if ((_a = this.interactionState.selectIndexs) === null || _a === void 0 ? void 0 : _a.has(cellGroup.name)) {
33703
+ cellGroup.useStates([SeriesNumberCellStateValue.select]);
33704
+ }
33705
+ cellGroup.createOrUpdateChild(`colSeriesNumberCellText-${i}`, Object.assign(Object.assign({ x,
33706
+ y, dx: 0, text: generateColField(i), pickable: false }, colSeriesNumberCellStyle.text), { textBaseline: 'top' }), 'text');
33707
+ }
33708
+ this._firstColSeriesNumberIndex = Math.max(startIndex, frozenColCount) - frozenColCount;
33709
+ for (let i = this._firstColSeriesNumberIndex; i <= endIndex - frozenColCount; i++) {
33710
+ const cellGroup = this._colSeriesNumberGroup.createOrUpdateChild(`colSeriesNumberCell-${i + frozenColCount}`, {
33711
+ x: 0,
33712
+ y: 0,
33713
+ pickable: true,
33714
+ fill: colSeriesNumberCellStyle.bgColor,
33715
+ stroke: colSeriesNumberCellStyle.borderLine.stroke,
33716
+ lineWidth: colSeriesNumberCellStyle.borderLine.lineWidth,
33717
+ width: typeof colWidth === 'number' ? colWidth : 20,
33718
+ height: this.colSeriesNumberHeight
33719
+ }, 'group');
33720
+ cellGroup.id = i + frozenColCount;
33721
+ cellGroup.states = colSeriesNumberCellStyle.states;
33722
+ if ((_b = this.interactionState.selectIndexs) === null || _b === void 0 ? void 0 : _b.has(cellGroup.name)) {
33723
+ cellGroup.useStates([SeriesNumberCellStateValue.select]);
33724
+ }
33725
+ cellGroup.createOrUpdateChild(`colSeriesNumberCellText-${i + frozenColCount}`, Object.assign(Object.assign({ x,
33726
+ y, dx: 0, text: generateColField(i + frozenColCount), pickable: false }, colSeriesNumberCellStyle.text), { textBaseline: 'top' }), 'text');
33727
+ }
33728
+ }
33729
+ changeRowSeriesNumberWidth(newWidth) {
33730
+ const { rowHeight, rowCount: oldRowCount, frozenRowCount, frozenColCount: frozenLeftCol, rowSeriesNumberCellStyle } = this.attribute;
33731
+ this._cornerGroup.setAttributes({
33732
+ width: newWidth
33733
+ });
33734
+ this._frozenTopRowSeriesNumberGroup.setAttributes({
33735
+ width: newWidth
33736
+ });
33737
+ for (let i = 0; i < this._frozenTopRowSeriesNumberGroup.children.length; i++) {
33738
+ this.setRowSeriesNumberCellAttributes(i, {
33739
+ width: newWidth
33740
+ });
33741
+ }
33742
+ this._rowSeriesNumberGroup.setAttributes({
33743
+ width: newWidth
33744
+ });
33745
+ for (let i = 0; i < this._rowSeriesNumberGroup.children.length; i++) {
33746
+ this.setRowSeriesNumberCellAttributes(i + this._firstRowSeriesNumberIndex + frozenRowCount, {
33747
+ width: newWidth
33748
+ });
33749
+ }
33750
+ this._frozenLeftColSeriesNumberGroup.setAttributes({
33751
+ x: newWidth
33752
+ });
33753
+ this._colSeriesNumberGroup.setAttributes({
33754
+ x: newWidth + this._frozenLeftColSeriesNumberGroup.getAttributes().width
33755
+ });
33756
+ }
33757
+ getRowSeriesNumberCellGroup(index) {
33758
+ const { frozenRowCount } = this.getAttributes();
33759
+ if (index >= 0 && index < frozenRowCount) {
33760
+ return this._frozenTopRowSeriesNumberGroup.children[index];
33761
+ }
33762
+ const rowSeriesNumberGroup = this._rowSeriesNumberGroup;
33763
+ const rowSeriesNumberCell = rowSeriesNumberGroup.children[index - frozenRowCount - this._firstRowSeriesNumberIndex];
33764
+ return rowSeriesNumberCell;
33765
+ }
33766
+ getColSeriesNumberCellGroup(index) {
33767
+ const { frozenColCount } = this.getAttributes();
33768
+ if (index >= 0 && index < frozenColCount) {
33769
+ return this._frozenLeftColSeriesNumberGroup.children[index];
33770
+ }
33771
+ const colSeriesNumberGroup = this._colSeriesNumberGroup;
33772
+ const colSeriesNumberCell = colSeriesNumberGroup.children[index - frozenColCount - this._firstColSeriesNumberIndex];
33773
+ return colSeriesNumberCell;
33774
+ }
33775
+ getRowSeriesNumberCellAttributes(index) {
33776
+ const { frozenRowCount } = this.getAttributes();
33777
+ if (index >= 0 && index < frozenRowCount) {
33778
+ return this._frozenTopRowSeriesNumberGroup.children[index].attribute;
33779
+ }
33780
+ const rowSeriesNumberGroup = this._rowSeriesNumberGroup;
33781
+ const rowSeriesNumberCell = rowSeriesNumberGroup.children[index - frozenRowCount - this._firstRowSeriesNumberIndex];
33782
+ return rowSeriesNumberCell.attribute;
33783
+ }
33784
+ getColSeriesNumberCellAttributes(index) {
33785
+ const { frozenColCount } = this.getAttributes();
33786
+ if (index >= 0 && index < frozenColCount) {
33787
+ return this._frozenLeftColSeriesNumberGroup.children[index].attribute;
33788
+ }
33789
+ const colSeriesNumberGroup = this._colSeriesNumberGroup;
33790
+ const colSeriesNumberCell = colSeriesNumberGroup.children[index - frozenColCount - this._firstColSeriesNumberIndex];
33791
+ return colSeriesNumberCell.attribute;
33792
+ }
33793
+ setRowSeriesNumberCellAttributes(index, attributes) {
33794
+ const { frozenRowCount } = this.getAttributes();
33795
+ let targetCellGroup;
33796
+ if (index >= 0 && index < frozenRowCount) {
33797
+ const { height: oldHeight, width: oldWidth, y } = this._frozenTopRowSeriesNumberGroup.getAttributes();
33798
+ targetCellGroup = this._frozenTopRowSeriesNumberGroup.children[index];
33799
+ targetCellGroup.setAttributes(attributes);
33800
+ if (attributes.height) {
33801
+ this._frozenTopRowSeriesNumberGroup.setAttributes({
33802
+ height: this._frozenTopRowSeriesNumberGroup.getAttributes().height + (attributes.height - oldHeight)
33803
+ });
33804
+ }
33805
+ if (attributes.width) {
33806
+ this._frozenTopRowSeriesNumberGroup.setAttributes({
33807
+ width: this._frozenTopRowSeriesNumberGroup.getAttributes().width + (attributes.width - oldWidth)
33808
+ });
33809
+ }
33810
+ if (attributes.height) {
33811
+ this._rowSeriesNumberGroup.setAttributes({
33812
+ y: this._frozenTopRowSeriesNumberGroup.getAttributes().height +
33813
+ this._frozenTopRowSeriesNumberGroup.getAttributes().y
33814
+ });
33815
+ }
33816
+ }
33817
+ else {
33818
+ const rowSeriesNumberGroup = this._rowSeriesNumberGroup;
33819
+ targetCellGroup = rowSeriesNumberGroup.children[index - frozenRowCount - this._firstRowSeriesNumberIndex];
33820
+ targetCellGroup.setAttributes(attributes);
33821
+ }
33822
+ if (attributes.width) {
33823
+ let x;
33824
+ const width = attributes.width - this._parsedRowSeriesNumberCellPadding[3] - this._parsedRowSeriesNumberCellPadding[1];
33825
+ const textAlign = this.attribute.rowSeriesNumberCellStyle.text.textAlign;
33826
+ const padding = this._parsedRowSeriesNumberCellPadding;
33827
+ if (textAlign === 'center') {
33828
+ x = padding[3] + +width / 2;
33829
+ }
33830
+ else if (textAlign === 'right') {
33831
+ x = padding[3] + width;
33832
+ }
33833
+ else {
33834
+ x = padding[3];
33835
+ }
33836
+ targetCellGroup.children[0].setAttributes({
33837
+ x
33838
+ });
33839
+ }
33840
+ if (attributes.height) {
33841
+ const height = attributes.height - this._parsedRowSeriesNumberCellPadding[0] - this._parsedRowSeriesNumberCellPadding[2];
33842
+ const textBaseline = this.attribute.rowSeriesNumberCellStyle.text.textBaseline;
33843
+ const padding = this._parsedRowSeriesNumberCellPadding;
33844
+ let y;
33845
+ if (textBaseline === 'middle') {
33846
+ y = padding[0] + (height - this.attribute.rowSeriesNumberCellStyle.text.fontSize) / 2;
33847
+ }
33848
+ else if (textBaseline === 'bottom') {
33849
+ y = padding[0] + height - this.attribute.rowSeriesNumberCellStyle.text.fontSize;
33850
+ }
33851
+ else {
33852
+ y = padding[0];
33853
+ }
33854
+ targetCellGroup.children[0].setAttributes({
33855
+ y
33856
+ });
33857
+ }
33858
+ }
33859
+ setColSeriesNumberCellAttributes(index, attributes) {
33860
+ const { frozenColCount: frozenColCount } = this.getAttributes();
33861
+ let targetCellGroup;
33862
+ if (index >= 0 && index < frozenColCount) {
33863
+ targetCellGroup = this._frozenLeftColSeriesNumberGroup.children[index];
33864
+ const { height: oldHeight, width: oldWidth } = targetCellGroup.getAttributes();
33865
+ targetCellGroup.setAttributes(attributes);
33866
+ if (attributes.height) {
33867
+ this._frozenLeftColSeriesNumberGroup.setAttributes({
33868
+ height: this._frozenLeftColSeriesNumberGroup.getAttributes().height + (attributes.height - oldHeight)
33869
+ });
33870
+ }
33871
+ if (attributes.width) {
33872
+ this._frozenLeftColSeriesNumberGroup.setAttributes({
33873
+ width: this._frozenLeftColSeriesNumberGroup.getAttributes().width + (attributes.width - oldWidth)
33874
+ });
33875
+ }
33876
+ if (attributes.width) {
33877
+ this._colSeriesNumberGroup.setAttributes({
33878
+ x: this._frozenLeftColSeriesNumberGroup.getAttributes().width +
33879
+ this._frozenLeftColSeriesNumberGroup.getAttributes().x
33880
+ });
33881
+ }
33882
+ }
33883
+ else {
33884
+ const colSeriesNumberGroup = this._colSeriesNumberGroup;
33885
+ targetCellGroup = colSeriesNumberGroup.children[index - frozenColCount - this._firstColSeriesNumberIndex];
33886
+ targetCellGroup.setAttributes(attributes);
33887
+ }
33888
+ if (attributes.width) {
33889
+ let x;
33890
+ const width = attributes.width - this._parsedColSeriesNumberCellPadding[3] - this._parsedColSeriesNumberCellPadding[1];
33891
+ const textAlign = this.attribute.colSeriesNumberCellStyle.text.textAlign;
33892
+ const padding = this._parsedColSeriesNumberCellPadding;
33893
+ if (textAlign === 'center') {
33894
+ x = padding[3] + +width / 2;
33895
+ }
33896
+ else if (textAlign === 'right') {
33897
+ x = padding[3] + width;
33898
+ }
33899
+ else {
33900
+ x = padding[3];
33901
+ }
33902
+ targetCellGroup.children[0].setAttributes({
33903
+ x
33904
+ });
33905
+ }
33906
+ if (attributes.height) {
33907
+ const height = attributes.height - this._parsedColSeriesNumberCellPadding[0] - this._parsedColSeriesNumberCellPadding[2];
33908
+ const textBaseline = this.attribute.colSeriesNumberCellStyle.text.textBaseline;
33909
+ const padding = this._parsedColSeriesNumberCellPadding;
33910
+ let y;
33911
+ if (textBaseline === 'middle') {
33912
+ y = padding[0] + (height - this.attribute.colSeriesNumberCellStyle.text.fontSize) / 2;
33913
+ }
33914
+ else if (textBaseline === 'bottom') {
33915
+ y = padding[0] + height - this.attribute.colSeriesNumberCellStyle.text.fontSize;
33916
+ }
33917
+ else {
33918
+ y = padding[0];
33919
+ }
33920
+ targetCellGroup.children[0].setAttributes({
33921
+ y
33922
+ });
33923
+ }
33924
+ }
33925
+ setRowSeriesNumberGroupAttributes(attributes) {
33926
+ this._rowSeriesNumberGroup.setAttributes(attributes);
33927
+ }
33928
+ setColSeriesNumberGroupAttributes(attributes) {
33929
+ this._colSeriesNumberGroup.setAttributes(attributes);
33930
+ }
33931
+ addSelectedIndex(isRow, index) {
33932
+ let name;
33933
+ if (isRow) {
33934
+ name = `rowSeriesNumberCell-${index}`;
33935
+ }
33936
+ else {
33937
+ name = `colSeriesNumberCell-${index}`;
33938
+ }
33939
+ this.interactionState.selectIndexs.add(name);
33940
+ }
33941
+ addRowSelectedRanges(ranges) {
33942
+ performance.now();
33943
+ for (let i = 0; i < ranges.length; i++) {
33944
+ const { startIndex, endIndex } = ranges[i];
33945
+ for (let j = startIndex; j <= endIndex; j++) {
33946
+ const name = `rowSeriesNumberCell-${j}`;
33947
+ this.interactionState.selectIndexs.add(name);
33948
+ }
33949
+ }
33950
+ performance.now();
33951
+ }
33952
+ addColSelectedRanges(ranges) {
33953
+ for (let i = 0; i < ranges.length; i++) {
33954
+ const { startIndex, endIndex } = ranges[i];
33955
+ for (let j = startIndex; j <= endIndex; j++) {
33956
+ const name = `colSeriesNumberCell-${j}`;
33957
+ this.interactionState.selectIndexs.add(name);
33958
+ }
33959
+ }
33960
+ }
33961
+ addCornderSelected() {
33962
+ this.interactionState.selectIndexs.add(this._cornerGroup.name);
33963
+ }
33964
+ resetAllSelectedIndexs({ rowIndexs, colIndexs }) {
33965
+ this.interactionState.selectIndexs = new Set();
33966
+ if (rowIndexs) {
33967
+ for (let i = 0; i < rowIndexs.length; i++) {
33968
+ const name = `rowSeriesNumberCell-${rowIndexs[i]}`;
33969
+ this.interactionState.selectIndexs.add(name);
33970
+ }
33971
+ }
33972
+ if (colIndexs) {
33973
+ for (let i = 0; i < colIndexs.length; i++) {
33974
+ const name = `colSeriesNumberCell-${colIndexs[i]}`;
33975
+ this.interactionState.selectIndexs.add(name);
33976
+ }
33977
+ }
33978
+ }
33979
+ removeSelectedIndex(isRow, index) {
33980
+ let name;
33981
+ if (isRow) {
33982
+ name = `rowSeriesNumberLeftCell-${index}`;
33983
+ }
33984
+ else {
33985
+ name = `colSeriesNumberCell-${index}`;
33986
+ }
33987
+ this.interactionState.selectIndexs.delete(name);
33988
+ }
33989
+ removeAllSelectedIndexs() {
33990
+ var _a, _b;
33991
+ for (const name of this.interactionState.selectIndexs) {
33992
+ const isRow = name.startsWith('row');
33993
+ const isCol = name.startsWith('col');
33994
+ const index = Number(name.split('-')[1]);
33995
+ if (isRow) {
33996
+ (_a = this.getRowSeriesNumberCellGroup(index)) === null || _a === void 0 ? void 0 : _a.removeState(SeriesNumberCellStateValue.select);
33997
+ }
33998
+ else if (isCol) {
33999
+ (_b = this.getColSeriesNumberCellGroup(index)) === null || _b === void 0 ? void 0 : _b.removeState(SeriesNumberCellStateValue.select);
34000
+ }
34001
+ else {
34002
+ this._cornerGroup.removeState(SeriesNumberCellStateValue.select);
34003
+ }
34004
+ }
34005
+ this.interactionState.selectIndexs.clear();
34006
+ }
34007
+ removeOneGroupSelected(group) {
34008
+ this.interactionState.selectIndexs.delete(group.name);
34009
+ group.removeState(SeriesNumberCellStateValue.select);
34010
+ }
34011
+ addOneGroupSelected(group) {
34012
+ this.interactionState.selectIndexs.add(group.name);
34013
+ group.useStates([SeriesNumberCellStateValue.select]);
34014
+ }
34015
+ renderSelectedIndexsState() {
34016
+ var _a, _b;
34017
+ this.attribute;
34018
+ for (const name of this.interactionState.selectIndexs) {
34019
+ const isRow = name.startsWith('row');
34020
+ const isCol = name.startsWith('col');
34021
+ const index = Number(name.split('-')[1]);
34022
+ if (isRow) {
34023
+ (_a = this.getRowSeriesNumberCellGroup(index)) === null || _a === void 0 ? void 0 : _a.useStates([SeriesNumberCellStateValue.select]);
34024
+ }
34025
+ else if (isCol) {
34026
+ (_b = this.getColSeriesNumberCellGroup(index)) === null || _b === void 0 ? void 0 : _b.useStates([SeriesNumberCellStateValue.select]);
34027
+ }
34028
+ else {
34029
+ this._cornerGroup.useStates([SeriesNumberCellStateValue.select]);
34030
+ }
34031
+ }
34032
+ this.stage.render();
34033
+ }
34034
+ }
34035
+ TableSeriesNumber.defaultAttributes = {
34036
+ frozenRowCount: 0,
34037
+ frozenColCount: 0,
34038
+ rightFrozenColCount: 0,
34039
+ bottomFrozenRowCount: 0,
34040
+ pickable: false,
34041
+ rowCount: 100,
34042
+ colCount: 100,
34043
+ rowHeight: 20,
34044
+ colWidth: 50,
34045
+ rowSeriesNumberWidth: 30,
34046
+ colSeriesNumberHeight: 30,
34047
+ rowSeriesNumberCellStyle: {
34048
+ text: {
34049
+ fontSize: 14,
34050
+ fill: '#7A7A7A',
34051
+ pickable: false,
34052
+ textAlign: 'left',
34053
+ textBaseline: 'middle',
34054
+ padding: [2, 4, 2, 4]
34055
+ },
34056
+ borderLine: {
34057
+ stroke: '#D9D9D9',
34058
+ lineWidth: 1,
34059
+ pickable: false
34060
+ },
34061
+ bgColor: '#F9F9F9',
34062
+ states: {
34063
+ hover: {
34064
+ fill: '#98C8A5',
34065
+ opacity: 0.7
34066
+ },
34067
+ select: {
34068
+ fill: 'yellow',
34069
+ opacity: 0.7
34070
+ }
34071
+ }
34072
+ },
34073
+ colSeriesNumberCellStyle: {
34074
+ text: {
34075
+ fontSize: 14,
34076
+ fill: '#7A7A7A',
34077
+ pickable: false,
34078
+ textAlign: 'left',
34079
+ textBaseline: 'middle',
34080
+ padding: [2, 4, 2, 4]
34081
+ },
34082
+ borderLine: {
34083
+ stroke: '#D9D9D9',
34084
+ lineWidth: 1,
34085
+ pickable: false
34086
+ },
34087
+ bgColor: '#F9F9F9',
34088
+ states: {
34089
+ hover: {
34090
+ fill: '#98C8A5',
34091
+ opacity: 0.7
34092
+ },
34093
+ select: {
34094
+ fill: 'orange',
34095
+ opacity: 0.7
34096
+ }
34097
+ }
34098
+ },
34099
+ cornerCellStyle: {
34100
+ borderLine: {
34101
+ stroke: '#D9D9D9',
34102
+ lineWidth: 1,
34103
+ pickable: false
34104
+ },
34105
+ bgColor: '#F9F9F9',
34106
+ states: {
34107
+ hover: {
34108
+ fill: '#98C8A5',
34109
+ opacity: 0.7
34110
+ },
34111
+ select: {
34112
+ fill: '#98C8A5',
34113
+ opacity: 0.7
34114
+ }
34115
+ }
34116
+ },
34117
+ hover: true,
34118
+ select: true
34119
+ };
34120
+
34121
+ const version = "1.0.9-alpha.2";
33131
34122
 
33132
- export { AXIS_ELEMENT_NAME, AbstractComponent, ArcInfo, ArcLabel, ArcSegment, AxisStateValue, BasePlayer, Brush, CheckBox, CircleAxis, CircleAxisGrid, CircleCrosshair, ColorContinuousLegend, ContinuousPlayer, DEFAULT_ITEM_SPACE_COL, DEFAULT_ITEM_SPACE_ROW, DEFAULT_LABEL_SPACE, DEFAULT_PAGER_SPACE, DEFAULT_SHAPE_SIZE, DEFAULT_SHAPE_SPACE, DEFAULT_STATES$1 as DEFAULT_STATES, DEFAULT_TITLE_SPACE, DEFAULT_VALUE_SPACE, DataLabel, DataZoom, DataZoomActiveTag, DirectionEnum, DiscreteLegend, DiscretePlayer, EmptyTip, GroupTransition, IMarkAreaLabelPosition, IMarkCommonArcLabelPosition, IMarkLineLabelPosition, IMarkPointItemPosition, IOperateType, Indicator, LEGEND_ELEMENT_NAME, LabelBase, LegendEvent, LegendStateValue, LineAxis, LineAxisGrid, LineCrosshair, LineLabel, LinkPath, MarkArcArea, MarkArcLine, MarkArea, MarkLine, MarkPoint, Pager, PlayerEventEnum, PolygonCrosshair, PolygonSectorCrosshair, PopTip, Radio, RectCrosshair, RectLabel, SLIDER_ELEMENT_NAME, ScrollBar, SectorCrosshair, Segment, SizeContinuousLegend, Slider, StoryLabelItem, Switch, SymbolLabel, Tag, Timeline, Title, Tooltip, TopZIndex, VTag, WeatherBox, alignTextInLine, angle, angleLabelOrientAttribute, angleTo, cartesianTicks, clampRadian, computeOffsetForlimit, continuousTicks, contrastAccessibilityChecker, convertDomainToTickData, createTextGraphicByType, deltaXYToAngle, fuzzyEqualNumber, getAxisBreakSymbolAttrs, getCircleLabelPosition, getCirclePoints, getCircleVerticalVector, getElMap, getHorizontalPath, getMarksByName, getNoneGroupMarksByName, getPolarAngleLabelPosition, getPolygonPath, getSizeHandlerPath, getTextAlignAttrOfVerticalDir, getTextType, getVerticalCoord, getVerticalPath, hasOverlap, htmlAttributeTransform, initTextMeasure, isInRange, isPostiveXAxis, isRichText, isVisible, labelSmartInvert, length, limitShapeInBounds, linearDiscreteTicks, loadPoptip, loadScrollbar, measureTextSize, normalize, polarAngleAxisDiscreteTicks, polarTicks, reactAttributeTransform, registerArcDataLabel, registerLineDataLabel, registerMarkArcAreaAnimate, registerMarkArcLineAnimate, registerMarkAreaAnimate, registerMarkLineAnimate, registerMarkPointAnimate, registerRectDataLabel, registerSymbolDataLabel, removeRepeatPoint, richTextAttributeTransform, scale, scrollbarModule, setPoptipTheme, smartInvertStrategy, tan2AngleToAngle, textIntersect, ticks, traverseGroup, version };
34123
+ export { AXIS_ELEMENT_NAME, AbstractComponent, ArcInfo, ArcLabel, ArcSegment, AxisStateValue, BasePlayer, Brush, CheckBox, CircleAxis, CircleAxisGrid, CircleCrosshair, ColorContinuousLegend, ContinuousPlayer, DEFAULT_ITEM_SPACE_COL, DEFAULT_ITEM_SPACE_ROW, DEFAULT_LABEL_SPACE, DEFAULT_PAGER_SPACE, DEFAULT_SHAPE_SIZE, DEFAULT_SHAPE_SPACE, DEFAULT_STATES$1 as DEFAULT_STATES, DEFAULT_TITLE_SPACE, DEFAULT_VALUE_SPACE, DataLabel, DataZoom, DataZoomActiveTag, DirectionEnum, DiscreteLegend, DiscretePlayer, EmptyTip, GroupTransition, IMarkAreaLabelPosition, IMarkCommonArcLabelPosition, IMarkLineLabelPosition, IMarkPointItemPosition, IOperateType, Indicator, LEGEND_ELEMENT_NAME, LabelBase, LegendEvent, LegendStateValue, LineAxis, LineAxisGrid, LineCrosshair, LineLabel, LinkPath, MarkArcArea, MarkArcLine, MarkArea, MarkLine, MarkPoint, Pager, PlayerEventEnum, PolygonCrosshair, PolygonSectorCrosshair, PopTip, Radio, RectCrosshair, RectLabel, SLIDER_ELEMENT_NAME, ScrollBar, SectorCrosshair, Segment, SeriesNumberCellStateValue, SeriesNumberEvent, SizeContinuousLegend, Slider, StoryLabelItem, Switch, SymbolLabel, TableSeriesNumber, Tag, Timeline, Title, Tooltip, TopZIndex, VTag, WeatherBox, alignTextInLine, angle, angleLabelOrientAttribute, angleTo, cartesianTicks, clampRadian, computeOffsetForlimit, continuousTicks, contrastAccessibilityChecker, convertDomainToTickData, createTextGraphicByType, deltaXYToAngle, fuzzyEqualNumber, getAxisBreakSymbolAttrs, getCircleLabelPosition, getCirclePoints, getCircleVerticalVector, getElMap, getHorizontalPath, getMarksByName, getNoneGroupMarksByName, getPolarAngleLabelPosition, getPolygonPath, getSizeHandlerPath, getTextAlignAttrOfVerticalDir, getTextType, getVerticalCoord, getVerticalPath, hasOverlap, htmlAttributeTransform, initTextMeasure, isInRange, isPostiveXAxis, isRichText, isVisible, labelSmartInvert, length, limitShapeInBounds, linearDiscreteTicks, loadPoptip, loadScrollbar, measureTextSize, normalize, polarAngleAxisDiscreteTicks, polarTicks, reactAttributeTransform, registerArcDataLabel, registerLineDataLabel, registerMarkArcAreaAnimate, registerMarkArcLineAnimate, registerMarkAreaAnimate, registerMarkLineAnimate, registerMarkPointAnimate, registerRectDataLabel, registerSymbolDataLabel, removeRepeatPoint, richTextAttributeTransform, scale, scrollbarModule, setPoptipTheme, smartInvertStrategy, tan2AngleToAngle, textIntersect, ticks, traverseGroup, version };