UNPKG

@xrenders/xflow

Version:

一款功能强大、易用灵活的流程编辑器框架,帮助你轻松构建复杂的工作流和流程产品

121 lines (120 loc) 7.41 kB
"use strict"; function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("antd/es/space/style"); var _space = _interopRequireDefault(require("antd/es/space")); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _shallow = require("zustand/shallow"); var _sourceHandle = _interopRequireDefault(require("../../components/CustomNode/sourceHandle")); var _TextEllipsis = _interopRequireDefault(require("../../components/TextEllipsis")); var _useStore2 = require("../../hooks/useStore"); var _utils = require("../../utils"); require("./index.css"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } var _default = exports.default = /*#__PURE__*/(0, _react.memo)(function (props) { var _a, _b, _c, _d, _e; var data = props.data, position = props.position, isConnectable = props.isConnectable, selected = props.selected, isHovered = props.isHovered, _handleAddNode = props.handleAddNode, CustomNodeWidget = props.CustomNodeWidget, isSwitchBottom = props.isSwitchBottom, nodeSetting = props.nodeSetting, id = props.id; var switchExtra = nodeSetting.switchExtra; var _useStore = (0, _useStore2.useStore)(function (state) { return { nodes: state.nodes, edges: state.edges }; }, _shallow.shallow), nodes = _useStore.nodes, edges = _useStore.edges; var renderTitle = function renderTitle(item, index) { var _a, _b, _c, _d; var defTitle = (item === null || item === void 0 ? void 0 : item.title) || "\u6761\u4EF6".concat(index); var title = (switchExtra === null || switchExtra === void 0 ? void 0 : switchExtra.titleKey) ? item[switchExtra === null || switchExtra === void 0 ? void 0 : switchExtra.titleKey] : defTitle; return /*#__PURE__*/_react.default.createElement("div", { className: "item-header" }, /*#__PURE__*/_react.default.createElement("div", { className: "item-title" }, title), /*#__PURE__*/_react.default.createElement(_sourceHandle.default, { position: position, isConnectable: ((_b = (_a = edges || []) === null || _a === void 0 ? void 0 : _a.filter(function (flow) { return (flow === null || flow === void 0 ? void 0 : flow.sourceHandle) === (item === null || item === void 0 ? void 0 : item._id); })) === null || _b === void 0 ? void 0 : _b.length) === 0, selected: selected, isHovered: isHovered, handleAddNode: function handleAddNode(data) { _handleAddNode(data, item === null || item === void 0 ? void 0 : item._id); }, id: item === null || item === void 0 ? void 0 : item._id, className: "item-handle", isConnected: ((_d = (_c = edges || []) === null || _c === void 0 ? void 0 : _c.filter(function (flow) { return (flow === null || flow === void 0 ? void 0 : flow.sourceHandle) === (item === null || item === void 0 ? void 0 : item._id); })) === null || _d === void 0 ? void 0 : _d.length) > 0 })); }; var renderContent = function renderContent(item, index) { var value = (switchExtra === null || switchExtra === void 0 ? void 0 : switchExtra.valueKey) ? item[switchExtra === null || switchExtra === void 0 ? void 0 : switchExtra.valueKey] : item === null || item === void 0 ? void 0 : item.value; return /*#__PURE__*/_react.default.createElement("div", { className: "item-content" }, CustomNodeWidget ? (/*#__PURE__*/_react.default.createElement(CustomNodeWidget, { data: item, index: index })) : (/*#__PURE__*/_react.default.createElement("div", null, value && (/*#__PURE__*/_react.default.createElement("div", { className: "item-content-in" }, /*#__PURE__*/_react.default.createElement(_TextEllipsis.default, { text: value, rows: 5, type: "paragraph" })))))); }; return /*#__PURE__*/_react.default.createElement(_space.default, { direction: isSwitchBottom ? 'horizontal' : 'vertical', className: (0, _classnames.default)('node-switch-widget', { 'node-switch-widget-bottom': isSwitchBottom }), size: 5 }, (_a = (data === null || data === void 0 ? void 0 : data.list) || [{ _id: "id_".concat((0, _utils.uuid)()) }]) === null || _a === void 0 ? void 0 : _a.map(function (item, index) { return /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)('node-switch-widget-item', { 'node-switch-bottom-item': isSwitchBottom }), key: index }, isSwitchBottom ? (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderContent(item, index), renderTitle(item, index))) : (/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderTitle(item, index), renderContent(item, index)))); }), !(switchExtra === null || switchExtra === void 0 ? void 0 : switchExtra.hideElse) && (/*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)('node-switch-widget-item', { 'node-switch-bottom-item': isSwitchBottom }) }, /*#__PURE__*/_react.default.createElement("div", { className: "item-header" }, /*#__PURE__*/_react.default.createElement("div", { className: "item-title" }, "\u9ED8\u8BA4"), /*#__PURE__*/_react.default.createElement(_sourceHandle.default, { position: position, isConnectable: ((_c = (_b = edges || []) === null || _b === void 0 ? void 0 : _b.filter(function (flow) { return (flow === null || flow === void 0 ? void 0 : flow.sourceHandle) === 'id_else' && (flow === null || flow === void 0 ? void 0 : flow.source) === id; })) === null || _c === void 0 ? void 0 : _c.length) === 0, selected: selected, isHovered: isHovered, handleAddNode: function handleAddNode(data) { _handleAddNode(data, 'id_else'); }, className: "item-handle", id: 'id_else', isConnected: ((_e = (_d = edges || []) === null || _d === void 0 ? void 0 : _d.filter(function (flow) { return (flow === null || flow === void 0 ? void 0 : flow.sourceHandle) === 'id_else' && (flow === null || flow === void 0 ? void 0 : flow.source) === id; })) === null || _e === void 0 ? void 0 : _e.length) > 0 }))))); });