contentoh-components-library 21.4.119 → 21.4.120

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.
@@ -36,15 +36,15 @@ MultiselectDefault.args = {
36
36
  "groups": [{
37
37
  "groupId": 60,
38
38
  "groupName": "Compras",
39
- "userContentGroup": 1
39
+ "userContentGroup": 0
40
40
  }, {
41
41
  "groupId": 65,
42
42
  "groupName": "Jefe Comercial",
43
- "userContentGroup": 0
43
+ "userContentGroup": 1
44
44
  }, {
45
45
  "groupId": 66,
46
46
  "groupName": "Planogramas",
47
- "userContentGroup": 0
47
+ "userContentGroup": 1
48
48
  }, {
49
49
  "groupId": 67,
50
50
  "groupName": "Impuestos",
@@ -13,6 +13,8 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
13
13
 
14
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
15
15
 
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
17
+
16
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
17
19
 
18
20
  var _objectSpread6 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
@@ -156,13 +158,16 @@ var Multiselect = function Multiselect(_ref) {
156
158
 
157
159
  var handleChange = function handleChange(userId) {
158
160
  return function (event) {
159
- var value = event.target.value;
161
+ var value = event.target.value; // Crear una copia del estado actual para comparación
162
+
163
+ var filteredArrayCopy = (0, _toConsumableArray2.default)(filters);
160
164
  var updatedValues = groups.map(function (group) {
161
165
  var isSelected = value.includes(group.groupName);
162
166
  return (0, _objectSpread6.default)((0, _objectSpread6.default)({}, group), {}, {
163
167
  userContentGroup: isSelected ? 1 : 0
164
168
  });
165
169
  });
170
+ console.log(updatedValues);
166
171
  setSelectedItems(updatedValues.filter(function (group) {
167
172
  return group.userContentGroup === 1;
168
173
  }).map(function (group) {
@@ -174,19 +179,41 @@ var Multiselect = function Multiselect(_ref) {
174
179
  }).map(function (group) {
175
180
  return group.groupName;
176
181
  })));
182
+ }); // Comparar cambios entre updatedValues y filteredArray
183
+
184
+ var changes = updatedValues.reduce(function (result, group, index) {
185
+ if (group.userContentGroup !== filteredArrayCopy[index].userContentGroup) {
186
+ result.push({
187
+ groupId: group.groupId,
188
+ userContentGroup: group.userContentGroup
189
+ });
190
+ }
191
+
192
+ return result;
193
+ }, []);
194
+ console.log("changes", changes); // Separar los cambios por userContentGroup para enviar a las funciones correspondientes
195
+
196
+ var updatedGroups = changes.filter(function (change) {
197
+ return change.userContentGroup === 1;
198
+ }).map(function (change) {
199
+ return change.groupId;
177
200
  });
178
- var groupIds = updatedValues.filter(function (group) {
179
- return group.userContentGroup === 1;
180
- }).map(function (group) {
181
- return group.groupId;
201
+ console.log("updatedGroups", updatedGroups);
202
+ var deletedGroups = changes.filter(function (change) {
203
+ return change.userContentGroup === 0;
204
+ }).map(function (change) {
205
+ return change.groupId;
182
206
  });
207
+ console.log("deletedGroups", deletedGroups);
183
208
 
184
- if (groupIds.length > 0) {
185
- // Llamada a la función de actualización si hay grupos seleccionados
186
- updateGroup(groupIds);
187
- } else {
188
- // Llamada a la función de eliminación si no hay grupos seleccionados
189
- deleteGroup([userId]);
209
+ if (updatedGroups.length > 0) {
210
+ // Llamada a la función de actualización si hubo cambios con userContentGroup === 1
211
+ updateGroup(updatedGroups);
212
+ }
213
+
214
+ if (deletedGroups.length > 0) {
215
+ // Llamada a la función de eliminación si hubo cambios con userContentGroup === 0
216
+ deleteGroup(deletedGroups);
190
217
  }
191
218
  };
192
219
  }; //actualiza los grupos seleccionados
@@ -254,7 +281,7 @@ var Multiselect = function Multiselect(_ref) {
254
281
 
255
282
 
256
283
  var deleteGroup = /*#__PURE__*/function () {
257
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(userIds) {
284
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(groups) {
258
285
  var body, response;
259
286
  return _regenerator.default.wrap(function _callee2$(_context2) {
260
287
  while (1) {
@@ -262,8 +289,8 @@ var Multiselect = function Multiselect(_ref) {
262
289
  case 0:
263
290
  _context2.prev = 0;
264
291
  body = {
265
- userIds: userIds,
266
- groupsIds: []
292
+ userIds: [userId],
293
+ groupsIds: groups
267
294
  };
268
295
  _context2.next = 4;
269
296
  return _axios.default.post("".concat(process.env.REACT_APP_USERS_ONBOARDING_ENDPOINT, "/delete"), body, {
@@ -276,16 +303,15 @@ var Multiselect = function Multiselect(_ref) {
276
303
  response = _context2.sent;
277
304
  console.log("borrado correctamente", response.data.body);
278
305
  loadUserGroups();
279
- _context2.next = 13;
306
+ _context2.next = 12;
280
307
  break;
281
308
 
282
309
  case 9:
283
310
  _context2.prev = 9;
284
311
  _context2.t0 = _context2["catch"](0);
285
- console.error("Error al cambiar grupos de usuarios:", _context2.t0);
286
- setLoading(false);
312
+ console.error("Error al eliminar grupos de usuarios:", _context2.t0);
287
313
 
288
- case 13:
314
+ case 12:
289
315
  case "end":
290
316
  return _context2.stop();
291
317
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contentoh-components-library",
3
- "version": "21.4.119",
3
+ "version": "21.4.120",
4
4
  "dependencies": {
5
5
  "@aws-amplify/auth": "^4.5.3",
6
6
  "@aws-amplify/datastore": "^3.11.0",
@@ -24,17 +24,17 @@ MultiselectDefault.args = {
24
24
  {
25
25
  "groupId": 60,
26
26
  "groupName": "Compras",
27
- "userContentGroup": 1
27
+ "userContentGroup": 0
28
28
  },
29
29
  {
30
30
  "groupId": 65,
31
31
  "groupName": "Jefe Comercial",
32
- "userContentGroup": 0
32
+ "userContentGroup": 1
33
33
  },
34
34
  {
35
35
  "groupId": 66,
36
36
  "groupName": "Planogramas",
37
- "userContentGroup": 0
37
+ "userContentGroup": 1
38
38
  },
39
39
  {
40
40
  "groupId": 67,
@@ -84,20 +84,22 @@ const loadUserGroups = (updatedValues) => {
84
84
  const onChange = (evt) => {
85
85
  setText(evt.target.value);
86
86
  };
87
-
88
87
  const handleChange = (userId) => (event) => {
89
88
  const {
90
89
  target: { value },
91
90
  } = event;
92
91
 
92
+ // Crear una copia del estado actual para comparación
93
+ const filteredArrayCopy = [...filters];
94
+
93
95
  const updatedValues = groups.map((group) => {
94
96
  const isSelected = value.includes(group.groupName);
95
-
96
97
  return {
97
98
  ...group,
98
99
  userContentGroup: isSelected ? 1 : 0,
99
100
  };
100
101
  });
102
+ console.log(updatedValues);
101
103
 
102
104
  setSelectedItems(updatedValues.filter((group) => group.userContentGroup === 1).map((group) => group.groupName));
103
105
 
@@ -108,16 +110,36 @@ const loadUserGroups = (updatedValues) => {
108
110
  .map((group) => group.groupName),
109
111
  }));
110
112
 
111
- const groupIds = updatedValues.filter((group) => group.userContentGroup === 1).map((group) => group.groupId);
112
- if (groupIds.length > 0) {
113
- // Llamada a la función de actualización si hay grupos seleccionados
114
- updateGroup(groupIds);
115
- } else {
116
- // Llamada a la función de eliminación si no hay grupos seleccionados
117
- deleteGroup([userId]);
113
+ // Comparar cambios entre updatedValues y filteredArray
114
+ const changes = updatedValues.reduce((result, group, index) => {
115
+ if (group.userContentGroup !== filteredArrayCopy[index].userContentGroup) {
116
+ result.push({
117
+ groupId: group.groupId,
118
+ userContentGroup: group.userContentGroup,
119
+ });
120
+ }
121
+ return result;
122
+ }, []);
123
+ console.log("changes", changes);
124
+
125
+ // Separar los cambios por userContentGroup para enviar a las funciones correspondientes
126
+ const updatedGroups = changes.filter((change) => change.userContentGroup === 1).map((change) => change.groupId);
127
+ console.log("updatedGroups",updatedGroups)
128
+ const deletedGroups = changes.filter((change) => change.userContentGroup === 0).map((change) => change.groupId);
129
+ console.log("deletedGroups",deletedGroups)
130
+ if (updatedGroups.length > 0) {
131
+ // Llamada a la función de actualización si hubo cambios con userContentGroup === 1
132
+ updateGroup(updatedGroups);
133
+ }
134
+
135
+ if (deletedGroups.length > 0) {
136
+ // Llamada a la función de eliminación si hubo cambios con userContentGroup === 0
137
+ deleteGroup(deletedGroups);
118
138
  }
119
139
  };
120
140
 
141
+
142
+
121
143
 
122
144
  //actualiza los grupos seleccionados
123
145
  const updateGroup = async (groupsIds) => {
@@ -162,11 +184,11 @@ const loadUserGroups = (updatedValues) => {
162
184
  };
163
185
 
164
186
  //Elimina todos los grupos de usuarios seleccionados
165
- const deleteGroup = async (userIds) => {
187
+ const deleteGroup = async (groups) => {
166
188
  try {
167
189
  const body = {
168
- userIds,
169
- groupsIds: [],
190
+ userIds:[userId],
191
+ groupsIds:groups,
170
192
  };
171
193
  const response = await axios.post(
172
194
  `${process.env.REACT_APP_USERS_ONBOARDING_ENDPOINT}/delete`,
@@ -180,8 +202,7 @@ const loadUserGroups = (updatedValues) => {
180
202
  console.log("borrado correctamente", response.data.body);
181
203
  loadUserGroups();
182
204
  } catch (error) {
183
- console.error("Error al cambiar grupos de usuarios:", error);
184
- setLoading(false);
205
+ console.error("Error al eliminar grupos de usuarios:", error);
185
206
  }
186
207
  };
187
208