canvas-datagrid 0.3.14 → 0.3.15

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/lib/draw.js CHANGED
@@ -122,15 +122,15 @@ export default function (self) {
122
122
  x = x + ml;
123
123
  y = y + mt;
124
124
  if (self.orderDirection === 'asc') {
125
- self.ctx.moveTo(x, y);
126
- self.ctx.lineTo(x + aw, y);
127
- self.ctx.lineTo(x + aw * 0.5, y + ah);
128
- self.ctx.moveTo(x, y);
129
- } else {
130
125
  self.ctx.lineTo(x, y + ah);
131
126
  self.ctx.lineTo(x + aw, y + ah);
132
127
  self.ctx.lineTo(x + aw * 0.5, y);
133
128
  self.ctx.lineTo(x, y + ah);
129
+ } else {
130
+ self.ctx.moveTo(x, y);
131
+ self.ctx.lineTo(x + aw, y);
132
+ self.ctx.lineTo(x + aw * 0.5, y + ah);
133
+ self.ctx.moveTo(x, y);
134
134
  }
135
135
  self.ctx.stroke();
136
136
  self.ctx.fill();
@@ -899,6 +899,7 @@ export default function (self) {
899
899
  self.stopDragReorder = function (e) {
900
900
  var oIndex,
901
901
  tIndex,
902
+ odata,
902
903
  cr = {
903
904
  'row-reorder': self.orders.rows,
904
905
  'column-reorder': self.orders.columns,
@@ -929,12 +930,15 @@ export default function (self) {
929
930
  self.ignoreNextClick = true;
930
931
  oIndex = cr[self.dragMode].indexOf(self.reorderObject[i]);
931
932
  tIndex = cr[self.dragMode].indexOf(self.reorderTarget[i]);
932
- cr[self.dragMode].splice(oIndex, 1);
933
- cr[self.dragMode].splice(tIndex, 0, self.reorderObject[i]);
934
933
  if (self.dragMode === 'column-reorder') {
934
+ cr[self.dragMode].splice(oIndex, 1);
935
+ cr[self.dragMode].splice(tIndex, 0, self.reorderObject[i]);
935
936
  self.orders.columns = cr[self.dragMode];
936
937
  } else {
937
- self.orders.rows = cr[self.dragMode];
938
+ // self.orders.rows = cr[self.dragMode];
939
+ odata = self.viewData[oIndex];
940
+ self.viewData[oIndex] = self.viewData[tIndex];
941
+ self.viewData[tIndex] = odata;
938
942
  }
939
943
  self.resize();
940
944
  self.setStorageData();
@@ -1169,6 +1173,13 @@ export default function (self) {
1169
1173
  }
1170
1174
  if (['row-reorder', 'column-reorder'].indexOf(self.dragMode) !== -1) {
1171
1175
  self.draggingItem = self.dragStartObject;
1176
+ if (
1177
+ self.dragMode === 'column-reorder' &&
1178
+ self.attributes.columnHeaderClickBehavior === 'select'
1179
+ ) {
1180
+ self.selectColumn(self.currentCell.header.index, ctrl, e.shiftKey);
1181
+ self.draw();
1182
+ }
1172
1183
  document.body.addEventListener('mousemove', self.dragReorder, false);
1173
1184
  document.body.addEventListener('mouseup', self.stopDragReorder, false);
1174
1185
  return;
@@ -1176,9 +1187,14 @@ export default function (self) {
1176
1187
  };
1177
1188
  self.mouseup = function (e) {
1178
1189
  clearTimeout(self.scrollTimer);
1190
+ var ctrl = e.ctrlKey || e.metaKey;
1179
1191
  self.cellBoundaryCrossed = true;
1180
1192
  self.rowBoundaryCrossed = true;
1181
1193
  self.columnBoundaryCrossed = true;
1194
+ if (self.draggingItem) {
1195
+ self.selectColumn(self.currentCell.header.index, ctrl, e.shiftKey);
1196
+ self.draw();
1197
+ }
1182
1198
  self.selecting = undefined;
1183
1199
  self.draggingItem = undefined;
1184
1200
  self.dragStartObject = undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "canvas-datagrid",
3
- "version": "0.3.14",
3
+ "version": "0.3.15",
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",