UNPKG

drf-react-by-schema

Version:

Components and Tools for building a React App having Django Rest Framework (DRF) as server

22 lines (21 loc) 1.55 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importDefault(require("react")); const Alert_1 = __importDefault(require("@mui/material/Alert")); const List_1 = __importDefault(require("@mui/material/List")); const ListItem_1 = __importDefault(require("@mui/material/ListItem")); const react_number_format_1 = require("react-number-format"); const DataTotals = ({ data, sumRows, visibleRows }) => { return (react_1.default.createElement(react_1.default.Fragment, null, data && sumRows && sumRows.rows.length > 0 && (react_1.default.createElement(Alert_1.default, { severity: sumRows.severity || 'info' }, react_1.default.createElement(List_1.default, { dense: true }, sumRows.rows.map((row) => (react_1.default.createElement(ListItem_1.default, { key: `sumRows_${row.field}` }, react_1.default.createElement(react_number_format_1.NumericFormat, { value: data.reduce((total, item) => { if (parseFloat(item[row.field]) && visibleRows.includes(`${item.id}`)) { return total + parseFloat(item[row.field]); } return total; }, 0), thousandSeparator: ".", decimalSeparator: ",", displayType: 'text', decimalScale: row.isCount ? 0 : 2, fixedDecimalScale: true, prefix: row.prefix, suffix: row.suffix }))))))))); }; exports.default = DataTotals;