dochub-sdk 0.1.165 → 0.1.167
Sign up to get free protection for your applications and to get access to all the features.
@@ -6,22 +6,12 @@ import type { IDocHubEditableComponent, IDocHubPresentationProfile, IDocHubPrese
|
|
6
6
|
import ajv from 'ajv';
|
7
7
|
import ajv_localize from 'ajv-i18n/localize/ru';
|
8
8
|
|
9
|
-
/**
|
10
|
-
* Тип в источнике данных
|
11
|
-
*/
|
12
|
-
export enum DocumentSourceType {
|
13
|
-
data = 'data', // Объект данных не требующий обработки
|
14
|
-
jsonata = 'jsonata', // JSONata запрос
|
15
|
-
dataFile = 'data-file', // Ссылка на файл с данными
|
16
|
-
jsonataFile = 'jsonata-file' // Ссылка на файл с запросом jsonata
|
17
|
-
};
|
18
|
-
|
19
9
|
@Component
|
20
10
|
export class DocHubDocumentProto extends Vue implements IDocHubEditableComponent {
|
21
|
-
onRefresher: any = null;
|
22
|
-
followURI: string |
|
23
|
-
error: string | null = null;
|
24
|
-
isPending = true;
|
11
|
+
onRefresher: any = null; // Таймер отложенного выполнения обновления
|
12
|
+
followURI: string | undefined; // URI файла за которым установлено слежение
|
13
|
+
error: string | null = null; // Ошибка
|
14
|
+
isPending = true; // Признак внутренней работы. Например загрузка данных.
|
25
15
|
|
26
16
|
/**
|
27
17
|
* Профиль документа
|
@@ -107,7 +97,10 @@ export class DocHubDocumentProto extends Vue implements IDocHubEditableComponent
|
|
107
97
|
this.isPending = true;
|
108
98
|
await this.refreshFileFollow();
|
109
99
|
if (this.profile?.source) {
|
110
|
-
const result = await DocHub.dataLake.
|
100
|
+
const result = await DocHub.dataLake.resolveDataSetProfile(this.profile, {
|
101
|
+
params: this.params,
|
102
|
+
baseURI: this.followURI
|
103
|
+
});
|
111
104
|
// Валидируем данные по структуре
|
112
105
|
const rules = new ajv({ allErrors: true });
|
113
106
|
const validator = rules.compile(this.getSchemaData());
|
@@ -135,7 +128,7 @@ export class DocHubDocumentProto extends Vue implements IDocHubEditableComponent
|
|
135
128
|
// Устанавливаем слежение за файлом для оперативного обновления
|
136
129
|
this.followURI && DocHub.dataLake.unfollowFile(this.followURI, this.onRefresh);
|
137
130
|
if (!disable) {
|
138
|
-
this.followURI = (await DocHub.dataLake.getURIForPath(this.profile.$base) || []).pop()
|
131
|
+
this.followURI = (await DocHub.dataLake.getURIForPath(this.profile.$base) || []).pop();
|
139
132
|
this.followURI && DocHub.dataLake.followFile(this.followURI, this.onRefresh);
|
140
133
|
}
|
141
134
|
}
|
package/interfaces/datalake.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AxiosResponse } from 'axios';
|
2
2
|
import { IProtocolResponseOptions } from './protocols';
|
3
|
-
import { IDocHubDataSetProfile } from './datasets';
|
3
|
+
import { DocHubDataSetProfileSource, IDocHubDataSetProfile } from './datasets';
|
4
4
|
|
5
5
|
export enum DataLakeChange {
|
6
6
|
update = 'update', // Обновление данных по указанному пути
|
@@ -190,8 +190,6 @@ export enum DocHubDataLakeInitializedStatus {
|
|
190
190
|
}
|
191
191
|
|
192
192
|
|
193
|
-
export type DocHubDataLakeRequest = string;
|
194
|
-
|
195
193
|
export interface IDataLakePullFileOptions extends IProtocolResponseOptions {
|
196
194
|
}
|
197
195
|
|
@@ -288,12 +286,12 @@ export interface IDocHubDataLake {
|
|
288
286
|
|
289
287
|
/**
|
290
288
|
* Выполняет запрос к DataLake
|
291
|
-
* @param expression -
|
289
|
+
* @param expression - Источник данных (запрос, DataSet, файл и т.д.)
|
292
290
|
* @param params - Коллекция параметров (необязательно)
|
293
291
|
* @param context - Контекст исполнения запроса (необязательно)
|
294
292
|
* @returns - Результат выполненного запроса
|
295
293
|
*/
|
296
|
-
pullData(expression:
|
294
|
+
pullData(expression: DocHubDataSetProfileSource, params?: IDocHubPullDataParams, context?: any): Promise<any>;
|
297
295
|
|
298
296
|
/**
|
299
297
|
* Реализует профиль набора данных (выполняет профиль)
|
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import { DocHubDataSetProfileSource, IDocHubDataSetProfile } from './datasets';
|
2
|
+
import { DataLakePath } from './datalake';
|
2
3
|
import { IDocHubSchema } from './../schemas/basetypes';
|
3
4
|
|
4
5
|
/**
|
@@ -21,19 +22,17 @@ export interface IDocHubPresentationsParams {
|
|
21
22
|
/**
|
22
23
|
* Профиль презентации
|
23
24
|
*/
|
24
|
-
export interface IDocHubPresentationProfile {
|
25
|
+
export interface IDocHubPresentationProfile extends IDocHubDataSetProfile {
|
25
26
|
// Идентификатор типа презентации
|
26
27
|
type?: string;
|
27
28
|
// Название презентации
|
28
29
|
title?: string;
|
29
|
-
// Источник данных для представления
|
30
|
-
source?: string | DocHubDataLakeRequest;
|
31
30
|
// Шаблон представления
|
32
31
|
template?: string;
|
33
32
|
// Схема требуемых параметров для презентации
|
34
33
|
params?: IDocHubSchema;
|
35
34
|
// Пользовательский конструктор профиля презентации
|
36
|
-
$constructor?:
|
35
|
+
$constructor?: DocHubDataSetProfileSource;
|
37
36
|
// Базовый путь к объекту от которого будут разрешаться все относительные пути
|
38
37
|
$base: DataLakePath
|
39
38
|
}
|