forked from CITKParus/P8-Panels
52 lines
1.8 KiB
JavaScript
52 lines
1.8 KiB
JavaScript
/*
|
|
Парус 8 - Панели мониторинга
|
|
Расширение стилистики Pagination
|
|
*/
|
|
|
|
//---------------------
|
|
//Подключение библиотек
|
|
//---------------------
|
|
|
|
import { P8P_TABLE_PAGINATOR_ALIGN, P8P_TABLE_PAGINATOR_POSITION } from "../../components/p8p_table/p8p_table_constants"; //Константы таблиц
|
|
|
|
//----------------
|
|
//Интерфейс модуля
|
|
//----------------
|
|
|
|
//Кастомные пагинаторы
|
|
export const P8P_PAGINATIONS = ({ theme, pagesAlign, position }) => ({
|
|
primary: {},
|
|
P8PTablePagination: {
|
|
display: "flex",
|
|
justifyContent:
|
|
pagesAlign === P8P_TABLE_PAGINATOR_ALIGN.LEFT
|
|
? "flex-start"
|
|
: pagesAlign === P8P_TABLE_PAGINATOR_ALIGN.CENTER
|
|
? "space-around"
|
|
: "flex-end",
|
|
...(position === P8P_TABLE_PAGINATOR_POSITION.TOP ? { paddingBottom: "10px" } : { paddingTop: "10px" }),
|
|
"& .MuiPaginationItem-root": {
|
|
...theme.typography.P8PBody2
|
|
}
|
|
}
|
|
});
|
|
|
|
//Наименование кастомных пагинаторов
|
|
export const P8P_PAGINATION_VARIANT = {
|
|
TABLE_PAGINATION: "P8PTablePagination"
|
|
};
|
|
|
|
//Кастомная стилистика компонента
|
|
export const P8P_PAGINATION_OVERRIDES = {
|
|
styleOverrides: {
|
|
root: ({ ownerState, theme }) => {
|
|
//Определяем вариант
|
|
const variant = ownerState?.variant || "primary";
|
|
//Определяем доп. параметры
|
|
const { pagesAlign, position } = ownerState["data-variant-props"] || {};
|
|
//Возвращаем стили варианта
|
|
return P8P_PAGINATIONS({ theme, pagesAlign, position })[variant];
|
|
}
|
|
}
|
|
};
|