@talend/react-components
Version:
Set of react components.
34 lines • 953 B
JavaScript
import PropTypes from 'prop-types';
import { useListContext } from '../context';
import ColumnChooserButton from '../../Toolbar/ColumnChooserButton';
import { jsx as _jsx } from "react/jsx-runtime";
function ColumnChooser(props) {
const {
columns,
visibleColumns,
setVisibleColumns
} = useListContext();
return /*#__PURE__*/_jsx(ColumnChooserButton, {
columns: columns.map(({
dataKey,
label
}, i) => ({
key: dataKey,
label,
hidden: !(visibleColumns !== null && visibleColumns !== void 0 && visibleColumns.includes(dataKey)),
order: i + 1
})),
...props,
onSubmit: (_, changes) => {
setVisibleColumns(changes.filter(c => !c.hidden).map(c => c.key));
if (props.onSubmit) {
props.onSubmit(_, changes);
}
}
});
}
ColumnChooser.propTypes = {
onSubmit: PropTypes.func
};
export default ColumnChooser;
//# sourceMappingURL=ColumnChooser.component.js.map