d2aura 26.0.16 → 26.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/api/eda/edaManagerApi.d.ts +10 -4
  2. package/api/eda/edaManagerApi.js +61 -3
  3. package/api/eda/edaManagerApi.js.map +1 -1
  4. package/api/eda/generated/events.d.ts +42 -17
  5. package/api/eda/generated/events.js +87 -44
  6. package/api/eda/generated/events.js.map +1 -1
  7. package/api/eda/generated/structures.d.ts +30 -0
  8. package/api/eda/generated/structures.js.map +1 -1
  9. package/api/webAuthn/webAuthnManageApi.d.ts +9 -0
  10. package/api/webAuthn/webAuthnManageApi.js +61 -0
  11. package/api/webAuthn/webAuthnManageApi.js.map +1 -0
  12. package/api/webPush/webPushApi.js.map +1 -1
  13. package/api/webPush/webPushUtils.js.map +1 -1
  14. package/core/i18n/d2aura.sk.json +34 -0
  15. package/coreui/auth/passkeyLogin.d.ts +8 -0
  16. package/coreui/auth/passkeyLogin.js +70 -0
  17. package/coreui/auth/passkeyLogin.js.map +1 -0
  18. package/coreui/auth/passkeyLoginButton.d.ts +9 -0
  19. package/coreui/auth/passkeyLoginButton.js +24 -0
  20. package/coreui/auth/passkeyLoginButton.js.map +1 -0
  21. package/coreui/components/edaManagerComponent/components/edaChartViewer.js +1 -1
  22. package/coreui/components/edaManagerComponent/components/edaChartViewer.js.map +1 -1
  23. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +3 -6
  24. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -1
  25. package/coreui/components/edaManagerComponent/components/edaDetailPanel.js +1 -0
  26. package/coreui/components/edaManagerComponent/components/edaDetailPanel.js.map +1 -1
  27. package/coreui/components/edaManagerComponent/components/edaDialogTitle.d.ts +8 -0
  28. package/coreui/components/edaManagerComponent/components/edaDialogTitle.js +10 -0
  29. package/coreui/components/edaManagerComponent/components/edaDialogTitle.js.map +1 -0
  30. package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +2 -1
  31. package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -1
  32. package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js +1 -1
  33. package/coreui/components/edaManagerComponent/components/edaGroupDetailPanel.js.map +1 -1
  34. package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.d.ts +1 -6
  35. package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.js +9 -8
  36. package/coreui/components/edaManagerComponent/components/edaLoadingOverlay.js.map +1 -1
  37. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.d.ts +0 -1
  38. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js +4 -4
  39. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js.map +1 -1
  40. package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js +1 -1
  41. package/coreui/components/edaManagerComponent/components/edaScenarioDetailPanel.js.map +1 -1
  42. package/coreui/components/edaManagerComponent/components/edaTablePanel.js +7 -24
  43. package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -1
  44. package/coreui/components/edaManagerComponent/components/edaTreeView.js +117 -145
  45. package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -1
  46. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +19 -16
  47. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -1
  48. package/coreui/components/edaManagerComponent/constants/actionTypes.d.ts +1 -0
  49. package/coreui/components/edaManagerComponent/constants/actionTypes.js +1 -0
  50. package/coreui/components/edaManagerComponent/constants/actionTypes.js.map +1 -1
  51. package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +7 -2
  52. package/coreui/components/edaManagerComponent/constants/edaTypes.js +1 -0
  53. package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -1
  54. package/coreui/components/edaManagerComponent/context/edaVectorDataContext.d.ts +4 -2
  55. package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js.map +1 -1
  56. package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.d.ts +2 -3
  57. package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +118 -67
  58. package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -1
  59. package/coreui/components/edaManagerComponent/context/loadingContext.d.ts +11 -1
  60. package/coreui/components/edaManagerComponent/context/loadingContext.js +40 -2
  61. package/coreui/components/edaManagerComponent/context/loadingContext.js.map +1 -1
  62. package/coreui/components/edaManagerComponent/context/useEdaActions.d.ts +1 -0
  63. package/coreui/components/edaManagerComponent/context/useEdaActions.js +18 -9
  64. package/coreui/components/edaManagerComponent/context/useEdaActions.js.map +1 -1
  65. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/descriptiveVectorDetailPanel.js +5 -3
  66. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/descriptiveVectorDetailPanel.js.map +1 -1
  67. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.d.ts +0 -1
  68. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.js +3 -5
  69. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.js.map +1 -1
  70. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/tablePanel.d.ts +0 -1
  71. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/tablePanel.js +4 -6
  72. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/tablePanel.js.map +1 -1
  73. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/utils.js +1 -0
  74. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/utils.js.map +1 -1
  75. package/coreui/components/edaManagerComponent/dialogs/edaDescriptiveVectorEditorDialog.js +46 -12
  76. package/coreui/components/edaManagerComponent/dialogs/edaDescriptiveVectorEditorDialog.js.map +1 -1
  77. package/coreui/components/edaManagerComponent/dialogs/edaTableEditorDialog.js +10 -8
  78. package/coreui/components/edaManagerComponent/dialogs/edaTableEditorDialog.js.map +1 -1
  79. package/coreui/components/edaManagerComponent/dialogs/exportDialog.d.ts +1 -9
  80. package/coreui/components/edaManagerComponent/dialogs/exportDialog.js +48 -79
  81. package/coreui/components/edaManagerComponent/dialogs/exportDialog.js.map +1 -1
  82. package/coreui/components/edaManagerComponent/dialogs/importDialog.d.ts +10 -0
  83. package/coreui/components/edaManagerComponent/dialogs/importDialog.js +469 -0
  84. package/coreui/components/edaManagerComponent/dialogs/importDialog.js.map +1 -0
  85. package/coreui/components/edaManagerComponent/dialogs/importExport/export.d.ts +17 -0
  86. package/coreui/components/edaManagerComponent/dialogs/importExport/export.js +335 -0
  87. package/coreui/components/edaManagerComponent/dialogs/importExport/export.js.map +1 -0
  88. package/coreui/components/edaManagerComponent/dialogs/importExport/import.d.ts +65 -0
  89. package/coreui/components/edaManagerComponent/dialogs/importExport/import.js +375 -0
  90. package/coreui/components/edaManagerComponent/dialogs/importExport/import.js.map +1 -0
  91. package/coreui/components/edaManagerComponent/dialogs/importExport/types.d.ts +8 -0
  92. package/coreui/components/edaManagerComponent/dialogs/importExport/types.js +98 -0
  93. package/coreui/components/edaManagerComponent/dialogs/importExport/types.js.map +1 -0
  94. package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeCheckbox.d.ts +5 -0
  95. package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeCheckbox.js +13 -0
  96. package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeCheckbox.js.map +1 -0
  97. package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeSelection.d.ts +9 -0
  98. package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeSelection.js +23 -0
  99. package/coreui/components/edaManagerComponent/dialogs/importExport/vectorTypeSelection.js.map +1 -0
  100. package/coreui/components/edaManagerComponent/dialogs/importExport/xmlAttributeHolder.d.ts +20 -0
  101. package/coreui/components/edaManagerComponent/dialogs/importExport/xmlAttributeHolder.js +36 -0
  102. package/coreui/components/edaManagerComponent/dialogs/importExport/xmlAttributeHolder.js.map +1 -0
  103. package/coreui/components/edaManagerComponent/dialogs/{groupVectorSelection.d.ts → vectorSelectionDialog.d.ts} +1 -1
  104. package/coreui/components/edaManagerComponent/dialogs/{groupVectorSelection.js → vectorSelectionDialog.js} +5 -4
  105. package/coreui/components/edaManagerComponent/dialogs/vectorSelectionDialog.js.map +1 -0
  106. package/coreui/components/edaManagerComponent/edaDetail.d.ts +2 -3
  107. package/coreui/components/edaManagerComponent/edaDetail.js +24 -20
  108. package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
  109. package/coreui/components/edaManagerComponent/edaManager.js +9 -7
  110. package/coreui/components/edaManagerComponent/edaManager.js.map +1 -1
  111. package/coreui/components/edaManagerComponent/edaSelect.js +8 -11
  112. package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -1
  113. package/coreui/components/edaManagerComponent/utils/utils.d.ts +6 -6
  114. package/coreui/components/edaManagerComponent/utils/utils.js +63 -5
  115. package/coreui/components/edaManagerComponent/utils/utils.js.map +1 -1
  116. package/coreui/components/passkey/passkeyManager.d.ts +7 -0
  117. package/coreui/components/passkey/passkeyManager.js +75 -0
  118. package/coreui/components/passkey/passkeyManager.js.map +1 -0
  119. package/coreui/components/webPush/webPushSwitch.js.map +1 -1
  120. package/coreui/images/logo.svg +9 -9
  121. package/coreui/images/logo_full.svg +11 -11
  122. package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +4 -0
  123. package/d2configuration/edaManager/E.EM_DETAIL_UNIT.xml +34 -0
  124. package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +5 -5
  125. package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +18 -2
  126. package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +377 -16
  127. package/d2configuration/edaManager/SD.EM_Tree_Item.xml +22 -0
  128. package/package.json +10 -5
  129. package/coreui/components/edaManagerComponent/dialogs/groupVectorSelection.js.map +0 -1
  130. package/coreui/components/edaManagerComponent/utils/export.d.ts +0 -9
  131. package/coreui/components/edaManagerComponent/utils/export.js +0 -570
  132. package/coreui/components/edaManagerComponent/utils/export.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"edaVectorDataProvider.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/edaVectorDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useRef, useState} from \"react\";\r\nimport EdaManagerApi, {TreeItem, TreeItemsResult, VectorValuesData} from \"../../../../api/eda/edaManagerApi\";\r\nimport {EdaVectorDataContext, EdaVectorDataState, VectorDataState} from \"./edaVectorDataContext\";\r\nimport {useSampleRange} from \"./sharedSampleRangeContext\";\r\nimport {IdType, TypedData} from \"../constants/edaTypes\";\r\nimport {LoadingContext, LoadingContextValue} from \"./loadingContext\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {App} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {useEdaConfig} from \"./edaConfigContext\";\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n children?: React.ReactNode\r\n}\r\n\r\nexport const EdaVectorDataProvider: FC<Props> = ({api, children}) => {\r\n const {detail} = useEdaConfig();\r\n const {message} = App.useApp();\r\n const range = useSampleRange();\r\n\r\n const lastRequestId = useRef(0);\r\n const loadingRef = useRef(false);\r\n\r\n const [dataState, setDataState] = useState<EdaVectorDataState>({\r\n data: {},\r\n vectors: [],\r\n visible: new Set<number>(),\r\n initialized: false,\r\n });\r\n\r\n const [loadingState, setLoadingState] = useState<LoadingContextValue>({\r\n loading: false,\r\n loadingPercentage: 0,\r\n loadingItem: \"\",\r\n loadingCount: 0,\r\n });\r\n\r\n const safeReadVectorValues = useCallback(async (id: number, name: string, from: dayjs.Dayjs, to: dayjs.Dayjs, step: number): Promise<VectorValuesData> => {\r\n try {\r\n return await api.readVectorValues(id, from, to, step);\r\n } catch (e: any) {\r\n message.warning(<span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: name, e: e?.value})}</span>);\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }, [api, message]);\r\n\r\n const loadAllData = useCallback(async (data: TypedData) => {\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, vectors: [], loadedData: data, loadedRange: range}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n\r\n try {\r\n const {btTotal, etTotal, sampling, vectorPage} = range;\r\n const result: { [id: number]: VectorDataState } = {};\r\n const columns: TreeItem[] = [];\r\n const visible: Set<number> = new Set<number>();\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n switch (data.type) {\r\n case IdType.GROUP:\r\n case IdType.SCENARIO: {\r\n let vectors: TreeItemsResult;\r\n\r\n if (range.vectors) {\r\n vectors = {items: range.vectors, leftCount: 0}\r\n } else {\r\n try {\r\n if (data.type === IdType.GROUP) {\r\n vectors = await api.getGroupVectors(data.data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);\r\n } else {\r\n vectors = await api.getScenarioVectors(data.data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n vectors = {items: [], leftCount: 0};\r\n }\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingCount: vectors.items.length}));\r\n\r\n if (range.vectorPage === 1) {\r\n range.updateTotalCount(vectors.items.length + vectors.leftCount);\r\n }\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n }\r\n\r\n for (const vector of vectors.items) {\r\n columns.push(vector);\r\n visible.add(vector.ID!);\r\n }\r\n\r\n for (let i = 0; i < vectors.items.length; i++) {\r\n const vector = vectors.items[i];\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingItem: vector.DisplayName ?? \"\"}));\r\n\r\n const valuesData: VectorValuesData = await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling);\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n\r\n result[vector.ID] = {\r\n data: valuesData,\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: (i + 1) / vectors.items.length * 100}));\r\n }\r\n\r\n break;\r\n }\r\n case IdType.VECTOR: {\r\n const column = data.data.data;\r\n const id = data.data.data.ID_VEKTOR;\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingCount: 1, loadingItem: column.ZOBRAZ_MENO}));\r\n result[id] = {\r\n data: await safeReadVectorValues(id, column.ZOBRAZ_MENO, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n visible.add(column.ID_VEKTOR);\r\n columns.push({\r\n ID: column.ID_VEKTOR,\r\n DisplayName: column.ZOBRAZ_MENO,\r\n Name: column.MENO,\r\n ParentID: column.ID_SKVEKTOR,\r\n Path: \"\",\r\n Type: column.TYP,\r\n Units: column.TECH_JEDNOTKY,\r\n RoundingType: column.VIEW_ROUND,\r\n RoundingPlaces: column.VIEW_DEC_PL\r\n });\r\n }\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, vectors: columns, visible: visible}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: 100}));\r\n } catch (e) {\r\n console.error(\"Failed to load all data\", e);\r\n await api.cancelSession();\r\n } finally {\r\n if (requestId === lastRequestId.current) {\r\n setDataState((s): EdaVectorDataState => ({...s, initialized: true}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: false}));\r\n }\r\n\r\n loadingRef.current = false;\r\n }\r\n }, [api, detail?.showTimeWindow, range, safeReadVectorValues]);\r\n\r\n const loadSpecificVectors = useCallback(async (vectors: TreeItem[], forceUpdate?: boolean) => {\r\n const {btTotal, etTotal, sampling} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (!forceUpdate) {\r\n vectors = vectors.filter((vector) => {\r\n const loadedVector = dataState.data[vector.ID];\r\n\r\n if (!loadedVector) {\r\n return true;\r\n }\r\n\r\n return !loadedVector.from.isSame(btWindow) || !loadedVector.to.isSame(etWindow) || loadedVector.sampling !== sampling;\r\n });\r\n }\r\n\r\n if (vectors.length === 0) {\r\n return;\r\n }\r\n\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, loadedRange: range}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n\r\n try {\r\n const result: { [id: number]: VectorDataState } = {...dataState.data};\r\n const visible = new Set(dataState.visible);\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: true, loadingPercentage: 0}));\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingCount: vectors.length}));\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.length; i++) {\r\n const vector = vectors[i];\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingItem: vector.DisplayName ?? \"\"}));\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector.ID, vector.DisplayName, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n visible.add(vector.ID);\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: (i + 1) / vectors.length * 100}));\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n }\r\n\r\n setLoadingState((s): LoadingContextValue => ({...s, loadingPercentage: 100}));\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, visible}));\r\n } catch (e) {\r\n console.log(\"Failed to load specific vectors\", e);\r\n await api.cancelSession();\r\n } finally {\r\n loadingRef.current = false;\r\n setLoadingState((s): LoadingContextValue => ({...s, loading: false}));\r\n }\r\n }, [api, detail?.showTimeWindow, range, dataState, safeReadVectorValues]);\r\n\r\n const cancelLoading = useCallback(async () => {\r\n loadingRef.current = false;\r\n await api.cancelSession();\r\n }, [api]);\r\n\r\n const toggleVectorVisibility = useCallback(async (id: number, visible: boolean) => {\r\n setDataState((prev) => {\r\n const state = prev.data[id];\r\n const visibleSet = new Set<number>(prev.visible);\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (visible) {\r\n if (needsLoadData) {\r\n loadSpecificVectors(prev.vectors.filter((v) => v.ID === id));\r\n }\r\n\r\n visibleSet.add(id);\r\n } else {\r\n visibleSet.delete(id);\r\n }\r\n\r\n return {...prev, visible: visibleSet};\r\n });\r\n }, [range, detail?.showTimeWindow, loadSpecificVectors]);\r\n\r\n const setAllVectorVisibility = useCallback(async (visible: boolean) => {\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (visible) {\r\n const toLoad: TreeItem[] = [];\r\n const visibleSet = new Set<number>(dataState.visible);\r\n\r\n for (let vector of dataState.vectors) {\r\n const id = vector.ID;\r\n const state = dataState.data[id];\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (needsLoadData) {\r\n toLoad.push(vector);\r\n }\r\n\r\n visibleSet.add(id);\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, visible: visibleSet}));\r\n await loadSpecificVectors(toLoad);\r\n } else {\r\n setDataState((s): EdaVectorDataState => ({...s, visible: new Set<number>()}));\r\n }\r\n }, [range, dataState.vectors, dataState.data, loadSpecificVectors, dataState.visible, detail?.showTimeWindow]);\r\n\r\n return (\r\n <EdaVectorDataContext.Provider\r\n value={{\r\n ...dataState,\r\n loadAllData,\r\n loadSpecificVectors,\r\n cancelLoading,\r\n toggleVectorVisibility,\r\n setAllVectorVisibility,\r\n }}\r\n >\r\n <LoadingContext.Provider value={loadingState}>\r\n {children}\r\n </LoadingContext.Provider>\r\n </EdaVectorDataContext.Provider>\r\n )\r\n}\r\n"]}
