plmt-constructor-sdk 0.13.32 → 0.13.34

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,4 +1,4 @@
1
- import { AllColumnsHidden, DataQueryFunction, DataQueryMethod, HiddenColumnIdx, Rule, ShowColumnIdx, Text } from '../config';
1
+ import { AllColumnsHidden, DataQueryFunction, DataQueryMethod, HiddenColumnIdx, ShowColumnIdx, Text } from '../config';
2
2
  import { ColumnType } from '../data';
3
3
  import { CamelToSnakeCase } from '../tools';
4
4
  import { DatasetColumnType_Server } from './dataset';
@@ -67,10 +67,9 @@ export interface ConfigDataOptionBlock_Server {
67
67
  sorted?: true;
68
68
  }
69
69
  export declare type CustomDefaultDataRules_Server = Rule_Server | Rule_Server[];
70
- export declare type ColumnRule_Server = {
70
+ export declare type Rule_Server = {
71
71
  [key: string]: CamelToSnakeCase<AllColumnsHidden> | CamelToSnakeCase<HiddenColumnIdx> | CamelToSnakeCase<ShowColumnIdx>;
72
72
  };
73
- export declare type Rule_Server = CamelToSnakeCase<Rule<ColumnRule_Server>>;
74
73
  export declare const configDataBlock_Server = "8316067a-d04b-4b21-bd4d-35529846617b";
75
74
  export declare const blockFilterKey = "34642664-dbd1-4e35-b0ea-2eaabe796b48";
76
75
  export declare const blockSortKey = "2c849ed6-6105-4aa2-a961-9f95135dfe3b";
package/config.d.ts CHANGED
@@ -39,18 +39,10 @@ export declare type Text = Record<Locale, string>;
39
39
  * Интерфейс при необходимости можно расширять (не забыть про обработку на уровне платформы)
40
40
  */
41
41
  export declare type CustomDefaultDataRules = Rule | Rule[];
42
- /**
43
- * Правила для запроса данных
44
- */
45
- export interface Rule<T = ColumnRule> {
46
- limit?: number;
47
- offset?: number;
48
- columnRule: T;
49
- }
50
42
  /**
51
43
  * Правила для блока колонок
52
44
  */
53
- export declare type ColumnRule = {
45
+ export declare type Rule = {
54
46
  [key: string]: AllColumnsHidden | HiddenColumnIdx | ShowColumnIdx;
55
47
  };
56
48
  export interface AllColumnsHidden {
package/declare.d.ts CHANGED
@@ -12,6 +12,14 @@
12
12
  * @packageDocumentation
13
13
  * @module Регистрация виджета
14
14
  */
15
+ import { WidgetState } from './widget';
16
+ declare global {
17
+ interface Window {
18
+ getWidgetState: {
19
+ [uid: string]: () => WidgetState;
20
+ };
21
+ }
22
+ }
15
23
  /**
16
24
  * Функция-декоратор
17
25
  */
package/declare.js CHANGED
@@ -33,8 +33,10 @@ function Declare(params) {
33
33
  const instance = new T();
34
34
  const token = readFromUrl('token');
35
35
  const uid = readFromUrl('uid');
36
- if (uid) {
36
+ if (uid)
37
37
  instance.uid = uid;
38
+ if (typeof instance.getWidgetState === 'function' && uid) {
39
+ window.parent.getWidgetState[uid] = instance.getWidgetState;
38
40
  }
39
41
  Object.assign(instance, {
40
42
  viewSettings: {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plmt-constructor-sdk",
3
- "version": "0.13.32",
3
+ "version": "0.13.34",
4
4
  "description": "Набор инструментов для создания виджетов.",
5
5
  "dependencies": {
6
6
  "logical-not": "^1.0.9"
package/widget.d.ts CHANGED
@@ -18,10 +18,32 @@ export declare abstract class Widget {
18
18
  ready(): void;
19
19
  onInit(): void;
20
20
  abstract onChange(): void;
21
+ /**
22
+ * Метод для получения состояния виджета
23
+ * @return `WidgetState`
24
+ */
25
+ abstract getWidgetState(): WidgetState;
26
+ /**
27
+ * Обработчик события кастомного запроса
28
+ * @param customData WidgetCustomProvide
29
+ * @return void
30
+ */
21
31
  onCustomChange(customData: WidgetCustomProvide): void;
22
32
  onThemeChange(): void;
23
33
  onLangChange(): void;
24
34
  }
35
+ /**
36
+ * Состояние виджета
37
+ */
38
+ export interface WidgetState {
39
+ /** Лимит */
40
+ limit?: number;
41
+ /** Смещение */
42
+ offset?: number;
43
+ }
44
+ /**
45
+ * Интерфейс для виджета с одним источником данных
46
+ */
25
47
  export interface SingleData {
26
48
  readonly data: DataItem[];
27
49
  readonly dataSettings: DataSettings;
package/widget.js CHANGED
@@ -14,6 +14,11 @@ class Widget {
14
14
  }
15
15
  ready() { }
16
16
  onInit() { }
17
+ /**
18
+ * Обработчик события кастомного запроса
19
+ * @param customData WidgetCustomProvide
20
+ * @return void
21
+ */
17
22
  onCustomChange(customData) { }
18
23
  onThemeChange() { }
19
24
  onLangChange() { }