d2aura 23.0.0

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 (274) hide show
  1. package/api/abstractApi.d.ts +21 -0
  2. package/api/abstractApi.js +56 -0
  3. package/api/abstractApi.js.map +1 -0
  4. package/api/abstractEntityApi.d.ts +37 -0
  5. package/api/abstractEntityApi.js +145 -0
  6. package/api/abstractEntityApi.js.map +1 -0
  7. package/api/advancedFilterApi.d.ts +56 -0
  8. package/api/advancedFilterApi.js +108 -0
  9. package/api/advancedFilterApi.js.map +1 -0
  10. package/api/archiveApi.d.ts +14 -0
  11. package/api/archiveApi.js +25 -0
  12. package/api/archiveApi.js.map +1 -0
  13. package/api/comparison/entityComparisonUtils.d.ts +4 -0
  14. package/api/comparison/entityComparisonUtils.js +15 -0
  15. package/api/comparison/entityComparisonUtils.js.map +1 -0
  16. package/api/constants/constants.d.ts +5 -0
  17. package/api/constants/constants.js +6 -0
  18. package/api/constants/constants.js.map +1 -0
  19. package/api/constants/d2ChartConstants.d.ts +5 -0
  20. package/api/constants/d2ChartConstants.js +6 -0
  21. package/api/constants/d2ChartConstants.js.map +1 -0
  22. package/api/edaApi.d.ts +36 -0
  23. package/api/edaApi.js +109 -0
  24. package/api/edaApi.js.map +1 -0
  25. package/api/impl/errorHandling.d.ts +1 -0
  26. package/api/impl/errorHandling.js +72 -0
  27. package/api/impl/errorHandling.js.map +1 -0
  28. package/api/impl/utils/reportError.d.ts +2 -0
  29. package/api/impl/utils/reportError.js +157 -0
  30. package/api/impl/utils/reportError.js.map +1 -0
  31. package/api/impl/utils/reportServiceMessage.d.ts +1 -0
  32. package/api/impl/utils/reportServiceMessage.js +29 -0
  33. package/api/impl/utils/reportServiceMessage.js.map +1 -0
  34. package/api/types/accessRight.d.ts +5 -0
  35. package/api/types/accessRight.js +7 -0
  36. package/api/types/accessRight.js.map +1 -0
  37. package/api/types/advancedFilter.d.ts +22 -0
  38. package/api/types/advancedFilter.js +16 -0
  39. package/api/types/advancedFilter.js.map +1 -0
  40. package/api/types/apiResult.d.ts +5 -0
  41. package/api/types/apiResult.js +2 -0
  42. package/api/types/apiResult.js.map +1 -0
  43. package/api/types/auditableEntity.d.ts +10 -0
  44. package/api/types/auditableEntity.js +2 -0
  45. package/api/types/auditableEntity.js.map +1 -0
  46. package/api/types/d2ArTypes.d.ts +5 -0
  47. package/api/types/d2ArTypes.js +2 -0
  48. package/api/types/d2ArTypes.js.map +1 -0
  49. package/api/types/d2ChartTypes.d.ts +26 -0
  50. package/api/types/d2ChartTypes.js +7 -0
  51. package/api/types/d2ChartTypes.js.map +1 -0
  52. package/api/types/dbBoolean.d.ts +5 -0
  53. package/api/types/dbBoolean.js +15 -0
  54. package/api/types/dbBoolean.js.map +1 -0
  55. package/api/types/entity.d.ts +7 -0
  56. package/api/types/entity.js +2 -0
  57. package/api/types/entity.js.map +1 -0
  58. package/api/types/entityListResult.d.ts +4 -0
  59. package/api/types/entityListResult.js +2 -0
  60. package/api/types/entityListResult.js.map +1 -0
  61. package/api/types/entityResult.d.ts +4 -0
  62. package/api/types/entityResult.js +2 -0
  63. package/api/types/entityResult.js.map +1 -0
  64. package/api/types/nounGender.d.ts +5 -0
  65. package/api/types/nounGender.js +7 -0
  66. package/api/types/nounGender.js.map +1 -0
  67. package/api/util/d2Boolean.d.ts +8 -0
  68. package/api/util/d2Boolean.js +14 -0
  69. package/api/util/d2Boolean.js.map +1 -0
  70. package/api/util/d2ChartUtils.d.ts +7 -0
  71. package/api/util/d2ChartUtils.js +62 -0
  72. package/api/util/d2ChartUtils.js.map +1 -0
  73. package/api/util/edaUtils.d.ts +5 -0
  74. package/api/util/edaUtils.js +33 -0
  75. package/api/util/edaUtils.js.map +1 -0
  76. package/api/util/fileUtils.d.ts +3 -0
  77. package/api/util/fileUtils.js +22 -0
  78. package/api/util/fileUtils.js.map +1 -0
  79. package/api/validation/abstractEntityValidationUtils.d.ts +8 -0
  80. package/api/validation/abstractEntityValidationUtils.js +24 -0
  81. package/api/validation/abstractEntityValidationUtils.js.map +1 -0
  82. package/core/types/panelConfiguration.d.ts +3 -0
  83. package/core/types/panelConfiguration.js +2 -0
  84. package/core/types/panelConfiguration.js.map +1 -0
  85. package/core/util/humanizeDuration.d.ts +1 -0
  86. package/core/util/humanizeDuration.js +24 -0
  87. package/core/util/humanizeDuration.js.map +1 -0
  88. package/core/util/isStringEmpty.d.ts +1 -0
  89. package/core/util/isStringEmpty.js +4 -0
  90. package/core/util/isStringEmpty.js.map +1 -0
  91. package/core/util/locationUtils.d.ts +10 -0
  92. package/core/util/locationUtils.js +34 -0
  93. package/core/util/locationUtils.js.map +1 -0
  94. package/coreui/abstractApp.d.ts +22 -0
  95. package/coreui/abstractApp.js +49 -0
  96. package/coreui/abstractApp.js.map +1 -0
  97. package/coreui/abstractListPanel.d.ts +88 -0
  98. package/coreui/abstractListPanel.js +426 -0
  99. package/coreui/abstractListPanel.js.map +1 -0
  100. package/coreui/abstractPage.d.ts +18 -0
  101. package/coreui/abstractPage.js +104 -0
  102. package/coreui/abstractPage.js.map +1 -0
  103. package/coreui/auth/loginForm.d.ts +27 -0
  104. package/coreui/auth/loginForm.js +47 -0
  105. package/coreui/auth/loginForm.js.map +1 -0
  106. package/coreui/auth/logoutButton.d.ts +9 -0
  107. package/coreui/auth/logoutButton.js +23 -0
  108. package/coreui/auth/logoutButton.js.map +1 -0
  109. package/coreui/components/about/aboutModalDialog.d.ts +30 -0
  110. package/coreui/components/about/aboutModalDialog.js +96 -0
  111. package/coreui/components/about/aboutModalDialog.js.map +1 -0
  112. package/coreui/components/advancedFilter/advancedFilterButton.d.ts +26 -0
  113. package/coreui/components/advancedFilter/advancedFilterButton.js +115 -0
  114. package/coreui/components/advancedFilter/advancedFilterButton.js.map +1 -0
  115. package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.d.ts +18 -0
  116. package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.js +39 -0
  117. package/coreui/components/advancedFilter/advancedFilterColumnDefinitions.js.map +1 -0
  118. package/coreui/components/advancedFilter/advancedFilterUtils.d.ts +12 -0
  119. package/coreui/components/advancedFilter/advancedFilterUtils.js +101 -0
  120. package/coreui/components/advancedFilter/advancedFilterUtils.js.map +1 -0
  121. package/coreui/components/advancedFilter/advancedFilterValidationUtils.d.ts +11 -0
  122. package/coreui/components/advancedFilter/advancedFilterValidationUtils.js +59 -0
  123. package/coreui/components/advancedFilter/advancedFilterValidationUtils.js.map +1 -0
  124. package/coreui/components/advancedFilter/advancedFilteredGrid.d.ts +55 -0
  125. package/coreui/components/advancedFilter/advancedFilteredGrid.js +165 -0
  126. package/coreui/components/advancedFilter/advancedFilteredGrid.js.map +1 -0
  127. package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.d.ts +14 -0
  128. package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.js +35 -0
  129. package/coreui/components/advancedFilter/components/advancedFilterOperatorSelect.js.map +1 -0
  130. package/coreui/components/advancedFilter/components/advancedFilterValueInput.d.ts +23 -0
  131. package/coreui/components/advancedFilter/components/advancedFilterValueInput.js +148 -0
  132. package/coreui/components/advancedFilter/components/advancedFilterValueInput.js.map +1 -0
  133. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.d.ts +18 -0
  134. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.js +82 -0
  135. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionDetailPanel.js.map +1 -0
  136. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.d.ts +23 -0
  137. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.js +58 -0
  138. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListModalDialog.js.map +1 -0
  139. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.d.ts +31 -0
  140. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.js +211 -0
  141. package/coreui/components/advancedFilter/conditionList/advancedFilterConditionListPanel.js.map +1 -0
  142. package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.d.ts +15 -0
  143. package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.js +48 -0
  144. package/coreui/components/advancedFilter/filterList/advancedFilterListModalDialog.js.map +1 -0
  145. package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.d.ts +18 -0
  146. package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.js +37 -0
  147. package/coreui/components/advancedFilter/filterSave/filterSaveModalDialog.js.map +1 -0
  148. package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.d.ts +26 -0
  149. package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.js +81 -0
  150. package/coreui/components/advancedFilter/floatingColumnFilter/advancedFilterFloatingColumnComponent.js.map +1 -0
  151. package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.d.ts +32 -0
  152. package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.js +102 -0
  153. package/coreui/components/assignEntitiesToEntity/abstractEntitiesOnEntityList.js.map +1 -0
  154. package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.d.ts +23 -0
  155. package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.js +83 -0
  156. package/coreui/components/changePasswordModalDialog/changePasswordModalDialog.js.map +1 -0
  157. package/coreui/components/colorTag/colorTag.d.ts +9 -0
  158. package/coreui/components/colorTag/colorTag.js +17 -0
  159. package/coreui/components/colorTag/colorTag.js.map +1 -0
  160. package/coreui/components/d2Chart/d2ChartOptions.d.ts +3 -0
  161. package/coreui/components/d2Chart/d2ChartOptions.js +73 -0
  162. package/coreui/components/d2Chart/d2ChartOptions.js.map +1 -0
  163. package/coreui/components/d2Chart/d2ChartPanel.d.ts +48 -0
  164. package/coreui/components/d2Chart/d2ChartPanel.js +325 -0
  165. package/coreui/components/d2Chart/d2ChartPanel.js.map +1 -0
  166. package/coreui/components/d2Chart/d2ChartTablePanel.d.ts +31 -0
  167. package/coreui/components/d2Chart/d2ChartTablePanel.js +121 -0
  168. package/coreui/components/d2Chart/d2ChartTablePanel.js.map +1 -0
  169. package/coreui/components/d2Chart/d2ChartToolboxPanel.d.ts +27 -0
  170. package/coreui/components/d2Chart/d2ChartToolboxPanel.js +116 -0
  171. package/coreui/components/d2Chart/d2ChartToolboxPanel.js.map +1 -0
  172. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.d.ts +51 -0
  173. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js +169 -0
  174. package/coreui/components/edaManager/abstract/edaManagerAbstractPanel.js.map +1 -0
  175. package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.d.ts +32 -0
  176. package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js +87 -0
  177. package/coreui/components/edaManager/abstract/edaManagerAbstractTablePanel.js.map +1 -0
  178. package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.d.ts +24 -0
  179. package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.js +98 -0
  180. package/coreui/components/edaManager/abstract/edaManagerAbstractVectorList.js.map +1 -0
  181. package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.d.ts +19 -0
  182. package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js +52 -0
  183. package/coreui/components/edaManager/compactPanel/edaManagerCompactPanel.js.map +1 -0
  184. package/coreui/components/edaManager/compactPanel/initialLayout.d.ts +2 -0
  185. package/coreui/components/edaManager/compactPanel/initialLayout.js +26 -0
  186. package/coreui/components/edaManager/compactPanel/initialLayout.js.map +1 -0
  187. package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.d.ts +38 -0
  188. package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js +182 -0
  189. package/coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.js.map +1 -0
  190. package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.d.ts +23 -0
  191. package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.js +122 -0
  192. package/coreui/components/edaManager/components/detail/edaVectorDetailModalDialog.js.map +1 -0
  193. package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.d.ts +16 -0
  194. package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.js +63 -0
  195. package/coreui/components/edaManager/components/detail/edaVectorDetailTablePanel.js.map +1 -0
  196. package/coreui/components/edaManager/components/detail/initialLayout.d.ts +2 -0
  197. package/coreui/components/edaManager/components/detail/initialLayout.js +29 -0
  198. package/coreui/components/edaManager/components/detail/initialLayout.js.map +1 -0
  199. package/coreui/components/edaManager/components/edaManagerTablePanel.d.ts +22 -0
  200. package/coreui/components/edaManager/components/edaManagerTablePanel.js +80 -0
  201. package/coreui/components/edaManager/components/edaManagerTablePanel.js.map +1 -0
  202. package/coreui/components/edaManager/components/edaManagerTimePanel.d.ts +22 -0
  203. package/coreui/components/edaManager/components/edaManagerTimePanel.js +38 -0
  204. package/coreui/components/edaManager/components/edaManagerTimePanel.js.map +1 -0
  205. package/coreui/components/edaManager/components/edaManagerVectorList.d.ts +11 -0
  206. package/coreui/components/edaManager/components/edaManagerVectorList.js +35 -0
  207. package/coreui/components/edaManager/components/edaManagerVectorList.js.map +1 -0
  208. package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.d.ts +0 -0
  209. package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.js +2 -0
  210. package/coreui/components/edaManager/components/edaStepSelect/edaStepConstants.js.map +1 -0
  211. package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.d.ts +13 -0
  212. package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.js +14 -0
  213. package/coreui/components/edaManager/components/edaStepSelect/edaStepSelect.js.map +1 -0
  214. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.d.ts +10 -0
  215. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.js +20 -0
  216. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelect.js.map +1 -0
  217. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.d.ts +13 -0
  218. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.js +22 -0
  219. package/coreui/components/edaManager/components/edaVectorSelect/edaVectorSelectModalDialog.js.map +1 -0
  220. package/coreui/components/edaManager/constants.d.ts +2 -0
  221. package/coreui/components/edaManager/constants.js +11 -0
  222. package/coreui/components/edaManager/constants.js.map +1 -0
  223. package/coreui/components/edaManager/panel/edaManagerPanel.d.ts +13 -0
  224. package/coreui/components/edaManager/panel/edaManagerPanel.js +32 -0
  225. package/coreui/components/edaManager/panel/edaManagerPanel.js.map +1 -0
  226. package/coreui/components/edaManager/panel/initialLayout.d.ts +2 -0
  227. package/coreui/components/edaManager/panel/initialLayout.js +39 -0
  228. package/coreui/components/edaManager/panel/initialLayout.js.map +1 -0
  229. package/coreui/components/editor/abstractEntityConfigPanel.d.ts +82 -0
  230. package/coreui/components/editor/abstractEntityConfigPanel.js +307 -0
  231. package/coreui/components/editor/abstractEntityConfigPanel.js.map +1 -0
  232. package/coreui/components/filePicker/filePicker.d.ts +20 -0
  233. package/coreui/components/filePicker/filePicker.js +57 -0
  234. package/coreui/components/filePicker/filePicker.js.map +1 -0
  235. package/coreui/components/grid/auditEntityRowStyleRules.d.ts +3 -0
  236. package/coreui/components/grid/auditEntityRowStyleRules.js +34 -0
  237. package/coreui/components/grid/auditEntityRowStyleRules.js.map +1 -0
  238. package/coreui/components/grid/detailHeaderPanel.d.ts +13 -0
  239. package/coreui/components/grid/detailHeaderPanel.js +29 -0
  240. package/coreui/components/grid/detailHeaderPanel.js.map +1 -0
  241. package/coreui/components/grid/standardColumns.d.ts +14 -0
  242. package/coreui/components/grid/standardColumns.js +150 -0
  243. package/coreui/components/grid/standardColumns.js.map +1 -0
  244. package/coreui/components/history/entityHistoryListPanel.d.ts +38 -0
  245. package/coreui/components/history/entityHistoryListPanel.js +154 -0
  246. package/coreui/components/history/entityHistoryListPanel.js.map +1 -0
  247. package/coreui/components/languageSelect/languageSelect.d.ts +17 -0
  248. package/coreui/components/languageSelect/languageSelect.js +28 -0
  249. package/coreui/components/languageSelect/languageSelect.js.map +1 -0
  250. package/coreui/components/modalWithIcon/openModalWithIcon.d.ts +8 -0
  251. package/coreui/components/modalWithIcon/openModalWithIcon.js +30 -0
  252. package/coreui/components/modalWithIcon/openModalWithIcon.js.map +1 -0
  253. package/coreui/components/select/abstractSelect.d.ts +57 -0
  254. package/coreui/components/select/abstractSelect.js +233 -0
  255. package/coreui/components/select/abstractSelect.js.map +1 -0
  256. package/coreui/components/select/abstractSelectModalDialog.d.ts +33 -0
  257. package/coreui/components/select/abstractSelectModalDialog.js +110 -0
  258. package/coreui/components/select/abstractSelectModalDialog.js.map +1 -0
  259. package/coreui/components/select/selectUtils.d.ts +4 -0
  260. package/coreui/components/select/selectUtils.js +14 -0
  261. package/coreui/components/select/selectUtils.js.map +1 -0
  262. package/coreui/components/titleWithCodePanel/titleWithCodePanel.d.ts +10 -0
  263. package/coreui/components/titleWithCodePanel/titleWithCodePanel.js +20 -0
  264. package/coreui/components/titleWithCodePanel/titleWithCodePanel.js.map +1 -0
  265. package/coreui/icons/icons.d.ts +3 -0
  266. package/coreui/icons/icons.js +18 -0
  267. package/coreui/icons/icons.js.map +1 -0
  268. package/coreui/layout/contextToolbar.d.ts +15 -0
  269. package/coreui/layout/contextToolbar.js +41 -0
  270. package/coreui/layout/contextToolbar.js.map +1 -0
  271. package/coreui/style/index.less +165 -0
  272. package/coreui/style/login.css +214 -0
  273. package/package.json +65 -0
  274. package/tsconfig.json +38 -0
