dochub-sdk 0.1.83 → 0.1.84

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.
@@ -1,3 +1,5 @@
1
+ import { DocHubEditorContext } from './editors';
2
+
1
3
  // Компонент конструктора
2
4
  export interface IDocHubConstructorComponent {
3
5
  }
@@ -15,11 +17,6 @@ export interface IDocHubConstructorMeta {
15
17
  img?: string; // Картинка для пользователя
16
18
  }
17
19
 
18
- // Параметры передаваемые в конструктор для его первичной инициализации
19
- export interface IDocHubConstructorParams {
20
- [key: string]: any;
21
- }
22
-
23
20
  // Интерфейс конструкторов
24
21
  export interface IDocHubConstructors {
25
22
  // Регистрирует конструктор
@@ -35,7 +32,7 @@ export interface IDocHubConstructors {
35
32
  get(uid: string):Promise<IDocHubConstructorItem>;
36
33
  // Вызывает магазин выбора конструкторов по указанному шаблону идентификаторов
37
34
  // pattern - шаблон идентификаторов по которому отбираются конструкторы
38
- // target - Целевое пространство для создания объекта
39
- showStore(pattern?: RegExp, target?: string, params?:IDocHubConstructorParams);
35
+ // context - Контекст который должен учесть конструктор, если он не определен, контекст будет создан автоматически
36
+ showStore(pattern?: RegExp, context?: DocHubEditorContext);
40
37
  }
41
38
 
@@ -53,6 +53,17 @@ export interface IDocHubFileEditorItem {
53
53
  title: string;
54
54
  }
55
55
 
56
+ /**
57
+ * Описывает контекст открытого на редактирования файла
58
+ */
59
+ export interface IDocHubFileEditorContext {
60
+ uri?: string; // URI файла открытого на редактирование.
61
+ // Если не определено берется из параметра openFileEditor
62
+ contentType: string; // Тип контента файла.
63
+ // Если не определено берется из данных полученных о файле в процессе открытия.
64
+ [key: string]: any; // Произвольные ключи и значения
65
+ }
66
+
56
67
  // Интерфейс доступа к DataLake
57
68
  export interface IDocHubDataLake {
58
69
  /**
@@ -129,9 +140,10 @@ export interface IDocHubDataLake {
129
140
  * Запрос на открытие файла на пользовательское редактирование. Не обязательно будет выполнен.
130
141
  * Если редактор уже открыт, активирует его.
131
142
  * @param uri - URI файла
143
+ * @param context - Контекст редактирования файла. Необходим для связных редакторов и конструкторов.
132
144
  * @returns - Компонент редактора, если открытие оказалось успешным
133
145
  */
134
- openFileEditor(uri: string): Promise<IDocHubFileEditorComponent>;
146
+ openFileEditor(uri: string, context?: IDocHubFileEditorContext): Promise<IDocHubFileEditorComponent>;
135
147
 
136
148
  /**
137
149
  * Запрос на завершение пользовательского редактирования файла. Не обязательно будет выполнен.
@@ -1,3 +1,6 @@
1
+ import { IDocHubFileEditorContext } from './datalake';
2
+ import { IDocHubObjectEditorContext } from './objects';
3
+
1
4
  /**
2
5
  * Режим функционирования
3
6
  */
@@ -24,9 +27,32 @@ export enum EditorEvents {
24
27
  delete = '$delete' // Требует удалить объект
25
28
  };
26
29
 
30
+
27
31
  /**
28
- * Хранит состояние редактора
32
+ * Тип редактора
29
33
  */
30
- export interface IEditorState {
31
- title: string
34
+ export enum DocHubEditorType {
35
+ file = 'file',
36
+ object = 'object'
32
37
  }
38
+
39
+ /**
40
+ * Контекст редактора
41
+ */
42
+ export type DocHubEditorFileContext = {
43
+ type: DocHubEditorType.file,
44
+ meta: IDocHubFileEditorContext
45
+ }
46
+
47
+ /**
48
+ * Контекст редактора объекта
49
+ */
50
+ export type DocHubEditorObjectContext = {
51
+ type: DocHubEditorType.object,
52
+ meta: IDocHubObjectEditorContext
53
+ }
54
+
55
+ /**
56
+ * Универсальный контекст редактора
57
+ */
58
+ export type DocHubEditorContext = DocHubEditorFileContext | DocHubEditorObjectContext;
@@ -27,6 +27,16 @@ export interface IDocHubObjectEditorItem {
27
27
  title: string;
28
28
  }
29
29
 
30
+ /**
31
+ * Описывает контекст редактируемого объекта
32
+ */
33
+ export interface IDocHubObjectEditorContext {
34
+ path?: string; // Путь к объекту в Data Lake
35
+ // Если не определено берется из параметра openObjectEditor
36
+ [key: string]: any; // Произвольные ключи и значения
37
+ }
38
+
39
+
30
40
  // Интерфейс доступа к задекларированным объектам в DataLake
31
41
  export interface IDocHubObjects {
32
42
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dochub-sdk",
3
- "version": "0.1.83",
3
+ "version": "0.1.84",
4
4
  "description": "The DocHub System Development Kit.",
5
5
  "private": false,
6
6
  "main": "index.ts",