@deephaven/grid 1.22.1 → 1.22.2-alpha-pivot-builder.0730ba6.0

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 (58) hide show
  1. package/dist/CellInputField.js +41 -22
  2. package/dist/CellInputField.js.map +1 -1
  3. package/dist/CellRenderer.js +19 -27
  4. package/dist/CellRenderer.js.map +1 -1
  5. package/dist/DataBarCellRenderer.js +61 -87
  6. package/dist/DataBarCellRenderer.js.map +1 -1
  7. package/dist/Grid.d.ts.map +1 -1
  8. package/dist/Grid.js +291 -453
  9. package/dist/Grid.js.map +1 -1
  10. package/dist/GridColorUtils.js +23 -21
  11. package/dist/GridColorUtils.js.map +1 -1
  12. package/dist/GridMetricCalculator.js +192 -303
  13. package/dist/GridMetricCalculator.js.map +1 -1
  14. package/dist/GridRange.js +18 -28
  15. package/dist/GridRange.js.map +1 -1
  16. package/dist/GridRenderer.js +429 -600
  17. package/dist/GridRenderer.js.map +1 -1
  18. package/dist/GridUtils.js +130 -163
  19. package/dist/GridUtils.js.map +1 -1
  20. package/dist/MockGridModel.js +17 -10
  21. package/dist/MockGridModel.js.map +1 -1
  22. package/dist/MockTreeGridModel.js +36 -31
  23. package/dist/MockTreeGridModel.js.map +1 -1
  24. package/dist/TextCellRenderer.js +36 -57
  25. package/dist/TextCellRenderer.js.map +1 -1
  26. package/dist/key-handlers/EditKeyHandler.js +4 -7
  27. package/dist/key-handlers/EditKeyHandler.js.map +1 -1
  28. package/dist/key-handlers/PasteKeyHandler.js +1 -3
  29. package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
  30. package/dist/key-handlers/SelectionKeyHandler.js +40 -71
  31. package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
  32. package/dist/key-handlers/TreeKeyHandler.js +4 -10
  33. package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
  34. package/dist/mouse-handlers/EditMouseHandler.js +3 -7
  35. package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
  36. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +54 -82
  37. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
  38. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +4 -8
  39. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
  40. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +31 -55
  41. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
  42. package/dist/mouse-handlers/GridRowMoveMouseHandler.js +26 -46
  43. package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
  44. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +2 -4
  45. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
  46. package/dist/mouse-handlers/GridRowTreeMouseHandler.js +14 -22
  47. package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
  48. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +8 -16
  49. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
  50. package/dist/mouse-handlers/GridSelectionMouseHandler.js +47 -75
  51. package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
  52. package/dist/mouse-handlers/GridSeparatorMouseHandler.js +9 -23
  53. package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
  54. package/dist/mouse-handlers/GridTokenMouseHandler.js +24 -39
  55. package/dist/mouse-handlers/GridTokenMouseHandler.js.map +1 -1
  56. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +31 -55
  57. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
  58. package/package.json +3 -3
