From d9bd447a320bdacda0e9c53c742e5f3320dc929f Mon Sep 17 00:00:00 2001 From: Lan Le Date: Mon, 25 Mar 2024 14:10:35 +0100 Subject: [PATCH] feat: change flow to save updated attachment --- .../src/components/container/ContainerDatasetModal.js | 7 ++++--- .../src/components/container/ContainerDatasets.js | 11 +++++++---- app/packs/src/stores/alt/actions/UIActions.js | 4 ++-- app/packs/src/stores/alt/stores/UIStore.js | 5 +++-- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/app/packs/src/components/container/ContainerDatasetModal.js b/app/packs/src/components/container/ContainerDatasetModal.js index a44bf539eb..24f15374a9 100644 --- a/app/packs/src/components/container/ContainerDatasetModal.js +++ b/app/packs/src/components/container/ContainerDatasetModal.js @@ -23,7 +23,7 @@ export default class ContainerDatasetModal extends Component { this.handleSwitchMode = this.handleSwitchMode.bind(this); this.handleModalClose = this.handleModalClose.bind(this); this.handleSaveWithoutClose = this.handleSaveWithoutClose.bind(this); - // this.onLoadingStoreChange = this.onLoadingStoreChange.bind(this); + this.onLoadingStoreChange = this.onLoadingStoreChange.bind(this); } componentDidMount() { @@ -37,7 +37,7 @@ export default class ContainerDatasetModal extends Component { onLoadingStoreChange(state) { const { loading } = state; if (!loading) { - UIActions.saveAttachmentDataset.defer('', false); + UIActions.saveAttachmentDataset.defer('', false, ''); } } @@ -66,7 +66,8 @@ export default class ContainerDatasetModal extends Component { }); const { elementID, templateType } = this.props; - UIActions.saveAttachmentDataset(elementID, templateType); + const datasetID = this.datasetInput.current.state.datasetContainer.id; + UIActions.saveAttachmentDataset(elementID, templateType, datasetID); } handleNameChange(newName) { diff --git a/app/packs/src/components/container/ContainerDatasets.js b/app/packs/src/components/container/ContainerDatasets.js index 3a346d5838..cd43d228e1 100644 --- a/app/packs/src/components/container/ContainerDatasets.js +++ b/app/packs/src/components/container/ContainerDatasets.js @@ -40,7 +40,7 @@ export default class ContainerDatasets extends Component { }, }; if (isSaving && datasetContainer) { - UIActions.saveAttachmentDataset.defer('', false); + UIActions.saveAttachmentDataset.defer('', false, datasetContainer.id); this.state.modal = { show: true, datasetContainer: datasetContainer }; } } @@ -53,11 +53,14 @@ export default class ContainerDatasets extends Component { const prevChildren = prevProps.container.children; const childrenIds = children.map((item) => item.id); const prevChildrenIds = prevChildren.map((item) => item.id); - const diffIds = childrenIds.filter((id) => !prevChildrenIds.includes(id)); + let diffIds = childrenIds.filter((id) => !prevChildrenIds.includes(id)); const uiStoreContainerDataSet = (UIStore.getState() && UIStore.getState().containerDataSet) || { isSaving: false }; - const { isSaving } = uiStoreContainerDataSet; + const { isSaving, datasetID } = uiStoreContainerDataSet; if (isSaving) { - UIActions.saveAttachmentDataset.defer('', false); + if (diffIds.length === 0) { + diffIds = [datasetID]; + } + UIActions.saveAttachmentDataset.defer('', false, datasetID); const filterChildren = children.filter((item) => diffIds.includes(item.id)); const datasetContainer = filterChildren.length > 0 ? filterChildren[0] : null; this.setState({ diff --git a/app/packs/src/stores/alt/actions/UIActions.js b/app/packs/src/stores/alt/actions/UIActions.js index e57dc78566..4b72ff22ca 100644 --- a/app/packs/src/stores/alt/actions/UIActions.js +++ b/app/packs/src/stores/alt/actions/UIActions.js @@ -142,8 +142,8 @@ class UIActions { rerenderGenericWorkflow(params) { return params; } showGenericWorkflowModal(show) { return show; } - saveAttachmentDataset(elementID, templateType) { - return { elementID: elementID, elementType: templateType}; + saveAttachmentDataset(elementID, templateType, datasetID) { + return { elementID: elementID, elementType: templateType, datasetID: datasetID}; } } diff --git a/app/packs/src/stores/alt/stores/UIStore.js b/app/packs/src/stores/alt/stores/UIStore.js index 4535b3d378..b5d0572cc0 100644 --- a/app/packs/src/stores/alt/stores/UIStore.js +++ b/app/packs/src/stores/alt/stores/UIStore.js @@ -505,11 +505,12 @@ class UIStore { handleSaveAttachmentDataset(data) { const { isSaving } = this.state.containerDataSet; - const { elementID, elementType } = data; + const { elementID, elementType, datasetID } = data; this.state.containerDataSet = { elementID: elementID, elementType: elementType, - isSaving: !isSaving + isSaving: !isSaving, + datasetID: datasetID, } } }