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":
|
|
39
|
+
"userContentGroup": 0
|
|
40
40
|
}, {
|
|
41
41
|
"groupId": 65,
|
|
42
42
|
"groupName": "Jefe Comercial",
|
|
43
|
-
"userContentGroup":
|
|
43
|
+
"userContentGroup": 1
|
|
44
44
|
}, {
|
|
45
45
|
"groupId": 66,
|
|
46
46
|
"groupName": "Planogramas",
|
|
47
|
-
"userContentGroup":
|
|
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
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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 (
|
|
185
|
-
// Llamada a la función de actualización si
|
|
186
|
-
updateGroup(
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
|
|
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(
|
|
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:
|
|
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 =
|
|
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
|
|
286
|
-
setLoading(false);
|
|
312
|
+
console.error("Error al eliminar grupos de usuarios:", _context2.t0);
|
|
287
313
|
|
|
288
|
-
case
|
|
314
|
+
case 12:
|
|
289
315
|
case "end":
|
|
290
316
|
return _context2.stop();
|
|
291
317
|
}
|
package/package.json
CHANGED
|
@@ -24,17 +24,17 @@ MultiselectDefault.args = {
|
|
|
24
24
|
{
|
|
25
25
|
"groupId": 60,
|
|
26
26
|
"groupName": "Compras",
|
|
27
|
-
"userContentGroup":
|
|
27
|
+
"userContentGroup": 0
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
"groupId": 65,
|
|
31
31
|
"groupName": "Jefe Comercial",
|
|
32
|
-
"userContentGroup":
|
|
32
|
+
"userContentGroup": 1
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"groupId": 66,
|
|
36
36
|
"groupName": "Planogramas",
|
|
37
|
-
"userContentGroup":
|
|
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
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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 (
|
|
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
|
|
184
|
-
setLoading(false);
|
|
205
|
+
console.error("Error al eliminar grupos de usuarios:", error);
|
|
185
206
|
}
|
|
186
207
|
};
|
|
187
208
|
|