take into account the addressType also

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
pull/21833/head
Michael Telatynski 2018-06-21 00:47:21 +01:00
parent 4040e3f5cf
commit fd252ded60
No known key found for this signature in database
GPG Key ID: 3F879DA5AD802A5E
1 changed files with 10 additions and 3 deletions

View File

@ -517,9 +517,16 @@ module.exports = React.createClass({
const AddressSelector = sdk.getComponent("elements.AddressSelector");
this.scrollElement = null;
// Use set to avoid O(n*m) operation
const selectedAddresses = new Set(this.state.userList.map(({address}) => address));
const queryList = this.state.queryList.filter(({address}) => !selectedAddresses.has(address));
// map addressType => set of addresses to avoid O(n*m) operation
const selectedAddresses = {};
this.state.userList.forEach(({address, addressType}) => {
if (!selectedAddresses[addressType]) selectedAddresses[addressType] = new Set();
selectedAddresses[addressType].add(address);
});
const queryList = this.state.queryList.filter(({address, addressType}) => {
return !selectedAddresses[addressType] || !selectedAddresses[addressType].has(address);
});
const query = [];
// create the invite list