@wildix/xbees-connect 1.2.0 → 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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildix/xbees-connect",
3
- "version": "1.2.0",
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,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
  }
@@ -8,6 +8,7 @@ export default class ClientParams {
8
8
  readonly needAuthorize: boolean;
9
9
  readonly iframeId: string;
10
10
  readonly variant: WorkVariants | null;
11
+ readonly userExtension: string | null;
11
12
  constructor();
12
13
  toString(): string;
13
14
  }
@@ -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.0",
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": "3dd10bbec36fc488f81815097960cb1c71527c45"
46
+ "gitHead": "22fb9ba8de5736e78a8e533cd6bd68a5089c7a4f"
46
47
  }