@univerjs-pro/collaboration 1.0.0-alpha.2 → 1.0.0-alpha.3

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.
@@ -0,0 +1,5 @@
1
+ import type { IMutationTransformAlgorithm } from '../../../services/transform/transform.service';
2
+ export declare const RemoveBoardElementMutationWithOthers: IMutationTransformAlgorithm;
3
+ export declare const RemoveBoardElementOnlyMutationWithOthers: IMutationTransformAlgorithm;
4
+ export declare const AddBoardElementMutationWithSelf: IMutationTransformAlgorithm;
5
+ export declare const UpdateBoardElementMutationWithSelf: IMutationTransformAlgorithm;
@@ -0,0 +1,4 @@
1
+ export { AddBoardElementMutationWithSelf, RemoveBoardElementMutationWithOthers, RemoveBoardElementOnlyMutationWithOthers, UpdateBoardElementMutationWithSelf, } from './element.algo';
2
+ export { RemoveBoardElementMutationWithOrder, RemoveBoardElementOnlyMutationWithOrder } from './order.algo';
3
+ export { RemoveBoardTableMutationWithResource, RemoveBoardTableMutationWithSelf } from './table-resource.algo';
4
+ export declare const BOARD_ALL_ALGORITHMS: import("../../../services/transform/transform.service").IMutationTransformAlgorithm<any, any>[];
@@ -0,0 +1,3 @@
1
+ import type { IMutationTransformAlgorithm } from '../../../services/transform/transform.service';
2
+ export declare const RemoveBoardElementMutationWithOrder: IMutationTransformAlgorithm;
3
+ export declare const RemoveBoardElementOnlyMutationWithOrder: IMutationTransformAlgorithm;
@@ -0,0 +1,3 @@
1
+ import type { IMutationTransformAlgorithm } from '../../../services/transform/transform.service';
2
+ export declare const RemoveBoardTableMutationWithResource: IMutationTransformAlgorithm;
3
+ export declare const RemoveBoardTableMutationWithSelf: IMutationTransformAlgorithm;
@@ -0,0 +1,8 @@
1
+ import type { IMutationInfo } from '@univerjs/core';
2
+ export declare function getBoardUnitId(mutation: IMutationInfo): string | undefined;
3
+ export declare function getBoardPageId(mutation: IMutationInfo): string | undefined;
4
+ export declare function getBoardElementId(mutation: IMutationInfo): string | undefined;
5
+ export declare function getBoardElementIds(mutation: IMutationInfo): string[];
6
+ export declare function sameBoardUnit(m1: IMutationInfo, m2: IMutationInfo): boolean;
7
+ export declare function sameBoardPage(m1: IMutationInfo, m2: IMutationInfo): boolean;
8
+ export declare function boardElementIntersects(m1: IMutationInfo, m2: IMutationInfo): boolean;
@@ -0,0 +1,9 @@
1
+ import { Disposable } from '@univerjs/core';
2
+ import { ITransformService } from '../../services/transform/transform.service';
3
+ /**
4
+ * This controller registers board transform algorithms to the transform service.
5
+ */
6
+ export declare class BoardTransformController extends Disposable {
7
+ private readonly _transformService;
8
+ constructor(_transformService: ITransformService);
9
+ }
@@ -1,6 +1,6 @@
1
1
  import { Disposable } from '@univerjs/core';
2
2
  import { ITransformService } from '../../services/transform/transform.service';
3
- export declare const SHEET_ALL_ALGORITHMS: import("../..").IMutationTransformAlgorithm<any, any>[];
3
+ export declare const SHEET_ALL_ALGORITHMS: import("../../services/transform/transform.service").IMutationTransformAlgorithm<any, any>[];
4
4
  /**
5
5
  * This controller register sheet transform algorithms to the transform service.
6
6
  */
@@ -1,9 +1,9 @@
1
1
  export { UpdateSlidePageBackgroundMutationWithSelf } from './background.algo';
2
2
  export { RemoveSlideChartDataSourceMutationWithResource, RemoveSlideChartDataSourceMutationWithSelf, RemoveSlideChartSnapshotMutationWithResource, RemoveSlideChartSnapshotMutationWithSelf, } from './chart-resource.algo';
