@univerjs-pro/collaboration-client 0.4.2 → 0.5.0-alpha.0

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.
Files changed (90) hide show
  1. package/lib/cjs/index.js +1 -1
  2. package/lib/cjs/locale/en-US.js +1 -0
  3. package/lib/cjs/locale/fa-IR.js +1 -0
  4. package/lib/cjs/locale/ru-RU.js +1 -0
  5. package/lib/cjs/locale/vi-VN.js +1 -0
  6. package/lib/cjs/locale/zh-CN.js +1 -0
  7. package/lib/cjs/locale/zh-TW.js +1 -0
  8. package/lib/es/index.js +1 -1
  9. package/lib/es/locale/en-US.js +1 -0
  10. package/lib/es/locale/fa-IR.js +1 -0
  11. package/lib/es/locale/ru-RU.js +1 -0
  12. package/lib/es/locale/vi-VN.js +1 -0
  13. package/lib/es/locale/zh-CN.js +1 -0
  14. package/lib/es/locale/zh-TW.js +1 -0
  15. package/lib/types/index.d.ts +890 -34
  16. package/lib/umd/index.js +1 -1
  17. package/lib/umd/locale/en-US.js +1 -0
  18. package/lib/umd/locale/fa-IR.js +1 -0
  19. package/lib/umd/locale/ru-RU.js +1 -0
  20. package/lib/umd/locale/vi-VN.js +1 -0
  21. package/lib/umd/locale/zh-CN.js +1 -0
  22. package/lib/umd/locale/zh-TW.js +1 -0
  23. package/package.json +39 -31
  24. package/lib/locale/en-US.json +0 -38
  25. package/lib/locale/fa-IR.json +0 -38
  26. package/lib/locale/ru-RU.json +0 -38
  27. package/lib/locale/vi-VN.json +0 -38
  28. package/lib/locale/zh-CN.json +0 -38
  29. package/lib/locale/zh-TW.json +0 -38
  30. package/lib/types/config/config.d.ts +0 -48
  31. package/lib/types/controllers/collab-cursor/__tests__/doc-collab-cursor.controller.spec.d.ts +0 -23
  32. package/lib/types/controllers/collab-cursor/__tests__/serialize-text-ranges.spec.d.ts +0 -1
  33. package/lib/types/controllers/collab-cursor/__tests__/sheet-collab-cursor.controller.spec.d.ts +0 -1
  34. package/lib/types/controllers/collab-cursor/collab-cursor.controller.d.ts +0 -22
  35. package/lib/types/controllers/collab-cursor/doc-collab-cursor-entity.d.ts +0 -38
  36. package/lib/types/controllers/collab-cursor/doc-collab-cursor-render.controller.d.ts +0 -24
  37. package/lib/types/controllers/collab-cursor/serialize-text-ranges.d.ts +0 -3
  38. package/lib/types/controllers/collab-cursor/sheet-collab-cursor-entity.d.ts +0 -39
  39. package/lib/types/controllers/collab-cursor/sheet-collab-cursor-render.controller.d.ts +0 -21
  40. package/lib/types/controllers/collab-status/collab-status.controller.d.ts +0 -18
  41. package/lib/types/controllers/collaboration/__tests__/collaboration.controller.spec.d.ts +0 -4
  42. package/lib/types/controllers/collaboration/__tests__/mock-text-selection-render-manager.service.d.ts +0 -0
  43. package/lib/types/controllers/collaboration/__tests__/mocks.d.ts +0 -54
  44. package/lib/types/controllers/collaboration/collaboration-entity.d.ts +0 -91
  45. package/lib/types/controllers/collaboration/collaboration-state.d.ts +0 -303
  46. package/lib/types/controllers/collaboration/collaboration.controller.d.ts +0 -24
  47. package/lib/types/controllers/collaboration/utils/changeset-utils.d.ts +0 -18
  48. package/lib/types/controllers/collaboration/utils/empty.d.ts +0 -2
  49. package/lib/types/controllers/config.schema.d.ts +0 -29
  50. package/lib/types/controllers/data-loader/__tests__/data-loader.controller.spec.d.ts +0 -1
  51. package/lib/types/controllers/data-loader/data-loader.controller.d.ts +0 -22
  52. package/lib/types/controllers/file-name/file-name.controller.d.ts +0 -12
  53. package/lib/types/controllers/telemetry.d.ts +0 -11
  54. package/lib/types/locale/en-US.d.ts +0 -3
  55. package/lib/types/locale/fa-IR.d.ts +0 -3
  56. package/lib/types/locale/ru-RU.d.ts +0 -3
  57. package/lib/types/locale/vi-VN.d.ts +0 -3
  58. package/lib/types/locale/zh-CN.d.ts +0 -39
  59. package/lib/types/locale/zh-TW.d.ts +0 -3
  60. package/lib/types/models/cursor.d.ts +0 -30
  61. package/lib/types/plugin.d.ts +0 -18
  62. package/lib/types/services/auth-server/auth-server.service.d.ts +0 -10
  63. package/lib/types/services/auth-server/authz-io-http.service.d.ts +0 -30
  64. package/lib/types/services/auth-server/domain-request.service.d.ts +0 -6
  65. package/lib/types/services/auth-server/util.d.ts +0 -1
  66. package/lib/types/services/collaboration-session/collaboration-session.d.ts +0 -59
  67. package/lib/types/services/collaboration-session/collaboration-session.service.d.ts +0 -61
  68. package/lib/types/services/color-assign/color-assign.service.d.ts +0 -10
  69. package/lib/types/services/comment/comment.service.d.ts +0 -6
  70. package/lib/types/services/image-remote/image-io.service.d.ts +0 -34
  71. package/lib/types/services/ime-cache-transform/doc-transform-ime-cache.service.d.ts +0 -13
  72. package/lib/types/services/local-cache/local-cache.service.d.ts +0 -37
  73. package/lib/types/services/member/member.service.d.ts +0 -77
  74. package/lib/types/services/permission/permission.service.d.ts +0 -12
  75. package/lib/types/services/range-selection/sheet-transform-selections.service.d.ts +0 -13
  76. package/lib/types/services/single-active-unit/single-active-unit.service.d.ts +0 -39
  77. package/lib/types/services/snapshot-server/snapshot-server.service.d.ts +0 -21
  78. package/lib/types/services/socket/collaboration-socket.service.d.ts +0 -34
  79. package/lib/types/services/socket/serialize.d.ts +0 -3
  80. package/lib/types/services/state-cache-transform/doc-transform-state-cache.service.d.ts +0 -12
  81. package/lib/types/services/sync-editing-collab-cursor/doc-sync-editing-collab-cursor.service.d.ts +0 -13
  82. package/lib/types/services/text-selection/doc-transform-selections.service.d.ts +0 -8
  83. package/lib/types/services/undoredo/collaborative-undoredo.service.d.ts +0 -19
  84. package/lib/types/services/url/url.service.d.ts +0 -12
  85. package/lib/types/services/url/web-url.service.d.ts +0 -10
  86. package/lib/types/views/components/CollabStatus.d.ts +0 -10
  87. package/lib/types/views/components/CollabStatus.stories.d.ts +0 -8
  88. package/lib/types/views/shapes/doc-collab-cursor.d.ts +0 -27
  89. package/lib/types/views/shapes/sheet-collab-cursor.shape.d.ts +0 -27
  90. package/lib/types/views/shapes/text-bubble.shape.d.ts +0 -19
