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.
Files changed (75) hide show
  1. package/api/eda/edaManagerApi.d.ts +19 -2
  2. package/api/eda/edaManagerApi.js +36 -3
  3. package/api/eda/edaManagerApi.js.map +1 -1
  4. package/api/eda/generated/events.d.ts +86 -28
  5. package/api/eda/generated/events.js +154 -42
  6. package/api/eda/generated/events.js.map +1 -1
  7. package/api/eda/generated/structures.d.ts +21 -0
  8. package/api/eda/generated/structures.js.map +1 -1
  9. package/api/impl/utils/reportError.js +16 -0
  10. package/api/impl/utils/reportError.js.map +1 -1
  11. package/api/webPush/webPushApi.js.map +1 -1
  12. package/api/webPush/webPushUtils.js.map +1 -1
  13. package/core/i18n/d2aura.sk.json +8 -0
  14. package/core/i18n/jsapi.sk.json +4 -0
  15. package/core/i18n/jsapi.ua.json +4 -0
  16. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.d.ts +13 -37
  17. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +114 -211
  18. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -1
  19. package/coreui/components/edaManagerComponent/components/edaDetailPanel.d.ts +2 -0
  20. package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +2 -2
  21. package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -1
  22. package/coreui/components/edaManagerComponent/components/edaGraphPanel.d.ts +14 -5
  23. package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +338 -326
  24. package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -1
  25. package/coreui/components/edaManagerComponent/components/edaTablePanel.d.ts +15 -4
  26. package/coreui/components/edaManagerComponent/components/edaTablePanel.js +139 -64
  27. package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -1
  28. package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.d.ts +3 -8
  29. package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +12 -38
  30. package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -1
  31. package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +1 -1
  32. package/coreui/components/edaManagerComponent/components/edaTreeView.js +5 -5
  33. package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -1
  34. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.d.ts +8 -2
  35. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +39 -11
  36. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -1
  37. package/coreui/components/edaManagerComponent/context/edaVectorDataContext.d.ts +33 -0
  38. package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js +3 -0
  39. package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js.map +1 -0
  40. package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.d.ts +9 -0
  41. package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +267 -0
  42. package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -0
  43. package/coreui/components/edaManagerComponent/context/loadingContext.d.ts +7 -0
  44. package/coreui/components/edaManagerComponent/context/loadingContext.js +3 -0
  45. package/coreui/components/edaManagerComponent/context/loadingContext.js.map +1 -0
  46. package/coreui/components/edaManagerComponent/context/sharedSampleRange.d.ts +1 -2
  47. package/coreui/components/edaManagerComponent/context/sharedSampleRange.js +10 -0
  48. package/coreui/components/edaManagerComponent/context/sharedSampleRange.js.map +1 -1
  49. package/coreui/components/edaManagerComponent/edaDetail.d.ts +4 -12
  50. package/coreui/components/edaManagerComponent/edaDetail.js +53 -88
  51. package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
  52. package/coreui/components/edaManagerComponent/edaNavigator.d.ts +2 -1
  53. package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -1
  54. package/coreui/components/edaManagerComponent/edaSelect.d.ts +13 -7
  55. package/coreui/components/edaManagerComponent/edaSelect.js +211 -7
  56. package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -1
  57. package/coreui/components/edaManagerComponent/utils/utils.d.ts +17 -0
  58. package/coreui/components/edaManagerComponent/utils/utils.js +57 -0
  59. package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -1
  60. package/coreui/components/webPush/webPushSwitch.js.map +1 -1
  61. package/coreui/images/logo.svg +9 -9
  62. package/coreui/images/logo_full.svg +11 -11
  63. package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +64 -2
  64. package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +51 -13
  65. package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +304 -4
  66. package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +9 -3
  67. package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +89 -3
  68. package/d2configuration/edaManager/EDA_StatVectorRec.xml +56 -0
  69. package/d2configuration/edaManager/SD.EM_EDA_StatVectorRec_V1.xml +125 -0
  70. package/d2configuration/edaManager/SD.EM_Filter_Condition.xml +156 -0
  71. package/d2configuration/edaManager/SD.EM_Tree_Item.xml +34 -1
  72. package/package.json +3 -3
  73. package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.d.ts +0 -6
  74. package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js +0 -14
  75. package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js.map +0 -1
