dochub-sdk 0.1.226 → 0.1.228

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.
@@ -95,8 +95,8 @@ export class DocHubDocumentProto extends DocHubComponentProto implements IDocHub
95
95
  /**
96
96
  * Открываем редактор
97
97
  */
98
- openEditor(): void {
99
- this.baseURI && DocHub.dataLake.openFileEditor(this.baseURI, {
98
+ openEditor(uri?: string): void {
99
+ this.baseURI && DocHub.dataLake.openFileEditor(uri || this.baseURI, {
100
100
  targetPath: this.profile.$base,
101
101
  targetWindow: (window.event as any)?.ctrlKey ? DocHubUITargetWindow._blank : DocHubUITargetWindow._self
102
102
  });
@@ -113,10 +113,7 @@ export class DocHubDocumentProto extends DocHubComponentProto implements IDocHub
113
113
  return {
114
114
  title: uri,
115
115
  icon: getIconByURI(uri),
116
- handle: () => DocHub.dataLake.openFileEditor(uri, {
117
- targetPath: this.profile.$base,
118
-
119
- })
116
+ handle: () => this.openEditor(uri)
120
117
  }
121
118
  })
122
119
  }
@@ -157,8 +157,7 @@ export interface IDocHubFileEditorComponent {}
157
157
  /**
158
158
  * VUE компонент редактора файлов по умолчанию
159
159
  */
160
- export interface IDocHubFileDefaultEditorComponent extends IDocHubFileEditorComponent {
161
- }
160
+ export interface IDocHubFileDefaultEditorComponent extends IDocHubFileEditorComponent {}
162
161
 
163
162
  /**
164
163
  * Метаинформация о редакторе файла
@@ -194,9 +193,60 @@ export enum DocHubDataLakeInitializedStatus {
194
193
  }
195
194
 
196
195
 
197
- export interface IDataLakePullFileOptions extends IProtocolResponseOptions {
196
+ /**
197
+ * VUE компонент визуализатора различий файлов
198
+ */
199
+ export interface IDocHubFileDifferComponent {}
200
+
201
+
202
+ /**
203
+ * VUE компонент визуализатора различий файлов по умолчанию
204
+ */
205
+ export interface IDocHubFileDefaultDifferComponent extends IDocHubFileDifferComponent {}
206
+
207
+ /**
208
+ * Метаинформация о визуализаторе различий в файлах
209
+ */
210
+ export interface IDocHubFileDifferItem {
211
+ component: IDocHubFileDifferComponent;
212
+ pattern: RegExp;
213
+ title: string;
214
+ }
215
+
216
+ /**
217
+ * Функция, которая должна вернуть контент версии при необходимости
218
+ */
219
+ export type DocHubVersionContentResolver = () => Promise<AxiosResponse>;
220
+
221
+ /**
222
+ * Интерфейс реализует доступ к заданной версии файла
223
+ */
224
+ export interface IDocHubFileVersion {
225
+ version: string; // Идентификатор версии
226
+ uri: string; // URI файла версии
227
+ moment: Date; // Дата и время версии
228
+ author: string; // Автор версии
229
+ pull: DocHubVersionContentResolver; // Функция получения контента версии
230
+ }
231
+
232
+ /**
233
+ * Тип отображения различий
234
+ */
235
+ export enum DocHubDiffOutputFormats {
236
+ lineByLine = 'line-by-line',
237
+ sideBySide = 'side-by-side'
238
+ }
239
+
240
+ export interface IDocHubDiffOptions {
241
+ title?: string; // Название представления
242
+ outputFormat?: DocHubDiffOutputFormats // Тип отображения различий
198
243
  }
199
244
 
245
+ /**
246
+ * Дополнительные параметры получения файла из DataLake
247
+ */
248
+ export interface IDataLakePullFileOptions extends IProtocolResponseOptions {}
249
+
200
250
  /**
201
251
  * Обработчик событий изменения файла
202
252
  */
@@ -210,6 +260,8 @@ export interface IDataSetResolveOptions {
210
260
  params?: IDocHubPullDataParams; // Передаваемые параметры
211
261
  }
212
262
 
263
+
264
+
213
265
  // Интерфейс доступа к DataLake
214
266
  export interface IDocHubDataLake {
215
267
  /**
@@ -349,13 +401,59 @@ export interface IDocHubDataLake {
349
401
  */
350
402
  getURIForPath(path: DataLakePath): Promise<string[]>;
351
403
 
404
+
405
+ /**********************************************************************
406
+ * Визуализация различий в файлах
407
+ *********************************************************************/
408
+
352
409
  /**
353
- * Регистрирует редактор файлов
410
+ * Регистрация визуализатора различий файлов по умолчанию
411
+ * @param component - VUE компонент для визуализации различий
412
+ * @param title - Название визуализатора
413
+ */
414
+ registerDefaultFileDiffer(component: IDocHubFileDefaultDifferComponent, title?: string);
415
+
416
+ /**
417
+ * Регистрирует визуализатора различий файлов
354
418
  * @param pattern - RegExp contentType файла. Например: ^.*\/markdown($|;.*$)
355
419
  * @param component - VUE компонент для редактирования файла
356
420
  * @param title - Название редактора файла
357
421
  */
358
- registerFileEditor(pattern: RegExp, component: IDocHubFileEditorComponent, title?: string);
422
+ registerFileDiffer(pattern: RegExp, component: IDocHubFileDifferComponent, title?: string);
423
+
424
+ /**
425
+ * Возвращает массив зарегистрированных визуализаторов различий файлов по contentType
426
+ * @returns - Массив зарегистрированных редакторов объектов
427
+ */
428
+ fetchFileDiffers(): Promise<IDocHubFileDifferItem[]>;
429
+
430
+ /**
431
+ * Возвращает актуальный визуализатор различий файла по contentType
432
+ * @param contentType - Тип контента. Например: text/markdown
433
+ */
434
+ getFileDiffer(contentType: string): Promise<IDocHubFileDifferItem | null>;
435
+
436
+ /**
437
+ * Запрос на открытие визуализатора различий на просмотр. Необязательно будет выполнен.
438
+ * @param ver1 - Версия 1
439
+ * @param ver2 - Версия 2
440
+ * @param context - Контекст редактирования файла. Необходим для связных редакторов и конструкторов.
441
+ * @returns - Компонент редактора, если открытие оказалось успешным
442
+ */
443
+ openFileDiffer(ver1: IDocHubFileVersion, ver2: IDocHubFileVersion, options?: IDocHubDiffOptions): Promise<IDocHubFileEditorComponent>;
444
+
445
+ /**
446
+ * Запрос на открытие визуализатора различий на просмотр. Необязательно будет выполнен.
447
+ * @param uri - URI файла для которого нужно получить список версий
448
+ * @param from - С какой версии получать список
449
+ * @param limit - Количество записей в возвращаемом массиве
450
+ * @returns - Список доступных версий файла
451
+ */
452
+ fetchFileVersions(uri: string, from?: IDocHubFileVersion, limit?: number): Promise<IDocHubFileVersion[]>;
453
+
454
+ /**********************************************************************
455
+ * Редактирование файлов
456
+ *********************************************************************/
359
457
 
360
458
  /**
361
459
  * Регистрирует редактор файлов по умолчанию.
@@ -363,7 +461,15 @@ export interface IDocHubDataLake {
363
461
  * @param component - VUE компонент для редактирования файла
364
462
  * @param title - Название редактора файла
365
463
  */
366
- registerDefaultFileEditor(component: IDocHubFileDefaultEditorComponent, title: string);
464
+ registerDefaultFileEditor(component: IDocHubFileDefaultEditorComponent, title?: string);
465
+
466
+ /**
467
+ * Регистрирует редактор файлов
468
+ * @param pattern - RegExp contentType файла. Например: ^.*\/markdown($|;.*$)
469
+ * @param component - VUE компонент для редактирования файла
470
+ * @param title - Название редактора файла
471
+ */
472
+ registerFileEditor(pattern: RegExp, component: IDocHubFileEditorComponent, title?: string);
367
473
 
368
474
  /**
369
475
  * Возвращает массив зарегистрированных редакторов файлов
@@ -393,6 +499,10 @@ export interface IDocHubDataLake {
393
499
  */
394
500
  closeFileEditor(uri: string): Promise<boolean>;
395
501
 
502
+ /**********************************************************************
503
+ * Работа с контентом файлов
504
+ *********************************************************************/
505
+
396
506
  /**
397
507
  * Регистрирует соответствие шаблона файла типу контента.
398
508
  * Зарегистрированная связь является приоритетной по отношению к возвращаемому заголовку content-type сервера.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dochub-sdk",
3
- "version": "0.1.226",
3
+ "version": "0.1.228",
4
4
  "description": "The DocHub System Development Kit.",
5
5
  "private": false,
6
6
  "main": "index.ts",