@webex/cc-store 1.28.0-ccwidgets.17 → 1.28.0-ccwidgets.19

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,3 +1,3 @@
1
- import store from './store';
1
+ import store from './storeEventsWrapper';
2
2
  export * from './store.types';
3
3
  export default store;
@@ -8,23 +8,20 @@ declare class Store implements IStore {
8
8
  logger: ILogger;
9
9
  idleCodes: IdleCode[];
10
10
  agentId: string;
11
- selectedLoginOption: string;
12
11
  currentTheme: string;
13
12
  wrapupCodes: IWrapupCode[];
13
+ incomingTask: ITask;
14
14
  currentTask: ITask;
15
15
  isAgentLoggedIn: boolean;
16
16
  deviceType: string;
17
+ taskList: ITask[];
18
+ wrapupRequired: boolean;
17
19
  currentState: string;
18
20
  lastStateChangeTimestamp: Date;
21
+ showMultipleLoginAlert: boolean;
19
22
  constructor();
20
- setCurrentTask(task: ITask): void;
21
- setCurrentState(state: string): void;
22
- setLastStateChangeTimestamp(timestamp: Date): void;
23
23
  static getInstance(): Store;
24
- setSelectedLoginOption(option: string): void;
25
- setCurrentTheme(theme: string): void;
26
24
  registerCC(webex?: WithWebex['webex']): Promise<void>;
27
- init(options: InitParams): Promise<void>;
25
+ init(options: InitParams, setupEventListeners: any): Promise<void>;
28
26
  }
29
- declare const store: Store;
30
- export default store;
27
+ export default Store;
@@ -1,4 +1,5 @@
1
1
  import { AgentLogin, IContactCenter, Profile, Team, LogContext } from '@webex/plugin-cc';
