contentoh-components-library 21.3.53 → 21.3.54
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/.env.development +2 -0
- package/dist/components/atoms/ButtonV2/styles.js +1 -1
- package/dist/components/atoms/Status/styles.js +1 -1
- package/dist/components/atoms/VerticalSideMenuMainPage/index.js +18 -23
- package/dist/components/atoms/VerticalSideMenuMainPage/styles.js +4 -4
- package/dist/components/molecules/CarouselImagesLogin/index.js +1 -1
- package/dist/components/molecules/HeaderTop/index.js +68 -11
- package/dist/components/organisms/Chat/Chat.stories.js +21 -1
- package/dist/components/organisms/Chat/ContainerItems/index.js +19 -3
- package/dist/components/organisms/Chat/ContainerItems/styles.js +1 -1
- package/dist/components/organisms/Chat/ContentChat/index.js +343 -191
- package/dist/components/organisms/Chat/Footer/index.js +48 -39
- package/dist/components/organisms/Chat/index.js +48 -3
- package/dist/components/organisms/DashboardMetric/dashboardMetricUtils.js +27 -0
- package/dist/components/organisms/FullProductNameHeader/index.js +2 -2
- package/dist/components/organisms/GlobalModal/styles.js +1 -1
- package/dist/components/organisms/OrderDetail/styles.js +1 -1
- package/dist/components/organisms/OrderDetail/utils/Table/styles.js +1 -1
- package/dist/components/pages/Dashboard/Dashboard.stories.js +31 -50
- package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +198 -81
- package/dist/components/pages/ProviderProductEdition/index.js +725 -429
- package/dist/components/pages/ProviderProductEdition/styles.js +1 -1
- package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +72 -89
- package/dist/components/pages/RetailerProductEdition/index.js +267 -278
- package/dist/components/pages/RetailerProductEdition/styles.js +1 -1
- package/dist/components/pages/RetailerProductEdition/utils.js +61 -2
- package/dist/index.js +13 -0
- package/package.json +7 -6
- package/src/components/atoms/ButtonV2/styles.js +1 -1
- package/src/components/atoms/Status/styles.js +4 -0
- package/src/components/atoms/VerticalSideMenuMainPage/index.js +18 -22
- package/src/components/atoms/VerticalSideMenuMainPage/styles.js +3 -4
- package/src/components/molecules/CarouselImagesLogin/index.js +1 -1
- package/src/components/molecules/HeaderTop/index.js +52 -6
- package/src/components/organisms/Chat/Chat.stories.js +21 -0
- package/src/components/organisms/Chat/ContainerItems/index.js +18 -2
- package/src/components/organisms/Chat/ContainerItems/styles.js +10 -2
- package/src/components/organisms/Chat/ContentChat/index.js +81 -6
- package/src/components/organisms/Chat/Footer/index.js +11 -0
- package/src/components/organisms/Chat/index.js +47 -3
- package/src/components/organisms/DashboardMetric/dashboardMetricUtils.js +18 -1
- package/src/components/organisms/FullProductNameHeader/index.js +1 -1
- package/src/components/organisms/GlobalModal/styles.js +10 -0
- package/src/components/organisms/OrderDetail/index.js +1 -0
- package/src/components/organisms/OrderDetail/styles.js +1 -1
- package/src/components/organisms/OrderDetail/utils/Table/styles.js +0 -1
- package/src/components/organisms/TableResizable/TableResizable.stories.js +17 -0
- package/src/components/organisms/TableResizable/index.js +119 -0
- package/src/components/organisms/TableResizable/styles.js +133 -0
- package/src/components/organisms/TableResizable/utils.js +46 -0
- package/src/components/pages/Dashboard/Dashboard.stories.js +31 -55
- package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +214 -88
- package/src/components/pages/ProviderProductEdition/index.js +323 -160
- package/src/components/pages/ProviderProductEdition/styles.js +5 -1
- package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +75 -91
- package/src/components/pages/RetailerProductEdition/index.js +111 -137
- package/src/components/pages/RetailerProductEdition/styles.js +4 -0
- package/src/components/pages/RetailerProductEdition/utils.js +37 -0
- package/src/index.js +1 -0
|
@@ -169,6 +169,17 @@ export const Footer = (props) => {
|
|
|
169
169
|
errorMessage = "El ID del ticket no es valido";
|
|
170
170
|
}
|
|
171
171
|
break;
|
|
172
|
+
case "product_status":
|
|
173
|
+
if (
|
|
174
|
+
isValidNaturalNumber(dataChat?.id) &&
|
|
175
|
+
isValidNaturalNumber(dataChat?.version) &&
|
|
176
|
+
isValidNaturalNumber(dataChat?.retailerId)
|
|
177
|
+
) {
|
|
178
|
+
fileKey += `productStatus/${dataChat.id}-${dataChat?.version}-${dataChat?.retailerId}/`;
|
|
179
|
+
} else {
|
|
180
|
+
errorMessage = "El ID del ticket no es valido";
|
|
181
|
+
}
|
|
182
|
+
break;
|
|
172
183
|
|
|
173
184
|
default:
|
|
174
185
|
errorMessage =
|
|
@@ -24,7 +24,7 @@ export const Chat = (props) => {
|
|
|
24
24
|
const [showPopUpChat, setShowPopUpChat] = useState(false);
|
|
25
25
|
const [data, setData] = useState();
|
|
26
26
|
|
|
27
|
-
const { ticketCompany } = chatData || {};
|
|
27
|
+
const { ticketCompany, retailerId } = chatData || {};
|
|
28
28
|
|
|
29
29
|
useEffect(() => {
|
|
30
30
|
switch (chatType) {
|
|
@@ -37,6 +37,9 @@ export const Chat = (props) => {
|
|
|
37
37
|
case "ticket":
|
|
38
38
|
validateChatTicket();
|
|
39
39
|
break;
|
|
40
|
+
case "product_status":
|
|
41
|
+
validateProductStatus();
|
|
42
|
+
break;
|
|
40
43
|
default:
|
|
41
44
|
setData({
|
|
42
45
|
code: 404,
|
|
@@ -46,6 +49,45 @@ export const Chat = (props) => {
|
|
|
46
49
|
}
|
|
47
50
|
}, [chatType]);
|
|
48
51
|
|
|
52
|
+
const validateProductStatus = () => {
|
|
53
|
+
const {
|
|
54
|
+
userToken, // string
|
|
55
|
+
id, // number
|
|
56
|
+
version,
|
|
57
|
+
retailerId, // number
|
|
58
|
+
status,
|
|
59
|
+
orderId,
|
|
60
|
+
} = chatData;
|
|
61
|
+
|
|
62
|
+
if (!isValidGeneral(userToken, id)) return;
|
|
63
|
+
|
|
64
|
+
// validar el ID de la cadena asociada al producto en la OT
|
|
65
|
+
if (!isValidNaturalNumber(retailerId)) {
|
|
66
|
+
setDataError("La cadena relacionada al producto no es válida");
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// validar el ID de la version asociada al producto en la OT
|
|
71
|
+
if (!isValidNaturalNumber(version)) {
|
|
72
|
+
setDataError("La versión del producto no es válida");
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (orderId && !isValidNaturalNumber(orderId)) {
|
|
77
|
+
setDataError("La orden del producto no es válida");
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
setData({
|
|
82
|
+
userToken,
|
|
83
|
+
id,
|
|
84
|
+
version,
|
|
85
|
+
retailerId,
|
|
86
|
+
orderId,
|
|
87
|
+
status,
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
|
|
49
91
|
const isValidGeneral = (userToken, id) => {
|
|
50
92
|
// validar token del user
|
|
51
93
|
if (isStringEmpty(userToken)) {
|
|
@@ -69,6 +111,8 @@ export const Chat = (props) => {
|
|
|
69
111
|
retailerId, // number
|
|
70
112
|
} = chatData;
|
|
71
113
|
|
|
114
|
+
console.log(chatData, "chatData");
|
|
115
|
+
|
|
72
116
|
if (!isValidGeneral(userToken, id)) return;
|
|
73
117
|
|
|
74
118
|
// validar el ID de la OT en donde se encuentra el producto
|
|
@@ -197,7 +241,7 @@ export const Chat = (props) => {
|
|
|
197
241
|
dataChat={data}
|
|
198
242
|
showBtnClose={false}
|
|
199
243
|
ticketCompany={ticketCompany}
|
|
200
|
-
activeRetailer={props.activeRetailer}
|
|
244
|
+
activeRetailer={props.activeRetailer || { id: retailerId }}
|
|
201
245
|
/>
|
|
202
246
|
</ContainerFixed>
|
|
203
247
|
);
|
|
@@ -230,7 +274,7 @@ export const Chat = (props) => {
|
|
|
230
274
|
onClickBtnClose={() => {
|
|
231
275
|
setShowPopUpChat(false);
|
|
232
276
|
}}
|
|
233
|
-
activeRetailer={props.activeRetailer}
|
|
277
|
+
activeRetailer={props.activeRetailer || { id: retailerId }}
|
|
234
278
|
/>
|
|
235
279
|
</ContainerPopUp>
|
|
236
280
|
</Slide>
|
|
@@ -35,6 +35,16 @@ export const getFullStatus = (status) => {
|
|
|
35
35
|
return "Exportado";
|
|
36
36
|
case "NS":
|
|
37
37
|
return "No solicitado";
|
|
38
|
+
case "SAC":
|
|
39
|
+
return "Solicitud Auditoría Content-oh!";
|
|
40
|
+
case "AAC":
|
|
41
|
+
return "Aprobado Auditoría Content-oh!";
|
|
42
|
+
case "RAC":
|
|
43
|
+
return "Rechazado Auditoría Content-oh!";
|
|
44
|
+
case "FAP":
|
|
45
|
+
return "Finalización Auditoría por Proveedor";
|
|
46
|
+
default:
|
|
47
|
+
return "";
|
|
38
48
|
}
|
|
39
49
|
};
|
|
40
50
|
|
|
@@ -75,6 +85,14 @@ export const getStatusColor = (status) => {
|
|
|
75
85
|
return "black";
|
|
76
86
|
case "Ex":
|
|
77
87
|
return "#09CAD8";
|
|
88
|
+
case "SAC":
|
|
89
|
+
return "#2471A3";
|
|
90
|
+
case "AAC":
|
|
91
|
+
return "#1ABC9C";
|
|
92
|
+
case "RAC":
|
|
93
|
+
return "#229954";
|
|
94
|
+
case "FAP":
|
|
95
|
+
return "#F1C40F";
|
|
78
96
|
default:
|
|
79
97
|
return "white";
|
|
80
98
|
}
|
|
@@ -104,7 +122,6 @@ export const removeOldStatus = (object) => {
|
|
|
104
122
|
object["AC"] = object["AC"] + object["AF"];
|
|
105
123
|
delete object["AF"];
|
|
106
124
|
break;
|
|
107
|
-
|
|
108
125
|
default:
|
|
109
126
|
break;
|
|
110
127
|
}
|
|
@@ -23,7 +23,7 @@ export const FullProductNameHeader = ({
|
|
|
23
23
|
useEffect(() => {
|
|
24
24
|
const rtls = headerData?.retailers || headerData?.retailersAvailable;
|
|
25
25
|
servicesData &&
|
|
26
|
-
rtls
|
|
26
|
+
rtls?.forEach((rt) => {
|
|
27
27
|
const element = [];
|
|
28
28
|
servicesData.forEach((sd) => {
|
|
29
29
|
if (sd.id_retailer === rt.id) {
|
|
@@ -27,6 +27,16 @@ export const MessageContainer = styled.div`
|
|
|
27
27
|
min-height: ${(props) => (props.height ? "300px" : "190px")};
|
|
28
28
|
background: #281f33;
|
|
29
29
|
border-radius: 39px;
|
|
30
|
+
& > .generic-text {
|
|
31
|
+
width: 100%;
|
|
32
|
+
font-family: Raleway;
|
|
33
|
+
font-style: normal;
|
|
34
|
+
font-weight: normal;
|
|
35
|
+
font-size: 16px;
|
|
36
|
+
text-align: center;
|
|
37
|
+
color: #f7f7f7;
|
|
38
|
+
margin: 20px 0px;
|
|
39
|
+
}
|
|
30
40
|
`;
|
|
31
41
|
export const TextArea = styled.textarea`
|
|
32
42
|
display: block;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TableResizable } from ".";
|
|
2
|
+
import { data } from "./utils.js";
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: "Components/organisms/TableResizable",
|
|
6
|
+
component: TableResizable,
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const Template = (args) => <TableResizable {...args} />;
|
|
10
|
+
|
|
11
|
+
export const DefaultTableResizable = Template.bind({});
|
|
12
|
+
DefaultTableResizable.args = {
|
|
13
|
+
headers: ["Col 1", "Col 2", "Col 3", "Col 4", "Col 5"],
|
|
14
|
+
tableContent: data,
|
|
15
|
+
minCellWidth: 120,
|
|
16
|
+
withResetSizeButton: true,
|
|
17
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import React, { useState, useCallback, useEffect, useRef } from "react";
|
|
2
|
+
import { RestartAlt } from "@mui/icons-material";
|
|
3
|
+
import { Container } from "./styles.js";
|
|
4
|
+
|
|
5
|
+
const createHeaders = (headers) => {
|
|
6
|
+
return headers.map((item) => ({
|
|
7
|
+
text: item,
|
|
8
|
+
ref: useRef(),
|
|
9
|
+
}));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Read the blog post here:
|
|
14
|
+
* https://letsbuildui.dev/articles/resizable-tables-with-react-and-css-grid
|
|
15
|
+
*/
|
|
16
|
+
export const TableResizable = (props) => {
|
|
17
|
+
const {
|
|
18
|
+
gridTemplateColumns,
|
|
19
|
+
headers,
|
|
20
|
+
minCellWidth,
|
|
21
|
+
tableContent,
|
|
22
|
+
withResetSizeButton,
|
|
23
|
+
} = props;
|
|
24
|
+
// const [tableHeight, setTableHeight] = useState("auto");
|
|
25
|
+
const [activeIndex, setActiveIndex] = useState(null);
|
|
26
|
+
const tableElement = useRef(null);
|
|
27
|
+
const columns = createHeaders(headers);
|
|
28
|
+
|
|
29
|
+
// useEffect(() => {
|
|
30
|
+
// setTableHeight(tableElement.current.offsetHeight);
|
|
31
|
+
// }, []);
|
|
32
|
+
|
|
33
|
+
const mouseDown = (index) => setActiveIndex(index);
|
|
34
|
+
|
|
35
|
+
const mouseMove = useCallback(
|
|
36
|
+
(e) => {
|
|
37
|
+
const gridColumns = columns.map((col, i) => {
|
|
38
|
+
if (i === activeIndex) {
|
|
39
|
+
const width = e.clientX - col.ref.current.offsetLeft;
|
|
40
|
+
if (width >= minCellWidth) return `${width}px`;
|
|
41
|
+
}
|
|
42
|
+
return `${col.ref.current.offsetWidth}px`;
|
|
43
|
+
});
|
|
44
|
+
const gridTemplateColumns = `${gridColumns.join(" ")}`;
|
|
45
|
+
tableElement.current.style.gridTemplateColumns = gridTemplateColumns;
|
|
46
|
+
},
|
|
47
|
+
[activeIndex, columns, minCellWidth]
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
const removeListeners = useCallback(() => {
|
|
51
|
+
window.removeEventListener("mousemove", mouseMove);
|
|
52
|
+
window.removeEventListener("mouseup", removeListeners);
|
|
53
|
+
}, [mouseMove]);
|
|
54
|
+
|
|
55
|
+
const mouseUp = useCallback(() => {
|
|
56
|
+
setActiveIndex(null);
|
|
57
|
+
removeListeners();
|
|
58
|
+
}, [setActiveIndex, removeListeners]);
|
|
59
|
+
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
if (activeIndex > -1) {
|
|
62
|
+
window.addEventListener("mousemove", mouseMove);
|
|
63
|
+
window.addEventListener("mouseup", mouseUp);
|
|
64
|
+
}
|
|
65
|
+
return () => removeListeners();
|
|
66
|
+
}, [activeIndex, mouseMove, mouseUp, removeListeners]);
|
|
67
|
+
|
|
68
|
+
const resetTableCells = () => {
|
|
69
|
+
tableElement.current.style.gridTemplateColumns = "";
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
return (
|
|
73
|
+
<Container
|
|
74
|
+
gridTemplateColumns={gridTemplateColumns}
|
|
75
|
+
totalColumns={columns?.length}
|
|
76
|
+
totalRows={tableContent?.length}
|
|
77
|
+
>
|
|
78
|
+
{withResetSizeButton ? (
|
|
79
|
+
<button className="reset-button" onClick={resetTableCells}>
|
|
80
|
+
<RestartAlt sx={{ fontSize: 18 }} />
|
|
81
|
+
</button>
|
|
82
|
+
) : null}
|
|
83
|
+
<div className="table-wrapper">
|
|
84
|
+
<table className="resizeable-table" ref={tableElement}>
|
|
85
|
+
<thead>
|
|
86
|
+
<tr>
|
|
87
|
+
{columns?.map(({ ref, text }, i) => (
|
|
88
|
+
<th ref={ref} key={i}>
|
|
89
|
+
<span>{text}</span>
|
|
90
|
+
<div
|
|
91
|
+
style={{ height: "50px" /* tableHeight */ }}
|
|
92
|
+
onMouseDown={() => mouseDown(i)}
|
|
93
|
+
className={`resize-handle ${
|
|
94
|
+
activeIndex === i ? "active" : "idle"
|
|
95
|
+
}`}
|
|
96
|
+
/>
|
|
97
|
+
</th>
|
|
98
|
+
))}
|
|
99
|
+
</tr>
|
|
100
|
+
</thead>
|
|
101
|
+
<tbody>
|
|
102
|
+
{tableContent.map((row) => (
|
|
103
|
+
<tr key={row.key}>
|
|
104
|
+
{row?.columns?.map((column, indexColumn) => (
|
|
105
|
+
<td
|
|
106
|
+
className={typeof column === "object" ? "noOverflow" : ""}
|
|
107
|
+
key={`${row.key}-${indexColumn}`}
|
|
108
|
+
>
|
|
109
|
+
<span>{column}</span>
|
|
110
|
+
</td>
|
|
111
|
+
))}
|
|
112
|
+
</tr>
|
|
113
|
+
))}
|
|
114
|
+
</tbody>
|
|
115
|
+
</table>
|
|
116
|
+
</div>
|
|
117
|
+
</Container>
|
|
118
|
+
);
|
|
119
|
+
};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
|
|
3
|
+
const defaultTemplateColumns = (totalColumns) =>
|
|
4
|
+
`minmax(100px, 1fr) `.repeat(totalColumns);
|
|
5
|
+
|
|
6
|
+
export const Container = styled.div`
|
|
7
|
+
position: absolute;
|
|
8
|
+
overflow: hidden; /* Clips any scrollbars that appear */
|
|
9
|
+
font-family: Avenir Next;
|
|
10
|
+
font-size: 13px;
|
|
11
|
+
width: 90%;
|
|
12
|
+
|
|
13
|
+
.reset-button {
|
|
14
|
+
display: flex;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
align-items: center;
|
|
17
|
+
border-radius: 50%;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
padding: 3px;
|
|
20
|
+
border: 0;
|
|
21
|
+
background: #f5f5f5;
|
|
22
|
+
position: absolute;
|
|
23
|
+
top: 5px;
|
|
24
|
+
left: 5px;
|
|
25
|
+
margin: 0;
|
|
26
|
+
z-index: 10;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.table-wrapper {
|
|
30
|
+
border-radius: 6px;
|
|
31
|
+
background: #fff;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
table {
|
|
35
|
+
width: 100%;
|
|
36
|
+
height: calc(100vh - 250px);
|
|
37
|
+
overflow: auto; /* Allow scrolling within the table */
|
|
38
|
+
display: grid;
|
|
39
|
+
grid-template-columns: ${(props) =>
|
|
40
|
+
props.gridTemplateColumns ?? defaultTemplateColumns(props.totalColumns)};
|
|
41
|
+
grid-template-rows: ${(props) => `repeat(${props.totalRows + 2}, 50px)`};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
table th {
|
|
45
|
+
font-size: 15px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
table th,
|
|
49
|
+
table td {
|
|
50
|
+
text-align: left;
|
|
51
|
+
padding: 5px;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
table th span,
|
|
55
|
+
table td span {
|
|
56
|
+
white-space: nowrap;
|
|
57
|
+
text-overflow: ellipsis;
|
|
58
|
+
overflow: hidden;
|
|
59
|
+
display: block;
|
|
60
|
+
border-right: 1px solid #ccc;
|
|
61
|
+
text-align: center;
|
|
62
|
+
height: 100%;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
table th:last-child span,
|
|
66
|
+
table td:last-child span {
|
|
67
|
+
border-right: 0px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
table tr td {
|
|
71
|
+
border-bottom: 1px solid #ccc;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
table tr th {
|
|
75
|
+
border-bottom: 1px solid #ccc;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
table thead,
|
|
79
|
+
table tbody,
|
|
80
|
+
table tr {
|
|
81
|
+
display: contents;
|
|
82
|
+
background: red;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
table thead {
|
|
86
|
+
-webkit-user-select: none; /* Safari */
|
|
87
|
+
-ms-user-select: none; /* IE 10 and IE 11 */
|
|
88
|
+
user-select: none; /* Standard syntax */
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
th {
|
|
92
|
+
position: sticky;
|
|
93
|
+
top: 0;
|
|
94
|
+
background-color: #fff;
|
|
95
|
+
line-height: 40px;
|
|
96
|
+
z-index: 8;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
td {
|
|
100
|
+
line-height: 40px;
|
|
101
|
+
height: 50px;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.resize-handle {
|
|
105
|
+
display: block;
|
|
106
|
+
position: absolute;
|
|
107
|
+
cursor: col-resize;
|
|
108
|
+
width: 8px;
|
|
109
|
+
right: 0;
|
|
110
|
+
top: 0;
|
|
111
|
+
z-index: 1;
|
|
112
|
+
border-right: 1px solid transparent;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.resize-handle:hover {
|
|
116
|
+
border-color: #ccc;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.resize-handle.active {
|
|
120
|
+
border-color: #517ea5;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.resizeable-table {
|
|
124
|
+
width: 100%;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.noOverflow {
|
|
128
|
+
overflow: inherit;
|
|
129
|
+
span {
|
|
130
|
+
overflow: inherit;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
`;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const data = [
|
|
2
|
+
{
|
|
3
|
+
key: 1,
|
|
4
|
+
object: {},
|
|
5
|
+
columns: [
|
|
6
|
+
"Large Detroit Style Pizza",
|
|
7
|
+
3213456785,
|
|
8
|
+
"$31.43",
|
|
9
|
+
"Pending",
|
|
10
|
+
"Dave",
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
key: 2,
|
|
15
|
+
object: {},
|
|
16
|
+
columns: [
|
|
17
|
+
"Large Detroit Style Pizza",
|
|
18
|
+
3213456785,
|
|
19
|
+
"$31.43",
|
|
20
|
+
"Pending",
|
|
21
|
+
"Dave",
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
key: 3,
|
|
26
|
+
object: {},
|
|
27
|
+
columns: [
|
|
28
|
+
"Large Detroit Style Pizza",
|
|
29
|
+
3213456785,
|
|
30
|
+
"$31.43",
|
|
31
|
+
"Pending",
|
|
32
|
+
"Dave",
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
key: 4,
|
|
37
|
+
object: {},
|
|
38
|
+
columns: [
|
|
39
|
+
"Large Detroit Style Pizza",
|
|
40
|
+
3213456785,
|
|
41
|
+
"$31.43",
|
|
42
|
+
"Pending",
|
|
43
|
+
"Dave",
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
];
|
|
@@ -9,83 +9,59 @@ const Template = (args) => <Dashboard {...args} />;
|
|
|
9
9
|
export const DashboardDeafult = Template.bind({});
|
|
10
10
|
DashboardDeafult.args = {
|
|
11
11
|
user: {
|
|
12
|
-
id_user:
|
|
13
|
-
name: "
|
|
14
|
-
last_name: "
|
|
15
|
-
email: "
|
|
16
|
-
position: "
|
|
17
|
-
telephone: "
|
|
18
|
-
country: "
|
|
19
|
-
id_company:
|
|
20
|
-
id_cognito: "
|
|
12
|
+
id_user: 51,
|
|
13
|
+
name: "ADMIN PRUEBA",
|
|
14
|
+
last_name: "",
|
|
15
|
+
email: "etc@contentoh.com",
|
|
16
|
+
position: "",
|
|
17
|
+
telephone: "",
|
|
18
|
+
country: "",
|
|
19
|
+
id_company: 2,
|
|
20
|
+
id_cognito: "a6c4d3d6-24a4-41d4-ad0f-d087438ab5b6",
|
|
21
21
|
birth_Date: null,
|
|
22
22
|
about_me: "",
|
|
23
23
|
zip_code: "",
|
|
24
24
|
address: "",
|
|
25
25
|
job: "",
|
|
26
26
|
id_stripe: "",
|
|
27
|
-
id_role:
|
|
27
|
+
id_role: 1,
|
|
28
28
|
active: 1,
|
|
29
|
-
is_retailer:
|
|
30
|
-
email_notify:
|
|
29
|
+
is_retailer: 0,
|
|
30
|
+
email_notify: 1,
|
|
31
31
|
is_user_tech: null,
|
|
32
32
|
membership: {
|
|
33
|
-
id:
|
|
34
|
-
start_date: "
|
|
35
|
-
end_date: "
|
|
36
|
-
planID:
|
|
37
|
-
plan: "
|
|
38
|
-
name: "Plan
|
|
39
|
-
user_limit: "
|
|
40
|
-
products_limit: "
|
|
33
|
+
id: 2,
|
|
34
|
+
start_date: "2021-11-05T02:35:12.000Z",
|
|
35
|
+
end_date: "2022-11-05T02:34:49.000Z",
|
|
36
|
+
planID: 1,
|
|
37
|
+
plan: "prod_KtkvuFFLpOdP6e",
|
|
38
|
+
name: "Plan Free",
|
|
39
|
+
user_limit: "1",
|
|
40
|
+
products_limit: "3",
|
|
41
41
|
type: "PyMES",
|
|
42
42
|
},
|
|
43
|
-
src: "https://content-management-profile.s3.amazonaws.com/id-
|
|
43
|
+
src: "https://content-management-profile.s3.amazonaws.com/id-51/51.png?1681499918721",
|
|
44
44
|
},
|
|
45
45
|
company: {
|
|
46
|
-
id_company:
|
|
47
|
-
trade_name: "
|
|
48
|
-
company_name: "
|
|
49
|
-
rfc:
|
|
50
|
-
adress:
|
|
46
|
+
id_company: 2,
|
|
47
|
+
trade_name: "Content-oh!",
|
|
48
|
+
company_name: "Content-oh!",
|
|
49
|
+
rfc: null,
|
|
50
|
+
adress: null,
|
|
51
51
|
about_company: null,
|
|
52
52
|
telephone: null,
|
|
53
53
|
web_site: null,
|
|
54
54
|
zip_code: null,
|
|
55
55
|
email: null,
|
|
56
56
|
social_link: null,
|
|
57
|
-
is_retailer:
|
|
58
|
-
financedRetailers: [
|
|
59
|
-
{
|
|
60
|
-
id: 68,
|
|
61
|
-
name: "The Home Depot Merchants",
|
|
62
|
-
country: "México",
|
|
63
|
-
id_region: 1,
|
|
64
|
-
active: 1,
|
|
65
|
-
},
|
|
66
|
-
],
|
|
57
|
+
is_retailer: 0,
|
|
67
58
|
retailers: [
|
|
68
59
|
{
|
|
69
|
-
id:
|
|
70
|
-
name:
|
|
71
|
-
country:
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
id: 60,
|
|
75
|
-
name: "The Home Depot Resizing",
|
|
76
|
-
country: "México",
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
id: 61,
|
|
80
|
-
name: "Home Depot TAB",
|
|
81
|
-
country: "México",
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
id: 68,
|
|
85
|
-
name: "The Home Depot Merchants",
|
|
86
|
-
country: "México",
|
|
60
|
+
id: null,
|
|
61
|
+
name: null,
|
|
62
|
+
country: null,
|
|
87
63
|
},
|
|
88
64
|
],
|
|
89
65
|
},
|
|
90
|
-
jwt: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.
|
|
66
|
+
jwt: "eyJraWQiOiJkQWJkZCtlclwvTlwveVRQUWNvUlVyOCtrNUd2M1hMM2N1MWUzQ09zWExVRnc9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJhNmM0ZDNkNi0yNGE0LTQxZDQtYWQwZi1kMDg3NDM4YWI1YjYiLCJjb2duaXRvOmdyb3VwcyI6WyJjb2xhYm9yYWRvcmVzX2NvbnRlbnRvaCJdLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfWE1aUWRxa0dqIiwiY29nbml0bzp1c2VybmFtZSI6ImE2YzRkM2Q2LTI0YTQtNDFkNC1hZDBmLWQwODc0MzhhYjViNiIsImNvZ25pdG86cm9sZXMiOlsiYXJuOmF3czppYW06Ojg5ODY3MDIzMjgwNzpyb2xlXC9jb250ZW50b2gtZGV2LXVzLWVhc3QtMS1sYW1iZGFSb2xlIl0sImF1ZCI6IjVhYzh0cGdzNmdic3ExM2ZydnJwaWVlcDQwIiwiZXZlbnRfaWQiOiIyNjJmNTBkNC0xZjMzLTQ3YTktOWY2MS1mMGY5NTcxNTcxNWUiLCJ0b2tlbl91c2UiOiJpZCIsImF1dGhfdGltZSI6MTY4MTQ5OTkxNywibmFtZSI6IkNvbGFib3JhZG9yIiwicGhvbmVfbnVtYmVyIjoiKzUyMTExMSIsImV4cCI6MTY4MTUwMzUxNywiaWF0IjoxNjgxNDk5OTE3LCJlbWFpbCI6ImV0Y0Bjb250ZW50b2guY29tIn0.FKonzS94MWaxk2_Ip1p87zPjtguiHtkasBrLc6bPOGpeVSz4RYab0_Bwus_ANfiauJhQzhcY5vq2tmUmQtM8kEQ2oSIP3S58A9BTTkH0qkiXO8fkG_s9yricPePx1ut4gQ2wMCtDnrTF6k1NVn2VvWnEPr4dv4t0jYIjW2af48g2souwETOUiukAoRFq3BDuMgVg_pXW7lZfMR73Q6FS_l-RKVZp-f0_Jk3HBvLimmOUTxjbHcfp2Z7JIcxndZcnzQPAXdNjeP1DV9J4e4ePedX4163qTDOx264edNZbUFcLl4ErKPJE2RJIBPvoo9Ics2shBAdDFbY5wkkea0ODwQ",
|
|
91
67
|
};
|