contentoh-components-library 21.5.3 → 21.5.4

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 (294) hide show
  1. package/dist/components/organisms/InputGroup/index.js +1 -1
  2. package/dist/components/organisms/Table/styles.js +1 -1
  3. package/dist/components/pages/MultipleEdition/saveData.js +9 -19
  4. package/dist/components/pages/MultipleEdition/styles.js +1 -1
  5. package/dist/components/pages/MultipleEdition/utils.js +86 -153
  6. package/package.json +4 -1
  7. package/src/assets/images/Icons/addv2.svg +8 -0
  8. package/src/assets/images/Icons/beenhere.svg +9 -0
  9. package/src/assets/images/Icons/checkv2.svg +8 -0
  10. package/src/assets/images/Icons/close-magenta.svg +9 -0
  11. package/src/assets/images/Icons/close.svg +8 -0
  12. package/src/assets/images/Icons/closeCircle.svg +8 -0
  13. package/src/assets/images/Icons/delete-forever-red.svg +9 -0
  14. package/src/assets/images/Icons/delete-forever-white.svg +10 -0
  15. package/src/assets/images/Icons/edit.svg +8 -0
  16. package/src/assets/images/Icons/fullscreen.svg +3 -0
  17. package/src/assets/images/Icons/infoNR.svg +8 -0
  18. package/src/assets/images/Icons/options.svg +3 -0
  19. package/src/assets/images/Icons/save-white-gray.svg +9 -0
  20. package/src/assets/images/Icons/save-white.svg +9 -0
  21. package/src/assets/images/Icons/save.svg +8 -0
  22. package/src/assets/images/Icons/search.svg +3 -0
  23. package/src/assets/images/Icons/settings.svg +8 -0
  24. package/src/assets/images/Icons/trash.svg +8 -0
  25. package/src/assets/images/Icons/undo.svg +8 -0
  26. package/src/assets/images/Icons/upload-file-white.svg +4 -0
  27. package/src/assets/images/Icons/upload-file.svg +10 -0
  28. package/src/assets/images/Icons/upload_file.svg +10 -0
  29. package/src/assets/images/Icons/warningv2.svg +3 -0
  30. package/src/assets/images/checkBox/checkrosa.svg +3 -0
  31. package/src/assets/images/checkBox/checkverde.svg +3 -0
  32. package/src/assets/images/flagsv2/highPriority.svg +3 -0
  33. package/src/assets/images/flagsv2/lowPriority.svg +3 -0
  34. package/src/assets/images/flagsv2/mediumPriority.svg +3 -0
  35. package/src/assets/images/flagsv2/noPriority.svg +3 -0
  36. package/src/assets/images/generalButton/closeIconWhite.svg +4 -0
  37. package/src/assets/images/generalButton/closeIconv2.svg +4 -0
  38. package/src/assets/images/generalButton/saveIconpink.svg +3 -0
  39. package/src/components/atoms/Avatar/index.js +8 -2
  40. package/src/components/atoms/ButtonV2/ButtonV2.stories.js +1 -0
  41. package/src/components/atoms/ButtonV2/index.js +1 -0
  42. package/src/components/atoms/ButtonV2/styles.js +16 -0
  43. package/src/components/atoms/CharsMissing/Wysiwyg.stories.js +12 -0
  44. package/src/components/atoms/CharsMissing/index.js +60 -0
  45. package/src/components/atoms/CharsMissing/styles.js +44 -0
  46. package/src/components/atoms/CheckBox/CheckBox.stories.js +5 -0
  47. package/src/components/atoms/CheckBox/index.js +5 -1
  48. package/src/components/atoms/CheckBox/styles.js +9 -3
  49. package/src/components/atoms/CustomChip/CustomChip.stories.js +16 -0
  50. package/src/components/atoms/CustomChip/index.js +34 -0
  51. package/src/components/atoms/CustomChip/styles.js +6 -0
  52. package/src/components/atoms/FeatureTagv2/FeatureTagv2.stories.js +16 -0
  53. package/src/components/atoms/FeatureTagv2/index.js +10 -0
  54. package/src/components/atoms/FeatureTagv2/styles.js +56 -0
  55. package/src/components/atoms/GeneralButton/styles.js +46 -0
  56. package/src/components/atoms/GeneralInput/index.js +3 -0
  57. package/src/components/atoms/GeneralInput/styles.js +19 -1
  58. package/src/components/atoms/GeneralInputv2/GeneralInputv2.stories.js +33 -0
  59. package/src/components/atoms/GeneralInputv2/index.js +155 -0
  60. package/src/components/atoms/GeneralInputv2/styles.js +67 -0
  61. package/src/components/atoms/InputFormatter/index.js +2 -1
  62. package/src/components/atoms/InputFormatter/styles.js +9 -4
  63. package/src/components/atoms/InputFormatterv2/Wysiwyg.stories.js +12 -0
  64. package/src/components/atoms/InputFormatterv2/index.js +148 -0
  65. package/src/components/atoms/InputFormatterv2/styles.js +39 -0
  66. package/src/components/atoms/InputImages/InputImages.stories.js +19 -0
  67. package/src/components/atoms/InputImages/index.js +25 -0
  68. package/src/components/atoms/InputImages/styles.js +17 -0
  69. package/src/components/atoms/Multiselect/Multiselect.stories.js +364 -0
  70. package/src/components/atoms/Multiselect/index.js +351 -0
  71. package/src/components/atoms/Multiselect/styles.js +33 -0
  72. package/src/components/atoms/NumberMandatory/NumberMandatory.stories.js +19 -0
  73. package/src/components/atoms/NumberMandatory/index.js +16 -0
  74. package/src/components/atoms/NumberMandatory/styles.js +11 -0
  75. package/src/components/atoms/ObservationFlag/ObservationFlag.stories.js +20 -0
  76. package/src/components/atoms/ObservationFlag/index.js +167 -0
  77. package/src/components/atoms/ObservationFlag/styles.js +104 -0
  78. package/src/components/atoms/PriorityFlagv2/PriorityFlagv2.stories.js +20 -0
  79. package/src/components/atoms/PriorityFlagv2/index.js +20 -0
  80. package/src/components/atoms/PriorityFlagv2/styles.js +6 -0
  81. package/src/components/atoms/ProductImage/index.js +24 -11
  82. package/src/components/atoms/ProductImage/styles.js +7 -0
  83. package/src/components/atoms/ProductImagev2/ProductImagev2.stories.js +28 -0
  84. package/src/components/atoms/ProductImagev2/index.js +16 -0
  85. package/src/components/atoms/ProductImagev2/styles.js +62 -0
  86. package/src/components/atoms/Progress/Progress.stories.js +25 -0
  87. package/src/components/atoms/Progress/index.js +74 -0
  88. package/src/components/atoms/Progress/styles.js +98 -0
  89. package/src/components/atoms/ScreenHeaderv2/ScreenHeaderv2.stories.js +53 -0
  90. package/src/components/atoms/ScreenHeaderv2/index.js +134 -0
  91. package/src/components/atoms/ScreenHeaderv2/styles.js +103 -0
  92. package/src/components/atoms/Selectv2/VersionSelect.js +27 -0
  93. package/src/components/atoms/Selectv2/index.js +35 -0
  94. package/src/components/atoms/Selectv2/style.js +93 -0
  95. package/src/components/atoms/SliderToolTip/styles.js +1 -1
  96. package/src/components/atoms/TabSection/index.js +1 -1
  97. package/src/components/atoms/TabSection/styles.js +0 -3
  98. package/src/components/atoms/TabSectionv2/TabSection.stories.js +25 -0
  99. package/src/components/atoms/TabSectionv2/index.js +9 -0
  100. package/src/components/atoms/TabSectionv2/styles.js +20 -0
  101. package/src/components/atoms/TooltipLight/Tooltip.stories.js +20 -0
  102. package/src/components/atoms/TooltipLight/index.js +46 -0
  103. package/src/components/atoms/TooltipLight/styles.js +65 -0
  104. package/src/components/atoms/WordsMissing/Wysiwyg.stories.js +12 -0
  105. package/src/components/atoms/WordsMissing/index.js +60 -0
  106. package/src/components/atoms/WordsMissing/styles.js +10 -0
  107. package/src/components/molecules/AddGroup/AddGroup.stories.js +15 -0
  108. package/src/components/molecules/AddGroup/index.js +84 -0
  109. package/src/components/molecules/AddGroup/styles.js +141 -0
  110. package/src/components/molecules/AsignationInfo/AsignationInfo.stories.js +17 -0
  111. package/src/components/molecules/AsignationInfo/index.js +108 -0
  112. package/src/components/molecules/AsignationInfo/styles.js +86 -0
  113. package/src/components/molecules/BoxAttribute/index.js +32 -25
  114. package/src/components/molecules/BoxAttribute/styles.js +1 -1
  115. package/src/components/molecules/BoxButtons/index.js +23 -22
  116. package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
  117. package/src/components/molecules/EditionActiveImagev2/EditionActiveImagev2.stories.js +12 -0
  118. package/src/components/molecules/EditionActiveImagev2/index.js +15 -0
  119. package/src/components/molecules/EditionActiveImagev2/styles.js +7 -0
  120. package/src/components/molecules/EditionTabs/EditionTabs.stories.js +12 -0
  121. package/src/components/molecules/EditionTabs/index.js +33 -0
  122. package/src/components/molecules/EditionTabs/styles.js +24 -0
  123. package/src/components/molecules/FeaturesBarv2/FeaturesBarv2.stories.js +20 -0
  124. package/src/components/molecules/FeaturesBarv2/index.js +32 -0
  125. package/src/components/molecules/FeaturesBarv2/styles.js +17 -0
  126. package/src/components/molecules/GalleryElement/index.js +76 -1
  127. package/src/components/molecules/GalleryElementv2/GalleryElementv2.stories.js +30 -0
  128. package/src/components/molecules/GalleryElementv2/index.js +142 -0
  129. package/src/components/molecules/GalleryElementv2/styles.js +119 -0
  130. package/src/components/molecules/GalleryHeader/index.js +1 -0
  131. package/src/components/molecules/GalleryHeaderv2/GalleryHeaderv2.stories.js +10 -0
  132. package/src/components/molecules/GalleryHeaderv2/index.js +25 -0
  133. package/src/components/molecules/GalleryHeaderv2/styles.js +47 -0
  134. package/src/components/molecules/GroupSelect/GroupSelect.stories.js +35 -0
  135. package/src/components/molecules/GroupSelect/SelectItem.js +105 -0
  136. package/src/components/molecules/GroupSelect/index.js +190 -0
  137. package/src/components/molecules/GroupSelect/styles.js +124 -0
  138. package/src/components/molecules/HeaderTop/index.js +52 -6
  139. package/src/components/molecules/HeaderTopv2/HeaderTopv2.stories.js +10 -0
  140. package/src/components/molecules/HeaderTopv2/index.js +100 -0
  141. package/src/components/molecules/HeaderTopv2/styles.js +33 -0
  142. package/src/components/molecules/ImageSelectorv2/ImageSelectorv2.stories.js +46 -0
  143. package/src/components/molecules/ImageSelectorv2/index.js +22 -0
  144. package/src/components/molecules/ImageSelectorv2/styles.js +15 -0
  145. package/src/components/molecules/Phase/Phase.stories.js +107 -0
  146. package/src/components/molecules/Phase/index.js +391 -0
  147. package/src/components/molecules/Phase/styles.js +97 -0
  148. package/src/components/molecules/ProductNameHeader/index.js +19 -1
  149. package/src/components/molecules/ProductNameHeaderv2/ProductNameHeaderv2.stories.js +37 -0
  150. package/src/components/molecules/ProductNameHeaderv2/index.js +12 -0
  151. package/src/components/molecules/ProductNameHeaderv2/styles.js +10 -0
  152. package/src/components/molecules/ProductSkuStatus/ProductSkuStatus.stories.js +37 -0
  153. package/src/components/molecules/ProductSkuStatus/index.js +26 -0
  154. package/src/components/molecules/ProductSkuStatus/styles.js +7 -0
  155. package/src/components/molecules/RetailerSelectorv2/RetailerSelectorv2.stories.js +35 -0
  156. package/src/components/molecules/RetailerSelectorv2/index.js +80 -0
  157. package/src/components/molecules/RetailerSelectorv2/styles.js +21 -0
  158. package/src/components/molecules/ServiceDataValidator/ServiceDataValidator.stories.js +90 -0
  159. package/src/components/molecules/ServiceDataValidator/index.js +49 -0
  160. package/src/components/molecules/ServiceDataValidator/styles.js +36 -0
  161. package/src/components/molecules/SignInLogin/index.js +11 -11
  162. package/src/components/molecules/StatusAsignationInfo/FinancedCompanies.js +501 -63
  163. package/src/components/molecules/StatusAsignationInfo/index.js +1 -1
  164. package/src/components/molecules/StatusRetailer/StatusAsignationInfo.stories.js +17 -0
  165. package/src/components/molecules/StatusRetailer/index.js +55 -0
  166. package/src/components/molecules/StatusRetailer/styles.js +85 -0
  167. package/src/components/molecules/StripeCardSelector/CardSelector.stories.js +1 -2
  168. package/src/components/molecules/TabsMenuv2/TabsMenuv2.stories.js +19 -0
  169. package/src/components/molecules/TabsMenuv2/index.js +112 -0
  170. package/src/components/molecules/TabsMenuv2/styles.js +19 -0
  171. package/src/components/molecules/TagAndInput/index.js +8 -6
  172. package/src/components/molecules/TagAndInputv2/TagAndInputv2.stories.js +24 -0
  173. package/src/components/molecules/TagAndInputv2/index.js +86 -0
  174. package/src/components/molecules/TagAndInputv2/styles.js +35 -0
  175. package/src/components/molecules/Validation/Validation.stories.js +12 -0
  176. package/src/components/molecules/Validation/index.js +77 -0
  177. package/src/components/molecules/Validation/styles.js +19 -0
  178. package/src/components/molecules/VersionItemv2/VersionItemv2.stories.js +14 -0
  179. package/src/components/molecules/VersionItemv2/index.js +59 -0
  180. package/src/components/molecules/VersionItemv2/styles.js +47 -0
  181. package/src/components/organisms/BarButtons/BarButtons.stories.js +13 -0
  182. package/src/components/organisms/BarButtons/index.js +150 -0
  183. package/src/components/organisms/BarButtons/styles.js +54 -0
  184. package/src/components/organisms/Chat/Chat.stories.js +27 -7
  185. package/src/components/organisms/Chat/ContainerItems/index.js +18 -2
  186. package/src/components/organisms/Chat/ContainerItems/styles.js +14 -2
  187. package/src/components/organisms/Chat/ContentChat/index.js +88 -12
  188. package/src/components/organisms/Chat/Footer/index.js +11 -0
  189. package/src/components/organisms/Chat/index.js +46 -4
  190. package/src/components/organisms/Chat/styles.js +4 -0
  191. package/src/components/organisms/Chatv2/ChatLists/ChatLists.stories.js +65 -0
  192. package/src/components/organisms/Chatv2/ChatLists/Rotoplas.jpeg +0 -0
  193. package/src/components/organisms/Chatv2/ChatLists/THD.png +0 -0
  194. package/src/components/organisms/Chatv2/ChatLists/index.js +141 -0
  195. package/src/components/organisms/Chatv2/ChatLists/styles.js +162 -0
  196. package/src/components/organisms/Chatv2/Chatv2.stories.js +184 -0
  197. package/src/components/organisms/Chatv2/ContainerItems/ContainerItems.stories.js +142 -0
  198. package/src/components/organisms/Chatv2/ContainerItems/index.js +538 -0
  199. package/src/components/organisms/Chatv2/ContainerItems/styles.js +360 -0
  200. package/src/components/organisms/Chatv2/ContentChat/ContentChat.stories.js +102 -0
  201. package/src/components/organisms/Chatv2/ContentChat/Rotoplas.jpeg +0 -0
  202. package/src/components/organisms/Chatv2/ContentChat/THD.png +0 -0
  203. package/src/components/organisms/Chatv2/ContentChat/index.js +1016 -0
  204. package/src/components/organisms/Chatv2/ContentChat/styles.js +44 -0
  205. package/src/components/organisms/Chatv2/Footer/Footer.stories.js +22 -0
  206. package/src/components/organisms/Chatv2/Footer/index.js +668 -0
  207. package/src/components/organisms/Chatv2/Footer/styles.js +290 -0
  208. package/src/components/organisms/Chatv2/Header/Header.stories.js +66 -0
  209. package/src/components/organisms/Chatv2/Header/index.js +93 -0
  210. package/src/components/organisms/Chatv2/Header/styles.js +49 -0
  211. package/src/components/organisms/Chatv2/index.js +281 -0
  212. package/src/components/organisms/Chatv2/styles.js +85 -0
  213. package/src/components/organisms/CompleteServices/CompleteServices.stories.js +91 -0
  214. package/src/components/organisms/CompleteServices/index.js +82 -0
  215. package/src/components/organisms/CompleteServices/styles.js +35 -0
  216. package/src/components/organisms/DashboardMetric/index.js +6 -3
  217. package/src/components/organisms/DragAndDropPhases/DragAndDropPhases.stories.js +13 -0
  218. package/src/components/organisms/DragAndDropPhases/index.js +336 -0
  219. package/src/components/organisms/DragAndDropPhases/styles.js +107 -0
  220. package/src/components/organisms/DragPrueba/DragPrueba.stories.js +12 -0
  221. package/src/components/organisms/DragPrueba/index.js +57 -0
  222. package/src/components/organisms/DragPrueba/styles.js +8 -0
  223. package/src/components/organisms/EditGroup/EditGroup.stories.js +20 -0
  224. package/src/components/organisms/EditGroup/index.js +321 -0
  225. package/src/components/organisms/EditGroup/styles.js +207 -0
  226. package/src/components/organisms/FullProductNameHeader/index.js +13 -1
  227. package/src/components/organisms/FullProductNamev2/FullProductNamev2.stories.js +28 -0
  228. package/src/components/organisms/FullProductNamev2/index.js +101 -0
  229. package/src/components/organisms/FullProductNamev2/styles.js +49 -0
  230. package/src/components/organisms/FullTabsMenuv2/FullTabsMenuv2.stories.js +22 -0
  231. package/src/components/organisms/FullTabsMenuv2/index.js +142 -0
  232. package/src/components/organisms/FullTabsMenuv2/styles.js +47 -0
  233. package/src/components/organisms/GridProducts/GridProducts.stories.js +682 -107
  234. package/src/components/organisms/ImageDataTablev2/ImageDataTablev2.stories.js +24 -0
  235. package/src/components/organisms/ImageDataTablev2/index.js +124 -0
  236. package/src/components/organisms/ImageDataTablev2/styles.js +18 -0
  237. package/src/components/organisms/ImagePreviewerv2/ImagePreviewerv2.stories.js +38 -0
  238. package/src/components/organisms/ImagePreviewerv2/index.js +22 -0
  239. package/src/components/organisms/ImagePreviewerv2/styles.js +7 -0
  240. package/src/components/organisms/ImageUploader/ImageUploader.stories.js +15 -0
  241. package/src/components/organisms/ImageUploader/index.js +62 -0
  242. package/src/components/organisms/ImageUploader/styles.js +29 -0
  243. package/src/components/organisms/ImageVisor/ImageVisor.stories.js +15 -0
  244. package/src/components/organisms/ImageVisor/index.js +143 -0
  245. package/src/components/organisms/ImageVisor/styles.js +106 -0
  246. package/src/components/organisms/InputGroup/index.js +292 -144
  247. package/src/components/organisms/InputGroup/styles.js +31 -0
  248. package/src/components/organisms/InputGroupv2/InputGroupv2.stories.js +31 -0
  249. package/src/components/organisms/InputGroupv2/index.js +296 -0
  250. package/src/components/organisms/InputGroupv2/styles.js +90 -0
  251. package/src/components/organisms/MandatoryBar/MandatoryBar.stories.js +18 -0
  252. package/src/components/organisms/MandatoryBar/index.js +31 -0
  253. package/src/components/organisms/MandatoryBar/styles.js +12 -0
  254. package/src/components/organisms/Modal/Modal.stories.js +2 -1
  255. package/src/components/organisms/Modal/index.js +9 -2
  256. package/src/components/organisms/Modal/styles.js +8 -1
  257. package/src/components/organisms/OrderDetail/utils/Table/utils.js +6 -16
  258. package/src/components/organisms/ProductImageModalv2/ProductImageModalv2.stories.js +90 -0
  259. package/src/components/organisms/ProductImageModalv2/index.js +105 -0
  260. package/src/components/organisms/ProductImageModalv2/styles.js +71 -0
  261. package/src/components/organisms/RenameImagesBar/RenameImagesBar.stories.js +18 -0
  262. package/src/components/organisms/RenameImagesBar/index.js +30 -0
  263. package/src/components/organisms/RenameImagesBar/styles.js +12 -0
  264. package/src/components/organisms/Table/Table.stories.js +609 -0
  265. package/src/components/organisms/Table/index.js +84 -0
  266. package/src/components/organisms/Table/styles.js +114 -0
  267. package/src/components/organisms/VersionSelectorv2/VersionSelectorv2.stories.js +15 -0
  268. package/src/components/organisms/VersionSelectorv2/index.js +105 -0
  269. package/src/components/organisms/VersionSelectorv2/styles.js +45 -0
  270. package/src/components/pages/Dashboard/Dashboard.stories.js +33 -38
  271. package/src/components/pages/Dashboard/index.js +36 -7
  272. package/src/components/pages/MultipleEdition/MultipleEdition.stories.js +17 -0
  273. package/src/components/pages/MultipleEdition/components/ImageUploader.js +62 -0
  274. package/src/components/pages/MultipleEdition/components/ImageUploaderStyles.js +29 -0
  275. package/src/components/pages/MultipleEdition/components/ImageVisor.js +143 -0
  276. package/src/components/pages/MultipleEdition/components/styles.js +106 -0
  277. package/src/components/pages/MultipleEdition/index.js +248 -0
  278. package/src/components/pages/MultipleEdition/saveData.js +92 -0
  279. package/src/components/pages/MultipleEdition/styles.js +201 -0
  280. package/src/components/pages/MultipleEdition/utils.js +1073 -0
  281. package/src/components/pages/ProductEditionv2/ProductEditionv2.stories.js +213 -0
  282. package/src/components/pages/ProductEditionv2/index.js +1758 -0
  283. package/src/components/pages/ProductEditionv2/styles.js +154 -0
  284. package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +56 -60
  285. package/src/components/pages/ProviderProductEdition/index.js +148 -133
  286. package/src/components/pages/ProviderProductEdition/styles.js +5 -1
  287. package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +4 -0
  288. package/src/components/pages/RetailerProductEdition/generateThumnail.js +21 -0
  289. package/src/components/pages/RetailerProductEdition/index.js +293 -300
  290. package/src/components/pages/RetailerProductEdition/styles.js +4 -0
  291. package/src/components/pages/RetailerProductEdition/utils.js +37 -0
  292. package/src/global-files/data.js +6 -10
  293. package/src/global-files/variables.js +6 -0
  294. package/src/index.js +12 -0
