@webex/cc-store 1.28.0-ccwidgets.6 → 1.28.0-ccwidgets.60
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/index.js +15366 -22
- package/dist/types/index.d.ts +1 -1
- package/dist/types/store.d.ts +35 -7
- package/dist/types/store.types.d.ts +130 -4
- package/dist/types/storeEventsWrapper.d.ts +96 -0
- package/dist/types/util.d.ts +2 -0
- package/package.json +21 -9
- package/dist/index.js.map +0 -1
- package/dist/store.js +0 -66
- package/dist/store.js.map +0 -1
- package/dist/store.types.js +0 -3
- package/dist/store.types.js.map +0 -1
package/dist/types/index.d.ts
CHANGED
package/dist/types/store.d.ts
CHANGED
|
@@ -1,15 +1,43 @@
|
|
|
1
|
-
import { IContactCenter, Team, WithWebex, IdleCode, InitParams, IStore } from './store.types';
|
|
1
|
+
import { IContactCenter, Team, WithWebex, IdleCode, InitParams, IStore, ILogger, IWrapupCode, ICustomState, TaskMetaData, AgentLoginProfile } from './store.types';
|
|
2
|
+
import { ITask } from '@webex/plugin-cc';
|
|
2
3
|
declare class Store implements IStore {
|
|
4
|
+
private static instance;
|
|
3
5
|
teams: Team[];
|
|
4
6
|
loginOptions: string[];
|
|
5
7
|
cc: IContactCenter;
|
|
8
|
+
logger: ILogger;
|
|
6
9
|
idleCodes: IdleCode[];
|
|
7
10
|
agentId: string;
|
|
8
|
-
|
|
11
|
+
currentTheme: string;
|
|
12
|
+
wrapupCodes: IWrapupCode[];
|
|
13
|
+
currentTask: ITask;
|
|
14
|
+
isAgentLoggedIn: boolean;
|
|
15
|
+
deviceType: string;
|
|
16
|
+
taskList: Record<string, ITask>;
|
|
17
|
+
dialNumber: string;
|
|
18
|
+
currentState: string;
|
|
19
|
+
customState: ICustomState;
|
|
20
|
+
consultCompleted: boolean;
|
|
21
|
+
consultInitiated: boolean;
|
|
22
|
+
consultAccepted: boolean;
|
|
23
|
+
isQueueConsultInProgress: boolean;
|
|
24
|
+
currentConsultQueueId: string;
|
|
25
|
+
consultStartTimeStamp: any;
|
|
26
|
+
lastStateChangeTimestamp?: number;
|
|
27
|
+
lastIdleCodeChangeTimestamp?: number;
|
|
28
|
+
showMultipleLoginAlert: boolean;
|
|
29
|
+
callControlAudio: MediaStream | null;
|
|
30
|
+
consultOfferReceived: boolean;
|
|
31
|
+
featureFlags: {
|
|
32
|
+
[key: string]: boolean;
|
|
33
|
+
};
|
|
34
|
+
isEndConsultEnabled: boolean;
|
|
35
|
+
allowConsultToQueue: boolean;
|
|
36
|
+
agentProfile: AgentLoginProfile;
|
|
37
|
+
taskMetaData: Record<string, TaskMetaData>;
|
|
9
38
|
constructor();
|
|
10
|
-
|
|
11
|
-
registerCC(webex
|
|
12
|
-
init(options: InitParams): Promise<void>;
|
|
39
|
+
static getInstance(): Store;
|
|
40
|
+
registerCC(webex?: WithWebex['webex']): Promise<void>;
|
|
41
|
+
init(options: InitParams, setupEventListeners: any): Promise<void>;
|
|
13
42
|
}
|
|
14
|
-
|
|
15
|
-
export default store;
|
|
43
|
+
export default Store;
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import { AgentLogin, IContactCenter, Profile, Team } from '@webex/plugin-cc';
|
|
1
|
+
import { AgentLogin, IContactCenter, Profile, Team, LogContext, BuddyDetails, DestinationType, ContactServiceQueue, ITask } from '@webex/plugin-cc';
|
|
2
|
+
type ILogger = {
|
|
3
|
+
log: (message: string, context?: LogContext) => void;
|
|
4
|
+
info: (message: string, context?: LogContext) => void;
|
|
5
|
+
warn: (message: string, context?: LogContext) => void;
|
|
6
|
+
trace: (message: string, context?: LogContext) => void;
|
|
7
|
+
error: (message: string, context?: LogContext) => void;
|
|
8
|
+
};
|
|
2
9
|
interface WithWebex {
|
|
3
10
|
webex: {
|
|
4
11
|
cc: IContactCenter;
|
|
12
|
+
logger: ILogger;
|
|
5
13
|
};
|
|
6
14
|
}
|
|
7
15
|
interface WithWebexConfig {
|
|
@@ -15,13 +23,131 @@ type IdleCode = {
|
|
|
15
23
|
isSystem: boolean;
|
|
16
24
|
isDefault: boolean;
|
|
17
25
|
};
|
|
26
|
+
type TaskMetaData = {
|
|
27
|
+
consultCompleted: boolean;
|
|
28
|
+
consultInitiated: boolean;
|
|
29
|
+
consultAccepted: boolean;
|
|
30
|
+
isQueueConsultInProgress: boolean;
|
|
31
|
+
currentConsultQueueId: string;
|
|
32
|
+
consultStartTimeStamp: number;
|
|
33
|
+
consultOfferReceived: boolean;
|
|
34
|
+
};
|
|
18
35
|
interface IStore {
|
|
36
|
+
featureFlags: {
|
|
37
|
+
[key: string]: boolean;
|
|
38
|
+
};
|
|
19
39
|
teams: Team[];
|
|
20
40
|
loginOptions: string[];
|
|
21
41
|
cc: IContactCenter;
|
|
22
42
|
idleCodes: IdleCode[];
|
|
23
43
|
agentId: string;
|
|
24
|
-
|
|
25
|
-
|
|
44
|
+
logger: ILogger;
|
|
45
|
+
wrapupCodes: IWrapupCode[];
|
|
46
|
+
currentTask: ITask;
|
|
47
|
+
taskList: Record<string, ITask>;
|
|
48
|
+
taskMetaData: Record<string, TaskMetaData>;
|
|
49
|
+
isAgentLoggedIn: boolean;
|
|
50
|
+
deviceType: string;
|
|
51
|
+
dialNumber: string;
|
|
52
|
+
currentState: string;
|
|
53
|
+
lastStateChangeTimestamp?: number;
|
|
54
|
+
lastIdleCodeChangeTimestamp?: number;
|
|
55
|
+
showMultipleLoginAlert: boolean;
|
|
56
|
+
currentTheme: string;
|
|
57
|
+
customState: ICustomState;
|
|
58
|
+
consultCompleted: boolean;
|
|
59
|
+
consultInitiated: boolean;
|
|
60
|
+
consultAccepted: boolean;
|
|
61
|
+
isQueueConsultInProgress: boolean;
|
|
62
|
+
currentConsultQueueId: string;
|
|
63
|
+
consultStartTimeStamp?: number;
|
|
64
|
+
callControlAudio: MediaStream | null;
|
|
65
|
+
consultOfferReceived: boolean;
|
|
66
|
+
isEndConsultEnabled: boolean;
|
|
67
|
+
allowConsultToQueue: boolean;
|
|
68
|
+
agentProfile: AgentLoginProfile;
|
|
69
|
+
init(params: InitParams, callback: (ccSDK: IContactCenter) => void): Promise<void>;
|
|
70
|
+
registerCC(webex?: WithWebex['webex']): Promise<void>;
|
|
71
|
+
}
|
|
72
|
+
interface IStoreWrapper extends IStore {
|
|
73
|
+
store: IStore;
|
|
74
|
+
setCurrentTask(task: ITask): void;
|
|
75
|
+
refreshTaskList(): void;
|
|
76
|
+
setDeviceType(option: string): void;
|
|
77
|
+
setDialNumber(input: string): void;
|
|
78
|
+
setCurrentState(state: string): void;
|
|
79
|
+
setLastStateChangeTimestamp(timestamp: number): void;
|
|
80
|
+
setLastIdleCodeChangeTimestamp(timestamp: number): void;
|
|
81
|
+
setShowMultipleLoginAlert(value: boolean): void;
|
|
82
|
+
setCurrentTheme(theme: string): void;
|
|
83
|
+
setIsAgentLoggedIn(value: boolean): void;
|
|
84
|
+
setWrapupCodes(wrapupCodes: IWrapupCode[]): void;
|
|
85
|
+
setState(state: IdleCode | ICustomState): void;
|
|
86
|
+
setConsultCompleted(value: boolean): void;
|
|
87
|
+
setConsultInitiated(value: boolean): void;
|
|
88
|
+
setConsultAccepted(value: boolean): void;
|
|
89
|
+
setConsultStartTimeStamp(timestamp: number): void;
|
|
90
|
+
setAgentProfile(profile: Profile): void;
|
|
91
|
+
}
|
|
92
|
+
interface IWrapupCode {
|
|
93
|
+
id: string;
|
|
94
|
+
name: string;
|
|
26
95
|
}
|
|
27
|
-
|
|
96
|
+
declare enum TASK_EVENTS {
|
|
97
|
+
TASK_INCOMING = "task:incoming",
|
|
98
|
+
TASK_ASSIGNED = "task:assigned",
|
|
99
|
+
TASK_MEDIA = "task:media",
|
|
100
|
+
TASK_HOLD = "task:hold",
|
|
101
|
+
TASK_UNHOLD = "task:unhold",
|
|
102
|
+
TASK_CONSULT = "task:consult",
|
|
103
|
+
TASK_CONSULT_END = "task:consultEnd",
|
|
104
|
+
TASK_CONSULT_ACCEPTED = "task:consultAccepted",
|
|
105
|
+
TASK_PAUSE = "task:pause",
|
|
106
|
+
TASK_RESUME = "task:resume",
|
|
107
|
+
TASK_END = "task:end",
|
|
108
|
+
TASK_WRAPUP = "task:wrapup",
|
|
109
|
+
TASK_REJECT = "task:rejected",
|
|
110
|
+
TASK_HYDRATE = "task:hydrate",
|
|
111
|
+
TASK_CONSULTING = "task:consulting",
|
|
112
|
+
TASK_CONSULT_QUEUE_CANCELLED = "task:consultQueueCancelled",
|
|
113
|
+
AGENT_CONTACT_ASSIGNED = "AgentContactAssigned",
|
|
114
|
+
CONTACT_RECORDING_PAUSED = "ContactRecordingPaused",
|
|
115
|
+
CONTACT_RECORDING_RESUMED = "ContactRecordingResumed",
|
|
116
|
+
AGENT_WRAPPEDUP = "AgentWrappedUp",
|
|
117
|
+
AGENT_OFFER_CONTACT = "AgentOfferContact",
|
|
118
|
+
AGENT_CONSULT_CREATED = "AgentConsultCreated"
|
|
119
|
+
}
|
|
120
|
+
declare enum CC_EVENTS {
|
|
121
|
+
AGENT_DN_REGISTERED = "agent:dnRegistered",
|
|
122
|
+
AGENT_LOGOUT_SUCCESS = "agent:logoutSuccess",
|
|
123
|
+
AGENT_STATION_LOGIN_SUCCESS = "agent:stationLoginSuccess",
|
|
124
|
+
AGENT_MULTI_LOGIN = "agent:multiLogin",
|
|
125
|
+
AGENT_STATE_CHANGE = "agent:stateChange",
|
|
126
|
+
AGENT_RELOGIN_SUCCESS = "agent:reloginSuccess",
|
|
127
|
+
AGENT_OFFER_CONSULT = "AgentOfferConsult"
|
|
128
|
+
}
|
|
129
|
+
interface ICustomStateSet {
|
|
130
|
+
name: string;
|
|
131
|
+
developerName: string;
|
|
132
|
+
}
|
|
133
|
+
interface ICustomStateReset {
|
|
134
|
+
reset: boolean;
|
|
135
|
+
}
|
|
136
|
+
type ICustomState = ICustomStateSet | ICustomStateReset;
|
|
137
|
+
declare const ENGAGED_LABEL = "ENGAGED";
|
|
138
|
+
declare const ENGAGED_USERNAME = "Engaged";
|
|
139
|
+
type AgentLoginProfile = {
|
|
140
|
+
agentName?: string;
|
|
141
|
+
orgId?: string;
|
|
142
|
+
profileType?: string;
|
|
143
|
+
deviceType?: string;
|
|
144
|
+
roles?: Array<string>;
|
|
145
|
+
mmProfile?: {
|
|
146
|
+
chat: number;
|
|
147
|
+
email: number;
|
|
148
|
+
social: number;
|
|
149
|
+
telephony: number;
|
|
150
|
+
};
|
|
151
|
+
};
|
|
152
|
+
export type { IContactCenter, ITask, Profile, Team, AgentLogin, WithWebex, IdleCode, InitParams, IStore, ILogger, IWrapupCode, IStoreWrapper, ICustomState, DestinationType, BuddyDetails, ContactServiceQueue, TaskMetaData, AgentLoginProfile, };
|
|
153
|
+
export { CC_EVENTS, TASK_EVENTS, ENGAGED_LABEL, ENGAGED_USERNAME };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { IStoreWrapper, IStore, InitParams, TASK_EVENTS, CC_EVENTS, IWrapupCode, WithWebex, ICustomState, IdleCode, IContactCenter, ITask, BuddyDetails, ContactServiceQueue, TaskMetaData, AgentLoginProfile } from './store.types';
|
|
2
|
+
declare class StoreWrapper implements IStoreWrapper {
|
|
3
|
+
store: IStore;
|
|
4
|
+
onIncomingTask: ({ task }: {
|
|
5
|
+
task: ITask;
|
|
6
|
+
}) => void;
|
|
7
|
+
onTaskRejected?: (task: ITask, reason: string) => void;
|
|
8
|
+
onTaskAssigned?: (task: ITask) => void;
|
|
9
|
+
constructor();
|
|
10
|
+
get featureFlags(): {
|
|
11
|
+
[key: string]: boolean;
|
|
12
|
+
};
|
|
13
|
+
get teams(): Team[];
|
|
14
|
+
get loginOptions(): string[];
|
|
15
|
+
get cc(): IContactCenter;
|
|
16
|
+
get logger(): import("./store.types").ILogger;
|
|
17
|
+
get idleCodes(): IdleCode[];
|
|
18
|
+
get agentId(): string;
|
|
19
|
+
get deviceType(): string;
|
|
20
|
+
get dialNumber(): string;
|
|
21
|
+
get wrapupCodes(): IWrapupCode[];
|
|
22
|
+
get currentTask(): ITask;
|
|
23
|
+
get isAgentLoggedIn(): boolean;
|
|
24
|
+
get taskList(): Record<string, ITask>;
|
|
25
|
+
get currentState(): string;
|
|
26
|
+
get lastStateChangeTimestamp(): number;
|
|
27
|
+
get lastIdleCodeChangeTimestamp(): number;
|
|
28
|
+
get showMultipleLoginAlert(): boolean;
|
|
29
|
+
get currentTheme(): string;
|
|
30
|
+
get customState(): ICustomState;
|
|
31
|
+
get consultCompleted(): boolean;
|
|
32
|
+
get consultInitiated(): boolean;
|
|
33
|
+
get consultAccepted(): boolean;
|
|
34
|
+
get consultStartTimeStamp(): number;
|
|
35
|
+
get callControlAudio(): MediaStream;
|
|
36
|
+
get consultOfferReceived(): boolean;
|
|
37
|
+
get isQueueConsultInProgress(): boolean;
|
|
38
|
+
get currentConsultQueueId(): string;
|
|
39
|
+
get isEndConsultEnabled(): boolean;
|
|
40
|
+
get allowConsultToQueue(): boolean;
|
|
41
|
+
get taskMetaData(): Record<string, TaskMetaData>;
|
|
42
|
+
get agentProfile(): AgentLoginProfile;
|
|
43
|
+
setTaskMetaData: (taskId: string, data: TaskMetaData) => void;
|
|
44
|
+
setCurrentTheme: (theme: string) => void;
|
|
45
|
+
setShowMultipleLoginAlert: (value: boolean) => void;
|
|
46
|
+
setDeviceType: (option: string) => void;
|
|
47
|
+
setDialNumber: (input: string) => void;
|
|
48
|
+
setCurrentState: (state: string) => void;
|
|
49
|
+
setLastStateChangeTimestamp: (timestamp: number) => void;
|
|
50
|
+
setLastIdleCodeChangeTimestamp: (timestamp: number) => void;
|
|
51
|
+
setIsAgentLoggedIn: (value: boolean) => void;
|
|
52
|
+
setCurrentTask: (task: ITask) => void;
|
|
53
|
+
refreshTaskList: () => void;
|
|
54
|
+
setWrapupCodes: (wrapupCodes: IWrapupCode[]) => void;
|
|
55
|
+
setConsultCompleted: (value: boolean) => void;
|
|
56
|
+
setConsultInitiated: (value: boolean) => void;
|
|
57
|
+
setConsultAccepted: (value: boolean) => void;
|
|
58
|
+
setConsultOfferReceived: (value: boolean) => void;
|
|
59
|
+
setConsultStartTimeStamp: (timestamp: number) => void;
|
|
60
|
+
setCallControlAudio: (audio: MediaStream | null) => void;
|
|
61
|
+
setIsQueueConsultInProgress: (value: boolean) => void;
|
|
62
|
+
setCurrentConsultQueueId: (queueId: string | null) => void;
|
|
63
|
+
setState: (state: ICustomState | IdleCode) => void;
|
|
64
|
+
setIncomingTaskCb: (callback: (task: ITask) => void) => void;
|
|
65
|
+
setTaskRejected: (callback: ((task: ITask, reason: string) => void) | undefined) => void;
|
|
66
|
+
setTaskAssigned: (callback: ((task: ITask) => void) | undefined) => void;
|
|
67
|
+
setCCCallback: (event: CC_EVENTS | TASK_EVENTS, callback: any) => void;
|
|
68
|
+
setTaskCallback: (event: TASK_EVENTS, callback: any, taskId: string) => void;
|
|
69
|
+
setAgentProfile: (profile: AgentLoginProfile) => void;
|
|
70
|
+
removeCCCallback: (event: CC_EVENTS) => void;
|
|
71
|
+
removeTaskCallback: (event: TASK_EVENTS, callback: any, taskId: string) => void;
|
|
72
|
+
init(options: InitParams): Promise<void>;
|
|
73
|
+
registerCC: (webex?: WithWebex["webex"]) => Promise<void>;
|
|
74
|
+
handleTaskRemove: (taskId: any) => void;
|
|
75
|
+
handleTaskEnd: () => void;
|
|
76
|
+
handleTaskAssigned: (event: any) => void;
|
|
77
|
+
handleTaskWrapUp: (task: any) => void;
|
|
78
|
+
handleTaskMedia: (track: any) => void;
|
|
79
|
+
handleConsultCreated: () => void;
|
|
80
|
+
handleConsulting: (event: any) => void;
|
|
81
|
+
handleConsultEnd: (event: any) => void;
|
|
82
|
+
handleConsultOffer: () => void;
|
|
83
|
+
handleConsultAccepted: (event: any) => void;
|
|
84
|
+
handleConsultQueueCancelled: () => void;
|
|
85
|
+
handleIncomingTask: (event: any) => void;
|
|
86
|
+
handleStateChange: (data: any) => void;
|
|
87
|
+
handleMultiLoginCloseSession: (data: any) => void;
|
|
88
|
+
handleTaskHydrate: (event: any) => void;
|
|
89
|
+
handleTaskReject: (task: ITask, reason: string) => void;
|
|
90
|
+
getBuddyAgents: (mediaType?: string) => Promise<Array<BuddyDetails>>;
|
|
91
|
+
getQueues: (mediaType?: string) => Promise<Array<ContactServiceQueue>>;
|
|
92
|
+
cleanUpStore: () => void;
|
|
93
|
+
setupIncomingTaskHandler: (ccSDK: IContactCenter) => void;
|
|
94
|
+
}
|
|
95
|
+
declare const storeWrapper: StoreWrapper;
|
|
96
|
+
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.
|
|
4
|
+
"version": "1.28.0-ccwidgets.60",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"publishConfig": {
|
|
@@ -12,23 +12,25 @@
|
|
|
12
12
|
"package.json"
|
|
13
13
|
],
|
|
14
14
|
"scripts": {
|
|
15
|
+
"clean": "rm -rf dist && rm -rf node_modules",
|
|
16
|
+
"clean:dist": "rm -rf dist",
|
|
15
17
|
"build": "yarn run -T tsc",
|
|
16
|
-
"build:src": "
|
|
18
|
+
"build:src": "yarn run clean:dist && webpack",
|
|
17
19
|
"build:watch": "webpack --watch",
|
|
18
|
-
"test:unit": "jest"
|
|
20
|
+
"test:unit": "jest --coverage",
|
|
21
|
+
"test:styles": "eslint"
|
|
19
22
|
},
|
|
20
23
|
"dependencies": {
|
|
24
|
+
"@webex/plugin-cc": "3.8.0-next.48",
|
|
21
25
|
"mobx": "6.13.5",
|
|
22
|
-
"
|
|
23
|
-
"react-dom": "18.3.1",
|
|
24
|
-
"typescript": "5.6.3",
|
|
25
|
-
"webex": "3.7.0-wxcc.4"
|
|
26
|
+
"typescript": "5.6.3"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
29
|
"@babel/core": "7.25.2",
|
|
29
30
|
"@babel/preset-env": "7.25.4",
|
|
30
31
|
"@babel/preset-react": "7.24.7",
|
|
31
32
|
"@babel/preset-typescript": "7.25.9",
|
|
33
|
+
"@eslint/js": "^9.20.0",
|
|
32
34
|
"@testing-library/dom": "10.4.0",
|
|
33
35
|
"@testing-library/jest-dom": "6.6.2",
|
|
34
36
|
"@testing-library/react": "16.0.1",
|
|
@@ -36,10 +38,21 @@
|
|
|
36
38
|
"@types/react-test-renderer": "18",
|
|
37
39
|
"babel-jest": "29.7.0",
|
|
38
40
|
"babel-loader": "9.2.1",
|
|
41
|
+
"eslint": "^9.20.1",
|
|
42
|
+
"eslint-config-prettier": "^10.0.1",
|
|
43
|
+
"eslint-config-standard": "^17.1.0",
|
|
44
|
+
"eslint-plugin-import": "^2.25.2",
|
|
45
|
+
"eslint-plugin-n": "^15.0.0 || ^16.0.0 ",
|
|
46
|
+
"eslint-plugin-prettier": "^5.2.3",
|
|
47
|
+
"eslint-plugin-promise": "^6.0.0",
|
|
48
|
+
"eslint-plugin-react": "^7.37.4",
|
|
39
49
|
"file-loader": "6.2.0",
|
|
50
|
+
"globals": "^16.0.0",
|
|
40
51
|
"jest": "29.7.0",
|
|
41
52
|
"jest-environment-jsdom": "29.7.0",
|
|
53
|
+
"prettier": "^3.5.1",
|
|
42
54
|
"ts-loader": "9.5.1",
|
|
55
|
+
"typescript-eslint": "^8.24.1",
|
|
43
56
|
"webpack": "5.94.0",
|
|
44
57
|
"webpack-cli": "5.1.4",
|
|
45
58
|
"webpack-merge": "6.0.1"
|
|
@@ -50,6 +63,5 @@
|
|
|
50
63
|
"**/tests/**/*.ts",
|
|
51
64
|
"**/tests/**/*.tsx"
|
|
52
65
|
]
|
|
53
|
-
}
|
|
54
|
-
"stableVersion": "1.28.0-ccwidgets.5"
|
|
66
|
+
}
|
|
55
67
|
}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,gDAA8B;AAC9B,kBAAe,eAAK,CAAC"}
|
package/dist/store.js
DELETED
|
@@ -1,66 +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
|
-
const mobx_1 = require("mobx");
|
|
7
|
-
const webex_1 = __importDefault(require("webex"));
|
|
8
|
-
class Store {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.teams = [];
|
|
11
|
-
this.loginOptions = [];
|
|
12
|
-
this.idleCodes = [];
|
|
13
|
-
this.agentId = '';
|
|
14
|
-
this.selectedLoginOption = '';
|
|
15
|
-
(0, mobx_1.makeAutoObservable)(this, { cc: mobx_1.observable.ref });
|
|
16
|
-
}
|
|
17
|
-
setSelectedLoginOption(option) {
|
|
18
|
-
this.selectedLoginOption = option;
|
|
19
|
-
}
|
|
20
|
-
registerCC(webex) {
|
|
21
|
-
this.cc = webex.cc;
|
|
22
|
-
return this.cc
|
|
23
|
-
.register()
|
|
24
|
-
.then((response) => {
|
|
25
|
-
this.teams = response.teams;
|
|
26
|
-
this.loginOptions = response.loginVoiceOptions;
|
|
27
|
-
this.idleCodes = response.idleCodes;
|
|
28
|
-
this.agentId = response.agentId;
|
|
29
|
-
})
|
|
30
|
-
.catch((error) => {
|
|
31
|
-
console.error('Error registering contact center', error);
|
|
32
|
-
return Promise.reject(error);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
init(options) {
|
|
36
|
-
if ('webex' in options) {
|
|
37
|
-
// If devs decide to go with webex, they will have to listen to the ready event before calling init
|
|
38
|
-
// This has to be documented
|
|
39
|
-
return this.registerCC(options.webex);
|
|
40
|
-
}
|
|
41
|
-
return new Promise((resolve, reject) => {
|
|
42
|
-
const timer = setTimeout(() => {
|
|
43
|
-
reject(new Error('Webex SDK failed to initialize'));
|
|
44
|
-
}, 6000);
|
|
45
|
-
const webex = webex_1.default.init({
|
|
46
|
-
config: options.webexConfig,
|
|
47
|
-
credentials: {
|
|
48
|
-
access_token: options.access_token,
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
webex.once('ready', () => {
|
|
52
|
-
clearTimeout(timer);
|
|
53
|
-
this.registerCC(webex)
|
|
54
|
-
.then(() => {
|
|
55
|
-
resolve();
|
|
56
|
-
})
|
|
57
|
-
.catch((error) => {
|
|
58
|
-
reject(error);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
const store = new Store();
|
|
65
|
-
exports.default = store;
|
|
66
|
-
//# sourceMappingURL=store.js.map
|
package/dist/store.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":";;;;;AAAA,+BAAoD;AACpD,kDAA0B;AAG1B,MAAM,KAAK;IAQT;QAPA,UAAK,GAAW,EAAE,CAAC;QACnB,iBAAY,GAAa,EAAE,CAAC;QAE5B,cAAS,GAAe,EAAE,CAAC;QAC3B,YAAO,GAAW,EAAE,CAAC;QACrB,wBAAmB,GAAW,EAAE,CAAC;QAG/B,IAAA,yBAAkB,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,iBAAU,CAAC,GAAG,EAAC,CAAC,CAAC;IACjD,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,UAAU,CAAC,KAAyB;QAClC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,EAAE;aACX,QAAQ,EAAE;aACV,IAAI,CAAC,CAAC,QAAiB,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,iBAAiB,CAAC;YAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAClC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,OAAmB;QACtB,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,mGAAmG;YACnG,4BAA4B;YAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACtD,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,MAAM,KAAK,GAAG,eAAK,CAAC,IAAI,CAAC;gBACvB,MAAM,EAAE,OAAO,CAAC,WAAW;gBAC3B,WAAW,EAAE;oBACX,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC;aACF,CAAC,CAAC;YAEH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACvB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;qBACnB,IAAI,CAAC,GAAG,EAAE;oBACT,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AAC1B,kBAAe,KAAK,CAAC"}
|
package/dist/store.types.js
DELETED
package/dist/store.types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.types.js","sourceRoot":"","sources":["../src/store.types.ts"],"names":[],"mappings":""}
|