d2aura 26.0.13 → 26.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/api/eda/edaManagerApi.d.ts +50 -15
- package/api/eda/edaManagerApi.js +80 -29
- package/api/eda/edaManagerApi.js.map +1 -1
- package/api/eda/generated/events.d.ts +109 -60
- package/api/eda/generated/events.js +182 -88
- package/api/eda/generated/events.js.map +1 -1
- package/api/eda/generated/structures.d.ts +78 -14
- package/api/eda/generated/structures.js.map +1 -1
- package/core/i18n/d2aura.sk.json +30 -2
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.d.ts +1 -1
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js +2 -2
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaChartViewer.d.ts +14 -0
- package/coreui/components/edaManagerComponent/components/edaChartViewer.js +370 -0
- package/coreui/components/edaManagerComponent/components/edaChartViewer.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.d.ts +4 -8
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +18 -75
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.d.ts +5 -14
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +80 -19
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.d.ts +2 -7
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +15 -380
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.d.ts +3 -14
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js +54 -67
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.d.ts +7 -0
- package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.js +35 -0
- package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.d.ts +2 -16
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js +47 -50
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.d.ts +3 -14
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js +67 -81
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTableEditorDialog.d.ts +12 -0
- package/coreui/components/edaManagerComponent/components/edaTableEditorDialog.js +268 -0
- package/coreui/components/edaManagerComponent/components/edaTableEditorDialog.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaTablePanel.d.ts +2 -6
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js +119 -62
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.d.ts +2 -13
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +57 -88
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +4 -51
- package/coreui/components/edaManagerComponent/components/edaTreeView.js +299 -259
- package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.d.ts +3 -21
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +160 -179
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/exportDialog.d.ts +18 -0
- package/coreui/components/edaManagerComponent/components/exportDialog.js +157 -0
- package/coreui/components/edaManagerComponent/components/exportDialog.js.map +1 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +10 -11
- package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaConfigContext.d.ts +26 -0
- package/coreui/components/edaManagerComponent/context/edaConfigContext.js +20 -0
- package/coreui/components/edaManagerComponent/context/edaConfigContext.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.d.ts +9 -16
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.d.ts +0 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +71 -66
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/loadingContext.d.ts +1 -1
- package/coreui/components/edaManagerComponent/context/loadingContext.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/{sharedSampleRange.d.ts → sharedSampleRangeContext.d.ts} +6 -3
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeContext.js +3 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeContext.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/useEdaActions.d.ts +7 -0
- package/coreui/components/edaManagerComponent/context/useEdaActions.js +22 -0
- package/coreui/components/edaManagerComponent/context/useEdaActions.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaDetail.d.ts +7 -26
- package/coreui/components/edaManagerComponent/edaDetail.js +124 -106
- package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaManager.d.ts +4 -11
- package/coreui/components/edaManagerComponent/edaManager.js +29 -22
- package/coreui/components/edaManagerComponent/edaManager.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaNavigator.d.ts +4 -12
- package/coreui/components/edaManagerComponent/edaNavigator.js +36 -41
- package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaSelect.d.ts +2 -3
- package/coreui/components/edaManagerComponent/edaSelect.js +22 -44
- package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -1
- package/coreui/components/edaManagerComponent/utils/export.d.ts +9 -0
- package/coreui/components/edaManagerComponent/utils/export.js +573 -0
- package/coreui/components/edaManagerComponent/utils/export.js.map +1 -0
- package/coreui/components/edaManagerComponent/utils/utils.d.ts +6 -12
- package/coreui/components/edaManagerComponent/utils/utils.js +26 -15
- package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -1
- package/d2configuration/edaManager/DB.EM_EDA_DescriptiveVector.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_FunctionPrescription.xml +65 -0
- package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +67 -1
- package/d2configuration/edaManager/E.EM_DETAIL_SQL.xml +85 -0
- package/d2configuration/edaManager/E.EM_DETAIL_UNIT.xml +123 -2
- package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +1 -1
- package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +1 -1
- package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +20 -6
- package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +95 -17
- package/d2configuration/edaManager/SD.EM_EDA_DescriptiveVector.xml +179 -0
- package/d2configuration/edaManager/SD.EM_EDA_FunctionPrescription.xml +91 -0
- package/d2configuration/edaManager/SD.EM_EDA_InsertValuesToVector_V1.xml +227 -0
- package/d2configuration/edaManager/SD.EM_EDA_PairVector.xml +454 -0
- package/d2configuration/edaManager/SD.EM_EDA_ReadValuesFromVector_V1.xml +13 -3
- package/d2configuration/edaManager/SD.EM_EDA_VectorStats.xml +91 -0
- package/d2configuration/edaManager/SD.EM_Filter_Condition.xml +1 -1
- package/package.json +5 -3
- package/coreui/components/edaManagerComponent/components/edaBasePanel.d.ts +0 -16
- package/coreui/components/edaManagerComponent/components/edaBasePanel.js +0 -85
- package/coreui/components/edaManagerComponent/components/edaBasePanel.js.map +0 -1
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js +0 -13
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js.map +0 -1
- package/d2configuration/edaManager/EDA_CancelSession.xml +0 -54
- package/d2configuration/edaManager/EDA_GetSessionId.xml +0 -54
- package/d2configuration/edaManager/EDA_ReadValuesFromVektorRec.xml +0 -54
- package/d2configuration/edaManager/EDA_StatVectorRec.xml +0 -56
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import React, { useCallback, useContext, useRef, useState } from "react";
|
|
2
2
|
import { EdaVectorDataContext } from "./edaVectorDataContext";
|
|
3
|
-
import { SharedSampleRangeContext } from "./
|
|
3
|
+
import { SharedSampleRangeContext } from "./sharedSampleRangeContext";
|
|
4
4
|
import { LoadingContext } from "./loadingContext";
|
|
5
|
-
import {
|
|
5
|
+
import { App } from "antd";
|
|
6
6
|
import i18n from "d2core/i18n/i18n";
|
|
7
|
-
|
|
7
|
+
import { useEdaConfig } from "./edaConfigContext";
|
|
8
|
+
export const EdaVectorDataProvider = ({ api, children }) => {
|
|
9
|
+
const { detail } = useEdaConfig();
|
|
10
|
+
const { message } = App.useApp();
|
|
11
|
+
const range = useContext(SharedSampleRangeContext);
|
|
12
|
+
const lastRequestId = useRef(0);
|
|
13
|
+
const loadingRef = useRef(false);
|
|
8
14
|
const [dataState, setDataState] = useState({
|
|
9
15
|
data: {},
|
|
10
16
|
vectors: [],
|
|
@@ -14,34 +20,28 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
14
20
|
const [loadingState, setLoadingState] = useState({
|
|
15
21
|
loading: false,
|
|
16
22
|
loadingPercentage: 0,
|
|
17
|
-
|
|
23
|
+
loadingItem: "",
|
|
18
24
|
loadingCount: 0,
|
|
19
25
|
});
|
|
20
|
-
const range = useContext(SharedSampleRangeContext);
|
|
21
|
-
const lastRequestId = useRef(0);
|
|
22
|
-
const loadingRef = useRef(false);
|
|
23
26
|
const safeReadVectorValues = async (id, name, from, to, step) => {
|
|
24
27
|
try {
|
|
25
28
|
return await api.readVectorValues(id, from, to, step);
|
|
26
29
|
}
|
|
27
30
|
catch (e) {
|
|
28
|
-
message.warning({
|
|
29
|
-
type: "warning",
|
|
30
|
-
content: React.createElement("span", null, i18n("Failed to load vector %{n} with error: '%{e}'", { n: name, e: e?.value }))
|
|
31
|
-
});
|
|
31
|
+
message.warning(React.createElement("span", null, i18n("Failed to load vector %{n} with error: '%{e}'", { n: name, e: e?.value })));
|
|
32
32
|
console.error(e);
|
|
33
33
|
return {
|
|
34
34
|
data: []
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
const loadAllData = useCallback(async (
|
|
38
|
+
const loadAllData = useCallback(async (data) => {
|
|
39
39
|
if (!range) {
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
42
|
const requestId = ++lastRequestId.current;
|
|
43
43
|
loadingRef.current = true;
|
|
44
|
-
setDataState((s) => ({ ...s,
|
|
44
|
+
setDataState((s) => ({ ...s, vectors: [], loadedData: data, loadedRange: range }));
|
|
45
45
|
setLoadingState((s) => ({ ...s, loading: true, loadingPercentage: 0 }));
|
|
46
46
|
try {
|
|
47
47
|
const { btTotal, etTotal, sampling, vectorPage } = range;
|
|
@@ -49,20 +49,20 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
49
49
|
const columns = [];
|
|
50
50
|
const visible = new Set();
|
|
51
51
|
let { btWindow, etWindow } = range;
|
|
52
|
-
if (!showTimeWindow) {
|
|
52
|
+
if (!detail?.showTimeWindow) {
|
|
53
53
|
btWindow = btTotal;
|
|
54
54
|
etWindow = etTotal;
|
|
55
55
|
}
|
|
56
|
-
switch (type) {
|
|
56
|
+
switch (data.type) {
|
|
57
57
|
case 1:
|
|
58
58
|
case 2: {
|
|
59
59
|
let vectors;
|
|
60
60
|
try {
|
|
61
|
-
if (type === 1) {
|
|
62
|
-
vectors = await api.getGroupVectors(data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);
|
|
61
|
+
if (data.type === 1) {
|
|
62
|
+
vectors = await api.getGroupVectors(data.data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
|
-
vectors = await api.getScenarioVectors(data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);
|
|
65
|
+
vectors = await api.getScenarioVectors(data.data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
catch (error) {
|
|
@@ -70,6 +70,9 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
70
70
|
vectors = { items: [], leftCount: 0 };
|
|
71
71
|
}
|
|
72
72
|
setLoadingState((s) => ({ ...s, loadingCount: vectors.items.length }));
|
|
73
|
+
if (range.vectorPage === 1) {
|
|
74
|
+
range.updateTotalCount(vectors.items.length + vectors.leftCount);
|
|
75
|
+
}
|
|
73
76
|
if (requestId !== lastRequestId.current) {
|
|
74
77
|
return;
|
|
75
78
|
}
|
|
@@ -79,24 +82,25 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
79
82
|
}
|
|
80
83
|
for (let i = 0; i < vectors.items.length; i++) {
|
|
81
84
|
const vector = vectors.items[i];
|
|
82
|
-
setLoadingState((s) => ({ ...s,
|
|
85
|
+
setLoadingState((s) => ({ ...s, loadingItem: vector.DisplayName ?? "" }));
|
|
86
|
+
const valuesData = await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling);
|
|
87
|
+
if (!loadingRef.current) {
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
83
90
|
result[vector.ID] = {
|
|
84
|
-
data:
|
|
91
|
+
data: valuesData,
|
|
85
92
|
from: btWindow,
|
|
86
93
|
to: etWindow,
|
|
87
94
|
sampling: sampling,
|
|
88
95
|
};
|
|
89
|
-
if (!loadingRef.current) {
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
96
|
setLoadingState((s) => ({ ...s, loadingPercentage: (i + 1) / vectors.items.length * 100 }));
|
|
93
97
|
}
|
|
94
98
|
break;
|
|
95
99
|
}
|
|
96
100
|
case 0: {
|
|
97
|
-
const column = data.data;
|
|
98
|
-
const id = data.data.ID_VEKTOR;
|
|
99
|
-
setLoadingState((s) => ({ ...s, loadingCount: 1,
|
|
101
|
+
const column = data.data.data;
|
|
102
|
+
const id = data.data.data.ID_VEKTOR;
|
|
103
|
+
setLoadingState((s) => ({ ...s, loadingCount: 1, loadingItem: column.ZOBRAZ_MENO }));
|
|
100
104
|
result[id] = {
|
|
101
105
|
data: await safeReadVectorValues(id, column.ZOBRAZ_MENO, btWindow, etWindow, sampling),
|
|
102
106
|
from: btWindow,
|
|
@@ -134,21 +138,26 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
134
138
|
}
|
|
135
139
|
loadingRef.current = false;
|
|
136
140
|
}
|
|
137
|
-
}, [api, showTimeWindow, range]);
|
|
138
|
-
const loadSpecificVectors = useCallback(async (vectors) => {
|
|
141
|
+
}, [api, detail?.showTimeWindow, range]);
|
|
142
|
+
const loadSpecificVectors = useCallback(async (vectors, forceUpdate) => {
|
|
139
143
|
if (!range) {
|
|
140
144
|
return;
|
|
141
145
|
}
|
|
142
146
|
const { btTotal, etTotal, sampling } = range;
|
|
143
147
|
let { btWindow, etWindow } = range;
|
|
144
|
-
if (!showTimeWindow) {
|
|
148
|
+
if (!detail?.showTimeWindow) {
|
|
145
149
|
btWindow = btTotal;
|
|
146
150
|
etWindow = etTotal;
|
|
147
151
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
+
if (!forceUpdate) {
|
|
153
|
+
vectors = vectors.filter((vector) => {
|
|
154
|
+
const loadedVector = dataState.data[vector.ID];
|
|
155
|
+
if (!loadedVector) {
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
return !loadedVector.from.isSame(btWindow) || !loadedVector.to.isSame(etWindow) || loadedVector.sampling !== sampling;
|
|
159
|
+
});
|
|
160
|
+
}
|
|
152
161
|
if (vectors.length === 0) {
|
|
153
162
|
return;
|
|
154
163
|
}
|
|
@@ -166,7 +175,7 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
166
175
|
}
|
|
167
176
|
for (let i = 0; i < vectors.length; i++) {
|
|
168
177
|
const vector = vectors[i];
|
|
169
|
-
setLoadingState((s) => ({ ...s,
|
|
178
|
+
setLoadingState((s) => ({ ...s, loadingItem: vector.DisplayName ?? "" }));
|
|
170
179
|
result[vector.ID] = {
|
|
171
180
|
data: await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling),
|
|
172
181
|
from: btWindow,
|
|
@@ -190,42 +199,44 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
190
199
|
loadingRef.current = false;
|
|
191
200
|
setLoadingState((s) => ({ ...s, loading: false }));
|
|
192
201
|
}
|
|
193
|
-
}, [api, showTimeWindow, range, dataState]);
|
|
194
|
-
const cancelLoading = async () => {
|
|
202
|
+
}, [api, detail?.showTimeWindow, range, dataState]);
|
|
203
|
+
const cancelLoading = useCallback(async () => {
|
|
195
204
|
loadingRef.current = false;
|
|
196
205
|
await api.cancelSession();
|
|
197
|
-
};
|
|
198
|
-
const toggleVectorVisibility = async (id, visible) => {
|
|
206
|
+
}, []);
|
|
207
|
+
const toggleVectorVisibility = useCallback(async (id, visible) => {
|
|
199
208
|
if (!range) {
|
|
200
209
|
return;
|
|
201
210
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);
|
|
211
|
-
if (visible) {
|
|
212
|
-
if (needsLoadData) {
|
|
213
|
-
await loadSpecificVectors(dataState.vectors.filter((v) => v.ID === id));
|
|
211
|
+
setDataState((prev) => {
|
|
212
|
+
const state = prev.data[id];
|
|
213
|
+
const visibleSet = new Set(prev.visible);
|
|
214
|
+
const { btTotal, etTotal } = range;
|
|
215
|
+
let { btWindow, etWindow } = range;
|
|
216
|
+
if (!detail?.showTimeWindow) {
|
|
217
|
+
btWindow = btTotal;
|
|
218
|
+
etWindow = etTotal;
|
|
214
219
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
220
|
+
const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);
|
|
221
|
+
if (visible) {
|
|
222
|
+
if (needsLoadData) {
|
|
223
|
+
loadSpecificVectors(prev.vectors.filter((v) => v.ID === id));
|
|
224
|
+
}
|
|
225
|
+
visibleSet.add(id);
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
visibleSet.delete(id);
|
|
229
|
+
}
|
|
230
|
+
return { ...prev, visible: visibleSet };
|
|
231
|
+
});
|
|
232
|
+
}, [range, detail?.showTimeWindow, loadSpecificVectors]);
|
|
233
|
+
const setAllVectorVisibility = useCallback(async (visible) => {
|
|
223
234
|
if (!range) {
|
|
224
235
|
return;
|
|
225
236
|
}
|
|
226
237
|
const { btTotal, etTotal } = range;
|
|
227
238
|
let { btWindow, etWindow } = range;
|
|
228
|
-
if (!showTimeWindow) {
|
|
239
|
+
if (!detail?.showTimeWindow) {
|
|
229
240
|
btWindow = btTotal;
|
|
230
241
|
etWindow = etTotal;
|
|
231
242
|
}
|
|
@@ -247,10 +258,7 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
247
258
|
else {
|
|
248
259
|
setDataState((s) => ({ ...s, visible: new Set() }));
|
|
249
260
|
}
|
|
250
|
-
};
|
|
251
|
-
const isVectorVisible = (id) => dataState.visible.has(id);
|
|
252
|
-
const allVectorsVisible = () => dataState.visible.size === dataState.vectors.length;
|
|
253
|
-
const noVectorsVisible = () => dataState.visible.size === 0;
|
|
261
|
+
}, [range, dataState.vectors, dataState.data, loadSpecificVectors]);
|
|
254
262
|
return (React.createElement(EdaVectorDataContext.Provider, { value: {
|
|
255
263
|
...dataState,
|
|
256
264
|
loadAllData,
|
|
@@ -258,9 +266,6 @@ export const EdaVectorDataProvider = ({ api, showTimeWindow, children }) => {
|
|
|
258
266
|
cancelLoading,
|
|
259
267
|
toggleVectorVisibility,
|
|
260
268
|
setAllVectorVisibility,
|
|
261
|
-
isVectorVisible,
|
|
262
|
-
allVectorsVisible,
|
|
263
|
-
noVectorsVisible,
|
|
264
269
|
} },
|
|
265
270
|
React.createElement(LoadingContext.Provider, { value: loadingState }, children)));
|
|
266
271
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaVectorDataProvider.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/edaVectorDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useContext, useRef, useState} from \"react\";\r\nimport EdaManagerApi, {VectorValuesData} from \"../../../../api/eda/edaManagerApi\";\r\nimport {EdaVectorDataContext, EdaVectorDataState, VectorDataState} from \"./edaVectorDataContext\";\r\nimport {SharedSampleRangeContext} from \"./sharedSampleRange\";\r\nimport {GroupData, IdType, ScenarioData, VectorData} from \"../constants/edaTypes\";\r\nimport {SD_EM_Tree_Item} from \"../../../../api/eda/generated/structures\";\r\nimport {LoadingContext, LoadingContextValue} from \"./loadingContext\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {message} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n showTimeWindow?: boolean\r\n children?: React.ReactNode\r\n}\r\n\r\nexport const EdaVectorDataProvider: FC<Props> = ({api, showTimeWindow, children}) => {\r\n const [dataState, setDataState] = useState<EdaVectorDataState>({\r\n data: {},\r\n vectors: [],\r\n visible: new Set<number>(),\r\n initialized: false,\r\n });\r\n const [loadingState, setLoadingState] = useState<LoadingContextValue>({\r\n loading: false,\r\n loadingPercentage: 0,\r\n loadingVector: \"\",\r\n loadingCount: 0,\r\n })\r\n const range = useContext(SharedSampleRangeContext);\r\n const lastRequestId = useRef(0);\r\n const loadingRef = useRef(false);\r\n\r\n const safeReadVectorValues = async (id: number, name: string, from: dayjs.Dayjs, to: dayjs.Dayjs, step: number): Promise<VectorValuesData> => {\r\n try {\r\n return await api.readVectorValues(id, from, to, step);\r\n } catch (e: any) {\r\n message.warning({\r\n type: \"warning\",\r\n content: <span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: name, e: e?.value})}</span>\r\n });\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }\r\n\r\n const loadAllData = useCallback(async (type: IdType, data: VectorData | GroupData | ScenarioData) => {\r\n if (!range) {\r\n return;\r\n }\r\n\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, loadedType: type, loadedData: data, loadedRange: range}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n\r\n try {\r\n const {btTotal, etTotal, sampling, vectorPage} = range;\r\n const result: { [id: number]: VectorDataState } = {};\r\n const columns: SD_EM_Tree_Item[] = [];\r\n const visible: Set<number> = new Set<number>();\r\n let {btWindow, etWindow} = range;\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 setLoadingState((s): LoadingContextValue => ({...s, loadingCount: vectors.items.length}));\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n for (const vector of vectors.items) {\r\n columns.push(vector as SD_EM_Tree_Item);\r\n visible.add(vector.ID!);\r\n }\r\n\r\n for (let i = 0; i < vectors.items.length; i++) {\r\n const vector = vectors.items[i] as SD_EM_Tree_Item;\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingVector: vector.DisplayName ?? \"\"}));\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, 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 setLoadingState((s): LoadingContextValue => ({...s, loadingCount: 1, loadingVector: column.ZOBRAZ_MENO}));\r\n result[id] = {\r\n data: await safeReadVectorValues(id, column.ZOBRAZ_MENO, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n visible.add(column.ID_VEKTOR);\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 Units: column.TECH_JEDNOTKY,\r\n RoundingType: column.VIEW_ROUND,\r\n RoundingPlaces: column.VIEW_DEC_PL\r\n });\r\n }\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, vectors: columns, visible: visible}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: 100}));\r\n } catch (e) {\r\n console.error(\"Failed to load all data\", e);\r\n await api.cancelSession();\r\n } finally {\r\n if (requestId === lastRequestId.current) {\r\n setDataState((s): EdaVectorDataState => ({...s, initialized: true}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: false}));\r\n }\r\n\r\n loadingRef.current = false;\r\n }\r\n }, [api, showTimeWindow, range]);\r\n\r\n const loadSpecificVectors = useCallback(async (vectors: SD_EM_Tree_Item[]) => {\r\n if (!range) {\r\n return;\r\n }\r\n\r\n const {btTotal, etTotal, sampling} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n vectors = vectors.filter((vector) => {\r\n const loadedVector = dataState.data[vector.ID];\r\n return !loadedVector.from.isSame(btWindow) || !loadedVector.to.isSame(etWindow) || loadedVector.sampling !== sampling;\r\n });\r\n\r\n if (vectors.length === 0) {\r\n return;\r\n }\r\n\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, loadedRange: range}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n\r\n try {\r\n const result: { [id: number]: VectorDataState } = {...dataState.data};\r\n const visible = new Set(dataState.visible);\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingCount: vectors.length}));\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.length; i++) {\r\n const vector = vectors[i] as SD_EM_Tree_Item;\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingVector: vector.DisplayName ?? \"\"}));\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n visible.add(vector.ID);\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: (i + 1) / vectors.length * 100}));\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n }\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: 100}));\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, visible}));\r\n } catch (e) {\r\n console.log(\"Failed to load specific vectors\", e);\r\n await api.cancelSession();\r\n } finally {\r\n loadingRef.current = false;\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: false}));\r\n }\r\n }, [api, showTimeWindow, range, dataState]);\r\n\r\n const cancelLoading = async () => {\r\n loadingRef.current = false;\r\n await api.cancelSession();\r\n }\r\n\r\n const toggleVectorVisibility = async (id: number, visible: boolean) => {\r\n if (!range) {\r\n return;\r\n }\r\n\r\n const state = dataState.data[id];\r\n const visibleSet = new Set<number>(dataState.visible);\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (visible) {\r\n if (needsLoadData) {\r\n await loadSpecificVectors(dataState.vectors.filter((v) => v.ID === id));\r\n }\r\n\r\n visibleSet.add(id);\r\n } else {\r\n visibleSet.delete(id);\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, visible: visibleSet}));\r\n };\r\n\r\n const setAllVectorVisibility = async (visible: boolean) => {\r\n if (!range) {\r\n return;\r\n }\r\n\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (visible) {\r\n const toLoad: SD_EM_Tree_Item[] = [];\r\n const visibleSet = new Set<number>(dataState.visible);\r\n\r\n for (let vector of dataState.vectors) {\r\n const id = vector.ID;\r\n const state = dataState.data[id];\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (needsLoadData) {\r\n toLoad.push(vector);\r\n }\r\n\r\n visibleSet.add(id);\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, visible: visibleSet}));\r\n await loadSpecificVectors(toLoad);\r\n } else {\r\n setDataState((s): EdaVectorDataState => ({...s, visible: new Set<number>()}));\r\n }\r\n }\r\n\r\n const isVectorVisible = (id: number) => dataState.visible.has(id);\r\n const allVectorsVisible = () => dataState.visible.size === dataState.vectors.length;\r\n const noVectorsVisible = () => dataState.visible.size === 0;\r\n\r\n return (\r\n <EdaVectorDataContext.Provider\r\n value={{\r\n ...dataState,\r\n loadAllData,\r\n loadSpecificVectors,\r\n cancelLoading,\r\n toggleVectorVisibility,\r\n setAllVectorVisibility,\r\n isVectorVisible,\r\n allVectorsVisible,\r\n noVectorsVisible,\r\n }}\r\n >\r\n <LoadingContext.Provider value={loadingState}>\r\n {children}\r\n </LoadingContext.Provider>\r\n </EdaVectorDataContext.Provider>\r\n )\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"edaVectorDataProvider.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/edaVectorDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useContext, useRef, useState} from \"react\";\r\nimport EdaManagerApi, {TreeItem, TreeItemsResult, VectorValuesData} from \"../../../../api/eda/edaManagerApi\";\r\nimport {EdaVectorDataContext, EdaVectorDataState, VectorDataState} from \"./edaVectorDataContext\";\r\nimport {SharedSampleRangeContext} from \"./sharedSampleRangeContext\";\r\nimport {IdType, TypedData} from \"../constants/edaTypes\";\r\nimport {LoadingContext, LoadingContextValue} from \"./loadingContext\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {App} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {useEdaConfig} from \"./edaConfigContext\";\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n children?: React.ReactNode\r\n}\r\n\r\nexport const EdaVectorDataProvider: FC<Props> = ({api, children}) => {\r\n const {detail} = useEdaConfig();\r\n const {message} = App.useApp();\r\n const range = useContext(SharedSampleRangeContext);\r\n\r\n const lastRequestId = useRef(0);\r\n const loadingRef = useRef(false);\r\n\r\n const [dataState, setDataState] = useState<EdaVectorDataState>({\r\n data: {},\r\n vectors: [],\r\n visible: new Set<number>(),\r\n initialized: false,\r\n });\r\n\r\n const [loadingState, setLoadingState] = useState<LoadingContextValue>({\r\n loading: false,\r\n loadingPercentage: 0,\r\n loadingItem: \"\",\r\n loadingCount: 0,\r\n });\r\n\r\n const safeReadVectorValues = async (id: number, name: string, from: dayjs.Dayjs, to: dayjs.Dayjs, step: number): Promise<VectorValuesData> => {\r\n try {\r\n return await api.readVectorValues(id, from, to, step);\r\n } catch (e: any) {\r\n message.warning(<span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: name, e: e?.value})}</span>);\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }\r\n\r\n const loadAllData = useCallback(async (data: TypedData) => {\r\n if (!range) {\r\n return;\r\n }\r\n\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, vectors: [], loadedData: data, loadedRange: range}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n\r\n try {\r\n const {btTotal, etTotal, sampling, vectorPage} = range;\r\n const result: { [id: number]: VectorDataState } = {};\r\n const columns: TreeItem[] = [];\r\n const visible: Set<number> = new Set<number>();\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n switch (data.type) {\r\n case IdType.GROUP:\r\n case IdType.SCENARIO: {\r\n let vectors: TreeItemsResult;\r\n\r\n try {\r\n if (data.type === IdType.GROUP) {\r\n vectors = await api.getGroupVectors(data.data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);\r\n } else {\r\n vectors = await api.getScenarioVectors(data.data.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 setLoadingState((s): LoadingContextValue => ({...s, loadingCount: vectors.items.length}));\r\n\r\n if (range.vectorPage === 1) {\r\n range.updateTotalCount(vectors.items.length + vectors.leftCount);\r\n }\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n for (const vector of vectors.items) {\r\n columns.push(vector);\r\n visible.add(vector.ID!);\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 setLoadingState((s): LoadingContextValue => ({...s, loadingItem: vector.DisplayName ?? \"\"}));\r\n\r\n const valuesData: VectorValuesData = await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling);\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n\r\n result[vector.ID] = {\r\n data: valuesData,\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, 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.data.data;\r\n const id = data.data.data.ID_VEKTOR;\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingCount: 1, loadingItem: column.ZOBRAZ_MENO}));\r\n result[id] = {\r\n data: await safeReadVectorValues(id, column.ZOBRAZ_MENO, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n visible.add(column.ID_VEKTOR);\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 Units: column.TECH_JEDNOTKY,\r\n RoundingType: column.VIEW_ROUND,\r\n RoundingPlaces: column.VIEW_DEC_PL\r\n });\r\n }\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, vectors: columns, visible: visible}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: 100}));\r\n } catch (e) {\r\n console.error(\"Failed to load all data\", e);\r\n await api.cancelSession();\r\n } finally {\r\n if (requestId === lastRequestId.current) {\r\n setDataState((s): EdaVectorDataState => ({...s, initialized: true}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: false}));\r\n }\r\n\r\n loadingRef.current = false;\r\n }\r\n }, [api, detail?.showTimeWindow, range]);\r\n\r\n const loadSpecificVectors = useCallback(async (vectors: TreeItem[], forceUpdate?: boolean) => {\r\n if (!range) {\r\n return;\r\n }\r\n\r\n const {btTotal, etTotal, sampling} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (!forceUpdate) {\r\n vectors = vectors.filter((vector) => {\r\n const loadedVector = dataState.data[vector.ID];\r\n\r\n if (!loadedVector) {\r\n return true;\r\n }\r\n\r\n return !loadedVector.from.isSame(btWindow) || !loadedVector.to.isSame(etWindow) || loadedVector.sampling !== sampling;\r\n });\r\n }\r\n\r\n if (vectors.length === 0) {\r\n return;\r\n }\r\n\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, loadedRange: range}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n\r\n try {\r\n const result: { [id: number]: VectorDataState } = {...dataState.data};\r\n const visible = new Set(dataState.visible);\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingCount: vectors.length}));\r\n\r\n if (requestId !== lastRequestId.current) {\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 setLoadingState((s): LoadingContextValue => ({...s, loadingItem: vector.DisplayName ?? \"\"}));\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n visible.add(vector.ID);\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: (i + 1) / vectors.length * 100}));\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n }\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: 100}));\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, visible}));\r\n } catch (e) {\r\n console.log(\"Failed to load specific vectors\", e);\r\n await api.cancelSession();\r\n } finally {\r\n loadingRef.current = false;\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: false}));\r\n }\r\n }, [api, detail?.showTimeWindow, range, dataState]);\r\n\r\n const cancelLoading = useCallback(async () => {\r\n loadingRef.current = false;\r\n await api.cancelSession();\r\n }, []);\r\n\r\n const toggleVectorVisibility = useCallback(async (id: number, visible: boolean) => {\r\n if (!range) {\r\n return;\r\n }\r\n setDataState((prev) => {\r\n const state = prev.data[id];\r\n const visibleSet = new Set<number>(prev.visible);\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (visible) {\r\n if (needsLoadData) {\r\n loadSpecificVectors(prev.vectors.filter((v) => v.ID === id));\r\n }\r\n\r\n visibleSet.add(id);\r\n } else {\r\n visibleSet.delete(id);\r\n }\r\n\r\n return {...prev, visible: visibleSet};\r\n });\r\n }, [range, detail?.showTimeWindow, loadSpecificVectors]);\r\n\r\n const setAllVectorVisibility = useCallback(async (visible: boolean) => {\r\n if (!range) {\r\n return;\r\n }\r\n\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (visible) {\r\n const toLoad: TreeItem[] = [];\r\n const visibleSet = new Set<number>(dataState.visible);\r\n\r\n for (let vector of dataState.vectors) {\r\n const id = vector.ID;\r\n const state = dataState.data[id];\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (needsLoadData) {\r\n toLoad.push(vector);\r\n }\r\n\r\n visibleSet.add(id);\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, visible: visibleSet}));\r\n await loadSpecificVectors(toLoad);\r\n } else {\r\n setDataState((s): EdaVectorDataState => ({...s, visible: new Set<number>()}));\r\n }\r\n }, [range, dataState.vectors, dataState.data, loadSpecificVectors]);\r\n\r\n return (\r\n <EdaVectorDataContext.Provider\r\n value={{\r\n ...dataState,\r\n loadAllData,\r\n loadSpecificVectors,\r\n cancelLoading,\r\n toggleVectorVisibility,\r\n setAllVectorVisibility,\r\n }}\r\n >\r\n <LoadingContext.Provider value={loadingState}>\r\n {children}\r\n </LoadingContext.Provider>\r\n </EdaVectorDataContext.Provider>\r\n )\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadingContext.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/loadingContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AASpC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAkC,SAAS,CAAC,CAAC","sourcesContent":["import {createContext} from \"react\";\r\n\r\nexport interface LoadingContextValue {\r\n loading: boolean\r\n loadingPercentage: number\r\n
|
|
1
|
+
{"version":3,"file":"loadingContext.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/loadingContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AASpC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAkC,SAAS,CAAC,CAAC","sourcesContent":["import {createContext} from \"react\";\r\n\r\nexport interface LoadingContextValue {\r\n loading: boolean\r\n loadingPercentage: number\r\n loadingItem: string\r\n loadingCount: number\r\n}\r\n\r\nexport const LoadingContext = createContext<LoadingContextValue | undefined>(undefined);"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dayjs from "d2core/dayjs";
|
|
2
2
|
import { EdaSamplingType, StepType } from "../constants/edaTypes";
|
|
3
3
|
import React from "react";
|
|
4
|
-
export interface
|
|
4
|
+
export interface SharedSampleRangeState {
|
|
5
5
|
btTotal: dayjs.Dayjs;
|
|
6
6
|
etTotal: dayjs.Dayjs;
|
|
7
7
|
btWindow: dayjs.Dayjs;
|
|
@@ -9,8 +9,11 @@ export interface SharedSampleRange {
|
|
|
9
9
|
sampling: EdaSamplingType;
|
|
10
10
|
step: StepType;
|
|
11
11
|
vectorPage: number;
|
|
12
|
+
totalCount: number;
|
|
13
|
+
}
|
|
14
|
+
export interface SharedSampleRangeContext extends SharedSampleRangeState {
|
|
12
15
|
updateValues: (bt: dayjs.Dayjs, et: dayjs.Dayjs, sampling: EdaSamplingType, vectorPage: number) => void;
|
|
13
16
|
updateTimeWindow: (bt: dayjs.Dayjs, et: dayjs.Dayjs, step: StepType) => void;
|
|
17
|
+
updateTotalCount: (totalCount: number) => void;
|
|
14
18
|
}
|
|
15
|
-
export declare
|
|
16
|
-
export declare const SharedSampleRangeContext: React.Context<SharedSampleRange | undefined>;
|
|
19
|
+
export declare const SharedSampleRangeContext: React.Context<SharedSampleRangeContext | undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedSampleRangeContext.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/sharedSampleRangeContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC,aAAa,CAAuC,SAAS,CAAC,CAAC","sourcesContent":["import dayjs from \"d2core/dayjs\";\r\nimport {EdaSamplingType, StepType} from \"../constants/edaTypes\";\r\nimport React from \"react\";\r\n\r\nexport interface SharedSampleRangeState {\r\n btTotal: dayjs.Dayjs\r\n etTotal: dayjs.Dayjs\r\n btWindow: dayjs.Dayjs\r\n etWindow: dayjs.Dayjs\r\n sampling: EdaSamplingType\r\n step: StepType\r\n vectorPage: number\r\n totalCount: number\r\n}\r\n\r\nexport interface SharedSampleRangeContext extends SharedSampleRangeState {\r\n updateValues: (bt: dayjs.Dayjs, et: dayjs.Dayjs, sampling: EdaSamplingType, vectorPage: number) => void\r\n updateTimeWindow: (bt: dayjs.Dayjs, et: dayjs.Dayjs, step: StepType) => void\r\n updateTotalCount: (totalCount: number) => void\r\n}\r\n\r\nexport const SharedSampleRangeContext = React.createContext<SharedSampleRangeContext | undefined>(undefined);"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TypedData } from "../constants/edaTypes";
|
|
2
|
+
import EdaManagerApi from "../../../../api/eda/edaManagerApi";
|
|
3
|
+
import React from "react";
|
|
4
|
+
export declare const useEdaActions: (api: EdaManagerApi) => {
|
|
5
|
+
triggerExport: (data: TypedData) => void;
|
|
6
|
+
renderActionDialogs: () => React.JSX.Element | null;
|
|
7
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React, { useCallback, useState } from "react";
|
|
2
|
+
import { ExportDialog } from "../components/exportDialog";
|
|
3
|
+
export const useEdaActions = (api) => {
|
|
4
|
+
const [exportTarget, setExportTarget] = useState();
|
|
5
|
+
const [exportOpen, setExportOpen] = useState(false);
|
|
6
|
+
const triggerExport = useCallback((data) => {
|
|
7
|
+
setExportTarget({ data });
|
|
8
|
+
setExportOpen(true);
|
|
9
|
+
}, []);
|
|
10
|
+
const renderActionDialogs = () => {
|
|
11
|
+
if (!exportTarget) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return (React.createElement(React.Fragment, null,
|
|
15
|
+
React.createElement(ExportDialog, { api: api, open: exportOpen, data: exportTarget.data, onCancel: () => setExportOpen(false), onOk: () => setExportOpen(false) })));
|
|
16
|
+
};
|
|
17
|
+
return {
|
|
18
|
+
triggerExport,
|
|
19
|
+
renderActionDialogs,
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useEdaActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEdaActions.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/useEdaActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACnD,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAMxD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,EAAE;IAChD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAgB,CAAC;IACjE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,IAAe,EAAE,EAAE;QAClD,eAAe,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QACxB,aAAa,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,CACH;YACI,oBAAC,YAAY,IACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACpC,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAClC,CACH,CACN,CAAA;IACL,CAAC,CAAA;IAED,OAAO;QACH,aAAa;QACb,mBAAmB;KACtB,CAAA;AACL,CAAC,CAAA","sourcesContent":["import {TypedData} from \"../constants/edaTypes\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport React, {useCallback, useState} from \"react\";\r\nimport {ExportDialog} from \"../components/exportDialog\";\r\n\r\ninterface ExportTarget {\r\n data: TypedData\r\n}\r\n\r\nexport const useEdaActions = (api: EdaManagerApi) => {\r\n const [exportTarget, setExportTarget] = useState<ExportTarget>();\r\n const [exportOpen, setExportOpen] = useState(false);\r\n\r\n const triggerExport = useCallback((data: TypedData) => {\r\n setExportTarget({data});\r\n setExportOpen(true);\r\n }, []);\r\n\r\n const renderActionDialogs = () => {\r\n if (!exportTarget) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n <ExportDialog\r\n api={api}\r\n open={exportOpen}\r\n data={exportTarget.data}\r\n onCancel={() => setExportOpen(false)}\r\n onOk={() => setExportOpen(false)}\r\n />\r\n </>\r\n )\r\n }\r\n\r\n return {\r\n triggerExport,\r\n renderActionDialogs,\r\n }\r\n}"]}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import { GroupData, IdType, ScenarioData, TypedIndex, VectorData } from "./constants/edaTypes";
|
|
5
|
-
import { Tab } from "rc-tabs/lib/interface";
|
|
1
|
+
import React, { FC } from "react";
|
|
2
|
+
import { TypedIndex } from "./constants/edaTypes";
|
|
3
|
+
import EdaManagerApi, { TreeItem } from "../../../api/eda/edaManagerApi";
|
|
6
4
|
import { SizeType } from "antd/lib/config-provider/SizeContext";
|
|
7
|
-
import { SharedSampleRange } from "./context/sharedSampleRange";
|
|
8
5
|
import { Variant } from "antd/es/config-provider";
|
|
9
|
-
|
|
6
|
+
import { EdaConfiguration } from "./context/edaConfigContext";
|
|
7
|
+
export type ItemType = TreeItem[] | TypedIndex;
|
|
10
8
|
interface Props {
|
|
11
9
|
api: EdaManagerApi;
|
|
12
10
|
item?: ItemType;
|
|
@@ -14,24 +12,7 @@ interface Props {
|
|
|
14
12
|
style?: React.CSSProperties;
|
|
15
13
|
size?: SizeType;
|
|
16
14
|
variant?: Variant;
|
|
17
|
-
|
|
18
|
-
showChartLegend?: boolean;
|
|
19
|
-
}
|
|
20
|
-
interface State {
|
|
21
|
-
type?: IdType;
|
|
22
|
-
data?: VectorData | GroupData | ScenarioData;
|
|
23
|
-
tabs: Tab[];
|
|
24
|
-
activeTabKey: string;
|
|
25
|
-
context: SharedSampleRange;
|
|
26
|
-
}
|
|
27
|
-
export declare class EdaDetail extends React.Component<Props, State> {
|
|
28
|
-
constructor(props: Readonly<Props>);
|
|
29
|
-
componentDidMount(): Promise<void>;
|
|
30
|
-
componentDidUpdate(prevProps: Readonly<Props>, prevState: Readonly<State>): Promise<void>;
|
|
31
|
-
render(): React.JSX.Element;
|
|
32
|
-
private updateSampleRange;
|
|
33
|
-
private updateTimeWindow;
|
|
34
|
-
private getTabs;
|
|
35
|
-
private setContextState;
|
|
15
|
+
configuration?: EdaConfiguration;
|
|
36
16
|
}
|
|
17
|
+
export declare const EdaDetail: FC<Props>;
|
|
37
18
|
export {};
|