UNPKG

@talend/react-containers

Version:

Provide connected components aka containers for @talend/react-cmf based on @talend/react-components.

71 lines (70 loc) 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = MultiSelectTextMode; var _propTypes = _interopRequireDefault(require("prop-types")); var _reactForms = _interopRequireDefault(require("@talend/react-forms")); var _reactComponents = require("@talend/react-components"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function renderItem(props) { const item = _reactComponents.VirtualizedList.rowUtils.getRowData(props.parent, props.index); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactComponents.Badge, { style: props.style, label: item.name, selected: true }, props.index); } renderItem.height = 35; renderItem.propTypes = { parent: _propTypes.default.object, style: _propTypes.default.object, index: _propTypes.default.number }; function MultiSelectTextMode(props) { const names = props.resolveName(props.value); const titleMap = props.value.map((nextVal, index) => ({ name: names[index], value: nextVal })); const TextModeTemplate = _reactForms.default.UIForm.TextModeTemplate; return /*#__PURE__*/(0, _jsxRuntime.jsx)(TextModeTemplate, { id: props.id, label: props.schema.title, children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { style: { height: 300 }, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactComponents.VirtualizedList, { type: "tc-multiselect", rowHeight: props.itemViewRender.rowHeight, rowRenderers: { 'tc-multiselect': props.itemViewRender }, collection: titleMap }) }) }); } if (process.env.NODE_ENV !== 'production') { MultiSelectTextMode.propTypes = { itemViewRender: _propTypes.default.func, id: _propTypes.default.string, resolveName: _propTypes.default.func, schema: _propTypes.default.shape({ title: _propTypes.default.string, titleMap: _propTypes.default.arrayOf(_propTypes.default.shape({ name: _propTypes.default.string.isRequired, value: _propTypes.default.string.isRequired })) }).isRequired, value: _propTypes.default.arrayOf(_propTypes.default.string) }; } MultiSelectTextMode.defaultProps = { value: [], itemViewRender: renderItem, resolveName: value => value }; //# sourceMappingURL=TextMode.component.js.map