contentoh-components-library 21.6.40 → 21.6.42

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.
@@ -162,75 +162,75 @@ function regenerateVideoThumbnails(_x) {
162
162
  }
163
163
 
164
164
  function _regenerateVideoThumbnails() {
165
- _regenerateVideoThumbnails = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18(values) {
166
- return _regenerator.default.wrap(function _callee18$(_context18) {
165
+ _regenerateVideoThumbnails = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(values) {
166
+ return _regenerator.default.wrap(function _callee19$(_context19) {
167
167
  while (1) {
168
- switch (_context18.prev = _context18.next) {
168
+ switch (_context19.prev = _context19.next) {
169
169
  case 0:
170
170
  if (Array.isArray(values)) {
171
- _context18.next = 2;
171
+ _context19.next = 2;
172
172
  break;
173
173
  }
174
174
 
175
- return _context18.abrupt("return", values);
175
+ return _context19.abrupt("return", values);
176
176
 
177
177
  case 2:
178
- return _context18.abrupt("return", Promise.all(values.map( /*#__PURE__*/function () {
179
- var _ref22 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17(value) {
178
+ return _context19.abrupt("return", Promise.all(values.map( /*#__PURE__*/function () {
179
+ var _ref23 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18(value) {
180
180
  var base64, videoSrc, thumbnail;
181
- return _regenerator.default.wrap(function _callee17$(_context17) {
181
+ return _regenerator.default.wrap(function _callee18$(_context18) {
182
182
  while (1) {
183
- switch (_context17.prev = _context17.next) {
183
+ switch (_context18.prev = _context18.next) {
184
184
  case 0:
185
185
  if (!((value === null || value === void 0 ? void 0 : value.ext) !== "mp4" || !(value !== null && value !== void 0 && value.srcDB))) {
186
- _context17.next = 2;
186
+ _context18.next = 2;
187
187
  break;
188
188
  }
189
189
 
190
- return _context17.abrupt("return", value);
190
+ return _context18.abrupt("return", value);
191
191
 
192
192
  case 2:
193
- _context17.prev = 2;
194
- _context17.next = 5;
193
+ _context18.prev = 2;
194
+ _context18.next = 5;
195
195
  return convertirVideoABase64("https://" + process.env.REACT_APP_IMAGES_BUCKET + ".s3.amazonaws.com/" + value.srcDB);
196
196
 
197
197
  case 5:
198
- base64 = _context17.sent;
198
+ base64 = _context18.sent;
199
199
  videoSrc = "data:video/mp4;base64," + base64.split(",")[1];
200
- _context17.next = 9;
200
+ _context18.next = 9;
201
201
  return (0, _generateThumnail.default)(videoSrc, 2);
202
202
 
203
203
  case 9:
204
- thumbnail = _context17.sent;
205
- return _context17.abrupt("return", (0, _objectSpread5.default)((0, _objectSpread5.default)({}, value), {}, {
204
+ thumbnail = _context18.sent;
205
+ return _context18.abrupt("return", (0, _objectSpread5.default)((0, _objectSpread5.default)({}, value), {}, {
206
206
  src: thumbnail
207
207
  }));
208
208
 
209
209
  case 13:
210
- _context17.prev = 13;
211
- _context17.t0 = _context17["catch"](2);
212
- console.error("Error al generar thumbnail del video:", _context17.t0);
213
- return _context17.abrupt("return", value);
210
+ _context18.prev = 13;
211
+ _context18.t0 = _context18["catch"](2);
212
+ console.error("Error al generar thumbnail del video:", _context18.t0);
213
+ return _context18.abrupt("return", value);
214
214
 
215
215
  case 17:
216
216
  case "end":
217
- return _context17.stop();
217
+ return _context18.stop();
218
218
  }
219
219
  }
220
- }, _callee17, null, [[2, 13]]);
220
+ }, _callee18, null, [[2, 13]]);
221
221
  }));
222
222
 
223
223
  return function (_x10) {
224
- return _ref22.apply(this, arguments);
224
+ return _ref23.apply(this, arguments);
225
225
  };
226
226
  }())));
227
227
 
228
228
  case 3:
229
229
  case "end":
230
- return _context18.stop();
230
+ return _context19.stop();
231
231
  }
232
232
  }
233
- }, _callee18);
233
+ }, _callee19);
234
234
  }));
235
235
  return _regenerateVideoThumbnails.apply(this, arguments);
236
236
  }
@@ -252,7 +252,6 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
252
252
  saveDatasheets = _useProviderProductEd.saveDatasheets,
253
253
  saveDescriptions = _useProviderProductEd.saveDescriptions,
254
254
  updateImages = _useProviderProductEd.updateImages,
255
- saveImageAttrs = _useProviderProductEd.saveImageAttrs,
256
255
  deleteImages = _useProviderProductEd.deleteImages,
257
256
  handleOnDownloadImages = _useProviderProductEd.handleOnDownloadImages,
258
257
  createComment = _useProviderProductEd.createComment;
@@ -1156,13 +1155,38 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1156
1155
  return currentStatus;
1157
1156
  };
1158
1157
 
1159
- var handleOnClickSaveImages = function handleOnClickSaveImages() {
1160
- var _state$product7, _state$product7$servi;
1158
+ var handleOnClickSaveImages = /*#__PURE__*/function () {
1159
+ var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
1160
+ var _state$product7, _state$product7$servi;
1161
1161
 
1162
- if (((_state$product7 = state.product) === null || _state$product7 === void 0 ? void 0 : (_state$product7$servi = _state$product7.services) === null || _state$product7$servi === void 0 ? void 0 : _state$product7$servi.images) === 1) {
1163
- saveImageAttrs(token);
1164
- }
1165
- };
1162
+ return _regenerator.default.wrap(function _callee5$(_context5) {
1163
+ while (1) {
1164
+ switch (_context5.prev = _context5.next) {
1165
+ case 0:
1166
+ if (!(((_state$product7 = state.product) === null || _state$product7 === void 0 ? void 0 : (_state$product7$servi = _state$product7.services) === null || _state$product7$servi === void 0 ? void 0 : _state$product7$servi.images) === 1)) {
1167
+ _context5.next = 5;
1168
+ break;
1169
+ }
1170
+
1171
+ _context5.next = 3;
1172
+ return updateImages(token);
1173
+
1174
+ case 3:
1175
+ _context5.next = 5;
1176
+ return loadData(false);
1177
+
1178
+ case 5:
1179
+ case "end":
1180
+ return _context5.stop();
1181
+ }
1182
+ }
1183
+ }, _callee5);
1184
+ }));
1185
+
1186
+ return function handleOnClickSaveImages() {
1187
+ return _ref9.apply(this, arguments);
1188
+ };
1189
+ }();
1166
1190
  /*
1167
1191
  Trae la familia: los hijos del producto, o sus hermanos si el abierto es
1168
1192
  una de ellas. Se pide al abrir la sección y no al montar la pantalla: la
@@ -1171,29 +1195,29 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1171
1195
 
1172
1196
 
1173
1197
  var loadFamily = /*#__PURE__*/function () {
1174
- var _ref9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
1198
+ var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
1175
1199
  var forzar,
1176
1200
  _state$product8,
1177
1201
  res,
1178
1202
  data,
1179
- _args5 = arguments;
1203
+ _args6 = arguments;
1180
1204
 
1181
- return _regenerator.default.wrap(function _callee5$(_context5) {
1205
+ return _regenerator.default.wrap(function _callee6$(_context6) {
1182
1206
  while (1) {
1183
- switch (_context5.prev = _context5.next) {
1207
+ switch (_context6.prev = _context6.next) {
1184
1208
  case 0:
1185
- forzar = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : false;
1209
+ forzar = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : false;
1186
1210
 
1187
1211
  if (!(family && !forzar)) {
1188
- _context5.next = 3;
1212
+ _context6.next = 3;
1189
1213
  break;
1190
1214
  }
1191
1215
 
1192
- return _context5.abrupt("return", family);
1216
+ return _context6.abrupt("return", family);
1193
1217
 
1194
1218
  case 3:
1195
- _context5.prev = 3;
1196
- _context5.next = 6;
1219
+ _context6.prev = 3;
1220
+ _context6.next = 6;
1197
1221
  return _axios.default.post("".concat(process.env.REACT_APP_VARIANTS_ENDPOINT, "/family"), {
1198
1222
  articleId: (_state$product8 = state.product) === null || _state$product8 === void 0 ? void 0 : _state$product8.id_article
1199
1223
  }, {
@@ -1203,32 +1227,32 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1203
1227
  });
1204
1228
 
1205
1229
  case 6:
1206
- res = _context5.sent;
1230
+ res = _context6.sent;
1207
1231
  data = (0, _api.readPayload)(res);
1208
1232
  setFamily(data);
1209
- return _context5.abrupt("return", data);
1233
+ return _context6.abrupt("return", data);
1210
1234
 
1211
1235
  case 12:
1212
- _context5.prev = 12;
1213
- _context5.t0 = _context5["catch"](3);
1214
- console.error("loadFamily: ", _context5.t0);
1236
+ _context6.prev = 12;
1237
+ _context6.t0 = _context6["catch"](3);
1238
+ console.error("loadFamily: ", _context6.t0);
1215
1239
  setFamily({
1216
1240
  variants: [],
1217
1241
  parent: null,
1218
1242
  error: true
1219
1243
  });
1220
- return _context5.abrupt("return", null);
1244
+ return _context6.abrupt("return", null);
1221
1245
 
1222
1246
  case 17:
1223
1247
  case "end":
1224
- return _context5.stop();
1248
+ return _context6.stop();
1225
1249
  }
1226
1250
  }
1227
- }, _callee5, null, [[3, 12]]);
1251
+ }, _callee6, null, [[3, 12]]);
1228
1252
  }));
1229
1253
 
1230
1254
  return function loadFamily() {
1231
- return _ref9.apply(this, arguments);
1255
+ return _ref10.apply(this, arguments);
1232
1256
  };
1233
1257
  }();
1234
1258
  /*
@@ -1336,17 +1360,17 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1336
1360
  };
1337
1361
 
1338
1362
  var openFamilyMember = /*#__PURE__*/function () {
1339
- var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(articleId) {
1340
- var _readPayload, res, _ref11, data, encontrado;
1363
+ var _ref11 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(articleId) {
1364
+ var _readPayload, res, _ref12, data, encontrado;
1341
1365
 
1342
- return _regenerator.default.wrap(function _callee6$(_context6) {
1366
+ return _regenerator.default.wrap(function _callee7$(_context7) {
1343
1367
  while (1) {
1344
- switch (_context6.prev = _context6.next) {
1368
+ switch (_context7.prev = _context7.next) {
1345
1369
  case 0:
1346
1370
  setLoadingVariant(articleId);
1347
1371
  setAvisoFamilia(null);
1348
- _context6.prev = 2;
1349
- _context6.next = 5;
1372
+ _context7.prev = 2;
1373
+ _context7.next = 5;
1350
1374
  return _axios.default.get("".concat(process.env.REACT_APP_ORDERED_SERVICES_ENDPOINT), {
1351
1375
  params: {
1352
1376
  filterByIdArticle: articleId,
@@ -1358,11 +1382,11 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1358
1382
  });
1359
1383
 
1360
1384
  case 5:
1361
- res = _context6.sent;
1385
+ res = _context7.sent;
1362
1386
  // read-order-services responde { total, data: [...] }. La vista trae una
1363
1387
  // fila por orden, así que puede haber varias del mismo artículo; llegan
1364
1388
  // ordenadas por order_id DESC y la primera es la orden más reciente.
1365
- _ref11 = (_readPayload = (0, _api.readPayload)(res)) !== null && _readPayload !== void 0 ? _readPayload : {}, data = _ref11.data;
1389
+ _ref12 = (_readPayload = (0, _api.readPayload)(res)) !== null && _readPayload !== void 0 ? _readPayload : {}, data = _ref12.data;
1366
1390
  encontrado = (data !== null && data !== void 0 ? data : []).find(function (item) {
1367
1391
  var _item$article;
1368
1392
 
@@ -1370,12 +1394,12 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1370
1394
  });
1371
1395
 
1372
1396
  if (encontrado) {
1373
- _context6.next = 11;
1397
+ _context7.next = 11;
1374
1398
  break;
1375
1399
  }
1376
1400
 
1377
1401
  setAvisoFamilia("Ese producto no está en ninguna orden de trabajo, así que no se puede abrir desde aquí.");
1378
- return _context6.abrupt("return");
1402
+ return _context7.abrupt("return");
1379
1403
 
1380
1404
  case 11:
1381
1405
  sessionStorage.setItem("productSelected", JSON.stringify(encontrado));
@@ -1386,30 +1410,30 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1386
1410
  product: [encontrado]
1387
1411
  }));
1388
1412
  window.location.assign("/EditProducts");
1389
- _context6.next = 21;
1413
+ _context7.next = 21;
1390
1414
  break;
1391
1415
 
1392
1416
  case 17:
1393
- _context6.prev = 17;
1394
- _context6.t0 = _context6["catch"](2);
1395
- console.error("openFamilyMember: ", _context6.t0);
1417
+ _context7.prev = 17;
1418
+ _context7.t0 = _context7["catch"](2);
1419
+ console.error("openFamilyMember: ", _context7.t0);
1396
1420
  setAvisoFamilia("No se pudo abrir ese producto. Intenta de nuevo.");
1397
1421
 
1398
1422
  case 21:
1399
- _context6.prev = 21;
1423
+ _context7.prev = 21;
1400
1424
  setLoadingVariant(null);
1401
- return _context6.finish(21);
1425
+ return _context7.finish(21);
1402
1426
 
1403
1427
  case 24:
1404
1428
  case "end":
1405
- return _context6.stop();
1429
+ return _context7.stop();
1406
1430
  }
1407
1431
  }
1408
- }, _callee6, null, [[2, 17, 21, 24]]);
1432
+ }, _callee7, null, [[2, 17, 21, 24]]);
1409
1433
  }));