package/dist/Grid.js CHANGED
@@ -119,14 +119,12 @@ class Grid extends PureComponent {
119
119
  this.handleResize = this.handleResize.bind(this);
120
120
  this.handleWheel = this.handleWheel.bind(this);
121
121
  this.getSelectedRanges = this.getSelectedRanges.bind(this);
122
- var {
123
- isStuckToBottom,
124
- isStuckToRight,
125
- metricCalculator,
126
- movedColumns,
127
- movedRows,
128
- renderer
129
- } = props;
122
+ var isStuckToBottom = props.isStuckToBottom,
123
+ isStuckToRight = props.isStuckToRight,
124
+ metricCalculator = props.metricCalculator,
125
+ movedColumns = props.movedColumns,
126
+ movedRows = props.movedRows,
127
+ renderer = props.renderer;
130
128
  this.renderer = renderer || new GridRenderer();
131
129
  this.metricCalculator = metricCalculator || new GridMetricCalculator();
132
130
  this.canvas = null;
@@ -215,23 +213,19 @@ class Grid extends PureComponent {
215
213
 
216
214
  // apply on mount, so that it works with a static model
217
215
  // https://github.com/deephaven/web-client-ui/issues/581
218
- var {
219
- isStuckToBottom,
220
- isStuckToRight
221
- } = this.props;
222
- var {
223
- top,
224
- left
225
- } = this.getStickyScrollPosition(isStuckToBottom, isStuckToRight);
216
+ var _this$props = this.props,
217
+ isStuckToBottom = _this$props.isStuckToBottom,
218
+ isStuckToRight = _this$props.isStuckToRight;
219
+ var _this$getStickyScroll = this.getStickyScrollPosition(isStuckToBottom, isStuckToRight),
220
+ top = _this$getStickyScroll.top,
221
+ left = _this$getStickyScroll.left;
226
222
  this.setState({
227
223
  top,
228
224
  left
229
225
  });
230
226
  }
231
227
  componentDidUpdate(prevProps, prevState) {
232
- var {
233
- renderError
234
- } = this.state;
228
+ var renderError = this.state.renderError;
235
229
 
236
230
  // Render errors mean we can't recover
237
231
  if (renderError != null) {
@@ -243,32 +237,28 @@ class Grid extends PureComponent {
243
237
  if ((changedProps.length === 0 || changedProps.length === 1 && changedProps[0] === 'children') && changedState.length === 0) {
244
238
  return;
245
239
  }
246
- var {
247
- isStickyBottom,
248
- isStickyRight,
249
- movedColumns,
250
- movedRows,
251
- onMovedColumnsChanged,
252
- onMoveColumnComplete,
253
- onMovedRowsChanged,
254
- onMoveRowComplete
255
- } = this.props;
256
- var {
257
- isStickyBottom: prevIsStickyBottom,
258
- isStickyRight: prevIsStickyRight,
259
- movedColumns: prevPropMovedColumns,
260
- movedRows: prevPropMovedRows
261
- } = prevProps;
262
- var {
263
- movedColumns: prevStateMovedColumns,
264
- movedRows: prevStateMovedRows
265
- } = prevState;
266
- var {
267
- draggingColumn,
268
- draggingRow,
269
- movedColumns: currentStateMovedColumns,
270
- movedRows: currentStateMovedRows
271
- } = this.state;
240
+ var _this$props2 = this.props,
241
+ isStickyBottom = _this$props2.isStickyBottom,
242
+ isStickyRight = _this$props2.isStickyRight,
243
+ movedColumns = _this$props2.movedColumns,
244
+ movedRows = _this$props2.movedRows,
245
+ onMovedColumnsChanged = _this$props2.onMovedColumnsChanged,
246
+ onMoveColumnComplete = _this$props2.onMoveColumnComplete,
247
+ onMovedRowsChanged = _this$props2.onMovedRowsChanged,
248
+ onMoveRowComplete = _this$props2.onMoveRowComplete,
249
+ renderer = _this$props2.renderer,
250
+ metricCalculator = _this$props2.metricCalculator;
251
+ var prevIsStickyBottom = prevProps.isStickyBottom,
252
+ prevIsStickyRight = prevProps.isStickyRight,
253
+ prevPropMovedColumns = prevProps.movedColumns,
254
+ prevPropMovedRows = prevProps.movedRows;
255
+ var prevStateMovedColumns = prevState.movedColumns,
256
+ prevStateMovedRows = prevState.movedRows;
257
+ var _this$state = this.state,
258
+ draggingColumn = _this$state.draggingColumn,
259
+ draggingRow = _this$state.draggingRow,
260
+ currentStateMovedColumns = _this$state.movedColumns,
261
+ currentStateMovedRows = _this$state.movedRows;
272
262
  var stateUpdates = {};
273
263
  if (prevPropMovedColumns !== movedColumns) {
274
264
  stateUpdates.movedColumns = movedColumns;
@@ -294,14 +284,23 @@ class Grid extends PureComponent {
294
284
  if (isStickyRight !== prevIsStickyRight) {
295
285
  stateUpdates.isStuckToRight = false;
296
286
  }
287
+
288
+ // Sync renderer/metricCalculator props to instance fields so callers can
289
+ // swap them at runtime (e.g. pivot model swap supplies a pivot renderer
290
+ // and metric calculator).
291
+ if (renderer !== prevProps.renderer) {
292
+ this.renderer = renderer !== null && renderer !== void 0 ? renderer : new GridRenderer();
293
+ }
294
+ if (metricCalculator !== prevProps.metricCalculator) {
295
+ this.metricCalculator = metricCalculator !== null && metricCalculator !== void 0 ? metricCalculator : new GridMetricCalculator();
296
+ }
297
297
  var updatedState = _objectSpread(_objectSpread({}, this.state), stateUpdates);
298
298
  this.updateMetrics(updatedState);
299
299
  this.requestUpdateCanvas();
300
300
  if (this.needToUpdateScroll()) {
301
- var {
302
- top,
303
- left
304
- } = this.getStickyScrollPosition(isStickyBottom, isStickyRight);
301
+ var _this$getStickyScroll2 = this.getStickyScrollPosition(isStickyBottom, isStickyRight),
302
+ top = _this$getStickyScroll2.top,
303
+ left = _this$getStickyScroll2.left;
305
304
  updatedState.top = top;
306
305
  updatedState.left = left;
307
306
  }
@@ -323,9 +322,7 @@ class Grid extends PureComponent {
323
322
  this.removeDocumentCursor();
324
323
  }
325
324
  getTheme() {
326
- var {
327
- theme
328
- } = this.props;
325
+ var theme = this.props.theme;
329
326
  return Grid.getTheme(this.context, theme);
330
327
  }
331
328
  getGridPointFromEvent(event) {
@@ -342,27 +339,24 @@ class Grid extends PureComponent {
342
339
  getMetricState() {
343
340
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state;
344
341
  var theme = this.getTheme();
345
- var {
346
- model,
347
- stateOverride
348
- } = this.props;
342
+ var _this$props3 = this.props,
343
+ model = _this$props3.model,
344
+ stateOverride = _this$props3.stateOverride;
349
345
  if (!this.canvasContext || !this.canvas) {
350
346
  throw new Error('Canvas and context must be defined to get metrics');
351
347
  }
352
348
  var context = this.canvasContext;
353
349
  var width = this.canvas.clientWidth;
354
350
  var height = this.canvas.clientHeight;
355
- var {
356
- left,
357
- top,
358
- leftOffset,
359
- topOffset,
360
- movedColumns,
361
- movedRows,
362
- isDraggingHorizontalScrollBar,
363
- isDraggingVerticalScrollBar,
364
- draggingColumn
365
- } = state;
351
+ var left = state.left,
352
+ top = state.top,
353
+ leftOffset = state.leftOffset,
354
+ topOffset = state.topOffset,
355
+ movedColumns = state.movedColumns,
356
+ movedRows = state.movedRows,
357
+ isDraggingHorizontalScrollBar = state.isDraggingHorizontalScrollBar,
358
+ isDraggingVerticalScrollBar = state.isDraggingVerticalScrollBar,
359
+ draggingColumn = state.draggingColumn;
366
360
  return _objectSpread({
367
361
  left,
368
362
  top,
@@ -381,15 +375,11 @@ class Grid extends PureComponent {
381
375
  }, stateOverride);
382
376
  }
383
377
  getKeyHandlers() {
384
- var {
385
- keyHandlers
386
- } = this.props;
378
+ var keyHandlers = this.props.keyHandlers;
387
379
  return this.getCachedKeyHandlers(keyHandlers);
388
380
  }
389
381
  getMouseHandlers() {
390
- var {
391
- mouseHandlers
392
- } = this.props;
382
+ var mouseHandlers = this.props.mouseHandlers;
393
383
  return this.getCachedMouseHandlers(mouseHandlers);
394
384
  }
395
385
 
@@ -429,9 +419,7 @@ class Grid extends PureComponent {
429
419
  toggleRowExpanded(row) {
430
420
  var expandDescendants = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
431
421
  var modelRow = this.getModelRow(row);
432
- var {
433
- model
434
- } = this.props;
422
+ var model = this.props.model;
435
423
  // We only want to set expansion if the row is expandable
436
424
  // If it's not, still move the cursor to that position, as it may be outside of the current viewport and we don't know if it's expandable yet
437
425
  if (isExpandableGridModel(model) && model.isRowExpandable(modelRow)) {
@@ -451,16 +439,15 @@ class Grid extends PureComponent {
451
439
  left: this.state.left,
452
440
  top: this.state.top
453
441
  };
454
- var {
455
- bottomVisible,
456
- rowCount,
457
- top,
458
- lastTop,
459
- rightVisible,
460
- columnCount,
461
- left,
462
- lastLeft
463
- } = this.metrics;
442
+ var _this$metrics3 = this.metrics,
443
+ bottomVisible = _this$metrics3.bottomVisible,
444
+ rowCount = _this$metrics3.rowCount,
445
+ top = _this$metrics3.top,
446
+ lastTop = _this$metrics3.lastTop,
447
+ rightVisible = _this$metrics3.rightVisible,
448
+ columnCount = _this$metrics3.columnCount,
449
+ left = _this$metrics3.left,
450
+ lastLeft = _this$metrics3.lastLeft;
464
451
  var newTop = top;
465
452
  var newLeft = left;
466
453
  if (isStickyBottom && (bottomVisible < rowCount - 1 && bottomVisible > 0 || top > lastTop)) {
@@ -481,18 +468,13 @@ class Grid extends PureComponent {
481
468
  * @param gridRanges The new selected ranges to set
482
469
  */
483
470
  setSelectedRanges(gridRanges) {
484
- var {
485
- model
486
- } = this.props;
487
- var {
488
- columnCount,
489
- rowCount
490
- } = model;
491
- var {
492
- cursorRow,
493
- cursorColumn,
494
- selectedRanges
495
- } = this.state;
471
+ var model = this.props.model;
472
+ var columnCount = model.columnCount,
473
+ rowCount = model.rowCount;
474
+ var _this$state2 = this.state,
475
+ cursorRow = _this$state2.cursorRow,
476
+ cursorColumn = _this$state2.cursorColumn,
477
+ selectedRanges = _this$state2.selectedRanges;
496
478
  this.setState({
497
479
  selectedRanges: gridRanges,
498
480
  lastSelectedRanges: selectedRanges
@@ -502,10 +484,9 @@ class Grid extends PureComponent {
502
484
  var newCursorRow = cursorRow;
503
485
  var newCursorColumn = cursorColumn;
504
486
  if (!range.containsCell(cursorColumn, cursorRow)) {
505
- ({
506
- row: newCursorRow,
507
- column: newCursorColumn
508
- } = range.startCell());
487
+ var _range$startCell = range.startCell();
488
+ newCursorRow = _range$startCell.row;
489
+ newCursorColumn = _range$startCell.column;
509
490
  }
510
491
  this.setState({
511
492
  selectionStartColumn: range.startColumn,
@@ -518,12 +499,8 @@ class Grid extends PureComponent {
518
499
  }
519
500
  }
520
501
  initContext() {
521
- var {
522
- canvas
523
- } = this;
524
- var {
525
- canvasOptions
526
- } = this.props;
502
+ var canvas = this.canvas;
503
+ var canvasOptions = this.props.canvasOptions;
527
504
  if (!canvas) throw new Error('Canvas not set');
528
505
  this.canvasContext = canvas.getContext('2d', canvasOptions);
529
506
  }
@@ -551,27 +528,21 @@ class Grid extends PureComponent {
551
528
  this.updateCanvasScale();
552
529
  this.updateMetrics();
553
530
  this.updateRenderState();
554
- var {
555
- canvasContext,
556
- metrics,
557
- renderState
558
- } = this;
531
+ var canvasContext = this.canvasContext,
532
+ metrics = this.metrics,
533
+ renderState = this.renderState;
559
534
  assertNotNull(canvasContext);
560
535
  assertNotNull(metrics);
561
536
  assertNotNull(renderState);
562
537
  this.renderer.configureContext(canvasContext, renderState);
563
- var {
564
- onViewChanged
565
- } = this.props;
538
+ var onViewChanged = this.props.onViewChanged;
566
539
  onViewChanged(metrics);
567
540
  this.drawCanvas();
568
541
  }
569
542
  updateCanvasScale() {
570
- var {
571
- canvas,
572
- canvasContext,
573
- canvasWrapper
574
- } = this;
543
+ var canvas = this.canvas,
544
+ canvasContext = this.canvasContext,
545
+ canvasWrapper = this.canvasWrapper;
575
546
  if (!canvas) throw new Error('canvas not set');
576
547
  if (!canvasContext) throw new Error('canvasContext not set');
577
548
  if (!canvasWrapper.current) throw new Error('canvasWrapper not set');
@@ -597,14 +568,12 @@ class Grid extends PureComponent {
597
568
  }
598
569
  updateScrollBounds() {
599
570
  if (!this.metrics) throw new Error('metrics not set');
600
- var {
601
- left,
602
- top
603
- } = this.state;
604
- var {
605
- lastLeft,
606
- lastTop
607
- } = this.metrics;
571
+ var _this$state3 = this.state,
572
+ left = _this$state3.left,
573
+ top = _this$state3.top;
574
+ var _this$metrics4 = this.metrics,
575
+ lastLeft = _this$metrics4.lastLeft,
576
+ lastTop = _this$metrics4.lastTop;
608
577
  if (left > lastLeft) {
609
578
  this.setState({
610
579
  left: lastLeft,
@@ -626,30 +595,24 @@ class Grid extends PureComponent {
626
595
  if (!this.metrics || !this.prevMetrics) {
627
596
  return false;
628
597
  }
629
- var {
630
- rowCount,
631
- columnCount,
632
- height,
633
- width
634
- } = this.metrics;
635
- var {
636
- rowCount: prevRowCount,
637
- columnCount: prevColumnCount,
638
- height: prevHeight,
639
- width: prevWidth
640
- } = this.prevMetrics;
598
+ var _this$metrics5 = this.metrics,
599
+ rowCount = _this$metrics5.rowCount,
600
+ columnCount = _this$metrics5.columnCount,
601
+ height = _this$metrics5.height,
602
+ width = _this$metrics5.width;
603
+ var _this$prevMetrics = this.prevMetrics,
604
+ prevRowCount = _this$prevMetrics.rowCount,
605
+ prevColumnCount = _this$prevMetrics.columnCount,
606
+ prevHeight = _this$prevMetrics.height,
607
+ prevWidth = _this$prevMetrics.width;
641
608
  if (prevRowCount !== rowCount || height !== prevHeight) {
642
- var {
643
- isStuckToBottom
644
- } = this.state;
609
+ var isStuckToBottom = this.state.isStuckToBottom;
645
610
  if (isStuckToBottom) {
646
611
  return true;
647
612
  }
648
613
  }
649
614
  if (prevColumnCount !== columnCount || width !== prevWidth) {
650
- var {
651
- isStuckToRight
652
- } = this.state;
615
+ var isStuckToRight = this.state.isStuckToRight;
653
616
  if (isStuckToRight) {
654
617
  return true;
655
618
  }
@@ -659,9 +622,7 @@ class Grid extends PureComponent {
659
622
  updateMetrics() {
660
623
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state;
661
624
  this.prevMetrics = this.metrics;
662
- var {
663
- metricCalculator
664
- } = this;
625
+ var metricCalculator = this.metricCalculator;
665
626
  var metricState = this.getMetricState(state);
666
627
  this.metrics = metricCalculator.getMetrics(metricState);
667
628
  this.updateScrollBounds();
@@ -673,16 +634,10 @@ class Grid extends PureComponent {
673
634
  * @param prevState The previous grid state
674
635
  */
675
636
  checkSelectionChange(prevState) {
676
- var {
677
- selectedRanges: oldSelectedRanges
678
- } = prevState;
679
- var {
680
- selectedRanges
681
- } = this.state;
637
+ var oldSelectedRanges = prevState.selectedRanges;
638
+ var selectedRanges = this.state.selectedRanges;
682
639
  if (selectedRanges !== oldSelectedRanges) {
683
- var {
684
- onSelectionChanged
685
- } = this.props;
640
+ var onSelectionChanged = this.props.onSelectionChanged;
686
641
  onSelectionChanged(selectedRanges);
687
642
  }
688
643
  }
@@ -692,16 +647,10 @@ class Grid extends PureComponent {
692
647
  * @returns True if the selection is valid, false if the selection was invalid and has been reset
693
648
  */
694
649
  validateSelection() {
695
- var {
696
- model
697
- } = this.props;
698
- var {
699
- selectedRanges
700
- } = this.state;
701
- var {
702
- columnCount,
703
- rowCount
704
- } = model;
650
+ var model = this.props.model;
651
+ var selectedRanges = this.state.selectedRanges;
652
+ var columnCount = model.columnCount,
653
+ rowCount = model.rowCount;
705
654
  for (var i = 0; i < selectedRanges.length; i += 1) {
706
655
  var range = selectedRanges[i];
707
656
  if (range.endColumn != null && range.endColumn >= columnCount || range.endRow != null && range.endRow >= rowCount) {
@@ -720,9 +669,7 @@ class Grid extends PureComponent {
720
669
  * Clears all selected ranges
721
670
  */
722
671
  clearSelectedRanges() {
723
- var {
724
- selectedRanges
725
- } = this.state;
672
+ var selectedRanges = this.state.selectedRanges;
726
673
  this.setState({
727
674
  selectedRanges: EMPTY_ARRAY,
728
675
  lastSelectedRanges: selectedRanges
@@ -731,9 +678,7 @@ class Grid extends PureComponent {
731
678
 
732
679
  /** Clears all but the last selected range */
733
680
  trimSelectedRanges() {
734
- var {
735
- selectedRanges
736
- } = this.state;
681
+ var selectedRanges = this.state.selectedRanges;
737
682
  if (selectedRanges.length > 0) {
738
683
  this.setState({
739
684
  selectedRanges: selectedRanges.slice(selectedRanges.length - 1)
@@ -743,9 +688,7 @@ class Grid extends PureComponent {
743
688
 
744
689
  /** Gets the selected ranges */
745
690
  getSelectedRanges() {
746
- var {
747
- selectedRanges
748
- } = this.state;
691
+ var selectedRanges = this.state.selectedRanges;
749
692
  return selectedRanges;
750
693
  }
751
694
 
@@ -776,18 +719,12 @@ class Grid extends PureComponent {
776
719
  var extendSelection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
777
720
  var maximizePreviousRange = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
778
721
  this.setState(state => {
779
- var {
780
- selectedRanges,
781
- selectionStartRow,
782
- selectionStartColumn
783
- } = state;
784
- var {
785
- theme
786
- } = this.props;
787
- var {
788
- autoSelectRow,
789
- autoSelectColumn
790
- } = theme;
722
+ var selectedRanges = state.selectedRanges,
723
+ selectionStartRow = state.selectionStartRow,
724
+ selectionStartColumn = state.selectionStartColumn;
725
+ var theme = this.props.theme;
726
+ var autoSelectRow = theme.autoSelectRow,
727
+ autoSelectColumn = theme.autoSelectColumn;
791
728
  if (extendSelection && selectedRanges.length > 0) {
792
729
  var lastSelectedRange = selectedRanges[selectedRanges.length - 1];
793
730
  var left = null;
@@ -846,18 +783,12 @@ class Grid extends PureComponent {
846
783
  */
847
784
  commitSelection() {
848
785
  this.setState(state => {
849
- var {
850
- theme
851
- } = this.props;
852
- var {
853
- autoSelectRow
854
- } = theme;
855
- var {
856
- selectedRanges,
857
- lastSelectedRanges,
858
- cursorRow,
859
- cursorColumn
860
- } = state;
786
+ var theme = this.props.theme;
787
+ var autoSelectRow = theme.autoSelectRow;
788
+ var selectedRanges = state.selectedRanges,
789
+ lastSelectedRanges = state.lastSelectedRanges,
790
+ cursorRow = state.cursorRow,
791
+ cursorColumn = state.cursorColumn;
861
792
  if (selectedRanges.length === 1 && (autoSelectRow !== undefined && autoSelectRow ? GridRange.rowCount(selectedRanges) === 1 : GridRange.cellCount(selectedRanges) === 1) && GridRange.rangeArraysEqual(selectedRanges, lastSelectedRanges)) {
862
793
  // If it's the exact same single selection, then deselect.
863
794
  // For if we click on one cell multiple times.
@@ -890,19 +821,13 @@ class Grid extends PureComponent {
890
821
  var newCursorColumn = cursorColumn;
891
822
  var newCursorRow = cursorRow;
892
823
  if (!GridRange.containsCell(newSelectedRanges, cursorColumn, cursorRow)) {
893
- var {
894
- model
895
- } = this.props;
896
- var {
897
- columnCount,
898
- rowCount
899
- } = model;
824
+ var model = this.props.model;
825
+ var columnCount = model.columnCount,
826
+ rowCount = model.rowCount;
900
827
  var nextCursor = GridRange.nextCell(GridRange.boundedRanges(selectedRanges, columnCount, rowCount));
901
828
  if (nextCursor != null) {
902
- ({
903
- column: newCursorColumn,
904
- row: newCursorRow
905
- } = nextCursor);
829
+ newCursorColumn = nextCursor.column;
830
+ newCursorRow = nextCursor.row;
906
831
  } else {
907
832
  newCursorColumn = null;
908
833
  newCursorRow = null;
@@ -929,13 +854,12 @@ class Grid extends PureComponent {
929
854
  if (!this.metrics || !this.prevMetrics) {
930
855
  return;
931
856
  }
932
- var {
933
- gridY,
934
- height,
935
- lastTop,
936
- userRowHeights,
937
- rowHeight
938
- } = this.metrics;
857
+ var _this$metrics6 = this.metrics,
858
+ gridY = _this$metrics6.gridY,
859
+ height = _this$metrics6.height,
860
+ lastTop = _this$metrics6.lastTop,
861
+ userRowHeights = _this$metrics6.userRowHeights,
862
+ rowHeight = _this$metrics6.rowHeight;
939
863
  var tableHeight = height - gridY;
940
864
  var halfViewportHeight = Math.round(tableHeight / 2) + ((_userRowHeights$get = userRowHeights.get(focusedRow)) !== null && _userRowHeights$get !== void 0 ? _userRowHeights$get : rowHeight);
941
865
  var metricState = this.getMetricState();
@@ -945,9 +869,7 @@ class Grid extends PureComponent {
945
869
  selectedRanges: [new GridRange(null, focusedRow, null, focusedRow)],
946
870
  isStuckToBottom: false
947
871
  });
948
- var {
949
- cursorColumn
950
- } = this.state;
872
+ var cursorColumn = this.state.cursorColumn;
951
873
  this.moveCursorToPosition(cursorColumn, focusedRow, false, false);
952
874
  }
953
875
 
@@ -955,14 +877,11 @@ class Grid extends PureComponent {
955
877
  * Set the selection to the entire grid
956
878
  */
957
879
  selectAll() {
958
- var {
959
- model,
960
- theme
961
- } = this.props;
962
- var {
963
- autoSelectRow,
964
- autoSelectColumn
965
- } = theme;
880
+ var _this$props4 = this.props,
881
+ model = _this$props4.model,
882
+ theme = _this$props4.theme;
883
+ var autoSelectRow = theme.autoSelectRow,
884
+ autoSelectColumn = theme.autoSelectColumn;
966
885
  var top = autoSelectColumn !== undefined && autoSelectColumn ? null : 0;
967
886
  var bottom = autoSelectColumn !== undefined && autoSelectColumn ? null : model.rowCount - 1;
968
887
  var left = autoSelectRow !== undefined && autoSelectRow ? null : 0;
@@ -977,28 +896,22 @@ class Grid extends PureComponent {
977
896
  * @param extendSelection True if the current selection should be extended, false to start a new selection
978
897
  */
979
898
  moveCursor(deltaColumn, deltaRow, extendSelection) {
980
- var {
981
- cursorRow,
982
- cursorColumn,
983
- selectionEndColumn,
984
- selectionEndRow
985
- } = this.state;
899
+ var _this$state4 = this.state,
900
+ cursorRow = _this$state4.cursorRow,
901
+ cursorColumn = _this$state4.cursorColumn,
902
+ selectionEndColumn = _this$state4.selectionEndColumn,
903
+ selectionEndRow = _this$state4.selectionEndRow;
986
904
  var column = extendSelection ? selectionEndColumn : cursorColumn;
987
905
  var row = extendSelection ? selectionEndRow : cursorRow;
988
906
  if (row === null || column === null) {
989
- var {
990
- left,
991
- top
992
- } = this.state;
907
+ var _this$state5 = this.state,
908
+ left = _this$state5.left,
909
+ top = _this$state5.top;
993
910
  this.moveCursorToPosition(left, top, extendSelection);
994
911
  } else {
995
- var {
996
- model
997
- } = this.props;
998
- var {
999
- columnCount,
1000
- rowCount
1001
- } = model;
912
+ var model = this.props.model;
913
+ var columnCount = model.columnCount,
914
+ rowCount = model.rowCount;
1002
915
  var _left = clamp(column + deltaColumn, 0, columnCount - 1);
1003
916
  var _top = clamp(row + deltaRow, 0, rowCount - 1);
1004
917
  this.moveCursorToPosition(_left, _top, extendSelection);
@@ -1011,18 +924,13 @@ class Grid extends PureComponent {
1011
924
  */
1012
925
  moveCursorInDirection() {
1013
926
  var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : GridRange.SELECTION_DIRECTION.DOWN;
1014
- var {
1015
- model
1016
- } = this.props;
1017
- var {
1018
- columnCount,
1019
- rowCount
1020
- } = model;
1021
- var {
1022
- cursorRow,
1023
- cursorColumn,
1024
- selectedRanges
1025
- } = this.state;
927
+ var model = this.props.model;
928
+ var columnCount = model.columnCount,
929
+ rowCount = model.rowCount;
930
+ var _this$state6 = this.state,
931
+ cursorRow = _this$state6.cursorRow,
932
+ cursorColumn = _this$state6.cursorColumn,
933
+ selectedRanges = _this$state6.selectedRanges;
1026
934
  var ranges = selectedRanges.length > 0 ? selectedRanges : [GridRange.makeCell(cursorColumn, cursorRow)];
1027
935
  var nextCursor = null;
1028
936
  if (ranges.length === 1 && GridRange.cellCount(ranges) === 1) {
@@ -1034,10 +942,9 @@ class Grid extends PureComponent {
1034
942
  nextCursor = GridRange.nextCell(GridRange.boundedRanges(ranges, columnCount, rowCount), cursorColumn, cursorRow, direction);
1035
943
  }
1036
944
  if (nextCursor != null) {
1037
- var {
1038
- column,
1039
- row
1040
- } = nextCursor;
945
+ var _nextCursor = nextCursor,
946
+ column = _nextCursor.column,
947
+ row = _nextCursor.row;
1041
948
  this.setState({
1042
949
  cursorColumn: column,
1043
950
  cursorRow: row
@@ -1084,22 +991,18 @@ class Grid extends PureComponent {
1084
991
  */
1085
992
  moveViewToCell(column, row) {
1086
993
  if (!this.metrics) throw new Error('metrics not set');
1087
- var {
1088
- metricCalculator
1089
- } = this;
1090
- var {
1091
- bottomVisible,
1092
- rightVisible,
1093
- topVisible,
1094
- leftVisible
1095
- } = this.metrics;
994
+ var metricCalculator = this.metricCalculator;
995
+ var _this$metrics7 = this.metrics,
996
+ bottomVisible = _this$metrics7.bottomVisible,
997
+ rightVisible = _this$metrics7.rightVisible,
998
+ topVisible = _this$metrics7.topVisible,
999
+ leftVisible = _this$metrics7.leftVisible;
1096
1000
  var metricState = this.getMetricState(this.state);
1097
- var {
1098
- top,
1099
- left,
1100
- topOffset,
1101
- leftOffset
1102
- } = this.state;
1001
+ var _this$state7 = this.state,
1002
+ top = _this$state7.top,
1003
+ left = _this$state7.left,
1004
+ topOffset = _this$state7.topOffset,
1005
+ leftOffset = _this$state7.leftOffset;
1103
1006
  if (row != null && !GridUtils.isFloatingRow(row, this.metrics)) {
1104
1007
  if (row < topVisible) {
1105
1008
  top = metricCalculator.getTopForTopVisible(metricState, row);
@@ -1135,20 +1038,16 @@ class Grid extends PureComponent {
1135
1038
  setViewState(viewState) {
1136
1039
  var forceUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1137
1040
  if (!this.metrics) throw new Error('metrics not set');
1138
- var {
1139
- isStickyBottom,
1140
- isStickyRight
1141
- } = this.props;
1142
- var {
1143
- top,
1144
- left
1145
- } = viewState;
1146
- var {
1147
- lastTop,
1148
- lastLeft,
1149
- hasVerticalBar,
1150
- hasHorizontalBar
1151
- } = this.metrics;
1041
+ var _this$props5 = this.props,
1042
+ isStickyBottom = _this$props5.isStickyBottom,
1043
+ isStickyRight = _this$props5.isStickyRight;
1044
+ var top = viewState.top,
1045
+ left = viewState.left;
1046
+ var _this$metrics8 = this.metrics,
1047
+ lastTop = _this$metrics8.lastTop,
1048
+ lastLeft = _this$metrics8.lastLeft,
1049
+ hasVerticalBar = _this$metrics8.hasVerticalBar,
1050
+ hasHorizontalBar = _this$metrics8.hasHorizontalBar;
1152
1051
  if (top != null && hasVerticalBar) {
1153
1052
  this.setState({
1154
1053
  isStuckToBottom: isStickyBottom && top >= lastTop
@@ -1178,9 +1077,7 @@ class Grid extends PureComponent {
1178
1077
  var isQuickEdit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1179
1078
  var selectionRange = arguments.length > 3 ? arguments[3] : undefined;
1180
1079
  var value = arguments.length > 4 ? arguments[4] : undefined;
1181
- var {
1182
- model
1183
- } = this.props;
1080
+ var model = this.props.model;
1184
1081
  if (!isEditableGridModel(model)) throw new Error('model is not editable');
1185
1082
  var modelColumn = this.getModelColumn(column);
1186
1083
  var modelRow = this.getModelRow(row);
@@ -1207,9 +1104,7 @@ class Grid extends PureComponent {
1207
1104
  * @returns True if the value is valid for the provided cell, false otherwise
1208
1105
  */
1209
1106
  isValidForCell(column, row, value) {
1210
- var {
1211
- model
1212
- } = this.props;
1107
+ var model = this.props.model;
1213
1108
  var modelColumn = this.getModelColumn(column);
1214
1109
  var modelRow = this.getModelRow(row);
1215
1110
  return isEditableGridModel(model) && model.isValidForCell(modelColumn, modelRow, value);
@@ -1224,14 +1119,11 @@ class Grid extends PureComponent {
1224
1119
  pasteValue(value) {
1225
1120
  var _this = this;
1226
1121
  return _asyncToGenerator(function* () {
1227
- var {
1228
- model
1229
- } = _this.props;
1230
- var {
1231
- movedColumns,
1232
- movedRows,
1233
- selectedRanges
1234
- } = _this.state;
1122
+ var model = _this.props.model;
1123
+ var _this$state8 = _this.state,
1124
+ movedColumns = _this$state8.movedColumns,
1125
+ movedRows = _this$state8.movedRows,
1126
+ selectedRanges = _this$state8.selectedRanges;
1235
1127
  try {
1236
1128
  assertIsEditableGridModel(model);
1237
1129
  if (!model.isEditable || !selectedRanges.every(range => model.isEditableRange(range))) {
@@ -1258,10 +1150,8 @@ class Grid extends PureComponent {
1258
1150
  // Otherwise it's a table of data
1259
1151
  var tableHeight = value.length;
1260
1152
  var tableWidth = value[0].length;
1261
- var {
1262
- columnCount,
1263
- rowCount
1264
- } = model;
1153
+ var columnCount = model.columnCount,
1154
+ rowCount = model.rowCount;
1265
1155
  var ranges = selectedRanges;
1266
1156
  // If each cell is a single selection, we need to update the selection to map to the newly pasted data
1267
1157
  // Check for
@@ -1295,9 +1185,7 @@ class Grid extends PureComponent {
1295
1185
  });
1296
1186
  yield model.setValues(edits);
1297
1187
  } catch (e) {
1298
- var {
1299
- onError
1300
- } = _this.props;
1188
+ var onError = _this.props.onError;
1301
1189
  onError(e instanceof Error ? e : new Error("".concat(e)));
1302
1190
  }
1303
1191
  })();
@@ -1311,10 +1199,9 @@ class Grid extends PureComponent {
1311
1199
  * @returns true If the value was valid and attempted to be set, false is it was not valid
1312
1200
  */
1313
1201
  setValueForCell(column, row, value) {
1314
- var {
1315
- model,
1316
- onError
1317
- } = this.props;
1202
+ var _this$props6 = this.props,
1203
+ model = _this$props6.model,
1204
+ onError = _this$props6.onError;
1318
1205
  assertIsEditableGridModel(model);
1319
1206
  var modelColumn = this.getModelColumn(column);
1320
1207
  var modelRow = this.getModelRow(row);
@@ -1333,14 +1220,12 @@ class Grid extends PureComponent {
1333
1220
  * @param value The value to set on all the ranges
1334
1221
  */
1335
1222
  setValueForRanges(ranges, value) {
1336
- var {
1337
- model,
1338
- onError
1339
- } = this.props;
1340
- var {
1341
- movedColumns,
1342
- movedRows
1343
- } = this.state;
1223
+ var _this$props7 = this.props,
1224
+ model = _this$props7.model,
1225
+ onError = _this$props7.onError;
1226
+ var _this$state9 = this.state,
1227
+ movedColumns = _this$state9.movedColumns,
1228
+ movedRows = _this$state9.movedRows;
1344
1229
  var modelRanges = GridUtils.getModelRanges(ranges, movedColumns, movedRows);
1345
1230
  if (isEditableGridModel(model)) {
1346
1231
  model.setValueForRanges(modelRanges, value).catch(err => {
@@ -1356,9 +1241,7 @@ class Grid extends PureComponent {
1356
1241
  * @returns True if the cell is in the current selection, false otherwise
1357
1242
  */
1358
1243
  isSelected(row, column) {
1359
- var {
1360
- selectedRanges
1361
- } = this.state;
1244
+ var selectedRanges = this.state.selectedRanges;
1362
1245
  for (var i = 0; i < selectedRanges.length; i += 1) {
1363
1246
  var _selectedRange$endRow, _selectedRange$endCol;
1364
1247
  var selectedRange = selectedRanges[i];
@@ -1417,11 +1300,9 @@ class Grid extends PureComponent {
1417
1300
  drawCanvas() {
1418
1301
  if (!this.canvas) throw new Error('canvas is not set');
1419
1302
  if (!this.canvasContext) throw new Error('context not set');
1420
- var {
1421
- renderer,
1422
- canvasContext: context,
1423
- renderState
1424
- } = this;
1303
+ var renderer = this.renderer,
1304
+ context = this.canvasContext,
1305
+ renderState = this.renderState;
1425
1306
  context.save();
1426
1307
  renderer.drawCanvas(renderState);
1427
1308
  context.restore();
@@ -1494,9 +1375,7 @@ class Grid extends PureComponent {
1494
1375
  if (result !== false) {
1495
1376
  var _options$stopPropagat, _options$preventDefau;
1496
1377
  if (keyHandler.cursor != null) {
1497
- ({
1498
- cursor
1499
- } = keyHandler);
1378
+ cursor = keyHandler.cursor;
1500
1379
  }
1501
1380
  var options = result;
1502
1381
  if ((_options$stopPropagat = options === null || options === void 0 ? void 0 : options.stopPropagation) !== null && _options$stopPropagat !== void 0 ? _options$stopPropagat : true) event.stopPropagation();
@@ -1534,9 +1413,7 @@ class Grid extends PureComponent {
1534
1413
  if (result !== false) {
1535
1414
  var _options$stopPropagat2, _options$preventDefau2;
1536
1415
  if (mouseHandler.cursor != null) {
1537
- ({
1538
- cursor
1539
- } = mouseHandler);
1416
+ cursor = mouseHandler.cursor;
1540
1417
  if (addCursorToDocument) {
1541
1418
  this.addDocumentCursor(cursor);
1542
1419
  }
@@ -1553,10 +1430,8 @@ class Grid extends PureComponent {
1553
1430
  cursor
1554
1431
  });
1555
1432
  if (updateCoordinates) {
1556
- var {
1557
- x,
1558
- y
1559
- } = gridPoint;
1433
+ var x = gridPoint.x,
1434
+ y = gridPoint.y;
1560
1435
  this.setState({
1561
1436
  mouseX: x,
1562
1437
  mouseY: y
@@ -1594,9 +1469,7 @@ class Grid extends PureComponent {
1594
1469
  }
1595
1470
  handleMouseUp(event) {
1596
1471
  // Ignore non-left click while dragging to allow drag to continue
1597
- var {
1598
- isDragging
1599
- } = this.state;
1472
+ var isDragging = this.state.isDragging;
1600
1473
  if (isDragging && event.button !== 0) {
1601
1474
  return;
1602
1475
  }
@@ -1633,9 +1506,8 @@ class Grid extends PureComponent {
1633
1506
  }
1634
1507
  forceUpdate(callback) {
1635
1508
  this.setState(_ref5 => {
1636
- var {
1637
- updateRevision = 0
1638
- } = _ref5;
1509
+ var _ref5$updateRevision = _ref5.updateRevision,
1510
+ updateRevision = _ref5$updateRevision === void 0 ? 0 : _ref5$updateRevision;
1639
1511
  return {
1640
1512
  updateRevision: (updateRevision + 1) % Number.MAX_SAFE_INTEGER
1641
1513
  };
@@ -1647,35 +1519,28 @@ class Grid extends PureComponent {
1647
1519
  if (event.defaultPrevented) {
1648
1520
  return;
1649
1521
  }
1650
- var {
1651
- metricCalculator,
1652
- metrics
1653
- } = this;
1522
+ var metricCalculator = this.metricCalculator,
1523
+ metrics = this.metrics;
1654
1524
  var metricState = this.getMetricState();
1655
1525
  if (!metrics) throw new Error('metrics not set');
1656
- var {
1657
- lastTop,
1658
- lastLeft,
1659
- columnCount,
1660
- rowCount,
1661
- scrollableContentWidth,
1662
- scrollableViewportWidth,
1663
- scrollableContentHeight,
1664
- scrollableViewportHeight,
1665
- hasHorizontalBar,
1666
- hasVerticalBar
1667
- } = metrics;
1668
- var {
1669
- top,
1670
- left,
1671
- topOffset,
1672
- leftOffset
1673
- } = metrics;
1526
+ var lastTop = metrics.lastTop,
1527
+ lastLeft = metrics.lastLeft,
1528
+ columnCount = metrics.columnCount,
1529
+ rowCount = metrics.rowCount,
1530
+ scrollableContentWidth = metrics.scrollableContentWidth,
1531
+ scrollableViewportWidth = metrics.scrollableViewportWidth,
1532
+ scrollableContentHeight = metrics.scrollableContentHeight,
1533
+ scrollableViewportHeight = metrics.scrollableViewportHeight,
1534
+ hasHorizontalBar = metrics.hasHorizontalBar,
1535
+ hasVerticalBar = metrics.hasVerticalBar;
1536
+ var top = metrics.top,
1537
+ left = metrics.left,
1538
+ topOffset = metrics.topOffset,
1539
+ leftOffset = metrics.leftOffset;
1674
1540
  var theme = this.getTheme();
1675
- var {
1676
- deltaX,
1677
- deltaY
1678
- } = GridUtils.getScrollDelta(event, metrics.barWidth, metrics.barHeight, metrics.rowHeight, metrics.rowHeight);
1541
+ var _GridUtils$getScrollD = GridUtils.getScrollDelta(event, metrics.barWidth, metrics.barHeight, metrics.rowHeight, metrics.rowHeight),
1542
+ deltaX = _GridUtils$getScrollD.deltaX,
1543
+ deltaY = _GridUtils$getScrollD.deltaY;
1679
1544
 
1680
1545
  // iterate through each column to determine column width and figure out how far to scroll
1681
1546
  // get column width of next column to scroll to, and subract it from the remaining distance to travel
@@ -1820,9 +1685,7 @@ class Grid extends PureComponent {
1820
1685
  */
1821
1686
  handleEditCellChange(value) {
1822
1687
  this.setState(_ref6 => {
1823
- var {
1824
- editingCell
1825
- } = _ref6;
1688
+ var editingCell = _ref6.editingCell;
1826
1689
  try {
1827
1690
  assertIsDefined(editingCell);
1828
1691
  return {
@@ -1832,9 +1695,7 @@ class Grid extends PureComponent {
1832
1695
  };
1833
1696
  } catch (e) {
1834
1697
  // This case should _never_ happen, since the editingCell shouldn't be null if this method is called
1835
- var {
1836
- onError
1837
- } = this.props;
1698
+ var onError = this.props.onError;
1838
1699
  onError(e instanceof Error ? e : new Error("".concat(e)));
1839
1700
  return null;
1840
1701
  }
@@ -1847,19 +1708,17 @@ class Grid extends PureComponent {
1847
1708
  * @param options Options for committing
1848
1709
  */
1849
1710
  handleEditCellCommit(value) {
1850
- var {
1851
- direction = SELECTION_DIRECTION.DOWN,
1852
- fillRange = false
1853
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1854
- var {
1855
- editingCell,
1856
- selectedRanges
1857
- } = this.state;
1711
+ var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1712
+ _ref7$direction = _ref7.direction,
1713
+ direction = _ref7$direction === void 0 ? SELECTION_DIRECTION.DOWN : _ref7$direction,
1714
+ _ref7$fillRange = _ref7.fillRange,
1715
+ fillRange = _ref7$fillRange === void 0 ? false : _ref7$fillRange;
1716
+ var _this$state0 = this.state,
1717
+ editingCell = _this$state0.editingCell,
1718
+ selectedRanges = _this$state0.selectedRanges;
1858
1719
  if (!editingCell) throw new Error('editingCell not set');
1859
- var {
1860
- column,
1861
- row
1862
- } = editingCell;
1720
+ var column = editingCell.column,
1721
+ row = editingCell.row;
1863
1722
  if (!this.isValidForCell(column, row, value)) {
1864
1723
  // Don't allow an invalid value to be commited, the editing cell should show an error
1865
1724
  if (direction === null) {
@@ -1884,39 +1743,26 @@ class Grid extends PureComponent {
1884
1743
  this.focus();
1885
1744
  }
1886
1745
  renderInputField() {
1887
- var {
1888
- model
1889
- } = this.props;
1890
- var {
1891
- editingCell
1892
- } = this.state;
1893
- var {
1894
- metrics
1895
- } = this;
1746
+ var model = this.props.model;
1747
+ var editingCell = this.state.editingCell;
1748
+ var metrics = this.metrics;
1896
1749
  if (editingCell == null || metrics == null || !isEditableGridModel(model)) {
1897
1750
  return null;
1898
1751
  }
1899
- var {
1900
- selectionRange,
1901
- value,
1902
- isQuickEdit
1903
- } = editingCell;
1904
- var {
1905
- column,
1906
- row
1907
- } = editingCell;
1908
- var {
1909
- scrollX,
1910
- gridX,
1911
- gridY,
1912
- allColumnXs,
1913
- allRowYs,
1914
- allColumnWidths,
1915
- allRowHeights
1916
- } = metrics;
1917
- var {
1918
- activeCellSelectionBorderWidth
1919
- } = this.getTheme();
1752
+ var selectionRange = editingCell.selectionRange,
1753
+ value = editingCell.value,
1754
+ isQuickEdit = editingCell.isQuickEdit;
1755
+ var column = editingCell.column,
1756
+ row = editingCell.row;
1757
+ var scrollX = metrics.scrollX,
1758
+ gridX = metrics.gridX,
1759
+ gridY = metrics.gridY,
1760
+ allColumnXs = metrics.allColumnXs,
1761
+ allRowYs = metrics.allRowYs,
1762
+ allColumnWidths = metrics.allColumnWidths,
1763
+ allRowHeights = metrics.allRowHeights;
1764
+ var _this$getTheme = this.getTheme(),
1765
+ activeCellSelectionBorderWidth = _this$getTheme.activeCellSelectionBorderWidth;
1920
1766
  var x = allColumnXs.get(column);
1921
1767
  var y = allRowYs.get(row);
1922
1768
  var w = allColumnWidths.get(column);
@@ -1971,29 +1817,25 @@ class Grid extends PureComponent {
1971
1817
  updateRenderState() {
1972
1818
  if (!this.canvas) throw new Error('canvas is not set');
1973
1819
  if (!this.canvasContext) throw new Error('context not set');
1974
- var {
1975
- cursorColumn,
1976
- cursorRow,
1977
- draggingColumn,
1978
- draggingColumnSeparator,
1979
- draggingRow,
1980
- draggingRowOffset,
1981
- draggingRowSeparator,
1982
- editingCell,
1983
- isDraggingHorizontalScrollBar,
1984
- isDraggingVerticalScrollBar,
1985
- isDragging,
1986
- mouseX,
1987
- mouseY,
1988
- selectedRanges
1989
- } = this.state;
1990
- var {
1991
- model,
1992
- stateOverride
1993
- } = this.props;
1994
- var {
1995
- metrics
1996
- } = this;
1820
+ var _this$state1 = this.state,
1821
+ cursorColumn = _this$state1.cursorColumn,
1822
+ cursorRow = _this$state1.cursorRow,
1823
+ draggingColumn = _this$state1.draggingColumn,
1824
+ draggingColumnSeparator = _this$state1.draggingColumnSeparator,
1825
+ draggingRow = _this$state1.draggingRow,
1826
+ draggingRowOffset = _this$state1.draggingRowOffset,
1827
+ draggingRowSeparator = _this$state1.draggingRowSeparator,
1828
+ editingCell = _this$state1.editingCell,
1829
+ isDraggingHorizontalScrollBar = _this$state1.isDraggingHorizontalScrollBar,
1830
+ isDraggingVerticalScrollBar = _this$state1.isDraggingVerticalScrollBar,
1831
+ isDragging = _this$state1.isDragging,
1832
+ mouseX = _this$state1.mouseX,
1833
+ mouseY = _this$state1.mouseY,
1834
+ selectedRanges = _this$state1.selectedRanges;
1835
+ var _this$props8 = this.props,
1836
+ model = _this$props8.model,
1837
+ stateOverride = _this$props8.stateOverride;
1838
+ var metrics = this.metrics;
1997
1839
  var context = this.canvasContext;
1998
1840
  var theme = this.getTheme();
1999
1841
  var width = this.canvas.clientWidth;
@@ -2024,12 +1866,8 @@ class Grid extends PureComponent {
2024
1866
  return this.renderState;
2025
1867
  }
2026
1868
  render() {
2027
- var {
2028
- children
2029
- } = this.props;
2030
- var {
2031
- cursor
2032
- } = this.state;
1869
+ var children = this.props.children;
1870
+ var cursor = this.state.cursor;
2033
1871
  return /*#__PURE__*/_jsxs("div", {
2034
1872
  className: "grid-wrapper",
2035
1873
  ref: this.canvasWrapper,