Merge pull request #1796 from matrix-org/luke/fix-group-invite-flow

Show GroupMemberList after inviting a group member
pull/21833/head
Luke Barnard 2018-03-12 17:53:59 +00:00 committed by GitHub
commit 99b3922998
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 21 deletions

View File

@ -22,28 +22,30 @@ import MatrixClientPeg from './MatrixClientPeg';
import GroupStoreCache from './stores/GroupStoreCache'; import GroupStoreCache from './stores/GroupStoreCache';
export function showGroupInviteDialog(groupId) { export function showGroupInviteDialog(groupId) {
const description = <div> return new Promise((resolve, reject) => {
<div>{ _t("Who would you like to add to this community?") }</div> const description = <div>
<div className="warning"> <div>{ _t("Who would you like to add to this community?") }</div>
{ _t( <div className="warning">
"Warning: any person you add to a community will be publicly "+ { _t(
"visible to anyone who knows the community ID", "Warning: any person you add to a community will be publicly "+
) } "visible to anyone who knows the community ID",
</div> ) }
</div>; </div>
</div>;
const AddressPickerDialog = sdk.getComponent("dialogs.AddressPickerDialog"); const AddressPickerDialog = sdk.getComponent("dialogs.AddressPickerDialog");
Modal.createTrackedDialog('Group Invite', '', AddressPickerDialog, { Modal.createTrackedDialog('Group Invite', '', AddressPickerDialog, {
title: _t("Invite new community members"), title: _t("Invite new community members"),
description: description, description: description,
placeholder: _t("Name or matrix ID"), placeholder: _t("Name or matrix ID"),
button: _t("Invite to Community"), button: _t("Invite to Community"),
validAddressTypes: ['mx-user-id'], validAddressTypes: ['mx-user-id'],
onFinished: (success, addrs) => { onFinished: (success, addrs) => {
if (!success) return; if (!success) return;
_onGroupInviteFinished(groupId, addrs); _onGroupInviteFinished(groupId, addrs).then(resolve, reject);
}, },
});
}); });
} }
@ -87,7 +89,7 @@ function _onGroupInviteFinished(groupId, addrs) {
const addrTexts = addrs.map((addr) => addr.address); const addrTexts = addrs.map((addr) => addr.address);
multiInviter.invite(addrTexts).then((completionStates) => { return multiInviter.invite(addrTexts).then((completionStates) => {
// Show user any errors // Show user any errors
const errorList = []; const errorList = [];
for (const addr of Object.keys(completionStates)) { for (const addr of Object.keys(completionStates)) {