1
+ {"version":3,"file":"edaVectorDataProvider.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/edaVectorDataProvider.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, PropsWithChildren, useCallback, useRef, useState} from \"react\";\r\nimport EdaManagerApi, {TreeItem, TreeItemsResult, VectorValuesData} from \"../../../../api/eda/edaManagerApi\";\r\nimport {DataTreeItem, EdaVectorDataContext, EdaVectorDataState, VectorDataState} from \"./edaVectorDataContext\";\r\nimport {useSampleRange} from \"./sharedSampleRangeContext\";\r\nimport {EdaSamplingType, EdaValueClassType, IdType, TypedData} from \"../constants/edaTypes\";\r\nimport {useLoading} from \"./loadingContext\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {App} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {useEdaConfig} from \"./edaConfigContext\";\r\n\r\ninterface Props {\r\n api: EdaManagerApi\r\n}\r\n\r\nexport const EdaVectorDataProvider: FC<PropsWithChildren<Props>> = ({api, children}) => {\r\n const {detail} = useEdaConfig();\r\n const {message} = App.useApp();\r\n const range = useSampleRange();\r\n const loading = useLoading();\r\n\r\n const lastRequestId = useRef(0);\r\n const loadingRef = useRef(false);\r\n\r\n const [dataState, setDataState] = useState<EdaVectorDataState>({\r\n data: {},\r\n vectors: [],\r\n visible: new Set<number>(),\r\n initialized: false,\r\n });\r\n\r\n const safeReadVectorValues = useCallback(async (vector: TreeItem, from: dayjs.Dayjs, to: dayjs.Dayjs, step: EdaSamplingType): Promise<VectorValuesData> => {\r\n try {\r\n return await api.readVectorValues(vector.ID, from, to, step);\r\n } catch (e: any) {\r\n message.warning(<span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: vector.DisplayName, e: e?.value})}</span>);\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }, [api, message]);\r\n\r\n const safeCalcVectorValues = useCallback(async (vector: TreeItem, from: dayjs.Dayjs, to: dayjs.Dayjs, step: EdaSamplingType): Promise<VectorValuesData> => {\r\n try {\r\n return await api.calcValuesForUnsavedVector(vector.Type, vector.Prescription ?? \"\", from, to, step);\r\n } catch (e: any) {\r\n message.warning(<span>{i18n(\"Failed to load vector %{n} with error: '%{e}'\", {n: vector.DisplayName, e: e?.value})}</span>);\r\n console.error(e);\r\n return {\r\n data: []\r\n };\r\n }\r\n }, [api, message]);\r\n\r\n const cancelLoading = useCallback(async () => {\r\n await api.cancelSession();\r\n }, [api]);\r\n\r\n const cancelLoadingAll = useCallback(async () => {\r\n loadingRef.current = false;\r\n await api.cancelSession();\r\n }, [api]);\r\n\r\n const loadAllData = useCallback(async (data: TypedData) => {\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, vectors: [], loadedData: data, loadedRange: range}));\r\n loading.startLoading(cancelLoading, cancelLoadingAll);\r\n\r\n try {\r\n const {btTotal, etTotal, sampling, vectorPage} = range;\r\n const result: { [id: number]: VectorDataState } = {};\r\n const vectors: DataTreeItem[] = [];\r\n const visible: Set<number> = new Set<number>();\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n switch (data.type) {\r\n case IdType.GROUP:\r\n case IdType.SCENARIO: {\r\n let resultVectors: TreeItemsResult;\r\n\r\n if (range.vectors) {\r\n resultVectors = {items: range.vectors, leftCount: 0}\r\n } else {\r\n try {\r\n if (data.type === IdType.GROUP) {\r\n resultVectors = await api.getGroupVectors(data.data.data.ID_SKVEKTOR, (vectorPage - 1) * api.pageSize);\r\n } else {\r\n resultVectors = await api.getScenarioVectors(data.data.data.ID_SCENAR, (vectorPage - 1) * api.pageSize, undefined, true);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n resultVectors = {items: [], leftCount: 0};\r\n }\r\n\r\n loading.updateLoading({loadingCount: resultVectors.items.length});\r\n\r\n if (range.vectorPage === 1) {\r\n range.updateTotalCount(resultVectors.items.length + resultVectors.leftCount);\r\n }\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n }\r\n\r\n for (const vector of resultVectors.items) {\r\n vectors.push({...vector, _isCustom: false});\r\n visible.add(vector.ID);\r\n }\r\n\r\n for (let i = 0; i < resultVectors.items.length; i++) {\r\n const vector = resultVectors.items[i];\r\n\r\n loading.updateLoading({loadingItem: vector.DisplayName ?? \"\"});\r\n\r\n const valuesData: VectorValuesData = await safeReadVectorValues(vector, btWindow, etWindow, sampling);\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n\r\n result[vector.ID] = {\r\n data: valuesData,\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n\r\n loading.updateLoading({loadingPercentage: (i + 1) / resultVectors.items.length * 100});\r\n }\r\n\r\n break;\r\n }\r\n case IdType.VECTOR: {\r\n const column = data.data.data;\r\n const vector: DataTreeItem = {\r\n ID: column.ID_VEKTOR,\r\n DisplayName: column.ZOBRAZ_MENO,\r\n Name: column.MENO,\r\n ParentID: column.ID_SKVEKTOR,\r\n Path: \"\",\r\n Type: column.TYP,\r\n Units: column.TECH_JEDNOTKY,\r\n RoundingType: column.VIEW_ROUND,\r\n RoundingPlaces: column.VIEW_DEC_PL,\r\n IsIntegral: column.INTEGRAL === EdaValueClassType.Integral,\r\n _isCustom: false,\r\n }\r\n\r\n loading.updateLoading({loadingCount: 1, loadingItem: vector.DisplayName})\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n visible.add(vector.ID);\r\n vectors.push(vector);\r\n\r\n break;\r\n }\r\n case IdType.SET: {\r\n for (let entry of data.data) {\r\n if (typeof entry === \"number\") {\r\n const id = entry;\r\n\r\n const item = await api.getVector(id);\r\n\r\n if (!item) {\r\n console.log(\"Invalid vector ID \" + id)\r\n continue;\r\n }\r\n\r\n visible.add(id);\r\n vectors.push({...item, _isCustom: false});\r\n\r\n result[id] = {\r\n data: await safeReadVectorValues(item, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n } else {\r\n visible.add(entry.ID);\r\n vectors.push({...entry, _isCustom: true});\r\n\r\n result[entry.ID] = {\r\n data: await safeCalcVectorValues(entry, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, vectors: vectors, visible: visible}));\r\n loading.updateLoading({loadingPercentage: 100});\r\n } catch (e) {\r\n console.error(\"Failed to load all data\", e);\r\n await api.cancelSession();\r\n } finally {\r\n if (requestId === lastRequestId.current) {\r\n setDataState((s): EdaVectorDataState => ({...s, initialized: true}));\r\n loading.stopLoading();\r\n }\r\n\r\n loadingRef.current = false;\r\n }\r\n }, [api, cancelLoading, cancelLoadingAll, detail, loading, range, safeCalcVectorValues, safeReadVectorValues]);\r\n\r\n const loadSpecificVectors = useCallback(async (vectors: TreeItem[], forceUpdate?: boolean) => {\r\n const {btTotal, etTotal, sampling} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (!forceUpdate) {\r\n vectors = vectors.filter((vector) => {\r\n const loadedVector = dataState.data[vector.ID];\r\n\r\n if (!loadedVector) {\r\n return true;\r\n }\r\n\r\n return !loadedVector.from.isSame(btWindow) || !loadedVector.to.isSame(etWindow) || loadedVector.sampling !== sampling;\r\n });\r\n }\r\n\r\n if (vectors.length === 0 || !dataState.loadedData) {\r\n return;\r\n }\r\n\r\n const requestId = ++lastRequestId.current;\r\n\r\n loadingRef.current = true;\r\n setDataState((s): EdaVectorDataState => ({...s, loadedRange: range}));\r\n loading.startLoading(cancelLoading, cancelLoadingAll);\r\n\r\n try {\r\n const result: { [id: number]: VectorDataState } = {...dataState.data};\r\n const visible = new Set(dataState.visible);\r\n\r\n loading.updateLoading({loadingPercentage: 0, loadingCount: vectors.length});\r\n\r\n if (requestId !== lastRequestId.current) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < vectors.length; i++) {\r\n const vector = vectors[i];\r\n\r\n loading.updateLoading({loadingItem: vector.DisplayName ?? \"\"});\r\n\r\n if (dataState.loadedData.type === IdType.SET && vector.Prescription !== undefined) {\r\n result[vector.ID] = {\r\n data: await safeCalcVectorValues(vector, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n } else {\r\n result[vector.ID] = {\r\n data: await safeReadVectorValues(vector, btWindow, etWindow, sampling),\r\n from: btWindow,\r\n to: etWindow,\r\n sampling: sampling,\r\n };\r\n }\r\n\r\n visible.add(vector.ID);\r\n loading.updateLoading({loadingPercentage: (i + 1) / vectors.length * 100});\r\n\r\n if (!loadingRef.current) {\r\n break;\r\n }\r\n }\r\n\r\n loading.updateLoading({loadingPercentage: 100});\r\n setDataState((s): EdaVectorDataState => ({...s, data: result, visible}));\r\n } catch (e) {\r\n console.log(\"Failed to load specific vectors\", e);\r\n await api.cancelSession();\r\n } finally {\r\n loadingRef.current = false;\r\n loading.stopLoading();\r\n }\r\n }, [range, detail, dataState.loadedData, dataState.data, dataState.visible, loading, cancelLoading, cancelLoadingAll, safeReadVectorValues, safeCalcVectorValues, api]);\r\n\r\n const toggleVectorVisibility = useCallback(async (id: number, visible: boolean) => {\r\n setDataState((prev) => {\r\n const state = prev.data[id];\r\n const visibleSet = new Set<number>(prev.visible);\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (visible) {\r\n if (needsLoadData) {\r\n loadSpecificVectors(prev.vectors.filter((v) => v.ID === id));\r\n }\r\n\r\n visibleSet.add(id);\r\n } else {\r\n visibleSet.delete(id);\r\n }\r\n\r\n return {...prev, visible: visibleSet};\r\n });\r\n }, [range, detail?.showTimeWindow, loadSpecificVectors]);\r\n\r\n const setAllVectorVisibility = useCallback(async (visible: boolean) => {\r\n const {btTotal, etTotal} = range;\r\n let {btWindow, etWindow} = range;\r\n\r\n if (!detail?.showTimeWindow) {\r\n btWindow = btTotal;\r\n etWindow = etTotal;\r\n }\r\n\r\n if (visible) {\r\n const toLoad: TreeItem[] = [];\r\n const visibleSet = new Set<number>(dataState.visible);\r\n\r\n for (let vector of dataState.vectors) {\r\n const id = vector.ID;\r\n const state = dataState.data[id];\r\n const needsLoadData = !state.from.isSame(btWindow) || !state.to.isSame(etWindow);\r\n\r\n if (needsLoadData) {\r\n toLoad.push(vector);\r\n }\r\n\r\n visibleSet.add(id);\r\n }\r\n\r\n setDataState((s): EdaVectorDataState => ({...s, visible: visibleSet}));\r\n await loadSpecificVectors(toLoad);\r\n } else {\r\n setDataState((s): EdaVectorDataState => ({...s, visible: new Set<number>()}));\r\n }\r\n }, [range, dataState.vectors, dataState.data, loadSpecificVectors, dataState.visible, detail?.showTimeWindow]);\r\n\r\n return (\r\n <EdaVectorDataContext.Provider\r\n value={{\r\n ...dataState,\r\n loadAllData,\r\n loadSpecificVectors,\r\n toggleVectorVisibility,\r\n setAllVectorVisibility,\r\n }}\r\n >\r\n {children}\r\n </EdaVectorDataContext.Provider>\r\n )\r\n}\r\n"]}
@@ -1,7 +1,17 @@
1
+ import React, { PropsWithChildren } from "react";
1
2
  export interface LoadingContextValue {
2
3
  loading: boolean;
3
4
  loadingPercentage: number;
4
5
  loadingItem: string;
5
6
  loadingCount: number;
7
+ onCancel?: () => void;
8
+ onCancelAll?: () => void;
6
9
  }
