d2aura 26.0.14 → 26.0.15

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 (112) hide show
  1. package/api/eda/edaManagerApi.d.ts +7 -3
  2. package/api/eda/edaManagerApi.js +28 -2
  3. package/api/eda/edaManagerApi.js.map +1 -1
  4. package/api/eda/generated/events.d.ts +93 -62
  5. package/api/eda/generated/events.js +146 -88
  6. package/api/eda/generated/events.js.map +1 -1
  7. package/api/eda/generated/structures.d.ts +99 -86
  8. package/api/eda/generated/structures.js.map +1 -1
  9. package/core/i18n/d2aura.en.json +14 -0
  10. package/core/i18n/d2aura.sk.json +62 -0
  11. package/coreui/components/edaManagerComponent/components/edaChartViewer.js +23 -19
  12. package/coreui/components/edaManagerComponent/components/edaChartViewer.js.map +1 -1
  13. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js +1 -1
  14. package/coreui/components/edaManagerComponent/components/edaDataBasePanel.js.map +1 -1
  15. package/coreui/components/edaManagerComponent/components/edaGraphPanel.js +15 -18
  16. package/coreui/components/edaManagerComponent/components/edaGraphPanel.js.map +1 -1
  17. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.d.ts +11 -3
  18. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js +31 -24
  19. package/coreui/components/edaManagerComponent/components/edaSampleRangePickerPanel.js.map +1 -1
  20. package/coreui/components/edaManagerComponent/components/edaTablePanel.js +116 -95
  21. package/coreui/components/edaManagerComponent/components/edaTablePanel.js.map +1 -1
  22. package/coreui/components/edaManagerComponent/components/edaTreeView.d.ts +5 -0
  23. package/coreui/components/edaManagerComponent/components/edaTreeView.js +189 -60
  24. package/coreui/components/edaManagerComponent/components/edaTreeView.js.map +1 -1
  25. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js +1 -1
  26. package/coreui/components/edaManagerComponent/components/edaVectorDetailPanel.js.map +1 -1
  27. package/coreui/components/edaManagerComponent/constants/actionTypes.d.ts +5 -0
  28. package/coreui/components/edaManagerComponent/constants/actionTypes.js +7 -0
  29. package/coreui/components/edaManagerComponent/constants/actionTypes.js.map +1 -0
  30. package/coreui/components/edaManagerComponent/constants/edaTypes.d.ts +13 -0
  31. package/coreui/components/edaManagerComponent/constants/edaTypes.js +15 -0
  32. package/coreui/components/edaManagerComponent/constants/edaTypes.js.map +1 -1
  33. package/coreui/components/edaManagerComponent/context/edaVectorDataContext.d.ts +1 -0
  34. package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js +8 -1
  35. package/coreui/components/edaManagerComponent/context/edaVectorDataContext.js.map +1 -1
  36. package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js +31 -38
  37. package/coreui/components/edaManagerComponent/context/edaVectorDataProvider.js.map +1 -1
  38. package/coreui/components/edaManagerComponent/context/sharedSampleRangeContext.d.ts +6 -1
  39. package/coreui/components/edaManagerComponent/context/sharedSampleRangeContext.js +8 -1
  40. package/coreui/components/edaManagerComponent/context/sharedSampleRangeContext.js.map +1 -1
  41. package/coreui/components/edaManagerComponent/context/useEdaActions.d.ts +5 -3
  42. package/coreui/components/edaManagerComponent/context/useEdaActions.js +21 -7
  43. package/coreui/components/edaManagerComponent/context/useEdaActions.js.map +1 -1
  44. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/controlButtons.d.ts +13 -0
  45. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/controlButtons.js +19 -0
  46. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/controlButtons.js.map +1 -0
  47. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/descriptiveVectorDetailPanel.d.ts +8 -0
  48. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/descriptiveVectorDetailPanel.js +171 -0
  49. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/descriptiveVectorDetailPanel.js.map +1 -0
  50. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.d.ts +22 -0
  51. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.js +75 -0
  52. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/graphPanel.js.map +1 -0
  53. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/intervalInput.d.ts +12 -0
  54. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/intervalInput.js +52 -0
  55. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/intervalInput.js.map +1 -0
  56. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/tablePanel.d.ts +22 -0
  57. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/tablePanel.js +130 -0
  58. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/tablePanel.js.map +1 -0
  59. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/types.d.ts +58 -0
  60. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/types.js +51 -0
  61. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/types.js.map +1 -0
  62. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/useSharedData.d.ts +18 -0
  63. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/useSharedData.js +74 -0
  64. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/useSharedData.js.map +1 -0
  65. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/utils.d.ts +38 -0
  66. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/utils.js +299 -0
  67. package/coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/utils.js.map +1 -0
  68. package/coreui/components/edaManagerComponent/dialogs/edaDescriptiveVectorEditorDialog.d.ts +10 -0
  69. package/coreui/components/edaManagerComponent/dialogs/edaDescriptiveVectorEditorDialog.js +343 -0
  70. package/coreui/components/edaManagerComponent/dialogs/edaDescriptiveVectorEditorDialog.js.map +1 -0
  71. package/coreui/components/edaManagerComponent/{components → dialogs}/edaTableEditorDialog.js +1 -1
  72. package/coreui/components/edaManagerComponent/dialogs/edaTableEditorDialog.js.map +1 -0
  73. package/coreui/components/edaManagerComponent/{components → dialogs}/exportDialog.d.ts +2 -2
  74. package/coreui/components/edaManagerComponent/{components → dialogs}/exportDialog.js +7 -8
  75. package/coreui/components/edaManagerComponent/dialogs/exportDialog.js.map +1 -0
  76. package/coreui/components/edaManagerComponent/dialogs/groupVectorSelection.d.ts +12 -0
  77. package/coreui/components/edaManagerComponent/dialogs/groupVectorSelection.js +74 -0
  78. package/coreui/components/edaManagerComponent/dialogs/groupVectorSelection.js.map +1 -0
  79. package/coreui/components/edaManagerComponent/dialogs/insertVectorDialog.d.ts +16 -0
  80. package/coreui/components/edaManagerComponent/dialogs/insertVectorDialog.js +32 -0
  81. package/coreui/components/edaManagerComponent/dialogs/insertVectorDialog.js.map +1 -0
  82. package/coreui/components/edaManagerComponent/edaDetail.js +21 -7
  83. package/coreui/components/edaManagerComponent/edaDetail.js.map +1 -1
  84. package/coreui/components/edaManagerComponent/edaNavigator.d.ts +2 -0
  85. package/coreui/components/edaManagerComponent/edaNavigator.js +4 -4
  86. package/coreui/components/edaManagerComponent/edaNavigator.js.map +1 -1
  87. package/coreui/components/edaManagerComponent/edaSelect.d.ts +2 -0
  88. package/coreui/components/edaManagerComponent/edaSelect.js +13 -13
  89. package/coreui/components/edaManagerComponent/edaSelect.js.map +1 -1
  90. package/coreui/components/edaManagerComponent/icons/folderRemoveOutlined.d.ts +6 -0
  91. package/coreui/components/edaManagerComponent/icons/folderRemoveOutlined.js +7 -0
  92. package/coreui/components/edaManagerComponent/icons/folderRemoveOutlined.js.map +1 -0
  93. package/coreui/components/edaManagerComponent/utils/export.d.ts +1 -1
  94. package/coreui/components/edaManagerComponent/utils/export.js +20 -23
  95. package/coreui/components/edaManagerComponent/utils/export.js.map +1 -1
  96. package/d2configuration/edaManager/{DB.EM_EDA_DescriptiveVector.xml → DB.EM_EDA_VectorScenario.xml} +10 -10
  97. package/d2configuration/edaManager/E.EM_DETAIL_IMPL.xml +4 -4
  98. package/d2configuration/edaManager/E.EM_DETAIL_UNIT.xml +35 -15
  99. package/d2configuration/edaManager/E.EM_NAVIGATOR_IMPL.xml +13 -5
  100. package/d2configuration/edaManager/E.EM_NAVIGATOR_SQL.xml +12 -1
  101. package/d2configuration/edaManager/E.EM_NAVIGATOR_UNIT.xml +113 -5
  102. package/d2configuration/edaManager/E.EM_VECTOR_IMPL.xml +11 -1
  103. package/d2configuration/edaManager/E.EM_VECTOR_UNIT.xml +25 -1
  104. package/d2configuration/edaManager/{SD.EM_EDA_StatVectorRec_V1.xml → SD.EM_EDA_VectorScenario.xml} +13 -36
  105. package/package.json +2 -2
  106. package/coreui/components/edaManagerComponent/components/edaTableEditorDialog.js.map +0 -1
  107. package/coreui/components/edaManagerComponent/components/exportDialog.js.map +0 -1
  108. package/d2configuration/edaManager/SD.EM_EDA_DescriptiveVector.xml +0 -179
  109. package/d2configuration/edaManager/SD.EM_EDA_InsertValuesToVector_V1.xml +0 -227
  110. package/d2configuration/edaManager/SD.EM_EDA_ReadValuesFromVector_V1.xml +0 -178
  111. package/d2configuration/edaManager/SD.EM_EDA_VectorValues.xml +0 -58
  112. /package/coreui/components/edaManagerComponent/{components → dialogs}/edaTableEditorDialog.d.ts +0 -0
