d2aura 26.0.13 → 26.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/eda/edaManagerApi.d.ts +50 -15
- package/api/eda/edaManagerApi.js +80 -29
- package/api/eda/edaManagerApi.js.map +1 -1
- package/api/eda/generated/events.d.ts +109 -60
- package/api/eda/generated/events.js +182 -88
- package/api/eda/generated/events.js.map +1 -1
- package/api/eda/generated/structures.d.ts +78 -14
- package/api/eda/generated/structures.js.map +1 -1
- package/core/i18n/d2aura.sk.json +30 -2
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.d.ts +1 -1
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js +2 -2
- package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaChartViewer.d.ts +14 -0
- package/coreui/components/edaManagerComponent/components/edaChartViewer.js +370 -0
- package/coreui/components/edaManagerComponent/components/edaChartViewer.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.d.ts +4 -8
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +18 -75
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.d.ts +5 -14
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +80 -19
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.d.ts +2 -7
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +15 -380
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.d.ts +3 -14
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js +54 -67
- package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.d.ts +7 -0
- package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.js +35 -0
- package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.d.ts +2 -16
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js +47 -50
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.d.ts +3 -14
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js +67 -81
- package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTableEditorDialog.d.ts +12 -0
- package/coreui/components/edaManagerComponent/components/edaTableEditorDialog.js +268 -0
- package/coreui/components/edaManagerComponent/components/edaTableEditorDialog.js.map +1 -0
- package/coreui/components/edaManagerComponent/components/edaTablePanel.d.ts +2 -6
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js +119 -62
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.d.ts +2 -13
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +57 -88
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +4 -51
- package/coreui/components/edaManagerComponent/components/edaTreeView.js +299 -259
- package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.d.ts +3 -21
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +160 -179
- package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/exportDialog.d.ts +18 -0
- package/coreui/components/edaManagerComponent/components/exportDialog.js +157 -0
- package/coreui/components/edaManagerComponent/components/exportDialog.js.map +1 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +10 -11
- package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaConfigContext.d.ts +26 -0
- package/coreui/components/edaManagerComponent/context/edaConfigContext.js +20 -0
- package/coreui/components/edaManagerComponent/context/edaConfigContext.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.d.ts +9 -16
- package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.d.ts +0 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +71 -66
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/loadingContext.d.ts +1 -1
- package/coreui/components/edaManagerComponent/context/loadingContext.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/{sharedSampleRange.d.ts → sharedSampleRangeContext.d.ts} +6 -3
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeContext.js +3 -0
- package/coreui/components/edaManagerComponent/context/sharedSampleRangeContext.js.map +1 -0
- package/coreui/components/edaManagerComponent/context/useEdaActions.d.ts +7 -0
- package/coreui/components/edaManagerComponent/context/useEdaActions.js +22 -0
- package/coreui/components/edaManagerComponent/context/useEdaActions.js.map +1 -0
- package/coreui/components/edaManagerComponent/edaDetail.d.ts +7 -26
- package/coreui/components/edaManagerComponent/edaDetail.js +124 -106
- package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaManager.d.ts +4 -11
- package/coreui/components/edaManagerComponent/edaManager.js +29 -22
- package/coreui/components/edaManagerComponent/edaManager.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaNavigator.d.ts +4 -12
- package/coreui/components/edaManagerComponent/edaNavigator.js +36 -41
- package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaSelect.d.ts +2 -3
- package/coreui/components/edaManagerComponent/edaSelect.js +22 -44
- package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -1
- package/coreui/components/edaManagerComponent/utils/export.d.ts +9 -0
- package/coreui/components/edaManagerComponent/utils/export.js +573 -0
- package/coreui/components/edaManagerComponent/utils/export.js.map +1 -0
- package/coreui/components/edaManagerComponent/utils/utils.d.ts +6 -12
- package/coreui/components/edaManagerComponent/utils/utils.js +26 -15
- package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -1
- package/d2configuration/edaManager/DB.EM_EDA_DescriptiveVector.xml +65 -0
- package/d2configuration/edaManager/DB.EM_EDA_FunctionPrescription.xml +65 -0
- package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +67 -1
- package/d2configuration/edaManager/E.EM_DETAIL_SQL.xml +85 -0
- package/d2configuration/edaManager/E.EM_DETAIL_UNIT.xml +123 -2
- package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +1 -1
- package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +1 -1
- package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +20 -6
- package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +95 -17
- package/d2configuration/edaManager/SD.EM_EDA_DescriptiveVector.xml +179 -0
- package/d2configuration/edaManager/SD.EM_EDA_FunctionPrescription.xml +91 -0
- package/d2configuration/edaManager/SD.EM_EDA_InsertValuesToVector_V1.xml +227 -0
- package/d2configuration/edaManager/SD.EM_EDA_PairVector.xml +454 -0
- package/d2configuration/edaManager/SD.EM_EDA_ReadValuesFromVector_V1.xml +13 -3
- package/d2configuration/edaManager/SD.EM_EDA_VectorStats.xml +91 -0
- package/d2configuration/edaManager/SD.EM_Filter_Condition.xml +1 -1
- package/package.json +5 -3
- package/coreui/components/edaManagerComponent/components/edaBasePanel.d.ts +0 -16
- package/coreui/components/edaManagerComponent/components/edaBasePanel.js +0 -85
- package/coreui/components/edaManagerComponent/components/edaBasePanel.js.map +0 -1
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js +0 -13
- package/coreui/components/edaManagerComponent/context/sharedSampleRange.js.map +0 -1
- package/d2configuration/edaManager/EDA_CancelSession.xml +0 -54
- package/d2configuration/edaManager/EDA_GetSessionId.xml +0 -54
- package/d2configuration/edaManager/EDA_ReadValuesFromVektorRec.xml +0 -54
- package/d2configuration/edaManager/EDA_StatVectorRec.xml +0 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaNavigator.js","sourceRoot":"","sources":["../../../../../coreui/components/edaManagerComponent/edaNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"edaNavigator.js","sourceRoot":"","sources":["../../../../../coreui/components/edaManagerComponent/edaNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAK,IAAI,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAE/C,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AACzD,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AACxC,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAGpC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,EAAG,EAAE;IAC7C,OAAO;QACH,UAAU,EAAE,GAAG,CAAA;;;;;oCAKa,KAAK,CAAC,gBAAgB;iCACzB,KAAK,CAAC,YAAY;;;;;2BAKxB,KAAK,CAAC,UAAU;;;;;;SAMlC;QACD,YAAY,EAAE,GAAG,CAAA;;;;SAIhB;KACJ,CAAC;AACN,CAAC,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,YAAY,GAAc,IAAI,CAAC,CAAC,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAC,EAAE,EAAE;IAC9E,MAAM,EAAC,MAAM,EAAC,GAAG,SAAS,EAAE,CAAC;IAE7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACvB;YACI,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;YACrB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,CACN,6BAAK,SAAS,EAAE,MAAM,CAAC,YAAY;gBAC/B,6BAAK,SAAS,EAAE,iBAAiB;oBAC7B,oBAAC,KAAK,CAAC,OAAO;wBACV,oBAAC,MAAM,IAAC,IAAI,EAAE,oBAAC,cAAc,OAAE,GAAG,CACtB,CACd;gBACN,6BAAK,SAAS,EAAE,MAAM;oBAClB,oBAAC,WAAW,IACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,CAAC,KAAK,EACxB,iBAAiB,EAAE,aAAa,GAClC,CACA,CACJ,CACT;SACJ;QACD;YACI,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YACxB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,CACN,oBAAC,WAAW,IACR,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,CAAC,QAAQ,EAC3B,iBAAiB,EAAE,aAAa,GAClC,CACL;SACJ;KACJ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAEjC,OAAO,CACH,oBAAC,cAAc,IAAC,aAAa,EAAE,IAAI;QAC/B,6BAAK,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK;YAC3C,oBAAC,IAAI,IACD,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,EACvB,eAAe,EAAE,KAAK,EACtB,KAAK,EAAE,IAAI,GACb,CACA,CACO,CACpB,CAAA;AACL,CAAC,CAAC,CAAC","sourcesContent":["import React, {FC, memo, useMemo} from \"react\";\r\nimport EdaManagerApi, {TreeItem} from \"../../../api/eda/edaManagerApi\";\r\nimport {EdaTreeView, TreeViewType} from \"./components/edaTreeView\";\r\nimport {Button, ConfigProvider, Space, Tabs} from \"antd\";\r\nimport {createStyles} from \"antd-style\";\r\nimport {SearchOutlined} from \"@ant-design/icons\";\r\nimport {TypedIndex} from \"./constants/edaTypes\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\n\r\nconst useStyles = createStyles(({css, token},) => {\r\n return {\r\n baseLayout: css`\r\n height: 100%;\r\n \r\n .ant-tabs-content {\r\n height: 100%;\r\n background-color: ${token.colorBgContainer};\r\n border-radius: ${token.borderRadius}px;\r\n transition: background-color 0.3s;\r\n }\r\n \r\n .control-buttons {\r\n padding: ${token.paddingXXS}px;\r\n }\r\n \r\n .tree {\r\n flex: 1 1 auto;\r\n }\r\n `,\r\n groupsLayout: css`\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n `\r\n };\r\n});\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n style?: React.CSSProperties\r\n\r\n size?: SizeType\r\n\r\n onDoubleClick?: (id: TypedIndex, item: TreeItem) => void\r\n}\r\n\r\nexport const EdaNavigator: FC<Props> = memo(({api, style, size, onDoubleClick}) => {\r\n const {styles} = useStyles();\r\n\r\n const tabs = useMemo(() => [\r\n {\r\n key: \"groups\",\r\n label: i18n(\"Groups\"),\r\n closable: false,\r\n children: (\r\n <div className={styles.groupsLayout}>\r\n <div className={\"control-buttons\"}>\r\n <Space.Compact>\r\n <Button icon={<SearchOutlined/>}/>\r\n </Space.Compact>\r\n </div>\r\n <div className={\"tree\"}>\r\n <EdaTreeView\r\n api={api}\r\n type={TreeViewType.GROUP}\r\n onItemDoubleClick={onDoubleClick}\r\n />\r\n </div>\r\n </div>\r\n ),\r\n },\r\n {\r\n key: \"scenarios\",\r\n label: i18n(\"Scenarios\"),\r\n closable: false,\r\n children: (\r\n <EdaTreeView\r\n api={api}\r\n type={TreeViewType.SCENARIO}\r\n onItemDoubleClick={onDoubleClick}\r\n />\r\n ),\r\n },\r\n ], [api, styles, onDoubleClick]);\r\n\r\n return (\r\n <ConfigProvider componentSize={size}>\r\n <div className={styles.baseLayout} style={style}>\r\n <Tabs\r\n type={\"editable-card\"}\r\n style={{height: \"100%\"}}\r\n destroyOnHidden={false}\r\n items={tabs}\r\n />\r\n </div>\r\n </ConfigProvider>\r\n )\r\n});"]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { FC } from "react";
|
|
2
2
|
import { SelectProps } from "antd/es/select";
|
|
3
|
-
import {
|
|
4
|
-
import EdaManagerApi from "../../../api/eda/edaManagerApi";
|
|
3
|
+
import EdaManagerApi, { TreeItem } from "../../../api/eda/edaManagerApi";
|
|
5
4
|
import { IdType } from "./constants/edaTypes";
|
|
6
5
|
export type DisplayType = "code" | "name" | "code_name" | "name_code";
|
|
7
|
-
interface Props extends Omit<SelectProps<
|
|
6
|
+
interface Props extends Omit<SelectProps<TreeItem | undefined, TreeItem>, "allowClear" | "clearIcon" | "showSearch" | "labelInValue" | "fieldNames" | "options" | "suffixIcon" | "onSearch" | "onFocus" | "showArrow" | "mode" | "loading" | "filterOption" | "notFoundContent" | "menuItemSelectedIcon" | "searchValue"> {
|
|
8
7
|
api: EdaManagerApi;
|
|
9
8
|
type: IdType;
|
|
10
9
|
displayType?: DisplayType;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
-
import { Select, theme, Typography } from "antd";
|
|
3
|
-
import { CloseCircleOutlined,
|
|
2
|
+
import { ConfigProvider, Empty, Select, theme, Typography } from "antd";
|
|
3
|
+
import { CloseCircleOutlined, LoadingOutlined, MonitorOutlined, SelectOutlined } from "@ant-design/icons";
|
|
4
4
|
import i18n from "d2core/i18n/i18n";
|
|
5
5
|
import SizeContext from "antd/es/config-provider/SizeContext";
|
|
6
6
|
import debounce from "lodash/debounce";
|
|
@@ -10,21 +10,16 @@ import { AdvancedFilterValueType } from "../../../api/types/advancedFilter";
|
|
|
10
10
|
import ColorTag from "../colorTag/colorTag";
|
|
11
11
|
import { ModalDialog } from "d2coreui/components/modal/modalDialog";
|
|
12
12
|
import { EdaNavigator } from "./edaNavigator";
|
|
13
|
-
import {
|
|
14
|
-
import { EdaVectorDetailPanel } from "./components/edaVectorDetailPanel";
|
|
15
|
-
import { EdaGroupDetailPanel } from "./components/edaGroupDetailPanel";
|
|
16
|
-
import { EdaScenarioDetailPanel } from "./components/edaScenarioDetailPanel";
|
|
13
|
+
import { EdaDetail } from "./edaDetail";
|
|
17
14
|
export const EdaSelect = ({ api, type, showCancelButton, showDetailButton, showNewObjectButton, displayType, disabled, size, value, onClear, onChange, onSelect, ...otherProps }) => {
|
|
15
|
+
const { token } = theme.useToken();
|
|
16
|
+
const sizeContext = useContext(SizeContext);
|
|
17
|
+
const lastSearchRef = useRef(null);
|
|
18
|
+
const activeRequestRef = useRef(0);
|
|
18
19
|
const [loading, setLoading] = useState(false);
|
|
19
20
|
const [options, setOptions] = useState([]);
|
|
20
21
|
const [detailVisible, setDetailVisible] = useState(false);
|
|
21
22
|
const [searchVisible, setSearchVisible] = useState(false);
|
|
22
|
-
const [fullDetailData, setFullDetailData] = useState(undefined);
|
|
23
|
-
const [detailLoading, setDetailLoading] = useState(false);
|
|
24
|
-
const { token } = theme.useToken();
|
|
25
|
-
const lastSearchRef = useRef(null);
|
|
26
|
-
const activeRequestRef = useRef(0);
|
|
27
|
-
const sizeContext = useContext(SizeContext);
|
|
28
23
|
const mergeSize = size ?? sizeContext;
|
|
29
24
|
const iconSize = useMemo(() => {
|
|
30
25
|
switch (mergeSize) {
|
|
@@ -52,7 +47,7 @@ export const EdaSelect = ({ api, type, showCancelButton, showDetailButton, showN
|
|
|
52
47
|
onClear?.();
|
|
53
48
|
} }),
|
|
54
49
|
showDetailButton && value &&
|
|
55
|
-
React.createElement(
|
|
50
|
+
React.createElement(MonitorOutlined, { style: { fontSize: iconSize }, onClick: () => setDetailVisible(true) }),
|
|
56
51
|
showNewObjectButton &&
|
|
57
52
|
React.createElement(React.Fragment, null),
|
|
58
53
|
React.createElement(SelectOutlined, { style: { fontSize: iconSize }, title: i18n("Open Select Dialog"), onClick: () => {
|
|
@@ -82,7 +77,7 @@ export const EdaSelect = ({ api, type, showCancelButton, showDetailButton, showN
|
|
|
82
77
|
break;
|
|
83
78
|
}
|
|
84
79
|
if (requestId === activeRequestRef.current) {
|
|
85
|
-
setOptions(result
|
|
80
|
+
setOptions(result);
|
|
86
81
|
}
|
|
87
82
|
}
|
|
88
83
|
catch (e) {
|
|
@@ -137,32 +132,24 @@ export const EdaSelect = ({ api, type, showCancelButton, showDetailButton, showN
|
|
|
137
132
|
return React.createElement("span", null, value?.DisplayName);
|
|
138
133
|
}
|
|
139
134
|
}, [value, displayType]);
|
|
140
|
-
const renderDetailModalContent = () => {
|
|
141
|
-
if (detailLoading || !fullDetailData) {
|
|
142
|
-
return (React.createElement("div", { style: { display: 'flex', justifyContent: 'center', padding: 40 } },
|
|
143
|
-
React.createElement(LoadingOutlined, { style: { fontSize: 24 }, spin: true })));
|
|
144
|
-
}
|
|
145
|
-
switch (type) {
|
|
146
|
-
case 0:
|
|
147
|
-
return (React.createElement(EdaVectorDetailPanel, { api: api, size: size, data: fullDetailData }));
|
|
148
|
-
case 1:
|
|
149
|
-
return (React.createElement(EdaGroupDetailPanel, { size: size, data: fullDetailData }));
|
|
150
|
-
case 2:
|
|
151
|
-
return (React.createElement(EdaScenarioDetailPanel, { size: size, data: fullDetailData }));
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
135
|
const renderDetailPanelDialog = useMemo(() => {
|
|
155
|
-
|
|
136
|
+
const visible = detailVisible && value;
|
|
137
|
+
return (React.createElement(ModalDialog, { open: detailVisible, mode: "NO_BUTTONS", onCancel: () => setDetailVisible(false), title: React.createElement("span", null,
|
|
156
138
|
i18n("Detail"),
|
|
157
139
|
" ",
|
|
158
140
|
React.createElement(Typography.Text, { type: "secondary" },
|
|
159
141
|
"(",
|
|
160
142
|
value ? value.Name : "",
|
|
161
|
-
")")), styles: { body: { padding: 8 } }, initialWidth: 720, initialHeight: window.innerHeight * 0.75 },
|
|
162
|
-
|
|
143
|
+
")")), styles: { body: { padding: 8 } }, initialWidth: 720, initialHeight: window.innerHeight * 0.75 },
|
|
144
|
+
visible &&
|
|
145
|
+
React.createElement(EdaDetail, { api: api, item: { type, id: value.ID }, style: { height: "100%" } }),
|
|
146
|
+
!visible &&
|
|
147
|
+
React.createElement("div", { style: { display: 'flex', justifyContent: 'center', padding: 40 } },
|
|
148
|
+
React.createElement(Empty, { description: i18n("No data provided") }))));
|
|
149
|
+
}, [detailVisible, type, value, api]);
|
|
163
150
|
const renderSearchPanelDialog = useMemo(() => {
|
|
164
|
-
return (React.createElement(ModalDialog, { open: searchVisible, mode: "NO_BUTTONS", onCancel: () => setSearchVisible(false),
|
|
165
|
-
React.createElement(EdaNavigator, { api: api,
|
|
151
|
+
return (React.createElement(ModalDialog, { open: searchVisible, mode: "NO_BUTTONS", onCancel: () => setSearchVisible(false), title: i18n("Search"), styles: { body: { padding: 8 } }, initialWidth: 640, initialHeight: window.innerHeight * 0.75, forceRender: true },
|
|
152
|
+
React.createElement(EdaNavigator, { api: api, onDoubleClick: (id, item) => {
|
|
166
153
|
if (id.type === type) {
|
|
167
154
|
onChange?.(item, item);
|
|
168
155
|
onSelect?.(item, item);
|
|
@@ -170,22 +157,13 @@ export const EdaSelect = ({ api, type, showCancelButton, showDetailButton, showN
|
|
|
170
157
|
}
|
|
171
158
|
} })));
|
|
172
159
|
}, [searchVisible, api]);
|
|
173
|
-
useEffect(() => {
|
|
174
|
-
if (detailVisible && value) {
|
|
175
|
-
setDetailLoading(true);
|
|
176
|
-
loadDetail(api, { type: type, id: value.ID }).then((result) => {
|
|
177
|
-
setFullDetailData(result);
|
|
178
|
-
setDetailLoading(false);
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
}, [detailVisible, value, api]);
|
|
182
160
|
useEffect(() => {
|
|
183
161
|
return () => debounceSearch.cancel();
|
|
184
162
|
}, [debounceSearch]);
|
|
185
|
-
return (React.createElement(
|
|
163
|
+
return (React.createElement(ConfigProvider, { componentSize: size },
|
|
186
164
|
renderDetailPanelDialog,
|
|
187
165
|
renderSearchPanelDialog,
|
|
188
|
-
React.createElement(Select, { ...otherProps, disabled: disabled,
|
|
166
|
+
React.createElement(Select, { ...otherProps, disabled: disabled, value: value, onSelect: onSelect, onChange: onChange, options: options, showSearch: true, filterOption: false, fieldNames: { label: 'DisplayName', value: 'ID' }, optionFilterProp: "DisplayName", onSearch: debounceSearch, onFocus: handleFocus, optionRender: renderOption, labelRender: renderLabel, notFoundContent: null, suffixIcon: React.createElement("div", { style: { display: "flex", alignItems: "center", gap: 4, color: token.colorTextSecondary } }, suffixIcon), onDoubleClick: handleDoubleClick })));
|
|
189
167
|
};
|
|
190
168
|
function getFilterConditionForCode(searchString) {
|
|
191
169
|
return AdvancedFilterUtils.newCondition({ columnName: "Meno", valueType: AdvancedFilterValueType.STRING }, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaSelect.js","sourceRoot":"","sources":["../../../../../coreui/components/edaManagerComponent/edaSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useContext, useEffect, useMemo, useRef, useState} from \"react\";\r\nimport {Select, theme, Typography} from \"antd\";\r\nimport {SelectProps} from \"antd/es/select\";\r\nimport {CloseCircleOutlined, InfoCircleOutlined, LoadingOutlined, SelectOutlined} from \"@ant-design/icons\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport SizeContext from \"antd/es/config-provider/SizeContext\";\r\nimport {SD_EM_Tree_Item} from \"../../../api/eda/generated/structures\";\r\nimport EdaManagerApi from \"../../../api/eda/edaManagerApi\";\r\nimport {GroupData, IdType, ScenarioData, VectorData} from \"./constants/edaTypes\";\r\nimport debounce from \"lodash/debounce\";\r\nimport {AdvancedFilterCondition, AdvancedFilterLogicalOperator, AdvancedFilterOperator} from \"../../../api/advancedFilterApi\";\r\nimport AdvancedFilterUtils from \"../advancedFilter/advancedFilterUtils\";\r\nimport {AdvancedFilterValueType} from \"../../../api/types/advancedFilter\";\r\nimport {FlattenOptionData} from \"rc-select/lib/interface\";\r\nimport ColorTag from \"../colorTag/colorTag\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport {EdaNavigator} from \"./edaNavigator\";\r\nimport {loadDetail} from \"./utils/utils\";\r\nimport {EdaVectorDetailPanel} from \"./components/edaVectorDetailPanel\";\r\nimport {EdaGroupDetailPanel} from \"./components/edaGroupDetailPanel\";\r\nimport {EdaScenarioDetailPanel} from \"./components/edaScenarioDetailPanel\";\r\n\r\nexport type DisplayType = \"code\" | \"name\" | \"code_name\" | \"name_code\";\r\n\r\ninterface Props extends Omit<SelectProps<SD_EM_Tree_Item | undefined, SD_EM_Tree_Item>, \"allowClear\" | \"clearIcon\" | \"showSearch\" | \"labelInValue\" | \"fieldNames\" |\r\n \"options\" | \"suffixIcon\" | \"onSearch\" | \"onFocus\" | \"showArrow\" | \"mode\" | \"loading\" | \"filterOption\" | \"notFoundContent\" | \"menuItemSelectedIcon\" |\r\n \"searchValue\"> {\r\n api: EdaManagerApi\r\n type: IdType\r\n displayType?: DisplayType\r\n showCancelButton?: boolean\r\n showDetailButton?: boolean\r\n showNewObjectButton?: boolean\r\n}\r\n\r\nexport const EdaSelect: FC<Props> = ({\r\n api, type, showCancelButton, showDetailButton, showNewObjectButton, displayType,\r\n disabled, size, value, onClear, onChange, onSelect, ...otherProps\r\n}) => {\r\n const [loading, setLoading] = useState(false);\r\n const [options, setOptions] = useState<SD_EM_Tree_Item[]>([]);\r\n const [detailVisible, setDetailVisible] = useState<boolean>(false);\r\n const [searchVisible, setSearchVisible] = useState<boolean>(false);\r\n const [fullDetailData, setFullDetailData] = useState<VectorData | GroupData | ScenarioData | undefined>(undefined);\r\n const [detailLoading, setDetailLoading] = useState(false);\r\n const {token} = theme.useToken();\r\n const lastSearchRef = useRef<string | null>(null);\r\n const activeRequestRef = useRef<number>(0);\r\n const sizeContext = useContext(SizeContext);\r\n const mergeSize = size ?? sizeContext\r\n\r\n const iconSize = useMemo(() => {\r\n switch (mergeSize) {\r\n case \"small\":\r\n return token.fontSizeSM;\r\n case \"large\":\r\n return token.fontSizeLG;\r\n case \"middle\":\r\n default:\r\n return token.fontSize;\r\n }\r\n }, [mergeSize]);\r\n\r\n const suffixIcon = useMemo(() => {\r\n if (disabled) {\r\n return <></>;\r\n } else if (loading) {\r\n return <LoadingOutlined\r\n style={{fontSize: iconSize}}\r\n />;\r\n } else {\r\n return (\r\n <>\r\n {showCancelButton && value &&\r\n <CloseCircleOutlined\r\n style={{color: token.colorError, fontSize: iconSize}}\r\n onClick={() => {\r\n onChange?.(undefined, [])\r\n onClear?.();\r\n }}\r\n />\r\n }\r\n {showDetailButton && value &&\r\n <InfoCircleOutlined\r\n style={{fontSize: iconSize}}\r\n onClick={() => setDetailVisible(true)}\r\n />\r\n }\r\n {showNewObjectButton &&\r\n <></>\r\n }\r\n <SelectOutlined\r\n style={{fontSize: iconSize}}\r\n title={i18n(\"Open Select Dialog\")}\r\n onClick={() => {\r\n setSearchVisible(true);\r\n }}\r\n />\r\n </>\r\n );\r\n }\r\n\r\n }, [disabled, loading, showCancelButton, iconSize, token.colorError, value, onClear, onChange]);\r\n\r\n const loadData = useCallback(async (searchString: string) => {\r\n if (searchString === lastSearchRef.current) {\r\n return;\r\n }\r\n\r\n const requestId = ++activeRequestRef.current;\r\n const filterConditions = getFilterConditions(searchString);\r\n\r\n setLoading(true);\r\n lastSearchRef.current = searchString;\r\n\r\n try {\r\n let result;\r\n\r\n switch (type) {\r\n case IdType.VECTOR:\r\n result = await api.findVectors(filterConditions);\r\n break;\r\n case IdType.GROUP:\r\n result = await api.findGroups(filterConditions);\r\n break;\r\n case IdType.SCENARIO:\r\n result = await api.findScenarios(filterConditions);\r\n break;\r\n }\r\n\r\n if (requestId === activeRequestRef.current) {\r\n setOptions(result.items as SD_EM_Tree_Item[]);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n } finally {\r\n if (requestId === activeRequestRef.current) {\r\n setLoading(false);\r\n }\r\n }\r\n }, [api, type]);\r\n\r\n const debounceSearch = useMemo(() => {\r\n return debounce(loadData, 500);\r\n }, [loadData]);\r\n\r\n const handleFocus = useCallback(() => {\r\n if (options.length === 0 && !disabled) {\r\n loadData(\"\");\r\n }\r\n }, [options, disabled, loadData]);\r\n\r\n const handleDoubleClick = useCallback(() => {\r\n if (!disabled) {\r\n setSearchVisible(true);\r\n }\r\n }, [disabled]);\r\n\r\n const renderOption = useCallback((oriOption: FlattenOptionData<SD_EM_Tree_Item>) => {\r\n return (\r\n <div style={{display: \"flex\", justifyContent: \"space-between\"}}>\r\n <span>{oriOption.data.DisplayName}</span>\r\n <ColorTag>{oriOption.data.Name}</ColorTag>\r\n </div>\r\n )\r\n }, []);\r\n\r\n const renderLabel = useCallback(() => {\r\n switch (displayType) {\r\n default:\r\n case \"code_name\":\r\n return <span>{value?.Name} <Typography.Text type={\"secondary\"}>({value?.DisplayName})</Typography.Text></span>;\r\n case \"name_code\":\r\n return <span>{value?.DisplayName} <Typography.Text type={\"secondary\"}>({value?.Name})</Typography.Text></span>;\r\n case \"code\":\r\n return <span>{value?.Name}</span>;\r\n case \"name\":\r\n return <span>{value?.DisplayName}</span>;\r\n }\r\n }, [value, displayType]);\r\n\r\n const renderDetailModalContent = () => {\r\n if (detailLoading || !fullDetailData) {\r\n return (\r\n <div style={{display: 'flex', justifyContent: 'center', padding: 40}}>\r\n <LoadingOutlined style={{fontSize: 24}} spin/>\r\n </div>\r\n )\r\n }\r\n\r\n switch (type) {\r\n case IdType.VECTOR:\r\n return (\r\n <EdaVectorDetailPanel\r\n api={api}\r\n size={size}\r\n data={fullDetailData as VectorData}\r\n />\r\n );\r\n case IdType.GROUP:\r\n return (\r\n <EdaGroupDetailPanel\r\n size={size}\r\n data={fullDetailData as GroupData}\r\n />\r\n );\r\n case IdType.SCENARIO:\r\n return (\r\n <EdaScenarioDetailPanel\r\n size={size}\r\n data={fullDetailData as ScenarioData}\r\n />\r\n );\r\n }\r\n }\r\n\r\n const renderDetailPanelDialog = useMemo(() => {\r\n return (\r\n <ModalDialog\r\n open={detailVisible}\r\n mode={ModalDialogMode.NO_BUTTONS}\r\n onCancel={() => setDetailVisible(false)}\r\n onOk={() => setDetailVisible(false)}\r\n title={<span>{i18n(\"Detail\")} <Typography.Text type={\"secondary\"}>({value ? value.Name : \"\"})</Typography.Text></span>}\r\n styles={{body: {padding: 8}}}\r\n initialWidth={720}\r\n initialHeight={window.innerHeight * 0.75}\r\n >\r\n {detailVisible && renderDetailModalContent()}\r\n </ModalDialog>\r\n )\r\n }, [detailVisible, detailLoading, fullDetailData, api, size]);\r\n\r\n const renderSearchPanelDialog = useMemo(() => {\r\n return (\r\n <ModalDialog\r\n open={searchVisible}\r\n mode={ModalDialogMode.NO_BUTTONS}\r\n onCancel={() => setSearchVisible(false)}\r\n onOk={() => setSearchVisible(false)}\r\n title={i18n(\"Search\")}\r\n styles={{body: {padding: 8}}}\r\n initialWidth={640}\r\n initialHeight={window.innerHeight * 0.75}\r\n forceRender\r\n >\r\n <EdaNavigator\r\n api={api}\r\n size={size}\r\n onDoubleClick={(id, item) => {\r\n if (id.type === type) {\r\n onChange?.(item, item);\r\n onSelect?.(item, item);\r\n setSearchVisible(false);\r\n }\r\n }}\r\n />\r\n </ModalDialog>\r\n )\r\n }, [searchVisible, api]);\r\n\r\n useEffect(() => {\r\n if (detailVisible && value) {\r\n setDetailLoading(true);\r\n loadDetail(api, {type: type, id: value.ID}).then((result) => {\r\n setFullDetailData(result);\r\n setDetailLoading(false);\r\n });\r\n }\r\n }, [detailVisible, value, api]);\r\n\r\n useEffect(() => {\r\n return () => debounceSearch.cancel();\r\n }, [debounceSearch]);\r\n\r\n return (\r\n <>\r\n {renderDetailPanelDialog}\r\n {renderSearchPanelDialog}\r\n <Select<SD_EM_Tree_Item | undefined, SD_EM_Tree_Item>\r\n {...otherProps}\r\n disabled={disabled}\r\n size={size}\r\n value={value}\r\n onSelect={onSelect}\r\n onChange={onChange}\r\n options={options}\r\n showSearch\r\n labelInValue\r\n filterOption={false}\r\n fieldNames={{label: 'DisplayName', value: 'ID'}}\r\n optionFilterProp={\"DisplayName\"}\r\n onSearch={debounceSearch}\r\n onFocus={handleFocus}\r\n optionRender={renderOption}\r\n labelRender={renderLabel}\r\n notFoundContent={null}\r\n suffixIcon={<div style={{display: \"flex\", alignItems: \"center\", gap: 4, color: token.colorTextSecondary}}>{suffixIcon}</div>}\r\n // @ts-ignore\r\n onDoubleClick={handleDoubleClick}\r\n />\r\n </>\r\n );\r\n}\r\n\r\nfunction getFilterConditionForCode(searchString?: string): AdvancedFilterCondition {\r\n return AdvancedFilterUtils.newCondition({columnName: \"Meno\", valueType: AdvancedFilterValueType.STRING}, {\r\n operator: AdvancedFilterOperator.LIKE,\r\n value: `%${searchString ?? \"\"}%`,\r\n });\r\n}\r\n\r\nfunction getFilterConditionForName(searchString?: string): AdvancedFilterCondition {\r\n return AdvancedFilterUtils.newCondition({columnName: \"Zobraz_Meno\", valueType: AdvancedFilterValueType.STRING}, {\r\n operator: AdvancedFilterOperator.LIKE,\r\n value: `%${searchString ?? \"\"}%`,\r\n })\r\n}\r\n\r\nfunction getFilterConditions(searchString?: string): AdvancedFilterCondition[] {\r\n const filterConditionForCode = getFilterConditionForCode(searchString);\r\n filterConditionForCode.left_par = 1;\r\n filterConditionForCode.logical_operator = AdvancedFilterLogicalOperator.OR;\r\n\r\n const filterConditionForName = getFilterConditionForName(searchString);\r\n filterConditionForName.right_par = 1;\r\n\r\n return [\r\n filterConditionForCode,\r\n filterConditionForName,\r\n ]\r\n}"]}
|
|
1
|
+
{"version":3,"file":"edaSelect.js","sourceRoot":"","sources":["../../../../../coreui/components/edaManagerComponent/edaSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useContext, useEffect, useMemo, useRef, useState} from \"react\";\r\nimport {ConfigProvider, Empty, Select, theme, Typography} from \"antd\";\r\nimport {SelectProps} from \"antd/es/select\";\r\nimport {CloseCircleOutlined, LoadingOutlined, MonitorOutlined, SelectOutlined} from \"@ant-design/icons\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport SizeContext from \"antd/es/config-provider/SizeContext\";\r\nimport EdaManagerApi, {TreeItem} from \"../../../api/eda/edaManagerApi\";\r\nimport {IdType} from \"./constants/edaTypes\";\r\nimport debounce from \"lodash/debounce\";\r\nimport {AdvancedFilterCondition, AdvancedFilterLogicalOperator, AdvancedFilterOperator} from \"../../../api/advancedFilterApi\";\r\nimport AdvancedFilterUtils from \"../advancedFilter/advancedFilterUtils\";\r\nimport {AdvancedFilterValueType} from \"../../../api/types/advancedFilter\";\r\nimport {FlattenOptionData} from \"rc-select/lib/interface\";\r\nimport ColorTag from \"../colorTag/colorTag\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport {EdaNavigator} from \"./edaNavigator\";\r\nimport {EdaDetail} from \"./edaDetail\";\r\n\r\nexport type DisplayType = \"code\" | \"name\" | \"code_name\" | \"name_code\";\r\n\r\ninterface Props extends Omit<SelectProps<TreeItem | undefined, TreeItem>, \"allowClear\" | \"clearIcon\" | \"showSearch\" | \"labelInValue\" | \"fieldNames\" |\r\n \"options\" | \"suffixIcon\" | \"onSearch\" | \"onFocus\" | \"showArrow\" | \"mode\" | \"loading\" | \"filterOption\" | \"notFoundContent\" | \"menuItemSelectedIcon\" |\r\n \"searchValue\"> {\r\n api: EdaManagerApi\r\n type: IdType\r\n displayType?: DisplayType\r\n showCancelButton?: boolean\r\n showDetailButton?: boolean\r\n showNewObjectButton?: boolean\r\n}\r\n\r\nexport const EdaSelect: FC<Props> = ({\r\n api, type, showCancelButton, showDetailButton, showNewObjectButton, displayType,\r\n disabled, size, value, onClear, onChange, onSelect, ...otherProps\r\n}) => {\r\n const {token} = theme.useToken();\r\n\r\n const sizeContext = useContext(SizeContext);\r\n\r\n const lastSearchRef = useRef<string | null>(null);\r\n const activeRequestRef = useRef<number>(0);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [options, setOptions] = useState<TreeItem[]>([]);\r\n const [detailVisible, setDetailVisible] = useState<boolean>(false);\r\n const [searchVisible, setSearchVisible] = useState<boolean>(false);\r\n\r\n const mergeSize = size ?? sizeContext\r\n\r\n const iconSize = useMemo(() => {\r\n switch (mergeSize) {\r\n case \"small\":\r\n return token.fontSizeSM;\r\n case \"large\":\r\n return token.fontSizeLG;\r\n case \"middle\":\r\n default:\r\n return token.fontSize;\r\n }\r\n }, [mergeSize]);\r\n\r\n const suffixIcon = useMemo(() => {\r\n if (disabled) {\r\n return <></>;\r\n } else if (loading) {\r\n return <LoadingOutlined\r\n style={{fontSize: iconSize}}\r\n />;\r\n } else {\r\n return (\r\n <>\r\n {showCancelButton && value &&\r\n <CloseCircleOutlined\r\n style={{color: token.colorError, fontSize: iconSize}}\r\n onClick={() => {\r\n onChange?.(undefined, [])\r\n onClear?.();\r\n }}\r\n />\r\n }\r\n {showDetailButton && value &&\r\n <MonitorOutlined\r\n style={{fontSize: iconSize}}\r\n onClick={() => setDetailVisible(true)}\r\n />\r\n }\r\n {showNewObjectButton &&\r\n <></>\r\n }\r\n <SelectOutlined\r\n style={{fontSize: iconSize}}\r\n title={i18n(\"Open Select Dialog\")}\r\n onClick={() => {\r\n setSearchVisible(true);\r\n }}\r\n />\r\n </>\r\n );\r\n }\r\n\r\n }, [disabled, loading, showCancelButton, iconSize, token.colorError, value, onClear, onChange]);\r\n\r\n const loadData = useCallback(async (searchString: string) => {\r\n if (searchString === lastSearchRef.current) {\r\n return;\r\n }\r\n\r\n const requestId = ++activeRequestRef.current;\r\n const filterConditions = getFilterConditions(searchString);\r\n\r\n setLoading(true);\r\n lastSearchRef.current = searchString;\r\n\r\n try {\r\n let result: TreeItem[];\r\n\r\n switch (type) {\r\n case IdType.VECTOR:\r\n result = await api.findVectors(filterConditions);\r\n break;\r\n case IdType.GROUP:\r\n result = await api.findGroups(filterConditions);\r\n break;\r\n case IdType.SCENARIO:\r\n result = await api.findScenarios(filterConditions);\r\n break;\r\n }\r\n\r\n if (requestId === activeRequestRef.current) {\r\n setOptions(result);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n } finally {\r\n if (requestId === activeRequestRef.current) {\r\n setLoading(false);\r\n }\r\n }\r\n }, [api, type]);\r\n\r\n const debounceSearch = useMemo(() => {\r\n return debounce(loadData, 500);\r\n }, [loadData]);\r\n\r\n const handleFocus = useCallback(() => {\r\n if (options.length === 0 && !disabled) {\r\n loadData(\"\");\r\n }\r\n }, [options, disabled, loadData]);\r\n\r\n const handleDoubleClick = useCallback(() => {\r\n if (!disabled) {\r\n setSearchVisible(true);\r\n }\r\n }, [disabled]);\r\n\r\n const renderOption = useCallback((oriOption: FlattenOptionData<TreeItem>) => {\r\n return (\r\n <div style={{display: \"flex\", justifyContent: \"space-between\"}}>\r\n <span>{oriOption.data.DisplayName}</span>\r\n <ColorTag>{oriOption.data.Name}</ColorTag>\r\n </div>\r\n )\r\n }, []);\r\n\r\n const renderLabel = useCallback(() => {\r\n switch (displayType) {\r\n default:\r\n case \"code_name\":\r\n return <span>{value?.Name} <Typography.Text type={\"secondary\"}>({value?.DisplayName})</Typography.Text></span>;\r\n case \"name_code\":\r\n return <span>{value?.DisplayName} <Typography.Text type={\"secondary\"}>({value?.Name})</Typography.Text></span>;\r\n case \"code\":\r\n return <span>{value?.Name}</span>;\r\n case \"name\":\r\n return <span>{value?.DisplayName}</span>;\r\n }\r\n }, [value, displayType]);\r\n\r\n const renderDetailPanelDialog = useMemo(() => {\r\n const visible = detailVisible && value;\r\n return (\r\n <ModalDialog\r\n open={detailVisible}\r\n mode={ModalDialogMode.NO_BUTTONS}\r\n onCancel={() => setDetailVisible(false)}\r\n title={<span>{i18n(\"Detail\")} <Typography.Text type={\"secondary\"}>({value ? value.Name : \"\"})</Typography.Text></span>}\r\n styles={{body: {padding: 8}}}\r\n initialWidth={720}\r\n initialHeight={window.innerHeight * 0.75}\r\n >\r\n {visible &&\r\n <EdaDetail\r\n api={api}\r\n item={{type, id: value.ID}}\r\n style={{height: \"100%\"}}\r\n />\r\n }\r\n {!visible &&\r\n <div style={{display: 'flex', justifyContent: 'center', padding: 40}}>\r\n <Empty description={i18n(\"No data provided\")}/>\r\n </div>\r\n }\r\n </ModalDialog>\r\n )\r\n }, [detailVisible, type, value, api]);\r\n\r\n const renderSearchPanelDialog = useMemo(() => {\r\n return (\r\n <ModalDialog\r\n open={searchVisible}\r\n mode={ModalDialogMode.NO_BUTTONS}\r\n onCancel={() => setSearchVisible(false)}\r\n title={i18n(\"Search\")}\r\n styles={{body: {padding: 8}}}\r\n initialWidth={640}\r\n initialHeight={window.innerHeight * 0.75}\r\n forceRender\r\n >\r\n <EdaNavigator\r\n api={api}\r\n onDoubleClick={(id, item) => {\r\n if (id.type === type) {\r\n onChange?.(item, item);\r\n onSelect?.(item, item);\r\n setSearchVisible(false);\r\n }\r\n }}\r\n />\r\n </ModalDialog>\r\n )\r\n }, [searchVisible, api]);\r\n\r\n useEffect(() => {\r\n return () => debounceSearch.cancel();\r\n }, [debounceSearch]);\r\n\r\n return (\r\n <ConfigProvider componentSize={size}>\r\n {renderDetailPanelDialog}\r\n {renderSearchPanelDialog}\r\n <Select<TreeItem | undefined, TreeItem>\r\n {...otherProps}\r\n disabled={disabled}\r\n value={value}\r\n onSelect={onSelect}\r\n onChange={onChange}\r\n options={options}\r\n showSearch\r\n filterOption={false}\r\n fieldNames={{label: 'DisplayName', value: 'ID'}}\r\n optionFilterProp={\"DisplayName\"}\r\n onSearch={debounceSearch}\r\n onFocus={handleFocus}\r\n optionRender={renderOption}\r\n labelRender={renderLabel}\r\n notFoundContent={null}\r\n suffixIcon={<div style={{display: \"flex\", alignItems: \"center\", gap: 4, color: token.colorTextSecondary}}>{suffixIcon}</div>}\r\n // @ts-ignore\r\n onDoubleClick={handleDoubleClick}\r\n />\r\n </ConfigProvider>\r\n );\r\n}\r\n\r\nfunction getFilterConditionForCode(searchString?: string): AdvancedFilterCondition {\r\n return AdvancedFilterUtils.newCondition({columnName: \"Meno\", valueType: AdvancedFilterValueType.STRING}, {\r\n operator: AdvancedFilterOperator.LIKE,\r\n value: `%${searchString ?? \"\"}%`,\r\n });\r\n}\r\n\r\nfunction getFilterConditionForName(searchString?: string): AdvancedFilterCondition {\r\n return AdvancedFilterUtils.newCondition({columnName: \"Zobraz_Meno\", valueType: AdvancedFilterValueType.STRING}, {\r\n operator: AdvancedFilterOperator.LIKE,\r\n value: `%${searchString ?? \"\"}%`,\r\n })\r\n}\r\n\r\nfunction getFilterConditions(searchString?: string): AdvancedFilterCondition[] {\r\n const filterConditionForCode = getFilterConditionForCode(searchString);\r\n filterConditionForCode.left_par = 1;\r\n filterConditionForCode.logical_operator = AdvancedFilterLogicalOperator.OR;\r\n\r\n const filterConditionForName = getFilterConditionForName(searchString);\r\n filterConditionForName.right_par = 1;\r\n\r\n return [\r\n filterConditionForCode,\r\n filterConditionForName,\r\n ]\r\n}"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LoadingContextValue } from "../context/loadingContext";
|
|
2
|
+
import EdaManagerApi, { GroupData, ScenarioData, VectorData } from "../../../../api/eda/edaManagerApi";
|
|
3
|
+
import { XmlVectorExportConfig } from "../components/exportDialog";
|
|
4
|
+
import { MessageInstance } from "antd/es/message/interface";
|
|
5
|
+
type LoadingCallback = (value: (((prevState: LoadingContextValue) => LoadingContextValue) | LoadingContextValue)) => void;
|
|
6
|
+
export declare function exportVector(api: EdaManagerApi, vector: VectorData, config: XmlVectorExportConfig, dateTimeMask: string, setLoadingState: LoadingCallback, message: MessageInstance): Promise<[string, string][]>;
|
|
7
|
+
export declare function exportGroup(api: EdaManagerApi, group: GroupData, config: XmlVectorExportConfig, dateTimeMask: string, setLoadingState: LoadingCallback, message: MessageInstance): Promise<[string, string][]>;
|
|
8
|
+
export declare function exportScenario(api: EdaManagerApi, scenario: ScenarioData, config: XmlVectorExportConfig, dateTimeMask: string, setLoadingState: LoadingCallback, message: MessageInstance): Promise<[string, string][]>;
|
|
9
|
+
export {};
|