mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-08-27 10:26:09 +00:00
parent
e6c5d2ccaa
commit
2b28d31072
@ -26,10 +26,6 @@ jest.mock('../../../AppState', () => ({
|
|||||||
isProfilePicLoading: jest.fn(),
|
isProfilePicLoading: jest.fn(),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
jest.mock('../../../hooks/authHooks', () => ({
|
|
||||||
useAuth: jest.fn().mockReturnValue({ isAdminUser: false }),
|
|
||||||
}));
|
|
||||||
|
|
||||||
jest.mock('../../../utils/FeedUtils', () => ({
|
jest.mock('../../../utils/FeedUtils', () => ({
|
||||||
getEntityField: jest.fn(),
|
getEntityField: jest.fn(),
|
||||||
getEntityFQN: jest.fn(),
|
getEntityFQN: jest.fn(),
|
||||||
|
@ -22,7 +22,6 @@ import { ReactionOperation } from '../../../enums/reactions.enum';
|
|||||||
import { AnnouncementDetails } from '../../../generated/api/feed/createThread';
|
import { AnnouncementDetails } from '../../../generated/api/feed/createThread';
|
||||||
import { Post } from '../../../generated/entity/feed/thread';
|
import { Post } from '../../../generated/entity/feed/thread';
|
||||||
import { Reaction, ReactionType } from '../../../generated/type/reaction';
|
import { Reaction, ReactionType } from '../../../generated/type/reaction';
|
||||||
import { useAuth } from '../../../hooks/authHooks';
|
|
||||||
import {
|
import {
|
||||||
getEntityField,
|
getEntityField,
|
||||||
getEntityFQN,
|
getEntityFQN,
|
||||||
@ -60,7 +59,6 @@ const ActivityFeedCard: FC<ActivityFeedCardProp> = ({
|
|||||||
const entityFQN = getEntityFQN(entityLink as string);
|
const entityFQN = getEntityFQN(entityLink as string);
|
||||||
const entityField = getEntityField(entityLink as string);
|
const entityField = getEntityField(entityLink as string);
|
||||||
|
|
||||||
const { isAdminUser } = useAuth();
|
|
||||||
const currentUser = AppState.getCurrentUserDetails();
|
const currentUser = AppState.getCurrentUserDetails();
|
||||||
|
|
||||||
const [feedDetail, setFeedDetail] = useState<Post>(feed);
|
const [feedDetail, setFeedDetail] = useState<Post>(feed);
|
||||||
@ -69,9 +67,7 @@ const ActivityFeedCard: FC<ActivityFeedCardProp> = ({
|
|||||||
const [isEditAnnouncement, setEditAnnouncement] = useState<boolean>(false);
|
const [isEditAnnouncement, setEditAnnouncement] = useState<boolean>(false);
|
||||||
const [isEditPost, setEditPost] = useState<boolean>(false);
|
const [isEditPost, setEditPost] = useState<boolean>(false);
|
||||||
|
|
||||||
const isAuthor = Boolean(
|
const isAuthor = feedDetail.from === currentUser?.name;
|
||||||
feedDetail.from === currentUser?.name || isAdminUser
|
|
||||||
);
|
|
||||||
|
|
||||||
const onFeedUpdate = (data: Operation[]) => {
|
const onFeedUpdate = (data: Operation[]) => {
|
||||||
updateThreadHandler(
|
updateThreadHandler(
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
import { Button, Space, Typography } from 'antd';
|
import { Button, Space, Typography } from 'antd';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import { isUndefined } from 'lodash';
|
import { isUndefined } from 'lodash';
|
||||||
import React, { FC, useState } from 'react';
|
import React, { FC, useEffect, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
getFrontEndFormat,
|
getFrontEndFormat,
|
||||||
MarkdownToHTMLConverter,
|
MarkdownToHTMLConverter,
|
||||||
@ -92,6 +92,10 @@ const FeedCardBody: FC<FeedBodyProp> = ({
|
|||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setPostMessage(message);
|
||||||
|
}, [message]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={classNames('tw-group', isEditPost ? '' : className)}>
|
<div className={classNames('tw-group', isEditPost ? '' : className)}>
|
||||||
<div className="feed-meesage">
|
<div className="feed-meesage">
|
||||||
|
@ -70,11 +70,7 @@ const PopoverContent: FC<Props> = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const deleteButtonCheck =
|
const deleteButtonCheck =
|
||||||
threadId &&
|
threadId && postId && onConfirmation && isAuthor && !isThread;
|
||||||
postId &&
|
|
||||||
onConfirmation &&
|
|
||||||
(isAuthor || currentUser?.isAdmin) &&
|
|
||||||
!isThread;
|
|
||||||
|
|
||||||
const handleDelete = (e: React.MouseEvent<HTMLButtonElement>) => {
|
const handleDelete = (e: React.MouseEvent<HTMLButtonElement>) => {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
@ -145,8 +141,7 @@ const PopoverContent: FC<Props> = ({
|
|||||||
onEdit && onEdit();
|
onEdit && onEdit();
|
||||||
};
|
};
|
||||||
|
|
||||||
const editCheck =
|
const editCheck = (isAnnouncement || !isThread) && isAuthor;
|
||||||
(isAnnouncement || !isThread) && (isAuthor || currentUser?.isAdmin);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Space>
|
<Space>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user