contentoh-components-library 21.4.75 → 21.4.78
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/assets/images/Icons/close.svg +8 -0
- package/dist/assets/images/Icons/edit.svg +8 -0
- package/dist/assets/images/Icons/save.svg +8 -0
- package/dist/components/atoms/ObservationFlag/ObservationFlag.stories.js +38 -0
- package/dist/components/atoms/ObservationFlag/index.js +52 -0
- package/dist/components/atoms/ObservationFlag/styles.js +18 -0
- package/dist/components/molecules/Phase/index.js +70 -16
- package/dist/components/molecules/ProductNameHeader/index.js +8 -3
- package/dist/components/organisms/DragAndDropPhases/index.js +166 -114
- package/dist/components/organisms/DragAndDropPhases/styles.js +1 -1
- package/dist/components/organisms/EditGroup/EditGroup.stories.js +5 -4
- package/dist/components/organisms/EditGroup/index.js +445 -127
- package/dist/components/organisms/EditGroup/styles.js +8 -16
- package/dist/components/organisms/FullProductNameHeader/index.js +3 -1
- package/dist/components/organisms/VersionSelector/index.js +101 -167
- package/dist/components/pages/RetailerProductEdition/index.js +60 -149
- package/package.json +2 -1
- package/src/assets/images/Icons/close.svg +8 -0
- package/src/assets/images/Icons/edit.svg +8 -0
- package/src/assets/images/Icons/save.svg +8 -0
- package/src/components/atoms/ObservationFlag/ObservationFlag.stories.js +20 -0
- package/src/components/atoms/ObservationFlag/index.js +33 -0
- package/src/components/atoms/ObservationFlag/styles.js +3 -0
- package/src/components/atoms/TabSection/index.js +1 -1
- package/src/components/molecules/Phase/index.js +112 -69
- package/src/components/molecules/ProductNameHeader/index.js +5 -1
- package/src/components/organisms/DragAndDropPhases/index.js +106 -75
- package/src/components/organisms/DragAndDropPhases/styles.js +27 -0
- package/src/components/organisms/EditGroup/EditGroup.stories.js +5 -4
- package/src/components/organisms/EditGroup/index.js +271 -108
- package/src/components/organisms/EditGroup/styles.js +102 -10
- package/src/components/organisms/FullProductNameHeader/index.js +2 -0
- package/src/components/organisms/VersionSelector/index.js +100 -99
- package/src/components/pages/RetailerProductEdition/index.js +18 -143
|
@@ -9,12 +9,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports.EditGroup = void 0;
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
15
15
|
|
|
16
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
17
17
|
|
|
18
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
19
|
+
|
|
20
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
21
|
+
|
|
18
22
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
23
|
|
|
20
24
|
var _styles = require("./styles");
|
|
@@ -25,20 +29,67 @@ var _ButtonV = require("../../atoms/ButtonV2");
|
|
|
25
29
|
|
|
26
30
|
var _trash = _interopRequireDefault(require("../../../assets/images/Icons/trash.svg"));
|
|
27
31
|
|
|
28
|
-
var
|
|
32
|
+
var _edit = _interopRequireDefault(require("../../../assets/images/Icons/edit.svg"));
|
|
33
|
+
|
|
34
|
+
var _close = _interopRequireDefault(require("../../../assets/images/Icons/close.svg"));
|
|
35
|
+
|
|
36
|
+
var _save = _interopRequireDefault(require("../../../assets/images/Icons/save.svg"));
|
|
29
37
|
|
|
30
38
|
var _Modal = require("../../organisms/Modal");
|
|
31
39
|
|
|
40
|
+
var _axios = _interopRequireDefault(require("axios"));
|
|
41
|
+
|
|
32
42
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
33
43
|
|
|
44
|
+
var reducerGroups = function reducerGroups(state, action) {
|
|
45
|
+
var values = state.values;
|
|
46
|
+
|
|
47
|
+
switch (action.type) {
|
|
48
|
+
case "init":
|
|
49
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
50
|
+
values: action.payload
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
case "addGroup":
|
|
54
|
+
values = [].concat((0, _toConsumableArray2.default)(values), [action.group]);
|
|
55
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
56
|
+
values: values
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
case "updateGroup":
|
|
60
|
+
values[action.payload.index][action.payload.property] = action.payload.value;
|
|
61
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
62
|
+
values: values
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
case "deleteGroup":
|
|
66
|
+
values = values.map(function (item) {
|
|
67
|
+
return item.groupId !== action.payload.id ? item : (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
|
|
68
|
+
isDeleted: true
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, state), {}, {
|
|
72
|
+
values: values
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
default:
|
|
76
|
+
return state;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
34
80
|
var EditGroup = function EditGroup(_ref) {
|
|
35
|
-
var
|
|
81
|
+
var token = _ref.token;
|
|
36
82
|
|
|
37
|
-
var _useState = (0, _react.useState)(
|
|
83
|
+
var _useState = (0, _react.useState)([]),
|
|
38
84
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
39
85
|
groups = _useState2[0],
|
|
40
86
|
setGroups = _useState2[1];
|
|
41
87
|
|
|
88
|
+
var _useReducer = (0, _react.useReducer)(reducerGroups, {}),
|
|
89
|
+
_useReducer2 = (0, _slicedToArray2.default)(_useReducer, 2),
|
|
90
|
+
state = _useReducer2[0],
|
|
91
|
+
dispatch = _useReducer2[1];
|
|
92
|
+
|
|
42
93
|
var _useState3 = (0, _react.useState)(false),
|
|
43
94
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
44
95
|
isMoreThanTenGroups = _useState4[0],
|
|
@@ -54,178 +105,445 @@ var EditGroup = function EditGroup(_ref) {
|
|
|
54
105
|
deletingIndex = _useState8[0],
|
|
55
106
|
setDeletingIndex = _useState8[1];
|
|
56
107
|
|
|
57
|
-
var _useState9 = (0, _react.useState)(
|
|
108
|
+
var _useState9 = (0, _react.useState)([]),
|
|
58
109
|
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
59
|
-
|
|
60
|
-
|
|
110
|
+
deletedRows = _useState10[0],
|
|
111
|
+
setDeletedRows = _useState10[1];
|
|
61
112
|
|
|
62
|
-
var _useState11 = (0, _react.useState)(
|
|
113
|
+
var _useState11 = (0, _react.useState)(null),
|
|
63
114
|
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
64
|
-
|
|
65
|
-
|
|
115
|
+
hoveredIndex = _useState12[0],
|
|
116
|
+
setHoveredIndex = _useState12[1];
|
|
117
|
+
|
|
118
|
+
var _useState13 = (0, _react.useState)([]),
|
|
119
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
120
|
+
isEditingList = _useState14[0],
|
|
121
|
+
setIsEditingList = _useState14[1];
|
|
122
|
+
|
|
123
|
+
var _useState15 = (0, _react.useState)(false),
|
|
124
|
+
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
125
|
+
newGroup = _useState16[0],
|
|
126
|
+
setNewGroup = _useState16[1];
|
|
127
|
+
|
|
128
|
+
var _useState17 = (0, _react.useState)(null),
|
|
129
|
+
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
130
|
+
currentEditIndex = _useState18[0],
|
|
131
|
+
setCurrentEditIndex = _useState18[1];
|
|
66
132
|
|
|
67
|
-
var
|
|
133
|
+
var _useState19 = (0, _react.useState)([]),
|
|
134
|
+
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
135
|
+
inputValue = _useState20[0],
|
|
136
|
+
setInputValue = _useState20[1];
|
|
137
|
+
|
|
138
|
+
var _useState21 = (0, _react.useState)({
|
|
68
139
|
show: false,
|
|
69
|
-
title:
|
|
70
|
-
message:
|
|
71
|
-
icon:
|
|
140
|
+
title: "Actualización completa",
|
|
141
|
+
message: "",
|
|
142
|
+
icon: "success"
|
|
72
143
|
}),
|
|
73
|
-
|
|
74
|
-
modalData =
|
|
75
|
-
setModalData =
|
|
144
|
+
_useState22 = (0, _slicedToArray2.default)(_useState21, 2),
|
|
145
|
+
modalData = _useState22[0],
|
|
146
|
+
setModalData = _useState22[1];
|
|
76
147
|
|
|
148
|
+
var modalRef = (0, _react.useRef)();
|
|
149
|
+
(0, _react.useEffect)(function () {}, [groups]);
|
|
77
150
|
(0, _react.useEffect)(function () {
|
|
78
|
-
|
|
79
|
-
}, [
|
|
80
|
-
|
|
81
|
-
var
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
151
|
+
loadData();
|
|
152
|
+
}, []);
|
|
153
|
+
|
|
154
|
+
var loadData = /*#__PURE__*/function () {
|
|
155
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
156
|
+
var response, receivedGroups, groupsArray;
|
|
157
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
158
|
+
while (1) {
|
|
159
|
+
switch (_context.prev = _context.next) {
|
|
160
|
+
case 0:
|
|
161
|
+
_context.prev = 0;
|
|
162
|
+
_context.next = 3;
|
|
163
|
+
return _axios.default.post("".concat(process.env.REACT_APP_GROUPS_ENDPOINT, "/get"), {}, {
|
|
164
|
+
headers: {
|
|
165
|
+
Authorization: sessionStorage.getItem("jwt")
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
case 3:
|
|
170
|
+
response = _context.sent;
|
|
171
|
+
receivedGroups = JSON.parse(response.data.body).groups;
|
|
172
|
+
groupsArray = [];
|
|
173
|
+
receivedGroups.forEach(function (_ref3) {
|
|
174
|
+
var id = _ref3.id,
|
|
175
|
+
name = _ref3.name,
|
|
176
|
+
retailer_id = _ref3.retailer_id;
|
|
177
|
+
groupsArray.push({
|
|
178
|
+
groupId: id,
|
|
179
|
+
groupName: name || null,
|
|
180
|
+
retailerId: retailer_id || null
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
setGroups(groupsArray);
|
|
184
|
+
dispatch({
|
|
185
|
+
type: "init",
|
|
186
|
+
payload: groupsArray
|
|
187
|
+
});
|
|
188
|
+
_context.next = 14;
|
|
189
|
+
break;
|
|
190
|
+
|
|
191
|
+
case 11:
|
|
192
|
+
_context.prev = 11;
|
|
193
|
+
_context.t0 = _context["catch"](0);
|
|
194
|
+
console.error("Error al obtener grupos:", _context.t0);
|
|
195
|
+
|
|
196
|
+
case 14:
|
|
197
|
+
case "end":
|
|
198
|
+
return _context.stop();
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}, _callee, null, [[0, 11]]);
|
|
202
|
+
}));
|
|
203
|
+
|
|
204
|
+
return function loadData() {
|
|
205
|
+
return _ref2.apply(this, arguments);
|
|
206
|
+
};
|
|
207
|
+
}();
|
|
208
|
+
|
|
209
|
+
var AddGroup = /*#__PURE__*/function () {
|
|
210
|
+
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(index, concatenatedValue) {
|
|
211
|
+
var response, createdGroup;
|
|
212
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
213
|
+
while (1) {
|
|
214
|
+
switch (_context2.prev = _context2.next) {
|
|
215
|
+
case 0:
|
|
216
|
+
_context2.prev = 0;
|
|
217
|
+
_context2.next = 3;
|
|
218
|
+
return _axios.default.post("".concat(process.env.REACT_APP_GROUPS_ENDPOINT, "/create"), {
|
|
219
|
+
groupName: concatenatedValue
|
|
220
|
+
}, {
|
|
221
|
+
headers: {
|
|
222
|
+
Authorization: token
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
case 3:
|
|
227
|
+
response = _context2.sent;
|
|
228
|
+
createdGroup = response.data.body;
|
|
229
|
+
dispatch({
|
|
230
|
+
type: "addGroup",
|
|
231
|
+
payload: createdGroup
|
|
232
|
+
});
|
|
233
|
+
setEditingIndex(null);
|
|
234
|
+
setInputValue([]);
|
|
235
|
+
setIsEditingList(function (prevList) {
|
|
236
|
+
var newList = (0, _toConsumableArray2.default)(prevList);
|
|
237
|
+
newList[index] = false;
|
|
238
|
+
return newList;
|
|
239
|
+
});
|
|
240
|
+
setCurrentEditIndex(null);
|
|
241
|
+
loadData();
|
|
242
|
+
_context2.next = 16;
|
|
243
|
+
break;
|
|
244
|
+
|
|
245
|
+
case 13:
|
|
246
|
+
_context2.prev = 13;
|
|
247
|
+
_context2.t0 = _context2["catch"](0);
|
|
248
|
+
console.error("Error al agregar grupo:", _context2.t0);
|
|
249
|
+
|
|
250
|
+
case 16:
|
|
251
|
+
case "end":
|
|
252
|
+
return _context2.stop();
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}, _callee2, null, [[0, 13]]);
|
|
256
|
+
}));
|
|
257
|
+
|
|
258
|
+
return function AddGroup(_x, _x2) {
|
|
259
|
+
return _ref4.apply(this, arguments);
|
|
260
|
+
};
|
|
261
|
+
}();
|
|
262
|
+
|
|
263
|
+
var handleUpdateGroup = /*#__PURE__*/function () {
|
|
264
|
+
var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(index, groupId, updatedGroupName) {
|
|
265
|
+
var response, updatedData;
|
|
266
|
+
return _regenerator.default.wrap(function _callee3$(_context3) {
|
|
267
|
+
while (1) {
|
|
268
|
+
switch (_context3.prev = _context3.next) {
|
|
269
|
+
case 0:
|
|
270
|
+
_context3.prev = 0;
|
|
271
|
+
_context3.next = 3;
|
|
272
|
+
return _axios.default.post("".concat(process.env.REACT_APP_GROUPS_ENDPOINT, "/update?id=").concat(groupId, "&groupName=").concat(updatedGroupName), {}, {
|
|
273
|
+
headers: {
|
|
274
|
+
Authorization: token
|
|
275
|
+
}
|
|
276
|
+
});
|
|
277
|
+
|
|
278
|
+
case 3:
|
|
279
|
+
response = _context3.sent;
|
|
280
|
+
updatedData = response.data.body;
|
|
281
|
+
dispatch({
|
|
282
|
+
type: "updateGroup",
|
|
283
|
+
payload: {
|
|
284
|
+
index: index,
|
|
285
|
+
property: "groupName",
|
|
286
|
+
value: updatedData.groupName
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
setEditingIndex(null);
|
|
290
|
+
setInputValue([]);
|
|
291
|
+
setIsEditingList(function (prevList) {
|
|
292
|
+
var newList = (0, _toConsumableArray2.default)(prevList);
|
|
293
|
+
newList[index] = false;
|
|
294
|
+
return newList;
|
|
295
|
+
});
|
|
296
|
+
setCurrentEditIndex(null);
|
|
297
|
+
loadData();
|
|
298
|
+
_context3.next = 16;
|
|
299
|
+
break;
|
|
300
|
+
|
|
301
|
+
case 13:
|
|
302
|
+
_context3.prev = 13;
|
|
303
|
+
_context3.t0 = _context3["catch"](0);
|
|
304
|
+
console.error("Error al actualizar grupo:", _context3.t0);
|
|
305
|
+
|
|
306
|
+
case 16:
|
|
307
|
+
case "end":
|
|
308
|
+
return _context3.stop();
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}, _callee3, null, [[0, 13]]);
|
|
312
|
+
}));
|
|
313
|
+
|
|
314
|
+
return function handleUpdateGroup(_x3, _x4, _x5) {
|
|
315
|
+
return _ref5.apply(this, arguments);
|
|
316
|
+
};
|
|
317
|
+
}();
|
|
318
|
+
|
|
319
|
+
var deleteGroup = /*#__PURE__*/function () {
|
|
320
|
+
var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(groupId) {
|
|
321
|
+
var response;
|
|
322
|
+
return _regenerator.default.wrap(function _callee4$(_context4) {
|
|
323
|
+
while (1) {
|
|
324
|
+
switch (_context4.prev = _context4.next) {
|
|
325
|
+
case 0:
|
|
326
|
+
_context4.prev = 0;
|
|
327
|
+
_context4.next = 3;
|
|
328
|
+
return _axios.default.post("".concat(process.env.REACT_APP_GROUPS_ENDPOINT, "/delete?id=").concat(groupId), {}, {
|
|
329
|
+
headers: {
|
|
330
|
+
Authorization: token
|
|
331
|
+
}
|
|
332
|
+
});
|
|
333
|
+
|
|
334
|
+
case 3:
|
|
335
|
+
response = _context4.sent;
|
|
336
|
+
dispatch({
|
|
337
|
+
type: "deleteGroup",
|
|
338
|
+
payload: {
|
|
339
|
+
id: groupId
|
|
340
|
+
}
|
|
341
|
+
});
|
|
342
|
+
loadData();
|
|
343
|
+
_context4.next = 11;
|
|
344
|
+
break;
|
|
345
|
+
|
|
346
|
+
case 8:
|
|
347
|
+
_context4.prev = 8;
|
|
348
|
+
_context4.t0 = _context4["catch"](0);
|
|
349
|
+
console.error("Error al borrar grupo:", _context4.t0);
|
|
350
|
+
|
|
351
|
+
case 11:
|
|
352
|
+
case "end":
|
|
353
|
+
return _context4.stop();
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}, _callee4, null, [[0, 8]]);
|
|
357
|
+
}));
|
|
358
|
+
|
|
359
|
+
return function deleteGroup(_x6) {
|
|
360
|
+
return _ref6.apply(this, arguments);
|
|
361
|
+
};
|
|
362
|
+
}();
|
|
363
|
+
|
|
364
|
+
var handleEditButtonClick = function handleEditButtonClick(index) {
|
|
365
|
+
if (isEditingList[index]) {
|
|
366
|
+
handleSaveChanges(index);
|
|
367
|
+
} else {
|
|
368
|
+
setIsEditingList(function (prevList) {
|
|
369
|
+
var newList = (0, _toConsumableArray2.default)(prevList);
|
|
370
|
+
newList[index] = true;
|
|
371
|
+
return newList;
|
|
372
|
+
});
|
|
373
|
+
setEditingIndex(index);
|
|
374
|
+
setInputValue(groups[index].groupName);
|
|
375
|
+
setNewGroup(groups[index].groupId);
|
|
376
|
+
setCurrentEditIndex(index);
|
|
88
377
|
}
|
|
89
378
|
};
|
|
90
379
|
|
|
91
|
-
var
|
|
92
|
-
|
|
93
|
-
|
|
380
|
+
var handleDeleteButtonClick = /*#__PURE__*/function () {
|
|
381
|
+
var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(groupId) {
|
|
382
|
+
return _regenerator.default.wrap(function _callee5$(_context5) {
|
|
383
|
+
while (1) {
|
|
384
|
+
switch (_context5.prev = _context5.next) {
|
|
385
|
+
case 0:
|
|
386
|
+
_context5.next = 2;
|
|
387
|
+
return deleteGroup(groupId);
|
|
388
|
+
|
|
389
|
+
case 2:
|
|
390
|
+
case "end":
|
|
391
|
+
return _context5.stop();
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}, _callee5);
|
|
395
|
+
}));
|
|
396
|
+
|
|
397
|
+
return function handleDeleteButtonClick(_x7) {
|
|
398
|
+
return _ref7.apply(this, arguments);
|
|
399
|
+
};
|
|
400
|
+
}();
|
|
94
401
|
|
|
95
|
-
var
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
return i === index ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
|
|
99
|
-
isDeleted: true
|
|
100
|
-
}) : group;
|
|
402
|
+
var handleInputChange = function handleInputChange(value, index) {
|
|
403
|
+
setInputValue(function (prevInputValue) {
|
|
404
|
+
return prevInputValue + value;
|
|
101
405
|
});
|
|
102
|
-
setGroups(
|
|
103
|
-
|
|
104
|
-
|
|
406
|
+
setGroups(function (prevGroups) {
|
|
407
|
+
var updatedGroups = (0, _toConsumableArray2.default)(prevGroups);
|
|
408
|
+
|
|
409
|
+
if (index !== undefined) {
|
|
410
|
+
updatedGroups[index] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, updatedGroups[index]), {}, {
|
|
411
|
+
groupName: value
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
return updatedGroups;
|
|
105
416
|
});
|
|
106
|
-
setShowUndoButton(true);
|
|
107
417
|
};
|
|
108
418
|
|
|
109
|
-
var
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return i === index ? (0, _objectSpread2.default)((0, _objectSpread2.default)({}, group), {}, {
|
|
113
|
-
isDeleted: false
|
|
114
|
-
}) : group;
|
|
419
|
+
var handleAddButtonClick = function handleAddButtonClick() {
|
|
420
|
+
var isAnyGroupEditing = isEditingList.some(function (editing) {
|
|
421
|
+
return editing;
|
|
115
422
|
});
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
423
|
+
|
|
424
|
+
if (!isAnyGroupEditing && groups.length < 20) {
|
|
425
|
+
setIsEditingList(function (prevList) {
|
|
426
|
+
var newList = (0, _toConsumableArray2.default)(prevList);
|
|
427
|
+
newList[groups.length] = true;
|
|
428
|
+
return newList;
|
|
120
429
|
});
|
|
121
|
-
|
|
122
|
-
|
|
430
|
+
setEditingIndex(groups.length);
|
|
431
|
+
var nuevoGrupo = {
|
|
432
|
+
groupName: inputValue,
|
|
433
|
+
isEditing: true
|
|
434
|
+
};
|
|
435
|
+
setGroups([].concat((0, _toConsumableArray2.default)(groups), [nuevoGrupo]));
|
|
436
|
+
setIsMoreThanTenGroups(groups.length + 1 > 10);
|
|
437
|
+
setNewGroup(undefined);
|
|
438
|
+
setCurrentEditIndex(groups.length);
|
|
439
|
+
}
|
|
123
440
|
};
|
|
124
441
|
|
|
125
|
-
var handleSaveChanges = function handleSaveChanges() {
|
|
126
|
-
var
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
message: 'El cambio de grupo fue aplicado correctamente a los usuarios seleccionados.',
|
|
134
|
-
icon: 'success',
|
|
135
|
-
buttons: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonV.ButtonV2, {
|
|
136
|
-
type: "pink",
|
|
137
|
-
label: "Aceptar",
|
|
138
|
-
size: 12,
|
|
139
|
-
onClick: function onClick() {
|
|
140
|
-
return setModalData(function (prev) {
|
|
141
|
-
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, prev), {}, {
|
|
142
|
-
show: false
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
}, "btn-Aceptar")]
|
|
147
|
-
});
|
|
148
|
-
console.log('Guardando cambios:', groups);
|
|
149
|
-
setShowUndoButton(false);
|
|
150
|
-
setEditingIndex(null);
|
|
442
|
+
var handleSaveChanges = function handleSaveChanges(index) {
|
|
443
|
+
var concatenatedValue = groups[index].groupName;
|
|
444
|
+
|
|
445
|
+
if (newGroup !== undefined) {
|
|
446
|
+
handleUpdateGroup(index, newGroup, concatenatedValue);
|
|
447
|
+
} else {
|
|
448
|
+
AddGroup(index, concatenatedValue);
|
|
449
|
+
}
|
|
151
450
|
};
|
|
152
451
|
|
|
153
|
-
var
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
452
|
+
var handleCloseModal = function handleCloseModal(e) {
|
|
453
|
+
if (modalRef.current && !modalRef.current.contains(e.target)) {
|
|
454
|
+
setEditingIndex(null);
|
|
455
|
+
}
|
|
157
456
|
};
|
|
158
457
|
|
|
458
|
+
(0, _react.useEffect)(function () {
|
|
459
|
+
document.addEventListener("mousedown", handleCloseModal);
|
|
460
|
+
return function () {
|
|
461
|
+
document.removeEventListener("mousedown", handleCloseModal);
|
|
462
|
+
};
|
|
463
|
+
}, []);
|
|
159
464
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styles.Container, {
|
|
465
|
+
ref: modalRef,
|
|
160
466
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
161
467
|
className: "contentModal",
|
|
162
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
163
|
-
className: "
|
|
164
|
-
children: "
|
|
468
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
469
|
+
className: "header",
|
|
470
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
|
|
471
|
+
className: "title-edit",
|
|
472
|
+
children: "Editar grupos"
|
|
473
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
|
|
474
|
+
className: "circular-button close-button",
|
|
475
|
+
onClick: handleCloseModal(e),
|
|
476
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
477
|
+
src: _close.default,
|
|
478
|
+
alt: "close icon"
|
|
479
|
+
})
|
|
480
|
+
})]
|
|
165
481
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
166
482
|
className: "details-edit",
|
|
167
483
|
children: "Agrega, edita y borra. Luego guarda los cambios."
|
|
168
484
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
169
|
-
className: "".concat(isMoreThanTenGroups ?
|
|
485
|
+
className: "".concat(isMoreThanTenGroups ? "table-groups-max" : "table-groups-edit"),
|
|
170
486
|
children: groups.map(function (group, index) {
|
|
171
487
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styles.GroupRow, {
|
|
172
488
|
editing: editingIndex === index,
|
|
173
|
-
hasText: Boolean(group.text),
|
|
174
489
|
deleting: deletingIndex === index,
|
|
175
|
-
|
|
176
|
-
return
|
|
490
|
+
onMouseEnter: function onMouseEnter() {
|
|
491
|
+
return setHoveredIndex(index);
|
|
492
|
+
},
|
|
493
|
+
onMouseLeave: function onMouseLeave() {
|
|
494
|
+
return setHoveredIndex(null);
|
|
177
495
|
},
|
|
178
|
-
|
|
496
|
+
className: "group-row ".concat(isEditingList[index] ? "editing" : ""),
|
|
179
497
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
|
|
180
|
-
className: "input-group
|
|
181
|
-
|
|
498
|
+
className: "input-group",
|
|
499
|
+
placeholder: "Escribe el nombre del grupo",
|
|
500
|
+
value: index !== undefined ? group.groupName : inputValue,
|
|
182
501
|
onChange: function onChange(e) {
|
|
183
|
-
return handleInputChange(
|
|
184
|
-
}
|
|
185
|
-
}, index), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
|
|
186
|
-
className: "circular-button",
|
|
187
|
-
onClick: function onClick() {
|
|
188
|
-
handleDeleteGroup(index);
|
|
502
|
+
return handleInputChange(e.target.value, index);
|
|
189
503
|
},
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
src: _trash.default,
|
|
195
|
-
alt: "trash icon"
|
|
196
|
-
})
|
|
197
|
-
}), editingIndex === index && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
|
|
198
|
-
className: "circular-button",
|
|
504
|
+
disabled: !isEditingList[index],
|
|
505
|
+
autoFocus: isEditingList[index] && editingIndex === index
|
|
506
|
+
}, index), currentEditIndex === index ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
|
|
507
|
+
className: "circular-button save-button visible",
|
|
199
508
|
onClick: function onClick() {
|
|
200
|
-
return
|
|
201
|
-
},
|
|
202
|
-
style: {
|
|
203
|
-
display: showUndoButton && deletingIndex === index ? 'block' : 'none'
|
|
509
|
+
return handleSaveChanges(index);
|
|
204
510
|
},
|
|
205
511
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
206
|
-
src:
|
|
207
|
-
alt: "
|
|
512
|
+
src: _save.default,
|
|
513
|
+
alt: "save update icon"
|
|
208
514
|
})
|
|
515
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
516
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
|
|
517
|
+
className: "circular-button edit-button ".concat(hoveredIndex === index ? "visible" : ""),
|
|
518
|
+
onClick: function onClick() {
|
|
519
|
+
return handleEditButtonClick(index);
|
|
520
|
+
},
|
|
521
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
522
|
+
src: _edit.default,
|
|
523
|
+
alt: "edit icon"
|
|
524
|
+
})
|
|
525
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
|
|
526
|
+
className: "circular-button delete-button ".concat(hoveredIndex === index ? "visible" : ""),
|
|
527
|
+
onClick: function onClick() {
|
|
528
|
+
return handleDeleteButtonClick(group.groupId);
|
|
529
|
+
},
|
|
530
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
|
|
531
|
+
src: _trash.default,
|
|
532
|
+
alt: "trash icon"
|
|
533
|
+
})
|
|
534
|
+
})]
|
|
209
535
|
})]
|
|
210
|
-
},
|
|
536
|
+
}, group.groupId);
|
|
211
537
|
})
|
|
212
|
-
}), /*#__PURE__*/(0, _jsxRuntime.
|
|
538
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
213
539
|
className: "container-save-add",
|
|
214
|
-
children:
|
|
540
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Button, {
|
|
215
541
|
className: "button-add",
|
|
216
542
|
onClick: function onClick() {
|
|
217
|
-
return
|
|
543
|
+
return handleAddButtonClick();
|
|
218
544
|
},
|
|
219
545
|
children: "+ Agregar Grupo"
|
|
220
|
-
})
|
|
221
|
-
type: "pink",
|
|
222
|
-
borderType: "oval",
|
|
223
|
-
label: "Guardar",
|
|
224
|
-
size: 12,
|
|
225
|
-
onClick: function onClick() {
|
|
226
|
-
return handleSaveChanges();
|
|
227
|
-
}
|
|
228
|
-
}, "btn-guardar")]
|
|
546
|
+
})
|
|
229
547
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Modal.Modal, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, modalData), {}, {
|
|
230
548
|
onClickBtnDefault: function onClickBtnDefault() {
|
|
231
549
|
return setModalData(function (prev) {
|