dochub-sdk 0.1.340 → 0.1.342
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/interfaces/objects.ts +38 -8
- package/interfaces/protocols.ts +1 -0
- package/package.json +1 -1
package/interfaces/objects.ts
CHANGED
@@ -56,9 +56,9 @@ export interface IDocHubObjectEditorItem {
|
|
56
56
|
* Описывает контекст редактируемого объекта
|
57
57
|
*/
|
58
58
|
export interface IDocHubObjectEditorContext extends IDocHubObjectMeta {
|
59
|
-
path?:
|
60
|
-
|
61
|
-
[key: string]: any;
|
59
|
+
path?: DocHubObjectURL; // Путь к объекту в Data Lake
|
60
|
+
// Если не определено берется из параметра openObjectEditor
|
61
|
+
[key: string]: any; // Произвольные ключи и значения
|
62
62
|
}
|
63
63
|
|
64
64
|
export enum DocHubObjectAppletSerializationFormat {
|
@@ -79,6 +79,30 @@ export interface IDocHubObjectApplet {
|
|
79
79
|
serialization(format: DocHubObjectAppletSerializationFormat): Promise<IDocHubProtocolResponse>;
|
80
80
|
}
|
81
81
|
|
82
|
+
/**
|
83
|
+
* RegExp для указания пути в DataLake в DocHub
|
84
|
+
*/
|
85
|
+
export const ObjectPathRegExp = '^@[a-zA-Z0-9_$\.]+(\/[a-zA-Z0-9_$\.]+)+$';
|
86
|
+
|
87
|
+
/**
|
88
|
+
* Путь к объекту в DataLake.
|
89
|
+
* Последовательность ключей коллекций через "/".
|
90
|
+
* Например:
|
91
|
+
* docs/example
|
92
|
+
* components/dochub.main
|
93
|
+
*/
|
94
|
+
export class ObjectPath extends String {
|
95
|
+
constructor(...args:any) {
|
96
|
+
for (const value of args) {
|
97
|
+
if (!(new RegExp(ObjectPathRegExp)).test(value))
|
98
|
+
throw new Error(`Incorrect DataLakePath [${value}] The string must be in the following format ${ObjectPathRegExp}`);
|
99
|
+
}
|
100
|
+
super(...args);
|
101
|
+
return this;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
|
105
|
+
|
82
106
|
// Интерфейс доступа к задекларированным объектам в DataLake
|
83
107
|
export interface IDocHubObjects {
|
84
108
|
/**
|
@@ -95,7 +119,7 @@ export interface IDocHubObjects {
|
|
95
119
|
* Возвращает метаданные задекларированного объекта для указанного пути
|
96
120
|
* @param path - Путь к объекту
|
97
121
|
*/
|
98
|
-
|
122
|
+
getMetaByPath(path: ObjectPath): Promise<IDocHubObjectMeta | null>;
|
99
123
|
/**
|
100
124
|
* Регистрирует редактор объекта
|
101
125
|
* @param uid - Идентификатор типа объекта
|
@@ -113,12 +137,12 @@ export interface IDocHubObjects {
|
|
113
137
|
* @param uid - Идентификатор типа объекта
|
114
138
|
* @returns - IDocHubEditorItem
|
115
139
|
*/
|
116
|
-
|
140
|
+
getEditor(uid: string): Promise<IDocHubObjectEditorItem>;
|
117
141
|
/**
|
118
142
|
* Генерирует URL для редактирования объекта по указанному пути
|
119
|
-
* @param path - Путь к
|
143
|
+
* @param path - Путь к объекту
|
120
144
|
*/
|
121
|
-
makeEditURLByPath(path:
|
145
|
+
makeEditURLByPath(path: ObjectPath): Promise<DocHubEditorURI>;
|
122
146
|
/**
|
123
147
|
* Запрос на открытие объекта на пользовательское редактирование. Необязательно будет выполнен.
|
124
148
|
* Если редактор уже открыт, активирует его.
|
@@ -126,7 +150,13 @@ export interface IDocHubObjects {
|
|
126
150
|
* @param context - Контекст редактирования объекта. Необходим для связных редакторов и конструкторов.
|
127
151
|
* @returns - Компонент редактора, если открытие оказалось успешным
|
128
152
|
*/
|
129
|
-
|
153
|
+
openEditor(path: ObjectPath, context?: IDocHubObjectEditorContext): Promise<IDocHubObjectEditorComponent>;
|
154
|
+
/**
|
155
|
+
* Удаление объекта из DataLake
|
156
|
+
* @param path - Путь к объекту
|
157
|
+
* @param targetFile - Конкретный файл DataLake, где нужно удалить объект. Если не указан, определяется автоматически.
|
158
|
+
*/
|
159
|
+
delete(path: ObjectPath, targetFile?: string): Promise<void>;
|
130
160
|
/**
|
131
161
|
* Выпускает апплет - самостоятельное микроприложение объекта.
|
132
162
|
* @param object - URI объекта, который должен быть выпущен
|
package/interfaces/protocols.ts
CHANGED