GitHub - dash14/v-network-graph: An interactive network graph visualization component for Vue 3 (original) (raw)

v-network-graph

An interactive SVG based network-graph visualization component for Vue 3.

the logo of v-network-graph the logo of v-network-graph

Live examples

Version GitHub package.json dependency version License npm bundle size MadeWithVueJs.com shield

Features

Documentation

Installation

Install with npm

npm install v-network-graph

and setup in main.ts

// main.ts import { createApp } from "vue" import VNetworkGraph from "v-network-graph" import "v-network-graph/lib/style.css" import App from "./App.vue"

const app = createApp(App)

app.use(VNetworkGraph) app.mount("#app")

Installation on Nuxt 3 project

Add css to nuxt.config.ts

// nuxt.config.ts import { defineNuxtConfig } from "nuxt3"

// https://v3.nuxtjs.org/docs/directory-structure/nuxt.config export default defineNuxtConfig({ css: ["v-network-graph/lib/style.css"], })

Make the plugin to plugins/v-network-graph.ts

// plugins/v-network-graph.ts import { defineNuxtPlugin } from "#app" import VNetworkGraph from "v-network-graph"

export default defineNuxtPlugin(nuxtApp => { nuxtApp.vueApp.use(VNetworkGraph) })

Basic usage

For more examples, see here.

Motivation and Design Policy

The requirements for visualizing network graphs are various, including the design and user actions for each component such as nodes, edges, paths, etc. Many libraries have been made to flexibly achieve these numerous requirements. However, many of these libraries have been around since before Vue was launched, so there are not many libraries that can be used with the concept of reactive programming. This means that using these libraries together with Vue, you need to learn how to use the graph libraries as well as Vue, and also having to design the integration with Vue. These are probably a lot of efforts.

This component aims to make it easy to realize applications with these various requirements while keeping the simplicity and reactive programming style of Vue. Using the power of Vue (especially reactive system and two-way binding), we hope to help developers quickly visualize interactively manipulable network graphs with less code and lower learning costs.

v-network-graph was designed with the following policy:

With the above, we would like to contribute to helping application developers to focus on developing application-specific requirements for handling network graphs.

Roadmap to v1.0 ๐Ÿ“œ

Currently, working on internal refactoring, and implementing the following features.

These are planned to be released in phases, but since this is a personal project for dash14 and is ongoing on the side of other commercial work, I cannot give a detailed timeline.
Your support is especially encouraging!
I' d appreciate it if you could support this project with a GitHub starring, an issue/PR submission, a code contribution, a message of cheer, a sponsorship, or anything else!

Contributing

If you find any bugs and/or want to contribute, feel free to submit issues or pull requests.

License

Under the MIT license.
See LICENSE file for more details.

Support me ๐ŸŒŸ

I love to hear from people using it, giving me the motivation to keep working on this project.
If you find this library helpful, please consider giving it a star โญ on GitHub!

You may GitHub Sponsors orBuy Me a Coffee if you would like to show some support for this open-source project. It will be greatly appreciated!

"Github Sponsors"

"Buy Me A Coffee"