# vue2vis **Repository Path**: cqdx/vue2vis ## Basic Information - **Project Name**: vue2vis - **Description**: A Vuejs 2 adapter for Visjs - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-01-07 - **Last Updated**: 2024-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vue2vis > Vue2 component that helps with Visjs interaction

Build Status Coverage Status Software License Packagist Latest Version Issues

### Installation ``` npm install --save vue2vis ``` or ``` yarn add vue2vis ``` ## Usage Declare the component ``` javascript Vue.component('timeline', vue2vis.Timeline); ``` Add the component in the template. ```html
``` Add groups, items and options in your observed data or computed. ``` javascript new Vue({ el: '#app', data() { return { groups: [{ id: 0, content: 'Group 1' }], items: [{ id: 0, group: 0, start: new Date(), content: 'Item 1' }], options: { editable: true, } } }, }); ``` Add Visjs CSS ``` css @import "vue2vis/dist/vue2vis.css"; ``` Here is a basic working demo with item generation: [JS Fiddle Basic Demo](https://jsfiddle.net/alexkodo/ejdut8fm/) You can also create items or group labels as Vue Components: [JS Fiddle Item Vue Component Demo](https://jsfiddle.net/alexkodo/n978c58d/) ## Events ### Component Events By default all Vis events are emitted by your component. You can subscribe to a subset by passing an array in the prop `events` [Visjs event](http://visjs.org/docs/timeline/#Events). ```html
``` ### Data Events When you pass an Array of data object, it is converted internally as a DataSet. An event with the DataSet object will be fired at mounted. It's name will be prepend with the prop name (Ex: `items-mounted`, `groups-mounted`). You could use it to interact with the DataSet. All the [Visjs DataSet event](http://visjs.org/docs/data/dataset.html#Events) will be prepened the same fashion (`items-add`, `items-remove`, `items-update`). For example, pushing a new object to the `items` prop will fire a `items-add` event with the following payload: ```javascript { event: 'add', properties: { items: [7], }, senderId: null, } ``` #### Advanced You can also manage your own data bindings by passing your own DataSet or DataView instead of an Array. ``` javascript import { DataSet } from 'vue2vis'; new Vue({ el: '#app', data() { return { groups: new DataSet([{ id: 0, content: 'Group 1' }]), items: new DataSet([{ id: 0, group: 0, start: new Date(), content: 'Item 1' }]), options: { editable: true, } } }, }); ``` ## Visjs documentation Full reference of Item and Group formats, options properties and events: [Timeline](http://visjs.org/docs/timeline), [Network](http://visjs.org/docs/network), [Graph2d](http://visjs.org/docs/graph2d), [DataSet](http://visjs.org/docs/dataset), [DataView](http://visjs.org/docs/dataview) ## List of currently implemented modules - [x] Timeline - [x] Graph2d - [ ] Graph3d - [x] Network ## Change log Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently. ## Testing ``` bash $ npm run test ``` ## Contributing Please see [CONTRIBUTING](CONTRIBUTING.md) and [CONDUCT](CONDUCT.md) for details. ### Build Setup ``` bash # Once you have cloned this repo, install dependencies $ npm install # build for development and production with minification $ npm run build ``` ### Run demo locally ``` bash # Run demo at localhost:8080 $ npm link $ cd examples $ npm install $ npm link vue2vis # serve with hot reload at localhost:8080 $ npm run dev ``` Go to to see running examples NOTE: If you make changes to the library you should run 'npm run build' again in the root folder. The dev server should detect modification and reload the demo ## Security If you discover any security related issues, please email infocontact.alex@gmail.com instead of using the issue tracker. ## Credits - [Alex Couturon][link-author] - [João Menighin](https://github.com/Menighin) - [All Contributors][link-contributors] ## License The MIT License (MIT). Please see [License File](LICENSE.md) for more information. [link-author]: https://github.com/alexcode [link-contributors]: ../../contributors