@alilc/lowcode-plugin-components-pane
Version:
74 lines (73 loc) • 2.69 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _react = _interopRequireDefault(require("react"));
var _bind = _interopRequireDefault(require("classnames/bind"));
var _Component = _interopRequireDefault(require("../../Icon/Component"));
var _indexModule = _interopRequireDefault(require("./index.module.scss"));
var cx = _bind["default"].bind(_indexModule["default"]);
var Component = /*#__PURE__*/function (_React$Component) {
(0, _inheritsLoose2["default"])(Component, _React$Component);
Component.getDerivedStateFromProps = function getDerivedStateFromProps(props) {
var _snippet$screenshot;
var data = props.data;
var icon = data.icon,
_data$snippets = data.snippets,
snippets = _data$snippets === void 0 ? [] : _data$snippets;
var snippet = snippets[0];
var screenshot = (_snippet$screenshot = snippet === null || snippet === void 0 ? void 0 : snippet.screenshot) !== null && _snippet$screenshot !== void 0 ? _snippet$screenshot : icon;
return {
icon: screenshot,
snippet: snippet
};
};
function Component(props) {
var _this;
_this = _React$Component.call(this, props) || this;
_this.state = {
icon: '',
snippet: null
};
_this.t = void 0;
_this.t = props.t;
return _this;
}
var _proto = Component.prototype;
_proto.renderIcon = function renderIcon() {
var icon = this.state.icon;
if (!icon) {
return /*#__PURE__*/_react["default"].createElement(_Component["default"], {
className: cx('no-icon')
});
}
if (typeof icon === 'string') {
return /*#__PURE__*/_react["default"].createElement("img", {
src: icon,
alt: ""
});
}
if (typeof icon === 'function') {
var X = icon;
return /*#__PURE__*/_react["default"].createElement(X, null);
}
return icon;
};
_proto.render = function render() {
var data = this.props.data;
var title = data.title;
var snippet = this.state.snippet;
return /*#__PURE__*/_react["default"].createElement("div", {
className: (0, _bind["default"])('snippet', cx('card')),
"data-id": snippet.id,
title: this.t(title)
}, /*#__PURE__*/_react["default"].createElement("div", {
className: cx('icon')
}, this.renderIcon()), /*#__PURE__*/_react["default"].createElement("div", {
className: cx('name')
}, this.t(title)));
};
return Component;
}(_react["default"].Component);
exports["default"] = Component;
;