@visactor/vtable 1.19.1-alpha.1 → 1.19.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 (109) hide show
  1. package/cjs/ListTable.js +1 -1
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotTable.js +4 -0
  4. package/cjs/PivotTable.js.map +1 -1
  5. package/cjs/core/BaseTable.d.ts +1 -0
  6. package/cjs/core/BaseTable.js +40 -7
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/core/animation.js +1 -1
  9. package/cjs/core/animation.js.map +1 -1
  10. package/cjs/data/DataSource.js +14 -5
  11. package/cjs/data/DataSource.js.map +1 -1
  12. package/cjs/dataset/dataset.d.ts +1 -0
  13. package/cjs/dataset/dataset.js +66 -2
  14. package/cjs/dataset/dataset.js.map +1 -1
  15. package/cjs/edit/edit-manager.js +8 -5
  16. package/cjs/edit/edit-manager.js.map +1 -1
  17. package/cjs/event/listener/table-group.js +2 -2
  18. package/cjs/event/listener/table-group.js.map +1 -1
  19. package/cjs/index.d.ts +2 -1
  20. package/cjs/index.js +11 -2
  21. package/cjs/index.js.map +1 -1
  22. package/cjs/layout/pivot-header-layout.d.ts +1 -0
  23. package/cjs/layout/pivot-header-layout.js +7 -0
  24. package/cjs/layout/pivot-header-layout.js.map +1 -1
  25. package/cjs/layout/row-height-map.js +10 -3
  26. package/cjs/layout/row-height-map.js.map +1 -1
  27. package/cjs/layout/simple-header-layout.d.ts +2 -0
  28. package/cjs/layout/simple-header-layout.js +25 -9
  29. package/cjs/layout/simple-header-layout.js.map +1 -1
  30. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +4 -2
  31. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  32. package/cjs/scenegraph/graphic/icon.d.ts +1 -0
  33. package/cjs/scenegraph/graphic/icon.js +30 -2
  34. package/cjs/scenegraph/graphic/icon.js.map +1 -1
  35. package/cjs/scenegraph/group-creater/cell-helper.js +4 -4
  36. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  37. package/cjs/scenegraph/group-creater/column-helper.js +1 -1
  38. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  39. package/cjs/scenegraph/layout/compute-col-width.js +11 -1
  40. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  41. package/cjs/tools/env.d.ts +1 -0
  42. package/cjs/tools/env.js +13 -2
  43. package/cjs/tools/env.js.map +1 -1
  44. package/cjs/ts-types/base-table.d.ts +1 -0
  45. package/cjs/ts-types/base-table.js.map +1 -1
  46. package/cjs/ts-types/dataset/aggregation.d.ts +8 -6
  47. package/cjs/ts-types/dataset/aggregation.js +109 -54
  48. package/cjs/ts-types/dataset/aggregation.js.map +1 -1
  49. package/cjs/ts-types/list-table/define/basic-define.d.ts +1 -0
  50. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  51. package/cjs/ts-types/new-data-set.d.ts +1 -0
  52. package/cjs/ts-types/new-data-set.js.map +1 -1
  53. package/cjs/vrender.js.map +1 -1
  54. package/dist/vtable.js +988 -420
  55. package/dist/vtable.min.js +2 -2
  56. package/es/ListTable.js +1 -1
  57. package/es/ListTable.js.map +1 -1
  58. package/es/PivotTable.js +4 -0
  59. package/es/PivotTable.js.map +1 -1
  60. package/es/core/BaseTable.d.ts +1 -0
  61. package/es/core/BaseTable.js +40 -7
  62. package/es/core/BaseTable.js.map +1 -1
  63. package/es/core/animation.js +1 -1
  64. package/es/core/animation.js.map +1 -1
  65. package/es/data/DataSource.js +14 -5
  66. package/es/data/DataSource.js.map +1 -1
  67. package/es/dataset/dataset.d.ts +1 -0
  68. package/es/dataset/dataset.js +66 -2
  69. package/es/dataset/dataset.js.map +1 -1
  70. package/es/edit/edit-manager.js +8 -5
  71. package/es/edit/edit-manager.js.map +1 -1
  72. package/es/event/listener/table-group.js +3 -1
  73. package/es/event/listener/table-group.js.map +1 -1
  74. package/es/index.d.ts +2 -1
  75. package/es/index.js +3 -1
  76. package/es/index.js.map +1 -1
  77. package/es/layout/pivot-header-layout.d.ts +1 -0
  78. package/es/layout/pivot-header-layout.js +7 -0
  79. package/es/layout/pivot-header-layout.js.map +1 -1
  80. package/es/layout/row-height-map.js +10 -3
  81. package/es/layout/row-height-map.js.map +1 -1
  82. package/es/layout/simple-header-layout.d.ts +2 -0
  83. package/es/layout/simple-header-layout.js +25 -9
  84. package/es/layout/simple-header-layout.js.map +1 -1
  85. package/es/scenegraph/graphic/contributions/group-contribution-render.js +4 -2
  86. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  87. package/es/scenegraph/graphic/icon.d.ts +1 -0
  88. package/es/scenegraph/graphic/icon.js +6 -1
  89. package/es/scenegraph/graphic/icon.js.map +1 -1
  90. package/es/scenegraph/group-creater/cell-helper.js +4 -4
  91. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  92. package/es/scenegraph/group-creater/column-helper.js +1 -1
  93. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  94. package/es/scenegraph/layout/compute-col-width.js +11 -1
  95. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  96. package/es/tools/env.d.ts +1 -0
  97. package/es/tools/env.js +11 -0
  98. package/es/tools/env.js.map +1 -1
  99. package/es/ts-types/base-table.d.ts +1 -0
  100. package/es/ts-types/base-table.js.map +1 -1
  101. package/es/ts-types/dataset/aggregation.d.ts +8 -6
  102. package/es/ts-types/dataset/aggregation.js +109 -54
  103. package/es/ts-types/dataset/aggregation.js.map +1 -1
  104. package/es/ts-types/list-table/define/basic-define.d.ts +1 -0
  105. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  106. package/es/ts-types/new-data-set.d.ts +1 -0
  107. package/es/ts-types/new-data-set.js.map +1 -1
  108. package/es/vrender.js.map +1 -1
  109. package/package.json +9 -9
package/dist/vtable.js CHANGED
@@ -9290,9 +9290,9 @@
9290
9290
  setWidthHeightWithoutTransform(aabbBounds) {
9291
9291
  this.widthWithoutTransform = aabbBounds.x2 - aabbBounds.x1, this.heightWithoutTransform = aabbBounds.y2 - aabbBounds.y1;
9292
9292
  }
9293
- setAttributesAndPreventAnimate(params, forceUpdateTag = !1, context) {
9293
+ setAttributesAndPreventAnimate(params, forceUpdateTag = !1, context, ignorePriority) {
9294
9294
  this.setAttributes(params, forceUpdateTag, context), this.animates && this.animates.forEach(animate => {
9295
- Object.keys(params).forEach(key => {
9295
+ (animate.priority !== 1 / 0 || ignorePriority) && Object.keys(params).forEach(key => {
9296
9296
  animate.preventAttr(key);
9297
9297
  });
9298
9298
  });
@@ -9463,7 +9463,7 @@
9463
9463
  });
9464
9464
  } else this.stopStateAnimates(), this.setAttributesAndPreventAnimate(attrs, !1, {
9465
9465
  type: AttributeUpdateType.STATE
9466
- });
9466
+ }), this.finalAttribute && Object.assign(this.finalAttribute, attrs);
9467
9467
  this._emitCustomEvent("afterStateUpdate", {
9468
9468
  type: AttributeUpdateType.STATE
9469
9469
  });
@@ -23693,7 +23693,7 @@
23693
23693
  return this._animateCount;
23694
23694
  }
23695
23695
  constructor() {
23696
- super(), this.head = null, this.tail = null, this.animateMap = new Map(), this._animateCount = 0, this._playSpeed = 1, this._totalDuration = 0, this._startTime = 0, this._currentTime = 0, this.id = Generator.GenAutoIncrementId(), this.paused = !1;
23696
+ super(), this.head = null, this.tail = null, this.animateMap = new Map(), this._animateCount = 0, this._playSpeed = 1, this._totalDuration = 0, this._startTime = 0, this._currentTime = 0, this._animationEndFlag = !0, this.id = Generator.GenAutoIncrementId(), this.paused = !1;
23697
23697
  }
23698
23698
  isRunning() {
23699
23699
  return !this.paused && this._animateCount > 0;
@@ -23722,10 +23722,11 @@
23722
23722
  }
23723
23723
  tick(delta) {
23724
23724
  if (this.paused) return;
23725
+ this._animationEndFlag && (this._animationEndFlag = !1, this.emit("animationStart"));
23725
23726
  const scaledDelta = delta * this._playSpeed;
23726
23727
  this._currentTime += scaledDelta, this.forEachAccessAnimate((animate, i) => {
23727
23728
  animate.status === AnimateStatus.END ? this.removeAnimate(animate, !0) : animate.status !== AnimateStatus.RUNNING && animate.status !== AnimateStatus.INITIAL || animate.advance(scaledDelta);
23728
- }), 0 === this._animateCount && this.emit("animationEnd");
23729
+ }), 0 === this._animateCount && (this._animationEndFlag = !0, this.emit("animationEnd"));
23729
23730
  }
23730
23731
  clear() {
23731
23732
  this.forEachAccessAnimate(animate => {
@@ -23789,7 +23790,9 @@
23789
23790
  return this._timeline;
23790
23791
  }
23791
23792
  bind(target) {
23792
- return this.target = target, this.target.onAnimateBind && !this.slience && this.target.onAnimateBind(this), this.target.animationAttribute || (this.target.animationAttribute = {}), this;
23793
+ return this.target = target, this.target.animates || (this.target.animates = new Map()), this.target.animates.set(this.id, this), this.onRemove(() => {
23794
+ this.stop(), this.target.animates.delete(this.id);
23795
+ }), this.target.onAnimateBind && !this.slience && this.target.onAnimateBind(this), this.target.animationAttribute || (this.target.animationAttribute = {}), this;
23793
23796
  }
23794
23797
  to(props, duration = 300, easing = "linear") {
23795
23798
  const step = new Step(AnimateStepType.to, props, duration, easing);
@@ -24003,8 +24006,8 @@
24003
24006
  }
24004
24007
  init() {
24005
24008
  this.interval = 16, this.status = STATUS$1.INITIAL, application.global.hooks.onSetEnv.tap("graph-ticker", () => {
24006
- this.initHandler();
24007
- }), application.global.env && this.initHandler();
24009
+ this.initHandler(!1);
24010
+ }), application.global.env && this.initHandler(!1);
24008
24011
  }
24009
24012
  addTimeline(timeline) {
24010
24013
  this.timelines.push(timeline);
@@ -24015,10 +24018,11 @@
24015
24018
  getTimelines() {
24016
24019
  return this.timelines;
24017
24020
  }
24018
- initHandler() {
24019
- this.setupTickHandler();
24021
+ initHandler(force = !1) {
24022
+ this.setupTickHandler(force);
24020
24023
  }
24021
- setupTickHandler() {
24024
+ setupTickHandler(force = !1) {
24025
+ if (!force && this.tickerHandler) return !0;
24022
24026
  const handler = new RAFTickHandler();
24023
24027
  return this.tickerHandler && this.tickerHandler.release(), this.tickerHandler = handler, !0;
24024
24028
  }
@@ -24069,7 +24073,7 @@
24069
24073
  return this.status = STATUS$1.RUNNING, this.tickerHandler.tick(0, this.handleTick), !0;
24070
24074
  }
24071
24075
  stop() {
24072
- this.status = STATUS$1.INITIAL, this.setupTickHandler(), this.lastFrameTime = -1;
24076
+ this.status = STATUS$1.INITIAL, this.setupTickHandler(!0), this.lastFrameTime = -1;
24073
24077
  }
24074
24078
  trySyncTickStatus() {
24075
24079
  this.status === STATUS$1.INITIAL && this.timelines.some(timeline => timeline.isRunning()) ? this.start() : this.status === STATUS$1.RUNNING && this.timelines.every(timeline => !timeline.isRunning()) && this.stop();
@@ -24079,7 +24083,8 @@
24079
24083
  this.stop(), this.timelines = [], null === (_a = this.tickerHandler) || void 0 === _a || _a.release(), this.tickerHandler = null, this.lastFrameTime = -1;
24080
24084
  }
24081
24085
  checkSkip(delta) {
24082
- if ("performance" === this.stage.params.optimize.tickRenderMode) return !1;
24086
+ var _a, _b, _c;
24087
+ if ("performance" === (null === (_c = null === (_b = null === (_a = this.stage) || void 0 === _a ? void 0 : _a.params) || void 0 === _b ? void 0 : _b.optimize) || void 0 === _c ? void 0 : _c.tickRenderMode)) return !1;
24083
24088
  return delta < this.interval + 2 * (Math.random() - .5) * this._jitter;
24084
24089
  }
24085
24090
  }
@@ -24233,10 +24238,11 @@
24233
24238
  _handleRunAnimate(animate, custom, customType, from, props, duration, easing, customParameters, controlOptions, options, type, graphic) {
24234
24239
  var _a, _b, _c, _d;
24235
24240
  if (custom && customType) {
24236
- const customParams = this.resolveValue(customParameters, graphic, {
24241
+ const customParams = Object.assign({
24237
24242
  width: graphic.stage.width,
24238
- height: graphic.stage.height
24239
- }),
24243
+ height: graphic.stage.height,
24244
+ group: this._target.parent
24245
+ }, this.resolveValue(customParameters, graphic)),
24240
24246
  objOptions = isFunction$7(options) ? options.call(null, null !== (_b = customParams && (null === (_a = customParams.data) || void 0 === _a ? void 0 : _a[0])) && void 0 !== _b ? _b : null === (_d = null === (_c = graphic.context) || void 0 === _c ? void 0 : _c.data) || void 0 === _d ? void 0 : _d[0], graphic, customParams) : options;
24241
24247
  customParams.options = objOptions, customParams.controlOptions = controlOptions, 1 === customType ? this.createCustomAnimation(animate, custom, from, props, duration, easing, customParams) : 2 === customType && this.createCustomInterpolatorAnimation(animate, custom, props, duration, easing, customParams);
24242
24248
  } else "to" === type ? animate.to(props, duration, easing) : "from" === type && animate.from(props, duration, easing);
@@ -24347,7 +24353,7 @@
24347
24353
 
24348
24354
  class ACustomAnimate extends Step {
24349
24355
  constructor(customFrom, customTo, duration, easing, params) {
24350
- super("customAnimate", customTo, duration, easing), this.type = "customAnimate", this.customFrom = customFrom, this.params = params;
24356
+ super("customAnimate", customTo, duration, easing), this.type = "customAnimate", this.customFrom = customFrom, this.params = params, this.from = customFrom, this.to = customTo;
24351
24357
  }
24352
24358
  update(end, ratio, out) {
24353
24359
  if (this.onStart(), !this.props || !this.propKeys) return;
@@ -29064,6 +29070,8 @@
29064
29070
  key;
29065
29071
  field;
29066
29072
  formatFun;
29073
+ changedValue;
29074
+ children = [];
29067
29075
  _formatedValue;
29068
29076
  constructor(config) {
29069
29077
  this.key = config.key;
@@ -29087,6 +29095,8 @@
29087
29095
  }
29088
29096
  reset() {
29089
29097
  this.records = [];
29098
+ this.changedValue = undefined;
29099
+ this.children = [];
29090
29100
  this.clearCacheValue();
29091
29101
  }
29092
29102
  }
@@ -29102,6 +29112,9 @@
29102
29112
  this.records.push(record);
29103
29113
  }
29104
29114
  }
29115
+ if (record.isAggregator && this.children) {
29116
+ this.children.push(record);
29117
+ }
29105
29118
  this.clearCacheValue();
29106
29119
  }
29107
29120
  deleteRecord(record) {
@@ -29109,6 +29122,9 @@
29109
29122
  if (this.isRecord && this.records) {
29110
29123
  this.records = this.records.filter(item => item !== record);
29111
29124
  }
29125
+ if (record.isAggregator && this.children) {
29126
+ this.children = this.children.filter(item => item !== record);
29127
+ }
29112
29128
  }
29113
29129
  this.clearCacheValue();
29114
29130
  }
@@ -29122,13 +29138,23 @@
29122
29138
  return item;
29123
29139
  });
