3.0.8 • Published 29 days ago

d3-graph-controller v3.0.8

Weekly downloads
-
License
MIT
Repository
github
Last release
29 days ago

Features

  • 👉 Fully interactive dragging, panning, zooming and more. Supports touch input and uses multi-touch.
  • 📱 Responsive graphs that fit any screen thanks to automatic or manual resizing.
  • 🔧 Extensive configuration enables customizable behavior and visuals.

Installation

# yarn
$ yarn add d3-graph-controller

# npm
$ npm install d3-graph-controller

Usage

import {
  defineGraph,
  defineGraphConfig,
  defineLink,
  defineNodeWithDefaults,
  Graph,
  GraphController,
} from 'd3-graph-controller'
import 'd3-graph-controller/default.css'

const a = defineNodeWithDefaults({
  type: 'node',
  id: 'a',
  label: {
    color: 'black',
    fontSize: '1rem',
    text: 'A',
  },
})

const b = defineNodeWithDefaults({
  type: 'node',
  id: 'b',
  label: {
    color: 'black',
    fontSize: '1rem',
    text: 'B',
  },
})

const link = defineLink({
  source: a,
  target: b,
  color: 'gray',
  label: false,
})

const graph = defineGraph({
  nodes: [a, b],
  links: [link],
})

// A reference to the native host element, e.g., an HTMLDivElement. This is framework agnostic.
// You may use Angular's @ViewChild, Vue's $ref, plain JavaScript or something else entirely.
const container = document.getElementById('graph') as HTMLDivElement

const controller = new GraphController(container, graph, defineGraphConfig())

// Integrate the controller into the lifecycle of your application
controller.shutdown()

Styling

In addition to the default style, that is available by adding import 'd3-graph-controller/default.css' to your project, it is possible to configure font-size and color of graph elements. Both properties of nodes and links accept valid CSS expressions. This allows you to use dynamic colors with CSS variables:

:root {
  --color-primary: 'red';
}
import { defineNodeWithDefaults } from 'd3-graph-controller'

defineNodeWithDefaults({
  type: 'node',
  id: 'a',
  label: {
    color: 'black',
    fontSize: '2rem',
    text: 'A',
  },
  color: 'var(--color-primary)',
})

For customization of the default theme, the custom CSS property --color-node-stroke can be used.

Development

# install dependencies
$ pnpm install

# build for production
$ pnpm build

# build in watch mode
$ pnpm dev

# lint project files
$ pnpm lint

License

MIT - Copyright © Jan Müller

3.0.8

29 days ago

3.0.7

2 months ago

3.0.6

3 months ago

3.0.5

3 months ago

3.0.4

4 months ago

3.0.3

4 months ago

3.0.2

5 months ago

2.6.1

9 months ago

2.6.0

9 months ago

2.6.2

9 months ago

3.0.1

8 months ago

3.0.0

8 months ago

2.5.2

1 year ago

2.4.0

1 year ago

2.5.0

1 year ago

2.5.1

1 year ago

2.3.28

1 year ago

2.3.27

1 year ago

2.3.29

1 year ago

2.3.24

1 year ago

2.3.23

1 year ago

2.3.26

1 year ago

2.3.25

1 year ago

2.3.20

2 years ago

2.3.22

1 year ago

2.3.21

1 year ago

2.3.19

2 years ago

2.3.18

2 years ago

2.3.17

2 years ago

2.3.16

2 years ago

2.3.13

2 years ago

2.3.12

2 years ago

2.3.15

2 years ago

2.3.14

2 years ago

2.2.55

2 years ago

2.2.53

2 years ago

2.2.54

2 years ago

2.2.51

2 years ago

2.2.52

2 years ago

2.2.50

2 years ago

2.3.0

2 years ago

2.3.2

2 years ago

2.3.1

2 years ago

2.3.4

2 years ago

2.3.3

2 years ago

2.3.6

2 years ago

2.3.5

2 years ago

2.3.8

2 years ago

2.3.7

2 years ago

2.3.9

2 years ago

2.2.48

2 years ago

2.2.49

2 years ago

2.2.46

2 years ago

2.2.47

2 years ago

2.2.44

2 years ago

2.2.45

2 years ago

2.2.42

2 years ago

2.2.43

2 years ago

2.3.11

2 years ago

2.3.10

2 years ago

2.2.39

2 years ago

2.2.37

2 years ago

2.2.38

2 years ago

2.2.35

2 years ago

2.2.36

2 years ago

2.2.33

2 years ago

2.2.34

2 years ago

2.2.32

2 years ago

2.2.40

2 years ago

2.2.41

2 years ago

2.2.28

2 years ago

2.2.29

2 years ago

2.2.26

2 years ago

2.2.27

2 years ago

2.2.31

2 years ago

2.2.30

2 years ago

2.2.17

2 years ago

2.2.18

2 years ago

2.2.15

2 years ago

2.2.16

2 years ago

2.2.19

2 years ago

2.2.24

2 years ago

2.2.25

2 years ago

2.2.22

2 years ago

2.2.23

2 years ago

2.2.20

2 years ago

2.2.21

2 years ago

2.2.13

2 years ago

2.2.14

2 years ago

2.2.12

2 years ago

2.2.11

2 years ago

2.2.10

2 years ago

2.2.9

2 years ago

2.2.8

2 years ago

2.2.7

2 years ago

2.2.6

2 years ago

2.2.5

2 years ago

2.2.4

2 years ago

2.2.3

2 years ago

2.2.2

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.16.1

2 years ago

1.16.0

2 years ago

1.15.1

2 years ago

1.15.0

2 years ago

1.14.1

2 years ago

1.14.0

2 years ago

1.13.3

2 years ago

1.13.2

2 years ago

1.13.1

2 years ago

1.13.0

2 years ago

1.12.0

2 years ago

1.11.0

2 years ago

1.10.1

2 years ago

1.10.0

2 years ago

1.9.0

2 years ago

1.8.1

2 years ago

1.8.0

2 years ago

1.7.0

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago