@rhc-office/sdk 6.6.363 → 6.6.381

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.
@@ -35,6 +35,7 @@ export declare class DocumentSDK implements IDocumentSDK {
35
35
  private normalizedConfiguration;
36
36
  private runtimeRestoreState;
37
37
  private sessionUser?;
38
+ private sessionUserId?;
38
39
  private sessionData?;
39
40
  private readonly nativeEventCleanupCallbacks;
40
41
  private themeCleanup;
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentSDK.d.ts","sourceRoot":"","sources":["../../src/viewer/DocumentSDK.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentSDK.d.ts","sourceRoot":"","sources":["../../src/viewer/DocumentSDK.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhc-office/sdk",
3
- "version": "6.6.363",
3
+ "version": "6.6.381",
4
4
  "description": "SDK for third-party integration with RHC Office Platform",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -111,6 +111,12 @@ interface DigitalSignEnvironmentRuntimeStore {
111
111
  overrides: DigitalSignEnvironmentPatch;
112
112
  }
113
113
 
114
+ export interface DigitalSignEnvironmentSourceSnapshot {
115
+ current: DigitalSignEnvironmentConfig;
116
+ defaults: DigitalSignEnvironmentConfig;
117
+ overrides: DigitalSignEnvironmentPatch;
118
+ }
119
+
114
120
  const DIGITAL_SIGN_ENVIRONMENT_STORE_KEY = '__RHC_OFFICE_DIGITAL_SIGN_ENVIRONMENT__';
115
121
 
116
122
  const EMPTY_DIGITAL_SIGN_ENVIRONMENT: DigitalSignEnvironmentConfig = {
@@ -302,24 +308,51 @@ const mergeEnvironmentPatchState = (
302
308
  base: DigitalSignEnvironmentPatch,
303
309
  patch: DigitalSignEnvironmentPatch,
304
310
  ): DigitalSignEnvironmentPatch => {
311
+ const mergedDefaultsBjca =
312
+ base.defaults?.bjca || patch.defaults?.bjca
313
+ ? {
314
+ ...base.defaults?.bjca,
315
+ ...patch.defaults?.bjca,
316
+ }
317
+ : undefined;
318
+ const mergedDefaultsKol =
319
+ base.defaults?.kol || patch.defaults?.kol
320
+ ? {
321
+ ...base.defaults?.kol,
322
+ ...patch.defaults?.kol,
323
+ }
324
+ : undefined;
325
+ const mergedDefaultsPlugin =
326
+ base.defaults?.plugin || patch.defaults?.plugin
327
+ ? {
328
+ ...base.defaults?.plugin,
329
+ ...patch.defaults?.plugin,
330
+ }
331
+ : undefined;
332
+ const mergedSignServerKol =
333
+ base.signServer?.kol || patch.signServer?.kol
334
+ ? {
335
+ ...base.signServer?.kol,
336
+ ...patch.signServer?.kol,
337
+ }
338
+ : undefined;
339
+ const mergedSignServerUsbKey =
340
+ base.signServer?.usbKey || patch.signServer?.usbKey
341
+ ? {
342
+ ...base.signServer?.usbKey,
343
+ ...patch.signServer?.usbKey,
344
+ }
345
+ : undefined;
346
+
305
347
  return {
306
348
  defaults:
307
349
  base.defaults || patch.defaults
308
350
  ? {
309
351
  ...base.defaults,
310
352
  ...patch.defaults,
311
- bjca: {
312
- ...(base.defaults?.bjca ?? {}),
313
- ...(patch.defaults?.bjca ?? {}),
314
- },
315
- kol: {
316
- ...(base.defaults?.kol ?? {}),
317
- ...(patch.defaults?.kol ?? {}),
318
- },
319
- plugin: {
320
- ...(base.defaults?.plugin ?? {}),
321
- ...(patch.defaults?.plugin ?? {}),
322
- },
353
+ ...(mergedDefaultsBjca ? { bjca: mergedDefaultsBjca } : {}),
354
+ ...(mergedDefaultsKol ? { kol: mergedDefaultsKol } : {}),
355
+ ...(mergedDefaultsPlugin ? { plugin: mergedDefaultsPlugin } : {}),
323
356
  }
324
357
  : undefined,
325
358
  signServer:
@@ -327,14 +360,8 @@ const mergeEnvironmentPatchState = (
327
360
  ? {
328
361
  ...base.signServer,
329
362
  ...patch.signServer,
330
- kol: {
331
- ...(base.signServer?.kol ?? {}),
332
- ...(patch.signServer?.kol ?? {}),
333
- },
334
- usbKey: {
335
- ...(base.signServer?.usbKey ?? {}),
336
- ...(patch.signServer?.usbKey ?? {}),
337
- },
363
+ ...(mergedSignServerKol ? { kol: mergedSignServerKol } : {}),
364
+ ...(mergedSignServerUsbKey ? { usbKey: mergedSignServerUsbKey } : {}),
338
365
  }
339
366
  : undefined,
340
367
  };
@@ -365,6 +392,15 @@ export const getDigitalSignEnvironment = (): DigitalSignEnvironmentConfig => {
365
392
  return resolveRuntimeStore().current;
366
393
  };
367
394
 
395
+ export const getDigitalSignEnvironmentSource = (): DigitalSignEnvironmentSourceSnapshot => {
396
+ const store = resolveRuntimeStore();
397
+ return {
398
+ current: cloneEnvironmentConfig(store.current),
399
+ defaults: cloneEnvironmentConfig(store.defaults),
400
+ overrides: cloneEnvironmentPatch(store.overrides),
401
+ };
402
+ };
403
+
368
404
  export const initializeDigitalSignEnvironment = (
369
405
  defaults: DigitalSignEnvironmentConfig,
370
406
  ): DigitalSignEnvironmentConfig => {
package/src/browser.ts CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  WatermarkDisplay,
5
5
  createNewDocumentSdk,
6
6
  getDigitalSignEnvironment,
7
+ getDigitalSignEnvironmentSource,
7
8
  initializeDigitalSignEnvironment,
8
9
  patchDigitalSignEnvironment,
9
10
  resetDigitalSignEnvironment,
@@ -18,6 +19,7 @@ export interface RHCOfficeSDKBrowserNamespace {
18
19
  createNewDocumentSdk: typeof createNewDocumentSdk;
19
20
  newDocumentSDK: typeof createNewDocumentSdk;
20
21
  getDigitalSignEnvironment: typeof getDigitalSignEnvironment;
22
+ getDigitalSignEnvironmentSource: typeof getDigitalSignEnvironmentSource;
21
23
  initializeDigitalSignEnvironment: typeof initializeDigitalSignEnvironment;
22
24
  patchDigitalSignEnvironment: typeof patchDigitalSignEnvironment;
23
25
  resetDigitalSignEnvironment: typeof resetDigitalSignEnvironment;
@@ -31,6 +33,7 @@ export const RHCOfficeSDK: RHCOfficeSDKBrowserNamespace = {
31
33
  createNewDocumentSdk,
32
34
  newDocumentSDK: createNewDocumentSdk,
33
35
  getDigitalSignEnvironment,
36
+ getDigitalSignEnvironmentSource,
34
37
  initializeDigitalSignEnvironment,
35
38
  patchDigitalSignEnvironment,
36
39
  resetDigitalSignEnvironment,
@@ -62,6 +65,7 @@ declare global {
62
65
  createNewDocumentSdk: typeof createNewDocumentSdk;
63
66
  newDocumentSDK(options?: ConstructorParameters<typeof DocumentSDK>[0]): IDocumentSDK;
64
67
  getDigitalSignEnvironment: typeof getDigitalSignEnvironment;
68
+ getDigitalSignEnvironmentSource: typeof getDigitalSignEnvironmentSource;
65
69
  initializeDigitalSignEnvironment: typeof initializeDigitalSignEnvironment;
66
70
  patchDigitalSignEnvironment: typeof patchDigitalSignEnvironment;
67
71
  resetDigitalSignEnvironment: typeof resetDigitalSignEnvironment;
@@ -76,6 +80,7 @@ export {
76
80
  WatermarkDisplay,
77
81
  createNewDocumentSdk,
78
82
  getDigitalSignEnvironment,
83
+ getDigitalSignEnvironmentSource,
79
84
  initializeDigitalSignEnvironment,
80
85
  patchDigitalSignEnvironment,
81
86
  resetDigitalSignEnvironment,
@@ -61,6 +61,10 @@ interface ReaderHostRuntimeConfig {
61
61
  baseUrl?: string;
62
62
  paths?: Record<string, string | undefined>;
63
63
  };
64
+ identity?: {
65
+ sessionUser?: string;
66
+ sessionUserId?: string;
67
+ };
64
68
  }
65
69
 
66
70
  type NativeReaderEventName = 'documentLoaded' | 'documentStateChange' | 'documentError';
@@ -107,6 +111,36 @@ const createReaderPayload = (
107
111
  };
108
112
  };
109
113
 
114
+ const normalizeSessionUserIdentity = (
115
+ sessionUser: Parameters<IDocumentSDK['setSessionUser']>[0] | undefined,
116
+ sessionUserId: Parameters<IDocumentSDK['setSessionUserId']>[0] | undefined,
117
+ ): ReaderHostRuntimeConfig['identity'] | undefined => {
118
+ if (!sessionUser) {
119
+ return undefined;
120
+ }
121
+
122
+ const userName =
123
+ typeof sessionUser === 'string' ? sessionUser.trim() : sessionUser.userName.trim();
124
+ if (!userName) {
125
+ return undefined;
126
+ }
127
+
128
+ const explicitUserId =
129
+ sessionUserId === undefined || sessionUserId === null ? '' : String(sessionUserId).trim();
130
+ const objectUserId =
131
+ typeof sessionUser === 'string' ||
132
+ sessionUser.userId === undefined ||
133
+ sessionUser.userId === null
134
+ ? ''
135
+ : String(sessionUser.userId).trim();
136
+ const normalizedUserId = explicitUserId || objectUserId;
137
+
138
+ return {
139
+ sessionUser: userName,
140
+ ...(normalizedUserId ? { sessionUserId: normalizedUserId } : {}),
141
+ };
142
+ };
143
+
110
144
  const resolveContainerElement = (container: string | HTMLDivElement): HTMLDivElement => {
111
145
  if (typeof container === 'string') {
112
146
  const element = document.getElementById(container);
@@ -271,6 +305,7 @@ export class DocumentSDK implements IDocumentSDK {
271
305
  previousRuntime?: ReaderHostRuntimeConfig;
272
306
  } | null = null;
273
307
  private sessionUser?: Parameters<IDocumentSDK['setSessionUser']>[0];
308
+ private sessionUserId?: Parameters<IDocumentSDK['setSessionUserId']>[0];
274
309
  private sessionData?: string;
275
310
  private readonly nativeEventCleanupCallbacks: Array<() => void> = [];
276
311
  private themeCleanup: ReaderThemeCleanup | null = null;
@@ -316,18 +351,7 @@ export class DocumentSDK implements IDocumentSDK {
316
351
  };
317
352
 
318
353
  readonly setSessionUserId: IDocumentSDK['setSessionUserId'] = (userId): void => {
319
- if (typeof this.sessionUser === 'string' || !this.sessionUser) {
320
- this.sessionUser = {
321
- userName: typeof this.sessionUser === 'string' ? this.sessionUser : '',
322
- userId,
323
- };
324
- return;
325
- }
326
-
327
- this.sessionUser = {
328
- ...this.sessionUser,
329
- userId,
330
- };
354
+ this.sessionUserId = userId;
331
355
  };
332
356
 
333
357
  readonly setSessionData: IDocumentSDK['setSessionData'] = (sessionData): void => {
@@ -487,6 +511,11 @@ export class DocumentSDK implements IDocumentSDK {
487
511
  const shouldUseCompactMode =
488
512
  configuration.compactViewer === true && configuration.keepPCMenu !== true;
489
513
  readerElement.toggleAttribute('data-sdk-compact-mode', shouldUseCompactMode);
514
+ readerElement.toggleAttribute('data-sdk-ribbon-hidden', configuration.ribbonMenu === false);
515
+ readerElement.toggleAttribute(
516
+ 'data-sdk-ribbon-title-hidden',
517
+ configuration.ribbonTitle === false,
518
+ );
490
519
  readerElement.setAttribute('language', configuration.language ?? 'zh_CN');
491
520
  this.themeCleanup = bindReaderElementTheme(readerElement, configuration.theme);
492
521
  this.bindNativeReaderEvents(readerElement);
@@ -525,11 +554,13 @@ export class DocumentSDK implements IDocumentSDK {
525
554
  configuration: NormalizedReaderEmbedOptions,
526
555
  ): void {
527
556
  this.restoreReaderRuntimeConfig();
557
+ const identity = normalizeSessionUserIdentity(this.sessionUser, this.sessionUserId);
528
558
  const readerHost: ReaderHostRuntimeConfig = {
529
559
  hostKind: 'server',
530
560
  server: {
531
561
  baseUrl: configuration.appUrl,
532
562
  },
563
+ ...(identity ? { identity } : {}),
533
564
  };
534
565
 
535
566
  const runtimeElement = readerElement as ReaderRuntimeElement;