29124
29140
  }
29141
+ if (oldRecord.isAggregator && newRecord.isAggregator && this.children) {
29142
+ this.children = this.children.map(item => {
29143
+ if (item === oldRecord) {
29144
+ return newRecord;
29145
+ }
29146
+ return item;
29147
+ });
29148
+ }
29125
29149
  this.clearCacheValue();
29126
29150
  }
29127
29151
  }
29128
29152
  value() {
29129
- return this.records;
29153
+ return this.changedValue ?? this.records;
29130
29154
  }
29131
29155
  reset() {
29156
+ this.children = [];
29157
+ this.changedValue = undefined;
29132
29158
  this.records = [];
29133
29159
  }
29134
29160
  recalculate() {
@@ -29143,6 +29169,9 @@
29143
29169
  if (this.isRecord) {
29144
29170
  this.records = [record];
29145
29171
  }
29172
+ if (record.isAggregator && this.children) {
29173
+ this.children = [record];
29174
+ }
29146
29175
  if (this.field) {
29147
29176
  this.fieldValue = record[this.field];
29148
29177
  }
@@ -29154,6 +29183,9 @@
29154
29183
  if (this.isRecord && this.records) {
29155
29184
  this.records = this.records.filter(item => item !== record);
29156
29185
  }
29186
+ if (record.isAggregator && this.children) {
29187
+ this.children = this.children.filter(item => item !== record);
29188
+ }
29157
29189
  if (this.field && this.records.length) {
29158
29190
  this.fieldValue = this.records[this.records.length - 1][this.field];
29159
29191
  }
@@ -29170,6 +29202,14 @@
29170
29202
  return item;
29171
29203
  });
29172
29204
  }
29205
+ if (oldRecord.isAggregator && newRecord.isAggregator && this.children) {
29206
+ this.children = this.children.map(item => {
29207
+ if (item === oldRecord) {
29208
+ return newRecord;
29209
+ }
29210
+ return item;
29211
+ });
29212
+ }
29173
29213
  if (this.field && this.records.length) {
29174
29214
  this.fieldValue = this.records[this.records.length - 1][this.field];
29175
29215
  }
@@ -29177,9 +29217,11 @@
29177
29217
  }
29178
29218
  }
29179
29219
  value() {
29180
- return this.fieldValue;
29220
+ return this.changedValue ?? this.fieldValue;
29181
29221
  }
29182
29222
  reset() {
29223
+ this.children = [];
29224
+ this.changedValue = undefined;
29183
29225
  this.records = [];
29184
29226
  this.fieldValue = undefined;
29185
29227
  }
@@ -29206,6 +29248,9 @@
29206
29248
  this.records.push(record);
29207
29249
  }
29208
29250
  }
29251
+ if (record.isAggregator && this.children) {
29252
+ this.children.push(record);
29253
+ }
29209
29254
  if (this.field) {
29210
29255
  this.values.push(record[this.field]);
29211
29256
  }
@@ -29222,6 +29267,14 @@
29222
29267
  return item;
29223
29268
  });
29224
29269
  }
29270
+ if (oldRecord.isAggregator && newRecord.isAggregator && this.children) {
29271
+ this.children = this.children.map(item => {
29272
+ if (item === oldRecord) {
29273
+ return newRecord;
29274
+ }
29275
+ return item;
29276
+ });
29277
+ }
29225
29278
  if (this.field && this.records.length) {
29226
29279
  this.values = this.records.map(item => item[this.field]);
29227
29280
  }
@@ -29233,6 +29286,9 @@
29233
29286
  if (this.isRecord && this.records) {
29234
29287
  this.records = this.records.filter(item => item !== record);
29235
29288
  }
29289
+ if (record.isAggregator && this.children) {
29290
+ this.children = this.children.filter(item => item !== record);
29291
+ }
29236
29292
  if (this.field && this.records.length) {
29237
29293
  this.values = this.records.map(item => item[this.field]);
29238
29294
  }
@@ -29243,10 +29299,12 @@
29243
29299
  if (!this.fieldValue) {
29244
29300
  this.fieldValue = this.aggregationFun?.(this.values, this.records, this.field);
29245
29301
  }
29246
- return this.fieldValue;
29302
+ return this.changedValue ?? this.fieldValue;
29247
29303
  }
29248
29304
  reset() {
29249
29305
  this.records = [];
29306
+ this.children = [];
29307
+ this.changedValue = undefined;
29250
29308
  this.fieldValue = undefined;
29251
29309
  }
29252
29310
  recalculate() {
@@ -29276,6 +29334,9 @@
29276
29334
  this.records.push(record);
29277
29335
  }
29278
29336
  }
29337
+ if (this.children && record.isAggregator) {
29338
+ this.children.push(record);
29339
+ }
29279
29340
  this.clearCacheValue();
29280
29341
  }
29281
29342
  deleteRecord(record) {
@@ -29283,6 +29344,9 @@
29283
29344
  if (this.isRecord && this.records) {
29284
29345
  this.records = this.records.filter(item => item !== record);
29285
29346
  }
29347
+ if (record.isAggregator && this.children) {
29348
+ this.children = this.children.filter(item => item !== record);
29349
+ }
29286
29350
  }
29287
29351
  this.clearCacheValue();
29288
29352
  }
@@ -29296,6 +29360,14 @@
29296
29360
  return item;
29297
29361
  });
29298
29362
  }
29363
+ if (oldRecord.isAggregator && newRecord.isAggregator && this.children) {
29364
+ this.children = this.children.map(item => {
29365
+ if (item === oldRecord) {
29366
+ return newRecord;
29367
+ }
29368
+ return item;
29369
+ });
29370
+ }
29299
29371
  this.clearCacheValue();
29300
29372
  }
29301
29373
  }
@@ -29304,10 +29376,12 @@
29304
29376
  const aggregatorValue = _getDependAggregatorValues(this.dependAggregators, this.dependIndicatorKeys);
29305
29377
  this.fieldValue = this.calculateFun?.(aggregatorValue, this.records, this.field);
29306
29378
  }
29307
- return this.fieldValue;
29379
+ return this.changedValue ?? this.fieldValue;
29308
29380
  }
29309
29381
  reset() {
29310
29382
  this.records = [];
29383
+ this.children = [];
29384
+ this.changedValue = undefined;
29311
29385
  this.fieldValue = undefined;
29312
29386
  }
29313
29387
  recalculate() {
@@ -29333,7 +29407,8 @@
29333
29407
  this.records.push(record);
29334
29408
  }
29335
29409
  }
29336
- if (record.isAggregator) {
29410
+ if (record.isAggregator && this.children) {
29411
+ this.children.push(record);
29337
29412
  const value = record.value();
29338
29413
  this.sum += value ?? 0;
29339
29414
  if (this.needSplitPositiveAndNegativeForSum) {
@@ -29365,7 +29440,8 @@
29365
29440
  if (this.isRecord && this.records) {
29366
29441
  this.records = this.records.filter(item => item !== record);
29367
29442
  }
29368
- if (record.isAggregator) {
29443
+ if (record.isAggregator && this.children) {
29444
+ this.children = this.children.filter(item => item !== record);
29369
29445
  const value = record.value();
29370
29446
  this.sum -= value ?? 0;
29371
29447
  if (this.needSplitPositiveAndNegativeForSum) {
@@ -29402,9 +29478,11 @@
29402
29478
  return item;
29403
29479
  });
29404
29480
  }
29405
- if (oldRecord.isAggregator) {
29481
+ if (oldRecord.isAggregator && this.children) {
29406
29482
  const oldValue = oldRecord.value();
29483
+ this.children = this.children.filter(item => item !== oldRecord);
29407
29484
  const newValue = newRecord.value();
29485
+ this.children.push(newRecord);
29408
29486
  this.sum += newValue - oldValue;
29409
29487
  if (this.needSplitPositiveAndNegativeForSum) {
29410
29488
  if (oldValue > 0) {
@@ -29444,7 +29522,7 @@
29444
29522
  }
29445
29523
  }
29446
29524
  value() {
29447
- return this.records?.length >= 1 ? this.sum : undefined;
29525
+ return this.changedValue ?? (this.records?.length >= 1 ? this.sum : undefined);
29448
29526
  }
29449
29527
  positiveValue() {
29450
29528
  return this.positiveSum;
@@ -29460,7 +29538,24 @@
29460
29538
  recalculate() {
29461
29539
  this.sum = 0;
29462
29540
  this._formatedValue = undefined;
29463
- if (this.records) {
29541
+ if (this.children && this.children.length > 0) {
29542
+ for (let i = 0; i < this.children.length; i++) {
29543
+ const child = this.children[i];
29544
+ if (child.isAggregator) {
29545
+ const value = child.value();
29546
+ this.sum += value ?? 0;
29547
+ if (this.needSplitPositiveAndNegativeForSum) {
29548
+ if (value > 0) {
29549
+ this.positiveSum += value;
29550
+ }
29551
+ else if (value < 0) {
29552
+ this.nagetiveSum += value;
29553
+ }
29554
+ }
29555
+ }
29556
+ }
29557
+ }
29558
+ else if (this.records) {
29464
29559
  for (let i = 0; i < this.records.length; i++) {
29465
29560
  const record = this.records[i];
29466
29561
  if (record.isAggregator) {
@@ -29505,6 +29600,9 @@
29505
29600
  }
29506
29601
  }
29507
29602
  if (record.isAggregator) {
29603
+ if (this.children) {
29604
+ this.children.push(record);
29605
+ }
29508
29606
  this.count += record.value();
29509
29607
  }
29510
29608
  else {
@@ -29519,6 +29617,9 @@
29519
29617
  this.records = this.records.filter(item => item !== record);
29520
29618
  }
29521
29619
  if (record.isAggregator) {
29620
+ if (this.children) {
29621
+ this.children = this.children.filter(item => item !== record);
29622
+ }
29522
29623
  this.count -= record.value();
29523
29624
  }
29524
29625
  else {
@@ -29540,19 +29641,41 @@
29540
29641
  if (oldRecord.isAggregator) {
29541
29642
  this.count += newRecord.value() - oldRecord.value();
29542
29643
  }
29644
+ if (oldRecord.isAggregator && newRecord.isAggregator && this.children) {
29645
+ this.children = this.children.map(item => {
29646
+ if (item === oldRecord) {
29647
+ return newRecord;
29648
+ }
29649
+ return item;
29650
+ });
29651
+ }
29543
29652
  }
29544
29653
  }
29545
29654
  value() {
29546
- return this.count;
29655
+ return this.changedValue ?? this.count;
29547
29656
  }
29548
29657
  reset() {
29658
+ this.changedValue = undefined;
29659
+ this.children = [];
29549
29660
  this.records = [];
29550
29661
  this.count = 0;
29551
29662
  }
29552
29663
  recalculate() {
29553
29664
  this.count = 0;
29554
29665
  this._formatedValue = undefined;
29555
- if (this.records) {
29666
+ if (this.children && this.children.length > 0) {
29667
+ for (let i = 0; i < this.children.length; i++) {
29668
+ const child = this.children[i];
29669
+ if (child.isAggregator) {
29670
+ const value = child.value();
29671
+ this.count += value ?? 0;
29672
+ }
29673
+ else {
29674
+ this.count++;
29675
+ }
29676
+ }
29677
+ }
29678
+ else if (this.records) {
29556
29679
  for (let i = 0; i < this.records.length; i++) {
29557
29680
  const record = this.records[i];
29558
29681
  if (record.isAggregator) {
@@ -29580,6 +29703,9 @@
29580
29703
  }
29581
29704
  }
29582
29705
  if (record.isAggregator && record.type === AggregationType.AVG) {
29706
+ if (this.children) {
29707
+ this.children.push(record);
29708
+ }
29583
29709
  this.sum += record.sum;
29584
29710
  this.count += record.count;
29585
29711
  }
@@ -29596,6 +29722,9 @@
29596
29722
  this.records = this.records.filter(item => item !== record);
29597
29723
  }
29598
29724
  if (record.isAggregator && record.type === AggregationType.AVG) {
29725
+ if (this.children) {
29726
+ this.children = this.children.filter(item => item !== record);
29727
+ }
29599
29728
  this.sum -= record.sum;
29600
29729
  this.count -= record.count;
29601
29730
  }
@@ -29617,6 +29746,14 @@
29617
29746
  });
29618
29747
  }
29619
29748
  if (oldRecord.isAggregator && oldRecord.type === AggregationType.AVG) {
29749
+ if (this.children && newRecord.isAggregator) {
29750
+ this.children = this.children.map(item => {
29751
+ if (item === oldRecord) {
29752
+ return newRecord;
29753
+ }
29754
+ return item;
29755
+ });
29756
+ }
29620
29757
  this.sum += newRecord.sum - oldRecord.sum;
29621
29758
  this.count += newRecord.count - oldRecord.count;
29622
29759
  }
@@ -29627,9 +29764,11 @@
29627
29764
  }
29628
29765
  }
29629
29766
  value() {
29630
- return this.records?.length >= 1 ? this.sum / this.count : undefined;
29767
+ return this.changedValue ?? (this.records?.length >= 1 ? this.sum / this.count : undefined);
29631
29768
  }
29632
29769
  reset() {
29770
+ this.changedValue = undefined;
29771
+ this.children = [];
29633
29772
  this.records = [];
29634
29773
  this.sum = 0;
29635
29774
  this.count = 0;
@@ -29638,7 +29777,17 @@
29638
29777
  this.sum = 0;
29639
29778
  this.count = 0;
29640
29779
  this._formatedValue = undefined;
29641
- if (this.records) {
29780
+ if (this.children && this.children.length > 0) {
29781
+ for (let i = 0; i < this.children.length; i++) {
29782
+ const child = this.children[i];
29783
+ if (child.isAggregator && child.type === AggregationType.AVG) {
29784
+ const childValue = child.value();
29785
+ this.sum += childValue * child.count;
29786
+ this.count += child.count;
29787
+ }
29788
+ }
29789
+ }
29790
+ else if (this.records) {
29642
29791
  for (let i = 0; i < this.records.length; i++) {
29643
29792
  const record = this.records[i];
29644
29793
  if (record.isAggregator && record.type === AggregationType.AVG) {
@@ -29667,6 +29816,9 @@
29667
29816
  }
29668
29817
  }
29669
29818
  if (record.isAggregator) {
29819
+ if (this.children) {
29820
+ this.children.push(record);
29821
+ }
29670
29822
  this.max = record.max > this.max ? record.max : this.max;
29671
29823
  }
29672
29824
  else if (typeof record === 'number') {
@@ -29686,6 +29838,11 @@
29686
29838
  if (this.isRecord && this.records) {
29687
29839
  this.records = this.records.filter(item => item !== record);
29688
29840
  }
29841
+ if (record.isAggregator) {
29842
+ if (this.children) {
29843
+ this.children = this.children.filter(item => item !== record);
29844
+ }
29845
+ }
29689
29846
  this.recalculate();
29690
29847
  }
29691
29848
  }
@@ -29699,20 +29856,41 @@
29699
29856
  return item;
29700
29857
  });
29701
29858
  }
29859
+ if (oldRecord.isAggregator && newRecord.isAggregator) {
29860
+ if (this.children) {
29861
+ this.children = this.children.map(item => {
29862
+ if (item === oldRecord) {
29863
+ return newRecord;
29864
+ }
29865
+ return item;
29866
+ });
29867
+ }
29868
+ }
29702
29869
  this.recalculate();
29703
29870
  }
29704
29871
  }
29705
29872
  value() {
29706
- return this.records?.length >= 1 ? this.max : undefined;
29873
+ return this.changedValue ?? (this.records?.length >= 1 ? this.max : undefined);
29707
29874
  }
29708
29875
  reset() {
29709
29876
  this.records = [];
29877
+ this.changedValue = undefined;
29878
+ this.children = [];
29710
29879
  this.max = Number.MIN_SAFE_INTEGER;
29711
29880
  }
29712
29881
  recalculate() {
29713
29882
  this.max = Number.MIN_SAFE_INTEGER;
29714
29883
  this._formatedValue = undefined;
29715
- if (this.records) {
29884
+ if (this.children && this.children.length > 0) {
29885
+ for (let i = 0; i < this.children.length; i++) {
29886
+ const child = this.children[i];
29887
+ if (child.isAggregator) {
29888
+ const childValue = child.value();
29889
+ this.max = Math.max(this.max, childValue);
29890
+ }
29891
+ }
29892
+ }
29893
+ else if (this.records) {
29716
29894
  for (let i = 0; i < this.records.length; i++) {
29717
29895
  const record = this.records[i];
29718
29896
  if (record.isAggregator) {
@@ -29745,6 +29923,9 @@
29745
29923
  }
29746
29924
  }
29747
29925
  if (record.isAggregator) {
29926
+ if (this.children) {
29927
+ this.children.push(record);
29928
+ }
29748
29929
  this.min = record.min < this.min ? record.min : this.min;
29749
29930
  }
29750
29931
  else if (typeof record === 'number') {
@@ -29764,6 +29945,11 @@
29764
29945
  if (this.isRecord && this.records) {
29765
29946
  this.records = this.records.filter(item => item !== record);
29766
29947
  }
29948
+ if (record.isAggregator) {
29949
+ if (this.children) {
29950
+ this.children = this.children.filter(item => item !== record);
29951
+ }
29952
+ }
29767
29953
  this.recalculate();
29768
29954
  }
29769
29955
  }
@@ -29777,20 +29963,41 @@
29777
29963
  return item;
29778
29964
  });
29779
29965
  }
29966
+ if (oldRecord.isAggregator && newRecord.isAggregator) {
29967
+ if (this.children) {
29968
+ this.children = this.children.map(item => {
29969
+ if (item === oldRecord) {
29970
+ return newRecord;
29971
+ }
29972
+ return item;
29973
+ });
29974
+ }
29975
+ }
29780
29976
  this.recalculate();
29781
29977
  }
