├── .gitignore ├── .npmignore ├── .prettierrc.js ├── .travis.yml ├── CHANGELOG.md ├── README-vue3.md ├── README.md ├── babel.config.js ├── examples-vue3 ├── .gitignore ├── babel.config.js ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── jsc-vue-logo.svg │ └── resources │ │ ├── access-to-drinking-water-by-country.csv │ │ ├── laborForceUs.csv │ │ └── stepData17-18.csv ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── calendarHeatmap.vue │ │ ├── chartDash.vue │ │ ├── chartDataGrid.vue │ │ ├── circularColorBar.vue │ │ ├── circularGauge.vue │ │ ├── dataGrid.vue │ │ ├── interactiveLine.vue │ │ ├── liveData.vue │ │ ├── mapChoropleth.vue │ │ ├── masterDetail.vue │ │ ├── methodUpdate.vue │ │ ├── microchartFast.vue │ │ └── simpleLine.vue │ ├── main.ts │ └── shims-vue.d.ts ├── tsconfig.json └── vue.config.js ├── examples ├── .gitignore ├── babel.config.js ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── jsc-vue-logo.svg │ └── resources │ │ ├── access-to-drinking-water-by-country.csv │ │ ├── laborForceUs.csv │ │ └── stepData17-18.csv ├── src │ ├── App.vue │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── calendarHeatmap.vue │ │ ├── chartDash.vue │ │ ├── chartDataGrid.vue │ │ ├── circularColorBar.vue │ │ ├── circularGauge.vue │ │ ├── dataGrid.vue │ │ ├── interactiveLine.vue │ │ ├── liveData.vue │ │ ├── mapChoropleth.vue │ │ ├── masterDetail.vue │ │ ├── methodUpdate.vue │ │ ├── microchartFast.vue │ │ └── simpleLine.vue │ └── main.js └── vue.config.js ├── package-lock.json ├── package.json ├── scripts └── postinstall.js ├── src ├── assets │ └── logo.png ├── components │ ├── jscgrid.vue │ ├── jscharting.vue │ └── jsclabel.vue └── main.js ├── tests ├── jscgrid.test.js ├── jscharting.test.js └── jsclabel.test.js ├── types └── jscharting-vue.d.ts └── vue.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | /storage 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | 15 | # Editor directories and files 16 | .idea 17 | .vscode 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | *.sw? 23 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules/** 2 | /examples/** 3 | /examples-vue3/** 4 | /tests/ 5 | /.idea/* 6 | /tests/** 7 | /storage/** -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | trailingComma: "none", 3 | useTabs: true, 4 | semi: true, 5 | singleQuote: true 6 | }; -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: node -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [2.4.0] - 2023-3-1 4 | 5 | - Update JSCharting version to [v3.4.0](https://github.com/jscharting/jscharting-dist/blob/master/CHANGELOG.md#340---2023-2-14) 6 | 7 | ## [2.3.1] - 2022-4-28 8 | 9 | - Update JSCharting version to [v3.3.1](https://github.com/jscharting/jscharting-dist/blob/master/CHANGELOG.md#331---2022-4-28) 10 | 11 | ## [2.3.0] - 2022-4-6 12 | 13 | - Update JSCharting version to v3.3.0 14 | 15 | ## [2.2.0] - 2021-11-24 16 | 17 | - Update JSCharting version to v3.2.0 18 | 19 | ## [2.1.0] - 2021-08-27 20 | 21 | - Update JSCharting version to v3.1.0 22 | 23 | ## [2.0.0-beta.2] - 2021-05-07 24 | 25 | ### Changed 26 | - Adjusted grid and label props definitions 27 | - Sync definitions in jscharting-vue.d.ts 28 | - Tweak readme 29 | 30 | ### Added 31 | - Tests 32 | 33 | ## [2.0.0-beta] - 2021-04-13 34 | 35 | ### Breaking Change 36 | - The `callback` prop was removed and is now the `@rendered` event 37 | 38 | ### Changed 39 | - Revised Readme.md documentation 40 | - npm `start` script renamed to `serve` in examples 41 | - Update JSCharting version to v3.0.3 42 | - Revised all examples 43 | 44 | ### Added 45 | - Component Typings 46 | - @rendered event 47 | - Vue3 Support 48 | - Vue3 Examples 49 | - Vue3 Documentation 50 | - New Examples 51 | 52 | ## [1.2.2] - 2021-01-27 53 | 54 | ### Changed 55 | - Update JSCharting version to v3.0.2 56 | 57 | ## [1.2.1] - 2020-10-27 58 | 59 | ### Changed 60 | - Update JSCharting version to v3.0.1 61 | 62 | ## [1.2.0] - 2020-10-26 63 | 64 | ### Changed 65 | - Test against built files 66 | - Update JSCharting version to v3.0.0 67 | 68 | ## [1.1.0] - 2020-02-19 69 | 70 | ### Added 71 | - Initial plugin release. 72 | 73 | 74 | -------------------------------------------------------------------------------- /README-vue3.md: -------------------------------------------------------------------------------- 1 | 2 |

3 |
4 |
5 | JSCharting for Vue.js
6 | JavaScript data visualization for Vue.js 7 |

8 | 9 |

10 | Builds 11 | David 12 | npm version 13 | code style 14 | Twitter
15 |

