From 470e1bdc406d22c69e58fdee65bfae4f2a51197c Mon Sep 17 00:00:00 2001 From: Mariusz Jurowicz Date: Thu, 28 Jun 2018 15:12:34 +0200 Subject: [PATCH] #7593 fix drag'n drop columns for table with custom index column (#7596) --- js/notebook/src/tableDisplay/dataGrid/column/reducer.ts | 1 - js/notebook/src/tableDisplay/dataGrid/model/reducer.ts | 7 ++++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/js/notebook/src/tableDisplay/dataGrid/column/reducer.ts b/js/notebook/src/tableDisplay/dataGrid/column/reducer.ts index d6ae093ebf..880fb331a7 100644 --- a/js/notebook/src/tableDisplay/dataGrid/column/reducer.ts +++ b/js/notebook/src/tableDisplay/dataGrid/column/reducer.ts @@ -157,7 +157,6 @@ function reduceColumnPositions(state: IColumnsState, action: DataGridColumnsActi columnState => columnsVisible[columnState.name] === false ); - // Remove frozen columns if (columnsFrozenCopy.length > 0) { columnsFrozenCopy.sort((name1, name2) => { diff --git a/js/notebook/src/tableDisplay/dataGrid/model/reducer.ts b/js/notebook/src/tableDisplay/dataGrid/model/reducer.ts index 4ce71a0cf2..c15f7d2544 100644 --- a/js/notebook/src/tableDisplay/dataGrid/model/reducer.ts +++ b/js/notebook/src/tableDisplay/dataGrid/model/reducer.ts @@ -19,8 +19,8 @@ import IDataModelState from "../interface/IDataGridModelState"; import DataGridAction, {DataGridColumnAction} from "../store/DataGridAction"; import { each } from "@phosphor/algorithm"; import { - selectColumnNames, selectColumnOrder, selectColumnsFrozen, selectColumnsFrozenNames, - selectColumnsVisible + selectColumnNames, selectColumnOrder, selectColumnsFrozen, + selectColumnsVisible, selectHasIndex } from "./selectors"; import {selectCellHighlighters} from "./selectors/model"; import IHihglighterState from "../interface/IHighlighterState"; @@ -135,7 +135,8 @@ function reduceColumnOrder(state, action: DataGridColumnAction) { const columnOrder = getColumnOrderArray(state); const columnVisible = state.columnsVisible; const columnsFrozenen = selectColumnsFrozen({ model: state }); - let destination = position.value; + const hasIndex = selectHasIndex({ model: state }); + let destination = hasIndex ? position.value + 1 : position.value; Object.keys(columnVisible).forEach(name => { if (columnVisible[name] !== false) {