1.0.8 • Published 2 months ago

@vosdux/react-visual-modeling-ts v1.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

✨ Feature

  • supports React 17.0.2
  • supports Typescript

📦 Install

npm install @vosdux/react-visual-modeling-ts

Подробнее здесь

Пример работы здесь

butterfly core

Props

node - таблица edge - связь

НазваниеОписаниеТип
dataДанные для отрисовкиany
widthШирина canvasnumber | string
heightВысота canvasnumber | string 
classNameclassNamestring
columnsОписание колонокcolumns propsArray<columns>
nodeMenuМеню для nodeArray<menu>
edgeMenuМеню для edgeArray<menu>
actionMenuОбщее менюaction[]
configКонфигурацияconfig propsany
emptyContentКонтент для пустой таблицыstring | JSX. Element
emptyWidthШирина пустой таблицыnumber | string
beforeDeleteNodeКолбек удаления node???
beforeDeleteEdgeКолбек удаления edge???
onLoadedСобытие загрузки(canvas) => void
onChangeСобытие изменения (например добавление связи)(data) => void
onFocusNodeСобытие фокусировки на node(node) => void
onFocusEdgeСобытие фокусировки на edge(edge) => void
onFocusCanvasСобытие фокусировки на canvas() => void
onDblClickNodeСобытие двойного клика на node(node) => void
onDblClickEdgeСобытие двойного клика на edge(node) => void
selectable???boolean
onSelect???(nodes, edges) => void

columns

НазваниеОписаниеТип
titleНаименованиеstring
keyКлючstring
widthШиринаnumber
primaryKeyПервичный ключboolean
renderРендер метод(key) => void

menu

НазваниеОписаниеТип
titleНаименованиеstring
keyКлючstring
renderРендер метод(key) => void
onClickКлик(key, data) => void

config

НазваниеОписаниеТип
disableDeletingОтключить возможность удаления nodeboolean
disableCollapseОтключить возможность сворачивания nodeboolean
disableEdgeCreationОтключить возможность создавать связи в ручнуюboolean
showActionIconПоказать главное менюboolean
allowKeyboardРазрешить события с клавиатурыboolean
titleRenderРендер наменования node(title) => JSX.Element
titleExtIconRenderРендер иконки в шапке node(node) => JSX.Element
labelRenderРендер лейбла edge(label) => JSX.Element
minimapНастройки миникартыminimap prop { }
autoLayoutАвтоматическое позициониованиеlayout prop { }
gridModeНастройки холстаgrid prop { }

grid prop

НазваниеОписаниеТип
isAdsorb???boolean
themeНастройки темыtheme prop { }

grid theme

НазваниеОписаниеТип
shapeTypeКруги или линииstring
gapОтступыnumber
lineWidthШирина линииboolean
lineColorЦвет линииstring
circleRadiuРадиус кругаnumber
circleColorЦвет кругаstring

layout prop

НазваниеОписаниеТип
typehttps://github.com/alibaba/butterfly/blob/master/docs/en-US/layout.mdstring
optionshttps://github.com/alibaba/butterfly/blob/master/docs/en-US/layout.mdany

minimap

НазваниеОписаниеТип
enableВключить миникартуboolean
configКофигурацияminimap props

minimap-config-prop

НазваниеОписаниеТип
nodeColorЦвет нодыstring
activeNodeColorЦвет активной нодыstring
viewportStylecss стили - не CssPropertiesRecord<string, string>

Usage

import TableBuilding from "@vosdux/react-visual-modeling-ts";
import "@vosdux/react-visual-modeling-ts/dist/esm/index.css";

export const columns = [
  {
    key: "id",
    primaryKey: true,
  },
];

export const data = {
  nodes: [
    {
      id: "aaa",
      title: "aaa",
      top: 200,
      left: 200,
      fields: [
        {
          id: "field_1",
        },
      ],
    },
    {
      id: "bbb",
      title: "bbb",
      top: 400,
      left: 400,
      fields: [
        {
          id: "field_1",
        },
      ],
    },
  ],
  edges: [
    {
      id: 1,
      sourceNode: "aaa",
      targetNode: "bbb",
      source: "field_1",
      target: "field_1",
    },
  ],
};

<TableBuilding
  columns={columns}
  data={data}
/>

ICONS

В случае проблем с иконками, добавьте в свой файл стилей следующие шрифты

