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 +6 -0
- package/dist/canvas-datagrid.debug.js +25 -28
- package/dist/canvas-datagrid.debug.map +1 -1
- package/dist/canvas-datagrid.js +1 -1
- package/dist/canvas-datagrid.module.js +1 -1
- package/dist/canvas-datagrid.module.js.map +1 -1
- package/lib/events/index.js +12 -18
- package/lib/intf.js +12 -3
- package/package.json +1 -1
package/lib/events/index.js
CHANGED
|
@@ -797,30 +797,24 @@ export default function (self) {
|
|
|
797
797
|
}
|
|
798
798
|
self.ellipsisCache = {};
|
|
799
799
|
};
|
|
800
|
-
self.stopDragResize = function (
|
|
801
|
-
const pos = self.getLayerPos(
|
|
802
|
-
const hasMoved = !!(pos.x - self.dragStart.x);
|
|
803
|
-
const width = self.resizingStartingWidth + pos.x - self.dragStart.x;
|
|
800
|
+
self.stopDragResize = function (event) {
|
|
801
|
+
const pos = self.getLayerPos(event);
|
|
804
802
|
|
|
805
803
|
if (self.dragMode === 'ew-resize') {
|
|
806
|
-
const
|
|
804
|
+
const hasMoved = !!(pos.x - self.dragStart.x);
|
|
805
|
+
// Check that dragItem is selected or part of selection.
|
|
807
806
|
const dragItemIsSelected = self.isColumnSelected(
|
|
808
807
|
self.dragItem.columnIndex,
|
|
809
808
|
);
|
|
810
809
|
|
|
811
|
-
if (dragItemIsSelected)
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
dragItemIsSelected &&
|
|
820
|
-
self.isColumnSelected(selectedColumnIndex)
|
|
821
|
-
)
|
|
822
|
-
self.sizes.columns[boundColumnIndex] = width;
|
|
823
|
-
}
|
|
810
|
+
if (hasMoved && dragItemIsSelected) {
|
|
811
|
+
const width = Math.max(
|
|
812
|
+
self.resizingStartingWidth + pos.x - self.dragStart.x,
|
|
813
|
+
self.style.minColumnWidth,
|
|
814
|
+
);
|
|
815
|
+
// If the column is selected, resize it to width plus any other selected columns.
|
|
816
|
+
self.fitSelectedColumns(width);
|
|
817
|
+
}
|
|
824
818
|
}
|
|
825
819
|
|
|
826
820
|
self.resize();
|
package/lib/intf.js
CHANGED
|
@@ -396,15 +396,24 @@ export default function (self, ctor) {
|
|
|
396
396
|
self.createRowOrders = function () {
|
|
397
397
|
self.orders.rows = fillArray(0, self.originalData.length - 1);
|
|
398
398
|
};
|
|
399
|
-
self.fitSelectedColumns = function () {
|
|
399
|
+
self.fitSelectedColumns = function (width) {
|
|
400
400
|
const selectedColumns = self.selections[0];
|
|
401
401
|
const schema = self.getSchema();
|
|
402
402
|
|
|
403
403
|
for (const selectedColumn of selectedColumns) {
|
|
404
404
|
// Make sure the column is not the row header and that the whole column has in fact been selected.
|
|
405
405
|
if (selectedColumn >= 0 && self.isColumnSelected(selectedColumn)) {
|
|
406
|
-
|
|
407
|
-
|
|
406
|
+
if (isNaN(width)) {
|
|
407
|
+
const column = schema[self.orders.columns[selectedColumn]];
|
|
408
|
+
self.fitColumnToValues(column.name);
|
|
409
|
+
} else {
|
|
410
|
+
self.sizes.columns[selectedColumn] = width;
|
|
411
|
+
self.dispatchEvent('resizecolumn', {
|
|
412
|
+
x: width,
|
|
413
|
+
y: self.resizingStartingHeight,
|
|
414
|
+
draggingItem: self.currentCell,
|
|
415
|
+
});
|
|
416
|
+
}
|
|
408
417
|
}
|
|
409
418
|
}
|
|
410
419
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "canvas-datagrid",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.23",
|
|
4
4
|
"description": "Canvas based data grid web component. Capable of displaying millions of contiguous hierarchical rows and columns without paging or loading, on a single canvas element.",
|
|
5
5
|
"main": "./dist/canvas-datagrid.js",
|
|
6
6
|
"module": "./dist/canvas-datagrid.module.js",
|