Skip to content

Commit 8250c02

Browse files
authored
fix: error when third party contacts return empty after refresh (#593)
1 parent 750186e commit 8250c02

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

src/modules/ContactListUI/index.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { ContactListUI as ContactListUIBase } from '@ringcentral-integration/widgets/modules/ContactListUI';
2+
import { Module } from '@ringcentral-integration/commons/lib/di';
3+
4+
import { computed } from '@ringcentral-integration/core';
5+
6+
@Module({
7+
name: 'ContactListUI',
8+
})
9+
export class ContactListUI extends ContactListUIBase {
10+
@computed((that) => [
11+
that.filteredContactsList,
12+
...Object.values(that._deps.contactSources).map(
13+
(source) => source.contacts,
14+
),
15+
])
16+
get filteredContacts() {
17+
const contactsMap = {};
18+
this._deps.contactSources.forEach((source) => {
19+
contactsMap[source.sourceName] = {};
20+
source.contacts.forEach((contact) => {
21+
contactsMap[source.sourceName][contact.id] = contact;
22+
});
23+
});
24+
const filteredContactsData = [];
25+
this.filteredContactsList.forEach(([sourceName, id]) => {
26+
// TODO: fix item check in widgets lib
27+
if (contactsMap[sourceName][id]) {
28+
filteredContactsData.push(contactsMap[sourceName][id]);
29+
}
30+
});
31+
return filteredContactsData;
32+
}
33+
}

src/modules/Phone/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ import { AudioSettingsUI } from '@ringcentral-integration/widgets/modules/AudioS
7272
import RegionSettingsUI from '@ringcentral-integration/widgets/modules/RegionSettingsUI';
7373
import { CallingSettingsUI } from '@ringcentral-integration/widgets/modules/CallingSettingsUI';
7474
import { ActiveCallsUI } from '@ringcentral-integration/widgets/modules/ActiveCallsUI';
75-
import { ContactListUI } from '@ringcentral-integration/widgets/modules/ContactListUI';
7675
import { ContactDetailsUI } from '@ringcentral-integration/widgets/modules/ContactDetailsUI';
7776
import { ComposeTextUI } from '@ringcentral-integration/widgets/modules/ComposeTextUI';
7877
import { AlertUI } from '@ringcentral-integration/widgets/modules/AlertUI';
@@ -118,6 +117,7 @@ import GlipGroups from '../GlipGroups';
118117
import GlipCompany from '../GlipCompany';
119118
import ErrorLogger from '../ErrorLogger';
120119
import AddressBook from '../AddressBook';
120+
import { ContactListUI } from '../ContactListUI';
121121

122122
import CallingSettings from '../CallingSettings';
123123
import CallLog from '../CallLog';

0 commit comments

Comments
 (0)