UNPKG

@xrenders/xflow

Version:

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

68 lines 3.01 kB
import "antd/es/config-provider/style"; import _ConfigProvider from "antd/es/config-provider"; import { __rest } from "tslib"; import { EventEmitterContextProvider } from './models/event-emitter'; import React, { useMemo } from 'react'; import { FlowProviderWrapper } from './components/FlowProvider'; import { ConfigContext } from './models/context'; export default function withProvider(Element, defaultWidgets) { return function (props) { var configProvider = props.configProvider, widgets = props.widgets, methods = props.methods, nodeSelector = props.nodeSelector, settings = props.settings, initialValues = props.initialValues, layout = props.layout, iconFontUrl = props.iconFontUrl, globalConfig = props.globalConfig, logPanel = props.logPanel, onMenuItemClick = props.onMenuItemClick, _props$antdVersion = props.antdVersion, antdVersion = _props$antdVersion === void 0 ? 'V5' : _props$antdVersion, readOnly = props.readOnly, clickAddNode = props.clickAddNode, onTesting = props.onTesting, openColorfulMode = props.openColorfulMode, restProps = __rest(props, ["configProvider", "widgets", "methods", "nodeSelector", "settings", "initialValues", "layout", "iconFontUrl", "globalConfig", "logPanel", "onMenuItemClick", "antdVersion", "readOnly", "clickAddNode", "onTesting", "openColorfulMode"]); var settingMap = useMemo(function () { var obj = {}; settings === null || settings === void 0 ? void 0 : settings.forEach(function (node) { if (node.type !== '_group') { obj[node.type] = node; } else { node.items.forEach(function (item) { obj[item.type] = item; }); } }); return obj; }, [settings]); var configContext = { methods: methods, nodeSelector: nodeSelector, settings: settings, settingMap: settingMap, iconFontUrl: iconFontUrl, globalConfig: globalConfig, logPanel: logPanel, antdVersion: antdVersion, onMenuItemClick: onMenuItemClick, readOnly: readOnly, clickAddNode: clickAddNode, onTesting: onTesting, openColorfulMode: openColorfulMode, widgets: Object.assign(Object.assign({}, defaultWidgets), widgets) }; return /*#__PURE__*/React.createElement(_ConfigProvider, Object.assign({}, configProvider), /*#__PURE__*/React.createElement(ConfigContext.Provider, { value: configContext }, /*#__PURE__*/React.createElement(EventEmitterContextProvider, null, /*#__PURE__*/React.createElement(FlowProviderWrapper, { nodes: initialValues === null || initialValues === void 0 ? void 0 : initialValues.nodes, edges: initialValues === null || initialValues === void 0 ? void 0 : initialValues.edges, layout: layout }, /*#__PURE__*/React.createElement(Element, Object.assign({}, restProps, { initialValues: initialValues, settings: settings })))))); }; }