d2aura 26.0.8 → 26.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/eda/edaManagerApi.d.ts +26 -0
- package/api/eda/edaManagerApi.js +51 -0
- package/api/eda/edaManagerApi.js.map +1 -0
- package/api/eda/generated/events.d.ts +132 -0
- package/api/eda/generated/events.js +295 -0
- package/api/eda/generated/events.js.map +1 -0
- package/api/eda/generated/structures.d.ts +109 -0
- package/api/eda/generated/structures.js +2 -0
- package/api/eda/generated/structures.js.map +1 -0
- package/api/webPush/webPushApi.js.map +1 -1
- package/api/webPush/webPushUtils.js.map +1 -1
- package/core/i18n/d2aura.en.json +40 -1
- package/core/i18n/d2aura.sk.json +87 -1
- package/coreui/components/advancedFilter/advancedFilteredGrid.d.ts +1 -0
- package/coreui/components/advancedFilter/advancedFilteredGrid.js +5 -0
- package/coreui/components/advancedFilter/advancedFilteredGrid.js.map +1 -1
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.d.ts +3 -2
- package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js +3 -3
- 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 +7 -1
- package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js.map +1 -1
- package/coreui/components/edaManager/components/edaManagerTablePanel.js +3 -2
- package/coreui/components/edaManager/components/edaManagerTablePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaBasePanel.d.ts +16 -0
- package/coreui/components/edaManagerComponent/components/edaBasePanel.js +85 -0
- package/coreui/components/edaManagerComponent/components/edaBasePanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.d.ts +43 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +217 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.d.ts +16 -0
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +25 -0
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.d.ts +7 -0
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +393 -0
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.d.ts +18 -0
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js +72 -0
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.d.ts +29 -0
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js +94 -0
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.d.ts +18 -0
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js +86 -0
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaTablePanel.d.ts +4 -0
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js +73 -0
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.d.ts +34 -0
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +202 -0
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +61 -0
- package/coreui/components/edaManagerComponent/components/edaTreeView.js +399 -0
- package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.d.ts +20 -0
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +162 -0
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +78 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.js +71 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -0
- package/coreui/components/edaManagerComponent/constants/storageTypes.d.ts +5 -0
- package/coreui/components/edaManagerComponent/constants/storageTypes.js +7 -0
- package/coreui/components/edaManagerComponent/constants/storageTypes.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.d.ts +17 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js +3 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.d.ts +6 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js +14 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeWrapper.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaDetail.d.ts +45 -0
- package/coreui/components/edaManagerComponent/edaDetail.js +173 -0
- package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaManager.d.ts +20 -0
- package/coreui/components/edaManagerComponent/edaManager.js +33 -0
- package/coreui/components/edaManagerComponent/edaManager.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaNavigator.d.ts +19 -0
- package/coreui/components/edaManagerComponent/edaNavigator.js +64 -0
- package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaSelect.d.ts +10 -0
- package/coreui/components/edaManagerComponent/edaSelect.js +9 -0
- package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterCFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterCFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterCFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterDFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterDFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterDFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterHFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterHFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterHFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterIFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterIFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterIFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/letterMFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/letterMFilled.js +6 -0
- package/coreui/components/edaManagerComponent/icons/letterMFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.js +7 -0
- package/coreui/components/edaManagerComponent/icons/numberFifteenFilled.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/pairOutlined.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/pairOutlined.js +6 -0
- package/coreui/components/edaManagerComponent/icons/pairOutlined.js.map +1 -0
- package/coreui/components/edaManagerComponent/icons/periodicOutlined.d.ts +6 -0
- package/coreui/components/edaManagerComponent/icons/periodicOutlined.js +6 -0
- package/coreui/components/edaManagerComponent/icons/periodicOutlined.js.map +1 -0
- package/coreui/components/edaManagerComponent/utils/utils.d.ts +2 -0
- package/coreui/components/edaManagerComponent/utils/utils.js +8 -0
- package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -0
- package/coreui/components/select/abstractSelectModalDialog.d.ts +6 -1
- package/coreui/components/select/abstractSelectModalDialog.js +21 -10
- package/coreui/components/select/abstractSelectModalDialog.js.map +1 -1
- package/coreui/components/webPush/webPushSwitch.js.map +1 -1
- package/coreui/images/logo.svg +9 -9
- package/coreui/images/logo_full.svg +11 -11
- package/d2configuration/edaManager/DB.EM_EDA_Function.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_GroupVector.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_Scenario.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_Vector.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_VectorEx.xml +65 -0
- package/d2configuration/edaManager/DBC_EM_EDA.xml +51 -0
- package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +124 -0
- package/d2configuration/edaManager/E.EM_DETAIL_UNIT.xml +202 -0
- package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +160 -0
- package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +272 -0
- package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +346 -0
- package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +92 -0
- package/d2configuration/edaManager/E.EM_VECTOR_MANAGER.xml +116 -0
- package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +124 -0
- package/d2configuration/edaManager/EDA_CancelSession.xml +54 -0
- package/d2configuration/edaManager/EDA_GetSessionId.xml +54 -0
- package/d2configuration/edaManager/EDA_ReadValuesFromVektorRec.xml +54 -0
- package/d2configuration/edaManager/SD.EM_EDA_Function.xml +135 -0
- package/d2configuration/edaManager/SD.EM_EDA_GroupVector.xml +190 -0
- package/d2configuration/edaManager/SD.EM_EDA_ReadValuesFromVector_V1.xml +168 -0
- package/d2configuration/edaManager/SD.EM_EDA_Scenario.xml +322 -0
- package/d2configuration/edaManager/SD.EM_EDA_Vector.xml +465 -0
- package/d2configuration/edaManager/SD.EM_EDA_VectorEx.xml +80 -0
- package/d2configuration/edaManager/SD.EM_EDA_VectorValues.xml +58 -0
- package/d2configuration/edaManager/SD.EM_Tree_Item.xml +113 -0
- package/package.json +7 -5
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { UnixTime } from "d2core/types/unixTime";
|
|
2
|
+
export interface SD_EM_EDA_VectorValues {
|
|
3
|
+
Value: number;
|
|
4
|
+
}
|
|
5
|
+
export interface SD_EM_EDA_Scenario {
|
|
6
|
+
ID_SCENAR: number;
|
|
7
|
+
EDA_ID_SCENAR: number;
|
|
8
|
+
MENO: string;
|
|
9
|
+
POPIS: string;
|
|
10
|
+
IDX: number;
|
|
11
|
+
CAS_DLZKA: number;
|
|
12
|
+
CAS_POSUN: number;
|
|
13
|
+
CAS_JEMNOST: number;
|
|
14
|
+
AUTOR: string;
|
|
15
|
+
PRIVATE: number;
|
|
16
|
+
PRIST_PRAVA_R: number;
|
|
17
|
+
PRIST_PRAVA_W: number;
|
|
18
|
+
CESTA: string;
|
|
19
|
+
FILTER: string;
|
|
20
|
+
FILTER_USER: string;
|
|
21
|
+
FILTER_TYP: number;
|
|
22
|
+
ZOBRAZ_MENO: string;
|
|
23
|
+
ANO_PLATNY: number;
|
|
24
|
+
DIAGRAM: number;
|
|
25
|
+
ANO_DIAGRAM: number;
|
|
26
|
+
ANO_EDITACIA: number;
|
|
27
|
+
ANO_ZMENA: number;
|
|
28
|
+
ANO_GRAFXY: number;
|
|
29
|
+
ANO_MATICA: number;
|
|
30
|
+
ANO_PAIR: number;
|
|
31
|
+
}
|
|
32
|
+
export interface SD_EM_Tree_Item {
|
|
33
|
+
ID: number;
|
|
34
|
+
ParentID: number;
|
|
35
|
+
Name: string;
|
|
36
|
+
Path: string;
|
|
37
|
+
DisplayName: string;
|
|
38
|
+
Type: number;
|
|
39
|
+
}
|
|
40
|
+
export interface SD_EM_EDA_VectorEx {
|
|
41
|
+
ID_VEKTOR: number;
|
|
42
|
+
DATE_IN: UnixTime;
|
|
43
|
+
DATE_CH: UnixTime;
|
|
44
|
+
}
|
|
45
|
+
export interface SD_EM_EDA_Vector {
|
|
46
|
+
ID_VEKTOR: number;
|
|
47
|
+
ID_SKVEKTOR: number;
|
|
48
|
+
ID_FUNKCIA: number;
|
|
49
|
+
MENO: string;
|
|
50
|
+
POPIS: string;
|
|
51
|
+
TECH_JEDNOTKY: string;
|
|
52
|
+
TYP_HODNOTY: number;
|
|
53
|
+
TYP: number;
|
|
54
|
+
DATA_OD: UnixTime;
|
|
55
|
+
DATA_DO: UnixTime;
|
|
56
|
+
AUTOR: string;
|
|
57
|
+
PRIVATE: number;
|
|
58
|
+
PRIST_PRAVA_R: number;
|
|
59
|
+
PRIST_PRAVA_W: number;
|
|
60
|
+
INTEGRAL: number;
|
|
61
|
+
ZOBRAZ_MENO: string;
|
|
62
|
+
ANO_PLATNY: number;
|
|
63
|
+
VIEW_ROUND: number;
|
|
64
|
+
EXEC_ROUND: number;
|
|
65
|
+
VIEW_DEC_PL: number;
|
|
66
|
+
EXEC_DEC_PL: number;
|
|
67
|
+
USER_CH: string;
|
|
68
|
+
MENOEX: string;
|
|
69
|
+
ID_TABLESPACE: number;
|
|
70
|
+
DATA_OFFSET: number;
|
|
71
|
+
TIME_ZONE: string;
|
|
72
|
+
VERSIONED_SINCE: UnixTime;
|
|
73
|
+
ARCHIVE_NAME: string;
|
|
74
|
+
ARCHIVE_ROW: number;
|
|
75
|
+
ARCHIVE_COL: number;
|
|
76
|
+
LOG_ACCESS: number;
|
|
77
|
+
STATUS_TEXT: string;
|
|
78
|
+
ID_MASTER_ENTITY: number;
|
|
79
|
+
INTERVAL_STABLE: number;
|
|
80
|
+
PERIOD_BEGIN_TIME: UnixTime;
|
|
81
|
+
PERIOD_STEP_BASE: number;
|
|
82
|
+
PERIOD_STEP_COUNT: number;
|
|
83
|
+
ID_VALIDATOR: number;
|
|
84
|
+
}
|
|
85
|
+
export interface SD_EM_EDA_Function {
|
|
86
|
+
ID_VEKTOR: number;
|
|
87
|
+
TYP: number;
|
|
88
|
+
PERIODA: number;
|
|
89
|
+
POSUN: number;
|
|
90
|
+
PREPOCIT: number;
|
|
91
|
+
PREDV_OD: UnixTime;
|
|
92
|
+
PREDV_DO: UnixTime;
|
|
93
|
+
PRECALC_RQ: number;
|
|
94
|
+
}
|
|
95
|
+
export interface SD_EM_EDA_GroupVector {
|
|
96
|
+
ID_SKVEKTOR: number;
|
|
97
|
+
EDA_ID_SKVEKTOR: number;
|
|
98
|
+
MENO: string;
|
|
99
|
+
POPIS: string;
|
|
100
|
+
AUTOR: string;
|
|
101
|
+
PRIST_PRAVA_R: number;
|
|
102
|
+
PRIST_PRAVA_W: number;
|
|
103
|
+
CESTA: string;
|
|
104
|
+
ANO_PLATNY: number;
|
|
105
|
+
ZOBRAZ_MENO: string;
|
|
106
|
+
PRIVATE: number;
|
|
107
|
+
USERINPUTFLAG: number;
|
|
108
|
+
ANO_PAIR: number;
|
|
109
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structures.js","sourceRoot":"","sources":["../../../../../api/eda/generated/structures.ts"],"names":[],"mappings":"","sourcesContent":["/******************************************************\r\n * THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT! *\r\n ******************************************************/\r\n\r\n// @ts-ignore\r\nimport {UnixTime} from \"d2core/types/unixTime\";\r\n\r\nexport interface SD_EM_EDA_VectorValues {\r\n Value: number;\r\n}\r\n\r\nexport interface SD_EM_EDA_Scenario {\r\n ID_SCENAR: number;\r\n EDA_ID_SCENAR: number;\r\n MENO: string;\r\n POPIS: string;\r\n IDX: number;\r\n CAS_DLZKA: number;\r\n CAS_POSUN: number;\r\n CAS_JEMNOST: number;\r\n AUTOR: string;\r\n PRIVATE: number;\r\n PRIST_PRAVA_R: number;\r\n PRIST_PRAVA_W: number;\r\n CESTA: string;\r\n FILTER: string;\r\n FILTER_USER: string;\r\n FILTER_TYP: number;\r\n ZOBRAZ_MENO: string;\r\n ANO_PLATNY: number;\r\n DIAGRAM: number;\r\n ANO_DIAGRAM: number;\r\n ANO_EDITACIA: number;\r\n ANO_ZMENA: number;\r\n ANO_GRAFXY: number;\r\n ANO_MATICA: number;\r\n ANO_PAIR: number;\r\n}\r\n\r\nexport interface SD_EM_Tree_Item {\r\n ID: number;\r\n ParentID: number;\r\n Name: string;\r\n Path: string;\r\n DisplayName: string;\r\n Type: number;\r\n}\r\n\r\nexport interface SD_EM_EDA_VectorEx {\r\n ID_VEKTOR: number;\r\n DATE_IN: UnixTime;\r\n DATE_CH: UnixTime;\r\n}\r\n\r\nexport interface SD_EM_EDA_Vector {\r\n ID_VEKTOR: number;\r\n ID_SKVEKTOR: number;\r\n ID_FUNKCIA: number;\r\n MENO: string;\r\n POPIS: string;\r\n TECH_JEDNOTKY: string;\r\n TYP_HODNOTY: number;\r\n TYP: number;\r\n DATA_OD: UnixTime;\r\n DATA_DO: UnixTime;\r\n AUTOR: string;\r\n PRIVATE: number;\r\n PRIST_PRAVA_R: number;\r\n PRIST_PRAVA_W: number;\r\n INTEGRAL: number;\r\n ZOBRAZ_MENO: string;\r\n ANO_PLATNY: number;\r\n VIEW_ROUND: number;\r\n EXEC_ROUND: number;\r\n VIEW_DEC_PL: number;\r\n EXEC_DEC_PL: number;\r\n USER_CH: string;\r\n MENOEX: string;\r\n ID_TABLESPACE: number;\r\n DATA_OFFSET: number;\r\n TIME_ZONE: string;\r\n VERSIONED_SINCE: UnixTime;\r\n ARCHIVE_NAME: string;\r\n ARCHIVE_ROW: number;\r\n ARCHIVE_COL: number;\r\n LOG_ACCESS: number;\r\n STATUS_TEXT: string;\r\n ID_MASTER_ENTITY: number;\r\n INTERVAL_STABLE: number;\r\n PERIOD_BEGIN_TIME: UnixTime;\r\n PERIOD_STEP_BASE: number;\r\n PERIOD_STEP_COUNT: number;\r\n ID_VALIDATOR: number;\r\n}\r\n\r\nexport interface SD_EM_EDA_Function {\r\n ID_VEKTOR: number;\r\n TYP: number;\r\n PERIODA: number;\r\n POSUN: number;\r\n PREPOCIT: number;\r\n PREDV_OD: UnixTime;\r\n PREDV_DO: UnixTime;\r\n PRECALC_RQ: number;\r\n}\r\n\r\nexport interface SD_EM_EDA_GroupVector {\r\n ID_SKVEKTOR: number;\r\n EDA_ID_SKVEKTOR: number;\r\n MENO: string;\r\n POPIS: string;\r\n AUTOR: string;\r\n PRIST_PRAVA_R: number;\r\n PRIST_PRAVA_W: number;\r\n CESTA: string;\r\n ANO_PLATNY: number;\r\n ZOBRAZ_MENO: string;\r\n PRIVATE: number;\r\n USERINPUTFLAG: number;\r\n ANO_PAIR: number;\r\n}\r\n\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webPushApi.js","sourceRoot":"","sources":["../../../../api/webPush/webPushApi.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAGzC,MAAM,OAAO,UAAW,SAAQ,WAAW;IAGvC,YAAY,KAAe;QACvB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAChC;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,mBAAmB;YAC5B,wBAAwB,EAAE,IAAI;SACjC,EACD,EAAC,IAAI,QAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAClD,CAAC;QAEF,OAAO,SAAS,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAA8B;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,OAAO,CACd;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,kBAAkB;SAC9B,EACD,YAAY,CAAC,QAAQ,EACrB,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAC5B,kBAAkB,CAAC,IAAI,CAAC,MAAM,CACjC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,YAA8B;QACnD,MAAM,IAAI,CAAC,OAAO,CACd;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,oBAAoB;SAChC,EACD,YAAY,CAAC,QAAQ,CACxB,CAAC;IACN,CAAC;CAEJ","sourcesContent":["import AbstractApi from \"../abstractApi\";\
|
|
1
|
+
{"version":3,"file":"webPushApi.js","sourceRoot":"","sources":["../../../../api/webPush/webPushApi.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAGzC,MAAM,OAAO,UAAW,SAAQ,WAAW;IAGvC,YAAY,KAAe;QACvB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAChC;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,mBAAmB;YAC5B,wBAAwB,EAAE,IAAI;SACjC,EACD,EAAC,IAAI,QAAqB,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAClD,CAAC;QAEF,OAAO,SAAS,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAA8B;QACjD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,OAAO,CACd;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,kBAAkB;SAC9B,EACD,YAAY,CAAC,QAAQ,EACrB,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAC5B,kBAAkB,CAAC,IAAI,CAAC,MAAM,CACjC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,YAA8B;QACnD,MAAM,IAAI,CAAC,OAAO,CACd;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,oBAAoB;SAChC,EACD,YAAY,CAAC,QAAQ,CACxB,CAAC;IACN,CAAC;CAEJ","sourcesContent":["import AbstractApi from \"../abstractApi\";\nimport {D2WebApi, UnivalTypeEnum} from \"d2jsapi\";\n\nexport class WebPushApi extends AbstractApi {\n private eventName: string;\n\n constructor(d2Api: D2WebApi) {\n super(d2Api);\n this.eventName = \"E.web_push\";\n }\n\n async getPublicVapidKey(): Promise<string> {\n const apiResult = await this.callRpc(\n {\n eventName: this.eventName,\n rpcName: \"getPublicVapidKey\",\n skipCheckErrorParameters: true\n },\n {type: UnivalTypeEnum.TEXT, returnAs: \"result\"},\n );\n\n return apiResult.result;\n }\n\n async saveSubscription(subscription: PushSubscription) {\n const subscriptionJson = JSON.stringify(subscription);\n const subscriptionObject = JSON.parse(subscriptionJson);\n\n await this.callRpc(\n {\n eventName: this.eventName,\n rpcName: \"saveSubscription\",\n },\n subscription.endpoint,\n subscriptionObject.keys.auth,\n subscriptionObject.keys.p256dh,\n );\n }\n\n async deleteSubscription(subscription: PushSubscription) {\n await this.callRpc(\n {\n eventName: this.eventName,\n rpcName: \"deleteSubscription\",\n },\n subscription.endpoint,\n );\n }\n\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webPushUtils.js","sourceRoot":"","sources":["../../../../api/webPush/webPushUtils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,YAAY;IAE7B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAsB;QACxC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;gBAC7C,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBACpD,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe;QACxB,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;YACzD,OAAO,MAAM,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ","sourcesContent":["import {WebPushApi} from \"./webPushApi\";\
|
|
1
|
+
{"version":3,"file":"webPushUtils.js","sourceRoot":"","sources":["../../../../api/webPush/webPushUtils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,YAAY;IAE7B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAsB;QACxC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;gBAC7C,IAAI,YAAY,EAAE,CAAC;oBACf,MAAM,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBACpD,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACzF,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,eAAe;QACxB,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;YACzD,OAAO,MAAM,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CAEJ","sourcesContent":["import {WebPushApi} from \"./webPushApi\";\n\nexport default class WebPushUtils {\n\n static async initPush(webPushApi: WebPushApi) {\n if (navigator.serviceWorker) {\n await navigator.serviceWorker.register(\"./push-worker.js\");\n this.getSubscription().then(async subscription => {\n if (subscription) {\n await webPushApi.saveSubscription(subscription);\n }\n })\n } else {\n console.warn(\"Service workers or Push API are not supported on this browser/origin\");\n }\n }\n\n static async getSubscription(): Promise<PushSubscription | null> {\n if (navigator.serviceWorker) {\n const registration = await navigator.serviceWorker.ready;\n return await registration.pushManager.getSubscription();\n }\n\n return null;\n }\n\n}"]}
|
package/core/i18n/d2aura.en.json
CHANGED
|
@@ -1,3 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
"Title[degree]": "Title"
|
|
2
|
+
"Title[degree]": "Title",
|
|
3
|
+
"Name[Title]": "Name",
|
|
4
|
+
"WholeInterval": "Whole Interval",
|
|
5
|
+
"EdaVectorType_FifteenMinutes": "15-minute",
|
|
6
|
+
"EdaVectorType_Hour": "Hourly",
|
|
7
|
+
"EdaVectorType_Day": "Daily",
|
|
8
|
+
"EdaVectorType_Descriptive": "Descriptive",
|
|
9
|
+
"EdaVectorType_Interval": "Interval",
|
|
10
|
+
"EdaVectorType_FifteenMinutesCalc": "Calculated 15-minute",
|
|
11
|
+
"EdaVectorType_HourCalc": "Calculated hourly",
|
|
12
|
+
"EdaVectorType_DayCalc": "Calculated daily",
|
|
13
|
+
"EdaVectorType_Change": "Change",
|
|
14
|
+
"EdaVectorType_ChangeCalc": "Calculated Change",
|
|
15
|
+
"EdaVectorType_Pair": "Pair",
|
|
16
|
+
"EdaVectorType_Periodic": "Periodic",
|
|
17
|
+
"EdaVectorType_PeriodicCalc": "Calculated periodic",
|
|
18
|
+
"EdaVectorType_Functional": "Calculated functional",
|
|
19
|
+
"EdaValueClassType_Value": "Value",
|
|
20
|
+
"EdaValueClassType_Integral": "Integral",
|
|
21
|
+
"EdaRoundingType_NoRounding": "Absolute precision",
|
|
22
|
+
"EdaRoundingType_RoundToNearest": "Standard rounding",
|
|
23
|
+
"EdaRoundingType_Ceiling": "Round up",
|
|
24
|
+
"EdaRoundingType_Floor": "Round down",
|
|
25
|
+
"EdaAccessType_Public": "Public",
|
|
26
|
+
"EdaAccessType_Private": "Private",
|
|
27
|
+
"EdaUserInputFlagType_FlagA": "Flag A",
|
|
28
|
+
"EdaUserInputFlagType_FlagB": "Flag B",
|
|
29
|
+
"EdaUserInputFlagType_FlagC": "Flag C",
|
|
30
|
+
"EdaUserInputFlagType_FlagD": "Flag D",
|
|
31
|
+
"EdaSamplingType_Changes": "Change of value",
|
|
32
|
+
"EdaSamplingType_Default": "Default value",
|
|
33
|
+
"EdaSamplingType_FifteenMinutes": "15-minute value",
|
|
34
|
+
"EdaSamplingType_Hour": "Hourly value",
|
|
35
|
+
"EdaSamplingType_Day": "Daily value",
|
|
36
|
+
"EdaSamplingType_Week": "Weekly value",
|
|
37
|
+
"EdaSamplingType_Month": "Monthly value",
|
|
38
|
+
"EdaSamplingType_Quarter": "Quarterly value",
|
|
39
|
+
"EdaSamplingType_HalfYear": "Half-yearly value",
|
|
40
|
+
"EdaSamplingType_Year": "Yearly value",
|
|
41
|
+
"EdaSamplingType_Season": "Seasonal value"
|
|
3
42
|
}
|
package/core/i18n/d2aura.sk.json
CHANGED
|
@@ -322,5 +322,91 @@
|
|
|
322
322
|
null,
|
|
323
323
|
"Odstrániť %n vektorov?"
|
|
324
324
|
]
|
|
325
|
-
]
|
|
325
|
+
],
|
|
326
|
+
"Vector Type": "Typ vektora",
|
|
327
|
+
"Vector Code Generation": "Generovať kód vektora",
|
|
328
|
+
"Record Validity Indication": "Indikácia platnosti záznamu",
|
|
329
|
+
"Name[Title]": "Názov",
|
|
330
|
+
"Value Class": "Určenie hodnoty",
|
|
331
|
+
"Units": "Tech. jednotky",
|
|
332
|
+
"Filter": "Filter",
|
|
333
|
+
"Rounding": "Zaokrúhľovanie",
|
|
334
|
+
"View": "Pohľad",
|
|
335
|
+
"Decimal Places": "Počet des. miest",
|
|
336
|
+
"Calculation": "Pre výpočet",
|
|
337
|
+
"Time Values": "Časové hodnoty",
|
|
338
|
+
"Creation Date": "Dátum vytvorenia",
|
|
339
|
+
"Last Modified Date": "Dátum poslednej zmeny",
|
|
340
|
+
"Validity From": "Platný od",
|
|
341
|
+
"Validity To": "Platný do",
|
|
342
|
+
"Pre-calc From": "Predpočet od",
|
|
343
|
+
"Pre-calc To": "Predpočet do",
|
|
344
|
+
"Other Info": "Ďalšie informácie",
|
|
345
|
+
"Tablespace": "Priestor",
|
|
346
|
+
"Validation": "Validácia",
|
|
347
|
+
"Time Zone": "Časová zóna",
|
|
348
|
+
"Data Offset": "Posun",
|
|
349
|
+
"Access Type": "Typ prístupu",
|
|
350
|
+
"Owner": "Vlastník",
|
|
351
|
+
"Parameters": "Parametre",
|
|
352
|
+
"Versioning": "Verzie",
|
|
353
|
+
"No data provided": "Nie sú dostupné žiadne informácie",
|
|
354
|
+
"Show %{n} more (of %{o})": "Zobraz ďalších %{n} (z %{o})",
|
|
355
|
+
"Graph": "Graf",
|
|
356
|
+
"Groups": "Skupiny",
|
|
357
|
+
"Scenarios": "Scenáre",
|
|
358
|
+
"Pair": "Párová",
|
|
359
|
+
"Path": "Cesta",
|
|
360
|
+
"Manual Access Flag": "Príznak ručného vstupu",
|
|
361
|
+
"Scenario Access Definition": "Prístup na zmenu definície scenára",
|
|
362
|
+
"Scenario Access Items": "Prístup k editácii položiek scenára",
|
|
363
|
+
"Loading": "Načítava sa",
|
|
364
|
+
"Vector Time": "Čas vektora",
|
|
365
|
+
"Hourly": "Hodinovo",
|
|
366
|
+
"Daily": "Denne",
|
|
367
|
+
"Weekly": "Týždenne",
|
|
368
|
+
"Monthly": "Mesačne",
|
|
369
|
+
"Yearly": "Ročne",
|
|
370
|
+
"WholeInterval": "Celý interval",
|
|
371
|
+
"Show Legend": "Zobraziť legendu",
|
|
372
|
+
"Zoom": "Lupa",
|
|
373
|
+
"Restore": "Obnoviť",
|
|
374
|
+
"Export as PNG": "Exportovať ako PNG obrázok",
|
|
375
|
+
"EdaVectorType_FifteenMinutes": "15 - minútový",
|
|
376
|
+
"EdaVectorType_Hour": "Hodinový",
|
|
377
|
+
"EdaVectorType_Day": "Denný",
|
|
378
|
+
"EdaVectorType_Descriptive": "Popisný",
|
|
379
|
+
"EdaVectorType_Interval": "Intervalový",
|
|
380
|
+
"EdaVectorType_FifteenMinutesCalc": "Vypočítaný 15 - minútový",
|
|
381
|
+
"EdaVectorType_HourCalc": "Vypočítaný hodinový",
|
|
382
|
+
"EdaVectorType_DayCalc": "Vypočítaný denný",
|
|
383
|
+
"EdaVectorType_Change": "Zmenový",
|
|
384
|
+
"EdaVectorType_ChangeCalc": "Vypočítaný zmenový",
|
|
385
|
+
"EdaVectorType_Pair": "Párový",
|
|
386
|
+
"EdaVectorType_Periodic": "Periodický",
|
|
387
|
+
"EdaVectorType_PeriodicCalc": "Vypočítaný periodický",
|
|
388
|
+
"EdaVectorType_Functional": "Vypočítaný Funkčný",
|
|
389
|
+
"EdaValueClassType_Value": "Hodnota",
|
|
390
|
+
"EdaValueClassType_Integral": "Integrál",
|
|
391
|
+
"EdaRoundingType_NoRounding": "Absolútna presnosť",
|
|
392
|
+
"EdaRoundingType_RoundToNearest": "Zaokr. matematické",
|
|
393
|
+
"EdaRoundingType_Ceiling": "Celá časť - hore",
|
|
394
|
+
"EdaRoundingType_Floor": "Celá časť - dole",
|
|
395
|
+
"EdaAccessType_Public": "Verejný",
|
|
396
|
+
"EdaAccessType_Private": "Súkromný",
|
|
397
|
+
"EdaUserInputFlagType_FlagA": "Príznak A",
|
|
398
|
+
"EdaUserInputFlagType_FlagB": "Príznak B",
|
|
399
|
+
"EdaUserInputFlagType_FlagC": "Príznak C",
|
|
400
|
+
"EdaUserInputFlagType_FlagD": "Príznak D",
|
|
401
|
+
"EdaSamplingType_Changes": "Zmena hodnoty",
|
|
402
|
+
"EdaSamplingType_Default": "Prednastavená hodnota",
|
|
403
|
+
"EdaSamplingType_FifteenMinutes": "15 minútová hodnota",
|
|
404
|
+
"EdaSamplingType_Hour": "Hodinová hodnota",
|
|
405
|
+
"EdaSamplingType_Day": "Dňová hodnota",
|
|
406
|
+
"EdaSamplingType_Week": "Týždenná hodnota",
|
|
407
|
+
"EdaSamplingType_Month": "Mesačná hodnota",
|
|
408
|
+
"EdaSamplingType_Quarter": "Štvrťročná hodnota",
|
|
409
|
+
"EdaSamplingType_HalfYear": "Polročná hodnota",
|
|
410
|
+
"EdaSamplingType_Year": "Ročná hodnota",
|
|
411
|
+
"EdaSamplingType_Season": "Sezónna hodnota"
|
|
326
412
|
}
|
|
@@ -37,6 +37,7 @@ export default abstract class AdvancedFilteredGrid<T extends Entity, P extends A
|
|
|
37
37
|
protected getAdditionalFilterConditions(): AdvancedFilterCondition[];
|
|
38
38
|
protected getAllFilterConditions(): AdvancedFilterCondition[];
|
|
39
39
|
protected onRecordsLoaded(): Promise<void>;
|
|
40
|
+
protected getLoadedData(): T[];
|
|
40
41
|
private saveConfiguration;
|
|
41
42
|
abstract getAdvancedFilterConfig(): AdvancedFilterConfig | undefined;
|
|
42
43
|
protected getAdvancedFilterColumnDefinitions(): AdvancedFilterColumnDefinition[];
|
|
@@ -80,6 +80,11 @@ export default class AdvancedFilteredGrid extends React.Component {
|
|
|
80
80
|
}
|
|
81
81
|
async onRecordsLoaded() {
|
|
82
82
|
}
|
|
83
|
+
getLoadedData() {
|
|
84
|
+
const data = [];
|
|
85
|
+
this.gridApi?.forEachNode(value => data.push(value.data));
|
|
86
|
+
return data;
|
|
87
|
+
}
|
|
83
88
|
saveConfiguration() {
|
|
84
89
|
const advancedFilterConfig = this.getAdvancedFilterConfig();
|
|
85
90
|
if (advancedFilterConfig) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advancedFilteredGrid.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilteredGrid.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {\r\n AdvancedFilterApi,\r\n AdvancedFilterCondition,\r\n AdvancedFilterLogicalOperator,\r\n AdvancedFilterOperator,\r\n AdvancedFilterValue\r\n} from \"../../../api/advancedFilterApi\";\r\nimport Entity from \"../../../api/types/entity\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {GridApi, IDatasource} from \"ag-grid-community\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport AdvancedFilterFloatingColumnComponent from \"./floatingColumnFilter/advancedFilterFloatingColumnComponent\";\r\nimport {AdvancedFilterColumnDefinition} from \"../../../api/types/advancedFilter\";\r\nimport AdvancedFilterUtils from \"./advancedFilterUtils\";\r\nimport {\r\n getCodeColumn,\r\n getDateColumn,\r\n getDateTimeColumn,\r\n getDbBooleanColumn,\r\n getEntityColumn,\r\n getIDColumn,\r\n getNameColumn,\r\n getNumberColumn,\r\n getStringColumn\r\n} from \"../grid/standardColumns\";\r\nimport {\r\n GeneralEntityColumn,\r\n getDateAdvancedFilterColumn,\r\n getDateTimeAdvancedFilterColumn,\r\n getDbBooleanAdvancedFilterColumn,\r\n getNumberAdvancedFilterColumn,\r\n getStringAdvancedFilterColumn\r\n} from \"./advancedFilterColumnDefinitions\";\r\nimport {DataGridColDef, OnLoadDataCallback} from \"d2coreui/components/grid/dataGrid\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport AbstractEntityApi, {PageableList} from \"../../../api/abstractEntityApi\";\r\n\r\ninterface AdvancedFilterSavedConditions {\r\n version: number\r\n filterConditions: AdvancedFilterCondition[]\r\n}\r\n\r\nexport interface AdvancedFilterConfig {\r\n version: number\r\n listName: string\r\n}\r\n\r\nexport interface AdvancedFilteredGridProps<T extends Entity> {\r\n api: AbstractEntityApi<T>\r\n advancedFilterApi: AdvancedFilterApi\r\n filterConditions?: AdvancedFilterCondition[]\r\n}\r\n\r\nexport interface AdvancedFilteredGridState<T extends Entity> {\r\n filterConditions: AdvancedFilterCondition[]\r\n selectedData: T[]\r\n columnDefs: DataGridColDef[]\r\n loading: boolean\r\n datasource: IDatasource\r\n}\r\n\r\nexport default abstract class AdvancedFilteredGrid<T extends Entity, P extends AdvancedFilteredGridProps<T>, S extends AdvancedFilteredGridState<T>> extends React.Component<P, S> {\r\n protected dataGrid: ExtendedDataGrid<T> | null = null;\r\n protected gridApi?: GridApi;\r\n protected firstLoadedPage: PageableList<T> | null = null;\r\n protected manualReload = true;\r\n protected initialColumnDefs?: DataGridColDef[];\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.renderFloatingFilter = this.renderFloatingFilter.bind(this);\r\n this.onApplyFilter = this.onApplyFilter.bind(this);\r\n this.onAddCondition = this.onAddCondition.bind(this);\r\n this.onSetCondition = this.onSetCondition.bind(this);\r\n this.onClearCondition = this.onClearCondition.bind(this);\r\n this.onLoadData = this.onLoadData.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n // can be set in child component from url parameters\r\n if (this.state.filterConditions.length === 0) {\r\n const advancedFilterConfig = this.getAdvancedFilterConfig();\r\n\r\n if (advancedFilterConfig) {\r\n const item = localStorage.getItem(advancedFilterConfig.listName);\r\n\r\n if (item) {\r\n try {\r\n const savedConditions: AdvancedFilterSavedConditions = JSON.parse(item);\r\n if (savedConditions.version === advancedFilterConfig.version) {\r\n this.setState({filterConditions: savedConditions.filterConditions});\r\n }\r\n } catch {\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected async onLoadData(callback: OnLoadDataCallback) {\r\n this.manualReload = true;\r\n this.firstLoadedPage = await this.getRecords(0, 100);\r\n callback(this.firstLoadedPage.totalNumberOfRows);\r\n this.gridApi?.onFilterChanged();\r\n }\r\n\r\n protected async getRecords(from: number, to: number): Promise<PageableList<T>> {\r\n this.setState({loading: true});\r\n\r\n let orderBy = \"\";\r\n const sortModel = this.dataGrid?.getSortModel()[0];\r\n if (sortModel) {\r\n orderBy = `${sortModel.colId} ${sortModel.sort}`;\r\n }\r\n const pageableList = await this.getData(from, to, orderBy, AdvancedFilterUtils.serializeConditionValues(this.getAllFilterConditions()));\r\n\r\n await this.onRecordsLoaded();\r\n\r\n this.setState({loading: false});\r\n return pageableList;\r\n }\r\n\r\n protected async getData(from: number, to: number, orderBy: string, filterConditions: AdvancedFilterCondition[]) {\r\n return await this.props.api.getAllData(from, to, orderBy, filterConditions, this.getOnlyValidRecords());\r\n }\r\n\r\n abstract getOnlyValidRecords(): boolean\r\n\r\n protected getAdditionalFilterConditions(): AdvancedFilterCondition[] {\r\n return [];\r\n }\r\n\r\n protected getAllFilterConditions(): AdvancedFilterCondition[] {\r\n const filterConditions = cloneDeep(this.state.filterConditions);\r\n if (this.props.filterConditions) {\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(...this.props.filterConditions);\r\n }\r\n\r\n const additionalFilterConditions = this.getAdditionalFilterConditions();\r\n if (additionalFilterConditions.length > 0) {\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(...additionalFilterConditions);\r\n }\r\n\r\n return filterConditions;\r\n }\r\n\r\n protected async onRecordsLoaded() {\r\n }\r\n\r\n private saveConfiguration() {\r\n const advancedFilterConfig = this.getAdvancedFilterConfig();\r\n\r\n if (advancedFilterConfig) {\r\n const conditionsToSave: AdvancedFilterSavedConditions = {\r\n version: advancedFilterConfig.version,\r\n filterConditions: this.state.filterConditions,\r\n }\r\n\r\n localStorage.setItem(advancedFilterConfig.listName, JSON.stringify(conditionsToSave));\r\n }\r\n }\r\n\r\n abstract getAdvancedFilterConfig(): AdvancedFilterConfig | undefined\r\n\r\n protected getAdvancedFilterColumnDefinitions(): AdvancedFilterColumnDefinition[] {\r\n return this.dataGrid?.props.columnDefs\r\n .filter(value => value.renderFilter && value.context)\r\n .map(value => value.context as AdvancedFilterColumnDefinition)\r\n ?? [];\r\n }\r\n\r\n protected renderFloatingFilter(columnDefinition: AdvancedFilterColumnDefinition) {\r\n const filterCondition = this.state.filterConditions.find(value => value.column_name === columnDefinition.columnName);\r\n return (\r\n <AdvancedFilterFloatingColumnComponent\r\n filterCondition={filterCondition}\r\n columnDefinition={columnDefinition}\r\n onAddCondition={(operator, value) => this.onAddCondition(columnDefinition, operator, value)}\r\n onSetCondition={(operator, value) => this.onSetCondition(columnDefinition, operator, value)}\r\n onClearCondition={() => this.onClearCondition(columnDefinition)}\r\n />\r\n );\r\n }\r\n\r\n protected onApplyFilter(filterConditions: AdvancedFilterCondition[]) {\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onAddCondition(columnDefinition: AdvancedFilterColumnDefinition, operator: AdvancedFilterOperator, value: AdvancedFilterValue) {\r\n const filterConditions = cloneDeep(this.state.filterConditions);\r\n\r\n const filterConditionIndex = filterConditions.findIndex(filterCondition => filterCondition.column_name === columnDefinition.columnName);\r\n\r\n if (filterConditionIndex >= 0) {\r\n if (filterConditions[filterConditionIndex + 1]) {\r\n filterConditions[filterConditionIndex].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions[filterConditionIndex].operator = operator;\r\n filterConditions[filterConditionIndex].value = value;\r\n } else {\r\n const newId = filterConditions.length === 0 ? 0 : Math.max(...filterConditions.map(value => value.id)) + 1;\r\n const newCondition = AdvancedFilterUtils.newCondition(columnDefinition, {operator, value});\r\n newCondition.id = newId;\r\n\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(newCondition);\r\n }\r\n\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onSetCondition(columnDefinition: AdvancedFilterColumnDefinition, operator: AdvancedFilterOperator, value: AdvancedFilterValue) {\r\n const newCondition = AdvancedFilterUtils.newCondition(columnDefinition, {operator, value});\r\n\r\n this.setState({filterConditions: [newCondition]}, () => {\r\n this.dataGrid?.loadData()\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onClearCondition(columnDefinition: AdvancedFilterColumnDefinition) {\r\n const filterConditions = this.state.filterConditions.filter(value => value.column_name !== columnDefinition.columnName);\r\n\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = null;\r\n }\r\n\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n // columns\r\n protected getIdColumn(columnName: string) {\r\n return getIDColumn(() => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), {colId: columnName, context: getNumberAdvancedFilterColumn(columnName)});\r\n }\r\n\r\n protected getCodeColumn(params?: Partial<DataGridColDef>) {\r\n return getCodeColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(GeneralEntityColumn.CODE)), {context: getStringAdvancedFilterColumn(GeneralEntityColumn.CODE), ...params});\r\n }\r\n\r\n protected getCodeColumnWithBackgroundColor() {\r\n return this.getEntityColumn({codeColumn: GeneralEntityColumn.CODE, nameColumn: GeneralEntityColumn.NAME, backgroundColorColumn: GeneralEntityColumn.BG_COLOR}, {headerName: i18n(\"Code\")});\r\n }\r\n\r\n protected getNameColumn(params?: Partial<DataGridColDef>) {\r\n return getNameColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(GeneralEntityColumn.NAME)), {context: getStringAdvancedFilterColumn(GeneralEntityColumn.NAME), ...params});\r\n }\r\n\r\n protected getEntityColumn(columnConfig: {codeColumn: string, nameColumn: string, backgroundColorColumn?: string}, params?: Partial<DataGridColDef>, omitFilter?: boolean) {\r\n return getEntityColumn(\r\n columnConfig,\r\n omitFilter ? undefined : () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnConfig.codeColumn)),\r\n {context: getStringAdvancedFilterColumn(columnConfig.codeColumn), ...params}\r\n );\r\n }\r\n\r\n protected getDateColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDateColumn(columnName, () => this.renderFloatingFilter(getDateAdvancedFilterColumn(columnName)), {context: getDateAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getDateTimeColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDateTimeColumn(columnName, () => this.renderFloatingFilter(getDateTimeAdvancedFilterColumn(columnName)), {context: getDateTimeAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getDbBooleanColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDbBooleanColumn(columnName, () => this.renderFloatingFilter(getDbBooleanAdvancedFilterColumn(columnName)), {context: getDbBooleanAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getStringColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getStringColumn(columnName, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnName)), {context: getStringAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getNumberColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getNumberColumn(columnName, () => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), {context: getNumberAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n}"]}
|
|
1
|
+
{"version":3,"file":"advancedFilteredGrid.js","sourceRoot":"","sources":["../../../../../coreui/components/advancedFilter/advancedFilteredGrid.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {\r\n AdvancedFilterApi,\r\n AdvancedFilterCondition,\r\n AdvancedFilterLogicalOperator,\r\n AdvancedFilterOperator,\r\n AdvancedFilterValue\r\n} from \"../../../api/advancedFilterApi\";\r\nimport Entity from \"../../../api/types/entity\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {GridApi, IDatasource} from \"ag-grid-community\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\nimport AdvancedFilterFloatingColumnComponent from \"./floatingColumnFilter/advancedFilterFloatingColumnComponent\";\r\nimport {AdvancedFilterColumnDefinition} from \"../../../api/types/advancedFilter\";\r\nimport AdvancedFilterUtils from \"./advancedFilterUtils\";\r\nimport {\r\n getCodeColumn,\r\n getDateColumn,\r\n getDateTimeColumn,\r\n getDbBooleanColumn,\r\n getEntityColumn,\r\n getIDColumn,\r\n getNameColumn,\r\n getNumberColumn,\r\n getStringColumn\r\n} from \"../grid/standardColumns\";\r\nimport {\r\n GeneralEntityColumn,\r\n getDateAdvancedFilterColumn,\r\n getDateTimeAdvancedFilterColumn,\r\n getDbBooleanAdvancedFilterColumn,\r\n getNumberAdvancedFilterColumn,\r\n getStringAdvancedFilterColumn\r\n} from \"./advancedFilterColumnDefinitions\";\r\nimport {DataGridColDef, OnLoadDataCallback} from \"d2coreui/components/grid/dataGrid\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport AbstractEntityApi, {PageableList} from \"../../../api/abstractEntityApi\";\r\n\r\ninterface AdvancedFilterSavedConditions {\r\n version: number\r\n filterConditions: AdvancedFilterCondition[]\r\n}\r\n\r\nexport interface AdvancedFilterConfig {\r\n version: number\r\n listName: string\r\n}\r\n\r\nexport interface AdvancedFilteredGridProps<T extends Entity> {\r\n api: AbstractEntityApi<T>\r\n advancedFilterApi: AdvancedFilterApi\r\n filterConditions?: AdvancedFilterCondition[]\r\n}\r\n\r\nexport interface AdvancedFilteredGridState<T extends Entity> {\r\n filterConditions: AdvancedFilterCondition[]\r\n selectedData: T[]\r\n columnDefs: DataGridColDef[]\r\n loading: boolean\r\n datasource: IDatasource\r\n}\r\n\r\nexport default abstract class AdvancedFilteredGrid<T extends Entity, P extends AdvancedFilteredGridProps<T>, S extends AdvancedFilteredGridState<T>> extends React.Component<P, S> {\r\n protected dataGrid: ExtendedDataGrid<T> | null = null;\r\n protected gridApi?: GridApi;\r\n protected firstLoadedPage: PageableList<T> | null = null;\r\n protected manualReload = true;\r\n protected initialColumnDefs?: DataGridColDef[];\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.renderFloatingFilter = this.renderFloatingFilter.bind(this);\r\n this.onApplyFilter = this.onApplyFilter.bind(this);\r\n this.onAddCondition = this.onAddCondition.bind(this);\r\n this.onSetCondition = this.onSetCondition.bind(this);\r\n this.onClearCondition = this.onClearCondition.bind(this);\r\n this.onLoadData = this.onLoadData.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n // can be set in child component from url parameters\r\n if (this.state.filterConditions.length === 0) {\r\n const advancedFilterConfig = this.getAdvancedFilterConfig();\r\n\r\n if (advancedFilterConfig) {\r\n const item = localStorage.getItem(advancedFilterConfig.listName);\r\n\r\n if (item) {\r\n try {\r\n const savedConditions: AdvancedFilterSavedConditions = JSON.parse(item);\r\n if (savedConditions.version === advancedFilterConfig.version) {\r\n this.setState({filterConditions: savedConditions.filterConditions});\r\n }\r\n } catch {\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected async onLoadData(callback: OnLoadDataCallback) {\r\n this.manualReload = true;\r\n this.firstLoadedPage = await this.getRecords(0, 100);\r\n callback(this.firstLoadedPage.totalNumberOfRows);\r\n this.gridApi?.onFilterChanged();\r\n }\r\n\r\n protected async getRecords(from: number, to: number): Promise<PageableList<T>> {\r\n this.setState({loading: true});\r\n\r\n let orderBy = \"\";\r\n const sortModel = this.dataGrid?.getSortModel()[0];\r\n if (sortModel) {\r\n orderBy = `${sortModel.colId} ${sortModel.sort}`;\r\n }\r\n const pageableList = await this.getData(from, to, orderBy, AdvancedFilterUtils.serializeConditionValues(this.getAllFilterConditions()));\r\n\r\n await this.onRecordsLoaded();\r\n\r\n this.setState({loading: false});\r\n return pageableList;\r\n }\r\n\r\n protected async getData(from: number, to: number, orderBy: string, filterConditions: AdvancedFilterCondition[]) {\r\n return await this.props.api.getAllData(from, to, orderBy, filterConditions, this.getOnlyValidRecords());\r\n }\r\n\r\n abstract getOnlyValidRecords(): boolean\r\n\r\n protected getAdditionalFilterConditions(): AdvancedFilterCondition[] {\r\n return [];\r\n }\r\n\r\n protected getAllFilterConditions(): AdvancedFilterCondition[] {\r\n const filterConditions = cloneDeep(this.state.filterConditions);\r\n if (this.props.filterConditions) {\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(...this.props.filterConditions);\r\n }\r\n\r\n const additionalFilterConditions = this.getAdditionalFilterConditions();\r\n if (additionalFilterConditions.length > 0) {\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(...additionalFilterConditions);\r\n }\r\n\r\n return filterConditions;\r\n }\r\n\r\n protected async onRecordsLoaded() {\r\n }\r\n\r\n protected getLoadedData(): T[] {\r\n const data: T[] = [];\r\n this.gridApi?.forEachNode(value => data.push(value.data));\r\n\r\n return data;\r\n }\r\n\r\n private saveConfiguration() {\r\n const advancedFilterConfig = this.getAdvancedFilterConfig();\r\n\r\n if (advancedFilterConfig) {\r\n const conditionsToSave: AdvancedFilterSavedConditions = {\r\n version: advancedFilterConfig.version,\r\n filterConditions: this.state.filterConditions,\r\n }\r\n\r\n localStorage.setItem(advancedFilterConfig.listName, JSON.stringify(conditionsToSave));\r\n }\r\n }\r\n\r\n abstract getAdvancedFilterConfig(): AdvancedFilterConfig | undefined\r\n\r\n protected getAdvancedFilterColumnDefinitions(): AdvancedFilterColumnDefinition[] {\r\n return this.dataGrid?.props.columnDefs\r\n .filter(value => value.renderFilter && value.context)\r\n .map(value => value.context as AdvancedFilterColumnDefinition)\r\n ?? [];\r\n }\r\n\r\n protected renderFloatingFilter(columnDefinition: AdvancedFilterColumnDefinition) {\r\n const filterCondition = this.state.filterConditions.find(value => value.column_name === columnDefinition.columnName);\r\n return (\r\n <AdvancedFilterFloatingColumnComponent\r\n filterCondition={filterCondition}\r\n columnDefinition={columnDefinition}\r\n onAddCondition={(operator, value) => this.onAddCondition(columnDefinition, operator, value)}\r\n onSetCondition={(operator, value) => this.onSetCondition(columnDefinition, operator, value)}\r\n onClearCondition={() => this.onClearCondition(columnDefinition)}\r\n />\r\n );\r\n }\r\n\r\n protected onApplyFilter(filterConditions: AdvancedFilterCondition[]) {\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onAddCondition(columnDefinition: AdvancedFilterColumnDefinition, operator: AdvancedFilterOperator, value: AdvancedFilterValue) {\r\n const filterConditions = cloneDeep(this.state.filterConditions);\r\n\r\n const filterConditionIndex = filterConditions.findIndex(filterCondition => filterCondition.column_name === columnDefinition.columnName);\r\n\r\n if (filterConditionIndex >= 0) {\r\n if (filterConditions[filterConditionIndex + 1]) {\r\n filterConditions[filterConditionIndex].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions[filterConditionIndex].operator = operator;\r\n filterConditions[filterConditionIndex].value = value;\r\n } else {\r\n const newId = filterConditions.length === 0 ? 0 : Math.max(...filterConditions.map(value => value.id)) + 1;\r\n const newCondition = AdvancedFilterUtils.newCondition(columnDefinition, {operator, value});\r\n newCondition.id = newId;\r\n\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = AdvancedFilterLogicalOperator.AND;\r\n }\r\n filterConditions.push(newCondition);\r\n }\r\n\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onSetCondition(columnDefinition: AdvancedFilterColumnDefinition, operator: AdvancedFilterOperator, value: AdvancedFilterValue) {\r\n const newCondition = AdvancedFilterUtils.newCondition(columnDefinition, {operator, value});\r\n\r\n this.setState({filterConditions: [newCondition]}, () => {\r\n this.dataGrid?.loadData()\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n private onClearCondition(columnDefinition: AdvancedFilterColumnDefinition) {\r\n const filterConditions = this.state.filterConditions.filter(value => value.column_name !== columnDefinition.columnName);\r\n\r\n if (filterConditions.length > 0) {\r\n filterConditions[filterConditions.length - 1].logical_operator = null;\r\n }\r\n\r\n this.setState({filterConditions: filterConditions}, () => {\r\n this.dataGrid?.loadData();\r\n this.saveConfiguration();\r\n });\r\n }\r\n\r\n // columns\r\n protected getIdColumn(columnName: string) {\r\n return getIDColumn(() => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), {colId: columnName, context: getNumberAdvancedFilterColumn(columnName)});\r\n }\r\n\r\n protected getCodeColumn(params?: Partial<DataGridColDef>) {\r\n return getCodeColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(GeneralEntityColumn.CODE)), {context: getStringAdvancedFilterColumn(GeneralEntityColumn.CODE), ...params});\r\n }\r\n\r\n protected getCodeColumnWithBackgroundColor() {\r\n return this.getEntityColumn({codeColumn: GeneralEntityColumn.CODE, nameColumn: GeneralEntityColumn.NAME, backgroundColorColumn: GeneralEntityColumn.BG_COLOR}, {headerName: i18n(\"Code\")});\r\n }\r\n\r\n protected getNameColumn(params?: Partial<DataGridColDef>) {\r\n return getNameColumn(() => this.renderFloatingFilter(getStringAdvancedFilterColumn(GeneralEntityColumn.NAME)), {context: getStringAdvancedFilterColumn(GeneralEntityColumn.NAME), ...params});\r\n }\r\n\r\n protected getEntityColumn(columnConfig: {codeColumn: string, nameColumn: string, backgroundColorColumn?: string}, params?: Partial<DataGridColDef>, omitFilter?: boolean) {\r\n return getEntityColumn(\r\n columnConfig,\r\n omitFilter ? undefined : () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnConfig.codeColumn)),\r\n {context: getStringAdvancedFilterColumn(columnConfig.codeColumn), ...params}\r\n );\r\n }\r\n\r\n protected getDateColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDateColumn(columnName, () => this.renderFloatingFilter(getDateAdvancedFilterColumn(columnName)), {context: getDateAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getDateTimeColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDateTimeColumn(columnName, () => this.renderFloatingFilter(getDateTimeAdvancedFilterColumn(columnName)), {context: getDateTimeAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getDbBooleanColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getDbBooleanColumn(columnName, () => this.renderFloatingFilter(getDbBooleanAdvancedFilterColumn(columnName)), {context: getDbBooleanAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getStringColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getStringColumn(columnName, () => this.renderFloatingFilter(getStringAdvancedFilterColumn(columnName)), {context: getStringAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n protected getNumberColumn(columnName: string, params?: Partial<DataGridColDef>) {\r\n return getNumberColumn(columnName, () => this.renderFloatingFilter(getNumberAdvancedFilterColumn(columnName)), {context: getNumberAdvancedFilterColumn(columnName), ...params});\r\n }\r\n\r\n}"]}
|
|
@@ -4,6 +4,7 @@ import { EdaManagerTimePanelConfiguration } from "../components/edaManagerTimePa
|
|
|
4
4
|
import * as FlexLayout from "flexlayout-react";
|
|
5
5
|
import { D2ChartPanelProps } from "../../d2Chart/d2ChartPanel";
|
|
6
6
|
import { ArchiveApi } from "../../../../api/archiveApi";
|
|
7
|
+
import { EdaManagerArchiveValue } from "../compactPanel/edaManagerCompactPanel";
|
|
7
8
|
export interface EdaManagerFilterToSave {
|
|
8
9
|
version: number;
|
|
9
10
|
currentVectors: EdaVector[];
|
|
@@ -13,7 +14,7 @@ export interface EdaManagerFilterToSave {
|
|
|
13
14
|
autoRefresh: boolean;
|
|
14
15
|
}
|
|
15
16
|
export interface EdaManagerFilter {
|
|
16
|
-
currentArchiveValues?:
|
|
17
|
+
currentArchiveValues?: EdaManagerArchiveValue[];
|
|
17
18
|
currentVectors?: EdaVector[];
|
|
18
19
|
timePanelConfiguration: EdaManagerTimePanelConfiguration;
|
|
19
20
|
}
|
|
@@ -40,7 +41,7 @@ export default abstract class EdaManagerAbstractPanel<P extends EdaManagerAbstra
|
|
|
40
41
|
componentDidMount(): void;
|
|
41
42
|
protected saveFilter(): void;
|
|
42
43
|
getFilterNameToSave(): string | undefined;
|
|
43
|
-
protected getActiveArchiveValues():
|
|
44
|
+
protected getActiveArchiveValues(): EdaManagerArchiveValue[] | undefined;
|
|
44
45
|
protected getActiveVectors(): EdaVector[] | undefined;
|
|
45
46
|
protected onReload(): void;
|
|
46
47
|
onLoadVectors(): Promise<void>;
|
|
@@ -93,7 +93,7 @@ export default class EdaManagerAbstractPanel extends React.Component {
|
|
|
93
93
|
let loadedCalendarVector;
|
|
94
94
|
this.setState({ loading: true });
|
|
95
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));
|
|
96
|
+
loadedVectors = await this.props.archiveApi.getArchiveData(activeArchiveValues.map(value => value.objectName), this.state.currentFilter.timePanelConfiguration.selectedTimeFrom, this.state.currentFilter.timePanelConfiguration.selectedTimeTo, Number(this.state.currentFilter.timePanelConfiguration.selectedStep));
|
|
97
97
|
}
|
|
98
98
|
else if (activeVectors) {
|
|
99
99
|
loadedVectors = await this.props.edaApi.loadVectors(activeVectors, this.state.currentFilter.timePanelConfiguration.selectedTimeFrom, this.state.currentFilter.timePanelConfiguration.selectedTimeTo, this.state.currentFilter.timePanelConfiguration.selectedStep);
|
|
@@ -169,8 +169,8 @@ export default class EdaManagerAbstractPanel extends React.Component {
|
|
|
169
169
|
}) ?? activeArchiveValues?.map((value, index) => {
|
|
170
170
|
return {
|
|
171
171
|
id: index,
|
|
172
|
-
code: value,
|
|
173
|
-
name: value,
|
|
172
|
+
code: value.objectName,
|
|
173
|
+
name: value.displayName ?? value.objectName,
|
|
174
174
|
};
|
|
175
175
|
}) ?? [];
|
|
176
176
|
return (React.createElement("div", { style: Object.assign({ display: "flex", flexDirection: "column", height: "100%" }, this.tabWrapperStyle) },
|
|
@@ -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\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}"]}
|
|
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\nimport {EdaManagerArchiveValue} from \"../compactPanel/edaManagerCompactPanel\";\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?: EdaManagerArchiveValue[]\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(): EdaManagerArchiveValue[] | 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.map(value => value.objectName),\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.objectName,\r\n name: value.displayName ?? value.objectName,\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}"]}
|
|
@@ -3,9 +3,10 @@ import { DataGridColDef, MenuElement } from "d2coreui/components/grid/dataGrid";
|
|
|
3
3
|
import { EdaManagerRecord, EdaVector } from "../../../../api/edaApi";
|
|
4
4
|
import { GridRowStyle } from "d2coreui/components/grid/cell/tableDefaultRowStyleRules";
|
|
5
5
|
import { GridApi } from "ag-grid-community";
|
|
6
|
+
import { EdaManagerArchiveValue } from "../compactPanel/edaManagerCompactPanel";
|
|
6
7
|
export interface EdaManagerAbstractTablePanelProps {
|
|
7
8
|
style?: React.CSSProperties;
|
|
8
|
-
currentArchiveValues?:
|
|
9
|
+
currentArchiveValues?: EdaManagerArchiveValue[];
|
|
9
10
|
currentVectors?: EdaVector[];
|
|
10
11
|
loadedVectors: EdaManagerRecord[];
|
|
11
12
|
loading?: boolean;
|