16 | 17 |
18 | 19 | **JSCharting** is a JavaScript data visualization library offering seamless usage with Vue across all devices and platforms. Every JSCharting license includes a full suite of 150+ chart types including standards such as pie charts, line charts, donut and bar charts. In addition, advanced chart types including Gantt charts, JavaScript Org Charts, interactive charts for stock and finance, seamless grid and calendar charts, JavaScript maps, sparklines, and micro charts all for no additional charge. JSCharting has all the features you need and many you don't yet know you want. 20 | 21 | Example Charts: 22 | [Chart Types](https://jscharting.com/examples/chart-types/) 23 | | [Feature Examples](https://jscharting.com/examples/chart-features/) 24 | 25 | # Official JSCharting plugin for Vue.js 26 | A Vue2 and Vue3 wrapper to use [JSCharting](https://jscharting.com/) charting library as a Vue component. 27 | 28 | ### This documentation is for Vue3. For Vue2, [click here](README.md). 29 | 30 | ## Table of Contents 31 | 32 | 1. [Install](#install) 33 | 1. [Run Examples](#run-examples) 34 | 2. [Usage](#usage) 35 | 1. [Simple Example](#simple-example) 36 | 2. [JSCharting Component Options](#jscharting-component-options) 37 | 3. [Updating Charts](#updating-charts) 38 | 3. [Chart resources](#chart-resources) 39 | 4. [Getting a chart reference](#getting-a-chart-reference) 40 | 5. [JSCLabel Component](#jsclabel-component) 41 | 6. [JSCGrid Component](#jscgrid-component) 42 | 43 | 44 | 45 | ### Install 46 | 47 | Install the jscharting-vue chart component. 48 | 49 | ```console 50 | npm i -D jscharting-vue 51 | ``` 52 | 53 | or 54 | 55 | ```console 56 | yarn add jscharting-vue 57 | ``` 58 | 59 | 60 | #### Run Examples 61 | Clone the [Github repo](https://github.com/jscharting/jscharting-vue) locally. Example charts are located in the `/examples-vue3` folder. 62 | 63 | To view the examples you can run the webpack dev server: localhost:3333 64 | 65 | ```console 66 | npm run serve-examples-vue3 67 | ``` 68 | 69 | Or build the project manually. 70 | 71 | ```console 72 | npm run build-examples-vue3 73 | ``` 74 | 75 | 76 | ### Usage 77 | 78 | #### Simple example 79 | This example shows how you can use the `JSCharting` component of the `jscharting-vue` module to make a column chart. 80 | 81 | 82 | ```html 83 | 86 | 87 | 113 | ``` 114 | 115 | Notice that you can use `JSCChartConfig` type definitions for chart configuration properties. 116 | ```typescript 117 | import { JSCChartConfig } from 'jscharting'; // -> JSCChartConfig 118 | // OR 119 | import JSCharting, { JSC } from 'jscharting-vue'; // -> JSC.JSCChartConfig 120 | ``` 121 | 122 | 123 | #### JSCharting Component Options 124 | These customizable options are available with the `JSCharting` component. 125 | 126 | | Parameter | Type | Description | 127 | | --------- | :----: | ----------- | 128 | | `:options` | object | JSCharting chart configuration object. Please refer to the [API documentation](https://jscharting.com/documentation/#node=Home.API.json.Chart). | 129 | | `:mutable` | boolean | (Optional) True by default. When set to `false`, a new instance of the chart is created when chart options change. Otherwise, updated options are passed to the existing chart instance `chart.options()` function. 130 | | `:ignoreStateUpdate` | boolean | (Optional) `false` by default. When `true`, the chart will ignore updates applied when reactive property is changed. This is useful when you want to update the chart directly. | 131 | | `@rendered` | event | (Optional) Event triggered when the chart is finished rendering. The first argument of the event handler is a reference to the created chart.| 132 | 133 | 134 | #### Updating charts 135 | 136 | There are a couple ways to update live charts. 137 | 138 | ##### Using reactive properties 139 | 140 | Updating reactive chart options properties affects the chart in two ways, depending on the option `mutable`. 141 | When the component option `mutable` is true, options are passed to the chart using chart.options(). 142 | When `mutable` is false, changing options will reset the chart with a new instance. 143 | 144 | Charts with `mutable == true` option perform better and allow charts to animate changes. Only new options that are changing 145 | need to be passed to the chart. You can animate chart updates using this more. 146 | 147 | Using `mutable == false` is sometimes useful when a chart must be drastically modified. In this mode, all options should be 148 | available for a new chart instance to use. 149 | 150 | See [animating series and points](https://jscharting.com/tutorials/types/js-series-point-animation-chart/) for more 151 | information. 152 | 153 | ```html 154 | 160 | 161 | 212 | ``` 213 | 214 | ##### Updating chart directly 215 | 216 | JSCharting has a rich API for direct interaction with chart elements programmatically. This approach is more 217 | flexible and can update the chart more efficiently when performance is a priority. Charts can also 218 | be decoupled from `data` updates and managed independently. 219 | 220 | Set the `ignoreStateUpdate` option to true to prevent reactive chart properties from affecting the chart itself. 221 | 222 | See [getting a chart reference](#getting-a-chart-reference). Code to get the chart instance inside the `setup()` function 223 | will look something like this. 224 | 225 | ```js 226 | const chart = this.myChart.value?.instance as JSC.Chart; 227 | ``` 228 | 229 | Once a `chart` instance reference is available, you can update chart options as needed with code such as: 230 | 231 | ```js 232 | chart.series().points(p => p.y > 50).options({ color: "red" }); 233 | ``` 234 | 235 | This line will make all points on a chart with y values greater than 50 red. Another example: 236 | 237 | ```js 238 | chart.series(0).points(0).options({ y: 100 }); 239 | ``` 240 | 241 | This example updates the "Purchases" series with new random point values. 242 | 243 | 244 | ```vue 245 | 251 | 252 | 300 | ``` 301 | 302 | ### Chart resources 303 | The JSCharting library includes resources (modules, mapping data, polyfills, icons library) that load automatically 304 | when they are needed. The `examples-vue3/` webpack [vue.config.js](examples-vue3/vue.config.js) configuration copies 305 | these resources to the `./dist/assets/jscharting` folder during built. 306 | 307 | The `examples-vue3/src/App.vue` file calls the `JSC.defaults()` function to set `baseUrl` option 308 | with this path globally in its constructor. All subsequent charts will be aware of the location of these resources. 309 | 310 | ```js 311 | import { JSC } from 'jscharting-vue'; 312 | JSC.defaults({ baseUrl: 'dist/assets/jscharting', debug:true }); 313 | ``` 314 | 315 | **Note:** If the chart does not find the resources path, it will download them from a CDN. 316 | Setting `debug:true` in the `JSC.defaults()` function during development is recommended as it will 317 | alert you when the CDN fallback is used. It is recommended to use a local copy of resources in production. 318 | 319 | ### Getting a chart reference 320 | 321 | You can get a chart instance and use it within the `setup()` function using the `ref` attribute on 322 | the tag: 323 | 324 | ```vue 325 | 328 | 329 | 371 | ``` 372 | 373 | You can also store it when the chart `@rendered` event is executed. 374 | 375 | ```vue 376 | 380 | 381 | 406 | ``` 407 | 408 | ### JSCLabel Component 409 | This plugin also contains an implementation of the `JSCLabel` component for vue. 410 | You can use it to create very efficient micro chart SVG images in your vue projects. 411 | Here's a simple example. 412 | 413 | ```html 414 | 417 | 418 | 434 | ``` 435 | 436 | The [Microchart Fast](examples-vue3/components/microchartFast.vue) example demonstrates updating a microchart using the 437 | JSCLabel component quickly. 438 | 439 | See the [microcharts tutorial](https://jscharting.com/tutorials/types/js-microcharts/) for configuration 440 | string syntax and more information. 441 | 442 | ### JSCGrid Component 443 | The `JSCGrid` data grid component is also included. You can use it to create data grids from JSON arrays. 444 | Here's a data grid example. 445 | 446 | ```html 447 | 450 | 451 | 479 | ``` 480 | 481 | The available options for the data grid component are. 482 | 483 | | Parameter | Type | Description | 484 | | --------- | :----: | ----------- | 485 | | `:options` | object | JSCGrid configuration object. Please refer to the [API documentation](https://jscharting.com/documentation/#node=Home.API.json.Types.grid). | 486 | | `:mutable` | boolean | (Optional) When set to true, `grid.options()` is called with the updated props instead of recreating the grid instance. 487 | | `:className` | string | (Optional) Applies the class name to the grid container div element. It allows controlling grid size and layout with external CSS. | 488 | | `@rendered` | event | Triggered when the grid is finished rendering. The first argument of the event handler is a reference to the created grid.| 489 | 490 | Similar to the chart, you can import `JSCGridConfig` typings for grid options with 491 | 492 | ```typescript 493 | import { JSCGridConfig } from 'jscharting'; // -> JSCGridConfig 494 | // OR 495 | import JSCharting, { JSC } from 'jscharting-vue'; // -> JSC.JSCGridConfig 496 | ``` 497 | 498 | See the [data grid tutorial](https://jscharting.com/tutorials/types/js-data-grid/) for configuration 499 | syntax and more information. 500 | 501 | 502 | 503 | 504 | 505 | 506 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 |
4 |
5 | JSCharting for Vue.js
6 | JavaScript data visualization for Vue.js 7 |

8 | 9 |

10 | Builds 11 | David 12 | npm version 13 | code style 14 | Twitter
15 |

16 | 17 |
18 | 19 | **JSCharting** is a JavaScript data visualization library offering seamless usage with Vue across all devices and platforms. Every JSCharting license includes a full suite of 150+ chart types including standards such as pie charts, line charts, donut and bar charts. In addition, advanced chart types including Gantt charts, JavaScript Org Charts, interactive charts for stock and finance, seamless grid and calendar charts, JavaScript maps, sparklines, and micro charts all for no additional charge. JSCharting has all the features you need and many you don't yet know you want. 20 | 21 | Example Charts: 22 | [Chart Types](https://jscharting.com/examples/chart-types/) 23 | | [Feature Examples](https://jscharting.com/examples/chart-features/) 24 | 25 | # Official JSCharting plugin for Vue.js 26 | A Vue2 and Vue3 wrapper to use [JSCharting](https://jscharting.com/) charting library as a Vue component. 27 | 28 | ### This documentation is for Vue 2.x and earlier. For Vue3, [click here](README-vue3.md). 29 | 30 | ## Table of Contents 31 | 32 | 1. [Install](#install) 33 | 1. [Run Examples](#run-examples) 34 | 2. [Usage](#usage) 35 | 1. [Simple Example](#simple-example) 36 | 2. [JSCharting Component Options](#jscharting-component-options) 37 | 3. [Typescript Typings](#typescript-typings) 38 | 4. [Updating Charts](#updating-charts) 39 | 3. [Chart resources](#chart-resources) 40 | 4. [Getting a chart reference](#getting-a-chart-reference) 41 | 5. [JSCLabel Component](#jsclabel-component) 42 | 6. [JSCGrid Component](#jscgrid-component) 43 | 44 | 45 | 46 | ### Install 47 | 48 | Install the jscharting-vue chart component. 49 | 50 | ```console 51 | npm i -D jscharting-vue 52 | ``` 53 | 54 | or 55 | 56 | ```console 57 | yarn add jscharting-vue 58 | ``` 59 | 60 | 61 | #### Run Examples 62 | Clone the [Github repo](https://github.com/jscharting/jscharting-vue) locally. Example charts are located in the `/examples` folder. 63 | 64 | To view the examples you can run the webpack dev server: localhost:8080 65 | 66 | ```console 67 | npm run serve-examples 68 | ``` 69 | 70 | Or build the project manually. 71 | 72 | ```console 73 | npm run build-examples 74 | ``` 75 | 76 | 77 | ### Usage 78 | 79 | #### Simple example 80 | This example shows how you can use the `JSCharting` component of the `jscharting-vue` module to make a column chart. 81 | 82 | ```html 83 | 86 | 87 | 113 | 114 | 119 | 120 | ``` 121 | 122 | #### JSCharting Component Options 123 | These customizable options are available with the `JSCharting` component. 124 | 125 | | Parameter | Type | Description | 126 | | --------- | :----: | ----------- | 127 | | `:options` | object | JSCharting chart configuration object. Please refer to the [API documentation](https://jscharting.com/documentation/#node=Home.API.json.Chart). | 128 | | `:mutable` | boolean | (Optional) When set to true, `chart.options()` is called with the updated props instead of recreating the chart object. 129 | | `:ignoreStateUpdate` | boolean | (Optional) `false` by default. When `true`, the chart will ignore updates applied when reactive property is changed. This is useful when you want to update the chart directly. | 130 | | `@rendered` | event | (Optional) Event triggered when the chart is finished rendering. The first argument of the event handler is a reference to the created chart.| 131 | 132 | #### Typescript Typings 133 | 134 | You can use type definitions for chart configuration properties when using typescript. Import the types using: 135 | 136 | ```typescript 137 | import { JSCChartConfig } from 'jscharting'; // -> JSCChartConfig 138 | // OR 139 | import JSCharting, { JSC } from 'jscharting-vue'; // -> JSC.JSCChartConfig 140 | ``` 141 | 142 | Here's an example using types. 143 | 144 | ```typescript 145 | 150 | 151 | 186 | ``` 187 | 188 | #### Updating charts 189 | 190 | There are a couple ways to update live charts. 191 | 192 | ##### Using reactive properties 193 | 194 | Updating reactive `data` properties affects the chart in two ways, depending on the option `mutable`. When the component option `mutable` is true, only new options are passed to the chart using chart.options(). When `mutable` is false, changing data will reset the chart with a new instance. 195 | 196 | Charts with `mutable == true` option perform better and allow charts to animate changes. Only new options that are changing 197 | need to be passed to the chart. You can animate chart updates using this more. 198 | 199 | Using `mutable == false` is sometimes useful when a chart must be drastically modified. In this mode, all options should be 200 | available for a new chart instance to use. 201 | 202 | See [animating series and points](https://jscharting.com/tutorials/types/js-series-point-animation-chart/) for more information. 203 | 204 | ```html 205 | 211 | 212 | 253 | ``` 254 | 255 | ##### Updating chart directly 256 | 257 | JSCharting has a rich API for direct interaction with chart elements programmatically. This approach is more flexible and can 258 | update the chart more efficiently when performance is a priority. Charts can also be decoupled from `data` updates 259 | and managed independently. 260 | 261 | Set the `ignoreStateUpdate` option to true when you want to use reactive properties for other purposes but not affect the chart itself. 262 | 263 | See [getting a chart reference](#getting-a-chart-reference). Once a chart reference is available, you can update chart options as needed with code such as: 264 | 265 | ```js 266 | this.$refs.chart.instance.series().points(p => p.y > 50).options({ color: "red" }); 267 | ``` 268 | 269 | This line will make all points on a chart with y values greater than 50 red. Another example: 270 | 271 | ```js 272 | this.$refs.chart.instance.series(0).points(0).options({ y: 100 }); 273 | ``` 274 | 275 | This updates the "Purchases" series with new random points. 276 | 277 | 278 | ```html 279 | 285 | 286 | 323 | ``` 324 | 325 | ### Chart resources 326 | The JSCharting library includes resources (modules, mapping data, polyfills, icons library) that load automatically 327 | when they are needed. The `examples/` webpack [vue.config.js](examples/vue.config.js) configuration copies 328 | these resources to the `./dist/assets/jscharting` folder during built. 329 | 330 | The `examples/src/App.vue` file calls the `JSC.defaults()` function to set `baseUrl` option 331 | with this path globally in its constructor. All subsequent charts will be aware of the location of these resources. 332 | 333 | ```js 334 | import { JSC } from 'jscharting-vue'; 335 | JSC.defaults({ baseUrl: 'dist/assets/jscharting', debug:true }); 336 | ``` 337 | 338 | **Note:** If the chart does not find the resources path, it will download them from a CDN. 339 | Setting `debug:true` in the `JSC.defaults()` function during development is recommended as it will alert you when the 340 | CDN fallback is used. It is recommended to use a local copy of resources in production. 341 | 342 | ### Getting a chart reference 343 | 344 | You can get a chart instance using the `ref` attribute: 345 | ```html 346 | 349 | 350 | 364 | ``` 365 | 366 | You can also store it when the chart `@rendered` event is executed. 367 | 368 | ```html 369 | 372 | 373 | 397 | ``` 398 | 399 | 400 | ### JSCLabel Component 401 | This plugin also contains an implementation of the `JSCLabel` component for vue. 402 | You can use it to create very efficient micro chart SVG images in your vue projects. 403 | Here's a simple example. 404 | 405 | ```html 406 | 409 | 410 | 426 | ``` 427 | 428 | The [Microchart Fast](examples/components/microchartFast.vue) example demonstrates updating a microchart using the 429 | JSCLabel component quickly. 430 | 431 | See the [microcharts tutorial](https://jscharting.com/tutorials/types/js-microcharts/) for configuration 432 | string syntax and more information. 433 | 434 | ### JSCGrid Component 435 | The `JSCGrid` data grid component is also included. You can use it to create data grids from JSON arrays. 436 | Here's a data grid example. 437 | 438 | ```html 439 | 442 | 443 | 471 | ``` 472 | 473 | The available options for the data grid component are. 474 | 475 | | Parameter | Type | Description | 476 | | --------- | :----: | ----------- | 477 | | `:options` | object | JSCGrid configuration object. Please refer to the [API documentation](https://jscharting.com/documentation/#node=Home.API.json.Types.grid). | 478 | | `:mutable` | boolean | (Optional) When set to true, `grid.options()` is called with the updated props instead of recreating the grid instance. 479 | | `@rendered` | event | Triggered when the grid is finished rendering. The first argument of the event handler is a reference to the created grid.| 480 | 481 | ```typescript 482 | import { JSCGridConfig } from 'jscharting'; // -> JSCGridConfig 483 | // OR 484 | import JSCharting, { JSC } from 'jscharting-vue'; // -> JSC.JSCGridConfig 485 | ``` 486 | 487 | 488 | See the [data grid tutorial](https://jscharting.com/tutorials/types/js-data-grid/) for configuration 489 | syntax and more information. 490 | 491 | 492 | 493 | 494 | 495 | 496 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['@vue/cli-plugin-babel/preset'] 3 | }; 4 | -------------------------------------------------------------------------------- /examples-vue3/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw? 22 | 23 | /public/assets -------------------------------------------------------------------------------- /examples-vue3/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /examples-vue3/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jscharting-vue3-examples", 3 | "version": "1.4.0", 4 | "private": true, 5 | "description": "Examples using the JSCharting plugin for Vue3.", 6 | "scripts": { 7 | "serve": "vue-cli-service serve --port=3333", 8 | "build": "vue-cli-service build" 9 | }, 10 | "author": "JSCharting (https://jscharting.com/support.htm)", 11 | "bugs": { 12 | "email": "support@jscharting.com" 13 | }, 14 | "license": "jscharting.com/store/", 15 | "dependencies": { 16 | "core-js": "^3.10.0", 17 | "jscharting-vue": "2.4.0", 18 | "vue": ">=3.0.5" 19 | }, 20 | "devDependencies": { 21 | "@vue/cli-plugin-babel": "^4.5.12", 22 | "@vue/cli-plugin-typescript": "^4.5.12", 23 | "@vue/cli-service": "^4.5.12", 24 | "@vue/compiler-sfc": "^3.0.11", 25 | "typescript": "~3.9.3" 26 | }, 27 | "peerDependencies": { 28 | "vue": ">=3.0.5" 29 | }, 30 | "browserslist": [ 31 | "> 1%", 32 | "last 2 versions" 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /examples-vue3/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jscharting/jscharting-vue/9c1f4a8ba8e0e8d3c15c084bad65900468da87fa/examples-vue3/public/favicon.ico -------------------------------------------------------------------------------- /examples-vue3/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | JavaScript chart plugin for Vue.js | JSCharting 9 | 10 | 11 | 17 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples-vue3/public/jsc-vue-logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples-vue3/public/resources/access-to-drinking-water-by-country.csv: -------------------------------------------------------------------------------- 1 | country_name,country_code,value 2 | Afghanistan,AF,67.06462342 3 | Albania,AL,91.03922767 4 | Algeria,DZ,93.55588814 5 | Andorra,AD,99.99999628 6 | Angola,AO,55.84290487 7 | Antigua and Barb.,AG,96.73918628 8 | Argentina,AR,99.07837465 9 | Armenia,AM,99.91337654 10 | Aruba,AW,97.86902338 11 | Australia,AU,99.9699356 12 | Austria,AT,100 13 | Azerbaijan,AZ,91.38573994 14 | Bahamas,BS,98.8869605 15 | Bahrain,BH,100 16 | Bangladesh,BD,97.01600557 17 | Barbados,BB,98.49444758 18 | Belarus,BY,96.48397119 19 | Belgium,BE,100 20 | Belize,BZ,97.99257979 21 | Benin,BJ,66.41472534 22 | Bermuda,BM,99.90314002 23 | Bhutan,BT,97.23338334 24 | Bolivia,BO,92.84873518 25 | Bosnia and Herz.,BA,96.14235609 26 | Botswana,BW,90.33771336 27 | Brazil,BR,98.19339267 28 | British Virgin Is.,VG,99.86438356 29 | Brunei,BN,99.90000909 30 | Bulgaria,BG,99.10834282 31 | Burkina Faso,BF,47.88812734 32 | Burundi,BI,60.83054892 33 | Cambodia,KH,78.51065693 34 | Cameroon,CM,60.38486395 35 | Canada,CA,99.43624408 36 | Cape Verde,CV,87.08320801 37 | Cayman Is.,KY,96.125 38 | Central African Rep.,CF,46.33375843 39 | Chad,TD,38.70059943 40 | Chile,CL,99.8327912 41 | China,CN,92.84613551 42 | Colombia,CO,97.30010961 43 | Comoros,KM,80.16751687 44 | Congo,CG,73.21776097 45 | Costa Rica,CR,99.70151391 46 | Côte d'Ivoire,CI,72.86894644 47 | Croatia,HR,99.58666656 48 | Cuba,CU,95.32758231 49 | Curaçao,CW,99.49775185 50 | Cyprus,CY,99.61328615 51 | Czech Rep.,CZ,99.8802588 52 | Dem. Rep. Congo,CD,43.24332204 53 | Dem. Rep. Korea,KP,94.51245282 54 | Denmark,DK,99.99999894 55 | Djibouti,DJ,75.63230768 56 | Dominica,DM,96.5 57 | Dominican Rep.,DO,96.69022475 58 | Ecuador,EC,93.99453654 59 | Egypt,EG,99.10573046 60 | El Salvador,SV,97.38837497 61 | Eq. Guinea,GQ,64.66581781 62 | Eritrea,ER,51.84971842 63 | Estonia,EE,99.71282684 64 | Ethiopia,ET,41.05995213 65 | Fiji,FJ,93.79091928 66 | Finland,FI,100 67 | France,FR,100 68 | Gabon,GA,85.77100366 69 | Gambia,GM,77.99156682 70 | Georgia,GE,98.39443935 71 | Germany,DE,100 72 | Ghana,GH,81.45338968 73 | Greece,GR,100 74 | Greenland,GL,99.99999747 75 | Grenada,GD,95.62865044 76 | Guam,GU,99.6952 77 | Guatemala,GT,94.19058074 78 | Guinea,GN,61.89872308 79 | Guinea-Bissau,GW,66.63441423 80 | Guyana,GY,95.53974768 81 | Haiti,HT,65.46682593 82 | Honduras,HN,94.82710944 83 | Hong Kong,HK,100 84 | Hungary,HU,99.99999749 85 | Iceland,IS,99.99999943 86 | India,IN,92.67464257 87 | Indonesia,ID,89.34401223 88 | Iran,IR,95.24454488 89 | Iraq,IQ,96.53347833 90 | Ireland,IE,97.39454461 91 | Isle of Man,IM,99.075 92 | Israel,IL,100 93 | Italy,IT,99.44273388 94 | Jamaica,JM,90.64843618 95 | Japan,JP,99.01020833 96 | Jordan,JO,98.93722265 97 | Kazakhstan,KZ,95.62750722 98 | Kenya,KE,58.91633339 99 | Korea,KR,99.787655 100 | Kuwait,KW,100 101 | Kyrgyzstan,KG,87.4559029 102 | Lao PDR,LA,82.06189686 103 | Latvia,LV,98.62618237 104 | Lebanon,LB,92.6 105 | Lesotho,LS,68.64993758 106 | Liberia,LR,72.94803095 107 | Libya,LY,98.52894737 108 | Liechtenstein,LI,100 109 | Lithuania,LT,97.5420681 110 | Luxembourg,LU,99.88960319 111 | Macao,MO,100 112 | Macedonia,MK,93.14146285 113 | Madagascar,MG,54.40398164 114 | Malawi,MW,68.83187676 115 | Malaysia,MY,96.69593891 116 | Mali,ML,78.26082958 117 | Malta,MT,100 118 | Mauritania,MR,70.69618765 119 | Mexico,MX,99.31821889 120 | Moldova,MD,89.05565265 121 | Monaco,MC,100 122 | Mongolia,MN,83.31311501 123 | Montenegro,ME,97.04205011 124 | Morocco,MA,86.77851266 125 | Mozambique,MZ,55.69397562 126 | Myanmar,MM,81.77404853 127 | Namibia,NA,82.54109887 128 | Nauru,NR,99.48493442 129 | Nepal,NP,88.81224952 130 | Netherlands,NL,99.99999928 131 | New Caledonia,NC,99.32859759 132 | New Zealand,NZ,100 133 | Nicaragua,NI,81.52476354 134 | Niger,NE,50.27306506 135 | Nigeria,NG,71.3766307 136 | Norway,NO,100 137 | Oman,OM,91.93807842 138 | Pakistan,PK,91.46545073 139 | Panama,PA,96.38241895 140 | Papua New Guinea,PG,41.32704942 141 | Paraguay,PY,99.61019773 142 | Peru,PE,91.12787097 143 | Philippines,PH,93.56837604 144 | Poland,PL,99.72468254 145 | Portugal,PT,99.90766021 146 | Puerto Rico,PR,97.12479066 147 | Qatar,QA,99.56810194 148 | Romania,RO,100 149 | Russia,RU,97.0899112 150 | Rwanda,RW,57.71327853 151 | S. Sudan,SS,40.67601215 152 | Saint Lucia,LC,98.16200142 153 | Samoa,WS,97.38259524 154 | San Marino,SM,100 155 | São Tomé and Principe,ST,84.29015993 156 | Saudi Arabia,SA,100 157 | Senegal,SN,80.67785387 158 | Serbia,RS,85.52211629 159 | Sierra Leone,SL,60.80698694 160 | Singapore,SG,100 161 | Sint Maarten,SX,95.07411955 162 | Slovakia,SK,99.78773411 163 | Slovenia,SI,99.53502551 164 | Solomon Is.,SB,67.77595721 165 | Somalia,SO,52.43618907 166 | South Africa,ZA,92.67870194 167 | Spain,ES,99.92627831 168 | Sri Lanka,LK,89.41629243 169 | St. Vin. and Gren.,VC,95.1452199 170 | Sudan,SD,60.26709116 171 | Suriname,SR,95.42474497 172 | Sweden,SE,100 173 | Switzerland,CH,100 174 | Syria,SY,97.21650621 175 | Tajikistan,TJ,81.1962748 176 | Tanzania,TZ,56.72645032 177 | Thailand,TH,99.93071158 178 | Timor-Leste,TP,78.34386574 179 | Togo,TG,65.12884019 180 | Tonga,TO,99.90682775 181 | Trinidad and Tobago,TT,98.18496206 182 | Tunisia,TN,96.25470364 183 | Turkey,TR,98.87571815 184 | Turkmenistan,TM,98.81432798 185 | Turks and Caicos Is.,TC,94.31818182 186 | U.S. Virgin Is.,VI,98.71826738 187 | Uganda,UG,49.10403239 188 | Ukraine,UA,93.79082011 189 | United Arab Emirates,AE,98.04550656 190 | United Kingdom,GB,100 191 | United States,US,99.26919207 192 | Uruguay,UY,99.4023635 193 | Uzbekistan,UZ,97.83345271 194 | Vanuatu,VU,91.25680395 195 | Venezuela,VE,95.72371132 196 | Vietnam,VN,94.71880561 197 | Yemen,YE,63.47347434 198 | Zambia,ZM,59.96375651 199 | Zimbabwe,ZW,64.0512297 -------------------------------------------------------------------------------- /examples-vue3/public/resources/stepData17-18.csv: -------------------------------------------------------------------------------- 1 | Date,Actual,Goal 2 | 1/1/2017,, 3 | 1/2/2017,, 4 | 1/3/2017,1500,7500 5 | 1/4/2017,3850,7125 6 | 1/5/2017,3540,6768 7 | 1/6/2017,2712,6429 8 | 1/7/2017,2511,6429 9 | 1/8/2017,1262,6107 10 | 1/9/2017,2099,5801 11 | 1/10/2017,2579,5510 12 | 1/11/2017,1572,5234 13 | 1/12/2017,1488,4972 14 | 1/13/2017,2677,4947 15 | 1/14/2017,1057,4922 16 | 1/15/2017,1552,4897 17 | 1/16/2017,2249,4872 18 | 1/17/2017,1180,4847 19 | 1/18/2017,1790,4822 20 | 1/19/2017,2156,4797 21 | 1/20/2017,2128,4773 22 | 1/21/2017,8531,4749 23 | 1/22/2017,1333,5033 24 | 1/23/2017,1580,4848 25 | 1/24/2017,2283,4823 26 | 1/25/2017,661,4798 27 | 1/26/2017,3373,4774 28 | 1/27/2017,2199,4750 29 | 1/28/2017,1307,4726 30 | 1/29/2017,2276,4702 31 | 1/30/2017,2011,4678 32 | 1/31/2017,1928,4654 33 | 2/1/2017,2003,4630 34 | 2/2/2017,3178,4606 35 | 2/3/2017,1763,4582 36 | 2/4/2017,3046,4559 37 | 2/5/2017,2120,4536 38 | 2/6/2017,4585,4513 39 | 2/7/2017,3767,4535 40 | 2/8/2017,2510,4512 41 | 2/9/2017,3116,4489 42 | 2/10/2017,2498,4466 43 | 2/11/2017,3692,4443 44 | 2/12/2017,3306,4420 45 | 2/13/2017,1297,4397 46 | 2/14/2017,2196,4375 47 | 2/15/2017,4167,4353 48 | 2/16/2017,3518,4331 49 | 2/17/2017,1894,4309 50 | 2/18/2017,3215,4287 51 | 2/19/2017,3421,4265 52 | 2/20/2017,3070,4243 53 | 2/21/2017,3549,4221 54 | 2/22/2017,2750,4199 55 | 2/23/2017,2379,4178 56 | 2/24/2017,351,4157 57 | 2/25/2017,9481,4157 58 | 2/26/2017,4538,4406 59 | 2/27/2017,2548,4439 60 | 2/28/2017,3152,4416 61 | 3/1/2017,2380,4393 62 | 3/2/2017,2033,4371 63 | 3/3/2017,1983,4349 64 | 3/4/2017,13,4327 65 | 3/5/2017,0,4327 66 | 3/6/2017,2735,4327 67 | 3/7/2017,2383,4305 68 | 3/8/2017,3053,4283 69 | 3/9/2017,4784,4261 70 | 3/10/2017,3795,4391 71 | 3/11/2017,433,4369 72 | 3/12/2017,469,4369 73 | 3/13/2017,1623,4347 74 | 3/14/2017,315,4325 75 | 3/15/2017,1861,4325 76 | 3/16/2017,2095,4303 77 | 3/17/2017,1362,4281 78 | 3/18/2017,2928,4259 79 | 3/19/2017,1897,4237 80 | 3/20/2017,2112,4215 81 | 3/21/2017,4625,4193 82 | 3/22/2017,2419,4301 83 | 3/23/2017,590,4279 84 | 3/24/2017,1015,4279 85 | 3/25/2017,2660,4257 86 | 3/26/2017,3005,4235 87 | 3/27/2017,3526,4213 88 | 3/28/2017,3773,4191 89 | 3/29/2017,2503,4170 90 | 3/30/2017,3481,4149 91 | 3/31/2017,2333,4128 92 | 4/1/2017,50,4107 93 | 4/2/2017,1240,4107 94 | 4/3/2017,3503,4086 95 | 4/4/2017,3663,4065 96 | 4/5/2017,2750,4044 97 | 4/6/2017,2803,4023 98 | 4/7/2017,2535,4002 99 | 4/8/2017,2493,3981 100 | 4/9/2017,3901,3961 101 | 4/10/2017,973,3941 102 | 4/11/2017,5842,3921 103 | 4/12/2017,2114,4156 104 | 4/13/2017,2219,4135 105 | 4/14/2017,4411,4114 106 | 4/15/2017,2253,4188 107 | 4/16/2017,2388,4167 108 | 4/17/2017,2934,4146 109 | 4/18/2017,4269,4125 110 | 4/19/2017,4081,4161 111 | 4/20/2017,2321,4157 112 | 4/21/2017,2849,4136 113 | 4/22/2017,2074,4115 114 | 4/23/2017,2634,4094 115 | 4/24/2017,4255,4073 116 | 4/25/2017,3343,4118 117 | 4/26/2017,4747,4097 118 | 4/27/2017,2484,4259 119 | 4/28/2017,2680,4237 120 | 4/29/2017,2275,4215 121 | 4/30/2017,2158,4193 122 | 5/1/2017,2023,4172 123 | 5/2/2017,2602,4151 124 | 5/3/2017,6568,4130 125 | 5/4/2017,2366,4377 126 | 5/5/2017,2286,4355 127 | 5/6/2017,1670,4333 128 | 5/7/2017,3172,4311 129 | 5/8/2017,6373,4289 130 | 5/9/2017,1381,4546 131 | 5/10/2017,1861,4523 132 | 5/11/2017,2240,4500 133 | 5/12/2017,2916,4477 134 | 5/13/2017,2263,4454 135 | 5/14/2017,2662,4431 136 | 5/15/2017,1690,4408 137 | 5/16/2017,3090,4385 138 | 5/17/2017,3753,4363 139 | 5/18/2017,2376,4341 140 | 5/19/2017,2955,4319 141 | 5/20/2017,1371,4319 142 | 5/21/2017,1791,4297 143 | 5/22/2017,1830,4275 144 | 5/23/2017,1681,4253 145 | 5/24/2017,3139,4231 146 | 5/25/2017,3110,4209 147 | 5/26/2017,1540,4187 148 | 5/27/2017,3976,4166 149 | 5/28/2017,8090,4145 150 | 5/29/2017,4821,4393 151 | 5/30/2017,5181,4500 152 | 5/31/2017,5745,4670 153 | 6/1/2017,5479,4938 154 | 6/2/2017,5259,5073 155 | 6/3/2017,2749,5119 156 | 6/4/2017,1226,5000 157 | 6/5/2017,9985,5000 158 | 6/6/2017,10535,5299 159 | 6/7/2017,8659,5616 160 | 6/8/2017,9028,5952 161 | 6/9/2017,16761,6309 162 | 6/10/2017,6610,6687 163 | 6/11/2017,2164,6683 164 | 6/12/2017,2289,6348 165 | 6/13/2017,4421,6030 166 | 6/14/2017,4638,5728 167 | 6/15/2017,3290,5441 168 | 6/16/2017,2709,5168 169 | 6/17/2017,2551,4909 170 | 6/18/2017,2308,4884 171 | 6/19/2017,4506,4859 172 | 6/20/2017,3591,4834 173 | 6/21/2017,5648,4809 174 | 6/22/2017,9163,5018 175 | 6/23/2017,6550,5319 176 | 6/24/2017,3950,5626 177 | 6/25/2017,3586,5542 178 | 6/26/2017,5305,5264 179 | 6/27/2017,5390,5290 180 | 6/28/2017,4260,5316 181 | 6/29/2017,8556,5263 182 | 6/30/2017,4439,5578 183 | 7/1/2017,4758,5521 184 | 7/2/2017,8561,5253 185 | 7/3/2017,4736,5568 186 | 7/4/2017,5146,5526 187 | 7/5/2017,2171,5393 188 | 7/6/2017,1878,5393 189 | 7/7/2017,2347,5123 190 | 7/8/2017,6653,4866 191 | 7/9/2017,3692,5157 192 | 7/10/2017,2062,5083 193 | 7/11/2017,4352,4828 194 | 7/12/2017,5514,4803 195 | 7/13/2017,5949,4980 196 | 7/14/2017,7423,5222 197 | 7/15/2017,15394,5535 198 | 7/16/2017,9430,5867 199 | 7/17/2017,4795,6219 200 | 7/18/2017,4802,6147 201 | 7/19/2017,6233,5839 202 | 7/20/2017,1955,5937 203 | 7/21/2017,5597,5737 204 | 7/22/2017,4136,5688 205 | 7/23/2017,2045,5403 206 | 7/24/2017,6030,5132 207 | 7/25/2017,6122,5356 208 | 7/26/2017,5325,5547 209 | 7/27/2017,5777,5535 210 | 7/28/2017,6052,5595 211 | 7/29/2017,5337,5709 212 | 7/30/2017,5166,5690 213 | 7/31/2017,4913,5506 214 | 8/1/2017,6568,5298 215 | 8/2/2017,7344,5615 216 | 8/3/2017,6158,5951 217 | 8/4/2017,3839,6002 218 | 8/5/2017,3928,6002 219 | 8/6/2017,7310,5898 220 | 8/7/2017,4551,6251 221 | 8/8/2017,5809,6166 222 | 8/9/2017,7765,6041 223 | 8/10/2017,6371,6403 224 | 8/11/2017,6650,6401 225 | 8/12/2017,5060,6463 226 | 8/13/2017,11972,6463 227 | 8/14/2017,6251,6850 228 | 8/15/2017,6600,6820 229 | 8/16/2017,1891,6743 230 | 8/17/2017,3229,6405 231 | 8/18/2017,5688,6084 232 | 8/19/2017,3249,5945 233 | 8/20/2017,4364,5647 234 | 8/21/2017,5602,5364 235 | 8/22/2017,5590,5423 236 | 8/23/2017,6094,5464 237 | 8/24/2017,3078,5621 238 | 8/25/2017,5359,5500 239 | 8/26/2017,3170,5450 240 | 8/27/2017,1096,5180 241 | 8/28/2017,6610,4930 242 | 8/29/2017,7558,5230 243 | 8/30/2017,6242,5550 244 | 8/31/2017,6796,5730 245 | 9/1/2017,6701,6000 246 | 9/2/2017,7173,6180 247 | 9/3/2017,13567,6430 248 | 9/4/2017,7074,6820 249 | 9/5/2017,5486,6890 250 | 9/6/2017,6793,6820 251 | 9/7/2017,6598,6810 252 | 9/8/2017,6850,6740 253 | 9/9/2017,2272,6780 254 | 9/10/2017,5876,6560 255 | 9/11/2017,6317,6320 256 | 9/12/2017,5801,6320 257 | 9/13/2017,4603,6140 258 | 9/14/2017,4890,5840 259 | 9/15/2017,5735,5550 260 | 9/16/2017,7111,5600 261 | 9/17/2017,7967,5940 262 | 9/18/2017,5513,6300 263 | 9/19/2017,5225,6260 264 | 9/20/2017,6120,5950 265 | 9/21/2017,5736,6000 266 | 9/22/2017,5912,5990 267 | 9/23/2017,1392,5970 268 | 9/24/2017,4498,5680 269 | 9/25/2017,2265,5400 270 | 9/26/2017,4204,5130 271 | 9/27/2017,5708,4880 272 | 9/28/2017,5150,5090 273 | 9/29/2017,6650,5120 274 | 9/30/2017,7923,5430 275 | 10/1/2017,1684,5760 276 | 10/2/2017,5201,5560 277 | 10/3/2017,5367,5440 278 | 10/4/2017,6734,5420 279 | 10/5/2017,5587,5750 280 | 10/6/2017,2813,5750 281 | 10/7/2017,9899,5470 282 | 10/8/2017,3647,5800 283 | 10/9/2017,6241,5700 284 | 10/10/2017,2789,5840 285 | 10/11/2017,6592,5690 286 | 10/12/2017,10167,5920 287 | 10/13/2017,5816,6280 288 | 10/14/2017,3095,6260 289 | 10/15/2017,7773,5950 290 | 10/16/2017,9873,6310 291 | 10/17/2017,8544,6690 292 | 10/18/2017,7676,7100 293 | 10/19/2017,6595,7250 294 | 10/20/2017,5861,7220 295 | 10/21/2017,1578,7220 296 | 10/22/2017,1866,6860 297 | 10/23/2017,4245,6520 298 | 10/24/2017,3058,6200 299 | 10/25/2017,2320,5890 300 | 10/26/2017,8169,5600 301 | 10/27/2017,5189,5940 302 | 10/28/2017,2614,5910 303 | 10/29/2017,1971,5620 304 | 10/30/2017,7309,5340 305 | 10/31/2017,6420,5660 306 | 11/1/2017,3238,5850 307 | 11/2/2017,5853,5720 308 | 11/3/2017,2825,5760 309 | 11/4/2017,2076,5620 310 | 11/5/2017,2147,5340 311 | 11/6/2017,3062,5080 312 | 11/7/2017,1355,4830 313 | 11/8/2017,886,4810 314 | 11/9/2017,5416,4790 315 | 11/10/2017,1302,4950 316 | 11/11/2017,1421,4930 317 | 11/12/2017,3101,4910 318 | 11/13/2017,1881,4890 319 | 11/14/2017,2115,4870 320 | 11/15/2017,1591,4850 321 | 11/16/2017,590,4830 322 | 11/17/2017,1907,4810 323 | 11/18/2017,7156,4790 324 | 11/19/2017,1313,5080 325 | 11/20/2017,2462,4900 326 | 11/21/2017,1601,4880 327 | 11/22/2017,2540,4860 328 | 11/23/2017,2466,4840 329 | 11/24/2017,202,4820 330 | 11/25/2017,0,4820 331 | 11/26/2017,, 332 | 11/27/2017,3578,4820 333 | 11/28/2017,3370,4800 334 | 11/29/2017,6656,4780 335 | 11/30/2017,1779,5070 336 | 12/1/2017,2482,4910 337 | 12/2/2017,1485,4890 338 | 12/3/2017,1317,4870 339 | 12/4/2017,2741,4850 340 | 12/5/2017,5030,4830 341 | 12/6/2017,3164,4880 342 | 12/7/2017,1503,4860 343 | 12/8/2017,1505,4840 344 | 12/9/2017,4063,4820 345 | 12/10/2017,4865,4800 346 | 12/11/2017,3451,4830 347 | 12/12/2017,1870,4810 348 | 12/13/2017,3623,4790 349 | 12/14/2017,5521,4790 350 | 12/15/2017,6060,4980 351 | 12/16/2017,11539,5250 352 | 12/17/2017,8065,5570 353 | 12/18/2017,8253,5910 354 | 12/19/2017,7496,6270 355 | 12/20/2017,2770,6580 356 | 12/21/2017,5247,6580 357 | 12/22/2017,1213,6520 358 | 12/23/2017,1909,6200 359 | 12/24/2017,2256,5890 360 | 12/25/2017,1988,5600 361 | 12/26/2017,1924,5320 362 | 12/27/2017,1763,5060 363 | 12/28/2017,282,4810 364 | 12/29/2017,1418,4810 365 | 12/30/2017,2838,4790 366 | 12/31/2017,3383,4770 367 | 1/1/2018,2456,4650 368 | 1/2/2018,2200,4220 369 | 1/3/2018,4786,3820 370 | 1/4/2018,3068,4670 371 | 1/5/2018,0,4670 372 | 1/6/2018,3168,4670 373 | 1/7/2018,2478,4650 374 | 1/8/2018,1622,4630 375 | 1/9/2018,3002,4610 376 | 1/10/2018,1776,4590 377 | 1/11/2018,, 378 | 1/12/2018,1605,4570 379 | 1/13/2018,3843,4550 380 | 1/14/2018,1075,4530 381 | 1/15/2018,57,4510 382 | 1/16/2018,1569,4510 383 | 1/17/2018,1887,4490 384 | 1/18/2018,1563,4470 385 | 1/19/2018,1483,4450 386 | 1/20/2018,3091,4430 387 | 1/21/2018,2231,4410 388 | 1/22/2018,2168,4390 389 | 1/23/2018,986,4370 390 | 1/24/2018,2778,4370 391 | 1/25/2018,1444,4350 392 | 1/26/2018,1167,4330 393 | 1/27/2018,1536,4310 394 | 1/28/2018,3690,4290 395 | 1/29/2018,1384,4270 396 | 1/30/2018,2387,4250 397 | 1/31/2018,756,4230 398 | 2/1/2018,1364,4230 399 | 2/2/2018,4270,4210 400 | 2/3/2018,2253,4240 401 | 2/4/2018,2351,4220 402 | 2/5/2018,2037,4200 403 | 2/6/2018,1738,4180 404 | 2/7/2018,1573,4160 405 | 2/8/2018,1008,4140 406 | 2/9/2018,4263,4120 407 | 2/10/2018,5367,4160 408 | 2/11/2018,6840,4410 409 | 2/12/2018,1753,4680 410 | 2/13/2018,1639,4660 411 | 2/14/2018,3396,4640 412 | 2/15/2018,300,4620 413 | 2/16/2018,1670,4620 414 | 2/17/2018,1340,4600 415 | 2/18/2018,2191,4580 416 | 2/19/2018,2728,4560 417 | 2/20/2018,1656,4540 418 | 2/21/2018,1890,4520 419 | 2/22/2018,873,4500 420 | 2/23/2018,1214,4500 421 | 2/24/2018,3394,4480 422 | 2/25/2018,4001,4460 423 | 2/26/2018,1733,4440 424 | 2/27/2018,953,4420 425 | 2/28/2018,1216,4400 426 | 3/1/2018,2724,4380 427 | 3/2/2018,559,4360 428 | 3/3/2018,, 429 | 3/4/2018,, 430 | 3/5/2018,1350,4360 431 | 3/6/2018,1173,4340 432 | 3/7/2018,2040,4320 433 | 3/8/2018,3752,4300 434 | 3/9/2018,1243,4280 435 | 3/10/2018,1925,4260 436 | 3/11/2018,1582,4240 437 | 3/12/2018,1340,4220 438 | 3/13/2018,337,4200 439 | 3/14/2018,1021,4200 440 | 3/15/2018,1726,4180 441 | 3/16/2018,2065,4160 442 | 3/17/2018,4097,4140 443 | 3/18/2018,1636,4130 444 | 3/19/2018,2267,4110 445 | 3/20/2018,1571,4090 446 | 3/21/2018,1336,4070 447 | 3/22/2018,1000,4050 448 | 3/23/2018,2240,4030 449 | 3/24/2018,4384,4010 450 | 3/25/2018,3887,4110 451 | 3/26/2018,1717,4100 452 | 3/27/2018,1276,4080 453 | 3/28/2018,3739,4060 454 | 3/29/2018,1409,4040 455 | 3/30/2018,149,4020 456 | 3/31/2018,3502,4020 457 | 4/1/2018,1936,4000 458 | 4/2/2018,2397,3980 459 | 4/3/2018,2488,3960 460 | 4/4/2018,1577,3940 461 | 4/5/2018,2199,3920 462 | 4/6/2018,1877,3900 463 | 4/7/2018,44,3880 464 | 4/8/2018,0,3880 465 | 4/9/2018,2839,3880 466 | 4/10/2018,2685,3860 467 | 4/11/2018,4828,3840 468 | 4/12/2018,2810,4070 469 | 4/13/2018,1284,4050 470 | 4/14/2018,3191,4030 471 | 4/15/2018,2004,4010 472 | 4/16/2018,1833,3990 473 | 4/17/2018,1720,3970 474 | 4/18/2018,1523,3950 475 | 4/19/2018,3023,3930 476 | 4/20/2018,3012,3910 477 | 4/21/2018,1610,3910 478 | 4/22/2018,1596,3890 479 | 4/23/2018,1952,3870 480 | 4/24/2018,3604,3850 481 | 4/25/2018,4491,3830 482 | 4/26/2018,2421,4000 483 | 4/27/2018,3180,3980 484 | 4/28/2018,2242,3960 485 | 4/29/2018,2215,3940 486 | 4/30/2018,1751,3920 487 | 5/1/2018,3852,3900 488 | 5/2/2018,4452,3890 489 | 5/3/2018,2680,4030 490 | 5/4/2018,3715,4010 491 | 5/5/2018,3930,3990 492 | 5/6/2018,6604,3990 493 | 5/7/2018,2750,4230 494 | 5/8/2018,7044,4210 495 | 5/9/2018,6760,4470 496 | 5/10/2018,9888,4740 497 | 5/11/2018,12647,5030 498 | 5/12/2018,3791,5340 499 | 5/13/2018,4881,5270 500 | 5/14/2018,4536,5270 501 | 5/15/2018,5399,5020 502 | 5/16/2018,3345,5120 503 | 5/17/2018,7400,5040 504 | 5/18/2018,8433,5350 505 | 5/19/2018,2602,5670 506 | 5/20/2018,552,5520 507 | 5/21/2018,2783,5250 508 | 5/22/2018,5568,4990 509 | 5/23/2018,4698,5140 510 | 5/24/2018,11471,5120 511 | 5/25/2018,7121,5430 512 | 5/26/2018,12291,5760 513 | 5/27/2018,5896,6110 514 | 5/28/2018,922,6100 515 | 5/29/2018,6736,5800 516 | 5/30/2018,5105,6040 517 | 5/31/2018,6873,6000 518 | 6/1/2018,6274,6220 519 | 6/2/2018,1987,6260 520 | 6/3/2018,5770,6050 521 | 6/4/2018,4741,4110 522 | 6/5/2018,6483,4180 523 | 6/6/2018,8651,4640 524 | 6/7/2018,6019,5450 525 | 6/8/2018,6301,5570 526 | 6/9/2018,16999,5720 527 | 6/10/2018,1823,7720 528 | 6/11/2018,2113,7130 529 | 6/12/2018,5120,6130 530 | 6/13/2018,5195,5930 531 | 6/14/2018,6483,5790 532 | 6/15/2018,6840,5860 533 | 6/16/2018,5509,6060 534 | 6/17/2018,2942,6010 535 | 6/18/2018,4394,5400 536 | 6/19/2018,5479,5200 537 | 6/20/2018,5277,5230 538 | 6/21/2018,13504,5240 539 | 6/22/2018,11973,6900 540 | 6/23/2018,15426,7920 541 | 6/24/2018,16525,9430 542 | 6/25/2018,3498,10850 543 | 6/26/2018,1913,10120 544 | 6/27/2018,1573,8480 545 | 6/28/2018,1585,7100 546 | 6/29/2018,1706,6000 547 | 6/30/2018,2835,5150 548 | 7/1/2018,1930,4690 549 | 7/2/2018,2317,4140 550 | 7/3/2018,5261,3780 551 | 7/4/2018,5930,3930 552 | 7/5/2018,5287,4330 553 | 7/6/2018,8729,4530 554 | 7/7/2018,1233,5370 555 | 7/8/2018,3412,4960 556 | 7/9/2018,2456,4650 557 | 7/10/2018,2200,4220 558 | 7/11/2018,4786,3820 559 | -------------------------------------------------------------------------------- /examples-vue3/src/App.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 90 | 91 | 148 | -------------------------------------------------------------------------------- /examples-vue3/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jscharting/jscharting-vue/9c1f4a8ba8e0e8d3c15c084bad65900468da87fa/examples-vue3/src/assets/logo.png -------------------------------------------------------------------------------- /examples-vue3/src/components/calendarHeatmap.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 54 | -------------------------------------------------------------------------------- /examples-vue3/src/components/chartDash.vue: -------------------------------------------------------------------------------- 1 | 40 | 41 | 57 | 58 | 208 | -------------------------------------------------------------------------------- /examples-vue3/src/components/chartDataGrid.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 51 | -------------------------------------------------------------------------------- /examples-vue3/src/components/circularColorBar.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 115 | -------------------------------------------------------------------------------- /examples-vue3/src/components/circularGauge.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 85 | -------------------------------------------------------------------------------- /examples-vue3/src/components/dataGrid.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 35 | -------------------------------------------------------------------------------- /examples-vue3/src/components/interactiveLine.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 160 | -------------------------------------------------------------------------------- /examples-vue3/src/components/liveData.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 16 | 17 | 132 | -------------------------------------------------------------------------------- /examples-vue3/src/components/mapChoropleth.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 15 | 16 | 117 | -------------------------------------------------------------------------------- /examples-vue3/src/components/masterDetail.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 31 | 32 | 160 | -------------------------------------------------------------------------------- /examples-vue3/src/components/methodUpdate.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 69 | -------------------------------------------------------------------------------- /examples-vue3/src/components/microchartFast.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 61 | -------------------------------------------------------------------------------- /examples-vue3/src/components/simpleLine.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 122 | -------------------------------------------------------------------------------- /examples-vue3/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue'; 2 | import App from './App.vue'; 3 | 4 | createApp(App).mount('#app'); 5 | -------------------------------------------------------------------------------- /examples-vue3/src/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | declare module '*.vue' { 3 | import type { DefineComponent } from 'vue' 4 | const component: DefineComponent<{}, {}, any> 5 | export default component 6 | } 7 | -------------------------------------------------------------------------------- /examples-vue3/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "strict": true, 6 | "jsx": "preserve", 7 | "importHelpers": true, 8 | "moduleResolution": "node", 9 | "skipLibCheck": true, 10 | "esModuleInterop": true, 11 | "allowSyntheticDefaultImports": true, 12 | "sourceMap": true, 13 | "baseUrl": ".", 14 | "types": [ 15 | "webpack-env" 16 | ], 17 | "paths": { 18 | "@/*": [ 19 | "src/*" 20 | ] 21 | }, 22 | "lib": [ 23 | "esnext", 24 | "dom", 25 | "dom.iterable", 26 | "scripthost" 27 | ] 28 | }, 29 | "include": [ 30 | "src/**/*.ts", 31 | "src/**/*.tsx", 32 | "src/**/*.vue", 33 | "tests/**/*.ts", 34 | "tests/**/*.tsx" 35 | ], 36 | "exclude": [ 37 | "node_modules" 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /examples-vue3/vue.config.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 2 | const path = require('path'); 3 | 4 | module.exports = { 5 | publicPath: process.env.NODE_ENV === 'production' 6 | ? '/jscharting-vue-examples/' 7 | : '/', 8 | configureWebpack: { 9 | plugins: [ 10 | new CopyWebpackPlugin([ 11 | { 12 | from: path.join(__dirname, 'node_modules/jscharting/dist/'), 13 | to: path.join(__dirname, 'dist/assets/jscharting/'), 14 | ignore: ['jscharting.*'] 15 | } 16 | ]) 17 | ] 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw? 22 | 23 | /public/assets -------------------------------------------------------------------------------- /examples/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ['@vue/cli-plugin-babel/preset'] 3 | }; 4 | -------------------------------------------------------------------------------- /examples/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jscharting-vue-examples", 3 | "version": "1.4.0", 4 | "description": "Examples using the JSCharting plugin for Vue.js.", 5 | "private": true, 6 | "scripts": { 7 | "start": "vue-cli-service serve", 8 | "serve": "vue-cli-service serve", 9 | "build": "vue-cli-service build" 10 | }, 11 | "author": "JSCharting (https://jscharting.com/support.htm)", 12 | "bugs": { 13 | "email": "support@jscharting.com" 14 | }, 15 | "license": "jscharting.com/store/", 16 | "dependencies": { 17 | "core-js": "^3.8.3", 18 | "jscharting-vue": "^2.4.0", 19 | "vue": "^2.6.10" 20 | }, 21 | "devDependencies": { 22 | "@vue/cli-plugin-babel": "^4.5.11", 23 | "@vue/cli-service": "^4.5.11", 24 | "copy-webpack-plugin": "^5.1.2", 25 | "vue-template-compiler": "^2.6.12" 26 | }, 27 | "peerDependencies": { 28 | "vue": "^2.6.10" 29 | }, 30 | "browserslist": [ 31 | "> 1%", 32 | "last 2 versions" 33 | ] 34 | } 35 | -------------------------------------------------------------------------------- /examples/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jscharting/jscharting-vue/9c1f4a8ba8e0e8d3c15c084bad65900468da87fa/examples/public/favicon.ico -------------------------------------------------------------------------------- /examples/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | JavaScript chart plugin for Vue.js | JSCharting 9 | 10 | 11 | 17 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/public/jsc-vue-logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /examples/public/resources/access-to-drinking-water-by-country.csv: -------------------------------------------------------------------------------- 1 | country_name,country_code,value 2 | Afghanistan,AF,67.06462342 3 | Albania,AL,91.03922767 4 | Algeria,DZ,93.55588814 5 | Andorra,AD,99.99999628 6 | Angola,AO,55.84290487 7 | Antigua and Barb.,AG,96.73918628 8 | Argentina,AR,99.07837465 9 | Armenia,AM,99.91337654 10 | Aruba,AW,97.86902338 11 | Australia,AU,99.9699356 12 | Austria,AT,100 13 | Azerbaijan,AZ,91.38573994 14 | Bahamas,BS,98.8869605 15 | Bahrain,BH,100 16 | Bangladesh,BD,97.01600557 17 | Barbados,BB,98.49444758 18 | Belarus,BY,96.48397119 19 | Belgium,BE,100 20 | Belize,BZ,97.99257979 21 | Benin,BJ,66.41472534 22 | Bermuda,BM,99.90314002 23 | Bhutan,BT,97.23338334 24 | Bolivia,BO,92.84873518 25 | Bosnia and Herz.,BA,96.14235609 26 | Botswana,BW,90.33771336 27 | Brazil,BR,98.19339267 28 | British Virgin Is.,VG,99.86438356 29 | Brunei,BN,99.90000909 30 | Bulgaria,BG,99.10834282 31 | Burkina Faso,BF,47.88812734 32 | Burundi,BI,60.83054892 33 | Cambodia,KH,78.51065693 34 | Cameroon,CM,60.38486395 35 | Canada,CA,99.43624408 36 | Cape Verde,CV,87.08320801 37 | Cayman Is.,KY,96.125 38 | Central African Rep.,CF,46.33375843 39 | Chad,TD,38.70059943 40 | Chile,CL,99.8327912 41 | China,CN,92.84613551 42 | Colombia,CO,97.30010961 43 | Comoros,KM,80.16751687 44 | Congo,CG,73.21776097 45 | Costa Rica,CR,99.70151391 46 | Côte d'Ivoire,CI,72.86894644 47 | Croatia,HR,99.58666656 48 | Cuba,CU,95.32758231 49 | Curaçao,CW,99.49775185 50 | Cyprus,CY,99.61328615 51 | Czech Rep.,CZ,99.8802588 52 | Dem. Rep. Congo,CD,43.24332204 53 | Dem. Rep. Korea,KP,94.51245282 54 | Denmark,DK,99.99999894 55 | Djibouti,DJ,75.63230768 56 | Dominica,DM,96.5 57 | Dominican Rep.,DO,96.69022475 58 | Ecuador,EC,93.99453654 59 | Egypt,EG,99.10573046 60 | El Salvador,SV,97.38837497 61 | Eq. Guinea,GQ,64.66581781 62 | Eritrea,ER,51.84971842 63 | Estonia,EE,99.71282684 64 | Ethiopia,ET,41.05995213 65 | Fiji,FJ,93.79091928 66 | Finland,FI,100 67 | France,FR,100 68 | Gabon,GA,85.77100366 69 | Gambia,GM,77.99156682 70 | Georgia,GE,98.39443935 71 | Germany,DE,100 72 | Ghana,GH,81.45338968 73 | Greece,GR,100 74 | Greenland,GL,99.99999747 75 | Grenada,GD,95.62865044 76 | Guam,GU,99.6952 77 | Guatemala,GT,94.19058074 78 | Guinea,GN,61.89872308 79 | Guinea-Bissau,GW,66.63441423 80 | Guyana,GY,95.53974768 81 | Haiti,HT,65.46682593 82 | Honduras,HN,94.82710944 83 | Hong Kong,HK,100 84 | Hungary,HU,99.99999749 85 | Iceland,IS,99.99999943 86 | India,IN,92.67464257 87 | Indonesia,ID,89.34401223 88 | Iran,IR,95.24454488 89 | Iraq,IQ,96.53347833 90 | Ireland,IE,97.39454461 91 | Isle of Man,IM,99.075 92 | Israel,IL,100 93 | Italy,IT,99.44273388 94 | Jamaica,JM,90.64843618 95 | Japan,JP,99.01020833 96 | Jordan,JO,98.93722265 97 | Kazakhstan,KZ,95.62750722 98 | Kenya,KE,58.91633339 99 | Korea,KR,99.787655 100 | Kuwait,KW,100 101 | Kyrgyzstan,KG,87.4559029 102 | Lao PDR,LA,82.06189686 103 | Latvia,LV,98.62618237 104 | Lebanon,LB,92.6 105 | Lesotho,LS,68.64993758 106 | Liberia,LR,72.94803095 107 | Libya,LY,98.52894737 108 | Liechtenstein,LI,100 109 | Lithuania,LT,97.5420681 110 | Luxembourg,LU,99.88960319 111 | Macao,MO,100 112 | Macedonia,MK,93.14146285 113 | Madagascar,MG,54.40398164 114 | Malawi,MW,68.83187676 115 | Malaysia,MY,96.69593891 116 | Mali,ML,78.26082958 117 | Malta,MT,100 118 | Mauritania,MR,70.69618765 119 | Mexico,MX,99.31821889 120 | Moldova,MD,89.05565265 121 | Monaco,MC,100 122 | Mongolia,MN,83.31311501 123 | Montenegro,ME,97.04205011 124 | Morocco,MA,86.77851266 125 | Mozambique,MZ,55.69397562 126 | Myanmar,MM,81.77404853 127 | Namibia,NA,82.54109887 128 | Nauru,NR,99.48493442 129 | Nepal,NP,88.81224952 130 | Netherlands,NL,99.99999928 131 | New Caledonia,NC,99.32859759 132 | New Zealand,NZ,100 133 | Nicaragua,NI,81.52476354 134 | Niger,NE,50.27306506 135 | Nigeria,NG,71.3766307 136 | Norway,NO,100 137 | Oman,OM,91.93807842 138 | Pakistan,PK,91.46545073 139 | Panama,PA,96.38241895 140 | Papua New Guinea,PG,41.32704942 141 | Paraguay,PY,99.61019773 142 | Peru,PE,91.12787097 143 | Philippines,PH,93.56837604 144 | Poland,PL,99.72468254 145 | Portugal,PT,99.90766021 146 | Puerto Rico,PR,97.12479066 147 | Qatar,QA,99.56810194 148 | Romania,RO,100 149 | Russia,RU,97.0899112 150 | Rwanda,RW,57.71327853 151 | S. Sudan,SS,40.67601215 152 | Saint Lucia,LC,98.16200142 153 | Samoa,WS,97.38259524 154 | San Marino,SM,100 155 | São Tomé and Principe,ST,84.29015993 156 | Saudi Arabia,SA,100 157 | Senegal,SN,80.67785387 158 | Serbia,RS,85.52211629 159 | Sierra Leone,SL,60.80698694 160 | Singapore,SG,100 161 | Sint Maarten,SX,95.07411955 162 | Slovakia,SK,99.78773411 163 | Slovenia,SI,99.53502551 164 | Solomon Is.,SB,67.77595721 165 | Somalia,SO,52.43618907 166 | South Africa,ZA,92.67870194 167 | Spain,ES,99.92627831 168 | Sri Lanka,LK,89.41629243 169 | St. Vin. and Gren.,VC,95.1452199 170 | Sudan,SD,60.26709116 171 | Suriname,SR,95.42474497 172 | Sweden,SE,100 173 | Switzerland,CH,100 174 | Syria,SY,97.21650621 175 | Tajikistan,TJ,81.1962748 176 | Tanzania,TZ,56.72645032 177 | Thailand,TH,99.93071158 178 | Timor-Leste,TP,78.34386574 179 | Togo,TG,65.12884019 180 | Tonga,TO,99.90682775 181 | Trinidad and Tobago,TT,98.18496206 182 | Tunisia,TN,96.25470364 183 | Turkey,TR,98.87571815 184 | Turkmenistan,TM,98.81432798 185 | Turks and Caicos Is.,TC,94.31818182 186 | U.S. Virgin Is.,VI,98.71826738 187 | Uganda,UG,49.10403239 188 | Ukraine,UA,93.79082011 189 | United Arab Emirates,AE,98.04550656 190 | United Kingdom,GB,100 191 | United States,US,99.26919207 192 | Uruguay,UY,99.4023635 193 | Uzbekistan,UZ,97.83345271 194 | Vanuatu,VU,91.25680395 195 | Venezuela,VE,95.72371132 196 | Vietnam,VN,94.71880561 197 | Yemen,YE,63.47347434 198 | Zambia,ZM,59.96375651 199 | Zimbabwe,ZW,64.0512297 -------------------------------------------------------------------------------- /examples/public/resources/stepData17-18.csv: -------------------------------------------------------------------------------- 1 | Date,Actual,Goal 2 | 1/1/2017,, 3 | 1/2/2017,, 4 | 1/3/2017,1500,7500 5 | 1/4/2017,3850,7125 6 | 1/5/2017,3540,6768 7 | 1/6/2017,2712,6429 8 | 1/7/2017,2511,6429 9 | 1/8/2017,1262,6107 10 | 1/9/2017,2099,5801 11 | 1/10/2017,2579,5510 12 | 1/11/2017,1572,5234 13 | 1/12/2017,1488,4972 14 | 1/13/2017,2677,4947 15 | 1/14/2017,1057,4922 16 | 1/15/2017,1552,4897 17 | 1/16/2017,2249,4872 18 | 1/17/2017,1180,4847 19 | 1/18/2017,1790,4822 20 | 1/19/2017,2156,4797 21 | 1/20/2017,2128,4773 22 | 1/21/2017,8531,4749 23 | 1/22/2017,1333,5033 24 | 1/23/2017,1580,4848 25 | 1/24/2017,2283,4823 26 | 1/25/2017,661,4798 27 | 1/26/2017,3373,4774 28 | 1/27/2017,2199,4750 29 | 1/28/2017,1307,4726 30 | 1/29/2017,2276,4702 31 | 1/30/2017,2011,4678 32 | 1/31/2017,1928,4654 33 | 2/1/2017,2003,4630 34 | 2/2/2017,3178,4606 35 | 2/3/2017,1763,4582 36 | 2/4/2017,3046,4559 37 | 2/5/2017,2120,4536 38 | 2/6/2017,4585,4513 39 | 2/7/2017,3767,4535 40 | 2/8/2017,2510,4512 41 | 2/9/2017,3116,4489 42 | 2/10/2017,2498,4466 43 | 2/11/2017,3692,4443 44 | 2/12/2017,3306,4420 45 | 2/13/2017,1297,4397 46 | 2/14/2017,2196,4375 47 | 2/15/2017,4167,4353 48 | 2/16/2017,3518,4331 49 | 2/17/2017,1894,4309 50 | 2/18/2017,3215,4287 51 | 2/19/2017,3421,4265 52 | 2/20/2017,3070,4243 53 | 2/21/2017,3549,4221 54 | 2/22/2017,2750,4199 55 | 2/23/2017,2379,4178 56 | 2/24/2017,351,4157 57 | 2/25/2017,9481,4157 58 | 2/26/2017,4538,4406 59 | 2/27/2017,2548,4439 60 | 2/28/2017,3152,4416 61 | 3/1/2017,2380,4393 62 | 3/2/2017,2033,4371 63 | 3/3/2017,1983,4349 64 | 3/4/2017,13,4327 65 | 3/5/2017,0,4327 66 | 3/6/2017,2735,4327 67 | 3/7/2017,2383,4305 68 | 3/8/2017,3053,4283 69 | 3/9/2017,4784,4261 70 | 3/10/2017,3795,4391 71 | 3/11/2017,433,4369 72 | 3/12/2017,469,4369 73 | 3/13/2017,1623,4347 74 | 3/14/2017,315,4325 75 | 3/15/2017,1861,4325 76 | 3/16/2017,2095,4303 77 | 3/17/2017,1362,4281 78 | 3/18/2017,2928,4259 79 | 3/19/2017,1897,4237 80 | 3/20/2017,2112,4215 81 | 3/21/2017,4625,4193 82 | 3/22/2017,2419,4301 83 | 3/23/2017,590,4279 84 | 3/24/2017,1015,4279 85 | 3/25/2017,2660,4257 86 | 3/26/2017,3005,4235 87 | 3/27/2017,3526,4213 88 | 3/28/2017,3773,4191 89 | 3/29/2017,2503,4170 90 | 3/30/2017,3481,4149 91 | 3/31/2017,2333,4128 92 | 4/1/2017,50,4107 93 | 4/2/2017,1240,4107 94 | 4/3/2017,3503,4086 95 | 4/4/2017,3663,4065 96 | 4/5/2017,2750,4044 97 | 4/6/2017,2803,4023 98 | 4/7/2017,2535,4002 99 | 4/8/2017,2493,3981 100 | 4/9/2017,3901,3961 101 | 4/10/2017,973,3941 102 | 4/11/2017,5842,3921 103 | 4/12/2017,2114,4156 104 | 4/13/2017,2219,4135 105 | 4/14/2017,4411,4114 106 | 4/15/2017,2253,4188 107 | 4/16/2017,2388,4167 108 | 4/17/2017,2934,4146 109 | 4/18/2017,4269,4125 110 | 4/19/2017,4081,4161 111 | 4/20/2017,2321,4157 112 | 4/21/2017,2849,4136 113 | 4/22/2017,2074,4115 114 | 4/23/2017,2634,4094 115 | 4/24/2017,4255,4073 116 | 4/25/2017,3343,4118 117 | 4/26/2017,4747,4097 118 | 4/27/2017,2484,4259 119 | 4/28/2017,2680,4237 120 | 4/29/2017,2275,4215 121 | 4/30/2017,2158,4193 122 | 5/1/2017,2023,4172 123 | 5/2/2017,2602,4151 124 | 5/3/2017,6568,4130 125 | 5/4/2017,2366,4377 126 | 5/5/2017,2286,4355 127 | 5/6/2017,1670,4333 128 | 5/7/2017,3172,4311 129 | 5/8/2017,6373,4289 130 | 5/9/2017,1381,4546 131 | 5/10/2017,1861,4523 132 | 5/11/2017,2240,4500 133 | 5/12/2017,2916,4477 134 | 5/13/2017,2263,4454 135 | 5/14/2017,2662,4431 136 | 5/15/2017,1690,4408 137 | 5/16/2017,3090,4385 138 | 5/17/2017,3753,4363 139 | 5/18/2017,2376,4341 140 | 5/19/2017,2955,4319 141 | 5/20/2017,1371,4319 142 | 5/21/2017,1791,4297 143 | 5/22/2017,1830,4275 144 | 5/23/2017,1681,4253 145 | 5/24/2017,3139,4231 146 | 5/25/2017,3110,4209 147 | 5/26/2017,1540,4187 148 | 5/27/2017,3976,4166 149 | 5/28/2017,8090,4145 150 | 5/29/2017,4821,4393 151 | 5/30/2017,5181,4500 152 | 5/31/2017,5745,4670 153 | 6/1/2017,5479,4938 154 | 6/2/2017,5259,5073 155 | 6/3/2017,2749,5119 156 | 6/4/2017,1226,5000 157 | 6/5/2017,9985,5000 158 | 6/6/2017,10535,5299 159 | 6/7/2017,8659,5616 160 | 6/8/2017,9028,5952 161 | 6/9/2017,16761,6309 162 | 6/10/2017,6610,6687 163 | 6/11/2017,2164,6683 164 | 6/12/2017,2289,6348 165 | 6/13/2017,4421,6030 166 | 6/14/2017,4638,5728 167 | 6/15/2017,3290,5441 168 | 6/16/2017,2709,5168 169 | 6/17/2017,2551,4909 170 | 6/18/2017,2308,4884 171 | 6/19/2017,4506,4859 172 | 6/20/2017,3591,4834 173 | 6/21/2017,5648,4809 174 | 6/22/2017,9163,5018 175 | 6/23/2017,6550,5319 176 | 6/24/2017,3950,5626 177 | 6/25/2017,3586,5542 178 | 6/26/2017,5305,5264 179 | 6/27/2017,5390,5290 180 | 6/28/2017,4260,5316 181 | 6/29/2017,8556,5263 182 | 6/30/2017,4439,5578 183 | 7/1/2017,4758,5521 184 | 7/2/2017,8561,5253 185 | 7/3/2017,4736,5568 186 | 7/4/2017,5146,5526 187 | 7/5/2017,2171,5393 188 | 7/6/2017,1878,5393 189 | 7/7/2017,2347,5123 190 | 7/8/2017,6653,4866 191 | 7/9/2017,3692,5157 192 | 7/10/2017,2062,5083 193 | 7/11/2017,4352,4828 194 | 7/12/2017,5514,4803 195 | 7/13/2017,5949,4980 196 | 7/14/2017,7423,5222 197 | 7/15/2017,15394,5535 198 | 7/16/2017,9430,5867 199 | 7/17/2017,4795,6219 200 | 7/18/2017,4802,6147 201 | 7/19/2017,6233,5839 202 | 7/20/2017,1955,5937 203 | 7/21/2017,5597,5737 204 | 7/22/2017,4136,5688 205 | 7/23/2017,2045,5403 206 | 7/24/2017,6030,5132 207 | 7/25/2017,6122,5356 208 | 7/26/2017,5325,5547 209 | 7/27/2017,5777,5535 210 | 7/28/2017,6052,5595 211 | 7/29/2017,5337,5709 212 | 7/30/2017,5166,5690 213 | 7/31/2017,4913,5506 214 | 8/1/2017,6568,5298 215 | 8/2/2017,7344,5615 216 | 8/3/2017,6158,5951 217 | 8/4/2017,3839,6002 218 | 8/5/2017,3928,6002 219 | 8/6/2017,7310,5898 220 | 8/7/2017,4551,6251 221 | 8/8/2017,5809,6166 222 | 8/9/2017,7765,6041 223 | 8/10/2017,6371,6403 224 | 8/11/2017,6650,6401 225 | 8/12/2017,5060,6463 226 | 8/13/2017,11972,6463 227 | 8/14/2017,6251,6850 228 | 8/15/2017,6600,6820 229 | 8/16/2017,1891,6743 230 | 8/17/2017,3229,6405 231 | 8/18/2017,5688,6084 232 | 8/19/2017,3249,5945 233 | 8/20/2017,4364,5647 234 | 8/21/2017,5602,5364 235 | 8/22/2017,5590,5423 236 | 8/23/2017,6094,5464 237 | 8/24/2017,3078,5621 238 | 8/25/2017,5359,5500 239 | 8/26/2017,3170,5450 240 | 8/27/2017,1096,5180 241 | 8/28/2017,6610,4930 242 | 8/29/2017,7558,5230 243 | 8/30/2017,6242,5550 244 | 8/31/2017,6796,5730 245 | 9/1/2017,6701,6000 246 | 9/2/2017,7173,6180 247 | 9/3/2017,13567,6430 248 | 9/4/2017,7074,6820 249 | 9/5/2017,5486,6890 250 | 9/6/2017,6793,6820 251 | 9/7/2017,6598,6810 252 | 9/8/2017,6850,6740 253 | 9/9/2017,2272,6780 254 | 9/10/2017,5876,6560 255 | 9/11/2017,6317,6320 256 | 9/12/2017,5801,6320 257 | 9/13/2017,4603,6140 258 | 9/14/2017,4890,5840 259 | 9/15/2017,5735,5550 260 | 9/16/2017,7111,5600 261 | 9/17/2017,7967,5940 262 | 9/18/2017,5513,6300 263 | 9/19/2017,5225,6260 264 | 9/20/2017,6120,5950 265 | 9/21/2017,5736,6000 266 | 9/22/2017,5912,5990 267 | 9/23/2017,1392,5970 268 | 9/24/2017,4498,5680 269 | 9/25/2017,2265,5400 270 | 9/26/2017,4204,5130 271 | 9/27/2017,5708,4880 272 | 9/28/2017,5150,5090 273 | 9/29/2017,6650,5120 274 | 9/30/2017,7923,5430 275 | 10/1/2017,1684,5760 276 | 10/2/2017,5201,5560 277 | 10/3/2017,5367,5440 278 | 10/4/2017,6734,5420 279 | 10/5/2017,5587,5750 280 | 10/6/2017,2813,5750 281 | 10/7/2017,9899,5470 282 | 10/8/2017,3647,5800 283 | 10/9/2017,6241,5700 284 | 10/10/2017,2789,5840 285 | 10/11/2017,6592,5690 286 | 10/12/2017,10167,5920 287 | 10/13/2017,5816,6280 288 | 10/14/2017,3095,6260 289 | 10/15/2017,7773,5950 290 | 10/16/2017,9873,6310 291 | 10/17/2017,8544,6690 292 | 10/18/2017,7676,7100 293 | 10/19/2017,6595,7250 294 | 10/20/2017,5861,7220 295 | 10/21/2017,1578,7220 296 | 10/22/2017,1866,6860 297 | 10/23/2017,4245,6520 298 | 10/24/2017,3058,6200 299 | 10/25/2017,2320,5890 300 | 10/26/2017,8169,5600 301 | 10/27/2017,5189,5940 302 | 10/28/2017,2614,5910 303 | 10/29/2017,1971,5620 304 | 10/30/2017,7309,5340 305 | 10/31/2017,6420,5660 306 | 11/1/2017,3238,5850 307 | 11/2/2017,5853,5720 308 | 11/3/2017,2825,5760 309 | 11/4/2017,2076,5620 310 | 11/5/2017,2147,5340 311 | 11/6/2017,3062,5080 312 | 11/7/2017,1355,4830 313 | 11/8/2017,886,4810 314 | 11/9/2017,5416,4790 315 | 11/10/2017,1302,4950 316 | 11/11/2017,1421,4930 317 | 11/12/2017,3101,4910 318 | 11/13/2017,1881,4890 319 | 11/14/2017,2115,4870 320 | 11/15/2017,1591,4850 321 | 11/16/2017,590,4830 322 | 11/17/2017,1907,4810 323 | 11/18/2017,7156,4790 324 | 11/19/2017,1313,5080 325 | 11/20/2017,2462,4900 326 | 11/21/2017,1601,4880 327 | 11/22/2017,2540,4860 328 | 11/23/2017,2466,4840 329 | 11/24/2017,202,4820 330 | 11/25/2017,0,4820 331 | 11/26/2017,, 332 | 11/27/2017,3578,4820 333 | 11/28/2017,3370,4800 334 | 11/29/2017,6656,4780 335 | 11/30/2017,1779,5070 336 | 12/1/2017,2482,4910 337 | 12/2/2017,1485,4890 338 | 12/3/2017,1317,4870 339 | 12/4/2017,2741,4850 340 | 12/5/2017,5030,4830 341 | 12/6/2017,3164,4880 342 | 12/7/2017,1503,4860 343 | 12/8/2017,1505,4840 344 | 12/9/2017,4063,4820 345 | 12/10/2017,4865,4800 346 | 12/11/2017,3451,4830 347 | 12/12/2017,1870,4810 348 | 12/13/2017,3623,4790 349 | 12/14/2017,5521,4790 350 | 12/15/2017,6060,4980 351 | 12/16/2017,11539,5250 352 | 12/17/2017,8065,5570 353 | 12/18/2017,8253,5910 354 | 12/19/2017,7496,6270 355 | 12/20/2017,2770,6580 356 | 12/21/2017,5247,6580 357 | 12/22/2017,1213,6520 358 | 12/23/2017,1909,6200 359 | 12/24/2017,2256,5890 360 | 12/25/2017,1988,5600 361 | 12/26/2017,1924,5320 362 | 12/27/2017,1763,5060 363 | 12/28/2017,282,4810 364 | 12/29/2017,1418,4810 365 | 12/30/2017,2838,4790 366 | 12/31/2017,3383,4770 367 | 1/1/2018,2456,4650 368 | 1/2/2018,2200,4220 369 | 1/3/2018,4786,3820 370 | 1/4/2018,3068,4670 371 | 1/5/2018,0,4670 372 | 1/6/2018,3168,4670 373 | 1/7/2018,2478,4650 374 | 1/8/2018,1622,4630 375 | 1/9/2018,3002,4610 376 | 1/10/2018,1776,4590 377 | 1/11/2018,, 378 | 1/12/2018,1605,4570 379 | 1/13/2018,3843,4550 380 | 1/14/2018,1075,4530 381 | 1/15/2018,57,4510 382 | 1/16/2018,1569,4510 383 | 1/17/2018,1887,4490 384 | 1/18/2018,1563,4470 385 | 1/19/2018,1483,4450 386 | 1/20/2018,3091,4430 387 | 1/21/2018,2231,4410 388 | 1/22/2018,2168,4390 389 | 1/23/2018,986,4370 390 | 1/24/2018,2778,4370 391 | 1/25/2018,1444,4350 392 | 1/26/2018,1167,4330 393 | 1/27/2018,1536,4310 394 | 1/28/2018,3690,4290 395 | 1/29/2018,1384,4270 396 | 1/30/2018,2387,4250 397 | 1/31/2018,756,4230 398 | 2/1/2018,1364,4230 399 | 2/2/2018,4270,4210 400 | 2/3/2018,2253,4240 401 | 2/4/2018,2351,4220 402 | 2/5/2018,2037,4200 403 | 2/6/2018,1738,4180 404 | 2/7/2018,1573,4160 405 | 2/8/2018,1008,4140 406 | 2/9/2018,4263,4120 407 | 2/10/2018,5367,4160 408 | 2/11/2018,6840,4410 409 | 2/12/2018,1753,4680 410 | 2/13/2018,1639,4660 411 | 2/14/2018,3396,4640 412 | 2/15/2018,300,4620 413 | 2/16/2018,1670,4620 414 | 2/17/2018,1340,4600 415 | 2/18/2018,2191,4580 416 | 2/19/2018,2728,4560 417 | 2/20/2018,1656,4540 418 | 2/21/2018,1890,4520 419 | 2/22/2018,873,4500 420 | 2/23/2018,1214,4500 421 | 2/24/2018,3394,4480 422 | 2/25/2018,4001,4460 423 | 2/26/2018,1733,4440 424 | 2/27/2018,953,4420 425 | 2/28/2018,1216,4400 426 | 3/1/2018,2724,4380 427 | 3/2/2018,559,4360 428 | 3/3/2018,, 429 | 3/4/2018,, 430 | 3/5/2018,1350,4360 431 | 3/6/2018,1173,4340 432 | 3/7/2018,2040,4320 433 | 3/8/2018,3752,4300 434 | 3/9/2018,1243,4280 435 | 3/10/2018,1925,4260 436 | 3/11/2018,1582,4240 437 | 3/12/2018,1340,4220 438 | 3/13/2018,337,4200 439 | 3/14/2018,1021,4200 440 | 3/15/2018,1726,4180 441 | 3/16/2018,2065,4160 442 | 3/17/2018,4097,4140 443 | 3/18/2018,1636,4130 444 | 3/19/2018,2267,4110 445 | 3/20/2018,1571,4090 446 | 3/21/2018,1336,4070 447 | 3/22/2018,1000,4050 448 | 3/23/2018,2240,4030 449 | 3/24/2018,4384,4010 450 | 3/25/2018,3887,4110 451 | 3/26/2018,1717,4100 452 | 3/27/2018,1276,4080 453 | 3/28/2018,3739,4060 454 | 3/29/2018,1409,4040 455 | 3/30/2018,149,4020 456 | 3/31/2018,3502,4020 457 | 4/1/2018,1936,4000 458 | 4/2/2018,2397,3980 459 | 4/3/2018,2488,3960 460 | 4/4/2018,1577,3940 461 | 4/5/2018,2199,3920 462 | 4/6/2018,1877,3900 463 | 4/7/2018,44,3880 464 | 4/8/2018,0,3880 465 | 4/9/2018,2839,3880 466 | 4/10/2018,2685,3860 467 | 4/11/2018,4828,3840 468 | 4/12/2018,2810,4070 469 | 4/13/2018,1284,4050 470 | 4/14/2018,3191,4030 471 | 4/15/2018,2004,4010 472 | 4/16/2018,1833,3990 473 | 4/17/2018,1720,3970 474 | 4/18/2018,1523,3950 475 | 4/19/2018,3023,3930 476 | 4/20/2018,3012,3910 477 | 4/21/2018,1610,3910 478 | 4/22/2018,1596,3890 479 | 4/23/2018,1952,3870 480 | 4/24/2018,3604,3850 481 | 4/25/2018,4491,3830 482 | 4/26/2018,2421,4000 483 | 4/27/2018,3180,3980 484 | 4/28/2018,2242,3960 485 | 4/29/2018,2215,3940 486 | 4/30/2018,1751,3920 487 | 5/1/2018,3852,3900 488 | 5/2/2018,4452,3890 489 | 5/3/2018,2680,4030 490 | 5/4/2018,3715,4010 491 | 5/5/2018,3930,3990 492 | 5/6/2018,6604,3990 493 | 5/7/2018,2750,4230 494 | 5/8/2018,7044,4210 495 | 5/9/2018,6760,4470 496 | 5/10/2018,9888,4740 497 | 5/11/2018,12647,5030 498 | 5/12/2018,3791,5340 499 | 5/13/2018,4881,5270 500 | 5/14/2018,4536,5270 501 | 5/15/2018,5399,5020 502 | 5/16/2018,3345,5120 503 | 5/17/2018,7400,5040 504 | 5/18/2018,8433,5350 505 | 5/19/2018,2602,5670 506 | 5/20/2018,552,5520 507 | 5/21/2018,2783,5250 508 | 5/22/2018,5568,4990 509 | 5/23/2018,4698,5140 510 | 5/24/2018,11471,5120 511 | 5/25/2018,7121,5430 512 | 5/26/2018,12291,5760 513 | 5/27/2018,5896,6110 514 | 5/28/2018,922,6100 515 | 5/29/2018,6736,5800 516 | 5/30/2018,5105,6040 517 | 5/31/2018,6873,6000 518 | 6/1/2018,6274,6220 519 | 6/2/2018,1987,6260 520 | 6/3/2018,5770,6050 521 | 6/4/2018,4741,4110 522 | 6/5/2018,6483,4180 523 | 6/6/2018,8651,4640 524 | 6/7/2018,6019,5450 525 | 6/8/2018,6301,5570 526 | 6/9/2018,16999,5720 527 | 6/10/2018,1823,7720 528 | 6/11/2018,2113,7130 529 | 6/12/2018,5120,6130 530 | 6/13/2018,5195,5930 531 | 6/14/2018,6483,5790 532 | 6/15/2018,6840,5860 533 | 6/16/2018,5509,6060 534 | 6/17/2018,2942,6010 535 | 6/18/2018,4394,5400 536 | 6/19/2018,5479,5200 537 | 6/20/2018,5277,5230 538 | 6/21/2018,13504,5240 539 | 6/22/2018,11973,6900 540 | 6/23/2018,15426,7920 541 | 6/24/2018,16525,9430 542 | 6/25/2018,3498,10850 543 | 6/26/2018,1913,10120 544 | 6/27/2018,1573,8480 545 | 6/28/2018,1585,7100 546 | 6/29/2018,1706,6000 547 | 6/30/2018,2835,5150 548 | 7/1/2018,1930,4690 549 | 7/2/2018,2317,4140 550 | 7/3/2018,5261,3780 551 | 7/4/2018,5930,3930 552 | 7/5/2018,5287,4330 553 | 7/6/2018,8729,4530 554 | 7/7/2018,1233,5370 555 | 7/8/2018,3412,4960 556 | 7/9/2018,2456,4650 557 | 7/10/2018,2200,4220 558 | 7/11/2018,4786,3820 559 | -------------------------------------------------------------------------------- /examples/src/App.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 89 | 90 | 142 | -------------------------------------------------------------------------------- /examples/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jscharting/jscharting-vue/9c1f4a8ba8e0e8d3c15c084bad65900468da87fa/examples/src/assets/logo.png -------------------------------------------------------------------------------- /examples/src/components/calendarHeatmap.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 54 | -------------------------------------------------------------------------------- /examples/src/components/chartDash.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 159 | 160 | 199 | -------------------------------------------------------------------------------- /examples/src/components/chartDataGrid.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 52 | -------------------------------------------------------------------------------- /examples/src/components/circularColorBar.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 111 | -------------------------------------------------------------------------------- /examples/src/components/circularGauge.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 81 | -------------------------------------------------------------------------------- /examples/src/components/dataGrid.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 41 | -------------------------------------------------------------------------------- /examples/src/components/interactiveLine.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 154 | -------------------------------------------------------------------------------- /examples/src/components/liveData.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | 12 | 118 | -------------------------------------------------------------------------------- /examples/src/components/mapChoropleth.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | 15 | 107 | -------------------------------------------------------------------------------- /examples/src/components/masterDetail.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 20 | 21 | 149 | -------------------------------------------------------------------------------- /examples/src/components/methodUpdate.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 69 | -------------------------------------------------------------------------------- /examples/src/components/microchartFast.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 64 | -------------------------------------------------------------------------------- /examples/src/components/simpleLine.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | 11 | 127 | -------------------------------------------------------------------------------- /examples/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import App from './App.vue'; 3 | 4 | Vue.config.productionTip = false; 5 | 6 | new Vue({ 7 | render: h => h(App) 8 | }).$mount('#app'); 9 | -------------------------------------------------------------------------------- /examples/vue.config.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 2 | const path = require('path'); 3 | 4 | module.exports = { 5 | publicPath: process.env.NODE_ENV === 'production' 6 | ? '/my-project/' 7 | : '/', 8 | configureWebpack: { 9 | plugins: [ 10 | new CopyWebpackPlugin([ 11 | { 12 | from: path.join(__dirname, 'node_modules/jscharting/dist/'), 13 | to: path.join(__dirname, 'dist/assets/jscharting/'), 14 | ignore: ['jscharting.*'] 15 | } 16 | ]) 17 | ] 18 | } 19 | }; 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jscharting-vue", 3 | "version": "2.4.0", 4 | "description": "JSCharting plugin for Vue.js", 5 | "homepage": "https://jscharting.com/", 6 | "author": "JSCharting (https://jscharting.com/support.htm)", 7 | "bugs": { 8 | "email": "support@jscharting.com" 9 | }, 10 | "license": "jscharting.com/store/", 11 | "main": "./src/main.js", 12 | "typings": "types/jscharting-vue.d.ts", 13 | "scripts": { 14 | "build-examples": "cd examples && npm install && npm run build", 15 | "build-examples-vue3": "cd examples-vue3 && npm install && npm run build", 16 | "serve-examples": "cd examples && npm install && npm run serve", 17 | "serve-examples-vue3": "cd examples-vue3 && npm install && npm run serve", 18 | "lint": "eslint src/components/** scripts/** ", 19 | "format": "prettier --config ./.prettierrc.js --write src/**/*.vue tests/** scripts/**", 20 | "postinstall": "node ./scripts/postinstall.js", 21 | "test": "jest" 22 | }, 23 | "jest": { 24 | "moduleFileExtensions": [ 25 | "js", 26 | "json", 27 | "vue" 28 | ], 29 | "transform": { 30 | "^.+\\.js$": "/node_modules/babel-jest", 31 | ".*\\.(vue)$": "/node_modules/vue-jest" 32 | }, 33 | "moduleNameMapper": { 34 | "^@/(.*)$": "/src/components/$1" 35 | } 36 | }, 37 | "dependencies": { 38 | "jscharting": "^3.4.0" 39 | }, 40 | "devDependencies": { 41 | "@babel/core": "^7.16.5", 42 | "@babel/preset-env": "^7.8.3", 43 | "@vue/cli-plugin-babel": "~4.5.0", 44 | "@vue/cli-plugin-eslint": "^4.1.0", 45 | "@vue/cli-plugin-typescript": "~4.5.0", 46 | "@vue/cli-service": "~4.5.0", 47 | "@vue/compiler-sfc": "^3.0.7", 48 | "@vue/test-utils": "^1.0.0-beta.31", 49 | "babel-core": "^7.0.0-bridge.0", 50 | "babel-eslint": "^10.0.3", 51 | "core-js": "^3.4.3", 52 | "eslint": "^5.16.0", 53 | "eslint-plugin-vue": "^5.0.0", 54 | "jest": "^25.1.0", 55 | "prettier": "^1.19.1", 56 | "vue": "^2.6.10", 57 | "vue-jest": "^3.0.5", 58 | "vue-template-compiler": "^2.6.10" 59 | }, 60 | "peerDependencies": { 61 | "vue": "^2.6.10 || >=3.0.5" 62 | }, 63 | "eslintConfig": { 64 | "root": true, 65 | "env": { 66 | "node": true, 67 | "jest": true 68 | }, 69 | "extends": [ 70 | "plugin:vue/essential", 71 | "eslint:recommended" 72 | ], 73 | "rules": {}, 74 | "parserOptions": { 75 | "parser": "babel-eslint" 76 | } 77 | }, 78 | "browserslist": [ 79 | "> 1%", 80 | "last 2 versions" 81 | ], 82 | "repository": { 83 | "type": "git", 84 | "url": "git+https://github.com/jscharting/jscharting-vue.git" 85 | }, 86 | "keywords": [ 87 | "charts", 88 | "dataviz", 89 | "graphs", 90 | "visualization", 91 | "javascript-chart", 92 | "javascript", 93 | "vuejs", 94 | "vue" 95 | ], 96 | "files": [ 97 | "src/", 98 | "types/", 99 | "scripts/", 100 | "*.md", 101 | "babel.config.js", 102 | ".travis.yml" 103 | ] 104 | } 105 | -------------------------------------------------------------------------------- /scripts/postinstall.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | console.log('POST INSTALL'); 3 | const fs = require('fs'); 4 | const path = require('path'); 5 | const dir = path.resolve(__dirname, '..', 'src/components'); 6 | 7 | function loadModule(name) { 8 | try { 9 | return require(name); 10 | } catch (e) { 11 | return undefined; 12 | } 13 | } 14 | 15 | const Vue = loadModule('vue'); 16 | 17 | if (!Vue || typeof Vue.version !== 'string') { 18 | console.warn( 19 | '[jscharting-vue] Vue is not found. Please run "npm install vue" to install.' 20 | ); 21 | } else if (Vue.version.startsWith('3.')) { 22 | // read files from component directory 23 | const files = fs.readdirSync(dir); 24 | files.forEach(file => { 25 | const readFile = fs.readFileSync(path.join(dir, file), 'utf8'); 26 | 27 | // replace beforeDestroy lifecycle hook with beforeUnmount 28 | const newFile = readFile.replace(/beforeDestroy/g, 'beforeUnmount'); 29 | fs.writeFileSync(path.join(dir, file), newFile, 'utf8'); 30 | }); 31 | } else if (!Vue.version.startsWith('2.')) { 32 | console.warn( 33 | `[jscharting-vue] Vue version v${Vue.version} is not suppported.` 34 | ); 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jscharting/jscharting-vue/9c1f4a8ba8e0e8d3c15c084bad65900468da87fa/src/assets/logo.png -------------------------------------------------------------------------------- /src/components/jscgrid.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 48 | -------------------------------------------------------------------------------- /src/components/jscharting.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 72 | -------------------------------------------------------------------------------- /src/components/jsclabel.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 36 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import JSCharting from './components/jscharting.vue'; 2 | import JSCLabel from './components/jsclabel.vue'; 3 | import JSCGrid from './components/jscgrid.vue'; 4 | import * as JSC from 'jscharting'; 5 | 6 | export default JSCharting; 7 | export { JSCharting, JSCLabel, JSCGrid, JSC }; 8 | -------------------------------------------------------------------------------- /tests/jscgrid.test.js: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils'; 2 | import { JSCGrid } from '../src/main'; 3 | 4 | describe('JSCGrid unit tests', () => { 5 | const wrapper = mount(JSCGrid, { 6 | propsData: { 7 | options: { 8 | className: 'jscTable', 9 | data: [ 10 | ['Art', 5, 10], 11 | ['Greg', 3, 6], 12 | ['Olivia', 11, 8], 13 | ['Steve', 11, 4], 14 | ['Anna', 3, 8] 15 | ] 16 | } 17 | } 18 | }); 19 | 20 | test('Wrapper is a Vue instance', () => { 21 | expect(wrapper.exists()).toBeTruthy(); 22 | }); 23 | 24 | test('Grid should be destroyed after component is destroyed.', () => { 25 | wrapper.destroy(); 26 | expect(wrapper.element.innerHTML === '').toBeTruthy(); 27 | }); 28 | }); 29 | -------------------------------------------------------------------------------- /tests/jscharting.test.js: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils'; 2 | import { JSCharting } from '../src/main'; 3 | 4 | const propsData = { 5 | options: { 6 | series: [ 7 | { 8 | points: [ 9 | { 10 | x: 0, 11 | y: 1 12 | }, 13 | { 14 | x: 1, 15 | y: 2 16 | } 17 | ] 18 | } 19 | ] 20 | } 21 | }; 22 | 23 | describe('JSCharting unit tests', () => { 24 | const wrapper = mount(JSCharting, { propsData }); 25 | const chart = wrapper.vm.instance; 26 | 27 | test('Wrapper is a Vue instance', () => { 28 | expect(wrapper.exists()).toBeTruthy(); 29 | }); 30 | 31 | test('Component has JSCharting instance', () => { 32 | expect(chart).not.toBeUndefined(); 33 | }); 34 | 35 | test('Chart data is set correctly', () => { 36 | expect(chart.options('series')[0].points[0].x).toBe(0); 37 | expect(chart.options('series')[0].points[0].y).toBe(1); 38 | expect(chart.options('series')[0].points[1].x).toBe(1); 39 | expect(chart.options('series')[0].points[1].y).toBe(2); 40 | }); 41 | 42 | test('Rendered event should be invoked.', () => { 43 | expect(wrapper.emitted().rendered).toBeTruthy(); 44 | }); 45 | 46 | test('Chart should be destroyed after component is unmounted.', () => { 47 | wrapper.destroy(); 48 | expect(wrapper.vm.instance).toBeUndefined(); 49 | }); 50 | }); 51 | -------------------------------------------------------------------------------- /tests/jsclabel.test.js: -------------------------------------------------------------------------------- 1 | import { mount } from '@vue/test-utils'; 2 | import { JSCLabel } from '../src/main'; 3 | 4 | describe('JSCLabel unit tests', () => { 5 | const wrapper = mount(JSCLabel, { 6 | propsData: { options: 'JSCLabel test string' } 7 | }); 8 | const element = wrapper.element; 9 | 10 | test('Wrapper is a Vue instance', () => { 11 | expect(wrapper.exists()).toBeTruthy(); 12 | }); 13 | 14 | test('Label data is set correctly', () => { 15 | let renderedString = 16 | 'JSCLabel test string'; 17 | expect(element.innerHTML.indexOf(renderedString) > -1).toBeTruthy(); 18 | }); 19 | 20 | test('Label should be destroyed after component is destroyed.', () => { 21 | wrapper.destroy(); 22 | expect(wrapper.element.innerHTML === '').toBeTruthy(); 23 | }); 24 | }); 25 | -------------------------------------------------------------------------------- /types/jscharting-vue.d.ts: -------------------------------------------------------------------------------- 1 | import Vue, {WatchOptionsWithHandler} from 'vue' 2 | import * as JSC from 'jscharting'; 3 | 4 | export interface ChartWatchObject { 5 | options: WatchOptionsWithHandler; 6 | } 7 | 8 | // Chart 9 | export interface ChartPropsObject { 10 | options: JSC.JSCChartConfig; 11 | mutable?: boolean; 12 | ignoreStateUpdate?: boolean; 13 | } 14 | 15 | export default class JSCharting extends Vue { 16 | props: ChartPropsObject; 17 | template: string; 18 | watch: ChartWatchObject; 19 | beforeDestroy: () => void; 20 | mounted: () => void; 21 | createChart: () => void; 22 | destroyChart: () => void; 23 | instance?: JSC.Chart; 24 | 25 | } 26 | 27 | // Grid 28 | export interface GridPropsObject { 29 | options: JSC.JSCGridConfig; 30 | mutable?: boolean; 31 | } 32 | 33 | export class JSCGrid extends Vue { 34 | props: GridPropsObject; 35 | template: string; 36 | watch: ChartWatchObject; 37 | beforeDestroy: () => void; 38 | mounted: () => void; 39 | renderGrid: () => void; 40 | destroyGrid: () => void; 41 | 42 | } 43 | 44 | // Label 45 | export interface LabelPropsObject { 46 | options: string; 47 | } 48 | 49 | export class JSCLabel extends Vue { 50 | props: LabelPropsObject; 51 | template: string; 52 | watch: ChartWatchObject; 53 | beforeDestroy: () => void; 54 | mounted: () => void; 55 | renderGrid: () => void; 56 | destroyGrid: () => void; 57 | 58 | } 59 | 60 | export {JSC as JSC}; 61 | 62 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | configureWebpack: { 3 | externals: { 4 | jscharting: 'jscharting' 5 | } 6 | } 7 | }; 8 | --------------------------------------------------------------------------------