d2aura 26.0.18 → 26.0.19
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/abstractApi.d.ts +1 -1
- package/api/abstractApi.js +2 -2
- package/api/abstractApi.js.map +1 -1
- package/api/eda/edaManagerApi.d.ts +13 -10
- package/api/eda/edaManagerApi.js +45 -12
- package/api/eda/edaManagerApi.js.map +1 -1
- package/api/eda/generated/events.d.ts +47 -14
- package/api/eda/generated/events.js +74 -14
- package/api/eda/generated/events.js.map +1 -1
- package/api/eda/generated/structures.d.ts +121 -121
- package/api/eda/generated/structures.js.map +1 -1
- package/core/i18n/d2aura.sk.json +2 -0
- package/coreui/components/edaManagerComponent/components/edaChartViewer.js +11 -11
- package/coreui/components/edaManagerComponent/components/edaChartViewer.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +2 -2
- package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +1 -1
- package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +1 -1
- package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js +3 -2
- package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js +5 -5
- package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js +3 -0
- package/coreui/components/edaManagerComponent/components/edaTimeWindowPickerPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +1 -0
- package/coreui/components/edaManagerComponent/components/edaTreeView.js +82 -33
- package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -1
- package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +11 -2
- package/coreui/components/edaManagerComponent/constants/edaTypes.js +6 -0
- package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaConfigContext.d.ts +5 -4
- package/coreui/components/edaManagerComponent/context/edaConfigContext.js +4 -1
- package/coreui/components/edaManagerComponent/context/edaConfigContext.js.map +1 -1
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +36 -23
- package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.js +1 -1
- package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/tablePanel.js +5 -5
- package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/tablePanel.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/edaTableEditorDialog.js +4 -2
- package/coreui/components/edaManagerComponent/dialogs/edaTableEditorDialog.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/importDialog.js +56 -8
- package/coreui/components/edaManagerComponent/dialogs/importDialog.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/importExport/export.js +48 -28
- package/coreui/components/edaManagerComponent/dialogs/importExport/export.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/importExport/import.d.ts +4 -2
- package/coreui/components/edaManagerComponent/dialogs/importExport/import.js +26 -2
- package/coreui/components/edaManagerComponent/dialogs/importExport/import.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeSelection.js +0 -1
- package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeSelection.js.map +1 -1
- package/coreui/components/edaManagerComponent/dialogs/vectorSelectionDialog.js +4 -5
- package/coreui/components/edaManagerComponent/dialogs/vectorSelectionDialog.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaDetail.js +3 -1
- package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaManager.d.ts +1 -1
- package/coreui/components/edaManagerComponent/edaManager.js +1 -1
- package/coreui/components/edaManagerComponent/edaManager.js.map +1 -1
- package/coreui/components/edaManagerComponent/edaNavigator.d.ts +1 -0
- package/coreui/components/edaManagerComponent/edaNavigator.js +4 -4
- package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -1
- package/coreui/components/edaManagerComponent/utils/utils.d.ts +1 -1
- package/coreui/components/edaManagerComponent/utils/utils.js +4 -5
- package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -1
- package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +18 -0
- package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +8 -8
- package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +4 -38
- package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +224 -79
- package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +12 -12
- package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +116 -116
- package/d2configuration/edaManager/SD.EM_EDA_CalcFunction_Params_V2.xml +245 -0
- package/d2configuration/edaManager/SD.EM_EDA_ReadValuesFromVector_Params_V2.xml +159 -0
- package/package.json +3 -3
|
@@ -28,21 +28,20 @@ export const VectorSelectionDialog = ({ api, data, displayedVectors, onSelected,
|
|
|
28
28
|
const id = data.type === 1 ? data.data.data.ID_SKVEKTOR : data.data.data.ID_SCENAR;
|
|
29
29
|
try {
|
|
30
30
|
let vectors;
|
|
31
|
-
let page =
|
|
31
|
+
let page = 1;
|
|
32
32
|
do {
|
|
33
|
-
const offset = page * api.pageSize;
|
|
34
33
|
if (data.type === 1) {
|
|
35
|
-
vectors = await api.getGroupVectors(id,
|
|
34
|
+
vectors = await api.getGroupVectors(id, page);
|
|
36
35
|
}
|
|
37
36
|
else {
|
|
38
|
-
vectors = await api.getScenarioVectors(id,
|
|
37
|
+
vectors = await api.getScenarioVectors(id, page, undefined, true);
|
|
39
38
|
}
|
|
40
39
|
if (!isCurrent) {
|
|
41
40
|
return;
|
|
42
41
|
}
|
|
43
42
|
result.push(...vectors.items);
|
|
44
43
|
page++;
|
|
45
|
-
} while (
|
|
44
|
+
} while ((page - 1) * api.pageSize < vectors.totalCount);
|
|
46
45
|
if (isCurrent) {
|
|
47
46
|
setAvailableVectors(result);
|
|
48
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectorSelectionDialog.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/dialogs/vectorSelectionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAU,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE/E,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAEpC,OAAO,EAAC,WAAW,EAAoC,MAAM,uCAAuC,CAAC;AACrG,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAS5D,MAAM,CAAC,MAAM,qBAAqB,GAAc,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;IAC1G,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAa,gBAAgB,CAAC,CAAC;IACvF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,MAAM,CAAwB,SAAS,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,UAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,cAAc;aAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,MAAiB,IAAI,IAAI,CAAC,IAAI,MAAoB,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YAC/G,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;gBAC/B,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrD,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACxB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAE1B,MAAM,MAAM,GAAe,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,MAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAE9F,IAAI,CAAC;oBACD,IAAI,OAAwB,CAAC;oBAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;oBAEb,GAAG,CAAC;wBACA,
|
|
1
|
+
{"version":3,"file":"vectorSelectionDialog.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/dialogs/vectorSelectionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAU,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE/E,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAEpC,OAAO,EAAC,WAAW,EAAoC,MAAM,uCAAuC,CAAC;AACrG,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAS5D,MAAM,CAAC,MAAM,qBAAqB,GAAc,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,EAAE;IAC1G,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAa,gBAAgB,CAAC,CAAC;IACvF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,MAAM,CAAwB,SAAS,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,UAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,cAAc;aAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,MAAiB,IAAI,IAAI,CAAC,IAAI,MAAoB,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YAC/G,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;gBAC/B,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrD,mBAAmB,CAAC,EAAE,CAAC,CAAC;gBACxB,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;gBAE1B,MAAM,MAAM,GAAe,EAAE,CAAC;gBAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,MAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAE9F,IAAI,CAAC;oBACD,IAAI,OAAwB,CAAC;oBAC7B,IAAI,IAAI,GAAG,CAAC,CAAC;oBAEb,GAAG,CAAC;wBACA,IAAI,IAAI,CAAC,IAAI,MAAiB,EAAE,CAAC;4BAC7B,OAAO,GAAG,MAAM,GAAG,CAAC,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;wBAClD,CAAC;6BAAM,CAAC;4BACJ,OAAO,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBACtE,CAAC;wBAED,IAAI,CAAC,SAAS,EAAE,CAAC;4BACb,OAAO;wBACX,CAAC;wBAED,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC9B,IAAI,EAAE,CAAC;oBACX,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE;oBAEzD,IAAI,SAAS,EAAE,CAAC;wBACZ,mBAAmB,CAAC,MAAM,CAAC,CAAC;oBAChC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;gBAC/C,CAAC;wBAAS,CAAC;oBACP,IAAI,SAAS,EAAE,CAAC;wBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YAEF,eAAe,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,KAAK,CAAC;QACtB,CAAC,CAAA;IACL,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAExC,OAAO,CACH,oBAAC,WAAW,OACJ,KAAK,EACT,IAAI,eACJ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,UAAU,EAAE,CAAC,EAAC,EAAC,EAC/B,KAAK,EAAE,oBAAC,cAAc,IAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,EACvD,YAAY,EAAE,MAAM,CAAC,UAAU,GAAG,GAAG,EACrC,aAAa,EAAE,MAAM,CAAC,WAAW,GAAG,GAAG,EACvC,aAAa,EAAE,EAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,SAAS,EAAC,EAC5E,IAAI,EAAE,QAAQ;QAEd,oBAAC,QAAQ,IACL,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC,EACtC,SAAS,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC,EAC7C,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAC7B,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAC3D,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA,CAAC,CAAC,SAAS,EACjE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EACtC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;gBAChB,IAAI,cAAc,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE,SAAS,KAAK,OAAO,EAAE,CAAC;oBACtE,OAAO,CAAC,oBAAC,KAAK,IAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,2CAA2C,EAAE,EAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAC,CAAC,GAAI,CAAC,CAAC;gBAC7H,CAAC;qBAAM,CAAC;oBACJ,OAAQ,SAAS,CAAC;gBACtB,CAAC;YACL,CAAC,GACH,CACQ,CACjB,CAAC;AACN,CAAC,CAAA","sourcesContent":["import React, {FC, Key, useCallback, useEffect, useRef, useState} from \"react\";\r\nimport EdaManagerApi, {TreeItem, TreeItemsResult} from \"../../../../api/eda/edaManagerApi\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {IdType, TypedData} from \"../constants/edaTypes\";\r\nimport {ModalDialog, ModalDialogMode, ModalDialogProps} from \"d2coreui/components/modal/modalDialog\";\r\nimport {Alert, Transfer} from \"antd\";\r\nimport {EdaDialogTitle} from \"../components/edaDialogTitle\";\r\n\r\ninterface Props extends Omit<ModalDialogProps, \"mode\" | \"onOk\"> {\r\n api: EdaManagerApi\r\n data?: TypedData\r\n displayedVectors: TreeItem[]\r\n onSelected: (vectors: TreeItem[]) => void\r\n}\r\n\r\nexport const VectorSelectionDialog: FC<Props> = ({api, data, displayedVectors, onSelected, open, ...props}) => {\r\n const [visibleVectors, setVisibleVectors] = useState<Key[]>([]);\r\n const [availableVectors, setAvailableVectors] = useState<TreeItem[]>(displayedVectors);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const lastLoaded = useRef<TypedData | undefined>(undefined);\r\n\r\n const handleChange = useCallback((targetKeys: Key[]) => setVisibleVectors(targetKeys), []);\r\n\r\n const handleOk = useCallback(() => {\r\n const availableMap = new Map(availableVectors.map(v => [v.ID, v]));\r\n const selected = visibleVectors\r\n .map((id) => availableMap.get(id as number))\r\n .filter((v): v is TreeItem => !!v);\r\n onSelected(selected);\r\n }, [availableVectors, visibleVectors, onSelected]);\r\n\r\n useEffect(() => {\r\n let isCurrent = true;\r\n\r\n if (open && data && (data.type === IdType.GROUP || data.type === IdType.SCENARIO) && data !== lastLoaded.current) {\r\n const fetchAllVectors = async () => {\r\n setIsLoading(true);\r\n setVisibleVectors(displayedVectors.map((v) => v.ID));\r\n setAvailableVectors([]);\r\n lastLoaded.current = data;\r\n\r\n const result: TreeItem[] = [];\r\n const id = data.type === IdType.GROUP ? data.data.data.ID_SKVEKTOR : data.data.data.ID_SCENAR;\r\n\r\n try {\r\n let vectors: TreeItemsResult;\r\n let page = 1;\r\n\r\n do {\r\n if (data.type === IdType.GROUP) {\r\n vectors = await api.getGroupVectors(id, page);\r\n } else {\r\n vectors = await api.getScenarioVectors(id, page, undefined, true);\r\n }\r\n\r\n if (!isCurrent) {\r\n return;\r\n }\r\n\r\n result.push(...vectors.items);\r\n page++;\r\n } while ((page - 1) * api.pageSize < vectors.totalCount);\r\n\r\n if (isCurrent) {\r\n setAvailableVectors(result);\r\n }\r\n } catch (e) {\r\n console.error(\"Failed to load vectors\", e);\r\n } finally {\r\n if (isCurrent) {\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n fetchAllVectors();\r\n }\r\n\r\n return () => {\r\n isCurrent = false;\r\n }\r\n }, [api, data, open, displayedVectors]);\r\n\r\n return (\r\n <ModalDialog\r\n {...props}\r\n mode={ModalDialogMode.OK_CANCEL}\r\n open={open}\r\n styles={{body: {paddingTop: 0}}}\r\n title={<EdaDialogTitle title={i18n(\"User Selection\")}/>}\r\n initialWidth={window.innerWidth * 0.8}\r\n initialHeight={window.innerHeight * 0.8}\r\n okButtonProps={{disabled: visibleVectors.length > api.pageSize || isLoading}}\r\n onOk={handleOk}\r\n >\r\n <Transfer<TreeItem>\r\n style={{width: \"100%\", height: \"100%\"}}\r\n listStyle={{flex: \"1 1 auto\", height: \"100%\"}}\r\n dataSource={availableVectors}\r\n rowKey={(vector) => vector.ID}\r\n titles={[i18n(\"Hidden vectors\"), i18n(\"Displayed vectors\")]}\r\n targetKeys={visibleVectors}\r\n onChange={handleChange}\r\n status={visibleVectors.length > api.pageSize ? \"error\": undefined}\r\n render={(vector) => vector.DisplayName}\r\n footer={(_, info) => {\r\n if (visibleVectors.length > api.pageSize && info?.direction === \"right\") {\r\n return (<Alert type={\"error\"} message={i18n(\"Maximum number of displayed vectors: %{n}\", {n: String(api.pageSize)})} />);\r\n } else {\r\n return undefined;\r\n }\r\n }}\r\n />\r\n </ModalDialog>\r\n );\r\n}"]}
|
|
@@ -131,7 +131,9 @@ export const EdaDetail = ({ api, item, className, style, size, variant }) => {
|
|
|
131
131
|
!Array.isArray(item) && item && item.type === 1 && (React.createElement(React.Fragment, null,
|
|
132
132
|
React.createElement(Button, { icon: React.createElement(ImportOutlined, null), onClick: () => triggerImportToXML(detailData), title: i18n("Import") }),
|
|
133
133
|
React.createElement(Button, { icon: React.createElement(FileAddOutlined, null), onClick: () => triggerIncludeToGroup(item), title: i18n("Include vector to group") }))),
|
|
134
|
-
!Array.isArray(item) && item && item.type === 2 && (React.createElement(
|
|
134
|
+
!Array.isArray(item) && item && item.type === 2 && (React.createElement(React.Fragment, null,
|
|
135
|
+
React.createElement(Button, { icon: React.createElement(ImportOutlined, null), onClick: () => triggerImportToXML(detailData), title: i18n("Import") }),
|
|
136
|
+
React.createElement(Button, { icon: React.createElement(FileAddOutlined, null), onClick: () => triggerIncludeToScenario(item), title: i18n("Include vector to scenario") }))))),
|
|
135
137
|
React.createElement(Button, { disabled: item === undefined, icon: isFullscreen ? React.createElement(FullscreenExitOutlined, null) : React.createElement(FullscreenOutlined, null), onClick: handleToggleFullscreen, title: i18n(isFullscreen ? "Restore" : "Fullscreen") }))),
|
|
136
138
|
} })));
|
|
137
139
|
useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaDetail.js","sourceRoot":"","sources":["../../../../../coreui/components/edaManagerComponent/edaDetail.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useEffect, useMemo, useState} from \"react\";\r\nimport {createStyles} from \"antd-style\";\r\nimport {EdaSamplingType, IdType, ItemType, StepType, TypedData} from \"./constants/edaTypes\";\r\nimport EdaManagerApi, {TreeItem} from \"../../../api/eda/edaManagerApi\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\nimport {Variant} from \"antd/es/config-provider\";\r\nimport {SharedSampleRangeContext, SharedSampleRangeState} from \"./context/sharedSampleRangeContext\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {loadDetail, loadPreference, savePreference, stepToDayJsType} from \"./utils/utils\";\r\nimport {StorageTypes} from \"./constants/storageTypes\";\r\nimport {getRange} from \"./components/edaTimeWindowPickerPanel\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaDetailPanel} from \"./components/edaDetailPanel\";\r\nimport {EdaTablePanel} from \"./components/edaTablePanel\";\r\nimport {EdaVectorDataProvider} from \"./context/edaVectorDataProvider\";\r\nimport {Button, ConfigProvider, Space, Tabs} from \"antd\";\r\nimport {EdaConfiguration} from \"./context/edaConfigContext\";\r\nimport {EdaGraphPanel} from \"./components/edaGraphPanel\";\r\nimport {AppstoreAddOutlined, ExportOutlined, FileAddOutlined, FolderAddOutlined, FullscreenExitOutlined, FullscreenOutlined, ImportOutlined} from \"@ant-design/icons\";\r\nimport {createPortal} from \"react-dom\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport {useEdaActions} from \"./context/useEdaActions\";\r\nimport {LoadingContextProvider} from \"./context/loadingContext\";\r\n\r\nconst useStyles = createStyles(({css},) => {\r\n return {\r\n baseLayout: css`\r\n height: 100%;\r\n overflow: hidden;\r\n\r\n .ant-tabs-content {\r\n height: 100%;\r\n }\r\n `,\r\n fullscreenLayout: css`\r\n .ant-design-draggable-modal-title {\r\n display: none;\r\n }\r\n `\r\n }\r\n});\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n item?: ItemType\r\n className?: string\r\n style?: React.CSSProperties\r\n\r\n size?: SizeType\r\n variant?: Variant\r\n\r\n // Eda detail configuration\r\n configuration?: EdaConfiguration\r\n}\r\n\r\nexport const EdaDetail: FC<Props> = ({api, item, className, style, size, variant}) => {\r\n const {styles} = useStyles();\r\n const {triggerExportToXML, triggerImportToXML, triggerIncludeToScenario, triggerIncludeToGroup, renderActionDialogs} = useEdaActions(api);\r\n\r\n const [activeTabKey, setActiveTabKey] = useState<string>(\"detail\");\r\n const [detailData, setDetailData] = useState<TypedData>();\r\n\r\n const [isFullscreen, setIsFullscreen] = useState<boolean>(false);\r\n const [portalTarget, setPortalTarget] = useState<HTMLDivElement | null>(null);\r\n\r\n const [sampleRange, setSampleRange] = useState<SharedSampleRangeState>(() => {\r\n const btTotal = dayjs(loadPreference(StorageTypes.EDA_DETAIL_BT, dayjs().startOf('day').toISOString()));\r\n const etTotal = dayjs(loadPreference(StorageTypes.EDA_DETAIL_ET, dayjs().endOf('day').toISOString()));\r\n const step = loadPreference(StorageTypes.EDA_DETAIL_STEP, StepType.Daily);\r\n const {bt, et} = getRange(btTotal, etTotal, step);\r\n\r\n return {\r\n btTotal,\r\n etTotal,\r\n btWindow: bt,\r\n etWindow: et,\r\n sampling: EdaSamplingType.Default,\r\n step,\r\n vectorPage: 1,\r\n totalCount: 0,\r\n }\r\n });\r\n\r\n const updateValues = useCallback((bt: dayjs.Dayjs, et: dayjs.Dayjs, sampling: EdaSamplingType) => {\r\n setSampleRange((s) => {\r\n let {btWindow, etWindow} = s;\r\n const unit = stepToDayJsType(s.step);\r\n\r\n if (unit) {\r\n if (s.btWindow.isBefore(bt)) {\r\n btWindow = bt;\r\n etWindow = bt.endOf(unit);\r\n }\r\n\r\n if (s.etWindow.isAfter(et)) {\r\n btWindow = et.startOf(unit);\r\n etWindow = et;\r\n }\r\n } else {\r\n btWindow = bt;\r\n etWindow = et;\r\n }\r\n\r\n return {...s, btTotal: bt, etTotal: et, btWindow, etWindow, sampling}\r\n });\r\n }, []);\r\n const updatePage = useCallback((page: number) => {\r\n setSampleRange((s) => ({...s, vectorPage: page, vectors: undefined}));\r\n }, []);\r\n const updateVectors = useCallback((vectors: TreeItem[]) => {\r\n setSampleRange((s) => ({...s, vectorPage: 1, vectors: vectors}));\r\n }, []);\r\n const updateTimeWindow = useCallback((bt: dayjs.Dayjs, et: dayjs.Dayjs, step: StepType) => {\r\n setSampleRange((s) => ({...s, btWindow: bt, etWindow: et, step}));\r\n }, []);\r\n const updateTotalCount = useCallback((totalCount: number) => {\r\n setSampleRange((s) => ({...s, totalCount}));\r\n }, []);\r\n const contextValue: SharedSampleRangeContext = useMemo(() => ({\r\n ...sampleRange,\r\n updateValues,\r\n updatePage,\r\n updateVectors,\r\n updateTimeWindow,\r\n updateTotalCount,\r\n }), [sampleRange, updateValues, updatePage, updateVectors, updateTimeWindow, updateTotalCount]);\r\n\r\n const handleToggleFullscreen = useCallback(() => {\r\n setIsFullscreen(!isFullscreen);\r\n\r\n if (isFullscreen) {\r\n setPortalTarget(null);\r\n }\r\n }, [isFullscreen]);\r\n\r\n const tabItems = useMemo(() => [\r\n {\r\n key: \"detail\",\r\n label: i18n(\"Detail\"),\r\n children: (\r\n <EdaDetailPanel\r\n api={api}\r\n data={detailData}\r\n />\r\n ),\r\n },\r\n {\r\n key: \"table\",\r\n label: i18n(\"Table\"),\r\n children: (\r\n <EdaTablePanel\r\n api={api}\r\n data={detailData}\r\n isActive={activeTabKey === \"table\"}\r\n />\r\n ),\r\n },\r\n {\r\n key: \"graph\",\r\n label: i18n(\"Graph\"),\r\n children: (\r\n <EdaGraphPanel\r\n api={api}\r\n data={detailData}\r\n isActive={activeTabKey === \"graph\"}\r\n />\r\n ),\r\n },\r\n ], [api, detailData, activeTabKey]);\r\n\r\n const renderTabs = (\r\n <div style={{position: 'relative', height: '100%', width: '100%', display: 'flex', flexDirection: 'column'}}>\r\n <Tabs\r\n type={\"card\"}\r\n className={styles.baseLayout}\r\n onChange={setActiveTabKey}\r\n activeKey={activeTabKey}\r\n destroyOnHidden={false}\r\n items={tabItems}\r\n tabBarExtraContent={{\r\n right: (\r\n <Space.Compact>\r\n {detailData !== undefined && (\r\n <>\r\n {!Array.isArray(item) && item && (\r\n <Button\r\n icon={<ExportOutlined/>}\r\n onClick={() => triggerExportToXML(detailData)}\r\n title={i18n(\"Export\")}\r\n />\r\n )}\r\n {!Array.isArray(item) && item && item.type === IdType.VECTOR && (\r\n <>\r\n <Button\r\n icon={<AppstoreAddOutlined/>}\r\n onClick={() => triggerIncludeToGroup(item)}\r\n title={i18n(\"Include vector to group\")}\r\n />\r\n <Button\r\n icon={<FolderAddOutlined/>}\r\n onClick={() => triggerIncludeToScenario(item)}\r\n title={i18n(\"Include vector to scenario\")}\r\n />\r\n </>\r\n )}\r\n {!Array.isArray(item) && item && item.type === IdType.GROUP && (\r\n <>\r\n <Button\r\n icon={<ImportOutlined/>}\r\n onClick={() => triggerImportToXML(detailData)}\r\n title={i18n(\"Import\")}\r\n />\r\n <Button\r\n icon={<FileAddOutlined/>}\r\n onClick={() => triggerIncludeToGroup(item)}\r\n title={i18n(\"Include vector to group\")}\r\n />\r\n </>\r\n )}\r\n {!Array.isArray(item) && item && item.type === IdType.SCENARIO && (\r\n <Button\r\n icon={<FileAddOutlined/>}\r\n onClick={() => triggerIncludeToScenario(item)}\r\n title={i18n(\"Include vector to scenario\")}\r\n />\r\n )}\r\n </>\r\n )}\r\n <Button\r\n disabled={item === undefined}\r\n icon={isFullscreen ? <FullscreenExitOutlined/> : <FullscreenOutlined/>}\r\n onClick={handleToggleFullscreen}\r\n title={i18n(isFullscreen ? \"Restore\" : \"Fullscreen\")}\r\n />\r\n </Space.Compact>\r\n ),\r\n }}\r\n />\r\n </div>\r\n );\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n\r\n if (item) {\r\n loadDetail(api, item).then((result) => {\r\n if (isMounted && result) {\r\n setDetailData(result);\r\n }\r\n });\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n }\r\n }, [api, item]);\r\n\r\n useEffect(() => {\r\n savePreference(StorageTypes.EDA_DETAIL_BT, sampleRange.btTotal.toISOString());\r\n savePreference(StorageTypes.EDA_DETAIL_ET, sampleRange.etTotal.toISOString());\r\n savePreference(StorageTypes.EDA_DETAIL_STEP, sampleRange.step);\r\n }, [sampleRange.btTotal, sampleRange.etTotal, sampleRange.step]);\r\n\r\n return (\r\n <ConfigProvider componentSize={size} variant={variant}>\r\n <div className={className} style={style}>\r\n <SharedSampleRangeContext.Provider value={contextValue}>\r\n <LoadingContextProvider>\r\n <EdaVectorDataProvider api={api}>\r\n {isFullscreen && portalTarget ? createPortal(renderTabs, portalTarget) : renderTabs}\r\n <ModalDialog\r\n classNames={{header: styles.fullscreenLayout}}\r\n open={isFullscreen}\r\n onCancel={handleToggleFullscreen}\r\n footer={null}\r\n closable={false}\r\n initialWidth={window.innerWidth * 0.9}\r\n initialHeight={window.innerHeight * 0.9}\r\n destroyOnHidden={false}\r\n mode={ModalDialogMode.NO_BUTTONS}\r\n styles={{\r\n header: {\r\n padding: 0,\r\n margin: 0\r\n },\r\n }}\r\n >\r\n <div\r\n style={{width: '100%', height: '100%'}}\r\n ref={(el) => {\r\n if (el && !portalTarget) {\r\n setPortalTarget(el);\r\n }\r\n }}\r\n />\r\n </ModalDialog>\r\n {renderActionDialogs()}\r\n </EdaVectorDataProvider>\r\n </LoadingContextProvider>\r\n </SharedSampleRangeContext.Provider>\r\n </div>\r\n </ConfigProvider>\r\n );\r\n}"]}
|
|
1
|
+
{"version":3,"file":"edaDetail.js","sourceRoot":"","sources":["../../../../../coreui/components/edaManagerComponent/edaDetail.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useEffect, useMemo, useState} from \"react\";\r\nimport {createStyles} from \"antd-style\";\r\nimport {EdaSamplingType, IdType, ItemType, StepType, TypedData} from \"./constants/edaTypes\";\r\nimport EdaManagerApi, {TreeItem} from \"../../../api/eda/edaManagerApi\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\nimport {Variant} from \"antd/es/config-provider\";\r\nimport {SharedSampleRangeContext, SharedSampleRangeState} from \"./context/sharedSampleRangeContext\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {loadDetail, loadPreference, savePreference, stepToDayJsType} from \"./utils/utils\";\r\nimport {StorageTypes} from \"./constants/storageTypes\";\r\nimport {getRange} from \"./components/edaTimeWindowPickerPanel\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaDetailPanel} from \"./components/edaDetailPanel\";\r\nimport {EdaTablePanel} from \"./components/edaTablePanel\";\r\nimport {EdaVectorDataProvider} from \"./context/edaVectorDataProvider\";\r\nimport {Button, ConfigProvider, Space, Tabs} from \"antd\";\r\nimport {EdaConfiguration} from \"./context/edaConfigContext\";\r\nimport {EdaGraphPanel} from \"./components/edaGraphPanel\";\r\nimport {AppstoreAddOutlined, ExportOutlined, FileAddOutlined, FolderAddOutlined, FullscreenExitOutlined, FullscreenOutlined, ImportOutlined} from \"@ant-design/icons\";\r\nimport {createPortal} from \"react-dom\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport {useEdaActions} from \"./context/useEdaActions\";\r\nimport {LoadingContextProvider} from \"./context/loadingContext\";\r\n\r\nconst useStyles = createStyles(({css},) => {\r\n return {\r\n baseLayout: css`\r\n height: 100%;\r\n overflow: hidden;\r\n\r\n .ant-tabs-content {\r\n height: 100%;\r\n }\r\n `,\r\n fullscreenLayout: css`\r\n .ant-design-draggable-modal-title {\r\n display: none;\r\n }\r\n `\r\n }\r\n});\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n item?: ItemType\r\n className?: string\r\n style?: React.CSSProperties\r\n\r\n size?: SizeType\r\n variant?: Variant\r\n\r\n // Eda detail configuration\r\n configuration?: EdaConfiguration\r\n}\r\n\r\nexport const EdaDetail: FC<Props> = ({api, item, className, style, size, variant}) => {\r\n const {styles} = useStyles();\r\n const {triggerExportToXML, triggerImportToXML, triggerIncludeToScenario, triggerIncludeToGroup, renderActionDialogs} = useEdaActions(api);\r\n\r\n const [activeTabKey, setActiveTabKey] = useState<string>(\"detail\");\r\n const [detailData, setDetailData] = useState<TypedData>();\r\n\r\n const [isFullscreen, setIsFullscreen] = useState<boolean>(false);\r\n const [portalTarget, setPortalTarget] = useState<HTMLDivElement | null>(null);\r\n\r\n const [sampleRange, setSampleRange] = useState<SharedSampleRangeState>(() => {\r\n const btTotal = dayjs(loadPreference(StorageTypes.EDA_DETAIL_BT, dayjs().startOf('day').toISOString()));\r\n const etTotal = dayjs(loadPreference(StorageTypes.EDA_DETAIL_ET, dayjs().endOf('day').toISOString()));\r\n const step = loadPreference(StorageTypes.EDA_DETAIL_STEP, StepType.Daily);\r\n const {bt, et} = getRange(btTotal, etTotal, step);\r\n\r\n return {\r\n btTotal,\r\n etTotal,\r\n btWindow: bt,\r\n etWindow: et,\r\n sampling: EdaSamplingType.Default,\r\n step,\r\n vectorPage: 1,\r\n totalCount: 0,\r\n }\r\n });\r\n\r\n const updateValues = useCallback((bt: dayjs.Dayjs, et: dayjs.Dayjs, sampling: EdaSamplingType) => {\r\n setSampleRange((s) => {\r\n let {btWindow, etWindow} = s;\r\n const unit = stepToDayJsType(s.step);\r\n\r\n if (unit) {\r\n if (s.btWindow.isBefore(bt)) {\r\n btWindow = bt;\r\n etWindow = bt.endOf(unit);\r\n }\r\n\r\n if (s.etWindow.isAfter(et)) {\r\n btWindow = et.startOf(unit);\r\n etWindow = et;\r\n }\r\n } else {\r\n btWindow = bt;\r\n etWindow = et;\r\n }\r\n\r\n return {...s, btTotal: bt, etTotal: et, btWindow, etWindow, sampling}\r\n });\r\n }, []);\r\n const updatePage = useCallback((page: number) => {\r\n setSampleRange((s) => ({...s, vectorPage: page, vectors: undefined}));\r\n }, []);\r\n const updateVectors = useCallback((vectors: TreeItem[]) => {\r\n setSampleRange((s) => ({...s, vectorPage: 1, vectors: vectors}));\r\n }, []);\r\n const updateTimeWindow = useCallback((bt: dayjs.Dayjs, et: dayjs.Dayjs, step: StepType) => {\r\n setSampleRange((s) => ({...s, btWindow: bt, etWindow: et, step}));\r\n }, []);\r\n const updateTotalCount = useCallback((totalCount: number) => {\r\n setSampleRange((s) => ({...s, totalCount}));\r\n }, []);\r\n const contextValue: SharedSampleRangeContext = useMemo(() => ({\r\n ...sampleRange,\r\n updateValues,\r\n updatePage,\r\n updateVectors,\r\n updateTimeWindow,\r\n updateTotalCount,\r\n }), [sampleRange, updateValues, updatePage, updateVectors, updateTimeWindow, updateTotalCount]);\r\n\r\n const handleToggleFullscreen = useCallback(() => {\r\n setIsFullscreen(!isFullscreen);\r\n\r\n if (isFullscreen) {\r\n setPortalTarget(null);\r\n }\r\n }, [isFullscreen]);\r\n\r\n const tabItems = useMemo(() => [\r\n {\r\n key: \"detail\",\r\n label: i18n(\"Detail\"),\r\n children: (\r\n <EdaDetailPanel\r\n api={api}\r\n data={detailData}\r\n />\r\n ),\r\n },\r\n {\r\n key: \"table\",\r\n label: i18n(\"Table\"),\r\n children: (\r\n <EdaTablePanel\r\n api={api}\r\n data={detailData}\r\n isActive={activeTabKey === \"table\"}\r\n />\r\n ),\r\n },\r\n {\r\n key: \"graph\",\r\n label: i18n(\"Graph\"),\r\n children: (\r\n <EdaGraphPanel\r\n api={api}\r\n data={detailData}\r\n isActive={activeTabKey === \"graph\"}\r\n />\r\n ),\r\n },\r\n ], [api, detailData, activeTabKey]);\r\n\r\n const renderTabs = (\r\n <div style={{position: 'relative', height: '100%', width: '100%', display: 'flex', flexDirection: 'column'}}>\r\n <Tabs\r\n type={\"card\"}\r\n className={styles.baseLayout}\r\n onChange={setActiveTabKey}\r\n activeKey={activeTabKey}\r\n destroyOnHidden={false}\r\n items={tabItems}\r\n tabBarExtraContent={{\r\n right: (\r\n <Space.Compact>\r\n {detailData !== undefined && (\r\n <>\r\n {!Array.isArray(item) && item && (\r\n <Button\r\n icon={<ExportOutlined/>}\r\n onClick={() => triggerExportToXML(detailData)}\r\n title={i18n(\"Export\")}\r\n />\r\n )}\r\n {!Array.isArray(item) && item && item.type === IdType.VECTOR && (\r\n <>\r\n <Button\r\n icon={<AppstoreAddOutlined/>}\r\n onClick={() => triggerIncludeToGroup(item)}\r\n title={i18n(\"Include vector to group\")}\r\n />\r\n <Button\r\n icon={<FolderAddOutlined/>}\r\n onClick={() => triggerIncludeToScenario(item)}\r\n title={i18n(\"Include vector to scenario\")}\r\n />\r\n </>\r\n )}\r\n {!Array.isArray(item) && item && item.type === IdType.GROUP && (\r\n <>\r\n <Button\r\n icon={<ImportOutlined/>}\r\n onClick={() => triggerImportToXML(detailData)}\r\n title={i18n(\"Import\")}\r\n />\r\n <Button\r\n icon={<FileAddOutlined/>}\r\n onClick={() => triggerIncludeToGroup(item)}\r\n title={i18n(\"Include vector to group\")}\r\n />\r\n </>\r\n )}\r\n {!Array.isArray(item) && item && item.type === IdType.SCENARIO && (\r\n <>\r\n <Button\r\n icon={<ImportOutlined/>}\r\n onClick={() => triggerImportToXML(detailData)}\r\n title={i18n(\"Import\")}\r\n />\r\n <Button\r\n icon={<FileAddOutlined/>}\r\n onClick={() => triggerIncludeToScenario(item)}\r\n title={i18n(\"Include vector to scenario\")}\r\n />\r\n </>\r\n )}\r\n </>\r\n )}\r\n <Button\r\n disabled={item === undefined}\r\n icon={isFullscreen ? <FullscreenExitOutlined/> : <FullscreenOutlined/>}\r\n onClick={handleToggleFullscreen}\r\n title={i18n(isFullscreen ? \"Restore\" : \"Fullscreen\")}\r\n />\r\n </Space.Compact>\r\n ),\r\n }}\r\n />\r\n </div>\r\n );\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n\r\n if (item) {\r\n loadDetail(api, item).then((result) => {\r\n if (isMounted && result) {\r\n setDetailData(result);\r\n }\r\n });\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n }\r\n }, [api, item]);\r\n\r\n useEffect(() => {\r\n savePreference(StorageTypes.EDA_DETAIL_BT, sampleRange.btTotal.toISOString());\r\n savePreference(StorageTypes.EDA_DETAIL_ET, sampleRange.etTotal.toISOString());\r\n savePreference(StorageTypes.EDA_DETAIL_STEP, sampleRange.step);\r\n }, [sampleRange.btTotal, sampleRange.etTotal, sampleRange.step]);\r\n\r\n return (\r\n <ConfigProvider componentSize={size} variant={variant}>\r\n <div className={className} style={style}>\r\n <SharedSampleRangeContext.Provider value={contextValue}>\r\n <LoadingContextProvider>\r\n <EdaVectorDataProvider api={api}>\r\n {isFullscreen && portalTarget ? createPortal(renderTabs, portalTarget) : renderTabs}\r\n <ModalDialog\r\n classNames={{header: styles.fullscreenLayout}}\r\n open={isFullscreen}\r\n onCancel={handleToggleFullscreen}\r\n footer={null}\r\n closable={false}\r\n initialWidth={window.innerWidth * 0.9}\r\n initialHeight={window.innerHeight * 0.9}\r\n destroyOnHidden={false}\r\n mode={ModalDialogMode.NO_BUTTONS}\r\n styles={{\r\n header: {\r\n padding: 0,\r\n margin: 0\r\n },\r\n }}\r\n >\r\n <div\r\n style={{width: '100%', height: '100%'}}\r\n ref={(el) => {\r\n if (el && !portalTarget) {\r\n setPortalTarget(el);\r\n }\r\n }}\r\n />\r\n </ModalDialog>\r\n {renderActionDialogs()}\r\n </EdaVectorDataProvider>\r\n </LoadingContextProvider>\r\n </SharedSampleRangeContext.Provider>\r\n </div>\r\n </ConfigProvider>\r\n );\r\n}"]}
|
|
@@ -34,7 +34,7 @@ export const EdaManager = ({ api, size, variant, configuration }) => {
|
|
|
34
34
|
React.createElement(Splitter, { className: styles.baseLayout },
|
|
35
35
|
React.createElement(Splitter.Panel, { defaultSize: "25%" },
|
|
36
36
|
React.createElement("div", { className: styles.navPanel },
|
|
37
|
-
React.createElement(EdaNavigator, { api: api, onDoubleClick: handleDoubleClick }))),
|
|
37
|
+
React.createElement(EdaNavigator, { api: api, onDoubleClick: handleDoubleClick, allowDrag: true }))),
|
|
38
38
|
React.createElement(Splitter.Panel, null,
|
|
39
39
|
React.createElement("div", { className: styles.detailPanel },
|
|
40
40
|
React.createElement(EdaDetail, { api: api, item: selectedItem, style: { width: '100%', height: '100%' } }))))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edaManager.js","sourceRoot":"","sources":["../../../../../coreui/components/edaManagerComponent/edaManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAK,WAAW,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAC,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAEhE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,EAAG,EAAE;IAC7C,OAAO;QACH,UAAU,EAAE,GAAG,CAAA;;;uBAGA,KAAK,CAAC,UAAU;SAC9B;QACD,QAAQ,EAAE,GAAG,CAAA;;kCAEa,KAAK,EAAE,UAAU;SAC1C;QACD,WAAW,EAAE,GAAG,CAAA;;oCAEY,KAAK,EAAE,UAAU;SAC5C;KACJ,CAAA;AACL,CAAC,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,UAAU,GAAc,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAC,EAAE,EAAE;IACzE,MAAM,EAAC,MAAM,EAAC,GAAG,SAAS,EAAE,CAAC;IAE7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAc,CAAC;IAE/D,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,IAAgB,EAAE,EAAE;QACvD,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,oBAAC,iBAAiB,IAAC,MAAM,EAAE,aAAa;QACpC,oBAAC,cAAc,IAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;YACjD,oBAAC,sBAAsB;gBACnB,oBAAC,QAAQ,IAAC,SAAS,EAAE,MAAM,CAAC,UAAU;oBAClC,oBAAC,QAAQ,CAAC,KAAK,IAAC,WAAW,EAAE,KAAK;wBAC9B,6BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ;4BAC3B,oBAAC,YAAY,IACT,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"edaManager.js","sourceRoot":"","sources":["../../../../../coreui/components/edaManagerComponent/edaManager.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAK,WAAW,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,EAAC,cAAc,EAAE,QAAQ,EAAC,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAG5C,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAEhE,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,EAAG,EAAE;IAC7C,OAAO;QACH,UAAU,EAAE,GAAG,CAAA;;;uBAGA,KAAK,CAAC,UAAU;SAC9B;QACD,QAAQ,EAAE,GAAG,CAAA;;kCAEa,KAAK,EAAE,UAAU;SAC1C;QACD,WAAW,EAAE,GAAG,CAAA;;oCAEY,KAAK,EAAE,UAAU;SAC5C;KACJ,CAAA;AACL,CAAC,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,UAAU,GAAc,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAC,EAAE,EAAE;IACzE,MAAM,EAAC,MAAM,EAAC,GAAG,SAAS,EAAE,CAAC;IAE7B,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAc,CAAC;IAE/D,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,IAAgB,EAAE,EAAE;QACvD,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,oBAAC,iBAAiB,IAAC,MAAM,EAAE,aAAa;QACpC,oBAAC,cAAc,IAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;YACjD,oBAAC,sBAAsB;gBACnB,oBAAC,QAAQ,IAAC,SAAS,EAAE,MAAM,CAAC,UAAU;oBAClC,oBAAC,QAAQ,CAAC,KAAK,IAAC,WAAW,EAAE,KAAK;wBAC9B,6BAAK,SAAS,EAAE,MAAM,CAAC,QAAQ;4BAC3B,oBAAC,YAAY,IACT,GAAG,EAAE,GAAG,EACR,aAAa,EAAE,iBAAiB,EAChC,SAAS,SACX,CACA,CACO;oBACjB,oBAAC,QAAQ,CAAC,KAAK;wBACX,6BAAK,SAAS,EAAE,MAAM,CAAC,WAAW;4BAC9B,oBAAC,SAAS,IACN,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC,GACxC,CACA,CACO,CACV,CACU,CACZ,CACD,CACvB,CAAC;AACN,CAAC,CAAC","sourcesContent":["import React, {FC, useCallback, useState} from \"react\";\r\nimport {ConfigProvider, Splitter} from \"antd\";\r\nimport {EdaNavigator} from \"./edaNavigator\";\r\nimport EdaManagerApi from \"../../../api/eda/edaManagerApi\";\r\nimport {SizeType} from \"antd/lib/config-provider/SizeContext\";\r\nimport {createStyles} from \"antd-style\";\r\nimport {Variant} from \"antd/es/config-provider\";\r\nimport {TypedIndex} from \"./constants/edaTypes\";\r\nimport {EdaDetail} from \"./edaDetail\";\r\nimport {EdaConfigProvider, EdaConfiguration} from \"./context/edaConfigContext\";\r\nimport {LoadingContextProvider} from \"./context/loadingContext\";\r\n\r\nconst useStyles = createStyles(({css, token},) => {\r\n return {\r\n baseLayout: css`\r\n width: 100%;\r\n height: 100%;\r\n padding: ${token.paddingXXS}px;\r\n `,\r\n navPanel: css`\r\n height: 100%;\r\n padding-inline-end: ${token?.paddingXXS}px;\r\n `,\r\n detailPanel: css`\r\n height: 100%;\r\n padding-inline-start: ${token?.paddingXXS}px;\r\n `,\r\n }\r\n});\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n // Size of AntD components\r\n size?: SizeType\r\n // Variant of AntD components\r\n variant?: Variant\r\n // Eda manager configuration\r\n configuration?: Partial<EdaConfiguration>\r\n}\r\n\r\nexport const EdaManager: FC<Props> = ({api, size, variant, configuration}) => {\r\n const {styles} = useStyles();\r\n\r\n const [selectedItem, setSelectedItem] = useState<TypedIndex>();\r\n\r\n const handleDoubleClick = useCallback((item: TypedIndex) => {\r\n setSelectedItem(item);\r\n }, []);\r\n\r\n return (\r\n <EdaConfigProvider config={configuration}>\r\n <ConfigProvider componentSize={size} variant={variant}>\r\n <LoadingContextProvider>\r\n <Splitter className={styles.baseLayout}>\r\n <Splitter.Panel defaultSize={\"25%\"}>\r\n <div className={styles.navPanel}>\r\n <EdaNavigator\r\n api={api}\r\n onDoubleClick={handleDoubleClick}\r\n allowDrag\r\n />\r\n </div>\r\n </Splitter.Panel>\r\n <Splitter.Panel>\r\n <div className={styles.detailPanel}>\r\n <EdaDetail\r\n api={api}\r\n item={selectedItem}\r\n style={{width: '100%', height: '100%'}}\r\n />\r\n </div>\r\n </Splitter.Panel>\r\n </Splitter>\r\n </LoadingContextProvider>\r\n </ConfigProvider>\r\n </EdaConfigProvider>\r\n );\r\n};"]}
|
|
@@ -31,7 +31,7 @@ const useStyles = createStyles(({ css, token }) => {
|
|
|
31
31
|
`
|
|
32
32
|
};
|
|
33
33
|
});
|
|
34
|
-
export const EdaNavigator = memo(({ api, style, showOmitted, hideContextMenu, size, onDoubleClick }) => {
|
|
34
|
+
export const EdaNavigator = memo(({ api, style, showOmitted, hideContextMenu, allowDrag, size, onDoubleClick }) => {
|
|
35
35
|
const { styles } = useStyles();
|
|
36
36
|
const tabs = useMemo(() => [
|
|
37
37
|
{
|
|
@@ -43,15 +43,15 @@ export const EdaNavigator = memo(({ api, style, showOmitted, hideContextMenu, si
|
|
|
43
43
|
React.createElement(Space.Compact, null,
|
|
44
44
|
React.createElement(Button, { icon: React.createElement(SearchOutlined, null) }))),
|
|
45
45
|
React.createElement("div", { className: "tree" },
|
|
46
|
-
React.createElement(EdaTreeView, { api: api, type: TreeViewType.GROUP, showOmitted: showOmitted, hideContextMenu: hideContextMenu, onItemDoubleClick: onDoubleClick })))),
|
|
46
|
+
React.createElement(EdaTreeView, { api: api, type: TreeViewType.GROUP, showOmitted: showOmitted, hideContextMenu: hideContextMenu, onItemDoubleClick: onDoubleClick, allowDrag: allowDrag })))),
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
key: "scenarios",
|
|
50
50
|
label: i18n("Scenarios"),
|
|
51
51
|
closable: false,
|
|
52
|
-
children: (React.createElement(EdaTreeView, { api: api, type: TreeViewType.SCENARIO, showOmitted: showOmitted, onItemDoubleClick: onDoubleClick })),
|
|
52
|
+
children: (React.createElement(EdaTreeView, { api: api, type: TreeViewType.SCENARIO, showOmitted: showOmitted, onItemDoubleClick: onDoubleClick, allowDrag: allowDrag })),
|
|
53
53
|
},
|
|
54
|
-
], [api, styles, showOmitted, hideContextMenu, onDoubleClick]);
|
|
54
|
+
], [api, styles, showOmitted, hideContextMenu, allowDrag, onDoubleClick]);
|
|
55
55
|
return (React.createElement(ConfigProvider, { componentSize: size },
|
|
56
56
|
React.createElement("div", { className: styles.baseLayout, style: style },
|
|
57
57
|
React.createElement(Tabs, { type: "editable-card", style: { height: "100%" }, destroyOnHidden: false, items: tabs }))));
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAcH,MAAM,CAAC,MAAM,YAAY,GAAc,IAAI,CAAC,CAAC,EAAC,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAC,EAAE,EAAE;IACvH,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,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,aAAa,EAChC,SAAS,EAAE,SAAS,GACtB,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,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,aAAa,EAChC,SAAS,EAAE,SAAS,GACtB,CACL;SACJ;KACJ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1E,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 showOmitted?: boolean\r\n hideContextMenu?: boolean\r\n allowDrag?: boolean\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, showOmitted, hideContextMenu, allowDrag, 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 showOmitted={showOmitted}\r\n hideContextMenu={hideContextMenu}\r\n onItemDoubleClick={onDoubleClick}\r\n allowDrag={allowDrag}\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 showOmitted={showOmitted}\r\n onItemDoubleClick={onDoubleClick}\r\n allowDrag={allowDrag}\r\n />\r\n ),\r\n },\r\n ], [api, styles, showOmitted, hideContextMenu, allowDrag, 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});"]}
|
|
@@ -5,7 +5,7 @@ import { SharedSampleRangeState } from "../context/sharedSampleRangeContext";
|
|
|
5
5
|
import React from "react";
|
|
6
6
|
export declare function savePreference(key: string, value: any): void;
|
|
7
7
|
export declare function loadPreference<T>(key: string, defaultValue: T): T;
|
|
8
|
-
export declare function formatValue(value: number | null | undefined, roundType: EdaRoundingType, decPlaces: number): string;
|
|
8
|
+
export declare function formatValue(value: number | null | undefined, roundType: EdaRoundingType, decPlaces: number, maxDecimalPlaces: number): string;
|
|
9
9
|
export declare function loadDetail(api: EdaManagerApi, item: ItemType): Promise<TypedData | undefined>;
|
|
10
10
|
export declare function stepToDayJsType(step: StepType): OpUnitType | null;
|
|
11
11
|
export declare function isSame(a: SharedSampleRangeState, b: SharedSampleRangeState): boolean;
|
|
@@ -16,21 +16,20 @@ export function loadPreference(key, defaultValue) {
|
|
|
16
16
|
const stored = localStorage.getItem(key);
|
|
17
17
|
return stored !== null ? JSON.parse(stored) : defaultValue;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
export function formatValue(value, roundType, decPlaces) {
|
|
19
|
+
export function formatValue(value, roundType, decPlaces, maxDecimalPlaces) {
|
|
21
20
|
if (value === undefined || value === null) {
|
|
22
21
|
return '';
|
|
23
22
|
}
|
|
24
23
|
const multiplier = Math.pow(10, decPlaces);
|
|
25
24
|
switch (roundType) {
|
|
26
25
|
case EdaRoundingType.NoRounding:
|
|
27
|
-
return LocaleHolder.formatNumber(value,
|
|
26
|
+
return LocaleHolder.formatNumber(value, maxDecimalPlaces);
|
|
28
27
|
case EdaRoundingType.RoundToNearest:
|
|
29
28
|
return LocaleHolder.formatNumber(value, decPlaces);
|
|
30
29
|
case EdaRoundingType.Floor:
|
|
31
|
-
return LocaleHolder.formatNumber(Math.floor(value * multiplier) / multiplier,
|
|
30
|
+
return LocaleHolder.formatNumber(Math.floor(value * multiplier) / multiplier, maxDecimalPlaces);
|
|
32
31
|
case EdaRoundingType.Ceiling:
|
|
33
|
-
return LocaleHolder.formatNumber(Math.ceil(value * multiplier) / multiplier,
|
|
32
|
+
return LocaleHolder.formatNumber(Math.ceil(value * multiplier) / multiplier, maxDecimalPlaces);
|
|
34
33
|
}
|
|
35
34
|
}
|
|
36
35
|
export async function loadDetail(api, item) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/utils/utils.tsx"],"names":[],"mappings":"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","sourcesContent":["import {EdaRoundingType, EdaVectorType, IdType, ItemType, StepType, TypedData} from \"../constants/edaTypes\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport {OpUnitType} from \"dayjs\";\r\nimport {SharedSampleRangeState} from \"../context/sharedSampleRangeContext\";\r\nimport React from \"react\";\r\nimport {NumberFifteenFilled} from \"../icons/numberFifteenFilled\";\r\nimport {LetterHFilled} from \"../icons/letterHFilled\";\r\nimport {LetterDFilled} from \"../icons/letterDFilled\";\r\nimport {LetterCFilled} from \"../icons/letterCFilled\";\r\nimport {LetterIFilled} from \"../icons/letterIFilled\";\r\nimport {PairOutlined} from \"../icons/pairOutlined\";\r\nimport {PeriodicOutlined} from \"../icons/periodicOutlined\";\r\nimport {FunctionOutlined, QuestionOutlined} from \"@ant-design/icons\";\r\n\r\nexport function savePreference(key: string, value: any) {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n}\r\n\r\nexport function loadPreference<T>(key: string, defaultValue: T): T {\r\n const stored = localStorage.getItem(key);\r\n\r\n return stored !== null ? JSON.parse(stored) : defaultValue;\r\n}\r\n\r\nconst TOTAL_DEC_PLACES = 7 //FIXME configurable\r\n\r\nexport function formatValue(value: number | null | undefined, roundType: EdaRoundingType, decPlaces: number): string {\r\n if (value === undefined || value === null) {\r\n return '';\r\n }\r\n\r\n const multiplier = Math.pow(10, decPlaces);\r\n\r\n switch (roundType) {\r\n case EdaRoundingType.NoRounding:\r\n return LocaleHolder.formatNumber(value, TOTAL_DEC_PLACES);\r\n case EdaRoundingType.RoundToNearest:\r\n return LocaleHolder.formatNumber(value, decPlaces);\r\n case EdaRoundingType.Floor:\r\n return LocaleHolder.formatNumber(Math.floor(value * multiplier) / multiplier, TOTAL_DEC_PLACES);\r\n case EdaRoundingType.Ceiling:\r\n return LocaleHolder.formatNumber(Math.ceil(value * multiplier) / multiplier, TOTAL_DEC_PLACES);\r\n }\r\n}\r\n\r\nexport async function loadDetail(api: EdaManagerApi, item: ItemType): Promise<TypedData | undefined> {\r\n if (Array.isArray(item)) {\r\n return {type: IdType.SET, data: item};\r\n }\r\n\r\n let dataItem: TypedData | undefined = undefined;\r\n\r\n switch (item.type) {\r\n case IdType.VECTOR: {\r\n const vectorData = await api.loadVectorData(item.id);\r\n\r\n if (vectorData) {\r\n dataItem = {type: item.type, data: vectorData};\r\n }\r\n break;\r\n }\r\n case IdType.GROUP: {\r\n const groupData = await api.loadGroupData(item.id);\r\n\r\n if (groupData) {\r\n dataItem = {type: item.type, data: groupData};\r\n }\r\n break;\r\n }\r\n case IdType.SCENARIO: {\r\n const scenarioData = await api.loadScenarioData(item.id);\r\n\r\n if (scenarioData) {\r\n dataItem = {type: item.type, data: scenarioData};\r\n }\r\n break;\r\n }\r\n case IdType.SET: {\r\n\r\n }\r\n }\r\n\r\n return dataItem;\r\n}\r\n\r\nexport function stepToDayJsType(step: StepType): OpUnitType | null {\r\n switch (step) {\r\n case StepType.Hourly:\r\n return 'hour';\r\n case StepType.Daily:\r\n return 'day';\r\n case StepType.Weekly:\r\n return 'week';\r\n case StepType.Monthly:\r\n return 'month';\r\n case StepType.Yearly:\r\n return 'year';\r\n case StepType.WholeInterval:\r\n return null;\r\n }\r\n}\r\n\r\nexport function isSame(a: SharedSampleRangeState, b: SharedSampleRangeState) {\r\n return a.step === b.step &&\r\n a.sampling === b.sampling &&\r\n a.vectorPage === b.vectorPage &&\r\n a.btWindow.isSame(b.btWindow) &&\r\n a.etWindow.isSame(b.etWindow) &&\r\n a.btTotal.isSame(b.btTotal) &&\r\n a.etTotal.isSame(b.etTotal);\r\n}\r\n\r\nexport async function awaitNextRenderFrame() {\r\n await new Promise<void>((resolve) => {\r\n requestAnimationFrame(() => {\r\n setTimeout(resolve, 0);\r\n });\r\n });\r\n}\r\n\r\nexport function getVectorIcon(type: EdaVectorType) {\r\n switch (type) {\r\n case EdaVectorType.FifteenMinutes:\r\n return <NumberFifteenFilled/>;\r\n case EdaVectorType.Hour:\r\n return <LetterHFilled/>;\r\n case EdaVectorType.Day:\r\n return <LetterDFilled/>;\r\n case EdaVectorType.Descriptive:\r\n return <LetterCFilled/>;\r\n case EdaVectorType.Interval:\r\n return <LetterIFilled/>;\r\n case EdaVectorType.FifteenMinutesCalc:\r\n return <NumberFifteenFilled style={{color: \"orange\"}}/>;\r\n case EdaVectorType.HourCalc:\r\n return <LetterHFilled style={{color: \"orange\"}}/>;\r\n case EdaVectorType.DayCalc:\r\n return <LetterDFilled style={{color: \"orange\"}}/>;\r\n case EdaVectorType.Change:\r\n return <LetterCFilled/>;\r\n case EdaVectorType.ChangeCalc:\r\n return <LetterCFilled style={{color: \"orange\"}}/>;\r\n case EdaVectorType.Pair:\r\n return <PairOutlined/>;\r\n case EdaVectorType.Periodic:\r\n return <PeriodicOutlined/>;\r\n case EdaVectorType.PeriodicCalc:\r\n return <PeriodicOutlined style={{color: \"orange\"}}/>;\r\n case EdaVectorType.Functional:\r\n return <FunctionOutlined/>;\r\n default:\r\n return <QuestionOutlined/>;\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/utils/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAoB,QAAQ,EAAY,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAItD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAErE,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,KAAU;IAClD,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAI,GAAW,EAAE,YAAe;IAC1D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEzC,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAgC,EAAE,SAA0B,EAAE,SAAiB,EAAE,gBAAwB;IACjI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IAE3C,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,eAAe,CAAC,UAAU;YAC3B,OAAO,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC9D,KAAK,eAAe,CAAC,cAAc;YAC/B,OAAO,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACvD,KAAK,eAAe,CAAC,KAAK;YACtB,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpG,KAAK,eAAe,CAAC,OAAO;YACxB,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACvG,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAkB,EAAE,IAAc;IAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAC,IAAI,GAAY,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;IAC1C,CAAC;IAED,IAAI,QAAQ,GAA0B,SAAS,CAAC;IAEhD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,MAAkB,CAAC,CAAC,CAAC;YACjB,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAErD,IAAI,UAAU,EAAE,CAAC;gBACb,QAAQ,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAC,CAAC;YACnD,CAAC;YACD,MAAM;QACV,CAAC;QACD,MAAiB,CAAC,CAAC,CAAC;YAChB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEnD,IAAI,SAAS,EAAE,CAAC;gBACZ,QAAQ,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;YAClD,CAAC;YACD,MAAM;QACV,CAAC;QACD,MAAoB,CAAC,CAAC,CAAC;YACnB,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEzD,IAAI,YAAY,EAAE,CAAC;gBACf,QAAQ,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAC,CAAC;YACrD,CAAC;YACD,MAAM;QACV,CAAC;QACD,MAAe,CAAC,CAAC,CAAC;QAElB,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAc;IAC1C,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,QAAQ,CAAC,MAAM;YAChB,OAAO,MAAM,CAAC;QAClB,KAAK,QAAQ,CAAC,KAAK;YACf,OAAO,KAAK,CAAC;QACjB,KAAK,QAAQ,CAAC,MAAM;YAChB,OAAO,MAAM,CAAC;QAClB,KAAK,QAAQ,CAAC,OAAO;YACjB,OAAO,OAAO,CAAC;QACnB,KAAK,QAAQ,CAAC,MAAM;YAChB,OAAO,MAAM,CAAC;QAClB,KAAK,QAAQ,CAAC,aAAa;YACvB,OAAO,IAAI,CAAC;IACpB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,CAAyB,EAAE,CAAyB;IACvE,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;QACpB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QACzB,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;QAC7B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACtC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAChC,qBAAqB,CAAC,GAAG,EAAE;YACvB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAmB;IAC7C,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,aAAa,CAAC,cAAc;YAC7B,OAAO,oBAAC,mBAAmB,OAAE,CAAC;QAClC,KAAK,aAAa,CAAC,IAAI;YACnB,OAAO,oBAAC,aAAa,OAAE,CAAC;QAC5B,KAAK,aAAa,CAAC,GAAG;YAClB,OAAO,oBAAC,aAAa,OAAE,CAAC;QAC5B,KAAK,aAAa,CAAC,WAAW;YAC1B,OAAO,oBAAC,aAAa,OAAE,CAAC;QAC5B,KAAK,aAAa,CAAC,QAAQ;YACvB,OAAO,oBAAC,aAAa,OAAE,CAAC;QAC5B,KAAK,aAAa,CAAC,kBAAkB;YACjC,OAAO,oBAAC,mBAAmB,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,CAAC;QAC5D,KAAK,aAAa,CAAC,QAAQ;YACvB,OAAO,oBAAC,aAAa,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,CAAC;QACtD,KAAK,aAAa,CAAC,OAAO;YACtB,OAAO,oBAAC,aAAa,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,CAAC;QACtD,KAAK,aAAa,CAAC,MAAM;YACrB,OAAO,oBAAC,aAAa,OAAE,CAAC;QAC5B,KAAK,aAAa,CAAC,UAAU;YACzB,OAAO,oBAAC,aAAa,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,CAAC;QACtD,KAAK,aAAa,CAAC,IAAI;YACnB,OAAO,oBAAC,YAAY,OAAE,CAAC;QAC3B,KAAK,aAAa,CAAC,QAAQ;YACvB,OAAO,oBAAC,gBAAgB,OAAE,CAAC;QAC/B,KAAK,aAAa,CAAC,YAAY;YAC3B,OAAO,oBAAC,gBAAgB,IAAC,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,CAAC;QACzD,KAAK,aAAa,CAAC,UAAU;YACzB,OAAO,oBAAC,gBAAgB,OAAE,CAAC;QAC/B;YACI,OAAO,oBAAC,gBAAgB,OAAE,CAAC;IACnC,CAAC;AACL,CAAC","sourcesContent":["import {EdaRoundingType, EdaVectorType, IdType, ItemType, StepType, TypedData} from \"../constants/edaTypes\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport {OpUnitType} from \"dayjs\";\r\nimport {SharedSampleRangeState} from \"../context/sharedSampleRangeContext\";\r\nimport React from \"react\";\r\nimport {NumberFifteenFilled} from \"../icons/numberFifteenFilled\";\r\nimport {LetterHFilled} from \"../icons/letterHFilled\";\r\nimport {LetterDFilled} from \"../icons/letterDFilled\";\r\nimport {LetterCFilled} from \"../icons/letterCFilled\";\r\nimport {LetterIFilled} from \"../icons/letterIFilled\";\r\nimport {PairOutlined} from \"../icons/pairOutlined\";\r\nimport {PeriodicOutlined} from \"../icons/periodicOutlined\";\r\nimport {FunctionOutlined, QuestionOutlined} from \"@ant-design/icons\";\r\n\r\nexport function savePreference(key: string, value: any) {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n}\r\n\r\nexport function loadPreference<T>(key: string, defaultValue: T): T {\r\n const stored = localStorage.getItem(key);\r\n\r\n return stored !== null ? JSON.parse(stored) : defaultValue;\r\n}\r\n\r\nexport function formatValue(value: number | null | undefined, roundType: EdaRoundingType, decPlaces: number, maxDecimalPlaces: number): string {\r\n if (value === undefined || value === null) {\r\n return '';\r\n }\r\n\r\n const multiplier = Math.pow(10, decPlaces);\r\n\r\n switch (roundType) {\r\n case EdaRoundingType.NoRounding:\r\n return LocaleHolder.formatNumber(value, maxDecimalPlaces);\r\n case EdaRoundingType.RoundToNearest:\r\n return LocaleHolder.formatNumber(value, decPlaces);\r\n case EdaRoundingType.Floor:\r\n return LocaleHolder.formatNumber(Math.floor(value * multiplier) / multiplier, maxDecimalPlaces);\r\n case EdaRoundingType.Ceiling:\r\n return LocaleHolder.formatNumber(Math.ceil(value * multiplier) / multiplier, maxDecimalPlaces);\r\n }\r\n}\r\n\r\nexport async function loadDetail(api: EdaManagerApi, item: ItemType): Promise<TypedData | undefined> {\r\n if (Array.isArray(item)) {\r\n return {type: IdType.SET, data: item};\r\n }\r\n\r\n let dataItem: TypedData | undefined = undefined;\r\n\r\n switch (item.type) {\r\n case IdType.VECTOR: {\r\n const vectorData = await api.loadVectorData(item.id);\r\n\r\n if (vectorData) {\r\n dataItem = {type: item.type, data: vectorData};\r\n }\r\n break;\r\n }\r\n case IdType.GROUP: {\r\n const groupData = await api.loadGroupData(item.id);\r\n\r\n if (groupData) {\r\n dataItem = {type: item.type, data: groupData};\r\n }\r\n break;\r\n }\r\n case IdType.SCENARIO: {\r\n const scenarioData = await api.loadScenarioData(item.id);\r\n\r\n if (scenarioData) {\r\n dataItem = {type: item.type, data: scenarioData};\r\n }\r\n break;\r\n }\r\n case IdType.SET: {\r\n\r\n }\r\n }\r\n\r\n return dataItem;\r\n}\r\n\r\nexport function stepToDayJsType(step: StepType): OpUnitType | null {\r\n switch (step) {\r\n case StepType.Hourly:\r\n return 'hour';\r\n case StepType.Daily:\r\n return 'day';\r\n case StepType.Weekly:\r\n return 'week';\r\n case StepType.Monthly:\r\n return 'month';\r\n case StepType.Yearly:\r\n return 'year';\r\n case StepType.WholeInterval:\r\n return null;\r\n }\r\n}\r\n\r\nexport function isSame(a: SharedSampleRangeState, b: SharedSampleRangeState) {\r\n return a.step === b.step &&\r\n a.sampling === b.sampling &&\r\n a.vectorPage === b.vectorPage &&\r\n a.btWindow.isSame(b.btWindow) &&\r\n a.etWindow.isSame(b.etWindow) &&\r\n a.btTotal.isSame(b.btTotal) &&\r\n a.etTotal.isSame(b.etTotal);\r\n}\r\n\r\nexport async function awaitNextRenderFrame() {\r\n await new Promise<void>((resolve) => {\r\n requestAnimationFrame(() => {\r\n setTimeout(resolve, 0);\r\n });\r\n });\r\n}\r\n\r\nexport function getVectorIcon(type: EdaVectorType) {\r\n switch (type) {\r\n case EdaVectorType.FifteenMinutes:\r\n return <NumberFifteenFilled/>;\r\n case EdaVectorType.Hour:\r\n return <LetterHFilled/>;\r\n case EdaVectorType.Day:\r\n return <LetterDFilled/>;\r\n case EdaVectorType.Descriptive:\r\n return <LetterCFilled/>;\r\n case EdaVectorType.Interval:\r\n return <LetterIFilled/>;\r\n case EdaVectorType.FifteenMinutesCalc:\r\n return <NumberFifteenFilled style={{color: \"orange\"}}/>;\r\n case EdaVectorType.HourCalc:\r\n return <LetterHFilled style={{color: \"orange\"}}/>;\r\n case EdaVectorType.DayCalc:\r\n return <LetterDFilled style={{color: \"orange\"}}/>;\r\n case EdaVectorType.Change:\r\n return <LetterCFilled/>;\r\n case EdaVectorType.ChangeCalc:\r\n return <LetterCFilled style={{color: \"orange\"}}/>;\r\n case EdaVectorType.Pair:\r\n return <PairOutlined/>;\r\n case EdaVectorType.Periodic:\r\n return <PeriodicOutlined/>;\r\n case EdaVectorType.PeriodicCalc:\r\n return <PeriodicOutlined style={{color: \"orange\"}}/>;\r\n case EdaVectorType.Functional:\r\n return <FunctionOutlined/>;\r\n default:\r\n return <QuestionOutlined/>;\r\n }\r\n}"]}
|
|
@@ -19,6 +19,12 @@
|
|
|
19
19
|
<objType>STRUCTDEF</objType>
|
|
20
20
|
<valType>NAN</valType>
|
|
21
21
|
</HOBJ_REF>
|
|
22
|
+
<HOBJ_REF>
|
|
23
|
+
<uid>4388DB083FCC164BBCB0DF4C79593FC1</uid>
|
|
24
|
+
<name>SD.EDA_VectorData</name>
|
|
25
|
+
<objType>STRUCTDEF</objType>
|
|
26
|
+
<valType>NAN</valType>
|
|
27
|
+
</HOBJ_REF>
|
|
22
28
|
<HOBJ_REF>
|
|
23
29
|
<uid>42C6605F250C9D439C33565F834F13AF</uid>
|
|
24
30
|
<name>SD.EM_EDA_Function</name>
|
|
@@ -179,6 +185,18 @@ RPC PROCEDURE LoadScenarioData(IN INT _id, RECORD NOALIAS(SD.EM_EDA_Scenario) _d
|
|
|
179
185
|
CALL [_unit] LoadScenarioData(_id, _data, _isOk, _errorMsg)
|
|
180
186
|
END LoadScenarioData
|
|
181
187
|
|
|
188
|
+
RPC PROCEDURE ImportGroupData(IN BOOL _defaultIdValue, IN RECORD NOALIAS(SD.EM_EDA_GroupVector) _data, BOOL _isOk, TEXT _errorMsg)
|
|
189
|
+
_isOk := @TRUE
|
|
190
|
+
END ImportGroupData
|
|
191
|
+
|
|
192
|
+
RPC PROCEDURE ImportScenarioData(IN BOOL _defaultIdValue, IN RECORD NOALIAS(SD.EM_EDA_Scenario) _data, BOOL _isOk, TEXT _errorMsg)
|
|
193
|
+
_isOk := @TRUE
|
|
194
|
+
END ImportScenarioData
|
|
195
|
+
|
|
196
|
+
RPC PROCEDURE ImportVectorData(IN BOOL _defaultIdValue, IN BOOL _ignoreTimeZones, IN BOOL _replaceCodesInPrescription, IN TEXT _prescription, IN RECORD NOALIAS(SD.EM_EDA_Vector) _vectorData, IN RECORD NOALIAS(SD.EM_EDA_PairVector) _pairData, IN RECORD NOALIAS(SD.EDA_DescriptiveData) _descData, IN RECORD NOALIAS(SD.EDA_VectorData) _values, BOOL _isOk, TEXT _errorMsg)
|
|
197
|
+
_isOk := @TRUE
|
|
198
|
+
END ImportVectorData
|
|
199
|
+
|
|
182
200
|
BEGIN
|
|
183
201
|
PRAGMA "ENABLE_INOUT_BY_REF"
|
|
184
202
|
|
|
@@ -119,32 +119,32 @@ END Disconnect
|
|
|
119
119
|
; GetGroupChildren
|
|
120
120
|
;*********************************************************
|
|
121
121
|
|
|
122
|
-
RPC PROCEDURE GetGroupChildren(IN INT _id, IN BOOL _showOmitted, IN INT
|
|
123
|
-
CALL [_unit] GetGroupChildren(
|
|
122
|
+
RPC PROCEDURE GetGroupChildren(IN INT _id, IN BOOL _showOmitted, IN INT _pageSize, IN INT _pageNr, RECORD NOALIAS (SD.EM_Tree_Item) _items, INT _totalCount, BOOL _isOk, TEXT _errorMsg)
|
|
123
|
+
CALL [_unit] GetGroupChildren(_id, _showOmitted, _pageSize, _pageNr, _items, _totalCount, _isOk, _errorMsg)
|
|
124
124
|
END GetGroupChildren
|
|
125
125
|
|
|
126
126
|
;*********************************************************
|
|
127
127
|
; GetGroupVectors
|
|
128
128
|
;*********************************************************
|
|
129
129
|
|
|
130
|
-
RPC PROCEDURE GetGroupVectors(IN INT _id, IN BOOL _showOmitted, IN INT
|
|
131
|
-
CALL [_unit] GetGroupVectors(
|
|
130
|
+
RPC PROCEDURE GetGroupVectors(IN INT _id, IN BOOL _showOmitted, IN INT _pageSize, IN INT _pageNr, RECORD NOALIAS (SD.EM_Tree_Item) _items, INT _totalCount, BOOL _isOk, TEXT _errorMsg)
|
|
131
|
+
CALL [_unit] GetGroupVectors(_id, _showOmitted, _pageSize, _pageNr, _items, _totalCount, _isOk, _errorMsg)
|
|
132
132
|
END GetGroupVectors
|
|
133
133
|
|
|
134
134
|
;*********************************************************
|
|
135
135
|
; GetScenarioChildren
|
|
136
136
|
;*********************************************************
|
|
137
137
|
|
|
138
|
-
RPC PROCEDURE GetScenarioChildren(IN INT _id, IN BOOL _showOmitted, IN INT
|
|
139
|
-
CALL [_unit] GetScenarioChildren(_handle, _id, _showOmitted,
|
|
138
|
+
RPC PROCEDURE GetScenarioChildren(IN INT _id, IN BOOL _showOmitted, IN INT _pageSize, IN INT _pageNr, RECORD NOALIAS (SD.EM_Tree_Item) _items, INT _totalCount, BOOL _isOk, TEXT _errorMsg)
|
|
139
|
+
CALL [_unit] GetScenarioChildren(_handle, _id, _showOmitted, _pageSize, _pageNr, _items, _totalCount, _isOk, _errorMsg)
|
|
140
140
|
END GetScenarioChildren
|
|
141
141
|
|
|
142
142
|
;*********************************************************
|
|
143
143
|
; GetScenarioVectors
|
|
144
144
|
;*********************************************************
|
|
145
145
|
|
|
146
|
-
RPC PROCEDURE GetScenarioVectors(IN INT _id, IN BOOL _showOmitted, IN BOOL _showDynamic, IN INT
|
|
147
|
-
CALL [_unit] GetScenarioVectors(_handle, _id, _showOmitted, _showDynamic,
|
|
146
|
+
RPC PROCEDURE GetScenarioVectors(IN INT _id, IN BOOL _showOmitted, IN BOOL _showDynamic, IN INT _pageSize, IN INT _pageNr, RECORD NOALIAS (SD.EM_Tree_Item) _items, INT _totalCount, BOOL _isOk, TEXT _errorMsg)
|
|
147
|
+
CALL [_unit] GetScenarioVectors(_handle, _id, _showOmitted, _showDynamic, _pageSize, _pageNr, _items, _totalCount, _isOk, _errorMsg)
|
|
148
148
|
END GetScenarioVectors
|
|
149
149
|
|
|
150
150
|
;*********************************************************
|
|
@@ -78,9 +78,7 @@
|
|
|
78
78
|
; LAST CHANGE:
|
|
79
79
|
;*********************************************************
|
|
80
80
|
|
|
81
|
-
RPC PROCEDURE
|
|
82
|
-
_sql := "SELECT Count(*) FROM EDA_SkVektor WHERE "
|
|
83
|
-
|
|
81
|
+
RPC PROCEDURE GetGroupChildrenSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
84
82
|
IF _showOmitted THEN
|
|
85
83
|
_sql := _sql + "EDA_ID_SkVektor = ID_SkVektor"
|
|
86
84
|
ELSIF !_id\VLD THEN
|
|
@@ -90,49 +88,17 @@ RPC PROCEDURE GetGroupCountSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL
|
|
|
90
88
|
ENDIF
|
|
91
89
|
|
|
92
90
|
_isOk := @TRUE
|
|
93
|
-
END
|
|
94
|
-
|
|
95
|
-
RPC PROCEDURE GetGroupItemsSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
96
|
-
_sql := "SELECT ID_SkVektor, EDA_ID_SkVektor, Meno, Cesta, Zobraz_Meno, 0, '', 0, 0 FROM EDA_SkVektor WHERE "
|
|
97
|
-
|
|
98
|
-
IF _showOmitted THEN
|
|
99
|
-
_sql := _sql + "EDA_ID_SkVektor = ID_SkVektor"
|
|
100
|
-
ELSIF !_id\VLD THEN
|
|
101
|
-
_sql := _sql + "EDA_ID_SkVektor IS NULL"
|
|
102
|
-
ELSE
|
|
103
|
-
_sql := _sql + "EDA_ID_SkVektor = " + %IToStr(_id) + " AND EDA_ID_SkVektor != ID_SkVektor"
|
|
104
|
-
ENDIF
|
|
105
|
-
|
|
106
|
-
_sql := _sql + " ORDER BY Zobraz_Meno"
|
|
107
|
-
|
|
108
|
-
_isOk := @TRUE
|
|
109
|
-
END GetGroupItemsSql
|
|
110
|
-
|
|
111
|
-
RPC PROCEDURE GetGroupVectorsCountSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
112
|
-
_sql := "SELECT Count(*) FROM EDA_Vektor WHERE "
|
|
113
|
-
|
|
114
|
-
IF _showOmitted THEN
|
|
115
|
-
_sql := _sql + "ID_SkVektor IS NULL"
|
|
116
|
-
ELSE
|
|
117
|
-
_sql := _sql + "ID_SkVektor = " + %IToStr(_id)
|
|
118
|
-
ENDIF
|
|
119
|
-
|
|
120
|
-
_isOk := @TRUE
|
|
121
|
-
END GetGroupVectorsCountSql
|
|
122
|
-
|
|
123
|
-
RPC PROCEDURE GetGroupVectorItemsSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
124
|
-
_sql := "SELECT ID_Vektor, ID_SkVektor, Meno, '', Zobraz_Meno, Typ, Tech_Jednotky, View_Round, View_Dec_Pl, NULL, CASE WHEN Integral = 2 THEN 1 ELSE 0 END FROM EDA_Vektor WHERE "
|
|
91
|
+
END GetGroupChildrenSql
|
|
125
92
|
|
|
93
|
+
RPC PROCEDURE GetGroupVectorsSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
126
94
|
IF _showOmitted THEN
|
|
127
95
|
_sql := _sql + "ID_SkVektor IS NULL"
|
|
128
96
|
ELSE
|
|
129
97
|
_sql := _sql + "ID_SkVektor = " + %IToStr(_id)
|
|
130
98
|
ENDIF
|
|
131
99
|
|
|
132
|
-
_sql := _sql + " ORDER BY Zobraz_meno"
|
|
133
|
-
|
|
134
100
|
_isOk := @TRUE
|
|
135
|
-
END
|
|
101
|
+
END GetGroupVectorsSql
|
|
136
102
|
|
|
137
103
|
RPC PROCEDURE GetScenarioCountSql(IN INT _id, IN BOOL _showOmitted, TEXT _sql, BOOL _isOk, TEXT _errorMsg)
|
|
138
104
|
_sql := "SELECT Count(*) FROM EDA_Scenar WHERE "
|