contentoh-components-library 21.6.43 → 21.6.44
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.
- package/dist/global-files/data.js +32 -6
- package/package.json +1 -1
- package/src/global-files/data.js +31 -3
|
@@ -54,12 +54,31 @@ var getRetailerServices = /*#__PURE__*/function () {
|
|
|
54
54
|
descriptions = JSON.parse(responseArray[1].data.body).data;
|
|
55
55
|
images = JSON.parse(responseArray[2].data.body).data;
|
|
56
56
|
images.values = images === null || images === void 0 ? void 0 : (_images$values = images.values) === null || _images$values === void 0 ? void 0 : _images$values.map(function (value) {
|
|
57
|
-
var _images$inputs$find;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
var _value$image_id, _images$inputs$find;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* La fila de `rel_article_image` trae la columna `id_image`; el resto del
|
|
61
|
+
* front lee `image_id`. Sin normalizarlo aquí queda `undefined`, y eso
|
|
62
|
+
* rompe DOS cosas a la vez:
|
|
63
|
+
*
|
|
64
|
+
* - `getImage` toma su rama `else` y deja `src` con la clave cruda de
|
|
65
|
+
* S3 en lugar de la URL de CloudFront, así que la etiqueta <img>
|
|
66
|
+
* apunta a una ruta relativa.
|
|
67
|
+
* - el filtro `filteredValues` de `RetailerProductEdition` compara
|
|
68
|
+
* `value.image_id` contra las reglas del retailer, no encuentra
|
|
69
|
+
* coincidencia y descarta la imagen.
|
|
70
|
+
*
|
|
71
|
+
* Resultado: la pantalla dice «Este producto no tiene imágenes» aunque la
|
|
72
|
+
* fila exista y el archivo esté en S3. Antes de guardar sí se veía, porque
|
|
73
|
+
* el objeto que arma el front al elegir el archivo sí trae `image_id`.
|
|
74
|
+
*/
|
|
75
|
+
var normalized = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, value), {}, {
|
|
76
|
+
image_id: (_value$image_id = value.image_id) !== null && _value$image_id !== void 0 ? _value$image_id : value.id_image
|
|
77
|
+
});
|
|
78
|
+
normalized.name = (_images$inputs$find = images.inputs.find(function (e) {
|
|
79
|
+
return e.id === normalized.image_id;
|
|
61
80
|
})) === null || _images$inputs$find === void 0 ? void 0 : _images$inputs$find.name;
|
|
62
|
-
return getImage(
|
|
81
|
+
return getImage(normalized);
|
|
63
82
|
});
|
|
64
83
|
return _context.abrupt("return", [datasheets, descriptions, images]);
|
|
65
84
|
|
|
@@ -88,7 +107,14 @@ var getImage = function getImage(imageGeneral) {
|
|
|
88
107
|
var height = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 250;
|
|
89
108
|
|
|
90
109
|
try {
|
|
91
|
-
var
|
|
110
|
+
var _imageGeneral$image_i;
|
|
111
|
+
|
|
112
|
+
// `id_image` es el nombre de la columna en base de datos; `image_id` el que
|
|
113
|
+
// usa el front. Se acepta cualquiera de los dos para que la URL se arme
|
|
114
|
+
// igual, venga la imagen del backend o del estado local.
|
|
115
|
+
var image = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, imageGeneral), {}, {
|
|
116
|
+
image_id: (_imageGeneral$image_i = imageGeneral.image_id) !== null && _imageGeneral$image_i !== void 0 ? _imageGeneral$image_i : imageGeneral.id_image
|
|
117
|
+
});
|
|
92
118
|
var ext = image.src.split(".");
|
|
93
119
|
var uuid = ext[0].split("-");
|
|
94
120
|
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, image), {}, {
|
package/package.json
CHANGED
package/src/global-files/data.js
CHANGED
|
@@ -35,8 +35,30 @@ export const getRetailerServices = async (
|
|
|
35
35
|
const images = JSON.parse(responseArray[2].data.body).data;
|
|
36
36
|
|
|
37
37
|
images.values = images?.values?.map((value) => {
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
/**
|
|
39
|
+
* La fila de `rel_article_image` trae la columna `id_image`; el resto del
|
|
40
|
+
* front lee `image_id`. Sin normalizarlo aquí queda `undefined`, y eso
|
|
41
|
+
* rompe DOS cosas a la vez:
|
|
42
|
+
*
|
|
43
|
+
* - `getImage` toma su rama `else` y deja `src` con la clave cruda de
|
|
44
|
+
* S3 en lugar de la URL de CloudFront, así que la etiqueta <img>
|
|
45
|
+
* apunta a una ruta relativa.
|
|
46
|
+
* - el filtro `filteredValues` de `RetailerProductEdition` compara
|
|
47
|
+
* `value.image_id` contra las reglas del retailer, no encuentra
|
|
48
|
+
* coincidencia y descarta la imagen.
|
|
49
|
+
*
|
|
50
|
+
* Resultado: la pantalla dice «Este producto no tiene imágenes» aunque la
|
|
51
|
+
* fila exista y el archivo esté en S3. Antes de guardar sí se veía, porque
|
|
52
|
+
* el objeto que arma el front al elegir el archivo sí trae `image_id`.
|
|
53
|
+
*/
|
|
54
|
+
const normalized = {
|
|
55
|
+
...value,
|
|
56
|
+
image_id: value.image_id ?? value.id_image,
|
|
57
|
+
};
|
|
58
|
+
normalized.name = images.inputs.find(
|
|
59
|
+
(e) => e.id === normalized.image_id
|
|
60
|
+
)?.name;
|
|
61
|
+
return getImage(normalized);
|
|
40
62
|
});
|
|
41
63
|
|
|
42
64
|
return [datasheets, descriptions, images];
|
|
@@ -47,7 +69,13 @@ export const getRetailerServices = async (
|
|
|
47
69
|
|
|
48
70
|
export const getImage = (imageGeneral, width = 250, height = 250) => {
|
|
49
71
|
try {
|
|
50
|
-
|
|
72
|
+
// `id_image` es el nombre de la columna en base de datos; `image_id` el que
|
|
73
|
+
// usa el front. Se acepta cualquiera de los dos para que la URL se arme
|
|
74
|
+
// igual, venga la imagen del backend o del estado local.
|
|
75
|
+
const image = {
|
|
76
|
+
...imageGeneral,
|
|
77
|
+
image_id: imageGeneral.image_id ?? imageGeneral.id_image,
|
|
78
|
+
};
|
|
51
79
|
const ext = image.src.split(".");
|
|
52
80
|
const uuid = ext[0].split("-");
|
|
53
81
|
return {
|