contentoh-components-library 21.6.33 → 21.6.34

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.
@@ -0,0 +1,15 @@
1
+ {
2
+ "version": "0.0.1",
3
+ "configurations": [
4
+ {
5
+ "name": "creators",
6
+ "runtimeExecutable": "sh",
7
+ "runtimeArgs": [
8
+ "-c",
9
+ "cd /Users/macbook/contentoh/content-creation-frontend && export PATH=/Users/macbook/.nvm/versions/node/v16.20.2/bin:$PATH && exec npm start"
10
+ ],
11
+ "port": 3000,
12
+ "autoPort": false
13
+ }
14
+ ]
15
+ }
@@ -82,7 +82,7 @@ var ImageGrid = _styledComponents.default.div(_templateObject12 || (_templateObj
82
82
 
83
83
  exports.ImageGrid = ImageGrid;
84
84
 
85
- var Direction = _styledComponents.default.div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: stretch;\n gap: 10px;\n margin-bottom: 12px;\n\n .lado {\n flex: 1 1 0;\n min-width: 0;\n padding: 10px 12px;\n border: 1px solid ", ";\n border-radius: 6px;\n background-color: ", ";\n }\n\n /* El padre es el que manda en esta pantalla, y se marca como tal. */\n .lado:first-of-type {\n border-color: rgba(", ", 0.45);\n background-color: rgba(", ", 0.05);\n }\n\n .rol {\n display: block;\n font-family: ", ";\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: ", ";\n }\n\n strong {\n display: block;\n margin-top: 2px;\n font-family: ", ";\n font-size: 13px;\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* Cu\xE1l de los dos es la ficha abierta: sin esto, en modo \"este producto es\n hijo de otro\" no se sabe de qu\xE9 lado est\xE1 uno. */\n .actual {\n display: block;\n margin-top: 2px;\n font-size: 11px;\n font-style: italic;\n color: ", ";\n }\n\n .flecha {\n align-self: center;\n flex-shrink: 0;\n font-size: 20px;\n line-height: 1;\n color: ", ";\n }\n"])), _variables.GlobalColors.s2, _variables.GlobalColors.white, PINK_RGB, PINK_RGB, _variables.FontFamily.Raleway_600, PINK, _variables.FontFamily.Raleway_600, _variables.GlobalColors.deep_gray, _variables.GlobalColors.gray, PINK);
85
+ var Direction = _styledComponents.default.div(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: stretch;\n gap: 10px;\n margin-bottom: 12px;\n\n .lado {\n flex: 1 1 0;\n min-width: 0;\n padding: 10px 12px;\n border: 1px solid ", ";\n border-radius: 6px;\n background-color: ", ";\n }\n\n /* El padre es el que manda en esta pantalla, y se marca como tal. */\n .lado:first-of-type {\n border-color: rgba(", ", 0.45);\n background-color: rgba(", ", 0.05);\n }\n\n .rol {\n display: block;\n font-family: ", ";\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: ", ";\n }\n\n strong {\n display: block;\n margin-top: 2px;\n font-family: ", ";\n font-size: 13px;\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* Cu\xE1l de los dos es la ficha abierta: sin esto, al relacionar un padre no se\n sabe de qu\xE9 lado est\xE1 uno. */\n .actual {\n display: block;\n margin-top: 2px;\n font-size: 11px;\n font-style: italic;\n color: ", ";\n }\n\n .flecha {\n align-self: center;\n flex-shrink: 0;\n font-size: 20px;\n line-height: 1;\n color: ", ";\n }\n"])), _variables.GlobalColors.s2, _variables.GlobalColors.white, PINK_RGB, PINK_RGB, _variables.FontFamily.Raleway_600, PINK, _variables.FontFamily.Raleway_600, _variables.GlobalColors.deep_gray, _variables.GlobalColors.gray, PINK);
86
86
 
87
87
  exports.Direction = Direction;
88
88
 
@@ -315,7 +315,20 @@ var ProviderProductEditionView = function ProviderProductEditionView(_ref) {
315
315
  };
316
316
 
317
317
  setProductData();
318
- }, []); // Setter de los servicios y porcentages del producto
318
+ }, []);
319
+ /*
320
+ Contador que fuerza a releer los servicios tras ligar.
321
+ El efecto de abajo depende de estatus, versión y cadena activa, y ligar no
322
+ cambia ninguno: cambia la HERENCIA de cada campo en el servidor. Al planchar,
323
+ lo que era propio pasa a heredado, y sin releer los chips siguen diciendo lo
324
+ de antes hasta que alguien cierra y reabre el producto.
325
+ */
326
+
327
+ var _useState31 = (0, _react.useState)(0),
328
+ _useState32 = (0, _slicedToArray2.default)(_useState31, 2),
329
+ linkNonce = _useState32[0],
330
+ setLinkNonce = _useState32[1]; // Setter de los servicios y porcentages del producto
331
+
319
332
 
