forked from CITKParus/P8-Panels
153 lines
5.0 KiB
JavaScript
153 lines
5.0 KiB
JavaScript
/*
|
|
Парус 8 - Панели мониторинга
|
|
Вспомогательные стили Box
|
|
*/
|
|
|
|
//---------------------
|
|
//Подключение библиотек
|
|
//---------------------
|
|
|
|
import { P8P_COMPONENT_WIDTH, P8P_COMPONENT_HEIGHT, P8P_SCROLL_AUTO } from "./common"; //Стили - общие
|
|
import { useTheme } from "@mui/material/styles"; //Хук темы приложения
|
|
|
|
//---------
|
|
//Общие стили контейнеров
|
|
//---------
|
|
|
|
//Контейнер плавающий
|
|
export const P8P_BOX_FLEX = { display: "flex" };
|
|
|
|
//Контейнер плавающий, элементы по центру, к началу
|
|
export const P8P_BOX_CENTER_START = {
|
|
display: "flex",
|
|
alignItems: "center",
|
|
justifyContent: "flex-start"
|
|
};
|
|
|
|
//Контейнер плавающий, элементы по центру, к концу
|
|
export const P8P_BOX_CENTER_END = {
|
|
display: "flex",
|
|
alignItems: "center",
|
|
justifyContent: "flex-end"
|
|
};
|
|
|
|
//Контейнер плавающий, элементы по центру, равномерно
|
|
export const P8P_BOX_CENTER_BETWEEN = {
|
|
display: "flex",
|
|
alignItems: "center",
|
|
justifyContent: "space-between"
|
|
};
|
|
|
|
//Контейнер плавающий, элементы по центру
|
|
export const P8P_BOX_CENTER = { display: "flex", alignItems: "center", justifyContent: "center" };
|
|
|
|
//---------
|
|
//Стили приложения
|
|
//---------
|
|
|
|
//Контейнер рабочего пространства
|
|
export const P8P_BOX_APP_WORKSPACE = {
|
|
...P8P_COMPONENT_WIDTH({ width: "100vw" }),
|
|
//width: "100vw",
|
|
...P8P_BOX_CENTER_BETWEEN
|
|
};
|
|
|
|
//Меню панелей - контейнер грида
|
|
export const P8P_BOX_PANELS_MENU_CONTAINER = {
|
|
...P8P_BOX_CENTER_START,
|
|
...P8P_COMPONENT_HEIGHT({ minHeight: "100vh" })
|
|
};
|
|
|
|
//---------
|
|
//Стили настроек панелей
|
|
//---------
|
|
|
|
//Список настроек панели
|
|
export const P8P_BOX_SETTINGS_LIST = {
|
|
...P8P_COMPONENT_WIDTH({ width: "520px" }),
|
|
...P8P_COMPONENT_HEIGHT({ height: "500px" }),
|
|
...P8P_SCROLL_AUTO
|
|
};
|
|
|
|
//Список панелей настроек панелей
|
|
export const P8P_BOX_SETTINGS_PANELS = {
|
|
...P8P_COMPONENT_WIDTH({ width: "300px" }),
|
|
...P8P_COMPONENT_HEIGHT({ height: "500px" }),
|
|
...P8P_SCROLL_AUTO
|
|
};
|
|
|
|
//Контейнер настроек панелей
|
|
export const P8P_BOX_SETTINGS_CONTAINER = {
|
|
display: "flex",
|
|
flexDirection: "row",
|
|
alignItems: "flex-start"
|
|
};
|
|
|
|
//---------
|
|
//Стили Ганта
|
|
//---------
|
|
|
|
//Контейнер диаграмы Ганта
|
|
export const P8P_BOX_GANTT = ({ noData, zoomBarHeight, titleHeight }) => ({
|
|
...P8P_COMPONENT_HEIGHT({ height: `calc(100% - ${zoomBarHeight ? zoomBarHeight : "0px"} - ${titleHeight ? titleHeight : "0px"})` }),
|
|
//height: `calc(100% - ${zoomBarHeight ? zoomBarHeight : "0px"} - ${titleHeight ? titleHeight : "0px"})`,
|
|
display: noData ? "none" : ""
|
|
});
|
|
|
|
//---------
|
|
//Стили циклограммы
|
|
//---------
|
|
|
|
//Контейнер циклограммы
|
|
export const P8P_BOX_CYCLOGRAM = ({ noData, zoomBarHeight, titleHeight }) => ({
|
|
position: "relative",
|
|
overflow: "auto",
|
|
padding: "0px 8px",
|
|
...P8P_COMPONENT_HEIGHT({ height: `calc(100% - ${zoomBarHeight ? zoomBarHeight : "0px"} - ${titleHeight ? titleHeight : "0px"})` }),
|
|
//height: `calc(100% - ${zoomBarHeight ? zoomBarHeight : "0px"} - ${titleHeight ? titleHeight : "0px"})`,
|
|
display: noData ? "none" : ""
|
|
});
|
|
|
|
//Контейнер строки циклограммы
|
|
export const P8P_BOX_CYCLOGRAM_ROW = ({ index }) => {
|
|
//Определение темы приложения
|
|
const theme = useTheme();
|
|
//Возвращаем стиль
|
|
return {
|
|
...(index % 2 === 0 ? { backgroundColor: theme.palette.P8PBackground.primary } : { backgroundColor: theme.palette.P8PBackground.secondary })
|
|
};
|
|
};
|
|
|
|
//Контейнер заголовка группы циклограммы
|
|
export const P8P_BOX_CYCLOGRAM_GROUP = ({ height }) => {
|
|
//Определение темы приложения
|
|
const theme = useTheme();
|
|
//Возвращаем стиль
|
|
return {
|
|
border: "1px solid",
|
|
backgroundColor: theme.palette.P8PCyclogram.group,
|
|
...P8P_BOX_CENTER,
|
|
height
|
|
};
|
|
};
|
|
|
|
//Контейнер задачи циклограммы
|
|
export const P8P_BOX_CYCLOGRAM_TASK = ({ lineHeight, bgColor, textColor, highlightColor }) => {
|
|
//Определение темы приложения
|
|
const theme = useTheme();
|
|
//Возвращаем стиль
|
|
return {
|
|
display: "flex",
|
|
alignItems: "center",
|
|
backgroundColor: bgColor ? bgColor : theme.palette.P8PCyclogram.task,
|
|
...(textColor ? { color: textColor } : {}),
|
|
height: lineHeight,
|
|
"&:hover": {
|
|
...(highlightColor
|
|
? { backgroundColor: `${highlightColor} !important`, filter: "brightness(1) !important" }
|
|
: { filter: `brightness(${bgColor ? "1.25" : "1.1"}) !important` }),
|
|
cursor: "pointer !important"
|
|
}
|
|
};
|
|
};
|