@@ -1,39 +0,0 @@
1
- declare const locales: {
2
- 'collab-client': {
3
- tooltip: {
4
- reconnect: string;
5
- };
6
- };
7
- collabStatus: {
8
- fetchMiss: string;
9
- conflict: string;
10
- notCollab: string;
11
- synced: string;
12
- syncing: string;
13
- offline: string;
14
- };
15
- session: {
16
- 'connection-failed': string;
17
- 'will-retry': string;
18
- 'room-full': string;
19
- 'collaboration-timeout': string;
20
- };
21
- conflict: {
22
- title: string;
23
- content: string;
24
- };
25
- permission: {
26
- title: string;
27
- content: string;
28
- };
29
- collaboration: {
30
- 'single-unit': {
31
- warning: string;
32
- };
33
- closeRoom: string;
34
- };
35
- auth: {
36
- needGotoLoginAlert: string;
37
- };
38
- };
39
- export default locales;
@@ -1,3 +0,0 @@
1
- import { default as zhCN } from './zh-CN';
2
- declare const locale: typeof zhCN;
3
- export default locale;
@@ -1,30 +0,0 @@
1
- import { IRange } from '@univerjs/core';
2
- import { ITextRangeWithStyle } from '@univerjs/engine-render';
3
- /**
4
- * The data structure to store collab cursor info of sheet.
5
- */
6
- export interface ISheetCollabCursor {
7
- /** Stroke color of this collab cursor */
8
- color: string;
9
- /** Position of this cursor */
10
- range: IRange;
11
- /** Displayed user name of this cursor */
12
- name: string;
13
- /** The serialized range to check if two cursor are on the same position. */
14
- selection: string;
15
- /** Worksheet ID */
16
- sheetID: string;
17
- /** Background color of this collab cursor */
18
- backgroundColor?: string;
19
- }
20
- /**
21
- * The data structure to store collab cursor info of doc.
22
- */
23
- export interface IDocCollabCursor {
24
- /** Background color of this collab cursor */
25
- color: string;
26
- /** Displayed user name of this cursor */
27
- name: string;
28
- /** The deserialized ranges of collab cursor. */
29
- ranges: ITextRangeWithStyle[];
30
- }
@@ -1,18 +0,0 @@
1
- import { IUniverCollaborationClientConfig } from './controllers/config.schema';
2
- import { IConfigService, ILogService, Injector, Plugin } from '@univerjs/core';
3
- import { IRenderManagerService } from '@univerjs/engine-render';
4
- export declare class UniverCollaborationClientPlugin extends Plugin {
5
- private readonly _config;
6
- private readonly _logService;
7
- private readonly _renderManagerService;
8
- protected _injector: Injector;
9
- private readonly _configService;
10
- static pluginName: string;
11
- constructor(_config: Partial<IUniverCollaborationClientConfig> | undefined, _logService: ILogService, _renderManagerService: IRenderManagerService, _injector: Injector, _configService: IConfigService);
12
- onStarting(): void;
13
- onReady(): void;
14
- onRendered(): void;
15
- private _registerDependencies;
16
- private _registerRenderDependencies;
17
- private _initDependencies;
18
- }
@@ -1,10 +0,0 @@
1
- import { IConfigService, LocaleService } from '@univerjs/core';
2
- import { HTTPService } from '@univerjs/network';
3
- export declare class AuthServerService {
4
- private readonly _configService;
5
- private readonly _httpService;
6
- private readonly localeService;
7
- constructor(_configService: IConfigService, _httpService: HTTPService, localeService: LocaleService);
8
- init(): void;
9
- private _getLoginPath;
10
- }
@@ -1,30 +0,0 @@
1
- import { IAuthzIoService, Disposable, IConfigService } from '@univerjs/core';
2
- import { IActionInfo, IAllowedRequest, IBatchAllowedResponse, ICollaborator, ICreateCollaboratorRequest, ICreateRequest, IDeleteCollaboratorRequest, IListCollaboratorRequest, IListPermPointRequest, IListPermPointResponse, IListRolesRequest, IPutCollaboratorsRequest, IUnitRoleKV, IUpdateCollaboratorRequest, IUpdatePermPointRequest, UnitAction } from '@univerjs/protocol';
3
- import { HTTPService } from '@univerjs/network';
4
- /**
5
- * The config key to determined the URL provided by the author server.
6
- * The URL should not ends with a slash.
7
- */
8
- /** @deprecated Will be removed in the 0.2.19 release */
9
- export declare const AUTHZ_URL_KEY = "AUTHZ_URL_KEY";
10
- export declare class AuthzIoHttpService extends Disposable implements IAuthzIoService {
11
- private _HTTPService;
12
- private _configService;
13
- constructor(_HTTPService: HTTPService, _configService: IConfigService);
14
- private _initMergeInterceptor;
15
- private _getAPIPrefixPath;
16
- create(config: ICreateRequest): Promise<string>;
17
- list(config: IListPermPointRequest): Promise<IListPermPointResponse['objects']>;
18
- update(config: IUpdatePermPointRequest): Promise<void>;
19
- allowed(config: IAllowedRequest): Promise<IActionInfo[]>;
20
- batchAllowed(config: IAllowedRequest[]): Promise<IBatchAllowedResponse['objectActions']>;
21
- listRoles(config: IListRolesRequest): Promise<{
22
- roles: IUnitRoleKV[];
23
- actions: UnitAction[];
24
- }>;
25
- deleteCollaborator(config: IDeleteCollaboratorRequest): Promise<void>;
26
- updateCollaborator(config: IUpdateCollaboratorRequest): Promise<void>;
27
- createCollaborator(config: ICreateCollaboratorRequest): Promise<void>;
28
- listCollaborators(config: IListCollaboratorRequest): Promise<ICollaborator[]>;
29
- putCollaborators(config: IPutCollaboratorsRequest): Promise<void>;
30
- }
@@ -1,6 +0,0 @@
1
- import { HTTPService } from '@univerjs/network';
2
- export declare class DomainRequestService {
3
- private readonly _httpService;
4
- constructor(_httpService: HTTPService);
5
- private _initRequestHeader;
6
- }
@@ -1 +0,0 @@
1
- export declare function getAttachHeader(): string | undefined;
@@ -1,59 +0,0 @@
1
- import { IDisposable, Nullable, IConfigService, ILogService, LocaleService, RxDisposable } from '@univerjs/core';
2
- import { ICollaborationEvent } from '@univerjs-pro/collaboration';
3
- import { Observable } from 'rxjs';
4
- import { ICollaborationSocket } from '../socket/collaboration-socket.service';
5
- import { ITelemetryService } from '@univerjs/telemetry';
6
- import { IBeforeCloseService, IMessageService } from '@univerjs/ui';
7
- import { CommentService } from '../comment/comment.service';
8
- import { MemberService } from '../member/member.service';
9
- export declare enum SessionStatus {
10
- IDLE = 0,
11
- JOINING = 1,
12
- OFFLINE = 2,
13
- ONLINE = 3
14
- }
15
- /**
16
- * The data structure to represent a collaboration session. It also manages the collaborator's identity.
17
- *
18
- * An collaboration session maps to a unit.
19
- */
20
- export declare class CollaborationSession extends RxDisposable implements IDisposable {
21
- private readonly _unitID;
22
- private readonly _logService;
23
- private readonly _beforeCloseService;
24
- private readonly _messageService;
25
- private readonly _configService;
26
- private readonly _localeService;
27
- private readonly _memberService;
28
- private readonly _commentService;
29
- private readonly _telemetryService?;
30
- private readonly _sessionStatus$;
31
- readonly sessionStatus$: Observable<SessionStatus>;
32
- get sessionStatus(): SessionStatus;
33
- private readonly _event$;
34
- readonly event$: Observable<ICollaborationEvent>;
35
- private _socket;
36
- private _socketMessageSubscription;
37
- constructor(_unitID: string, socket$: Observable<Nullable<ICollaborationSocket>>, _logService: ILogService, _beforeCloseService: IBeforeCloseService, _messageService: IMessageService, _configService: IConfigService, _localeService: LocaleService, _memberService: MemberService, _commentService: CommentService, _telemetryService?: ITelemetryService | undefined);
38
- getMemberID(): string | null;
39
- dispose(): void;
40
- close(): void;
41
- private _onCombEvent;
42
- private _joinRoom;
43
- private _onJoinRoomEvent;
44
- private _onRecvEvent;
45
- private _onUserJoin;
46
- private _onUserLeave;
47
- /**
48
- * Send event to the collaboration server.
49
- */
50
- send(event: ICollaborationEvent, unitID: string): Promise<void>;
51
- private _collaborationTimeoutTimer;
52
- private _scheduleCollaborationTimeoutTimer;
53
- private _clearCollaborationTimeoutTimer;
54
- private _shouldReportTelemetry;
55
- private _telemetryInfo;
56
- private _startTelemetryCollaborationNewChangeset;
57
- private _stopTelemetryCollaborationNewChangeset;
58
- private _throwTelemetryCollaborationNewChangeset;
59
- }
@@ -1,61 +0,0 @@
1
- import { Nullable, Disposable, IConfigService, ILogService, Injector, LocaleService } from '@univerjs/core';
2
- import { ICollaborationSocket, ICollaborationSocketService } from '../socket/collaboration-socket.service';
3
- import { IMessageService } from '@univerjs/ui';
4
- import { CollaborationSession, SessionStatus } from './collaboration-session';
5
- /**
6
- * This service provide collaboration sessions to univer instances. A collaboration session
7
- * may be used by different controllers of different features.
8
- */
9
- export declare class CollaborationSessionService extends Disposable {
10
- private readonly _injector;
11
- private readonly _localeService;
12
- private readonly _messageService;
13
- private readonly _logService;
14
- private readonly _configService;
15
- private readonly _socketService;
16
- /**
17
- * Socket for collaboration sessions. Session are by unitID but the socket is share by collaboration sessions.
18
- */
19
- private _socket$;
20
- readonly socket$: import('rxjs').Observable<Nullable<ICollaborationSocket>>;
21
- private get _socket();
22
- private _candidateSocket;
23
- private _sessions;
24
- private _status$;
25
- status$: import('rxjs').Observable<SessionStatus>;
26
- private _socketReady;
27
- private _retryConnectingTimer;
28
- private _retryCount;
29
- constructor(_injector: Injector, _localeService: LocaleService, _messageService: IMessageService, _logService: ILogService, _configService: IConfigService, _socketService: ICollaborationSocketService);
30
- private _initEventListeners;
31
- dispose(): void;
32
- /**
33
- * Require a collaboration session.
34
- * @param unitID
35
- * @returns a collaboration session.
36
- */
37
- requireSession(unitID: string): Promise<CollaborationSession>;
38
- closeSession(unitID: string): void;
39
- reconnect(): void;
40
- private _createSocket;
41
- /**
42
- * Try to establish connection to the collaboration server.
43
- *
44
- * Will send heartbeat channel to the server to keep the connection alive.
45
- */
46
- private _tryEnsureSocket;
47
- private _onConnectionOpen;
48
- private _listenToOfflineEvent;
49
- private _onOffline;
50
- private _onConnectionFailed;
51
- private _listenToOnlineEvent;
52
- private _tryReconnect;
53
- private _onMessage;
54
- private _sendHeartbeatTimer;
55
- private _timeoutTimer;
56
- private _rescheduleHeartbeat;
57
- private _sendHeartbeat;
58
- private _waitForHeartbeatResponse;
59
- private _clearHeartbeatTimer;
60
- private _clearTimeoutTimer;
61
- }
@@ -1,10 +0,0 @@
1
- import { Disposable } from '@univerjs/core';
2
- export declare const BACKGROUND_TOKENS: string[];
3
- /**
4
- * This service assign a color to each collaboration member.
5
- */
6
- export declare class ColorAssignService extends Disposable {
7
- private _assignedColors;
8
- private _colorIndex;
9
- assignAColorForMemberID(memberID: string): string;
10
- }
@@ -1,6 +0,0 @@
1
- import { ICommentUpdate } from '@univerjs/protocol';
2
- export declare class CommentService {
3
- private readonly _commentUpdate$;
4
- readonly commentUpdate$: import('rxjs').Observable<ICommentUpdate>;
5
- onCommentUpdate(data: ICommentUpdate): void;
6
- }
@@ -1,34 +0,0 @@
1
- import { Nullable, IConfigService, IUniverInstanceService } from '@univerjs/core';
2
- import { IImageIoService, IImageIoServiceParam, ImageSourceType } from '@univerjs/drawing';
3
- import { IError } from '@univerjs/protocol';
4
- import { Observable } from 'rxjs';
5
- import { HTTPService } from '@univerjs/network';
6
- export declare const ALLOW_IMAGE_LIST: string[];
7
- /** @deprecated Will be removed in the 0.2.19 release */
8
- export declare const EXCHANGE_UPLOAD_FILE_SERVER_URL_KEY = "EXCHANGE_UPLOAD_FILE_SERVER_URL_KEY";
9
- /** @deprecated Will be removed in the 0.2.19 release */
10
- export declare const EXCHANGE_SIGN_URL_SERVER_URL_KEY = "EXCHANGE_SIGN_URL_SERVER_URL_KEY";
11
- export interface ISignUrlResponse {
12
- error: IError | undefined;
13
- url: string;
14
- }
15
- export declare class ImageIoService implements IImageIoService {
16
- private readonly _httpService;
17
- private readonly _configService;
18
- private readonly _univerInstanceService;
19
- private _waitCount;
20
- private _change$;
21
- change$: Observable<number>;
22
- constructor(_httpService: HTTPService, _configService: IConfigService, _univerInstanceService: IUniverInstanceService);
23
- setWaitCount(count: number): void;
24
- private _imageSourceCache;
25
- getImageSourceCache(source: string, imageSourceType: ImageSourceType): HTMLImageElement | undefined;
26
- addImageSourceCache(source: string, imageSourceType: ImageSourceType, imageSource: Nullable<HTMLImageElement>): void;
27
- getImage(imageId: string): Promise<string>;
28
- saveImage(imageFile: File): Promise<Nullable<IImageIoServiceParam>>;
29
- private _getUploadFileURL;
30
- private _getSignURL;
31
- private _getDownloadEndpointURL;
32
- private _replaceFileID;
33
- private _decreaseWaiting;
34
- }
@@ -1,13 +0,0 @@
1
- import { IChangeset, ITransformService } from '@univerjs-pro/collaboration';
2
- import { Injector } from '@univerjs/core';
3
- import { IRenderManagerService } from '@univerjs/engine-render';
4
- export declare class DocTransformIMECacheService {
5
- private readonly _injector;
6
- private readonly _transformService;
7
- private readonly _renderManagerService;
8
- constructor(_injector: Injector, _transformService: ITransformService, _renderManagerService: IRenderManagerService);
9
- transformIMECache(changeset: IChangeset): void;
10
- transformRemoteChangeset(changeset: IChangeset): IChangeset;
11
- private _transformUndoRedoStack;
12
- private _transformPreviousActiveRange;
13
- }
@@ -1,37 +0,0 @@
1
- import { IMutationInfo, Nullable, Disposable, IConfigService, ILocalStorageService, LocaleService } from '@univerjs/core';
2
- import { UniverType } from '@univerjs/protocol';
3
- import { IChangeset, RevisionService } from '@univerjs-pro/collaboration';
4
- import { IBeforeCloseService } from '@univerjs/ui';
5
- export interface IUnitCacheData {
6
- unitID: string;
7
- type: UniverType;
8
- rev: number;
9
- awaitingChangeset: Nullable<IChangeset>;
10
- mutations: IMutationInfo[];
11
- }
12
- /**
13
- * This service provide caching to the collaboration controller.
14
- */
15
- export declare class LocalCacheService extends Disposable {
16
- private readonly _configService;
17
- private readonly _localStorageService;
18
- private readonly _beforeCloseService;
19
- private readonly _localeService;
20
- private readonly _revisionService;
21
- private _cachedData;
22
- private _saveTaskMap;
23
- private _disabled;
24
- constructor(_configService: IConfigService, _localStorageService: ILocalStorageService, _beforeCloseService: IBeforeCloseService, _localeService: LocaleService, _revisionService: RevisionService);
25
- disableLocalCache(): void;
26
- enableLocalCache(): void;
27
- dispose(): void;
28
- loadOfflineData(unitID: string): Promise<Nullable<IUnitCacheData>>;
29
- saveOfflineData(unitID: string, data: IUnitCacheData): Promise<boolean>;
30
- updateOfflineData(unitID: string, type: UniverType, awaitingChangeset: Nullable<IChangeset>, pendingMutations: IMutationInfo[]): void;
31
- private _scheduleSaving;
32
- private _getSaveTimeout;
33
- private _saveCache;
34
- exhaustSavingTask(): Promise<void>;
35
- private _setupBeforeClosingHandler;
36
- }
37
- export declare function getLocalCacheKey(unitID: string): string;
@@ -1,77 +0,0 @@
1
- import { Nullable, Disposable, IUniverInstanceService, UserManagerService } from '@univerjs/core';
2
- import { IMember } from '@univerjs/protocol';
3
- export interface IUser extends IMember {
4
- userID: string;
5
- }
6
- /**
7
- * This services manages members is each rooms.
8
- */
9
- export declare class MemberService extends Disposable {
10
- private readonly _univerInstanceService;
11
- private _userManagerService;
12
- private _roomMembers;
13
- constructor(_univerInstanceService: IUniverInstanceService, _userManagerService: UserManagerService);
14
- /**
15
- * @deprecated please use userManagerService
16
- */
17
- setCurrentUser(user: IUser): void;
18
- /**
19
- * @deprecated please use userManagerService
20
- */
21
- getCurrentUser(): Nullable<IUser>;
22
- /**
23
- * Update a member in a room(unit).
24
- * @param roomID i.e. unitID.
25
- * @param member member object to be updated.
26
- */
27
- updateMember(roomID: string, member: IMember): void;
28
- /**
29
- * Remove a member from a room(unit).
30
- * @param roomID i.e. unitID.
31
- * @param memberID memberID of the member to be removed.
32
- */
33
- removeMember(roomID: string, memberID: string): void;
34
- /**
35
- * Get RoomMember for a unit.
36
- * @param roomID which is same with unitId.
37
- * @returns RoomMember which is a object that manages members in a single room.
38
- */
39
- getRoom(roomID: string): RoomMember | undefined;
40
- /**
41
- * Get a member in a room(unit).
42
- * @param roomID i.e. unitID.
43
- * @param memberID memberID of the member to be retrieved.
44
- * @returns member object.
45
- */
46
- getMember(roomID: string, memberID: string): IMember | undefined;
47
- private _removeRoom;
48
- dispose(): void;
49
- }
50
- /**
51
- * This class manages members is a single room.
52
- */
53
- export declare class RoomMember extends Disposable {
54
- private readonly _members;
55
- dispose(): void;
56
- /**
57
- * Update a member in the room(unit).
58
- * @param member member object to be updated.
59
- */
60
- updateMember(member: IMember): void;
61
- /**
62
- * Remove a member from the room(unit).
63
- * @param memberID memberID of the member to be removed.
64
- */
65
- removeMember(memberID: string): void;
66
- /**
67
- * Get a member by memberID.
68
- * @param memberID
69
- * @returns member object.
70
- */
71
- getMember(memberID: string): IMember | undefined;
72
- /**
73
- * Get all members in the room(unit).
74
- * @returns member object array.
75
- */
76
- getAllMembers(): IMember[];
77
- }
@@ -1,12 +0,0 @@
1
- import { Injector, IPermissionService, IUniverInstanceService, LocaleService, RxDisposable } from '@univerjs/core';
2
- import { CollaborationSessionService } from '../collaboration-session/collaboration-session.service';
3
- export declare class PermissionService extends RxDisposable {
4
- private _injector;
5
- private _univerInstanceService;
6
- private _permissionService;
7
- private _collaborationSessionService;
8
- private _localeService;
9
- constructor(_injector: Injector, _univerInstanceService: IUniverInstanceService, _permissionService: IPermissionService, _collaborationSessionService: CollaborationSessionService, _localeService: LocaleService);
10
- private _initCloseConn;
11
- private _initUnitPermissionChange;
12
- }
@@ -1,13 +0,0 @@
1
- import { Injector, IUniverInstanceService } from '@univerjs/core';
2
- import { IChangeset, ITransformService } from '@univerjs-pro/collaboration';
3
- export declare function extractTargetFromFirstChangeset(changeset: IChangeset): {
4
- unitId: string;
5
- subUnitId: string;
6
- };
7
- export declare class SheetTransformSelectionsService {
8
- private readonly _injector;
9
- private readonly _transformService;
10
- private readonly _instanceService;
11
- constructor(_injector: Injector, _transformService: ITransformService, _instanceService: IUniverInstanceService);
12
- transformSelections(changeset: IChangeset): void;
13
- }
@@ -1,39 +0,0 @@
1
- import { Disposable } from '@univerjs/core';
2
- import { Observable } from 'rxjs';
3
- /**
4
- * It is not recommended to open multiple units in different browser tabs at the same time,
5
- * especially when the there is not access to the internet. There is a great chance of loosing
6
- * offline data! So we should make there is only one active unit at a time.
7
- */
8
- export declare const ISingleActiveUnitService: import('@wendellhu/redi').IdentifierDecorator<ISingleActiveUnitService>;
9
- export interface ISingleActiveUnitService {
10
- editingUnit: (unitID: string) => void;
11
- getUnitStatus$: (unitID: string) => Observable<UnitStatus>;
12
- }
13
- export declare enum UnitStatus {
14
- NO_OTHER_CLIENTS_EDITING = 0,
15
- OTHER_CLIENTS_EDITING = 1
16
- }
17
- export declare class WebBrowserSingleActiveUnitService extends Disposable implements ISingleActiveUnitService {
18
- private _id;
19
- private _selfUnitIDs;
20
- private _unitOnClients;
21
- private _heartbeatTimer;
22
- private _clearOtherTimers;
23
- private _unitStatus;
24
- constructor();
25
- dispose(): void;
26
- getUnitStatus$(unitID: string): Observable<UnitStatus>;
27
- editingUnit(unitID: string): void;
28
- disposeUnit(unitID: string): void;
29
- private _init;
30
- private _handleEvent;
31
- private _handleJoinEvent;
32
- private _scheduleClearOtherTimer;
33
- private _removeClearOtherTimer;
34
- private _handleLeaveEvent;
35
- private _handleHeartbeatEvent;
36
- private _send;
37
- private _scheduleHeartbeat;
38
- private _ensureSubject;
39
- }
@@ -1,21 +0,0 @@
1
- import { ICopyFileMetaResponse, IFetchMissingChangesetsRequest, IFetchMissingChangesetsResponse, IGetDeserializedSheetBlockResponse, IGetLatestCsReqIdBySidResponse, IGetResourcesRequest, IGetResourcesResponse, IGetSheetBlockRequest, IGetSheetBlockResponse, IGetUnitOnRevRequest, IGetUnitOnRevResponse, ISaveChangesetResponse, ISaveSheetBlockResponse, ISaveSnapshotResponse } from '@univerjs/protocol';
2
- import { ILogContext, ISnapshotServerService } from '@univerjs-pro/collaboration';
3
- import { IConfigService } from '@univerjs/core';
4
- import { HTTPService } from '@univerjs/network';
5
- export declare class SnapshotServerOverHTTPService implements ISnapshotServerService {
6
- private readonly _configService;
7
- private readonly _httpService;
8
- constructor(_configService: IConfigService, _httpService: HTTPService);
9
- getUnitOnRev(_context: ILogContext, params: IGetUnitOnRevRequest): Promise<IGetUnitOnRevResponse>;
10
- getSheetBlock(_context: ILogContext, params: IGetSheetBlockRequest): Promise<IGetSheetBlockResponse>;
11
- getDeserializedSheetBlock(_context: ILogContext, params: IGetSheetBlockRequest): Promise<IGetDeserializedSheetBlockResponse>;
12
- fetchMissingChangesets(_context: ILogContext, params: IFetchMissingChangesetsRequest): Promise<IFetchMissingChangesetsResponse>;
13
- private _getSnapshotAPIPrefix;
14
- private _getAPIPrefix;
15
- getResourcesRequest(_context: ILogContext, params: IGetResourcesRequest): Promise<IGetResourcesResponse>;
16
- saveSnapshot(): Promise<ISaveSnapshotResponse>;
17
- saveSheetBlock(): Promise<ISaveSheetBlockResponse>;
18
- saveChangeset(): Promise<ISaveChangesetResponse>;
19
- copyFileMeta(): Promise<ICopyFileMetaResponse>;
20
- getLatestCsReqIdBySid(): Promise<IGetLatestCsReqIdBySidResponse>;
21
- }
@@ -1,34 +0,0 @@
1
- import { Nullable, Disposable, IConfigService, ILogService } from '@univerjs/core';
2
- import { ISocket, HTTPService, WebSocketService } from '@univerjs/network';
3
- import { IChangeset } from '@univerjs/protocol';
4
- import { ICombRequestEvent, ICombResponseEvent, IFetchingMissEvent, ISubmitChangesetEvent, ISnapshotServerService } from '@univerjs-pro/collaboration';
5
- import { Observable } from 'rxjs';
6
- export interface ICollaborationSocket extends Pick<ISocket, 'open$' | 'error$' | 'close$'> {
7
- memberID: string;
8
- message$: Observable<ICombResponseEvent>;
9
- send: (event: ICombRequestEvent) => void;
10
- close: () => void;
11
- }
12
- /**
13
- * This service provides a socket that can be used to communicate with the remote collaboration server.
14
- */
15
- export interface ICollaborationSocketService {
16
- createSocket: (url: string) => Nullable<ICollaborationSocket>;
17
- }
18
- export declare const ICollaborationSocketService: import('@wendellhu/redi').IdentifierDecorator<ICollaborationSocketService>;
19
- export declare class CollaborationSocketService extends Disposable implements ICollaborationSocketService {
20
- protected readonly _http: HTTPService;
21
- protected readonly _ws: WebSocketService;
22
- protected readonly _configService: IConfigService;
23
- protected readonly _logService: ILogService;
24
- protected readonly _snapshotServerService: ISnapshotServerService;
25
- constructor(_http: HTTPService, _ws: WebSocketService, _configService: IConfigService, _logService: ILogService, _snapshotServerService: ISnapshotServerService);
26
- /**
27
- * Create a socket that would connect to the remote collaboration server. It would throw an error when the socket cannot be created.
28
- *
29
- * @param URL The URL of the remote server.
30
- */
31
- createSocket(URL: string): Nullable<ICollaborationSocket>;
32
- protected _submitChangeset(socket: ICollaborationSocket, event: ISubmitChangesetEvent): Promise<void>;
33
- protected _fetchMissChangesets(event: IFetchingMissEvent): Promise<IChangeset[]>;
34
- }
@@ -1,3 +0,0 @@
1
- import { ICombRequestEvent, ICombResponseEvent } from '@univerjs-pro/collaboration';
2
- export declare function deserializeToCombResponse(event: MessageEvent): ICombResponseEvent;
3
- export declare function serializeCombRequest(event: ICombRequestEvent): string;
@@ -1,12 +0,0 @@
1
- import { IChangeset, ITransformService } from '@univerjs-pro/collaboration';
2
- import { Injector } from '@univerjs/core';
3
- import { DocStateChangeManagerService } from '@univerjs/docs-ui';
4
- export declare class DocTransformStateCacheService {
5
- private readonly _injector;
6
- private readonly _transformService;
7
- private readonly _docStateChangeManagerService;
8
- constructor(_injector: Injector, _transformService: ITransformService, _docStateChangeManagerService: DocStateChangeManagerService);
9
- transformStateCache(changeset: IChangeset): void;
10
- transformRemoteChangeset(changeset: IChangeset): IChangeset;
11
- private _transformHistoryAndStateStack;
12
- }
@@ -1,13 +0,0 @@
1
- import { Nullable, RxDisposable } from '@univerjs/core';
2
- import { ITextRangeWithStyle } from '@univerjs/engine-render';
3
- import { IUpdateCursor } from '@univerjs/protocol';
4
- export interface ICollabEditingCursor {
5
- unitID: string;
6
- memberID: string;
7
- textRanges: ITextRangeWithStyle[];
8
- }
9
- export declare class DocSyncEditingCollabCursorService extends RxDisposable {
10
- private readonly _collabCursorState$;
11
- readonly collabCursorState$: import('rxjs').Observable<Nullable<IUpdateCursor>>;
12
- syncEditingCollabCursor(collabCursor: ICollabEditingCursor): void;
13
- }
@@ -1,8 +0,0 @@
1
- import { Injector } from '@univerjs/core';
2
- import { IChangeset, ITransformService } from '@univerjs-pro/collaboration';
3
- export declare class DocTransformSelectionsService {
4
- private readonly _injector;
5
- private readonly _transformService;
6
- constructor(_injector: Injector, _transformService: ITransformService);
7
- transformSelections(changeset: IChangeset): void;
8
- }
@@ -1,19 +0,0 @@
1
- import { IUndoRedoService, ICommandService, IContextService, ILogService, IUniverInstanceService, LocalUndoRedoService } from '@univerjs/core';
2
- import { IChangeset, ITransformService } from '@univerjs-pro/collaboration';
3
- /**
4
- * `LocalUndoRedoService` cannot transform mutations in the undo redo stack under collaboration conditions.
5
- */
6
- export interface ICollaborativeUndoRedoService extends IUndoRedoService {
7
- transformUndoRedo: (unitID: string, changeset: IChangeset) => void;
8
- }
9
- export declare class CollaborativeUndoRedoService extends LocalUndoRedoService implements ICollaborativeUndoRedoService {
10
- private readonly _transformService;
11
- private readonly _logService;
12
- constructor(_currentUniverSheet: IUniverInstanceService, _commandService: ICommandService, _contextService: IContextService, _transformService: ITransformService, _logService: ILogService);
13
- transformUndoRedo(unitID: string, changesets: IChangeset): void;
14
- private _clearUndo;
15
- private _clearRedo;
16
- private _substituteUndoStack;
17
- private _substituteRedoStack;
18
- private _transformStack;
19
- }