MCPcopy Index your code
hub / github.com/ahmadsoe/ember-highcharts

github.com/ahmadsoe/ember-highcharts @v7.0.0-ember-highcharts

Chat with this repo
repository ↗ · DeepWiki ↗ · release v7.0.0-ember-highcharts ↗ · + Follow
70 symbols 140 edges 50 files 1 documented · 1% updated 14mo agov7.0.0-ember-highcharts · 2025-05-06★ 1409 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CI Ember Observer Score Code Climate npm version

ember-highcharts

A Highcharts, Highstock, and Highmaps component for Ember CLI.

Compatibility

  • Ember.js v3.28 or above
  • Ember CLI v3.28 or above

Legacy versions

  • If you need support for Ember < 3, use ember-highcharts < v1.2.0
  • If you need support for Ember < 2.12.0, use ember-highcharts < v1.0.0
  • If you need support for Ember < 1.13.0, use ember-highcharts v0.1.3

Installation

ember install ember-highcharts

Usage

This component takes in five arguments:

<HighCharts
  @mode={{this.mode}}
  @chartOptions={{this.chartOptions}}
  @content={{this.content}}
  @theme={{this.theme}}
  @callback={{this.callBackFunc}}
/>

mode

The mode argument is optional and it determines whether to use Highcharts, Highstock, or Highmaps. The possible values are:

Value Description
falsy value defaults to Highcharts mode
"StockChart" uses Highstock mode
"Map" uses Highmaps mode
"Gantt" uses Highcharts Gantt mode

chartOptions

The chartOptions argument is a generic object for setting different options with Highcharts/Highstock/Highmaps. Use this option to set things like the chart title and axis settings.

content

The content argument matches up with the series option in the Highcharts/Highstock/Highmaps API. Use this option to set the series data for your chart.

theme

The theme argument is optional and it allows you to pass in a Highcharts theme.

callback

The callback argument is optional and allows you to pass in a function that runs when the chart has finished loading (API).

Example Bar Chart

Here's an example of how to create a basic bar chart:

// component.js
import Component from '@glimmer/component';
import defaultTheme from '../themes/default-theme';

export default class BarBasic extends Component {
  chartOptions = {
    chart: {
      type: 'bar',
    },
    title: {
      text: 'Fruit Consumption',
    },
    xAxis: {
      categories: ['Apples', 'Bananas', 'Oranges'],
    },
    yAxis: {
      title: {
        text: 'Fruit eaten',
      },
    },
  };

  chartData = [
    {
      name: 'Jane',
      data: [1, 0, 4],
    },
    {
      name: 'John',
      data: [5, 7, 3],
    },
  ];

  theme = defaultTheme;
}
<HighCharts
  @chartOptions={{this.chartOptions}}
  @content={{this.chartData}}
  @theme={{this.theme}}
/>

Check out more chart examples in the test-app/app/components in this repo.

Configuration

Highstock, Highmaps, etc

We now use dynamic imports to import the Highcharts packages you need based on the mode argument passed.

Obtaining a Reference to the Chart Instance

The chart instance is exposed to the yielded content if used in block form:

<HighCharts
  @mode={{this.mode}}
  @chartOptions={{this.chartOptions}}
  @content={{this.content}}
  @theme={{this.theme}}
  as |chart|
>
  <MyCustomLegend @chart={{chart}}>
</HighCharts>

where <MyCustomLegend> is an example component that may wish to access the chart instance.

Contributing

See contributing guidelines.

Changelog

See CHANGELOG.md.

Licensing

Highcharts has its own seperate licensing agreement.

The ember-highcharts addon is released under the MIT license.

Credit

This add-on is built based on the gist and medium by @poteto

Extension points exported contracts — how you extend this code

HighChartsSignature (Interface)
(no doc)
ember-highcharts/src/components/high-charts.ts
Registry (Interface)
(no doc)
ember-highcharts/unpublished-development-types/index.d.ts
ModelRegistry (Interface)
(no doc)
test-app/types/ember-data/types/registries/model.d.ts

Core symbols most depended-on inside this repo

_preV12MaybeImport
called by 15
ember-highcharts/src/components/high-charts.ts
buildOptions
called by 4
ember-highcharts/src/utils/build-options.ts
getSeriesMap
called by 3
ember-highcharts/src/utils/chart-data.ts
getSeriesChanges
called by 3
ember-highcharts/src/utils/chart-data.ts
_webpackVsVite
called by 2
ember-highcharts/src/components/high-charts.ts
updateSeriesCount
called by 2
test-app/app/services/dynamic-chart.js
generateDArray
called by 2
test-app/tests/integration/components/high-charts-test.js
drawAfterRender
called by 1
ember-highcharts/src/components/high-charts.ts

Shape

Class 34
Method 25
Function 8
Interface 3

Languages

TypeScript100%

Modules by API surface

ember-highcharts/src/components/high-charts.ts17 symbols
test-app/app/services/dynamic-chart.js5 symbols
test-app/app/components/chart-line-interactive.js5 symbols
test-app/app/components/chart-highstock-interactive.js4 symbols
test-app/tests/helpers/index.js3 symbols
test-app/app/components/chart-waterfall.js3 symbols
test-app/app/components/chart-scatter.js3 symbols
test-app/app/components/chart-heat-map.js3 symbols
test-app/app/router.js2 symbols
test-app/app/components/chart-treegraph.js2 symbols
test-app/app/components/chart-solid-gauge.js2 symbols
test-app/app/components/chart-map-basic.js2 symbols

For agents

$ claude mcp add ember-highcharts \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page