1410
1434
 
1411
1435
  return function openFamilyMember(_x3) {
1412
- return _ref10.apply(this, arguments);
1436
+ return _ref11.apply(this, arguments);
1413
1437
  };
1414
1438
  }();
1415
1439
  /*
@@ -1498,31 +1522,31 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1498
1522
 
1499
1523
 
1500
1524
  var handleOnRestoreInheritance = /*#__PURE__*/function () {
1501
- var _ref12 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(attributeId) {
1525
+ var _ref13 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(attributeId) {
1502
1526
  var _state$product14;
1503
1527
 
1504
1528
  var kind,
1505
1529
  esDescripcion,
1506
1530
  res,
1507
1531
  data,
1508
- _args7 = arguments;
1509
- return _regenerator.default.wrap(function _callee7$(_context7) {
1532
+ _args8 = arguments;
1533
+ return _regenerator.default.wrap(function _callee8$(_context8) {
1510
1534
  while (1) {
1511
- switch (_context7.prev = _context7.next) {
1535
+ switch (_context8.prev = _context8.next) {
1512
1536
  case 0:
1513
- kind = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : "attribute";
1537
+ kind = _args8.length > 1 && _args8[1] !== undefined ? _args8[1] : "attribute";
1514
1538
 
1515
1539
  if (!(!attributeId || !((_state$product14 = state.product) !== null && _state$product14 !== void 0 && _state$product14.id_article))) {
1516
- _context7.next = 3;
1540
+ _context8.next = 3;
1517
1541
  break;
1518
1542
  }
1519
1543
 
1520
- return _context7.abrupt("return");
1544
+ return _context8.abrupt("return");
1521
1545
 
1522
1546
  case 3:
1523
1547
  esDescripcion = kind === "description";
1524
- _context7.prev = 4;
1525
- _context7.next = 7;
1548
+ _context8.prev = 4;
1549
+ _context8.next = 7;
1526
1550
  return _axios.default.post("".concat(process.env.REACT_APP_VARIANTS_ENDPOINT, "/restore"), (0, _objectSpread5.default)({
1527
1551
  articleId: state.product.id_article
1528
1552
  }, esDescripcion ? {
@@ -1536,11 +1560,11 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1536
1560
  });
1537
1561
 
1538
1562
  case 7:
1539
- res = _context7.sent;
1563
+ res = _context8.sent;
1540
1564
  data = (0, _api.readPayload)(res);
1541
1565
 
1542
1566
  if (!esDescripcion) {
1543
- _context7.next = 12;
1567
+ _context8.next = 12;
1544
1568
  break;
1545
1569
  }
1546
1570
 
@@ -1554,7 +1578,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1554
1578
  };
1555
1579
  })
1556
1580
  });
1557
- return _context7.abrupt("return");
1581
+ return _context8.abrupt("return");
1558
1582
 
1559
1583
  case 12:
1560
1584
  dispatch({
@@ -1567,24 +1591,24 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1567
1591
  };
1568
1592
  })
1569
1593
  });
1570
- _context7.next = 18;
1594
+ _context8.next = 18;
1571
1595
  break;
1572
1596
 
1573
1597
  case 15:
1574
- _context7.prev = 15;
1575
- _context7.t0 = _context7["catch"](4);
1576
- console.error("restoreInheritance: ", _context7.t0);
1598
+ _context8.prev = 15;
1599
+ _context8.t0 = _context8["catch"](4);
1600
+ console.error("restoreInheritance: ", _context8.t0);
1577
1601
 
1578
1602
  case 18:
1579
1603
  case "end":
1580
- return _context7.stop();
1604
+ return _context8.stop();
1581
1605
  }
1582
1606
  }
1583
- }, _callee7, null, [[4, 15]]);
1607
+ }, _callee8, null, [[4, 15]]);
1584
1608
  }));
