From a8244a5addc912cf7c0d49a0c1b0a4a63cc24210 Mon Sep 17 00:00:00 2001 From: Taras-Hlukhovetskyi <155433425+Taras-Hlukhovetskyi@users.noreply.github.com> Date: Thu, 18 Jan 2024 18:23:15 +0200 Subject: [PATCH] FIx [Filter] Filter by version tag 'All' doesn't provided after 'Add a tag' and 'Register' actions (#2190) --- src/components/Datasets/Datasets.js | 13 ++++++++----- src/components/Files/Files.js | 10 +++++----- src/components/ModelsPage/Models/Models.js | 13 ++++++++----- .../RegisterArtifactModal/RegisterArtifactModal.js | 12 +++--------- .../AddArtifactTagPopUp/AddArtifactTagPopUp.js | 5 ++--- .../RegisterModelModal/RegisterModelModal.js | 5 ++--- 6 files changed, 28 insertions(+), 30 deletions(-) diff --git a/src/components/Datasets/Datasets.js b/src/components/Datasets/Datasets.js index a967e186c7..731419db08 100644 --- a/src/components/Datasets/Datasets.js +++ b/src/components/Datasets/Datasets.js @@ -83,7 +83,10 @@ const Datasets = () => { const dispatch = useDispatch() const frontendSpec = useSelector(store => store.appStore.frontendSpec) const datasetsFilters = useMemo( - () => filtersStore[FILTER_MENU_MODAL][DATASETS_FILTERS].values, + () => ({ + name: filtersStore.name, + ...filtersStore[FILTER_MENU_MODAL][DATASETS_FILTERS].values + }), [filtersStore] ) const pageData = useMemo( @@ -148,7 +151,7 @@ const Datasets = () => { artifact => { openPopUp(AddArtifactTagPopUp, { artifact, - onAddTag: handleRefresh, + onAddTag: () => handleRefresh(datasetsFilters), getArtifact: () => fetchDataSet({ project: params.projectName, @@ -159,7 +162,7 @@ const Datasets = () => { projectName: params.projectName }) }, - [handleRefresh, params.projectName] + [handleRefresh, params.projectName, datasetsFilters] ) const actionsMenu = useMemo( @@ -327,10 +330,10 @@ const Datasets = () => { openPopUp(RegisterArtifactModal, { artifactKind: DATASET_TYPE, params, - refresh: handleRefresh, + refresh: () => handleRefresh(datasetsFilters), title: registerDatasetTitle }) - }, [handleRefresh, params]) + }, [handleRefresh, params, datasetsFilters]) return ( { const pageData = useMemo(() => generatePageData(viewMode), [viewMode]) const frontendSpec = useSelector(store => store.appStore.frontendSpec) const filesFilters = useMemo( - () => filtersStore[FILTER_MENU_MODAL][FILES_FILTERS].values, + () => ({ name: filtersStore.name, ...filtersStore[FILTER_MENU_MODAL][FILES_FILTERS].values }), [filtersStore] ) @@ -133,7 +133,7 @@ const Files = () => { artifact => { openPopUp(AddArtifactTagPopUp, { artifact, - onAddTag: handleRefresh, + onAddTag: () => handleRefresh(filesFilters), getArtifact: () => fetchFile({ project: params.projectName, @@ -144,7 +144,7 @@ const Files = () => { projectName: params.projectName }) }, - [handleRefresh, params.projectName] + [handleRefresh, params.projectName, filesFilters] ) const actionsMenu = useMemo( @@ -310,10 +310,10 @@ const Files = () => { openPopUp(RegisterArtifactModal, { artifactKind: ARTIFACT_TYPE, params, - refresh: handleRefresh, + refresh: () => handleRefresh(filesFilters), title: registerArtifactTitle }) - }, [handleRefresh, params]) + }, [handleRefresh, params, filesFilters]) return ( { const frontendSpec = useSelector(store => store.appStore.frontendSpec) const modelsFilters = useMemo( - () => filtersStore[FILTER_MENU_MODAL][MODELS_FILTERS].values, + () => ({ name: filtersStore.name, ...filtersStore[FILTER_MENU_MODAL][MODELS_FILTERS].values }), [filtersStore] ) const { isDemoMode } = useMode() @@ -157,7 +157,7 @@ const Models = ({ fetchModelFeatureVector }) => { artifact => { openPopUp(AddArtifactTagPopUp, { artifact, - onAddTag: handleRefresh, + onAddTag: () => handleRefresh(modelsFilters), getArtifact: () => fetchModel({ project: params.projectName, @@ -168,7 +168,7 @@ const Models = ({ fetchModelFeatureVector }) => { projectName: params.projectName }) }, - [handleRefresh, params.projectName] + [handleRefresh, params.projectName, modelsFilters] ) const actionsMenu = useMemo( @@ -384,8 +384,11 @@ const Models = ({ fetchModelFeatureVector }) => { }, [dataIsLoaded, models]) const handleRegisterModel = useCallback(() => { - openPopUp(RegisterModelModal, { params, refresh: handleRefresh }) - }, [handleRefresh, params]) + openPopUp(RegisterModelModal, { + params, + refresh: () => handleRefresh(modelsFilters) + }) + }, [handleRefresh, params, modelsFilters]) const handleTrainModel = () => { openPopUp(JobWizard, { diff --git a/src/components/RegisterArtifactModal/RegisterArtifactModal.js b/src/components/RegisterArtifactModal/RegisterArtifactModal.js index 0ade17e102..3c3dce4580 100644 --- a/src/components/RegisterArtifactModal/RegisterArtifactModal.js +++ b/src/components/RegisterArtifactModal/RegisterArtifactModal.js @@ -19,7 +19,7 @@ such restriction. */ import React, { useState } from 'react' import PropTypes from 'prop-types' -import { connect, useDispatch } from 'react-redux' +import { useDispatch } from 'react-redux' import { useLocation } from 'react-router-dom' import { v4 as uuidv4 } from 'uuid' import { Form } from 'react-final-form' @@ -48,7 +48,6 @@ import { useModalBlockHistory } from '../../hooks/useModalBlockHistory.hook' const RegisterArtifactModal = ({ actions, artifactKind, - filtersStore, isOpen, onResolve, params, @@ -118,7 +117,7 @@ const RegisterArtifactModal = ({ .registerArtifact(params.projectName, data) .then(response => { resolveModal() - refresh(filtersStore) + refresh() dispatch( setNotification({ status: response.status, @@ -200,9 +199,4 @@ RegisterArtifactModal.propTypes = { title: PropTypes.string.isRequired } -export default connect( - ({ filtersStore }) => ({ - filtersStore - }), - null -)(RegisterArtifactModal) +export default RegisterArtifactModal diff --git a/src/elements/AddArtifactTagPopUp/AddArtifactTagPopUp.js b/src/elements/AddArtifactTagPopUp/AddArtifactTagPopUp.js index 07f3820696..86b619dbf8 100644 --- a/src/elements/AddArtifactTagPopUp/AddArtifactTagPopUp.js +++ b/src/elements/AddArtifactTagPopUp/AddArtifactTagPopUp.js @@ -19,7 +19,7 @@ such restriction. */ import React, { useEffect, useState } from 'react' import PropTypes from 'prop-types' -import { useDispatch, useSelector } from 'react-redux' +import { useDispatch } from 'react-redux' import { useLocation } from 'react-router-dom' import { Form } from 'react-final-form' import { createForm } from 'final-form' @@ -47,7 +47,6 @@ const AddArtifactTagPopUp = ({ artifactTag: '' }) const [existingTags, setExistingTags] = useState([]) - const filtersStore = useSelector(store => store.filtersStore) const formRef = React.useRef( createForm({ @@ -98,7 +97,7 @@ const AddArtifactTagPopUp = ({ message: 'Tag was added successfully' }) ) - onAddTag && onAddTag(filtersStore) + onAddTag?.() }) .catch(error => { showErrorNotification(dispatch, error, 'Failed to add a tag', '', () => diff --git a/src/elements/RegisterModelModal/RegisterModelModal.js b/src/elements/RegisterModelModal/RegisterModelModal.js index 79fab342bc..44750f0d92 100644 --- a/src/elements/RegisterModelModal/RegisterModelModal.js +++ b/src/elements/RegisterModelModal/RegisterModelModal.js @@ -19,7 +19,7 @@ such restriction. */ import React, { useState } from 'react' import PropTypes from 'prop-types' -import { useDispatch, useSelector } from 'react-redux' +import { useDispatch } from 'react-redux' import { useLocation } from 'react-router-dom' import { createForm } from 'final-form' import { Form } from 'react-final-form' @@ -71,7 +71,6 @@ function RegisterModelModal({ actions, isOpen, onResolve, params, refresh }) { ) const location = useLocation() const { handleCloseModal, resolveModal } = useModalBlockHistory(onResolve, formRef.current) - const filtersStore = useSelector(store => store.filtersStore) const dispatch = useDispatch() const registerModel = values => { @@ -112,7 +111,7 @@ function RegisterModelModal({ actions, isOpen, onResolve, params, refresh }) { return artifactApi.registerArtifact(params.projectName, data).then(response => { resolveModal() - refresh(filtersStore) + refresh() dispatch( setNotification({ status: response.status,