@wxcc-desktop/sdk 1.2.6 → 1.2.10
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/README.md +18 -391
- package/dist/index.js +1 -0
- package/dist/types/index.d.ts +21 -0
- package/dist/types/jsapi/actions-jsapi.d.ts +33 -0
- package/dist/types/jsapi/agent-contact-jsapi.d.ts +430 -0
- package/dist/types/jsapi/agent-state-info-jsapi.d.ts +88 -0
- package/dist/types/jsapi/common/_logger.d.ts +4 -0
- package/dist/types/jsapi/common/_service-checker.d.ts +12 -0
- package/dist/types/jsapi/common/_service-events.d.ts +31 -0
- package/dist/types/jsapi/config-jsapi.d.ts +26 -0
- package/dist/types/jsapi/dialer-jsapi.d.ts +73 -0
- package/dist/types/jsapi/i18n-jsapi.d.ts +23 -0
- package/dist/types/jsapi/logger-jsapi.d.ts +19 -0
- package/dist/types/jsapi/screenpop-jsapi.d.ts +29 -0
- package/dist/types/jsapi/shortcut-key-jsapi.d.ts +67 -0
- package/dist/types/sdk.d.ts +1 -0
- package/package.json +5 -60
- package/.eslintignore +0 -5
- package/.eslintrc.js +0 -22
- package/.prettierignore +0 -5
- package/.prettierrc +0 -5
- package/README_PUBLISH.md +0 -36
- package/jenkins-automation/MergePipeline.groovy +0 -143
- package/jest.config.js +0 -15
- package/sonar-project.properties +0 -17
- package/src/[sandbox]/README.md +0 -55
- package/src/[sandbox]/assets/i18n/de/app.json +0 -6
- package/src/[sandbox]/assets/i18n/en/app.json +0 -6
- package/src/[sandbox]/assets/i18n/widget-using-js-api/de/widget-using-js-api.json +0 -5
- package/src/[sandbox]/assets/i18n/widget-using-js-api/en/widget-using-js-api.json +0 -5
- package/src/[sandbox]/favicon.ico +0 -0
- package/src/[sandbox]/index.html +0 -9
- package/src/[sandbox]/sandbox-config.ts +0 -23
- package/src/[sandbox]/sandbox-mock.ts +0 -218
- package/src/[sandbox]/sandbox.ts +0 -164
- package/src/[sandbox]/widget-using-js-api.ts +0 -658
- package/src/global.d.ts +0 -5
- package/src/index.ts +0 -101
- package/src/jsapi/actions-jsapi.test.ts +0 -155
- package/src/jsapi/actions-jsapi.ts +0 -410
- package/src/jsapi/agent-contact-jsapi.test.ts +0 -217
- package/src/jsapi/agent-contact-jsapi.ts +0 -275
- package/src/jsapi/agent-state-info-jsapi.test.ts +0 -176
- package/src/jsapi/agent-state-info-jsapi.ts +0 -288
- package/src/jsapi/common/_logger.test.ts +0 -16
- package/src/jsapi/common/_logger.ts +0 -9
- package/src/jsapi/common/_service-checker.test.ts +0 -44
- package/src/jsapi/common/_service-checker.ts +0 -28
- package/src/jsapi/common/_service-events.test.ts +0 -122
- package/src/jsapi/common/_service-events.ts +0 -156
- package/src/jsapi/config-jsapi.test.ts +0 -78
- package/src/jsapi/config-jsapi.ts +0 -106
- package/src/jsapi/dialer-jsapi.test.ts +0 -101
- package/src/jsapi/dialer-jsapi.ts +0 -116
- package/src/jsapi/i18n-jsapi.test.ts +0 -62
- package/src/jsapi/i18n-jsapi.ts +0 -77
- package/src/jsapi/logger-jsapi.test.ts +0 -45
- package/src/jsapi/logger-jsapi.ts +0 -62
- package/src/jsapi/screenpop-jsapi.test.ts +0 -80
- package/src/jsapi/screenpop-jsapi.ts +0 -100
- package/src/jsapi/shortcut-key-jsapi.test.ts +0 -88
- package/src/jsapi/shortcut-key-jsapi.ts +0 -112
- package/src/sdk.ts +0 -3
- package/src/tsconfig.json +0 -18
- package/tsconfig.json +0 -13
- package/webpack.config.dev.server.ts +0 -12
- package/webpack.config.ts +0 -134
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { AgentxServices, SERVICE } from "@wxcc-desktop/sdk-types";
|
|
2
|
-
import { createScreenPopJsApi } from "./screenpop-jsapi";
|
|
3
|
-
|
|
4
|
-
jest.mock("@wxcc-desktop/sdk-types", () => {
|
|
5
|
-
const agentx_services_mock = {
|
|
6
|
-
SERVICE: {
|
|
7
|
-
isInited: false,
|
|
8
|
-
init: async (accessToken: string) => {
|
|
9
|
-
agentx_services_mock.SERVICE.isInited = true;
|
|
10
|
-
},
|
|
11
|
-
aqm: ({
|
|
12
|
-
screenpop: {
|
|
13
|
-
eScreenPop: { listen: jest.fn(), listenOnce: jest.fn() }
|
|
14
|
-
}
|
|
15
|
-
} as unknown) as AgentxServices["aqm"]
|
|
16
|
-
} as AgentxServices
|
|
17
|
-
};
|
|
18
|
-
return agentx_services_mock;
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
describe("ScreenPop JSAPI", () => {
|
|
22
|
-
let screenPop: ReturnType<typeof createScreenPopJsApi>;
|
|
23
|
-
|
|
24
|
-
beforeEach(() => {
|
|
25
|
-
(SERVICE as AgentxServices).init("fake-token");
|
|
26
|
-
|
|
27
|
-
screenPop = createScreenPopJsApi();
|
|
28
|
-
|
|
29
|
-
screenPop.init(SERVICE);
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it("creates", () => {
|
|
33
|
-
expect(screenPop).toBeDefined();
|
|
34
|
-
expect(screenPop["logger"]).toBeDefined();
|
|
35
|
-
expect(screenPop["serviceChecker"]).toBeDefined();
|
|
36
|
-
expect(screenPop["aqmEvents"]).toBeDefined();
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("inits", () => {
|
|
40
|
-
expect(screenPop["checkService"]()).toBeTruthy();
|
|
41
|
-
expect(screenPop["aqmEvents"].isInited).toBeTruthy();
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it("checks service", () => {
|
|
45
|
-
screenPop["serviceChecker"].check = jest.fn();
|
|
46
|
-
screenPop["checkService"]();
|
|
47
|
-
|
|
48
|
-
expect(screenPop["serviceChecker"].check).toHaveBeenCalled();
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it("listens", () => {
|
|
52
|
-
const listener = () => {};
|
|
53
|
-
screenPop.addEventListener("eScreenPop", listener);
|
|
54
|
-
expect(screenPop["aqmEvents"]["listeners"].size).toBe(1);
|
|
55
|
-
expect(SERVICE.aqm.screenpop.eScreenPop.listen).toHaveBeenCalledWith(listener);
|
|
56
|
-
screenPop.removeEventListener("eScreenPop", listener);
|
|
57
|
-
expect(screenPop["aqmEvents"]["listeners"].size).toBe(0);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it("listensOnce", () => {
|
|
61
|
-
const listener = () => {};
|
|
62
|
-
screenPop.addOnceEventListener("eScreenPop", listener);
|
|
63
|
-
expect(screenPop["aqmEvents"]["listenersOnce"].size).toBe(1);
|
|
64
|
-
expect(SERVICE.aqm.screenpop.eScreenPop.listenOnce).toHaveBeenCalledWith(listener);
|
|
65
|
-
screenPop.removeOnceEventListener("eScreenPop", listener);
|
|
66
|
-
expect(screenPop["aqmEvents"]["listenersOnce"].size).toBe(0);
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
it("removesAllListeners", () => {
|
|
70
|
-
const listener1 = () => {};
|
|
71
|
-
const listener2 = () => {};
|
|
72
|
-
screenPop.addEventListener("eScreenPop", listener1);
|
|
73
|
-
screenPop.addOnceEventListener("eScreenPop", listener2);
|
|
74
|
-
expect(screenPop["aqmEvents"]["listeners"].size).toBe(1);
|
|
75
|
-
expect(screenPop["aqmEvents"]["listenersOnce"].size).toBe(1);
|
|
76
|
-
screenPop.removeAllEventListeners();
|
|
77
|
-
expect(screenPop["aqmEvents"]["listeners"].size).toBe(0);
|
|
78
|
-
expect(screenPop["aqmEvents"]["listenersOnce"].size).toBe(0);
|
|
79
|
-
});
|
|
80
|
-
});
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { AgentxService } from "@wxcc-desktop/sdk-types";
|
|
2
|
-
import { logger } from "../sdk";
|
|
3
|
-
import { createJsApiLogger } from "./common/_logger";
|
|
4
|
-
import { createServiceChecker } from "./common/_service-checker";
|
|
5
|
-
import { AqmServiceEntityEvents, createServiceEvents } from "./common/_service-events";
|
|
6
|
-
|
|
7
|
-
type Listeners = {
|
|
8
|
-
eScreenPop: Parameters<AgentxService["aqm"]["screenpop"]["eScreenPop"]["listen"]>[0];
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
type Config = {
|
|
12
|
-
logger: ReturnType<typeof createJsApiLogger>;
|
|
13
|
-
aqmEvents: AqmServiceEntityEvents<Listeners>;
|
|
14
|
-
serviceChecker: ReturnType<typeof createServiceChecker>;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export class ScreenPopJsApi {
|
|
18
|
-
private readonly logger: Config["logger"];
|
|
19
|
-
private readonly serviceChecker: Config["serviceChecker"];
|
|
20
|
-
|
|
21
|
-
private readonly aqmEvents: Config["aqmEvents"];
|
|
22
|
-
|
|
23
|
-
private SERVICE?: AgentxService;
|
|
24
|
-
|
|
25
|
-
private checkService() {
|
|
26
|
-
return this.serviceChecker.check(this.SERVICE);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
constructor(config: Config) {
|
|
30
|
-
this.logger = config.logger;
|
|
31
|
-
this.aqmEvents = config.aqmEvents;
|
|
32
|
-
this.serviceChecker = config.serviceChecker;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
init(SERVICE?: AgentxService) {
|
|
37
|
-
if (SERVICE) {
|
|
38
|
-
this.SERVICE = SERVICE;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (!this.checkService()) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
this.aqmEvents.init({
|
|
46
|
-
aqmServiceEntity: this.SERVICE!.aqm.screenpop,
|
|
47
|
-
aqmServiceEntityString: "SERVICE.aqm.screenpop"
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
this.logger.info("Inited");
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
cleanup() {
|
|
54
|
-
this.aqmEvents.cleanup();
|
|
55
|
-
|
|
56
|
-
this.SERVICE = undefined;
|
|
57
|
-
|
|
58
|
-
this.logger.info("Cleaned");
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// data events
|
|
62
|
-
addEventListener<T extends keyof Listeners>(eventName: T, listener: Listeners[T]) {
|
|
63
|
-
if (!this.checkService()) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
this.aqmEvents.addEventListener(eventName, listener);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
addOnceEventListener<T extends keyof Listeners>(eventName: T, listener: Listeners[T]) {
|
|
70
|
-
if (!this.checkService()) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
this.aqmEvents.addOnceEventListener(eventName, listener);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
removeEventListener<T extends keyof Listeners>(eventName: T, listener: Listeners[T]) {
|
|
77
|
-
this.aqmEvents.removeEventListener(eventName, listener);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
removeOnceEventListener<T extends keyof Listeners>(eventName: T, listener: Listeners[T]) {
|
|
81
|
-
this.aqmEvents.removeOnceEventListener(eventName, listener);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
removeAllEventListeners() {
|
|
85
|
-
this.aqmEvents.removeAllEventListeners();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
const screenPopJsApiLogger = createJsApiLogger(logger, "[ScreenPop JSAPI] =>");
|
|
90
|
-
const aqmServiceScreenPopJsApiLogger = createJsApiLogger(screenPopJsApiLogger, "[AqmServiceEvents: ScreenPop] =>");
|
|
91
|
-
|
|
92
|
-
// Standalone init
|
|
93
|
-
export const createScreenPopJsApi = () =>
|
|
94
|
-
new ScreenPopJsApi({
|
|
95
|
-
logger: screenPopJsApiLogger,
|
|
96
|
-
aqmEvents: createServiceEvents<Listeners>({
|
|
97
|
-
logger: aqmServiceScreenPopJsApiLogger
|
|
98
|
-
}),
|
|
99
|
-
serviceChecker: createServiceChecker({ logger: screenPopJsApiLogger })
|
|
100
|
-
});
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { AgentxServices, SERVICE } from "@wxcc-desktop/sdk-types";
|
|
2
|
-
import { createShortcutKeyJsApi } from "./shortcut-key-jsapi";
|
|
3
|
-
|
|
4
|
-
jest.mock("@wxcc-desktop/sdk-types", () => {
|
|
5
|
-
const agentx_services_mock = {
|
|
6
|
-
SERVICE: {
|
|
7
|
-
isInited: false,
|
|
8
|
-
init: async (accessToken: string) => {
|
|
9
|
-
agentx_services_mock.SERVICE.isInited = true;
|
|
10
|
-
},
|
|
11
|
-
shortcut: ({
|
|
12
|
-
event: {
|
|
13
|
-
listenKeyPress: jest.fn(),
|
|
14
|
-
listenKeyConflict: jest.fn(),
|
|
15
|
-
listenConflictResolved: jest.fn()
|
|
16
|
-
},
|
|
17
|
-
register: jest.fn(),
|
|
18
|
-
unregisterKeys: jest.fn(),
|
|
19
|
-
getRegisteredKeys: jest.fn(),
|
|
20
|
-
DEFAULT_SHORTCUT_KEYS: { test: "DEFAULT_SHORTCUT_KEYS" },
|
|
21
|
-
MODIFIERS: { test: "MODIFIERS" },
|
|
22
|
-
REGISTERED_KEYS: { test: "REGISTERED_KEYS" }
|
|
23
|
-
} as unknown) as AgentxServices["shortcut"]
|
|
24
|
-
} as AgentxServices
|
|
25
|
-
};
|
|
26
|
-
return agentx_services_mock;
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
describe("ShortcutKey JSAPI", () => {
|
|
30
|
-
let shortcutKey: ReturnType<typeof createShortcutKeyJsApi>;
|
|
31
|
-
|
|
32
|
-
beforeEach(async () => {
|
|
33
|
-
await (SERVICE as AgentxServices).init("fake-token");
|
|
34
|
-
|
|
35
|
-
shortcutKey = createShortcutKeyJsApi();
|
|
36
|
-
shortcutKey.init(SERVICE);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it("creates", () => {
|
|
40
|
-
expect(shortcutKey).toBeDefined();
|
|
41
|
-
expect(shortcutKey["logger"]).toBeDefined();
|
|
42
|
-
expect(shortcutKey["serviceChecker"]).toBeDefined();
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it("inits", () => {
|
|
46
|
-
expect(shortcutKey["checkService"]()).toBeTruthy();
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it("cleanups", () => {
|
|
50
|
-
shortcutKey.cleanup();
|
|
51
|
-
expect(shortcutKey["SERVICE"]).toBeUndefined();
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it("checks service", () => {
|
|
55
|
-
shortcutKey["serviceChecker"].check = jest.fn();
|
|
56
|
-
shortcutKey["checkService"]();
|
|
57
|
-
|
|
58
|
-
expect(shortcutKey["serviceChecker"].check).toHaveBeenCalled();
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
it("listens", () => {
|
|
62
|
-
const listener1 = () => {};
|
|
63
|
-
shortcutKey.listenKeyPress(listener1);
|
|
64
|
-
expect(SERVICE.shortcut.event.listenKeyPress).toHaveBeenCalledWith(listener1);
|
|
65
|
-
|
|
66
|
-
const listener2 = () => {};
|
|
67
|
-
shortcutKey.listenKeyConflict(listener2);
|
|
68
|
-
expect(SERVICE.shortcut.event.listenKeyConflict).toHaveBeenCalledWith(listener2);
|
|
69
|
-
|
|
70
|
-
const listener3 = () => {};
|
|
71
|
-
shortcutKey.listenConflictResolved(listener3);
|
|
72
|
-
expect(SERVICE.shortcut.event.listenConflictResolved).toHaveBeenCalledWith(listener3);
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
it("registers/unregisters", () => {
|
|
76
|
-
shortcutKey.register({ test: "A" } as any);
|
|
77
|
-
expect(SERVICE.shortcut.register).toHaveBeenCalledWith({ test: "A" });
|
|
78
|
-
|
|
79
|
-
shortcutKey.unregisterKeys({ test: "B" } as any);
|
|
80
|
-
expect(SERVICE.shortcut.unregisterKeys).toHaveBeenCalledWith({ test: "B" });
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it("gets constants", () => {
|
|
84
|
-
expect(shortcutKey.DEFAULT_SHORTCUT_KEYS).toEqual({ test: "DEFAULT_SHORTCUT_KEYS" });
|
|
85
|
-
expect(shortcutKey.REGISTERED_KEYS).toEqual({ test: "REGISTERED_KEYS" });
|
|
86
|
-
expect(shortcutKey.MODIFIERS).toEqual({ test: "MODIFIERS" });
|
|
87
|
-
});
|
|
88
|
-
});
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { AgentxService } from "@wxcc-desktop/sdk-types";
|
|
2
|
-
import { logger } from "../sdk";
|
|
3
|
-
import { createJsApiLogger } from "./common/_logger";
|
|
4
|
-
import { createServiceChecker } from "./common/_service-checker";
|
|
5
|
-
|
|
6
|
-
type Config = {
|
|
7
|
-
logger: ReturnType<typeof createJsApiLogger>;
|
|
8
|
-
serviceChecker: ReturnType<typeof createServiceChecker>;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export class ShortcutKeyJsApi {
|
|
12
|
-
private readonly logger: Config["logger"];
|
|
13
|
-
private readonly serviceChecker: Config["serviceChecker"];
|
|
14
|
-
|
|
15
|
-
private SERVICE?: AgentxService;
|
|
16
|
-
|
|
17
|
-
private checkService() {
|
|
18
|
-
return this.serviceChecker.check(this.SERVICE);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
constructor(config: Config) {
|
|
22
|
-
this.logger = config.logger;
|
|
23
|
-
this.serviceChecker = config.serviceChecker;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
//
|
|
27
|
-
init(SERVICE?: AgentxService) {
|
|
28
|
-
if (SERVICE) {
|
|
29
|
-
this.SERVICE = SERVICE;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (!this.checkService()) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
this.logger.info("Inited");
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
cleanup() {
|
|
40
|
-
this.SERVICE = undefined;
|
|
41
|
-
|
|
42
|
-
this.logger.info("Cleaned");
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Service-related
|
|
46
|
-
|
|
47
|
-
listenKeyPress(...args: Parameters<AgentxService["shortcut"]["event"]["listenKeyPress"]>) {
|
|
48
|
-
if (!this.checkService()) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
this.SERVICE?.shortcut.event.listenKeyPress(...args);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
listenKeyConflict(...args: Parameters<AgentxService["shortcut"]["event"]["listenKeyConflict"]>) {
|
|
56
|
-
if (!this.checkService()) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
this.SERVICE?.shortcut.event.listenKeyConflict(...args);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
listenConflictResolved(...args: Parameters<AgentxService["shortcut"]["event"]["listenConflictResolved"]>) {
|
|
64
|
-
if (!this.checkService()) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
this.SERVICE?.shortcut.event.listenConflictResolved(...args);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
register(...args: Parameters<AgentxService["shortcut"]["register"]>) {
|
|
72
|
-
if (!this.checkService()) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
this.SERVICE?.shortcut.register(...args);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
unregisterKeys(...args: Parameters<AgentxService["shortcut"]["unregisterKeys"]>) {
|
|
79
|
-
if (!this.checkService()) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
this.SERVICE?.shortcut.unregisterKeys(...args);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
getRegisteredKeys() {
|
|
86
|
-
if (!this.checkService()) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return this.SERVICE?.shortcut.getRegisteredKeys();
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
get DEFAULT_SHORTCUT_KEYS() {
|
|
94
|
-
return this.SERVICE?.shortcut.DEFAULT_SHORTCUT_KEYS;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
get MODIFIERS() {
|
|
98
|
-
return this.SERVICE?.shortcut.MODIFIERS;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
get REGISTERED_KEYS() {
|
|
102
|
-
return this.SERVICE?.shortcut.REGISTERED_KEYS;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const shortcutKeyJsApiLogger = createJsApiLogger(logger, "[ShortcutKey JSAPI] =>");
|
|
107
|
-
|
|
108
|
-
export const createShortcutKeyJsApi = () =>
|
|
109
|
-
new ShortcutKeyJsApi({
|
|
110
|
-
logger: shortcutKeyJsApiLogger,
|
|
111
|
-
serviceChecker: createServiceChecker({ logger: shortcutKeyJsApiLogger })
|
|
112
|
-
});
|
package/src/sdk.ts
DELETED
package/src/tsconfig.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "ES2016",
|
|
4
|
-
"module": "esnext",
|
|
5
|
-
"moduleResolution": "node",
|
|
6
|
-
"types": ["node", "jest"],
|
|
7
|
-
|
|
8
|
-
"strict": true,
|
|
9
|
-
"removeComments": false,
|
|
10
|
-
"esModuleInterop": true,
|
|
11
|
-
"experimentalDecorators": true,
|
|
12
|
-
"forceConsistentCasingInFileNames": true,
|
|
13
|
-
|
|
14
|
-
"declaration": true,
|
|
15
|
-
"declarationDir": "../dist/types"
|
|
16
|
-
},
|
|
17
|
-
"include": ["**/*.ts"]
|
|
18
|
-
}
|
package/tsconfig.json
DELETED
package/webpack.config.ts
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { CleanWebpackPlugin } from "clean-webpack-plugin";
|
|
3
|
-
import CopyWebpackPlugin from "copy-webpack-plugin";
|
|
4
|
-
import HtmlWebpackPlugin from "html-webpack-plugin";
|
|
5
|
-
import * as path from "path";
|
|
6
|
-
import RemovePlugin from "remove-files-webpack-plugin";
|
|
7
|
-
import * as webpack from "webpack";
|
|
8
|
-
import merge from "webpack-merge";
|
|
9
|
-
//import nodeExternals from "webpack-node-externals";
|
|
10
|
-
|
|
11
|
-
const pSrc = path.resolve("src");
|
|
12
|
-
const pDist = path.resolve("dist");
|
|
13
|
-
export const pBuild = path.resolve("build");
|
|
14
|
-
|
|
15
|
-
const common: webpack.Configuration = {
|
|
16
|
-
output: {
|
|
17
|
-
publicPath: "/"
|
|
18
|
-
},
|
|
19
|
-
resolve: {
|
|
20
|
-
extensions: [".ts", ".js"]
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
function ruleTS({ isDev }: { isDev: boolean }) {
|
|
25
|
-
return {
|
|
26
|
-
test: /\.ts$/,
|
|
27
|
-
loader: "ts-loader",
|
|
28
|
-
include: pSrc,
|
|
29
|
-
options: {
|
|
30
|
-
compilerOptions: {
|
|
31
|
-
declarationMap: isDev,
|
|
32
|
-
sourceMap: isDev
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// DEV
|
|
39
|
-
// ----------
|
|
40
|
-
|
|
41
|
-
export const commonDev = merge(common, {
|
|
42
|
-
name: "dev",
|
|
43
|
-
mode: "development",
|
|
44
|
-
devtool: "source-map",
|
|
45
|
-
entry: {
|
|
46
|
-
index: "./src/[sandbox]/sandbox.ts"
|
|
47
|
-
},
|
|
48
|
-
output: {
|
|
49
|
-
path: pBuild
|
|
50
|
-
},
|
|
51
|
-
module: {
|
|
52
|
-
rules: [ruleTS({ isDev: true })]
|
|
53
|
-
},
|
|
54
|
-
plugins: [
|
|
55
|
-
new CopyWebpackPlugin({
|
|
56
|
-
patterns: [{ from: "./src/[sandbox]/assets/i18n", to: "i18n" }]
|
|
57
|
-
}),
|
|
58
|
-
new webpack.ProvidePlugin({
|
|
59
|
-
AGENTX_SERVICE: ["@wxcc-desktop/sdk-types", "SERVICE"]
|
|
60
|
-
}),
|
|
61
|
-
new HtmlWebpackPlugin({
|
|
62
|
-
template: "./src/[sandbox]/index.html",
|
|
63
|
-
favicon: "./src/[sandbox]/favicon.ico" //
|
|
64
|
-
})
|
|
65
|
-
]
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
const dev = merge(commonDev, {
|
|
69
|
-
plugins: [new CleanWebpackPlugin()]
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
// DIST
|
|
73
|
-
// ----------
|
|
74
|
-
|
|
75
|
-
const commonDist = merge(common, {
|
|
76
|
-
entry: {
|
|
77
|
-
index: "./src/index.ts"
|
|
78
|
-
},
|
|
79
|
-
output: {
|
|
80
|
-
path: pDist,
|
|
81
|
-
filename: "[name].js",
|
|
82
|
-
libraryTarget: "umd"
|
|
83
|
-
},
|
|
84
|
-
//externals: [nodeExternals({ modulesFromFile: true })],
|
|
85
|
-
plugins: [
|
|
86
|
-
new CleanWebpackPlugin(),
|
|
87
|
-
new RemovePlugin({
|
|
88
|
-
after: {
|
|
89
|
-
log: false,
|
|
90
|
-
include: ["./dist/types/[sandbox]"],
|
|
91
|
-
test: [
|
|
92
|
-
{
|
|
93
|
-
folder: "./dist/types",
|
|
94
|
-
method: p => new RegExp(/\.test\.d\.ts(\.map)*$/).test(p),
|
|
95
|
-
recursive: true
|
|
96
|
-
}
|
|
97
|
-
]
|
|
98
|
-
}
|
|
99
|
-
}) as any
|
|
100
|
-
]
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
const distDev = merge(commonDist, {
|
|
104
|
-
name: "distDev",
|
|
105
|
-
mode: "development",
|
|
106
|
-
devtool: "source-map",
|
|
107
|
-
module: {
|
|
108
|
-
rules: [ruleTS({ isDev: true })]
|
|
109
|
-
},
|
|
110
|
-
// Just for check built widget in AgentX (for example)
|
|
111
|
-
entry: {
|
|
112
|
-
["widget-using-js-api"]: "./src/[sandbox]/widget-using-js-api.ts"
|
|
113
|
-
},
|
|
114
|
-
plugins: [
|
|
115
|
-
new CopyWebpackPlugin({
|
|
116
|
-
patterns: [{ from: "./src/[sandbox]/assets/i18n/widget-using-js-api", to: "i18n/widget-using-js-api" }]
|
|
117
|
-
})
|
|
118
|
-
]
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
const distDevWatch = merge(distDev, {
|
|
122
|
-
name: "distDevWatch",
|
|
123
|
-
watch: true
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
const distProd = merge(commonDist, {
|
|
127
|
-
name: "distProd",
|
|
128
|
-
mode: "production",
|
|
129
|
-
module: {
|
|
130
|
-
rules: [ruleTS({ isDev: false })]
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
|
|
134
|
-
export default [dev, distDev, distDevWatch, distProd];
|