1585
1609
 
1586
1610
  return function handleOnRestoreInheritance(_x4) {
1587
- return _ref12.apply(this, arguments);
1611
+ return _ref13.apply(this, arguments);
1588
1612
  };
1589
1613
  }();
1590
1614
  /*
@@ -1611,45 +1635,45 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1611
1635
  };
1612
1636
 
1613
1637
  var handleOnClickSave = /*#__PURE__*/function () {
1614
- var _ref13 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
1638
+ var _ref14 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
1615
1639
  var _familia$variants, cambios, familia, hijos;
1616
1640
 
1617
- return _regenerator.default.wrap(function _callee8$(_context8) {
1641
+ return _regenerator.default.wrap(function _callee9$(_context9) {
1618
1642
  while (1) {
1619
- switch (_context8.prev = _context8.next) {
1643
+ switch (_context9.prev = _context9.next) {
1620
1644
  case 0:
1621
1645
  if (!(state.saving || preparandoPropagacion)) {
1622
- _context8.next = 2;
1646
+ _context9.next = 2;
1623
1647
  break;
1624
1648
  }
1625
1649
 
1626
- return _context8.abrupt("return");
1650
+ return _context9.abrupt("return");
1627
1651
 
1628
1652
  case 2:
1629
- _context8.t0 = state.active_tab;
1630
- _context8.next = _context8.t0 === "Descripción" ? 5 : _context8.t0 === "Ficha técnica" ? 8 : _context8.t0 === "Imágenes" ? 32 : 35;
1653
+ _context9.t0 = state.active_tab;
1654
+ _context9.next = _context9.t0 === "Descripción" ? 5 : _context9.t0 === "Ficha técnica" ? 8 : _context9.t0 === "Imágenes" ? 32 : 35;
1631
1655
  break;
1632
1656
 
1633
1657
  case 5:
1634
- _context8.next = 7;
1658
+ _context9.next = 7;
1635
1659
  return saveDescriptions(token);
1636
1660
 
1637
1661
  case 7:
1638
- return _context8.abrupt("break", 36);
1662
+ return _context9.abrupt("break", 36);
1639
1663
 
1640
1664
  case 8:
1641
1665
  cambios = cambiosDeFichaTecnica();
1642
1666
 
1643
1667
  if (!(cambios.length === 0)) {
1644
- _context8.next = 13;
1668
+ _context9.next = 13;
1645
1669
  break;
1646
1670
  }
1647
1671
 
1648
- _context8.next = 12;
1672
+ _context9.next = 12;
1649
1673
  return saveDatasheets(token);
1650
1674
 
1651
1675
  case 12:
1652
- return _context8.abrupt("break", 36);
1676
+ return _context9.abrupt("break", 36);
1653
1677
 
1654
1678
  case 13:
1655
1679
  /*
@@ -1668,21 +1692,21 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1668
1692
  */
1669
1693
  setPreparandoPropagacion(true);
1670
1694
  familia = null;
1671
- _context8.prev = 15;
1672
- _context8.next = 18;
1695
+ _context9.prev = 15;
1696
+ _context9.next = 18;
1673
1697
  return loadFamily(true);
1674
1698
 
1675
1699
  case 18:
1676
- familia = _context8.sent;
1700
+ familia = _context9.sent;
1677
1701
 
1678
1702
  case 19:
1679
- _context8.prev = 19;
1703
+ _context9.prev = 19;
1680
1704
  setPreparandoPropagacion(false);
1681
- return _context8.finish(19);
1705
+ return _context9.finish(19);
1682
1706
 
1683
1707
  case 22:
1684
1708
  if (!(!familia || familia.error)) {
1685
- _context8.next = 25;
1709
+ _context9.next = 25;
1686
1710
  break;
1687
1711
  }
1688
1712
 
@@ -1719,7 +1743,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1719
1743
  }]
1720
1744
  }
1721
1745
  });
1722
- return _context8.abrupt("return");
1746
+ return _context9.abrupt("return");
1723
1747
 
1724
1748
  case 25:
1725
1749
  hijos = ((_familia$variants = familia.variants) !== null && _familia$variants !== void 0 ? _familia$variants : []).filter(function (v) {
@@ -1727,46 +1751,46 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1727
1751
  });
1728
1752
 
1729
1753
  if (!(hijos.length > 0)) {
1730
- _context8.next = 29;
1754
+ _context9.next = 29;
1731
1755
  break;
1732
1756
  }
1733
1757
 
1734
1758
  setPendingPropagation({
1735
1759
  cambios: cambios
1736
1760
  });
1737
- return _context8.abrupt("return");
1761
+ return _context9.abrupt("return");
1738
1762
 
1739
1763
  case 29:
1740
- _context8.next = 31;
1764
+ _context9.next = 31;
1741
1765
  return saveDatasheets(token);
1742
1766
 
1743
1767
  case 31:
1744
- return _context8.abrupt("break", 36);
1768
+ return _context9.abrupt("break", 36);
1745
1769
 
1746
1770
  case 32:
1747
- _context8.next = 34;
1771
+ _context9.next = 34;
1748
1772
  return updateImages(token);
1749
1773
 
1750
1774
  case 34:
1751
- return _context8.abrupt("break", 36);
1775
+ return _context9.abrupt("break", 36);
1752
1776
 
1753
1777
  case 35:
1754
- return _context8.abrupt("break", 36);
1778
+ return _context9.abrupt("break", 36);
1755
1779
 
1756
1780
  case 36:
1757
- _context8.next = 38;
1781
+ _context9.next = 38;
1758
1782
  return loadData(false);
1759
1783
 
1760
1784
  case 38:
1761
1785
  case "end":
1762
- return _context8.stop();
1786
+ return _context9.stop();
1763
1787
  }
1764
1788
  }
1765
- }, _callee8, null, [[15,, 19, 22]]);
1789
+ }, _callee9, null, [[15,, 19, 22]]);
1766
1790
  }));