@@ -1,217 +1,120 @@
1
- import { EdaBasePanel } from "./edaBasePanel";
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 React from "react";
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 { SharedSampleRangeContext } from "../context/sharedSampleRange";
9
- export class EdaBaseDataPanel extends EdaBasePanel {
10
- constructor() {
11
- super(...arguments);
12
- this.latestRequestId = 0;
13
- }
14
- onDataSourceChanged() { }
15
- onLoadVectors(vectors) {
16
- return vectors;
17
- }
18
- async componentDidMount() {
19
- if (this.props.type !== undefined && this.props.data) {
20
- await this.loadData(this.props.type, this.props.data);
21
- }
22
- }
23
- async componentDidUpdate(prevProps, _prevState) {
24
- const { rangeContext, showTimeWindow, type, data, isActive } = this.props;
25
- const { needsReload } = this.state;
26
- const { btWindow, etWindow, btTotal, etTotal, sampling, step, vectorPage } = rangeContext;
27
- const dataSourceChanged = prevProps.type !== type || prevProps.data !== data;
28
- const windowChanged = !prevProps.rangeContext.btWindow.isSame(btWindow) ||
29
- !prevProps.rangeContext.etWindow.isSame(etWindow) ||
30
- prevProps.rangeContext.step !== step;
31
- const showTimeWindowChanged = prevProps.showTimeWindow !== showTimeWindow;
32
- const rangeChanged = prevProps.rangeContext.sampling !== sampling ||
33
- prevProps.rangeContext.vectorPage !== vectorPage ||
34
- prevProps.rangeContext.btTotal !== btTotal ||
35
- prevProps.rangeContext.etTotal !== etTotal;
36
- const totalChanged = prevProps.rangeContext.btTotal !== btTotal || prevProps.rangeContext.etTotal !== etTotal;
37
- const shouldReload = dataSourceChanged || windowChanged || rangeChanged || showTimeWindowChanged || (!showTimeWindow && totalChanged);
38
- if (type !== undefined && data !== undefined) {
39
- if (dataSourceChanged) {
40
- this.context.updateValues(btTotal, etTotal, sampling, 1);
41
- }
42
- if (dataSourceChanged || (prevProps.rangeContext.vectorPage !== vectorPage)) {
43
- this.onDataSourceChanged();
44
- }
45
- if (isActive) {
46
- if ((!prevProps.isActive && needsReload) || shouldReload) {
47
- this.setState({ needsReload: false });
48
- await this.loadData(type, data);
49
- }
50
- }
51
- else if (shouldReload) {
52
- this.setState({ needsReload: true });
53
- }
54
- }
55
- }
56
- getDefaultBaseState(props) {
57
- this.handleError = this.handleError.bind(this);
58
- return {
59
- ...this.getDefaultState(),
60
- ...this.getDefaultDataBaseState(props),
61
- };
62
- }
63
- renderPanel(token, _type, _data) {
64
- const { api, size, rangeContext, showTimeWindow } = this.props;
65
- const { loading } = this.state;
66
- const { btTotal, etTotal, sampling, vectorPage, totalCount, step } = rangeContext;
67
- return (React.createElement(Spin, { spinning: loading, indicator: this.renderIndicator() },
68
- React.createElement(React.Fragment, null,
69
- React.createElement("div", null,
70
- React.createElement(EdaSampleRangePickerPanel, { bt: btTotal, et: etTotal, sampling: sampling, totalCount: totalCount, pageSize: api.pageSize, loading: loading, size: size, page: vectorPage, onChange: (bt, et, step, page) => {
71
- rangeContext.updateValues(bt, et, step, page);
72
- } })),
73
- showTimeWindow &&
74
- React.createElement("div", null,
75
- React.createElement(EdaTimeWindowPickerPanel, { start: btTotal, end: etTotal, step: step, size: size, disabled: sampling === EdaSamplingType.Changes, onTimeWindowChanged: (bt, et, step) => {
76
- rangeContext.updateTimeWindow(bt, et, step);
77
- } })),
78
- this.renderContent(token))));
79
- }
80
- async loadVectorData(vectors) {
81
- const { api } = this.props;
82
- const currentRequestId = ++this.latestRequestId;
83
- try {
84
- const { rangeContext, showTimeWindow } = this.props;
85
- const { btTotal, etTotal, sampling } = rangeContext;
86
- const result = [];
87
- let { btWindow, etWindow } = rangeContext;
88
- this.setState({ loading: true, loadingPercentage: 0 });
89
- if (!showTimeWindow) {
90
- btWindow = btTotal;
91
- etWindow = etTotal;
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(Progress, { type: "dashboard", steps: loadingCount, percent: loadingPercentage, format: (percent) => Math.round(percent ?? 0) + "%", trailColor: "rgba(0, 0, 0, 0.06)" }),
130
- React.createElement(Typography.Text, { style: { whiteSpace: "nowrap" } }, loadingVector))));
131
- }
132
- async loadData(type, data) {
133
- const { api } = this.props;
134
- const currentRequestId = ++this.latestRequestId;
135
- try {
136
- const { rangeContext, showTimeWindow } = this.props;
137
- const { btTotal, etTotal, sampling, vectorPage } = rangeContext;
138
- const result = [];
139
- const columns = [];
140
- let { btWindow, etWindow } = rangeContext;
141
- this.setState({ loading: true, loadingPercentage: 0 });
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
- EdaBaseDataPanel.contextType = SharedSampleRangeContext;
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;AASlE,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,IAAI,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEnC,QAAQ,IAAI,EAAE,CAAC;YACX;gBACI,OAAO,oBAAC,oBAAoB,IAAC,IAAI,EAAE,IAAkB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;YAC5F;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\n\r\ninterface Props extends BaseProps {\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 {size, variant} = this.props;\r\n\r\n switch (type) {\r\n case IdType.VECTOR:\r\n return <EdaVectorDetailPanel 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
+ {"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 React from "react";
2
- import { BaseDataProps } from "./edaDataBasePanel";
3
- interface Props extends BaseDataProps {
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 _default: (props: Omit<Props, "rangeContext">) => React.JSX.Element;
7
- export default _default;
15
+ export declare const EdaGraphPanel: FC<Props>;
16
+ export {};