drf-react-by-schema
Version:
Components and Tools for building a React App having Django Rest Framework (DRF) as server
37 lines (36 loc) • 2.88 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FooterToolbar = void 0;
const react_1 = __importDefault(require("react"));
const x_data_grid_1 = require("@mui/x-data-grid");
const Button_1 = __importDefault(require("@mui/material/Button"));
const Box_1 = __importDefault(require("@mui/material/Box"));
const Add_1 = __importDefault(require("@mui/icons-material/Add"));
const Check_1 = __importDefault(require("@mui/icons-material/Check"));
const Cancel_1 = __importDefault(require("@mui/icons-material/Cancel"));
const utils_1 = require("../../utils");
const FooterToolbar = ({ isEditable, handleAddItem, isRowEditing, handleSaveRow, handleCancelRow, }) => {
const handleCancelThisRow = () => {
if (isRowEditing) {
handleCancelRow(isRowEditing);
}
};
const handleSaveThisRow = () => {
if (isRowEditing) {
handleSaveRow(isRowEditing);
}
};
return (react_1.default.createElement(x_data_grid_1.GridFooterContainer, { role: "rowgroup" },
react_1.default.createElement(Box_1.default, { role: "row", sx: { width: '100%' } },
react_1.default.createElement(Box_1.default, { role: "gridcell", sx: { width: '100%' } },
react_1.default.createElement(Box_1.default, { role: "region", "aria-label": "Rodap\u00E9 da tabela", sx: { display: 'flex', justifyContent: 'space-between', width: '100%' } },
isEditable && (react_1.default.createElement(Box_1.default, { role: "region", "aria-label": "Bot\u00F5es para criar e editar linhas" },
react_1.default.createElement(Button_1.default, { color: "primary", disabled: !!isRowEditing && (0, utils_1.isTmpId)(isRowEditing), startIcon: react_1.default.createElement(Add_1.default, null), onClick: handleAddItem, "aria-label": "Adicionar nova linha", sx: { ml: 2 } }, "Adicionar nova linha"),
react_1.default.createElement(Button_1.default, { color: "secondary", variant: "text", disabled: !isRowEditing, startIcon: react_1.default.createElement(Check_1.default, null), onClick: () => handleSaveThisRow(), "aria-label": "Salvar linha", sx: { ml: 2 } }, "Salvar linha"),
react_1.default.createElement(Button_1.default, { color: "secondary", variant: "text", disabled: !isRowEditing, startIcon: react_1.default.createElement(Cancel_1.default, null), onClick: handleCancelThisRow, "aria-label": "Cancelar edi\u00E7\u00E3o da linha", sx: { ml: 2 } }, "Cancelar edi\u00E7\u00E3o da linha"))),
react_1.default.createElement(x_data_grid_1.GridFooter, { sx: isEditable ? { border: 'none' } : { width: '100%' } }))))));
};
exports.FooterToolbar = FooterToolbar;