1767
1791
 
1768
1792
  return function handleOnClickSave() {
1769
- return _ref13.apply(this, arguments);
1793
+ return _ref14.apply(this, arguments);
1770
1794
  };
1771
1795
  }();
1772
1796
 
@@ -1834,24 +1858,24 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1834
1858
  };
1835
1859
 
1836
1860
  var handleOnApproveSingleService = /*#__PURE__*/function () {
1837
- var _ref14 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
1838
- return _regenerator.default.wrap(function _callee9$(_context9) {
1861
+ var _ref15 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
1862
+ return _regenerator.default.wrap(function _callee10$(_context10) {
1839
1863
  while (1) {
1840
- switch (_context9.prev = _context9.next) {
1864
+ switch (_context10.prev = _context10.next) {
1841
1865
  case 0:
1842
- _context9.next = 2;
1866
+ _context10.next = 2;
1843
1867
  return sendSingleEvaluation("A");
1844
1868
 
1845
1869
  case 2:
1846
1870
  case "end":
1847
- return _context9.stop();
1871
+ return _context10.stop();
1848
1872
  }
1849
1873
  }
1850
- }, _callee9);
1874
+ }, _callee10);
1851
1875
  }));
1852
1876
 
1853
1877
  return function handleOnApproveSingleService() {
1854
- return _ref14.apply(this, arguments);
1878
+ return _ref15.apply(this, arguments);
1855
1879
  };