29782
29978
  }
29783
29979
  value() {
29784
- return this.records?.length >= 1 ? this.min : undefined;
29980
+ return this.changedValue ?? (this.records?.length >= 1 ? this.min : undefined);
29785
29981
  }
29786
29982
  reset() {
29787
29983
  this.records = [];
29984
+ this.changedValue = undefined;
29985
+ this.children = [];
29788
29986
  this.min = Number.MAX_SAFE_INTEGER;
29789
29987
  }
29790
29988
  recalculate() {
29791
29989
  this.min = Number.MAX_SAFE_INTEGER;
29792
29990
  this._formatedValue = undefined;
29793
- if (this.records) {
29991
+ if (this.children && this.children.length > 0) {
29992
+ for (let i = 0; i < this.children.length; i++) {
29993
+ const child = this.children[i];
29994
+ if (child.isAggregator) {
29995
+ const childValue = child.value();
29996
+ this.min = Math.min(this.min, childValue);
29997
+ }
29998
+ }
29999
+ }
30000
+ else if (this.records) {
29794
30001
  for (let i = 0; i < this.records.length; i++) {
29795
30002
  const record = this.records[i];
29796
30003
  if (record.isAggregator) {
@@ -30885,6 +31092,27 @@
30885
31092
  }
30886
31093
  return mode;
30887
31094
  }
31095
+ function clearPageSelection() {
31096
+ try {
31097
+ const selection = window.getSelection();
31098
+ if (selection) {
31099
+ if (typeof selection.removeAllRanges === 'function') {
31100
+ selection.removeAllRanges();
31101
+ return;
31102
+ }
31103
+ if (typeof selection.empty === 'function') {
31104
+ selection.empty();
31105
+ return;
31106
+ }
31107
+ if (typeof selection.collapse === 'function') {
31108
+ selection.collapse(document.body, 0);
31109
+ return;
31110
+ }
31111
+ }
31112
+ }
31113
+ catch (error) {
31114
+ }
31115
+ }
30888
31116
 
30889
31117
  function importStyle$2() {
30890
31118
  if (Env.mode === 'node') {
@@ -33601,11 +33829,15 @@
33601
33829
  this.updatePagerData();
33602
33830
  }
33603
33831
  initTreeHierarchyState() {
33832
+ this._sourceLength = this._source?.length || 0;
33604
33833
  this.currentIndexedData = Array.from({ length: this._sourceLength }, (_, i) => i);
33605
33834
  let nodeLength = this._sourceLength;
33606
33835
  for (let i = 0; i < nodeLength; i++) {
33607
33836
  const indexKey = this.currentIndexedData[i];
33608
33837
  const nodeData = this.getOriginalRecord(indexKey);
33838
+ if (!nodeData) {
33839
+ continue;
33840
+ }
33609
33841
  const children = nodeData.filteredChildren ?? nodeData.children;
33610
33842
  if (children?.length > 0) {
33611
33843
  if (this.hierarchyExpandLevel > 1) {
@@ -34564,11 +34796,13 @@
34564
34796
  targetI = targetIndexs.splice(targetIndexs.length - 1, 1)[0];
34565
34797
  if (sourceIndexs.length >= 1) {
34566
34798
  const parent = this.getOriginalRecord(sourceIndexs);
34567
- const sourceIds = parent.filteredChildren
34568
- ? parent.filteredChildren.splice(sourceI, 1)
34569
- : parent.children.splice(sourceI, 1);
34570
- sourceIds.unshift(targetI, 0);
34571
- Array.prototype.splice.apply(parent.filteredChildren ?? parent.children, sourceIds);
34799
+ if (parent) {
34800
+ const sourceIds = parent.filteredChildren
34801
+ ? parent.filteredChildren.splice(sourceI, 1)
34802
+ : parent.children.splice(sourceI, 1);
34803
+ sourceIds.unshift(targetI, 0);
34804
+ Array.prototype.splice.apply(parent.filteredChildren ?? parent.children, sourceIds);
34805
+ }
34572
34806
  }
34573
34807
  else {
34574
34808
  const sourceIds = this.records.splice(sourceI, 1);
@@ -34597,6 +34831,9 @@
34597
34831
  if (this.hierarchyExpandLevel) {
34598
34832
  for (let i = 0; i < this._sourceLength; i++) {
34599
34833
  const nodeData = this.getOriginalRecord(i);
34834
+ if (!nodeData) {
34835
+ continue;
34836
+ }
34600
34837
  const children = nodeData.filteredChildren ?? nodeData.children;
34601
34838
  children && !nodeData.hierarchyState && (nodeData.hierarchyState = HierarchyState.collapse);
34602
34839
  }
@@ -34605,6 +34842,9 @@
34605
34842
  for (let i = 0; i < nodeLength; i++) {
34606
34843
  const indexKey = this.currentIndexedData[i];
34607
34844
  const nodeData = this.getOriginalRecord(indexKey);
34845
+ if (!nodeData) {
34846
+ continue;
34847
+ }
34608
34848
  const children = nodeData.filteredChildren ?? nodeData.children;
34609
34849
  if (children?.length > 0 && nodeData.hierarchyState === HierarchyState.expand) {
34610
34850
  this.hasHierarchyStateExpand = true;
@@ -37138,6 +37378,339 @@
37138
37378
  return false;
37139
37379
  }
37140
37380
 
37381
+ let sort_color;
37382
+ let sort_color_opacity;
37383
+ let sort_color_2;
37384
+ let sort_color_opacity_2;
37385
+ let sort_size;
37386
+ let sort_size_2;
37387
+ let frozen_color;
37388
+ let frozen_color_opacity;
37389
+ let freeze_color_opacity;
37390
+ let frozen_color_2;
37391
+ let frozen_color_opacity_2;
37392
+ let frozen_size;
37393
+ let frozen_size_2;
37394
+ let collapse_color;
37395
+ let collapse_color_opacity;
37396
+ let collapse_size;
37397
+ let collapse_size_2;
37398
+ let expand_color;
37399
+ let expand_color_opacity;
37400
+ let expand_size;
37401
+ let expand_size_2;
37402
+ let dragReorder_color;
37403
+ let dragReorder_color_opacity;
37404
+ let dragReorder_size;
37405
+ function setIconColor(themeIconsColor) {
37406
+ sort_color = themeIconsColor?.sort_color ?? '#282F38';
37407
+ sort_color_opacity = themeIconsColor?.sort_color_opacity ?? '0.35';
37408
+ sort_color_2 = themeIconsColor?.sort_color_2 ?? '#416EFF';
37409
+ sort_color_opacity_2 = themeIconsColor?.sort_color_opacity_2 ?? '1';
37410
+ sort_size = themeIconsColor?.sort_size ?? 16;
37411
+ sort_size_2 = themeIconsColor?.sort_size_2 ?? 22;
37412
+ frozen_color = themeIconsColor?.frozen_color ?? '#282F38';
37413
+ frozen_color_opacity = themeIconsColor?.frozen_color_opacity ?? '0.35';
37414
+ freeze_color_opacity = themeIconsColor?.frozen_color_opacity ?? '0.2';
37415
+ frozen_color_2 = themeIconsColor?.frozen_color_2 ?? '#416EFF';
37416
+ frozen_color_opacity_2 = themeIconsColor?.frozen_color_opacity_2 ?? '1';
37417
+ frozen_size = themeIconsColor?.frozen_size ?? 22;
37418
+ frozen_size_2 = themeIconsColor?.frozen_size_2 ?? 22;
37419
+ collapse_color = themeIconsColor?.collapse_color ?? '#141414';
37420
+ collapse_color_opacity = themeIconsColor?.collapse_color_opacity ?? '0.65';
37421
+ collapse_size = themeIconsColor?.collapse_size ?? 16;
37422
+ collapse_size_2 = themeIconsColor?.frozen_size_2 ?? 22;
37423
+ expand_color = themeIconsColor?.expand_color ?? '#141414';
37424
+ expand_color_opacity = themeIconsColor?.expand_color_opacity ?? '0.65';
37425
+ expand_size = themeIconsColor?.expand_size ?? 16;
37426
+ expand_size_2 = themeIconsColor?.expand_size_2 ?? 22;
37427
+ dragReorder_color = themeIconsColor?.dragReorder_color ?? '#666666';
37428
+ dragReorder_color_opacity = themeIconsColor?.dragReorder_color_opacity ?? '1';
37429
+ dragReorder_size = themeIconsColor?.dragReorder_size ?? 20;
37430
+ }
37431
+ const builtins = {
37432
+ get sort_downward() {
37433
+ return {
37434
+ type: 'svg',
37435
+ svg: '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">' +
37436
+ ` <path d="M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z" fill="${sort_color_2}" fill-opacity="${sort_color_opacity_2}"/>` +
37437
+ `<path d="M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z" fill="${sort_color}" fill-opacity="${sort_color_opacity}"/>` +
37438
+ '</svg> ',
37439
+ width: sort_size,
37440
+ height: sort_size,
37441
+ funcType: IconFuncTypeEnum.sort,
37442
+ name: 'sort_downward',
37443
+ positionType: IconPosition.contentRight,
37444
+ marginLeft: 3,
37445
+ hover: {
37446
+ width: sort_size_2,
37447
+ height: sort_size_2,
37448
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37449
+ },
37450
+ cursor: 'pointer'
37451
+ };
37452
+ },
37453
+ get sort_upward() {
37454
+ return {
37455
+ type: 'svg',
37456
+ svg: '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">' +
37457
+ `<path d="M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z" fill="${sort_color}" fill-opacity="${sort_color_opacity}"/>` +
37458
+ `<path d="M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z" fill="${sort_color_2}" fill-opacity="${sort_color_opacity_2}"/>` +
37459
+ ' </svg>',
37460
+ width: sort_size,
37461
+ height: sort_size,
37462
+ funcType: IconFuncTypeEnum.sort,
37463
+ positionType: IconPosition.contentRight,
37464
+ name: 'sort_upward',
37465
+ marginLeft: 3,
37466
+ hover: {
37467
+ width: sort_size_2,
37468
+ height: sort_size_2,
37469
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37470
+ },
37471
+ cursor: 'pointer'
37472
+ };
37473
+ },
37474
+ get sort_normal() {
37475
+ return {
37476
+ type: 'svg',
37477
+ svg: '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">' +
37478
+ `<path d="M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z" fill="${sort_color}" fill-opacity="${sort_color_opacity}"/>` +
37479
+ `<path d="M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z" fill="${sort_color}" fill-opacity="${sort_color_opacity}"/>` +
37480
+ '</svg> ',
37481
+ width: sort_size,
37482
+ height: sort_size,
37483
+ funcType: IconFuncTypeEnum.sort,
37484
+ positionType: IconPosition.contentRight,
37485
+ name: 'sort_normal',
37486
+ marginLeft: 3,
37487
+ hover: {
37488
+ width: sort_size_2,
37489
+ height: sort_size_2,
37490
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37491
+ },
37492
+ cursor: 'pointer'
37493
+ };
37494
+ },
37495
+ get freeze() {
37496
+ return {
37497
+ type: 'svg',
37498
+ svg: '<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">' +
37499
+ '<g clip-path="url(#clip0)">' +
37500
+ `<path d="M17.1313 8.42047C17.1932 8.48238 17.2423 8.55587 17.2759 8.63676C17.3094 8.71764 17.3266 8.80434 17.3266 8.89189C17.3266 8.97944 17.3094 9.06613 17.2759 9.14702C17.2423 9.2279 17.1932 9.3014 17.1313 9.3633L13.3843 13.1103C13.7007 14.3048 13.5305 15.4443 12.8388 16.2395C12.8104 16.2781 12.7778 16.3136 12.7417 16.3451L12.712 16.3755C12.6501 16.4374 12.5766 16.4865 12.4957 16.52C12.4148 16.5535 12.3281 16.5707 12.2406 16.5707C12.153 16.5707 12.0663 16.5535 11.9854 16.52C11.9046 16.4865 11.8311 16.4374 11.7692 16.3755L9.17633 13.7826L6.05316 16.9058L5.11983 17.0925C5.09291 17.0979 5.06508 17.0965 5.03881 17.0886C5.01254 17.0806 4.98863 17.0663 4.96923 17.0469C4.94982 17.0275 4.9355 17.0036 4.92755 16.9773C4.9196 16.951 4.91827 16.9232 4.92366 16.8963L5.11033 15.963L8.23333 12.8396L5.64066 10.2471C5.57875 10.1852 5.52964 10.1117 5.49614 10.0309C5.46263 9.94997 5.44539 9.86327 5.44539 9.77572C5.44539 9.68817 5.46263 9.60148 5.49614 9.52059C5.52964 9.43971 5.57875 9.36621 5.64066 9.3043C5.65066 9.2943 5.66066 9.2843 5.67099 9.27464C5.70266 9.2383 5.73833 9.20547 5.77766 9.17664C6.57283 8.48564 7.71199 8.31564 8.90599 8.63197L12.6528 4.88497C12.7147 4.82306 12.7882 4.77395 12.8691 4.74045C12.95 4.70694 13.0367 4.6897 13.1242 4.6897C13.2118 4.6897 13.2985 4.70694 13.3794 4.74045C13.4603 4.77395 13.5338 4.82306 13.5957 4.88497L17.1312 8.42047H17.1313ZM15.7172 8.8918L13.1243 6.29914L9.56483 9.8588C9.47574 9.94788 9.36323 10.0099 9.24034 10.0376C9.11746 10.0654 8.98922 10.0578 8.87049 10.0156C8.22783 9.78764 7.63899 9.7553 7.17749 9.89814L12.1182 14.8388C12.261 14.3771 12.2287 13.7885 12.0007 13.146C11.9585 13.0272 11.9509 12.899 11.9787 12.7761C12.0064 12.6532 12.0684 12.5407 12.1575 12.4516L15.7172 8.89164V8.8918Z" fill="${frozen_color}" fill-opacity="${freeze_color_opacity}"/>` +
37501
+ '</g>' +
37502
+ '<defs>' +
37503
+ '<clipPath id="clip0">' +
37504
+ '<rect width="22" height="22" fill="white"/>' +
37505
+ '</clipPath>' +
37506
+ '</defs>' +
37507
+ '</svg>',
37508
+ width: frozen_size,
37509
+ height: frozen_size,
37510
+ name: 'freeze',
37511
+ funcType: IconFuncTypeEnum.frozen,
37512
+ positionType: IconPosition.right,
37513
+ marginRight: 0,
37514
+ hover: {
37515
+ width: frozen_size_2,
37516
+ height: frozen_size_2,
37517
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37518
+ },
37519
+ cursor: 'pointer'
37520
+ };
37521
+ },
37522
+ get frozen() {
37523
+ return {
37524
+ type: 'svg',
37525
+ svg: '<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">' +
37526
+ `<path d="M8.49975 3.66663C8.32294 3.66663 8.15337 3.73686 8.02835 3.86189C7.90332 3.98691 7.83309 4.15648 7.83309 4.33329V9.63246C6.76475 10.2533 6.07942 11.1795 6.00625 12.2308C5.99892 12.2786 5.99692 12.3268 6.00009 12.3741L5.99975 12.4166C5.99975 12.5934 6.06999 12.763 6.19501 12.888C6.32004 13.0131 6.48961 13.0833 6.66642 13.0833H10.3333L10.3331 17.5L10.8611 18.292C10.8763 18.3148 10.8969 18.3335 10.9211 18.3464C10.9453 18.3594 10.9723 18.3662 10.9998 18.3662C11.0272 18.3662 11.0542 18.3594 11.0784 18.3464C11.1026 18.3335 11.1232 18.3148 11.1384 18.292L11.6664 17.5L11.6666 13.0833H15.3331C15.5099 13.0833 15.6795 13.0131 15.8045 12.888C15.9295 12.763 15.9998 12.5934 15.9998 12.4166C15.9998 12.4025 15.9998 12.3883 15.9994 12.3741C16.0028 12.3263 16.0008 12.2776 15.9933 12.2295C15.9196 11.1786 15.2343 10.2528 14.1664 9.63229V4.33329C14.1664 4.15648 14.0962 3.98691 13.9712 3.86189C13.8461 3.73686 13.6766 3.66663 13.4998 3.66663H8.49975Z" fill="${frozen_color}" fill-opacity="${frozen_color_opacity}"/>` +
37527
+ '</svg>',
37528
+ width: frozen_size,
37529
+ height: frozen_size,
37530
+ name: 'frozen',
37531
+ funcType: IconFuncTypeEnum.frozen,
37532
+ positionType: IconPosition.right,
37533
+ marginRight: 0,
37534
+ hover: {
37535
+ width: frozen_size_2,
37536
+ height: frozen_size_2,
37537
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37538
+ },
37539
+ cursor: 'pointer'
37540
+ };
37541
+ },
37542
+ get frozenCurrent() {
37543
+ return {
37544
+ type: 'svg',
37545
+ svg: '<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">' +
37546
+ `<path d="M8.49975 3.66663C8.32294 3.66663 8.15337 3.73686 8.02835 3.86189C7.90332 3.98691 7.83309 4.15648 7.83309 4.33329V9.63246C6.76475 10.2533 6.07942 11.1795 6.00625 12.2308C5.99892 12.2786 5.99692 12.3268 6.00009 12.3741L5.99975 12.4166C5.99975 12.5934 6.06999 12.763 6.19501 12.888C6.32004 13.0131 6.48961 13.0833 6.66642 13.0833H10.3333L10.3331 17.5L10.8611 18.292C10.8763 18.3148 10.8969 18.3335 10.9211 18.3464C10.9453 18.3594 10.9723 18.3662 10.9998 18.3662C11.0272 18.3662 11.0542 18.3594 11.0784 18.3464C11.1026 18.3335 11.1232 18.3148 11.1384 18.292L11.6664 17.5L11.6666 13.0833H15.3331C15.5099 13.0833 15.6795 13.0131 15.8045 12.888C15.9295 12.763 15.9998 12.5934 15.9998 12.4166C15.9998 12.4025 15.9998 12.3883 15.9994 12.3741C16.0028 12.3263 16.0008 12.2776 15.9933 12.2295C15.9196 11.1786 15.2343 10.2528 14.1664 9.63229V4.33329C14.1664 4.15648 14.0962 3.98691 13.9712 3.86189C13.8461 3.73686 13.6766 3.66663 13.4998 3.66663H8.49975Z" fill="${frozen_color_2}" fill-opacity="${frozen_color_opacity_2}"/>` +
37547
+ '</svg>',
37548
+ width: frozen_size,
37549
+ height: frozen_size,
37550
+ funcType: IconFuncTypeEnum.frozen,
37551
+ positionType: IconPosition.right,
37552
+ name: 'frozenCurrent',
37553
+ marginRight: 0,
37554
+ hover: {
37555
+ width: frozen_size_2,
37556
+ height: frozen_size_2,
37557
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37558
+ },
37559
+ cursor: 'pointer'
37560
+ };
37561
+ },
37562
+ get dropdownIcon() {
37563
+ return {
37564
+ type: 'svg',
37565
+ svg: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g><rect x="2" y="1" width="20" height="20" rx="10" fill="white"/><rect x="2.5" y="1.5" width="19" height="19" rx="9.5" stroke="#959DA5"/></g><path d="M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z" fill="#4F5965"/></svg>',
37566
+ width: 24,
37567
+ height: 24,
37568
+ funcType: IconFuncTypeEnum.dropDown,
37569
+ positionType: IconPosition.absoluteRight,
37570
+ name: 'dropdownIcon',
37571
+ marginRight: 0,
37572
+ hover: {
37573
+ width: 24,
37574
+ height: 24,
37575
+ bgColor: 'rgba(101, 117, 168, 0.1)',
37576
+ image: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g><rect x="2" y="1" width="20" height="20" rx="10" fill="#1E54C9"/><rect x="2.5" y="1.5" width="19" height="19" rx="9.5" stroke="#141414" stroke-opacity="0.2"/></g><path d="M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z" fill="white"/></svg>'
37577
+ },
37578
+ cursor: 'pointer',
37579
+ visibleTime: 'mouseenter_cell'
37580
+ };
37581
+ },
37582
+ get play() {
37583
+ return {
37584
+ type: 'svg',
37585
+ svg: '<svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01" /><path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="none" stroke="#686a6e" stroke-width="4" stroke-linejoin="round" stroke-opacity="0.7" /><path d="M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z" fill="none" stroke="#686a6e" stroke-width="4" stroke-linejoin="round" stroke-opacity="0.7" /></svg>',
37586
+ width: 24,
37587
+ height: 24,
37588
+ funcType: IconFuncTypeEnum.play,
37589
+ positionType: IconPosition.right,
37590
+ name: 'play',
37591
+ marginRight: 0,
37592
+ hover: {
37593
+ width: 24,
37594
+ height: 24,
37595
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37596
+ },
37597
+ cursor: 'pointer'
37598
+ };
37599
+ },
37600
+ get damage_pic() {
37601
+ return {
37602
+ type: 'svg',
37603
+ svg: '<svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 10V38C5 39.1046 5.89543 40 7 40H14H18L15 29L22 27L21 20L29 16L27 13L30 8H7C5.89543 8 5 8.89543 5 10Z" fill="none" stroke="#333" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M43 38V10C43 8.89543 42.1046 8 41 8H38L34 14L37 19L28 23L29 31L22 33L24 40H41C42.1046 40 43 39.1046 43 38Z" fill="none" stroke="#333" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.5 18C15.3284 18 16 17.3284 16 16.5C16 15.6716 15.3284 15 14.5 15C13.6716 15 13 15.6716 13 16.5C13 17.3284 13.6716 18 14.5 18Z" fill="none" stroke="#333" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>',
37604
+ width: 24,
37605
+ height: 24,
37606
+ funcType: IconFuncTypeEnum.damagePic,
37607
+ positionType: IconPosition.left,
37608
+ name: 'damage_pic',
37609
+ marginRight: 0,
37610
+ hover: {
37611
+ width: 24,
37612
+ height: 24,
37613
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37614
+ },
37615
+ cursor: 'pointer'
37616
+ };
37617
+ },
37618
+ get loading_pic() {
37619
+ return {
37620
+ type: 'svg',
37621
+ svg: '<svg viewBox="0 0 400 300" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="50" y="65" width="301" height="170"><path d="M350.3 65H50v169.8h300.3V65Z" fill="#fff"/></mask><g mask="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M58.3 233.2h32.8v-36.8H58.3v36.8Z" fill="#C7DEFF"/><path d="M91.1 224.5v8.8H58.3M82.4 196.2H58.3" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M305.4 182.5s-2.7 12.6 0 17.4c2.7 4.8 8.3 6.7 12.4 4.4 4.2-2.4 5.3-8.1 2.6-12.9-2.7-4.8-15-8.9-15-8.9ZM336 204.7c4.3 2 9.7-.4 12-5.4 2.3-5-1.5-17.3-1.5-17.3s-11.8 5.1-14.1 10.1c-2.3 5-.7 10.6 3.6 12.6Z" fill="#00E4E5"/><path fill-rule="evenodd" clip-rule="evenodd" d="M326.7 174s-10 11.8-10 18.6c0 6.7 4.5 12.2 10 12.2s10-5.5 10-12.3c0-6.8-10-18.5-10-18.5Z" fill="#00E4E5"/><path d="M332.3 181.5c2.3 3.6 4.4 7.8 4.4 10.9M316.7 192.5c0-3.1 2.1-7.2 4.3-10.8" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M343.1 227.3v-9.7h-34v9.7c0 3.7 3 6.6 6.6 6.6h20.9c3.6 0 6.5-2.9 6.5-6.6Z" fill="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M350.4 220.8V198H302v22.8c0 5.9 4.8 10.7 10.7 10.7h26.9c5.9 0 10.7-4.8 10.8-10.7Z" fill="#C7DEFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M331.7 74.2H117.8L87.4 203h213.8l30.5-128.8Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M337 74.2h-6.2l-30.6 129.2h6.2L337 74.2Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M303.8 203.5h2.4l30.7-129.3h-1.8l-31.3 129.3Z" fill="#C7DEFF"/><path d="m337 74.2-30.6 129.2h-5.9" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M229.9 202.1h-47.6l2 9.6h47.3l-1.7-9.6Z" fill="#C7DEFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M94.7 172.6 87.4 203h213.1l7.8-30.4H94.7Z" fill="#006EFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M94.7 172.6 87.4 203h213.1l7.8-30.4H94.7Z" fill="#006EFF"/><path d="M138.5 74.2h193.2l-23.4 98.6M94.5 172.7l11-46.3M104.8 155.4l-2.3 11.5h6.7M316 112.1l1.1-4.5" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M148.3 138.1h97V119h-97v19.1Z" fill="#00E4E5"/><path d="M303.1 80.6h20.3l-4.6 19.6M228.3 234.3c3.6 0 6.3-3.2 5.7-6.8l-4.1-24.1" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M226.2 229.5h-68.9v1.2c0 2 1.6 3.7 3.7 3.7h60.1c2.8 0 5-2.2 5.1-4.9Z" fill="#C7DEFF"/><path d="M180.699 226.8h-19.9c-2.8 0-4.6 3-3.3 5.5m0 0c.6 1.2 1.9 2 3.3 2h57.8M175.9 203.4l3.6 17.6M241.2 234.3h65.1M104.6 234.3h41.3" stroke="#071F4D"/><path d="M206.2 234.3h14.9c3.1 0 5.5-2.8 5-5.9l-4.3-24.9M160.7 226.8h46M62.2 226.1h-9.5c-1.2 0-2.2-1-2.2-2.2v-18.3c0-1.2 1-2.2 2.2-2.2h9.5" stroke="#071F4D"/><path d="M53.4 171.7H68c2.1 0 3.7 1.7 3.7 3.7v16.1M79.1 192v-21.8c0-2.5 2-4.6 4.6-4.6h2.2c2.5 0 4.5-2 4.5-4.5m0 0c0-2.5-2-4.5-4.5-4.5H56.1c-2.4 0-4.3-1.9-4.3-4.3V148M71.2 165.2h-18M64 181.7v10.1" stroke="#C7DEFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M85.7 120H124c4.3 0 7.7-3.5 7.7-7.7V65.5H94.2c-4.7 0-8.5 4.9-8.5 11V120Z" fill="#C7DEFF"/><path d="M85.7 110.7V73c0-4.1 3.4-7.5 7.5-7.5h38.5M146.2 73.8v-2.5c0-3.2-2-5.8-5.8-5.8-2.8 0-6 1.1-6 5.8v42.4c0 4.7-3.8 8.5-8.5 8.5h-15.6" stroke="#071F4D"/><path d="M119.7 122.3H87c-6.1 0-11.1-5-11.1-11.1m0 0h39M126.1 122.3c-6.1 0-11.1-5-11.1-11.1" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M85.4 122.1h37.2c-6.5-1.8-8-10.5-8-10.5H76.2c.6 8.8 9.2 10.5 9.2 10.5Z" fill="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M95.8 102.9h4.8V83.6h-4.8v19.3ZM106.6 102.9h4.8V77.6h-4.8v25.3ZM117.3 102.9h4.8V89.1h-4.8v13.8Z" fill="#fff"/><path d="M273.2 195.9h16.9M261.2 195.9h5" stroke="#fff"/><path d="M62.4 201.9v2.9M62.4 224.5v2.9" stroke="#071F4D"/><path d="m153.6 138.1 9.7-19.1M168.8 138.1l9.7-19.1M184.1 138.1l9.7-19.1M199.4 138.1l9.7-19.1M214.6 138.1l9.8-19.1M229.9 138.1l9.7-19.1" stroke="#fff"/><path d="M148.3 138.1h121.6V119H148.3v19.1Z" stroke="#071F4D"/></g></svg>',
37622
+ width: 400,
37623
+ height: 300,
37624
+ name: 'loading_pic',
37625
+ positionType: IconPosition.left
37626
+ };
37627
+ },
37628
+ get expand() {
37629
+ return {
37630
+ type: 'svg',
37631
+ svg: `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
37632
+ <path d="M4.64988 6.81235C4.38797 6.48497 4.62106 6 5.04031 6L10.9597 6C11.3789 6 11.612 6.48497 11.3501 6.81235L8.39043 10.512C8.19027 10.7622 7.80973 10.7622 7.60957 10.512L4.64988 6.81235Z" fill="${expand_color}" fill-opacity="${expand_color_opacity}"/>
37633
+ </svg>`,
37634
+ width: expand_size,
37635
+ height: expand_size,
37636
+ funcType: IconFuncTypeEnum.expand,
37637
+ name: 'expand',
37638
+ positionType: IconPosition.contentLeft,
37639
+ marginLeft: 0,
37640
+ marginRight: 4,
37641
+ hover: {
37642
+ width: expand_size_2,
37643
+ height: expand_size_2,
37644
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37645
+ },
37646
+ cursor: 'pointer'
37647
+ };
37648
+ },
37649
+ get collapse() {
37650
+ return {
37651
+ type: 'svg',
37652
+ svg: `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
37653
+ <path d="M5.81235 11.3501C5.48497 11.612 5 11.3789 5 10.9597L5 5.04031C5 4.62106 5.48497 4.38797 5.81235 4.64988L9.51196 7.60957C9.76216 7.80973 9.76216 8.19027 9.51196 8.39044L5.81235 11.3501Z" fill="${collapse_color}" fill-opacity="${collapse_color_opacity}"/>
37654
+ </svg>`,
37655
+ width: collapse_size,
37656
+ height: collapse_size,
37657
+ funcType: IconFuncTypeEnum.collapse,
37658
+ name: 'collapse',
37659
+ positionType: IconPosition.contentLeft,
37660
+ marginLeft: 0,
37661
+ marginRight: 4,
37662
+ hover: {
37663
+ width: collapse_size_2,
37664
+ height: collapse_size_2,
37665
+ bgColor: 'rgba(101, 117, 168, 0.1)'
37666
+ },
37667
+ cursor: 'pointer'
37668
+ };
37669
+ },
37670
+ get drillDown() {
37671
+ return {
37672
+ name: 'drillDown',
37673
+ type: 'svg',
37674
+ positionType: IconPosition.absolute,
37675
+ funcType: IconFuncTypeEnum.drillDown,
37676
+ svg: DrillDown,
37677
+ width: 13,
37678
+ height: 13,
37679
+ cursor: 'pointer'
37680
+ };
37681
+ },
37682
+ get drillUp() {
37683
+ return {
37684
+ name: 'drillUp',
37685
+ type: 'svg',
37686
+ positionType: IconPosition.absolute,
37687
+ funcType: IconFuncTypeEnum.drillUp,
37688
+ svg: DrillUp,
37689
+ width: 13,
37690
+ height: 13,
37691
+ cursor: 'pointer'
37692
+ };
37693
+ },
37694
+ get dragReorder() {
37695
+ return {
37696
+ type: 'svg',
37697
+ svg: `<svg t="1710129136961" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5166" width="200" height="200"><path d="M362.666667 192m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5167"></path><path d="M661.333333 192m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5168"></path><path d="M362.666667 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5169"></path><path d="M661.333333 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5170"></path><path d="M362.666667 832m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5171"></path><path d="M661.333333 832m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5172"></path></svg>`,
37698
+ width: dragReorder_size,
37699
+ height: dragReorder_size,
37700
+ funcType: IconFuncTypeEnum.dragReorder,
37701
+ positionType: IconPosition.left,
37702
+ name: 'dragReorder',
37703
+ marginLeft: -10,
37704
+ marginRight: 10,
37705
+ cursor: 'grab'
37706
+ };
37707
+ }
37708
+ };
37709
+ const icons = {};
37710
+ function get$2() {
37711
+ return extend(builtins, icons);
37712
+ }
37713
+
37141
37714
  let Icon$1 = class Icon extends Image$2 {
37142
37715
  role;
37143
37716
  tooltip;
@@ -37244,6 +37817,14 @@
37244
37817
  this.loadGif();
37245
37818
  }
37246
37819
  }
37820
+ failCallback = () => {
37821
+ const registeredIcons = get$2();
37822
+ const { svg, src } = registeredIcons.damage_pic || {};
37823
+ const image = svg || src;
37824
+ if (image) {
37825
+ super.image = image;
37826
+ }
37827
+ };
37247
37828
  };
37248
37829
  class TextIcon extends Text$1 {
37249
37830
  role;
@@ -37987,339 +38568,6 @@
37987
38568
  }
37988
38569
  }
37989
38570
 
37990
- let sort_color;
37991
- let sort_color_opacity;
37992
- let sort_color_2;
37993
- let sort_color_opacity_2;
37994
- let sort_size;
37995
- let sort_size_2;
37996
- let frozen_color;
37997
- let frozen_color_opacity;
37998
- let freeze_color_opacity;
37999
- let frozen_color_2;
38000
- let frozen_color_opacity_2;
38001
- let frozen_size;
38002
- let frozen_size_2;
38003
- let collapse_color;
38004
- let collapse_color_opacity;
38005
- let collapse_size;
38006
- let collapse_size_2;
38007
- let expand_color;
38008
- let expand_color_opacity;
38009
- let expand_size;
38010
- let expand_size_2;
38011
- let dragReorder_color;
38012
- let dragReorder_color_opacity;
38013
- let dragReorder_size;
38014
- function setIconColor(themeIconsColor) {
38015
- sort_color = themeIconsColor?.sort_color ?? '#282F38';
38016
- sort_color_opacity = themeIconsColor?.sort_color_opacity ?? '0.35';
38017
- sort_color_2 = themeIconsColor?.sort_color_2 ?? '#416EFF';
38018
- sort_color_opacity_2 = themeIconsColor?.sort_color_opacity_2 ?? '1';
38019
- sort_size = themeIconsColor?.sort_size ?? 16;
38020
- sort_size_2 = themeIconsColor?.sort_size_2 ?? 22;
38021
- frozen_color = themeIconsColor?.frozen_color ?? '#282F38';
38022
- frozen_color_opacity = themeIconsColor?.frozen_color_opacity ?? '0.35';
38023
- freeze_color_opacity = themeIconsColor?.frozen_color_opacity ?? '0.2';
38024
- frozen_color_2 = themeIconsColor?.frozen_color_2 ?? '#416EFF';
38025
- frozen_color_opacity_2 = themeIconsColor?.frozen_color_opacity_2 ?? '1';
38026
- frozen_size = themeIconsColor?.frozen_size ?? 22;
38027
- frozen_size_2 = themeIconsColor?.frozen_size_2 ?? 22;
38028
- collapse_color = themeIconsColor?.collapse_color ?? '#141414';
38029
- collapse_color_opacity = themeIconsColor?.collapse_color_opacity ?? '0.65';
38030
- collapse_size = themeIconsColor?.collapse_size ?? 16;
38031
- collapse_size_2 = themeIconsColor?.frozen_size_2 ?? 22;
38032
- expand_color = themeIconsColor?.expand_color ?? '#141414';
38033
- expand_color_opacity = themeIconsColor?.expand_color_opacity ?? '0.65';
38034
- expand_size = themeIconsColor?.expand_size ?? 16;
38035
- expand_size_2 = themeIconsColor?.expand_size_2 ?? 22;
38036
- dragReorder_color = themeIconsColor?.dragReorder_color ?? '#666666';
38037
- dragReorder_color_opacity = themeIconsColor?.dragReorder_color_opacity ?? '1';
38038
- dragReorder_size = themeIconsColor?.dragReorder_size ?? 20;
38039
- }
38040
- const builtins = {
38041
- get sort_downward() {
38042
- return {
38043
- type: 'svg',
38044
- svg: '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">' +
38045
- ` <path d="M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z" fill="${sort_color_2}" fill-opacity="${sort_color_opacity_2}"/>` +
38046
- `<path d="M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z" fill="${sort_color}" fill-opacity="${sort_color_opacity}"/>` +
38047
- '</svg> ',
38048
- width: sort_size,
38049
- height: sort_size,
38050
- funcType: IconFuncTypeEnum.sort,
38051
- name: 'sort_downward',
38052
- positionType: IconPosition.contentRight,
38053
- marginLeft: 3,
38054
- hover: {
38055
- width: sort_size_2,
38056
- height: sort_size_2,
38057
- bgColor: 'rgba(101, 117, 168, 0.1)'
38058
- },
38059
- cursor: 'pointer'
38060
- };
38061
- },
38062
- get sort_upward() {
38063
- return {
38064
- type: 'svg',
38065
- svg: '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">' +
38066
- `<path d="M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z" fill="${sort_color}" fill-opacity="${sort_color_opacity}"/>` +
38067
- `<path d="M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z" fill="${sort_color_2}" fill-opacity="${sort_color_opacity_2}"/>` +
38068
- ' </svg>',
38069
- width: sort_size,
38070
- height: sort_size,
38071
- funcType: IconFuncTypeEnum.sort,
38072
- positionType: IconPosition.contentRight,
38073
- name: 'sort_upward',
38074
- marginLeft: 3,
38075
- hover: {
38076
- width: sort_size_2,
38077
- height: sort_size_2,
38078
- bgColor: 'rgba(101, 117, 168, 0.1)'
38079
- },
38080
- cursor: 'pointer'
38081
- };
38082
- },
38083
- get sort_normal() {
38084
- return {
38085
- type: 'svg',
38086
- svg: '<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">' +
38087
- `<path d="M4.6665 9H11.3332L7.99984 13.1667L4.6665 9Z" fill="${sort_color}" fill-opacity="${sort_color_opacity}"/>` +
38088
- `<path d="M11.3335 7L4.66683 7L8.00016 2.83333L11.3335 7Z" fill="${sort_color}" fill-opacity="${sort_color_opacity}"/>` +
38089
- '</svg> ',
38090
- width: sort_size,
38091
- height: sort_size,
38092
- funcType: IconFuncTypeEnum.sort,
38093
- positionType: IconPosition.contentRight,
38094
- name: 'sort_normal',
38095
- marginLeft: 3,
38096
- hover: {
38097
- width: sort_size_2,
38098
- height: sort_size_2,
38099
- bgColor: 'rgba(101, 117, 168, 0.1)'
38100
- },
38101
- cursor: 'pointer'
38102
- };
38103
- },
38104
- get freeze() {
38105
- return {
38106
- type: 'svg',
38107
- svg: '<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">' +
38108
- '<g clip-path="url(#clip0)">' +
38109
- `<path d="M17.1313 8.42047C17.1932 8.48238 17.2423 8.55587 17.2759 8.63676C17.3094 8.71764 17.3266 8.80434 17.3266 8.89189C17.3266 8.97944 17.3094 9.06613 17.2759 9.14702C17.2423 9.2279 17.1932 9.3014 17.1313 9.3633L13.3843 13.1103C13.7007 14.3048 13.5305 15.4443 12.8388 16.2395C12.8104 16.2781 12.7778 16.3136 12.7417 16.3451L12.712 16.3755C12.6501 16.4374 12.5766 16.4865 12.4957 16.52C12.4148 16.5535 12.3281 16.5707 12.2406 16.5707C12.153 16.5707 12.0663 16.5535 11.9854 16.52C11.9046 16.4865 11.8311 16.4374 11.7692 16.3755L9.17633 13.7826L6.05316 16.9058L5.11983 17.0925C5.09291 17.0979 5.06508 17.0965 5.03881 17.0886C5.01254 17.0806 4.98863 17.0663 4.96923 17.0469C4.94982 17.0275 4.9355 17.0036 4.92755 16.9773C4.9196 16.951 4.91827 16.9232 4.92366 16.8963L5.11033 15.963L8.23333 12.8396L5.64066 10.2471C5.57875 10.1852 5.52964 10.1117 5.49614 10.0309C5.46263 9.94997 5.44539 9.86327 5.44539 9.77572C5.44539 9.68817 5.46263 9.60148 5.49614 9.52059C5.52964 9.43971 5.57875 9.36621 5.64066 9.3043C5.65066 9.2943 5.66066 9.2843 5.67099 9.27464C5.70266 9.2383 5.73833 9.20547 5.77766 9.17664C6.57283 8.48564 7.71199 8.31564 8.90599 8.63197L12.6528 4.88497C12.7147 4.82306 12.7882 4.77395 12.8691 4.74045C12.95 4.70694 13.0367 4.6897 13.1242 4.6897C13.2118 4.6897 13.2985 4.70694 13.3794 4.74045C13.4603 4.77395 13.5338 4.82306 13.5957 4.88497L17.1312 8.42047H17.1313ZM15.7172 8.8918L13.1243 6.29914L9.56483 9.8588C9.47574 9.94788 9.36323 10.0099 9.24034 10.0376C9.11746 10.0654 8.98922 10.0578 8.87049 10.0156C8.22783 9.78764 7.63899 9.7553 7.17749 9.89814L12.1182 14.8388C12.261 14.3771 12.2287 13.7885 12.0007 13.146C11.9585 13.0272 11.9509 12.899 11.9787 12.7761C12.0064 12.6532 12.0684 12.5407 12.1575 12.4516L15.7172 8.89164V8.8918Z" fill="${frozen_color}" fill-opacity="${freeze_color_opacity}"/>` +
38110
- '</g>' +
38111
- '<defs>' +
38112
- '<clipPath id="clip0">' +
38113
- '<rect width="22" height="22" fill="white"/>' +
38114
- '</clipPath>' +
38115
- '</defs>' +
38116
- '</svg>',
38117
- width: frozen_size,
38118
- height: frozen_size,
38119
- name: 'freeze',
38120
- funcType: IconFuncTypeEnum.frozen,
38121
- positionType: IconPosition.right,
38122
- marginRight: 0,
38123
- hover: {
38124
- width: frozen_size_2,
38125
- height: frozen_size_2,
38126
- bgColor: 'rgba(101, 117, 168, 0.1)'
38127
- },
38128
- cursor: 'pointer'
38129
- };
38130
- },
38131
- get frozen() {
38132
- return {
38133
- type: 'svg',
38134
- svg: '<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">' +
38135
- `<path d="M8.49975 3.66663C8.32294 3.66663 8.15337 3.73686 8.02835 3.86189C7.90332 3.98691 7.83309 4.15648 7.83309 4.33329V9.63246C6.76475 10.2533 6.07942 11.1795 6.00625 12.2308C5.99892 12.2786 5.99692 12.3268 6.00009 12.3741L5.99975 12.4166C5.99975 12.5934 6.06999 12.763 6.19501 12.888C6.32004 13.0131 6.48961 13.0833 6.66642 13.0833H10.3333L10.3331 17.5L10.8611 18.292C10.8763 18.3148 10.8969 18.3335 10.9211 18.3464C10.9453 18.3594 10.9723 18.3662 10.9998 18.3662C11.0272 18.3662 11.0542 18.3594 11.0784 18.3464C11.1026 18.3335 11.1232 18.3148 11.1384 18.292L11.6664 17.5L11.6666 13.0833H15.3331C15.5099 13.0833 15.6795 13.0131 15.8045 12.888C15.9295 12.763 15.9998 12.5934 15.9998 12.4166C15.9998 12.4025 15.9998 12.3883 15.9994 12.3741C16.0028 12.3263 16.0008 12.2776 15.9933 12.2295C15.9196 11.1786 15.2343 10.2528 14.1664 9.63229V4.33329C14.1664 4.15648 14.0962 3.98691 13.9712 3.86189C13.8461 3.73686 13.6766 3.66663 13.4998 3.66663H8.49975Z" fill="${frozen_color}" fill-opacity="${frozen_color_opacity}"/>` +
38136
- '</svg>',
38137
- width: frozen_size,
38138
- height: frozen_size,
38139
- name: 'frozen',
38140
- funcType: IconFuncTypeEnum.frozen,
38141
- positionType: IconPosition.right,
38142
- marginRight: 0,
38143
- hover: {
38144
- width: frozen_size_2,
38145
- height: frozen_size_2,
38146
- bgColor: 'rgba(101, 117, 168, 0.1)'
38147
- },
38148
- cursor: 'pointer'
38149
- };
38150
- },
38151
- get frozenCurrent() {
38152
- return {
38153
- type: 'svg',
38154
- svg: '<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">' +
38155
- `<path d="M8.49975 3.66663C8.32294 3.66663 8.15337 3.73686 8.02835 3.86189C7.90332 3.98691 7.83309 4.15648 7.83309 4.33329V9.63246C6.76475 10.2533 6.07942 11.1795 6.00625 12.2308C5.99892 12.2786 5.99692 12.3268 6.00009 12.3741L5.99975 12.4166C5.99975 12.5934 6.06999 12.763 6.19501 12.888C6.32004 13.0131 6.48961 13.0833 6.66642 13.0833H10.3333L10.3331 17.5L10.8611 18.292C10.8763 18.3148 10.8969 18.3335 10.9211 18.3464C10.9453 18.3594 10.9723 18.3662 10.9998 18.3662C11.0272 18.3662 11.0542 18.3594 11.0784 18.3464C11.1026 18.3335 11.1232 18.3148 11.1384 18.292L11.6664 17.5L11.6666 13.0833H15.3331C15.5099 13.0833 15.6795 13.0131 15.8045 12.888C15.9295 12.763 15.9998 12.5934 15.9998 12.4166C15.9998 12.4025 15.9998 12.3883 15.9994 12.3741C16.0028 12.3263 16.0008 12.2776 15.9933 12.2295C15.9196 11.1786 15.2343 10.2528 14.1664 9.63229V4.33329C14.1664 4.15648 14.0962 3.98691 13.9712 3.86189C13.8461 3.73686 13.6766 3.66663 13.4998 3.66663H8.49975Z" fill="${frozen_color_2}" fill-opacity="${frozen_color_opacity_2}"/>` +
38156
- '</svg>',
38157
- width: frozen_size,
38158
- height: frozen_size,
38159
- funcType: IconFuncTypeEnum.frozen,
38160
- positionType: IconPosition.right,
38161
- name: 'frozenCurrent',
38162
- marginRight: 0,
38163
- hover: {
38164
- width: frozen_size_2,
38165
- height: frozen_size_2,
38166
- bgColor: 'rgba(101, 117, 168, 0.1)'
38167
- },
38168
- cursor: 'pointer'
38169
- };
38170
- },
38171
- get dropdownIcon() {
38172
- return {
38173
- type: 'svg',
38174
- svg: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g><rect x="2" y="1" width="20" height="20" rx="10" fill="white"/><rect x="2.5" y="1.5" width="19" height="19" rx="9.5" stroke="#959DA5"/></g><path d="M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z" fill="#4F5965"/></svg>',
38175
- width: 24,
38176
- height: 24,
38177
- funcType: IconFuncTypeEnum.dropDown,
38178
- positionType: IconPosition.absoluteRight,
38179
- name: 'dropdownIcon',
38180
- marginRight: 0,
38181
- hover: {
38182
- width: 24,
38183
- height: 24,
38184
- bgColor: 'rgba(101, 117, 168, 0.1)',
38185
- image: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g><rect x="2" y="1" width="20" height="20" rx="10" fill="#1E54C9"/><rect x="2.5" y="1.5" width="19" height="19" rx="9.5" stroke="#141414" stroke-opacity="0.2"/></g><path d="M14.9492 9.39531C15.0086 9.31911 15.0165 9.21887 14.9698 9.1356C14.923 9.05234 14.8294 9 14.7273 9L9.27273 9C9.17057 9 9.07697 9.05234 9.03023 9.1356C8.98348 9.21887 8.99142 9.31911 9.0508 9.39531L11.7781 12.8953C11.8293 12.961 11.9119 13 12 13C12.0881 13 12.1707 12.961 12.2219 12.8953L14.9492 9.39531Z" fill="white"/></svg>'
38186
- },
38187
- cursor: 'pointer',
38188
- visibleTime: 'mouseenter_cell'
38189
- };
38190
- },
38191
- get play() {
38192
- return {
38193
- type: 'svg',
38194
- svg: '<svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="48" height="48" fill="white" fill-opacity="0.01" /><path d="M24 44C35.0457 44 44 35.0457 44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44Z" fill="none" stroke="#686a6e" stroke-width="4" stroke-linejoin="round" stroke-opacity="0.7" /><path d="M20 24V17.0718L26 20.5359L32 24L26 27.4641L20 30.9282V24Z" fill="none" stroke="#686a6e" stroke-width="4" stroke-linejoin="round" stroke-opacity="0.7" /></svg>',
38195
- width: 24,
38196
- height: 24,
38197
- funcType: IconFuncTypeEnum.play,
38198
- positionType: IconPosition.right,
38199
- name: 'play',
38200
- marginRight: 0,
38201
- hover: {
38202
- width: 24,
38203
- height: 24,
38204
- bgColor: 'rgba(101, 117, 168, 0.1)'
38205
- },
38206
- cursor: 'pointer'
38207
- };
38208
- },
38209
- get damage_pic() {
38210
- return {
38211
- type: 'svg',
38212
- svg: '<svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5 10V38C5 39.1046 5.89543 40 7 40H14H18L15 29L22 27L21 20L29 16L27 13L30 8H7C5.89543 8 5 8.89543 5 10Z" fill="none" stroke="#333" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M43 38V10C43 8.89543 42.1046 8 41 8H38L34 14L37 19L28 23L29 31L22 33L24 40H41C42.1046 40 43 39.1046 43 38Z" fill="none" stroke="#333" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path fill-rule="evenodd" clip-rule="evenodd" d="M14.5 18C15.3284 18 16 17.3284 16 16.5C16 15.6716 15.3284 15 14.5 15C13.6716 15 13 15.6716 13 16.5C13 17.3284 13.6716 18 14.5 18Z" fill="none" stroke="#333" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>',
38213
- width: 24,
38214
- height: 24,
38215
- funcType: IconFuncTypeEnum.damagePic,
38216
- positionType: IconPosition.left,
38217
- name: 'damage_pic',
38218
- marginRight: 0,
38219
- hover: {
38220
- width: 24,
38221
- height: 24,
38222
- bgColor: 'rgba(101, 117, 168, 0.1)'
38223
- },
38224
- cursor: 'pointer'
38225
- };
38226
- },
38227
- get loading_pic() {
38228
- return {
38229
- type: 'svg',
38230
- svg: '<svg viewBox="0 0 400 300" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="50" y="65" width="301" height="170"><path d="M350.3 65H50v169.8h300.3V65Z" fill="#fff"/></mask><g mask="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M58.3 233.2h32.8v-36.8H58.3v36.8Z" fill="#C7DEFF"/><path d="M91.1 224.5v8.8H58.3M82.4 196.2H58.3" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M305.4 182.5s-2.7 12.6 0 17.4c2.7 4.8 8.3 6.7 12.4 4.4 4.2-2.4 5.3-8.1 2.6-12.9-2.7-4.8-15-8.9-15-8.9ZM336 204.7c4.3 2 9.7-.4 12-5.4 2.3-5-1.5-17.3-1.5-17.3s-11.8 5.1-14.1 10.1c-2.3 5-.7 10.6 3.6 12.6Z" fill="#00E4E5"/><path fill-rule="evenodd" clip-rule="evenodd" d="M326.7 174s-10 11.8-10 18.6c0 6.7 4.5 12.2 10 12.2s10-5.5 10-12.3c0-6.8-10-18.5-10-18.5Z" fill="#00E4E5"/><path d="M332.3 181.5c2.3 3.6 4.4 7.8 4.4 10.9M316.7 192.5c0-3.1 2.1-7.2 4.3-10.8" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M343.1 227.3v-9.7h-34v9.7c0 3.7 3 6.6 6.6 6.6h20.9c3.6 0 6.5-2.9 6.5-6.6Z" fill="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M350.4 220.8V198H302v22.8c0 5.9 4.8 10.7 10.7 10.7h26.9c5.9 0 10.7-4.8 10.8-10.7Z" fill="#C7DEFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M331.7 74.2H117.8L87.4 203h213.8l30.5-128.8Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M337 74.2h-6.2l-30.6 129.2h6.2L337 74.2Z" fill="#fff"/><path fill-rule="evenodd" clip-rule="evenodd" d="M303.8 203.5h2.4l30.7-129.3h-1.8l-31.3 129.3Z" fill="#C7DEFF"/><path d="m337 74.2-30.6 129.2h-5.9" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M229.9 202.1h-47.6l2 9.6h47.3l-1.7-9.6Z" fill="#C7DEFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M94.7 172.6 87.4 203h213.1l7.8-30.4H94.7Z" fill="#006EFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M94.7 172.6 87.4 203h213.1l7.8-30.4H94.7Z" fill="#006EFF"/><path d="M138.5 74.2h193.2l-23.4 98.6M94.5 172.7l11-46.3M104.8 155.4l-2.3 11.5h6.7M316 112.1l1.1-4.5" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M148.3 138.1h97V119h-97v19.1Z" fill="#00E4E5"/><path d="M303.1 80.6h20.3l-4.6 19.6M228.3 234.3c3.6 0 6.3-3.2 5.7-6.8l-4.1-24.1" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M226.2 229.5h-68.9v1.2c0 2 1.6 3.7 3.7 3.7h60.1c2.8 0 5-2.2 5.1-4.9Z" fill="#C7DEFF"/><path d="M180.699 226.8h-19.9c-2.8 0-4.6 3-3.3 5.5m0 0c.6 1.2 1.9 2 3.3 2h57.8M175.9 203.4l3.6 17.6M241.2 234.3h65.1M104.6 234.3h41.3" stroke="#071F4D"/><path d="M206.2 234.3h14.9c3.1 0 5.5-2.8 5-5.9l-4.3-24.9M160.7 226.8h46M62.2 226.1h-9.5c-1.2 0-2.2-1-2.2-2.2v-18.3c0-1.2 1-2.2 2.2-2.2h9.5" stroke="#071F4D"/><path d="M53.4 171.7H68c2.1 0 3.7 1.7 3.7 3.7v16.1M79.1 192v-21.8c0-2.5 2-4.6 4.6-4.6h2.2c2.5 0 4.5-2 4.5-4.5m0 0c0-2.5-2-4.5-4.5-4.5H56.1c-2.4 0-4.3-1.9-4.3-4.3V148M71.2 165.2h-18M64 181.7v10.1" stroke="#C7DEFF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M85.7 120H124c4.3 0 7.7-3.5 7.7-7.7V65.5H94.2c-4.7 0-8.5 4.9-8.5 11V120Z" fill="#C7DEFF"/><path d="M85.7 110.7V73c0-4.1 3.4-7.5 7.5-7.5h38.5M146.2 73.8v-2.5c0-3.2-2-5.8-5.8-5.8-2.8 0-6 1.1-6 5.8v42.4c0 4.7-3.8 8.5-8.5 8.5h-15.6" stroke="#071F4D"/><path d="M119.7 122.3H87c-6.1 0-11.1-5-11.1-11.1m0 0h39M126.1 122.3c-6.1 0-11.1-5-11.1-11.1" stroke="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M85.4 122.1h37.2c-6.5-1.8-8-10.5-8-10.5H76.2c.6 8.8 9.2 10.5 9.2 10.5Z" fill="#071F4D"/><path fill-rule="evenodd" clip-rule="evenodd" d="M95.8 102.9h4.8V83.6h-4.8v19.3ZM106.6 102.9h4.8V77.6h-4.8v25.3ZM117.3 102.9h4.8V89.1h-4.8v13.8Z" fill="#fff"/><path d="M273.2 195.9h16.9M261.2 195.9h5" stroke="#fff"/><path d="M62.4 201.9v2.9M62.4 224.5v2.9" stroke="#071F4D"/><path d="m153.6 138.1 9.7-19.1M168.8 138.1l9.7-19.1M184.1 138.1l9.7-19.1M199.4 138.1l9.7-19.1M214.6 138.1l9.8-19.1M229.9 138.1l9.7-19.1" stroke="#fff"/><path d="M148.3 138.1h121.6V119H148.3v19.1Z" stroke="#071F4D"/></g></svg>',
38231
- width: 400,
38232
- height: 300,
38233
- name: 'loading_pic',
38234
- positionType: IconPosition.left
38235
- };
38236
- },
38237
- get expand() {
38238
- return {
38239
- type: 'svg',
38240
- svg: `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
38241
- <path d="M4.64988 6.81235C4.38797 6.48497 4.62106 6 5.04031 6L10.9597 6C11.3789 6 11.612 6.48497 11.3501 6.81235L8.39043 10.512C8.19027 10.7622 7.80973 10.7622 7.60957 10.512L4.64988 6.81235Z" fill="${expand_color}" fill-opacity="${expand_color_opacity}"/>
38242
- </svg>`,
38243
- width: expand_size,
38244
- height: expand_size,
38245
- funcType: IconFuncTypeEnum.expand,
38246
- name: 'expand',
38247
- positionType: IconPosition.contentLeft,
38248
- marginLeft: 0,
38249
- marginRight: 4,
38250
- hover: {
38251
- width: expand_size_2,
38252
- height: expand_size_2,
38253
- bgColor: 'rgba(101, 117, 168, 0.1)'
38254
- },
38255
- cursor: 'pointer'
38256
- };
38257
- },
38258
- get collapse() {
38259
- return {
38260
- type: 'svg',
38261
- svg: `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none">
38262
- <path d="M5.81235 11.3501C5.48497 11.612 5 11.3789 5 10.9597L5 5.04031C5 4.62106 5.48497 4.38797 5.81235 4.64988L9.51196 7.60957C9.76216 7.80973 9.76216 8.19027 9.51196 8.39044L5.81235 11.3501Z" fill="${collapse_color}" fill-opacity="${collapse_color_opacity}"/>
38263
- </svg>`,
38264
- width: collapse_size,
38265
- height: collapse_size,
38266
- funcType: IconFuncTypeEnum.collapse,
38267
- name: 'collapse',
38268
- positionType: IconPosition.contentLeft,
38269
- marginLeft: 0,
38270
- marginRight: 4,
38271
- hover: {
38272
- width: collapse_size_2,
38273
- height: collapse_size_2,
38274
- bgColor: 'rgba(101, 117, 168, 0.1)'
38275
- },
38276
- cursor: 'pointer'
38277
- };
38278
- },
38279
- get drillDown() {
38280
- return {
38281
- name: 'drillDown',
38282
- type: 'svg',
38283
- positionType: IconPosition.absolute,
38284
- funcType: IconFuncTypeEnum.drillDown,
38285
- svg: DrillDown,
38286
- width: 13,
38287
- height: 13,
38288
- cursor: 'pointer'
38289
- };
38290
- },
38291
- get drillUp() {
38292
- return {
38293
- name: 'drillUp',
38294
- type: 'svg',
38295
- positionType: IconPosition.absolute,
38296
- funcType: IconFuncTypeEnum.drillUp,
38297
- svg: DrillUp,
38298
- width: 13,
38299
- height: 13,
38300
- cursor: 'pointer'
38301
- };
38302
- },
38303
- get dragReorder() {
38304
- return {
38305
- type: 'svg',
38306
- svg: `<svg t="1710129136961" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5166" width="200" height="200"><path d="M362.666667 192m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5167"></path><path d="M661.333333 192m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5168"></path><path d="M362.666667 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5169"></path><path d="M661.333333 512m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5170"></path><path d="M362.666667 832m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5171"></path><path d="M661.333333 832m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="${dragReorder_color}" fill-opacity="${dragReorder_color_opacity}" p-id="5172"></path></svg>`,
38307
- width: dragReorder_size,
38308
- height: dragReorder_size,
38309
- funcType: IconFuncTypeEnum.dragReorder,
38310
- positionType: IconPosition.left,
38311
- name: 'dragReorder',
38312
- marginLeft: -10,
38313
- marginRight: 10,
38314
- cursor: 'grab'
38315
- };
38316
- }
38317
- };
38318
- const icons = {};
38319
- function get$2() {
38320
- return extend(builtins, icons);
38321
- }
38322
-
38323
38571
  let Group$1 = class Group extends Group$2 {
38324
38572
  role;
38325
38573
  col;
@@ -40032,7 +40280,7 @@
40032
40280
  const style = table._getCellStyle(col, row);
40033
40281
  const dataValue = table.getCellOriginValue(col, row);
40034
40282
  const createTextCellGroup = Factory.getFunction('createTextCellGroup');
40035
- cellGroup = createTextCellGroup(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, false, customElementsGroup, renderDefault, cellTheme, range, isAsync);
40283
+ cellGroup = createTextCellGroup(table, value, columnGroup, 0, y, col, row, colWidth, cellWidth, cellHeight, padding, textAlign, textBaseline, mayHaveIcon, customElementsGroup, renderDefault, cellTheme, range, isAsync);
40036
40284
  const createProgressBarCell = Factory.getFunction('createProgressBarCell');
40037
40285
  const progressBarGroup = createProgressBarCell(define, style, colWidth, value, dataValue, col, row, padding, table, range);
40038
40286
  if (cellGroup.firstChild) {
@@ -40160,7 +40408,7 @@
40160
40408
  if (table.options.groupTitleFieldFormat) {
40161
40409
  value = table.options.groupTitleFieldFormat(rawRecord, col, row, table);
40162
40410
  }
40163
- else if (vtableMergeName) {
40411
+ else if (vtableMergeName !== undefined) {
40164
40412
  value = vtableMergeName;
40165
40413
  }
40166
40414
  }
@@ -40259,8 +40507,8 @@
40259
40507
  const type = isVtableMerge || isCustomMerge
40260
40508
  ? 'text'
40261
40509
  : table.isHeader(col, row)
40262
- ? table._getHeaderLayoutMap(col, row).headerType ?? 'text'
40263
- : table.getBodyColumnType(col, row) ?? 'text';
40510
+ ? (table._getHeaderLayoutMap(col, row).headerType ?? 'text')
40511
+ : (table.getBodyColumnType(col, row) ?? 'text');
40264
40512
  const padding = cellTheme._vtable.padding;
40265
40513
  const textAlign = cellTheme.text.textAlign;
40266
40514
  const textBaseline = cellTheme.text.textBaseline;
@@ -40422,8 +40670,8 @@
40422
40670
  child.skipMergeUpdate = false;
40423
40671
  }
40424
40672
  else {
40425
- child.skipMergeUpdate = true;
40426
40673
  child._dx = child.attribute.dx ?? 0;
40674
+ child.skipMergeUpdate = true;
40427
40675
  child.setAttributes({
40428
40676
  dx: (child.attribute.dx ?? 0) + dx
40429
40677
  });
@@ -45124,23 +45372,29 @@
45124
45372
  col = mergeInfo.end.col;
45125
45373
  row = mergeInfo.end.row;
45126
45374
  }
45127
- if (col === table.colCount - 1 && !bottomRight) {
45128
- width -= 1;
45129
- }
45130
- else if (col === table.frozenColCount - 1 && table.scrollLeft && !bottomRight) {
45131
- width -= 1;
45132
- }
45133
- else if (col === 0 && bottomRight) {
45134
- width -= 1;
45135
- }
45136
- if (row === table.rowCount - 1 && !bottomRight) {
45137
- height -= 1;
45138
- }
45139
- else if (row === table.frozenRowCount - 1 && table.scrollTop && !bottomRight) {
45140
- height -= 1;
45375
+ if (!bottomRight) {
45376
+ if (col === table.colCount - 1 ||
45377
+ (col === table.frozenColCount - 1 && table.scrollLeft) ||
45378
+ (!!table.containerFit?.width &&
45379
+ !!table.rightFrozenColCount &&
45380
+ col === table.colCount - table.rightFrozenColCount - 1)) {
45381
+ width -= 1;
45382
+ }
45383
+ if (row === table.rowCount - 1 ||
45384
+ (row === table.frozenRowCount - 1 && table.scrollTop) ||
45385
+ (!!table.containerFit?.height &&
45386
+ !!table.bottomFrozenRowCount &&
45387
+ row === table.rowCount - table.bottomFrozenRowCount - 1)) {
45388
+ height -= 1;
45389
+ }
45141
45390
  }
45142
- else if (row === 0 && bottomRight) {
45143
- height -= 1;
45391
+ else {
45392
+ if (col === 0) {
45393
+ width -= 1;
45394
+ }
45395
+ if (row === 0) {
45396
+ height -= 1;
45397
+ }
45144
45398
  }
45145
45399
  }
45146
45400
  else if (group.role === 'corner-frozen') {
@@ -46075,16 +46329,19 @@
46075
46329
  const adaptiveColumns = [];
46076
46330
  const sparklineColumns = [];
46077
46331
  let totalSparklineAbleWidth = 0;
46332
+ const maxWidthColumnMap = new Map();
46333
+ const minWidthColumnMap = new Map();
46078
46334
  for (let col = startCol; col < endColPlus1; col++) {
46079
46335
  const width = update ? newWidths[col] ?? table.getColWidth(col) : table.getColWidth(col);
46080
46336
  const maxWidth = table.getMaxColWidth(col);
46081
46337
  const minWidth = table.getMinColWidth(col);
46082
- if (width !== maxWidth && width !== minWidth) {
46083
- actualWidth += width;
46084
- adaptiveColumns.push(col);
46338
+ actualWidth += width;
46339
+ adaptiveColumns.push(col);
46340
+ if (maxWidth === width) {
46341
+ maxWidthColumnMap.set(col, width);
46085
46342
  }
46086
- else {
46087
- totalDrawWidth -= width;
46343
+ else if (minWidth === width) {
46344
+ minWidthColumnMap.set(col, width);
46088
46345
  }
46089
46346
  if (table.options.customConfig?.shrinkSparklineFirst) {
46090
46347
  const bodyCellType = table.getBodyColumnType(col, 0);
@@ -46094,6 +46351,26 @@
46094
46351
  }
46095
46352
  }
46096
46353
  }
46354
+ if (actualWidth > totalDrawWidth) {
46355
+ for (const [col, width] of minWidthColumnMap) {
46356
+ totalDrawWidth -= width;
46357
+ actualWidth -= width;
46358
+ const index = adaptiveColumns.indexOf(col);
46359
+ if (index !== -1) {
46360
+ adaptiveColumns.splice(index, 1);
46361
+ }
46362
+ }
46363
+ }
46364
+ else if (actualWidth < totalDrawWidth) {
46365
+ for (const [col, width] of maxWidthColumnMap) {
46366
+ totalDrawWidth -= width;
46367
+ actualWidth -= width;
46368
+ const index = adaptiveColumns.indexOf(col);
46369
+ if (index !== -1) {
46370
+ adaptiveColumns.splice(index, 1);
46371
+ }
46372
+ }
46373
+ }
46097
46374
  const factor = totalDrawWidth / actualWidth;
46098
46375
  if (table.options.customConfig?.shrinkSparklineFirst &&
46099
46376
  factor < 1 &&
@@ -46238,16 +46515,16 @@
46238
46515
  if (table.options.groupTitleFieldFormat) {
46239
46516
  value = table.options.groupTitleFieldFormat(rawRecord, col, row, table);
46240
46517
  }
46241
- else if (vtableMergeName) {
46518
+ else if (vtableMergeName !== undefined) {
46242
46519
  value = vtableMergeName;
46243
46520
  }
46244
46521
  }
46245
46522
  }
46246
46523
  const type = isVtableMerge || isCustomMerge
46247
46524
  ? 'text'
46248
- : (table.isHeader(col, row)
46249
- ? table._getHeaderLayoutMap(col, row).headerType ?? 'text'
46250
- : table.getBodyColumnType(col, row)) ?? 'text';
46525
+ : ((table.isHeader(col, row)
46526
+ ? (table._getHeaderLayoutMap(col, row).headerType ?? 'text')
46527
+ : table.getBodyColumnType(col, row)) ?? 'text');
46251
46528
  if (isPromise(value)) {
46252
46529
  createEmptyCellGroup(col, row, 0, y, cellWidth, cellHeight, columnGroup);
46253
46530
  dealPromiseData(value, table, callCreateCellForPromiseValue.bind(null, {
@@ -56379,6 +56656,7 @@
56379
56656
  event: e.nativeEvent
56380
56657
  });
56381
56658
  }
56659
+ clearPageSelection();
56382
56660
  table.eventManager.isDown = true;
56383
56661
  table.eventManager.LastBodyPointerXY = { x: e.x, y: e.y };
56384
56662
  table.eventManager.LastPointerXY = { x: e.x, y: e.y };
@@ -60774,6 +61052,11 @@
60774
61052
  }
60775
61053
  getCumulativeSum(position) {
60776
61054
  let sum = 0;
61055
+ let currentBottomFrozenRowsHeight = 0;
61056
+ let isBottomFrozenRowNoCache = false;
61057
+ const bottomFrozenStartRow = this.table.rowCount > 0 && this.table.bottomFrozenRowCount > 0
61058
+ ? this.table.rowCount - this.table.bottomFrozenRowCount
61059
+ : -1;
60777
61060
  for (let i = position; i >= 0; i--) {
60778
61061
  if (this.cumulativeSum.has(i)) {
60779
61062
  sum += this.cumulativeSum.get(i);
@@ -60781,6 +61064,16 @@
60781
61064
  }
60782
61065
  else {
60783
61066
  sum += this.data.get(i) ?? this.table.getRowHeight(i);
61067
+ if (i >= bottomFrozenStartRow && bottomFrozenStartRow !== -1) {
61068
+ currentBottomFrozenRowsHeight = sum;
61069
+ isBottomFrozenRowNoCache = i === bottomFrozenStartRow;
61070
+ }
61071
+ }
61072
+ }
61073
+ if (isBottomFrozenRowNoCache && !!this.table.containerFit?.height && !!this.table.bottomFrozenRowCount) {
61074
+ const tableHeight = this.table.tableNoFrameHeight || 0;
61075
+ if (sum < tableHeight) {
61076
+ sum = tableHeight - this.table.getBottomFrozenRowsHeight() + currentBottomFrozenRowsHeight;
60784
61077
  }
60785
61078
  }
60786
61079
  this.cumulativeSum.set(position, sum);
@@ -63325,7 +63618,7 @@
63325
63618
  constructor(table) {
63326
63619
  this.table = table;
63327
63620
  this.timeline = new DefaultTimeline();
63328
- this.ticker = new DefaultTicker();
63621
+ this.ticker = new DefaultTicker(this.table.scenegraph.stage);
63329
63622
  this.ticker.addTimeline(this.timeline);
63330
63623
  const TICKER_FPS = 60;
63331
63624
  this.ticker.setFPS(TICKER_FPS);
@@ -63480,7 +63773,7 @@
63480
63773
  return TABLE_EVENT_TYPE;
63481
63774
  }
63482
63775
  options;
63483
- version = "1.19.1-alpha.1";
63776
+ version = "1.19.2";
63484
63777
  pagination;
63485
63778
  id = `VTable${Date.now()}`;
63486
63779
  headerStyleCache;
@@ -64218,7 +64511,10 @@
64218
64511
  const cachedLowerColWidth = this._colRangeWidthsMap.get(`$${startCol}$${endCol - 1}`);
64219
64512
  if (cachedLowerColWidth !== null && cachedLowerColWidth !== undefined) {
64220
64513
  const adjustW = this.getColWidth(endCol);
64221
- const addWidth = cachedLowerColWidth + adjustW;
64514
+ let addWidth = cachedLowerColWidth + adjustW;
64515
+ if (this.rightFrozenColCount > 0 && endCol === this.colCount - this.rightFrozenColCount) {
64516
+ addWidth = this._getRangeSizeForContainerFit(startCol, endCol, addWidth, 'col');
64517
+ }
64222
64518
  if (startCol >= 0 && endCol >= 0 && !Number.isNaN(addWidth)) {
64223
64519
  this._colRangeWidthsMap.set(`$${startCol}$${endCol}`, Math.round(addWidth));
64224
64520
  }
@@ -64228,6 +64524,7 @@
64228
64524
  for (let col = startCol; col <= endCol; col++) {
64229
64525
  w += this.getColWidth(col);
64230
64526
  }
64527
+ w = this._getRangeSizeForContainerFit(startCol, endCol, w, 'col');
64231
64528
  if (startCol >= 0 && endCol >= 0) {
64232
64529
  this._colRangeWidthsMap.set(`$${startCol}$${endCol}`, Math.round(w));
64233
64530
  }
@@ -64316,19 +64613,20 @@
64316
64613
  !this.hasAutoImageColumn() &&
64317
64614
  !isDefaultRowHeightIsAuto &&
64318
64615
  this.internalProps._heightResizedRowMap.size === 0) {
64616
+ const bottomFrozenStartRow = this.rowCount - this.bottomFrozenRowCount;
64319
64617
  for (let i = startRow; i < Math.min(endRow + 1, this.columnHeaderLevelCount); i++) {
64320
64618
  h += this.getRowHeight(i);
64321
64619
  }
64322
64620
  if (endRow >= this.columnHeaderLevelCount) {
64323
64621
  h +=
64324
64622
  this.defaultRowHeight *
64325
- (Math.min(endRow, this.rowCount - this.bottomFrozenRowCount - 1) -
64326
- Math.max(this.columnHeaderLevelCount, startRow) +
64327
- 1);
64623
+ (Math.min(endRow, bottomFrozenStartRow - 1) - Math.max(this.columnHeaderLevelCount, startRow) + 1);
64328
64624
  }
64329
- for (let i = this.rowCount - this.bottomFrozenRowCount; i < endRow + 1; i++) {
64330
- h += this.getRowHeight(i);
64625
+ let currentBottomFrozenRowsHeight = 0;
64626
+ for (let i = bottomFrozenStartRow; i < endRow + 1; i++) {
64627
+ currentBottomFrozenRowsHeight += this.getRowHeight(i);
64331
64628
  }
64629
+ h = this._getRangeSizeForContainerFit(startRow, endRow, h + currentBottomFrozenRowsHeight, 'row');
64332
64630
  }
64333
64631
  else {
64334
64632
  if (this.options.customConfig?._disableColumnAndRowSizeRound) {
@@ -64353,6 +64651,58 @@
64353
64651
  }
64354
64652
  return Math.round(h);
64355
64653
  }
64654
+ _getRangeSizeForContainerFit(start, end, totalSize, type = 'col') {
64655
+ if (!isFinite(start) || !isFinite(end)) {
64656
+ return totalSize;
64657
+ }
64658
+ const keyMap = type === 'col'
64659
+ ? {
64660
+ totalCount: 'colCount',
64661
+ frozenCount: 'rightFrozenColCount',
64662
+ fitType: 'width',
64663
+ tableSize: 'tableNoFrameWidth',
64664
+ getSize: 'getColWidth'
64665
+ }
64666
+ : {
64667
+ totalCount: 'rowCount',
64668
+ frozenCount: 'bottomFrozenRowCount',
64669
+ fitType: 'height',
64670
+ tableSize: 'tableNoFrameHeight',
64671
+ getSize: 'getRowHeight'
64672
+ };
64673
+ const tableSize = this[keyMap.tableSize];
64674
+ if (totalSize >= tableSize) {
64675
+ return totalSize;
64676
+ }
64677
+ const frozenStart = this[keyMap.totalCount] - this[keyMap.frozenCount];
64678
+ if (!isFinite(this[keyMap.totalCount]) || this[keyMap.frozenCount] <= 0 || frozenStart < 0) {
64679
+ return totalSize;
64680
+ }
64681
+ const noIntersecting = start > frozenStart || end < frozenStart || start === end;
64682
+ if (noIntersecting || !this.containerFit?.[keyMap.fitType]) {
64683
+ return totalSize;
64684
+ }
64685
+ const first = 0;
64686
+ const last = this[keyMap.totalCount] - 1;
64687
+ let size = tableSize;
64688
+ if (start > first) {
64689
+ for (let i = 0; i < start; i++) {
64690
+ size -= this[keyMap.getSize](i);
64691
+ if (size <= 0) {
64692
+ return totalSize;
64693
+ }
64694
+ }
64695
+ }
64696
+ if (end !== last) {
64697
+ for (let i = end + 1; i <= last; i++) {
64698
+ size -= this[keyMap.getSize](i);
64699
+ if (size <= 0) {
64700
+ return totalSize;
64701
+ }
64702
+ }
64703
+ }
64704
+ return size;
64705
+ }
64356
64706
  getColWidthDefined(col) {
64357
64707
  const { layoutMap } = this.internalProps;
64358
64708
  if (this.widthMode === 'autoWidth') {
@@ -65131,8 +65481,12 @@
65131
65481
  return 0;
65132
65482
  }
65133
65483
  getDrawRange() {
65134
- const width = Math.min(this.tableNoFrameWidth, this.getAllColsWidth());
65135
- const height = Math.min(this.tableNoFrameHeight, this.getAllRowsHeight());
65484
+ const width = this.containerFit?.width
65485
+ ? this.tableNoFrameWidth
65486
+ : Math.min(this.tableNoFrameWidth, this.getAllColsWidth());
65487
+ const height = this.containerFit?.height
65488
+ ? this.tableNoFrameHeight
65489
+ : Math.min(this.tableNoFrameHeight, this.getAllRowsHeight());
65136
65490
  return new Rect$1(this.tableX, this.tableY, width, height);
65137
65491
  }
65138
65492
  _getMouseAbstractPoint(evt) {
@@ -68368,6 +68722,7 @@
68368
68722
  _headerCellIds;
68369
68723
  _columns;
68370
68724
  _columnsIncludeHided;
68725
+ _columnMaxDepth = 0;
68371
68726
  rowSeriesNumberColumn;
68372
68727
  leftRowSeriesNumberColumn;
68373
68728
  rightRowSeriesNumberColumn;
@@ -68395,6 +68750,7 @@
68395
68750
  this._columns = [];
68396
68751
  this._columnsIncludeHided = [];
68397
68752
  this._headerCellIds = [];
68753
+ this._columnMaxDepth = this._calculateMaxDepth(columns);
68398
68754
  this.hierarchyIndent = hierarchyIndent ?? 20;
68399
68755
  this.hierarchyTextStartAlignment = table.options.hierarchyTextStartAlignment;
68400
68756
  this.columnHierarchyType = table.options.headerHierarchyType;
@@ -69180,7 +69536,19 @@
69180
69536
  const skipRowCount = this.hasAggregationOnTopCount ? this.headerLevelCount + 1 : this.headerLevelCount;
69181
69537
  return skipRowCount + index;
69182
69538
  }
69183
- _addHeaders(row, column, roots, hideColumnsSubHeader) {
69539
+ _calculateMaxDepth(columns, currentDepth = 0) {
69540
+ let maxDepth = currentDepth;
69541
+ columns.forEach(col => {
69542
+ if (col.columns && col.columns.length > 0) {
69543
+ const childDepth = this._calculateMaxDepth(col.columns, currentDepth + 1);
69544
+ if (childDepth > maxDepth) {
69545
+ maxDepth = childDepth;
69546
+ }
69547
+ }
69548
+ });
69549
+ return maxDepth;
69550
+ }
69551
+ _addHeaders(row, column, roots, hideColumnsSubHeader, lastLevelSpan) {
69184
69552
  const results = [];
69185
69553
  const rowCells = this._newRow(row, hideColumnsSubHeader);
69186
69554
  column.forEach((hd) => {
@@ -69199,20 +69567,45 @@
69199
69567
  columnWidthComputeMode: hd.columnWidthComputeMode
69200
69568
  };
69201
69569
  results[id] = cell;
69202
- for (let r = row - 1; r >= 0; r--) {
69203
- this._headerCellIds[r] && (this._headerCellIds[r][col] = roots[r]);
69570
+ let maxRow = row;
69571
+ if (hd.levelSpan) {
69572
+ maxRow = Math.min(row + hd.levelSpan - 1, this._columnMaxDepth - 1);
69573
+ for (let r = row; r <= maxRow; r++) {
69574
+ if (!this._headerCellIds[r]) {
69575
+ this._headerCellIds[r] = [];
69576
+ }
69577
+ if (this._headerCellIds[r][col] === undefined) {
69578
+ this._headerCellIds[r][col] = id;
69579
+ }
69580
+ }
69581
+ }
69582
+ if (lastLevelSpan) {
69583
+ for (let r = maxRow - 1; r >= 0; r--) {
69584
+ if (this._headerCellIds[r] &&
69585
+ this._headerCellIds[r][col] === undefined &&
69586
+ roots[maxRow - lastLevelSpan] !== undefined) {
69587
+ this._headerCellIds[r][col] = roots[maxRow - lastLevelSpan];
69588
+ }
69589
+ }
69590
+ }
69591
+ else {
69592
+ for (let r = maxRow - 1; r >= 0; r--) {
69593
+ if (this._headerCellIds[r] && this._headerCellIds[r][col] === undefined && roots[r] !== undefined) {
69594
+ this._headerCellIds[r][col] = roots[r];
69595
+ }
69596
+ }
69204
69597
  }
69205
69598
  if (!hideColumnsSubHeader) {
69206
69599
  rowCells[col] = id;
69207
69600
  }
69208
- else if (this._headerCellIds[row - 1]) {
69601
+ else if (this._headerCellIds[row - 1] && this._headerCellIds[row - 1][col] !== undefined) {
69209
69602
  rowCells[col] = this._headerCellIds[row - 1][col];
69210
69603
  }
69211
69604
  const expand = !hd.hierarchyState || hd.hierarchyState === HierarchyState.expand;
69212
69605
  if (!!hd.columns && !!expand) {
69213
69606
  const isAllHided = hd.columns.every((c) => c.hide);
69214
69607
  !isAllHided &&
69215
- this._addHeaders(row + 1, hd.columns, [...roots, id], hd.hideColumnsSubHeader || hideColumnsSubHeader).forEach(c => results.push(c));
69608
+ this._addHeaders(maxRow + 1, hd.columns, [...roots, id], hd.hideColumnsSubHeader || hideColumnsSubHeader, hd.levelSpan).forEach(c => results.push(c));
69216
69609
  }
69217
69610
  else {
69218
69611
  const colDef = {
@@ -69615,7 +70008,13 @@
69615
70008
  const editor = this.table.getEditor(col, row);
69616
70009
  if (editor) {
69617
70010
  if (this.table.internalProps.layoutMap?.isAggregation?.(col, row)) {
69618
- return;
70011
+ const isPivotTable = this.table.isPivotTable?.();
70012
+ const updateAggregationOnEditCell = isPivotTable
70013
+ ? this.table.internalProps?.dataConfig?.updateAggregationOnEditCell
70014
+ : false;
70015
+ if (!isPivotTable || (isPivotTable && updateAggregationOnEditCell)) {
70016
+ return;
70017
+ }
69619
70018
  }
69620
70019
  const record = this.table.getCellRawRecord(col, row);
69621
70020
  if (record?.vtableMerge) {
@@ -70663,7 +71062,7 @@
70663
71062
  this._hasAutoImageColumn = undefined;
70664
71063
  this.refreshHeader();
70665
71064
  this.dataSource.updateColumns?.(this.internalProps.columns);
70666
- if (this.records && checkHasAggregationOnColumnDefine(columns)) {
71065
+ if (this.records && checkHasAggregationOnColumnDefine(this.internalProps.columns)) {
70667
71066
  this.dataSource.processRecords(this.dataSource.dataSourceObj?.records ?? this.dataSource.dataSourceObj);
70668
71067
  }
70669
71068
  this.internalProps.useOneRowHeightFillAll = false;
@@ -81449,6 +81848,23 @@
81449
81848
  this._colHeaderPathCache.clear();
81450
81849
  this._rowHeaderPathCache.clear();
81451
81850
  }
81851
+ isAggregation(col, row) {
81852
+ if (this.isHeader(col, row)) {
81853
+ return false;
81854
+ }
81855
+ const cellHeaderPaths = this.getCellHeaderPaths(col, row);
81856
+ for (const path of cellHeaderPaths.colHeaderPaths) {
81857
+ if (path.role === 'sub-total' || path.role === 'grand-total') {
81858
+ return true;
81859
+ }
81860
+ }
81861
+ for (const path of cellHeaderPaths.rowHeaderPaths) {
81862
+ if (path.role === 'sub-total' || path.role === 'grand-total') {
81863
+ return true;
81864
+ }
81865
+ }
81866
+ return false;
81867
+ }
81452
81868
  }
81453
81869
  function scaleWholeRangeSize(count, bandwidth, paddingInner, paddingOuter) {
81454
81870
  if (paddingInner === 1) {
@@ -83118,6 +83534,11 @@
83118
83534
  else {
83119
83535
  flatColKey = colKey.join(this.stringJoinChar);
83120
83536
  }
83537
+ if (typeof newValue === 'string') {
83538
+ if (!isNaN(parseFloat(newValue))) {
83539
+ newValue = parseFloat(newValue);
83540
+ }
83541
+ }
83121
83542
  if (this.changedTree[flatRowKey]?.[flatColKey]) {
83122
83543
  this.changedTree[flatRowKey][flatColKey][indicatorIndex] = newValue;
83123
83544
  }
@@ -83134,6 +83555,134 @@
83134
83555
  if (cellAggregator?.records.length === 1) {
83135
83556
  cellAggregator.records[0][this.indicatorKeys[indicatorIndex]] = newValue;
83136
83557
  }
83558
+ if (this.dataConfig?.updateAggregationOnEditCell ?? false) {
83559
+ if (cellAggregator) {
83560
+ cellAggregator.changedValue = newValue;
83561
+ this.recalculateTotals(rowKey, colKey, indicator);
83562
+ }
83563
+ else {
83564
+ const newCellAggregator = new SumAggregator({
83565
+ key: indicator,
83566
+ field: indicator,
83567
+ isRecord: true,
83568
+ });
83569
+ newCellAggregator.changedValue = newValue;
83570
+ this.recalculateTotals(rowKey, colKey, indicator, newCellAggregator);
83571
+ }
83572
+ }
83573
+ }
83574
+ recalculateTotals(rowKey = [], colKey = [], indicator, newCellAggregator) {
83575
+ if (!this.totals ||
83576
+ Object.keys(this.tree).length === 0 ||
83577
+ (!(this.totals.row?.showGrandTotals ||
83578
+ (this.totals.row?.subTotalsDimensions &&
83579
+ this.totals.row.subTotalsDimensions.length > 0 &&
83580
+ this.totals.row.showSubTotals !== false)) &&
83581
+ !(this.totals.column?.showGrandTotals ||
83582
+ (this.totals.column?.subTotalsDimensions &&
83583
+ this.totals.column.subTotalsDimensions.length > 0 &&
83584
+ this.totals.column.showSubTotals !== false)))) {
83585
+ return;
83586
+ }
83587
+ const flatRowKey = Array.isArray(rowKey) ? rowKey.join(this.stringJoinChar) : rowKey;
83588
+ const flatColKey = Array.isArray(colKey) ? colKey.join(this.stringJoinChar) : colKey;
83589
+ const indicatorIndex = this.indicatorKeysIncludeCalculatedFieldDependIndicatorKeys.indexOf(indicator);
83590
+ const aggregatorsToReset = new Set();
83591
+ const subTotalAggregators = new Set();
83592
+ const rowKeyParts = flatRowKey.split(this.stringJoinChar);
83593
+ const colKeyParts = flatColKey.split(this.stringJoinChar);
83594
+ const addAggregatorToResetSet = (agg, rowKey, colKey) => {
83595
+ if (agg && !(rowKey === flatRowKey && colKey === flatColKey)) {
83596
+ aggregatorsToReset.add(agg);
83597
+ if (rowKey === flatRowKey || colKey === flatColKey) {
83598
+ subTotalAggregators.add(agg);
83599
+ }
83600
+ }
83601
+ };
83602
+ if (this.totals?.row?.subTotalsDimensions && this.totals.row.showSubTotals !== false) {
83603
+ for (let i = 0; i < this.totals.row.subTotalsDimensions.length; i++) {
83604
+ const dimension = this.totals.row.subTotalsDimensions[i];
83605
+ const dimensionIndex = this.rows.indexOf(dimension);
83606
+ if (dimensionIndex >= 0 && dimensionIndex < rowKeyParts.length) {
83607
+ const rowSubTotalKeyParts = rowKeyParts.slice(0, dimensionIndex + 1);
83608
+ if (this.rowHierarchyType !== 'tree') {
83609
+ rowSubTotalKeyParts.push(this.rowSubTotalLabel);
83610
+ }
83611
+ const flatRowSubTotalKey = rowSubTotalKeyParts.join(this.stringJoinChar);
83612
+ if (this.tree[flatRowSubTotalKey]?.[flatColKey]?.[indicatorIndex]) {
83613
+ addAggregatorToResetSet(this.tree[flatRowSubTotalKey][flatColKey][indicatorIndex], flatRowSubTotalKey, flatColKey);
83614
+ }
83615
+ if (this.totals?.column?.subTotalsDimensions && this.totals.column.showSubTotals !== false) {
83616
+ for (let j = 0; j < this.totals.column.subTotalsDimensions.length; j++) {
83617
+ const colDimension = this.totals.column.subTotalsDimensions[j];
83618
+ const colDimensionIndex = this.columns.indexOf(colDimension);
83619
+ if (colDimensionIndex >= 0 && colDimensionIndex < colKeyParts.length) {
83620
+ const colSubTotalKeyParts = colKeyParts.slice(0, colDimensionIndex + 1);
83621
+ colSubTotalKeyParts.push(this.colSubTotalLabel);
83622
+ const flatColSubTotalKey = colSubTotalKeyParts.join(this.stringJoinChar);
83623
+ if (this.tree[flatRowSubTotalKey]?.[flatColSubTotalKey]?.[indicatorIndex]) {
83624
+ addAggregatorToResetSet(this.tree[flatRowSubTotalKey][flatColSubTotalKey][indicatorIndex], flatRowSubTotalKey, flatColSubTotalKey);
83625
+ }
83626
+ }
83627
+ }
83628
+ }
83629
+ if (this.totals?.column?.showGrandTotals) {
83630
+ if (this.tree[flatRowSubTotalKey]?.[this.colGrandTotalLabel]?.[indicatorIndex]) {
83631
+ addAggregatorToResetSet(this.tree[flatRowSubTotalKey][this.colGrandTotalLabel][indicatorIndex], flatRowSubTotalKey, this.colGrandTotalLabel);
83632
+ }
83633
+ }
83634
+ }
83635
+ }
83636
+ }
83637
+ if (this.totals?.row?.showGrandTotals) {
83638
+ if (this.tree[this.rowGrandTotalLabel]?.[flatColKey]?.[indicatorIndex]) {
83639
+ addAggregatorToResetSet(this.tree[this.rowGrandTotalLabel][flatColKey][indicatorIndex], this.rowGrandTotalLabel, flatColKey);
83640
+ }
83641
+ if (this.totals?.column?.subTotalsDimensions && this.totals.column.showSubTotals !== false) {
83642
+ for (let j = 0; j < this.totals.column.subTotalsDimensions.length; j++) {
83643
+ const colDimension = this.totals.column.subTotalsDimensions[j];
83644
+ const colDimensionIndex = this.columns.indexOf(colDimension);
83645
+ if (colDimensionIndex >= 0 && colDimensionIndex < colKeyParts.length) {
83646
+ const colSubTotalKeyParts = colKeyParts.slice(0, colDimensionIndex + 1);
83647
+ colSubTotalKeyParts.push(this.colSubTotalLabel);
83648
+ const flatColSubTotalKey = colSubTotalKeyParts.join(this.stringJoinChar);
83649
+ if (this.tree[this.rowGrandTotalLabel]?.[flatColSubTotalKey]?.[indicatorIndex]) {
83650
+ addAggregatorToResetSet(this.tree[this.rowGrandTotalLabel][flatColSubTotalKey][indicatorIndex], this.rowGrandTotalLabel, flatColSubTotalKey);
83651
+ }
83652
+ }
83653
+ }
83654
+ }
83655
+ if (this.totals?.column?.showGrandTotals) {
83656
+ if (this.tree[this.rowGrandTotalLabel]?.[this.colGrandTotalLabel]?.[indicatorIndex]) {
83657
+ addAggregatorToResetSet(this.tree[this.rowGrandTotalLabel][this.colGrandTotalLabel][indicatorIndex], this.rowGrandTotalLabel, this.colGrandTotalLabel);
83658
+ }
83659
+ }
83660
+ }
83661
+ if (this.totals?.column?.subTotalsDimensions && this.totals.column.showSubTotals !== false) {
83662
+ for (let j = 0; j < this.totals.column.subTotalsDimensions.length; j++) {
83663
+ const colDimension = this.totals.column.subTotalsDimensions[j];
83664
+ const colDimensionIndex = this.columns.indexOf(colDimension);
83665
+ if (colDimensionIndex >= 0 && colDimensionIndex < colKeyParts.length) {
83666
+ const colSubTotalKeyParts = colKeyParts.slice(0, colDimensionIndex + 1);
83667
+ colSubTotalKeyParts.push(this.colSubTotalLabel);
83668
+ const flatColSubTotalKey = colSubTotalKeyParts.join(this.stringJoinChar);
83669
+ if (this.tree[flatRowKey]?.[flatColSubTotalKey]?.[indicatorIndex]) {
83670
+ addAggregatorToResetSet(this.tree[flatRowKey][flatColSubTotalKey][indicatorIndex], flatRowKey, flatColSubTotalKey);
83671
+ }
83672
+ }
83673
+ }
83674
+ }
83675
+ if (this.totals?.column?.showGrandTotals) {
83676
+ if (this.tree[flatRowKey]?.[this.colGrandTotalLabel]?.[indicatorIndex]) {
83677
+ addAggregatorToResetSet(this.tree[flatRowKey][this.colGrandTotalLabel][indicatorIndex], flatRowKey, this.colGrandTotalLabel);
83678
+ }
83679
+ }
83680
+ aggregatorsToReset.forEach(agg => {
83681
+ if (newCellAggregator && subTotalAggregators.has(agg)) {
83682
+ agg.push(newCellAggregator);
83683
+ }
83684
+ agg.recalculate();
83685
+ });
83137
83686
  }
83138
83687
  changeRecordFieldValue(fieldName, oldValue, value) {
83139
83688
  let isIndicatorName = false;
@@ -84596,6 +85145,15 @@
84596
85145
  this.scenegraph.updateCellContent(sCol, sRow);
84597
85146
  }
84598
85147
  }
85148
+ if (this.options.dataConfig?.updateAggregationOnEditCell ?? false) {
85149
+ for (let col = 0; col < this.colCount; col++) {
85150
+ for (let row = 0; row < this.rowCount; row++) {
85151
+ if (this.internalProps.layoutMap.isAggregation(col, row)) {
85152
+ this.scenegraph.updateCellContent(col, row);
85153
+ }
85154
+ }
85155
+ }
85156
+ }
84599
85157
  if (this.widthMode === 'adaptive' || (this.autoFillWidth && this.getAllColsWidth() <= this.tableNoFrameWidth)) {
84600
85158
  if (this.internalProps._widthResizedColMap.size === 0) {
84601
85159
  this.scenegraph.recalculateColWidths();
@@ -84698,6 +85256,15 @@
84698
85256
  this.scenegraph.updateCellContent(sCol, sRow);
84699
85257
  }
84700
85258
  }
85259
+ if (this.options.dataConfig?.updateAggregationOnEditCell ?? false) {
85260
+ for (let col = 0; col < this.colCount; col++) {
85261
+ for (let row = 0; row < this.rowCount; row++) {
85262
+ if (this.internalProps.layoutMap.isAggregation(col, row)) {
85263
+ this.scenegraph.updateCellContent(col, row);
85264
+ }
85265
+ }
85266
+ }
85267
+ }
84701
85268
  if (this.widthMode === 'adaptive' || (this.autoFillWidth && this.getAllColsWidth() <= this.tableNoFrameWidth)) {
84702
85269
  if (this.internalProps._widthResizedColMap.size === 0) {
84703
85270
  this.scenegraph.recalculateColWidths();
@@ -86623,7 +87190,7 @@
86623
87190
  }
86624
87191
 
86625
87192
  registerForVrender();
86626
- const version = "1.19.1-alpha.1";
87193
+ const version = "1.19.2";
86627
87194
  function getIcons() {
86628
87195
  return get$2();
86629
87196
  }
@@ -86690,6 +87257,7 @@
86690
87257
  exports.setCustomAlphabetCharSet = setCustomAlphabetCharSet;
86691
87258
  exports.textMeasure = textMeasure;
86692
87259
  exports.themes = themes$1;
87260
+ exports.toBoxArray = toBoxArray$1;
86693
87261
  exports.updateCell = updateCell$1;
86694
87262
  exports.version = version;
86695
87263