7
- export declare const LoadingContext: import("react").Context<LoadingContextValue | undefined>;
10
+ export interface LoadingContextActions extends LoadingContextValue {
11
+ startLoading: (onCancel?: () => void, onCancelAll?: () => void) => void;
12
+ updateLoading: (value: Partial<Pick<LoadingContextValue, "loadingItem" | "loadingCount" | "loadingPercentage">>) => void;
13
+ stopLoading: () => void;
14
+ }
15
+ export type LoadingContextType = LoadingContextValue & LoadingContextActions;
16
+ export declare const LoadingContextProvider: React.FC<PropsWithChildren>;
17
+ export declare function useLoading(): LoadingContextType;
@@ -1,3 +1,41 @@
1
- import { createContext } from "react";
2
- export const LoadingContext = createContext(undefined);
1
+ import React, { createContext, useCallback, useContext, useMemo, useState } from "react";
2
+ import { EdaLoadingOverlay } from "../components/edaLoadingOverlay";
3
+ const LoadingContext = createContext(undefined);
4
+ export const LoadingContextProvider = ({ children }) => {
5
+ const parentContext = useContext(LoadingContext);
6
+ const [valueState, setValueState] = useState({
7
+ loading: false,
8
+ loadingCount: 0,
9
+ loadingPercentage: 0,
10
+ loadingItem: '',
11
+ });
12
+ const startLoading = useCallback((onCancel, onCancelAll) => {
13
+ setValueState((prev) => ({ ...prev, loading: true, onCancel, onCancelAll }));
14
+ }, []);
15
+ const updateLoading = useCallback((value) => {
16
+ setValueState((prev) => ({ ...prev, ...value }));
17
+ }, []);
18
+ const stopLoading = useCallback(() => {
19
+ setValueState({ loading: false, loadingPercentage: 0, loadingCount: 0, loadingItem: '', onCancel: undefined, onCancelAll: undefined });
20
+ }, []);
21
+ const contextValue = useMemo(() => ({
22
+ ...valueState,
23
+ startLoading,
24
+ updateLoading,
25
+ stopLoading,
26
+ }), [startLoading, stopLoading, updateLoading, valueState]);
27
+ if (parentContext) {
28
+ return (React.createElement(React.Fragment, null, children));
29
+ }
30
+ return (React.createElement(LoadingContext.Provider, { value: contextValue },
31
+ React.createElement(EdaLoadingOverlay, null),
32
+ children));
33
+ };
34
+ export function useLoading() {
35
+ const context = useContext(LoadingContext);
36
+ if (!context) {
37
+ throw new Error("useLoading must be used within a LoadingContextProvider");
38
+ }
39
+ return context;
40
+ }
3
41
  //# sourceMappingURL=loadingContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadingContext.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/loadingContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AASpC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAkC,SAAS,CAAC,CAAC","sourcesContent":["import {createContext} from \"react\";\r\n\r\nexport interface LoadingContextValue {\r\n loading: boolean\r\n loadingPercentage: number\r\n loadingItem: string\r\n loadingCount: number\r\n}\r\n\r\nexport const LoadingContext = createContext<LoadingContextValue | undefined>(undefined);"]}