1856
1880
  }();
1857
1881
 
@@ -1860,21 +1884,21 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1860
1884
  };
1861
1885
 
1862
1886
  var sendSingleEvaluation = /*#__PURE__*/function () {
1863
- var _ref15 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(result) {
1887
+ var _ref16 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(result) {
1864
1888
  var _state$product$id_ord, _state$active_retaile4;
1865
1889
 
1866
1890
  var concept, articleId, orderId, sectionStatusKey, evalStatus, retailerId, data, res, message, icon, activeTab, newStatuses, serviceStatus, articleStatus, updatedStatusByRetailer, updatedProduct, specialistDone, _objectSpread2, _state$services_data2, _JSON$parse2, newStatus, newOrderStatus, newArticleStatus, _articleStatus, updatedStatusByRetailerForSend, _updatedProduct, updatedServicesData, sessionProduct, _objectSpread3, productInSession, updatedProductInSession;
1867
1891
 
1868
- return _regenerator.default.wrap(function _callee10$(_context10) {
1892
+ return _regenerator.default.wrap(function _callee11$(_context11) {
1869
1893
  while (1) {
1870
- switch (_context10.prev = _context10.next) {
1894
+ switch (_context11.prev = _context11.next) {
1871
1895
  case 0:
1872
1896
  if (!state.saving) {
1873
- _context10.next = 2;
1897
+ _context11.next = 2;
1874
1898
  break;
1875
1899
  }
1876
1900
 
1877
- return _context10.abrupt("return");
1901
+ return _context11.abrupt("return");
1878
1902
 
1879
1903
  case 2:
1880
1904
  dispatch({
@@ -1895,16 +1919,16 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1895
1919
  retailerId: retailerId
1896
1920
  };
1897
1921
  activeTab = state.active_tab;
1898
- _context10.prev = 11;
1922
+ _context11.prev = 11;
1899
1923
 
1900
1924
  if (!result) {
1901
- _context10.next = 28;
1925
+ _context11.next = 28;
1902
1926
  break;
1903
1927
  }
1904
1928
 
1905
1929
  data.result = result;
1906
1930
  data.retailerId = retailerId;
1907
- _context10.next = 17;
1931
+ _context11.next = 17;
1908
1932
  return _axios.default.put("".concat(process.env.REACT_APP_EVALUATION_ENDPOINT), data, {
1909
1933
  headers: {
1910
1934
  Authorization: token
@@ -1912,7 +1936,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1912
1936
  });
1913
1937
 
1914
1938
  case 17:
1915
- res = _context10.sent;
1939
+ res = _context11.sent;
1916
1940
  newStatuses = JSON.parse(res.data.body);
1917
1941
  serviceStatus = newStatuses.newServiceStatus[articleId]["".concat(concept, "Status")];
1918
1942
  articleStatus = newStatuses.newArticleStatus[articleId];
@@ -1943,7 +1967,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1943
1967
  image: _genericModalCheck.default
1944
1968
  }
1945
1969
  });
1946
- _context10.next = 33;
1970
+ _context11.next = 33;
1947
1971
  break;
1948
1972
 
1949
1973
  case 28:
@@ -1959,7 +1983,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1959
1983
  icon = _genericModalCheck.default;
1960
1984
  }
1961
1985
 
1962
- _context10.next = 32;
1986
+ _context11.next = 32;
1963
1987
  return _axios.default.put("".concat(process.env.REACT_APP_SEND_EVAL), data, {
1964
1988
  headers: {
1965
1989
  Authorization: token
@@ -1967,7 +1991,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1967
1991
  });
1968
1992
 
1969
1993
  case 32:
1970
- res = _context10.sent;
1994
+ res = _context11.sent;
1971
1995
 
1972
1996
  case 33:
1973
1997
  if (res.data.statusCode === 200) {
@@ -2052,13 +2076,13 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2052
2076
  });
2053
2077
  }
2054
2078
 
2055
- _context10.next = 40;
2079
+ _context11.next = 40;
2056
2080
  break;
2057
2081
 
2058
2082
  case 36:
2059
- _context10.prev = 36;
2060
- _context10.t0 = _context10["catch"](11);
2061
- console.error("Error sending evaluation:", _context10.t0);
2083
+ _context11.prev = 36;
2084
+ _context11.t0 = _context11["catch"](11);
2085
+ console.error("Error sending evaluation:", _context11.t0);
2062
2086
  dispatch({
2063
2087
  type: "SET_MODAL",
2064
2088
  payload: {
@@ -2070,45 +2094,45 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2070
2094
  });
2071
2095
 
2072
2096
  case 40:
2073
- _context10.prev = 40;
2097
+ _context11.prev = 40;
2074
2098
  dispatch({
2075
2099
  type: "SET_SAVING",
2076
2100
  payload: false
2077
2101
  });
2078
- return _context10.finish(40);
2102
+ return _context11.finish(40);
2079
2103
 
2080
2104
  case 43:
2081
2105
  case "end":
2082
- return _context10.stop();
2106
+ return _context11.stop();
2083
2107
  }
2084
2108
  }
2085
- }, _callee10, null, [[11, 36, 40, 43]]);
2109
+ }, _callee11, null, [[11, 36, 40, 43]]);
2086
2110
  }));
