dochub-sdk 0.1.100 → 0.1.102
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/index.ts +2 -0
- package/interfaces/collabarations.ts +90 -0
- package/interfaces/core.ts +5 -0
- package/interfaces/datalake.ts +19 -0
- package/package.json +1 -1
package/index.ts
CHANGED
@@ -17,9 +17,11 @@ export * from './interfaces/eventbus';
|
|
17
17
|
export * from './interfaces/router';
|
18
18
|
export * from './interfaces/settings';
|
19
19
|
export * from './interfaces/problems';
|
20
|
+
export * from './interfaces/collabarations';
|
20
21
|
export * from './schemas/basetypes';
|
21
22
|
export * from './schemas/dochub-yaml';
|
22
23
|
|
24
|
+
|
23
25
|
export const DocHub: IDocHubCore = window['DocHub'];
|
24
26
|
export const Vue2 = () => window['Vue'];
|
25
27
|
export const Vuetify2 = () => window['Vuetify'];
|
@@ -0,0 +1,90 @@
|
|
1
|
+
export type DocHubCollaborationInvite = string;
|
2
|
+
|
3
|
+
export type DocHubCollaborationChannel = string;
|
4
|
+
export type DocHubCollaborationEvent = string | RegExp;
|
5
|
+
export type DocHubCollaborationChannelHandler = (channel: DocHubCollaborationChannel) => void;
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Транспортный драйвер коллаборации
|
9
|
+
*/
|
10
|
+
export interface IDocHubCollaborationDriver {
|
11
|
+
|
12
|
+
}
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Сессия коллаборации
|
16
|
+
*/
|
17
|
+
export interface IDocHubCollaborationSession {
|
18
|
+
|
19
|
+
}
|
20
|
+
|
21
|
+
/**
|
22
|
+
* Интерфейс реализующий коллаборативную работу групп
|
23
|
+
*/
|
24
|
+
export interface IDocHubCollaboration {
|
25
|
+
/**
|
26
|
+
* Признак доступности режима коллаборации
|
27
|
+
* @returns - true если режим коллаборации доступен, иначе false
|
28
|
+
*/
|
29
|
+
isAvailable(): Promise<boolean>;
|
30
|
+
|
31
|
+
/**
|
32
|
+
* Регистрирует коллаборативный драйвер. Возможен только один.
|
33
|
+
* Если драйвер уже зарегистрирован, метод должен генерировать ошибку.
|
34
|
+
* @param driver - Драйвер
|
35
|
+
*/
|
36
|
+
registerDriver(driver: IDocHubCollaborationDriver): Promise<void>;
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Создает коллаборативную сессию
|
40
|
+
* @returns - Открытая сессия
|
41
|
+
*/
|
42
|
+
createSession(): Promise<IDocHubCollaborationSession>;
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Возвращает текущую сессию, если она открыта
|
46
|
+
* @returns - Текущая сессия или null
|
47
|
+
*/
|
48
|
+
getSession(): Promise<IDocHubCollaborationSession | null>;
|
49
|
+
|
50
|
+
/**
|
51
|
+
* Покинуть коллаборативную сессию
|
52
|
+
*/
|
53
|
+
liveSession(): Promise<void>;
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Создает приглашение в виде URL для подключения к сессии
|
57
|
+
* @requires - Инвайт в виде URL
|
58
|
+
*/
|
59
|
+
makeInvite(): Promise<DocHubCollaborationInvite>;
|
60
|
+
|
61
|
+
/**
|
62
|
+
* Осуществляет вход по приглашению
|
63
|
+
* @requires - Инвайт в виде URL
|
64
|
+
*/
|
65
|
+
enter(invite: DocHubCollaborationInvite): Promise<IDocHubCollaborationSession>;
|
66
|
+
|
67
|
+
/**
|
68
|
+
* Осуществляет подписку на канал и события
|
69
|
+
* @param channel - Канал, который будет слушать подписчик
|
70
|
+
* @param events - События, которые подписчик собирается обрабатывать
|
71
|
+
* @param handler - Обработчик событий
|
72
|
+
*/
|
73
|
+
subscribe(channel: DocHubCollaborationChannel, events: DocHubCollaborationEvent[], handler: DocHubCollaborationChannelHandler);
|
74
|
+
|
75
|
+
/**
|
76
|
+
* Отписывает слушателя
|
77
|
+
* @param channel - Канал, от которого описывается слушатель
|
78
|
+
* @param events - События, от которых описывается слушатель
|
79
|
+
* @param handler - Обработчик событий
|
80
|
+
*/
|
81
|
+
unsubscribe(channel: DocHubCollaborationChannel, events: DocHubCollaborationEvent[], handler: DocHubCollaborationChannelHandler);
|
82
|
+
|
83
|
+
/**
|
84
|
+
* Отсылает сообщение в канал
|
85
|
+
* @param channel - Канал
|
86
|
+
* @param event - Событие
|
87
|
+
* @param data - Данные для обработки
|
88
|
+
*/
|
89
|
+
sendEvent(channel: DocHubCollaborationChannel, event: DocHubCollaborationEvent, data: any): Promise<void>;
|
90
|
+
}
|
package/interfaces/core.ts
CHANGED
@@ -10,6 +10,7 @@ import { IDocHubEventBus } from './eventbus';
|
|
10
10
|
import { IDocHubRouter } from './router';
|
11
11
|
import { IDocHubSettings } from './settings';
|
12
12
|
import { IDocHubProblems } from './problems';
|
13
|
+
import { IDocHubCollaboration } from './collabarations';
|
13
14
|
import { DocHubEditMode, IDocHubEditors } from './editors';
|
14
15
|
|
15
16
|
/**
|
@@ -68,6 +69,10 @@ export interface IDocHubCore {
|
|
68
69
|
* Интерфейс взаимодействия с подсистемой редактирования
|
69
70
|
*/
|
70
71
|
editors: IDocHubEditors;
|
72
|
+
/**
|
73
|
+
* Интерфейс коллаборативного взаимодействия
|
74
|
+
*/
|
75
|
+
collaboration: IDocHubCollaboration;
|
71
76
|
/**
|
72
77
|
* Версия ядра
|
73
78
|
* @returns - Версия ядра в формате *.*.*
|
package/interfaces/datalake.ts
CHANGED
@@ -147,6 +147,11 @@ export interface IDocHubFileEditorContext {
|
|
147
147
|
[key: string]: any; // Произвольные ключи и значения
|
148
148
|
}
|
149
149
|
|
150
|
+
/**
|
151
|
+
* Обработчик событий изменения файла
|
152
|
+
*/
|
153
|
+
export type DocHubDataLakeFileFollower = () => void;
|
154
|
+
|
150
155
|
// Интерфейс доступа к DataLake
|
151
156
|
export interface IDocHubDataLake {
|
152
157
|
/**
|
@@ -229,6 +234,20 @@ export interface IDocHubDataLake {
|
|
229
234
|
*/
|
230
235
|
pushFile(uri: string, content: any, contentType: string): Promise<AxiosResponse>;
|
231
236
|
|
237
|
+
/**
|
238
|
+
* Устанавливает слежение за изменениями в файле
|
239
|
+
* @param uri - URI файла
|
240
|
+
* @param handler - Обработчик события
|
241
|
+
*/
|
242
|
+
followFile(uri: string, handler: DocHubDataLakeFileFollower);
|
243
|
+
|
244
|
+
/**
|
245
|
+
* Отменяет слежение за файлом
|
246
|
+
* @param uri - URI файла
|
247
|
+
* @param handler - Обработчик события
|
248
|
+
*/
|
249
|
+
unfollowFile(uri: string, handler: DocHubDataLakeFileFollower);
|
250
|
+
|
232
251
|
/**
|
233
252
|
* Загружает файл из DataLake
|
234
253
|
* @param uri - URI файла во внутреннем формате DocHub
|