@univerjs-pro/exchange-client 0.5.0-alpha.0 → 0.5.0-beta.1
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/lib/cjs/facade.js +1 -1
- package/lib/cjs/index.js +2 -2
- package/lib/cjs/locale/en-US.js +1 -1
- package/lib/cjs/locale/fa-IR.js +1 -1
- package/lib/cjs/locale/ru-RU.js +1 -1
- package/lib/cjs/locale/vi-VN.js +1 -1
- package/lib/cjs/locale/zh-CN.js +1 -1
- package/lib/cjs/locale/zh-TW.js +1 -1
- package/lib/es/facade.js +1 -1
- package/lib/es/index.js +2 -2
- package/lib/es/locale/en-US.js +1 -1
- package/lib/es/locale/fa-IR.js +1 -1
- package/lib/es/locale/ru-RU.js +1 -1
- package/lib/es/locale/vi-VN.js +1 -1
- package/lib/es/locale/zh-CN.js +1 -1
- package/lib/es/locale/zh-TW.js +1 -1
- package/lib/types/controllers/config.schema.d.ts +16 -0
- package/lib/types/controllers/exchange.controller.d.ts +8 -0
- package/lib/types/facade/f-univer.d.ts +36 -0
- package/lib/types/facade/index.d.ts +1 -0
- package/lib/types/index.d.ts +10 -483
- package/lib/types/locale/en-US.d.ts +3 -0
- package/lib/types/locale/fa-IR.d.ts +3 -0
- package/lib/types/locale/ru-RU.d.ts +3 -0
- package/lib/types/locale/vi-VN.d.ts +3 -0
- package/lib/types/locale/zh-CN.d.ts +21 -0
- package/lib/types/locale/zh-TW.d.ts +3 -0
- package/lib/types/plugin.d.ts +11 -0
- package/lib/types/services/__tests__/snapshot.spec.d.ts +1 -0
- package/lib/types/services/exchange.service.d.ts +87 -0
- package/lib/types/services/operate.service.d.ts +121 -0
- package/lib/types/services/request.service.d.ts +107 -0
- package/lib/types/services/upload-notification.service.d.ts +52 -0
- package/lib/types/services/utils/snapshot.d.ts +76 -0
- package/lib/types/services/utils/tool.d.ts +19 -0
- package/lib/types/views/UploadNotificationContainer.d.ts +2 -0
- package/lib/types/views/link-list/LinkList.d.ts +6 -0
- package/lib/types/views/upload-again/UploadAgain.d.ts +2 -0
- package/lib/types/views/upload-button/UploadButton.d.ts +7 -0
- package/lib/types/views/upload-error/UploadError.d.ts +2 -0
- package/lib/types/views/upload-notification/UploadNotification.d.ts +2 -0
- package/lib/types/views/upload-success/UploadSuccess.d.ts +5 -0
- package/lib/types/views/uploading/Uploading.d.ts +2 -0
- package/lib/types/views/uploading/upload-cancel/UploadCancel.d.ts +2 -0
- package/lib/types/views/uploading/upload-progress/UploadProgress.d.ts +5 -0
- package/lib/umd/facade.js +1 -1
- package/lib/umd/index.js +2 -2
- package/lib/umd/locale/en-US.js +1 -1
- package/lib/umd/locale/fa-IR.js +1 -1
- package/lib/umd/locale/ru-RU.js +1 -1
- package/lib/umd/locale/vi-VN.js +1 -1
- package/lib/umd/locale/zh-CN.js +1 -1
- package/lib/umd/locale/zh-TW.js +1 -1
- package/package.json +12 -12
@@ -0,0 +1,21 @@
|
|
1
|
+
declare const locales: {
|
2
|
+
exchange: {
|
3
|
+
file: string;
|
4
|
+
upload: string;
|
5
|
+
download: string;
|
6
|
+
uploading: string;
|
7
|
+
uploadSuccess: string;
|
8
|
+
uploadSuccessTip: string;
|
9
|
+
downloading: string;
|
10
|
+
downloadSuccess: string;
|
11
|
+
unknownMistake: string;
|
12
|
+
networkError: string;
|
13
|
+
tooLarge: string;
|
14
|
+
internalError: string;
|
15
|
+
interrupt: string;
|
16
|
+
wait: string;
|
17
|
+
cancel: string;
|
18
|
+
uploadAgain: string;
|
19
|
+
};
|
20
|
+
};
|
21
|
+
export default locales;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { IUniverExchangeClientConfig } from './controllers/config.schema';
|
2
|
+
import { IConfigService, Injector, Plugin } from '@univerjs/core';
|
3
|
+
export declare class UniverExchangeClientPlugin extends Plugin {
|
4
|
+
private readonly _config;
|
5
|
+
readonly _injector: Injector;
|
6
|
+
private readonly _configService;
|
7
|
+
static pluginName: string;
|
8
|
+
constructor(_config: IUniverExchangeClientConfig | undefined, _injector: Injector, _configService: IConfigService);
|
9
|
+
onStarting(): void;
|
10
|
+
onReady(): void;
|
11
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,87 @@
|
|
1
|
+
import { IDisposable, IDocumentData, IWorkbookData, Disposable, IConfigService } from '@univerjs/core';
|
2
|
+
import { IError, UniverType } from '@univerjs/protocol';
|
3
|
+
import { RequestService } from './request.service';
|
4
|
+
import { Observable } from 'rxjs';
|
5
|
+
export declare enum RequestState {
|
6
|
+
UPLOAD = 0,
|
7
|
+
IMPORT = 1,
|
8
|
+
EXPORT = 2,
|
9
|
+
GET_TASK = 3,
|
10
|
+
SIGN_URL = 4,
|
11
|
+
GET_JSON = 5,
|
12
|
+
GET_FILE = 6
|
13
|
+
}
|
14
|
+
export interface IRequestState {
|
15
|
+
error: IError | undefined;
|
16
|
+
state: RequestState;
|
17
|
+
}
|
18
|
+
export interface IExchangeService {
|
19
|
+
requestState$: Observable<IRequestState>;
|
20
|
+
/**
|
21
|
+
* Import XLSX file to workbook data
|
22
|
+
* @param file
|
23
|
+
*/
|
24
|
+
importXLSXToSnapshot(file: File | string): Promise<IWorkbookData | undefined>;
|
25
|
+
/**
|
26
|
+
* Export XLSX file by unit id
|
27
|
+
* @param unitId
|
28
|
+
*/
|
29
|
+
exportXLSXByUnitId(unitId: string): Promise<File | undefined>;
|
30
|
+
/**
|
31
|
+
* Export XLSX file by workbook data
|
32
|
+
* @param data
|
33
|
+
* @returns
|
34
|
+
*/
|
35
|
+
exportXLSXBySnapshot(snapshot: IWorkbookData): Promise<File | undefined>;
|
36
|
+
/**
|
37
|
+
* Import DOCX file to document data
|
38
|
+
* @param file
|
39
|
+
*/
|
40
|
+
importDOCXToSnapshot(file: File | string): Promise<IDocumentData | undefined>;
|
41
|
+
/**
|
42
|
+
* Export DOCX file by unit id
|
43
|
+
* @param unitId
|
44
|
+
*/
|
45
|
+
exportDOCXByUnitId(unitId: string): Promise<File | undefined>;
|
46
|
+
/**
|
47
|
+
* Export DOCX file by document data
|
48
|
+
* @param data
|
49
|
+
* @returns
|
50
|
+
*/
|
51
|
+
exportDOCXBySnapshot(snapshot: IDocumentData): Promise<File | undefined>;
|
52
|
+
/**
|
53
|
+
* Import file to unit id
|
54
|
+
* @param file
|
55
|
+
* @param univerType
|
56
|
+
*/
|
57
|
+
importFileToUnitId(file: File | string, univerType: UniverType): Promise<string | undefined>;
|
58
|
+
}
|
59
|
+
export declare const IExchangeService: import('@wendellhu/redi').IdentifierDecorator<IExchangeService>;
|
60
|
+
export declare class ExchangeService extends Disposable implements IExchangeService, IDisposable {
|
61
|
+
private readonly _configService;
|
62
|
+
private readonly _requestService;
|
63
|
+
private readonly _requestState$;
|
64
|
+
readonly requestState$: Observable<IRequestState>;
|
65
|
+
constructor(_configService: IConfigService, _requestService: RequestService);
|
66
|
+
dispose(): void;
|
67
|
+
importDOCXToSnapshot(file: File | string): Promise<IDocumentData | undefined>;
|
68
|
+
exportDOCXByUnitId(unitId: string): Promise<File | undefined>;
|
69
|
+
exportDOCXBySnapshot(snapshot: IDocumentData): Promise<File | undefined>;
|
70
|
+
importXLSXToSnapshot(file: File | string): Promise<IWorkbookData | undefined>;
|
71
|
+
exportXLSXByUnitId(unitId: string): Promise<File | undefined>;
|
72
|
+
exportXLSXBySnapshot(data: IWorkbookData): Promise<File | undefined>;
|
73
|
+
importFileToUnitId(file: File | string, univerType: UniverType): Promise<string | undefined>;
|
74
|
+
private _importToSnapshot;
|
75
|
+
/**
|
76
|
+
* Export file by snapshot
|
77
|
+
* @param snapshot
|
78
|
+
* @param univerType
|
79
|
+
* @returns
|
80
|
+
*/
|
81
|
+
private _exportBySnapshot;
|
82
|
+
private _export;
|
83
|
+
private _upload;
|
84
|
+
private _import;
|
85
|
+
private _signUrl;
|
86
|
+
private _getDownloadEndpointURL;
|
87
|
+
}
|
@@ -0,0 +1,121 @@
|
|
1
|
+
import { IDisposable, Disposable, ILogService, IUniverInstanceService, LocaleService, UniverInstanceType } from '@univerjs/core';
|
2
|
+
import { Observable } from 'rxjs';
|
3
|
+
import { ExchangeService } from './exchange.service';
|
4
|
+
import { UploadNotificationService } from './upload-notification.service';
|
5
|
+
import { UniverType } from '@univerjs/protocol';
|
6
|
+
import { IMessageService } from '@univerjs/ui';
|
7
|
+
export interface IExchangeOperateService {
|
8
|
+
interrupt(): void;
|
9
|
+
/**
|
10
|
+
* Upload file to server, get unitId and open unit
|
11
|
+
* @param file
|
12
|
+
*/
|
13
|
+
importXLSXToUnitId(): Promise<string | undefined>;
|
14
|
+
/**
|
15
|
+
* Upload xlsx file to server, get snapshot and refresh current sheet
|
16
|
+
* @param file
|
17
|
+
*/
|
18
|
+
importXLSXToSnapshot(): Promise<void>;
|
19
|
+
/**
|
20
|
+
* Export xlsx file by unitId
|
21
|
+
* @returns
|
22
|
+
*/
|
23
|
+
exportXLSXByUnitId(unitId?: string, unitName?: string, unitType?: UniverInstanceType): Promise<void>;
|
24
|
+
/**
|
25
|
+
* Export xlsx file by snapshot
|
26
|
+
* @returns
|
27
|
+
*/
|
28
|
+
exportXLSXBySnapshot(): Promise<void>;
|
29
|
+
/**
|
30
|
+
* Upload file to server, get unitId and open unit
|
31
|
+
* @param file
|
32
|
+
*/
|
33
|
+
importDOCXToUnitId(): Promise<string | undefined>;
|
34
|
+
/**
|
35
|
+
* Upload docx file to server, get snapshot and refresh current doc
|
36
|
+
* @param file
|
37
|
+
*/
|
38
|
+
importDOCXToSnapshot(): Promise<void>;
|
39
|
+
/**
|
40
|
+
* Export docx file by unitId
|
41
|
+
* @returns
|
42
|
+
*/
|
43
|
+
exportDOCXByUnitId(unitId?: string, unitName?: string, unitType?: UniverType): Promise<void>;
|
44
|
+
/**
|
45
|
+
* Export docx file by snapshot
|
46
|
+
* @returns
|
47
|
+
*/
|
48
|
+
exportDOCXBySnapshot(): Promise<void>;
|
49
|
+
/**
|
50
|
+
* Upload file, supports multiple types
|
51
|
+
* @param file
|
52
|
+
*/
|
53
|
+
uploadFileToUnitId(types: UniverType[]): Promise<{
|
54
|
+
unitId: string;
|
55
|
+
type: UniverType;
|
56
|
+
} | undefined>;
|
57
|
+
/**
|
58
|
+
* Customize the imported Unit URL format according to the needs of your own scene
|
59
|
+
* @param getLink
|
60
|
+
*/
|
61
|
+
registerLink(getLink: (unitId: string, univerType: UniverInstanceType) => string): void;
|
62
|
+
/**
|
63
|
+
* Observable of upload progress
|
64
|
+
*/
|
65
|
+
progress$: Observable<IUploadProgress>;
|
66
|
+
}
|
67
|
+
export interface IUploadProgress {
|
68
|
+
/** Task that already completed. */
|
69
|
+
done: number;
|
70
|
+
/** The total number of tasks need to execute. */
|
71
|
+
count: number;
|
72
|
+
}
|
73
|
+
export declare const IExchangeOperateService: import('@wendellhu/redi').IdentifierDecorator<IExchangeOperateService>;
|
74
|
+
export declare class ExchangeOperateService extends Disposable implements IExchangeOperateService, IDisposable {
|
75
|
+
private _univerInstanceService;
|
76
|
+
private readonly _messageService;
|
77
|
+
private readonly _localeService;
|
78
|
+
private readonly _exchangeService;
|
79
|
+
private readonly _uploadNotificationService;
|
80
|
+
protected readonly _logService: ILogService;
|
81
|
+
private _interrupted;
|
82
|
+
private readonly _progress$;
|
83
|
+
readonly progress$: Observable<IUploadProgress>;
|
84
|
+
private _totalUploadTaskCount;
|
85
|
+
private _doneUploadTaskCount;
|
86
|
+
constructor(_univerInstanceService: IUniverInstanceService, _messageService: IMessageService, _localeService: LocaleService, _exchangeService: ExchangeService, _uploadNotificationService: UploadNotificationService, _logService: ILogService);
|
87
|
+
interrupt(): void;
|
88
|
+
uploadFileToUnitId(types: UniverType[]): Promise<{
|
89
|
+
unitId: string;
|
90
|
+
type: UniverType;
|
91
|
+
} | undefined>;
|
92
|
+
importDOCXToUnitId(): Promise<string | undefined>;
|
93
|
+
importDOCXToSnapshot(): Promise<void>;
|
94
|
+
exportDOCXByUnitId(unitId?: string, unitName?: string, unitType?: UniverInstanceType): Promise<void>;
|
95
|
+
exportDOCXBySnapshot(): Promise<void>;
|
96
|
+
importXLSXToUnitId(): Promise<string | undefined>;
|
97
|
+
importXLSXToSnapshot(): Promise<void>;
|
98
|
+
exportXLSXByUnitId(unitId?: string, unitName?: string): Promise<void>;
|
99
|
+
exportXLSXBySnapshot(): Promise<void>;
|
100
|
+
registerLink(getLink: (unitId: string, univerType: UniverInstanceType) => string): void;
|
101
|
+
private _importFileToUnitId;
|
102
|
+
private _getUnitID;
|
103
|
+
private _getUnitName;
|
104
|
+
private _getUnitJson;
|
105
|
+
/**
|
106
|
+
* Get unit link /?unit={unitId}&type=2
|
107
|
+
* @param unitId
|
108
|
+
* @param type
|
109
|
+
* @returns
|
110
|
+
*/
|
111
|
+
private _getLinkByUnitId;
|
112
|
+
private _refresh;
|
113
|
+
private _showNetworkError;
|
114
|
+
private _showDownloadMessage;
|
115
|
+
private _showUploadMessage;
|
116
|
+
private _emitProgress;
|
117
|
+
private _addTotalCount;
|
118
|
+
private _addDoneTask;
|
119
|
+
private _completeProgress;
|
120
|
+
private _clearProgress;
|
121
|
+
}
|
@@ -0,0 +1,107 @@
|
|
1
|
+
import { IDisposable, IConfigService } from '@univerjs/core';
|
2
|
+
import { IError, UniverType } from '@univerjs/protocol';
|
3
|
+
import { ISheetBlockJson, ISnapshotJson } from './utils/snapshot';
|
4
|
+
import { HTTPService } from '@univerjs/network';
|
5
|
+
/** @deprecated Will be removed in the 0.2.19 release */
|
6
|
+
export declare const EXCHANGE_UPLOAD_FILE_SERVER_URL_KEY = "EXCHANGE_UPLOAD_FILE_SERVER_URL_KEY";
|
7
|
+
/** @deprecated Will be removed in the 0.2.19 release */
|
8
|
+
export declare const EXCHANGE_IMPORT_SERVER_URL_KEY = "EXCHANGE_IMPORT_SERVER_URL_KEY";
|
9
|
+
/** @deprecated Will be removed in the 0.2.19 release */
|
10
|
+
export declare const EXCHANGE_EXPORT_SERVER_URL_KEY = "EXCHANGE_EXPORT_SERVER_URL_KEY";
|
11
|
+
/** @deprecated Will be removed in the 0.2.19 release */
|
12
|
+
export declare const EXCHANGE_GET_TASK_SERVER_URL_KEY = "EXCHANGE_GET_TASK_SERVER_URL_KEY";
|
13
|
+
/** @deprecated Will be removed in the 0.2.19 release */
|
14
|
+
export declare const EXCHANGE_SIGN_URL_SERVER_URL_KEY = "EXCHANGE_SIGN_URL_SERVER_URL_KEY";
|
15
|
+
export interface IFileUploadResponse {
|
16
|
+
FileId: string;
|
17
|
+
error: IError;
|
18
|
+
}
|
19
|
+
export declare enum ImportOutputType {
|
20
|
+
UNDEFINED = 0,
|
21
|
+
/** UNIT - Import to univer unit, unit is store in the database */
|
22
|
+
UNIT = 1,
|
23
|
+
/** JSON - Import and convert to a json file which represents a univer unit, not store in the database */
|
24
|
+
JSON = 2,
|
25
|
+
UNRECOGNIZED = -1
|
26
|
+
}
|
27
|
+
export interface IImportRequest {
|
28
|
+
fileID: string;
|
29
|
+
type: UniverType;
|
30
|
+
outputType: ImportOutputType;
|
31
|
+
/** not supported yet */
|
32
|
+
fileUrl: string;
|
33
|
+
}
|
34
|
+
export interface IImportResponse {
|
35
|
+
taskID: string;
|
36
|
+
error: IError;
|
37
|
+
}
|
38
|
+
export interface IExportRequest {
|
39
|
+
/** if unitID is specified, the input is the unit in the database */
|
40
|
+
unitID: string;
|
41
|
+
/** if jsonID is specified, the input is the json file which represents a univer unit */
|
42
|
+
jsonID: string;
|
43
|
+
type: UniverType;
|
44
|
+
}
|
45
|
+
export interface IExportResponse {
|
46
|
+
error: IError | undefined;
|
47
|
+
taskID: string;
|
48
|
+
}
|
49
|
+
export interface IGetTaskResponse {
|
50
|
+
error: IError | undefined;
|
51
|
+
taskID: string;
|
52
|
+
status: string;
|
53
|
+
import?: IImportTaskResult | undefined;
|
54
|
+
export?: IExportTaskResult | undefined;
|
55
|
+
}
|
56
|
+
export interface IImportTaskResult {
|
57
|
+
outputType: ImportOutputType;
|
58
|
+
unitID: string;
|
59
|
+
jsonID: string;
|
60
|
+
}
|
61
|
+
export interface IExportTaskResult {
|
62
|
+
fileID: string;
|
63
|
+
fileUrl: string;
|
64
|
+
}
|
65
|
+
export interface ISignUrlResponse {
|
66
|
+
error: IError | undefined;
|
67
|
+
url: string;
|
68
|
+
}
|
69
|
+
export interface IBindingResponse {
|
70
|
+
error: IError;
|
71
|
+
}
|
72
|
+
export interface ISnapshotJsonResponse {
|
73
|
+
snapshot: Partial<ISnapshotJson>;
|
74
|
+
sheetBlocks: ISheetBlockJson;
|
75
|
+
}
|
76
|
+
export interface IRequestService {
|
77
|
+
upload(file: File | string): Promise<IFileUploadResponse | undefined>;
|
78
|
+
import(importRequest: IImportRequest): Promise<IImportResponse | undefined>;
|
79
|
+
export(exportRequest: IExportRequest): Promise<IExportResponse | undefined>;
|
80
|
+
getTask(taskID: string): Promise<IGetTaskResponse | undefined>;
|
81
|
+
signUrl(fileID: string): Promise<ISignUrlResponse | undefined>;
|
82
|
+
}
|
83
|
+
export declare const IRequestService: import('@wendellhu/redi').IdentifierDecorator<IRequestService>;
|
84
|
+
/**
|
85
|
+
* TODO@Dushusir maybe move to ExchangeClientPlugin plugin for reuse
|
86
|
+
*/
|
87
|
+
export declare class RequestService implements IRequestService, IDisposable {
|
88
|
+
private readonly _configService;
|
89
|
+
private readonly _httpService;
|
90
|
+
constructor(_configService: IConfigService, _httpService: HTTPService);
|
91
|
+
dispose(): void;
|
92
|
+
/**
|
93
|
+
* upload file to server
|
94
|
+
* @param file
|
95
|
+
*/
|
96
|
+
upload(file: File | string, size?: number, flate?: boolean): Promise<IFileUploadResponse | undefined>;
|
97
|
+
import(importRequest: IImportRequest): Promise<IImportResponse | undefined>;
|
98
|
+
export(exportRequest: IExportRequest): Promise<IExportResponse | undefined>;
|
99
|
+
getTask(taskID: string): Promise<IGetTaskResponse | undefined>;
|
100
|
+
signUrl(fileID: string): Promise<ISignUrlResponse | undefined>;
|
101
|
+
private _getUploadFileURL;
|
102
|
+
private _getImportURL;
|
103
|
+
private _getExportURL;
|
104
|
+
private _getTaskURL;
|
105
|
+
private _getSignURL;
|
106
|
+
private _getMaxPollingTime;
|
107
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { Disposable, IDisposable } from '@univerjs/core';
|
2
|
+
import { Observable } from 'rxjs';
|
3
|
+
import { UniverType } from '@univerjs/protocol';
|
4
|
+
export declare enum UploadNotificationState {
|
5
|
+
UPLOADING = 0,
|
6
|
+
SUCCESS = 1,
|
7
|
+
ERROR = 2
|
8
|
+
}
|
9
|
+
export interface ILinkList {
|
10
|
+
link: string;
|
11
|
+
name: string;
|
12
|
+
type: UniverType;
|
13
|
+
}
|
14
|
+
export interface IUploadNotificationService {
|
15
|
+
visible$: Observable<boolean>;
|
16
|
+
state$: Observable<UploadNotificationState>;
|
17
|
+
list$: Observable<ILinkList[]>;
|
18
|
+
/**
|
19
|
+
* Show upload notification
|
20
|
+
*/
|
21
|
+
show(): void;
|
22
|
+
/**
|
23
|
+
* Hide upload notification
|
24
|
+
*/
|
25
|
+
hide(): void;
|
26
|
+
/**
|
27
|
+
* Update upload notification state
|
28
|
+
* @param state
|
29
|
+
*/
|
30
|
+
updateState(state: UploadNotificationState): void;
|
31
|
+
/**
|
32
|
+
* Push link to upload notification
|
33
|
+
* @param link
|
34
|
+
*/
|
35
|
+
pushLink(link: ILinkList): void;
|
36
|
+
}
|
37
|
+
export declare const IUploadNotificationService: import('@wendellhu/redi').IdentifierDecorator<IUploadNotificationService>;
|
38
|
+
export declare class UploadNotificationService extends Disposable implements IUploadNotificationService, IDisposable {
|
39
|
+
private readonly _visible$;
|
40
|
+
private readonly _state$;
|
41
|
+
private readonly _list$;
|
42
|
+
readonly visible$: Observable<boolean>;
|
43
|
+
readonly state$: Observable<UploadNotificationState>;
|
44
|
+
readonly list$: Observable<ILinkList[]>;
|
45
|
+
private _list;
|
46
|
+
constructor();
|
47
|
+
dispose(): void;
|
48
|
+
show(): void;
|
49
|
+
hide(): void;
|
50
|
+
updateState(state: UploadNotificationState): void;
|
51
|
+
pushLink(link: ILinkList): void;
|
52
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import { IWorkbookData, Nullable } from '@univerjs/core';
|
2
|
+
import { ICopyFileMetaRequest, ICopyFileMetaResponse, IDocumentMeta, IFetchMissingChangesetsRequest, IFetchMissingChangesetsResponse, IGetDeserializedSheetBlockResponse, IGetLatestCsReqIdBySidRequest, IGetLatestCsReqIdBySidResponse, IGetResourcesRequest, IGetResourcesResponse, IGetSheetBlockRequest, IGetSheetBlockResponse, IGetUnitOnRevRequest, IGetUnitOnRevResponse, ISaveChangesetRequest, ISaveChangesetResponse, ISaveSheetBlockRequest, ISaveSheetBlockResponse, ISaveSnapshotRequest, ISaveSnapshotResponse, ISheetBlock, ISnapshot, IWorkbookMeta, IWorksheetMeta } from '@univerjs/protocol';
|
3
|
+
import { ILogContext, ISnapshotServerService } from '@univerjs-pro/collaboration';
|
4
|
+
export interface IWorksheetMetaJson extends Omit<IWorksheetMeta, 'originalMeta'> {
|
5
|
+
originalMeta: string;
|
6
|
+
}
|
7
|
+
export interface IWorkbookMetaJson extends Omit<IWorkbookMeta, 'originalMeta' | 'sheets'> {
|
8
|
+
originalMeta: string;
|
9
|
+
sheets: {
|
10
|
+
[key: string]: Partial<IWorksheetMetaJson>;
|
11
|
+
};
|
12
|
+
}
|
13
|
+
export interface IDocumentMetaJson extends Omit<IDocumentMeta, 'originalMeta'> {
|
14
|
+
originalMeta: string;
|
15
|
+
}
|
16
|
+
export interface ISnapshotJson extends Omit<ISnapshot, 'workbook' | 'doc'> {
|
17
|
+
workbook: Partial<IWorkbookMetaJson>;
|
18
|
+
doc: Partial<IDocumentMetaJson>;
|
19
|
+
}
|
20
|
+
export interface ISheetBlockData extends Omit<ISheetBlock, 'data'> {
|
21
|
+
data: string;
|
22
|
+
}
|
23
|
+
export interface ISheetBlockJson {
|
24
|
+
[key: string]: Partial<ISheetBlockData>;
|
25
|
+
}
|
26
|
+
export interface ISnapshotBlockJson {
|
27
|
+
snapshot: ISnapshotJson;
|
28
|
+
sheetBlocks: ISheetBlockJson;
|
29
|
+
}
|
30
|
+
export interface ISnapshotBlockJsonResponse {
|
31
|
+
snapshot: ISnapshot;
|
32
|
+
sheetBlocks: {
|
33
|
+
[key: string]: ISheetBlock;
|
34
|
+
};
|
35
|
+
}
|
36
|
+
/**
|
37
|
+
* Convert the Uint8Array in the snapshot to a string for easy transmission to the backend
|
38
|
+
* @param snapshot
|
39
|
+
* @returns
|
40
|
+
*/
|
41
|
+
export declare function transformSnapshotMetaToString(snapshot: ISnapshot): Nullable<ISnapshotJson>;
|
42
|
+
/**
|
43
|
+
* Convert the Uint8Array in the sheet block to a string for easy transmission to the backend
|
44
|
+
* @param sheetBlocks
|
45
|
+
* @returns
|
46
|
+
*/
|
47
|
+
export declare function transformSheetBlockMetaToString(sheetBlocks: ISheetBlock[]): ISheetBlockJson;
|
48
|
+
/**
|
49
|
+
* Convert the workbook data to snapshot data
|
50
|
+
* @param workbookData
|
51
|
+
* @returns
|
52
|
+
*/
|
53
|
+
export declare function transformWorkbookDataToSnapshotJson(workbookData: IWorkbookData): Promise<ISnapshotBlockJson>;
|
54
|
+
/**
|
55
|
+
* The server needs to fully implement all interfaces, but when used by the client, use saveSheetBlock to cache the sheet block locally, and use getSheetBlock to obtain the sheet block.
|
56
|
+
*/
|
57
|
+
export declare class ClientSnapshotServerService implements ISnapshotServerService {
|
58
|
+
private _sheetBlockCache;
|
59
|
+
/** Load snapshot from a database. */
|
60
|
+
getUnitOnRev(context: ILogContext, params: IGetUnitOnRevRequest): Promise<IGetUnitOnRevResponse>;
|
61
|
+
/** Load sheet block from a database. */
|
62
|
+
getSheetBlock(context: ILogContext, params: IGetSheetBlockRequest): Promise<IGetSheetBlockResponse>;
|
63
|
+
/** Load deserialized sheet block from a database. */
|
64
|
+
getDeserializedSheetBlock(context: ILogContext, params: IGetSheetBlockRequest): Promise<IGetDeserializedSheetBlockResponse>;
|
65
|
+
/** Fetch missing changeset */
|
66
|
+
fetchMissingChangesets(context: ILogContext, params: IFetchMissingChangesetsRequest): Promise<IFetchMissingChangesetsResponse>;
|
67
|
+
getResourcesRequest(context: ILogContext, params: IGetResourcesRequest): Promise<IGetResourcesResponse>;
|
68
|
+
/** Save snapshot to a database. */
|
69
|
+
saveSnapshot(context: ILogContext, params: ISaveSnapshotRequest): Promise<ISaveSnapshotResponse>;
|
70
|
+
/** Save sheet block to a database. */
|
71
|
+
saveSheetBlock(context: ILogContext, params: ISaveSheetBlockRequest): Promise<ISaveSheetBlockResponse>;
|
72
|
+
/** Save changeset to a database. */
|
73
|
+
saveChangeset(context: ILogContext, params: ISaveChangesetRequest): Promise<ISaveChangesetResponse>;
|
74
|
+
copyFileMeta(context: ILogContext, params: ICopyFileMetaRequest): Promise<ICopyFileMetaResponse>;
|
75
|
+
getLatestCsReqIdBySid(context: ILogContext, params: IGetLatestCsReqIdBySidRequest): Promise<IGetLatestCsReqIdBySidResponse>;
|
76
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { UniverType } from '@univerjs/protocol';
|
2
|
+
export declare function downloadFileByURL(url: string, filename: string, fileExt: string): void;
|
3
|
+
/**
|
4
|
+
* Triggers a download of a given File object.
|
5
|
+
*
|
6
|
+
* @param {File} file - The File object to be downloaded.
|
7
|
+
*/
|
8
|
+
export declare function downloadFile(file: File | Blob, filename: string, fileExt: string): void;
|
9
|
+
export declare function getUniverTypeByFile(file: File): UniverType.UNIVER_UNKNOWN | UniverType.UNIVER_DOC | UniverType.UNIVER_SHEET | UniverType.UNIVER_SLIDE;
|
10
|
+
export declare function getUploadFile(types: UniverType[], multiple?: boolean): Promise<FileList | null>;
|
11
|
+
export declare function getFileByURL(url: string): Promise<File | undefined>;
|
12
|
+
export declare function getFileNameFromURL(url: string): string | undefined;
|
13
|
+
export declare function getTextFromURL(url: string): Promise<string | undefined>;
|
14
|
+
export declare function blobToString(blob: Blob): Promise<string>;
|
15
|
+
export declare function bufferToFile(buffer: Uint8Array): File;
|
16
|
+
export declare function replaceType(path: string, type: string): string;
|
17
|
+
export declare function replaceUnitId(path: string, type: string): string;
|
18
|
+
export declare function replaceTaskID(path: string, taskID: string): string;
|
19
|
+
export declare function replaceFileID(path: string, fileID: string): string;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { default as React } from 'react';
|
2
|
+
export interface IUploadButton {
|
3
|
+
children?: React.ReactNode;
|
4
|
+
className?: string;
|
5
|
+
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
6
|
+
}
|
7
|
+
export declare function UploadButton(props: IUploadButton): React.JSX.Element;
|
package/lib/umd/facade.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
function
|
1
|
+
function _0x11b8(_0x4420ae,_0x8896b6){const _0x552877=_0x5528();return _0x11b8=function(_0x11b802,_0x2f2071){_0x11b802=_0x11b802-0x97;let _0x3dc493=_0x552877[_0x11b802];return _0x3dc493;},_0x11b8(_0x4420ae,_0x8896b6);}(function(_0x5a3e5c,_0x3211bd){const _0x46ae41=_0x11b8,_0xb73449=_0x5a3e5c();while(!![]){try{const _0x429541=parseInt(_0x46ae41(0xa7))/0x1*(parseInt(_0x46ae41(0x98))/0x2)+-parseInt(_0x46ae41(0xaf))/0x3+parseInt(_0x46ae41(0xa5))/0x4*(parseInt(_0x46ae41(0xb7))/0x5)+-parseInt(_0x46ae41(0x97))/0x6*(-parseInt(_0x46ae41(0xa3))/0x7)+-parseInt(_0x46ae41(0xa1))/0x8+-parseInt(_0x46ae41(0xb1))/0x9+parseInt(_0x46ae41(0xb5))/0xa*(-parseInt(_0x46ae41(0x9c))/0xb);if(_0x429541===_0x3211bd)break;else _0xb73449['push'](_0xb73449['shift']());}catch(_0x558185){_0xb73449['push'](_0xb73449['shift']());}}}(_0x5528,0x51cde),function(_0x339155,_0x4cd4f5){const _0x49824a=_0x11b8;typeof exports==_0x49824a(0x9e)&&typeof module<'u'?_0x4cd4f5(require(_0x49824a(0xa4)),require(_0x49824a(0xae))):typeof define==_0x49824a(0xa6)&&define['amd']?define([_0x49824a(0xa4),_0x49824a(0xae)],_0x4cd4f5):(_0x339155=typeof globalThis<'u'?globalThis:_0x339155||self,_0x4cd4f5(_0x339155[_0x49824a(0xb6)],_0x339155[_0x49824a(0x99)]));}(this,function(_0x33744e,_0x281b3b){'use strict';const _0xb4256d=_0x11b8;var _0x12e071=(_0xb2a5a3=>(_0xb2a5a3[_0xb2a5a3['UNIVER_UNKNOWN']=0x0]=_0xb4256d(0x9d),_0xb2a5a3[_0xb2a5a3[_0xb4256d(0xb3)]=0x1]=_0xb4256d(0xb3),_0xb2a5a3[_0xb2a5a3['UNIVER_SHEET']=0x2]='UNIVER_SHEET',_0xb2a5a3[_0xb2a5a3[_0xb4256d(0xa9)]=0x3]=_0xb4256d(0xa9),_0xb2a5a3[_0xb2a5a3['UNIVER_PROJECT']=0x4]=_0xb4256d(0xa2),_0xb2a5a3[_0xb2a5a3[_0xb4256d(0xb4)]=-0x1]=_0xb4256d(0xb4),_0xb2a5a3))(_0x12e071||{});class _0xa208ac extends _0x33744e[_0xb4256d(0xaa)]{async[_0xb4256d(0x9b)](_0x3a4a9c){const _0x367edc=_0xb4256d,_0x145cae=this[_0x367edc(0x9a)][_0x367edc(0xb0)](_0x281b3b[_0x367edc(0xad)]);if(!_0x145cae)throw new Error('The\x20exchange\x20service\x20is\x20not\x20available');return _0x145cae[_0x367edc(0x9f)](_0x3a4a9c,_0x12e071['UNIVER_SHEET']);}async['importXLSXToSnapshot'](_0x4329a4){const _0x51d9ca=_0xb4256d,_0x2d9f90=this['_injector'][_0x51d9ca(0xb0)](_0x281b3b[_0x51d9ca(0xad)]);if(!_0x2d9f90)throw new Error(_0x51d9ca(0xa8));return _0x2d9f90['importXLSXToSnapshot'](_0x4329a4);}async[_0xb4256d(0xab)](_0x1445b8){const _0x218389=_0xb4256d,_0x428ee1=this['_injector'][_0x218389(0xb0)](_0x281b3b[_0x218389(0xad)]);if(!_0x428ee1)throw new Error('The\x20exchange\x20service\x20is\x20not\x20available');return _0x428ee1['exportXLSXByUnitId'](_0x1445b8);}async[_0xb4256d(0xac)](_0x52d87b){const _0x4475ba=_0xb4256d,_0x1316b5=this[_0x4475ba(0x9a)][_0x4475ba(0xb0)](_0x281b3b[_0x4475ba(0xad)]);if(!_0x1316b5)throw new Error('The\x20exchange\x20service\x20is\x20not\x20available');return _0x1316b5[_0x4475ba(0xac)](_0x52d87b);}async[_0xb4256d(0xa0)](_0x109ec7){const _0x2b0f46=_0xb4256d,_0x6b2055=this[_0x2b0f46(0x9a)][_0x2b0f46(0xb0)](_0x281b3b[_0x2b0f46(0xad)]);if(!_0x6b2055)throw new Error('The\x20exchange\x20service\x20is\x20not\x20available');return _0x6b2055[_0x2b0f46(0x9f)](_0x109ec7,_0x12e071[_0x2b0f46(0xb3)]);}async[_0xb4256d(0xb2)](_0x2c7435){const _0x30124a=_0xb4256d,_0x204487=this[_0x30124a(0x9a)]['get'](_0x281b3b[_0x30124a(0xad)]);if(!_0x204487)throw new Error(_0x30124a(0xa8));return _0x204487[_0x30124a(0xb2)](_0x2c7435);}}_0x33744e['FUniver']['extend'](_0xa208ac);}));function _0x5528(){const _0x4d140e=['get','50247SLTPAd','importDOCXToSnapshot','UNIVER_DOC','UNRECOGNIZED','2317820AhHvcv','UniverCore','9985XCZvqj','3718404stGXrd','160632AmgonZ','UniverProExchangeClient','_injector','importXLSXToUnitId','22guSjGy','UNIVER_UNKNOWN','object','importFileToUnitId','importDOCXToUnitId','827632StDEPS','UNIVER_PROJECT','7zJvgSv','@univerjs/core','1060WQMvHl','function','1aEmYxu','The\x20exchange\x20service\x20is\x20not\x20available','UNIVER_SLIDE','FUniver','exportXLSXByUnitId','exportXLSXBySnapshot','IExchangeService','@univerjs-pro/exchange-client','964752lpgIWp'];_0x5528=function(){return _0x4d140e;};return _0x5528();}
|