polymatica-widget 2.0.11 → 2.0.14
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__/io.d.ts +16 -3
- package/__internal__/io.js +2 -0
- package/dataset.d.ts +1 -0
- package/declare.js +26 -7
- package/package.json +1 -1
- package/widget.d.ts +5 -1
- package/widget.js +9 -1
package/__internal__/io.d.ts
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
|
+
import { Column } from '../dataset';
|
|
1
2
|
import { Locale } from '../locale';
|
|
2
3
|
import { Theme } from '../theme';
|
|
3
|
-
import { Dataset, Options } from '../widget';
|
|
4
|
+
import { Dataset, Options, WidgetRenderEnv } from '../widget';
|
|
4
5
|
export declare enum Input {
|
|
5
6
|
Change = "poly.input.change",
|
|
7
|
+
ChangeWidgetRenderEnv = "poly.input.changeWidgetRenderEnv",
|
|
6
8
|
ChangeLang = "poly.input.changeLang",
|
|
7
9
|
ChangeTheme = "poly.input.changeTheme",
|
|
8
|
-
Highlight = "poly.input.highlight"
|
|
10
|
+
Highlight = "poly.input.highlight",
|
|
11
|
+
UnHighlight = "poly.input.unhighlight"
|
|
9
12
|
}
|
|
10
13
|
export declare enum Output {
|
|
11
14
|
Init = "poly.output.init",
|
|
12
15
|
Ready = "poly.output.ready",
|
|
13
16
|
Interact = "poly.output.interact"
|
|
14
17
|
}
|
|
15
|
-
export declare type
|
|
18
|
+
export declare type InputColumn = Omit<Column, 'interact'> & {
|
|
19
|
+
columnId: number;
|
|
20
|
+
};
|
|
21
|
+
export declare type InputDataset = Omit<Dataset, 'columns' | 'columnsByBlock' | 'events'> & {
|
|
16
22
|
datasetId: number;
|
|
23
|
+
columns: InputColumn[];
|
|
24
|
+
columnsByBlock: Record<string, number[]>;
|
|
17
25
|
};
|
|
18
26
|
export interface InputSingleData {
|
|
19
27
|
readonly dataset: InputDataset;
|
|
@@ -33,18 +41,23 @@ export declare type InputRepeatable<T extends InputSingleData | InputMultiData>
|
|
|
33
41
|
export declare type InputData = InputSingleData | InputMultiData | InputRepeatable<InputSingleData> | InputRepeatable<InputMultiData>;
|
|
34
42
|
export interface InputParameter extends Record<Input, any> {
|
|
35
43
|
[Input.Change]: [InputData, Options];
|
|
44
|
+
[Input.ChangeWidgetRenderEnv]: WidgetRenderEnv;
|
|
36
45
|
[Input.ChangeLang]: Locale;
|
|
37
46
|
[Input.ChangeTheme]: Theme;
|
|
38
47
|
[Input.Highlight]: {
|
|
39
48
|
datasetId: number;
|
|
40
49
|
rowIndexArray: number[];
|
|
41
50
|
};
|
|
51
|
+
[Input.UnHighlight]: {
|
|
52
|
+
datasetId: number;
|
|
53
|
+
};
|
|
42
54
|
}
|
|
43
55
|
export interface OutputParameter extends Record<Output, any> {
|
|
44
56
|
[Output.Init]: void;
|
|
45
57
|
[Output.Ready]: void;
|
|
46
58
|
[Output.Interact]: {
|
|
47
59
|
datasetId: number;
|
|
60
|
+
columnId: number;
|
|
48
61
|
dataIndex: number;
|
|
49
62
|
};
|
|
50
63
|
}
|
package/__internal__/io.js
CHANGED
|
@@ -4,9 +4,11 @@ exports.Output = exports.Input = void 0;
|
|
|
4
4
|
var Input;
|
|
5
5
|
(function (Input) {
|
|
6
6
|
Input["Change"] = "poly.input.change";
|
|
7
|
+
Input["ChangeWidgetRenderEnv"] = "poly.input.changeWidgetRenderEnv";
|
|
7
8
|
Input["ChangeLang"] = "poly.input.changeLang";
|
|
8
9
|
Input["ChangeTheme"] = "poly.input.changeTheme";
|
|
9
10
|
Input["Highlight"] = "poly.input.highlight";
|
|
11
|
+
Input["UnHighlight"] = "poly.input.unhighlight";
|
|
10
12
|
})(Input = exports.Input || (exports.Input = {}));
|
|
11
13
|
var Output;
|
|
12
14
|
(function (Output) {
|
package/dataset.d.ts
CHANGED
package/declare.js
CHANGED
|
@@ -35,6 +35,7 @@ function Declare() {
|
|
|
35
35
|
}
|
|
36
36
|
call(instance, 'onChange');
|
|
37
37
|
});
|
|
38
|
+
input(io_1.Input.ChangeWidgetRenderEnv, value => set(instance, 'renderEnv', value));
|
|
38
39
|
input(io_1.Input.ChangeLang, lang => {
|
|
39
40
|
set(instance, 'lang', lang);
|
|
40
41
|
if (inited)
|
|
@@ -84,13 +85,31 @@ function provideTo(widget, source, token) {
|
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
function transform(source, token) {
|
|
87
|
-
const { datasetId } = source, slice = __rest(source, ["datasetId"]);
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
88
|
+
const { datasetId, columns: sourceColumns, columnsByBlock: sourceColumnsByBlock } = source, slice = __rest(source, ["datasetId", "columns", "columnsByBlock"]);
|
|
89
|
+
const columnsById = new Map();
|
|
90
|
+
const columns = sourceColumns.map((_a) => {
|
|
91
|
+
var { columnId } = _a, source = __rest(_a, ["columnId"]);
|
|
92
|
+
const column = Object.assign(Object.assign({}, source), { interact(rowIndex) {
|
|
93
|
+
output(token, io_1.Output.Interact, {
|
|
94
|
+
datasetId,
|
|
95
|
+
columnId,
|
|
96
|
+
dataIndex: rowIndex,
|
|
97
|
+
});
|
|
98
|
+
} });
|
|
99
|
+
columnsById.set(columnId, column);
|
|
100
|
+
return column;
|
|
101
|
+
});
|
|
102
|
+
const columnsByBlock = {};
|
|
103
|
+
Object.entries(sourceColumnsByBlock).forEach(([blockKey, columnIds]) => {
|
|
104
|
+
columnsByBlock[blockKey] = [];
|
|
105
|
+
columnIds.forEach(id => {
|
|
106
|
+
const column = columnsById.get(id);
|
|
107
|
+
if (column)
|
|
108
|
+
columnsByBlock[blockKey].push(column);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
const dataset = Object.assign(Object.assign({}, slice), { columns,
|
|
112
|
+
columnsByBlock, events: {
|
|
94
113
|
onHighlight() { },
|
|
95
114
|
} });
|
|
96
115
|
datasetMap.set(datasetId, dataset);
|
package/package.json
CHANGED
package/widget.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare abstract class Widget {
|
|
|
5
5
|
readonly options: Options;
|
|
6
6
|
readonly theme: Theme;
|
|
7
7
|
readonly lang: Locale;
|
|
8
|
+
readonly renderEnv: WidgetRenderEnv;
|
|
8
9
|
ready(): void;
|
|
9
10
|
init(): void;
|
|
10
11
|
abstract onChange(): void;
|
|
@@ -33,7 +34,6 @@ export interface Dataset {
|
|
|
33
34
|
};
|
|
34
35
|
rows: DatasetRow[];
|
|
35
36
|
heatmap: HeatmapItem[];
|
|
36
|
-
interact(rowIndex: number): void;
|
|
37
37
|
events: {
|
|
38
38
|
onHighlight: (rowIndexArray: number[]) => void;
|
|
39
39
|
};
|
|
@@ -45,3 +45,7 @@ export interface HeatmapItem {
|
|
|
45
45
|
export interface Options {
|
|
46
46
|
[key: string]: any;
|
|
47
47
|
}
|
|
48
|
+
export declare enum WidgetRenderEnv {
|
|
49
|
+
Default = "default",
|
|
50
|
+
Print = "print"
|
|
51
|
+
}
|
package/widget.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Widget = void 0;
|
|
3
|
+
exports.WidgetRenderEnv = exports.Widget = void 0;
|
|
4
4
|
class Widget {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.renderEnv = WidgetRenderEnv.Default;
|
|
7
|
+
}
|
|
5
8
|
ready() { }
|
|
6
9
|
init() { }
|
|
7
10
|
onThemeChange() { }
|
|
8
11
|
onLangChange() { }
|
|
9
12
|
}
|
|
10
13
|
exports.Widget = Widget;
|
|
14
|
+
var WidgetRenderEnv;
|
|
15
|
+
(function (WidgetRenderEnv) {
|
|
16
|
+
WidgetRenderEnv["Default"] = "default";
|
|
17
|
+
WidgetRenderEnv["Print"] = "print";
|
|
18
|
+
})(WidgetRenderEnv = exports.WidgetRenderEnv || (exports.WidgetRenderEnv = {}));
|