d2aura 26.0.11 → 26.0.13
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/api/eda/edaManagerApi.d.ts +19 -2
- package/api/eda/edaManagerApi.js +36 -3
- package/api/eda/edaManagerApi.js.map +1 -1
- package/api/eda/generated/events.d.ts +86 -28
- package/api/eda/generated/events.js +154 -42
- package/api/eda/generated/events.js.map +1 -1
- package/api/eda/generated/structures.d.ts +21 -0
- package/api/eda/generated/structures.js.map +1 -1
- package/api/impl/utils/reportError.js +16 -0
- package/api/impl/utils/reportError.js.map +1 -1
- package/api/webPush/webPushApi.js.map +1 -1
- package/api/webPush/webPushUtils.js.map +1 -1
- package/core/i18n/d2aura.sk.json +8 -0
- package/core/i18n/jsapi.sk.json +4 -0
- package/core/i18n/jsapi.ua.json +4 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.d.ts +13 -37
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +114 -211
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.d.ts +2 -0
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +2 -2
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.d.ts +14 -5
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +338 -326
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTablePanel.d.ts +15 -4
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js +139 -64
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.d.ts +3 -8
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +12 -38
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +1 -1
- package/coreui/components/edaManagerComponent/components/edaTreeView.js +5 -5
- package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.d.ts +8 -2
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +39 -11
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.d.ts +33 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js +3 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.d.ts +9 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +267 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/loadingContext.d.ts +7 -0
- package/coreui/components/edaManagerComponent/context/loadingContext.js +3 -0
- package/coreui/components/edaManagerComponent/context/loadingContext.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.d.ts +1 -2
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js +10 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaDetail.d.ts +4 -12
- package/coreui/components/edaManagerComponent/edaDetail.js +53 -88
- package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaNavigator.d.ts +2 -1
- package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaSelect.d.ts +13 -7
- package/coreui/components/edaManagerComponent/edaSelect.js +211 -7
- package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -1
- package/coreui/components/edaManagerComponent/utils/utils.d.ts +17 -0
- package/coreui/components/edaManagerComponent/utils/utils.js +57 -0
- package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -1
- package/coreui/components/webPush/webPushSwitch.js.map +1 -1
- package/coreui/images/logo.svg +9 -9
- package/coreui/images/logo_full.svg +11 -11
- package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +64 -2
- package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +51 -13
- package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +304 -4
- package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +9 -3
- package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +89 -3
- package/d2configuration/edaManager/EDA_StatVectorRec.xml +56 -0
- package/d2configuration/edaManager/SD.EM_EDA_StatVectorRec_V1.xml +125 -0
- package/d2configuration/edaManager/SD.EM_Filter_Condition.xml +156 -0
- package/d2configuration/edaManager/SD.EM_Tree_Item.xml +34 -1
- package/package.json +3 -3
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.d.ts +0 -6
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js +0 -14
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js.map +0 -1
|
@@ -1,217 +1,120 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import React, { useContext } from "react";
|
|
2
|
+
import { Button, Card, Empty, Progress, Space, Spin, Typography } from "antd";
|
|
3
|
+
import { createStyles } from "antd-style";
|
|
2
4
|
import { EdaSamplingType } from "../constants/edaTypes";
|
|
3
|
-
import
|
|
4
|
-
import Spin from "antd/lib/spin";
|
|
5
|
-
import { Progress, Typography } from "antd";
|
|
5
|
+
import i18n from "d2core/i18n/i18n";
|
|
6
6
|
import { EdaSampleRangePickerPanel } from "./edaSampleRangePickerPanel";
|
|
7
7
|
import { EdaTimeWindowPickerPanel } from "./edaTimeWindowPickerPanel";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
this.setState({ loadingCount: vectors.length });
|
|
94
|
-
if (currentRequestId !== this.latestRequestId) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
for (let i = 0; i < vectors.length; i++) {
|
|
98
|
-
const vector = vectors[i];
|
|
99
|
-
this.setState({ loadingVector: vector.DisplayName ?? "" });
|
|
100
|
-
result[vector.ID] = await api.readVectorValues(vector.ID, btWindow, etWindow, sampling).catch(this.handleError);
|
|
101
|
-
this.setState({ loadingPercentage: (i + 1) / vectors.length * 100 });
|
|
102
|
-
}
|
|
103
|
-
this.onDataLoaded?.(result, vectors);
|
|
104
|
-
this.setState({ loadingPercentage: 100, });
|
|
105
|
-
}
|
|
106
|
-
catch (e) {
|
|
107
|
-
console.error(e);
|
|
108
|
-
await api.cancelSession();
|
|
109
|
-
}
|
|
110
|
-
finally {
|
|
111
|
-
if (currentRequestId === this.latestRequestId) {
|
|
112
|
-
this.setState({ loading: false, loadingPercentage: 0 });
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
getDefaultState() {
|
|
117
|
-
return {
|
|
118
|
-
needsReload: false,
|
|
119
|
-
loading: false,
|
|
120
|
-
loadingPercentage: 0,
|
|
121
|
-
loadingVector: "",
|
|
122
|
-
loadingCount: 0,
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
renderIndicator() {
|
|
126
|
-
const { loadingCount, loadingPercentage, loadingVector } = this.state;
|
|
127
|
-
return (React.createElement("div", { className: "progress" },
|
|
8
|
+
import { LoadingContext } from "../context/loadingContext";
|
|
9
|
+
const useStyles = createStyles(({ css, token }) => {
|
|
10
|
+
return {
|
|
11
|
+
baseLayout: css `
|
|
12
|
+
display: flex;
|
|
13
|
+
height: 100%;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
justify-content: space-between;
|
|
16
|
+
border-top-left-radius: 0;
|
|
17
|
+
border-top-right-radius: 0;
|
|
18
|
+
|
|
19
|
+
> .ant-card-body {
|
|
20
|
+
height: 100%;
|
|
21
|
+
padding: ${token.paddingXS}px;
|
|
22
|
+
|
|
23
|
+
> div {
|
|
24
|
+
height: 100%;
|
|
25
|
+
overflow-x: hidden;
|
|
26
|
+
overflow-y: auto;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ant-spin-nested-loading {
|
|
31
|
+
height: 100%;
|
|
32
|
+
width: 100%;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.ant-spin-container {
|
|
36
|
+
display: flex;
|
|
37
|
+
height: 100%;
|
|
38
|
+
width: 100%;
|
|
39
|
+
flex-direction: column;
|
|
40
|
+
justify-content: space-between;
|
|
41
|
+
gap: ${token.paddingXXS}px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.ant-spin-container > div {
|
|
45
|
+
flex: 0 0 auto;
|
|
46
|
+
display: flex;
|
|
47
|
+
justify-content: space-between;
|
|
48
|
+
|
|
49
|
+
> .ant-space {
|
|
50
|
+
width: 100%;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.ant-spin-container > div:last-child {
|
|
55
|
+
width: 100%;
|
|
56
|
+
flex: 1 1 auto;
|
|
57
|
+
position: relative;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.eda-detail-no-data {
|
|
61
|
+
padding: ${token.padding}px;
|
|
62
|
+
display: flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
justify-content: center !important;
|
|
65
|
+
width: 100%;
|
|
66
|
+
height: 100%;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.progress {
|
|
70
|
+
display: flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
justify-content: center;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.ant-space-item:last-child {
|
|
76
|
+
height: 100%;
|
|
77
|
+
}
|
|
78
|
+
`
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
export const EdaDataBasePanel = ({ api, data, type, size, pageSize, range, dataContext, showTimeWindow, children }) => {
|
|
82
|
+
const css = useStyles();
|
|
83
|
+
const loadingContext = useContext(LoadingContext);
|
|
84
|
+
const renderEmpty = () => (React.createElement("div", { className: "eda-detail-no-data" },
|
|
85
|
+
React.createElement(Empty, { description: i18n("No data provided") })));
|
|
86
|
+
const renderPickers = () => (React.createElement(React.Fragment, null,
|
|
87
|
+
React.createElement("div", null,
|
|
88
|
+
React.createElement(EdaSampleRangePickerPanel, { bt: range.btTotal, et: range.etTotal, size: size, sampling: range.sampling, totalCount: dataContext.vectors.length, pageSize: pageSize ?? 10, loading: !!loadingContext?.loading, page: range.vectorPage, onChange: (bt, et, step, page) => {
|
|
89
|
+
range.updateValues(bt, et, step, page);
|
|
90
|
+
} })),
|
|
91
|
+
showTimeWindow &&
|
|
128
92
|
React.createElement("div", null,
|
|
129
|
-
React.createElement(
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if (!showTimeWindow) {
|
|
143
|
-
btWindow = btTotal;
|
|
144
|
-
etWindow = etTotal;
|
|
145
|
-
}
|
|
146
|
-
switch (type) {
|
|
147
|
-
case 1:
|
|
148
|
-
case 2: {
|
|
149
|
-
let vectors;
|
|
150
|
-
try {
|
|
151
|
-
if (type === 1) {
|
|
152
|
-
vectors = await api.getGroupVectors(data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
vectors = await api.getScenarioVectors(data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
console.error(error);
|
|
160
|
-
vectors = { items: [], leftCount: 0 };
|
|
161
|
-
}
|
|
162
|
-
vectors.items = this.onLoadVectors(vectors.items);
|
|
163
|
-
this.setState({ loadingCount: vectors.items.length });
|
|
164
|
-
if (vectorPage === 1) {
|
|
165
|
-
this.context.updateTotalCount(vectors.items.length + vectors.leftCount);
|
|
166
|
-
}
|
|
167
|
-
if (currentRequestId !== this.latestRequestId) {
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
for (let i = 0; i < vectors.items.length; i++) {
|
|
171
|
-
const vector = vectors.items[i];
|
|
172
|
-
this.setState({ loadingVector: vector.DisplayName ?? "" });
|
|
173
|
-
result[vector.ID] = await api.readVectorValues(vector.ID, btWindow, etWindow, sampling).catch(this.handleError);
|
|
174
|
-
columns.push(vector);
|
|
175
|
-
this.setState({ loadingPercentage: (i + 1) / vectors.items.length * 100 });
|
|
176
|
-
}
|
|
177
|
-
break;
|
|
178
|
-
}
|
|
179
|
-
case 0: {
|
|
180
|
-
const column = data.data;
|
|
181
|
-
const id = data.data.ID_VEKTOR;
|
|
182
|
-
this.setState({ loadingCount: 1, loadingVector: column.ZOBRAZ_MENO });
|
|
183
|
-
result[id] = await api.readVectorValues(id, btWindow, etWindow, sampling).catch(this.handleError);
|
|
184
|
-
if (currentRequestId !== this.latestRequestId) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
columns.push({
|
|
188
|
-
ID: column.ID_VEKTOR,
|
|
189
|
-
DisplayName: column.ZOBRAZ_MENO,
|
|
190
|
-
Name: column.MENO,
|
|
191
|
-
ParentID: column.ID_SKVEKTOR,
|
|
192
|
-
Path: "",
|
|
193
|
-
Type: 0
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
this.onDataLoaded?.(result, columns);
|
|
198
|
-
this.setState({ loadingPercentage: 100, });
|
|
199
|
-
}
|
|
200
|
-
catch (e) {
|
|
201
|
-
console.error(e);
|
|
202
|
-
await api.cancelSession();
|
|
203
|
-
}
|
|
204
|
-
finally {
|
|
205
|
-
if (currentRequestId === this.latestRequestId) {
|
|
206
|
-
this.setState({ loading: false, loadingPercentage: 0 });
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
async handleError(error) {
|
|
211
|
-
console.error(error);
|
|
212
|
-
await this.props.api.cancelSession();
|
|
213
|
-
return [];
|
|
93
|
+
React.createElement(EdaTimeWindowPickerPanel, { start: range.btTotal, end: range.etTotal, bt: range.btWindow, et: range.etWindow, step: range.step, size: size, disabled: range.sampling === EdaSamplingType.Changes, onTimeWindowChanged: (bt, et, step) => {
|
|
94
|
+
range.updateTimeWindow(bt, et, step);
|
|
95
|
+
} }))));
|
|
96
|
+
const renderBody = () => (React.createElement(Space, { direction: "vertical", size: size },
|
|
97
|
+
renderPickers(),
|
|
98
|
+
children));
|
|
99
|
+
return (React.createElement(Card, { className: css.styles.baseLayout },
|
|
100
|
+
React.createElement(Spin, { spinning: loadingContext?.loading, indicator: React.createElement(LoadingIndicator, { api: api, dataContext: dataContext, loadingContext: loadingContext, size: size }) },
|
|
101
|
+
React.createElement("div", null, (type === undefined || data === undefined) ? renderEmpty() : renderBody()))));
|
|
102
|
+
};
|
|
103
|
+
const LoadingIndicator = ({ api, dataContext, loadingContext, size }) => {
|
|
104
|
+
if (!loadingContext) {
|
|
105
|
+
return undefined;
|
|
214
106
|
}
|
|
215
|
-
}
|
|
216
|
-
|
|
107
|
+
const { loadingCount, loadingPercentage, loadingVector } = loadingContext;
|
|
108
|
+
return (React.createElement("div", { className: "progress" },
|
|
109
|
+
React.createElement(Space, { direction: "vertical" },
|
|
110
|
+
React.createElement(Progress, { type: "dashboard", steps: loadingCount, percent: loadingPercentage, format: (percent) => Math.round(percent ?? 0) + "%", trailColor: "rgba(0, 0, 0, 0.06)" }),
|
|
111
|
+
React.createElement(Typography.Text, { style: { whiteSpace: "nowrap" } }, loadingVector),
|
|
112
|
+
React.createElement(Space.Compact, null,
|
|
113
|
+
React.createElement(Button, { size: size, type: "primary", danger: true, onClick: async () => {
|
|
114
|
+
await api.cancelSession();
|
|
115
|
+
} }, i18n("Cancel")),
|
|
116
|
+
React.createElement(Button, { size: size, type: "primary", danger: true, onClick: async () => {
|
|
117
|
+
dataContext.cancelLoading();
|
|
118
|
+
} }, i18n("Cancel All"))))));
|
|
119
|
+
};
|
|
217
120
|
//# sourceMappingURL=edaDataBasePanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaDataBasePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/components/edaDataBasePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import {BaseProps, BaseState, EdaBasePanel} from \"./edaBasePanel\";\r\nimport {EdaSamplingType, GroupData, IdType, ScenarioData, VectorData} from \"../constants/edaTypes\";\r\nimport React from \"react\";\r\nimport Spin from \"antd/lib/spin\";\r\nimport {AliasToken} from \"antd/es/theme/interface\";\r\nimport {Progress, Typography} from \"antd\";\r\nimport {EdaSampleRangePickerPanel} from \"./edaSampleRangePickerPanel\";\r\nimport {EdaTimeWindowPickerPanel} from \"./edaTimeWindowPickerPanel\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\nimport EdaManagerApi, {VectorValue} from \"../../../../api/eda/edaManagerApi\";\r\nimport {SD_EM_Tree_Item} from \"../../../../api/eda/generated/structures\";\r\nimport {WithSharedSampleRangeWrapperProps} from \"../context/sharedSampleRangeWrapper\";\r\nimport {SharedSampleRange, SharedSampleRangeContext} from \"../context/sharedSampleRange\";\r\n\r\nexport interface BaseDataProps extends BaseProps, WithSharedSampleRangeWrapperProps {\r\n api: EdaManagerApi\r\n isActive: boolean\r\n\r\n size?: SizeType\r\n showTimeWindow?: boolean\r\n}\r\n\r\nexport interface BaseDataState extends BaseState {\r\n needsReload: boolean\r\n\r\n loading: boolean\r\n loadingPercentage: number\r\n loadingVector: string\r\n loadingCount: number\r\n}\r\n\r\nexport abstract class EdaBaseDataPanel<P extends BaseDataProps, S extends BaseDataState> extends EdaBasePanel<P, S> {\r\n static contextType = SharedSampleRangeContext;\r\n declare context: SharedSampleRange;\r\n\r\n private latestRequestId: number = 0;\r\n\r\n protected abstract renderContent(token: AliasToken): React.ReactNode;\r\n\r\n protected abstract getDefaultDataBaseState(props: P): Omit<S, keyof BaseDataState>;\r\n\r\n protected abstract onDataLoaded(data: {[id: number]: VectorValue[]}, vectors: SD_EM_Tree_Item[]): void;\r\n\r\n protected onDataSourceChanged() {}\r\n\r\n protected onLoadVectors(vectors: SD_EM_Tree_Item[]): SD_EM_Tree_Item[] {\r\n return vectors;\r\n }\r\n\r\n async componentDidMount() {\r\n if (this.props.type !== undefined && this.props.data) {\r\n await this.loadData(this.props.type, this.props.data);\r\n }\r\n }\r\n\r\n async componentDidUpdate(prevProps: Readonly<P>, _prevState: Readonly<S>) {\r\n const {rangeContext, showTimeWindow, type, data, isActive} = this.props;\r\n const {needsReload} = this.state;\r\n const {btWindow, etWindow, btTotal, etTotal, sampling, step, vectorPage} = rangeContext;\r\n\r\n const dataSourceChanged = prevProps.type !== type || prevProps.data !== data;\r\n const windowChanged =\r\n !prevProps.rangeContext.btWindow.isSame(btWindow) ||\r\n !prevProps.rangeContext.etWindow.isSame(etWindow) ||\r\n prevProps.rangeContext.step !== step;\r\n const showTimeWindowChanged = prevProps.showTimeWindow !== showTimeWindow;\r\n const rangeChanged =\r\n prevProps.rangeContext.sampling !== sampling ||\r\n prevProps.rangeContext.vectorPage !== vectorPage ||\r\n prevProps.rangeContext.btTotal !== btTotal ||\r\n prevProps.rangeContext.etTotal !== etTotal;\r\n const totalChanged = prevProps.rangeContext.btTotal !== btTotal || prevProps.rangeContext.etTotal !== etTotal;\r\n const shouldReload = dataSourceChanged || windowChanged || rangeChanged || showTimeWindowChanged || (!showTimeWindow && totalChanged);\r\n\r\n if (type !== undefined && data !== undefined) {\r\n // Reset pagination if the data source changed\r\n if (dataSourceChanged) {\r\n this.context.updateValues(btTotal, etTotal, sampling, 1);\r\n }\r\n\r\n if (dataSourceChanged || (prevProps.rangeContext.vectorPage !== vectorPage)) {\r\n this.onDataSourceChanged();\r\n }\r\n\r\n if (isActive) {\r\n if ((!prevProps.isActive && needsReload) || shouldReload) {\r\n this.setState({needsReload: false});\r\n await this.loadData(type, data);\r\n }\r\n } else if (shouldReload) {\r\n this.setState({needsReload: true});\r\n }\r\n }\r\n }\r\n\r\n protected getDefaultBaseState(props: P): S {\r\n this.handleError = this.handleError.bind(this);\r\n\r\n return {\r\n ...this.getDefaultState(),\r\n ...this.getDefaultDataBaseState(props),\r\n } as unknown as S;\r\n }\r\n\r\n protected renderPanel(token: AliasToken, _type: IdType, _data: VectorData | GroupData | ScenarioData): React.ReactNode {\r\n const {api, size, rangeContext, showTimeWindow} = this.props;\r\n const {loading} = this.state;\r\n const {btTotal, etTotal, sampling, vectorPage, totalCount, step} = rangeContext;\r\n\r\n return (\r\n <Spin spinning={loading} indicator={this.renderIndicator()}>\r\n <>\r\n <div>\r\n <EdaSampleRangePickerPanel\r\n bt={btTotal}\r\n et={etTotal}\r\n sampling={sampling}\r\n totalCount={totalCount}\r\n pageSize={api.pageSize}\r\n loading={loading}\r\n size={size}\r\n page={vectorPage}\r\n onChange={(bt, et, step, page) => {\r\n rangeContext.updateValues(bt, et, step, page);\r\n }}\r\n />\r\n </div>\r\n {showTimeWindow &&\r\n <div>\r\n <EdaTimeWindowPickerPanel\r\n start={btTotal}\r\n end={etTotal}\r\n step={step}\r\n size={size}\r\n disabled={sampling === EdaSamplingType.Changes} // FIXME default -> ??\r\n onTimeWindowChanged={(bt, et, step) => {\r\n rangeContext.updateTimeWindow(bt, et, step);\r\n }}\r\n />\r\n </div>\r\n }\r\n {this.renderContent(token)}\r\n </>\r\n </Spin>\r\n );\r\n }\r\n\r\n protected async loadVectorData(vectors: SD_EM_Tree_Item[]) {\r\n const {api} = this.props;\r\n\r\n const currentRequestId = ++this.latestRequestId;\r\n\r\n try {\r\n const {rangeContext, showTimeWindow} = this.props;\r\n const {btTotal, etTotal, sampling} = rangeContext;\r\n const result: { [id: number]: VectorValue[] } = [];\r\n let {btWindow, etWindow} = rangeContext;\r\n\r\n this.setState({loading: true, loadingPercentage: 0});\r\n\r\n if (!showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n this.setState({loadingCount: vectors.length});\r\n\r\n if (currentRequestId !== this.latestRequestId) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.length; i++) {\r\n const vector = vectors[i];\r\n\r\n this.setState({loadingVector: vector.DisplayName ?? \"\"});\r\n result[vector.ID as number] = await api.readVectorValues(vector.ID as number, btWindow, etWindow, sampling).catch(this.handleError);\r\n this.setState({loadingPercentage: (i + 1) / vectors.length * 100});\r\n }\r\n\r\n this.onDataLoaded?.(result, vectors);\r\n this.setState({loadingPercentage: 100,});\r\n } catch (e) {\r\n console.error(e);\r\n await api.cancelSession();\r\n } finally {\r\n if (currentRequestId === this.latestRequestId) {\r\n this.setState({loading: false, loadingPercentage: 0});\r\n }\r\n }\r\n }\r\n\r\n private getDefaultState(): BaseDataState {\r\n return {\r\n needsReload: false,\r\n\r\n loading: false,\r\n loadingPercentage: 0,\r\n loadingVector: \"\",\r\n loadingCount: 0,\r\n }\r\n }\r\n\r\n private renderIndicator(): React.ReactElement {\r\n const {loadingCount, loadingPercentage, loadingVector} = this.state;\r\n return (\r\n <div className={\"progress\"}>\r\n <div>\r\n <Progress\r\n type={\"dashboard\"}\r\n steps={loadingCount}\r\n percent={loadingPercentage}\r\n format={(percent) => Math.round(percent ?? 0) + \"%\"}\r\n trailColor=\"rgba(0, 0, 0, 0.06)\"\r\n />\r\n <Typography.Text style={{whiteSpace: \"nowrap\"}}>{loadingVector}</Typography.Text>\r\n </div>\r\n </div>\r\n )\r\n }\r\n\r\n private async loadData(type: IdType, data: VectorData | GroupData | ScenarioData) {\r\n const {api} = this.props;\r\n\r\n const currentRequestId = ++this.latestRequestId;\r\n\r\n try {\r\n const {rangeContext, showTimeWindow} = this.props;\r\n const {btTotal, etTotal, sampling, vectorPage} = rangeContext;\r\n const result: { [id: number]: VectorValue[] } = [];\r\n const columns: SD_EM_Tree_Item[] = [];\r\n let {btWindow, etWindow} = rangeContext;\r\n\r\n this.setState({loading: true, loadingPercentage: 0});\r\n\r\n if (!showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n switch (type) {\r\n case IdType.GROUP:\r\n case IdType.SCENARIO: {\r\n let vectors: {items: Partial<SD_EM_Tree_Item>[], leftCount: number};\r\n\r\n try {\r\n if (type === IdType.GROUP) {\r\n vectors = await api.getGroupVectors((data as GroupData).data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);\r\n } else {\r\n vectors = await api.getScenarioVectors((data as ScenarioData).data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n vectors = {items: [], leftCount: 0};\r\n }\r\n\r\n vectors.items = this.onLoadVectors(vectors.items as SD_EM_Tree_Item[]); // load only visible vectors\r\n this.setState({loadingCount: vectors.items.length});\r\n\r\n if (vectorPage === 1) {\r\n this.context.updateTotalCount(vectors.items.length + vectors.leftCount);\r\n }\r\n\r\n if (currentRequestId !== this.latestRequestId) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.items.length; i++) {\r\n const vector = vectors.items[i];\r\n\r\n this.setState({loadingVector: vector.DisplayName ?? \"\"});\r\n result[vector.ID as number] = await api.readVectorValues(vector.ID as number, btWindow, etWindow, sampling).catch(this.handleError);\r\n columns.push(vector as SD_EM_Tree_Item);\r\n this.setState({loadingPercentage: (i + 1) / vectors.items.length * 100});\r\n }\r\n\r\n break;\r\n }\r\n case IdType.VECTOR: {\r\n const column = (data as VectorData).data;\r\n const id = (data as VectorData).data.ID_VEKTOR;\r\n\r\n this.setState({loadingCount: 1, loadingVector: column.ZOBRAZ_MENO});\r\n result[id] = await api.readVectorValues(id, btWindow, etWindow, sampling).catch(this.handleError);\r\n\r\n if (currentRequestId !== this.latestRequestId) {\r\n return;\r\n }\r\n\r\n columns.push({\r\n ID: column.ID_VEKTOR,\r\n DisplayName: column.ZOBRAZ_MENO,\r\n Name: column.MENO,\r\n ParentID: column.ID_SKVEKTOR,\r\n Path: \"\",\r\n Type: 0\r\n });\r\n }\r\n }\r\n\r\n this.onDataLoaded?.(result, columns);\r\n this.setState({loadingPercentage: 100,});\r\n } catch (e) {\r\n console.error(e);\r\n await api.cancelSession();\r\n } finally {\r\n if (currentRequestId === this.latestRequestId) {\r\n this.setState({loading: false, loadingPercentage: 0});\r\n }\r\n }\r\n }\r\n\r\n private async handleError(error: any) {\r\n console.error(error)\r\n await this.props.api.cancelSession();\r\n return [];\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"edaDataBasePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/components/edaDataBasePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useContext} from \"react\";\r\nimport {Button, Card, Empty, Progress, Space, Spin, Typography} from \"antd\";\r\nimport {createStyles} from \"antd-style\";\r\nimport {EdaSamplingType, GroupData, IdType, ScenarioData, VectorData} from \"../constants/edaTypes\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaSampleRangePickerPanel} from \"./edaSampleRangePickerPanel\";\r\nimport {EdaTimeWindowPickerPanel} from \"./edaTimeWindowPickerPanel\";\r\nimport {SharedSampleRange} from \"../context/sharedSampleRange\";\r\nimport {EdaVectorDataContextValue} from \"../context/edaVectorDataContext\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\nimport {LoadingContext, LoadingContextValue} from \"../context/loadingContext\";\r\n\r\nconst useStyles = createStyles(({css, token}) => {\r\n return {\r\n baseLayout: css`\r\n display: flex;\r\n height: 100%;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n\r\n > .ant-card-body {\r\n height: 100%;\r\n padding: ${token.paddingXS}px;\r\n\r\n > div {\r\n height: 100%;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n }\r\n }\r\n\r\n .ant-spin-nested-loading {\r\n height: 100%;\r\n width: 100%;\r\n }\r\n\r\n .ant-spin-container {\r\n display: flex;\r\n height: 100%;\r\n width: 100%;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n gap: ${token.paddingXXS}px;\r\n }\r\n\r\n .ant-spin-container > div {\r\n flex: 0 0 auto;\r\n display: flex;\r\n justify-content: space-between;\r\n\r\n > .ant-space {\r\n width: 100%;\r\n }\r\n }\r\n\r\n .ant-spin-container > div:last-child {\r\n width: 100%;\r\n flex: 1 1 auto;\r\n position: relative;\r\n }\r\n\r\n .eda-detail-no-data {\r\n padding: ${token.padding}px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center !important;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .progress {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n \r\n .ant-space-item:last-child {\r\n height: 100%;\r\n }\r\n `\r\n }\r\n});\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n data?: VectorData | GroupData | ScenarioData\r\n type?: IdType\r\n size?: SizeType\r\n pageSize?: number\r\n children?: React.ReactNode\r\n range: SharedSampleRange\r\n dataContext: EdaVectorDataContextValue\r\n showTimeWindow?: boolean\r\n}\r\n\r\nexport const EdaDataBasePanel: FC<Props> = ({api, data, type, size, pageSize, range, dataContext, showTimeWindow, children}) => {\r\n const css = useStyles();\r\n const loadingContext = useContext(LoadingContext);\r\n const renderEmpty = () => (<div className={\"eda-detail-no-data\"}><Empty description={i18n(\"No data provided\")}/></div>);\r\n const renderPickers = () => (\r\n <>\r\n <div>\r\n <EdaSampleRangePickerPanel\r\n bt={range.btTotal}\r\n et={range.etTotal}\r\n size={size}\r\n sampling={range.sampling}\r\n totalCount={dataContext.vectors.length}\r\n pageSize={pageSize ?? 10}\r\n loading={!!loadingContext?.loading}\r\n page={range.vectorPage}\r\n onChange={(bt, et, step, page) => {\r\n range.updateValues(bt, et, step, page);\r\n }}\r\n />\r\n </div>\r\n {showTimeWindow &&\r\n <div>\r\n <EdaTimeWindowPickerPanel\r\n start={range.btTotal}\r\n end={range.etTotal}\r\n bt={range.btWindow}\r\n et={range.etWindow}\r\n step={range.step}\r\n size={size}\r\n disabled={range.sampling === EdaSamplingType.Changes} // FIXME default -> ??\r\n onTimeWindowChanged={(bt, et, step) => {\r\n range.updateTimeWindow(bt, et, step);\r\n }}\r\n />\r\n </div>\r\n }\r\n </>\r\n );\r\n const renderBody = () => (\r\n <Space direction=\"vertical\" size={size}>\r\n {renderPickers()}\r\n {children}\r\n </Space>\r\n )\r\n\r\n return (\r\n <Card className={css.styles.baseLayout}>\r\n <Spin spinning={loadingContext?.loading} indicator={<LoadingIndicator api={api} dataContext={dataContext} loadingContext={loadingContext} size={size}/>}>\r\n <div>{(type === undefined || data === undefined) ? renderEmpty() : renderBody()}</div>\r\n </Spin>\r\n </Card>\r\n )\r\n}\r\n\r\ninterface LoadingIndicatorProps {\r\n api: EdaManagerApi\r\n dataContext: EdaVectorDataContextValue\r\n loadingContext?: LoadingContextValue\r\n size: SizeType\r\n}\r\n\r\nconst LoadingIndicator: FC<LoadingIndicatorProps> = ({api, dataContext, loadingContext, size}) => {\r\n if (!loadingContext) {\r\n return undefined\r\n }\r\n\r\n const {loadingCount, loadingPercentage, loadingVector} = loadingContext;\r\n\r\n return (\r\n <div className={\"progress\"}>\r\n <Space direction={\"vertical\"}>\r\n <Progress\r\n type={\"dashboard\"}\r\n steps={loadingCount}\r\n percent={loadingPercentage}\r\n format={(percent) => Math.round(percent ?? 0) + \"%\"}\r\n trailColor=\"rgba(0, 0, 0, 0.06)\"\r\n />\r\n <Typography.Text style={{whiteSpace: \"nowrap\"}}>{loadingVector}</Typography.Text>\r\n <Space.Compact>\r\n <Button\r\n size={size}\r\n type={\"primary\"}\r\n danger\r\n onClick={async () => {\r\n await api.cancelSession();\r\n }}\r\n >\r\n {i18n(\"Cancel\")}\r\n </Button>\r\n <Button\r\n size={size}\r\n type={\"primary\"}\r\n danger\r\n onClick={async () => {\r\n dataContext.cancelLoading();\r\n }}\r\n >\r\n {i18n(\"Cancel All\")}\r\n </Button>\r\n </Space.Compact>\r\n </Space>\r\n </div>\r\n )\r\n}"]}
|
|
@@ -4,7 +4,9 @@ import { SizeType } from "antd/lib/config-provider/SizeContext";
|
|
|
4
4
|
import { BaseProps, BaseState, EdaBasePanel } from "./edaBasePanel";
|
|
5
5
|
import { AliasToken } from "antd/es/theme/interface";
|
|
6
6
|
import { Variant } from "antd/es/config-provider";
|
|
7
|
+
import EdaManagerApi from "../../../../api/eda/edaManagerApi";
|
|
7
8
|
interface Props extends BaseProps {
|
|
9
|
+
api: EdaManagerApi;
|
|
8
10
|
size?: SizeType;
|
|
9
11
|
variant?: Variant;
|
|
10
12
|
}
|
|
@@ -11,10 +11,10 @@ export class EdaDetailPanel extends EdaBasePanel {
|
|
|
11
11
|
return {};
|
|
12
12
|
}
|
|
13
13
|
renderPanel(_css, type, data) {
|
|
14
|
-
const { size, variant } = this.props;
|
|
14
|
+
const { api, size, variant } = this.props;
|
|
15
15
|
switch (type) {
|
|
16
16
|
case 0:
|
|
17
|
-
return React.createElement(EdaVectorDetailPanel, { data: data, size: size, variant: variant });
|
|
17
|
+
return React.createElement(EdaVectorDetailPanel, { api: api, data: data, size: size, variant: variant });
|
|
18
18
|
case 1:
|
|
19
19
|
return React.createElement(EdaGroupDetailPanel, { data: data, size: size, variant: variant });
|
|
20
20
|
case 2:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaDetailPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/components/edaDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAuB,YAAY,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"edaDetailPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/components/edaDetailPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAuB,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAWlE,MAAM,OAAO,cAAe,SAAQ,YAA8B;IAC9D,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAES,mBAAmB;QACzB,OAAO,EAAE,CAAA;IACb,CAAC;IAES,WAAW,CAAC,IAAgB,EAAE,IAAY,EAAE,IAA2C;QAC7F,MAAM,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAExC,QAAQ,IAAI,EAAE,CAAC;YACX;gBACI,OAAO,oBAAC,oBAAoB,IAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;YACtG;gBACI,OAAO,oBAAC,mBAAmB,IAAC,IAAI,EAAE,IAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;YAC1F;gBACI,OAAO,oBAAC,sBAAsB,IAAC,IAAI,EAAE,IAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;QACpG,CAAC;IACL,CAAC;CACJ","sourcesContent":["import React from \"react\";\r\nimport {GroupData, IdType, ScenarioData, VectorData} from \"../constants/edaTypes\";\r\nimport {EdaVectorDetailPanel} from \"./edaVectorDetailPanel\";\r\nimport {EdaGroupDetailPanel} from \"./edaGroupDetailPanel\";\r\nimport {EdaScenarioDetailPanel} from \"./edaScenarioDetailPanel\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\nimport {BaseProps, BaseState, EdaBasePanel} from \"./edaBasePanel\";\r\nimport {AliasToken} from \"antd/es/theme/interface\";\r\nimport {Variant} from \"antd/es/config-provider\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\n\r\ninterface Props extends BaseProps {\r\n api: EdaManagerApi\r\n size?: SizeType\r\n variant?: Variant\r\n}\r\n\r\nexport class EdaDetailPanel extends EdaBasePanel<Props, BaseState> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n }\r\n\r\n protected getDefaultBaseState(): BaseState {\r\n return {}\r\n }\r\n\r\n protected renderPanel(_css: AliasToken, type: IdType, data: VectorData | GroupData | ScenarioData): React.ReactNode {\r\n const {api, size, variant} = this.props;\r\n\r\n switch (type) {\r\n case IdType.VECTOR:\r\n return <EdaVectorDetailPanel api={api} data={data as VectorData} size={size} variant={variant} />;\r\n case IdType.GROUP:\r\n return <EdaGroupDetailPanel data={data as GroupData} size={size} variant={variant} />;\r\n case IdType.SCENARIO:\r\n return <EdaScenarioDetailPanel data={data as ScenarioData} size={size} variant={variant} />;\r\n }\r\n }\r\n}"]}
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import EdaManagerApi from "../../../../api/eda/edaManagerApi";
|
|
3
|
+
import { GroupData, IdType, ScenarioData, VectorData } from "../constants/edaTypes";
|
|
4
|
+
import { SizeType } from "antd/lib/config-provider/SizeContext";
|
|
5
|
+
interface Props {
|
|
6
|
+
api: EdaManagerApi;
|
|
7
|
+
pageSize?: number;
|
|
8
|
+
data?: VectorData | GroupData | ScenarioData;
|
|
9
|
+
type?: IdType;
|
|
10
|
+
isActive: boolean;
|
|
11
|
+
showTimeWindow?: boolean;
|
|
4
12
|
showChartLegend?: boolean;
|
|
13
|
+
size?: SizeType;
|
|
5
14
|
}
|
|
6
|
-
declare const
|
|
7
|
-
export
|
|
15
|
+
export declare const EdaGraphPanel: FC<Props>;
|
|
16
|
+
export {};
|