UNPKG

@talend/react-components

Version:
85 lines (84 loc) 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _reactI18next = require("react-i18next"); var _constants = _interopRequireDefault(require("../../constants")); var _translate = _interopRequireDefault(require("../../translate")); var _Action = _interopRequireDefault(require("../../Actions/Action")); var _HeaderModule = _interopRequireDefault(require("./Header.module.scss")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } let inputRef; function headerClasses() { return (0, _classnames.default)(_HeaderModule.default['tc-listview-header'], 'tc-listview-header'); } function getAction(action, index) { function onClick(event) { if (action.onClick) { action.onClick(event, { value: inputRef.value }); } } return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Action.default, { label: action.label, icon: action.icon, onClick: onClick, disabled: action.disabled, tooltipPlacement: "bottom", inProgress: action.inProgress, hideLabel: true, link: true }, `${index}-listview-header-action`); } function HeaderInput({ headerInput, onInputChange, inputPlaceholder, onAddKeyDown, t }) { const computedInputPlaceholder = inputPlaceholder || t('LISTVIEW_HEADERINPUT_SEARCH_PLACEHOLDER', { defaultValue: 'Search' }); function onInputChangeHandler(event) { onInputChange(event, { value: event.target.value }); } function onAddKeyDownHandler(event) { onAddKeyDown(event, { value: event.target.value }); } return /*#__PURE__*/(0, _jsxRuntime.jsxs)("header", { className: headerClasses(), children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", { type: "text", placeholder: computedInputPlaceholder, ref: input => { inputRef = input; }, onChange: onInputChangeHandler, onKeyDown: onAddKeyDownHandler, "aria-label": computedInputPlaceholder, autoFocus: true }), headerInput.map(getAction)] }); } HeaderInput.propTypes = { headerInput: _propTypes.default.arrayOf(_propTypes.default.shape(_Action.default.propTypes)).isRequired, onInputChange: _propTypes.default.func, inputPlaceholder: _propTypes.default.string, onAddKeyDown: _propTypes.default.func, t: _propTypes.default.func }; HeaderInput.defaultProps = { t: (0, _translate.default)() }; var _default = exports.default = (0, _reactI18next.withTranslation)(_constants.default)(HeaderInput); //# sourceMappingURL=HeaderInput.component.js.map