@wildix/xbees-connect 1.1.13 → 1.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-es/package.json +1 -1
- package/dist-es/src/Client.js +6 -0
- package/dist-es/src/enums/index.js +1 -0
- package/dist-es/src/helpers/LocalStorageManager.js +3 -0
- package/dist-types/src/Client.d.ts +2 -0
- package/dist-types/src/enums/index.d.ts +1 -0
- package/dist-types/src/helpers/LocalStorageManager.d.ts +1 -0
- package/dist-types/types/index.d.ts +15 -2
- package/package.json +2 -2
package/dist-es/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wildix/xbees-connect",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.14",
|
|
4
4
|
"description": "This library provides easy communication between x-bees and integrated web applications",
|
|
5
5
|
"author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
|
|
6
6
|
"homepage": "",
|
package/dist-es/src/Client.js
CHANGED
|
@@ -147,6 +147,9 @@ export class Client {
|
|
|
147
147
|
getCurrentContact() {
|
|
148
148
|
return this.sendAsync({ type: ClientEventType.CURRENT_CONTACT });
|
|
149
149
|
}
|
|
150
|
+
getCurrentConversation() {
|
|
151
|
+
return this.sendAsync({ type: ClientEventType.CURRENT_CONVERSATION });
|
|
152
|
+
}
|
|
150
153
|
contactUpdated(query, contact) {
|
|
151
154
|
return this.sendAsync({ type: ClientEventType.CONTACT_CREATE_OR_UPDATE, payload: { query, contact } });
|
|
152
155
|
}
|
|
@@ -307,4 +310,7 @@ export class Client {
|
|
|
307
310
|
},
|
|
308
311
|
});
|
|
309
312
|
}
|
|
313
|
+
setIntegrationStorageKey(integrationKey) {
|
|
314
|
+
this.localStorageManager.setIntegrationKey(integrationKey);
|
|
315
|
+
}
|
|
310
316
|
}
|
|
@@ -14,6 +14,7 @@ export var ClientEventType;
|
|
|
14
14
|
ClientEventType["READY"] = "xBeesReady";
|
|
15
15
|
ClientEventType["CONTEXT"] = "xBeesContext";
|
|
16
16
|
ClientEventType["CURRENT_CONTACT"] = "xBeesCurrentContact";
|
|
17
|
+
ClientEventType["CURRENT_CONVERSATION"] = "xBeesCurrentConversation";
|
|
17
18
|
ClientEventType["THEME_MODE"] = "xBeesThemeMode";
|
|
18
19
|
ClientEventType["THEME"] = "xBeesTheme";
|
|
19
20
|
ClientEventType["START_CALL"] = "xBeesStartCall";
|
|
@@ -8,6 +8,9 @@ class LocalStorageManager {
|
|
|
8
8
|
}
|
|
9
9
|
listeners = new Set();
|
|
10
10
|
integrationKey = '';
|
|
11
|
+
setIntegrationKey(integrationKey) {
|
|
12
|
+
this.integrationKey = integrationKey;
|
|
13
|
+
}
|
|
11
14
|
getStorageKey(key) {
|
|
12
15
|
return !this.integrationKey ? key : `${this.integrationKey}_${key}`;
|
|
13
16
|
}
|
|
@@ -38,6 +38,7 @@ export declare class Client implements ConnectClient {
|
|
|
38
38
|
isActivationOnly(): boolean;
|
|
39
39
|
getContext(): Promise<Message<ClientEventType.CONTEXT>>;
|
|
40
40
|
getCurrentContact(): Promise<Message<ClientEventType.CURRENT_CONTACT>>;
|
|
41
|
+
getCurrentConversation(): Promise<Message<ClientEventType.CURRENT_CONVERSATION>>;
|
|
41
42
|
contactUpdated(query: ContactQuery, contact: Contact): Promise<Message<ClientEventType.CONTACT_CREATE_OR_UPDATE>>;
|
|
42
43
|
getThemeMode(): Promise<Message<ClientEventType.THEME_MODE>>;
|
|
43
44
|
getTheme(): Promise<Message<ClientEventType.THEME>>;
|
|
@@ -67,4 +68,5 @@ export declare class Client implements ConnectClient {
|
|
|
67
68
|
onStorage(listener: StorageEventCallback): () => void;
|
|
68
69
|
onLogout(callback: Callback<EventType.LOGOUT>): RemoveEventListener;
|
|
69
70
|
sendAnalytics(eventName: string, params?: Record<string, string>): void;
|
|
71
|
+
setIntegrationStorageKey(integrationKey: string): void;
|
|
70
72
|
}
|
|
@@ -12,6 +12,7 @@ export declare enum ClientEventType {
|
|
|
12
12
|
READY = "xBeesReady",
|
|
13
13
|
CONTEXT = "xBeesContext",
|
|
14
14
|
CURRENT_CONTACT = "xBeesCurrentContact",
|
|
15
|
+
CURRENT_CONVERSATION = "xBeesCurrentConversation",
|
|
15
16
|
THEME_MODE = "xBeesThemeMode",
|
|
16
17
|
THEME = "xBeesTheme",
|
|
17
18
|
START_CALL = "xBeesStartCall",
|
|
@@ -18,6 +18,10 @@ export type Contact = (ContactShape & {
|
|
|
18
18
|
}) | (ContactShape & {
|
|
19
19
|
phone: string;
|
|
20
20
|
});
|
|
21
|
+
export type Conversation = {
|
|
22
|
+
id: string;
|
|
23
|
+
type: string;
|
|
24
|
+
};
|
|
21
25
|
export type ContactQuery = {
|
|
22
26
|
id?: string;
|
|
23
27
|
email?: string;
|
|
@@ -64,13 +68,16 @@ export interface IPayloadContactMatchResultNotFound {
|
|
|
64
68
|
export interface IPayloadContactResult {
|
|
65
69
|
contact: Contact;
|
|
66
70
|
}
|
|
67
|
-
export interface
|
|
71
|
+
export interface IPayloadConversationResult {
|
|
72
|
+
conversation?: Conversation;
|
|
73
|
+
}
|
|
74
|
+
export interface IPayloadContextResult extends IPayloadContactResult, IPayloadConversationResult {
|
|
68
75
|
}
|
|
69
76
|
export interface IPayloadSendAnalytics {
|
|
70
77
|
eventName: string;
|
|
71
78
|
params?: Record<string, string>;
|
|
72
79
|
}
|
|
73
|
-
type EventPayload<T extends MessageType> = T extends EventType.GET_CONTACTS_AUTO_SUGGEST ? string : T extends ClientEventType.CONTACTS_AUTO_SUGGEST ? IPayloadAutoSuggestResult : T extends ClientEventType.CONTACT_LOOKUP_AND_MATCH ? IPayloadContactMatchResult : T extends ClientEventType.CONTACT_LOOKUP_AND_MATCH_NOT_FOUND ? IPayloadContactMatchResultNotFound : T extends ClientEventType.CONTACT_CREATE_OR_UPDATE ? IPayloadContactMatchResult : T extends ClientEventType.CONTEXT ? IPayloadContextResult : T extends ClientEventType.CURRENT_CONTACT ? IPayloadContactResult : T extends EventType.ADD_CALL ? IPayloadCallStartedInfo : T extends ClientEventType.START_CALL ? IPayloadCallStart : T extends ClientEventType.READY ? IPayloadVersion : T extends ClientEventType.VIEW_PORT ? IPayloadViewPort : T extends ClientEventType.THEME ? IPayloadThemeChange : T extends EventType.USE_THEME ? IPayloadThemeChange : T extends ClientEventType.TOAST ? IPayloadToast : T extends ClientEventType.SEND_ANALYTICS ? IPayloadSendAnalytics : T extends EventType.PBX_TOKEN ? string : T extends ClientEventType.TOKEN ? string : T extends ClientEventType.TO_CLIPBOARD ? string : never;
|
|
80
|
+
type EventPayload<T extends MessageType> = T extends EventType.GET_CONTACTS_AUTO_SUGGEST ? string : T extends ClientEventType.CONTACTS_AUTO_SUGGEST ? IPayloadAutoSuggestResult : T extends ClientEventType.CONTACT_LOOKUP_AND_MATCH ? IPayloadContactMatchResult : T extends ClientEventType.CONTACT_LOOKUP_AND_MATCH_NOT_FOUND ? IPayloadContactMatchResultNotFound : T extends ClientEventType.CONTACT_CREATE_OR_UPDATE ? IPayloadContactMatchResult : T extends ClientEventType.CONTEXT ? IPayloadContextResult : T extends ClientEventType.CURRENT_CONTACT ? IPayloadContactResult : T extends ClientEventType.CURRENT_CONVERSATION ? IPayloadConversationResult : T extends EventType.ADD_CALL ? IPayloadCallStartedInfo : T extends ClientEventType.START_CALL ? IPayloadCallStart : T extends ClientEventType.READY ? IPayloadVersion : T extends ClientEventType.VIEW_PORT ? IPayloadViewPort : T extends ClientEventType.THEME ? IPayloadThemeChange : T extends EventType.USE_THEME ? IPayloadThemeChange : T extends ClientEventType.TOAST ? IPayloadToast : T extends ClientEventType.SEND_ANALYTICS ? IPayloadSendAnalytics : T extends EventType.PBX_TOKEN ? string : T extends ClientEventType.TOKEN ? string : T extends ClientEventType.TO_CLIPBOARD ? string : never;
|
|
74
81
|
export type Message<T extends MessageType = MessageType> = {
|
|
75
82
|
type: T;
|
|
76
83
|
payload?: EventPayload<T>;
|
|
@@ -165,6 +172,9 @@ export interface ConnectClient {
|
|
|
165
172
|
/**
|
|
166
173
|
* Retrieves current opened in x-bees contact data */
|
|
167
174
|
getCurrentContact: () => Promise<Message<ClientEventType.CURRENT_CONTACT>>;
|
|
175
|
+
/**
|
|
176
|
+
* Retrieves current opened in x-bees conversation data or undefined if the conversation is temporary */
|
|
177
|
+
getCurrentConversation: () => Promise<Message<ClientEventType.CURRENT_CONVERSATION>>;
|
|
168
178
|
/**
|
|
169
179
|
* Sends notification to x-bees about contact data updated */
|
|
170
180
|
contactUpdated(query: ContactQuery, contact: Contact): Promise<Message<ClientEventType.CONTACT_CREATE_OR_UPDATE>>;
|
|
@@ -243,6 +253,9 @@ export interface ConnectClient {
|
|
|
243
253
|
/**
|
|
244
254
|
* Removes data from localStorage */
|
|
245
255
|
deleteFromStorage: (key: string) => void;
|
|
256
|
+
/**
|
|
257
|
+
* Set parent integration key to switch to parent integration localStorage data */
|
|
258
|
+
setIntegrationStorageKey: (integrationKey: string) => void;
|
|
246
259
|
/**
|
|
247
260
|
* listens on localStorage */
|
|
248
261
|
onStorage: (listener: StorageEventCallback) => () => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wildix/xbees-connect",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.15",
|
|
4
4
|
"description": "This library provides easy communication between x-bees and integrated web applications",
|
|
5
5
|
"author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
|
|
6
6
|
"homepage": "",
|
|
@@ -42,5 +42,5 @@
|
|
|
42
42
|
"engines": {
|
|
43
43
|
"node": ">=16"
|
|
44
44
|
},
|
|
45
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "958f82f41e6fb5ddc73c072cccb4e1635630fd9a"
|
|
46
46
|
}
|