@ant-design/flowchart
TypeScript icon, indicating that this package has built-in type declarations

1.2.3 • Public • Published

@ant-design/flowchart

Flowchart solutions, based on XFlow.

npm npm GitHub stars npm License

WebsiteQuick StartGalleryFAQBlog

Case

✨ Features

  • Easy to use
  • TypeScript

📦 Installation

$ npm install @ant-design/flowchart

🔨 Usage

import React from 'react';
import { Flowchart } from '@ant-design/flowchart';
import 'antd/dist/antd.css';
import '@ant-design/flowchart/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 @ant-design/flowchart

Weekly Downloads

35,631

Version

1.2.3

License

MIT

Unpacked Size

12.1 MB

Total Files

78

Last publish

Collaborators

  • pearmini
  • kn9117
  • afc163