Socket
Socket
Sign inDemoInstall

@adrianbrs/vue3-highcharts

Package Overview
Dependencies
2
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @adrianbrs/vue3-highcharts

A simple, fast, Vue 3 component for rendering Highcharts.js Charts written using the composition API.


Version published
Weekly downloads
4
decreased by-20%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Vue 3 - Highcharts JS (SSR Support)

A simple, fast, Vue 3 component for rendering Highcharts.js Charts written using the composition API.

Demos https://smithalan92.github.io/vue3-highcharts/


Fork of smithalan92's project


Minimum Requirements

Vue@3.0.0 Highcharts@8.0.0 ( older versions may work but not tested )

Vue and Highcharts are not bundled with the module and need to be included in your projects dependencies.

Usage

Install with npm

npm i --save vue3-highcharts

You can register the component in 2 ways.

Register as a global component.

import { createApp } from 'vue';
import VueHighcharts from 'vue3-highcharts';

const app = createApp(..options);
app.use(VueHighcharts);

Register as a local component

import VueHighcharts from "vue3-highcharts";

export default {
  name: "MyChart",
  components: {
    VueHighcharts,
  },
};

Props

The following props can be passed to the component. Options is the only required one.

NameTypeRequiredDefaultNotes
typeStringno'chart'This should be the constructor type you'd use with highcharts. If you import the stock chat, you can pass 'stockChart' as this option for example.
optionsObjectyes-This should be a Highcharts chart options object
redrawOnUpdateBooleannotrueIf the chart should be redrawn when options update.
oneToOneUpdateBooleannofalseIf the certain collections should be updated one to one. See here.
animateOnUpdateBooleannotrueIf the redraw should be animated.

Events

The following events are emitted from the component. No data is provided with any event.

NameNotes
renderedEmitted when the chart has been rendered on the dom
updatedEmitted when the chart options have been updated and the chart has been updated
destroyedEmitted when the Highcharts chart instance has been destroyed ( happens when the component unmounts )


The Highcharts chart object is also exposed on the component instance as chart

A wrapper div is also created with a .vue-highcharts class around the actual chart.

Simple Example

<template>
  <vue-highcharts
    type="chart"
    :options="chartOptions"
    :redrawOnUpdate="true"
    :oneToOneUpdate="false"
    :animateOnUpdate="true"
    @rendered="onRender"
    @update="onUpdate"
    @destroy="onDestroy"
  />
</template>
<script>
import { ref } from 'vue';

export default {
  name: 'chart',
  setup() {
    const data = ref([1, 2, 3])
    const chartData = computed(() =>{
      return {
        series: [{
          name: 'Test Series',
          data: data.value,
        }],
      }
    });

    const onRender = () => {
      console.log('Chart rendered');
    };

    const onUpdate = () => {
      console.log('Chart updated');
    };

    const onDestroy = () => {
      console.log('Chart destroyed');
    };

    return {
      chartData,
      onRender,
      onUpdate,
      onDestroy,
    };
  }
}
</script>
<style>
.vue-highcharts {
  width: 100%;
}
</style>

Using Stock/Map charts

To use the stock map charts, you need to import and register them. For example, to use the map chart

import HighCharts from "highcharts";
import useMapCharts from "highcharts/modules/map";

useMapCharts(HighCharts);
<template> <vue-highcharts type="mapChart" :options="chartOptions" /></template>

Local Dev Issues.

Since Vue and Highcharts are not bundled with the module, you may need to add some webpack aliases.

For example, the following needs to be added when using vue-cli to vue.config.js

const path = require("path");
module.exports = {
  chainWebpack: (config) => {
    config.resolve.alias.set("vue$", path.join(__dirname, "node_modules/vue"));
    config.resolve.alias.set(
      "highcharts$",
      path.join(__dirname, "node_modules/highcharts")
    );
  },
};

License

See License.md

Keywords

FAQs

Last updated on 14 May 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc