@talend/react-components
Version:
Set of react components.
61 lines • 1.82 kB
JavaScript
import { Fragment } from 'react';
import PropTypes from 'prop-types';
import ColumnChooserRow from '../ColumnChooserRow';
import SelectAllColumnsCheckbox from '../SelectAllColumnsCheckbox';
import ColumnChooserTable from '../ColumnChooserTable';
import { useColumnChooserContext } from '../columnChooser.context';
import RichLayout from '../../../../../Rich/Layout';
import cssModule from '../ColumnChooser.module.scss';
import { getTheme } from '../../../../../theme';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const theme = getTheme(cssModule);
const Default = () => {
const {
columns,
id,
onChangeVisibility,
onSelectAll,
selectAll,
t
} = useColumnChooserContext();
const bodyId = `${id}-body`;
return /*#__PURE__*/_jsxs(Fragment, {
children: [/*#__PURE__*/_jsx(SelectAllColumnsCheckbox, {
id: bodyId,
onChange: onSelectAll,
value: selectAll,
t: t
}), /*#__PURE__*/_jsx("div", {
className: theme('tc-column-chooser-columns-list'),
children: /*#__PURE__*/_jsx(ColumnChooserTable, {
id: bodyId,
columns: columns,
onChangeCheckbox: onChangeVisibility,
t: t
})
})]
});
};
const ColumnChooserBody = ({
children = /*#__PURE__*/_jsx(Default, {})
}) => {
const {
columns
} = useColumnChooserContext();
if (typeof children === 'function') {
return children(columns);
}
return /*#__PURE__*/_jsx(RichLayout.Body, {
id: "column-chooser-body",
children: /*#__PURE__*/_jsx("div", {
className: theme('tc-column-chooser-body'),
children: children
})
});
};
ColumnChooserBody.propTypes = {
children: PropTypes.func
};
ColumnChooserBody.Row = ColumnChooserRow;
export default ColumnChooserBody;
//# sourceMappingURL=ColumnChooserBody.component.js.map