@@ -0,0 +1,98 @@
1
+ import React from "react";
2
+ import { Button } from "antd";
3
+ import i18n from "d2core/i18n/i18n";
4
+ import { CloseCircleOutlined, DeleteOutlined, PlusCircleOutlined } from "@ant-design/icons";
5
+ import { ModalDialog } from "d2coreui/components/modal/modalDialog";
6
+ import EdaVectorSelectModalDialog from "../components/edaVectorSelect/edaVectorSelectModalDialog";
7
+ import ExtendedDataGrid from "d2coreui/components/grid/extendedDataGrid";
8
+ import { ERROR_COLOR } from "../../../../api/constants/constants";
9
+ export default class EdaManagerAbstractVectorList extends React.Component {
10
+ constructor(props) {
11
+ super(props);
12
+ this.onSelectionChanged = this.onSelectionChanged.bind(this);
13
+ }
14
+ onSelectionChanged(event) {
15
+ const selectedRows = event.api.getSelectedRows();
16
+ this.setState({ selectedVectors: selectedRows });
17
+ }
18
+ renderToolbarButtons() {
19
+ return React.createElement(React.Fragment, null,
20
+ React.createElement(Button, { title: i18n("Add Vector"), onClick: () => {
21
+ this.setState({ edaVectorSelectDialogVisible: true });
22
+ } },
23
+ React.createElement(PlusCircleOutlined, null)),
24
+ React.createElement(Button, { title: i18n("Exclude Input Vector"), disabled: this.state.selectedVectors.length === 0, onClick: () => {
25
+ ModalDialog.delete({
26
+ mode: "YES_NO",
27
+ title: React.createElement("span", { style: { whiteSpace: "nowrap" } }, i18n("Remove %n vectors?", this.state.selectedVectors.length)),
28
+ icon: React.createElement(DeleteOutlined, { style: { color: ERROR_COLOR } }),
29
+ onOk: () => {
30
+ this.state.selectedVectors.forEach(vectorToExclude => {
31
+ const index = this.props.currentVectors.findIndex(inputVector => inputVector.id === vectorToExclude.id);
32
+ this.props.currentVectors.splice(index, 1);
33
+ });
34
+ this.gridApi?.applyTransaction({ remove: this.state.selectedVectors });
35
+ this.props.onChange();
36
+ }
37
+ });
38
+ } },
39
+ React.createElement(CloseCircleOutlined, null)));
40
+ }
41
+ render() {
42
+ return (React.createElement(React.Fragment, null,
43
+ React.createElement(EdaVectorSelectModalDialog, { api: this.props.edaApi, advancedFilterApi: this.props.advancedFilterApi, visible: this.state.edaVectorSelectDialogVisible, multiSelect: true, onItemsSelected: selectedVectors => {
44
+ const currentVectors = this.props.currentVectors;
45
+ const vectorsToAdd = [];
46
+ let vectorIdToSelect;
47
+ selectedVectors.forEach(selectedVector => {
48
+ let found = currentVectors.find(vector => vector.id === selectedVector.id);
49
+ vectorIdToSelect = selectedVector.id;
50
+ if (!found) {
51
+ const newVector = {
52
+ id: selectedVector.id,
53
+ id_vektor: selectedVector.id,
54
+ code: selectedVector.code,
55
+ name: selectedVector.name,
56
+ active: true,
57
+ };
58
+ currentVectors.push(newVector);
59
+ vectorsToAdd.push(newVector);
60
+ }
61
+ });
62
+ this.setState({ edaVectorSelectDialogVisible: false });
63
+ if (vectorsToAdd.length > 0) {
64
+ this.gridApi?.applyTransaction({ add: vectorsToAdd });
65
+ this.props.onChange();
66
+ }
67
+ if (vectorIdToSelect) {
68
+ let rowNode = this.gridApi?.getRowNode(vectorIdToSelect);
69
+ if (rowNode) {
70
+ rowNode.setSelected(true, true);
71
+ this.gridApi?.ensureNodeVisible(rowNode);
72
+ }
73
+ }
74
+ }, onCancel: () => {
75
+ this.setState({ edaVectorSelectDialogVisible: false });
76
+ } }),
77
+ React.createElement(ExtendedDataGrid, { onGridReady: (params) => {
78
+ this.gridApi = params.api;
79
+ }, defaultGridConfiguration: { pageSize: -1 }, columnDefs: this.state.columnDefs, rowData: this.props.currentVectors, onLoadData: (callback) => {
80
+ callback(this.props.currentVectors.length);
81
+ }, search: {
82
+ hidden: true,
83
+ searchButtonHidden: true,
84
+ }, animateRows: true, rowSelection: "multiple", onSelectionChanged: this.onSelectionChanged, toolbar: {
85
+ toolbarButtons: this.renderToolbarButtons(),
86
+ hideRecordCount: true
87
+ }, tablePanelStyle: {
88
+ marginTop: 4,
89
+ }, tableConfigVisible: false, noRecordsOverlayRenderer: () => React.createElement("div", null,
90
+ React.createElement(Button, { title: i18n("Add Vector"), type: "primary", onClick: () => {
91
+ this.setState({ edaVectorSelectDialogVisible: true });
92
+ } },
93
+ React.createElement(PlusCircleOutlined, null),
94
+ " ",
95
+ i18n("Add Vector"))) })));
96
+ }
97
+ }
98
+ //# sourceMappingURL=edaManagerAbstractVectorList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edaManagerAbstractVectorList.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/abstract/edaManagerAbstractVectorList.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {EdaVector, EdaApi} from \"../../../../api/edaApi\";\r\nimport {DataGridColDef} from \"d2coreui/components/grid/dataGrid\";\r\nimport {GridApi, GridReadyEvent, SelectionChangedEvent} from \"ag-grid-community\";\r\nimport {Button} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {CloseCircleOutlined, DeleteOutlined, PlusCircleOutlined} from \"@ant-design/icons\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport EdaVectorSelectModalDialog\r\n from \"../components/edaVectorSelect/edaVectorSelectModalDialog\";\r\nimport ExtendedDataGrid from \"d2coreui/components/grid/extendedDataGrid\";\r\nimport {AdvancedFilterApi} from \"../../../../api/advancedFilterApi\";\r\nimport {ERROR_COLOR} from \"../../../../api/constants/constants\";\r\n\r\nexport interface EdaManagerAbstractVectorListProps {\r\n edaApi: EdaApi\r\n advancedFilterApi: AdvancedFilterApi\r\n currentVectors: EdaVector[]\r\n\r\n onChange(): void\r\n}\r\n\r\nexport interface EdaManagerAbstractVectorListState {\r\n selectedVectors: EdaVector[]\r\n edaVectorSelectDialogVisible: boolean\r\n columnDefs: DataGridColDef[]\r\n}\r\n\r\nexport default abstract class EdaManagerAbstractVectorList<P extends EdaManagerAbstractVectorListProps, S extends EdaManagerAbstractVectorListState> extends React.Component<P, S> {\r\n protected gridApi?: GridApi;\r\n\r\n protected constructor(props: Readonly<P>) {\r\n super(props);\r\n\r\n this.onSelectionChanged = this.onSelectionChanged.bind(this);\r\n }\r\n\r\n onSelectionChanged(event: SelectionChangedEvent): void {\r\n const selectedRows = event.api.getSelectedRows();\r\n this.setState({selectedVectors: selectedRows});\r\n }\r\n\r\n abstract getInitialColumnDefs(): DataGridColDef[];\r\n\r\n renderToolbarButtons() {\r\n return <>\r\n <Button\r\n title={i18n(\"Add Vector\")}\r\n onClick={() => {\r\n this.setState({edaVectorSelectDialogVisible: true});\r\n }}\r\n >\r\n <PlusCircleOutlined/>\r\n </Button>\r\n <Button\r\n title={i18n(\"Exclude Input Vector\")}\r\n disabled={this.state.selectedVectors.length === 0}\r\n onClick={() => {\r\n ModalDialog.delete({\r\n mode: ModalDialogMode.YES_NO,\r\n title: <span style={{whiteSpace: \"nowrap\"}}>\r\n {i18n(\"Remove %n vectors?\", this.state.selectedVectors.length)}\r\n </span>,\r\n icon: <DeleteOutlined style={{color: ERROR_COLOR}}/>,\r\n onOk: () => {\r\n this.state.selectedVectors.forEach(vectorToExclude => {\r\n const index = this.props.currentVectors.findIndex(inputVector => inputVector.id === vectorToExclude.id);\r\n this.props.currentVectors.splice(index, 1);\r\n });\r\n this.gridApi?.applyTransaction({remove: this.state.selectedVectors});\r\n this.props.onChange();\r\n }\r\n });\r\n }}\r\n >\r\n <CloseCircleOutlined/>\r\n </Button>\r\n </>;\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <EdaVectorSelectModalDialog\r\n api={this.props.edaApi}\r\n advancedFilterApi={this.props.advancedFilterApi}\r\n visible={this.state.edaVectorSelectDialogVisible}\r\n multiSelect\r\n onItemsSelected={selectedVectors => {\r\n const currentVectors = this.props.currentVectors;\r\n const vectorsToAdd: EdaVector[] = [];\r\n let vectorIdToSelect;\r\n\r\n selectedVectors.forEach(selectedVector => {\r\n let found = currentVectors.find(vector => vector.id === selectedVector.id);\r\n vectorIdToSelect = selectedVector.id;\r\n\r\n if (!found) {\r\n const newVector: EdaVector = {\r\n id: selectedVector.id,\r\n id_vektor: selectedVector.id,\r\n code: selectedVector.code,\r\n name: selectedVector.name,\r\n active: true,\r\n }\r\n\r\n currentVectors.push(newVector);\r\n vectorsToAdd.push(newVector);\r\n }\r\n });\r\n\r\n this.setState({edaVectorSelectDialogVisible: false});\r\n\r\n if (vectorsToAdd.length > 0) {\r\n this.gridApi?.applyTransaction({add: vectorsToAdd});\r\n this.props.onChange();\r\n }\r\n\r\n if (vectorIdToSelect) {\r\n let rowNode = this.gridApi?.getRowNode(vectorIdToSelect);\r\n if (rowNode) {\r\n rowNode.setSelected(true, true);\r\n this.gridApi?.ensureNodeVisible(rowNode);\r\n }\r\n }\r\n }}\r\n onCancel={() => {\r\n this.setState({edaVectorSelectDialogVisible: false});\r\n }}\r\n />\r\n <ExtendedDataGrid\r\n onGridReady={(params: GridReadyEvent) => {\r\n this.gridApi = params.api;\r\n }}\r\n defaultGridConfiguration={{pageSize: -1}}\r\n columnDefs={this.state.columnDefs}\r\n rowData={this.props.currentVectors}\r\n onLoadData={(callback) => {\r\n callback(this.props.currentVectors.length);\r\n }}\r\n search={{\r\n hidden: true,\r\n searchButtonHidden: true,\r\n }}\r\n animateRows\r\n rowSelection=\"multiple\"\r\n onSelectionChanged={this.onSelectionChanged}\r\n toolbar={{\r\n toolbarButtons: this.renderToolbarButtons(),\r\n hideRecordCount: true\r\n }}\r\n tablePanelStyle={{\r\n marginTop: 4,\r\n }}\r\n tableConfigVisible={false}\r\n noRecordsOverlayRenderer={() =>\r\n <div>\r\n <Button\r\n title={i18n(\"Add Vector\")}\r\n type=\"primary\"\r\n onClick={() => {\r\n this.setState({edaVectorSelectDialogVisible: true});\r\n }}\r\n >\r\n <PlusCircleOutlined/> {i18n(\"Add Vector\")}\r\n </Button>\r\n </div>\r\n }\r\n />\r\n </>\r\n );\r\n }\r\n\r\n}"]}
@@ -0,0 +1,19 @@
1
+ import EdaManagerAbstractPanel, { EdaManagerAbstractPanelProps, EdaManagerAbstractPanelState, EdaManagerFilter } from "../abstract/edaManagerAbstractPanel";
2
+ import { EdaVector, EdaStepEnum } from "../../../../api/edaApi";
3
+ import dayjs from "d2core/dayjs";
4
+ interface Props extends EdaManagerAbstractPanelProps {
5
+ initialVectors: EdaVector[];
6
+ initialTimeFrom: dayjs.Dayjs | null;
7
+ initialTimeTo: dayjs.Dayjs | null;
8
+ initialStep?: EdaStepEnum;
9
+ }
10
+ interface State extends EdaManagerAbstractPanelState {
11
+ }
12
+ export default class EdaManagerCompactPanel extends EdaManagerAbstractPanel<Props, State> {
13
+ constructor(props: Readonly<Props>);
14
+ componentDidUpdate(prevProps: Readonly<Props>): void;
15
+ protected get edaManagerChartPanelCompact(): boolean;
16
+ protected get tabWrapperStyle(): React.CSSProperties;
17
+ protected get initialFilter(): EdaManagerFilter;
18
+ }
19
+ export {};
@@ -0,0 +1,52 @@
1
+ import EdaManagerAbstractPanel from "../abstract/edaManagerAbstractPanel";
2
+ import * as FlexLayout from "flexlayout-react";
3
+ import { edaManagerCompactLayoutModel } from "./initialLayout";
4
+ import { EdaStepEnum } from "../../../../api/edaApi";
5
+ import isEqual from "lodash/isEqual";
6
+ import cloneDeep from "lodash/cloneDeep";
7
+ export default class EdaManagerCompactPanel extends EdaManagerAbstractPanel {
8
+ constructor(props) {
9
+ super(props);
10
+ this.state = {
11
+ layoutModel: FlexLayout.Model.fromJson(edaManagerCompactLayoutModel()),
12
+ ...this.initialState,
13
+ };
14
+ }
15
+ componentDidUpdate(prevProps) {
16
+ if (!isEqual(prevProps.initialVectors, this.props.initialVectors) || !isEqual(prevProps.initialTimeFrom, this.props.initialTimeFrom) || !isEqual(prevProps.initialTimeTo, this.props.initialTimeTo) || prevProps.initialStep !== this.props.initialStep) {
17
+ const currentFilter = this.state.currentFilter;
18
+ currentFilter.currentVectors = this.props.initialVectors;
19
+ currentFilter.timePanelConfiguration.selectedTimeFrom = this.props.initialTimeFrom;
20
+ currentFilter.timePanelConfiguration.selectedTimeTo = this.props.initialTimeTo;
21
+ currentFilter.timePanelConfiguration.selectedStep = this.props.initialStep ?? EdaStepEnum.DEFAULT_VALUE;
22
+ this.setState({
23
+ loadedVectors: [],
24
+ loadedCalendarVector: [],
25
+ currentFilter: currentFilter,
26
+ loadedDataFilter: cloneDeep(currentFilter),
27
+ }, () => {
28
+ if (this.state.currentFilter.timePanelConfiguration.autoRefresh) {
29
+ this.onLoadVectors();
30
+ }
31
+ });
32
+ }
33
+ }
34
+ get edaManagerChartPanelCompact() {
35
+ return true;
36
+ }
37
+ get tabWrapperStyle() {
38
+ return { padding: "8px 0px 0px" };
39
+ }
40
+ get initialFilter() {
41
+ return {
42
+ currentVectors: this.props.initialVectors,
43
+ timePanelConfiguration: {
44
+ selectedTimeFrom: this.props.initialTimeFrom,
45
+ selectedTimeTo: this.props.initialTimeTo,
46
+ selectedStep: this.props.initialStep ?? EdaStepEnum.DEFAULT_VALUE,
47
+ autoRefresh: false,
48
+ }
49
+ };
50
+ }
51
+ }
52
+ //# sourceMappingURL=edaManagerCompactPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edaManagerCompactPanel.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/compactPanel/edaManagerCompactPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,4BAA4B,EAAC,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAY,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAE9D,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AAYzC,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,uBAAqC;IACrF,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG;YACT,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,4BAA4B,EAAE,CAAC;YACtE,GAAG,IAAI,CAAC,YAAY;SACvB,CAAA;IACL,CAAC;IAED,kBAAkB,CAAC,SAA0B;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACtP,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/C,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YACzD,aAAa,CAAC,sBAAsB,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YACnF,aAAa,CAAC,sBAAsB,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;YAC/E,aAAa,CAAC,sBAAsB,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC;YAExG,IAAI,CAAC,QAAQ,CAAC;gBACV,aAAa,EAAE,EAAE;gBACjB,oBAAoB,EAAE,EAAE;gBACxB,aAAa,EAAE,aAAa;gBAC5B,gBAAgB,EAAE,SAAS,CAAC,aAAa,CAAC;aAC7C,EAAE,GAAG,EAAE;gBACJ,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;oBAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAc,2BAA2B;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAc,eAAe;QACzB,OAAO,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC;IACpC,CAAC;IAED,IAAc,aAAa;QACvB,OAAO;YACH,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YACzC,sBAAsB,EAAE;gBACpB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;gBAC5C,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;gBACxC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa;gBACjE,WAAW,EAAE,KAAK;aACrB;SACJ,CAAA;IACL,CAAC;CACJ","sourcesContent":["import EdaManagerAbstractPanel, {\r\n EdaManagerAbstractPanelProps,\r\n EdaManagerAbstractPanelState,\r\n EdaManagerFilter\r\n} from \"../abstract/edaManagerAbstractPanel\";\r\nimport * as FlexLayout from \"flexlayout-react\";\r\nimport {edaManagerCompactLayoutModel} from \"./initialLayout\";\r\nimport {EdaVector, EdaStepEnum} from \"../../../../api/edaApi\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport isEqual from \"lodash/isEqual\";\r\nimport cloneDeep from \"lodash/cloneDeep\";\r\n\r\ninterface Props extends EdaManagerAbstractPanelProps {\r\n initialVectors: EdaVector[]\r\n initialTimeFrom: dayjs.Dayjs | null\r\n initialTimeTo: dayjs.Dayjs | null\r\n initialStep?: EdaStepEnum\r\n}\r\n\r\ninterface State extends EdaManagerAbstractPanelState {\r\n}\r\n\r\nexport default class EdaManagerCompactPanel extends EdaManagerAbstractPanel<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n layoutModel: FlexLayout.Model.fromJson(edaManagerCompactLayoutModel()),\r\n ...this.initialState,\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<Props>) {\r\n if (!isEqual(prevProps.initialVectors, this.props.initialVectors) || !isEqual(prevProps.initialTimeFrom, this.props.initialTimeFrom) || !isEqual(prevProps.initialTimeTo, this.props.initialTimeTo) || prevProps.initialStep !== this.props.initialStep) {\r\n const currentFilter = this.state.currentFilter;\r\n currentFilter.currentVectors = this.props.initialVectors;\r\n currentFilter.timePanelConfiguration.selectedTimeFrom = this.props.initialTimeFrom;\r\n currentFilter.timePanelConfiguration.selectedTimeTo = this.props.initialTimeTo;\r\n currentFilter.timePanelConfiguration.selectedStep = this.props.initialStep ?? EdaStepEnum.DEFAULT_VALUE;\r\n\r\n this.setState({\r\n loadedVectors: [],\r\n loadedCalendarVector: [],\r\n currentFilter: currentFilter,\r\n loadedDataFilter: cloneDeep(currentFilter),\r\n }, () => {\r\n if (this.state.currentFilter.timePanelConfiguration.autoRefresh) {\r\n this.onLoadVectors();\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected get edaManagerChartPanelCompact(): boolean {\r\n return true;\r\n }\r\n\r\n protected get tabWrapperStyle(): React.CSSProperties {\r\n return {padding: \"8px 0px 0px\"};\r\n }\r\n\r\n protected get initialFilter(): EdaManagerFilter {\r\n return {\r\n currentVectors: this.props.initialVectors,\r\n timePanelConfiguration: {\r\n selectedTimeFrom: this.props.initialTimeFrom,\r\n selectedTimeTo: this.props.initialTimeTo,\r\n selectedStep: this.props.initialStep ?? EdaStepEnum.DEFAULT_VALUE,\r\n autoRefresh: false,\r\n }\r\n }\r\n }\r\n}"]}
@@ -0,0 +1,2 @@
1
+ import * as FlexLayout from "flexlayout-react";
2
+ export declare function edaManagerCompactLayoutModel(): FlexLayout.IJsonModel;
@@ -0,0 +1,26 @@
1
+ import i18n from "d2core/i18n/i18n";
2
+ import { EDA_MANAGER_LAYOUT_MODEL_GLOBAL_ATTRIBUTES } from "../constants";
3
+ export function edaManagerCompactLayoutModel() {
4
+ return {
5
+ global: EDA_MANAGER_LAYOUT_MODEL_GLOBAL_ATTRIBUTES,
6
+ layout: {
7
+ type: "row",
8
+ children: [{
9
+ type: "tabset",
10
+ children: [
11
+ {
12
+ type: "tab",
13
+ name: i18n("Chart"),
14
+ component: "chart",
15
+ },
16
+ {
17
+ type: "tab",
18
+ name: i18n("Table"),
19
+ component: "table",
20
+ },
21
+ ]
22
+ }]
23
+ }
24
+ };
25
+ }
26
+ //# sourceMappingURL=initialLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialLayout.js","sourceRoot":"","sources":["../../../../../../coreui/components/edaManager/compactPanel/initialLayout.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,kBAAkB,CAAC;AACpC,OAAO,EAAC,0CAA0C,EAAC,MAAM,cAAc,CAAC;AAExE,MAAM,UAAU,4BAA4B;IACxC,OAAO;QACH,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE;YACJ,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,CAAC;oBACP,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE;wBACN;4BACI,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;4BACnB,SAAS,EAAE,OAAO;yBAErB;wBACD;4BACI,IAAI,EAAE,KAAK;4BACX,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC;4BACnB,SAAS,EAAE,OAAO;yBAErB;qBACJ;iBACJ,CAAC;SACL;KACJ,CAAA;AACL,CAAC","sourcesContent":["import * as FlexLayout from \"flexlayout-react\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {EDA_MANAGER_LAYOUT_MODEL_GLOBAL_ATTRIBUTES} from \"../constants\";\r\n\r\nexport function edaManagerCompactLayoutModel(): FlexLayout.IJsonModel {\r\n return {\r\n global: EDA_MANAGER_LAYOUT_MODEL_GLOBAL_ATTRIBUTES,\r\n layout: {\r\n type: \"row\",\r\n children: [{\r\n type: \"tabset\",\r\n children: [\r\n {\r\n type: \"tab\",\r\n name: i18n(\"Chart\"),\r\n component: \"chart\",\r\n // enableDrag: true,\r\n },\r\n {\r\n type: \"tab\",\r\n name: i18n(\"Table\"),\r\n component: \"table\",\r\n // enableDrag: true,\r\n },\r\n ]\r\n }]\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1,38 @@
1
+ import React from "react";
2
+ import dayjs from "d2core/dayjs";
3
+ export declare enum EdaVectorMassChangeOperationType {
4
+ ABSOLUTE = 0,
5
+ ADD = 1,
6
+ MULTIPLY = 2,
7
+ REPLACE = 3
8
+ }
9
+ interface EdaVectorMassChangeConfig {
10
+ operationType: EdaVectorMassChangeOperationType;
11
+ dateFrom: dayjs.Dayjs | null;
12
+ dateTo: dayjs.Dayjs | null;
13
+ timeFrom: dayjs.Dayjs;
14
+ timeTo: dayjs.Dayjs;
15
+ mondayChecked: boolean;
16
+ tuesdayChecked: boolean;
17
+ wednesdayChecked: boolean;
18
+ thursdayChecked: boolean;
19
+ fridayChecked: boolean;
20
+ saturdayChecked: boolean;
21
+ sundayChecked: boolean;
22
+ replaceValue?: number;
23
+ value?: number;
24
+ }
25
+ interface Props {
26
+ dateFrom: dayjs.Dayjs | null;
27
+ dateTo: dayjs.Dayjs | null;
28
+ onConfirm: (edaVectorMassChangeConfig: EdaVectorMassChangeConfig) => void;
29
+ }
30
+ interface State {
31
+ edaVectorMassChangeConfig: EdaVectorMassChangeConfig;
32
+ }
33
+ export default class EdaVectorMassChangeButton extends React.Component<Props, State> {
34
+ constructor(props: Readonly<Props>);
35
+ private renderWeekDaysPart;
36
+ render(): React.JSX.Element;
37
+ }
38
+ export {};
@@ -0,0 +1,182 @@
1
+ import React from "react";
2
+ import { DateRangeInputMode } from "d2coreui/components/date/dateRangeInput";
3
+ import { LocaleHolder } from "d2core/i18n/localeHolder";
4
+ import { Button, Checkbox, Col, Form, InputNumber, Popover, Row, Segmented, Switch } from "antd";
5
+ import i18n from "d2core/i18n/i18n";
6
+ import { SwapOutlined } from "@ant-design/icons";
7
+ import dayjs from "d2core/dayjs";
8
+ import DateRangeInputConfirm from "d2coreui/components/date/dateRangeInputConfirm";
9
+ export var EdaVectorMassChangeOperationType;
10
+ (function (EdaVectorMassChangeOperationType) {
11
+ EdaVectorMassChangeOperationType[EdaVectorMassChangeOperationType["ABSOLUTE"] = 0] = "ABSOLUTE";
12
+ EdaVectorMassChangeOperationType[EdaVectorMassChangeOperationType["ADD"] = 1] = "ADD";
13
+ EdaVectorMassChangeOperationType[EdaVectorMassChangeOperationType["MULTIPLY"] = 2] = "MULTIPLY";
14
+ EdaVectorMassChangeOperationType[EdaVectorMassChangeOperationType["REPLACE"] = 3] = "REPLACE";
15
+ })(EdaVectorMassChangeOperationType || (EdaVectorMassChangeOperationType = {}));
16
+ export default class EdaVectorMassChangeButton extends React.Component {
17
+ constructor(props) {
18
+ super(props);
19
+ this.state = {
20
+ edaVectorMassChangeConfig: {
21
+ operationType: EdaVectorMassChangeOperationType.ABSOLUTE,
22
+ dateFrom: this.props.dateFrom?.clone() ?? null,
23
+ dateTo: this.props.dateTo?.clone() ?? null,
24
+ timeFrom: dayjs("00:00", "HH:mm"),
25
+ timeTo: dayjs("23:59", "HH:mm"),
26
+ mondayChecked: true,
27
+ tuesdayChecked: true,
28
+ wednesdayChecked: true,
29
+ thursdayChecked: true,
30
+ fridayChecked: true,
31
+ saturdayChecked: true,
32
+ sundayChecked: true,
33
+ }
34
+ };
35
+ }
36
+ renderWeekDaysPart() {
37
+ const edaVectorMassChangeConfig = this.state.edaVectorMassChangeConfig;
38
+ const { mondayChecked, tuesdayChecked, wednesdayChecked, thursdayChecked, fridayChecked, saturdayChecked, sundayChecked } = edaVectorMassChangeConfig;
39
+ const allWeekdaysChecked = mondayChecked && tuesdayChecked && wednesdayChecked && thursdayChecked && fridayChecked;
40
+ const allWeekendsChecked = saturdayChecked && sundayChecked;
41
+ const someWeekdayChecked = mondayChecked || tuesdayChecked || wednesdayChecked || thursdayChecked || fridayChecked;
42
+ const someWeekendChecked = saturdayChecked || sundayChecked;
43
+ const onlyWeekdaysChecked = allWeekdaysChecked && !someWeekendChecked;
44
+ const onlyWeekendsChecked = !someWeekdayChecked && allWeekendsChecked;
45
+ return (React.createElement(Form.Item, { label: i18n("Days") },
46
+ React.createElement(Row, { gutter: 8 },
47
+ React.createElement(Col, { span: 8 },
48
+ React.createElement(Checkbox, { checked: edaVectorMassChangeConfig.mondayChecked, onChange: e => {
49
+ edaVectorMassChangeConfig.mondayChecked = e.target.checked;
50
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
51
+ } }, i18n("Monday")),
52
+ React.createElement(Checkbox, { checked: edaVectorMassChangeConfig.tuesdayChecked, onChange: e => {
53
+ edaVectorMassChangeConfig.tuesdayChecked = e.target.checked;
54
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
55
+ } }, i18n("Tuesday")),
56
+ React.createElement(Checkbox, { checked: edaVectorMassChangeConfig.wednesdayChecked, onChange: e => {
57
+ edaVectorMassChangeConfig.wednesdayChecked = e.target.checked;
58
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
59
+ } }, i18n("Wednesday")),
60
+ React.createElement(Checkbox, { checked: edaVectorMassChangeConfig.thursdayChecked, onChange: e => {
61
+ edaVectorMassChangeConfig.thursdayChecked = e.target.checked;
62
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
63
+ } }, i18n("Thursday")),
64
+ React.createElement(Checkbox, { checked: edaVectorMassChangeConfig.fridayChecked, onChange: e => {
65
+ edaVectorMassChangeConfig.fridayChecked = e.target.checked;
66
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
67
+ } }, i18n("Friday"))),
68
+ React.createElement(Col, { span: 8 },
69
+ React.createElement(Checkbox, { checked: edaVectorMassChangeConfig.saturdayChecked, onChange: e => {
70
+ edaVectorMassChangeConfig.saturdayChecked = e.target.checked;
71
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
72
+ } }, i18n("Saturday")),
73
+ React.createElement(Checkbox, { checked: edaVectorMassChangeConfig.sundayChecked, onChange: e => {
74
+ edaVectorMassChangeConfig.sundayChecked = e.target.checked;
75
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
76
+ } }, i18n("Sunday"))),
77
+ React.createElement(Col, { span: 8 },
78
+ React.createElement("div", null,
79
+ React.createElement(Switch, { style: { marginRight: 4 }, size: "small", checked: onlyWeekdaysChecked, onChange: checked => {
80
+ edaVectorMassChangeConfig.mondayChecked = checked;
81
+ edaVectorMassChangeConfig.tuesdayChecked = checked;
82
+ edaVectorMassChangeConfig.wednesdayChecked = checked;
83
+ edaVectorMassChangeConfig.thursdayChecked = checked;
84
+ edaVectorMassChangeConfig.fridayChecked = checked;
85
+ if (checked) {
86
+ edaVectorMassChangeConfig.saturdayChecked = false;
87
+ edaVectorMassChangeConfig.sundayChecked = false;
88
+ }
89
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
90
+ } }),
91
+ React.createElement("span", { className: "compact-label" }, i18n("Weekdays Only"))),
92
+ React.createElement("div", null,
93
+ React.createElement(Switch, { style: { marginRight: 4 }, size: "small", checked: onlyWeekendsChecked, onChange: checked => {
94
+ edaVectorMassChangeConfig.saturdayChecked = checked;
95
+ edaVectorMassChangeConfig.sundayChecked = checked;
96
+ if (checked) {
97
+ edaVectorMassChangeConfig.mondayChecked = false;
98
+ edaVectorMassChangeConfig.tuesdayChecked = false;
99
+ edaVectorMassChangeConfig.wednesdayChecked = false;
100
+ edaVectorMassChangeConfig.thursdayChecked = false;
101
+ edaVectorMassChangeConfig.fridayChecked = false;
102
+ }
103
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
104
+ } }),
105
+ React.createElement("span", { className: "compact-label" }, i18n("Weekends Only"))),
106
+ React.createElement("div", null,
107
+ React.createElement(Switch, { style: { marginRight: 4 }, size: "small", checked: allWeekdaysChecked && allWeekendsChecked, onChange: checked => {
108
+ edaVectorMassChangeConfig.mondayChecked = checked;
109
+ edaVectorMassChangeConfig.tuesdayChecked = checked;
110
+ edaVectorMassChangeConfig.wednesdayChecked = checked;
111
+ edaVectorMassChangeConfig.thursdayChecked = checked;
112
+ edaVectorMassChangeConfig.fridayChecked = checked;
113
+ edaVectorMassChangeConfig.saturdayChecked = checked;
114
+ edaVectorMassChangeConfig.sundayChecked = checked;
115
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
116
+ } }),
117
+ React.createElement("span", { className: "compact-label" }, i18n("All Days")))))));
118
+ }
119
+ render() {
120
+ const edaVectorMassChangeConfig = this.state.edaVectorMassChangeConfig;
121
+ return (React.createElement(Popover, { content: React.createElement(Form, { style: { width: 440 }, className: "record-config-form", layout: "horizontal", labelCol: { sm: 24, md: 24, lg: 24, xl: 24, xxl: 24 } },
122
+ React.createElement(Form.Item, { label: i18n("Operation Type") },
123
+ React.createElement(Segmented, { block: true, size: "small", options: [
124
+ {
125
+ label: i18n("Absolute"),
126
+ value: EdaVectorMassChangeOperationType.ABSOLUTE,
127
+ },
128
+ {
129
+ label: i18n("Add"),
130
+ value: EdaVectorMassChangeOperationType.ADD,
131
+ },
132
+ {
133
+ label: i18n("Multiply"),
134
+ value: EdaVectorMassChangeOperationType.MULTIPLY,
135
+ },
136
+ {
137
+ label: i18n("Replace"),
138
+ value: EdaVectorMassChangeOperationType.REPLACE,
139
+ },
140
+ ], value: edaVectorMassChangeConfig.operationType, onChange: value => {
141
+ edaVectorMassChangeConfig.operationType = value;
142
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
143
+ } })),
144
+ React.createElement(Row, { gutter: 8 },
145
+ React.createElement(Col, { span: 16 },
146
+ React.createElement(Form.Item, { label: i18n("Date") },
147
+ React.createElement(DateRangeInputConfirm, { mask: LocaleHolder.getDateTimeFormat(true, false, false), defaultMode: DateRangeInputMode.ADVANCED, fromValue: edaVectorMassChangeConfig.dateFrom, toValue: edaVectorMassChangeConfig.dateTo, minDateTime: this.props.dateFrom ?? undefined, maxDateTime: this.props.dateTo ?? undefined, onChange: (fromValue, toValue) => {
148
+ edaVectorMassChangeConfig.dateFrom = fromValue;
149
+ edaVectorMassChangeConfig.dateTo = toValue;
150
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
151
+ } }))),
152
+ React.createElement(Col, { span: 8 },
153
+ React.createElement(Form.Item, { label: i18n("In Time") },
154
+ React.createElement(DateRangeInputConfirm, { mask: LocaleHolder.getTimeFormat(false, false), fromValue: edaVectorMassChangeConfig.timeFrom, toValue: edaVectorMassChangeConfig.timeTo, onChange: (fromValue, toValue) => {
155
+ console.log("fromValue", fromValue);
156
+ edaVectorMassChangeConfig.timeFrom = dayjs("00:00", "HH:mm").set("hour", fromValue?.hour() ?? 0).set("minutes", fromValue?.minute() ?? 0);
157
+ edaVectorMassChangeConfig.timeTo = dayjs("23:59", "HH:mm").set("hour", toValue?.hour() ?? 23).set("minutes", toValue?.minute() ?? 59);
158
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
159
+ }, hidePopup: true })))),
160
+ this.renderWeekDaysPart(),
161
+ React.createElement(Row, { gutter: 8 },
162
+ React.createElement(Col, { span: 12 },
163
+ React.createElement(Form.Item, { label: i18n("Replace Value") },
164
+ React.createElement(InputNumber, { disabled: edaVectorMassChangeConfig.operationType !== EdaVectorMassChangeOperationType.REPLACE, style: { width: "100%" }, value: edaVectorMassChangeConfig.replaceValue, onChange: value => {
165
+ edaVectorMassChangeConfig.replaceValue = value !== null ? value : undefined;
166
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
167
+ } }))),
168
+ React.createElement(Col, { span: 12 },
169
+ React.createElement(Form.Item, { label: i18n("Value") },
170
+ React.createElement(InputNumber, { style: { width: "100%" }, value: edaVectorMassChangeConfig.value, onChange: value => {
171
+ edaVectorMassChangeConfig.value = value !== null ? value : undefined;
172
+ this.setState({ edaVectorMassChangeConfig: edaVectorMassChangeConfig });
173
+ } })))),
174
+ React.createElement(Form.Item, { style: { marginTop: 4 } },
175
+ React.createElement(Button, { type: "primary", size: "small", block: true, onClick: () => {
176
+ this.props.onConfirm(this.state.edaVectorMassChangeConfig);
177
+ } }, i18n("Confirm")))), trigger: "click" },
178
+ React.createElement(Button, { style: { width: 164, marginLeft: 0 }, icon: React.createElement(SwapOutlined, null), onClick: () => {
179
+ } }, i18n("Mass Change"))));
180
+ }
181
+ }
182
+ //# sourceMappingURL=edaVectorMassChangeButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edaVectorMassChangeButton.js","sourceRoot":"","sources":["../../../../../../../../coreui/components/edaManager/components/detail/components/edaVectorMassChangeButton.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {DateRangeInputMode} from \"d2coreui/components/date/dateRangeInput\";\r\nimport {LocaleHolder} from \"d2core/i18n/localeHolder\";\r\nimport {Button, Checkbox, Col, Form, InputNumber, Popover, Row, Segmented, Switch} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {SwapOutlined} from \"@ant-design/icons\";\r\nimport dayjs from \"d2core/dayjs\";\r\nimport DateRangeInputConfirm from \"d2coreui/components/date/dateRangeInputConfirm\";\r\n\r\nexport enum EdaVectorMassChangeOperationType {\r\n ABSOLUTE, ADD, MULTIPLY, REPLACE\r\n}\r\n\r\ninterface EdaVectorMassChangeConfig {\r\n operationType: EdaVectorMassChangeOperationType\r\n dateFrom: dayjs.Dayjs | null\r\n dateTo: dayjs.Dayjs | null\r\n timeFrom: dayjs.Dayjs\r\n timeTo: dayjs.Dayjs\r\n mondayChecked: boolean\r\n tuesdayChecked: boolean\r\n wednesdayChecked: boolean\r\n thursdayChecked: boolean\r\n fridayChecked: boolean\r\n saturdayChecked: boolean\r\n sundayChecked: boolean\r\n replaceValue?: number\r\n value?: number\r\n}\r\n\r\ninterface Props {\r\n dateFrom: dayjs.Dayjs | null\r\n dateTo: dayjs.Dayjs | null\r\n\r\n onConfirm: (edaVectorMassChangeConfig: EdaVectorMassChangeConfig) => void;\r\n}\r\n\r\ninterface State {\r\n edaVectorMassChangeConfig: EdaVectorMassChangeConfig\r\n}\r\n\r\nexport default class EdaVectorMassChangeButton extends React.Component<Props, State> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n\r\n this.state = {\r\n edaVectorMassChangeConfig: {\r\n operationType: EdaVectorMassChangeOperationType.ABSOLUTE,\r\n dateFrom: this.props.dateFrom?.clone() ?? null,\r\n dateTo: this.props.dateTo?.clone() ?? null,\r\n timeFrom: dayjs(\"00:00\", \"HH:mm\"),\r\n timeTo: dayjs(\"23:59\", \"HH:mm\"),\r\n mondayChecked: true,\r\n tuesdayChecked: true,\r\n wednesdayChecked: true,\r\n thursdayChecked: true,\r\n fridayChecked: true,\r\n saturdayChecked: true,\r\n sundayChecked: true,\r\n }\r\n }\r\n }\r\n\r\n private renderWeekDaysPart() {\r\n const edaVectorMassChangeConfig = this.state.edaVectorMassChangeConfig;\r\n const {\r\n mondayChecked,\r\n tuesdayChecked,\r\n wednesdayChecked,\r\n thursdayChecked,\r\n fridayChecked,\r\n saturdayChecked,\r\n sundayChecked\r\n } = edaVectorMassChangeConfig;\r\n const allWeekdaysChecked = mondayChecked && tuesdayChecked && wednesdayChecked && thursdayChecked && fridayChecked;\r\n const allWeekendsChecked = saturdayChecked && sundayChecked;\r\n\r\n const someWeekdayChecked = mondayChecked || tuesdayChecked || wednesdayChecked || thursdayChecked || fridayChecked;\r\n const someWeekendChecked = saturdayChecked || sundayChecked;\r\n\r\n const onlyWeekdaysChecked = allWeekdaysChecked && !someWeekendChecked;\r\n const onlyWeekendsChecked = !someWeekdayChecked && allWeekendsChecked;\r\n\r\n return (\r\n <Form.Item label={i18n(\"Days\")}>\r\n <Row gutter={8}>\r\n <Col span={8}>\r\n <Checkbox\r\n checked={edaVectorMassChangeConfig.mondayChecked}\r\n onChange={e => {\r\n edaVectorMassChangeConfig.mondayChecked = e.target.checked;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n >\r\n {i18n(\"Monday\")}\r\n </Checkbox>\r\n <Checkbox\r\n checked={edaVectorMassChangeConfig.tuesdayChecked}\r\n onChange={e => {\r\n edaVectorMassChangeConfig.tuesdayChecked = e.target.checked;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n >\r\n {i18n(\"Tuesday\")}\r\n </Checkbox>\r\n <Checkbox\r\n checked={edaVectorMassChangeConfig.wednesdayChecked}\r\n onChange={e => {\r\n edaVectorMassChangeConfig.wednesdayChecked = e.target.checked;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n >\r\n {i18n(\"Wednesday\")}\r\n </Checkbox>\r\n <Checkbox\r\n checked={edaVectorMassChangeConfig.thursdayChecked}\r\n onChange={e => {\r\n edaVectorMassChangeConfig.thursdayChecked = e.target.checked;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n >\r\n {i18n(\"Thursday\")}\r\n </Checkbox>\r\n <Checkbox\r\n checked={edaVectorMassChangeConfig.fridayChecked}\r\n onChange={e => {\r\n edaVectorMassChangeConfig.fridayChecked = e.target.checked;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n >\r\n {i18n(\"Friday\")}\r\n </Checkbox>\r\n </Col>\r\n <Col span={8}>\r\n <Checkbox\r\n checked={edaVectorMassChangeConfig.saturdayChecked}\r\n onChange={e => {\r\n edaVectorMassChangeConfig.saturdayChecked = e.target.checked;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n >\r\n {i18n(\"Saturday\")}\r\n </Checkbox>\r\n <Checkbox\r\n checked={edaVectorMassChangeConfig.sundayChecked}\r\n onChange={e => {\r\n edaVectorMassChangeConfig.sundayChecked = e.target.checked;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n >\r\n {i18n(\"Sunday\")}\r\n </Checkbox>\r\n </Col>\r\n <Col span={8}>\r\n <div>\r\n <Switch\r\n style={{marginRight: 4}}\r\n size=\"small\"\r\n checked={onlyWeekdaysChecked}\r\n onChange={checked => {\r\n edaVectorMassChangeConfig.mondayChecked = checked;\r\n edaVectorMassChangeConfig.tuesdayChecked = checked;\r\n edaVectorMassChangeConfig.wednesdayChecked = checked;\r\n edaVectorMassChangeConfig.thursdayChecked = checked;\r\n edaVectorMassChangeConfig.fridayChecked = checked;\r\n if (checked) {\r\n edaVectorMassChangeConfig.saturdayChecked = false;\r\n edaVectorMassChangeConfig.sundayChecked = false;\r\n }\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n />\r\n <span className=\"compact-label\">{i18n(\"Weekdays Only\")}</span>\r\n </div>\r\n <div>\r\n <Switch\r\n style={{marginRight: 4}}\r\n size=\"small\"\r\n checked={onlyWeekendsChecked}\r\n onChange={checked => {\r\n edaVectorMassChangeConfig.saturdayChecked = checked;\r\n edaVectorMassChangeConfig.sundayChecked = checked;\r\n if (checked) {\r\n edaVectorMassChangeConfig.mondayChecked = false;\r\n edaVectorMassChangeConfig.tuesdayChecked = false;\r\n edaVectorMassChangeConfig.wednesdayChecked = false;\r\n edaVectorMassChangeConfig.thursdayChecked = false;\r\n edaVectorMassChangeConfig.fridayChecked = false;\r\n }\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n />\r\n <span className=\"compact-label\">{i18n(\"Weekends Only\")}</span>\r\n </div>\r\n <div>\r\n <Switch\r\n style={{marginRight: 4}}\r\n size=\"small\"\r\n checked={allWeekdaysChecked && allWeekendsChecked}\r\n onChange={checked => {\r\n edaVectorMassChangeConfig.mondayChecked = checked;\r\n edaVectorMassChangeConfig.tuesdayChecked = checked\r\n edaVectorMassChangeConfig.wednesdayChecked = checked\r\n edaVectorMassChangeConfig.thursdayChecked = checked\r\n edaVectorMassChangeConfig.fridayChecked = checked\r\n edaVectorMassChangeConfig.saturdayChecked = checked;\r\n edaVectorMassChangeConfig.sundayChecked = checked\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n />\r\n <span className=\"compact-label\">{i18n(\"All Days\")}</span>\r\n </div>\r\n </Col>\r\n </Row>\r\n </Form.Item>\r\n );\r\n }\r\n\r\n render() {\r\n const edaVectorMassChangeConfig = this.state.edaVectorMassChangeConfig;\r\n\r\n return (\r\n <Popover\r\n content={\r\n <Form\r\n style={{width: 440}}\r\n className=\"record-config-form\"\r\n layout=\"horizontal\"\r\n labelCol={{sm: 24, md: 24, lg: 24, xl: 24, xxl: 24}}\r\n >\r\n <Form.Item label={i18n(\"Operation Type\")}>\r\n <Segmented\r\n block\r\n size=\"small\"\r\n options={[\r\n {\r\n label: i18n(\"Absolute\"),\r\n value: EdaVectorMassChangeOperationType.ABSOLUTE,\r\n },\r\n {\r\n label: i18n(\"Add\"),\r\n value: EdaVectorMassChangeOperationType.ADD,\r\n },\r\n {\r\n label: i18n(\"Multiply\"),\r\n value: EdaVectorMassChangeOperationType.MULTIPLY,\r\n },\r\n {\r\n label: i18n(\"Replace\"),\r\n value: EdaVectorMassChangeOperationType.REPLACE,\r\n },\r\n ]}\r\n value={edaVectorMassChangeConfig.operationType}\r\n onChange={value => {\r\n edaVectorMassChangeConfig.operationType = value as EdaVectorMassChangeOperationType;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n />\r\n </Form.Item>\r\n <Row gutter={8}>\r\n <Col span={16}>\r\n <Form.Item label={i18n(\"Date\")}>\r\n <DateRangeInputConfirm\r\n mask={LocaleHolder.getDateTimeFormat(true, false, false)}\r\n defaultMode={DateRangeInputMode.ADVANCED}\r\n fromValue={edaVectorMassChangeConfig.dateFrom}\r\n toValue={edaVectorMassChangeConfig.dateTo}\r\n minDateTime={this.props.dateFrom ?? undefined}\r\n maxDateTime={this.props.dateTo ?? undefined}\r\n onChange={(fromValue, toValue) => {\r\n edaVectorMassChangeConfig.dateFrom = fromValue;\r\n edaVectorMassChangeConfig.dateTo = toValue;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n />\r\n </Form.Item>\r\n </Col>\r\n <Col span={8}>\r\n <Form.Item label={i18n(\"In Time\")}>\r\n <DateRangeInputConfirm\r\n mask={LocaleHolder.getTimeFormat(false, false)}\r\n fromValue={edaVectorMassChangeConfig.timeFrom}\r\n toValue={edaVectorMassChangeConfig.timeTo}\r\n onChange={(fromValue, toValue) => {\r\n console.log(\"fromValue\", fromValue);\r\n edaVectorMassChangeConfig.timeFrom = dayjs(\"00:00\", \"HH:mm\").set(\"hour\", fromValue?.hour() ?? 0).set(\"minutes\", fromValue?.minute() ?? 0);\r\n edaVectorMassChangeConfig.timeTo = dayjs(\"23:59\", \"HH:mm\").set(\"hour\", toValue?.hour() ?? 23).set(\"minutes\", toValue?.minute() ?? 59);\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n hidePopup\r\n />\r\n </Form.Item>\r\n </Col>\r\n </Row>\r\n {this.renderWeekDaysPart()}\r\n <Row gutter={8}>\r\n <Col span={12}>\r\n <Form.Item label={i18n(\"Replace Value\")}>\r\n <InputNumber\r\n disabled={edaVectorMassChangeConfig.operationType !== EdaVectorMassChangeOperationType.REPLACE}\r\n style={{width: \"100%\"}}\r\n value={edaVectorMassChangeConfig.replaceValue}\r\n onChange={value => {\r\n edaVectorMassChangeConfig.replaceValue = value !== null ? value : undefined;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n />\r\n </Form.Item>\r\n </Col>\r\n <Col span={12}>\r\n <Form.Item label={i18n(\"Value\")}>\r\n <InputNumber\r\n style={{width: \"100%\"}}\r\n value={edaVectorMassChangeConfig.value}\r\n onChange={value => {\r\n edaVectorMassChangeConfig.value = value !== null ? value : undefined;\r\n this.setState({edaVectorMassChangeConfig: edaVectorMassChangeConfig});\r\n }}\r\n />\r\n </Form.Item>\r\n </Col>\r\n </Row>\r\n <Form.Item style={{marginTop: 4}}>\r\n <Button\r\n type=\"primary\"\r\n size=\"small\"\r\n block\r\n onClick={() => {\r\n this.props.onConfirm(this.state.edaVectorMassChangeConfig);\r\n }}\r\n >\r\n {i18n(\"Confirm\")}\r\n </Button>\r\n </Form.Item>\r\n </Form>\r\n }\r\n trigger=\"click\"\r\n >\r\n <Button\r\n style={{width: 164, marginLeft: 0}}\r\n icon={<SwapOutlined/>}\r\n onClick={() => {\r\n }}\r\n >\r\n {i18n(\"Mass Change\")}\r\n </Button>\r\n </Popover>\r\n );\r\n }\r\n\r\n}"]}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { EdaApi, EdaManagerRecord, EdaVector } from "../../../../../api/edaApi";
3
+ import * as FlexLayout from "flexlayout-react";
4
+ interface Props {
5
+ edaApi: EdaApi;
6
+ visible: boolean;
7
+ edaVectors: EdaVector[];
8
+ loadedVectorData: EdaManagerRecord[];
9
+ onReloadVectorData(): void;
10
+ onCancel(): void;
11
+ }
12
+ interface State {
13
+ layoutModel: FlexLayout.Model;
14
+ waitingForUpdateResponse: boolean;
15
+ }
16
+ export default class EdaVectorDetailModalDialog extends React.Component<Props, State> {
17
+ private edaVectorDetailTablePanel;
18
+ private edaManagerChartPanel;
19
+ constructor(props: Readonly<Props>);
20
+ protected flexLayoutFactory(node: FlexLayout.TabNode): React.ReactNode;
21
+ render(): React.JSX.Element;
22
+ }
23
+ export {};