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