320
333
  (0, _react.useEffect)(function () {
321
334
  if (!state.product || !state.active_retailer) return;
@@ -481,7 +494,7 @@ var ProviderProductEditionView = function ProviderProductEditionView(_ref) {
481
494
  }();
482
495
 
483
496
  fetchData();
484
- }, [(_state$product2 = state.product) === null || _state$product2 === void 0 ? void 0 : _state$product2.datasheet_status, (_state$product3 = state.product) === null || _state$product3 === void 0 ? void 0 : _state$product3.description_status, (_state$product4 = state.product) === null || _state$product4 === void 0 ? void 0 : _state$product4.images_status, (_state$product5 = state.product) === null || _state$product5 === void 0 ? void 0 : _state$product5.status, (_state$product6 = state.product) === null || _state$product6 === void 0 ? void 0 : _state$product6.percentages, (_state$product7 = state.product) === null || _state$product7 === void 0 ? void 0 : _state$product7.version, state.active_retailer, token]); // Actualizador de campos del ui para que coincidan con el retailer activo
497
+ }, [(_state$product2 = state.product) === null || _state$product2 === void 0 ? void 0 : _state$product2.datasheet_status, (_state$product3 = state.product) === null || _state$product3 === void 0 ? void 0 : _state$product3.description_status, (_state$product4 = state.product) === null || _state$product4 === void 0 ? void 0 : _state$product4.images_status, (_state$product5 = state.product) === null || _state$product5 === void 0 ? void 0 : _state$product5.status, (_state$product6 = state.product) === null || _state$product6 === void 0 ? void 0 : _state$product6.percentages, (_state$product7 = state.product) === null || _state$product7 === void 0 ? void 0 : _state$product7.version, state.active_retailer, token, linkNonce]); // Actualizador de campos del ui para que coincidan con el retailer activo
485
498
 
486
499
  (0, _react.useEffect)(function () {
487
500
  if (!state.active_retailer) return;
@@ -1187,7 +1200,11 @@ var ProviderProductEditionView = function ProviderProductEditionView(_ref) {
1187
1200
  payload: updatedProduct
1188
1201
  }); // La lista cacheada quedó vieja: se descarta para que vuelva a pedirse.
1189
1202
 
1190
- setFamily(null); // Y en sessionStorage, que es de donde sale el producto al recargar. Sin
1203
+ setFamily(null); // Y los servicios, para que los chips reflejen la herencia recién creada.
1204
+
1205
+ setLinkNonce(function (n) {
1206
+ return n + 1;
1207
+ }); // Y en sessionStorage, que es de donde sale el producto al recargar. Sin
1191
1208
  // esto el arreglo dura hasta el siguiente F5 y vuelve el contador viejo,
1192
1209
  // que es justo el síntoma que se reportó.
1193
1210
 
@@ -1233,8 +1233,9 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1233
1233
  */
1234
1234
 
1235
1235
  /*
1236
- Refresca tras ligar, sin recargar: el producto sale de sessionStorage, así que
1237
- un refresh devolvería el mismo objeto y el contador seguiría igual.
1236
+ Refresca tras ligar, sin recargar la página: el producto sale de
1237
+ sessionStorage, así que un F5 devolvería el mismo objeto y el contador
1238
+ seguiría igual.
1238
1239
  */
1239
1240
 
1240
1241
  var handleOnLinkedVariants = function handleOnLinkedVariants(result) {
@@ -1251,13 +1252,34 @@ var RetailerProductEditionView = function RetailerProductEditionView(_ref) {
1251
1252
  type: "SET_PRODUCT",
1252
1253
  payload: updatedProduct
1253
1254
  });
1254
- setFamily(null);
1255
1255
 
1256
1256
  try {
1257
1257
  sessionStorage.setItem("productSelected", JSON.stringify(updatedProduct));
1258
1258
  } catch (error) {
1259
1259
  console.error("linkVariants/sessionStorage: ", error);
1260
1260
  }
1261
+ /*
1262
+ Volver a preguntar, no vaciar.
1263
+ Antes esto hacía `setFamily(null)` para invalidar la caché, y en esta
1264
+ pantalla eso tenía el efecto contrario al buscado: el bloque de parentesco
1265
+ se decide con `esHijoDeOtro`, que sale de `family`, no del producto. Con
1266
+ `family` en null el bloque desaparecía, así que después de ligar la
1267
+ pantalla se quedaba SIN ninguna señal de que el producto ya tenía padre
1268
+ —justo lo que el usuario acababa de hacer—.
1269
+ */
1270
+
1271
+
1272
+ loadFamily(true);
1273
+ /*
1274
+ Y se recargan los servicios, porque ligar cambia la herencia de cada campo
1275
+ en el servidor: al planchar, lo que era propio pasa a heredado y los chips
1276
+ tienen que decirlo. Sin esto la ficha sigue mostrando el estado anterior
1277
+ hasta que alguien cierra y vuelve a abrir el producto.
1278
+ Sin `enableLoading` para no parpadear el esqueleto encima de una pantalla
1279
+ que ya está pintada.
1280
+ */
1281
+
1282
+ loadData(false);
1261
1283
  };
