canvas-datagrid 0.4.3 → 0.4.4
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 +12 -0
- package/dist/canvas-datagrid.debug.js +355 -144
- 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/dist/types.d.ts +12 -8
- package/lib/contextMenu.js +2 -2
- package/lib/defaults.js +9 -7
- package/lib/docs.js +16 -0
- package/lib/dom.js +29 -2
- package/lib/draw.js +157 -60
- package/lib/events/index.js +130 -65
- package/lib/intf.js +8 -14
- package/lib/publicMethods.js +118 -42
- package/package.json +1 -1
package/lib/events/index.js
CHANGED
|
@@ -386,9 +386,17 @@ export default function (self) {
|
|
|
386
386
|
);
|
|
387
387
|
// set canvas drawing related items
|
|
388
388
|
if (!self.isChildGrid) {
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
389
|
+
const newWidth = self.width * ratio;
|
|
390
|
+
const newHeight = self.height * ratio;
|
|
391
|
+
// We need to check is settings size to canvas necessary,
|
|
392
|
+
// because settings the canvas'size will cause the canvas and its state be cleared
|
|
393
|
+
// even if the size is the same.
|
|
394
|
+
// Notes: Please don't call `self.resize()` without a subsequent call to `self.draw()`
|
|
395
|
+
if (self.canvas.width !== newWidth || self.canvas.height !== newHeight) {
|
|
396
|
+
self.canvas.width = newWidth;
|
|
397
|
+
self.canvas.height = newHeight;
|
|
398
|
+
self.ctx.scale(ratio, ratio);
|
|
399
|
+
}
|
|
392
400
|
}
|
|
393
401
|
// resize any open dom elements (input/textarea)
|
|
394
402
|
self.resizeEditInput();
|
|
@@ -616,6 +624,9 @@ export default function (self) {
|
|
|
616
624
|
dragBounds.top = -1;
|
|
617
625
|
dragBounds.bottom = self.viewData.length - 1;
|
|
618
626
|
if (dragBounds.left < 0) dragBounds.left = 0;
|
|
627
|
+
if (dragBounds.left != dragBounds.right)
|
|
628
|
+
self.isMultiColumnsSelected = true;
|
|
629
|
+
else self.isMultiRowsSelected = false;
|
|
619
630
|
}
|
|
620
631
|
|
|
621
632
|
if (
|
|
@@ -729,6 +740,8 @@ export default function (self) {
|
|
|
729
740
|
) {
|
|
730
741
|
if (!(cell.hovered && self.hovers.onFilterButton)) {
|
|
731
742
|
self.selections = [];
|
|
743
|
+
self.selectedRows = [];
|
|
744
|
+
self.selectedColumns = [];
|
|
732
745
|
}
|
|
733
746
|
if (dragBounds.top === -1) {
|
|
734
747
|
dragBounds.top = 0;
|
|
@@ -740,8 +753,13 @@ export default function (self) {
|
|
|
740
753
|
}
|
|
741
754
|
} else {
|
|
742
755
|
self.selectArea(sBounds, true);
|
|
743
|
-
|
|
756
|
+
self.activeCell.rowIndex = sBounds.top;
|
|
757
|
+
self.activeCell.columnIndex = sBounds.left;
|
|
758
|
+
if (sBounds.left == -1 && sBounds.top !== sBounds.bottom) {
|
|
759
|
+
self.activeCell.columnIndex = 0;
|
|
744
760
|
self.isMultiRowsSelected = true;
|
|
761
|
+
self.isMultiColumnsSelected = false;
|
|
762
|
+
}
|
|
745
763
|
}
|
|
746
764
|
}
|
|
747
765
|
|
|
@@ -981,12 +999,8 @@ export default function (self) {
|
|
|
981
999
|
}
|
|
982
1000
|
|
|
983
1001
|
self.resize();
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
self.dragResizeColumn,
|
|
987
|
-
false,
|
|
988
|
-
);
|
|
989
|
-
document.body.removeEventListener('mouseup', self.stopDragResize, false);
|
|
1002
|
+
window.removeEventListener('mousemove', self.dragResizeColumn, false);
|
|
1003
|
+
window.removeEventListener('mouseup', self.stopDragResize, false);
|
|
990
1004
|
self.setStorageData();
|
|
991
1005
|
self.draw(true);
|
|
992
1006
|
self.ignoreNextClick = true;
|
|
@@ -1093,7 +1107,7 @@ export default function (self) {
|
|
|
1093
1107
|
if (document.exitPointerLock) {
|
|
1094
1108
|
document.exitPointerLock();
|
|
1095
1109
|
}
|
|
1096
|
-
|
|
1110
|
+
window.removeEventListener('mousemove', self.scrollGrid, false);
|
|
1097
1111
|
};
|
|
1098
1112
|
self.dragReorder = function (e) {
|
|
1099
1113
|
var pos,
|
|
@@ -1111,10 +1125,7 @@ export default function (self) {
|
|
|
1111
1125
|
return;
|
|
1112
1126
|
}
|
|
1113
1127
|
if ((e.ctrlKey || e.metaKey || e.shiftKey) && self.reorderObject) {
|
|
1114
|
-
if (
|
|
1115
|
-
self.dragMode === 'column-reorder' &&
|
|
1116
|
-
!self.isMultiColumnsSelected(self.draggingItem.header.index)
|
|
1117
|
-
) {
|
|
1128
|
+
if (self.dragMode === 'column-reorder' && !self.isMultiColumnsSelected) {
|
|
1118
1129
|
self.selectColumn(self.draggingItem.header.index, false, false);
|
|
1119
1130
|
}
|
|
1120
1131
|
}
|
|
@@ -1138,6 +1149,11 @@ export default function (self) {
|
|
|
1138
1149
|
-1,
|
|
1139
1150
|
self.activeCell.rowIndex,
|
|
1140
1151
|
);
|
|
1152
|
+
if (self.isMultiColumnsSelected)
|
|
1153
|
+
self.reorderObject = self.getVisibleCellByIndex(
|
|
1154
|
+
self.activeCell.columnIndex,
|
|
1155
|
+
-1,
|
|
1156
|
+
);
|
|
1141
1157
|
if (!self.reorderObject) return;
|
|
1142
1158
|
self.reorderTarget = self.currentCell;
|
|
1143
1159
|
self.reorderObject.dragOffset = {
|
|
@@ -1164,8 +1180,8 @@ export default function (self) {
|
|
|
1164
1180
|
'row-reorder': 'rowIndex',
|
|
1165
1181
|
'column-reorder': 'sortColumnIndex',
|
|
1166
1182
|
}[self.dragMode];
|
|
1167
|
-
|
|
1168
|
-
|
|
1183
|
+
window.removeEventListener('mousemove', self.dragReorder, false);
|
|
1184
|
+
window.removeEventListener('mouseup', self.stopDragReorder, false);
|
|
1169
1185
|
if (
|
|
1170
1186
|
self.reorderObject &&
|
|
1171
1187
|
self.reorderTarget &&
|
|
@@ -1188,23 +1204,34 @@ export default function (self) {
|
|
|
1188
1204
|
tIndex = cr[self.dragMode].indexOf(self.reorderTarget[i]);
|
|
1189
1205
|
if (self.dragMode === 'column-reorder') {
|
|
1190
1206
|
var sortColumnIndices = [];
|
|
1191
|
-
var
|
|
1207
|
+
var selectedColumnIndices = [];
|
|
1192
1208
|
if (self.selections[0]) {
|
|
1209
|
+
oIndex = self.selections[0][0];
|
|
1193
1210
|
self.selections[0].forEach(function (value) {
|
|
1194
1211
|
sortColumnIndices.push(self.orders.columns[value]);
|
|
1195
1212
|
});
|
|
1196
1213
|
}
|
|
1197
1214
|
var deleteCount = sortColumnIndices.length;
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
cr[self.dragMode].splice(
|
|
1215
|
+
if (
|
|
1216
|
+
tIndex < oIndex ||
|
|
1217
|
+
(tIndex > oIndex && Math.abs(tIndex - oIndex) >= deleteCount)
|
|
1218
|
+
) {
|
|
1219
|
+
cr[self.dragMode].splice(oIndex, deleteCount);
|
|
1220
|
+
if (tIndex > oIndex) tIndex = tIndex - (deleteCount - 1);
|
|
1221
|
+
|
|
1222
|
+
self.selectedColumns = [];
|
|
1223
|
+
for (var i = 0; i < sortColumnIndices.length; i++) {
|
|
1224
|
+
if (i === 0) self.activeCell.columnIndex = tIndex;
|
|
1225
|
+
selectedColumnIndices.push(tIndex + i);
|
|
1226
|
+
self.selectedColumns.push(sortColumnIndices[i]);
|
|
1227
|
+
cr[self.dragMode].splice(tIndex + i, 0, sortColumnIndices[i]);
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
self.orders.columns = cr[self.dragMode];
|
|
1231
|
+
self.viewData.forEach(function (row, rowIndex) {
|
|
1232
|
+
self.selections[rowIndex] = selectedColumnIndices;
|
|
1233
|
+
});
|
|
1203
1234
|
}
|
|
1204
|
-
self.orders.columns = cr[self.dragMode];
|
|
1205
|
-
self.viewData.forEach(function (row, rowIndex) {
|
|
1206
|
-
self.selections[rowIndex] = seletedColumnIndices;
|
|
1207
|
-
});
|
|
1208
1235
|
} else {
|
|
1209
1236
|
var selectedRows = [];
|
|
1210
1237
|
self.selections.forEach(function (row, rowIndex) {
|
|
@@ -1213,13 +1240,21 @@ export default function (self) {
|
|
|
1213
1240
|
odata.push(self.viewData[rowIndex]);
|
|
1214
1241
|
}
|
|
1215
1242
|
});
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
self.
|
|
1222
|
-
self.
|
|
1243
|
+
if (
|
|
1244
|
+
tIndex < oIndex ||
|
|
1245
|
+
(tIndex > oIndex && Math.abs(tIndex - oIndex) >= odata.length)
|
|
1246
|
+
) {
|
|
1247
|
+
self.viewData.splice(oIndex, odata.length);
|
|
1248
|
+
self.selections = [];
|
|
1249
|
+
self.selectedRows = [];
|
|
1250
|
+
if (tIndex > oIndex) tIndex = tIndex - (odata.length - 1);
|
|
1251
|
+
self.activeCell.rowIndex = tIndex;
|
|
1252
|
+
|
|
1253
|
+
for (var i = 0; i < odata.length; i++) {
|
|
1254
|
+
self.viewData.splice(tIndex + i, 0, odata[i]);
|
|
1255
|
+
self.selections[tIndex + i] = selectedRows[i];
|
|
1256
|
+
self.selectedRows.push(tIndex + i);
|
|
1257
|
+
}
|
|
1223
1258
|
}
|
|
1224
1259
|
}
|
|
1225
1260
|
self.resize();
|
|
@@ -1250,8 +1285,8 @@ export default function (self) {
|
|
|
1250
1285
|
}
|
|
1251
1286
|
};
|
|
1252
1287
|
self.stopDragMove = function (e) {
|
|
1253
|
-
|
|
1254
|
-
|
|
1288
|
+
window.removeEventListener('mousemove', self.dragMove, false);
|
|
1289
|
+
window.removeEventListener('mouseup', self.stopDragMove, false);
|
|
1255
1290
|
var b = self.getSelectionBounds();
|
|
1256
1291
|
if (
|
|
1257
1292
|
self.dispatchEvent('endmove', { NativeEvent: e, cell: self.currentCell })
|
|
@@ -1282,16 +1317,30 @@ export default function (self) {
|
|
|
1282
1317
|
) {
|
|
1283
1318
|
return;
|
|
1284
1319
|
}
|
|
1285
|
-
var pos = self.getLayerPos(e)
|
|
1320
|
+
var pos = self.getLayerPos(e);
|
|
1321
|
+
|
|
1322
|
+
self.ignoreNextClick = true;
|
|
1323
|
+
self.freezeMarkerPosition = pos;
|
|
1324
|
+
pos.x -= self.getRowGroupAreaWidth();
|
|
1325
|
+
pos.y -= self.getColumnGroupAreaHeight();
|
|
1326
|
+
if (
|
|
1327
|
+
Math.abs(pos.x) > self.attributes.reorderDeadZone ||
|
|
1328
|
+
Math.abs(pos.y) > self.attributes.reorderDeadZone
|
|
1329
|
+
) {
|
|
1330
|
+
setTimeout(function () {
|
|
1331
|
+
self.autoScrollZone(e, pos.x, pos.y, false);
|
|
1332
|
+
}, 1);
|
|
1333
|
+
}
|
|
1334
|
+
};
|
|
1335
|
+
self.stopFreezeMove = function (e) {
|
|
1336
|
+
let pos = self.getLayerPos(e),
|
|
1286
1337
|
bm = self.style.gridBorderCollapse === 'collapse' ? 1 : 2,
|
|
1287
1338
|
columnHeaderCellBorder = self.style.columnHeaderCellBorderWidth * bm,
|
|
1288
1339
|
columnHeaderCellHeight = self.getColumnHeaderCellHeight(),
|
|
1289
1340
|
rowHeaderCellWidth = self.getRowHeaderCellWidth();
|
|
1290
|
-
|
|
1291
|
-
self.ignoreNextClick = true;
|
|
1292
|
-
self.freezeMarkerPosition = pos;
|
|
1293
1341
|
pos.x -= self.getRowGroupAreaWidth();
|
|
1294
1342
|
pos.y -= self.getColumnGroupAreaHeight();
|
|
1343
|
+
|
|
1295
1344
|
if (
|
|
1296
1345
|
self.currentCell &&
|
|
1297
1346
|
self.currentCell.rowIndex !== undefined &&
|
|
@@ -1329,14 +1378,18 @@ export default function (self) {
|
|
|
1329
1378
|
) {
|
|
1330
1379
|
const dataWidth = self.refreshScrollCacheX();
|
|
1331
1380
|
self.scrollBox.scrollLeft = 0;
|
|
1332
|
-
|
|
1381
|
+
let x =
|
|
1382
|
+
self.currentCell.x -
|
|
1383
|
+
self.style.frozenMarkerWidth -
|
|
1384
|
+
self.style.frozenMarkerBorderWidth;
|
|
1385
|
+
if (pos.x > x + self.currentCell.width / 2)
|
|
1386
|
+
self.frozenColumn = self.currentCell.columnIndex + 1;
|
|
1387
|
+
else if (self.currentCell.columnIndex >= 0)
|
|
1388
|
+
self.frozenColumn = self.currentCell.columnIndex;
|
|
1333
1389
|
self.scrollBox.bar.h.x =
|
|
1334
|
-
rowHeaderCellWidth + self.scrollCache.x[self.frozenColumn
|
|
1335
|
-
self.scrollBox.box.h.x =
|
|
1336
|
-
rowHeaderCellWidth + self.scrollCache.x[self.frozenColumn - 1];
|
|
1337
|
-
// var dataWidth = self.scrollCache.x[self.scrollCache.x.length - 1];
|
|
1390
|
+
rowHeaderCellWidth + self.scrollCache.x[self.frozenColumn];
|
|
1338
1391
|
self.scrollBox.widthBoxRatio =
|
|
1339
|
-
(self.scrollBox.width - self.scrollCache.x[self.frozenColumn
|
|
1392
|
+
(self.scrollBox.width - self.scrollCache.x[self.frozenColumn]) /
|
|
1340
1393
|
dataWidth;
|
|
1341
1394
|
self.scrollBox.scrollBoxWidth =
|
|
1342
1395
|
self.scrollBox.width * self.scrollBox.widthBoxRatio -
|
|
@@ -1355,10 +1408,9 @@ export default function (self) {
|
|
|
1355
1408
|
self.autoScrollZone(e, pos.x, pos.y, false);
|
|
1356
1409
|
}, 1);
|
|
1357
1410
|
}
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
document.body.removeEventListener('mouseup', self.stopFreezeMove, false);
|
|
1411
|
+
|
|
1412
|
+
window.removeEventListener('mousemove', self.freezeMove, false);
|
|
1413
|
+
window.removeEventListener('mouseup', self.stopFreezeMove, false);
|
|
1362
1414
|
self.freezeMarkerPosition = undefined;
|
|
1363
1415
|
if (
|
|
1364
1416
|
self.dispatchEvent('endfreezemove', {
|
|
@@ -1372,6 +1424,7 @@ export default function (self) {
|
|
|
1372
1424
|
return;
|
|
1373
1425
|
}
|
|
1374
1426
|
self.draw(true);
|
|
1427
|
+
self.resize();
|
|
1375
1428
|
};
|
|
1376
1429
|
self.mousedown = function (e, overridePos) {
|
|
1377
1430
|
self.lastMouseDownTarget = e.target;
|
|
@@ -1418,6 +1471,8 @@ export default function (self) {
|
|
|
1418
1471
|
!(self.currentCell.hovered && self.hovers.onFilterButton)
|
|
1419
1472
|
) {
|
|
1420
1473
|
self.selections = [];
|
|
1474
|
+
self.selectedRows = [];
|
|
1475
|
+
self.selectedColumns = [];
|
|
1421
1476
|
}
|
|
1422
1477
|
}
|
|
1423
1478
|
if (self.dragStartObject.isGrid) {
|
|
@@ -1442,8 +1497,8 @@ export default function (self) {
|
|
|
1442
1497
|
};
|
|
1443
1498
|
self.canvas.requestPointerLock();
|
|
1444
1499
|
}
|
|
1445
|
-
|
|
1446
|
-
|
|
1500
|
+
window.addEventListener('mousemove', self.scrollGrid, false);
|
|
1501
|
+
window.addEventListener('mouseup', self.stopScrollGrid, false);
|
|
1447
1502
|
self.ignoreNextClick = true;
|
|
1448
1503
|
return;
|
|
1449
1504
|
}
|
|
@@ -1461,7 +1516,9 @@ export default function (self) {
|
|
|
1461
1516
|
self.dragStartObject.columnIndex > -1
|
|
1462
1517
|
) {
|
|
1463
1518
|
self.selectColumn(self.currentCell.header.index, ctrl, e.shiftKey);
|
|
1464
|
-
|
|
1519
|
+
return;
|
|
1520
|
+
}
|
|
1521
|
+
if (self.attributes.selectionMode !== 'row') {
|
|
1465
1522
|
self.mousemove(e);
|
|
1466
1523
|
}
|
|
1467
1524
|
return;
|
|
@@ -1478,8 +1535,8 @@ export default function (self) {
|
|
|
1478
1535
|
) {
|
|
1479
1536
|
return;
|
|
1480
1537
|
}
|
|
1481
|
-
|
|
1482
|
-
|
|
1538
|
+
window.addEventListener('mousemove', self.dragMove, false);
|
|
1539
|
+
window.addEventListener('mouseup', self.stopDragMove, false);
|
|
1483
1540
|
return self.mousemove(e);
|
|
1484
1541
|
}
|
|
1485
1542
|
if (freeze) {
|
|
@@ -1491,8 +1548,12 @@ export default function (self) {
|
|
|
1491
1548
|
if (self.dispatchEvent('beginfreezemove', { NativeEvent: e })) {
|
|
1492
1549
|
return;
|
|
1493
1550
|
}
|
|
1494
|
-
|
|
1495
|
-
|
|
1551
|
+
|
|
1552
|
+
self.freezeMarkerPosition = self.getLayerPos(e);
|
|
1553
|
+
self.freezeMarkerPosition.isGrab = true;
|
|
1554
|
+
|
|
1555
|
+
window.addEventListener('mousemove', self.freezeMove, false);
|
|
1556
|
+
window.addEventListener('mouseup', self.stopFreezeMove, false);
|
|
1496
1557
|
return self.mousemove(e);
|
|
1497
1558
|
}
|
|
1498
1559
|
if (resize && !onUnhideIndicator) {
|
|
@@ -1510,22 +1571,19 @@ export default function (self) {
|
|
|
1510
1571
|
? 'cornerCell'
|
|
1511
1572
|
: self.draggingItem.sortColumnIndex
|
|
1512
1573
|
] || self.draggingItem.width;
|
|
1513
|
-
|
|
1514
|
-
|
|
1574
|
+
window.addEventListener('mousemove', self.dragResizeColumn, false);
|
|
1575
|
+
window.addEventListener('mouseup', self.stopDragResize, false);
|
|
1515
1576
|
return;
|
|
1516
1577
|
}
|
|
1517
1578
|
if (['row-reorder', 'column-reorder'].indexOf(self.dragMode) !== -1) {
|
|
1518
1579
|
self.draggingItem = self.dragStartObject;
|
|
1519
|
-
if (
|
|
1520
|
-
self.dragMode === 'column-reorder' &&
|
|
1521
|
-
!self.isMultiColumnsSelected(self.currentCell.header.index)
|
|
1522
|
-
) {
|
|
1580
|
+
if (self.dragMode === 'column-reorder' && !self.isMultiColumnsSelected) {
|
|
1523
1581
|
self.selectColumn(self.currentCell.header.index, ctrl, e.shiftKey);
|
|
1524
1582
|
} else if (self.dragMode === 'row-reorder' && !self.isMultiRowsSelected) {
|
|
1525
1583
|
self.selectRow(self.dragStartObject.rowIndex, ctrl, null);
|
|
1526
1584
|
}
|
|
1527
|
-
|
|
1528
|
-
|
|
1585
|
+
window.addEventListener('mousemove', self.dragReorder, false);
|
|
1586
|
+
window.addEventListener('mouseup', self.stopDragReorder, false);
|
|
1529
1587
|
return;
|
|
1530
1588
|
}
|
|
1531
1589
|
};
|
|
@@ -1753,6 +1811,8 @@ export default function (self) {
|
|
|
1753
1811
|
if (!e.shiftKey && self.attributes.selectionFollowsActiveCell) {
|
|
1754
1812
|
if (!ctrl) {
|
|
1755
1813
|
self.selections = [];
|
|
1814
|
+
self.selectedRows = [];
|
|
1815
|
+
self.selectedColumns = [];
|
|
1756
1816
|
}
|
|
1757
1817
|
self.selections[y] = self.selections[y] || [];
|
|
1758
1818
|
self.selections[y].push(x);
|
|
@@ -1911,6 +1971,8 @@ export default function (self) {
|
|
|
1911
1971
|
});
|
|
1912
1972
|
} else {
|
|
1913
1973
|
var selections = [];
|
|
1974
|
+
self.selectedRows = [];
|
|
1975
|
+
self.selectedColumns = [];
|
|
1914
1976
|
for (var rowIndex = 0; rowIndex < rows.length; rowIndex++) {
|
|
1915
1977
|
// Rows may have been moved by user, so get the actual row index
|
|
1916
1978
|
// (instead of the row index at which the row is rendered):
|
|
@@ -1921,6 +1983,7 @@ export default function (self) {
|
|
|
1921
1983
|
var newRowData = Object.assign({}, existingRowData);
|
|
1922
1984
|
|
|
1923
1985
|
selections[realRowIndex] = [];
|
|
1986
|
+
self.selectedRows.push(realRowIndex);
|
|
1924
1987
|
|
|
1925
1988
|
for (var colIndex = 0; colIndex < cells.length; colIndex++) {
|
|
1926
1989
|
var column = schema[startColIndex + colIndex];
|
|
@@ -1943,6 +2006,8 @@ export default function (self) {
|
|
|
1943
2006
|
selections[realRowIndex].push(startColIndex + colIndex);
|
|
1944
2007
|
|
|
1945
2008
|
newRowData[columnName] = cellData;
|
|
2009
|
+
if (self.selectedColumns.indexOf(startColIndex + colIndex) === -1)
|
|
2010
|
+
self.selectedColumns.push(startColIndex + colIndex);
|
|
1946
2011
|
}
|
|
1947
2012
|
|
|
1948
2013
|
self.originalData[self.boundRowIndexMap.get(realRowIndex)] = newRowData;
|
package/lib/intf.js
CHANGED
|
@@ -90,6 +90,8 @@ export default function (self, ctor) {
|
|
|
90
90
|
trees: {},
|
|
91
91
|
};
|
|
92
92
|
self.selections = [];
|
|
93
|
+
self.selectedRows = [];
|
|
94
|
+
self.selectedColumns = [];
|
|
93
95
|
self.filterable = {
|
|
94
96
|
rows: [],
|
|
95
97
|
columns: [],
|
|
@@ -175,6 +177,8 @@ export default function (self, ctor) {
|
|
|
175
177
|
'cellmouseover',
|
|
176
178
|
'click',
|
|
177
179
|
'collapsetree',
|
|
180
|
+
'columnhide',
|
|
181
|
+
'columnunhide',
|
|
178
182
|
'contextmenu',
|
|
179
183
|
'copy',
|
|
180
184
|
'datachanged',
|
|
@@ -377,7 +381,7 @@ export default function (self, ctor) {
|
|
|
377
381
|
);
|
|
378
382
|
const columnName = schema[boundColumnIndex].name;
|
|
379
383
|
|
|
380
|
-
self.
|
|
384
|
+
self.viewData[boundRowIndex][columnName] = '';
|
|
381
385
|
|
|
382
386
|
affectedCells.push([
|
|
383
387
|
rowIndex,
|
|
@@ -903,7 +907,6 @@ export default function (self, ctor) {
|
|
|
903
907
|
if (!self.isChildGrid) {
|
|
904
908
|
document.body.removeChild(self.controlInput);
|
|
905
909
|
}
|
|
906
|
-
self.eventParent.removeEventListener('mouseup', self.mouseup, false);
|
|
907
910
|
self.eventParent.removeEventListener('mousedown', self.mousedown, false);
|
|
908
911
|
self.eventParent.removeEventListener('dblclick', self.dblclick, false);
|
|
909
912
|
self.eventParent.removeEventListener('click', self.click, false);
|
|
@@ -917,7 +920,8 @@ export default function (self, ctor) {
|
|
|
917
920
|
self.controlInput.removeEventListener('keypress', self.keypress, false);
|
|
918
921
|
self.controlInput.removeEventListener('keyup', self.keyup, false);
|
|
919
922
|
self.controlInput.removeEventListener('keydown', self.keydown, false);
|
|
920
|
-
|
|
923
|
+
window.removeEventListener('mouseup', self.mouseup, false);
|
|
924
|
+
window.removeEventListener('mousemove', self.mousemove);
|
|
921
925
|
window.removeEventListener('resize', self.resize);
|
|
922
926
|
if (self.observer && self.observer.disconnect) {
|
|
923
927
|
self.observer.disconnect();
|
|
@@ -1280,17 +1284,6 @@ export default function (self, ctor) {
|
|
|
1280
1284
|
};
|
|
1281
1285
|
};
|
|
1282
1286
|
|
|
1283
|
-
self.unhideColumns = function (orderIndex0, orderIndex1) {
|
|
1284
|
-
const orders = self.orders.columns;
|
|
1285
|
-
const schema = self.getSchema();
|
|
1286
|
-
for (let i = orderIndex0; i <= orderIndex1; i++) {
|
|
1287
|
-
const columnIndex = orders[i];
|
|
1288
|
-
const s = schema[columnIndex];
|
|
1289
|
-
if (s && s.hidden) s.hidden = false;
|
|
1290
|
-
}
|
|
1291
|
-
self.refresh();
|
|
1292
|
-
};
|
|
1293
|
-
|
|
1294
1287
|
self.getDomRoot = function () {
|
|
1295
1288
|
return self.shadowRoot ? self.shadowRoot.host : self.parentNode;
|
|
1296
1289
|
};
|
|
@@ -1522,6 +1515,7 @@ export default function (self, ctor) {
|
|
|
1522
1515
|
self.intf.paste = self.paste;
|
|
1523
1516
|
self.intf.setStyleProperty = self.setStyleProperty;
|
|
1524
1517
|
self.intf.hideColumns = self.hideColumns;
|
|
1518
|
+
self.intf.unhideColumns = self.unhideColumns;
|
|
1525
1519
|
self.intf.hideRows = self.hideRows;
|
|
1526
1520
|
self.intf.unhideRows = self.unhideRows;
|
|
1527
1521
|
Object.defineProperty(self.intf, 'defaults', {
|