@talend/react-components
Version:
Set of react components.
49 lines (48 loc) • 1.66 kB
JavaScript
;
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