Compare commits
7 Commits
master
...
bugfix/inf
Author | SHA1 | Date | |
---|---|---|---|
|
45f2e43c60 | ||
|
c0c24544f7 | ||
|
ba7e1cb53c | ||
|
cbce0b53b7 | ||
|
cfe04d1676 | ||
|
44cb0776e7 | ||
|
28c7edcf47 |
@ -57,6 +57,7 @@ class ChangeUserStatusDialogComponent extends React.Component {
|
||||
toastr.clear();
|
||||
window.DocSpace.navigate(paymentPageUrl);
|
||||
};
|
||||
|
||||
onChangeUserStatus = () => {
|
||||
const {
|
||||
updateUserStatus,
|
||||
@ -67,8 +68,11 @@ class ChangeUserStatusDialogComponent extends React.Component {
|
||||
userIDs,
|
||||
getPeopleListItem,
|
||||
setInfoPanelSelection,
|
||||
setInfoPanelSelectedGroup,
|
||||
infoPanelVisible,
|
||||
needResetUserSelection,
|
||||
infoPanelSelectedGroup,
|
||||
getGroups,
|
||||
} = this.props;
|
||||
|
||||
this.setState({ isRequestRunning: true }, () => {
|
||||
@ -103,6 +107,19 @@ class ChangeUserStatusDialogComponent extends React.Component {
|
||||
.finally(() => {
|
||||
this.setState({ isRequestRunning: false }, () => {
|
||||
needResetUserSelection && setSelected("close");
|
||||
if (infoPanelSelectedGroup) {
|
||||
const updatedGroup = {
|
||||
...infoPanelSelectedGroup,
|
||||
membersCount:
|
||||
infoPanelSelectedGroup.membersCount - userIDs.length,
|
||||
members: infoPanelSelectedGroup.members.filter(
|
||||
(user) => !userIDs.includes(user.id),
|
||||
),
|
||||
};
|
||||
setInfoPanelSelection(updatedGroup);
|
||||
setInfoPanelSelectedGroup(updatedGroup);
|
||||
}
|
||||
getGroups();
|
||||
onClose();
|
||||
});
|
||||
});
|
||||
@ -202,7 +219,14 @@ export default inject(({ peopleStore, infoPanelStore }) => {
|
||||
const { getPeopleListItem, updateUserStatus, needResetUserSelection } =
|
||||
peopleStore.usersStore;
|
||||
|
||||
const { setInfoPanelSelection, isVisible: infoPanelVisible } = infoPanelStore;
|
||||
const { getGroups } = peopleStore.groupsStore;
|
||||
|
||||
const {
|
||||
setInfoPanelSelection,
|
||||
setInfoPanelSelectedGroup,
|
||||
isVisible: infoPanelVisible,
|
||||
infoPanelSelectedGroup,
|
||||
} = infoPanelStore;
|
||||
|
||||
return {
|
||||
needResetUserSelection,
|
||||
@ -211,8 +235,11 @@ export default inject(({ peopleStore, infoPanelStore }) => {
|
||||
setSelected,
|
||||
|
||||
getPeopleListItem,
|
||||
getGroups,
|
||||
|
||||
setInfoPanelSelection,
|
||||
setInfoPanelSelectedGroup,
|
||||
infoPanelVisible,
|
||||
infoPanelSelectedGroup,
|
||||
};
|
||||
})(observer(ChangeUserStatusDialog));
|
||||
|
@ -62,16 +62,27 @@ const InfoPanelBodyContent = ({
|
||||
const isInsideGroup = getIsGroups() && groupId;
|
||||
const isGroups =
|
||||
getIsGroups() ||
|
||||
(isInsideGroup && (!selectedItems.length || !!selectedItems[0].manager));
|
||||
(isInsideGroup &&
|
||||
(!selectedItems.length ||
|
||||
(selectedItems[0]?.membersCount !== null &&
|
||||
selectedItems[0]?.membersCount !== undefined)));
|
||||
const isPeople =
|
||||
getIsPeople() ||
|
||||
(getIsGroups() && !isInsideGroup && !selectedItems[0]?.manager) ||
|
||||
(getIsGroups() &&
|
||||
!isInsideGroup &&
|
||||
!(
|
||||
selectedItems[0]?.membersCount !== null &&
|
||||
selectedItems[0]?.membersCount !== undefined
|
||||
)) ||
|
||||
(isInsideGroup && selectedItems.length && !selectedItems[0].manager);
|
||||
|
||||
const isSeveralItems = props.selectedItems?.length > 1;
|
||||
|
||||
const isNoItemGallery = isGallery && !gallerySelected;
|
||||
const isNoItemPeople = isPeople && !isInsideGroup && !selectedItems.length;
|
||||
const isNoItemPeople =
|
||||
isPeople &&
|
||||
!isInsideGroup &&
|
||||
(!selectedItems.length || selectedItems[0].title);
|
||||
const isNoItemGroups = isGroups && !isInsideGroup && !selectedItems.length;
|
||||
const isRoot =
|
||||
infoPanelSelection?.isFolder &&
|
||||
@ -166,10 +177,10 @@ const InfoPanelBodyContent = ({
|
||||
}, [selectedItems, selectedFolder, groupId]);
|
||||
|
||||
// * DEV-ONLY - Logs selection change
|
||||
// useEffect(() => {
|
||||
// console.log("\nfor-dev Selected items: ", selectedItems);
|
||||
// console.log("\nfor-dev Selected folder: ", selectedFolder);
|
||||
// }, [selectedItems, selectedFolder]);
|
||||
useEffect(() => {
|
||||
console.log("\nfor-dev Selected items: ", selectedItems);
|
||||
console.log("\nfor-dev Selected folder: ", selectedFolder);
|
||||
}, [selectedItems, selectedFolder]);
|
||||
|
||||
return (
|
||||
<StyledInfoPanelBody>
|
||||
|
@ -154,7 +154,16 @@ const StyledHistoryBlockMessage = styled.div`
|
||||
.main-message {
|
||||
width: max-content;
|
||||
max-width: 100%;
|
||||
min-width: max-content;
|
||||
|
||||
strong {
|
||||
max-width: 100%;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
font-weight: 600;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
strong {
|
||||
|
@ -474,8 +474,7 @@ class GroupsStore {
|
||||
) => {
|
||||
const { isRoomAdmin } = this.peopleStore.userStore.user;
|
||||
|
||||
return [
|
||||
!isRoomAdmin && {
|
||||
const editGroupsAction = {
|
||||
id: "edit-group",
|
||||
key: "edit-group",
|
||||
className: "group-menu_drop-down",
|
||||
@ -487,8 +486,9 @@ class GroupsStore {
|
||||
event.item = item;
|
||||
window.dispatchEvent(event);
|
||||
},
|
||||
},
|
||||
!forInfoPanel && {
|
||||
};
|
||||
|
||||
const showInfoAction = {
|
||||
id: "info",
|
||||
key: "group-info",
|
||||
className: "group-menu_drop-down",
|
||||
@ -496,22 +496,17 @@ class GroupsStore {
|
||||
title: t("Common:Info"),
|
||||
icon: InfoReactSvgUrl,
|
||||
onClick: () => {
|
||||
if (!forInsideGroup) {
|
||||
if (this.selection.length < 1) {
|
||||
this.setBufferSelection(item);
|
||||
}
|
||||
if (!forInsideGroup && this.selection.length < 1) {
|
||||
if (this.selection.length < 1) this.setBufferSelection(item);
|
||||
} else {
|
||||
this.peopleStore.selectionStore.setSelection([]);
|
||||
this.peopleStore.selectionStore.setBufferSelection(null);
|
||||
}
|
||||
this.infoPanelStore.setIsVisible(true);
|
||||
},
|
||||
},
|
||||
!isRoomAdmin && {
|
||||
key: "separator",
|
||||
isSeparator: true,
|
||||
},
|
||||
!isRoomAdmin && {
|
||||
};
|
||||
|
||||
const deleteGroupsAction = {
|
||||
id: "delete-group",
|
||||
key: "delete-group",
|
||||
className: "group-menu_drop-down",
|
||||
@ -519,7 +514,17 @@ class GroupsStore {
|
||||
title: t("Common:Delete"),
|
||||
icon: TrashReactSvgUrl,
|
||||
onClick: () => this.onDeleteClick(item.name),
|
||||
},
|
||||
};
|
||||
|
||||
if (this.selection.length > 1) {
|
||||
return [!isRoomAdmin && deleteGroupsAction];
|
||||
}
|
||||
|
||||
return [
|
||||
!isRoomAdmin && editGroupsAction,
|
||||
!forInfoPanel && showInfoAction,
|
||||
!isRoomAdmin && { key: "separator", isSeparator: true },
|
||||
!isRoomAdmin && deleteGroupsAction,
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -251,6 +251,7 @@ export const StyledSeveralItemsLoader = styled.div`
|
||||
|
||||
export const StyledGroupsLoader = styled.div`
|
||||
width: 100%;
|
||||
padding-top: 128px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
|
Loading…
Reference in New Issue
Block a user