UNPKG

subhasmitalmg-react-spreadsheet-import

Version:

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

29 lines (24 loc) 1.65 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var jsxRuntime = require('react/jsx-runtime'); var react$1 = require('react'); var react = require('@chakra-ui/react'); var SelectHeaderTable = require('./components/SelectHeaderTable.js'); var ContinueButton = require('../../components/ContinueButton.js'); var useRsi = require('../../hooks/useRsi.js'); const SelectHeaderStep = ({ data, onContinue }) => { const styles = react.useStyleConfig("SelectHeaderStep"); const { translations } = useRsi.useRsi(); const [selectedRows, setSelectedRows] = react$1.useState(new Set([0])); const [isLoading, setIsLoading] = react$1.useState(false); const handleContinue = react$1.useCallback(async () => { const [selectedRowIndex] = selectedRows; // We consider data above header to be redundant const trimmedData = data.slice(selectedRowIndex + 1); setIsLoading(true); await onContinue(data[selectedRowIndex], trimmedData); setIsLoading(false); }, [onContinue, data, selectedRows]); return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs(react.ModalBody, { pb: 0, children: [jsxRuntime.jsx(react.Heading, { ...styles.heading, children: translations.selectHeaderStep.title }), jsxRuntime.jsx(SelectHeaderTable.SelectHeaderTable, { data: data, selectedRows: selectedRows, setSelectedRows: setSelectedRows })] }), jsxRuntime.jsx(ContinueButton.ContinueButton, { onContinue: handleContinue, title: translations.selectHeaderStep.nextButtonTitle, isLoading: isLoading })] })); }; exports.SelectHeaderStep = SelectHeaderStep;