@@ -1,21 +1,35 @@
1
1
  import React, { useCallback, useState } from "react";
2
- import { ExportDialog } from "../components/exportDialog";
2
+ import { ExportDialog } from "../dialogs/exportDialog";
3
+ import { InsertTo, InsertVectorDialog } from "../dialogs/insertVectorDialog";
3
4
  export const useEdaActions = (api) => {
4
5
  const [exportTarget, setExportTarget] = useState();
6
+ const [includeTarget, setIncludeTarget] = useState();
5
7
  const [exportOpen, setExportOpen] = useState(false);
6
- const triggerExport = useCallback((data) => {
8
+ const [includeToScenarioOpen, setIncludeToScenarioOpen] = useState(false);
9
+ const [includeToGroupOpen, setIncludeToGroupOpen] = useState(false);
10
+ const triggerExportToXML = useCallback((data) => {
7
11
  setExportTarget({ data });
8
12
  setExportOpen(true);
9
13
  }, []);
14
+ const triggerIncludeToScenario = useCallback((data) => {
15
+ setIncludeTarget({ data });
16
+ setIncludeToScenarioOpen(true);
17
+ }, []);
18
+ const triggerIncludeToGroup = useCallback((data) => {
19
+ setIncludeTarget({ data });
20
+ setIncludeToGroupOpen(true);
21
+ }, []);
10
22
  const renderActionDialogs = () => {
11
- if (!exportTarget) {
12
- return null;
13
- }
14
23
  return (React.createElement(React.Fragment, null,
15
- React.createElement(ExportDialog, { api: api, open: exportOpen, data: exportTarget.data, onCancel: () => setExportOpen(false), onOk: () => setExportOpen(false) })));
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) })))));
16
28
  };
