1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-react-flow-chart

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

React Flow Chart

CircleCI

  • Dragabble Nodes and Canvas
  • Create curved links between ports
  • Custom components for Canvas, Links, Ports, Nodes
  • React state container
  • Update state on Select/Hover nodes, ports and links
  • Base functionality complete
  • Stable NPM version
  • Scroll/Pinch canvas to zoom
  • Ctrl+z/Ctrl+y history
  • Read-only mode
  • Redux state container
  • Arrow heads on links
  • Docs

Storybook Demo

CodeSandbox Demo

Этот проект направлен на создание настраиваемой библиотеки диаграмм потоков данных с декларативным подходом. Важно отметить, что вы контролируете состояние. Выберите Redux, MobX, React или любую другую библиотеку управления состоянием — просто передайте текущее состояние и подключите обратные вызовы.

Например:

demo

Структура данных

Диаграмма потока данных представляет собой набор узлов, портов и связей. Вы можете определить свои собственные свойства, делая этот формат достаточно гибким. См. types/chart.ts (./src/types/chart.ts). Обратите внимание, узлы, порты и связи должны иметь уникальный идентификатор.

Пример

export const chart: IChart = {
  offset: {
    x: 0,
    y: 0
  },
  scale: 1,
  nodes: {
    node1: {
      id: 'node1',
      type: 'output-only',
      position: {
        x: 300,
        y: 100
      },
      ports: {
        port1: {
          id: 'port1',
          type: 'output',
          properties: {
            value: 'yes'
          }
        },
        port2: {
          id: 'port2',
          type: 'output',
          properties: {
            value: 'no'
          }
        }
      }
    },
    node2: {
      id: 'node2',
      type: 'input-output',
      position: {
        x: 300,
        y: 300
      },
      ports: {
        port1: {
          id: 'port1',
          type: 'input'
        },
        port2: {
          id: 'port2',
          type: 'output'
        }
      }
    }
  },
  links: {
    link1: {
      id: 'link1',
      from: {
        nodeId: 'node1',
        portId: 'port2'
      },
      to: {
        nodeId: 'node2',
        portId: 'port1'
      }
    }
  },
  selected: {},
  hovered: {}
};

Это создаст простую диаграмму с двумя узлами, которая будет выглядеть следующим образом:

Demo

Основное использование

npm i @mrblenny/react-flow-chart

Большинство компонентов/типов доступны как экспорт на корневом уровне. Ознакомьтесь с демонстрацией Storybook для получения дополнительных примеров.

import { FlowChartWithState } from "@mrblenny/react-flow-chart";

const chartSimple = {
  offset: {
    x: 0,
    y: 0
  },
  nodes: {
    node1: {
      id: "node1",
      type: "output-only",
      position: {
        x: 300,
        y: 100
      },
      ports: {
        port1: {
          id: "port1",
          type: "output",
          properties: {
            value: "yes"
          }
        },
        port2: {
          id: "port2",
          type: "output",
          properties: {
            value: "no"
          }
        }
      }
    },
    node2: {
      id: "node2",
      type: "input-output",
      position: {
        x: 300,
        y: 300
      },
      ports: {
        port1: {
          id: "port1",
          type: "input"
        },
        port2: {
          id: "port2",
          type: "output"
        }
      }
    }
  },
  links: {
    link1: {
      id: "link1",
      from: {
        nodeId: "node1",
        portId: "port2"
      },
      to: {
        nodeId: "node2",
        portId: "port1"
      }
    }
  },
  selected: {},
  hovered: {}
};

const Example = (
  <FlowChartWithState initialValue={chartSimple} />
);

С внутренним состоянием

stories/InternalReactState.tsx

С внешним состоянием

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Гибкая библиотека блок-схем для React без сохранения состояния, основанная на декларативном подходе. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-react-flow-chart.git
git@api.gitlife.ru:oschina-mirror/mirrors-react-flow-chart.git
oschina-mirror
mirrors-react-flow-chart
mirrors-react-flow-chart
master