1
+ {"version":3,"file":"loadingContext.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/loadingContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,aAAa,EAAqB,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC1G,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAoBlE,MAAM,cAAc,GAAG,aAAa,CAAiC,SAAS,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAAgC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE;IAC9E,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAEjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAsB;QAC9D,OAAO,EAAE,KAAK;QACd,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,CAAC;QACpB,WAAW,EAAE,EAAE;KAClB,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,QAAqB,EAAE,WAAwB,EAAE,EAAE;QACjF,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC;IAC/E,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,KAA+F,EAAE,EAAE;QAClI,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,IAAI,EAAE,GAAG,KAAK,EAAC,CAAC,CAAC,CAAC;IACnD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,aAAa,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC,CAAC;IACzI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,YAAY,GAAG,OAAO,CAAqB,GAAG,EAAE,CAAC,CAAC;QACpD,GAAG,UAAU;QACb,YAAY;QACZ,aAAa;QACb,WAAW;KACd,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5D,IAAI,aAAa,EAAE,CAAC;QAChB,OAAO,CAAC,0CAAG,QAAQ,CAAI,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CACH,oBAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY;QACxC,oBAAC,iBAAiB,OAAG;QACpB,QAAQ,CACa,CAC7B,CAAC;AACN,CAAC,CAAA;AAED,MAAM,UAAU,UAAU;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC","sourcesContent":["import React, {createContext, PropsWithChildren, useCallback, useContext, useMemo, useState} from \"react\";\r\nimport {EdaLoadingOverlay} from \"../components/edaLoadingOverlay\";\r\n\r\nexport interface LoadingContextValue {\r\n loading: boolean\r\n loadingPercentage: number\r\n loadingItem: string\r\n loadingCount: number\r\n\r\n onCancel?: () => void\r\n onCancelAll?: () => void\r\n}\r\n\r\nexport interface LoadingContextActions extends LoadingContextValue {\r\n startLoading: (onCancel?: () => void, onCancelAll?: () => void) => void\r\n updateLoading: (value: Partial<Pick<LoadingContextValue, \"loadingItem\" | \"loadingCount\" | \"loadingPercentage\">>) => void\r\n stopLoading: () => void\r\n}\r\n\r\nexport type LoadingContextType = LoadingContextValue & LoadingContextActions;\r\n\r\nconst LoadingContext = createContext<LoadingContextType | undefined>(undefined);\r\n\r\nexport const LoadingContextProvider: React.FC<PropsWithChildren> = ({children}) => {\r\n const parentContext = useContext(LoadingContext);\r\n\r\n const [valueState, setValueState] = useState<LoadingContextValue>({\r\n loading: false,\r\n loadingCount: 0,\r\n loadingPercentage: 0,\r\n loadingItem: '',\r\n });\r\n\r\n const startLoading = useCallback((onCancel?: () => void, onCancelAll?: () => void) => {\r\n setValueState((prev) => ({...prev, loading: true, onCancel, onCancelAll}));\r\n }, []);\r\n\r\n const updateLoading = useCallback((value: Partial<Pick<LoadingContextValue, \"loadingItem\" | \"loadingCount\" | \"loadingPercentage\">>) => {\r\n setValueState((prev) => ({...prev, ...value}));\r\n }, []);\r\n\r\n const stopLoading = useCallback(() => {\r\n setValueState({loading: false, loadingPercentage: 0, loadingCount: 0, loadingItem: '', onCancel: undefined, onCancelAll: undefined});\r\n }, []);\r\n \r\n const contextValue = useMemo<LoadingContextType>(() => ({\r\n ...valueState,\r\n startLoading,\r\n updateLoading,\r\n stopLoading,\r\n }), [startLoading, stopLoading, updateLoading, valueState]);\r\n\r\n if (parentContext) {\r\n return (<>{children}</>);\r\n }\r\n\r\n return (\r\n <LoadingContext.Provider value={contextValue}>\r\n <EdaLoadingOverlay />\r\n {children}\r\n </LoadingContext.Provider>\r\n );\r\n}\r\n\r\nexport function useLoading() {\r\n const context = useContext(LoadingContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useLoading must be used within a LoadingContextProvider\");\r\n }\r\n\r\n return context;\r\n}"]}
@@ -3,6 +3,7 @@ import EdaManagerApi from "../../../../api/eda/edaManagerApi";
3
3
  import React from "react";
4
4
  export declare const useEdaActions: (api: EdaManagerApi) => {
5
5
  triggerExportToXML: (data: TypedData) => void;
6
+ triggerImportToXML: (data: TypedData) => void;
6
7
  triggerIncludeToScenario: (data: TypedIndex) => void;
7
8
  triggerIncludeToGroup: (data: TypedIndex) => void;
8
9
  renderActionDialogs: () => React.JSX.Element;
@@ -1,33 +1,42 @@
1
1
  import React, { useCallback, useState } from "react";
2
2
  import { ExportDialog } from "../dialogs/exportDialog";
3
3
  import { InsertTo, InsertVectorDialog } from "../dialogs/insertVectorDialog";
4
+ import { ImportDialog } from "../dialogs/importDialog";
4
5
  export const useEdaActions = (api) => {
5
- const [exportTarget, setExportTarget] = useState();
6
- const [includeTarget, setIncludeTarget] = useState();
6
+ const [typedData, setTypedData] = useState();
7
+ const [typedIndex, setTypedIndex] = useState();
7
8
  const [exportOpen, setExportOpen] = useState(false);
9
+ const [importOpen, setImportOpen] = useState(false);
8
10
  const [includeToScenarioOpen, setIncludeToScenarioOpen] = useState(false);
9
11
  const [includeToGroupOpen, setIncludeToGroupOpen] = useState(false);
10
12
  const triggerExportToXML = useCallback((data) => {
11
- setExportTarget({ data });
13
+ setTypedData(data);
12
14
  setExportOpen(true);
13
15
  }, []);
16
+ const triggerImportToXML = useCallback((data) => {
17
+ setTypedData(data);
18
+ setImportOpen(true);
19
+ }, []);
14
20
  const triggerIncludeToScenario = useCallback((data) => {
15
- setIncludeTarget({ data });
21
+ setTypedIndex(data);
16
22
  setIncludeToScenarioOpen(true);
17
23
  }, []);
18
24
  const triggerIncludeToGroup = useCallback((data) => {
19
- setIncludeTarget({ data });
25
+ setTypedIndex(data);
20
26
  setIncludeToGroupOpen(true);
21
27
  }, []);
22
28
  const renderActionDialogs = () => {
23
29
  return (React.createElement(React.Fragment, null,
24
- exportTarget && (React.createElement(ExportDialog, { api: api, open: exportOpen, data: exportTarget.data, onCancel: () => setExportOpen(false), onOk: () => setExportOpen(false) })),
25
- includeTarget && (React.createElement(React.Fragment, null,
26
- React.createElement(InsertVectorDialog, { api: api, insertTo: InsertTo.SCENARIO, open: includeToScenarioOpen, data: includeTarget.data, onCancel: () => setIncludeToScenarioOpen(false), onOk: () => setIncludeToScenarioOpen(false) }),
27
- React.createElement(InsertVectorDialog, { api: api, insertTo: InsertTo.GROUP, open: includeToGroupOpen, data: includeTarget.data, onCancel: () => setIncludeToGroupOpen(false), onOk: () => setIncludeToGroupOpen(false) })))));
30
+ typedData && (React.createElement(React.Fragment, null,
31
+ React.createElement(ExportDialog, { api: api, open: exportOpen, data: typedData, onCancel: () => setExportOpen(false), onOk: () => setExportOpen(false) }),
32
+ React.createElement(ImportDialog, { api: api, open: importOpen, data: typedData, initialWidth: window.innerWidth * 0.75, initialHeight: window.innerHeight * 0.75, onCancel: () => setImportOpen(false), onOk: () => setImportOpen(false) }))),
33
+ typedIndex && (React.createElement(React.Fragment, null,
34
+ React.createElement(InsertVectorDialog, { api: api, insertTo: InsertTo.SCENARIO, open: includeToScenarioOpen, data: typedIndex, onCancel: () => setIncludeToScenarioOpen(false), onOk: () => setIncludeToScenarioOpen(false) }),
35
+ React.createElement(InsertVectorDialog, { api: api, insertTo: InsertTo.GROUP, open: includeToGroupOpen, data: typedIndex, onCancel: () => setIncludeToGroupOpen(false), onOk: () => setIncludeToGroupOpen(false) })))));
28
36
  };
