WEBAPP: P8PTable доработан для использования типового P8PHintDialog

This commit is contained in:
Mikhail Chechnev 2025-06-11 21:52:32 +03:00
parent f4c665a74b
commit fbbbd7c247

View File

@ -34,7 +34,7 @@ import {
Link Link
} from "@mui/material"; //Интерфейсные компоненты } from "@mui/material"; //Интерфейсные компоненты
import { useTheme } from "@mui/material/styles"; //Взаимодействие со стилями MUI import { useTheme } from "@mui/material/styles"; //Взаимодействие со стилями MUI
import { P8PAppInlineError } from "./p8p_app_message"; //Встраиваемое сообщение об ошибке import { P8PAppInlineError, P8PHintDialog } from "./p8p_app_message"; //Встраиваемое сообщение об ошибке
import { P8P_TABLE_AT, HEADER_INITIAL_STATE, hasValue, p8pTableReducer } from "./p8p_table_reducer"; //Редьюсер состояния import { P8P_TABLE_AT, HEADER_INITIAL_STATE, hasValue, p8pTableReducer } from "./p8p_table_reducer"; //Редьюсер состояния
//--------- //---------
@ -288,28 +288,6 @@ P8PTableColumnMenu.propTypes = {
onItemClick: PropTypes.func onItemClick: PropTypes.func
}; };
//Диалог подсказки
const P8PTableColumnHintDialog = ({ columnDef, okBtnCaption, onOk }) => {
return (
<Dialog open={true} aria-labelledby="filter-dialog-title" aria-describedby="filter-dialog-description" onClose={() => (onOk ? onOk() : null)}>
<DialogTitle id="filter-dialog-title">{columnDef.caption}</DialogTitle>
<DialogContent>
<div dangerouslySetInnerHTML={{ __html: columnDef.hint }}></div>
</DialogContent>
<DialogActions>
<Button onClick={() => (onOk ? onOk() : null)}>{okBtnCaption}</Button>
</DialogActions>
</Dialog>
);
};
//Контроль свойств - Диалог подсказки
P8PTableColumnHintDialog.propTypes = {
columnDef: PropTypes.object.isRequired,
okBtnCaption: PropTypes.string.isRequired,
onOk: PropTypes.func
};
//Диалог фильтра //Диалог фильтра
const P8PTableColumnFilterDialog = ({ const P8PTableColumnFilterDialog = ({
columnDef, columnDef,
@ -702,9 +680,7 @@ const P8PTable = ({
//Генерация содержимого //Генерация содержимого
return ( return (
<div style={{ ...(style || {}) }}> <div style={{ ...(style || {}) }}>
{displayHintColumn ? ( {displayHintColumn ? <P8PHintDialog title={displayHintColumnDef.caption} hint={displayHintColumnDef.hint} onOk={handleHintOk} /> : null}
<P8PTableColumnHintDialog columnDef={displayHintColumnDef} okBtnCaption={okFilterBtnCaption} onOk={handleHintOk} />
) : null}
{filterColumn ? ( {filterColumn ? (
<P8PTableColumnFilterDialog <P8PTableColumnFilterDialog
columnDef={filterColumnDef} columnDef={filterColumnDef}