UNPKG

@talend/react-components

Version:
61 lines (59 loc) 1.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ItemView = ItemView; var _react = require("react"); var _propTypes = _interopRequireDefault(require("prop-types")); var _gridrow = require("../VirtualizedList/utils/gridrow"); var _Badge = _interopRequireDefault(require("../Badge")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } class ItemViewRow extends _react.Component { static getDerivedStateFromProps(props) { return { item: (0, _gridrow.getRowData)(props.parent, props.index) }; } constructor(props) { super(props); this.state = {}; } shouldComponentUpdate(nextProps, nextState) { const oldData = this.state.item; const newData = nextState.item; return oldData !== newData && ['selected', 'value', 'name'].some(attr => oldData[attr] !== newData[attr]); } render() { const item = this.state.item; return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { style: this.props.style, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Badge.default, { label: item.name, selected: true, onDelete: event => this.props.parent.props.onRowClick({ event, rowData: item.value }) }) }); } } ItemViewRow.propTypes = { style: _propTypes.default.object, index: _propTypes.default.number, parent: _propTypes.default.shape({ props: _propTypes.default.shape({ collection: _propTypes.default.array, onRowClick: _propTypes.default.func }) }) }; // eslint-disable-next-line import/prefer-default-export function ItemView(props) { return /*#__PURE__*/(0, _jsxRuntime.jsx)(ItemViewRow, { ...props }); } ItemView.rowHeight = 35; //# sourceMappingURL=ItemView.component.js.map