@wildix/xbees-connect 1.2.1 → 1.2.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 +2 -1
- package/dist-es/src/Client.js +8 -0
- package/dist-es/src/enums/index.js +2 -0
- package/dist-es/src/helpers/ClientParams.js +2 -0
- package/dist-types/src/Client.d.ts +3 -0
- package/dist-types/src/enums/index.d.ts +3 -1
- package/dist-types/src/helpers/ClientParams.d.ts +1 -0
- package/dist-types/types/Client.d.ts +3 -0
- package/dist-types/types/Event.d.ts +2 -0
- package/package.json +3 -2
package/dist-es/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wildix/xbees-connect",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.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": "",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
+
"@wildix/eslint-config-style-guide": "^1.2.2",
|
|
33
34
|
"eslint": "^8.55.0",
|
|
34
35
|
"rimraf": "^5.0.5",
|
|
35
36
|
"typescript": "^5.3.3"
|
package/dist-es/src/Client.js
CHANGED
|
@@ -42,11 +42,13 @@ export class Client {
|
|
|
42
42
|
iframeId;
|
|
43
43
|
variant = null;
|
|
44
44
|
localStorageManager = LocalStorageManager.getInstance();
|
|
45
|
+
userExtension;
|
|
45
46
|
constructor() {
|
|
46
47
|
const params = getUrlSearchParamsMap();
|
|
47
48
|
this.iframeId = (params.get(UrlParams.ID) ?? params.get(DeprecatedUrlParams.ID));
|
|
48
49
|
this.variant = (params.get(UrlParams.VARIANT) ?? params.get(DeprecatedUrlParams.VARIANT));
|
|
49
50
|
this.userEmail = (params.get(UrlParams.USER) ?? params.get(DeprecatedUrlParams.USER));
|
|
51
|
+
this.userExtension = params.get(UrlParams.EXTENSION);
|
|
50
52
|
this.userToken = (params.get(UrlParams.TOKEN) ?? params.get(DeprecatedUrlParams.TOKEN));
|
|
51
53
|
this.referrer = (params.get(UrlParams.REFERRER) ?? params.get(DeprecatedUrlParams.REFERRER));
|
|
52
54
|
this.needAuthorize = params.has(UrlParams.AUTHORIZE) ?? params.has(DeprecatedUrlParams.AUTHORIZE);
|
|
@@ -126,6 +128,9 @@ export class Client {
|
|
|
126
128
|
getUserEmail() {
|
|
127
129
|
return this.userEmail;
|
|
128
130
|
}
|
|
131
|
+
getUserExtension() {
|
|
132
|
+
return this.userExtension;
|
|
133
|
+
}
|
|
129
134
|
getReferrer() {
|
|
130
135
|
return this.referrer;
|
|
131
136
|
}
|
|
@@ -320,4 +325,7 @@ export class Client {
|
|
|
320
325
|
getTechnicalSupport() {
|
|
321
326
|
return TechnicalSupport.getInstance();
|
|
322
327
|
}
|
|
328
|
+
onIframeActivityChange(callback) {
|
|
329
|
+
return this.addEventListener(EventType.IFRAME_ACTIVITY, callback);
|
|
330
|
+
}
|
|
323
331
|
}
|
|
@@ -8,6 +8,7 @@ export var EventType;
|
|
|
8
8
|
EventType["PBX_TOKEN"] = "xBeesPbxToken";
|
|
9
9
|
EventType["REDIRECT_QUERY"] = "xBeesRedirectQuery";
|
|
10
10
|
EventType["LOGOUT"] = "xBeesLogout";
|
|
11
|
+
EventType["IFRAME_ACTIVITY"] = "xBeesIframeActivity";
|
|
11
12
|
})(EventType || (EventType = {}));
|
|
12
13
|
export var ClientEventType;
|
|
13
14
|
(function (ClientEventType) {
|
|
@@ -51,6 +52,7 @@ export var UrlParams;
|
|
|
51
52
|
UrlParams["ID"] = "i";
|
|
52
53
|
UrlParams["VARIANT"] = "v";
|
|
53
54
|
UrlParams["USER"] = "u";
|
|
55
|
+
UrlParams["EXTENSION"] = "e";
|
|
54
56
|
UrlParams["REFERRER"] = "r";
|
|
55
57
|
UrlParams["AUTHORIZE"] = "a";
|
|
56
58
|
})(UrlParams || (UrlParams = {}));
|
|
@@ -14,11 +14,13 @@ export default class ClientParams {
|
|
|
14
14
|
needAuthorize;
|
|
15
15
|
iframeId;
|
|
16
16
|
variant = null;
|
|
17
|
+
userExtension = null;
|
|
17
18
|
constructor() {
|
|
18
19
|
const params = getUrlSearchParamsMap();
|
|
19
20
|
this.iframeId = (params.get(UrlParams.ID) ?? params.get(DeprecatedUrlParams.ID));
|
|
20
21
|
this.variant = (params.get(UrlParams.VARIANT) ?? params.get(DeprecatedUrlParams.VARIANT));
|
|
21
22
|
this.userEmail = (params.get(UrlParams.USER) ?? params.get(DeprecatedUrlParams.USER));
|
|
23
|
+
this.userExtension = params.get(UrlParams.EXTENSION);
|
|
22
24
|
this.userToken = (params.get(UrlParams.TOKEN) ?? params.get(DeprecatedUrlParams.TOKEN));
|
|
23
25
|
this.referrer = (params.get(UrlParams.REFERRER) ?? params.get(DeprecatedUrlParams.REFERRER));
|
|
24
26
|
this.needAuthorize = params.has(UrlParams.AUTHORIZE) ?? params.has(DeprecatedUrlParams.AUTHORIZE);
|
|
@@ -20,6 +20,7 @@ export declare class Client implements ConnectClient {
|
|
|
20
20
|
private readonly iframeId;
|
|
21
21
|
private readonly variant;
|
|
22
22
|
private readonly localStorageManager;
|
|
23
|
+
private readonly userExtension;
|
|
23
24
|
constructor();
|
|
24
25
|
private sendAsync;
|
|
25
26
|
private sendAsyncErrorSafe;
|
|
@@ -32,6 +33,7 @@ export declare class Client implements ConnectClient {
|
|
|
32
33
|
isOpenedFromXBees(): boolean;
|
|
33
34
|
getUserPbxToken(): string;
|
|
34
35
|
getUserEmail(): string;
|
|
36
|
+
getUserExtension(): string | null;
|
|
35
37
|
getReferrer(): string;
|
|
36
38
|
getBackToAppUrl(): string;
|
|
37
39
|
isDataOnly(): boolean;
|
|
@@ -71,4 +73,5 @@ export declare class Client implements ConnectClient {
|
|
|
71
73
|
sendAnalytics(eventName: string, params?: Record<string, string>): void;
|
|
72
74
|
setIntegrationStorageKey(integrationKey: string): void;
|
|
73
75
|
getTechnicalSupport(): TechnicalSupport;
|
|
76
|
+
onIframeActivityChange(callback: Callback<EventType.IFRAME_ACTIVITY>): RemoveEventListener;
|
|
74
77
|
}
|
|
@@ -6,7 +6,8 @@ export declare enum EventType {
|
|
|
6
6
|
USE_THEME = "xBeesUseTheme",
|
|
7
7
|
PBX_TOKEN = "xBeesPbxToken",
|
|
8
8
|
REDIRECT_QUERY = "xBeesRedirectQuery",
|
|
9
|
-
LOGOUT = "xBeesLogout"
|
|
9
|
+
LOGOUT = "xBeesLogout",
|
|
10
|
+
IFRAME_ACTIVITY = "xBeesIframeActivity"
|
|
10
11
|
}
|
|
11
12
|
export declare enum ClientEventType {
|
|
12
13
|
READY = "xBeesReady",
|
|
@@ -47,6 +48,7 @@ export declare enum UrlParams {
|
|
|
47
48
|
ID = "i",
|
|
48
49
|
VARIANT = "v",
|
|
49
50
|
USER = "u",
|
|
51
|
+
EXTENSION = "e",
|
|
50
52
|
REFERRER = "r",
|
|
51
53
|
AUTHORIZE = "a"
|
|
52
54
|
}
|
|
@@ -151,4 +151,7 @@ export interface ConnectClient {
|
|
|
151
151
|
/**
|
|
152
152
|
* special object to provide x-bees technical support */
|
|
153
153
|
getTechnicalSupport: () => TechnicalSupport;
|
|
154
|
+
/**
|
|
155
|
+
* Starts listen for the events of changing iframe activity and handle with the provided callback */
|
|
156
|
+
onIframeActivityChange: (callback: Callback<EventType.IFRAME_ACTIVITY>) => RemoveEventListener;
|
|
154
157
|
}
|
|
@@ -9,6 +9,7 @@ export type EventPayloadMap = {
|
|
|
9
9
|
[EventType.ADD_CALL]: IPayloadCallStartedInfo;
|
|
10
10
|
[EventType.USE_THEME]: IPayloadThemeChange;
|
|
11
11
|
[EventType.PBX_TOKEN]: string;
|
|
12
|
+
[EventType.IFRAME_ACTIVITY]: boolean;
|
|
12
13
|
[EventType.REDIRECT_QUERY]: string;
|
|
13
14
|
};
|
|
14
15
|
export type EventCallbackMap = {
|
|
@@ -17,6 +18,7 @@ export type EventCallbackMap = {
|
|
|
17
18
|
[EventType.ADD_CALL]: (callStartInfo: EventPayloadMap[EventType.ADD_CALL]) => void;
|
|
18
19
|
[EventType.USE_THEME]: (theme: EventPayloadMap[EventType.USE_THEME]) => void;
|
|
19
20
|
[EventType.PBX_TOKEN]: (token: EventPayloadMap[EventType.PBX_TOKEN]) => void;
|
|
21
|
+
[EventType.IFRAME_ACTIVITY]: (isActive: EventPayloadMap[EventType.IFRAME_ACTIVITY]) => void;
|
|
20
22
|
[EventType.REDIRECT_QUERY]: (query: EventPayloadMap[EventType.REDIRECT_QUERY]) => void;
|
|
21
23
|
};
|
|
22
24
|
export type RawMessageEvent = MessageEvent<string | Message>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wildix/xbees-connect",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.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": "",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
+
"@wildix/eslint-config-style-guide": "^1.2.2",
|
|
33
34
|
"eslint": "^8.55.0",
|
|
34
35
|
"rimraf": "^5.0.5",
|
|
35
36
|
"typescript": "^5.3.3"
|
|
@@ -42,5 +43,5 @@
|
|
|
42
43
|
"engines": {
|
|
43
44
|
"node": ">=16"
|
|
44
45
|
},
|
|
45
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "22fb9ba8de5736e78a8e533cd6bd68a5089c7a4f"
|
|
46
47
|
}
|