@wildix/xbees-connect 1.3.2 → 1.3.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.
Files changed (90) hide show
  1. package/package.json +4 -4
  2. package/dist-cjs/index.js +0 -27
  3. package/dist-cjs/package.json +0 -48
  4. package/dist-cjs/src/Client.js +0 -485
  5. package/dist-cjs/src/enums/index.js +0 -73
  6. package/dist-cjs/src/helpers/ClientParams.js +0 -37
  7. package/dist-cjs/src/helpers/LocalStorageManager.js +0 -74
  8. package/dist-cjs/src/helpers/MessageListener.js +0 -85
  9. package/dist-cjs/src/helpers/PostMessageController.js +0 -48
  10. package/dist-cjs/src/helpers/PostMessageControllerNative.js +0 -47
  11. package/dist-cjs/src/helpers/PostMessageControllerWeb.js +0 -36
  12. package/dist-cjs/src/helpers/TechnicalSupport.js +0 -30
  13. package/dist-cjs/src/utils/url/getUrlSearchParamsMap.js +0 -7
  14. package/dist-cjs/types/AvailableContactData.js +0 -2
  15. package/dist-cjs/types/Callback.js +0 -2
  16. package/dist-cjs/types/Client.js +0 -2
  17. package/dist-cjs/types/Contact.js +0 -2
  18. package/dist-cjs/types/Event.js +0 -3
  19. package/dist-cjs/types/Json.js +0 -2
  20. package/dist-cjs/types/Listener.js +0 -2
  21. package/dist-cjs/types/Message.js +0 -2
  22. package/dist-cjs/types/MessageSender.js +0 -2
  23. package/dist-cjs/types/Payload.js +0 -2
  24. package/dist-cjs/types/Platform.js +0 -9
  25. package/dist-cjs/types/Resolver.js +0 -2
  26. package/dist-cjs/types/Storage.js +0 -2
  27. package/dist-cjs/types/Toast.js +0 -2
  28. package/dist-cjs/types/WorkVariant.js +0 -2
  29. package/dist-cjs/types/XBeesUser.js +0 -2
  30. package/dist-cjs/types/conversation.js +0 -2
  31. package/dist-cjs/types/index.js +0 -5
  32. package/dist-es/index.js +0 -6
  33. package/dist-es/package.json +0 -48
  34. package/dist-es/src/Client.js +0 -478
  35. package/dist-es/src/enums/index.js +0 -70
  36. package/dist-es/src/helpers/ClientParams.js +0 -34
  37. package/dist-es/src/helpers/LocalStorageManager.js +0 -72
  38. package/dist-es/src/helpers/MessageListener.js +0 -81
  39. package/dist-es/src/helpers/PostMessageController.js +0 -42
  40. package/dist-es/src/helpers/PostMessageControllerNative.js +0 -44
  41. package/dist-es/src/helpers/PostMessageControllerWeb.js +0 -33
  42. package/dist-es/src/helpers/TechnicalSupport.js +0 -25
  43. package/dist-es/src/utils/url/getUrlSearchParamsMap.js +0 -3
  44. package/dist-es/types/AvailableContactData.js +0 -1
  45. package/dist-es/types/Callback.js +0 -1
  46. package/dist-es/types/Client.js +0 -1
  47. package/dist-es/types/Contact.js +0 -1
  48. package/dist-es/types/Event.js +0 -1
  49. package/dist-es/types/Json.js +0 -1
  50. package/dist-es/types/Listener.js +0 -1
  51. package/dist-es/types/Message.js +0 -1
  52. package/dist-es/types/MessageSender.js +0 -1
  53. package/dist-es/types/Payload.js +0 -1
  54. package/dist-es/types/Platform.js +0 -6
  55. package/dist-es/types/Resolver.js +0 -1
  56. package/dist-es/types/Storage.js +0 -1
  57. package/dist-es/types/Toast.js +0 -1
  58. package/dist-es/types/WorkVariant.js +0 -1
  59. package/dist-es/types/XBeesUser.js +0 -1
  60. package/dist-es/types/conversation.js +0 -1
  61. package/dist-es/types/index.js +0 -1
  62. package/dist-types/index.d.ts +0 -6
  63. package/dist-types/src/Client.d.ts +0 -116
  64. package/dist-types/src/enums/index.d.ts +0 -66
  65. package/dist-types/src/helpers/ClientParams.d.ts +0 -16
  66. package/dist-types/src/helpers/LocalStorageManager.d.ts +0 -20
  67. package/dist-types/src/helpers/MessageListener.d.ts +0 -14
  68. package/dist-types/src/helpers/PostMessageController.d.ts +0 -13
  69. package/dist-types/src/helpers/PostMessageControllerNative.d.ts +0 -8
  70. package/dist-types/src/helpers/PostMessageControllerWeb.d.ts +0 -8
  71. package/dist-types/src/helpers/TechnicalSupport.d.ts +0 -9
  72. package/dist-types/src/utils/url/getUrlSearchParamsMap.d.ts +0 -1
  73. package/dist-types/types/AvailableContactData.d.ts +0 -4
  74. package/dist-types/types/Callback.d.ts +0 -4
  75. package/dist-types/types/Client.d.ts +0 -222
  76. package/dist-types/types/Contact.d.ts +0 -24
  77. package/dist-types/types/Event.d.ts +0 -39
  78. package/dist-types/types/Json.d.ts +0 -6
  79. package/dist-types/types/Listener.d.ts +0 -7
  80. package/dist-types/types/Message.d.ts +0 -14
  81. package/dist-types/types/MessageSender.d.ts +0 -4
  82. package/dist-types/types/Payload.d.ts +0 -91
  83. package/dist-types/types/Platform.d.ts +0 -5
  84. package/dist-types/types/Resolver.d.ts +0 -5
  85. package/dist-types/types/Storage.d.ts +0 -1
  86. package/dist-types/types/Toast.d.ts +0 -1
  87. package/dist-types/types/WorkVariant.d.ts +0 -3
  88. package/dist-types/types/XBeesUser.d.ts +0 -7
  89. package/dist-types/types/conversation.d.ts +0 -4
  90. package/dist-types/types/index.d.ts +0 -16
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildix/xbees-connect",
3
- "version": "1.3.2",
3
+ "version": "1.3.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": "",
@@ -10,14 +10,14 @@
10
10
  "types": "./dist-types/index.d.ts",
