UNPKG

@etsoo/materialui

Version:

TypeScript Material-UI Implementation

32 lines (31 loc) 2.7 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EditPage = EditPage; const jsx_runtime_1 = require("react/jsx-runtime"); const MUGlobal_1 = require("../MUGlobal"); const CommonPage_1 = require("./CommonPage"); const Save_1 = __importDefault(require("@mui/icons-material/Save")); const Delete_1 = __importDefault(require("@mui/icons-material/Delete")); const BackButton_1 = require("../BackButton"); const Labels_1 = require("../app/Labels"); const OperationMessageContainer_1 = require("../messages/OperationMessageContainer"); const Grid_1 = __importDefault(require("@mui/material/Grid")); const Button_1 = __importDefault(require("@mui/material/Button")); /** * Add / Edit page * @param props Props */ function EditPage(props) { // Destruct const { children, isEditing, onDelete, onSubmit, paddings = MUGlobal_1.MUGlobal.pagePaddings, scrollContainer = globalThis, supportBack = true, submitDisabled = false, bottomPart, topPart, operationMessageHandler, gridSpacing = MUGlobal_1.MUGlobal.pagePaddings, ...rest } = props; // Labels const labels = Labels_1.Labels.CommonPage; return ((0, jsx_runtime_1.jsxs)(CommonPage_1.CommonPage, { paddings: paddings, scrollContainer: scrollContainer, ...rest, children: [operationMessageHandler && ((0, jsx_runtime_1.jsx)(OperationMessageContainer_1.OperationMessageContainer, { handler: operationMessageHandler })), topPart, (0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmit, children: [(0, jsx_runtime_1.jsx)(Grid_1.default, { container: true, justifyContent: "left", spacing: gridSpacing, paddingTop: 1, children: children }), (0, jsx_runtime_1.jsxs)(Grid_1.default, { container: true, position: "sticky", display: "flex", gap: gridSpacing, sx: { top: "auto", bottom: (theme) => MUGlobal_1.MUGlobal.updateWithTheme(gridSpacing, theme.spacing), paddingTop: gridSpacing }, children: [isEditing && onDelete && ((0, jsx_runtime_1.jsx)(Button_1.default, { color: "primary", variant: "outlined", onClick: () => onDelete(), startIcon: (0, jsx_runtime_1.jsx)(Delete_1.default, { color: "warning" }), children: labels.delete })), (0, jsx_runtime_1.jsx)(Button_1.default, { variant: "contained", type: "submit", startIcon: (0, jsx_runtime_1.jsx)(Save_1.default, {}), sx: { flexGrow: 1 }, disabled: submitDisabled, children: labels.save }), supportBack && (0, jsx_runtime_1.jsx)(BackButton_1.BackButton, { title: labels.back })] })] }), bottomPart] })); }