plmt-constructor-sdk 0.13.28 → 0.13.30

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.
@@ -68,7 +68,7 @@ export interface ConfigDataOptionBlock_Server {
68
68
  }
69
69
  export declare type CustomDefaultDataRules_Server = Rule_Server | Rule_Server[];
70
70
  export declare type Rule_Server = {
71
- [key: string]: CamelToSnakeCase<AllColumnsHidden | HiddenColumnIdx | ShowColumnIdx>;
71
+ [key: string]: CamelToSnakeCase<AllColumnsHidden> | CamelToSnakeCase<HiddenColumnIdx> | CamelToSnakeCase<ShowColumnIdx>;
72
72
  };
73
73
  export declare const configDataBlock_Server = "8316067a-d04b-4b21-bd4d-35529846617b";
74
74
  export declare const blockFilterKey = "34642664-dbd1-4e35-b0ea-2eaabe796b48";
@@ -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
- Object.assign(widget, {
100
+ return {
95
101
  data: widgetMultiData[widget_1.widgetDefaultKey],
96
102
  dataSettings: widgetDataSettingsMap[widget_1.widgetDefaultKey],
97
- });
103
+ };
98
104
  }
99
105
  else {
100
- Object.assign(widget, {
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.provideDataTo = provideDataTo;
112
+ exports.parseDataToWidgetData = parseDataToWidgetData;
109
113
  function getDataSettingsEvents(widget, key) {
110
114
  const dataSettings = key === widget_1.widgetDefaultKey
111
115
  ? widget.dataSettings
@@ -1,8 +1,8 @@
1
- import { DataQueryMethod, DataQueryFunction } from '../config';
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "plmt-constructor-sdk",
3
- "version": "0.13.28",
3
+ "version": "0.13.30",
4
4
  "description": "Набор инструментов для создания виджетов.",
5
5
  "dependencies": {
6
6
  "logical-not": "^1.0.9"
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
  }