UNPKG

@riil-frontend/component-page-creater

Version:

page creater components,include components list,component attribute panel and page canvas

140 lines (118 loc) 5.02 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _collapse = _interopRequireDefault(require("@alifd/next/lib/collapse")); var _box = _interopRequireDefault(require("@alifd/next/lib/box")); var _message = _interopRequireDefault(require("@alifd/next/lib/message")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _lodash = _interopRequireDefault(require("lodash")); var _propTypes = _interopRequireDefault(require("prop-types")); var _componentRiilIcon = _interopRequireDefault(require("@riil-frontend/component-riil-icon")); require("./index.scss"); var _util = require("../util"); var _constant = require("../constant"); var _IconTitle = _interopRequireDefault(require("./IconTitle")); // import { useState } from 'react'; function ComList(props) { var comList = props.comList, onItemDragStart = props.onItemDragStart, collapseProps = props.collapseProps, customGetComRequire = props.customGetComRequire, onItemDragEnd = props.onItemDragEnd; // const [searchKey, setSearchKey] = useState(''); var configs = comList && comList.map(function (ele, index) { var children = []; ele.children.forEach(function (item) { if (!item.importFrom || item.type === _constant.COMLIST_TEMPLATE_TYPE) { children.push(item); } else { var Com = (0, _util.getComRequire)(item.type, item.importFrom, customGetComRequire); var config = Com ? _lodash["default"].cloneDeep(Com.config) : null; config = (0, _extends2["default"])({}, config, item.config); config && children.push((0, _extends2["default"])({}, config, item)); } }); return (0, _extends2["default"])({}, ele, { children: children }); }); // configs = configs.filter((item) => { // if (searchKey === '') { // return item; // } // let name = item.name.toLocaleLowerCase(); // return name.includes(searchKey.toLocaleLowerCase()); // }); return /*#__PURE__*/_react["default"].createElement("div", { className: "uicbb-com-list" }, /*#__PURE__*/_react["default"].createElement(_collapse["default"], (0, _extends2["default"])({}, collapseProps, { className: "com-list-collapse collapse-no-title-background" }), configs.map(function (ele) { return /*#__PURE__*/_react["default"].createElement(_collapse["default"].Panel, { key: ele.key, title: ele.iconInfo ? /*#__PURE__*/_react["default"].createElement(_IconTitle["default"], { title: ele.title, iconInfo: ele.iconInfo }) : ele.title }, ele.message ? /*#__PURE__*/_react["default"].createElement(_message["default"], { type: "notice", closeable: true, style: { marginBottom: 16 } }, ele.message) : null, /*#__PURE__*/_react["default"].createElement(_box["default"], { direction: "row", wrap: true, spacing: 12, justify: "space-between" }, ele.children.map(function (item, index) { var _item$attributes; return /*#__PURE__*/_react["default"].createElement("div", { key: 'comlist' + index, className: "uicbb-com-list-item", draggable: true, onDragStart: function onDragStart(e) { e.dataTransfer.setData('text/plain', JSON.stringify(item)); onItemDragStart && onItemDragStart(item, e); }, onDragEnd: function onDragEnd(e) { onItemDragEnd && onItemDragEnd(); }, onDragOver: function onDragOver(e) {} }, /*#__PURE__*/_react["default"].createElement(_box["default"], { className: "uicbb-com-list-item-icon", align: "center", justify: "center" }, /*#__PURE__*/_react["default"].createElement(_componentRiilIcon["default"], { type: item.icon, size: "xxl" })), /*#__PURE__*/_react["default"].createElement("div", { style: { textAlign: 'center' } }, item.name || (item === null || item === void 0 ? void 0 : (_item$attributes = item.attributes) === null || _item$attributes === void 0 ? void 0 : _item$attributes.comName) || item.type)); }))); }))); } ComList.propTypes = { /** * 组件列表数据exp:[{key:'workbench',title:'工作台',children:[{type: 'component-exp-alarm-list', importFrom: 'npm',icon:'help'}] }], * */ comList: _propTypes["default"].array, /** * 当组件图标拖拽开始时回调 * @type {(config:Object,e:MouseEvent)=>{}} config为拖拽组件的配置数据,e为鼠标event */ onItemDragStart: _propTypes["default"].func, /** * 透传折叠面板属性 */ collapseProps: _propTypes["default"].object, /** * 自定义组件类引用方法 */ customGetComRequire: _propTypes["default"].func }; ComList.defaultProps = {}; var _default = ComList; exports["default"] = _default;