2087
2111
 
2088
2112
  return function sendSingleEvaluation(_x5) {
2089
- return _ref15.apply(this, arguments);
2113
+ return _ref16.apply(this, arguments);
2090
2114
  };
2091
2115
  }();
2092
2116
 
2093
2117
  var handleOnApproveAllServices = /*#__PURE__*/function () {
2094
- var _ref16 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {
2095
- return _regenerator.default.wrap(function _callee11$(_context11) {
2118
+ var _ref17 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12() {
2119
+ return _regenerator.default.wrap(function _callee12$(_context12) {
2096
2120
  while (1) {
2097
- switch (_context11.prev = _context11.next) {
2121
+ switch (_context12.prev = _context12.next) {
2098
2122
  case 0:
2099
- _context11.next = 2;
2123
+ _context12.next = 2;
2100
2124
  return sendBulkEvaluation("A");
2101
2125
 
2102
2126
  case 2:
2103
2127
  case "end":
2104
- return _context11.stop();
2128
+ return _context12.stop();
2105
2129
  }
2106
2130
  }
2107
- }, _callee11);
2131
+ }, _callee12);
2108
2132
  }));
2109
2133
 
2110
2134
  return function handleOnApproveAllServices() {
2111
- return _ref16.apply(this, arguments);
2135
+ return _ref17.apply(this, arguments);
2112
2136
  };
2113
2137
  }();
2114
2138
 
@@ -2118,18 +2142,18 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2118
2142
  };
2119
2143
 
2120
2144
  var sendBulkEvaluation = /*#__PURE__*/function () {
2121
- var _ref17 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(result) {
2145
+ var _ref18 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(result) {
2122
2146
  var _state$services_data3, evaluationArray, conceptArray, status, updatedStatusByRetailer, updatedProduct, updatedServicesData;
2123
2147
 
2124
- return _regenerator.default.wrap(function _callee12$(_context12) {
2148
+ return _regenerator.default.wrap(function _callee13$(_context13) {
2125
2149
  while (1) {
2126
- switch (_context12.prev = _context12.next) {
2150
+ switch (_context13.prev = _context13.next) {
2127
2151
  case 0:
2128
2152
  dispatch({
2129
2153
  type: "SET_SAVING",
2130
2154
  payload: true
2131
2155
  });
2132
- _context12.prev = 1;
2156
+ _context13.prev = 1;
2133
2157
  evaluationArray = [];
2134
2158
  conceptArray = (0, _utils.getConceptsByRole)(user.id_role);
2135
2159
  (_state$services_data3 = state.services_data) === null || _state$services_data3 === void 0 ? void 0 : _state$services_data3.forEach(function (ret, idx) {
@@ -2154,7 +2178,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2154
2178
  }));
2155
2179
  }
2156
2180
  });
2157
- _context12.next = 7;
2181
+ _context13.next = 7;
2158
2182
  return Promise.all(evaluationArray);
2159
2183
 
2160
2184
  case 7:
@@ -2209,41 +2233,41 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2209
2233
  image: _genericModalCheck.default
2210
2234
  }
2211
2235
  });
2212
- _context12.next = 19;
2236
+ _context13.next = 19;
2213
2237
  break;
2214
2238
 
2215
2239
  case 16:
2216
- _context12.prev = 16;
2217
- _context12.t0 = _context12["catch"](1);
2218
- console.error("Error in bulk evaluation:", _context12.t0);
2240
+ _context13.prev = 16;
2241
+ _context13.t0 = _context13["catch"](1);
2242
+ console.error("Error in bulk evaluation:", _context13.t0);
2219
2243
 
2220
2244
  case 19:
2221
- _context12.prev = 19;
2245
+ _context13.prev = 19;
2222
2246
  dispatch({
2223
2247
  type: "SET_SAVING",
2224
2248
  payload: false
2225
2249
  });
2226
- return _context12.finish(19);
2250
+ return _context13.finish(19);
2227
2251
 
2228
2252
  case 22:
2229
2253
  case "end":
2230
- return _context12.stop();
2254
+ return _context13.stop();
2231
2255
  }
2232
2256
  }
2233
- }, _callee12, null, [[1, 16, 19, 22]]);
2257
+ }, _callee13, null, [[1, 16, 19, 22]]);
2234
2258
  }));
