@talend/react-components
Version:
Set of react components.
41 lines (40 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _context = require("../context");
var _ColumnChooserButton = _interopRequireDefault(require("../../Toolbar/ColumnChooserButton"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function ColumnChooser(props) {
const {
columns,
visibleColumns,
setVisibleColumns
} = (0, _context.useListContext)();
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ColumnChooserButton.default, {
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.default.func
};
var _default = exports.default = ColumnChooser;
//# sourceMappingURL=ColumnChooser.component.js.map