@@ -0,0 +1,336 @@
1
+ import React, { useState, useEffect, useRef } from "react";
2
+ import { Container, Header } from "./styles";
3
+ import { Phase } from "../../molecules/Phase";
4
+ import { ButtonV2 } from "../../atoms/ButtonV2";
5
+ import { Modal } from "../Modal";
6
+ import axios from "axios";
7
+
8
+ export const DragAndDropPhases = ({ token }) => {
9
+ const [draggedItem, setDraggedItem] = useState(null);
10
+ const [listPhases, setListPhases]= useState([]);
11
+ const [tempListPhases, setTempListPhases] = useState([]);
12
+ const [search, setSearch] = useState();
13
+ const [newPhaseName, setNewPhaseName] = useState("");
14
+ const [inputValue, setInputValue] = useState("");
15
+ const [modalData, setModalData] = useState({
16
+ show: false,
17
+ title: "Actualización completa",
18
+ message: "",
19
+ icon: "success",
20
+ });
21
+ const newPhaseNameRef = useRef("");
22
+
23
+ useEffect(() => loadData(),[]);
24
+
25
+ useEffect(() => {
26
+ setNewPhaseName((prev) => prev + inputValue);
27
+ }, [inputValue]);
28
+
29
+ useEffect(() => {
30
+ newPhaseNameRef.current = search;
31
+ }, [newPhaseName]);
32
+
33
+ const handleInputChange = (e) => {
34
+ setInputValue(e.target.value);
35
+ };
36
+
37
+
38
+ const onDragStart = (e, id) => {
39
+ e.dataTransfer.effectAllowed = "move";
40
+ e.dataTransfer.setData("text/html", e.target.parentNode);
41
+ e.dataTransfer.setDragImage(e.target.parentNode, 20, 20);
42
+ setDraggedItem(id);
43
+ };
44
+
45
+ const onDragOver = (index) => {
46
+ const draggedIdx = tempListPhases.findIndex(
47
+ (phase) => phase.phaseId === draggedItem
48
+ );
49
+ const draggedItemData = tempListPhases[draggedIdx];
50
+ const targetIdx = index;
51
+ const newTempListPhases = [...tempListPhases];
52
+ newTempListPhases.splice(draggedIdx, 1);
53
+ newTempListPhases.splice(targetIdx, 0, draggedItemData);
54
+ setTempListPhases(newTempListPhases);
55
+
56
+ };
57
+
58
+
59
+ const onDragEnd = () => {
60
+ setDraggedItem(null);
61
+ };
62
+
63
+ const updatePhases = async () => {
64
+ try {
65
+ const updateData = {
66
+ updateReferencesOfNodes: listPhases.map((phase) => ({
67
+ name:phase.phaseName,
68
+ isInitialPhase: phase.isInitialPhase,
69
+ phaseId: phase.phaseId,
70
+ nextPhaseIfApproved: phase.nextPhaseIfApproved,
71
+ }))
72
+ };
73
+
74
+ const response = await axios.post(
75
+ `${process.env.REACT_APP_PHASES_ENDPOINT}/update`,
76
+ updateData,
77
+ {
78
+ headers: {
79
+ Authorization: token,
80
+ },
81
+ }
82
+ );
83
+ console.log("Update response:", response.body.data);
84
+ loadData();
85
+ } catch (error) {
86
+ console.error("Error al actualizar fases", error);
87
+ }
88
+ };
89
+
90
+ const addPhase = async(search) => {
91
+ try {
92
+ const body = {
93
+ name: search,
94
+ retailerGroupsIds: [],
95
+ nextPhaseId: null
96
+ }
97
+ const response = await axios.post(
98
+ `${process.env.REACT_APP_PHASES_ENDPOINT}/create`,
99
+ body,
100
+ {
101
+ headers: {
102
+ Authorization: token,
103
+ },
104
+ }
105
+ );
106
+ const createdPhase = response.data.body;
107
+ console.log(createdPhase)
108
+ setSearch();
109
+ setInputValue("");
110
+ loadData();
111
+ } catch (error) {
112
+ console.error("Error al agregar fase:", error);
113
+ }
114
+ }
115
+
116
+ const deletePhase = async(id, phases) => {
117
+ try {
118
+ const response = await axios.post(
119
+ `${process.env.REACT_APP_PHASES_ENDPOINT}/delete`,
120
+ {
121
+ updateReferencesOfNodes:phases,
122
+ deletePhase:id
123
+ },
124
+ {
125
+ headers: {
126
+ Authorization: token,
127
+ },
128
+ }
129
+ );
130
+ loadData();
131
+ } catch (error) {
132
+ console.error("Error al eliminar fase:", error);
133
+ }
134
+ }
135
+
136
+ const handleAddPhaseButton = () => {
137
+ setModalData({
138
+ show: true,
139
+ className:"modal-add-phase",
140
+ title:"Agregar fase de revisión",
141
+ buttons: [
142
+ <ButtonV2
143
+ key="btn-Cancelar"
144
+ type="white"
145
+ label="Cancelar"
146
+ size={12}
147
+ onClick={() => {
148
+ setModalData((prev) => ({ ...prev, show: false }))
149
+ }}
150
+ />,
151
+ <ButtonV2
152
+ key="btn-Guardar"
153
+ type="pink"
154
+ label="Guardar"
155
+ size={12}
156
+ onClick={() => {
157
+ setModalData((prev) => ({ ...prev, show: false }));
158
+ handleSavePhase(search);
159
+ }}
160
+ />
161
+ ],
162
+ customComponent: (
163
+ <div className="container-input-name">
164
+ <p>Las fases nuevas siempre se agregan al final.<br/>Puedes ordenar las fases arrastrándolas.</p>
165
+ <input
166
+ type="text"
167
+ className="input-phases"
168
+ onChange={(e) => {
169
+ setSearch(e.target.value);
170
+ handleInputChange(e);
171
+ }}
172
+ value={search}
173
+ placeholder="Nombre de fase"
174
+ ></input>
175
+ </div>
176
+ ),
177
+ });
178
+ };
179
+
180
+ const handleSavePhase = () => {
181
+ addPhase(newPhaseNameRef.current);
182
+ setInputValue("");
183
+ };
184
+
185
+ const loadData = async () => {
186
+ try {
187
+ const response = await axios.post(
188
+ `${process.env.REACT_APP_PHASES_ENDPOINT}/get`,
189
+ {},
190
+ {
191
+ headers: {
192
+ Authorization: token,
193
+ },
194
+ }
195
+ );
196
+ const phasesData = JSON.parse(response.data.body).data;
197
+ const phasesDataArray = [];
198
+
199
+ phasesData.forEach(({ phaseId, phaseName, isInitialPhase, nextPhaseIfApproved, groups }) => {
200
+ const groupsAssigned = groups.map(({ id, name, active }) => ({
201
+ groupId: id,
202
+ groupName: name,
203
+ groupActive: active,
204
+ }));
205
+
206
+ phasesDataArray.push({
207
+ phaseId,
208
+ phaseName,
209
+ isInitialPhase,
210
+ nextPhaseIfApproved,
211
+ groupsAssigned,
212
+ });
213
+ });
214
+ setListPhases(phasesDataArray);
215
+ setTempListPhases(phasesDataArray);
216
+ } catch (error) {
217
+ console.error("Error al obtener fases:", error);
218
+ }
219
+ };
220
+
221
+ const handleDeletePhase = (id) => {
222
+ const updatedListPhases = [...listPhases];
223
+
224
+ const filteredPhases = updatedListPhases.filter((phase) => phase.phaseId !== id);
225
+ setListPhases(filteredPhases);
226
+ setModalData({
227
+ show: true,
228
+ className: "modal-delete-phase",
229
+ message: "Fase eliminada correctamente.",
230
+ icon: "successv2",
231
+ buttons: [
232
+ <ButtonV2
233
+ key="btn-Aceptar"
234
+ type="pink"
235
+ label="Aceptar"
236
+ size={12}
237
+ onClick={() => {
238
+ setModalData((prev) => ({ ...prev, show: false }));
239
+ }}
240
+ />,
241
+ ],
242
+ });
243
+ deletePhase(id, filteredPhases)
244
+ };
245
+
246
+ const renderPhase = (phase, idx) => {
247
+ if (phase.isInitialPhase===1){
248
+ return (
249
+ <Phase
250
+ key={phase.phaseId}
251
+ id={idx}
252
+ phaseId={phase.phaseId}
253
+ phases={listPhases}
254
+ phaseName={phase.phaseName}
255
+ nextPhase={phase.nextPhaseIfApproved}
256
+ groups={phase.groupsAssigned}
257
+ onDeletePhase={() => handleDeletePhase(phase.phaseId)}
258
+ token={token}
259
+ showMenu={false}
260
+ showButtonChip={false}
261
+ />
262
+ );
263
+ }else{
264
+ return (
265
+ <Phase
266
+ key={phase.phaseId}
267
+ id={idx}
268
+ phaseId={phase.phaseId}
269
+ phases={listPhases}
270
+ phaseName={phase.phaseName}
271
+ nextPhase={phase.nextPhaseIfApproved}
272
+ groups={phase.groupsAssigned}
273
+ onDeletePhase={() => handleDeletePhase(phase.phaseId)}
274
+ // onDragStart={(e) => onDragStart(e, idx)}
275
+ // onDragOver={() => onDragOver(idx)}
276
+ // onDragEnd={onDragEnd}
277
+ token={token}
278
+ />
279
+ );
280
+ }
281
+
282
+ };
283
+
284
+
285
+ return (
286
+ <Container>
287
+ <Header>
288
+ <button className="button-phase" onClick={handleAddPhaseButton}>
289
+ Agregar fase de revisión
290
+ </button>
291
+ <ButtonV2
292
+ key="btn-Guardar"
293
+ className="button-save"
294
+ type="pink"
295
+ label="Guardar Cambios"
296
+ size={12}
297
+ onClick={() => {
298
+ setListPhases(tempListPhases)
299
+ updatePhases();
300
+ setModalData({
301
+ show: true,
302
+ className: "modal-save",
303
+ message: "Cambios aplicados correctamente.",
304
+ icon: "successv2",
305
+ buttons: [
306
+ <ButtonV2
307
+ key="btn-Aceptar"
308
+ type="pink"
309
+ label="Aceptar"
310
+ size={12}
311
+ onClick={() => {
312
+ setModalData((prev) => ({ ...prev, show: false }));
313
+ }}
314
+ />,
315
+ ],
316
+ })
317
+ loadData();
318
+ }}
319
+ ></ButtonV2>
320
+ </Header>
321
+ {listPhases.length > 0 ? (
322
+ <ul>{listPhases.map((phase, idx) => renderPhase(phase, idx))}</ul>
323
+ ) : (
324
+ <div className="no-phases-container">
325
+ <p>Parece que aun no tienes fases disponibles.</p>
326
+ </div>
327
+ )}
328
+ <Modal
329
+ {...modalData}
330
+ onClickBtnDefault={() =>
331
+ setModalData((prev) => ({ ...prev, show: false }))
332
+ }
333
+ ></Modal>
334
+ </Container>
335
+ );
336
+ };
@@ -0,0 +1,107 @@
1
+ import styled from "styled-components";
2
+ import { GlobalColors, FontFamily } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ display:flex;
6
+ flex-direction: column;
7
+ gap:20px;
8
+ width:100%;
9
+ ul{
10
+ display:flex;
11
+ flex-direction:column;
12
+ width:100%;
13
+ gap:10px;
14
+ }
15
+ .item{
16
+ display:flex;
17
+ width:100%;
18
+ }
19
+ .drag{
20
+ width:100%;
21
+ }
22
+ .container-input-name{
23
+ p{
24
+ font-family: ${FontFamily.RobotoRegular}, sans-serif;
25
+ font-size: 12px;
26
+ font-weight: 400;
27
+ line-height: 14px;
28
+ letter-spacing: 0em;
29
+ text-align: left;
30
+ color: ${GlobalColors.gray};
31
+ margin-bottom:15px;
32
+ }
33
+ .input-phases{
34
+ width:100%;
35
+ height: 30px;
36
+ padding: 8px 10px;
37
+ border-radius: 5px;
38
+ border: 1px solid ${GlobalColors.gray_light};
39
+ ::placeholder {
40
+ font-family: ${FontFamily.RobotoRegular}, sans-serif;
41
+ font-size: 12px;
42
+ font-weight: 400;
43
+ line-height: 14px;
44
+ letter-spacing: 0em;
45
+ text-align: left;
46
+ color: #CBCBCB;
47
+ }
48
+ }
49
+ }
50
+ .modal-add-phase {
51
+ .contentModal{
52
+ min-width:310px;
53
+ }
54
+ header .label-title{
55
+ text-align: left;
56
+ }
57
+ .container-buttons{
58
+ justify-content: flex-end;
59
+ }
60
+ }
61
+ .no-phases-container {
62
+ display: flex;
63
+ flex-direction:column;
64
+ gap:10px;
65
+ align-items: center;
66
+ border-radius:10px;
67
+ border:1px solid ${GlobalColors.gray_light};
68
+ padding:10px 15px;
69
+ font-family:${FontFamily.Roboto}, sans-serif;
70
+ font-size:12px;
71
+ }
72
+ `;
73
+
74
+ export const Header = styled.div`
75
+ width:100%;
76
+ display: flex;
77
+ justify-content: space-between;
78
+ margin-top:10px;
79
+ .button-phase {
80
+ cursor: pointer;
81
+ padding: 9px 18px;
82
+ background-color: #ffffff;
83
+ border-radius: 30px;
84
+ font-family: RobotoMedium, sans-serif;
85
+ font-style: normal;
86
+ font-weight: 500;
87
+ font-size: 12px;
88
+ line-height: 14px;
89
+ border: none;
90
+ color: #e33aa9;
91
+ border:1px solid #e33aa9;
92
+ }
93
+ .button-save {
94
+ cursor: pointer;
95
+ font-family: RobotoMedium, sans-serif;
96
+ font-style: normal;
97
+ font-weight: 500;
98
+ border: none;
99
+ button{
100
+ padding: 9px 18px;
101
+ }
102
+ }
103
+ .modal-save{
104
+ width:20%;
105
+ background:transparent;
106
+ }
107
+ `;
@@ -0,0 +1,12 @@
1
+ import { DragPrueba } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/DragPrueba",
5
+ component: DragPrueba,
6
+ };
7
+
8
+ const Template = (args) => <DragPrueba {...args} />;
9
+
10
+ export const DragPruebaDefault = Template.bind({});
11
+ DragPruebaDefault.args = {
12
+ }
@@ -0,0 +1,57 @@
1
+ import React, { useState } from "react";
2
+ import { Container } from "./styles";
3
+ import { FontFamily, GlobalColors } from "../../../global-files/variables";
4
+ import { ServiceDataValidator } from "../../molecules/ServiceDataValidator";
5
+ import { Button } from "../../atoms/GeneralButton";
6
+ import { IconInfo } from "@aws-amplify/ui-react";
7
+
8
+ export const DragPrueba = ({
9
+
10
+ }) => {
11
+ const [items, setItems] = useState(["🍰 Cake", "🍩 Donut", "🍎 Apple", "🍕 Pizza"]);
12
+ const [draggedItem, setDraggedItem] = useState(null);
13
+
14
+ const onDragStart = (e, idx) => {
15
+ e.dataTransfer.effectAllowed = "move";
16
+ e.dataTransfer.setData("text/html", e.target.parentNode);
17
+ e.dataTransfer.setDragImage(e.target.parentNode, 20, 20);
18
+ setDraggedItem(items[idx]);
19
+ };
20
+
21
+ const onDragOver = (index) => {
22
+ if (!draggedItem) {
23
+ return;
24
+ }
25
+ if (draggedItem === items[index]) {
26
+ return;
27
+ }
28
+ let updatedItems = items.filter((item) => item !== draggedItem);
29
+ updatedItems.splice(index, 0, draggedItem);
30
+ setItems(updatedItems);
31
+ };
32
+
33
+ const onDragEnd = () => {
34
+ setDraggedItem(null);
35
+ };
36
+
37
+ return (
38
+ <Container>
39
+ <h3>List of items</h3>
40
+ <ul>
41
+ {items.map((item, idx) => (
42
+ <li className="item" key={item} onDragOver={() => onDragOver(idx)}>
43
+ <div
44
+ className="drag"
45
+ draggable
46
+ onDragStart={(e) => onDragStart(e, idx)}
47
+ onDragEnd={onDragEnd}
48
+ >
49
+ <IconInfo />
50
+ </div>
51
+ {item}
52
+ </li>
53
+ ))}
54
+ </ul>
55
+ </Container>
56
+ );
57
+ };
@@ -0,0 +1,8 @@
1
+ import styled from "styled-components";
2
+ import { GlobalColors, FontFamily } from "../../../global-files/variables";
3
+
4
+ export const Container = styled.div`
5
+ .item{
6
+ display:flex;
7
+ }
8
+ `;
@@ -0,0 +1,20 @@
1
+ import { EditGroup } from "./index";
2
+
3
+ export default {
4
+ title: "Components/organisms/EditGroup",
5
+ component: EditGroup,
6
+ };
7
+
8
+ const Template = (args) => <EditGroup {...args} />;
9
+
10
+
11
+ export const EditGroupDefault = Template.bind({});
12
+ EditGroupDefault.args = {
13
+ show:true,
14
+ groups : [
15
+ { groupName: 'Impuestos', editing: false },
16
+ { groupName: 'Legal', editing: false },
17
+ { groupName: 'Datos Maestros', editing: false },
18
+ ],
19
+ token:"eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIxZmFjNjY2Ny1hMDMzLTQ1NjAtOWU5ZC01MTQwMDc2MmI2MWYiLCJjb2duaXRvOmdyb3VwcyI6WyJ1c3VhcmlvX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjpmYWxzZSwiY29nbml0bzp1c2VybmFtZSI6IjFmYWM2NjY3LWEwMzMtNDU2MC05ZTlkLTUxNDAwNzYyYjYxZiIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiI4ZGIyZjdhZS01ZGFlLTQ3NDAtOGRiYS04YWYzYzQyNmIyOTkiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTcwMzc4Mzk0NywibmFtZSI6IlJhZGlvc2NoYWNrIE9uYm9hcmRpbmciLCJwaG9uZV9udW1iZXIiOiIrNTIxMjM0NTY3ODk4IiwiZXhwIjoxNzAzNzg3NTQ3LCJpYXQiOjE3MDM3ODM5NDcsImVtYWlsIjoicmFkaW9zaGFja2Ryb3BzaGlwQGFsbGZyZWVtYWlsLm5ldCJ9.kE0DTZhG3QNJCcVACjWQd4nm-QQKRU9n2jHwC9XtNC9H3Xz7T2F80qxcOUkaOU1IwuJLhxThzpJ9rMKS5XgyjSz_SO7nUQZFY4_vLXgmVowaV798kXRpP5uuUVPJ0b07BMjw12_k0QLeOiAfs4gP4micwedD8ItmsxfjJvv6OPir5NX0KgBjgd5OSlCafgH72yZX8SNmiCyzZkQIEO0MNLwEiIm2COgu4MwvFd73CnlJYYQa-WjCnhB35jgoc8gLpFUfBjgpMUSNRZU2Ndzt9CNuQ6he6RwsVmteMgm0e2Fyn_viRhOsMMxbP8wDXnA9pXwZHB2P-DqXYKhC4blsVA"
20
+ }