Web: Client: InvitePanel: Added information messages
This commit is contained in:
parent
77e9e97451
commit
f9ec5869cd
@ -10,6 +10,7 @@ import PeopleSelector from "@docspace/client/src/components/PeopleSelector";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import Loaders from "@docspace/common/components/Loaders";
|
||||
import withLoader from "../../../HOCs/withLoader";
|
||||
import toastr from "@docspace/components/toast/toastr";
|
||||
|
||||
const AddUsersPanel = ({
|
||||
isEncrypted,
|
||||
@ -67,6 +68,9 @@ const AddUsersPanel = ({
|
||||
}
|
||||
}
|
||||
|
||||
if (users.length > items.length)
|
||||
toastr.warning("Some users are already in room");
|
||||
|
||||
setDataItems(items);
|
||||
onClose();
|
||||
};
|
||||
|
@ -5,6 +5,7 @@ import { withTranslation } from "react-i18next";
|
||||
import Backdrop from "@docspace/components/backdrop";
|
||||
import Aside from "@docspace/components/aside";
|
||||
import Button from "@docspace/components/button";
|
||||
import toastr from "@docspace/components/toast/toastr";
|
||||
|
||||
import {
|
||||
StyledBlock,
|
||||
@ -103,8 +104,9 @@ const InvitePanel = ({
|
||||
try {
|
||||
await setRoomSecurity(roomId, data);
|
||||
onClose();
|
||||
toastr.success(`Users invited to ${selectedRoom.title}`);
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
toastr.error(err);
|
||||
}
|
||||
};
|
||||
|
||||
@ -196,7 +198,11 @@ export default inject(({ auth, peopleStore, filesStore, dialogsStore }) => {
|
||||
getFolderInfo,
|
||||
};
|
||||
})(
|
||||
withTranslation(["InviteDialog", "SharingPanel", "Translations", "Common"])(
|
||||
observer(InvitePanel)
|
||||
)
|
||||
withTranslation([
|
||||
"InviteDialog",
|
||||
"SharingPanel",
|
||||
"Translations",
|
||||
"Common",
|
||||
"InfoPanel",
|
||||
])(observer(InvitePanel))
|
||||
);
|
||||
|
@ -5,6 +5,7 @@ import { inject, observer } from "mobx-react";
|
||||
import Avatar from "@docspace/components/avatar";
|
||||
import TextInput from "@docspace/components/text-input";
|
||||
import DropDownItem from "@docspace/components/drop-down-item";
|
||||
import toastr from "@docspace/components/toast/toastr";
|
||||
|
||||
import { parseAddresses } from "@docspace/components/utils/email";
|
||||
|
||||
@ -101,6 +102,18 @@ const InviteInput = ({
|
||||
debouncedSearch(clearValue);
|
||||
};
|
||||
|
||||
const removeExist = (items) => {
|
||||
const filtered = items.reduce((unique, o) => {
|
||||
!unique.some((obj) => obj.email === o.email) && unique.push(o);
|
||||
return unique;
|
||||
}, []);
|
||||
|
||||
if (items.length > filtered.length)
|
||||
toastr.warning("Some users have already been added");
|
||||
|
||||
return filtered;
|
||||
};
|
||||
|
||||
const getItemContent = (item) => {
|
||||
const { avatar, displayName, email, id } = item;
|
||||
|
||||
@ -109,7 +122,8 @@ const InviteInput = ({
|
||||
item.access = selectedAccess;
|
||||
|
||||
const addUser = () => {
|
||||
setInviteItems([item, ...inviteItems]);
|
||||
const items = removeExist([item, ...inviteItems]);
|
||||
setInviteItems(items);
|
||||
closeInviteInputPanel();
|
||||
};
|
||||
|
||||
@ -139,10 +153,7 @@ const InviteInput = ({
|
||||
const newItems =
|
||||
items.length > 1 ? [...items, ...inviteItems] : [items, ...inviteItems];
|
||||
|
||||
const filtered = newItems.reduce((unique, o) => {
|
||||
!unique.some((obj) => obj.email === o.email) && unique.push(o);
|
||||
return unique;
|
||||
}, []);
|
||||
const filtered = removeExist(newItems);
|
||||
|
||||
setInviteItems(filtered);
|
||||
closeInviteInputPanel();
|
||||
@ -151,10 +162,7 @@ const InviteInput = ({
|
||||
const addItems = (users) => {
|
||||
const items = [...users, ...inviteItems];
|
||||
|
||||
const filtered = items.reduce((unique, o) => {
|
||||
!unique.some((obj) => obj.email === o.email) && unique.push(o);
|
||||
return unique;
|
||||
}, []);
|
||||
const filtered = removeExist(items);
|
||||
|
||||
setInviteItems(filtered);
|
||||
closeInviteInputPanel();
|
||||
|
Loading…
Reference in New Issue
Block a user