canvas-datagrid 0.3.22 → 0.3.23

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ All notable changes to this project will be documented in this file.
7
7
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
8
8
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
 
10
+ ## 0.3.23 - 2021-12-16
11
+
12
+ ### Fixed
13
+
14
+ - Slight refactor and set minimum width when resizing (mdebrauw, #452)
15
+
10
16
  ## 0.3.22 - 2021-12-15
11
17
 
12
18
  ### Changed
@@ -4826,30 +4826,18 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
4826
4826
  self.ellipsisCache = {};
4827
4827
  };
4828
4828
 
4829
- self.stopDragResize = function (e) {
4830
- var pos = self.getLayerPos(e);
4831
- var hasMoved = !!(pos.x - self.dragStart.x);
4832
- var width = self.resizingStartingWidth + pos.x - self.dragStart.x;
4829
+ self.stopDragResize = function (event) {
4830
+ var pos = self.getLayerPos(event);
4833
4831
 
4834
4832
  if (self.dragMode === 'ew-resize') {
4835
- var selectedColumns = self.selections[0];
4833
+ var hasMoved = !!(pos.x - self.dragStart.x); // Check that dragItem is selected or part of selection.
4834
+
4836
4835
  var dragItemIsSelected = self.isColumnSelected(self.dragItem.columnIndex);
4837
4836
 
4838
- if (dragItemIsSelected) {
4839
- var _iterator = _createForOfIteratorHelper(selectedColumns),
4840
- _step;
4837
+ if (hasMoved && dragItemIsSelected) {
4838
+ var width = Math.max(self.resizingStartingWidth + pos.x - self.dragStart.x, self.style.minColumnWidth); // If the column is selected, resize it to width plus any other selected columns.
4841
4839
 
4842
- try {
4843
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
4844
- var selectedColumnIndex = _step.value;
4845
- var boundColumnIndex = self.getBoundColumnIndexFromViewColumnIndex(selectedColumnIndex);
4846
- if (hasMoved && dragItemIsSelected && self.isColumnSelected(selectedColumnIndex)) self.sizes.columns[boundColumnIndex] = width;
4847
- }
4848
- } catch (err) {
4849
- _iterator.e(err);
4850
- } finally {
4851
- _iterator.f();
4852
- }
4840
+ self.fitSelectedColumns(width);
4853
4841
  }
4854
4842
  }
4855
4843
 
@@ -5498,12 +5486,12 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
5498
5486
  }
5499
5487
  }
5500
5488
 
5501
- var _iterator2 = _createForOfIteratorHelper(self.selections),
5502
- _step2;
5489
+ var _iterator = _createForOfIteratorHelper(self.selections),
5490
+ _step;
5503
5491
 
5504
5492
  try {
5505
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
5506
- var selection = _step2.value;
5493
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
5494
+ var selection = _step.value;
5507
5495
 
5508
5496
  if (e.key === 'ArrowRight' && selection) {
5509
5497
  if (x > lastSelectedColumn) {
@@ -5526,9 +5514,9 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
5526
5514
  }
5527
5515
  }
5528
5516
  } catch (err) {
5529
- _iterator2.e(err);
5517
+ _iterator.e(err);
5530
5518
  } finally {
5531
- _iterator2.f();
5519
+ _iterator.f();
5532
5520
  }
5533
5521
 
5534
5522
  self.selectionBounds = self.getSelectionBounds();
@@ -6484,7 +6472,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
6484
6472
  self.orders.rows = fillArray(0, self.originalData.length - 1);
6485
6473
  };
6486
6474
 
6487
- self.fitSelectedColumns = function () {
6475
+ self.fitSelectedColumns = function (width) {
6488
6476
  var selectedColumns = self.selections[0];
6489
6477
  var schema = self.getSchema();
6490
6478
 
@@ -6497,8 +6485,17 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
6497
6485
 
6498
6486
  // Make sure the column is not the row header and that the whole column has in fact been selected.
6499
6487
  if (selectedColumn >= 0 && self.isColumnSelected(selectedColumn)) {
6500
- var column = schema[self.orders.columns[selectedColumn]];
6501
- self.fitColumnToValues(column.name);
6488
+ if (isNaN(width)) {
6489
+ var column = schema[self.orders.columns[selectedColumn]];
6490
+ self.fitColumnToValues(column.name);
6491
+ } else {
6492
+ self.sizes.columns[selectedColumn] = width;
6493
+ self.dispatchEvent('resizecolumn', {
6494
+ x: width,
6495
+ y: self.resizingStartingHeight,
6496
+ draggingItem: self.currentCell
6497
+ });
6498
+ }
6502
6499
  }
6503
6500
  }
6504
6501
  } catch (err) {