29
37
  return {
30
38
  triggerExportToXML,
39
+ triggerImportToXML,
31
40
  triggerIncludeToScenario,
32
41
  triggerIncludeToGroup,
33
42
  renderActionDialogs,
@@ -1 +1 @@
1
- {"version":3,"file":"useEdaActions.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/useEdaActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACnD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,QAAQ,EAAE,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAW3E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,EAAE;IAChD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAgB,CAAC;IACjE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAiB,CAAC;IAEpE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,kBAAkB,GAAG,WAAW,CAAC,CAAC,IAAe,EAAE,EAAE;QACvD,eAAe,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QACxB,aAAa,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,wBAAwB,GAAG,WAAW,CAAC,CAAC,IAAgB,EAAE,EAAE;QAC9D,gBAAgB,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QACzB,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,qBAAqB,GAAG,WAAW,CAAC,CAAC,IAAgB,EAAE,EAAE;QAC3D,gBAAgB,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QACzB,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,OAAO,CACH;YACK,YAAY,IAAI,CACb,oBAAC,YAAY,IACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACpC,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GAClC,CACL;YACA,aAAa,IAAI,CACd;gBACI,oBAAC,kBAAkB,IACf,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAE,aAAa,CAAC,IAAI,EACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAC/C,IAAI,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAC7C;gBACF,oBAAC,kBAAkB,IACf,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,CAAC,KAAK,EACxB,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,CAAC,IAAI,EACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAC5C,IAAI,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAC1C,CACH,CACN,CACF,CACN,CAAA;IACL,CAAC,CAAA;IAED,OAAO;QACH,kBAAkB;QAClB,wBAAwB;QACxB,qBAAqB;QACrB,mBAAmB;KACtB,CAAA;AACL,CAAC,CAAA","sourcesContent":["import {TypedData, TypedIndex} from \"../constants/edaTypes\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport React, {useCallback, useState} from \"react\";\r\nimport {ExportDialog} from \"../dialogs/exportDialog\";\r\nimport {InsertTo, InsertVectorDialog} from \"../dialogs/insertVectorDialog\";\r\n\r\n//TODO generic?\r\ninterface ExportTarget {\r\n data: TypedData\r\n}\r\n\r\ninterface IncludeTarget {\r\n data: TypedIndex\r\n}\r\n\r\nexport const useEdaActions = (api: EdaManagerApi) => {\r\n const [exportTarget, setExportTarget] = useState<ExportTarget>();\r\n const [includeTarget, setIncludeTarget] = useState<IncludeTarget>();\r\n\r\n const [exportOpen, setExportOpen] = useState(false);\r\n const [includeToScenarioOpen, setIncludeToScenarioOpen] = useState(false);\r\n const [includeToGroupOpen, setIncludeToGroupOpen] = useState(false);\r\n\r\n const triggerExportToXML = useCallback((data: TypedData) => {\r\n setExportTarget({data});\r\n setExportOpen(true);\r\n }, []);\r\n\r\n const triggerIncludeToScenario = useCallback((data: TypedIndex) => {\r\n setIncludeTarget({data});\r\n setIncludeToScenarioOpen(true);\r\n }, []);\r\n\r\n const triggerIncludeToGroup = useCallback((data: TypedIndex) => {\r\n setIncludeTarget({data});\r\n setIncludeToGroupOpen(true);\r\n }, []);\r\n\r\n const renderActionDialogs = () => {\r\n return (\r\n <>\r\n {exportTarget && (\r\n <ExportDialog\r\n api={api}\r\n open={exportOpen}\r\n data={exportTarget.data}\r\n onCancel={() => setExportOpen(false)}\r\n onOk={() => setExportOpen(false)}\r\n />\r\n )}\r\n {includeTarget && (\r\n <>\r\n <InsertVectorDialog\r\n api={api}\r\n insertTo={InsertTo.SCENARIO}\r\n open={includeToScenarioOpen}\r\n data={includeTarget.data}\r\n onCancel={() => setIncludeToScenarioOpen(false)}\r\n onOk={() => setIncludeToScenarioOpen(false)}\r\n />\r\n <InsertVectorDialog\r\n api={api}\r\n insertTo={InsertTo.GROUP}\r\n open={includeToGroupOpen}\r\n data={includeTarget.data}\r\n onCancel={() => setIncludeToGroupOpen(false)}\r\n onOk={() => setIncludeToGroupOpen(false)}\r\n />\r\n </>\r\n )}\r\n </>\r\n )\r\n }\r\n\r\n return {\r\n triggerExportToXML,\r\n triggerIncludeToScenario,\r\n triggerIncludeToGroup,\r\n renderActionDialogs,\r\n }\r\n}"]}
1
+ {"version":3,"file":"useEdaActions.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManagerComponent/context/useEdaActions.tsx"],"names":[],"mappings":"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","sourcesContent":["import {TypedData, TypedIndex} from \"../constants/edaTypes\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport React, {useCallback, useState} from \"react\";\r\nimport {ExportDialog} from \"../dialogs/exportDialog\";\r\nimport {InsertTo, InsertVectorDialog} from \"../dialogs/insertVectorDialog\";\r\nimport {ImportDialog} from \"../dialogs/importDialog\";\r\n\r\nexport const useEdaActions = (api: EdaManagerApi) => {\r\n const [typedData, setTypedData] = useState<TypedData>();\r\n const [typedIndex, setTypedIndex] = useState<TypedIndex>();\r\n\r\n const [exportOpen, setExportOpen] = useState(false);\r\n const [importOpen, setImportOpen] = useState(false);\r\n const [includeToScenarioOpen, setIncludeToScenarioOpen] = useState(false);\r\n const [includeToGroupOpen, setIncludeToGroupOpen] = useState(false);\r\n\r\n const triggerExportToXML = useCallback((data: TypedData) => {\r\n setTypedData(data);\r\n setExportOpen(true);\r\n }, []);\r\n\r\n const triggerImportToXML = useCallback((data: TypedData) => {\r\n setTypedData(data);\r\n setImportOpen(true);\r\n }, []);\r\n\r\n const triggerIncludeToScenario = useCallback((data: TypedIndex) => {\r\n setTypedIndex(data);\r\n setIncludeToScenarioOpen(true);\r\n }, []);\r\n\r\n const triggerIncludeToGroup = useCallback((data: TypedIndex) => {\r\n setTypedIndex(data);\r\n setIncludeToGroupOpen(true);\r\n }, []);\r\n\r\n const renderActionDialogs = () => {\r\n return (\r\n <>\r\n {typedData && (\r\n <>\r\n <ExportDialog\r\n api={api}\r\n open={exportOpen}\r\n data={typedData}\r\n onCancel={() => setExportOpen(false)}\r\n onOk={() => setExportOpen(false)}\r\n />\r\n <ImportDialog\r\n api={api}\r\n open={importOpen}\r\n data={typedData}\r\n initialWidth={window.innerWidth * 0.75}\r\n initialHeight={window.innerHeight * 0.75}\r\n onCancel={() => setImportOpen(false)}\r\n onOk={() => setImportOpen(false)}\r\n />\r\n </>\r\n )}\r\n {typedIndex && (\r\n <>\r\n <InsertVectorDialog\r\n api={api}\r\n insertTo={InsertTo.SCENARIO}\r\n open={includeToScenarioOpen}\r\n data={typedIndex}\r\n onCancel={() => setIncludeToScenarioOpen(false)}\r\n onOk={() => setIncludeToScenarioOpen(false)}\r\n />\r\n <InsertVectorDialog\r\n api={api}\r\n insertTo={InsertTo.GROUP}\r\n open={includeToGroupOpen}\r\n data={typedIndex}\r\n onCancel={() => setIncludeToGroupOpen(false)}\r\n onOk={() => setIncludeToGroupOpen(false)}\r\n />\r\n </>\r\n )}\r\n </>\r\n )\r\n }\r\n\r\n return {\r\n triggerExportToXML,\r\n triggerImportToXML,\r\n triggerIncludeToScenario,\r\n triggerIncludeToGroup,\r\n renderActionDialogs,\r\n }\r\n}"]}
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useMemo, useState } from "react";
1
+ import React, { useMemo, useState } from "react";
2
2
  import { Button, Card, Checkbox, Col, Divider, InputNumber, Radio, Row, Space, theme } from "antd";
3
3
  import i18n from "d2core/i18n/i18n";
4
4
  import { EdaPeriodType, EdaPeriodValueType } from "../../constants/edaTypes";
