@wildix/xbees-connect 1.1.3 → 1.1.4
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 +13 -4
- package/dist-es/src/enums/index.js +1 -0
- package/dist-es/src/helpers/LocalStorageManager.js +1 -2
- package/dist-types/src/Client.d.ts +7 -4
- package/dist-types/src/enums/index.d.ts +2 -1
- package/dist-types/types/index.d.ts +15 -4
- 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.4-y.0",
|
|
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
|
@@ -116,6 +116,12 @@ export class Client {
|
|
|
116
116
|
getUserEmail() {
|
|
117
117
|
return this.userEmail;
|
|
118
118
|
}
|
|
119
|
+
getReferrer() {
|
|
120
|
+
return this.referrer;
|
|
121
|
+
}
|
|
122
|
+
getBackToAppUrl() {
|
|
123
|
+
return `${this.referrer}/integrations/${this.iframeId}`;
|
|
124
|
+
}
|
|
119
125
|
isDataOnly() {
|
|
120
126
|
return this.variant === 'no-ui' || this.variant === 'daemon';
|
|
121
127
|
}
|
|
@@ -201,14 +207,17 @@ export class Client {
|
|
|
201
207
|
this.localStorageManager.removeOnStorage(callback);
|
|
202
208
|
this.removeEventListener(null, callback);
|
|
203
209
|
}
|
|
210
|
+
onRedirectQuery(callback) {
|
|
211
|
+
return this.addEventListener(EventType.REDIRECT_QUERY, callback);
|
|
212
|
+
}
|
|
204
213
|
onCallEnded(callback) {
|
|
205
|
-
this.addEventListener(EventType.TERMINATE_CALL, callback);
|
|
214
|
+
return this.addEventListener(EventType.TERMINATE_CALL, callback);
|
|
206
215
|
}
|
|
207
216
|
onCallStarted(callback) {
|
|
208
|
-
this.addEventListener(EventType.ADD_CALL, callback);
|
|
217
|
+
return this.addEventListener(EventType.ADD_CALL, callback);
|
|
209
218
|
}
|
|
210
219
|
onPbxTokenChange(callback) {
|
|
211
|
-
this.addEventListener(EventType.PBX_TOKEN, callback);
|
|
220
|
+
return this.addEventListener(EventType.PBX_TOKEN, callback);
|
|
212
221
|
}
|
|
213
222
|
onSuggestContacts(callback) {
|
|
214
223
|
return this.addEventListener(EventType.GET_CONTACTS_AUTO_SUGGEST, (query) => {
|
|
@@ -251,7 +260,7 @@ export class Client {
|
|
|
251
260
|
});
|
|
252
261
|
}
|
|
253
262
|
onThemeChange(callback) {
|
|
254
|
-
this.addEventListener(EventType.USE_THEME, callback);
|
|
263
|
+
return this.addEventListener(EventType.USE_THEME, callback);
|
|
255
264
|
}
|
|
256
265
|
getFromStorage(key) {
|
|
257
266
|
return this.localStorageManager.retrieve(key);
|
|
@@ -6,6 +6,7 @@ export var EventType;
|
|
|
6
6
|
EventType["TERMINATE_CALL"] = "xBeesTerminateCall";
|
|
7
7
|
EventType["USE_THEME"] = "xBeesUseTheme";
|
|
8
8
|
EventType["PBX_TOKEN"] = "xBeesPbxToken";
|
|
9
|
+
EventType["REDIRECT_QUERY"] = "xBeesRedirectQuery";
|
|
9
10
|
})(EventType || (EventType = {}));
|
|
10
11
|
export var ClientEventType;
|
|
11
12
|
(function (ClientEventType) {
|
|
@@ -37,8 +37,7 @@ class LocalStorageManager {
|
|
|
37
37
|
return '';
|
|
38
38
|
}
|
|
39
39
|
shouldUseIntegrationKey() {
|
|
40
|
-
return
|
|
41
|
-
window.location.pathname.endsWith('/index.html'));
|
|
40
|
+
return window.location.host.endsWith('integrations.x-bees.com');
|
|
42
41
|
}
|
|
43
42
|
save(key, value) {
|
|
44
43
|
// Save data to localStorage
|
|
@@ -29,6 +29,8 @@ export declare class Client implements ConnectClient {
|
|
|
29
29
|
isPlatformWeb(): boolean;
|
|
30
30
|
getUserPbxToken(): string;
|
|
31
31
|
getUserEmail(): string;
|
|
32
|
+
getReferrer(): string;
|
|
33
|
+
getBackToAppUrl(): string;
|
|
32
34
|
isDataOnly(): boolean;
|
|
33
35
|
isSetupDialog(): boolean;
|
|
34
36
|
showsUi(): boolean;
|
|
@@ -49,12 +51,13 @@ export declare class Client implements ConnectClient {
|
|
|
49
51
|
addEventListener<T extends EventType = EventType>(eventName: T, callback: Callback<T>): RemoveEventListener;
|
|
50
52
|
removeEventListener<T extends EventType = EventType>(eventName: T | null, callback: Callback<T>): void;
|
|
51
53
|
off(callback: Callback | StorageEventCallback): void;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
onRedirectQuery(callback: Callback<EventType.REDIRECT_QUERY>): RemoveEventListener;
|
|
55
|
+
onCallEnded(callback: Callback<EventType.TERMINATE_CALL>): RemoveEventListener;
|
|
56
|
+
onCallStarted(callback: Callback<EventType.ADD_CALL>): RemoveEventListener;
|
|
57
|
+
onPbxTokenChange(callback: Callback<EventType.PBX_TOKEN>): RemoveEventListener;
|
|
55
58
|
onSuggestContacts(callback: (query: string, resolve: SuggestContactsResolver, reject: Reject) => void): RemoveEventListener;
|
|
56
59
|
onLookupAndMatchContact(callback: (query: ContactQuery, resolve: LookupAndMatchContactsResolver, reject: Reject) => void): RemoveEventListener;
|
|
57
|
-
onThemeChange(callback: Callback<EventType.USE_THEME>):
|
|
60
|
+
onThemeChange(callback: Callback<EventType.USE_THEME>): RemoveEventListener;
|
|
58
61
|
getFromStorage<Type>(key: string): Type | null;
|
|
59
62
|
saveToStorage<SavingType>(key: string, value: SavingType): void;
|
|
60
63
|
deleteFromStorage(key: string): void;
|
|
@@ -4,7 +4,8 @@ export declare enum EventType {
|
|
|
4
4
|
ADD_CALL = "xBeesAddCall",
|
|
5
5
|
TERMINATE_CALL = "xBeesTerminateCall",
|
|
6
6
|
USE_THEME = "xBeesUseTheme",
|
|
7
|
-
PBX_TOKEN = "xBeesPbxToken"
|
|
7
|
+
PBX_TOKEN = "xBeesPbxToken",
|
|
8
|
+
REDIRECT_QUERY = "xBeesRedirectQuery"
|
|
8
9
|
}
|
|
9
10
|
export declare enum ClientEventType {
|
|
10
11
|
READY = "xBeesReady",
|
|
@@ -77,6 +77,7 @@ export type EventPayloadMap = {
|
|
|
77
77
|
[EventType.ADD_CALL]: IPayloadCallStartedInfo;
|
|
78
78
|
[EventType.USE_THEME]: IPayloadThemeChange;
|
|
79
79
|
[EventType.PBX_TOKEN]: string;
|
|
80
|
+
[EventType.REDIRECT_QUERY]: string;
|
|
80
81
|
};
|
|
81
82
|
export type EventCallbackMap = {
|
|
82
83
|
[EventType.GET_CONTACTS_AUTO_SUGGEST]: (query: EventPayloadMap[EventType.GET_CONTACTS_AUTO_SUGGEST]) => void;
|
|
@@ -84,6 +85,7 @@ export type EventCallbackMap = {
|
|
|
84
85
|
[EventType.ADD_CALL]: (callStartInfo: EventPayloadMap[EventType.ADD_CALL]) => void;
|
|
85
86
|
[EventType.USE_THEME]: (theme: EventPayloadMap[EventType.USE_THEME]) => void;
|
|
86
87
|
[EventType.PBX_TOKEN]: (token: EventPayloadMap[EventType.PBX_TOKEN]) => void;
|
|
88
|
+
[EventType.REDIRECT_QUERY]: (query: EventPayloadMap[EventType.REDIRECT_QUERY]) => void;
|
|
87
89
|
};
|
|
88
90
|
export type StorageEventCallback = (event: StorageEvent) => void;
|
|
89
91
|
export type Callback<T extends EventType = EventType> = T extends keyof EventCallbackMap ? EventCallbackMap[T] : DefaultCallback;
|
|
@@ -110,6 +112,12 @@ export interface ConnectClient {
|
|
|
110
112
|
/**
|
|
111
113
|
* Retrieves current user's email */
|
|
112
114
|
getUserEmail: () => string;
|
|
115
|
+
/**
|
|
116
|
+
* Retrieves url for x-bees app which uses integration */
|
|
117
|
+
getReferrer: () => string;
|
|
118
|
+
/**
|
|
119
|
+
* Retrieves url to get back to x-bees app integration */
|
|
120
|
+
getBackToAppUrl: () => string;
|
|
113
121
|
/**
|
|
114
122
|
* Retrieves the version of xBeesConnect */
|
|
115
123
|
version: () => string;
|
|
@@ -181,10 +189,10 @@ export interface ConnectClient {
|
|
|
181
189
|
removeEventListener: <T extends EventType = EventType>(eventName: T, callback: Callback<T>) => void;
|
|
182
190
|
/**
|
|
183
191
|
* Starts listen for the events of changing theme and handle with the provided callback */
|
|
184
|
-
onThemeChange: (callback: Callback<EventType.USE_THEME>) =>
|
|
192
|
+
onThemeChange: (callback: Callback<EventType.USE_THEME>) => RemoveEventListener;
|
|
185
193
|
/**
|
|
186
194
|
* Starts listen for the events of changing pbx token and handle with the provided callback */
|
|
187
|
-
onPbxTokenChange: (callback: Callback<EventType.PBX_TOKEN>) =>
|
|
195
|
+
onPbxTokenChange: (callback: Callback<EventType.PBX_TOKEN>) => RemoveEventListener;
|
|
188
196
|
/**
|
|
189
197
|
* Starts listen for the events of searching contacts and handle autosuggestion with the provided callback */
|
|
190
198
|
onSuggestContacts: (callback: (query: string, resolve: SuggestContactsResolver, reject: Reject) => void) => RemoveEventListener;
|
|
@@ -193,10 +201,13 @@ export interface ConnectClient {
|
|
|
193
201
|
onLookupAndMatchContact: (callback: (query: ContactQuery, resolve: LookupAndMatchContactsResolver, reject: Reject) => void) => RemoveEventListener;
|
|
194
202
|
/**
|
|
195
203
|
* Starts listen for the events of starting the call and handle with the provided callback */
|
|
196
|
-
onCallStarted: (callback: Callback<EventType.ADD_CALL>) =>
|
|
204
|
+
onCallStarted: (callback: Callback<EventType.ADD_CALL>) => RemoveEventListener;
|
|
197
205
|
/**
|
|
198
206
|
* Starts listen for the events of ending the call and handle with the provided callback */
|
|
199
|
-
onCallEnded: (callback: Callback<EventType.TERMINATE_CALL>) =>
|
|
207
|
+
onCallEnded: (callback: Callback<EventType.TERMINATE_CALL>) => RemoveEventListener;
|
|
208
|
+
/**
|
|
209
|
+
* Starts listen for redirect query message which fires when user opens app with deeplink to integration */
|
|
210
|
+
onRedirectQuery: (callback: Callback<EventType.REDIRECT_QUERY>) => RemoveEventListener;
|
|
200
211
|
/**
|
|
201
212
|
* Removes particular callback from handling events */
|
|
202
213
|
off: (callback: Callback | 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.4",
|
|
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": "485f83d2aa614de28b039aaa7c3bc788e10cbbb9"
|
|
46
46
|
}
|