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 | null = null; // URI файла за которым установлено слежение
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.pullData(this.profile.source, this.params);
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() || null;
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
  }
@@ -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 - JSONata выражение
289
+ * @param expression - Источник данных (запрос, DataSet, файл и т.д.)
292
290
  * @param params - Коллекция параметров (необязательно)
293
291
  * @param context - Контекст исполнения запроса (необязательно)
294
292
  * @returns - Результат выполненного запроса
295
293
  */
296
- pullData(expression: DocHubDataLakeRequest, params?: IDocHubPullDataParams, context?: any): Promise<any>;
294
+ pullData(expression: DocHubDataSetProfileSource, params?: IDocHubPullDataParams, context?: any): Promise<any>;
297
295
 
298
296
  /**
299
297
  * Реализует профиль набора данных (выполняет профиль)
@@ -1,4 +1,5 @@
1
- import { DocHubDataLakeRequest, DataLakePath } from './datalake';
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?: DocHubDataLakeRequest;
35
+ $constructor?: DocHubDataSetProfileSource;
37
36
  // Базовый путь к объекту от которого будут разрешаться все относительные пути
38
37
  $base: DataLakePath
39
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dochub-sdk",
3
- "version": "0.1.165",
3
+ "version": "0.1.167",
4
4
  "description": "The DocHub System Development Kit.",
5
5
  "private": false,
6
6
  "main": "index.ts",