3
3
  export { SetSlideDrawingApplyMutationWithSelf } from './drawing-json.algo';
4
- export { AddSlideElementMutationWithSelf, RemoveSlideElementMutationWithOthers, UpdateSlideElementMutationWithSelf } from './element.algo';
5
- export { RemoveSlideElementMutationWithCancelGroup, RemoveSlideElementMutationWithSetGroup, SetSlideGroupMutationWithSelf } from './group.algo';
4
+ export { AddSlideElementMutationWithSelf, RemoveSlideElementMutationWithOthers, UpdateSlideElementMutationWithSelf, } from './element.algo';
5
+ export { RemoveSlideElementMutationWithCancelGroup, RemoveSlideElementMutationWithSetGroup, SetSlideGroupMutationWithSelf, } from './group.algo';
6
6
  export { RemoveSlideElementMutationWithOrder } from './order.algo';
7
- export { AddSlidePageMutationWithSelf, MoveSlidePageMutationWithSelf, RemoveSlidePageMutationWithOthers } from './page.algo';
7
+ export { AddSlidePageMutationWithSelf, MoveSlidePageMutationWithSelf, RemoveSlidePageMutationWithOthers, } from './page.algo';
8
8
  export { RemoveSlideTableMutationWithResource, RemoveSlideTableMutationWithSelf } from './table-resource.algo';
9
- export declare const SLIDE_ALL_ALGORITHMS: import("../../..").IMutationTransformAlgorithm<any, any>[];
9
+ export declare const SLIDE_ALL_ALGORITHMS: import("../../../services/transform/transform.service").IMutationTransformAlgorithm<any, any>[];
@@ -1,33 +1,27 @@
1
1
  export { CreateUnitMutation } from './commands/create-unit.mutation';
2
- export type { ICreateUnitMutationParams } from './commands/create-unit.mutation';
3
2
  export { RevertRevisionMutation } from './commands/revert-revision.mutation';
4
3
  export type { IRevertRevisionMutationParams } from './commands/revert-revision.mutation';
5
- export type { IUniverCollaborationConfig } from './config/config';
6
- export { BaseAlgorithms, BaseJson1MutationWithSelf } from './controllers/base-transform/algorithms/base-json1.algo';
7
4
  export { BaseTransformController } from './controllers/base-transform/base-transform.controller';
8
- export { DocAlgorithms, RichTextEditingMutationWithSelf } from './controllers/doc-transform/algorithms/doc-algo';
5
+ export { BoardTransformController } from './controllers/board-transform/board-transform.controller';
6
+ export { RichTextEditingMutationWithSelf } from './controllers/doc-transform/algorithms/doc-algo';
9
7
  export { DocTransformController } from './controllers/doc-transform/doc-transform.controller';
10
8
  export { EmptyMutationInfo } from './controllers/empty';
11
9
  export { SheetTransformController } from './controllers/sheet-transform/sheet-transform.controller';
12
- export { SLIDE_ALL_ALGORITHMS } from './controllers/slide-transform/algorithms';
13
10
  export { SlideTransformController } from './controllers/slide-transform/slide-transform.controller';
14
- export { parseChangesetToProtocol, parseMutationToProtocol, parseProtocolChangeset, parseProtocolCommand, parseProtocolMutation, } from './models/changeset';
11
+ export { parseChangesetToProtocol, parseMutationToProtocol, parseProtocolChangeset, parseProtocolCommand, } from './models/changeset';
15
12
  export type { IChangeset, IFetchMissingCSResult } from './models/changeset';
16
13
  export { CollaborationEvent } from './models/collaboration-events';
