UNPKG

subhasmitalmg-react-spreadsheet-import

Version:

React spreadsheet import for xlsx and csv files with column matching and validation steps

45 lines (40 loc) 1.4 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var jsxRuntime = require('react/jsx-runtime'); var DataGrid = require('react-data-grid'); var react = require('@chakra-ui/react'); const SELECT_COLUMN_KEY = "select-row"; function SelectFormatter(props) { const [isRowSelected, onRowSelectionChange] = DataGrid.useRowSelection(); return (jsxRuntime.jsx(react.Radio, { bg: "white", "aria-label": "Select", isChecked: isRowSelected, onChange: (event) => { onRowSelectionChange({ row: props.row, checked: Boolean(event.target.checked), isShiftClick: event.nativeEvent.shiftKey, }); } })); } const SelectColumn = { key: SELECT_COLUMN_KEY, name: "", width: 35, minWidth: 35, maxWidth: 35, resizable: false, sortable: false, frozen: true, cellClass: "rdg-radio", formatter: SelectFormatter, }; const generateSelectionColumns = (data) => { const longestRowLength = data.reduce((acc, curr) => (acc > curr.length ? acc : curr.length), 0); return [ SelectColumn, ...Array.from(Array(longestRowLength), (_, index) => ({ key: index.toString(), name: "", })), ]; }; exports.SelectColumn = SelectColumn; exports.generateSelectionColumns = generateSelectionColumns;