2
+ import { ITask } from '@webex/plugin-cc';
2
3
  type ILogger = {
3
4
  log: (message: string, context?: LogContext) => void;
4
5
  info: (message: string, context?: LogContext) => void;
@@ -30,11 +31,57 @@ interface IStore {
30
31
  idleCodes: IdleCode[];
31
32
  agentId: string;
32
33
  logger: ILogger;
33
- registerCC(webex: WithWebex['webex']): Promise<Profile>;
34
- init(params: InitParams): Promise<void>;
34
+ wrapupCodes: IWrapupCode[];
35
+ currentTask: ITask;
36
+ incomingTask: ITask;
37
+ taskList: ITask[];
38
+ isAgentLoggedIn: boolean;
39
+ deviceType: string;
40
+ wrapupRequired: boolean;
41
+ currentState: string;
42
+ lastStateChangeTimestamp: Date;
43
+ showMultipleLoginAlert: boolean;
44
+ currentTheme: string;
45
+ init(params: InitParams, callback: any): Promise<void>;
46
+ registerCC(webex?: WithWebex['webex']): Promise<void>;
47
+ }
48
+ interface IStoreWrapper extends IStore {
49
+ store: IStore;
50
+ setCurrentTask(task: any): void;
51
+ setWrapupRequired(value: boolean): void;
52
+ setTaskList(taskList: ITask[]): void;
53
+ setIncomingTask(task: ITask): void;
54
+ setDeviceType(option: string): void;
55
+ setCurrentState(state: string): void;
56
+ setLastStateChangeTimestamp(timestamp: Date): void;
57
+ setShowMultipleLoginAlert(value: boolean): void;
58
+ setCurrentTheme(theme: string): void;
59
+ setIsAgentLoggedIn(value: boolean): void;
60
+ setWrapupCodes(wrapupCodes: IWrapupCode[]): void;
35
61
  }
36
62
  interface IWrapupCode {
37
63
  id: string;
38
64
  name: string;
39
65
  }
40
- export type { IContactCenter, Profile, Team, AgentLogin, WithWebex, IdleCode, InitParams, IStore, ILogger, IWrapupCode };
66
+ declare enum TASK_EVENTS {
67
+ TASK_INCOMING = "task:incoming",
68
+ TASK_ASSIGNED = "task:assigned",
69
+ TASK_MEDIA = "task:media",
70
+ TASK_HOLD = "task:hold",
71
+ TASK_UNHOLD = "task:unhold",
72
+ TASK_CONSULT = "task:consult",
73
+ TASK_CONSULT_END = "task:consultEnd",
74
+ TASK_CONSULT_ACCEPT = "task:consultAccepted",
75
+ TASK_PAUSE = "task:pause",
76
+ TASK_RESUME = "task:resume",
77
+ TASK_END = "task:end",
78
+ TASK_WRAPUP = "task:wrapup",
79
+ TASK_REJECT = "task:rejected",
80
+ TASK_HYDRATE = "task:hydrate"
81
+ }
82
+ declare enum CC_EVENTS {
83
+ AGENT_MULTI_LOGIN = "agent:multiLogin",
84
+ AGENT_STATE_CHANGE = "agent:stateChange"
85
+ }
86
+ export type { IContactCenter, ITask, Profile, Team, AgentLogin, WithWebex, IdleCode, InitParams, IStore, ILogger, IWrapupCode, IStoreWrapper, };
87
+ export { CC_EVENTS, TASK_EVENTS };
@@ -0,0 +1,45 @@
1
+ import { IStoreWrapper, IStore, InitParams, IWrapupCode, WithWebex, IContactCenter, ITask } from './store.types';
2
+ declare class StoreWrapper implements IStoreWrapper {
3
+ store: IStore;
4
+ constructor();
5
+ get teams(): Team[];
6
+ get loginOptions(): string[];
7
+ get cc(): IContactCenter;
8
+ get logger(): import("./store.types").ILogger;
9
+ get idleCodes(): import("./store.types").IdleCode[];
10
+ get agentId(): string;
11
+ get deviceType(): string;
12
+ get wrapupCodes(): IWrapupCode[];
13
+ get currentTask(): ITask;
14
+ get isAgentLoggedIn(): boolean;
15
+ get taskList(): ITask[];
16
+ get incomingTask(): ITask;
17
+ get wrapupRequired(): boolean;
18
+ get currentState(): string;
19
+ get lastStateChangeTimestamp(): Date;
20
+ get showMultipleLoginAlert(): boolean;
21
+ get currentTheme(): string;
22
+ setCurrentTheme: (theme: string) => void;
23
+ setShowMultipleLoginAlert: (value: boolean) => void;
24
+ setDeviceType: (option: string) => void;
25
+ setCurrentState: (state: string) => void;
26
+ setLastStateChangeTimestamp: (timestamp: Date) => void;
27
+ setIsAgentLoggedIn: (value: boolean) => void;
28
+ setWrapupRequired: (value: boolean) => void;
29
+ setCurrentTask: (task: ITask) => void;
30
+ setIncomingTask: (task: ITask) => void;
31
+ setTaskList: (taskList: ITask[]) => void;
32
+ setWrapupCodes: (wrapupCodes: IWrapupCode[]) => void;
33
+ init(options: InitParams): Promise<void>;
34
+ registerCC: (webex?: WithWebex["webex"]) => Promise<void>;
35
+ handleTaskRemove: (taskId: string) => void;
36
+ handleTaskEnd: (task: ITask, wrapupRequired: boolean) => void;
37
+ handleTaskAssigned: (task: ITask) => () => void;
38
+ handleIncomingTask: (task: ITask) => void;
39
+ handleStateChange: (data: any) => void;
40
+ handleMultiLoginCloseSession: (data: any) => void;
41
+ handleTaskHydrate: (task: ITask) => void;
42
+ setupIncomingTaskHandler: (ccSDK: IContactCenter) => () => void;
43
+ }
44
+ declare const storeWrapper: StoreWrapper;
45
+ export default storeWrapper;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webex/cc-store",
3
3
  "description": "Webex Contact Center Widgets: Widgets Store",
4
- "version": "1.28.0-ccwidgets.17",
4
+ "version": "1.28.0-ccwidgets.19",
5
5
  "main": "dist/index.js",
6
6
  "license": "MIT",
7
7
  "publishConfig": {
@@ -17,12 +17,12 @@
17
17
  "build": "yarn run -T tsc",
18
18
  "build:src": "yarn run clean:dist && webpack",
19
19
  "build:watch": "webpack --watch",
20
- "test:unit": "jest"
20
+ "test:unit": "jest --coverage"
21
21
  },
22
22
  "dependencies": {
23
23
  "mobx": "6.13.5",
24
24
  "typescript": "5.6.3",
25
- "webex": "3.7.0-wxcc.12"
25
+ "webex": "3.7.0-wxcc.15"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@babel/core": "7.25.2",
@@ -51,5 +51,5 @@
51
51
  "**/tests/**/*.tsx"
52
52
  ]
53
53
  },
54
- "stableVersion": "1.28.0-ccwidgets.16"
54
+ "stableVersion": "1.28.0-ccwidgets.18"
55
55
  }