17
- export type { IAcknowledgedChangeset, IAcknowledgementEvent, ICollaborationEvent, ICollaborationUser, IFetchingMissEvent, IFetchOperationsEvent, INewChangesetsEvent, INewHostEvent, IOperationEvent, IPermissionUpdateEvent, IPseudoFetchMissingResultEvent, IRejectedChangeset, IRejectionEvent, IRequestHostEvent, IRetryEvent, IShouldCloseConnEvent, ISubmitChangesetEvent, ITerminateEvent, IUpdateCursorEvent, IUserJoinEvent, IUserLeaveEvent, IUserSelectionEvent, } from './models/collaboration-events';
18
- export { type ICombRequestEvent, type ICombResponseEvent, type IHeartbeatRequestEvent, type IHeartbeatResponseEvent, type IHelloRequestEvent, type IHelloResponseEvent, type IIngestQuestEvent, type IJoinRequestEvent, type IJoinResponseEvent, type ILeaveRequestEvent, type IRecvResponseEvent, } from './models/socket-events';
14
+ export type { IAcknowledgedChangeset, IAcknowledgementEvent, ICollaborationEvent, ICollaborationUser, IFetchingMissEvent, IFetchOperationsEvent, INewChangesetsEvent, INewHostEvent, IOperationEvent, IPermissionUpdateEvent, IPseudoFetchMissingResultEvent, IRejectionEvent, IRequestHostEvent, IRetryEvent, IShouldCloseConnEvent, ISubmitChangesetEvent, ITerminateEvent, IUpdateCursorEvent, IUserJoinEvent, IUserLeaveEvent, } from './models/collaboration-events';
15
+ export type { ICombRequestEvent, ICombResponseEvent, IHeartbeatRequestEvent, IHelloRequestEvent, IHelloResponseEvent, IIngestQuestEvent, IJoinRequestEvent, IJoinResponseEvent, ILeaveRequestEvent, IRecvResponseEvent, } from './models/socket-events';
19
16
  export { UniverCollaborationPlugin } from './plugin';
20
17
  export { CompressMutationService } from './services/compress-mutation/compress-mutation.service';
21
- export { RevisionService, SINGLE_HISTORY_MUTATIONS, SINGLE_SNAPSHOT_MUTATIONS } from './services/rev/rev.service';
18
+ export { RevisionService, SINGLE_HISTORY_MUTATIONS, SINGLE_SNAPSHOT_MUTATIONS, } from './services/rev/rev.service';
22
19
  export { SnapshotSaveService } from './services/snapshot/snapshot-save.service';
23
- export { generateTempBaseSnapshot, generateTempDocumentSnapshot, generateTemporarySnap, getSheetBlocksFromSnapshot, transformBaseDataToSnapshot, transformDocumentDataToSnapshot, transformSlideDataToSnapshot, transformSnapshotToBaseData, transformSnapshotToDocumentData, transformSnapshotToSlideData, transformSnapshotToWorkbookData, transformWorkbookDataToSnapshot, } from './services/snapshot/snapshot-transform';
24
- export { decodeSlideOriginalMeta, encodeSlideOriginalMeta, textDecoder, textEncoder, } from './services/snapshot/snapshot-utils';
25
- export { ISnapshotServerService, SnapshotService } from './services/snapshot/snapshot.service';
26
- export { ITransformService, TransformService } from './services/transform/transform.service';
27
- export type { IMutationTransformAlgorithm } from './services/transform/transform.service';
28
- export { isTransformChangesetsFailure, isTransformChangesetsSuccess, isTransformMutationFailure, isTransformMutationsFailure, isTransformMutationsSuccess, isTransformMutationSuccess, isTransformMutationsWithChangesetFailure, isTransformMutationsWithChangesetSuccess, } from './services/transform/types';
29
- export type { IFailureTransformChangesetsResult, IFailureTransformMutationResult, IFailureTransformMutationsResult, IFailureTransformMutationsWithChangesetResult, ISuccessTransformChangesetsResult, ISuccessTransformMutationResult, ISuccessTransformMutationsResult, ISuccessTransformMutationsWithChangesetResult, ITransformChangesetsResult, ITransformMutationResult, ITransformMutationsResult, ITransformMutationsWithChangesetResult, } from './services/transform/types';
30
- export { validateDocBodyAfterApply } from './services/validation/doc-changeset-validation';
31
- export type { IDocBodyValidationResult } from './services/validation/doc-changeset-validation';
32
- export { b64DecodeUnicode, b64EncodeUnicode, mapDocumentTypeToUniverInstanceType, measureAsyncOperation, measureSyncOperation, uuidv4, } from './utils';
20
+ export { getSheetBlocksFromSnapshot, transformDocumentDataToSnapshot, transformSlideDataToSnapshot, transformSnapshotToDocumentData, transformSnapshotToSlideData, transformSnapshotToWorkbookData, transformWorkbookDataToSnapshot, } from './services/snapshot/snapshot-transform';
21
+ export { textDecoder, textEncoder, } from './services/snapshot/snapshot-utils';
22
+ export { ISnapshotServerService, SnapshotService, } from './services/snapshot/snapshot.service';
23
+ export { ITransformService, TransformService, } from './services/transform/transform.service';
24
+ export { isTransformChangesetsFailure, isTransformChangesetsSuccess, isTransformMutationFailure, isTransformMutationsSuccess, isTransformMutationsWithChangesetFailure, isTransformMutationsWithChangesetSuccess, } from './services/transform/types';
25
+ export { validateDocBodyAfterApply, validateDocumentAfterApply } from './services/validation/doc-changeset-validation';
26
+ export { b64DecodeUnicode, b64EncodeUnicode, mapDocumentTypeToUniverInstanceType, measureSyncOperation, uuidv4, } from './utils';
33
27
  export type { ILogContext } from './utils';