@@ -13,13 +13,15 @@ export const DescriptiveVectorDetailPanel = ({ data, onChange }) => {
13
13
  const { token } = theme.useToken();
14
14
  const [periodType, setPeriodType] = useState(toFullPeriodType(data));
15
15
  const [modifiedData, setModifiedData] = useState({ ...data });
16
+ const [prevData, setPrevData] = useState(data);
16
17
  const fullMask = useMemo(() => LocaleHolder.getDateTimeFormat(true, false, false), []);
17
18
  const dateMask = useMemo(() => LocaleHolder.getDateFormat(false), []);
18
19
  const modified = !isEqual(modifiedData, data) || periodType !== toFullPeriodType(data);
19
- useEffect(() => {
20
+ if (data !== prevData) {
21
+ setPrevData(data);
20
22
  setPeriodType(toFullPeriodType(data));
21
23
  setModifiedData({ ...data });
22
- }, [data]);
24
+ }
23
25
  return (React.createElement(Space, { style: { width: "100%", padding: `${token.paddingXXS}px`, overflowY: "auto" }, direction: "vertical" },
24
26
  React.createElement(Card, { title: i18n("Period Type") + ":" },
25
27
  React.createElement(Radio.Group, { value: periodType, style: { display: 'flex', flexDirection: 'column', gap: '4px' }, onChange: (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"descriptiveVectorDetailPanel.js","sourceRoot":"","sources":["../../../../../../../coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/descriptiveVectorDetailPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useEffect, useMemo, useState} from \"react\";\r\nimport {Button, Card, Checkbox, Col, Divider, InputNumber, Radio, Row, Space, theme} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaPeriodType, EdaPeriodValueType} from \"../../constants/edaTypes\";\r\nimport {isEqual} from \"lodash\";\r\nimport {IntervalInput} from \"./intervalInput\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport {DescriptiveVector, FullPeriodType} from \"./types\";\r\nimport {toFullPeriodType} from \"./utils\";\r\nimport EnumValuePicker from \"d2coreui/components/picker/enumValuePicker\";\r\nimport dayjs from \"d2core/dayjs\";\r\n\r\ninterface Props {\r\n data: DescriptiveVector\r\n onChange: (data: DescriptiveVector) => void\r\n}\r\n\r\nexport const DescriptiveVectorDetailPanel: FC<Props> = ({data, onChange}) => {\r\n const {token} = theme.useToken();\r\n\r\n const [periodType, setPeriodType] = useState<FullPeriodType>(toFullPeriodType(data));\r\n const [modifiedData, setModifiedData] = useState<DescriptiveVector>({...data});\r\n\r\n const fullMask = useMemo(() => LocaleHolder.getDateTimeFormat(true, false, false), []);\r\n const dateMask = useMemo(() => LocaleHolder.getDateFormat(false), []);\r\n\r\n const modified = !isEqual(modifiedData, data) || periodType !== toFullPeriodType(data);\r\n\r\n useEffect(() => {\r\n setPeriodType(toFullPeriodType(data));\r\n setModifiedData({...data});\r\n }, [data]);\r\n\r\n return (\r\n <Space style={{width: \"100%\", padding: `${token.paddingXXS}px`, overflowY: \"auto\"}} direction={\"vertical\"}>\r\n <Card title={i18n(\"Period Type\") + \":\"}>\r\n <Radio.Group\r\n value={periodType}\r\n style={{display: 'flex', flexDirection: 'column', gap: '4px'}}\r\n onChange={(e) => {\r\n const period = e.target.value as FullPeriodType;\r\n let from: dayjs.Dayjs;\r\n let to: dayjs.Dayjs;\r\n\r\n switch (period) {\r\n case FullPeriodType.Base:\r\n case FullPeriodType.Interval:\r\n from = dayjs().startOf('year');\r\n to = dayjs().endOf('year').millisecond(0);\r\n break;\r\n case FullPeriodType.Day:\r\n from = dayjs().year(2000).startOf('year');\r\n to = dayjs().year(2000).startOf('year').endOf('day').millisecond(0);\r\n break;\r\n case FullPeriodType.Week:\r\n from = dayjs().year(2002).startOf('year');\r\n to = dayjs().year(2002).startOf('year').second(6);\r\n break;\r\n case FullPeriodType.YearQuarter:\r\n from = dayjs().year(1972).startOf('year');\r\n to = dayjs().year(1972).startOf('year').month(9);\r\n break;\r\n case FullPeriodType.YearMonth:\r\n from = dayjs().year(1973).startOf('year');\r\n to = dayjs().year(1973).startOf('year').month(11);\r\n break;\r\n case FullPeriodType.YearWeek:\r\n from = dayjs().year(1974).startOf('year').second(1);\r\n to = dayjs().year(1974).startOf('year').second(52);\r\n break;\r\n case FullPeriodType.YearDay:\r\n from = dayjs().year(1975).startOf('year');\r\n to = dayjs().year(1975).startOf('year').endOf('year').millisecond(0);\r\n break;\r\n }\r\n\r\n setPeriodType(period);\r\n setModifiedData((prev): DescriptiveVector => ({...prev, periodType: toEdaPeriodType(period), timeFrom: from, timeTo: to}));\r\n }}\r\n >\r\n <Radio value={FullPeriodType.Base}>{i18n(\"Basic (value in every moment)\")}</Radio>\r\n <Divider style={{margin: 0}}/>\r\n <Radio value={FullPeriodType.Interval}>{i18n(\"Interval\")}</Radio>\r\n <Divider style={{margin: 0}}/>\r\n <Radio value={FullPeriodType.YearQuarter}>{i18n(\"Quarter of the year (I., II., III, IV.)\")}</Radio>\r\n <Radio value={FullPeriodType.YearMonth}>{i18n(\"Month of the year (January - December)\")}</Radio>\r\n <Radio value={FullPeriodType.YearWeek}>{i18n(\"Week of the year (1. - 52.)\")}</Radio>\r\n <Radio value={FullPeriodType.YearDay}>{i18n(\"Date in year (1.1. - 31.12.)\")}</Radio>\r\n <Divider style={{margin: 0}}/>\r\n <Radio value={FullPeriodType.Week}>{i18n(\"Day in week (Monday - Sunday)\")}</Radio>\r\n <Divider style={{margin: 0}}/>\r\n <Radio value={FullPeriodType.Day}>{i18n(\"Time during the day (00:00 - 23:59)\")}</Radio>\r\n </Radio.Group>\r\n </Card>\r\n {periodType !== FullPeriodType.Base && (\r\n <Card>\r\n <Row gutter={[8, 8]}>\r\n <Col span={8}>\r\n {getIntervalDescription(periodType)}:\r\n </Col>\r\n <Col span={16}>\r\n <Row gutter={[8, 8]}>\r\n <Col span={6}>{i18n(\"From\")}:</Col>\r\n <Col span={18}>\r\n <IntervalInput\r\n value={modifiedData.timeFrom}\r\n fullMask={fullMask}\r\n dateMask={dateMask}\r\n periodType={periodType}\r\n onChange={(value) => {\r\n setModifiedData((prev): DescriptiveVector => ({...prev, timeFrom: value}))\r\n }}\r\n />\r\n </Col>\r\n\r\n <Col span={6}>{i18n(\"To\")}:</Col>\r\n <Col span={18}>\r\n <IntervalInput\r\n value={modifiedData.timeTo}\r\n fullMask={fullMask}\r\n dateMask={dateMask}\r\n periodType={periodType}\r\n onChange={(value) => {\r\n setModifiedData((prev): DescriptiveVector => ({...prev, timeTo: value}))\r\n }}\r\n />\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n </Card>\r\n )}\r\n <Card>\r\n <Row gutter={[8, 8]}>\r\n <Col span={8}>{i18n(\"Operation Type\")}:</Col>\r\n <Col span={16}>\r\n <EnumValuePicker\r\n style={{width: \"100%\"}}\r\n value={modifiedData.valueType}\r\n values={EdaPeriodValueType}\r\n translateValue\r\n translationPrefix={\"EdaPeriodValueType_\"}\r\n onChange={(value) => {\r\n setModifiedData((prev): DescriptiveVector => ({...prev, valueType: value as number}))\r\n }}\r\n />\r\n </Col>\r\n\r\n <Col span={8}>{i18n(\"Value\")}:</Col>\r\n <Col span={16}>\r\n <InputNumber\r\n value={modifiedData.value}\r\n style={{width: \"100%\"}}\r\n onChange={(value) => {\r\n if (value !== null) {\r\n setModifiedData((prev) => ({...prev, value: value}));\r\n }\r\n }}\r\n />\r\n </Col>\r\n\r\n {modifiedData.valueType === EdaPeriodValueType.Interpolation && (\r\n <>\r\n <Col span={8}>{i18n(\"To\")}:</Col>\r\n <Col span={16}>\r\n <InputNumber\r\n value={modifiedData.value2}\r\n style={{width: \"100%\"}}\r\n onChange={(value) => {\r\n if (value !== null) {\r\n setModifiedData((prev) => ({...prev, value2: value}));\r\n }\r\n }}\r\n />\r\n </Col>\r\n </>\r\n )}\r\n </Row>\r\n </Card>\r\n <Card>\r\n <Row gutter={[8, 8]}>\r\n <Col span={12}>\r\n <Checkbox\r\n checked={modifiedData.valid}\r\n onChange={(e) => {\r\n setModifiedData((prev): DescriptiveVector => ({...prev, valid: e.target.checked}));\r\n }}\r\n >\r\n {i18n(\"Valid entry\")}\r\n </Checkbox>\r\n </Col>\r\n <Col span={12}>{i18n(\"Supplement number\")}: {modifiedData.supplement}</Col>\r\n </Row>\r\n </Card>\r\n <div style={{display: \"flex\", justifyContent: \"flex-end\"}}>\r\n <Button\r\n type={\"primary\"}\r\n disabled={!modified}\r\n onClick={() => onChange(modifiedData)}\r\n >\r\n {i18n(\"Change\")}\r\n </Button>\r\n </div>\r\n </Space>\r\n );\r\n}\r\n\r\nfunction getIntervalDescription(periodType: FullPeriodType) {\r\n switch (periodType) {\r\n case FullPeriodType.Base:\r\n return \"\";\r\n case FullPeriodType.Interval:\r\n case FullPeriodType.YearQuarter:\r\n case FullPeriodType.YearMonth:\r\n case FullPeriodType.YearWeek:\r\n return i18n(\"Annual period\");\r\n case FullPeriodType.Day:\r\n return i18n(\"Interval\");\r\n case FullPeriodType.Week:\r\n return i18n(\"Daily\");\r\n case FullPeriodType.YearDay:\r\n return i18n(\"On the days\");\r\n }\r\n}\r\n\r\nfunction toEdaPeriodType(period: FullPeriodType): EdaPeriodType {\r\n switch (period) {\r\n case FullPeriodType.Base:\r\n return EdaPeriodType.Base;\r\n case FullPeriodType.Interval:\r\n return EdaPeriodType.Interval;\r\n case FullPeriodType.Day:\r\n return EdaPeriodType.Day;\r\n case FullPeriodType.Week:\r\n return EdaPeriodType.Week;\r\n case FullPeriodType.YearDay:\r\n case FullPeriodType.YearMonth:\r\n case FullPeriodType.YearQuarter:\r\n case FullPeriodType.YearWeek:\r\n return EdaPeriodType.Year;\r\n }\r\n}"]}
1
+ {"version":3,"file":"descriptiveVectorDetailPanel.js","sourceRoot":"","sources":["../../../../../../../coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/descriptiveVectorDetailPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useMemo, useState} from \"react\";\r\nimport {Button, Card, Checkbox, Col, Divider, InputNumber, Radio, Row, Space, theme} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EdaPeriodType, EdaPeriodValueType} from \"../../constants/edaTypes\";\r\nimport {isEqual} from \"lodash\";\r\nimport {IntervalInput} from \"./intervalInput\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport {DescriptiveVector, FullPeriodType} from \"./types\";\r\nimport {toFullPeriodType} from \"./utils\";\r\nimport EnumValuePicker from \"d2coreui/components/picker/enumValuePicker\";\r\nimport dayjs from \"d2core/dayjs\";\r\n\r\ninterface Props {\r\n data: DescriptiveVector\r\n onChange: (data: DescriptiveVector) => void\r\n}\r\n\r\nexport const DescriptiveVectorDetailPanel: FC<Props> = ({data, onChange}) => {\r\n const {token} = theme.useToken();\r\n\r\n const [periodType, setPeriodType] = useState<FullPeriodType>(toFullPeriodType(data));\r\n const [modifiedData, setModifiedData] = useState<DescriptiveVector>({...data});\r\n const [prevData, setPrevData] = useState<DescriptiveVector>(data);\r\n\r\n const fullMask = useMemo(() => LocaleHolder.getDateTimeFormat(true, false, false), []);\r\n const dateMask = useMemo(() => LocaleHolder.getDateFormat(false), []);\r\n\r\n const modified = !isEqual(modifiedData, data) || periodType !== toFullPeriodType(data);\r\n\r\n if (data !== prevData) {\r\n setPrevData(data);\r\n setPeriodType(toFullPeriodType(data));\r\n setModifiedData({...data});\r\n }\r\n\r\n return (\r\n <Space style={{width: \"100%\", padding: `${token.paddingXXS}px`, overflowY: \"auto\"}} direction={\"vertical\"}>\r\n <Card title={i18n(\"Period Type\") + \":\"}>\r\n <Radio.Group\r\n value={periodType}\r\n style={{display: 'flex', flexDirection: 'column', gap: '4px'}}\r\n onChange={(e) => {\r\n const period = e.target.value as FullPeriodType;\r\n let from: dayjs.Dayjs;\r\n let to: dayjs.Dayjs;\r\n\r\n switch (period) {\r\n case FullPeriodType.Base:\r\n case FullPeriodType.Interval:\r\n from = dayjs().startOf('year');\r\n to = dayjs().endOf('year').millisecond(0);\r\n break;\r\n case FullPeriodType.Day:\r\n from = dayjs().year(2000).startOf('year');\r\n to = dayjs().year(2000).startOf('year').endOf('day').millisecond(0);\r\n break;\r\n case FullPeriodType.Week:\r\n from = dayjs().year(2002).startOf('year');\r\n to = dayjs().year(2002).startOf('year').second(6);\r\n break;\r\n case FullPeriodType.YearQuarter:\r\n from = dayjs().year(1972).startOf('year');\r\n to = dayjs().year(1972).startOf('year').month(9);\r\n break;\r\n case FullPeriodType.YearMonth:\r\n from = dayjs().year(1973).startOf('year');\r\n to = dayjs().year(1973).startOf('year').month(11);\r\n break;\r\n case FullPeriodType.YearWeek:\r\n from = dayjs().year(1974).startOf('year').second(1);\r\n to = dayjs().year(1974).startOf('year').second(52);\r\n break;\r\n case FullPeriodType.YearDay:\r\n from = dayjs().year(1975).startOf('year');\r\n to = dayjs().year(1975).startOf('year').endOf('year').millisecond(0);\r\n break;\r\n }\r\n\r\n setPeriodType(period);\r\n setModifiedData((prev): DescriptiveVector => ({...prev, periodType: toEdaPeriodType(period), timeFrom: from, timeTo: to}));\r\n }}\r\n >\r\n <Radio value={FullPeriodType.Base}>{i18n(\"Basic (value in every moment)\")}</Radio>\r\n <Divider style={{margin: 0}}/>\r\n <Radio value={FullPeriodType.Interval}>{i18n(\"Interval\")}</Radio>\r\n <Divider style={{margin: 0}}/>\r\n <Radio value={FullPeriodType.YearQuarter}>{i18n(\"Quarter of the year (I., II., III, IV.)\")}</Radio>\r\n <Radio value={FullPeriodType.YearMonth}>{i18n(\"Month of the year (January - December)\")}</Radio>\r\n <Radio value={FullPeriodType.YearWeek}>{i18n(\"Week of the year (1. - 52.)\")}</Radio>\r\n <Radio value={FullPeriodType.YearDay}>{i18n(\"Date in year (1.1. - 31.12.)\")}</Radio>\r\n <Divider style={{margin: 0}}/>\r\n <Radio value={FullPeriodType.Week}>{i18n(\"Day in week (Monday - Sunday)\")}</Radio>\r\n <Divider style={{margin: 0}}/>\r\n <Radio value={FullPeriodType.Day}>{i18n(\"Time during the day (00:00 - 23:59)\")}</Radio>\r\n </Radio.Group>\r\n </Card>\r\n {periodType !== FullPeriodType.Base && (\r\n <Card>\r\n <Row gutter={[8, 8]}>\r\n <Col span={8}>\r\n {getIntervalDescription(periodType)}:\r\n </Col>\r\n <Col span={16}>\r\n <Row gutter={[8, 8]}>\r\n <Col span={6}>{i18n(\"From\")}:</Col>\r\n <Col span={18}>\r\n <IntervalInput\r\n value={modifiedData.timeFrom}\r\n fullMask={fullMask}\r\n dateMask={dateMask}\r\n periodType={periodType}\r\n onChange={(value) => {\r\n setModifiedData((prev): DescriptiveVector => ({...prev, timeFrom: value}))\r\n }}\r\n />\r\n </Col>\r\n\r\n <Col span={6}>{i18n(\"To\")}:</Col>\r\n <Col span={18}>\r\n <IntervalInput\r\n value={modifiedData.timeTo}\r\n fullMask={fullMask}\r\n dateMask={dateMask}\r\n periodType={periodType}\r\n onChange={(value) => {\r\n setModifiedData((prev): DescriptiveVector => ({...prev, timeTo: value}))\r\n }}\r\n />\r\n </Col>\r\n </Row>\r\n </Col>\r\n </Row>\r\n </Card>\r\n )}\r\n <Card>\r\n <Row gutter={[8, 8]}>\r\n <Col span={8}>{i18n(\"Operation Type\")}:</Col>\r\n <Col span={16}>\r\n <EnumValuePicker\r\n style={{width: \"100%\"}}\r\n value={modifiedData.valueType}\r\n values={EdaPeriodValueType}\r\n translateValue\r\n translationPrefix={\"EdaPeriodValueType_\"}\r\n onChange={(value) => {\r\n setModifiedData((prev): DescriptiveVector => ({...prev, valueType: value as number}))\r\n }}\r\n />\r\n </Col>\r\n\r\n <Col span={8}>{i18n(\"Value\")}:</Col>\r\n <Col span={16}>\r\n <InputNumber\r\n value={modifiedData.value}\r\n style={{width: \"100%\"}}\r\n onChange={(value) => {\r\n if (value !== null) {\r\n setModifiedData((prev) => ({...prev, value: value}));\r\n }\r\n }}\r\n />\r\n </Col>\r\n\r\n {modifiedData.valueType === EdaPeriodValueType.Interpolation && (\r\n <>\r\n <Col span={8}>{i18n(\"To\")}:</Col>\r\n <Col span={16}>\r\n <InputNumber\r\n value={modifiedData.value2}\r\n style={{width: \"100%\"}}\r\n onChange={(value) => {\r\n if (value !== null) {\r\n setModifiedData((prev) => ({...prev, value2: value}));\r\n }\r\n }}\r\n />\r\n </Col>\r\n </>\r\n )}\r\n </Row>\r\n </Card>\r\n <Card>\r\n <Row gutter={[8, 8]}>\r\n <Col span={12}>\r\n <Checkbox\r\n checked={modifiedData.valid}\r\n onChange={(e) => {\r\n setModifiedData((prev): DescriptiveVector => ({...prev, valid: e.target.checked}));\r\n }}\r\n >\r\n {i18n(\"Valid entry\")}\r\n </Checkbox>\r\n </Col>\r\n <Col span={12}>{i18n(\"Supplement number\")}: {modifiedData.supplement}</Col>\r\n </Row>\r\n </Card>\r\n <div style={{display: \"flex\", justifyContent: \"flex-end\"}}>\r\n <Button\r\n type={\"primary\"}\r\n disabled={!modified}\r\n onClick={() => onChange(modifiedData)}\r\n >\r\n {i18n(\"Change\")}\r\n </Button>\r\n </div>\r\n </Space>\r\n );\r\n}\r\n\r\nfunction getIntervalDescription(periodType: FullPeriodType) {\r\n switch (periodType) {\r\n case FullPeriodType.Base:\r\n return \"\";\r\n case FullPeriodType.Interval:\r\n case FullPeriodType.YearQuarter:\r\n case FullPeriodType.YearMonth:\r\n case FullPeriodType.YearWeek:\r\n return i18n(\"Annual period\");\r\n case FullPeriodType.Day:\r\n return i18n(\"Interval\");\r\n case FullPeriodType.Week:\r\n return i18n(\"Daily\");\r\n case FullPeriodType.YearDay:\r\n return i18n(\"On the days\");\r\n }\r\n}\r\n\r\nfunction toEdaPeriodType(period: FullPeriodType): EdaPeriodType {\r\n switch (period) {\r\n case FullPeriodType.Base:\r\n return EdaPeriodType.Base;\r\n case FullPeriodType.Interval:\r\n return EdaPeriodType.Interval;\r\n case FullPeriodType.Day:\r\n return EdaPeriodType.Day;\r\n case FullPeriodType.Week:\r\n return EdaPeriodType.Week;\r\n case FullPeriodType.YearDay:\r\n case FullPeriodType.YearMonth:\r\n case FullPeriodType.YearQuarter:\r\n case FullPeriodType.YearWeek:\r\n return EdaPeriodType.Year;\r\n }\r\n}"]}
@@ -6,7 +6,6 @@ interface Props {
6
6
  displayData: Record<number, {
7
7
  data: VectorValuesData;
8
8
  }>;
9
- isLoading: boolean;
10
9
  params: {
11
10
  bt: dayjs.Dayjs;
12
11
  et: dayjs.Dayjs;
@@ -1,7 +1,6 @@
1
1
  import React, { useCallback, useMemo, useState } from "react";
2
2
  import { Card, Space } from "antd";
3
3
  import { createStyles } from "antd-style";
4
- import { EdaLoadingOverlay } from "../../components/edaLoadingOverlay";
5
4
  import { EdaSampleRangePickerPanel } from "../../components/edaSampleRangePickerPanel";
6
5
  import { EdaChartViewer } from "../../components/edaChartViewer";
7
6
  import { getOrigModifiedVectors } from "./utils";
@@ -41,11 +40,11 @@ const useStyles = createStyles(({ css, token }) => {
41
40
  `,
42
41
  };
43
42
  });
44
- export const GraphPanel = ({ displayData, isLoading, params, onParamsChange }) => {
43
+ export const GraphPanel = ({ displayData, params, onParamsChange }) => {
45
44
  const { styles } = useStyles();
46
45
  const vectors = useMemo(() => getOrigModifiedVectors(), []);
47
46
  const [visibleVectors, setVisibleVectors] = useState(new Set([0, 1]));
48
- const handleRangeChange = useCallback((bt, et, sampling) => onParamsChange({ bt, et, sampling }), []);
47
+ const handleRangeChange = useCallback((bt, et, sampling) => onParamsChange({ bt, et, sampling }), [onParamsChange]);
49
48
  const handleToggleVisibility = useCallback((id, visible) => {
50
49
  setVisibleVectors((prev) => {
51
50
  const next = new Set(prev);
@@ -67,9 +66,8 @@ export const GraphPanel = ({ displayData, isLoading, params, onParamsChange }) =
67
66
  }
68
67
  }, []);
69
68
  return (React.createElement(Card, { className: styles.baseLayout },
70
- isLoading && React.createElement(EdaLoadingOverlay, null),
71
69
  React.createElement(Space, { direction: "vertical", style: { width: "100%", height: "100%" } },
72
- React.createElement(EdaSampleRangePickerPanel, { bt: params.bt, et: params.et, sampling: params.sampling, totalCount: 1, pageSize: 1, loading: isLoading, page: 1, onChangeRange: handleRangeChange, onChangePage: () => { }, onChangeVectors: () => { } }),
70
+ React.createElement(EdaSampleRangePickerPanel, { bt: params.bt, et: params.et, sampling: params.sampling, totalCount: 1, pageSize: 1, page: 1, onChangeRange: handleRangeChange, onChangePage: () => { }, onChangeVectors: () => { } }),
73
71
  React.createElement(EdaChartViewer, { vectors: vectors, data: displayData, visibleVectors: visibleVectors, isDataInitialized: true, onToggleVisibility: handleToggleVisibility, onToggleAllVisibility: handleToggleAllVisibility }))));
74
72
  };
75
73
  //# sourceMappingURL=graphPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphPanel.js","sourceRoot":"","sources":["../../../../../../../coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useMemo, useState} from \"react\";\r\nimport {Card, Space} from \"antd\";\r\nimport {createStyles} from \"antd-style\";\r\nimport {EdaLoadingOverlay} from \"../../components/edaLoadingOverlay\";\r\nimport {EdaSampleRangePickerPanel} from \"../../components/edaSampleRangePickerPanel\";\r\nimport {EdaSamplingType} from \"../../constants/edaTypes\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {VectorValuesData} from \"../../../../../api/eda/edaManagerApi\";\r\nimport {EdaChartViewer} from \"../../components/edaChartViewer\";\r\nimport {getOrigModifiedVectors} from \"./utils\";\r\n\r\nconst useStyles = createStyles(({css, token}) => {\r\n return {\r\n baseLayout: css`\r\n display: flex;\r\n height: 100%;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n\r\n > .ant-card-body {\r\n height: 100%;\r\n padding: ${token.paddingXS}px;\r\n\r\n > div {\r\n height: 100%;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n }\r\n }\r\n\r\n .eda-detail-no-data {\r\n padding: ${token.padding}px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center !important;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .ant-space-item:last-child {\r\n height: 100%;\r\n }\r\n `,\r\n }\r\n});\r\n\r\ninterface Props {\r\n displayData: Record<number, {data: VectorValuesData}>;\r\n isLoading: boolean;\r\n params: { bt: dayjs.Dayjs; et: dayjs.Dayjs; sampling: EdaSamplingType };\r\n onParamsChange: (params: { bt: dayjs.Dayjs; et: dayjs.Dayjs; sampling: EdaSamplingType }) => void;\r\n}\r\n\r\nexport const GraphPanel: FC<Props> = ({displayData, isLoading, params, onParamsChange}) => {\r\n const {styles} = useStyles();\r\n\r\n const vectors = useMemo(() => getOrigModifiedVectors(), []);\r\n const [visibleVectors, setVisibleVectors] = useState<Set<number>>(new Set([0, 1]));\r\n\r\n const handleRangeChange = useCallback((bt: dayjs.Dayjs, et: dayjs.Dayjs, sampling: EdaSamplingType) => onParamsChange({bt, et, sampling}), []);\r\n\r\n const handleToggleVisibility = useCallback((id: number, visible: boolean) => {\r\n setVisibleVectors((prev) => {\r\n const next = new Set(prev);\r\n\r\n if (visible) {\r\n next.add(id);\r\n } else {\r\n next.delete(id);\r\n }\r\n\r\n return next;\r\n });\r\n }, []);\r\n\r\n const handleToggleAllVisibility = useCallback((visible: boolean) => {\r\n if (visible) {\r\n setVisibleVectors(new Set([0, 1]));\r\n } else {\r\n setVisibleVectors(new Set());\r\n }\r\n }, []);\r\n\r\n return (\r\n <Card className={styles.baseLayout}>\r\n {isLoading && <EdaLoadingOverlay/>}\r\n <Space direction=\"vertical\" style={{width: \"100%\", height: \"100%\"}}>\r\n <EdaSampleRangePickerPanel\r\n bt={params.bt}\r\n et={params.et}\r\n sampling={params.sampling}\r\n totalCount={1}\r\n pageSize={1}\r\n loading={isLoading}\r\n page={1}\r\n onChangeRange={handleRangeChange}\r\n onChangePage={() => {}}\r\n onChangeVectors={() => {}}\r\n />\r\n <EdaChartViewer\r\n vectors={vectors}\r\n data={displayData}\r\n visibleVectors={visibleVectors}\r\n isDataInitialized\r\n onToggleVisibility={handleToggleVisibility}\r\n onToggleAllVisibility={handleToggleAllVisibility}\r\n />\r\n </Space>\r\n </Card>\r\n );\r\n}"]}
1
+ {"version":3,"file":"graphPanel.js","sourceRoot":"","sources":["../../../../../../../coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC, useCallback, useMemo, useState} from \"react\";\r\nimport {Card, Space} from \"antd\";\r\nimport {createStyles} from \"antd-style\";\r\nimport {EdaSampleRangePickerPanel} from \"../../components/edaSampleRangePickerPanel\";\r\nimport {EdaSamplingType} from \"../../constants/edaTypes\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {VectorValuesData} from \"../../../../../api/eda/edaManagerApi\";\r\nimport {EdaChartViewer} from \"../../components/edaChartViewer\";\r\nimport {getOrigModifiedVectors} from \"./utils\";\r\n\r\nconst useStyles = createStyles(({css, token}) => {\r\n return {\r\n baseLayout: css`\r\n display: flex;\r\n height: 100%;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n border-top-left-radius: 0;\r\n border-top-right-radius: 0;\r\n\r\n > .ant-card-body {\r\n height: 100%;\r\n padding: ${token.paddingXS}px;\r\n\r\n > div {\r\n height: 100%;\r\n overflow-x: hidden;\r\n overflow-y: auto;\r\n }\r\n }\r\n\r\n .eda-detail-no-data {\r\n padding: ${token.padding}px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center !important;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n .ant-space-item:last-child {\r\n height: 100%;\r\n }\r\n `,\r\n }\r\n});\r\n\r\ninterface Props {\r\n displayData: Record<number, {data: VectorValuesData}>;\r\n params: { bt: dayjs.Dayjs; et: dayjs.Dayjs; sampling: EdaSamplingType };\r\n onParamsChange: (params: { bt: dayjs.Dayjs; et: dayjs.Dayjs; sampling: EdaSamplingType }) => void;\r\n}\r\n\r\nexport const GraphPanel: FC<Props> = ({displayData, params, onParamsChange}) => {\r\n const {styles} = useStyles();\r\n\r\n const vectors = useMemo(() => getOrigModifiedVectors(), []);\r\n const [visibleVectors, setVisibleVectors] = useState<Set<number>>(new Set([0, 1]));\r\n\r\n const handleRangeChange = useCallback((bt: dayjs.Dayjs, et: dayjs.Dayjs, sampling: EdaSamplingType) => onParamsChange({bt, et, sampling}), [onParamsChange]);\r\n\r\n const handleToggleVisibility = useCallback((id: number, visible: boolean) => {\r\n setVisibleVectors((prev) => {\r\n const next = new Set(prev);\r\n\r\n if (visible) {\r\n next.add(id);\r\n } else {\r\n next.delete(id);\r\n }\r\n\r\n return next;\r\n });\r\n }, []);\r\n\r\n const handleToggleAllVisibility = useCallback((visible: boolean) => {\r\n if (visible) {\r\n setVisibleVectors(new Set([0, 1]));\r\n } else {\r\n setVisibleVectors(new Set());\r\n }\r\n }, []);\r\n\r\n return (\r\n <Card className={styles.baseLayout}>\r\n <Space direction=\"vertical\" style={{width: \"100%\", height: \"100%\"}}>\r\n <EdaSampleRangePickerPanel\r\n bt={params.bt}\r\n et={params.et}\r\n sampling={params.sampling}\r\n totalCount={1}\r\n pageSize={1}\r\n page={1}\r\n onChangeRange={handleRangeChange}\r\n onChangePage={() => {}}\r\n onChangeVectors={() => {}}\r\n />\r\n <EdaChartViewer\r\n vectors={vectors}\r\n data={displayData}\r\n visibleVectors={visibleVectors}\r\n isDataInitialized\r\n onToggleVisibility={handleToggleVisibility}\r\n onToggleAllVisibility={handleToggleAllVisibility}\r\n />\r\n </Space>\r\n </Card>\r\n );\r\n}"]}
@@ -6,7 +6,6 @@ interface Props {
6
6
  displayData: Record<number, {
7
7
  data: VectorValuesData;
8
8
  }>;
9
- isLoading: boolean;
10
9
  params: {
11
10
  bt: dayjs.Dayjs;
12
11
  et: dayjs.Dayjs;
@@ -1,7 +1,6 @@
1
1
  import React, { useCallback, useMemo } from "react";
2
2
  import { createStyles } from "antd-style";
3
3
  import { Card, Empty, Space, theme } from "antd";
4
- import { EdaLoadingOverlay } from "../../components/edaLoadingOverlay";
5
4
  import { EdaSampleRangePickerPanel } from "../../components/edaSampleRangePickerPanel";
6
5
  import i18n from "d2core/i18n/i18n";
7
6
  import ExtendedDataGrid from "d2coreui/components/grid/extendedDataGrid";
@@ -44,7 +43,7 @@ const useStyles = createStyles(({ css, token }) => {
44
43
  `,
45
44
  };
46
45
  });
47
- export const TablePanel = ({ displayData, isLoading, params, onParamsChange }) => {
46
+ export const TablePanel = ({ displayData, params, onParamsChange }) => {
48
47
  const { token } = theme.useToken();
49
48
  const { styles } = useStyles();
50
49
  const { table } = useEdaConfig();
@@ -57,7 +56,7 @@ export const TablePanel = ({ displayData, isLoading, params, onParamsChange }) =
57
56
  }
58
57
  return undefined;
59
58
  }, [token.colorFillAlter]);
60
- const handleRangeChange = useCallback((bt, et, sampling) => onParamsChange({ bt, et, sampling }), []);
59
+ const handleRangeChange = useCallback((bt, et, sampling) => onParamsChange({ bt, et, sampling }), [onParamsChange]);
61
60
  const tableData = useMemo(() => {
62
61
  const ids = Object.keys(displayData).map(Number);
63
62
  const rowByTime = new Map();
@@ -103,11 +102,10 @@ export const TablePanel = ({ displayData, isLoading, params, onParamsChange }) =
103
102
  }))
104
103
  ];
105
104
  return table?.detailTable?.modifyColumns ? table.detailTable.modifyColumns(columns) : columns;
106
- }, [vectors, table?.detailTable?.modifyColumns]);
105
+ }, [vectors, table]);
107
106
  return (React.createElement(Card, { className: styles.baseLayout },
108
- isLoading && React.createElement(EdaLoadingOverlay, null),
109
107
  React.createElement(Space, { direction: "vertical", style: { width: "100%", height: "100%" } },
110
- React.createElement(EdaSampleRangePickerPanel, { bt: params.bt, et: params.et, sampling: params.sampling, totalCount: 1, pageSize: 1, loading: isLoading, page: 1, onChangeRange: handleRangeChange, onChangePage: () => { }, onChangeVectors: () => { } }),
108
+ React.createElement(EdaSampleRangePickerPanel, { bt: params.bt, et: params.et, sampling: params.sampling, totalCount: 1, pageSize: 1, page: 1, onChangeRange: handleRangeChange, onChangePage: () => { }, onChangeVectors: () => { } }),
111
109
  React.createElement("div", { style: { height: '100%' } },
112
110
  React.createElement(ExtendedDataGrid, { columnDefs: columnDefs, onLoadData: handleLoadData, defaultGridConfiguration: {
113
111
  pageSize: -1,