@xrenders/xflow
Version:
一款功能强大、易用灵活的流程编辑器框架,帮助你轻松构建复杂的工作流和流程产品
121 lines (120 loc) • 7.41 kB
JavaScript
;
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
})))));
});