UNPKG

@talend/react-containers

Version:

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

97 lines (96 loc) 3.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes")); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Action = _interopRequireDefault(require("../Action")); var _FilterBar = _interopRequireDefault(require("../FilterBar")); var _List = _interopRequireDefault(require("../List")); var _TreeView = _interopRequireDefault(require("../TreeView")); var _SelectObjectModule = _interopRequireDefault(require("./SelectObject.module.scss")); var _reactComponents = require("@talend/react-components"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function SelectObject({ filteredData, idAttr, nameAttr, results, sourceData, tree, filter = {}, ...props }) { let schema; if (props.schema && props.selected) { schema = { properties: props.selected, ...props.schema }; } return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: `tc-select-object ${_SelectObjectModule.default.wrapper}`, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_FilterBar.default, { ...filter, className: (0, _classnames.default)(filter.className, _SelectObjectModule.default.filter), id: props.id, dockable: false, navbar: false }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", { className: _SelectObjectModule.default.container, children: [!tree && !filteredData && /*#__PURE__*/(0, _jsxRuntime.jsx)(_List.default, { ...props.list, id: `${props.id}-list`, data: sourceData, className: _SelectObjectModule.default.list }), tree && !filteredData && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeView.default, { ...tree, componentId: props.id, noHeader: true, data: sourceData, className: _SelectObjectModule.default.tree }), filteredData && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: _SelectObjectModule.default.results, children: filteredData.map(data => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Action.default, { className: (0, _classnames.default)({ active: results.selectedId === data.get(idAttr) }), onClick: event => results.onClick(event, data), children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h3", { children: data.get(nameAttr) }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { children: data.get('currentPosition') })] }, data.get(idAttr))) }), schema && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactComponents.JSONSchemaRenderer, { schema: schema, className: _SelectObjectModule.default.preview })] })] }); } SelectObject.displayName = 'SelectObject'; SelectObject.propTypes = { id: _propTypes.default.string, idAttr: _propTypes.default.string, nameAttr: _propTypes.default.string, tree: _propTypes.default.object, list: _propTypes.default.object, filter: _propTypes.default.object, schema: _propTypes.default.object, filteredData: _reactImmutableProptypes.default.List, results: _propTypes.default.shape({ selectedId: _propTypes.default.string, onClick: _propTypes.default.func }), sourceData: _reactImmutableProptypes.default.List, selected: _propTypes.default.object }; SelectObject.defaultProps = { idAttr: 'id' }; var _default = exports.default = SelectObject; //# sourceMappingURL=SelectObject.component.js.map