plmt-constructor-sdk 0.13.29 → 0.13.31
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/__internal__/widget-io.d.ts +4 -2
- package/__internal__/widget-io.js +1 -0
- package/__internal__/widget-provide-data.d.ts +3 -2
- package/__internal__/widget-provide-data.js +13 -9
- package/__internal__/widget.d.ts +13 -4
- package/declare.js +7 -0
- package/package.json +1 -1
- package/widget.d.ts +4 -0
|
@@ -2,13 +2,14 @@ import { Locale } from '../config';
|
|
|
2
2
|
import { DataOptionFilter, Filter, Sort, Target } from '../data';
|
|
3
3
|
import { CustomQueryFields, WidgetRenderEnv } from '../widget';
|
|
4
4
|
import { ThemeProvide } from './theme';
|
|
5
|
-
import { WidgetDataOptionColumn_Server, WidgetRepresent } from './widget';
|
|
5
|
+
import { WidgetCustomProvide_Server, WidgetDataOptionColumn_Server, WidgetRepresent } from './widget';
|
|
6
6
|
export declare enum Input {
|
|
7
7
|
Change = "ptnl.input.change",
|
|
8
8
|
ChangeLang = "ptnl.input.changeLang",
|
|
9
9
|
ChangeTheme = "ptnl.input.changeTheme",
|
|
10
10
|
ChangeOtherFilters = "ptnl.input.ChangeOtherFilters",
|
|
11
|
-
ChangeWidgetRenderEnv = "ptnl.input.changeWidgetRenderEnv"
|
|
11
|
+
ChangeWidgetRenderEnv = "ptnl.input.changeWidgetRenderEnv",
|
|
12
|
+
ChangeCustomQuery = "ptnl.input.changeCustomQuery"
|
|
12
13
|
}
|
|
13
14
|
export declare enum Output {
|
|
14
15
|
Init = "ptnl.output.init",
|
|
@@ -26,6 +27,7 @@ export interface InputParameter extends Record<Input, any> {
|
|
|
26
27
|
[Input.ChangeTheme]: ThemeProvide;
|
|
27
28
|
[Input.ChangeOtherFilters]: WidgetDataOptionColumn_Server[];
|
|
28
29
|
[Input.ChangeWidgetRenderEnv]: WidgetRenderEnv;
|
|
30
|
+
[Input.ChangeCustomQuery]: WidgetCustomProvide_Server;
|
|
29
31
|
}
|
|
30
32
|
/** Если будет проработка Target.All, то удалить */
|
|
31
33
|
export declare type DefaultTarget = Target.All | Target.Other;
|
|
@@ -8,6 +8,7 @@ var Input;
|
|
|
8
8
|
Input["ChangeTheme"] = "ptnl.input.changeTheme";
|
|
9
9
|
Input["ChangeOtherFilters"] = "ptnl.input.ChangeOtherFilters";
|
|
10
10
|
Input["ChangeWidgetRenderEnv"] = "ptnl.input.changeWidgetRenderEnv";
|
|
11
|
+
Input["ChangeCustomQuery"] = "ptnl.input.changeCustomQuery";
|
|
11
12
|
})(Input = exports.Input || (exports.Input = {}));
|
|
12
13
|
var Output;
|
|
13
14
|
(function (Output) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { DataSettings } from '../widget';
|
|
2
|
-
import { WidgetRepresent } from './widget';
|
|
1
|
+
import { DataSettings, MultiData, SingleData } from '../widget';
|
|
2
|
+
import { DatasetMultiData_Server, WidgetRepresent } from './widget';
|
|
3
3
|
export declare type DataSettingsMethods = Pick<DataSettings, 'setFilter' | 'removeFilterAt' | 'setSort' | 'removeSortAt' | 'interact' | 'customQuery'>;
|
|
4
4
|
export declare function provideDataTo(widget: any, { dataOptionsMap, viewOptions }: WidgetRepresent, dataSettingsMethods?: DataSettingsMethods): void;
|
|
5
|
+
export declare function parseDataToWidgetData(widget: any, dataOptionsMap: DatasetMultiData_Server, dataSettingsMethods?: DataSettingsMethods): SingleData | MultiData;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.provideDataTo = void 0;
|
|
3
|
+
exports.parseDataToWidgetData = exports.provideDataTo = void 0;
|
|
4
4
|
const config_1 = require("./config");
|
|
5
5
|
const widget_1 = require("./widget");
|
|
6
6
|
const defaultDataSettingsMethods = {
|
|
@@ -14,10 +14,16 @@ const defaultDataSettingsMethods = {
|
|
|
14
14
|
customQuery() { },
|
|
15
15
|
};
|
|
16
16
|
function provideDataTo(widget, { dataOptionsMap, viewOptions }, dataSettingsMethods = defaultDataSettingsMethods) {
|
|
17
|
+
const widgetData = parseDataToWidgetData(widget, dataOptionsMap, dataSettingsMethods);
|
|
18
|
+
Object.assign(widget, widgetData);
|
|
19
|
+
widget.viewSettings = {};
|
|
20
|
+
viewOptions.forEach(({ key, value }) => (widget.viewSettings[key] = value));
|
|
21
|
+
}
|
|
22
|
+
exports.provideDataTo = provideDataTo;
|
|
23
|
+
function parseDataToWidgetData(widget, dataOptionsMap, dataSettingsMethods = defaultDataSettingsMethods) {
|
|
17
24
|
const widgetMultiData = {};
|
|
18
25
|
const widgetDataSettingsMap = {};
|
|
19
26
|
const formatters = window.parent['format']?.[widget.uid] || {};
|
|
20
|
-
widget.viewSettings = {};
|
|
21
27
|
Object.values(dataOptionsMap).forEach(({ data_option, rows, total }) => {
|
|
22
28
|
widgetMultiData[data_option.key] = rows;
|
|
23
29
|
const columns = data_option.dataset.columns_id.map((source) => ({
|
|
@@ -91,21 +97,19 @@ function provideDataTo(widget, { dataOptionsMap, viewOptions }, dataSettingsMeth
|
|
|
91
97
|
widgetDataSettingsMap[data_option.key] = dataSettingsItem;
|
|
92
98
|
});
|
|
93
99
|
if (widget_1.widgetDefaultKey in widgetDataSettingsMap) {
|
|
94
|
-
|
|
100
|
+
return {
|
|
95
101
|
data: widgetMultiData[widget_1.widgetDefaultKey],
|
|
96
102
|
dataSettings: widgetDataSettingsMap[widget_1.widgetDefaultKey],
|
|
97
|
-
}
|
|
103
|
+
};
|
|
98
104
|
}
|
|
99
105
|
else {
|
|
100
|
-
|
|
106
|
+
return {
|
|
101
107
|
data: widgetMultiData,
|
|
102
108
|
dataSettings: widgetDataSettingsMap,
|
|
103
|
-
}
|
|
109
|
+
};
|
|
104
110
|
}
|
|
105
|
-
widget.viewSettings = {};
|
|
106
|
-
viewOptions.forEach(({ key, value }) => (widget.viewSettings[key] = value));
|
|
107
111
|
}
|
|
108
|
-
exports.
|
|
112
|
+
exports.parseDataToWidgetData = parseDataToWidgetData;
|
|
109
113
|
function getDataSettingsEvents(widget, key) {
|
|
110
114
|
const dataSettings = key === widget_1.widgetDefaultKey
|
|
111
115
|
? widget.dataSettings
|
package/__internal__/widget.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Dataset_Server } from './dataset';
|
|
3
|
-
import { ConfigDataBlockType_Server } from './config';
|
|
4
|
-
import { ColorizeItem, Widget } from '../widget';
|
|
1
|
+
import { DataQueryFunction, DataQueryMethod } from '../config';
|
|
5
2
|
import { Column, DataItem } from '../data';
|
|
3
|
+
import { ColorizeItem, MultiData, SingleData, Widget } from '../widget';
|
|
4
|
+
import { ConfigDataBlockType_Server } from './config';
|
|
5
|
+
import { Dataset_Server } from './dataset';
|
|
6
6
|
export declare const widgetDefaultKey = "ffed0a4d-4a9d-417f-b502-eb50142c6956";
|
|
7
7
|
export interface Widget_Server {
|
|
8
8
|
data_options: WidgetDataOption_Server[];
|
|
@@ -19,6 +19,15 @@ export interface DatasetMultiData_Server {
|
|
|
19
19
|
total: number;
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
+
export declare type WidgetCustomProvide = (SingleData | MultiData) & {
|
|
23
|
+
/** Идентификатор для данных */
|
|
24
|
+
action?: any;
|
|
25
|
+
};
|
|
26
|
+
export interface WidgetCustomProvide_Server {
|
|
27
|
+
data: DatasetMultiData_Server;
|
|
28
|
+
/** Идентификатор для данных */
|
|
29
|
+
action?: any;
|
|
30
|
+
}
|
|
22
31
|
export interface WidgetDataOption_Server {
|
|
23
32
|
key: string;
|
|
24
33
|
id: number;
|
package/declare.js
CHANGED
|
@@ -129,6 +129,13 @@ function Declare(params) {
|
|
|
129
129
|
if (instance.onThemeChange && inited)
|
|
130
130
|
instance.onThemeChange();
|
|
131
131
|
});
|
|
132
|
+
input(widget_io_1.Input.ChangeCustomQuery, (customData) => {
|
|
133
|
+
if (!instance.onCustomChange)
|
|
134
|
+
return;
|
|
135
|
+
const data = (0, widget_provide_data_1.parseDataToWidgetData)(instance, customData.data);
|
|
136
|
+
const assignedData = Object.assign(customData, data);
|
|
137
|
+
instance.onCustomChange(assignedData);
|
|
138
|
+
});
|
|
132
139
|
input(widget_io_1.Input.ChangeOtherFilters, (source) => (0, widget_1.dispatchChangeOtherFilters)(instance, source));
|
|
133
140
|
input(widget_io_1.Input.ChangeWidgetRenderEnv, (value) => {
|
|
134
141
|
instance.renderEnv = value;
|
package/package.json
CHANGED
package/widget.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* @module Класс Widget
|
|
6
6
|
*/
|
|
7
7
|
import { DataQueryFunction_Server } from './__internal__/config';
|
|
8
|
+
import { WidgetCustomProvide } from './__internal__/widget';
|
|
8
9
|
import { AllColumnsHidden, DataQueryMethod, Locale } from './config';
|
|
9
10
|
import { Column, DataItem, DataOptionFilter, Filter, Sort, SortDirection, Target } from './data';
|
|
10
11
|
import { Theme } from './theme';
|
|
@@ -17,6 +18,7 @@ export declare abstract class Widget {
|
|
|
17
18
|
ready(): void;
|
|
18
19
|
onInit(): void;
|
|
19
20
|
abstract onChange(): void;
|
|
21
|
+
abstract onCustomChange(customData: WidgetCustomProvide): void;
|
|
20
22
|
onThemeChange(): void;
|
|
21
23
|
onLangChange(): void;
|
|
22
24
|
}
|
|
@@ -99,6 +101,8 @@ export interface CustomQueryFields {
|
|
|
99
101
|
sort?: DataOptionSort[];
|
|
100
102
|
/** Смещение относительно данных датасета (применимо например в пагинации)*/
|
|
101
103
|
offset?: number;
|
|
104
|
+
/** Идентификатор для определния принадлежности данных*/
|
|
105
|
+
action?: any;
|
|
102
106
|
}
|
|
103
107
|
/**
|
|
104
108
|
* Интерфейс для создания правил, по которым будет строиться DataOption
|