@etsoo/materialui
Version:
TypeScript Material-UI Implementation
51 lines (50 loc) • 1.83 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CultureDataTable = CultureDataTable;
const jsx_runtime_1 = require("react/jsx-runtime");
const DataTable_1 = require("./DataTable");
const react_1 = __importDefault(require("react"));
const ReactApp_1 = require("./app/ReactApp");
/**
* Culture DataTable
* @param props Props
* @returns Component
*/
function CultureDataTable(props) {
// Global app
const app = (0, ReactApp_1.useAppContext)();
// Destruct
const { cultures, cultureLabel = app?.get("culture"), editable = true, titleLabel, hasDescription = false, descriptionLabel = app?.get("description"), ...rest } = props;
const getCultureLabel = react_1.default.useCallback((value) => cultures.find((c) => c.id == value.id)?.label ?? `${value.value}`, [cultures]);
return ((0, jsx_runtime_1.jsx)(DataTable_1.DataTable, { columns: [
{
field: "id",
headerName: cultureLabel,
renderCell: getCultureLabel,
width: 150,
editable: false,
sortable: false
},
{
field: "title",
headerName: titleLabel,
flex: 1,
editable,
sortable: false
},
...(hasDescription
? [
{
field: "description",
headerName: descriptionLabel,
flex: 1,
editable,
sortable: false
}
]
: [])
], ...rest }));
}