d2aura 23.0.52 → 23.0.54
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/coreui/components/edaManager/abstract/edaManagerAbstractPanel.d.ts +7 -3
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js +25 -7
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js.map +1 -1
- package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.d.ts +2 -1
- package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js.map +1 -1
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.d.ts +2 -1
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js +3 -1
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js.map +1 -1
- package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.js.map +1 -1
- package/coreui/components/edaManager/components/edaManagerTablePanel.d.ts +3 -1
- package/coreui/components/edaManager/components/edaManagerTablePanel.js +65 -41
- package/coreui/components/edaManager/components/edaManagerTablePanel.js.map +1 -1
- package/coreui/components/edaManager/panel/edaManagerPanel.js.map +1 -1
- package/package.json +2 -2
|
@@ -3,6 +3,7 @@ import { EdaApi, EdaManagerRecord, EdaStepEnum, EdaVector } from "../../../../ap
|
|
|
3
3
|
import { EdaManagerTimePanelConfiguration } from "../components/edaManagerTimePanel";
|
|
4
4
|
import * as FlexLayout from "flexlayout-react";
|
|
5
5
|
import { D2ChartPanelProps } from "../../d2Chart/d2ChartPanel";
|
|
6
|
+
import { ArchiveApi } from "../../../../api/archiveApi";
|
|
6
7
|
export interface EdaManagerFilterToSave {
|
|
7
8
|
version: number;
|
|
8
9
|
currentVectors: EdaVector[];
|
|
@@ -12,12 +13,14 @@ export interface EdaManagerFilterToSave {
|
|
|
12
13
|
autoRefresh: boolean;
|
|
13
14
|
}
|
|
14
15
|
export interface EdaManagerFilter {
|
|
15
|
-
|
|
16
|
+
currentArchiveValues?: string[];
|
|
17
|
+
currentVectors?: EdaVector[];
|
|
16
18
|
timePanelConfiguration: EdaManagerTimePanelConfiguration;
|
|
17
19
|
}
|
|
18
20
|
export interface EdaManagerAbstractPanelProps extends Omit<D2ChartPanelProps, "d2ChartSeries" | "d2ChartRecords" | "d2ChartCalendarRecords" | "loading"> {
|
|
19
21
|
style?: React.CSSProperties;
|
|
20
|
-
|
|
22
|
+
archiveApi?: ArchiveApi;
|
|
23
|
+
edaApi?: EdaApi;
|
|
21
24
|
onVectorsLoaded?(loadedVectors: EdaManagerRecord[]): void;
|
|
22
25
|
}
|
|
23
26
|
export interface EdaManagerAbstractPanelState {
|
|
@@ -37,7 +40,8 @@ export default abstract class EdaManagerAbstractPanel<P extends EdaManagerAbstra
|
|
|
37
40
|
componentDidMount(): void;
|
|
38
41
|
protected saveFilter(): void;
|
|
39
42
|
getFilterNameToSave(): string | undefined;
|
|
40
|
-
protected
|
|
43
|
+
protected getActiveArchiveValues(): string[] | undefined;
|
|
44
|
+
protected getActiveVectors(): EdaVector[] | undefined;
|
|
41
45
|
protected onReload(): void;
|
|
42
46
|
onLoadVectors(): Promise<void>;
|
|
43
47
|
private onLoadVector;
|
|
@@ -76,18 +76,29 @@ export default class EdaManagerAbstractPanel extends React.Component {
|
|
|
76
76
|
getFilterNameToSave() {
|
|
77
77
|
return undefined;
|
|
78
78
|
}
|
|
79
|
+
getActiveArchiveValues() {
|
|
80
|
+
return this.state.currentFilter.currentArchiveValues;
|
|
81
|
+
}
|
|
79
82
|
getActiveVectors() {
|
|
80
|
-
return this.state.currentFilter.currentVectors
|
|
83
|
+
return this.state.currentFilter.currentVectors?.filter(vector => vector.active);
|
|
81
84
|
}
|
|
82
85
|
onReload() {
|
|
83
86
|
this.edaManagerTablePanel?.onReload();
|
|
84
87
|
this.edaManagerChartPanel?.onReload();
|
|
85
88
|
}
|
|
86
89
|
async onLoadVectors() {
|
|
90
|
+
const activeArchiveValues = this.getActiveArchiveValues();
|
|
87
91
|
const activeVectors = this.getActiveVectors();
|
|
92
|
+
let loadedVectors = [];
|
|
93
|
+
let loadedCalendarVector;
|
|
88
94
|
this.setState({ loading: true });
|
|
89
|
-
|
|
90
|
-
|
|
95
|
+
if (activeArchiveValues) {
|
|
96
|
+
loadedVectors = await this.props.archiveApi.getArchiveData(activeArchiveValues, this.state.currentFilter.timePanelConfiguration.selectedTimeFrom, this.state.currentFilter.timePanelConfiguration.selectedTimeTo, Number(this.state.currentFilter.timePanelConfiguration.selectedStep));
|
|
97
|
+
}
|
|
98
|
+
else if (activeVectors) {
|
|
99
|
+
loadedVectors = await this.props.edaApi.loadVectors(activeVectors, this.state.currentFilter.timePanelConfiguration.selectedTimeFrom, this.state.currentFilter.timePanelConfiguration.selectedTimeTo, this.state.currentFilter.timePanelConfiguration.selectedStep);
|
|
100
|
+
loadedCalendarVector = await this.props.edaApi.loadCalendarVector(this.state.currentFilter.timePanelConfiguration.selectedTimeFrom, this.state.currentFilter.timePanelConfiguration.selectedTimeTo);
|
|
101
|
+
}
|
|
91
102
|
this.setState({
|
|
92
103
|
loading: false,
|
|
93
104
|
loadedVectors: loadedVectors,
|
|
@@ -113,7 +124,7 @@ export default class EdaManagerAbstractPanel extends React.Component {
|
|
|
113
124
|
}
|
|
114
125
|
renderTimePanel() {
|
|
115
126
|
const pathsToOmit = ["timePanelConfiguration.autoRefresh"];
|
|
116
|
-
this.state.currentFilter.currentVectors
|
|
127
|
+
this.state.currentFilter.currentVectors?.forEach((_, index) => {
|
|
117
128
|
pathsToOmit.push(`currentVectors[${index}].target`);
|
|
118
129
|
});
|
|
119
130
|
const filterChanged = !isEqual(omit(cloneDeep(this.state.currentFilter), pathsToOmit), omit(cloneDeep(this.state.loadedDataFilter), pathsToOmit));
|
|
@@ -139,14 +150,15 @@ export default class EdaManagerAbstractPanel extends React.Component {
|
|
|
139
150
|
}
|
|
140
151
|
flexLayoutFactory(node) {
|
|
141
152
|
const component = node.getComponent();
|
|
153
|
+
const activeArchiveValues = this.getActiveArchiveValues();
|
|
142
154
|
const activeVectors = this.getActiveVectors();
|
|
143
155
|
if (component === "table") {
|
|
144
|
-
return (React.createElement(EdaManagerTablePanel, { style: this.tabWrapperStyle, ref: component => this.edaManagerTablePanel = component, edaApi: this.props.edaApi, timePanel: this.renderTimePanel(), currentVectors: activeVectors, loadedVectors: this.state.loadedVectors, loading: this.state.loading, onReloadVectorData: code => {
|
|
156
|
+
return (React.createElement(EdaManagerTablePanel, { style: this.tabWrapperStyle, ref: component => this.edaManagerTablePanel = component, edaApi: this.props.edaApi, timePanel: this.renderTimePanel(), currentArchiveValues: activeArchiveValues, currentVectors: activeVectors, loadedVectors: this.state.loadedVectors, loading: this.state.loading, onReloadVectorData: code => {
|
|
145
157
|
this.onLoadVector(code);
|
|
146
158
|
} }));
|
|
147
159
|
}
|
|
148
160
|
else if (component === "chart") {
|
|
149
|
-
const d2ChartSeries = activeVectors
|
|
161
|
+
const d2ChartSeries = activeVectors?.map(value => {
|
|
150
162
|
return {
|
|
151
163
|
id: value.id,
|
|
152
164
|
code: value.code,
|
|
@@ -154,7 +166,13 @@ export default class EdaManagerAbstractPanel extends React.Component {
|
|
|
154
166
|
colorIndex: value.colorIndex,
|
|
155
167
|
lineStyle: value.lineStyle,
|
|
156
168
|
};
|
|
157
|
-
})
|
|
169
|
+
}) ?? activeArchiveValues?.map((value, index) => {
|
|
170
|
+
return {
|
|
171
|
+
id: index,
|
|
172
|
+
code: value,
|
|
173
|
+
name: value,
|
|
174
|
+
};
|
|
175
|
+
}) ?? [];
|
|
158
176
|
return (React.createElement("div", { style: Object.assign({ display: "flex", flexDirection: "column", height: "100%" }, this.tabWrapperStyle) },
|
|
159
177
|
this.renderTimePanel(),
|
|
160
178
|
React.createElement(D2ChartPanel, { ref: component => this.edaManagerChartPanel = component, d2ChartSeries: d2ChartSeries, d2ChartRecords: this.state.loadedVectors, d2ChartCalendarRecords: this.state.loadedCalendarVector, loading: this.state.loading, compact: this.edaManagerChartPanelCompact, markArea: this.props.markArea, tableHeight: this.props.tableHeight, tableWrapperStyle: this.props.tableWrapperStyle })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManagerAbstractPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/abstract/edaManagerAbstractPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {EdaApi, EdaManagerRecord, EdaStepEnum, EdaVector} from \"../../../../api/edaApi\";\r\nimport EdaManagerTimePanel, {EdaManagerTimePanelConfiguration} from \"../components/edaManagerTimePanel\";\r\nimport * as FlexLayout from \"flexlayout-react\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport debounce from \"lodash/debounce\";\r\nimport EdaManagerTablePanel from \"../components/edaManagerTablePanel\";\r\nimport D2ChartPanel, {D2ChartPanelProps} from \"../../d2Chart/d2ChartPanel\";\r\nimport {isEqual, omit} from \"lodash\";\r\nimport {D2ChartSeriesItem} from \"../../../../api/types/d2ChartTypes\";\r\n\r\nconst CONFIGURATION_VERSION = 2;\r\n\r\nexport interface EdaManagerFilterToSave {\r\n version: number\r\n currentVectors: EdaVector[]\r\n timeFrom: string\r\n timeTo: string;\r\n\r\n selectedStep: EdaStepEnum\r\n autoRefresh: boolean\r\n}\r\n\r\nexport interface EdaManagerFilter {\r\n currentVectors: EdaVector[]\r\n timePanelConfiguration: EdaManagerTimePanelConfiguration\r\n}\r\n\r\nexport interface EdaManagerAbstractPanelProps extends Omit<D2ChartPanelProps, \"d2ChartSeries\" | \"d2ChartRecords\" | \"d2ChartCalendarRecords\" | \"loading\"> {\r\n style?: React.CSSProperties\r\n\r\n edaApi: EdaApi\r\n\r\n onVectorsLoaded?(loadedVectors: EdaManagerRecord[]): void\r\n}\r\n\r\nexport interface EdaManagerAbstractPanelState {\r\n layoutModel: FlexLayout.Model\r\n loadedVectors: EdaManagerRecord[]\r\n loadedCalendarVector?: EdaManagerRecord[]\r\n loading: boolean\r\n\r\n currentFilter: EdaManagerFilter\r\n loadedDataFilter: EdaManagerFilter\r\n}\r\n\r\nexport default abstract class EdaManagerAbstractPanel<P extends EdaManagerAbstractPanelProps, S extends EdaManagerAbstractPanelState> extends React.Component<P, S> {\r\n private edaManagerTablePanel: EdaManagerTablePanel | null = null;\r\n private edaManagerChartPanel: D2ChartPanel | null = null;\r\n\r\n protected get initialFilter(): EdaManagerFilter {\r\n return {\r\n currentVectors: [],\r\n timePanelConfiguration: {\r\n selectedTimeFrom: dayjs().subtract(1, \"week\").startOf(\"day\"),\r\n selectedTimeTo: dayjs().subtract(1, \"week\").startOf(\"day\"),\r\n selectedStep: EdaStepEnum.DEFAULT_VALUE,\r\n autoRefresh: false,\r\n }\r\n }\r\n }\r\n\r\n protected initialState: Omit<EdaManagerAbstractPanelState, \"layoutModel\"> = {\r\n loadedVectors: [],\r\n loading: false,\r\n\r\n currentFilter: this.initialFilter,\r\n loadedDataFilter: cloneDeep(this.initialFilter),\r\n }\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n // @ts-ignore\r\n this.onLoadVectors = debounce(this.onLoadVectors.bind(this), 500);\r\n this.flexLayoutFactory = this.flexLayoutFactory.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const filterNameToSave = this.getFilterNameToSave();\r\n\r\n if (filterNameToSave) {\r\n const item = localStorage.getItem(filterNameToSave);\r\n\r\n if (item) {\r\n try {\r\n const savedFilter: EdaManagerFilterToSave = JSON.parse(item);\r\n if (savedFilter.version === CONFIGURATION_VERSION) {\r\n const filter: EdaManagerFilter = {\r\n currentVectors: savedFilter.currentVectors,\r\n timePanelConfiguration: {\r\n selectedTimeFrom: dayjs(savedFilter.timeFrom),\r\n selectedTimeTo: dayjs(savedFilter.timeTo),\r\n selectedStep: savedFilter.selectedStep,\r\n autoRefresh: savedFilter.autoRefresh,\r\n }\r\n }\r\n\r\n this.setState({currentFilter: filter}, () => this.onLoadVectors());\r\n }\r\n } catch {\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected saveFilter() {\r\n const filterNameToSave = this.getFilterNameToSave();\r\n\r\n if (filterNameToSave) {\r\n const filterToSave: EdaManagerFilterToSave = {\r\n version: CONFIGURATION_VERSION,\r\n currentVectors: this.state.currentFilter.currentVectors,\r\n timeFrom: this.state.currentFilter.timePanelConfiguration.selectedTimeFrom?.toString() ?? \"\",\r\n timeTo: this.state.currentFilter.timePanelConfiguration.selectedTimeTo?.toString() ?? \"\",\r\n selectedStep: this.state.currentFilter.timePanelConfiguration.selectedStep,\r\n autoRefresh: this.state.currentFilter.timePanelConfiguration.autoRefresh,\r\n }\r\n\r\n localStorage.setItem(filterNameToSave, JSON.stringify(filterToSave));\r\n }\r\n }\r\n\r\n getFilterNameToSave(): string | undefined {\r\n return undefined;\r\n }\r\n\r\n protected getActiveVectors(): EdaVector[] {\r\n return this.state.currentFilter.currentVectors.filter(vector => vector.active);\r\n }\r\n\r\n protected onReload() {\r\n this.edaManagerTablePanel?.onReload();\r\n this.edaManagerChartPanel?.onReload();\r\n }\r\n\r\n async onLoadVectors() {\r\n const activeVectors = this.getActiveVectors();\r\n this.setState({loading: true});\r\n\r\n const loadedVectors = await this.props.edaApi.loadVectors(\r\n activeVectors,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeFrom,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeTo,\r\n this.state.currentFilter.timePanelConfiguration.selectedStep,\r\n );\r\n\r\n const loadedCalendarVector = await this.props.edaApi.loadCalendarVector(\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeFrom,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeTo,\r\n );\r\n\r\n this.setState({\r\n loading: false,\r\n loadedVectors: loadedVectors,\r\n loadedCalendarVector: loadedCalendarVector,\r\n loadedDataFilter: cloneDeep(this.state.currentFilter),\r\n }, () => this.onReload());\r\n\r\n this.props.onVectorsLoaded?.(loadedVectors);\r\n }\r\n\r\n private async onLoadVector(code: string) {\r\n const activeVectors = this.getActiveVectors();\r\n const currentVectorIndex = activeVectors.findIndex(value => value.code === code);\r\n\r\n if (currentVectorIndex >= 0) {\r\n const currentVector = activeVectors[currentVectorIndex];\r\n const loadedVectors = this.state.loadedVectors;\r\n\r\n const loadedVector = await this.props.edaApi.loadVectors(\r\n [currentVector],\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeFrom,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeTo,\r\n this.state.currentFilter.timePanelConfiguration.selectedStep,\r\n );\r\n\r\n loadedVectors.forEach((value, index) => {\r\n value[`col${currentVectorIndex}`] = loadedVector[index].col0;\r\n });\r\n\r\n this.setState({loadedVectors: loadedVectors});\r\n\r\n this.edaManagerTablePanel?.refreshCells();\r\n this.edaManagerChartPanel?.onReload();\r\n }\r\n }\r\n\r\n protected renderTimePanel() {\r\n const pathsToOmit = [\"timePanelConfiguration.autoRefresh\"];\r\n this.state.currentFilter.currentVectors.forEach((_, index) => {\r\n pathsToOmit.push(`currentVectors[${index}].target`);\r\n });\r\n\r\n const filterChanged = !isEqual(\r\n omit(cloneDeep(this.state.currentFilter), pathsToOmit),\r\n omit(cloneDeep(this.state.loadedDataFilter), pathsToOmit)\r\n );\r\n\r\n return (\r\n <EdaManagerTimePanel\r\n loading={this.state.loading}\r\n configuration={this.state.currentFilter.timePanelConfiguration}\r\n filterChanged={filterChanged}\r\n onChangeConfiguration={configuration => {\r\n const currentFilter = this.state.currentFilter;\r\n const timePanelConfiguration = currentFilter.timePanelConfiguration;\r\n Object.assign(timePanelConfiguration, configuration);\r\n this.setState({currentFilter: currentFilter}, () => {\r\n this.saveFilter();\r\n if (timePanelConfiguration.autoRefresh) {\r\n this.onLoadVectors();\r\n }\r\n });\r\n }}\r\n onReload={() => {\r\n this.onLoadVectors();\r\n }}\r\n />\r\n );\r\n }\r\n\r\n protected get edaManagerChartPanelCompact(): boolean {\r\n return false;\r\n }\r\n\r\n protected get tabWrapperStyle(): React.CSSProperties {\r\n return {padding: \"8px 12px\"}\r\n }\r\n\r\n protected flexLayoutFactory(node: FlexLayout.TabNode): React.ReactNode {\r\n const component = node.getComponent();\r\n const activeVectors = this.getActiveVectors();\r\n if (component === \"table\") {\r\n return (\r\n <EdaManagerTablePanel\r\n style={this.tabWrapperStyle}\r\n ref={component => this.edaManagerTablePanel = component}\r\n edaApi={this.props.edaApi}\r\n timePanel={this.renderTimePanel()}\r\n currentVectors={activeVectors}\r\n loadedVectors={this.state.loadedVectors}\r\n loading={this.state.loading}\r\n onReloadVectorData={code => {\r\n this.onLoadVector(code);\r\n }}\r\n />\r\n );\r\n } else if (component === \"chart\") {\r\n const d2ChartSeries: D2ChartSeriesItem[] = activeVectors.map(value => {\r\n return {\r\n id: value.id,\r\n code: value.code,\r\n name: value.name,\r\n colorIndex: value.colorIndex,\r\n lineStyle: value.lineStyle,\r\n }\r\n });\r\n\r\n return (\r\n <div\r\n style={Object.assign(\r\n {display: \"flex\", flexDirection: \"column\", height: \"100%\"},\r\n this.tabWrapperStyle\r\n )}\r\n >\r\n {this.renderTimePanel()}\r\n <D2ChartPanel\r\n ref={component => this.edaManagerChartPanel = component}\r\n d2ChartSeries={d2ChartSeries}\r\n d2ChartRecords={this.state.loadedVectors}\r\n d2ChartCalendarRecords={this.state.loadedCalendarVector}\r\n loading={this.state.loading}\r\n compact={this.edaManagerChartPanelCompact}\r\n markArea={this.props.markArea}\r\n tableHeight={this.props.tableHeight}\r\n tableWrapperStyle={this.props.tableWrapperStyle}\r\n />\r\n </div>\r\n )\r\n }\r\n\r\n return <span>{component}</span>\r\n }\r\n\r\n render() {\r\n return (\r\n <div style={{minWidth: 100, minHeight: 500, ...this.props.style}}>\r\n <FlexLayout.Layout\r\n model={this.state.layoutModel}\r\n onModelChange={model => this.setState({layoutModel: model})}\r\n factory={this.flexLayoutFactory}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n}"]}
|
|
1
|
+
{"version":3,"file":"edaManagerAbstractPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/abstract/edaManagerAbstractPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {EdaApi, EdaManagerRecord, EdaStepEnum, EdaVector} from \"../../../../api/edaApi\";\r\nimport EdaManagerTimePanel, {EdaManagerTimePanelConfiguration} from \"../components/edaManagerTimePanel\";\r\nimport * as FlexLayout from \"flexlayout-react\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport debounce from \"lodash/debounce\";\r\nimport EdaManagerTablePanel from \"../components/edaManagerTablePanel\";\r\nimport D2ChartPanel, {D2ChartPanelProps} from \"../../d2Chart/d2ChartPanel\";\r\nimport {isEqual, omit} from \"lodash\";\r\nimport {D2ChartSeriesItem} from \"../../../../api/types/d2ChartTypes\";\r\nimport {ArchiveApi} from \"../../../../api/archiveApi\";\r\n\r\nconst CONFIGURATION_VERSION = 2;\r\n\r\nexport interface EdaManagerFilterToSave {\r\n version: number\r\n currentVectors: EdaVector[]\r\n timeFrom: string\r\n timeTo: string;\r\n\r\n selectedStep: EdaStepEnum\r\n autoRefresh: boolean\r\n}\r\n\r\nexport interface EdaManagerFilter {\r\n currentArchiveValues?: string[]\r\n currentVectors?: EdaVector[]\r\n timePanelConfiguration: EdaManagerTimePanelConfiguration\r\n}\r\n\r\nexport interface EdaManagerAbstractPanelProps extends Omit<D2ChartPanelProps, \"d2ChartSeries\" | \"d2ChartRecords\" | \"d2ChartCalendarRecords\" | \"loading\"> {\r\n style?: React.CSSProperties\r\n\r\n archiveApi?: ArchiveApi\r\n edaApi?: EdaApi\r\n\r\n onVectorsLoaded?(loadedVectors: EdaManagerRecord[]): void\r\n}\r\n\r\nexport interface EdaManagerAbstractPanelState {\r\n layoutModel: FlexLayout.Model\r\n loadedVectors: EdaManagerRecord[]\r\n loadedCalendarVector?: EdaManagerRecord[]\r\n loading: boolean\r\n\r\n currentFilter: EdaManagerFilter\r\n loadedDataFilter: EdaManagerFilter\r\n}\r\n\r\nexport default abstract class EdaManagerAbstractPanel<P extends EdaManagerAbstractPanelProps, S extends EdaManagerAbstractPanelState> extends React.Component<P, S> {\r\n private edaManagerTablePanel: EdaManagerTablePanel | null = null;\r\n private edaManagerChartPanel: D2ChartPanel | null = null;\r\n\r\n protected get initialFilter(): EdaManagerFilter {\r\n return {\r\n currentVectors: [],\r\n timePanelConfiguration: {\r\n selectedTimeFrom: dayjs().subtract(1, \"week\").startOf(\"day\"),\r\n selectedTimeTo: dayjs().subtract(1, \"week\").startOf(\"day\"),\r\n selectedStep: EdaStepEnum.DEFAULT_VALUE,\r\n autoRefresh: false,\r\n }\r\n }\r\n }\r\n\r\n protected initialState: Omit<EdaManagerAbstractPanelState, \"layoutModel\"> = {\r\n loadedVectors: [],\r\n loading: false,\r\n\r\n currentFilter: this.initialFilter,\r\n loadedDataFilter: cloneDeep(this.initialFilter),\r\n }\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n // @ts-ignore\r\n this.onLoadVectors = debounce(this.onLoadVectors.bind(this), 500);\r\n this.flexLayoutFactory = this.flexLayoutFactory.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const filterNameToSave = this.getFilterNameToSave();\r\n\r\n if (filterNameToSave) {\r\n const item = localStorage.getItem(filterNameToSave);\r\n\r\n if (item) {\r\n try {\r\n const savedFilter: EdaManagerFilterToSave = JSON.parse(item);\r\n if (savedFilter.version === CONFIGURATION_VERSION) {\r\n const filter: EdaManagerFilter = {\r\n currentVectors: savedFilter.currentVectors,\r\n timePanelConfiguration: {\r\n selectedTimeFrom: dayjs(savedFilter.timeFrom),\r\n selectedTimeTo: dayjs(savedFilter.timeTo),\r\n selectedStep: savedFilter.selectedStep,\r\n autoRefresh: savedFilter.autoRefresh,\r\n }\r\n }\r\n\r\n this.setState({currentFilter: filter}, () => this.onLoadVectors());\r\n }\r\n } catch {\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected saveFilter() {\r\n const filterNameToSave = this.getFilterNameToSave();\r\n\r\n if (filterNameToSave) {\r\n const filterToSave: EdaManagerFilterToSave = {\r\n version: CONFIGURATION_VERSION,\r\n currentVectors: this.state.currentFilter.currentVectors!,\r\n timeFrom: this.state.currentFilter.timePanelConfiguration.selectedTimeFrom?.toString() ?? \"\",\r\n timeTo: this.state.currentFilter.timePanelConfiguration.selectedTimeTo?.toString() ?? \"\",\r\n selectedStep: this.state.currentFilter.timePanelConfiguration.selectedStep,\r\n autoRefresh: this.state.currentFilter.timePanelConfiguration.autoRefresh,\r\n }\r\n\r\n localStorage.setItem(filterNameToSave, JSON.stringify(filterToSave));\r\n }\r\n }\r\n\r\n getFilterNameToSave(): string | undefined {\r\n return undefined;\r\n }\r\n\r\n protected getActiveArchiveValues(): string[] | undefined {\r\n return this.state.currentFilter.currentArchiveValues;\r\n }\r\n\r\n protected getActiveVectors(): EdaVector[] | undefined {\r\n return this.state.currentFilter.currentVectors?.filter(vector => vector.active);\r\n }\r\n\r\n protected onReload() {\r\n this.edaManagerTablePanel?.onReload();\r\n this.edaManagerChartPanel?.onReload();\r\n }\r\n\r\n async onLoadVectors() {\r\n const activeArchiveValues = this.getActiveArchiveValues();\r\n const activeVectors = this.getActiveVectors();\r\n\r\n let loadedVectors: EdaManagerRecord[] = [];\r\n let loadedCalendarVector: EdaManagerRecord[] | undefined;\r\n\r\n this.setState({loading: true});\r\n\r\n if (activeArchiveValues) {\r\n loadedVectors = await this.props.archiveApi!.getArchiveData(\r\n activeArchiveValues,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeFrom,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeTo,\r\n Number(this.state.currentFilter.timePanelConfiguration.selectedStep),\r\n ) as EdaManagerRecord[];\r\n } else if (activeVectors) {\r\n loadedVectors = await this.props.edaApi!.loadVectors(\r\n activeVectors,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeFrom,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeTo,\r\n this.state.currentFilter.timePanelConfiguration.selectedStep,\r\n );\r\n\r\n loadedCalendarVector = await this.props.edaApi!.loadCalendarVector(\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeFrom,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeTo,\r\n );\r\n }\r\n\r\n\r\n this.setState({\r\n loading: false,\r\n loadedVectors: loadedVectors,\r\n loadedCalendarVector: loadedCalendarVector,\r\n loadedDataFilter: cloneDeep(this.state.currentFilter),\r\n }, () => this.onReload());\r\n\r\n this.props.onVectorsLoaded?.(loadedVectors);\r\n }\r\n\r\n private async onLoadVector(code: string) {\r\n const activeVectors = this.getActiveVectors();\r\n const currentVectorIndex = activeVectors!.findIndex(value => value.code === code);\r\n\r\n if (currentVectorIndex >= 0) {\r\n const currentVector = activeVectors![currentVectorIndex];\r\n const loadedVectors = this.state.loadedVectors;\r\n\r\n const loadedVector = await this.props.edaApi!.loadVectors(\r\n [currentVector],\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeFrom,\r\n this.state.currentFilter.timePanelConfiguration.selectedTimeTo,\r\n this.state.currentFilter.timePanelConfiguration.selectedStep,\r\n );\r\n\r\n loadedVectors.forEach((value, index) => {\r\n value[`col${currentVectorIndex}`] = loadedVector[index].col0;\r\n });\r\n\r\n this.setState({loadedVectors: loadedVectors});\r\n\r\n this.edaManagerTablePanel?.refreshCells();\r\n this.edaManagerChartPanel?.onReload();\r\n }\r\n }\r\n\r\n protected renderTimePanel() {\r\n const pathsToOmit = [\"timePanelConfiguration.autoRefresh\"];\r\n this.state.currentFilter.currentVectors?.forEach((_, index) => {\r\n pathsToOmit.push(`currentVectors[${index}].target`);\r\n });\r\n\r\n const filterChanged = !isEqual(\r\n omit(cloneDeep(this.state.currentFilter), pathsToOmit),\r\n omit(cloneDeep(this.state.loadedDataFilter), pathsToOmit)\r\n );\r\n\r\n return (\r\n <EdaManagerTimePanel\r\n loading={this.state.loading}\r\n configuration={this.state.currentFilter.timePanelConfiguration}\r\n filterChanged={filterChanged}\r\n onChangeConfiguration={configuration => {\r\n const currentFilter = this.state.currentFilter;\r\n const timePanelConfiguration = currentFilter.timePanelConfiguration;\r\n Object.assign(timePanelConfiguration, configuration);\r\n this.setState({currentFilter: currentFilter}, () => {\r\n this.saveFilter();\r\n if (timePanelConfiguration.autoRefresh) {\r\n this.onLoadVectors();\r\n }\r\n });\r\n }}\r\n onReload={() => {\r\n this.onLoadVectors();\r\n }}\r\n />\r\n );\r\n }\r\n\r\n protected get edaManagerChartPanelCompact(): boolean {\r\n return false;\r\n }\r\n\r\n protected get tabWrapperStyle(): React.CSSProperties {\r\n return {padding: \"8px 12px\"}\r\n }\r\n\r\n protected flexLayoutFactory(node: FlexLayout.TabNode): React.ReactNode {\r\n const component = node.getComponent();\r\n const activeArchiveValues = this.getActiveArchiveValues();\r\n const activeVectors = this.getActiveVectors();\r\n\r\n if (component === \"table\") {\r\n return (\r\n <EdaManagerTablePanel\r\n style={this.tabWrapperStyle}\r\n ref={component => this.edaManagerTablePanel = component}\r\n edaApi={this.props.edaApi}\r\n timePanel={this.renderTimePanel()}\r\n currentArchiveValues={activeArchiveValues}\r\n currentVectors={activeVectors}\r\n loadedVectors={this.state.loadedVectors}\r\n loading={this.state.loading}\r\n onReloadVectorData={code => {\r\n this.onLoadVector(code);\r\n }}\r\n />\r\n );\r\n } else if (component === \"chart\") {\r\n const d2ChartSeries: D2ChartSeriesItem[] =\r\n activeVectors?.map(value => {\r\n return {\r\n id: value.id,\r\n code: value.code,\r\n name: value.name,\r\n colorIndex: value.colorIndex,\r\n lineStyle: value.lineStyle,\r\n }\r\n }) ?? activeArchiveValues?.map((value, index) => {\r\n return {\r\n id: index,\r\n code: value,\r\n name: value,\r\n }\r\n }) ?? [];\r\n\r\n return (\r\n <div\r\n style={Object.assign(\r\n {display: \"flex\", flexDirection: \"column\", height: \"100%\"},\r\n this.tabWrapperStyle\r\n )}\r\n >\r\n {this.renderTimePanel()}\r\n <D2ChartPanel\r\n ref={component => this.edaManagerChartPanel = component}\r\n d2ChartSeries={d2ChartSeries}\r\n d2ChartRecords={this.state.loadedVectors}\r\n d2ChartCalendarRecords={this.state.loadedCalendarVector}\r\n loading={this.state.loading}\r\n compact={this.edaManagerChartPanelCompact}\r\n markArea={this.props.markArea}\r\n tableHeight={this.props.tableHeight}\r\n tableWrapperStyle={this.props.tableWrapperStyle}\r\n />\r\n </div>\r\n )\r\n }\r\n\r\n return <span>{component}</span>\r\n }\r\n\r\n render() {\r\n return (\r\n <div style={{minWidth: 100, minHeight: 500, ...this.props.style}}>\r\n <FlexLayout.Layout\r\n model={this.state.layoutModel}\r\n onModelChange={model => this.setState({layoutModel: model})}\r\n factory={this.flexLayoutFactory}\r\n />\r\n </div>\r\n );\r\n }\r\n\r\n}"]}
|
|
@@ -5,7 +5,8 @@ import { GridRowStyle } from "d2coreui/components/grid/cell/tableDefaultRowStyle
|
|
|
5
5
|
import { GridApi } from "ag-grid-community";
|
|
6
6
|
export interface EdaManagerAbstractTablePanelProps {
|
|
7
7
|
style?: React.CSSProperties;
|
|
8
|
-
|
|
8
|
+
currentArchiveValues?: string[];
|
|
9
|
+
currentVectors?: EdaVector[];
|
|
9
10
|
loadedVectors: EdaManagerRecord[];
|
|
10
11
|
loading?: boolean;
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManagerAbstractTablePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AACzE,OAAO,EAAC,KAAK,EAAC,MAAM,MAAM,CAAC;AAC3B,OAAO,IAAI,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"edaManagerAbstractTablePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {DataGridColDef, MenuElement} from \"d2coreui/components/grid/dataGrid\";\r\nimport {LoadingOutlined} from \"@ant-design/icons\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {Empty} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaManagerRecord, EdaVector} from \"../../../../api/edaApi\";\r\nimport {GridRowStyle} from \"d2coreui/components/grid/cell/tableDefaultRowStyleRules\";\r\nimport {SelectionChangedEvent, GridReadyEvent, GridApi} from \"ag-grid-community\";\r\n\r\nexport interface EdaManagerAbstractTablePanelProps {\r\n style?: React.CSSProperties\r\n currentArchiveValues?: string[]\r\n currentVectors?: EdaVector[],\r\n loadedVectors: EdaManagerRecord[],\r\n loading?: boolean\r\n}\r\n\r\nexport interface EdaManagerAbstractTablePanelState {\r\n columnDefs: DataGridColDef[]\r\n selectedData: EdaManagerRecord[]\r\n}\r\n\r\nexport default abstract class EdaManagerAbstractTablePanel<P extends EdaManagerAbstractTablePanelProps, S extends EdaManagerAbstractTablePanelState> extends React.Component<P, S> {\r\n protected gridApi?: GridApi;\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.onSelectionChanged = this.onSelectionChanged.bind(this);\r\n this.renderContextMenu = this.renderContextMenu.bind(this);\r\n this.onClickContextMenuItem = this.onClickContextMenuItem.bind(this);\r\n }\r\n\r\n protected initialState: EdaManagerAbstractTablePanelState = {\r\n columnDefs: this.getColumnDefs(),\r\n selectedData: [],\r\n }\r\n\r\n onReload() {\r\n this.setState({columnDefs: this.getColumnDefs()});\r\n }\r\n\r\n refreshCells() {\r\n this.gridApi?.refreshCells();\r\n }\r\n\r\n redrawRows() {\r\n this.gridApi?.redrawRows();\r\n }\r\n\r\n protected getDateTimeColumn(): DataGridColDef {\r\n return {\r\n headerName: i18n(\"Date\"),\r\n colId: \"date\",\r\n field: \"date\",\r\n type: \"dateTimeColumn\",\r\n initialWidth: 140,\r\n group: i18n(\"Basic Columns\"),\r\n }\r\n }\r\n\r\n abstract getColumnDefs(): DataGridColDef[];\r\n\r\n private onSelectionChanged(event: SelectionChangedEvent) {\r\n const selectedRows = event.api.getSelectedRows();\r\n this.setState({selectedData: selectedRows});\r\n }\r\n\r\n protected renderToolbarButtons(): React.ReactElement | undefined {\r\n return undefined;\r\n }\r\n\r\n protected renderAdditionalContent(): React.ReactNode | undefined {\r\n return undefined;\r\n }\r\n\r\n protected getRowStyle(data: EdaManagerRecord): GridRowStyle | undefined {\r\n data;\r\n return undefined;\r\n }\r\n\r\n protected renderContextMenu(originalMenuItems: MenuElement[]): MenuElement[] {\r\n return originalMenuItems;\r\n }\r\n\r\n protected onClickContextMenuItem(key: string) {\r\n key;\r\n }\r\n\r\n render() {\r\n const toolbarButtons = this.renderToolbarButtons();\r\n\r\n if (this.props.loading) {\r\n return (\r\n <div style={{display: \"flex\", flexDirection: \"column\", height: \"100%\", ...this.props.style}}>\r\n {toolbarButtons}\r\n <div style={{height: \"100%\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\"}}>\r\n <LoadingOutlined/>\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n return (\r\n <div style={{height: \"100%\"}}>\r\n {this.renderAdditionalContent()}\r\n <ExtendedDataGrid\r\n columnDefs={this.state.columnDefs}\r\n onLoadData={callback => {\r\n callback(this.props.loadedVectors.length)\r\n }}\r\n defaultGridConfiguration={{\r\n pageSize: -1,\r\n }}\r\n onGridReady={(params: GridReadyEvent) => {\r\n this.gridApi = params.api;\r\n }}\r\n rowData={this.props.loadedVectors}\r\n onSelectionChanged={this.onSelectionChanged}\r\n tablePanelStyle={{marginTop: 8}}\r\n panelStyle={this.props.style}\r\n toolbar={{\r\n hideRecordCount: true,\r\n toolbarButtons: toolbarButtons,\r\n }}\r\n search={{\r\n hidden: true,\r\n searchButtonHidden: true,\r\n }}\r\n contextMenu={{\r\n renderer: this.renderContextMenu,\r\n onClick: this.onClickContextMenuItem\r\n }}\r\n noRecordsOverlayRenderer={() =>\r\n <Empty description={i18n(\"No records found.\")} imageStyle={{height: \"8vh\"}}/>\r\n }\r\n getRowStyle={params => {\r\n const data = params.node.data as EdaManagerRecord;\r\n return this.getRowStyle(data);\r\n }}\r\n rowSelection=\"multiple\"\r\n singleClickEdit\r\n stopEditingWhenCellsLoseFocus\r\n enterNavigatesVerticallyAfterEdit\r\n />\r\n </div>\r\n )\r\n }\r\n\r\n}"]}
|
|
@@ -2,7 +2,8 @@ import EdaManagerAbstractPanel, { EdaManagerAbstractPanelProps, EdaManagerAbstra
|
|
|
2
2
|
import { EdaVector, EdaStepEnum } from "../../../../api/edaApi";
|
|
3
3
|
import dayjs from "d2core/dayjs";
|
|
4
4
|
interface Props extends EdaManagerAbstractPanelProps {
|
|
5
|
-
|
|
5
|
+
initialArchiveValues?: string[];
|
|
6
|
+
initialVectors?: EdaVector[];
|
|
6
7
|
initialTimeFrom: dayjs.Dayjs | null;
|
|
7
8
|
initialTimeTo: dayjs.Dayjs | null;
|
|
8
9
|
initialStep?: EdaStepEnum;
|
|
@@ -13,8 +13,9 @@ export default class EdaManagerCompactPanel extends EdaManagerAbstractPanel {
|
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
componentDidUpdate(prevProps) {
|
|
16
|
-
if (!isEqual(prevProps.initialVectors, this.props.initialVectors) || !isEqual(prevProps.initialTimeFrom, this.props.initialTimeFrom) || !isEqual(prevProps.initialTimeTo, this.props.initialTimeTo) || prevProps.initialStep !== this.props.initialStep) {
|
|
16
|
+
if (!isEqual(prevProps.initialVectors, this.props.initialVectors) || !isEqual(prevProps.initialArchiveValues, this.props.initialArchiveValues) || !isEqual(prevProps.initialTimeFrom, this.props.initialTimeFrom) || !isEqual(prevProps.initialTimeTo, this.props.initialTimeTo) || prevProps.initialStep !== this.props.initialStep) {
|
|
17
17
|
const currentFilter = this.state.currentFilter;
|
|
18
|
+
currentFilter.currentArchiveValues = this.props.initialArchiveValues;
|
|
18
19
|
currentFilter.currentVectors = this.props.initialVectors;
|
|
19
20
|
currentFilter.timePanelConfiguration.selectedTimeFrom = this.props.initialTimeFrom;
|
|
20
21
|
currentFilter.timePanelConfiguration.selectedTimeTo = this.props.initialTimeTo;
|
|
@@ -39,6 +40,7 @@ export default class EdaManagerCompactPanel extends EdaManagerAbstractPanel {
|
|
|
39
40
|
}
|
|
40
41
|
get initialFilter() {
|
|
41
42
|
return {
|
|
43
|
+
currentArchiveValues: this.props.initialArchiveValues,
|
|
42
44
|
currentVectors: this.props.initialVectors,
|
|
43
45
|
timePanelConfiguration: {
|
|
44
46
|
selectedTimeFrom: this.props.initialTimeFrom,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManagerCompactPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/compactPanel/edaManagerCompactPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAY,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAE9D,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,SAAS,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"edaManagerCompactPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/compactPanel/edaManagerCompactPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAY,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAE9D,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAazC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,uBAAqC;IACrF,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;YACtE,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;IAED,kBAAkB,CAAC,SAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACnU,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/C,aAAa,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;YACrE,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YACzD,aAAa,CAAC,sBAAsB,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YACnF,aAAa,CAAC,sBAAsB,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/E,aAAa,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC;YAExG,IAAI,CAAC,QAAQ,CAAC;gBACV,aAAa,EAAE,EAAE;gBACjB,oBAAoB,EAAE,EAAE;gBACxB,aAAa,EAAE,aAAa;gBAC5B,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC;aAC7C,EAAE,GAAG,EAAE;gBACJ,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;oBAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAc,2BAA2B;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAc,eAAe;QACzB,OAAO,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC;IACpC,CAAC;IAED,IAAc,aAAa;QACvB,OAAO;YACH,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YACzC,sBAAsB,EAAE;gBACpB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;gBAC5C,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;gBACxC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa;gBACjE,WAAW,EAAE,KAAK;aACrB;SACJ,CAAA;IACL,CAAC;CACJ","sourcesContent":["import EdaManagerAbstractPanel, {\r\n EdaManagerAbstractPanelProps,\r\n EdaManagerAbstractPanelState,\r\n EdaManagerFilter\r\n} from \"../abstract/edaManagerAbstractPanel\";\r\nimport * as FlexLayout from \"flexlayout-react\";\r\nimport {edaManagerCompactLayoutModel} from \"./initialLayout\";\r\nimport {EdaVector, EdaStepEnum} from \"../../../../api/edaApi\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport isEqual from \"lodash/isEqual\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\n\r\ninterface Props extends EdaManagerAbstractPanelProps {\r\n initialArchiveValues?: string[]\r\n initialVectors?: EdaVector[]\r\n initialTimeFrom: dayjs.Dayjs | null\r\n initialTimeTo: dayjs.Dayjs | null\r\n initialStep?: EdaStepEnum\r\n}\r\n\r\ninterface State extends EdaManagerAbstractPanelState {\r\n}\r\n\r\nexport default class EdaManagerCompactPanel extends EdaManagerAbstractPanel<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n layoutModel: FlexLayout.Model.fromJson(edaManagerCompactLayoutModel()),\r\n ...this.initialState,\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<Props>) {\r\n if (!isEqual(prevProps.initialVectors, this.props.initialVectors) || !isEqual(prevProps.initialArchiveValues, this.props.initialArchiveValues) || !isEqual(prevProps.initialTimeFrom, this.props.initialTimeFrom) || !isEqual(prevProps.initialTimeTo, this.props.initialTimeTo) || prevProps.initialStep !== this.props.initialStep) {\r\n const currentFilter = this.state.currentFilter;\r\n currentFilter.currentArchiveValues = this.props.initialArchiveValues;\r\n currentFilter.currentVectors = this.props.initialVectors;\r\n currentFilter.timePanelConfiguration.selectedTimeFrom = this.props.initialTimeFrom;\r\n currentFilter.timePanelConfiguration.selectedTimeTo = this.props.initialTimeTo;\r\n currentFilter.timePanelConfiguration.selectedStep = this.props.initialStep ?? EdaStepEnum.DEFAULT_VALUE;\r\n\r\n this.setState({\r\n loadedVectors: [],\r\n loadedCalendarVector: [],\r\n currentFilter: currentFilter,\r\n loadedDataFilter: cloneDeep(currentFilter),\r\n }, () => {\r\n if (this.state.currentFilter.timePanelConfiguration.autoRefresh) {\r\n this.onLoadVectors();\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected get edaManagerChartPanelCompact(): boolean {\r\n return true;\r\n }\r\n\r\n protected get tabWrapperStyle(): React.CSSProperties {\r\n return {padding: \"8px 0px 0px\"};\r\n }\r\n\r\n protected get initialFilter(): EdaManagerFilter {\r\n return {\r\n currentArchiveValues: this.props.initialArchiveValues,\r\n currentVectors: this.props.initialVectors,\r\n timePanelConfiguration: {\r\n selectedTimeFrom: this.props.initialTimeFrom,\r\n selectedTimeTo: this.props.initialTimeTo,\r\n selectedStep: this.props.initialStep ?? EdaStepEnum.DEFAULT_VALUE,\r\n autoRefresh: false,\r\n }\r\n }\r\n }\r\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaVectorDetailTablePanel.js","sourceRoot":"","sources":["../../../../../../../coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,4BAGN,MAAM,6CAA6C,CAAC;AAErD,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAGpC,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,4BAA0C;IAC7F,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;IAEO,aAAa,CAAC,IAAsB;QACxC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAES,WAAW,CAAC,IAAsB;QACxC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAsBD,aAAa;QACT,OAAO;YACH,IAAI,CAAC,iBAAiB,EAAE;YACxB;gBACI,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"edaVectorDetailTablePanel.js","sourceRoot":"","sources":["../../../../../../../coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,4BAGN,MAAM,6CAA6C,CAAC;AAErD,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAGpC,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAStD,MAAM,CAAC,OAAO,OAAO,yBAA0B,SAAQ,4BAA0C;IAC7F,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;IAEO,aAAa,CAAC,IAAsB;QACxC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;IACnC,CAAC;IAES,WAAW,CAAC,IAAsB;QACxC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,CAAC;QACxC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAsBD,aAAa;QACT,OAAO;YACH,IAAI,CAAC,iBAAiB,EAAE;YACxB;gBACI,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,cAAe,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBACpD,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,CAAC,YAAY,CAAC;gBACpB,YAAY,EAAE,GAAG;gBACjB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,CAAC,MAAW,EAAE,EAAE;oBAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAwB,CAAC;oBAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;oBAChC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;oBACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACxC,MAAM,KAAK,GAAG,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3D,OAAO,8BAAM,KAAK,EAAE,KAAK,IAAG,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC,CAAQ,CAAC;oBACpF,CAAC;yBAAM,CAAC;wBACJ,OAAO,EAAE,CAAC;oBACd,CAAC;gBACL,CAAC;gBACD,kBAAkB,EAAE,GAAG,EAAE;oBACrB,OAAO;wBACH,SAAS,EAAE,kBAAkB;wBAC7B,MAAM,EAAE;4BACJ,gBAAgB,EAAE,GAAG;yBACxB;qBACJ,CAAA;gBACL,CAAC;gBACD,WAAW,EAAE,MAAM,CAAC,EAAE;oBAClB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAwB,CAAC;oBAC7C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;oBAEnE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAEtB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,qBAAqB,EAAE,IAAI;gBAC3B,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;aAC/B;SACJ,CAAC;IACN,CAAC;CAEJ","sourcesContent":["import React from \"react\";\r\nimport EdaManagerAbstractTablePanel, {\r\n EdaManagerAbstractTablePanelProps,\r\n EdaManagerAbstractTablePanelState\r\n} from \"../../abstract/edaManagerAbstractTablePanel\";\r\nimport {DataGridColDef} from \"d2coreui/components/grid/dataGrid\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaManagerRecord} from \"../../../../../api/edaApi\";\r\nimport {GridRowStyle} from \"d2coreui/components/grid/cell/tableDefaultRowStyleRules\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\n\r\ninterface Props extends EdaManagerAbstractTablePanelProps {\r\n onChange(): void\r\n}\r\n\r\ninterface State extends EdaManagerAbstractTablePanelState {\r\n}\r\n\r\nexport default class EdaVectorDetailTablePanel extends EdaManagerAbstractTablePanel<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n ...this.initialState\r\n }\r\n }\r\n\r\n private isDataChanged(data: EdaManagerRecord): boolean {\r\n return data.col0 !== data.col1;\r\n }\r\n\r\n protected getRowStyle(data: EdaManagerRecord): GridRowStyle | undefined {\r\n if (this.isDataChanged(data)) {\r\n return {backgroundColor: \"#f4ffb8\"};\r\n }\r\n return undefined;\r\n }\r\n\r\n // protected renderContextMenu(originalMenuItems: MenuElement[]): MenuElement[] {\r\n // console.log(\"XX\", this.state.selectedData);\r\n //\r\n // return [\r\n // <Menu.Item key=\"revertCell\" icon={<UndoMenuIcon/>} disabled={false}>\r\n // {i18n(\"Revert Changes\")}\r\n // </Menu.Item>,\r\n // <Menu.Divider/>,\r\n // <Menu.SubMenu key=\"exportSubMenu\" icon={<DownloadOutlined/>} title={i18n(\"Export\")}>\r\n // {originalMenuItems}\r\n // </Menu.SubMenu>\r\n // ];\r\n // }\r\n //\r\n // protected onClickContextMenuItem(key: string) {\r\n // if (key === \"setNull\") {\r\n //\r\n // }\r\n // }\r\n\r\n getColumnDefs(): DataGridColDef[] {\r\n return [\r\n this.getDateTimeColumn(),\r\n {\r\n headerName: this.props.currentVectors![1].name ?? \"\",\r\n colId: \"col1\",\r\n field: \"col1\",\r\n type: [\"alignRight\"],\r\n initialWidth: 140,\r\n editable: true,\r\n cellRenderer: (params: any) => {\r\n const data = params.data as EdaManagerRecord;\r\n const originalValue = data.col0;\r\n const value = data.col1;\r\n if (value !== undefined && value !== null) {\r\n const title = originalValue !== value ? originalValue : \"\";\r\n return <span title={title}>{LocaleHolder.formatNumber(value, 13, false)}</span>;\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n cellEditorSelector: () => {\r\n return {\r\n component: \"numberCellEditor\",\r\n params: {\r\n decimalSeparator: \",\"\r\n }\r\n }\r\n },\r\n valueSetter: params => {\r\n const data = params.data as EdaManagerRecord;\r\n data.col1 = params.newValue !== null ? params.newValue : undefined;\r\n\r\n this.props.onChange();\r\n\r\n return true;\r\n },\r\n enableCellChangeFlash: true,\r\n group: i18n(\"Basic Columns\"),\r\n }\r\n ];\r\n }\r\n\r\n}"]}
|
|
@@ -3,7 +3,7 @@ import { DataGridColDef } from "d2coreui/components/grid/dataGrid";
|
|
|
3
3
|
import { EdaApi, EdaManagerRecord, EdaVector } from "../../../../api/edaApi";
|
|
4
4
|
import EdaManagerAbstractTablePanel, { EdaManagerAbstractTablePanelProps, EdaManagerAbstractTablePanelState } from "../abstract/edaManagerAbstractTablePanel";
|
|
5
5
|
interface Props extends EdaManagerAbstractTablePanelProps {
|
|
6
|
-
edaApi
|
|
6
|
+
edaApi?: EdaApi;
|
|
7
7
|
timePanel?: React.ReactElement;
|
|
8
8
|
onReloadVectorData(code: string): void;
|
|
9
9
|
}
|
|
@@ -14,6 +14,8 @@ interface State extends EdaManagerAbstractTablePanelState {
|
|
|
14
14
|
}
|
|
15
15
|
export default class EdaManagerTablePanel extends EdaManagerAbstractTablePanel<Props, State> {
|
|
16
16
|
constructor(props: Readonly<Props>);
|
|
17
|
+
private getColumnDefsForEdaVectors;
|
|
18
|
+
private getColumnDefsForArchiveValues;
|
|
17
19
|
getColumnDefs(): DataGridColDef[];
|
|
18
20
|
private renderEdaVectorDetailModalDialog;
|
|
19
21
|
protected renderToolbarButtons(): React.ReactElement<any, string | React.JSXElementConstructor<any>> | undefined;
|
|
@@ -14,50 +14,74 @@ export default class EdaManagerTablePanel extends EdaManagerAbstractTablePanel {
|
|
|
14
14
|
...this.initialState
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
+
getColumnDefsForEdaVectors() {
|
|
18
|
+
return this.props.currentVectors?.map((vector, index) => {
|
|
19
|
+
return {
|
|
20
|
+
headerName: vector.name ?? "",
|
|
21
|
+
colId: vector.code ?? "",
|
|
22
|
+
field: `col${index}`,
|
|
23
|
+
type: ["numberColumn", "alignRight"],
|
|
24
|
+
cellRenderer: (params) => {
|
|
25
|
+
const value = params.value;
|
|
26
|
+
if (value !== undefined && value !== null) {
|
|
27
|
+
return LocaleHolder.formatNumber(value, 6, false);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return "";
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
initialWidth: 140,
|
|
34
|
+
onCellDoubleClicked: (event) => {
|
|
35
|
+
const edaVectorForDetailPanel = cloneDeep(this.props.currentVectors.find(value => value.code === event.colDef.colId));
|
|
36
|
+
const vectorToEdit = cloneDeep(edaVectorForDetailPanel);
|
|
37
|
+
edaVectorForDetailPanel.name = i18n("Original Data");
|
|
38
|
+
vectorToEdit.code += "-edited";
|
|
39
|
+
if (vectorToEdit.colorIndex !== undefined) {
|
|
40
|
+
vectorToEdit.colorIndex++;
|
|
41
|
+
}
|
|
42
|
+
this.setState({
|
|
43
|
+
edaVectorDetailModalVisible: true,
|
|
44
|
+
edaVectorsForDetailPanel: [edaVectorForDetailPanel, vectorToEdit],
|
|
45
|
+
loadedVectorDataForDetailPanel: this.props.loadedVectors.map(value => {
|
|
46
|
+
return {
|
|
47
|
+
id: value.id,
|
|
48
|
+
date: value.date,
|
|
49
|
+
col0: value[event.colDef.field],
|
|
50
|
+
col1: value[event.colDef.field],
|
|
51
|
+
};
|
|
52
|
+
})
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
group: i18n("Basic Columns"),
|
|
56
|
+
};
|
|
57
|
+
}) ?? [];
|
|
58
|
+
}
|
|
59
|
+
getColumnDefsForArchiveValues() {
|
|
60
|
+
return this.props.currentArchiveValues?.map((value, index) => {
|
|
61
|
+
return {
|
|
62
|
+
headerName: value,
|
|
63
|
+
colId: value,
|
|
64
|
+
field: `col${index}`,
|
|
65
|
+
type: ["numberColumn", "alignRight"],
|
|
66
|
+
cellRenderer: (params) => {
|
|
67
|
+
const value = params.value;
|
|
68
|
+
if (value !== undefined && value !== null) {
|
|
69
|
+
return LocaleHolder.formatNumber(value, 6, false);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
return "";
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
initialWidth: 140,
|
|
76
|
+
group: i18n("Basic Columns"),
|
|
77
|
+
};
|
|
78
|
+
}) ?? [];
|
|
79
|
+
}
|
|
17
80
|
getColumnDefs() {
|
|
18
81
|
return [
|
|
19
82
|
this.getDateTimeColumn(),
|
|
20
|
-
...this.
|
|
21
|
-
|
|
22
|
-
return {
|
|
23
|
-
headerName: vector.name ?? "",
|
|
24
|
-
colId: vector.code ?? "",
|
|
25
|
-
field: `col${index}`,
|
|
26
|
-
type: ["numberColumn", "alignRight"],
|
|
27
|
-
cellRenderer: (params) => {
|
|
28
|
-
const value = params.value;
|
|
29
|
-
if (value !== undefined && value !== null) {
|
|
30
|
-
return LocaleHolder.formatNumber(value, 6, false);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
return "";
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
initialWidth: 140,
|
|
37
|
-
onCellDoubleClicked: (event) => {
|
|
38
|
-
const edaVectorForDetailPanel = cloneDeep(this.props.currentVectors.find(value => value.code === event.colDef.colId));
|
|
39
|
-
const vectorToEdit = cloneDeep(edaVectorForDetailPanel);
|
|
40
|
-
edaVectorForDetailPanel.name = i18n("Original Data");
|
|
41
|
-
vectorToEdit.code += "-edited";
|
|
42
|
-
if (vectorToEdit.colorIndex !== undefined) {
|
|
43
|
-
vectorToEdit.colorIndex++;
|
|
44
|
-
}
|
|
45
|
-
this.setState({
|
|
46
|
-
edaVectorDetailModalVisible: true,
|
|
47
|
-
edaVectorsForDetailPanel: [edaVectorForDetailPanel, vectorToEdit],
|
|
48
|
-
loadedVectorDataForDetailPanel: this.props.loadedVectors.map(value => {
|
|
49
|
-
return {
|
|
50
|
-
id: value.id,
|
|
51
|
-
date: value.date,
|
|
52
|
-
col0: value[event.colDef.field],
|
|
53
|
-
col1: value[event.colDef.field],
|
|
54
|
-
};
|
|
55
|
-
})
|
|
56
|
-
});
|
|
57
|
-
},
|
|
58
|
-
group: i18n("Basic Columns"),
|
|
59
|
-
};
|
|
60
|
-
})
|
|
83
|
+
...this.getColumnDefsForEdaVectors(),
|
|
84
|
+
...this.getColumnDefsForArchiveValues(),
|
|
61
85
|
];
|
|
62
86
|
}
|
|
63
87
|
renderEdaVectorDetailModalDialog() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManagerTablePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/components/edaManagerTablePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAGpC,OAAO,0BAA0B,MAAM,qCAAqC,CAAC;AAC7E,OAAO,4BAGN,MAAM,0CAA0C,CAAC;AAClD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAetD,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,4BAA0C;IACxF,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,2BAA2B,EAAE,KAAK;YAClC,wBAAwB,EAAE,EAAE;YAC5B,8BAA8B,EAAE,EAAE;YAClC,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;
|
|
1
|
+
{"version":3,"file":"edaManagerTablePanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/components/edaManagerTablePanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {DataGridColDef} from \"d2coreui/components/grid/dataGrid\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaApi, EdaManagerRecord, EdaVector} from \"../../../../api/edaApi\";\r\nimport {CellDoubleClickedEvent} from \"ag-grid-community\";\r\nimport EdaVectorDetailModalDialog from \"./detail/edaVectorDetailModalDialog\";\r\nimport EdaManagerAbstractTablePanel, {\r\n EdaManagerAbstractTablePanelProps,\r\n EdaManagerAbstractTablePanelState\r\n} from \"../abstract/edaManagerAbstractTablePanel\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\n\r\ninterface Props extends EdaManagerAbstractTablePanelProps {\r\n edaApi?: EdaApi\r\n timePanel?: React.ReactElement\r\n\r\n onReloadVectorData(code: string): void\r\n}\r\n\r\ninterface State extends EdaManagerAbstractTablePanelState {\r\n edaVectorDetailModalVisible: boolean\r\n edaVectorsForDetailPanel: EdaVector[]\r\n loadedVectorDataForDetailPanel: EdaManagerRecord[],\r\n}\r\n\r\nexport default class EdaManagerTablePanel extends EdaManagerAbstractTablePanel<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n edaVectorDetailModalVisible: false,\r\n edaVectorsForDetailPanel: [],\r\n loadedVectorDataForDetailPanel: [],\r\n ...this.initialState\r\n }\r\n }\r\n\r\n private getColumnDefsForEdaVectors(): DataGridColDef[] {\r\n return this.props.currentVectors?.map((vector, index) => {\r\n return {\r\n headerName: vector.name ?? \"\",\r\n colId: vector.code ?? \"\",\r\n field: `col${index}`,\r\n type: [\"numberColumn\", \"alignRight\"],\r\n cellRenderer: (params: any): string => {\r\n const value = params.value;\r\n if (value !== undefined && value !== null) {\r\n return LocaleHolder.formatNumber(value, 6, false);\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n initialWidth: 140,\r\n onCellDoubleClicked: (event: CellDoubleClickedEvent) => {\r\n const edaVectorForDetailPanel = cloneDeep(this.props.currentVectors!.find(value => value.code === event.colDef.colId)!);\r\n const vectorToEdit = cloneDeep(edaVectorForDetailPanel);\r\n\r\n edaVectorForDetailPanel.name = i18n(\"Original Data\");\r\n\r\n vectorToEdit.code += \"-edited\";\r\n if (vectorToEdit.colorIndex !== undefined) {\r\n vectorToEdit.colorIndex++;\r\n }\r\n\r\n this.setState({\r\n edaVectorDetailModalVisible: true,\r\n edaVectorsForDetailPanel: [edaVectorForDetailPanel, vectorToEdit],\r\n loadedVectorDataForDetailPanel: this.props.loadedVectors.map(value => {\r\n return {\r\n id: value.id,\r\n date: value.date,\r\n col0: value[event.colDef.field!],\r\n col1: value[event.colDef.field!],\r\n };\r\n })\r\n });\r\n },\r\n group: i18n(\"Basic Columns\"),\r\n }\r\n }) ?? []\r\n }\r\n\r\n private getColumnDefsForArchiveValues(): DataGridColDef[] {\r\n return this.props.currentArchiveValues?.map((value, index) => {\r\n return {\r\n headerName: value,\r\n colId: value,\r\n field: `col${index}`,\r\n type: [\"numberColumn\", \"alignRight\"],\r\n cellRenderer: (params: any): string => {\r\n const value = params.value;\r\n if (value !== undefined && value !== null) {\r\n return LocaleHolder.formatNumber(value, 6, false);\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n initialWidth: 140,\r\n group: i18n(\"Basic Columns\"),\r\n }\r\n }) ?? []\r\n }\r\n\r\n\r\n getColumnDefs(): DataGridColDef[] {\r\n return [\r\n this.getDateTimeColumn(),\r\n ...this.getColumnDefsForEdaVectors(),\r\n ...this.getColumnDefsForArchiveValues(),\r\n ]\r\n }\r\n\r\n private renderEdaVectorDetailModalDialog() {\r\n return (\r\n <EdaVectorDetailModalDialog\r\n edaApi={this.props.edaApi!}\r\n visible={this.state.edaVectorDetailModalVisible}\r\n onCancel={() => this.setState({edaVectorDetailModalVisible: false})}\r\n edaVectors={this.state.edaVectorsForDetailPanel}\r\n loadedVectorData={this.state.loadedVectorDataForDetailPanel}\r\n onReloadVectorData={() => {\r\n this.props.onReloadVectorData(this.state.edaVectorsForDetailPanel[0]?.code ?? \"\");\r\n this.setState({\r\n edaVectorDetailModalVisible: false,\r\n edaVectorsForDetailPanel: [],\r\n loadedVectorDataForDetailPanel: [],\r\n });\r\n }}\r\n />\r\n );\r\n }\r\n\r\n protected renderToolbarButtons() {\r\n return this.props.timePanel;\r\n }\r\n\r\n protected renderAdditionalContent(): React.ReactNode | undefined {\r\n return this.renderEdaVectorDetailModalDialog()\r\n }\r\n\r\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManagerPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/panel/edaManagerPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,uBAGN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,oBAAoB,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAC;AAU7D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,uBAAqC;IAC9E,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;YACtE,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;IAES,iBAAiB,CAAC,IAAwB;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CACH,oBAAC,oBAAoB,IACjB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"edaManagerPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/panel/edaManagerPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,uBAGN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,oBAAoB,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAC;AAU7D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,uBAAqC;IAC9E,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;YACtE,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;IAES,iBAAiB,CAAC,IAAwB;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,CACH,oBAAC,oBAAoB,IACjB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAO,EAC1B,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC/C,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,cAAe,EACxD,QAAQ,EAAE,GAAG,EAAE;oBACX,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAC,EAAE,GAAG,EAAE;wBAC1D,IAAI,CAAC,UAAU,EAAE,CAAC;oBACtB,CAAC,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;wBAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;oBACzB,CAAC;gBACL,CAAC,GACH,CACL,CAAA;QACL,CAAC;QACD,OAAO,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,mBAAmB;QACf,OAAO,4BAA4B,CAAC;IACxC,CAAC;CAEJ","sourcesContent":["import React from \"react\";\r\nimport EdaManagerAbstractPanel, {\r\n EdaManagerAbstractPanelProps,\r\n EdaManagerAbstractPanelState\r\n} from \"../abstract/edaManagerAbstractPanel\";\r\nimport * as FlexLayout from \"flexlayout-react\";\r\nimport EdaManagerVectorList from \"../components/edaManagerVectorList\";\r\nimport {edaManagerInitialLayoutModel} from \"./initialLayout\";\r\nimport {AdvancedFilterApi} from \"../../../../api/advancedFilterApi\";\r\n\r\ninterface Props extends EdaManagerAbstractPanelProps {\r\n advancedFilterApi: AdvancedFilterApi\r\n}\r\n\r\ninterface State extends EdaManagerAbstractPanelState {\r\n}\r\n\r\nexport default class EdaManagerPanel extends EdaManagerAbstractPanel<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n layoutModel: FlexLayout.Model.fromJson(edaManagerInitialLayoutModel()),\r\n ...this.initialState,\r\n }\r\n }\r\n\r\n protected flexLayoutFactory(node: FlexLayout.TabNode): React.ReactNode {\r\n const component = node.getComponent();\r\n if (component === \"vectors\") {\r\n return (\r\n <EdaManagerVectorList\r\n edaApi={this.props.edaApi!}\r\n advancedFilterApi={this.props.advancedFilterApi}\r\n currentVectors={this.state.currentFilter.currentVectors!}\r\n onChange={() => {\r\n this.setState({currentFilter: this.state.currentFilter}, () => {\r\n this.saveFilter();\r\n });\r\n\r\n if (this.state.currentFilter.timePanelConfiguration.autoRefresh) {\r\n this.onLoadVectors();\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n return super.flexLayoutFactory(node);\r\n }\r\n\r\n getFilterNameToSave(): string {\r\n return \"eda-manager-current-filter\";\r\n }\r\n\r\n}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "d2aura",
|
|
3
|
-
"version": "23.0.
|
|
3
|
+
"version": "23.0.54",
|
|
4
4
|
"description": "D2 AURA - Advanced User Interface Resource Architecture",
|
|
5
5
|
"author": "Ipesoft s.r.o.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"antd": "5.21.2",
|
|
44
44
|
"d2core": "23.0.15",
|
|
45
45
|
"d2coreui": "23.0.25",
|
|
46
|
-
"d2jsapi": "21.0.
|
|
46
|
+
"d2jsapi": "21.0.31",
|
|
47
47
|
"echarts": "5.5.1",
|
|
48
48
|
"echarts-for-react": "3.0.2",
|
|
49
49
|
"file-saver": "2.0.5",
|