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