2235
2259
 
2236
2260
  return function sendBulkEvaluation(_x6) {
2237
- return _ref17.apply(this, arguments);
2261
+ return _ref18.apply(this, arguments);
2238
2262
  };
2239
2263
  }();
2240
2264
 
2241
2265
  var handleOnChangeAssignations = /*#__PURE__*/function () {
2242
- var _ref18 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(assignationType, assignationId) {
2266
+ var _ref19 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(assignationType, assignationId) {
2243
2267
  var concept, data, updatedProduct;
2244
- return _regenerator.default.wrap(function _callee13$(_context13) {
2268
+ return _regenerator.default.wrap(function _callee14$(_context14) {
2245
2269
  while (1) {
2246
- switch (_context13.prev = _context13.next) {
2270
+ switch (_context14.prev = _context14.next) {
2247
2271
  case 0:
2248
2272
  concept = (0, _utils.getConceptByTab)(state.active_tab);
2249
2273
  data = {
@@ -2254,7 +2278,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2254
2278
  concept: concept,
2255
2279
  userId: assignationId
2256
2280
  };
2257
- _context13.next = 4;
2281
+ _context14.next = 4;
2258
2282
  return (0, _axios.default)({
2259
2283
  method: "post",
2260
2284
  url: process.env.REACT_APP_ASSIGNATIONS_ENDPOINT,
@@ -2273,14 +2297,14 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2273
2297
 
2274
2298
  case 6:
2275
2299
  case "end":
2276
- return _context13.stop();
2300
+ return _context14.stop();
2277
2301
  }
2278
2302
  }
2279
- }, _callee13);
2303
+ }, _callee14);
2280
2304
  }));
2281
2305
 
2282
2306
  return function handleOnChangeAssignations(_x7, _x8) {
2283
- return _ref18.apply(this, arguments);
2307
+ return _ref19.apply(this, arguments);
2284
2308
  };
2285
2309
  }();
2286
2310
 
@@ -2315,16 +2339,16 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2315
2339
  };
2316
2340
 
2317
2341
  var handleOnSubmitComment = /*#__PURE__*/function () {
2318
- var _ref19 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(e) {
2342
+ var _ref20 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(e) {
2319
2343
  var commentText;
2320
- return _regenerator.default.wrap(function _callee14$(_context14) {
2344
+ return _regenerator.default.wrap(function _callee15$(_context15) {
2321
2345
  while (1) {
2322
- switch (_context14.prev = _context14.next) {
2346
+ switch (_context15.prev = _context15.next) {
2323
2347
  case 0:
2324
2348
  e.preventDefault();
2325
2349
  commentText = document.querySelector("#commentary-box .ql-container .ql-editor > p").innerHTML;
2326
- _context14.prev = 2;
2327
- _context14.next = 5;
2350
+ _context15.prev = 2;
2351
+ _context15.next = 5;
2328
2352
  return createComment(commentText, token);
2329
2353
 
2330
2354
  case 5:
@@ -2337,13 +2361,13 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2337
2361
  image: _genericModalCheck.default
2338
2362
  }
2339
2363
  });
2340
- _context14.next = 12;
2364
+ _context15.next = 12;
2341
2365
  break;
2342
2366
 
2343
2367
  case 8:
2344
- _context14.prev = 8;
2345
- _context14.t0 = _context14["catch"](2);
2346
- console.error("Error saving comment:", _context14.t0);
2368
+ _context15.prev = 8;
2369
+ _context15.t0 = _context15["catch"](2);
2370
+ console.error("Error saving comment:", _context15.t0);
2347
2371
  dispatch({
2348
2372
  type: "SET_MODAL",
2349
2373
  payload: {
@@ -2356,14 +2380,14 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2356
2380
 
2357
2381
  case 12:
2358
2382
  case "end":
2359
- return _context14.stop();
2383
+ return _context15.stop();
2360
2384
  }
2361
2385
  }
2362
- }, _callee14, null, [[2, 8]]);
2386
+ }, _callee15, null, [[2, 8]]);
2363
2387
  }));
2364
2388
 
2365
2389
  return function handleOnSubmitComment(_x9) {
2366
- return _ref19.apply(this, arguments);
2390
+ return _ref20.apply(this, arguments);
2367
2391
  };
2368
2392
  }();
2369
2393
 
@@ -2733,21 +2757,21 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2733
2757
  type: "pink",
2734
2758
  label: "Aceptar",
2735
2759
  size: 12,
2736
- onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
2760
+ onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
2737
2761
  var elements, isMessageEmpty, container, existingAlert, alert, fullMessage;
2738
- return _regenerator.default.wrap(function _callee15$(_context15) {
2762
+ return _regenerator.default.wrap(function _callee16$(_context16) {
2739
2763
  while (1) {
2740
- switch (_context15.prev = _context15.next) {
2764
+ switch (_context16.prev = _context16.next) {
2741
2765
  case 0:
2742
2766
  elements = document.querySelectorAll("#modal-message-box .ql-container .ql-editor > p");
2743
2767
 
2744
2768
  if (!(!elements || elements.length === 0)) {
2745
- _context15.next = 4;
2769
+ _context16.next = 4;
2746
2770
  break;
2747
2771
  }
2748
2772
 
2749
2773
  console.error("Elemento no encontrado");
2750
- return _context15.abrupt("return");
2774
+ return _context16.abrupt("return");
2751
2775
 
2752
2776
  case 4:
2753
2777
  isMessageEmpty = Array.from(elements).every(function (el) {
@@ -2756,7 +2780,7 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2756
2780
  });
2757
2781
 
2758
2782
  if (!isMessageEmpty) {
2759
- _context15.next = 10;
2783
+ _context16.next = 10;
2760
2784
  break;
2761
2785
  }
2762
2786
 
@@ -2771,13 +2795,13 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2771
2795
  container.appendChild(alert);
2772
2796
  }
2773
2797
 
2774
- return _context15.abrupt("return");
2798
+ return _context16.abrupt("return");
2775
2799
 
2776
2800
  case 10:
2777
2801
  fullMessage = Array.from(elements).map(function (element) {
2778
2802
  return element.innerHTML;
2779
2803
  }).join("").replace(/<br\s*\/?>/gi, "\n");
2780
- _context15.next = 13;
2804
+ _context16.next = 13;
2781
2805
  return createComment(fullMessage, token);
2782
2806
 
2783
2807
  case 13:
@@ -2786,10 +2810,10 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
2786
2810
 
2787
2811
  case 15:
2788
2812
  case "end":
2789
- return _context15.stop();
2813
+ return _context16.stop();
2790
2814
  }
2791
2815
  }
2792
- }, _callee15);
2816
+ }, _callee16);
2793
2817
  }))