@@ -1,5 +1,5 @@
1
1
  import type { ICommandInfo, IMutationInfo, UniverInstanceType } from '@univerjs/core';
2
- import type { IChangeset as IProtocolChangeset, ICommand as IProtocolCommand, IMutation as IProtocolMutation } from '@univerjs/protocol';
2
+ import type { ICommand, IMutation, IChangeset as IProtocolChangeset } from '@univerjs/protocol';
3
3
  export interface IFetchMissingCSResult {
4
4
  changesets: IChangeset[];
5
5
  lastRevision?: number;
@@ -21,7 +21,7 @@ export interface IChangeset {
21
21
  additionalFields?: string;
22
22
  }
23
23
  export declare function parseProtocolChangeset(protocolChangeset: IProtocolChangeset): IChangeset;
24
- export declare function parseProtocolCommand(protocolCommands: IProtocolCommand[]): ICommandInfo[];
24
+ export declare function parseProtocolCommand(protocolCommands: ICommand[]): ICommandInfo[];
25
25
  export declare function parseChangesetToProtocol(changeset: IChangeset): IProtocolChangeset;
26
- export declare function parseProtocolMutation(mutation: IProtocolMutation): IMutationInfo;
27
- export declare function parseMutationToProtocol(mutation: IMutationInfo): IProtocolMutation;
26
+ export declare function parseProtocolMutation(mutation: IMutation): IMutationInfo;
27
+ export declare function parseMutationToProtocol(mutation: IMutationInfo): IMutation;
@@ -1,3 +1,4 @@
1
+ import type { IBoardData } from '@univerjs-pro/boards';
1
2
  import type { ISlideData } from '@univerjs-pro/slides';
2
3
  import type { BaseDataModel, DocumentDataModel, IBaseSnapshot, IDocumentData, IWorkbookData, Workbook } from '@univerjs/core';
3
4
  import type { ISheetBlockMeta, ISnapshot } from '@univerjs/protocol';
@@ -42,4 +43,7 @@ export declare class SnapshotSaveService {
42
43
  saveSlide(unitId: string, slideData: ISlideData, rev: number): Promise<{
43
44
  snapshot: ISnapshot;
44
45
  }>;
46
+ saveBoard(unitId: string, boardData: IBoardData, rev: number): Promise<{
47
+ snapshot: ISnapshot;
48
+ }>;
45
49
  }
@@ -1,3 +1,4 @@
1
+ import type { IBoardData } from '@univerjs-pro/boards';
1
2
  import type { ISlideData } from '@univerjs-pro/slides';
2
3
  import type { IBaseSnapshot, IDocumentData, ILogService, IWorkbookData } from '@univerjs/core';
3
4
  import type { IDeserializedSheetBlock, ISheetBlock, ISheetBlockMeta, ISnapshot } from '@univerjs/protocol';
@@ -36,6 +37,10 @@ export declare function transformSlideDataToSnapshot(_resources: ISlideData['res
36
37
  snapshot: ISnapshot;
37
38
  }>;
38
39
  export declare function transformSnapshotToSlideData(snapshot: ISnapshot): ISlideData;
40
+ export declare function transformBoardDataToSnapshot(_resources: IBoardData['resources'], boardData: IBoardData, unitID: string, rev: number, snapshotService: ISnapshotServerService): Promise<{
41
+ snapshot: ISnapshot;
42
+ }>;
43
+ export declare function transformSnapshotToBoardData(snapshot: ISnapshot): IBoardData;
39
44
  /**
40
45
  *
41
46
  * @param snapshot
@@ -1,3 +1,4 @@
1
+ import type { IBoardData } from '@univerjs-pro/boards';
1
2
  import type { ISlideData } from '@univerjs-pro/slides';
2
3
  import type { ICellData, IDocumentData, IObjectMatrixPrimitiveType, IWorkbookData, IWorksheetData } from '@univerjs/core';
3
4
  import type { ISheetBlock } from '@univerjs/protocol';
@@ -10,11 +11,13 @@ export declare function encodeWorksheetOtherMetas(worksheet: Partial<IWorksheetD
10
11
  export declare function encodeWorkbookOtherMetas(workbook: IWorkbookData): Uint8Array;
11
12
  export declare function encodeDocOriginalMeta(document: IDocumentData): Uint8Array;
12
13
  export declare function encodeSlideOriginalMeta(slide: ISlideData): Uint8Array;
14
+ export declare function encodeBoardOriginalMeta(board: IBoardData): Uint8Array;
13
15
  export declare function decodeWorksheetOtherMetas(buffer: Uint8Array | string): Partial<IWorksheetData>;
14
16
  export declare function decodeWorkbookOtherMetas(buffer: Uint8Array | string): Partial<IWorkbookData>;
15
17
  export declare function decodePartOfCellData(buffer: Uint8Array | object): IObjectMatrixPrimitiveType<ICellData>;
16
18
  export declare function decodeDocOriginalMeta(buffer: Uint8Array | string): Partial<IDocumentData>;
17
19
  export declare function decodeSlideOriginalMeta(buffer: Uint8Array | string): ISlideData;
20
+ export declare function decodeBoardOriginalMeta(buffer: Uint8Array | string): IBoardData;
18
21
  export declare function splitCellDataToBlocks(cellData: IObjectMatrixPrimitiveType<ICellData>, fragmentCellCount?: number, minBlockSize?: number): {
19
22
  blocks: ISheetBlock[];
20
23
  totalCells: number;
@@ -1,11 +1,13 @@
1
+ import type { BoardModel, IBoardData } from '@univerjs-pro/boards';
1
2
  import type { ISlideData, SlideModel } from '@univerjs-pro/slides';
2
- import type { BaseDataModel, DocumentDataModel, IBaseSnapshot, IDocumentData, IWorkbookData, Workbook } from '@univerjs/core';
3
+ import type { BaseDataModel, DocumentDataModel, IBaseSnapshot, ICreateUnitOptions, IDocumentData, IWorkbookData, Workbook } from '@univerjs/core';
3
4
  import type { ICopyFileMetaRequest, ICopyFileMetaResponse, IFetchMissingChangesetsRequest, IFetchMissingChangesetsResponse, IGetDeserializedSheetBlockResponse, IGetLatestCsReqIdBySidRequest, IGetLatestCsReqIdBySidResponse, IGetResourcesRequest, IGetResourcesResponse, IGetSheetBlockRequest, IGetSheetBlockResponse, IGetUnitOnRevRequest, IGetUnitOnRevResponse, IReportUnitRoutingStatsRequest, IReportUnitRoutingStatsResponse, ISaveChangesetRequest, ISaveChangesetResponse, ISaveSheetBlockRequest, ISaveSheetBlockResponse, ISaveSnapshotRequest, ISaveSnapshotResponse, ISnapshot } from '@univerjs/protocol';
4
5
  import type { ILogContext } from '../../utils';
5
6
  import { ICommandService, ILogService, IResourceManagerService, IUniverInstanceService } from '@univerjs/core';
6
7
  import { CompressMutationService } from '../compress-mutation/compress-mutation.service';
7
8
  import { RevisionService } from '../rev/rev.service';
8
9
  export declare function hasSlideSnapshotMeta(snapshot: ISnapshot | null | undefined): boolean;
10
+ export declare function hasBoardSnapshotMeta(snapshot: ISnapshot | null | undefined): boolean;
9
11
  /**
10
12
  * It provides implementations for server side controllers to load or save
11
13
  * or load snapshots. This service should be implemented by the host environment.
@@ -34,6 +36,9 @@ export interface ISnapshotServerService {
34
36
  /** Report unit routing stats */
35
37
  reportUnitRoutingStats?: (context: ILogContext, params: IReportUnitRoutingStatsRequest) => Promise<IReportUnitRoutingStatsResponse>;
36
38
  }
39
+ export interface ISnapshotLoadOptions {
40
+ createOptions?: ICreateUnitOptions;
41
+ }
37
42
  /**
38
43
  * The service provides methods to load snapshots from the snapshot server.
39
44
  */
@@ -46,14 +51,18 @@ export declare class SnapshotService {
46
51
  private _compressMutationService;
47
52
  private _resourceManagerService;
48
53
  constructor(_revisionService: RevisionService, _univerInstanceService: IUniverInstanceService, _snapshotServerService: ISnapshotServerService, _commandService: ICommandService, _logService: ILogService, _compressMutationService: CompressMutationService, _resourceManagerService: IResourceManagerService);
49
- loadSheet(unitId: string, rev: number, context?: ILogContext): Promise<Workbook>;
50
- loadBase(unitId: string, rev: number, context?: ILogContext): Promise<BaseDataModel>;
51
- loadDoc(unitID: string, rev: number, context?: ILogContext): Promise<DocumentDataModel>;
52
- loadSlide(unitID: string, rev?: number, context?: ILogContext): Promise<SlideModel>;
54
+ loadSheet(unitId: string, rev: number, context?: ILogContext, options?: ISnapshotLoadOptions): Promise<Workbook>;
55
+ loadBase(unitId: string, rev: number, context?: ILogContext, options?: ISnapshotLoadOptions): Promise<BaseDataModel>;
56
+ loadDoc(unitID: string, rev: number, context?: ILogContext, options?: ISnapshotLoadOptions): Promise<DocumentDataModel>;
57
+ loadSlide(unitID: string, rev?: number, context?: ILogContext, options?: ISnapshotLoadOptions): Promise<SlideModel>;
58
+ loadBoard(unitID: string, rev?: number, context?: ILogContext): Promise<BoardModel>;
53
59
  saveSheet(_context: ILogContext, workbook: Workbook): IWorkbookData;
54
60
  saveBase(_context: ILogContext, base: BaseDataModel): IBaseSnapshot;
55
61
  saveDoc(_context: ILogContext, document: DocumentDataModel): IDocumentData;
56
62
  saveSlide(unitId: string, slideData: ISlideData, rev: number): Promise<{
57
63
  snapshot: ISnapshot;
58
64
  }>;
65
+ saveBoard(unitId: string, boardData: IBoardData, rev: number): Promise<{
66
+ snapshot: ISnapshot;
67
+ }>;
59
68
  }
@@ -1,6 +1,7 @@
1
- import type { IDocumentBody } from '@univerjs/core';
1
+ import type { IDocumentBody, IDocumentData } from '@univerjs/core';
2
2
  export interface IDocBodyValidationResult {
3
3
  ok: boolean;
4
4
  errors: string[];
5
5
  }
6
6
  export declare function validateDocBodyAfterApply(body: IDocumentBody): IDocBodyValidationResult;
7
+ export declare function validateDocumentAfterApply(snapshot: Pick<IDocumentData, 'body' | 'headers' | 'footers' | 'tableSource'>): IDocBodyValidationResult;