@digiforce-cloud/flowdesigner
TypeScript icon, indicating that this package has built-in type declarations

1.2.2 • Public • Published

@digiforce-cloud/flowdesigner

Flowchart solutions, based on XFlow.

npm npm GitHub stars npm License

WebsiteQuick StartGalleryFAQBlog

Case

Features

  • Easy to use
  • TypeScript

📦 Installation

$ npm install @digiforce-cloud/flowdesigner

🔨 Usage

import React from 'react';
import { Flowchart } from '@digiforce-cloud/flowdesigner';
import "antd/dist/antd.css";
import "@digiforce-cloud/flowdesigner/dist/index.css";

const DemoFlowchart = () => {
  return (
    <div style={{ height: 600 }}>
      <Flowchart
        onSave={(d) => {
          console.log(d, JSON.stringify(d));
        }}
        toolbarPanelProps={{
          position: {
            top: 0,
            left: 0,
            right: 0,
          },
        }}
        scaleToolbarPanelProps={{
          layout: 'horizontal',
          position: {
            right: 0,
            top: -40,
          },
          style: {
            width: 150,
            height: 39,
            left: 'auto',
            background: 'transparent',
          },
        }}
        canvasProps={{
          position: {
            top: 40,
            left: 0,
            right: 0,
            bottom: 0,
          },
        }}
        nodePanelProps={{
          position: { width: 160, top: 40, bottom: 0, left: 0 },
        }}
        detailPanelProps={{
          position: { width: 200, top: 40, bottom: 0, right: 0 },
        }}
      />
    </div>
  );
};
export default DemoFlowchart;

Preview

📜 Document & API

export interface FlowchartProps extends FlowchartContainerProps {
  /** 默认数据 */
  data?: Datum;
  
  /** 画布是否自动居中 */
  isAutoCenter?: boolean;
  
  /** 节点面板配置 */
  nodePanelProps?: NodePanelProps;
  
  /** 画布主要区域配置 */
  canvasProps?: CanvasProps;
  
  /**
   * @title 画布状态
   * @description scan 会禁用一些画布事件,例如连线、鼠标右键等
   * @default "edit"
   */
  mode?: 'edit' | 'scan';
  
  /** toolbar */
  toolbarPanelProps?: ToolbarPanelProps;
  
  /** keyBinding */
  keyBindingProps?: false | KeybindingConfig;
  
  /** scale toolbar */
  scaleToolbarPanelProps?: ScaleToolbarPanelProps;
  
  /** form editor */
  detailPanelProps?: DetailPanelProps;
  
  /** 右键菜单配置 */
  contextMenuPanelProps?: ContextMenuPanelProps;
  
  /** popover */
  popoverProps?: PopoverProps;
  
  /** onReady */
  onReady?: (graph: IFlowchartGraph, app: IApplication) => void;
  
  /** 点击回调,仅支持 save-graph-data */
  onSave?: (data: Datum) => void;
  
  /** 新增节点时回调 */
  onAddNode?: (node: NsGraph.INodeConfig) => void;
  
  /** 新增边时回调 */
  onAddEdge?: (edge: NsGraph.IEdgeConfig) => void;
  
  /** xflow app 销毁前的回调 */
  onDestroy?: IAppDestroy;
  
  /** xflow app 初始化后的回调 */
  onConfigReady?: IAppConfigReady;
  
  /** 节点或边更新数据时调用 */
  onConfigChange?: (params: { data: Datum; type: string; config?: NsGraph.INodeConfig | NsGraph.IEdgeConfig }) => void;
}

🤝 How to Contribute

Your contributions are always welcome! Please Do have a look at the issues first.

📧 Contact us

DingTalk group number: 44788198 .

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @digiforce-cloud/flowdesigner

Weekly Downloads

0

Version

1.2.2

License

MIT

Unpacked Size

11.6 MB

Total Files

97

Last publish

Collaborators

  • locngo-innoria
  • thodinh.sg