@talend/react-components
Version:
Set of react components.
112 lines • 3.05 kB
JavaScript
import Header from './Header.component';
import HeaderInput from './HeaderInput.component';
import HeaderSelected from './HeaderSelected.component';
import getDefaultT from '../../translate';
import { propTypes } from '../Enumeration.propTypes';
import { DISPLAY_MODE_ADD, DISPLAY_MODE_DEFAULT, DISPLAY_MODE_SEARCH, DISPLAY_MODE_SELECTED } from '../displayModes';
import { jsx as _jsx } from "react/jsx-runtime";
export function HeaderEnumeration({
displayMode,
headerError,
onInputChange,
onAddKeyDown,
headerInput,
headerDefault,
headerSelected,
id,
items,
required,
inputValue,
inputRef,
label,
t
}) {
switch (displayMode) {
case DISPLAY_MODE_SEARCH:
{
const propsInput = {
headerInput,
onInputChange,
onAddKeyDown,
headerError,
id: `${id}_search`,
inputRef,
inputPlaceholder: t('ENUMERATION_PLACEHOLDER_SEARCH', {
defaultValue: 'Search'
}),
inputLabel: t('ENUMERATION_SEARCH_LABEL', {
defaultValue: 'Enter search term'
})
};
return /*#__PURE__*/_jsx(HeaderInput, {
...propsInput
});
}
case DISPLAY_MODE_ADD:
{
const propsInput = {
headerInput,
onInputChange,
onAddKeyDown,
headerError,
id: `${id}_add`,
inputRef,
value: inputValue,
inputPlaceholder: t('ENUMERATION_NEW_ENTRY', {
defaultValue: 'New entry'
}),
inputLabel: t('ENUMERATION_NEW_ENTRY_LABEL', {
defaultValue: 'Enter new entry name'
})
};
return /*#__PURE__*/_jsx(HeaderInput, {
...propsInput
});
}
case DISPLAY_MODE_DEFAULT:
{
const propsDefault = {
headerDefault,
required,
label: label || t('ENUMERATION_HEADER_LABEL', {
defaultValue: 'Values'
})
};
return /*#__PURE__*/_jsx(Header, {
...propsDefault
});
}
case DISPLAY_MODE_SELECTED:
{
const propsSelected = {
headerSelected,
nbItemsSelected: items.filter(item => item.isSelected && item.isSelected === true).length
};
return /*#__PURE__*/_jsx(HeaderSelected, {
...propsSelected
});
}
default:
return null;
}
}
HeaderEnumeration.propTypes = {
headerError: propTypes.headerError,
displayMode: propTypes.displayMode,
headerInput: propTypes.headerInput,
headerDefault: propTypes.headerDefault,
headerSelected: propTypes.headerSelected,
onInputChange: propTypes.onInputChange,
onAddKeyDown: propTypes.onAddKeyDown,
id: propTypes.id,
items: propTypes.items,
required: propTypes.required,
inputValue: propTypes.inputValue,
inputRef: propTypes.inputRef,
label: propTypes.label,
t: propTypes.t
};
HeaderEnumeration.defaultProps = {
t: getDefaultT()
};
//# sourceMappingURL=HeaderEnumeration.component.js.map