1262
1284
  /*
1263
1285
  Acción "Volver a heredar" de los chips. Repinta en sitio con lo que devuelve
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contentoh-components-library",
3
- "version": "21.6.33",
3
+ "version": "21.6.34",
4
4
  "dependencies": {
5
5
  "@aws-amplify/auth": "^4.5.3",
6
6
  "@aws-amplify/datastore": "^3.11.0",
@@ -207,6 +207,16 @@ const ProviderProductEditionView = ({
207
207
  setProductData();
208
208
  }, []);
209
209
 
210
+ /*
211
+ Contador que fuerza a releer los servicios tras ligar.
212
+
213
+ El efecto de abajo depende de estatus, versión y cadena activa, y ligar no
214
+ cambia ninguno: cambia la HERENCIA de cada campo en el servidor. Al planchar,
215
+ lo que era propio pasa a heredado, y sin releer los chips siguen diciendo lo
216
+ de antes hasta que alguien cierra y reabre el producto.
217
+ */
218
+ const [linkNonce, setLinkNonce] = useState(0);
219
+
210
220
  // Setter de los servicios y porcentages del producto
211
221
  useEffect(() => {
212
222
  if (!state.product || !state.active_retailer) return;
@@ -363,6 +373,7 @@ const ProviderProductEditionView = ({
363
373
  state.product?.version,
364
374
  state.active_retailer,
365
375
  token,
376
+ linkNonce,
366
377
  ]);
367
378
 
368
379
  // Actualizador de campos del ui para que coincidan con el retailer activo
@@ -941,6 +952,8 @@ const ProviderProductEditionView = ({
941
952
  dispatch({ type: "SET_PRODUCT", payload: updatedProduct });
942
953
  // La lista cacheada quedó vieja: se descarta para que vuelva a pedirse.
943
954
  setFamily(null);
955
+ // Y los servicios, para que los chips reflejen la herencia recién creada.
956
+ setLinkNonce((n) => n + 1);
944
957
 
945
958
  // Y en sessionStorage, que es de donde sale el producto al recargar. Sin
946
959
  // esto el arreglo dura hasta el siguiente F5 y vuelve el contador viejo,
@@ -849,8 +849,9 @@ const RetailerProductEditionView = ({
849
849
  */
850
850
 
851
851
  /*
852
- Refresca tras ligar, sin recargar: el producto sale de sessionStorage, así que
853
- un refresh devolvería el mismo objeto y el contador seguiría igual.
852
+ Refresca tras ligar, sin recargar la página: el producto sale de
853
+ sessionStorage, así que un F5 devolvería el mismo objeto y el contador
854
+ seguiría igual.
854
855
  */
855
856
  const handleOnLinkedVariants = (result) => {
856
857
  if (!result) return;
@@ -869,13 +870,35 @@ const RetailerProductEditionView = ({
869
870
  };
870
871
 
871
872
  dispatch({ type: "SET_PRODUCT", payload: updatedProduct });
872
- setFamily(null);
873
873
 
874
874
  try {
875
875
  sessionStorage.setItem("productSelected", JSON.stringify(updatedProduct));
876
876
  } catch (error) {
877
877
  console.error("linkVariants/sessionStorage: ", error);
878
878
  }
879
+
880
+ /*
881
+ Volver a preguntar, no vaciar.
882
+
883
+ Antes esto hacía `setFamily(null)` para invalidar la caché, y en esta
884
+ pantalla eso tenía el efecto contrario al buscado: el bloque de parentesco
885
+ se decide con `esHijoDeOtro`, que sale de `family`, no del producto. Con
886
+ `family` en null el bloque desaparecía, así que después de ligar la
887
+ pantalla se quedaba SIN ninguna señal de que el producto ya tenía padre
888
+ —justo lo que el usuario acababa de hacer—.
889
+ */
890
+ loadFamily(true);
891
+
892
+ /*
893
+ Y se recargan los servicios, porque ligar cambia la herencia de cada campo
894
+ en el servidor: al planchar, lo que era propio pasa a heredado y los chips
895
+ tienen que decirlo. Sin esto la ficha sigue mostrando el estado anterior
896
+ hasta que alguien cierra y vuelve a abrir el producto.
897
+
898
+ Sin `enableLoading` para no parpadear el esqueleto encima de una pantalla
899
+ que ya está pintada.
900
+ */
901
+ loadData(false);
879
902
  };
880
903
 
881
904
  /*