@rhc-office/sdk 6.6.266 → 6.6.351
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 +1 -5
- package/dist/api/annotation-tool.d.ts +162 -102
- package/dist/api/annotation-tool.d.ts.map +1 -1
- package/dist/api/callbacks.d.ts +32 -6
- package/dist/api/callbacks.d.ts.map +1 -1
- package/dist/api/document-sdk.d.ts +6 -5
- package/dist/api/document-sdk.d.ts.map +1 -1
- package/dist/api/document-tool.d.ts +16 -11
- package/dist/api/document-tool.d.ts.map +1 -1
- package/dist/api/menu-visibility.d.ts +6 -1
- package/dist/api/menu-visibility.d.ts.map +1 -1
- package/dist/api/page-arrange-tool.d.ts +28 -0
- package/dist/api/page-arrange-tool.d.ts.map +1 -0
- package/dist/api/security-tool.d.ts +21 -0
- package/dist/api/security-tool.d.ts.map +1 -0
- package/dist/api/ui-tool.d.ts +19 -0
- package/dist/api/ui-tool.d.ts.map +1 -1
- package/dist/browser/document-viewer.js +1 -1
- package/dist/browser/document-viewer.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +730 -501
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/index.umd.cjs.map +1 -1
- package/dist/tools/AnnotationToolImpl.d.ts +25 -0
- package/dist/tools/AnnotationToolImpl.d.ts.map +1 -0
- package/dist/tools/CryptoToolImpl.d.ts +9 -0
- package/dist/tools/CryptoToolImpl.d.ts.map +1 -0
- package/dist/tools/DigitalSignToolImpl.d.ts +27 -0
- package/dist/tools/DigitalSignToolImpl.d.ts.map +1 -0
- package/dist/tools/DocumentToolImpl.d.ts +1 -0
- package/dist/tools/DocumentToolImpl.d.ts.map +1 -1
- package/dist/tools/PageArrangeToolImpl.d.ts +21 -0
- package/dist/tools/PageArrangeToolImpl.d.ts.map +1 -0
- package/dist/tools/SecurityToolImpl.d.ts +12 -0
- package/dist/tools/SecurityToolImpl.d.ts.map +1 -0
- package/dist/tools/SignServerToolImpl.d.ts +19 -0
- package/dist/tools/SignServerToolImpl.d.ts.map +1 -0
- package/dist/tools/SymbologyToolImpl.d.ts +8 -0
- package/dist/tools/SymbologyToolImpl.d.ts.map +1 -0
- package/dist/tools/TemplateSignToolImpl.d.ts +13 -0
- package/dist/tools/TemplateSignToolImpl.d.ts.map +1 -0
- package/dist/tools/UIToolImpl.d.ts +13 -0
- package/dist/tools/UIToolImpl.d.ts.map +1 -1
- package/dist/tools/index.d.ts +8 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/viewer/AdapterProtocol.d.ts +3 -1
- package/dist/viewer/AdapterProtocol.d.ts.map +1 -1
- package/dist/viewer/BridgeToolAdapter.d.ts +1 -0
- package/dist/viewer/BridgeToolAdapter.d.ts.map +1 -1
- package/dist/viewer/DocumentSDK.d.ts +7 -5
- package/dist/viewer/DocumentSDK.d.ts.map +1 -1
- package/dist/viewer/ReaderBridgeClient.d.ts +3 -0
- package/dist/viewer/ReaderBridgeClient.d.ts.map +1 -1
- package/dist/viewer/ReaderConfiguration.d.ts +0 -1
- package/dist/viewer/ReaderConfiguration.d.ts.map +1 -1
- package/dist/viewer/ReaderStateStore.d.ts +2 -0
- package/dist/viewer/ReaderStateStore.d.ts.map +1 -1
- package/dist/viewer/SdkCallbackRegistry.d.ts +5 -2
- package/dist/viewer/SdkCallbackRegistry.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/api/annotation-tool.ts +232 -146
- package/src/api/callbacks.ts +48 -7
- package/src/api/document-sdk.ts +9 -5
- package/src/api/document-tool.ts +25 -13
- package/src/api/menu-visibility.ts +10 -1
- package/src/api/page-arrange-tool.ts +67 -0
- package/src/api/security-tool.ts +32 -0
- package/src/api/ui-tool.ts +33 -0
- package/src/index.ts +3 -0
- package/src/tools/AnnotationToolImpl.ts +169 -0
- package/src/tools/CryptoToolImpl.ts +27 -0
- package/src/tools/DigitalSignToolImpl.ts +166 -0
- package/src/tools/DocumentToolImpl.ts +32 -6
- package/src/tools/PageArrangeToolImpl.ts +99 -0
- package/src/tools/SecurityToolImpl.ts +48 -0
- package/src/tools/SignServerToolImpl.ts +92 -0
- package/src/tools/SymbologyToolImpl.ts +34 -0
- package/src/tools/TemplateSignToolImpl.ts +51 -0
- package/src/tools/UIToolImpl.ts +98 -12
- package/src/tools/index.ts +8 -1
- package/src/viewer/AdapterProtocol.ts +4 -0
- package/src/viewer/BridgeToolAdapter.ts +11 -2
- package/src/viewer/DocumentSDK.ts +71 -144
- package/src/viewer/ReaderBridgeClient.ts +9 -0
- package/src/viewer/ReaderConfiguration.ts +0 -2
- package/src/viewer/ReaderStateStore.ts +13 -1
- package/src/viewer/SdkCallbackRegistry.ts +84 -6
- package/dist/tools/Phase1ToolPlaceholder.d.ts +0 -5
- package/dist/tools/Phase1ToolPlaceholder.d.ts.map +0 -1
- package/src/tools/Phase1ToolPlaceholder.ts +0 -35
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { PageArrangeTool } from '../api/page-arrange-tool';
|
|
2
|
+
import {
|
|
3
|
+
createBridgeToolAdapter,
|
|
4
|
+
type BridgeToolAdapterContext,
|
|
5
|
+
type BridgeToolDescriptor,
|
|
6
|
+
} from '../viewer/BridgeToolAdapter';
|
|
7
|
+
|
|
8
|
+
const createPageArrangeToolDescriptor = (): BridgeToolDescriptor => ({
|
|
9
|
+
clearContent: { kind: 'command', returnsResult: true },
|
|
10
|
+
commit: { kind: 'command', returnsResult: true },
|
|
11
|
+
deletePages: { kind: 'command', returnsResult: true },
|
|
12
|
+
duplicatePages: { kind: 'command', returnsResult: true },
|
|
13
|
+
execute: { kind: 'command', returnsResult: true },
|
|
14
|
+
extractPages: { kind: 'command', returnsResult: true },
|
|
15
|
+
getSnapshot: { kind: 'query' },
|
|
16
|
+
importDocument: { kind: 'command', returnsResult: true },
|
|
17
|
+
moveAfter: { kind: 'command', returnsResult: true },
|
|
18
|
+
moveBefore: { kind: 'command', returnsResult: true },
|
|
19
|
+
newPage: { kind: 'command', returnsResult: true },
|
|
20
|
+
rotateLeft: { kind: 'command', returnsResult: true },
|
|
21
|
+
rotateRight: { kind: 'command', returnsResult: true },
|
|
22
|
+
undo: { kind: 'command', returnsResult: true },
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
const normalizePageArrangeBytes = (data: Uint8Array | ArrayBuffer): Uint8Array => {
|
|
26
|
+
if (data instanceof Uint8Array) {
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return new Uint8Array(data);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export class PageArrangeToolImpl implements PageArrangeTool {
|
|
34
|
+
private readonly adapter: PageArrangeTool;
|
|
35
|
+
|
|
36
|
+
constructor(context: BridgeToolAdapterContext) {
|
|
37
|
+
this.adapter = createBridgeToolAdapter<PageArrangeTool>(
|
|
38
|
+
'pageArrange',
|
|
39
|
+
createPageArrangeToolDescriptor(),
|
|
40
|
+
context,
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
getSnapshot: PageArrangeTool['getSnapshot'] = () => {
|
|
45
|
+
return this.adapter.getSnapshot();
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
execute: PageArrangeTool['execute'] = (action) => {
|
|
49
|
+
return this.adapter.execute(action);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
newPage: PageArrangeTool['newPage'] = (index, options) => {
|
|
53
|
+
return this.adapter.newPage(index, options);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
deletePages: PageArrangeTool['deletePages'] = (pageIndices) => {
|
|
57
|
+
return this.adapter.deletePages(pageIndices);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
duplicatePages: PageArrangeTool['duplicatePages'] = (pageIndices, insertIndex) => {
|
|
61
|
+
return this.adapter.duplicatePages(pageIndices, insertIndex);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
rotateLeft: PageArrangeTool['rotateLeft'] = (pageIndices) => {
|
|
65
|
+
return this.adapter.rotateLeft(pageIndices);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
rotateRight: PageArrangeTool['rotateRight'] = (pageIndices) => {
|
|
69
|
+
return this.adapter.rotateRight(pageIndices);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
clearContent: PageArrangeTool['clearContent'] = (pageIndices) => {
|
|
73
|
+
return this.adapter.clearContent(pageIndices);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
moveBefore: PageArrangeTool['moveBefore'] = (pageIndices, targetIndex) => {
|
|
77
|
+
return this.adapter.moveBefore(pageIndices, targetIndex);
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
moveAfter: PageArrangeTool['moveAfter'] = (pageIndices, targetIndex) => {
|
|
81
|
+
return this.adapter.moveAfter(pageIndices, targetIndex);
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
importDocument: PageArrangeTool['importDocument'] = (data, options) => {
|
|
85
|
+
return this.adapter.importDocument(normalizePageArrangeBytes(data), options);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
extractPages: PageArrangeTool['extractPages'] = (pageIndices, suggestedFileName) => {
|
|
89
|
+
return this.adapter.extractPages(pageIndices, suggestedFileName);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
undo: PageArrangeTool['undo'] = () => {
|
|
93
|
+
return this.adapter.undo();
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
commit: PageArrangeTool['commit'] = () => {
|
|
97
|
+
return this.adapter.commit();
|
|
98
|
+
};
|
|
99
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { SecurityTool } from '../api/security-tool';
|
|
2
|
+
import {
|
|
3
|
+
createBridgeToolAdapter,
|
|
4
|
+
type BridgeToolAdapterContext,
|
|
5
|
+
type BridgeToolDescriptor,
|
|
6
|
+
} from '../viewer/BridgeToolAdapter';
|
|
7
|
+
|
|
8
|
+
const SECURITY_TOOL_DESCRIPTOR: BridgeToolDescriptor = {
|
|
9
|
+
getSecuritySettings: { kind: 'query' },
|
|
10
|
+
isSecuritySettingsLocalEditable: { kind: 'query' },
|
|
11
|
+
setSecuritySettingsLocalEditable: { kind: 'query' },
|
|
12
|
+
setSecuritySettings: { kind: 'query' },
|
|
13
|
+
openSecuritySettingsDialog: { kind: 'command' },
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export class SecurityToolImpl implements SecurityTool {
|
|
17
|
+
private readonly adapter: SecurityTool;
|
|
18
|
+
|
|
19
|
+
constructor(context: BridgeToolAdapterContext) {
|
|
20
|
+
this.adapter = createBridgeToolAdapter<SecurityTool>(
|
|
21
|
+
'security',
|
|
22
|
+
SECURITY_TOOL_DESCRIPTOR,
|
|
23
|
+
context,
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
getSecuritySettings: SecurityTool['getSecuritySettings'] = () => {
|
|
28
|
+
return this.adapter.getSecuritySettings();
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
setSecuritySettings: SecurityTool['setSecuritySettings'] = (update) => {
|
|
32
|
+
return this.adapter.setSecuritySettings(update);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
isSecuritySettingsLocalEditable: SecurityTool['isSecuritySettingsLocalEditable'] = () => {
|
|
36
|
+
return this.adapter.isSecuritySettingsLocalEditable();
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
setSecuritySettingsLocalEditable: SecurityTool['setSecuritySettingsLocalEditable'] = (
|
|
40
|
+
editable,
|
|
41
|
+
) => {
|
|
42
|
+
return this.adapter.setSecuritySettingsLocalEditable(editable);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
openSecuritySettingsDialog: SecurityTool['openSecuritySettingsDialog'] = () => {
|
|
46
|
+
return this.adapter.openSecuritySettingsDialog();
|
|
47
|
+
};
|
|
48
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { SignServerAuthCallback, SignServerTool } from '../api/sign-server';
|
|
2
|
+
import {
|
|
3
|
+
createBridgeToolAdapter,
|
|
4
|
+
type BridgeToolAdapterContext,
|
|
5
|
+
type BridgeToolDescriptor,
|
|
6
|
+
} from '../viewer/BridgeToolAdapter';
|
|
7
|
+
|
|
8
|
+
const SIGN_SERVER_TOOL_DESCRIPTOR: BridgeToolDescriptor = {
|
|
9
|
+
setSignServer: { kind: 'command' },
|
|
10
|
+
addSignServerAuthCallback: {
|
|
11
|
+
kind: 'callbackRegister',
|
|
12
|
+
callback: (callbacks, args) => {
|
|
13
|
+
const callback = args[0];
|
|
14
|
+
if (typeof callback === 'function') {
|
|
15
|
+
callbacks.signServerAuth.push(callback as SignServerAuthCallback);
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
setSignServerDefaultLogin: { kind: 'command' },
|
|
20
|
+
setDefaultSignServerLogin: { kind: 'command' },
|
|
21
|
+
setSignServerDefaultPassword: { kind: 'command' },
|
|
22
|
+
setDefaultSignServerPassword: { kind: 'command' },
|
|
23
|
+
loginNTKOSignServer: { kind: 'command' },
|
|
24
|
+
loginSignServer: { kind: 'callbackQuery' },
|
|
25
|
+
signOutSignServer: { kind: 'command' },
|
|
26
|
+
isAuthenticatedOnSignServer: { kind: 'stateGetter', state: () => false },
|
|
27
|
+
setSignServerLoginFromUSBKey: { kind: 'command' },
|
|
28
|
+
setUserAuthSource: { kind: 'command' },
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export class SignServerToolImpl implements SignServerTool {
|
|
32
|
+
private readonly adapter: SignServerTool;
|
|
33
|
+
|
|
34
|
+
constructor(context: BridgeToolAdapterContext) {
|
|
35
|
+
this.adapter = createBridgeToolAdapter<SignServerTool>(
|
|
36
|
+
'signServer',
|
|
37
|
+
SIGN_SERVER_TOOL_DESCRIPTOR,
|
|
38
|
+
context,
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
setSignServer: SignServerTool['setSignServer'] = (signServer) => {
|
|
43
|
+
return this.adapter.setSignServer(signServer);
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
addSignServerAuthCallback: SignServerTool['addSignServerAuthCallback'] = (callback) => {
|
|
47
|
+
return this.adapter.addSignServerAuthCallback(callback);
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
setSignServerDefaultLogin: SignServerTool['setSignServerDefaultLogin'] = (login) => {
|
|
51
|
+
return this.adapter.setSignServerDefaultLogin(login);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
setDefaultSignServerLogin: SignServerTool['setDefaultSignServerLogin'] = (login) => {
|
|
55
|
+
return this.adapter.setDefaultSignServerLogin(login);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
setSignServerDefaultPassword: SignServerTool['setSignServerDefaultPassword'] = (password) => {
|
|
59
|
+
return this.adapter.setSignServerDefaultPassword(password);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
setDefaultSignServerPassword: SignServerTool['setDefaultSignServerPassword'] = (password) => {
|
|
63
|
+
return this.adapter.setDefaultSignServerPassword(password);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
loginNTKOSignServer: SignServerTool['loginNTKOSignServer'] = (serverAddress, login, password) => {
|
|
67
|
+
return this.adapter.loginNTKOSignServer(serverAddress, login, password);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
loginSignServer: SignServerTool['loginSignServer'] = (server, login, password, onSuccess) => {
|
|
71
|
+
return this.adapter.loginSignServer(server, login, password, onSuccess);
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
signOutSignServer: SignServerTool['signOutSignServer'] = () => {
|
|
75
|
+
return this.adapter.signOutSignServer();
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
isAuthenticatedOnSignServer: SignServerTool['isAuthenticatedOnSignServer'] = () => {
|
|
79
|
+
return this.adapter.isAuthenticatedOnSignServer();
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
setSignServerLoginFromUSBKey: SignServerTool['setSignServerLoginFromUSBKey'] = (
|
|
83
|
+
enabled,
|
|
84
|
+
options,
|
|
85
|
+
) => {
|
|
86
|
+
return this.adapter.setSignServerLoginFromUSBKey(enabled, options);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
setUserAuthSource: SignServerTool['setUserAuthSource'] = (source) => {
|
|
90
|
+
return this.adapter.setUserAuthSource(source);
|
|
91
|
+
};
|
|
92
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { SymbologyTool } from '../api/symbology-tool';
|
|
2
|
+
import {
|
|
3
|
+
createBridgeToolAdapter,
|
|
4
|
+
type BridgeToolAdapterContext,
|
|
5
|
+
type BridgeToolDescriptor,
|
|
6
|
+
} from '../viewer/BridgeToolAdapter';
|
|
7
|
+
|
|
8
|
+
const SYMBOLOGY_TOOL_DESCRIPTOR: BridgeToolDescriptor = {
|
|
9
|
+
createPDF417Barcode: { kind: 'command' },
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export class SymbologyToolImpl implements SymbologyTool {
|
|
13
|
+
private readonly adapter: SymbologyTool;
|
|
14
|
+
|
|
15
|
+
constructor(context: BridgeToolAdapterContext) {
|
|
16
|
+
this.adapter = createBridgeToolAdapter<SymbologyTool>(
|
|
17
|
+
'symbology',
|
|
18
|
+
SYMBOLOGY_TOOL_DESCRIPTOR,
|
|
19
|
+
context,
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
createPDF417Barcode: SymbologyTool['createPDF417Barcode'] = (
|
|
24
|
+
content,
|
|
25
|
+
pageIndex,
|
|
26
|
+
x,
|
|
27
|
+
y,
|
|
28
|
+
width,
|
|
29
|
+
height,
|
|
30
|
+
margin,
|
|
31
|
+
) => {
|
|
32
|
+
return this.adapter.createPDF417Barcode(content, pageIndex, x, y, width, height, margin);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { TemplateSignTool } from '../api/template-sign';
|
|
2
|
+
import {
|
|
3
|
+
createBridgeToolAdapter,
|
|
4
|
+
type BridgeToolAdapterContext,
|
|
5
|
+
type BridgeToolDescriptor,
|
|
6
|
+
} from '../viewer/BridgeToolAdapter';
|
|
7
|
+
|
|
8
|
+
const TEMPLATE_SIGN_TOOL_DESCRIPTOR: BridgeToolDescriptor = {
|
|
9
|
+
setup: { kind: 'command' },
|
|
10
|
+
create: { kind: 'command' },
|
|
11
|
+
getMarkups: { kind: 'callbackQuery' },
|
|
12
|
+
removeMarkup: { kind: 'command' },
|
|
13
|
+
removeAllMarkups: { kind: 'command' },
|
|
14
|
+
sign: { kind: 'callbackQuery' },
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export class TemplateSignToolImpl implements TemplateSignTool {
|
|
18
|
+
private readonly adapter: TemplateSignTool;
|
|
19
|
+
|
|
20
|
+
constructor(context: BridgeToolAdapterContext) {
|
|
21
|
+
this.adapter = createBridgeToolAdapter<TemplateSignTool>(
|
|
22
|
+
'templateSign',
|
|
23
|
+
TEMPLATE_SIGN_TOOL_DESCRIPTOR,
|
|
24
|
+
context,
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
setup: TemplateSignTool['setup'] = (option) => {
|
|
29
|
+
return this.adapter.setup(option);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
create: TemplateSignTool['create'] = (signType) => {
|
|
33
|
+
return this.adapter.create(signType);
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
getMarkups: TemplateSignTool['getMarkups'] = (callback) => {
|
|
37
|
+
return this.adapter.getMarkups(callback);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
removeMarkup: TemplateSignTool['removeMarkup'] = (markupId, prompt) => {
|
|
41
|
+
return this.adapter.removeMarkup(markupId, prompt);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
removeAllMarkups: TemplateSignTool['removeAllMarkups'] = (prompt) => {
|
|
45
|
+
return this.adapter.removeAllMarkups(prompt);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
sign: TemplateSignTool['sign'] = (callback) => {
|
|
49
|
+
return this.adapter.sign(callback);
|
|
50
|
+
};
|
|
51
|
+
}
|
package/src/tools/UIToolImpl.ts
CHANGED
|
@@ -22,10 +22,22 @@ const createUIToolDescriptor = (context: BridgeToolAdapterContext): BridgeToolDe
|
|
|
22
22
|
hideRibbonMenuItem: { kind: 'command' },
|
|
23
23
|
showRibbonTitleBar: { kind: 'command' },
|
|
24
24
|
hideRibbonTitleBar: { kind: 'command' },
|
|
25
|
+
showRibbonTabs: { kind: 'command' },
|
|
26
|
+
hideRibbonTabs: { kind: 'command' },
|
|
25
27
|
selectRibbonMenu: { kind: 'command' },
|
|
28
|
+
setupRibbonMenuTab: { kind: 'command' },
|
|
29
|
+
showRibbonMenuTab: { kind: 'command' },
|
|
30
|
+
hideRibbonMenuTab: { kind: 'command' },
|
|
31
|
+
enableRibbonMenuTab: { kind: 'command' },
|
|
32
|
+
disableRibbonMenuTab: { kind: 'command' },
|
|
33
|
+
setupRibbonMenuItemState: { kind: 'command' },
|
|
34
|
+
enableRibbonMenuItem: { kind: 'command' },
|
|
35
|
+
disableRibbonMenuItem: { kind: 'command' },
|
|
26
36
|
setRibbonMenuButtonStyle: { kind: 'command' },
|
|
27
37
|
setWatermark: { kind: 'command' },
|
|
28
38
|
setCompactMode: { kind: 'command' },
|
|
39
|
+
setRulerVisible: { kind: 'command' },
|
|
40
|
+
toggleSidebar: { kind: 'command' },
|
|
29
41
|
enterBookViewMode: {
|
|
30
42
|
kind: 'callbackQuery',
|
|
31
43
|
mapCallbackResult: () => [],
|
|
@@ -48,35 +60,53 @@ export class UIToolImpl implements UITool {
|
|
|
48
60
|
}
|
|
49
61
|
|
|
50
62
|
showToolbarMenu: UITool['showToolbarMenu'] = () => {
|
|
51
|
-
|
|
63
|
+
this.warnLegacyRibbonMethod('showToolbarMenu', 'showRibbonMenu');
|
|
64
|
+
return this.showRibbonMenu();
|
|
52
65
|
};
|
|
53
66
|
|
|
54
67
|
hideToolbarMenu: UITool['hideToolbarMenu'] = () => {
|
|
55
|
-
|
|
68
|
+
this.warnLegacyRibbonMethod('hideToolbarMenu', 'hideRibbonMenu');
|
|
69
|
+
return this.hideRibbonMenu();
|
|
56
70
|
};
|
|
57
71
|
|
|
58
72
|
setupToolbarMenu: UITool['setupToolbarMenu'] = (opt) => {
|
|
59
|
-
|
|
73
|
+
this.warnLegacyRibbonMethod(
|
|
74
|
+
'setupToolbarMenu',
|
|
75
|
+
'showRibbonMenu/hideRibbonMenu/setupRibbonMenuTab',
|
|
76
|
+
);
|
|
77
|
+
return this.setupRibbonMenu(opt);
|
|
60
78
|
};
|
|
61
79
|
|
|
62
80
|
showToolbarMenuItem: UITool['showToolbarMenuItem'] = (menuId) => {
|
|
63
|
-
|
|
81
|
+
this.warnLegacyRibbonMethod('showToolbarMenuItem', 'showRibbonMenuItem');
|
|
82
|
+
return this.showRibbonMenuItem(menuId);
|
|
64
83
|
};
|
|
65
84
|
|
|
66
85
|
hideToolbarMenuItem: UITool['hideToolbarMenuItem'] = (menuId) => {
|
|
67
|
-
|
|
86
|
+
this.warnLegacyRibbonMethod('hideToolbarMenuItem', 'hideRibbonMenuItem');
|
|
87
|
+
return this.hideRibbonMenuItem(menuId);
|
|
68
88
|
};
|
|
69
89
|
|
|
70
90
|
setupRibbonMenu: UITool['setupRibbonMenu'] = (opt) => {
|
|
71
|
-
|
|
91
|
+
this.warnLegacyRibbonMethod(
|
|
92
|
+
'setupRibbonMenu',
|
|
93
|
+
'showRibbonMenu/hideRibbonMenu/setupRibbonMenuTab',
|
|
94
|
+
);
|
|
95
|
+
if (typeof opt === 'boolean') {
|
|
96
|
+
return opt ? this.showRibbonMenu() : this.hideRibbonMenu();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return this.setupRibbonMenuTab(opt.menu, { visible: opt.visible });
|
|
72
100
|
};
|
|
73
101
|
|
|
74
102
|
setupRibbonMenuItem: UITool['setupRibbonMenuItem'] = (menuId, visible, config) => {
|
|
75
|
-
|
|
103
|
+
this.warnLegacyRibbonMethod('setupRibbonMenuItem', 'setupRibbonMenuItemState');
|
|
104
|
+
return this.setupRibbonMenuItemState(menuId, { visible, config });
|
|
76
105
|
};
|
|
77
106
|
|
|
78
107
|
setupRibbonTitleBar: UITool['setupRibbonTitleBar'] = (visible) => {
|
|
79
|
-
|
|
108
|
+
this.warnLegacyRibbonMethod('setupRibbonTitleBar', 'showRibbonTabs/hideRibbonTabs');
|
|
109
|
+
return visible ? this.showRibbonTabs() : this.hideRibbonTabs();
|
|
80
110
|
};
|
|
81
111
|
|
|
82
112
|
showRibbonMenu: UITool['showRibbonMenu'] = () => {
|
|
@@ -88,25 +118,69 @@ export class UIToolImpl implements UITool {
|
|
|
88
118
|
};
|
|
89
119
|
|
|
90
120
|
showRibbonMenuItem: UITool['showRibbonMenuItem'] = (menuId, config) => {
|
|
91
|
-
|
|
121
|
+
this.warnLegacyRibbonMethod('showRibbonMenuItem', 'setupRibbonMenuItemState');
|
|
122
|
+
return this.setupRibbonMenuItemState(menuId, { visible: true, config });
|
|
92
123
|
};
|
|
93
124
|
|
|
94
125
|
hideRibbonMenuItem: UITool['hideRibbonMenuItem'] = (menuId, config) => {
|
|
95
|
-
|
|
126
|
+
this.warnLegacyRibbonMethod('hideRibbonMenuItem', 'setupRibbonMenuItemState');
|
|
127
|
+
return this.setupRibbonMenuItemState(menuId, { visible: false, config });
|
|
96
128
|
};
|
|
97
129
|
|
|
98
130
|
showRibbonTitleBar: UITool['showRibbonTitleBar'] = () => {
|
|
99
|
-
|
|
131
|
+
this.warnLegacyRibbonMethod('showRibbonTitleBar', 'showRibbonTabs');
|
|
132
|
+
return this.showRibbonTabs();
|
|
100
133
|
};
|
|
101
134
|
|
|
102
135
|
hideRibbonTitleBar: UITool['hideRibbonTitleBar'] = () => {
|
|
103
|
-
|
|
136
|
+
this.warnLegacyRibbonMethod('hideRibbonTitleBar', 'hideRibbonTabs');
|
|
137
|
+
return this.hideRibbonTabs();
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
showRibbonTabs: UITool['showRibbonTabs'] = () => {
|
|
141
|
+
return this.adapter.showRibbonTabs();
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
hideRibbonTabs: UITool['hideRibbonTabs'] = () => {
|
|
145
|
+
return this.adapter.hideRibbonTabs();
|
|
104
146
|
};
|
|
105
147
|
|
|
106
148
|
selectRibbonMenu: UITool['selectRibbonMenu'] = (menuId) => {
|
|
107
149
|
return this.adapter.selectRibbonMenu(menuId);
|
|
108
150
|
};
|
|
109
151
|
|
|
152
|
+
setupRibbonMenuTab: UITool['setupRibbonMenuTab'] = (menuId, state) => {
|
|
153
|
+
return this.adapter.setupRibbonMenuTab(menuId, state);
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
showRibbonMenuTab: UITool['showRibbonMenuTab'] = (menuId) => {
|
|
157
|
+
return this.adapter.showRibbonMenuTab(menuId);
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
hideRibbonMenuTab: UITool['hideRibbonMenuTab'] = (menuId) => {
|
|
161
|
+
return this.adapter.hideRibbonMenuTab(menuId);
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
enableRibbonMenuTab: UITool['enableRibbonMenuTab'] = (menuId) => {
|
|
165
|
+
return this.adapter.enableRibbonMenuTab(menuId);
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
disableRibbonMenuTab: UITool['disableRibbonMenuTab'] = (menuId) => {
|
|
169
|
+
return this.adapter.disableRibbonMenuTab(menuId);
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
setupRibbonMenuItemState: UITool['setupRibbonMenuItemState'] = (menuId, state) => {
|
|
173
|
+
return this.adapter.setupRibbonMenuItemState(menuId, state);
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
enableRibbonMenuItem: UITool['enableRibbonMenuItem'] = (menuId, config) => {
|
|
177
|
+
return this.setupRibbonMenuItemState(menuId, { disabled: false, config });
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
disableRibbonMenuItem: UITool['disableRibbonMenuItem'] = (menuId, config) => {
|
|
181
|
+
return this.setupRibbonMenuItemState(menuId, { disabled: true, config });
|
|
182
|
+
};
|
|
183
|
+
|
|
110
184
|
setRibbonMenuButtonStyle: UITool['setRibbonMenuButtonStyle'] = (buttonId, buttonStyle) => {
|
|
111
185
|
return this.adapter.setRibbonMenuButtonStyle(buttonId, buttonStyle);
|
|
112
186
|
};
|
|
@@ -119,6 +193,14 @@ export class UIToolImpl implements UITool {
|
|
|
119
193
|
return this.adapter.setCompactMode(compact);
|
|
120
194
|
};
|
|
121
195
|
|
|
196
|
+
setRulerVisible: UITool['setRulerVisible'] = (visible) => {
|
|
197
|
+
return this.adapter.setRulerVisible(visible);
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
toggleSidebar: UITool['toggleSidebar'] = () => {
|
|
201
|
+
return this.adapter.toggleSidebar();
|
|
202
|
+
};
|
|
203
|
+
|
|
122
204
|
enterBookViewMode: UITool['enterBookViewMode'] = (callback) => {
|
|
123
205
|
return this.adapter.enterBookViewMode(callback);
|
|
124
206
|
};
|
|
@@ -142,4 +224,8 @@ export class UIToolImpl implements UITool {
|
|
|
142
224
|
invalidateView: UITool['invalidateView'] = () => {
|
|
143
225
|
return this.adapter.invalidateView();
|
|
144
226
|
};
|
|
227
|
+
|
|
228
|
+
private warnLegacyRibbonMethod(methodName: string, replacement: string): void {
|
|
229
|
+
console.warn(`[RHC Office SDK] ui.${methodName} is deprecated. Use ui.${replacement} instead.`);
|
|
230
|
+
}
|
|
145
231
|
}
|
package/src/tools/index.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
export * from './AnnotationToolImpl';
|
|
2
|
+
export * from './CryptoToolImpl';
|
|
3
|
+
export * from './DigitalSignToolImpl';
|
|
1
4
|
export * from './DocumentToolImpl';
|
|
2
5
|
export * from './FindToolImpl';
|
|
3
6
|
export * from './NetworkingToolImpl';
|
|
7
|
+
export * from './PageArrangeToolImpl';
|
|
4
8
|
export * from './PageToolImpl';
|
|
5
9
|
export * from './PdfFormFillerImpl';
|
|
6
|
-
export * from './Phase1ToolPlaceholder';
|
|
7
10
|
export * from './SDKValueObjects';
|
|
11
|
+
export * from './SecurityToolImpl';
|
|
12
|
+
export * from './SignServerToolImpl';
|
|
13
|
+
export * from './SymbologyToolImpl';
|
|
14
|
+
export * from './TemplateSignToolImpl';
|
|
8
15
|
export * from './UIToolImpl';
|
|
@@ -8,9 +8,11 @@ export const RHC_OFFICE_READER_ID_ATTRIBUTE = 'data-rhc-office-reader-id';
|
|
|
8
8
|
export type AdapterToolName =
|
|
9
9
|
| 'document'
|
|
10
10
|
| 'page'
|
|
11
|
+
| 'pageArrange'
|
|
11
12
|
| 'ui'
|
|
12
13
|
| 'find'
|
|
13
14
|
| 'annotation'
|
|
15
|
+
| 'security'
|
|
14
16
|
| 'digitalSign'
|
|
15
17
|
| 'signServer'
|
|
16
18
|
| 'review'
|
|
@@ -82,6 +84,8 @@ export interface AdapterStatePatch {
|
|
|
82
84
|
documentType?: string;
|
|
83
85
|
annotationMode?: string;
|
|
84
86
|
annotationEnabled?: boolean;
|
|
87
|
+
annotations?: unknown[];
|
|
88
|
+
digitalSignatures?: unknown[];
|
|
85
89
|
extensionState?: 'connected' | 'disconnected';
|
|
86
90
|
}
|
|
87
91
|
|
|
@@ -15,6 +15,7 @@ export interface BridgeToolMethodDescriptor {
|
|
|
15
15
|
callback?: (callbacks: SdkCallbackRegistry, args: unknown[]) => void;
|
|
16
16
|
mapCallbackResult?: (result: unknown) => unknown[];
|
|
17
17
|
kind: BridgeMethodKind;
|
|
18
|
+
returnsResult?: boolean;
|
|
18
19
|
state?: (state: ReturnType<ReaderStateStore['snapshot']>, args: unknown[]) => unknown;
|
|
19
20
|
}
|
|
20
21
|
|
|
@@ -100,9 +101,17 @@ export const createBridgeToolAdapter = <T extends object>(
|
|
|
100
101
|
return undefined;
|
|
101
102
|
}
|
|
102
103
|
|
|
103
|
-
|
|
104
|
+
const commandRequest = context.bridge
|
|
104
105
|
.request(tool, adapterMethod, normalizeParams(args))
|
|
105
|
-
.catch(
|
|
106
|
+
.catch((error): undefined => {
|
|
107
|
+
context.onAsyncError(error);
|
|
108
|
+
return undefined;
|
|
109
|
+
});
|
|
110
|
+
if (methodDescriptor.returnsResult) {
|
|
111
|
+
return commandRequest;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
void commandRequest;
|
|
106
115
|
return undefined;
|
|
107
116
|
};
|
|
108
117
|
},
|