@font-face {font-family: "table-build-icon"; src: url('//at.alicdn.com/t/font_2369312_0qxuga95yni.eot?t=1613541691358'); / IE9 / src: url('//at.alicdn.com/t/font_2369312_0qxuga95yni.eot?t=1613541691358#iefix') format('embedded-opentype'), / IE6-IE8 / url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAWYAAsAAAAACwgAAAVJAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDXgqHYIZwATYCJAMcCxAABCAFhU0HdRu9CcgekqRfBAooB8AVIgAgHv6b+7wvM0k+0O4WFKJDxxJRoaoDZCNqRDULu7bEx/9BNjU0TOnmTEyU/l5+nyu9iVB6E1lcy0dQ7yjCtAP5asw+f81h2h6gEhNyRu9qTW0QXSSueyHEbu4ng1QEktWdCkX+6oACqFPlKkx1jbM1Ea9eJrYj80ZpAi1TmUHWBzx9tUayOBBYcKzYw9aok5QXrKERqSbezeIJKDWKu6wLgMfFz8d3NiFKoUzisrYcvVats0/oy4+Q+E84kAhwZX/NMD8iYTEgE7cmW6+AVI0uBrX8v5nt0NLTUKg+5WeNZ91n056TL5/+/w90t8bXQ0+K1/Yvr1IqJKJCwQ6Ue8YqPqGJQPBJNGAYkgBbDmlCoOQzKVDw9WnIuyCv3+lhMhBLAIjXYsNSLyeVJMnydHk1FK3ElFEpRTZ7omrKeZByBq0J/7YCTgLDwMaNo2kbEc/nP08mnveM7yZ5nBwumPCK5jKahiPQkHwuQSeII1cp7hzQIjsxj2GGSR6CtNfmTWVKsXrHJVn9o2CiFTna2rrRLvxlF2U+pzni7Bfy4l1d/d04LtE7OEAlHbdZIEg84lME7XaELkcKjguQIZ0IYS0piMz/neUNpM6Tl2CYktps+Rviezi8WTy+WzGxl8TxbkI+rourUM48SxA8T+Q/jaeftOyDcXPOiqW3bnTeRzXhdoHiSjeG3e9F4NUexJ/EhbS+k3nWdCp++iL7uroATu6KSE+PK0DfvQ2J2wQMqQeq+RaHV+sA9SGFOdbYXq8ROKQRoOZXHEzkbD959gyl5q+m+hpBfKgyb6+WSUmyukNhjvWUjiqZnCScokQVeS4/ZymnLieVU7i0VreWKiwWuuL8ggCVS52hqlY5JTj9/+9MUc6Pqcd09IxfE3CdApCVVlbIwsPC/7cMXI98EpOebSFZe/dCUmJGaQBquXma1x562GonIqC2cMqs3bc7fffuNKbCO+PoDDqt5TQNgxfbViobLt+CiFp1GT34589B+FBcQQ82U10OwokbNybIB+kKnCD+eEe/sg7RNzcdG/c3qefSB+6oLNu9863BW4Acp4VUVFBaokapL6NZiC6bJRKxs3vR799R8u2jKXvhPvjtexVD96Loqd+2o2M6tO7oqA0QP6ggfrctg91tKWAFd+LPcyW7nd/nsx02keXrgJvPdbDO/6Yt8OVXmPo2GwRPg/BtwfTxZ/iau+IqW8dx8aJesbs6tDA8nfZDX9AivS0YYNiTvsN6ETuSpN8LjhXpB2wan0x3U/qf+3dceBn9OVPK7asolsF4zDVX9AxXZMBn/9AQX/wri8wjOfDGqTp7uyeM6aptMRgu0JJX+AN3jrq3v/BE9nzCAN5AoTYHkgEzaVa6QaltA1QGEqFlkcKP28asA0nkJhaaFhCmuwyFnt+QTPdXko2hDqVJ4e6vppSx0LIranNsmxtnW741hDkpyGmG4lxrXPVKPqnLPjCJnPqAlQjv+kFewZhaO3aHfijNAtwI1hZW4xO3ZCg9xgu1Dd5pXZ0LBTVWQ8A+yiNmC1U1NiQnl0V1eby3tCyYapDMrdStiXVSBOWIAnI0QDGHZbhZc26SLEcHjIhicyHAFMFa/oF4CmyeL2Xua2n6D5LKAg89HrBmwWoL6W3QbLXjtSyvVfKcqpPNLkjWpywNBJyLn7TZzAJV0/4Qsx05qWiL4diepTypgBuUxw3rz+UWtMSNqKOIFDnKqKKOhvpcpdWiuGJcXY8mDox3KjqorLI+7zcVI+MkN9uUmIncert6eWi02Xr4bswwPtpWCwAAAA==') format('woff2'), url('//at.alicdn.com/t/font_2369312_0qxuga95yni.woff?t=1613541691358') format('woff'), url('//at.alicdn.com/t/font_2369312_0qxuga95yni.ttf?t=1613541691358') format('truetype'), / chrome, firefox, opera, Safari, Android, iOS 4.2+ / url('//at.alicdn.com/t/font_2369312_0qxuga95yni.svg?t=1613541691358#table-build-icon') format('svg'); / iOS 4.1- / } @font-face { font-family: 'table-build-icon'; / project id 2369312 / src: url('//at.alicdn.com/t/font_2369312_wsg9aeubvfs.eot'); src: url('//at.alicdn.com/t/font_2369312_wsg9aeubvfs.eot?#iefix') format('embedded-opentype'), url('//at.alicdn.com/t/font_2369312_wsg9aeubvfs.woff2') format('woff2'), url('//at.alicdn.com/t/font_2369312_wsg9aeubvfs.woff') format('woff'), url('//at.alicdn.com/t/font_2369312_wsg9aeubvfs.ttf') format('truetype'), url('//at.alicdn.com/t/font_2369312_wsg9aeubvfs.svg#table-build-icon') format('svg'); }

1.0.8

2 months ago

1.0.7

5 months ago

1.0.6

5 months ago

1.0.5

7 months ago

1.0.4

10 months ago

1.0.3

11 months ago

1.0.2

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago

0.0.8

11 months ago