From beebcabc4487623099d265129844aa8be00cfdce Mon Sep 17 00:00:00 2001 From: Kasey Date: Thu, 13 Dec 2018 13:03:49 -0500 Subject: [PATCH 1/4] fix(isTransfering): if the transfer status is -1, we are not currently transfering the previous code only checked if the transfer status was 0 or not. If it is -1 we are also no longer transfering, as we have errored --- lib/selectors/transfers.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/selectors/transfers.js b/lib/selectors/transfers.js index f07d6e6d..2b48bb47 100644 --- a/lib/selectors/transfers.js +++ b/lib/selectors/transfers.js @@ -3,7 +3,12 @@ export function selectTransferStatus (state, id) { } export function selectIsTransfering (state, id) { - return state && state.transfers && !!Object.keys(state.transfers).find(elm => elm === id) + const path = state && state.transfers && Object.keys(state.transfers).find(elm => elm === id) + if (!path) { + return false + } + const status = state.transfers[path] + return status <= 0 } export function selectTransfers (state) { From 410919b98c280731f63f22534f6657bdbcff55ac Mon Sep 17 00:00:00 2001 From: Kasey Date: Thu, 13 Dec 2018 13:03:59 -0500 Subject: [PATCH 2/4] fix(Network): fix bug that looped asking for registry datasets --- lib/components/Network.js | 7 ++++--- lib/reducers/paginate.js | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/components/Network.js b/lib/components/Network.js index 44b9b714..d3cf29cf 100644 --- a/lib/components/Network.js +++ b/lib/components/Network.js @@ -27,14 +27,15 @@ export default class Network extends Base { componentWillMount () { if (!this.props.skipLoad && this.props.sessionProfile) { this.props.loadProfiles() - } else if (!this.props.datasets && !this.props.datasetsFetchedAll && !this.props.datasetsFetchedError) { + } + if (!this.props.datasets && !this.props.datasetsFetchedAll && !this.props.datasetsFetchedError) { this.props.loadRegistryDatasets().then(action => this.handleLoadDatasetsError(action)) } } componentWillReceiveProps (nextProps) { - if (!nextProps.datasetsFetchedAll && !nextProps.datasetsLoading && !nextProps.datasetsFetchedError) { - this.props.loadRegistryDatasets().then(action => this.handleLoadDatasetsError(action)) + if (this.props.skipLoad !== nextProps.skipLoad && !nextProps.skipload && nextProps.sessionProfile) { + this.props.loadProfiles() } } diff --git a/lib/reducers/paginate.js b/lib/reducers/paginate.js index 77dbb2be..45e99a1c 100755 --- a/lib/reducers/paginate.js +++ b/lib/reducers/paginate.js @@ -37,7 +37,7 @@ const paginate = ({ types, mapActionToKey, name }) => { isFetching: false, ids: union(state.ids, action.response.result.data), // nextPageUrl: action.response.nextPageUrl, - fetchedAll: (action.response.result.data.length < action.pageSize), + fetchedAll: (action.response.result.data && action.response.result.data.length < action.pageSize), pageCount: action.page, error: '' }) From 99d404f3615e84010e707701e76b975e568cbdad Mon Sep 17 00:00:00 2001 From: Kasey Date: Thu, 13 Dec 2018 13:04:10 -0500 Subject: [PATCH 3/4] fix(published button): added loading spinner to publish/unpublish button --- lib/components/dataset/Dataset.js | 26 +++++++++++++++++--- lib/components/dataset/DatasetButtonGroup.js | 3 ++- lib/components/dataset/DatasetRouter.js | 2 ++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/lib/components/dataset/Dataset.js b/lib/components/dataset/Dataset.js index 3a37d25d..914d5332 100644 --- a/lib/components/dataset/Dataset.js +++ b/lib/components/dataset/Dataset.js @@ -21,7 +21,11 @@ const RENAME_DATASET_MODAL = 'RENAME_DATASET_MODAL' export default class Dataset extends Base { constructor (props) { - super(props); + super(props) + + this.state = { + publishing: false + }; [ 'handleDownloadDataset', @@ -30,7 +34,8 @@ export default class Dataset extends Base { 'handleGoBack', 'handleAddDataset', 'handleReload', - 'handleRenameDataset' + 'handleRenameDataset', + 'handleTogglePublish' ].forEach((m) => { this[m] = this[m].bind(this) }) } @@ -150,6 +155,18 @@ export default class Dataset extends Base { }) } + handleTogglePublish () { + const { peername, name, datasetRef } = this.props + this.setState( + { publishing: true }, + () => { + this.props.togglePublishDataset(peername, name, datasetRef.path, datasetRef.published).then(() => { + this.setState({ publishing: false }) + }) + } + ) + } + template (css) { const { datasetRef, @@ -172,6 +189,8 @@ export default class Dataset extends Base { isInNamespace, registryVersion } = this.props + const { publishing } = this.state + if (!datasetRef) { return } @@ -235,7 +254,8 @@ export default class Dataset extends Base { onRemove={this.handleDeleteDataset} onAdd={this.handleAddDataset} onEdit={this.handleEditDataset} - onTogglePublish={() => { this.props.togglePublishDataset(peername, name, datasetRef.path, datasetRef.published) }} + onTogglePublish={this.handleTogglePublish} + publishing={publishing} exportPath={this.handleDownloadDataset()} /> diff --git a/lib/components/dataset/DatasetButtonGroup.js b/lib/components/dataset/DatasetButtonGroup.js index 1143ee3f..c4edbd8f 100644 --- a/lib/components/dataset/DatasetButtonGroup.js +++ b/lib/components/dataset/DatasetButtonGroup.js @@ -10,6 +10,7 @@ export default class DatasetButtonGroup extends Base { onAdd, transfering, onPublish, + publishing, published, onEdit, exportPath, @@ -29,7 +30,7 @@ export default class DatasetButtonGroup extends Base { const publishedText = published ? 'Unpublish' : 'Publish' if (isLocal && isInNamespace && isLatestDataset && onPublish) { - buttons.push({ onClick: onPublish, text: publishedText }) + buttons.push({ onClick: onPublish, text: publishedText, loading: publishing }) } if (isLatestDataset && !fromRegistry && onEdit) { diff --git a/lib/components/dataset/DatasetRouter.js b/lib/components/dataset/DatasetRouter.js index 899d09d1..cea8b34d 100644 --- a/lib/components/dataset/DatasetRouter.js +++ b/lib/components/dataset/DatasetRouter.js @@ -29,6 +29,7 @@ class DatasetRouter extends Base { datasetRef, onAdd, onTogglePublish, + publishing, onEdit, exportPath, onRemove, @@ -47,6 +48,7 @@ class DatasetRouter extends Base { onAdd={onAdd} onPublish={onTogglePublish} published={datasetRef.published} + publishing={publishing} onEdit={onEdit} exportPath={exportPath} onRemove={onRemove} From 9ce5fbb34271c0fcfe16af21280f8fc4434d6bc2 Mon Sep 17 00:00:00 2001 From: Kasey Date: Thu, 13 Dec 2018 15:44:43 -0500 Subject: [PATCH 4/4] chore(*): version bump to 0.6.2-dev --- version.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.js b/version.js index 028cd956..b5b33a42 100644 --- a/version.js +++ b/version.js @@ -1 +1 @@ -export default '0.6.1' +export default '0.6.2-dev'