@skyux/ag-grid 6.0.0 → 6.1.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.
|
@@ -268,20 +268,10 @@ class SkyAgGridDataManagerAdapterDirective {
|
|
|
268
268
|
.subscribe((value) => {
|
|
269
269
|
this.updateColumnsInCurrentDataState(value.columnApi);
|
|
270
270
|
});
|
|
271
|
-
let currentColumns;
|
|
272
|
-
agGrid.dragStarted
|
|
273
|
-
.pipe(takeUntil(this.ngUnsubscribe))
|
|
274
|
-
.subscribe((value) => {
|
|
275
|
-
currentColumns = this.getColumnOrder(value.columnApi);
|
|
276
|
-
});
|
|
277
271
|
agGrid.dragStopped
|
|
278
272
|
.pipe(takeUntil(this.ngUnsubscribe))
|
|
279
273
|
.subscribe((value) => {
|
|
280
|
-
|
|
281
|
-
const hasChanged = currentColumns.findIndex((colId, i) => colId !== newColumns[i]);
|
|
282
|
-
if (hasChanged > -1) {
|
|
283
|
-
this.updateColumnsInCurrentDataState(value.columnApi);
|
|
284
|
-
}
|
|
274
|
+
this.updateColumnsInCurrentDataState(value.columnApi);
|
|
285
275
|
});
|
|
286
276
|
agGrid.rowSelected
|
|
287
277
|
.pipe(takeUntil(this.ngUnsubscribe))
|
|
@@ -324,14 +314,17 @@ class SkyAgGridDataManagerAdapterDirective {
|
|
|
324
314
|
updateColumnsInCurrentDataState(columnApi) {
|
|
325
315
|
const columnOrder = this.getColumnOrder(columnApi);
|
|
326
316
|
const viewState = this.currentDataState.getViewStateById(this.viewConfig.id);
|
|
327
|
-
viewState.displayedColumnIds
|
|
328
|
-
|
|
317
|
+
if (viewState.displayedColumnIds.length !== columnOrder.length ||
|
|
318
|
+
viewState.displayedColumnIds.some((col, i) => col !== columnOrder[i])) {
|
|
319
|
+
viewState.displayedColumnIds = columnOrder;
|
|
320
|
+
this.dataManagerSvc.updateDataState(this.currentDataState.addOrUpdateView(this.viewConfig.id, viewState), this.viewConfig.id);
|
|
321
|
+
}
|
|
329
322
|
}
|
|
330
323
|
getColumnOrder(columnApi) {
|
|
331
324
|
return columnApi
|
|
332
|
-
.
|
|
333
|
-
.filter((
|
|
334
|
-
.map((
|
|
325
|
+
.getColumnState()
|
|
326
|
+
.filter((state) => !state.hide)
|
|
327
|
+
.map((state) => state.colId);
|
|
335
328
|
}
|
|
336
329
|
displayColumns(dataState) {
|
|
337
330
|
const agGrid = this.currentAgGrid;
|
|
@@ -341,12 +334,16 @@ class SkyAgGridDataManagerAdapterDirective {
|
|
|
341
334
|
if (viewState.displayedColumnIds) {
|
|
342
335
|
displayedColumnIds = viewState.displayedColumnIds;
|
|
343
336
|
}
|
|
344
|
-
const
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
const
|
|
348
|
-
|
|
349
|
-
|
|
337
|
+
const columnOrder = this.getColumnOrder(agGrid.columnApi);
|
|
338
|
+
if (displayedColumnIds.length !== columnOrder.length ||
|
|
339
|
+
displayedColumnIds.some((col, i) => col !== columnOrder[i])) {
|
|
340
|
+
const hideColumns = agGrid.columnApi
|
|
341
|
+
.getColumnState()
|
|
342
|
+
.map((col) => col.colId)
|
|
343
|
+
.filter((colId) => !displayedColumnIds.includes(colId));
|
|
344
|
+
agGrid.columnApi.setColumnsVisible(hideColumns, false);
|
|
345
|
+
agGrid.columnApi.setColumnsVisible(displayedColumnIds, true);
|
|
346
|
+
agGrid.columnApi.moveColumns(displayedColumnIds, 0);
|
|
350
347
|
}
|
|
351
348
|
}
|
|
352
349
|
selectAll() {
|