UNPKG

@talend/react-components

Version:
49 lines (48 loc) 1.66 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _propTypes = _interopRequireDefault(require("prop-types")); var _designSystem = require("@talend/design-system"); var _reactI18next = require("react-i18next"); var _constants = _interopRequireDefault(require("../../../constants")); var _SelectAllModule = _interopRequireDefault(require("./SelectAll.module.scss")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function SelectAll({ id, items, isSelected, onToggleAll }) { const isAllSelected = () => items.length > 0 && items.findIndex(item => !isSelected(item)) < 0; const checkboxId = id && `${id}-check-all`; const { t } = (0, _reactI18next.useTranslation)(_constants.default); return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", { className: _SelectAllModule.default.container, "data-testId": id, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_designSystem.Form.Checkbox, { name: checkboxId, id: checkboxId, onChange: event => { onToggleAll(event, items); }, checked: isAllSelected(), disabled: !items.length, label: t('LIST_SELECT_ALL', { defaultValue: 'Select all' }) }) }); } SelectAll.propTypes = { id: _propTypes.default.string, items: _propTypes.default.arrayOf(_propTypes.default.object).isRequired, isSelected: _propTypes.default.func.isRequired, onToggleAll: _propTypes.default.func.isRequired }; var _default = exports.default = SelectAll; //# sourceMappingURL=SelectAll.component.js.map