diff --git a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/Tags.spec.js b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/Tags.spec.js index f028986ce3f..078a032e2bc 100644 --- a/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/Tags.spec.js +++ b/openmetadata-ui/src/main/resources/ui/cypress/e2e/Pages/Tags.spec.js @@ -359,6 +359,10 @@ describe('Tags page should work', () => { verifyResponseStatusCode('@taskResolve', 200); verifyResponseStatusCode('@databaseSchemasPage', 200); + cy.get('[data-testid="table"]').should('be.visible').click(); + + cy.reload(); + verifyResponseStatusCode('@databaseSchemasPage', 200); cy.get('[data-testid="tags-container"]').scrollIntoView().contains(tag); diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedEditor/KeyHelp.tsx b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedEditor/KeyHelp.tsx index 80d59a79942..c5486d312d2 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedEditor/KeyHelp.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedEditor/KeyHelp.tsx @@ -20,7 +20,7 @@ export const KeyHelp = ({ editorValue }: { editorValue: string }) => { return editorValue.length > 2 ? (

{t('label.shift')} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component.tsx index 02d9ffa5387..a473136dea9 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.component.tsx @@ -49,6 +49,7 @@ import './activity-feed-tab.less'; import { ActivityFeedTabProps, ActivityFeedTabs, + TaskFilter, } from './ActivityFeedTab.interface'; import { ReactComponent as CheckIcon } from '/assets/svg/ic-check.svg'; import { ReactComponent as TaskIcon } from '/assets/svg/ic-task.svg'; @@ -70,7 +71,7 @@ export const ActivityFeedTab = ({ const [elementRef, isInView] = useElementInView(observerOptions); const { subTab: activeTab = 'all' } = useParams<{ subTab: ActivityFeedTabs }>(); - const [taskFilter, setTaskFilter] = useState<'open' | 'close'>('open'); + const [taskFilter, setTaskFilter] = useState('open'); const [allCount, setAllCount] = useState(0); const [tasksCount, setTasksCount] = useState(0); @@ -276,6 +277,15 @@ export const ActivityFeedTab = ({ return [0, 0]; }, [entityThread, activeTab]); + const handleUpdateTaskFilter = (filter: TaskFilter) => { + setTaskFilter(filter); + }; + + const handleAfterTaskClose = () => { + handleFeedFetchFromFeedList(); + handleUpdateTaskFilter('close'); + }; + return (

{ - setTaskFilter('open'); + handleUpdateTaskFilter('open'); setActiveThread(); }}> {' '} @@ -358,7 +368,7 @@ export const ActivityFeedTab = ({ 'font-medium': taskFilter === 'close', })} onClick={() => { - setTaskFilter('close'); + handleUpdateTaskFilter('close'); setActiveThread(); }}> {' '} @@ -419,6 +429,7 @@ export const ActivityFeedTab = ({ entityType={EntityType.TABLE} owner={owner} taskThread={selectedThread} + onAfterClose={handleAfterTaskClose} onUpdateEntityDetails={onUpdateEntityDetails} /> ) : ( @@ -426,6 +437,7 @@ export const ActivityFeedTab = ({ entityType={isUserEntity ? entityTypeTask : entityType} owner={owner} taskThread={selectedThread} + onAfterClose={handleAfterTaskClose} onUpdateEntityDetails={onUpdateEntityDetails} /> )} diff --git a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.interface.ts index 4edb14d6f58..0b6d267b990 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/ActivityFeed/ActivityFeedTab/ActivityFeedTab.interface.ts @@ -15,6 +15,7 @@ import { Column } from 'generated/entity/data/table'; import { EntityReference } from 'generated/entity/type'; export type FeedKeys = 'all' | 'mentions' | 'tasks'; +export type TaskFilter = 'open' | 'close'; export enum ActivityFeedTabs { ALL = 'all', diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Task/TaskTab/TaskTab.component.tsx b/openmetadata-ui/src/main/resources/ui/src/components/Task/TaskTab/TaskTab.component.tsx index 4bbf39cf085..17dacdd0a9b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Task/TaskTab/TaskTab.component.tsx +++ b/openmetadata-ui/src/main/resources/ui/src/components/Task/TaskTab/TaskTab.component.tsx @@ -52,12 +52,10 @@ import { import { MenuInfo } from 'rc-menu/lib/interface'; import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { useHistory } from 'react-router-dom'; import { updateTask, updateThread } from 'rest/feedsAPI'; import EntityLink from 'utils/EntityLink'; import { getEntityName } from 'utils/EntityUtils'; import { getEntityFQN } from 'utils/FeedUtils'; -import { getEntityLink } from 'utils/TableUtils'; import { fetchOptions, isDescriptionTask, @@ -84,7 +82,6 @@ export const TaskTab = ({ const entityCheck = !isUndefined(entityFQN) && !isUndefined(entityType); const { t } = useTranslation(); const [form] = Form.useForm(); - const history = useHistory(); const { isAdminUser } = useAuth(); const { postFeed, setActiveThread } = useActivityFeedProvider(); const [taskAction, setTaskAction] = useState(TASK_ACTION_LIST[0]); @@ -162,8 +159,7 @@ export const TaskTab = ({ updateTask(TaskOperation.RESOLVE, taskDetails?.id + '', data) .then(() => { showSuccessToast(t('server.task-resolved-successfully')); - rest.onUpdateEntityDetails?.(); - history.push(getEntityLink(entityType ?? '', entityFQN ?? '')); + rest.onAfterClose?.(); }) .catch((err: AxiosError) => showErrorToast(err)); }; @@ -245,6 +241,7 @@ export const TaskTab = ({ } as unknown as TaskDetails) .then(() => { showSuccessToast(t('server.task-closed-successfully')); + rest.onAfterClose?.(); }) .catch((err: AxiosError) => showErrorToast(err)); } else { diff --git a/openmetadata-ui/src/main/resources/ui/src/components/Task/TaskTab/TaskTab.interface.ts b/openmetadata-ui/src/main/resources/ui/src/components/Task/TaskTab/TaskTab.interface.ts index 0bc263a40c9..decb2a31f1b 100644 --- a/openmetadata-ui/src/main/resources/ui/src/components/Task/TaskTab/TaskTab.interface.ts +++ b/openmetadata-ui/src/main/resources/ui/src/components/Task/TaskTab/TaskTab.interface.ts @@ -19,6 +19,7 @@ export type TaskTabProps = { taskThread: Thread; owner?: EntityReference; onUpdateEntityDetails?: () => void; + onAfterClose?: () => void; } & ( | TableTaskTabProps | { columns?: undefined; entityType: Exclude }