11
11
  "module": "./dist-es/index.js",
12
12
  "scripts": {
13
- "build": "yarn clean && yarn build:es && yarn build:cjs && yarn build:types",
13
+ "build": "bun run clean && bun run build:es && bun run build:cjs && bun run build:types",
14
14
  "build:es": "tsc -p tsconfig.es.json",
15
15
  "build:cjs": "tsc -p tsconfig.cjs.json",
16
16
  "build:types": "tsc -p tsconfig.types.json",
17
17
  "build:docs": "typedoc",
18
18
  "lint": "eslint . && tsc --noEmit",
19
19
  "lint:fix": "eslint . --fix",
20
- "clean": "rimraf ./dist-* && rimraf *.tsbuildinfo",
20
+ "clean": "rimraf --glob './dist-*' '*.tsbuildinfo'",
21
21
  "build:api-extractor": "api-extractor run --local"
22
22
  },
23
23
  "files": [
@@ -45,5 +45,5 @@
45
45
  "engines": {
46
46
  "node": ">=16"
47
47
  },
48
- "gitHead": "48c015637edde40795772b24bb89edec002f4bdc"
48
+ "gitHead": "74da3b690e1db255114368db8324f4e67bf0b05c"
49
49
  }
package/dist-cjs/index.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.UrlParams = exports.StartPage = exports.ClientEventType = exports.EventType = void 0;
18
- const Client_1 = require("./src/Client");
19
- var enums_1 = require("./src/enums");
20
- Object.defineProperty(exports, "EventType", { enumerable: true, get: function () { return enums_1.EventType; } });
21
- var enums_2 = require("./src/enums");
22
- Object.defineProperty(exports, "ClientEventType", { enumerable: true, get: function () { return enums_2.ClientEventType; } });
23
- var enums_3 = require("./src/enums");
24
- Object.defineProperty(exports, "StartPage", { enumerable: true, get: function () { return enums_3.StartPage; } });
25
- Object.defineProperty(exports, "UrlParams", { enumerable: true, get: function () { return enums_3.UrlParams; } });
26
- __exportStar(require("./types"), exports);
27
- exports.default = Client_1.Client;
@@ -1,48 +0,0 @@
1
- {
2
- "name": "@wildix/xbees-connect",
3
- "version": "1.3.1",
4
- "description": "This library provides easy communication between x-bees and integrated web applications",
5
- "author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
6
- "homepage": "",
7
- "sideEffects": false,
8
- "license": "MIT",
9
- "main": "./dist-cjs/index.js",
10
- "types": "./dist-types/index.d.ts",
11
- "module": "./dist-es/index.js",
12
- "scripts": {
13
- "build": "yarn clean && yarn build:es && yarn build:cjs && yarn build:types",
14
- "build:es": "tsc -p tsconfig.es.json",
15
- "build:cjs": "tsc -p tsconfig.cjs.json",
16
- "build:types": "tsc -p tsconfig.types.json",
17
- "build:docs": "typedoc",
18
- "lint": "eslint . && tsc --noEmit",
19
- "lint:fix": "eslint . --fix",
20
- "clean": "rimraf ./dist-* && rimraf *.tsbuildinfo",
21
- "build:api-extractor": "api-extractor run --local"
22
- },
23
- "files": [
24
- "dist-*/**"
25
- ],
26
- "repository": {
27
- "type": "git",
28
- "url": "git@git.wildix.com:xbs/sdk-ui.git"
29
- },
30
- "publishConfig": {
31
- "access": "public"
32
- },
33
- "devDependencies": {
34
- "@microsoft/api-extractor": "^7.47.9",
35
- "@wildix/eslint-config-style-guide": "^1.2.2",
36
- "eslint": "^8.55.0",
37
- "rimraf": "^5.0.5",
38
- "typescript": "^5.3.3"
39
- },
40
- "parserOptions": {
41
- "project": [
42
- "./tsconfig.json"
43
- ]
44
- },
45
- "engines": {
46
- "node": ">=16"
47
- }
48
- }
@@ -1,485 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Client = void 0;
7
- const package_json_1 = __importDefault(require("../package.json"));
8
- const types_1 = require("../types");
9
- const enums_1 = require("./enums");
10
- const LocalStorageManager_1 = __importDefault(require("./helpers/LocalStorageManager"));
11
- const MessageListener_1 = require("./helpers/MessageListener");
12
- const PostMessageControllerNative_1 = __importDefault(require("./helpers/PostMessageControllerNative"));
13
- const PostMessageControllerWeb_1 = __importDefault(require("./helpers/PostMessageControllerWeb"));
14
- const TechnicalSupport_1 = __importDefault(require("./helpers/TechnicalSupport"));
15
- const getUrlSearchParamsMap_1 = require("./utils/url/getUrlSearchParamsMap");
16
- /**
17
- * Client provides functionality of communication between xBees and integrated web applications via iFrame or ReactNative WebView
18
- * integration creates na instance with new Client()
19
- * */
20
- class Client {
21
- static instance = null;
22
- static getInstance() {
23
- if (!this.instance) {
24
- this.instance = new Client();
25
- }
26
- return this.instance;
27
- }
28
- static initialize(renderer) {
29
- if (this.getInstance().showsUi()) {
30
- try {
31
- void renderer();
32
- }
33
- catch (error) {
34
- console.error('Error on init rendering widget:', error);
35
- }
36
- }
37
- }
38
- worker;
39
- listeners = [];
40
- useSubscription = false;
41
- userToken = '';
42
- pbxDomain = '';
43
- visible = false;
44
- user = null;
45
- userExtension = null;
46
- userEmail;
47
- referrer;
48
- needAuthorize;
49
- isParentReactNativeWebView;
50
- iframeId;
51
- variant = null;
52
- startPage = null;
53
- localStorageManager = LocalStorageManager_1.default.getInstance();
54
- constructor() {
55
- const params = (0, getUrlSearchParamsMap_1.getUrlSearchParamsMap)();
56
- this.iframeId = params.get(enums_1.UrlParams.ID);
57
- this.variant = params.get(enums_1.UrlParams.VARIANT);
58
- this.userEmail = params.get(enums_1.UrlParams.USER);
59
- this.referrer = params.get(enums_1.UrlParams.REFERRER);
60
- this.needAuthorize = params.has(enums_1.UrlParams.AUTHORIZE);
61
- this.startPage = params.get(enums_1.UrlParams.START_PAGE);
62
- // @ts-expect-error window.ReactNativeWebView will be provided by ReactNative WebView
63
- this.isParentReactNativeWebView = !!window.ReactNativeWebView;
64
- this.worker = this.isParentReactNativeWebView ? new PostMessageControllerNative_1.default() : new PostMessageControllerWeb_1.default();
65
- this.addEventListener(enums_1.EventType.PBX_TOKEN, (token) => {
66
- this.userToken = token;
67
- });
68
- this.addEventListener(enums_1.EventType.VISIBILITY, (isActive) => (this.visible = isActive));
69
- }
70
- sendAsync(data) {
71
- return this.worker.sendAsync({
72
- ...data,
73
- iframeId: this.iframeId,
74
- });
75
- }
76
- async sendAsyncErrorSafe(data) {
77
- try {
78
- return await this.sendAsync(data);
79
- }
80
- catch (error) {
81
- console.debug('send error - type:', error);
82
- }
83
- }
84
- parseMessage(message) {
85
- try {
86
- const data = typeof message.data === 'string' ? MessageListener_1.MessageListener.parseJSON(message.data) : message.data;
87
- if (!data?.type) {
88
- return null;
89
- }
90
- return data;
91
- }
92
- catch (error) {
93
- console.error('parse message error', error);
94
- return null;
95
- }
96
- }
97
- onMessage(message) {
98
- const data = this.parseMessage(message);
99
- if (!data) {
100
- return;
101
- }
102
- const { type, payload } = data;
103
- this.listeners.forEach(({ eventName, callback }) => {
104
- if (eventName === type) {
105
- if (type === enums_1.EventType.ADD_CALL) {
106
- const callbackFn = callback;
107
- callbackFn(payload);
108
- }
109
- else {
110
- // @ts-expect-error TODO: check the type for Callback<?>
111
- const callbackFn = callback;
112
- callbackFn(payload);
113
- }
114
- }
115
- });
116
- }
117
- sendDailyIntegrationUsageAnalytics() {
118
- const sentUsageAnalyticsDate = this.getFromStorage('sentUsageAnalyticsDate');
119
- const today = new Date().toDateString();
120
- if (sentUsageAnalyticsDate !== today) {
121
- this.sendAnalytics('xBeesIntegrationUsage');
122
- this.saveToStorage('sentUsageAnalyticsDate', today);
123
- }
124
- }
125
- ready(props = types_1.SupportedPlatformVariant.ALL) {
126
- const payload = typeof props === 'string'
127
- ? { version: this.version(), platform: props }
128
- : { version: this.version(), ...props, platform: props.platform ?? types_1.SupportedPlatformVariant.ALL };
129
- this.getXBeesUser();
130
- return this.sendAsync({
131
- type: enums_1.ClientEventType.READY,
132
- payload,
133
- });
134
- }
135
- async requestXbeesUser() {
136
- const responseMessageUser = await this.sendAsync({ type: enums_1.ClientEventType.USER });
137
- if (responseMessageUser.payload) {
138
- const { extension, domain } = responseMessageUser.payload;
139
- this.user = { ...responseMessageUser.payload, email: this.getUserEmail() };
140
- if (extension) {
141
- this.userExtension = extension;
142
- }
143
- if (domain) {
144
- this.pbxDomain = domain;
145
- }
146
- }
147
- }
148
- /**
149
- * @deprecated Use getXBeesUserAsync instead. This method doesn't wait for the user data to be fetched.
150
- */
151
- getXBeesUser() {
152
- if (!this.user) {
153
- this.requestXbeesUser();
154
- }
155
- return this.user;
156
- }
157
- /**
158
- * Asynchronously retrieves the xBees user data.
159
- * This method waits for the user data to be fetched before returning.
160
- * @returns Promise that resolves to the XBeesUser or null if not available
161
- */
162
- async getXBeesUserAsync() {
163
- if (!this.user) {
164
- await this.requestXbeesUser();
165
- }
166
- return this.user;
167
- }
168
- version() {
169
- return package_json_1.default.version;
170
- }
171
- isPlatformNative() {
172
- return this.isParentReactNativeWebView;
173
- }
174
- isPlatformWeb() {
175
- return !this.isParentReactNativeWebView;
176
- }
177
- isOpenedFromXBees() {
178
- return this.isParentReactNativeWebView || (!!parent && parent !== window);
179
- }
180
- getUserPbxToken() {
181
- return this.userToken;
182
- }
183
- getUserEmail() {
184
- return this.userEmail;
185
- }
186
- getPbxDomain() {
187
- return this.pbxDomain;
188
- }
189
- getUserExtension() {
190
- return this.userExtension;
191
- }
192
- getReferrer() {
193
- return this.referrer;
194
- }
195
- getStartPage() {
196
- return this.startPage;
197
- }
198
- isVisible() {
199
- return this.visible;
200
- }
201
- getBackToAppUrl() {
202
- if (Client.getInstance().isPlatformNative()) {
203
- return `${this.referrer}://integrations/${this.iframeId}`;
204
- }
205
- return `${this.referrer}/integrations/${this.iframeId}`;
206
- }
207
- isDataOnly() {
208
- return this.variant === 'no-ui' || this.variant === 'daemon';
209
- }
210
- isSetupDialog() {
211
- return this.variant === 'd' || this.variant === 'dialog';
212
- }
213
- showsUi() {
214
- return !this.isDataOnly();
215
- }
216
- isFullsize() {
217
- return this.variant === 'f';
218
- }
219
- isActivationOnly() {
220
- return this.needAuthorize;
221
- }
222
- getContext() {
223
- return this.sendAsync({ type: enums_1.ClientEventType.CONTEXT });
224
- }
225
- getCurrentContact() {
226
- return this.sendAsync({ type: enums_1.ClientEventType.CURRENT_CONTACT });
227
- }
228
- getCurrentConversation() {
229
- return this.sendAsync({ type: enums_1.ClientEventType.CURRENT_CONVERSATION });
230
- }
231
- getAvailableContactData() {
232
- return this.sendAsync({ type: enums_1.ClientEventType.AVAILABLE_CONTACT_DATA });
233
- }
234
- contactUpdated(query, contact) {
235
- return this.sendAsync({ type: enums_1.ClientEventType.CONTACT_CREATE_OR_UPDATE, payload: { query, contact } });
236
- }
237
- contactMatchUpdated(query, contact) {
238
- return this.sendAsync({ type: enums_1.ClientEventType.CONTACT_MATCH_UPDATE, payload: { query, contact } });
239
- }
240
- getThemeMode() {
241
- return this.sendAsync({ type: enums_1.ClientEventType.THEME_MODE });
242
- }
243
- getTheme() {
244
- return this.sendAsync({ type: enums_1.ClientEventType.THEME });
245
- }
246
- startCall(phoneNumber) {
247
- return this.sendAsync({
248
- type: enums_1.ClientEventType.START_CALL,
249
- payload: { phoneNumber },
250
- });
251
- }
252
- reboot() {
253
- return this.sendAsync({ type: enums_1.ClientEventType.REBOOT });
254
- }
255
- setViewport(payload) {
256
- return this.sendAsync({ type: enums_1.ClientEventType.VIEW_PORT, payload });
257
- }
258
- toClipboard(payload) {
259
- return this.sendAsync({ type: enums_1.ClientEventType.TO_CLIPBOARD, payload });
260
- }
261
- showToast(message, severity = 'INFO') {
262
- return this.sendAsync({ type: enums_1.ClientEventType.TOAST, payload: { message, severity } });
263
- }
264
- isNotAuthorized() {
265
- return this.sendAsync({ type: enums_1.ClientEventType.NOT_AUTHORIZED });
266
- }
267
- isAuthorized() {
268
- this.sendDailyIntegrationUsageAnalytics();
269
- return this.sendAsync({
270
- type: enums_1.ClientEventType.AUTHORIZED,
271
- });
272
- }
273
- addEventListener(eventName, callback) {
274
- if (!this.useSubscription) {
275
- this.useSubscription = true;
276
- window.addEventListener('message', this.onMessage.bind(this));
277
- }
278
- const foundThisEvent = this.listeners.find(({ eventName: _eventName, callback: _callback }) => eventName === _eventName && Object.is(callback, _callback));
279
- if (!foundThisEvent) {
280
- this.listeners.push({ eventName, callback });
281
- }
282
- return () => {
283
- this.removeEventListener(eventName, callback);
284
- };
285
- }
286
- removeEventListener(eventName, callback) {
287
- this.listeners = this.listeners.filter(({ eventName: _eventName, callback: _callback }) => !(Object.is(callback, _callback) && (!eventName ? true : eventName === _eventName)));
288
- if (this.useSubscription && !this.listeners.length) {
289
- this.useSubscription = false;
290
- window.removeEventListener('message', this.onMessage.bind(this));
291
- }
292
- }
293
- off(callback) {
294
- this.localStorageManager.removeOnStorage(callback);
295
- this.removeEventListener(null, callback);
296
- }
297
- onRedirectQuery(callback) {
298
- return this.addEventListener(enums_1.EventType.REDIRECT_QUERY, callback);
299
- }
300
- onCallEnded(callback) {
301
- return this.addEventListener(enums_1.EventType.TERMINATE_CALL, callback);
302
- }
303
- onCallStarted(callback) {
304
- return this.addEventListener(enums_1.EventType.ADD_CALL, callback);
305
- }
306
- onPbxTokenChange(callback) {
307
- return this.addEventListener(enums_1.EventType.PBX_TOKEN, callback);
308
- }
309
- getXBeesToken() {
310
- return this.sendAsync({ type: enums_1.ClientEventType.TOKEN });
311
- }
312
- onSuggestContacts(callback) {
313
- // send event to x-bees
314
- void this.sendAsyncErrorSafe({
315
- type: enums_1.ClientEventType.CONTACTS_AUTO_SUGGEST_IS_SUPPORTED,
316
- });
317
- return this.addEventListener(enums_1.EventType.GET_CONTACTS_AUTO_SUGGEST, (query) => {
318
- const resolve = (contacts) => this.sendAsync({
319
- type: enums_1.ClientEventType.CONTACTS_AUTO_SUGGEST,
320
- payload: {
321
- contacts,
322
- query,
323
- },
324
- });
325
- const reject = (reason) => {
326
- console.debug(reason);
327
- };
328
- try {
329
- callback(query, resolve, reject);
330
- }
331
- catch (error) {
332
- reject(`${error}`);
333
- }
334
- });
335
- }
336
- onLookupAndMatchContact(callback) {
337
- // send event to x-bees
338
- void this.sendAsyncErrorSafe({
339
- type: enums_1.ClientEventType.CONTACT_LOOK_UP_AND_MATCH_IS_SUPPORTED,
340
- });
341
- return this.addEventListener(enums_1.EventType.GET_LOOK_UP_AND_MATCH, (query) => {
342
- const resolve = (contact) => this.sendAsync({
343
- type: enums_1.ClientEventType.CONTACT_LOOKUP_AND_MATCH,
344
- payload: {
345
- contact,
346
- query,
347
- },
348
- });
349
- const reject = (reason) => {
350
- console.debug(reason);
351
- void this.sendAsync({
352
- type: enums_1.ClientEventType.CONTACT_LOOKUP_AND_MATCH_NOT_FOUND,
353
- payload: { query },
354
- });
355
- };
356
- try {
357
- callback(query, resolve, reject);
358
- }
359
- catch (error) {
360
- reject(`${error}`);
361
- }
362
- });
363
- }
364
- onLookupAndMatchBatchContacts(callback) {
365
- // send event to x-bees
366
- void this.sendAsyncErrorSafe({
367
- type: enums_1.ClientEventType.LOOK_UP_AND_MATCH_BATCH_CONTACTS_IS_SUPPORTED,
368
- });
369
- return this.addEventListener(enums_1.EventType.GET_LOOK_UP_AND_MATCH_BATCH, (queries) => {
370
- const returnResults = (contactResultsMap) => this.sendAsync({
371
- type: enums_1.ClientEventType.LOOK_UP_AND_MATCH_BATCH_CONTACTS,
372
- payload: {
373
- contactResultsMap: Array.from(contactResultsMap),
374
- },
375
- });
376
- const reject = (reason) => {
377
- console.debug(reason);
378
- void this.sendAsync({
379
- type: enums_1.ClientEventType.LOOKUP_AND_MATCH_BATCH_ERROR,
380
- payload: { reason },
381
- });
382
- };
383
- try {
384
- callback(queries, returnResults);
385
- }
386
- catch (error) {
387
- reject(`${error}`);
388
- }
389
- });
390
- }
391
- createContactIsSupported() {
392
- return this.sendAsync({
393
- type: enums_1.ClientEventType.CREATE_CONTACT_IS_SUPPORTED,
394
- });
395
- }
396
- createContactHasNoPermission() {
397
- return this.sendAsync({
398
- type: enums_1.ClientEventType.CREATE_CONTACT_HAS_NO_PERMISSION,
399
- });
400
- }
401
- onThemeChange(callback) {
402
- return this.addEventListener(enums_1.EventType.USE_THEME, callback);
403
- }
404
- getFromStorage(key) {
405
- return this.localStorageManager.retrieve(key);
406
- }
407
- saveToStorage(key, value) {
408
- this.localStorageManager.save(key, value);
409
- }
410
- deleteFromStorage(key) {
411
- this.localStorageManager.delete(key);
412
- }
413
- onStorage(listener) {
414
- return this.localStorageManager.onStorage(listener);
415
- }
416
- onLogout(callback) {
417
- // send event to x-bees
418
- void this.sendAsync({
419
- type: enums_1.ClientEventType.LOGOUT_IS_SUPPORTED,
420
- });
421
- return this.addEventListener(enums_1.EventType.LOGOUT, callback);
422
- }
423
- sendAnalytics(eventName, params) {
424
- void this.sendAsync({
425
- type: enums_1.ClientEventType.SEND_ANALYTICS,
426
- payload: {
427
- eventName,
428
- params,
429
- },
430
- });
431
- }
432
- setIntegrationStorageKey(integrationKey) {
433
- this.localStorageManager.setIntegrationKey(integrationKey);
434
- }
435
- getTechnicalSupport() {
436
- return TechnicalSupport_1.default.getInstance();
437
- }
438
- onVisibilityChange(callback) {
439
- return this.addEventListener(enums_1.EventType.VISIBILITY, callback);
440
- }
441
- saveInXbeesStorage(key, value) {
442
- void this.sendAsync({
443
- type: enums_1.ClientEventType.SAVE_TO_STORAGE,
444
- payload: {
445
- key,
446
- value: typeof value === 'string' ? value : JSON.stringify(value),
447
- },
448
- });
449
- }
450
- getFromXbeesStorage(key) {
451
- return this.sendAsync({
452
- type: enums_1.ClientEventType.GET_FROM_STORAGE,
453
- payload: { key },
454
- });
455
- }
456
- removeFromXbeesStorage(key) {
457
- void this.sendAsync({
458
- type: enums_1.ClientEventType.REMOVE_FROM_STORAGE,
459
- payload: { key },
460
- });
461
- }
462
- /** should be removed, sendCustomEvent is enough **/
463
- sendDropdownVisibilityEvent(dropdownVisibilityStatus) {
464
- void this.sendAsync({
465
- type: enums_1.ClientEventType.DROPDOWN_VISIBILITY,
466
- payload: { dropdownVisibilityStatus },
467
- });
468
- }
469
- sendCustomEvent({ type, payload }) {
470
- void this.sendAsync({
471
- type: enums_1.ClientEventType.CUSTOM_EVENT,
472
- payload: { type, payload },
473
- });
474
- }
475
- onContactWeightUpdate(callback) {
476
- return this.addEventListener(enums_1.EventType.CONTACT_WEIGHT_UPDATE, callback);
477
- }
478
- onContactRefresh(callback) {
479
- return this.addEventListener(enums_1.EventType.CONTACT_REFRESH, callback);
480
- }
481
- onStorageUpdated(callback) {
482
- return this.addEventListener(enums_1.EventType.STORAGE_IS_UPDATED, callback);
483
- }
484
- }
485
- exports.Client = Client;
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StartPage = exports.UrlParams = exports.ClientEventType = exports.EventType = void 0;
4
- var EventType;
5
- (function (EventType) {
6
- EventType["GET_CONTACTS_AUTO_SUGGEST"] = "xBeesGetContactsAutoSuggest";
7
- EventType["GET_LOOK_UP_AND_MATCH"] = "xBeesGetLookUpAndMatch";
8
- EventType["GET_LOOK_UP_AND_MATCH_BATCH"] = "xBeesGetLookUpAndMatchBatch";
9
- EventType["ADD_CALL"] = "xBeesAddCall";
10
- EventType["TERMINATE_CALL"] = "xBeesTerminateCall";
11
- EventType["USE_THEME"] = "xBeesUseTheme";
12
- EventType["PBX_TOKEN"] = "xBeesPbxToken";
13
- EventType["REDIRECT_QUERY"] = "xBeesRedirectQuery";
14
- EventType["LOGOUT"] = "xBeesLogout";
15
- EventType["VISIBILITY"] = "xBeesVisibility";
16
- EventType["CONTACT_WEIGHT_UPDATE"] = "xBeesContactWeightUpdate";
17
- EventType["CONTACT_REFRESH"] = "xBeesContactRefresh";
18
- EventType["STORAGE_IS_UPDATED"] = "xBeesStorageIsUpdated";
19
- })(EventType || (exports.EventType = EventType = {}));
20
- var ClientEventType;
21
- (function (ClientEventType) {
22
- ClientEventType["READY"] = "xBeesReady";
23
- ClientEventType["CONTEXT"] = "xBeesContext";
24
- ClientEventType["CURRENT_CONTACT"] = "xBeesCurrentContact";
25
- ClientEventType["CURRENT_CONVERSATION"] = "xBeesCurrentConversation";
26
- ClientEventType["THEME_MODE"] = "xBeesThemeMode";
27
- ClientEventType["THEME"] = "xBeesTheme";
28
- ClientEventType["START_CALL"] = "xBeesStartCall";
29
- ClientEventType["VIEW_PORT"] = "xBeesViewPort";
30
- ClientEventType["REBOOT"] = "xBeesReboot";
31
- ClientEventType["TO_CLIPBOARD"] = "xBeesToClipboard";
32
- ClientEventType["TOAST"] = "xBeesShowToast";
33
- ClientEventType["NOT_AUTHORIZED"] = "xBeesNotAuthorized";
34
- ClientEventType["AUTHORIZED"] = "xBeesAuthorized";
35
- ClientEventType["TOKEN"] = "xBeesToken";
36
- ClientEventType["CONTACTS_AUTO_SUGGEST"] = "xBeesContactsAutoSuggest";
37
- ClientEventType["CONTACT_LOOKUP_AND_MATCH"] = "xBeesContactLookupAndMatch";
38
- ClientEventType["LOOK_UP_AND_MATCH_BATCH_CONTACTS"] = "xBeesLookupAndMatchBatchContacts";
39
- ClientEventType["LOOKUP_AND_MATCH_BATCH_ERROR"] = "xBeesLookupAndMatchBatchError";
40
- ClientEventType["CONTACT_LOOKUP_AND_MATCH_NOT_FOUND"] = "xBeesContactLookupAndMatchNotFound";
41
- ClientEventType["CONTACT_CREATE_OR_UPDATE"] = "xBeesContactCreateOrUpdate";
42
- ClientEventType["CONTACT_MATCH_UPDATE"] = "xBeesContactMatchUpdate";
43
- ClientEventType["CONTACTS_AUTO_SUGGEST_IS_SUPPORTED"] = "xBeesContactsAutoSuggestIsSupported";
44
- ClientEventType["CONTACT_LOOK_UP_AND_MATCH_IS_SUPPORTED"] = "xBeesContactLookupAndMatchIsSupported";
45
- ClientEventType["LOOK_UP_AND_MATCH_BATCH_CONTACTS_IS_SUPPORTED"] = "xBeesLookupAndMatchBatchContactsIsSupported";
46
- ClientEventType["LOGOUT_IS_SUPPORTED"] = "xBeesLogoutIsSupported";
47
- ClientEventType["SEND_ANALYTICS"] = "xBeesSendAnalytics";
48
- ClientEventType["SEND_TECHNICAL_SUPPORT_INFORMATION"] = "xBeesSendTechInfo";
49
- ClientEventType["USER"] = "xBeesUser";
50
- ClientEventType["SAVE_TO_STORAGE"] = "xBeesSaveToStorage";
51
- ClientEventType["GET_FROM_STORAGE"] = "xBeesRequestFromStorage";
52
- ClientEventType["REMOVE_FROM_STORAGE"] = "xBeesRemoveFromStorage";
53
- ClientEventType["AVAILABLE_CONTACT_DATA"] = "xBeesAvailableContactData";
54
- ClientEventType["DROPDOWN_VISIBILITY"] = "xBeesDropdownVisibility";
55
- ClientEventType["CUSTOM_EVENT"] = "xBeesCustomEvent";
56
- ClientEventType["CREATE_CONTACT_IS_SUPPORTED"] = "xBeesCreateContactIsSupported";
57
- ClientEventType["CREATE_CONTACT_HAS_NO_PERMISSION"] = "xBeesCreateContactHasNoPermission";
58
- })(ClientEventType || (exports.ClientEventType = ClientEventType = {}));
59
- var UrlParams;
60
- (function (UrlParams) {
61
- UrlParams["TOKEN"] = "t";
62
- UrlParams["ID"] = "i";
63
- UrlParams["VARIANT"] = "v";
64
- UrlParams["USER"] = "u";
65
- UrlParams["EXTENSION"] = "e";
66
- UrlParams["REFERRER"] = "r";
67
- UrlParams["AUTHORIZE"] = "a";
68
- UrlParams["START_PAGE"] = "sp";
69
- })(UrlParams || (exports.UrlParams = UrlParams = {}));
70
- var StartPage;
71
- (function (StartPage) {
72
- StartPage["CREATE_CONTACT"] = "createContact";
73
- })(StartPage || (exports.StartPage = StartPage = {}));