d2aura 26.0.17 → 26.0.18
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 +5 -3
- package/api/eda/edaManagerApi.js +36 -2
- package/api/eda/edaManagerApi.js.map +1 -1
- package/api/eda/generated/events.d.ts +63 -61
- package/api/eda/generated/events.js +143 -141
- package/api/eda/generated/events.js.map +1 -1
- package/api/eda/generated/structures.d.ts +35 -6
- package/api/eda/generated/structures.js.map +1 -1
- package/api/webAuthn/webAuthnManageApi.js +2 -2
- package/api/webAuthn/webAuthnManageApi.js.map +1 -1
- package/core/i18n/d2aura.sk.json +4 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +2 -1
- package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.d.ts +4 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +57 -46
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/exportDialog.js +2 -2
- package/coreui/components/edaManagerComponent/dialogs/exportDialog.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/importDialog.js +55 -4
- package/coreui/components/edaManagerComponent/dialogs/importDialog.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/importExport/import.d.ts +7 -0
- package/coreui/components/edaManagerComponent/dialogs/importExport/import.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeSelection.d.ts +8 -1
- package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeSelection.js +10 -4
- package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeSelection.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaDetail.d.ts +2 -3
- package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
- package/coreui/components/edaManagerComponent/utils/utils.d.ts +1 -2
- package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -1
- package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +4 -0
- package/d2configuration/edaManager/E.EM_DETAIL_UNIT.xml +34 -0
- package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +5 -5
- package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +18 -2
- package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +377 -16
- package/d2configuration/edaManager/SD.EM_Tree_Item.xml +22 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaTypes.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/constants/edaTypes.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,aAeX;AAfD,WAAY,aAAa;IACrB,qEAAkB,CAAA;IAClB,iDAAI,CAAA;IACJ,+CAAG,CAAA;IACH,+DAAW,CAAA;IACX,yDAAQ,CAAA;IACR,6EAAkB,CAAA;IAClB,yDAAQ,CAAA;IACR,uDAAO,CAAA;IACP,qDAAM,CAAA;IACN,8DAAU,CAAA;IACV,kDAAI,CAAA;IACJ,0DAAQ,CAAA;IACR,kEAAY,CAAA;IACZ,8DAAU,CAAA;AACd,CAAC,EAfW,aAAa,KAAb,aAAa,QAexB;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,2DAAS,CAAA;IACT,iEAAQ,CAAA;AACZ,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,iEAAc,CAAA;IACd,yEAAc,CAAA;IACd,2DAAO,CAAA;IACP,uDAAK,CAAA;AACT,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,qDAAU,CAAA;IACV,uDAAO,CAAA;AACX,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC5B,iEAAS,CAAA;IACT,iEAAK,CAAA;IACL,iEAAK,CAAA;IACL,iEAAK,CAAA;AACT,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAED,MAAM,CAAN,IAAY,eAYX;AAZD,WAAY,eAAe;IACvB,4DAAY,CAAA;IACZ,2DAAW,CAAA;IACX,2EAAoB,CAAA;IACpB,wDAAW,CAAA;IACX,uDAAW,CAAA;IACX,0DAAgB,CAAA;IAChB,6DAAkB,CAAA;IAClB,iEAAwB,CAAA;IACxB,oEAAyB,CAAA;IACzB,4DAAyB,CAAA;IACzB,gEAA2B,CAAA;AAC/B,CAAC,EAZW,eAAe,KAAf,eAAe,QAY1B;AAED,MAAM,CAAN,IAAkB,MAKjB;AALD,WAAkB,MAAM;IACpB,uCAAM,CAAA;IACN,qCAAK,CAAA;IACL,2CAAQ,CAAA;IACR,iCAAG,CAAA;AACP,CAAC,EALiB,MAAM,KAAN,MAAM,QAKvB;AAED,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,2CAAU,CAAA;IACV,yCAAK,CAAA;IACL,2CAAM,CAAA;IACN,6CAAO,CAAA;IACP,2CAAM,CAAA;IACN,yDAAa,CAAA;AACjB,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,iDAAQ,CAAA;IACR,iDAAI,CAAA;IACJ,iDAAI,CAAA;IACJ,+CAAG,CAAA;IACH,yDAAQ,CAAA;AACZ,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,6DAAS,CAAA;IACT,iFAAe,CAAA;IACf,+EAAc,CAAA;IACd,6EAAa,CAAA;AACjB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B","sourcesContent":["import {GroupData, ScenarioData, TreeItem, VectorData} from \"../../../../api/eda/edaManagerApi\";\r\n\r\nexport enum EdaVectorType {\r\n FifteenMinutes = 1,\r\n Hour,\r\n Day,\r\n Descriptive,\r\n Interval,\r\n FifteenMinutesCalc,\r\n HourCalc,\r\n DayCalc,\r\n Change,\r\n ChangeCalc,\r\n Pair,\r\n Periodic,\r\n PeriodicCalc,\r\n Functional,\r\n}\r\n\r\nexport enum EdaValueClassType {\r\n Value = 1,\r\n Integral,\r\n}\r\n\r\nexport enum EdaRoundingType {\r\n NoRounding = 1,\r\n RoundToNearest,\r\n Ceiling,\r\n Floor,\r\n}\r\n\r\nexport enum EdaAccessType {\r\n Public = 1,\r\n Private,\r\n}\r\n\r\nexport enum EdaUserInputFlagType {\r\n FlagA = 0,\r\n FlagB,\r\n FlagC,\r\n FlagD\r\n}\r\n\r\nexport enum EdaSamplingType {\r\n Changes = -1,\r\n Default = 0,\r\n FifteenMinutes = 900,\r\n Hour = 3600,\r\n Day = 86400,\r\n Week = 7 * 86400,\r\n Month = 30 * 86400,\r\n Quarter = 3 * 30 * 86400,\r\n HalfYear = 6 * 30 * 86400,\r\n Year = 4 * 3 * 30 * 86400,\r\n Season = 6 * 30 * 86400 + 1\r\n}\r\n\r\nexport const enum IdType {\r\n VECTOR,\r\n GROUP,\r\n SCENARIO,\r\n SET,\r\n}\r\n\r\nexport enum StepType {\r\n Hourly = 0,\r\n Daily,\r\n Weekly,\r\n Monthly,\r\n Yearly,\r\n WholeInterval,\r\n}\r\n\r\nexport enum EdaPeriodType {\r\n Base = 1,\r\n Year,\r\n Week,\r\n Day,\r\n Interval,\r\n}\r\n\r\nexport enum EdaPeriodValueType {\r\n Value = 1,\r\n CoefficientPlus,\r\n CoefficientMul,\r\n Interpolation\r\n}\r\n\r\nexport type TypedIndex = { type: IdType, id: number }\r\n\r\nexport type TypedData =\r\n | {type: IdType.VECTOR; data: VectorData}\r\n | {type: IdType.GROUP; data: GroupData}\r\n | {type: IdType.SCENARIO; data: ScenarioData}\r\n | {type: IdType.SET, data: TreeItem[]}"]}
|
|
1
|
+
{"version":3,"file":"edaTypes.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/constants/edaTypes.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,aAeX;AAfD,WAAY,aAAa;IACrB,qEAAkB,CAAA;IAClB,iDAAI,CAAA;IACJ,+CAAG,CAAA;IACH,+DAAW,CAAA;IACX,yDAAQ,CAAA;IACR,6EAAkB,CAAA;IAClB,yDAAQ,CAAA;IACR,uDAAO,CAAA;IACP,qDAAM,CAAA;IACN,8DAAU,CAAA;IACV,kDAAI,CAAA;IACJ,0DAAQ,CAAA;IACR,kEAAY,CAAA;IACZ,8DAAU,CAAA;AACd,CAAC,EAfW,aAAa,KAAb,aAAa,QAexB;AAED,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,2DAAS,CAAA;IACT,iEAAQ,CAAA;AACZ,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B;AAED,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,iEAAc,CAAA;IACd,yEAAc,CAAA;IACd,2DAAO,CAAA;IACP,uDAAK,CAAA;AACT,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAED,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,qDAAU,CAAA;IACV,uDAAO,CAAA;AACX,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC5B,iEAAS,CAAA;IACT,iEAAK,CAAA;IACL,iEAAK,CAAA;IACL,iEAAK,CAAA;AACT,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAED,MAAM,CAAN,IAAY,eAYX;AAZD,WAAY,eAAe;IACvB,4DAAY,CAAA;IACZ,2DAAW,CAAA;IACX,2EAAoB,CAAA;IACpB,wDAAW,CAAA;IACX,uDAAW,CAAA;IACX,0DAAgB,CAAA;IAChB,6DAAkB,CAAA;IAClB,iEAAwB,CAAA;IACxB,oEAAyB,CAAA;IACzB,4DAAyB,CAAA;IACzB,gEAA2B,CAAA;AAC/B,CAAC,EAZW,eAAe,KAAf,eAAe,QAY1B;AAED,MAAM,CAAN,IAAkB,MAKjB;AALD,WAAkB,MAAM;IACpB,uCAAM,CAAA;IACN,qCAAK,CAAA;IACL,2CAAQ,CAAA;IACR,iCAAG,CAAA;AACP,CAAC,EALiB,MAAM,KAAN,MAAM,QAKvB;AAED,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,2CAAU,CAAA;IACV,yCAAK,CAAA;IACL,2CAAM,CAAA;IACN,6CAAO,CAAA;IACP,2CAAM,CAAA;IACN,yDAAa,CAAA;AACjB,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB;AAED,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,iDAAQ,CAAA;IACR,iDAAI,CAAA;IACJ,iDAAI,CAAA;IACJ,+CAAG,CAAA;IACH,yDAAQ,CAAA;AACZ,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC1B,6DAAS,CAAA;IACT,iFAAe,CAAA;IACf,+EAAc,CAAA;IACd,6EAAa,CAAA;AACjB,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B","sourcesContent":["import {GroupData, ScenarioData, TreeItem, VectorData} from \"../../../../api/eda/edaManagerApi\";\r\n\r\nexport enum EdaVectorType {\r\n FifteenMinutes = 1,\r\n Hour,\r\n Day,\r\n Descriptive,\r\n Interval,\r\n FifteenMinutesCalc,\r\n HourCalc,\r\n DayCalc,\r\n Change,\r\n ChangeCalc,\r\n Pair,\r\n Periodic,\r\n PeriodicCalc,\r\n Functional,\r\n}\r\n\r\nexport enum EdaValueClassType {\r\n Value = 1,\r\n Integral,\r\n}\r\n\r\nexport enum EdaRoundingType {\r\n NoRounding = 1,\r\n RoundToNearest,\r\n Ceiling,\r\n Floor,\r\n}\r\n\r\nexport enum EdaAccessType {\r\n Public = 1,\r\n Private,\r\n}\r\n\r\nexport enum EdaUserInputFlagType {\r\n FlagA = 0,\r\n FlagB,\r\n FlagC,\r\n FlagD\r\n}\r\n\r\nexport enum EdaSamplingType {\r\n Changes = -1,\r\n Default = 0,\r\n FifteenMinutes = 900,\r\n Hour = 3600,\r\n Day = 86400,\r\n Week = 7 * 86400,\r\n Month = 30 * 86400,\r\n Quarter = 3 * 30 * 86400,\r\n HalfYear = 6 * 30 * 86400,\r\n Year = 4 * 3 * 30 * 86400,\r\n Season = 6 * 30 * 86400 + 1\r\n}\r\n\r\nexport const enum IdType {\r\n VECTOR,\r\n GROUP,\r\n SCENARIO,\r\n SET,\r\n}\r\n\r\nexport enum StepType {\r\n Hourly = 0,\r\n Daily,\r\n Weekly,\r\n Monthly,\r\n Yearly,\r\n WholeInterval,\r\n}\r\n\r\nexport enum EdaPeriodType {\r\n Base = 1,\r\n Year,\r\n Week,\r\n Day,\r\n Interval,\r\n}\r\n\r\nexport enum EdaPeriodValueType {\r\n Value = 1,\r\n CoefficientPlus,\r\n CoefficientMul,\r\n Interpolation\r\n}\r\n\r\nexport type ItemType = (TreeItem | number)[] | TypedIndex\r\n\r\nexport type TypedIndex = { type: IdType, id: number }\r\n\r\nexport type TypedData =\r\n | {type: IdType.VECTOR; data: VectorData}\r\n | {type: IdType.GROUP; data: GroupData}\r\n | {type: IdType.SCENARIO; data: ScenarioData}\r\n | {type: IdType.SET, data: (TreeItem | number)[]}"]}
|
|
@@ -8,9 +8,12 @@ export interface VectorDataState {
|
|
|
8
8
|
to: dayjs.Dayjs;
|
|
9
9
|
sampling: EdaSamplingType;
|
|
10
10
|
}
|
|
11
|
+
export interface DataTreeItem extends TreeItem {
|
|
12
|
+
_isCustom: boolean;
|
|
13
|
+
}
|
|
11
14
|
export interface EdaVectorDataState {
|
|
12
15
|
data: Record<number, VectorDataState>;
|
|
13
|
-
vectors:
|
|
16
|
+
vectors: DataTreeItem[];
|
|
14
17
|
visible: Set<number>;
|
|
15
18
|
initialized: boolean;
|
|
16
19
|
loadedData?: TypedData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaVectorDataContext.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/edaVectorDataContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"edaVectorDataContext.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/edaVectorDataContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AAgChD,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAwC,SAAS,CAAC,CAAC;AAEpG,MAAM,UAAU,gBAAgB;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAEjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC","sourcesContent":["import {TreeItem, VectorValuesData} from \"../../../../api/eda/edaManagerApi\";\r\nimport {EdaSamplingType, TypedData} from \"../constants/edaTypes\";\r\nimport {createContext, useContext} from \"react\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {SharedSampleRangeContext} from \"./sharedSampleRangeContext\";\r\n\r\nexport interface VectorDataState {\r\n data: VectorValuesData\r\n from: dayjs.Dayjs\r\n to: dayjs.Dayjs\r\n sampling: EdaSamplingType\r\n}\r\n\r\nexport interface DataTreeItem extends TreeItem {\r\n _isCustom: boolean\r\n}\r\n\r\nexport interface EdaVectorDataState {\r\n data: Record<number, VectorDataState>\r\n vectors: DataTreeItem[]\r\n visible: Set<number>\r\n initialized: boolean\r\n\r\n loadedData?: TypedData\r\n loadedRange?: SharedSampleRangeContext\r\n}\r\n\r\nexport interface EdaVectorDataContextValue extends EdaVectorDataState {\r\n loadAllData: (data: TypedData) => void\r\n loadSpecificVectors: (vectors: TreeItem[], forceUpdate?: boolean) => void\r\n toggleVectorVisibility: (id: number, visible: boolean) => void\r\n setAllVectorVisibility: (visible: boolean) => void\r\n}\r\n\r\nexport const EdaVectorDataContext = createContext<EdaVectorDataContextValue | undefined>(undefined);\r\n\r\nexport function useEdaVectorData() {\r\n const context = useContext(EdaVectorDataContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useEdaVectorData must be used within an EdaVectorDataProvider\");\r\n }\r\n\r\n return context;\r\n}"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useRef, useState } from "react";
|
|
2
2
|
import { EdaVectorDataContext } from "./edaVectorDataContext";
|
|
3
3
|
import { useSampleRange } from "./sharedSampleRangeContext";
|
|
4
|
+
import { EdaValueClassType } from "../constants/edaTypes";
|
|
4
5
|
import { useLoading } from "./loadingContext";
|
|
5
6
|
import { App } from "antd";
|
|
6
7
|
import i18n from "d2core/i18n/i18n";
|
|
@@ -18,24 +19,24 @@ export const EdaVectorDataProvider = ({ api, children }) => {
|
|
|
18
19
|
visible: new Set(),
|
|
19
20
|
initialized: false,
|
|
20
21
|
});
|
|
21
|
-
const safeReadVectorValues = useCallback(async (
|
|
22
|
+
const safeReadVectorValues = useCallback(async (vector, from, to, step) => {
|
|
22
23
|
try {
|
|
23
|
-
return await api.readVectorValues(
|
|
24
|
+
return await api.readVectorValues(vector.ID, from, to, step);
|
|
24
25
|
}
|
|
25
26
|
catch (e) {
|
|
26
|
-
message.warning(React.createElement("span", null, i18n("Failed to load vector %{n} with error: '%{e}'", { n:
|
|
27
|
+
message.warning(React.createElement("span", null, i18n("Failed to load vector %{n} with error: '%{e}'", { n: vector.DisplayName, e: e?.value })));
|
|
27
28
|
console.error(e);
|
|
28
29
|
return {
|
|
29
30
|
data: []
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
}, [api, message]);
|
|
33
|
-
const safeCalcVectorValues = useCallback(async (
|
|
34
|
+
const safeCalcVectorValues = useCallback(async (vector, from, to, step) => {
|
|
34
35
|
try {
|
|
35
|
-
return await api.calcValuesForUnsavedVector(
|
|
36
|
+
return await api.calcValuesForUnsavedVector(vector.Type, vector.Prescription ?? "", from, to, step);
|
|
36
37
|
}
|
|
37
38
|
catch (e) {
|
|
38
|
-
message.warning(React.createElement("span", null, i18n("Failed to load vector %{n} with error: '%{e}'", { n:
|
|
39
|
+
message.warning(React.createElement("span", null, i18n("Failed to load vector %{n} with error: '%{e}'", { n: vector.DisplayName, e: e?.value })));
|
|
39
40
|
console.error(e);
|
|
40
41
|
return {
|
|
41
42
|
data: []
|
|
@@ -57,7 +58,7 @@ export const EdaVectorDataProvider = ({ api, children }) => {
|
|
|
57
58
|
try {
|
|
58
59
|
const { btTotal, etTotal, sampling, vectorPage } = range;
|
|
59
60
|
const result = {};
|
|
60
|
-
const
|
|
61
|
+
const vectors = [];
|
|
61
62
|
const visible = new Set();
|
|
62
63
|
let { btWindow, etWindow } = range;
|
|
63
64
|
if (!detail?.showTimeWindow) {
|
|
@@ -67,39 +68,39 @@ export const EdaVectorDataProvider = ({ api, children }) => {
|
|
|
67
68
|
switch (data.type) {
|
|
68
69
|
case 1:
|
|
69
70
|
case 2: {
|
|
70
|
-
let
|
|
71
|
+
let resultVectors;
|
|
71
72
|
if (range.vectors) {
|
|
72
|
-
|
|
73
|
+
resultVectors = { items: range.vectors, leftCount: 0 };
|
|
73
74
|
}
|
|
74
75
|
else {
|
|
75
76
|
try {
|
|
76
77
|
if (data.type === 1) {
|
|
77
|
-
|
|
78
|
+
resultVectors = await api.getGroupVectors(data.data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);
|
|
78
79
|
}
|
|
79
80
|
else {
|
|
80
|
-
|
|
81
|
+
resultVectors = await api.getScenarioVectors(data.data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
catch (error) {
|
|
84
85
|
console.error(error);
|
|
85
|
-
|
|
86
|
+
resultVectors = { items: [], leftCount: 0 };
|
|
86
87
|
}
|
|
87
|
-
loading.updateLoading({ loadingCount:
|
|
88
|
+
loading.updateLoading({ loadingCount: resultVectors.items.length });
|
|
88
89
|
if (range.vectorPage === 1) {
|
|
89
|
-
range.updateTotalCount(
|
|
90
|
+
range.updateTotalCount(resultVectors.items.length + resultVectors.leftCount);
|
|
90
91
|
}
|
|
91
92
|
if (requestId !== lastRequestId.current) {
|
|
92
93
|
return;
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
|
-
for (const vector of
|
|
96
|
-
|
|
96
|
+
for (const vector of resultVectors.items) {
|
|
97
|
+
vectors.push({ ...vector, _isCustom: false });
|
|
97
98
|
visible.add(vector.ID);
|
|
98
99
|
}
|
|
99
|
-
for (let i = 0; i <
|
|
100
|
-
const vector =
|
|
100
|
+
for (let i = 0; i < resultVectors.items.length; i++) {
|
|
101
|
+
const vector = resultVectors.items[i];
|
|
101
102
|
loading.updateLoading({ loadingItem: vector.DisplayName ?? "" });
|
|
102
|
-
const valuesData = await safeReadVectorValues(vector
|
|
103
|
+
const valuesData = await safeReadVectorValues(vector, btWindow, etWindow, sampling);
|
|
103
104
|
if (!loadingRef.current) {
|
|
104
105
|
break;
|
|
105
106
|
}
|
|
@@ -109,25 +110,13 @@ export const EdaVectorDataProvider = ({ api, children }) => {
|
|
|
109
110
|
to: etWindow,
|
|
110
111
|
sampling: sampling,
|
|
111
112
|
};
|
|
112
|
-
loading.updateLoading({ loadingPercentage: (i + 1) /
|
|
113
|
+
loading.updateLoading({ loadingPercentage: (i + 1) / resultVectors.items.length * 100 });
|
|
113
114
|
}
|
|
114
115
|
break;
|
|
115
116
|
}
|
|
116
117
|
case 0: {
|
|
117
118
|
const column = data.data.data;
|
|
118
|
-
const
|
|
119
|
-
loading.updateLoading({ loadingCount: 1, loadingItem: column.ZOBRAZ_MENO });
|
|
120
|
-
result[id] = {
|
|
121
|
-
data: await safeReadVectorValues(id, column.ZOBRAZ_MENO, btWindow, etWindow, sampling),
|
|
122
|
-
from: btWindow,
|
|
123
|
-
to: etWindow,
|
|
124
|
-
sampling: sampling,
|
|
125
|
-
};
|
|
126
|
-
if (requestId !== lastRequestId.current) {
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
visible.add(column.ID_VEKTOR);
|
|
130
|
-
columns.push({
|
|
119
|
+
const vector = {
|
|
131
120
|
ID: column.ID_VEKTOR,
|
|
132
121
|
DisplayName: column.ZOBRAZ_MENO,
|
|
133
122
|
Name: column.MENO,
|
|
@@ -136,25 +125,47 @@ export const EdaVectorDataProvider = ({ api, children }) => {
|
|
|
136
125
|
Type: column.TYP,
|
|
137
126
|
Units: column.TECH_JEDNOTKY,
|
|
138
127
|
RoundingType: column.VIEW_ROUND,
|
|
139
|
-
RoundingPlaces: column.VIEW_DEC_PL
|
|
140
|
-
|
|
128
|
+
RoundingPlaces: column.VIEW_DEC_PL,
|
|
129
|
+
IsIntegral: column.INTEGRAL === EdaValueClassType.Integral,
|
|
130
|
+
_isCustom: false,
|
|
131
|
+
};
|
|
132
|
+
loading.updateLoading({ loadingCount: 1, loadingItem: vector.DisplayName });
|
|
133
|
+
result[vector.ID] = {
|
|
134
|
+
data: await safeReadVectorValues(vector, btWindow, etWindow, sampling),
|
|
135
|
+
from: btWindow,
|
|
136
|
+
to: etWindow,
|
|
137
|
+
sampling: sampling,
|
|
138
|
+
};
|
|
139
|
+
if (requestId !== lastRequestId.current) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
visible.add(vector.ID);
|
|
143
|
+
vectors.push(vector);
|
|
141
144
|
break;
|
|
142
145
|
}
|
|
143
146
|
case 3: {
|
|
144
|
-
for (let
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
for (let entry of data.data) {
|
|
148
|
+
if (typeof entry === "number") {
|
|
149
|
+
const id = entry;
|
|
150
|
+
const item = await api.getVector(id);
|
|
151
|
+
if (!item) {
|
|
152
|
+
console.log("Invalid vector ID " + id);
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
visible.add(id);
|
|
156
|
+
vectors.push({ ...item, _isCustom: false });
|
|
157
|
+
result[id] = {
|
|
158
|
+
data: await safeReadVectorValues(item, btWindow, etWindow, sampling),
|
|
150
159
|
from: btWindow,
|
|
151
160
|
to: etWindow,
|
|
152
161
|
sampling: sampling,
|
|
153
162
|
};
|
|
154
163
|
}
|
|
155
164
|
else {
|
|
156
|
-
|
|
157
|
-
|
|
165
|
+
visible.add(entry.ID);
|
|
166
|
+
vectors.push({ ...entry, _isCustom: true });
|
|
167
|
+
result[entry.ID] = {
|
|
168
|
+
data: await safeCalcVectorValues(entry, btWindow, etWindow, sampling),
|
|
158
169
|
from: btWindow,
|
|
159
170
|
to: etWindow,
|
|
160
171
|
sampling: sampling,
|
|
@@ -163,7 +174,7 @@ export const EdaVectorDataProvider = ({ api, children }) => {
|
|
|
163
174
|
}
|
|
164
175
|
}
|
|
165
176
|
}
|
|
166
|
-
setDataState((s) => ({ ...s, data: result, vectors:
|
|
177
|
+
setDataState((s) => ({ ...s, data: result, vectors: vectors, visible: visible }));
|
|
167
178
|
loading.updateLoading({ loadingPercentage: 100 });
|
|
168
179
|
}
|
|
169
180
|
catch (e) {
|
|
@@ -213,7 +224,7 @@ export const EdaVectorDataProvider = ({ api, children }) => {
|
|
|
213
224
|
loading.updateLoading({ loadingItem: vector.DisplayName ?? "" });
|
|
214
225
|
if (dataState.loadedData.type === 3 && vector.Prescription !== undefined) {
|
|
215
226
|
result[vector.ID] = {
|
|
216
|
-
data: await safeCalcVectorValues(vector
|
|
227
|
+
data: await safeCalcVectorValues(vector, btWindow, etWindow, sampling),
|
|
217
228
|
from: btWindow,
|
|
218
229
|
to: etWindow,
|
|
219
230
|
sampling: sampling,
|
|
@@ -221,7 +232,7 @@ export const EdaVectorDataProvider = ({ api, children }) => {
|
|
|
221
232
|
}
|
|
222
233
|
else {
|
|
223
234
|
result[vector.ID] = {
|
|
224
|
-
data: await safeReadVectorValues(vector
|
|
235
|
+
data: await safeReadVectorValues(vector, btWindow, etWindow, sampling),
|
|
225
236
|
from: btWindow,
|
|
226
237
|
to: etWindow,
|
|
227
238
|
sampling: sampling,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaVectorDataProvider.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/edaVectorDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, PropsWithChildren, useCallback, useRef, useState} from \"react\";\r\nimport EdaManagerApi, {TreeItem, TreeItemsResult, VectorValuesData} from \"../../../../api/eda/edaManagerApi\";\r\nimport {EdaVectorDataContext, EdaVectorDataState, VectorDataState} from \"./edaVectorDataContext\";\r\nimport {useSampleRange} from \"./sharedSampleRangeContext\";\r\nimport {EdaSamplingType, EdaVectorType, IdType, TypedData} from \"../constants/edaTypes\";\r\nimport {useLoading} from \"./loadingContext\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {App} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {useEdaConfig} from \"./edaConfigContext\";\r\n\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n}\r\n\r\nexport const EdaVectorDataProvider: FC<PropsWithChildren<Props>> = ({api, children}) => {\r\n const {detail} = useEdaConfig();\r\n const {message} = App.useApp();\r\n const range = useSampleRange();\r\n const loading = useLoading();\r\n\r\n const lastRequestId = useRef(0);\r\n const loadingRef = useRef(false);\r\n\r\n const [dataState, setDataState] = useState<EdaVectorDataState>({\r\n data: {},\r\n vectors: [],\r\n visible: new Set<number>(),\r\n initialized: false,\r\n });\r\n\r\n const safeReadVectorValues = useCallback(async (id: number, name: string, from: dayjs.Dayjs, to: dayjs.Dayjs, step: EdaSamplingType): Promise<VectorValuesData> => {\r\n try {\r\n return await api.readVectorValues(id, from, to, step);\r\n } catch (e: any) {\r\n message.warning(<span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: name, e: e?.value})}</span>);\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }, [api, message]);\r\n\r\n const safeCalcVectorValues = useCallback(async (type: EdaVectorType, prescription: string, name: string, from: dayjs.Dayjs, to: dayjs.Dayjs, step: EdaSamplingType): Promise<VectorValuesData> => {\r\n try {\r\n return await api.calcValuesForUnsavedVector(type, prescription, from, to, step);\r\n } catch (e: any) {\r\n message.warning(<span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: name, e: e?.value})}</span>);\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }, [api, message]);\r\n\r\n const cancelLoading = useCallback(async () => {\r\n await api.cancelSession();\r\n }, [api]);\r\n\r\n const cancelLoadingAll = useCallback(async () => {\r\n loadingRef.current = false;\r\n await api.cancelSession();\r\n }, [api]);\r\n\r\n const loadAllData = useCallback(async (data: TypedData) => {\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, vectors: [], loadedData: data, loadedRange: range}));\r\n loading.startLoading(cancelLoading, cancelLoadingAll);\r\n\r\n try {\r\n const {btTotal, etTotal, sampling, vectorPage} = range;\r\n const result: { [id: number]: VectorDataState } = {};\r\n const columns: TreeItem[] = [];\r\n const visible: Set<number> = new Set<number>();\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n switch (data.type) {\r\n case IdType.GROUP:\r\n case IdType.SCENARIO: {\r\n let vectors: TreeItemsResult;\r\n\r\n if (range.vectors) {\r\n vectors = {items: range.vectors, leftCount: 0}\r\n } else {\r\n try {\r\n if (data.type === IdType.GROUP) {\r\n vectors = await api.getGroupVectors(data.data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);\r\n } else {\r\n vectors = await api.getScenarioVectors(data.data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n vectors = {items: [], leftCount: 0};\r\n }\r\n\r\n loading.updateLoading({loadingCount: vectors.items.length});\r\n\r\n if (range.vectorPage === 1) {\r\n range.updateTotalCount(vectors.items.length + vectors.leftCount);\r\n }\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n }\r\n\r\n for (const vector of vectors.items) {\r\n columns.push(vector);\r\n visible.add(vector.ID);\r\n }\r\n\r\n for (let i = 0; i < vectors.items.length; i++) {\r\n const vector = vectors.items[i];\r\n\r\n loading.updateLoading({loadingItem: vector.DisplayName ?? \"\"});\r\n\r\n const valuesData: VectorValuesData = await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling);\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n\r\n result[vector.ID] = {\r\n data: valuesData,\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n\r\n loading.updateLoading({loadingPercentage: (i + 1) / vectors.items.length * 100});\r\n }\r\n\r\n break;\r\n }\r\n case IdType.VECTOR: {\r\n const column = data.data.data;\r\n const id = data.data.data.ID_VEKTOR;\r\n\r\n loading.updateLoading({loadingCount: 1, loadingItem: column.ZOBRAZ_MENO})\r\n result[id] = {\r\n data: await safeReadVectorValues(id, column.ZOBRAZ_MENO, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n visible.add(column.ID_VEKTOR);\r\n columns.push({\r\n ID: column.ID_VEKTOR,\r\n DisplayName: column.ZOBRAZ_MENO,\r\n Name: column.MENO,\r\n ParentID: column.ID_SKVEKTOR,\r\n Path: \"\",\r\n Type: column.TYP,\r\n Units: column.TECH_JEDNOTKY,\r\n RoundingType: column.VIEW_ROUND,\r\n RoundingPlaces: column.VIEW_DEC_PL\r\n });\r\n\r\n break;\r\n }\r\n case IdType.SET: {\r\n for (let item of data.data) {\r\n visible.add(item.ID);\r\n columns.push(item);\r\n\r\n if (item.Prescription === undefined) {\r\n result[item.ID] = {\r\n data: await safeReadVectorValues(item.ID, item.DisplayName, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n } else {\r\n result[item.ID] = {\r\n data: await safeCalcVectorValues(item.Type, item.Prescription, item.DisplayName, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, vectors: columns, visible: visible}));\r\n loading.updateLoading({loadingPercentage: 100});\r\n } catch (e) {\r\n console.error(\"Failed to load all data\", e);\r\n await api.cancelSession();\r\n } finally {\r\n if (requestId === lastRequestId.current) {\r\n setDataState((s): EdaVectorDataState => ({...s, initialized: true}));\r\n loading.stopLoading();\r\n }\r\n\r\n loadingRef.current = false;\r\n }\r\n }, [api, cancelLoading, cancelLoadingAll, detail, loading, range, safeCalcVectorValues, safeReadVectorValues]);\r\n\r\n const loadSpecificVectors = useCallback(async (vectors: TreeItem[], forceUpdate?: boolean) => {\r\n const {btTotal, etTotal, sampling} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (!forceUpdate) {\r\n vectors = vectors.filter((vector) => {\r\n const loadedVector = dataState.data[vector.ID];\r\n\r\n if (!loadedVector) {\r\n return true;\r\n }\r\n\r\n return !loadedVector.from.isSame(btWindow) || !loadedVector.to.isSame(etWindow) || loadedVector.sampling !== sampling;\r\n });\r\n }\r\n\r\n if (vectors.length === 0 || !dataState.loadedData) {\r\n return;\r\n }\r\n\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, loadedRange: range}));\r\n loading.startLoading(cancelLoading, cancelLoadingAll);\r\n\r\n try {\r\n const result: { [id: number]: VectorDataState } = {...dataState.data};\r\n const visible = new Set(dataState.visible);\r\n\r\n loading.updateLoading({loadingPercentage: 0, loadingCount: vectors.length});\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.length; i++) {\r\n const vector = vectors[i];\r\n\r\n loading.updateLoading({loadingItem: vector.DisplayName ?? \"\"});\r\n\r\n if (dataState.loadedData.type === IdType.SET && vector.Prescription !== undefined) {\r\n result[vector.ID] = {\r\n data: await safeCalcVectorValues(vector.Type, vector.Prescription, vector.DisplayName, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n } else {\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n }\r\n\r\n visible.add(vector.ID);\r\n loading.updateLoading({loadingPercentage: (i + 1) / vectors.length * 100});\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n }\r\n\r\n loading.updateLoading({loadingPercentage: 100});\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, visible}));\r\n } catch (e) {\r\n console.log(\"Failed to load specific vectors\", e);\r\n await api.cancelSession();\r\n } finally {\r\n loadingRef.current = false;\r\n loading.stopLoading();\r\n }\r\n }, [range, detail, dataState.loadedData, dataState.data, dataState.visible, loading, cancelLoading, cancelLoadingAll, safeReadVectorValues, safeCalcVectorValues, api]);\r\n\r\n const toggleVectorVisibility = useCallback(async (id: number, visible: boolean) => {\r\n setDataState((prev) => {\r\n const state = prev.data[id];\r\n const visibleSet = new Set<number>(prev.visible);\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (visible) {\r\n if (needsLoadData) {\r\n loadSpecificVectors(prev.vectors.filter((v) => v.ID === id));\r\n }\r\n\r\n visibleSet.add(id);\r\n } else {\r\n visibleSet.delete(id);\r\n }\r\n\r\n return {...prev, visible: visibleSet};\r\n });\r\n }, [range, detail?.showTimeWindow, loadSpecificVectors]);\r\n\r\n const setAllVectorVisibility = useCallback(async (visible: boolean) => {\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (visible) {\r\n const toLoad: TreeItem[] = [];\r\n const visibleSet = new Set<number>(dataState.visible);\r\n\r\n for (let vector of dataState.vectors) {\r\n const id = vector.ID;\r\n const state = dataState.data[id];\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (needsLoadData) {\r\n toLoad.push(vector);\r\n }\r\n\r\n visibleSet.add(id);\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, visible: visibleSet}));\r\n await loadSpecificVectors(toLoad);\r\n } else {\r\n setDataState((s): EdaVectorDataState => ({...s, visible: new Set<number>()}));\r\n }\r\n }, [range, dataState.vectors, dataState.data, loadSpecificVectors, dataState.visible, detail?.showTimeWindow]);\r\n\r\n return (\r\n <EdaVectorDataContext.Provider\r\n value={{\r\n ...dataState,\r\n loadAllData,\r\n loadSpecificVectors,\r\n toggleVectorVisibility,\r\n setAllVectorVisibility,\r\n }}\r\n >\r\n {children}\r\n </EdaVectorDataContext.Provider>\r\n )\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"edaVectorDataProvider.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/edaVectorDataProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwB,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAElF,OAAO,EAAe,oBAAoB,EAAsC,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAkB,iBAAiB,EAAoB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;AACzB,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAMhD,MAAM,CAAC,MAAM,qBAAqB,GAAiC,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAC,EAAE,EAAE;IACnF,MAAM,EAAC,MAAM,EAAC,GAAG,YAAY,EAAE,CAAC;IAChC,MAAM,EAAC,OAAO,EAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAqB;QAC3D,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,IAAI,GAAG,EAAU;QAC1B,WAAW,EAAE,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,WAAW,CAAC,KAAK,EAAE,MAAgB,EAAE,IAAiB,EAAE,EAAe,EAAE,IAAqB,EAA6B,EAAE;QACtJ,IAAI,CAAC;YACD,OAAO,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,OAAO,CAAC,kCAAO,IAAI,CAAC,+CAA+C,EAAE,EAAC,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAC,CAAC,CAAQ,CAAC,CAAC;YAC5H,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO;gBACH,IAAI,EAAE,EAAE;aACX,CAAC;QACN,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnB,MAAM,oBAAoB,GAAG,WAAW,CAAC,KAAK,EAAE,MAAgB,EAAE,IAAiB,EAAE,EAAe,EAAE,IAAqB,EAA6B,EAAE;QACtJ,IAAI,CAAC;YACD,OAAO,MAAM,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACd,OAAO,CAAC,OAAO,CAAC,kCAAO,IAAI,CAAC,+CAA+C,EAAE,EAAC,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAC,CAAC,CAAQ,CAAC,CAAC;YAC5H,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO;gBACH,IAAI,EAAE,EAAE;aACX,CAAC;QACN,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnB,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACzC,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC5C,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC3B,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,EAAE,IAAe,EAAE,EAAE;QACtD,MAAM,SAAS,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC;QAE1C,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;QACrG,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAEtD,IAAI,CAAC;YACD,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAC,GAAG,KAAK,CAAC;YACvD,MAAM,MAAM,GAAsC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAmB,EAAE,CAAC;YACnC,MAAM,OAAO,GAAgB,IAAI,GAAG,EAAU,CAAC;YAC/C,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;YAEjC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBAC1B,QAAQ,GAAG,OAAO,CAAC;gBACnB,QAAQ,GAAG,OAAO,CAAC;YACvB,CAAC;YAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChB,OAAkB;gBAClB,MAAoB,CAAC,CAAC,CAAC;oBACnB,IAAI,aAA8B,CAAC;oBAEnC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAChB,aAAa,GAAG,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,EAAC,CAAA;oBACxD,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC;4BACD,IAAI,IAAI,CAAC,IAAI,MAAiB,EAAE,CAAC;gCAC7B,aAAa,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC3G,CAAC;iCAAM,CAAC;gCACJ,aAAa,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;4BAC7H,CAAC;wBACL,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BACrB,aAAa,GAAG,EAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;wBAC9C,CAAC;wBAED,OAAO,CAAC,aAAa,CAAC,EAAC,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;wBAElE,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;4BACzB,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;wBACjF,CAAC;wBAED,IAAI,SAAS,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;4BACtC,OAAO;wBACX,CAAC;oBACL,CAAC;oBAED,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;wBACvC,OAAO,CAAC,IAAI,CAAC,EAAC,GAAG,MAAM,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;wBAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC3B,CAAC;oBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAClD,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAEtC,OAAO,CAAC,aAAa,CAAC,EAAC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAC,CAAC,CAAC;wBAE/D,MAAM,UAAU,GAAqB,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBAEtG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;4BACtB,MAAM;wBACV,CAAC;wBAED,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;4BAChB,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,QAAQ;4BACd,EAAE,EAAE,QAAQ;4BACZ,QAAQ,EAAE,QAAQ;yBACrB,CAAA;wBAED,OAAO,CAAC,aAAa,CAAC,EAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAC,CAAC,CAAC;oBAC3F,CAAC;oBAED,MAAM;gBACV,CAAC;gBACD,MAAkB,CAAC,CAAC,CAAC;oBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9B,MAAM,MAAM,GAAiB;wBACzB,EAAE,EAAE,MAAM,CAAC,SAAS;wBACpB,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,MAAM,CAAC,WAAW;wBAC5B,IAAI,EAAE,EAAE;wBACR,IAAI,EAAE,MAAM,CAAC,GAAG;wBAChB,KAAK,EAAE,MAAM,CAAC,aAAa;wBAC3B,YAAY,EAAE,MAAM,CAAC,UAAU;wBAC/B,cAAc,EAAE,MAAM,CAAC,WAAW;wBAClC,UAAU,EAAE,MAAM,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ;wBAC1D,SAAS,EAAE,KAAK;qBACnB,CAAA;oBAED,OAAO,CAAC,aAAa,CAAC,EAAC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAC,CAAC,CAAA;oBACzE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;wBAChB,IAAI,EAAE,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBACtE,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,QAAQ;wBACZ,QAAQ,EAAE,QAAQ;qBACrB,CAAC;oBAEF,IAAI,SAAS,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;wBACtC,OAAO;oBACX,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAErB,MAAM;gBACV,CAAC;gBACD,MAAe,CAAC,CAAC,CAAC;oBACd,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;4BAC5B,MAAM,EAAE,GAAG,KAAK,CAAC;4BAEjB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;4BAErC,IAAI,CAAC,IAAI,EAAE,CAAC;gCACR,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAA;gCACtC,SAAS;4BACb,CAAC;4BAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAChB,OAAO,CAAC,IAAI,CAAC,EAAC,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;4BAE1C,MAAM,CAAC,EAAE,CAAC,GAAG;gCACT,IAAI,EAAE,MAAM,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gCACpE,IAAI,EAAE,QAAQ;gCACd,EAAE,EAAE,QAAQ;gCACZ,QAAQ,EAAE,QAAQ;6BACrB,CAAA;wBACL,CAAC;6BAAM,CAAC;4BACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BACtB,OAAO,CAAC,IAAI,CAAC,EAAC,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;4BAE1C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;gCACf,IAAI,EAAE,MAAM,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gCACrE,IAAI,EAAE,QAAQ;gCACd,EAAE,EAAE,QAAQ;gCACZ,QAAQ,EAAE,QAAQ;6BACrB,CAAA;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,YAAY,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,aAAa,CAAC,EAAC,iBAAiB,EAAE,GAAG,EAAC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;YAC5C,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACP,IAAI,SAAS,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gBACtC,YAAY,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;gBACrE,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1B,CAAC;YAED,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC/B,CAAC;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE/G,MAAM,mBAAmB,GAAG,WAAW,CAAC,KAAK,EAAE,OAAmB,EAAE,WAAqB,EAAE,EAAE;QACzF,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;QAC3C,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;QAEjC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YAC1B,QAAQ,GAAG,OAAO,CAAC;YACnB,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChC,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAE/C,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,KAAK,QAAQ,CAAC;YAC1H,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAChD,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,aAAa,CAAC,OAAO,CAAC;QAE1C,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,YAAY,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;QAEtD,IAAI,CAAC;YACD,MAAM,MAAM,GAAsC,EAAC,GAAG,SAAS,CAAC,IAAI,EAAC,CAAC;YACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE3C,OAAO,CAAC,aAAa,CAAC,EAAC,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,CAAC;YAE5E,IAAI,SAAS,KAAK,aAAa,CAAC,OAAO,EAAE,CAAC;gBACtC,OAAO;YACX,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAE1B,OAAO,CAAC,aAAa,CAAC,EAAC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,EAAC,CAAC,CAAC;gBAE/D,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,MAAe,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBAChF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;wBAChB,IAAI,EAAE,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBACtE,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,QAAQ;wBACZ,QAAQ,EAAE,QAAQ;qBACrB,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;wBAChB,IAAI,EAAE,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBACtE,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,QAAQ;wBACZ,QAAQ,EAAE,QAAQ;qBACrB,CAAC;gBACN,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,CAAC,aAAa,CAAC,EAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,GAAG,EAAC,CAAC,CAAC;gBAE3E,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM;gBACV,CAAC;YACL,CAAC;YAED,OAAO,CAAC,aAAa,CAAC,EAAC,iBAAiB,EAAE,GAAG,EAAC,CAAC,CAAC;YAChD,YAAY,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;YAClD,MAAM,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACP,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;YAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;IAExK,MAAM,sBAAsB,GAAG,WAAW,CAAC,KAAK,EAAE,EAAU,EAAE,OAAgB,EAAE,EAAE;QAC9E,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,OAAO,CAAC,CAAC;YACjD,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC;YACjC,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;YAEjC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBAC1B,QAAQ,GAAG,OAAO,CAAC;gBACnB,QAAQ,GAAG,OAAO,CAAC;YACvB,CAAC;YAED,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEjF,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,aAAa,EAAE,CAAC;oBAChB,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACJ,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;YAED,OAAO,EAAC,GAAG,IAAI,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEzD,MAAM,sBAAsB,GAAG,WAAW,CAAC,KAAK,EAAE,OAAgB,EAAE,EAAE;QAClE,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,KAAK,CAAC;QACjC,IAAI,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,KAAK,CAAC;QAEjC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YAC1B,QAAQ,GAAG,OAAO,CAAC;YACnB,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,MAAM,GAAe,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,SAAS,CAAC,OAAO,CAAC,CAAC;YAEtD,KAAK,IAAI,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjC,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAEjF,IAAI,aAAa,EAAE,CAAC;oBAChB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;YAED,YAAY,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC,CAAC,CAAC;YACvE,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACJ,YAAY,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,EAAU,EAAC,CAAC,CAAC,CAAC;QAClF,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,EAAE,mBAAmB,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/G,OAAO,CACH,oBAAC,oBAAoB,CAAC,QAAQ,IAC1B,KAAK,EAAE;YACH,GAAG,SAAS;YACZ,WAAW;YACX,mBAAmB;YACnB,sBAAsB;YACtB,sBAAsB;SACzB,IAEA,QAAQ,CACmB,CACnC,CAAA;AACL,CAAC,CAAA","sourcesContent":["import React, {FC, PropsWithChildren, useCallback, useRef, useState} from \"react\";\r\nimport EdaManagerApi, {TreeItem, TreeItemsResult, VectorValuesData} from \"../../../../api/eda/edaManagerApi\";\r\nimport {DataTreeItem, EdaVectorDataContext, EdaVectorDataState, VectorDataState} from \"./edaVectorDataContext\";\r\nimport {useSampleRange} from \"./sharedSampleRangeContext\";\r\nimport {EdaSamplingType, EdaValueClassType, IdType, TypedData} from \"../constants/edaTypes\";\r\nimport {useLoading} from \"./loadingContext\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {App} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {useEdaConfig} from \"./edaConfigContext\";\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n}\r\n\r\nexport const EdaVectorDataProvider: FC<PropsWithChildren<Props>> = ({api, children}) => {\r\n const {detail} = useEdaConfig();\r\n const {message} = App.useApp();\r\n const range = useSampleRange();\r\n const loading = useLoading();\r\n\r\n const lastRequestId = useRef(0);\r\n const loadingRef = useRef(false);\r\n\r\n const [dataState, setDataState] = useState<EdaVectorDataState>({\r\n data: {},\r\n vectors: [],\r\n visible: new Set<number>(),\r\n initialized: false,\r\n });\r\n\r\n const safeReadVectorValues = useCallback(async (vector: TreeItem, from: dayjs.Dayjs, to: dayjs.Dayjs, step: EdaSamplingType): Promise<VectorValuesData> => {\r\n try {\r\n return await api.readVectorValues(vector.ID, from, to, step);\r\n } catch (e: any) {\r\n message.warning(<span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: vector.DisplayName, e: e?.value})}</span>);\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }, [api, message]);\r\n\r\n const safeCalcVectorValues = useCallback(async (vector: TreeItem, from: dayjs.Dayjs, to: dayjs.Dayjs, step: EdaSamplingType): Promise<VectorValuesData> => {\r\n try {\r\n return await api.calcValuesForUnsavedVector(vector.Type, vector.Prescription ?? \"\", from, to, step);\r\n } catch (e: any) {\r\n message.warning(<span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: vector.DisplayName, e: e?.value})}</span>);\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }, [api, message]);\r\n\r\n const cancelLoading = useCallback(async () => {\r\n await api.cancelSession();\r\n }, [api]);\r\n\r\n const cancelLoadingAll = useCallback(async () => {\r\n loadingRef.current = false;\r\n await api.cancelSession();\r\n }, [api]);\r\n\r\n const loadAllData = useCallback(async (data: TypedData) => {\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, vectors: [], loadedData: data, loadedRange: range}));\r\n loading.startLoading(cancelLoading, cancelLoadingAll);\r\n\r\n try {\r\n const {btTotal, etTotal, sampling, vectorPage} = range;\r\n const result: { [id: number]: VectorDataState } = {};\r\n const vectors: DataTreeItem[] = [];\r\n const visible: Set<number> = new Set<number>();\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n switch (data.type) {\r\n case IdType.GROUP:\r\n case IdType.SCENARIO: {\r\n let resultVectors: TreeItemsResult;\r\n\r\n if (range.vectors) {\r\n resultVectors = {items: range.vectors, leftCount: 0}\r\n } else {\r\n try {\r\n if (data.type === IdType.GROUP) {\r\n resultVectors = await api.getGroupVectors(data.data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);\r\n } else {\r\n resultVectors = await api.getScenarioVectors(data.data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n resultVectors = {items: [], leftCount: 0};\r\n }\r\n\r\n loading.updateLoading({loadingCount: resultVectors.items.length});\r\n\r\n if (range.vectorPage === 1) {\r\n range.updateTotalCount(resultVectors.items.length + resultVectors.leftCount);\r\n }\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n }\r\n\r\n for (const vector of resultVectors.items) {\r\n vectors.push({...vector, _isCustom: false});\r\n visible.add(vector.ID);\r\n }\r\n\r\n for (let i = 0; i < resultVectors.items.length; i++) {\r\n const vector = resultVectors.items[i];\r\n\r\n loading.updateLoading({loadingItem: vector.DisplayName ?? \"\"});\r\n\r\n const valuesData: VectorValuesData = await safeReadVectorValues(vector, btWindow, etWindow, sampling);\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n\r\n result[vector.ID] = {\r\n data: valuesData,\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n\r\n loading.updateLoading({loadingPercentage: (i + 1) / resultVectors.items.length * 100});\r\n }\r\n\r\n break;\r\n }\r\n case IdType.VECTOR: {\r\n const column = data.data.data;\r\n const vector: DataTreeItem = {\r\n ID: column.ID_VEKTOR,\r\n DisplayName: column.ZOBRAZ_MENO,\r\n Name: column.MENO,\r\n ParentID: column.ID_SKVEKTOR,\r\n Path: \"\",\r\n Type: column.TYP,\r\n Units: column.TECH_JEDNOTKY,\r\n RoundingType: column.VIEW_ROUND,\r\n RoundingPlaces: column.VIEW_DEC_PL,\r\n IsIntegral: column.INTEGRAL === EdaValueClassType.Integral,\r\n _isCustom: false,\r\n }\r\n\r\n loading.updateLoading({loadingCount: 1, loadingItem: vector.DisplayName})\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n visible.add(vector.ID);\r\n vectors.push(vector);\r\n\r\n break;\r\n }\r\n case IdType.SET: {\r\n for (let entry of data.data) {\r\n if (typeof entry === \"number\") {\r\n const id = entry;\r\n\r\n const item = await api.getVector(id);\r\n\r\n if (!item) {\r\n console.log(\"Invalid vector ID \" + id)\r\n continue;\r\n }\r\n\r\n visible.add(id);\r\n vectors.push({...item, _isCustom: false});\r\n\r\n result[id] = {\r\n data: await safeReadVectorValues(item, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n } else {\r\n visible.add(entry.ID);\r\n vectors.push({...entry, _isCustom: true});\r\n\r\n result[entry.ID] = {\r\n data: await safeCalcVectorValues(entry, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, vectors: vectors, visible: visible}));\r\n loading.updateLoading({loadingPercentage: 100});\r\n } catch (e) {\r\n console.error(\"Failed to load all data\", e);\r\n await api.cancelSession();\r\n } finally {\r\n if (requestId === lastRequestId.current) {\r\n setDataState((s): EdaVectorDataState => ({...s, initialized: true}));\r\n loading.stopLoading();\r\n }\r\n\r\n loadingRef.current = false;\r\n }\r\n }, [api, cancelLoading, cancelLoadingAll, detail, loading, range, safeCalcVectorValues, safeReadVectorValues]);\r\n\r\n const loadSpecificVectors = useCallback(async (vectors: TreeItem[], forceUpdate?: boolean) => {\r\n const {btTotal, etTotal, sampling} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (!forceUpdate) {\r\n vectors = vectors.filter((vector) => {\r\n const loadedVector = dataState.data[vector.ID];\r\n\r\n if (!loadedVector) {\r\n return true;\r\n }\r\n\r\n return !loadedVector.from.isSame(btWindow) || !loadedVector.to.isSame(etWindow) || loadedVector.sampling !== sampling;\r\n });\r\n }\r\n\r\n if (vectors.length === 0 || !dataState.loadedData) {\r\n return;\r\n }\r\n\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, loadedRange: range}));\r\n loading.startLoading(cancelLoading, cancelLoadingAll);\r\n\r\n try {\r\n const result: { [id: number]: VectorDataState } = {...dataState.data};\r\n const visible = new Set(dataState.visible);\r\n\r\n loading.updateLoading({loadingPercentage: 0, loadingCount: vectors.length});\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.length; i++) {\r\n const vector = vectors[i];\r\n\r\n loading.updateLoading({loadingItem: vector.DisplayName ?? \"\"});\r\n\r\n if (dataState.loadedData.type === IdType.SET && vector.Prescription !== undefined) {\r\n result[vector.ID] = {\r\n data: await safeCalcVectorValues(vector, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n } else {\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n }\r\n\r\n visible.add(vector.ID);\r\n loading.updateLoading({loadingPercentage: (i + 1) / vectors.length * 100});\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n }\r\n\r\n loading.updateLoading({loadingPercentage: 100});\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, visible}));\r\n } catch (e) {\r\n console.log(\"Failed to load specific vectors\", e);\r\n await api.cancelSession();\r\n } finally {\r\n loadingRef.current = false;\r\n loading.stopLoading();\r\n }\r\n }, [range, detail, dataState.loadedData, dataState.data, dataState.visible, loading, cancelLoading, cancelLoadingAll, safeReadVectorValues, safeCalcVectorValues, api]);\r\n\r\n const toggleVectorVisibility = useCallback(async (id: number, visible: boolean) => {\r\n setDataState((prev) => {\r\n const state = prev.data[id];\r\n const visibleSet = new Set<number>(prev.visible);\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (visible) {\r\n if (needsLoadData) {\r\n loadSpecificVectors(prev.vectors.filter((v) => v.ID === id));\r\n }\r\n\r\n visibleSet.add(id);\r\n } else {\r\n visibleSet.delete(id);\r\n }\r\n\r\n return {...prev, visible: visibleSet};\r\n });\r\n }, [range, detail?.showTimeWindow, loadSpecificVectors]);\r\n\r\n const setAllVectorVisibility = useCallback(async (visible: boolean) => {\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (visible) {\r\n const toLoad: TreeItem[] = [];\r\n const visibleSet = new Set<number>(dataState.visible);\r\n\r\n for (let vector of dataState.vectors) {\r\n const id = vector.ID;\r\n const state = dataState.data[id];\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (needsLoadData) {\r\n toLoad.push(vector);\r\n }\r\n\r\n visibleSet.add(id);\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, visible: visibleSet}));\r\n await loadSpecificVectors(toLoad);\r\n } else {\r\n setDataState((s): EdaVectorDataState => ({...s, visible: new Set<number>()}));\r\n }\r\n }, [range, dataState.vectors, dataState.data, loadSpecificVectors, dataState.visible, detail?.showTimeWindow]);\r\n\r\n return (\r\n <EdaVectorDataContext.Provider\r\n value={{\r\n ...dataState,\r\n loadAllData,\r\n loadSpecificVectors,\r\n toggleVectorVisibility,\r\n setAllVectorVisibility,\r\n }}\r\n >\r\n {children}\r\n </EdaVectorDataContext.Provider>\r\n )\r\n}\r\n"]}
|
|
@@ -6,7 +6,7 @@ import dayjs from "d2core/dayjs";
|
|
|
6
6
|
import DateRangeInput, { DateRangeInputMode } from "d2coreui/components/date/dateRangeInput";
|
|
7
7
|
import { LocaleHolder } from "d2core/i18n/localeHolder";
|
|
8
8
|
import { useLoading } from "../context/loadingContext";
|
|
9
|
-
import { exportGroup, exportScenario, exportVector } from "./importExport/export";
|
|
9
|
+
import { CalculatedVectors, exportGroup, exportScenario, exportVector, SpecifiedVectors } from "./importExport/export";
|
|
10
10
|
import JSZip from "jszip";
|
|
11
11
|
import { EdaDialogTitle } from "../components/edaDialogTitle";
|
|
12
12
|
import { VectorTypeSelection } from "./importExport/vectorTypeSelection";
|
|
@@ -108,7 +108,7 @@ export const ExportDialog = ({ api, data, ...props }) => {
|
|
|
108
108
|
React.createElement(DateRangeInput, { mask: mask, disabled: !showExportRange, fromValue: watchValues?.from ?? null, toValue: watchValues?.to ?? null, defaultMode: DateRangeInputMode.ADVANCED, onChange: (from, to) => {
|
|
109
109
|
form.setFieldsValue({ from: from ?? undefined, to: to ?? undefined });
|
|
110
110
|
} })))),
|
|
111
|
-
data.type !== 0 && (React.createElement(VectorTypeSelection,
|
|
111
|
+
data.type !== 0 && (React.createElement(VectorTypeSelection, { vectorTypes: form.getFieldValue("vectorTypes") ?? {}, onSelectAllSpecified: (selected) => form.setFieldsValue({ vectorTypes: SpecifiedVectors.reduce((acc, vector) => ({ ...acc, [vector]: selected }), {}) }), onSelectAllCalculated: (selected) => form.setFieldsValue({ vectorTypes: CalculatedVectors.reduce((acc, vector) => ({ ...acc, [vector]: selected }), {}) }) }))))));
|
|
112
112
|
};
|
|
113
113
|
function getTitle(type) {
|
|
114
114
|
switch (type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportDialog.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/dialogs/exportDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, MouseEvent, useEffect, useMemo} from \"react\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {App, Button, Card, Checkbox, Form, Input, Modal, ModalProps, Space} from \"antd\";\r\nimport {EdaVectorType, IdType, TypedData} from \"../constants/edaTypes\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport DateRangeInput, {DateRangeInputMode} from \"d2coreui/components/date/dateRangeInput\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport {useLoading} from \"../context/loadingContext\";\r\nimport {exportGroup, exportScenario, exportVector, XmlVectorExportConfig} from \"./importExport/export\";\r\nimport JSZip from \"jszip\";\r\nimport {EdaDialogTitle} from \"../components/edaDialogTitle\";\r\nimport {VectorTypeSelection} from \"./importExport/vectorTypeSelection\";\r\n\r\nconst DefaultConfiguration: XmlVectorExportConfig = {\r\n exportSubgroups: true,\r\n exportValues: true,\r\n vectorTypes: Object.values(EdaVectorType)\r\n .filter((v): v is EdaVectorType => typeof v === \"number\")\r\n .reduce((acc, type) => ({...acc, [type]: true}), {} as Record<EdaVectorType, boolean>)\r\n}\r\n\r\ninterface Props extends Omit<ModalProps, \"mode\"> {\r\n api: EdaManagerApi\r\n data: TypedData\r\n}\r\n\r\nexport const ExportDialog: FC<Props> = ({api, data, ...props}) => {\r\n const [form] = Form.useForm();\r\n const loading = useLoading();\r\n const watchValues = Form.useWatch<XmlVectorExportConfig>([], form);\r\n\r\n const {message} = App.useApp();\r\n\r\n const [showExportRange, setShowExportRange] = React.useState<boolean>(false);\r\n\r\n const mask = useMemo(() => LocaleHolder.getDateTimeFormat(true, false, false), []);\r\n\r\n useEffect(() => {\r\n if (!showExportRange) {\r\n form.setFieldsValue({form: undefined, to: undefined});\r\n }\r\n }, [showExportRange, form]);\r\n\r\n const handleExportData = async (event: MouseEvent<HTMLButtonElement>) => {\r\n const configuration: XmlVectorExportConfig = form.getFieldsValue();\r\n const resultData: [string, string][] = [];\r\n const controller = new AbortController();\r\n\r\n loading.startLoading(() => {\r\n controller.abort();\r\n loading.stopLoading();\r\n });\r\n\r\n try {\r\n switch (data.type) {\r\n case IdType.VECTOR:\r\n resultData.push(...(await exportVector(api, data.data, configuration, mask, loading, message, controller.signal)));\r\n break;\r\n case IdType.GROUP:\r\n resultData.push(...(await exportGroup(api, data.data, configuration, mask, loading, message, controller.signal)));\r\n break;\r\n case IdType.SCENARIO:\r\n resultData.push(...(await exportScenario(api, data.data, configuration, mask, loading, message, controller.signal)));\r\n break;\r\n }\r\n } catch (e) {\r\n loading.stopLoading();\r\n message.error(i18n(\"An error occurred while exporting data: %{n}\", {n: String(e)}));\r\n console.error(e);\r\n return;\r\n }\r\n\r\n if (resultData.length > 0) {\r\n try {\r\n const zip = new JSZip();\r\n\r\n for (const [filename, content] of resultData) {\r\n zip.file(filename + \".xml\", content);\r\n }\r\n\r\n loading.updateLoading({loadingItem: i18n(\"Compressing data, please wait...\")})\r\n\r\n const zipBlob = await zip.generateAsync({type: \"blob\"});\r\n\r\n if (controller.signal.aborted) {\r\n return;\r\n }\r\n\r\n const url = window.URL.createObjectURL(zipBlob);\r\n const link = document.createElement(\"a\");\r\n\r\n link.href = url;\r\n link.setAttribute('download', `export_${dayjs().format(mask)}.zip`);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n } catch (e) {\r\n message.error(i18n(\"An error occurred while exporting data: %{n}\", {n: String(e)}));\r\n }\r\n } else {\r\n message.info(i18n(\"Nothing to export.\"));\r\n }\r\n\r\n loading.stopLoading();\r\n props.onOk?.(event);\r\n }\r\n\r\n if (data.type === IdType.SET) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n <Modal\r\n {...props}\r\n styles={{body: {paddingTop: 0}}}\r\n title={<EdaDialogTitle title={getTitle(data.type)} name={data.data.data.ZOBRAZ_MENO} code={data.data.data.MENO}/>}\r\n footer={(\r\n <>\r\n <Button\r\n type=\"primary\"\r\n onClick={handleExportData}\r\n >\r\n {i18n(\"Export\")}\r\n </Button>\r\n <Button\r\n danger\r\n onClick={props?.onCancel}\r\n >\r\n {i18n(\"Cancel\")}\r\n </Button>\r\n </>\r\n )}\r\n >\r\n <Form<XmlVectorExportConfig>\r\n form={form}\r\n initialValues={DefaultConfiguration}\r\n >\r\n <Space direction={\"vertical\"} style={{width: '100%'}}>\r\n <Card title={i18n(\"Export Parameters\")}>\r\n <Space direction=\"vertical\">\r\n {data.type !== IdType.VECTOR && (\r\n <Form.Item\r\n name={\"exportSubgroups\"}\r\n valuePropName={\"checked\"}\r\n noStyle\r\n >\r\n <Checkbox>{i18n(\"Export all subgroups\")}</Checkbox>\r\n </Form.Item>\r\n )}\r\n <Form.Item\r\n name={\"exportValues\"}\r\n valuePropName={\"checked\"}\r\n noStyle\r\n >\r\n <Checkbox>{i18n(\"Export values\")}</Checkbox>\r\n </Form.Item>\r\n <Checkbox\r\n checked={showExportRange}\r\n onChange={(e) => setShowExportRange(e.target.checked)}\r\n >\r\n {i18n(\"Export range for export values\")}\r\n </Checkbox>\r\n <Form.Item name=\"from\" hidden>\r\n <Input type={\"hidden\"} />\r\n </Form.Item>\r\n <Form.Item name=\"to\" hidden>\r\n <Input type={\"hidden\"}/>\r\n </Form.Item>\r\n <Form.Item noStyle>\r\n <DateRangeInput\r\n mask={mask}\r\n disabled={!showExportRange}\r\n fromValue={watchValues?.from ?? null}\r\n toValue={watchValues?.to ?? null}\r\n defaultMode={DateRangeInputMode.ADVANCED}\r\n onChange={(from, to) => {\r\n form.setFieldsValue({from: from ?? undefined, to: to ?? undefined});\r\n }}\r\n />\r\n </Form.Item>\r\n </Space>\r\n </Card>\r\n {data.type !== IdType.VECTOR && (\r\n <VectorTypeSelection />\r\n )}\r\n </Space>\r\n </Form>\r\n </Modal>\r\n );\r\n}\r\n\r\nfunction getTitle(type: IdType) {\r\n switch (type) {\r\n case IdType.VECTOR:\r\n return i18n(\"Export EDA Vector\");\r\n case IdType.GROUP:\r\n return i18n(\"Export EDA Group\");\r\n case IdType.SCENARIO:\r\n return i18n(\"Export EDA Scenario\");\r\n case IdType.SET:\r\n return \"Unsupported\";\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"exportDialog.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/dialogs/exportDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, MouseEvent, useEffect, useMemo} from \"react\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {App, Button, Card, Checkbox, Form, Input, Modal, ModalProps, Space} from \"antd\";\r\nimport {EdaVectorType, IdType, TypedData} from \"../constants/edaTypes\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport DateRangeInput, {DateRangeInputMode} from \"d2coreui/components/date/dateRangeInput\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport {useLoading} from \"../context/loadingContext\";\r\nimport {CalculatedVectors, exportGroup, exportScenario, exportVector, SpecifiedVectors, XmlVectorExportConfig} from \"./importExport/export\";\r\nimport JSZip from \"jszip\";\r\nimport {EdaDialogTitle} from \"../components/edaDialogTitle\";\r\nimport {VectorTypeSelection} from \"./importExport/vectorTypeSelection\";\r\n\r\nconst DefaultConfiguration: XmlVectorExportConfig = {\r\n exportSubgroups: true,\r\n exportValues: true,\r\n vectorTypes: Object.values(EdaVectorType)\r\n .filter((v): v is EdaVectorType => typeof v === \"number\")\r\n .reduce((acc, type) => ({...acc, [type]: true}), {} as Record<EdaVectorType, boolean>)\r\n}\r\n\r\ninterface Props extends Omit<ModalProps, \"mode\"> {\r\n api: EdaManagerApi\r\n data: TypedData\r\n}\r\n\r\nexport const ExportDialog: FC<Props> = ({api, data, ...props}) => {\r\n const [form] = Form.useForm();\r\n const loading = useLoading();\r\n const watchValues = Form.useWatch<XmlVectorExportConfig>([], form);\r\n\r\n const {message} = App.useApp();\r\n\r\n const [showExportRange, setShowExportRange] = React.useState<boolean>(false);\r\n\r\n const mask = useMemo(() => LocaleHolder.getDateTimeFormat(true, false, false), []);\r\n\r\n useEffect(() => {\r\n if (!showExportRange) {\r\n form.setFieldsValue({form: undefined, to: undefined});\r\n }\r\n }, [showExportRange, form]);\r\n\r\n const handleExportData = async (event: MouseEvent<HTMLButtonElement>) => {\r\n const configuration: XmlVectorExportConfig = form.getFieldsValue();\r\n const resultData: [string, string][] = [];\r\n const controller = new AbortController();\r\n\r\n loading.startLoading(() => {\r\n controller.abort();\r\n loading.stopLoading();\r\n });\r\n\r\n try {\r\n switch (data.type) {\r\n case IdType.VECTOR:\r\n resultData.push(...(await exportVector(api, data.data, configuration, mask, loading, message, controller.signal)));\r\n break;\r\n case IdType.GROUP:\r\n resultData.push(...(await exportGroup(api, data.data, configuration, mask, loading, message, controller.signal)));\r\n break;\r\n case IdType.SCENARIO:\r\n resultData.push(...(await exportScenario(api, data.data, configuration, mask, loading, message, controller.signal)));\r\n break;\r\n }\r\n } catch (e) {\r\n loading.stopLoading();\r\n message.error(i18n(\"An error occurred while exporting data: %{n}\", {n: String(e)}));\r\n console.error(e);\r\n return;\r\n }\r\n\r\n if (resultData.length > 0) {\r\n try {\r\n const zip = new JSZip();\r\n\r\n for (const [filename, content] of resultData) {\r\n zip.file(filename + \".xml\", content);\r\n }\r\n\r\n loading.updateLoading({loadingItem: i18n(\"Compressing data, please wait...\")})\r\n\r\n const zipBlob = await zip.generateAsync({type: \"blob\"});\r\n\r\n if (controller.signal.aborted) {\r\n return;\r\n }\r\n\r\n const url = window.URL.createObjectURL(zipBlob);\r\n const link = document.createElement(\"a\");\r\n\r\n link.href = url;\r\n link.setAttribute('download', `export_${dayjs().format(mask)}.zip`);\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n } catch (e) {\r\n message.error(i18n(\"An error occurred while exporting data: %{n}\", {n: String(e)}));\r\n }\r\n } else {\r\n message.info(i18n(\"Nothing to export.\"));\r\n }\r\n\r\n loading.stopLoading();\r\n props.onOk?.(event);\r\n }\r\n\r\n if (data.type === IdType.SET) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n <Modal\r\n {...props}\r\n styles={{body: {paddingTop: 0}}}\r\n title={<EdaDialogTitle title={getTitle(data.type)} name={data.data.data.ZOBRAZ_MENO} code={data.data.data.MENO}/>}\r\n footer={(\r\n <>\r\n <Button\r\n type=\"primary\"\r\n onClick={handleExportData}\r\n >\r\n {i18n(\"Export\")}\r\n </Button>\r\n <Button\r\n danger\r\n onClick={props?.onCancel}\r\n >\r\n {i18n(\"Cancel\")}\r\n </Button>\r\n </>\r\n )}\r\n >\r\n <Form<XmlVectorExportConfig>\r\n form={form}\r\n initialValues={DefaultConfiguration}\r\n >\r\n <Space direction={\"vertical\"} style={{width: '100%'}}>\r\n <Card title={i18n(\"Export Parameters\")}>\r\n <Space direction=\"vertical\">\r\n {data.type !== IdType.VECTOR && (\r\n <Form.Item\r\n name={\"exportSubgroups\"}\r\n valuePropName={\"checked\"}\r\n noStyle\r\n >\r\n <Checkbox>{i18n(\"Export all subgroups\")}</Checkbox>\r\n </Form.Item>\r\n )}\r\n <Form.Item\r\n name={\"exportValues\"}\r\n valuePropName={\"checked\"}\r\n noStyle\r\n >\r\n <Checkbox>{i18n(\"Export values\")}</Checkbox>\r\n </Form.Item>\r\n <Checkbox\r\n checked={showExportRange}\r\n onChange={(e) => setShowExportRange(e.target.checked)}\r\n >\r\n {i18n(\"Export range for export values\")}\r\n </Checkbox>\r\n <Form.Item name=\"from\" hidden>\r\n <Input type={\"hidden\"} />\r\n </Form.Item>\r\n <Form.Item name=\"to\" hidden>\r\n <Input type={\"hidden\"}/>\r\n </Form.Item>\r\n <Form.Item noStyle>\r\n <DateRangeInput\r\n mask={mask}\r\n disabled={!showExportRange}\r\n fromValue={watchValues?.from ?? null}\r\n toValue={watchValues?.to ?? null}\r\n defaultMode={DateRangeInputMode.ADVANCED}\r\n onChange={(from, to) => {\r\n form.setFieldsValue({from: from ?? undefined, to: to ?? undefined});\r\n }}\r\n />\r\n </Form.Item>\r\n </Space>\r\n </Card>\r\n {data.type !== IdType.VECTOR && (\r\n <VectorTypeSelection\r\n vectorTypes={form.getFieldValue(\"vectorTypes\") ?? {}}\r\n onSelectAllSpecified={(selected) => form.setFieldsValue({vectorTypes: SpecifiedVectors.reduce((acc, vector) => ({...acc, [vector]: selected}), {})})}\r\n onSelectAllCalculated={(selected) => form.setFieldsValue({vectorTypes: CalculatedVectors.reduce((acc, vector) => ({...acc, [vector]: selected}), {})})}\r\n />\r\n )}\r\n </Space>\r\n </Form>\r\n </Modal>\r\n );\r\n}\r\n\r\nfunction getTitle(type: IdType) {\r\n switch (type) {\r\n case IdType.VECTOR:\r\n return i18n(\"Export EDA Vector\");\r\n case IdType.GROUP:\r\n return i18n(\"Export EDA Group\");\r\n case IdType.SCENARIO:\r\n return i18n(\"Export EDA Scenario\");\r\n case IdType.SET:\r\n return \"Unsupported\";\r\n }\r\n}"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
2
2
|
import { createStyles } from "antd-style";
|
|
3
|
-
import { Button, Card, Checkbox, Col, Flex, Form, Radio, Row, Tabs, theme, Tree, Upload } from "antd";
|
|
3
|
+
import { Button, Card, Checkbox, Col, Flex, Form, Input, Radio, Row, Tabs, theme, Tree, Upload } from "antd";
|
|
4
4
|
import { EdaVectorType } from "../constants/edaTypes";
|
|
5
5
|
import i18n from "d2core/i18n/i18n";
|
|
6
6
|
import { EdaDialogTitle } from "../components/edaDialogTitle";
|
|
@@ -12,6 +12,7 @@ import JSZip from "jszip";
|
|
|
12
12
|
import { VectorTypeSelection } from "./importExport/vectorTypeSelection";
|
|
13
13
|
import { EdaImportValidationStatus, importData, LocationType, Setting } from "./importExport/import";
|
|
14
14
|
import ExtendedDataGrid from "d2coreui/components/grid/extendedDataGrid";
|
|
15
|
+
import { CalculatedVectors, SpecifiedVectors } from "./importExport/export";
|
|
15
16
|
const useStyles = createStyles(({ css, token }) => {
|
|
16
17
|
return {
|
|
17
18
|
baseLayout: css `
|
|
@@ -58,7 +59,14 @@ const DefaultConfiguration = {
|
|
|
58
59
|
settings: [],
|
|
59
60
|
vectorTypes: Object.values(EdaVectorType)
|
|
60
61
|
.filter((v) => typeof v === "number")
|
|
61
|
-
.reduce((acc, type) => ({ ...acc, [type]: true }), {})
|
|
62
|
+
.reduce((acc, type) => ({ ...acc, [type]: true }), {}),
|
|
63
|
+
replace: {
|
|
64
|
+
search: "",
|
|
65
|
+
replace: "",
|
|
66
|
+
append: "",
|
|
67
|
+
changeCode: true,
|
|
68
|
+
changePrescription: true
|
|
69
|
+
}
|
|
62
70
|
};
|
|
63
71
|
export const ImportDialog = ({ api, data, ...props }) => {
|
|
64
72
|
const loading = useLoading();
|
|
@@ -66,6 +74,7 @@ export const ImportDialog = ({ api, data, ...props }) => {
|
|
|
66
74
|
const { message } = useApp();
|
|
67
75
|
const { token } = theme.useToken();
|
|
68
76
|
const [form] = Form.useForm();
|
|
77
|
+
Form.useWatch([], form);
|
|
69
78
|
const [fileList, setFileList] = useState([]);
|
|
70
79
|
const [treeData, setTreeData] = useState([]);
|
|
71
80
|
const [tableData, setTableData] = useState([]);
|
|
@@ -123,6 +132,27 @@ export const ImportDialog = ({ api, data, ...props }) => {
|
|
|
123
132
|
[field]: checked,
|
|
124
133
|
})));
|
|
125
134
|
}, []);
|
|
135
|
+
const handleReplace = useCallback(() => {
|
|
136
|
+
const config = form.getFieldsValue();
|
|
137
|
+
setTableData((prevData) => {
|
|
138
|
+
const updatedData = [...prevData];
|
|
139
|
+
for (let data of updatedData) {
|
|
140
|
+
if (config.replace.changeCode) {
|
|
141
|
+
if (config.replace.search) {
|
|
142
|
+
data.newName = data.newName.split(config.replace.search).join(config.replace.replace);
|
|
143
|
+
}
|
|
144
|
+
data.newName += config.replace.append;
|
|
145
|
+
}
|
|
146
|
+
if (config.replace.changePrescription) {
|
|
147
|
+
if (config.replace.search) {
|
|
148
|
+
data.newDisplayName = data.newDisplayName.split(config.replace.search).join(config.replace.replace) + config.replace.append;
|
|
149
|
+
}
|
|
150
|
+
data.newDisplayName += config.replace.append;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return updatedData;
|
|
154
|
+
});
|
|
155
|
+
}, [form]);
|
|
126
156
|
const allImport = tableData.every((d) => d.import);
|
|
127
157
|
const noImport = tableData.every((d) => !d.import);
|
|
128
158
|
const allImportValues = tableData.filter((d) => d.data.type === 0).every((d) => d.importValues);
|
|
@@ -331,9 +361,30 @@ export const ImportDialog = ({ api, data, ...props }) => {
|
|
|
331
361
|
React.createElement(Upload, { maxCount: 1, fileList: fileList, onRemove: () => setFileList([]), beforeUpload: handleBeforeUpload },
|
|
332
362
|
React.createElement(Button, { icon: React.createElement(UploadOutlined, null), disabled: fileList.length > 0 }, i18n("Select File")))))),
|
|
333
363
|
React.createElement(Col, { span: 8 },
|
|
334
|
-
React.createElement(VectorTypeSelection,
|
|
364
|
+
React.createElement(VectorTypeSelection, { vectorTypes: form.getFieldValue("vectorTypes") ?? {}, onSelectAllSpecified: (selected) => form.setFieldsValue({ vectorTypes: SpecifiedVectors.reduce((acc, vector) => ({ ...acc, [vector]: selected }), {}) }), onSelectAllCalculated: (selected) => form.setFieldsValue({ vectorTypes: CalculatedVectors.reduce((acc, vector) => ({ ...acc, [vector]: selected }), {}) }) })),
|
|
335
365
|
React.createElement(Col, { span: 8 },
|
|
336
|
-
React.createElement(Card, { title: i18n("Replace"), style: { height: '100%', display: 'flex', flexDirection: 'column' } }
|
|
366
|
+
React.createElement(Card, { title: i18n("Replace"), style: { height: '100%', display: 'flex', flexDirection: 'column' }, styles: { body: { flex: 1, display: "flex", flexDirection: 'column', gap: 8 } } },
|
|
367
|
+
React.createElement(Row, null,
|
|
368
|
+
React.createElement(Col, { span: 8 }, i18n("Search")),
|
|
369
|
+
React.createElement(Col, { span: 16 },
|
|
370
|
+
React.createElement(Form.Item, { noStyle: true, name: ["replace", "search"] },
|
|
371
|
+
React.createElement(Input, null)))),
|
|
372
|
+
React.createElement(Row, null,
|
|
373
|
+
React.createElement(Col, { span: 8 }, i18n("Replace with")),
|
|
374
|
+
React.createElement(Col, { span: 16 },
|
|
375
|
+
React.createElement(Form.Item, { noStyle: true, name: ["replace", "replace"] },
|
|
376
|
+
React.createElement(Input, null)))),
|
|
377
|
+
React.createElement(Row, null,
|
|
378
|
+
React.createElement(Col, { span: 8 }, i18n("Append")),
|
|
379
|
+
React.createElement(Col, { span: 16 },
|
|
380
|
+
React.createElement(Form.Item, { noStyle: true, name: ["replace", "append"] },
|
|
381
|
+
React.createElement(Input, null)))),
|
|
382
|
+
React.createElement(Form.Item, { name: ["replace", "changeCode"], valuePropName: "checked" },
|
|
383
|
+
React.createElement(Checkbox, null, i18n("Change codes"))),
|
|
384
|
+
React.createElement(Flex, null,
|
|
385
|
+
React.createElement(Form.Item, { style: { flex: "1 1 auto" }, name: ["replace", "changePrescription"], valuePropName: "checked" },
|
|
386
|
+
React.createElement(Checkbox, null, i18n("Change names"))),
|
|
387
|
+
React.createElement(Button, { onClick: handleReplace }, i18n("Apply")))))),
|
|
337
388
|
React.createElement(Tabs, { className: styles.tabs, type: "card", activeKey: activeTab, onChange: setActiveTab, tabBarExtraContent: {
|
|
338
389
|
right: (React.createElement(Button, { type: "primary", icon: React.createElement(ReloadOutlined, null), disabled: fileList.length === 0, onClick: handleUpload }, i18n("Upload")))
|
|
339
390
|
}, items: [
|