From e9f0c743225a187b39f4e85428cbdcba88aa0e5d Mon Sep 17 00:00:00 2001 From: "damian.przygodzki" Date: Wed, 1 Mar 2017 13:08:07 +0100 Subject: [PATCH 1/2] #297 When changing windowType, flush the selection --- src/components/app/DocumentList.js | 8 +++----- src/components/table/Table.js | 11 ++++++++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/components/app/DocumentList.js b/src/components/app/DocumentList.js index 82dbd72de..805ef887d 100644 --- a/src/components/app/DocumentList.js +++ b/src/components/app/DocumentList.js @@ -52,7 +52,7 @@ class DocumentList extends Component { componentWillReceiveProps(props) { const { windowType, defaultViewId, defaultSort, defaultPage, selected, - inBackground + inBackground, dispatch } = props; const {page, sort, viewId, cachedSelection} = this.state; @@ -68,7 +68,7 @@ class DocumentList extends Component { filters: null, viewId: null }, () => { - + dispatch(selectTableItems([])) this.fetchLayoutAndData(); }); } @@ -112,9 +112,7 @@ class DocumentList extends Component { inBackground != this.props.inBackground ) { if(!inBackground){ - this.props.dispatch( - selectTableItems(cachedSelection) - ) + dispatch(selectTableItems(cachedSelection)) }else{ this.setState({ cachedSelection: selected diff --git a/src/components/table/Table.js b/src/components/table/Table.js index 5b73a3bfa..60ad91ae1 100644 --- a/src/components/table/Table.js +++ b/src/components/table/Table.js @@ -63,7 +63,7 @@ class Table extends Component { } componentDidUpdate(prevProps) { - const {mainTable, open, rowData} = this.props; + const {mainTable, open, rowData, defaultSelected} = this.props; if(mainTable && open){ this.table.focus(); @@ -75,6 +75,15 @@ class Table extends Component { ){ this.getIndentData(); } + + if( + JSON.stringify(prevProps.defaultSelected) !== + JSON.stringify(defaultSelected) + ){ + this.setState({ + selected: defaultSelected + }) + } } getChildContext = () => { From 4ef737c9ff44c2e737568e98299b724021836228 Mon Sep 17 00:00:00 2001 From: "damian.przygodzki" Date: Wed, 1 Mar 2017 13:09:22 +0100 Subject: [PATCH 2/2] Linter fixes --- src/components/table/Table.js | 2 +- src/containers/MasterWindow.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/table/Table.js b/src/components/table/Table.js index 60ad91ae1..661a0315a 100644 --- a/src/components/table/Table.js +++ b/src/components/table/Table.js @@ -75,7 +75,7 @@ class Table extends Component { ){ this.getIndentData(); } - + if( JSON.stringify(prevProps.defaultSelected) !== JSON.stringify(defaultSelected) diff --git a/src/containers/MasterWindow.js b/src/containers/MasterWindow.js index 1766892b8..04617fc32 100644 --- a/src/containers/MasterWindow.js +++ b/src/containers/MasterWindow.js @@ -79,7 +79,7 @@ class MasterWindow extends Component { render() { const { master, modal, breadcrumb, references, actions, attachments, - rawModal, selected, indicator, dispatch + rawModal, selected, indicator } = this.props; const {newRow, modalTitle} = this.state;