2794
2818
  }, "btn-Aceptar")]
2795
2819
  }), state.modal.show && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GenericModal.GenericModal, {
@@ -3203,20 +3227,20 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
3203
3227
  reviewed: crossComment
3204
3228
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GeneralButton.Button, {
3205
3229
  buttonType: "circular-button accept-button",
3206
- onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
3207
- return _regenerator.default.wrap(function _callee16$(_context16) {
3230
+ onClick: /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17() {
3231
+ return _regenerator.default.wrap(function _callee17$(_context17) {
3208
3232
  while (1) {
3209
- switch (_context16.prev = _context16.next) {
3233
+ switch (_context17.prev = _context17.next) {
3210
3234
  case 0:
3211
3235
  setCrossComment(true);
3212
3236
  commentRevised();
3213
3237
 
3214
3238
  case 2:
3215
3239
  case "end":
3216
- return _context16.stop();
3240
+ return _context17.stop();
3217
3241
  }
3218
3242
  }
3219
- }, _callee16);
3243
+ }, _callee17);
3220
3244
  }))
3221
3245
  })]
3222
3246
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contentoh-components-library",
3
- "version": "21.6.40",
3
+ "version": "21.6.42",
4
4
  "dependencies": {
5
5
  "@aws-amplify/auth": "^4.5.3",
6
6
  "@aws-amplify/datastore": "^3.11.0",
@@ -161,7 +161,6 @@ const RetailerProductEditionView = ({
161
161
  saveDatasheets,
162
162
  saveDescriptions,
163
163
  updateImages,
164
- saveImageAttrs,
165
164
  deleteImages,
166
165
  handleOnDownloadImages,
167
166
  createComment,
@@ -803,9 +802,30 @@ const RetailerProductEditionView = ({
803
802
  return currentStatus;
804
803
  };
805
804
 
806
- const handleOnClickSaveImages = () => {
805
+ const handleOnClickSaveImages = async () => {
807
806
  if (state.product?.services?.images === 1) {
808
- saveImageAttrs(token);
807
+ /**
808
+ * `updateImages` y NO `saveImageAttrs`.
809
+ *
810
+ * `saveImageAttrs` manda `articleData: []` fijo, así que las imágenes
811
+ * nuevas nunca llegaban al backend: el archivo se subía a S3 —eso lo hace
812
+ * el front por su cuenta— pero `saveImages` no se ejecutaba y la fila de
813
+ * `rel_article_image` nunca se creaba. Como la pantalla lee de esa tabla,
814
+ * la imagen no aparecía después de guardar.
815
+ *
816
+ * `updateImages` cubre las dos cosas: manda `attrReqImgs` con los
817
+ * atributos requeridos y además `articleData` con las imágenes nuevas y
818
+ * `updateImages` con las existentes. Es la misma función que ya usaba el
819
+ * botón de guardar del menú de pestañas (`handleOnClickSave`), así que
820
+ * ambos caminos quedan consistentes.
821
+ */
822
+ await updateImages(token);
823
+ // Recargar para que la pantalla refleje lo que quedó guardado, igual que
824
+ // `handleOnClickSave`. Sin esto el estado local se queda con la imagen sin
825
+ // su `id` de base de datos: la vista no muestra lo persistido y, al volver
826
+ // a guardar, el front la manda otra vez como nueva y el backend la omite
827
+ // por duplicada — así que el `src` nunca se actualizaba.
828
+ await loadData(false);
809
829
  }
810
830
  };
811
831