WEB APP: Доработаны базовые компоненты -P8PTable - толерантность к пустым группам, P8PanelsMenu - косметика в представлении для интеграции в рабочий стол

This commit is contained in:
Mikhail Chechnev 2024-02-26 13:15:40 +03:00
parent 12bb34b0e2
commit 7a10363a2b
2 changed files with 18 additions and 6 deletions

View File

@ -61,9 +61,18 @@ const STYLES = {
GRID_PANEL_CARD_CONTENT_TITLE: { alignItems: "center" }, GRID_PANEL_CARD_CONTENT_TITLE: { alignItems: "center" },
GRID_PANEL_CARD_ACTIONS: { marginTop: "auto", display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, GRID_PANEL_CARD_ACTIONS: { marginTop: "auto", display: "flex", justifyContent: "flex-end", alignItems: "flex-start" },
DESKTOP_GROUP_HEADER: { fontWeight: "bold", fontFamily: "tahoma, arial, verdana, sans-serif!important", fontSize: "13px!important" }, DESKTOP_GROUP_HEADER: { fontWeight: "bold", fontFamily: "tahoma, arial, verdana, sans-serif!important", fontSize: "13px!important" },
DESKTOP_ITEM_BUTTON: { fontSize: "12px", textTransform: "none", "&:hover": { backgroundColor: "#c3e1ff" } }, DESKTOP_ITEM_BUTTON: { fontSize: "12px", textTransform: "none", "&:hover": { backgroundColor: "#c3e1ff" }, maxWidth: "150px" },
DESKTOP_ITEM_STACK: { justifyContent: "center", alignItems: "center" }, DESKTOP_ITEM_STACK: { justifyContent: "center", alignItems: "center", fontSize: "12px" },
DESKTOP_ITEM_ICON: { width: "64px", height: "64px", fontSize: "64px" } DESKTOP_ITEM_ICON: { width: "48px", height: "48px", fontSize: "48px" },
DESKTOP_ITEM_CATION: {
display: "-webkit-box",
overflow: "hidden",
WebkitBoxOrient: "vertical",
WebkitLineClamp: 2,
fontSize: "12px",
maxWidth: "140px",
lineHeight: "1.2"
}
}; };
//-------------------------------- //--------------------------------
@ -153,10 +162,13 @@ const getPanelsLinks = ({ variant, panels, selectedPanel, group, defaultGroupTyt
key={panel.name} key={panel.name}
onClick={() => (onItemNavigate ? onItemNavigate(panel) : null)} onClick={() => (onItemNavigate ? onItemNavigate(panel) : null)}
sx={STYLES.DESKTOP_ITEM_BUTTON} sx={STYLES.DESKTOP_ITEM_BUTTON}
title={panel.caption}
> >
<Stack sx={STYLES.DESKTOP_ITEM_STACK}> <Stack sx={STYLES.DESKTOP_ITEM_STACK}>
<Icon sx={STYLES.DESKTOP_ITEM_ICON}>{panel.icon}</Icon> <Icon sx={STYLES.DESKTOP_ITEM_ICON}>{panel.icon}</Icon>
{panel.caption} <Typography sx={STYLES.DESKTOP_ITEM_CATION} variant="body1">
{panel.caption}
</Typography>
</Stack> </Stack>
</Button> </Button>
) )

View File

@ -455,7 +455,7 @@ P8PTableFiltersChips.propTypes = {
//Таблица //Таблица
const P8PTable = ({ const P8PTable = ({
columnsDef, columnsDef,
groups = [{}], groups,
rows, rows,
orders, orders,
filters, filters,
@ -744,7 +744,7 @@ const P8PTable = ({
</TableHead> </TableHead>
<TableBody> <TableBody>
{rows.length > 0 {rows.length > 0
? groups.map((group, g) => { ? (Array.isArray(groups) && groups.length > 0 ? groups : [{}]).map((group, g) => {
const rowsView = rows.map((row, i) => const rowsView = rows.map((row, i) =>
!group?.name || group?.name == row.groupName ? ( !group?.name || group?.name == row.groupName ? (
<React.Fragment key={`data-${i}`}> <React.Fragment key={`data-${i}`}>