17
29
  return {
18
- triggerExport,
30
+ triggerExportToXML,
31
+ triggerIncludeToScenario,
32
+ triggerIncludeToGroup,
19
33
  renderActionDialogs,
20
34
  };
21
35
  };
@@ -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,4BAA4B,CAAC;AAMxD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAkB,EAAE,EAAE;IAChD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,EAAgB,CAAC;IACjE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,IAAe,EAAE,EAAE;QAClD,eAAe,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QACxB,aAAa,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,CACH;YACI,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,CACH,CACN,CAAA;IACL,CAAC,CAAA;IAED,OAAO;QACH,aAAa;QACb,mBAAmB;KACtB,CAAA;AACL,CAAC,CAAA","sourcesContent":["import {TypedData} from \"../constants/edaTypes\";\r\nimport EdaManagerApi from \"../../../../api/eda/edaManagerApi\";\r\nimport React, {useCallback, useState} from \"react\";\r\nimport {ExportDialog} from \"../components/exportDialog\";\r\n\r\ninterface ExportTarget {\r\n data: TypedData\r\n}\r\n\r\nexport const useEdaActions = (api: EdaManagerApi) => {\r\n const [exportTarget, setExportTarget] = useState<ExportTarget>();\r\n const [exportOpen, setExportOpen] = useState(false);\r\n\r\n const triggerExport = useCallback((data: TypedData) => {\r\n setExportTarget({data});\r\n setExportOpen(true);\r\n }, []);\r\n\r\n const renderActionDialogs = () => {\r\n if (!exportTarget) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\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 )\r\n }\r\n\r\n return {\r\n triggerExport,\r\n renderActionDialogs,\r\n }\r\n}"]}
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}"]}
@@ -0,0 +1,13 @@
1
+ import { FC } from "react";
2
+ import { DescriptiveVector, TableNode } from "./types";
3
+ interface Props {
4
+ selectedRow?: DescriptiveVector;
5
+ tableData: TableNode[];
6
+ onMove: (direction: "up" | "down") => void;
7
+ addEntry: () => void;
8
+ addSubEntry: () => void;
9
+ removeEntry: () => void;
10
+ removeSubEntries: () => void;
11
+ }
12
+ export declare const ControlButtons: FC<Props>;
13
+ export {};
@@ -0,0 +1,19 @@
1
+ import React from "react";
2
+ import { Button, Flex } from "antd";
3
+ import { canMove } from "./utils";
4
+ import { ArrowDownOutlined, ArrowUpOutlined, FolderAddOutlined, MinusSquareOutlined, PlusSquareOutlined } from "@ant-design/icons";
5
+ import { FolderRemoveOutlined } from "../../icons/folderRemoveOutlined";
6
+ import i18n from "d2core/i18n/i18n";
7
+ export const ControlButtons = ({ selectedRow, tableData, onMove, addEntry, addSubEntry, removeEntry, removeSubEntries }) => {
8
+ return (React.createElement("div", { className: "tree-mover" },
9
+ React.createElement(Flex, { gap: "small", vertical: true },
10
+ React.createElement(Button, { disabled: !selectedRow || !canMove(tableData, selectedRow, "up"), icon: React.createElement(ArrowUpOutlined, null), onClick: () => onMove("up") }),
11
+ React.createElement(Button, { disabled: !selectedRow || !canMove(tableData, selectedRow, "down"), icon: React.createElement(ArrowDownOutlined, null), onClick: () => onMove("down") })),
12
+ React.createElement(Flex, { vertical: true, gap: "middle", justify: "center", style: { flex: 1 } },
13
+ React.createElement(Button, { icon: React.createElement(FolderAddOutlined, null), title: i18n("Add after current entry"), onClick: addEntry }),
14
+ React.createElement(Button, { icon: React.createElement(PlusSquareOutlined, null), disabled: !selectedRow, title: i18n("Add under current entry"), onClick: addSubEntry }),
15
+ React.createElement("div", null),
16
+ React.createElement(Button, { icon: React.createElement(FolderRemoveOutlined, null), disabled: !selectedRow, title: i18n("Remove current entry (with subentries)"), onClick: removeEntry }),
17
+ React.createElement(Button, { icon: React.createElement(MinusSquareOutlined, null), disabled: !selectedRow, title: i18n("Remove subentries from current entry"), onClick: removeSubEntries }))));
18
+ };
19
+ //# sourceMappingURL=controlButtons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controlButtons.js","sourceRoot":"","sources":["../../../../../../../coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/controlButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAW,MAAM,OAAO,CAAC;AAChC,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AACjI,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAC;AAEtE,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAYpC,MAAM,CAAC,MAAM,cAAc,GAAc,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAC,EAAE,EAAE;IAChI,OAAO,CACH,6BAAK,SAAS,EAAE,YAAY;QACxB,oBAAC,IAAI,IACD,GAAG,EAAE,OAAO,EACZ,QAAQ;YAER,oBAAC,MAAM,IACH,QAAQ,EAAE,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,EAChE,IAAI,EAAE,oBAAC,eAAe,OAAE,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAC7B;YACF,oBAAC,MAAM,IACH,QAAQ,EAAE,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,EAClE,IAAI,EAAE,oBAAC,iBAAiB,OAAE,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAC/B,CACC;QACP,oBAAC,IAAI,IACD,QAAQ,QACR,GAAG,EAAE,QAAQ,EACb,OAAO,EAAC,QAAQ,EAChB,KAAK,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC;YAEhB,oBAAC,MAAM,IACH,IAAI,EAAE,oBAAC,iBAAiB,OAAE,EAC1B,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,EACtC,OAAO,EAAE,QAAQ,GACnB;YACF,oBAAC,MAAM,IACH,IAAI,EAAE,oBAAC,kBAAkB,OAAE,EAC3B,QAAQ,EAAE,CAAC,WAAW,EACtB,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,EACtC,OAAO,EAAE,WAAW,GACtB;YACF,gCAAO;YACP,oBAAC,MAAM,IACH,IAAI,EAAE,oBAAC,oBAAoB,OAAE,EAC7B,QAAQ,EAAE,CAAC,WAAW,EACtB,KAAK,EAAE,IAAI,CAAC,wCAAwC,CAAC,EACrD,OAAO,EAAE,WAAW,GACtB;YACF,oBAAC,MAAM,IACH,IAAI,EAAE,oBAAC,mBAAmB,OAAE,EAC5B,QAAQ,EAAE,CAAC,WAAW,EACtB,KAAK,EAAE,IAAI,CAAC,sCAAsC,CAAC,EACnD,OAAO,EAAE,gBAAgB,GAC3B,CACC,CACL,CACT,CAAC;AACN,CAAC,CAAA","sourcesContent":["import React, {FC} from \"react\";\r\nimport {Button, Flex} from \"antd\";\r\nimport {canMove} from \"./utils\";\r\nimport {ArrowDownOutlined, ArrowUpOutlined, FolderAddOutlined, MinusSquareOutlined, PlusSquareOutlined} from \"@ant-design/icons\";\r\nimport {FolderRemoveOutlined} from \"../../icons/folderRemoveOutlined\";\r\nimport {DescriptiveVector, TableNode} from \"./types\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\n\r\ninterface Props {\r\n selectedRow?: DescriptiveVector\r\n tableData: TableNode[]\r\n onMove: (direction: \"up\" | \"down\") => void\r\n addEntry: () => void\r\n addSubEntry: () => void\r\n removeEntry: () => void\r\n removeSubEntries: () => void\r\n}\r\n\r\nexport const ControlButtons: FC<Props> = ({selectedRow, tableData, onMove, addEntry, addSubEntry, removeEntry, removeSubEntries}) => {\r\n return (\r\n <div className={\"tree-mover\"}>\r\n <Flex\r\n gap={\"small\"}\r\n vertical\r\n >\r\n <Button\r\n disabled={!selectedRow || !canMove(tableData, selectedRow, \"up\")}\r\n icon={<ArrowUpOutlined/>}\r\n onClick={() => onMove(\"up\")}\r\n />\r\n <Button\r\n disabled={!selectedRow || !canMove(tableData, selectedRow, \"down\")}\r\n icon={<ArrowDownOutlined/>}\r\n onClick={() => onMove(\"down\")}\r\n />\r\n </Flex>\r\n <Flex\r\n vertical\r\n gap={\"middle\"}\r\n justify=\"center\"\r\n style={{flex: 1}}\r\n >\r\n <Button\r\n icon={<FolderAddOutlined/>}\r\n title={i18n(\"Add after current entry\")}\r\n onClick={addEntry}\r\n />\r\n <Button\r\n icon={<PlusSquareOutlined/>}\r\n disabled={!selectedRow}\r\n title={i18n(\"Add under current entry\")}\r\n onClick={addSubEntry}\r\n />\r\n <div />\r\n <Button\r\n icon={<FolderRemoveOutlined/>}\r\n disabled={!selectedRow}\r\n title={i18n(\"Remove current entry (with subentries)\")}\r\n onClick={removeEntry}\r\n />\r\n <Button\r\n icon={<MinusSquareOutlined/>}\r\n disabled={!selectedRow}\r\n title={i18n(\"Remove subentries from current entry\")}\r\n onClick={removeSubEntries}\r\n />\r\n </Flex>\r\n </div>\r\n );\r\n}"]}
@@ -0,0 +1,8 @@
1
+ import { FC } from "react";
2
+ import { DescriptiveVector } from "./types";
3
+ interface Props {
4
+ data: DescriptiveVector;
5
+ onChange: (data: DescriptiveVector) => void;
6
+ }
7
+ export declare const DescriptiveVectorDetailPanel: FC<Props>;
8
+ export {};
@@ -0,0 +1,171 @@
1
+ import React, { useEffect, useMemo, useState } from "react";
2
+ import { Button, Card, Checkbox, Col, Divider, InputNumber, Radio, Row, Space, theme } from "antd";
3
+ import i18n from "d2core/i18n/i18n";
4
+ import { EdaPeriodType, EdaPeriodValueType } from "../../constants/edaTypes";
5
+ import { isEqual } from "lodash";
6
+ import { IntervalInput } from "./intervalInput";
7
+ import { LocaleHolder } from "d2core/i18n/localeHolder";
8
+ import { FullPeriodType } from "./types";
9
+ import { toFullPeriodType } from "./utils";
10
+ import EnumValuePicker from "d2coreui/components/picker/enumValuePicker";
11
+ import dayjs from "d2core/dayjs";
12
+ export const DescriptiveVectorDetailPanel = ({ data, onChange }) => {
13
+ const { token } = theme.useToken();
14
+ const [periodType, setPeriodType] = useState(toFullPeriodType(data));
15
+ const [modifiedData, setModifiedData] = useState({ ...data });
16
+ const fullMask = useMemo(() => LocaleHolder.getDateTimeFormat(true, false, false), []);
17
+ const dateMask = useMemo(() => LocaleHolder.getDateFormat(false), []);
18
+ const modified = !isEqual(modifiedData, data) || periodType !== toFullPeriodType(data);
19
+ useEffect(() => {
20
+ setPeriodType(toFullPeriodType(data));
21
+ setModifiedData({ ...data });
22
+ }, [data]);
23
+ return (React.createElement(Space, { style: { width: "100%", padding: `${token.paddingXXS}px`, overflowY: "auto" }, direction: "vertical" },
24
+ React.createElement(Card, { title: i18n("Period Type") + ":" },
25
+ React.createElement(Radio.Group, { value: periodType, style: { display: 'flex', flexDirection: 'column', gap: '4px' }, onChange: (e) => {
26
+ const period = e.target.value;
27
+ let from;
28
+ let to;
29
+ switch (period) {
30
+ case FullPeriodType.Base:
31
+ case FullPeriodType.Interval:
32
+ from = dayjs().startOf('year');
33
+ to = dayjs().endOf('year').millisecond(0);
34
+ break;
35
+ case FullPeriodType.Day:
36
+ from = dayjs().year(2000).startOf('year');
37
+ to = dayjs().year(2000).startOf('year').endOf('day').millisecond(0);
38
+ break;
39
+ case FullPeriodType.Week:
40
+ from = dayjs().year(2002).startOf('year');
41
+ to = dayjs().year(2002).startOf('year').second(6);
42
+ break;
43
+ case FullPeriodType.YearQuarter:
44
+ from = dayjs().year(1972).startOf('year');
45
+ to = dayjs().year(1972).startOf('year').month(9);
46
+ break;
47
+ case FullPeriodType.YearMonth:
48
+ from = dayjs().year(1973).startOf('year');
49
+ to = dayjs().year(1973).startOf('year').month(11);
50
+ break;
51
+ case FullPeriodType.YearWeek:
52
+ from = dayjs().year(1974).startOf('year').second(1);
53
+ to = dayjs().year(1974).startOf('year').second(52);
54
+ break;
55
+ case FullPeriodType.YearDay:
56
+ from = dayjs().year(1975).startOf('year');
57
+ to = dayjs().year(1975).startOf('year').endOf('year').millisecond(0);
58
+ break;
59
+ }
60
+ setPeriodType(period);
61
+ setModifiedData((prev) => ({ ...prev, periodType: toEdaPeriodType(period), timeFrom: from, timeTo: to }));
62
+ } },
63
+ React.createElement(Radio, { value: FullPeriodType.Base }, i18n("Basic (value in every moment)")),
64
+ React.createElement(Divider, { style: { margin: 0 } }),
65
+ React.createElement(Radio, { value: FullPeriodType.Interval }, i18n("Interval")),
66
+ React.createElement(Divider, { style: { margin: 0 } }),
67
+ React.createElement(Radio, { value: FullPeriodType.YearQuarter }, i18n("Quarter of the year (I., II., III, IV.)")),
68
+ React.createElement(Radio, { value: FullPeriodType.YearMonth }, i18n("Month of the year (January - December)")),
69
+ React.createElement(Radio, { value: FullPeriodType.YearWeek }, i18n("Week of the year (1. - 52.)")),
70
+ React.createElement(Radio, { value: FullPeriodType.YearDay }, i18n("Date in year (1.1. - 31.12.)")),
71
+ React.createElement(Divider, { style: { margin: 0 } }),
72
+ React.createElement(Radio, { value: FullPeriodType.Week }, i18n("Day in week (Monday - Sunday)")),
73
+ React.createElement(Divider, { style: { margin: 0 } }),
74
+ React.createElement(Radio, { value: FullPeriodType.Day }, i18n("Time during the day (00:00 - 23:59)")))),
75
+ periodType !== FullPeriodType.Base && (React.createElement(Card, null,
76
+ React.createElement(Row, { gutter: [8, 8] },
77
+ React.createElement(Col, { span: 8 },
78
+ getIntervalDescription(periodType),
79
+ ":"),
80
+ React.createElement(Col, { span: 16 },
81
+ React.createElement(Row, { gutter: [8, 8] },
82
+ React.createElement(Col, { span: 6 },
83
+ i18n("From"),
84
+ ":"),
85
+ React.createElement(Col, { span: 18 },
86
+ React.createElement(IntervalInput, { value: modifiedData.timeFrom, fullMask: fullMask, dateMask: dateMask, periodType: periodType, onChange: (value) => {
87
+ setModifiedData((prev) => ({ ...prev, timeFrom: value }));
88
+ } })),
89
+ React.createElement(Col, { span: 6 },
90
+ i18n("To"),
91
+ ":"),
92
+ React.createElement(Col, { span: 18 },
93
+ React.createElement(IntervalInput, { value: modifiedData.timeTo, fullMask: fullMask, dateMask: dateMask, periodType: periodType, onChange: (value) => {
94
+ setModifiedData((prev) => ({ ...prev, timeTo: value }));
95
+ } }))))))),
96
+ React.createElement(Card, null,
97
+ React.createElement(Row, { gutter: [8, 8] },
98
+ React.createElement(Col, { span: 8 },
99
+ i18n("Operation Type"),
100
+ ":"),
101
+ React.createElement(Col, { span: 16 },
102
+ React.createElement(EnumValuePicker, { style: { width: "100%" }, value: modifiedData.valueType, values: EdaPeriodValueType, translateValue: true, translationPrefix: "EdaPeriodValueType_", onChange: (value) => {
103
+ setModifiedData((prev) => ({ ...prev, valueType: value }));
104
+ } })),
105
+ React.createElement(Col, { span: 8 },
106
+ i18n("Value"),
107
+ ":"),
108
+ React.createElement(Col, { span: 16 },
109
+ React.createElement(InputNumber, { value: modifiedData.value, style: { width: "100%" }, onChange: (value) => {
110
+ if (value !== null) {
111
+ setModifiedData((prev) => ({ ...prev, value: value }));
112
+ }
113
+ } })),
114
+ modifiedData.valueType === EdaPeriodValueType.Interpolation && (React.createElement(React.Fragment, null,
115
+ React.createElement(Col, { span: 8 },
116
+ i18n("To"),
117
+ ":"),
118
+ React.createElement(Col, { span: 16 },
119
+ React.createElement(InputNumber, { value: modifiedData.value2, style: { width: "100%" }, onChange: (value) => {
120
+ if (value !== null) {
121
+ setModifiedData((prev) => ({ ...prev, value2: value }));
122
+ }
123
+ } })))))),
124
+ React.createElement(Card, null,
125
+ React.createElement(Row, { gutter: [8, 8] },
126
+ React.createElement(Col, { span: 12 },
127
+ React.createElement(Checkbox, { checked: modifiedData.valid, onChange: (e) => {
128
+ setModifiedData((prev) => ({ ...prev, valid: e.target.checked }));
129
+ } }, i18n("Valid entry"))),
130
+ React.createElement(Col, { span: 12 },
131
+ i18n("Supplement number"),
132
+ ": ",
133
+ modifiedData.supplement))),
134
+ React.createElement("div", { style: { display: "flex", justifyContent: "flex-end" } },
135
+ React.createElement(Button, { type: "primary", disabled: !modified, onClick: () => onChange(modifiedData) }, i18n("Change")))));
136
+ };
137
+ function getIntervalDescription(periodType) {
138
+ switch (periodType) {
139
+ case FullPeriodType.Base:
140
+ return "";
141
+ case FullPeriodType.Interval:
142
+ case FullPeriodType.YearQuarter:
143
+ case FullPeriodType.YearMonth:
144
+ case FullPeriodType.YearWeek:
145
+ return i18n("Annual period");
146
+ case FullPeriodType.Day:
147
+ return i18n("Interval");
148
+ case FullPeriodType.Week:
149
+ return i18n("Daily");
150
+ case FullPeriodType.YearDay:
151
+ return i18n("On the days");
152
+ }
153
+ }
154
+ function toEdaPeriodType(period) {
155
+ switch (period) {
156
+ case FullPeriodType.Base:
157
+ return EdaPeriodType.Base;
158
+ case FullPeriodType.Interval:
159
+ return EdaPeriodType.Interval;
160
+ case FullPeriodType.Day:
161
+ return EdaPeriodType.Day;
162
+ case FullPeriodType.Week:
163
+ return EdaPeriodType.Week;
164
+ case FullPeriodType.YearDay:
165
+ case FullPeriodType.YearMonth:
166
+ case FullPeriodType.YearQuarter:
167
+ case FullPeriodType.YearWeek:
168
+ return EdaPeriodType.Year;
169
+ }
170
+ }
171
+ //# sourceMappingURL=descriptiveVectorDetailPanel.js.map
@@ -0,0 +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}"]}
@@ -0,0 +1,22 @@
1
+ import { FC } from "react";
2
+ import { EdaSamplingType } from "../../constants/edaTypes";
3
+ import dayjs from "d2core/dayjs";
4
+ import { VectorValuesData } from "../../../../../api/eda/edaManagerApi";
5
+ interface Props {
6
+ displayData: Record<number, {
7
+ data: VectorValuesData;
8
+ }>;
9
+ isLoading: boolean;
10
+ params: {
11
+ bt: dayjs.Dayjs;
12
+ et: dayjs.Dayjs;
13
+ sampling: EdaSamplingType;
14
+ };
15
+ onParamsChange: (params: {
16
+ bt: dayjs.Dayjs;
17
+ et: dayjs.Dayjs;
18
+ sampling: EdaSamplingType;
19
+ }) => void;
20
+ }
21
+ export declare const GraphPanel: FC<Props>;
22
+ export {};
@@ -0,0 +1,75 @@
1
+ import React, { useCallback, useMemo, useState } from "react";
2
+ import { Card, Space } from "antd";
3
+ import { createStyles } from "antd-style";
4
+ import { EdaLoadingOverlay } from "../../components/edaLoadingOverlay";
5
+ import { EdaSampleRangePickerPanel } from "../../components/edaSampleRangePickerPanel";
6
+ import { EdaChartViewer } from "../../components/edaChartViewer";
7
+ import { getOrigModifiedVectors } from "./utils";
8
+ const useStyles = createStyles(({ css, token }) => {
9
+ return {
10
+ baseLayout: css `
11
+ display: flex;
12
+ height: 100%;
13
+ flex-direction: column;
14
+ justify-content: space-between;
15
+ border-top-left-radius: 0;
16
+ border-top-right-radius: 0;
17
+
18
+ > .ant-card-body {
19
+ height: 100%;
20
+ padding: ${token.paddingXS}px;
21
+
22
+ > div {
23
+ height: 100%;
24
+ overflow-x: hidden;
25
+ overflow-y: auto;
26
+ }
27
+ }
28
+
29
+ .eda-detail-no-data {
30
+ padding: ${token.padding}px;
31
+ display: flex;
32
+ align-items: center;
33
+ justify-content: center !important;
34
+ width: 100%;
35
+ height: 100%;
36
+ }
37
+
38
+ .ant-space-item:last-child {
39
+ height: 100%;
40
+ }
41
+ `,
42
+ };
43
+ });
44
+ export const GraphPanel = ({ displayData, isLoading, params, onParamsChange }) => {
45
+ const { styles } = useStyles();
46
+ const vectors = useMemo(() => getOrigModifiedVectors(), []);
47
+ const [visibleVectors, setVisibleVectors] = useState(new Set([0, 1]));
48
+ const handleRangeChange = useCallback((bt, et, sampling) => onParamsChange({ bt, et, sampling }), []);
49
+ const handleToggleVisibility = useCallback((id, visible) => {
50
+ setVisibleVectors((prev) => {
51
+ const next = new Set(prev);
52
+ if (visible) {
53
+ next.add(id);
54
+ }
55
+ else {
56
+ next.delete(id);
57
+ }
58
+ return next;
59
+ });
60
+ }, []);
61
+ const handleToggleAllVisibility = useCallback((visible) => {
62
+ if (visible) {
63
+ setVisibleVectors(new Set([0, 1]));
64
+ }
65
+ else {
66
+ setVisibleVectors(new Set());
67
+ }
68
+ }, []);
69
+ return (React.createElement(Card, { className: styles.baseLayout },
70
+ isLoading && React.createElement(EdaLoadingOverlay, null),
71
+ 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: () => { } }),
73
+ React.createElement(EdaChartViewer, { vectors: vectors, data: displayData, visibleVectors: visibleVectors, isDataInitialized: true, onToggleVisibility: handleToggleVisibility, onToggleAllVisibility: handleToggleAllVisibility }))));
74
+ };
75
+ //# sourceMappingURL=graphPanel.js.map
@@ -0,0 +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}"]}
@@ -0,0 +1,12 @@
1
+ import { FC } from "react";
2
+ import dayjs from "d2core/dayjs";
3
+ import { FullPeriodType } from "./types";
4
+ interface Props {
5
+ value: dayjs.Dayjs;
6
+ fullMask: string;
7
+ dateMask: string;
8
+ periodType: FullPeriodType;
9
+ onChange: (value: dayjs.Dayjs) => void;
10
+ }
11
+ export declare const IntervalInput: FC<Props>;
12
+ export {};
@@ -0,0 +1,52 @@
1
+ import React from "react";
2
+ import { DatePicker, InputNumber, TimePicker } from "antd";
3
+ import DateTimeInput from "d2coreui/components/date/dateTimeInput";
4
+ import EnumValuePicker from "d2coreui/components/picker/enumValuePicker";
5
+ import { DaysInWeek, FullPeriodType, MonthsInYear, QuarterType, YearPeriodType } from "./types";
6
+ export const IntervalInput = ({ value, fullMask, dateMask, periodType, onChange }) => {
7
+ switch (periodType) {
8
+ case FullPeriodType.Day:
9
+ return (React.createElement(TimePicker, { value: value, style: { width: "100%" }, onChange: onChange, allowClear: false, showSecond: false }));
10
+ case FullPeriodType.Interval:
11
+ return (React.createElement(DateTimeInput, { value: value, mask: fullMask, allowClear: false, style: { width: "100%" }, onChange: (t) => {
12
+ if (t !== null) {
13
+ onChange(t);
14
+ }
15
+ } }));
16
+ case FullPeriodType.Week: {
17
+ const v = value.second();
18
+ return (React.createElement(EnumValuePicker, { values: DaysInWeek, translateValue: true, value: v, style: { width: "100%" }, onChange: (val) => {
19
+ onChange(value.second(val));
20
+ } }));
21
+ }
22
+ case FullPeriodType.YearQuarter: {
23
+ const v = Number(value.format("Q"));
24
+ return (React.createElement(EnumValuePicker, { values: QuarterType, translateValue: true, translationPrefix: "QuarterType_", value: v, style: { width: "100%" }, onChange: (val) => {
25
+ const targetQuarter = val;
26
+ const monthOffset = value.month() % 3;
27
+ const targetMonth = ((targetQuarter - 1) * 3) + monthOffset;
28
+ onChange(value.month(targetMonth));
29
+ } }));
30
+ }
31
+ case FullPeriodType.YearMonth: {
32
+ const v = value.month();
33
+ return (React.createElement(EnumValuePicker, { values: MonthsInYear, translateValue: true, value: v, style: { width: "100%" }, onChange: (val) => {
34
+ onChange(value.month(val));
35
+ } }));
36
+ }
37
+ case FullPeriodType.YearWeek: {
38
+ return (React.createElement(InputNumber, { value: value.second(), min: 1, max: 52, style: { width: "100%" }, onChange: (val) => {
39
+ if (val) {
40
+ onChange(value.second(val));
41
+ }
42
+ } }));
43
+ }
44
+ case FullPeriodType.YearDay: {
45
+ return (React.createElement(DatePicker, { format: dateMask, value: value, style: { width: "100%" }, allowClear: false, onChange: (val) => {
46
+ onChange(val.year(YearPeriodType.Day));
47
+ } }));
48
+ }
49
+ }
50
+ return React.createElement(React.Fragment, null);
51
+ };
52
+ //# sourceMappingURL=intervalInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intervalInput.js","sourceRoot":"","sources":["../../../../../../../coreui/components/edaManagerComponent/dialogs/descriptiveVectorDialog/intervalInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {FC} from \"react\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport {DatePicker, InputNumber, TimePicker} from \"antd\";\r\nimport DateTimeInput from \"d2coreui/components/date/dateTimeInput\";\r\nimport EnumValuePicker from \"d2coreui/components/picker/enumValuePicker\";\r\nimport {DaysInWeek, FullPeriodType, MonthsInYear, QuarterType, YearPeriodType} from \"./types\";\r\n\r\ninterface Props {\r\n value: dayjs.Dayjs\r\n fullMask: string\r\n dateMask: string\r\n periodType: FullPeriodType\r\n onChange: (value: dayjs.Dayjs) => void\r\n}\r\n\r\nexport const IntervalInput: FC<Props> = ({value, fullMask, dateMask, periodType, onChange}) => {\r\n switch (periodType) {\r\n case FullPeriodType.Day:\r\n return (\r\n <TimePicker\r\n value={value}\r\n style={{width: \"100%\"}}\r\n onChange={onChange}\r\n allowClear={false}\r\n showSecond={false}\r\n />\r\n );\r\n case FullPeriodType.Interval:\r\n return (\r\n <DateTimeInput\r\n value={value}\r\n mask={fullMask}\r\n allowClear={false}\r\n style={{width: \"100%\"}}\r\n onChange={(t) => {\r\n if (t !== null) {\r\n onChange(t);\r\n }\r\n }}\r\n />\r\n );\r\n case FullPeriodType.Week: {\r\n const v = value.second();\r\n return (\r\n <EnumValuePicker\r\n values={DaysInWeek}\r\n translateValue\r\n value={v}\r\n style={{width: \"100%\"}}\r\n onChange={(val) => {\r\n onChange(value.second(val as number));\r\n }}\r\n />\r\n );\r\n }\r\n case FullPeriodType.YearQuarter: {\r\n const v = Number(value.format(\"Q\"));\r\n return (\r\n <EnumValuePicker\r\n values={QuarterType}\r\n translateValue\r\n translationPrefix={\"QuarterType_\"}\r\n value={v}\r\n style={{width: \"100%\"}}\r\n onChange={(val) => {\r\n const targetQuarter = val as number;\r\n const monthOffset = value.month() % 3;\r\n const targetMonth = ((targetQuarter - 1) * 3) + monthOffset;\r\n\r\n onChange(value.month(targetMonth));\r\n }}\r\n />\r\n )\r\n }\r\n case FullPeriodType.YearMonth: {\r\n const v = value.month();\r\n return (\r\n <EnumValuePicker\r\n values={MonthsInYear}\r\n translateValue\r\n value={v}\r\n style={{width: \"100%\"}}\r\n onChange={(val) => {\r\n onChange(value.month(val as number));\r\n }}\r\n />\r\n );\r\n }\r\n case FullPeriodType.YearWeek: {\r\n return (\r\n <InputNumber\r\n value={value.second()}\r\n min={1}\r\n max={52}\r\n style={{width: \"100%\"}}\r\n onChange={(val) => {\r\n if (val) {\r\n onChange(value.second(val));\r\n }\r\n }}\r\n />\r\n );\r\n }\r\n case FullPeriodType.YearDay: {\r\n return (\r\n <DatePicker\r\n format={dateMask}\r\n value={value}\r\n style={{width: \"100%\"}}\r\n allowClear={false}\r\n onChange={(val) => {\r\n onChange(val.year(YearPeriodType.Day));\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n\r\n return <></>\r\n}"]}
@@ -0,0 +1,22 @@
1
+ import { FC } from "react";
2
+ import { VectorValuesData } from "../../../../../api/eda/edaManagerApi";
3
+ import dayjs from "d2core/dayjs";
4
+ import { EdaSamplingType } from "../../constants/edaTypes";
5
+ interface Props {
6
+ displayData: Record<number, {
7
+ data: VectorValuesData;
8
+ }>;
9
+ isLoading: boolean;
10
+ params: {
11
+ bt: dayjs.Dayjs;
12
+ et: dayjs.Dayjs;
13
+ sampling: EdaSamplingType;
14
+ };
15
+ onParamsChange: (params: {
16
+ bt: dayjs.Dayjs;
17
+ et: dayjs.Dayjs;
18
+ sampling: EdaSamplingType;
19
+ }) => void;
20
+ }
21
+ export declare const TablePanel: FC<Props>;
22
+ export {};