Compare commits

..

23 Commits
1.0.2 ... 1.1.2

Author SHA1 Message Date
Jakub Juszczak
45d500d401 💎 Release new version 1.1.2
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-09-07 10:24:07 +02:00
Jakub Juszczak
9f02e95355 🐛 Fix props 2016-09-07 10:19:05 +02:00
Jakub Juszczak
d80eace435 📝 Update CHANGELOG 2016-08-23 20:59:21 +02:00
Jakub Juszczak
d9f95fd737 💎 Release new version 1.1.1
Updated ChartJs
2016-08-23 20:55:04 +02:00
Jakub Juszczak
e3f9936049 📝 Update CHANGELOG to 1.1.0
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-21 14:42:16 +02:00
Jakub Juszczak
2f66dd9a44 📝 📖 🐛 Fix README and Template
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-21 14:41:59 +02:00
Jakub Juszczak
a3bed8b8b6 💎 Release new version 1.1.0
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-21 14:38:34 +02:00
Jakub Juszczak
e48f4eaeec 📝 📖 Add Github issue and contribution templates
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-21 14:38:15 +02:00
Jakub Juszczak
57f3c651ed 📝 Update README with contribution and license section
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-21 14:26:38 +02:00
Jakub Juszczak
3c5c572a86 📝 📖 Add CODE OF CONDUCT
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-21 14:24:28 +02:00
Jakub Juszczak
c677dcb55a 📝 📖 Add LICENSE
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-21 14:24:17 +02:00
Jakub Juszczak
f5005fbd67 📝 Update CHANGELOG.md 2016-08-21 14:07:40 +02:00
Jakub
5258ab1a0f Feature/merge options #5 (#6)
*  Add dependency lodash

*  Add helper function to merge chartOptions

* Change Charts to merge options

* And renamed options data to defaultOptions
2016-08-21 14:04:34 +02:00
Jakub Juszczak
df7b6ec93e 🐛 Fix npm badge
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-20 12:40:59 +02:00
Jakub Juszczak
9a8e8d6e1e 📝 Update CHANGELOG.md
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-20 12:25:02 +02:00
Jakub Juszczak
8138969058 💎 Release new version 1.0.3
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-20 12:18:48 +02:00
Jakub Juszczak
e128ee27c7 Add changelog
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-08-19 23:57:04 +02:00
Jakub
ad7cabe809 Merge pull request #3 from LinusBorg/properly_destroy_chartsjs_objects
Properly destroy chartjs objects
2016-08-19 23:27:03 +02:00
Jakub Juszczak
d1bd9ef5ee Merge branch 'master' into develop
* master:
  Update README.md
2016-08-19 23:20:55 +02:00
Thorsten
90d9d87523 correct hook name. 2016-08-19 21:35:10 +02:00
Thorsten
998b190007 save chart instance on vm instance and add destroy() hooks to properly destroy chart when component is destroyed. 2016-08-19 21:30:39 +02:00
Jakub
44eb15a89a Update README.md
Add dependency badge
2016-08-01 20:04:03 +02:00
Jakub Juszczak
4c84718f7c Add npm badge
Signed-off-by: Jakub Juszczak <netghost03@gmail.com>
2016-07-27 22:07:55 +02:00
17 changed files with 221 additions and 65 deletions

10
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,10 @@
Thank you for contributing vue-chartjs!
=========================================
Please follow this steps:
1. Fork it ( https://github.com/apertureless/vue-chartjs/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

14
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,14 @@
### Expected Behavior
### Actual Behavior
### Environment
- OS: Write here
- NPM Version: Write here

12
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,12 @@
### Fix or Enhancement?
- [ ] All tests passed
### Environment
- OS: Write here
- NPM Version: Write here

28
CHANGELOG.md Normal file
View File

@@ -0,0 +1,28 @@
# Change Log
## [1.1.1](https://github.com/apertureless/vue-chartjs/tree/1.1.1) (2016-08-23)
[Full Changelog](https://github.com/apertureless/vue-chartjs/compare/1.1.0...1.1.1)
## [1.1.0](https://github.com/apertureless/vue-chartjs/tree/1.1.0) (2016-08-21)
[Full Changelog](https://github.com/apertureless/vue-chartjs/compare/1.0.3...1.1.0)
**Implemented enhancements:**
- Use Vue.util.mergeOptions to merge default options with user's options [\#5](https://github.com/apertureless/vue-chartjs/issues/5)
**Merged pull requests:**
- Feature/merge options \#5 [\#6](https://github.com/apertureless/vue-chartjs/pull/6) ([apertureless](https://github.com/apertureless))
## [1.0.3](https://github.com/apertureless/vue-chartjs/tree/1.0.3) (2016-08-20)
[Full Changelog](https://github.com/apertureless/vue-chartjs/compare/1.0.2...1.0.3)
**Implemented enhancements:**
- Publish on NPM [\#2](https://github.com/apertureless/vue-chartjs/issues/2)
- Properly destroy chartjs objects [\#3](https://github.com/apertureless/vue-chartjs/pull/3) ([LinusBorg](https://github.com/LinusBorg))
## [1.0.2](https://github.com/apertureless/vue-chartjs/tree/1.0.2) (2016-07-27)
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*

13
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,13 @@
# Contributor Code of Conduct
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)

21
LICENSE.txt Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2016 Jakub Juszczak
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,5 +1,7 @@
# Vue-ChartJs
[![npm version](https://badge.fury.io/js/vue-chartjs.svg)](https://badge.fury.io/js/vue-chartjs) ![npm dependencies](https://david-dm.org/apertureless/vue-chartjs.svg)
> VueJS wrapper for ChartJs
## Install
@@ -140,3 +142,15 @@ npm test
```
For detailed explanation on how things work, checkout the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
## Contributing
1. Fork it ( https://github.com/apertureless/vue-chartjs/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request
## License
This software is distributed under [MIT license](LICENSE.txt).

34
dist/vue-chartjs.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "vue-chartjs",
"version": "1.0.2",
"version": "1.1.1",
"description": "Vue wrapper for chart.js",
"author": "Jakub Juszczak <jakub@nextindex.de>",
"repository": {
@@ -34,13 +34,16 @@
"babel-plugin-transform-runtime": "^6.0.0",
"babel-preset-es2015": "^6.0.0",
"babel-preset-stage-2": "^6.0.0",
"chai": "^3.5.0",
"chromedriver": "^2.21.2",
"connect-history-api-fallback": "^1.1.0",
"cross-spawn": "^2.1.5",
"css-loader": "^0.23.0",
"eslint": "^2.10.2",
"eslint-config-standard": "^5.1.0",
"eslint-friendly-formatter": "^2.0.5",
"eslint-loader": "^1.3.0",
"eslint-plugin-html": "^1.3.0",
"eslint-config-standard": "^5.1.0",
"eslint-plugin-promise": "^1.0.8",
"eslint-plugin-standard": "^1.3.2",
"eventsource-polyfill": "^0.9.6",
@@ -50,6 +53,8 @@
"function-bind": "^1.0.2",
"html-webpack-plugin": "^2.8.1",
"http-proxy-middleware": "^0.12.0",
"inject-loader": "^2.0.1",
"isparta-loader": "^2.0.0",
"json-loader": "^0.5.4",
"karma": "^0.13.15",
"karma-coverage": "^0.5.5",
@@ -59,20 +64,16 @@
"karma-sourcemap-loader": "^0.3.7",
"karma-spec-reporter": "0.0.24",
"karma-webpack": "^1.7.0",
"lodash": "^4.15.0",
"lolex": "^1.4.0",
"mocha": "^2.4.5",
"chai": "^3.5.0",
"nightwatch": "^0.8.18",
"ora": "^0.2.0",
"phantomjs-prebuilt": "^2.1.3",
"selenium-server": "2.53.0",
"shelljs": "^0.6.0",
"sinon": "^1.17.3",
"sinon-chai": "^2.8.0",
"inject-loader": "^2.0.1",
"isparta-loader": "^2.0.0",
"phantomjs-prebuilt": "^2.1.3",
"chromedriver": "^2.21.2",
"cross-spawn": "^2.1.5",
"nightwatch": "^0.8.18",
"selenium-server": "2.53.0",
"ora": "^0.2.0",
"shelljs": "^0.6.0",
"url-loader": "^0.5.7",
"vue-hot-reload-api": "^1.2.0",
"vue-html-loader": "^1.0.0",

View File

@@ -1,10 +1,11 @@
import Vue from 'vue'
import Chart from 'chart.js'
import { mergeOptions } from '../helpers/options'
export default Vue.extend({
template: `
<div>
<canvas id="bar-chart" width=width height=height v-el:canvas></canvas>
<canvas id="bar-chart" width="{{width}}" height="{{height}}" v-el:canvas></canvas>
</div>
`,
@@ -21,7 +22,7 @@ export default Vue.extend({
data () {
return {
options: {
defaultOptions: {
scales: {
yAxes: [{
ticks: {
@@ -44,15 +45,20 @@ export default Vue.extend({
},
methods: {
render (data, options = this.options) {
const chart = new Chart(
render (data, options) {
let chartOptions = mergeOptions(this.defaultOptions, options)
this._chart = new Chart(
this.$els.canvas.getContext('2d'), {
type: 'bar',
data: data,
options: options
options: chartOptions
}
)
chart.generateLegend()
this._chart.generateLegend()
}
},
beforeDestroy () {
this._chart.destroy()
}
})

View File

@@ -1,10 +1,11 @@
import Vue from 'vue'
import Chart from 'chart.js'
import { mergeOptions } from '../helpers/options'
export default Vue.extend({
template: `
<div>
<canvas id="doughnut-chart" width=width height=height v-el:canvas></canvas>
<canvas id="doughnut-chart" width={{width}} height={{height}} v-el:canvas></canvas>
</div>
`,
@@ -21,21 +22,26 @@ export default Vue.extend({
data () {
return {
options: {
defaultOptions: {
}
}
},
methods: {
render (data, options = this.options) {
const chart = new Chart(
render (data, options) {
let chartOptions = mergeOptions(this.defaultOptions, options)
this._chart = new Chart(
this.$els.canvas.getContext('2d'), {
type: 'doughnut',
data: data,
options: options
options: chartOptions
}
)
chart.generateLegend()
this._chart.generateLegend()
}
},
beforeDestroy () {
this._chart.destroy()
}
})

View File

@@ -1,10 +1,11 @@
import Vue from 'vue'
import Chart from 'chart.js'
import { mergeOptions } from '../helpers/options'
export default Vue.extend({
template: `
<div>
<canvas id="line-chart" width=width height=height v-el:canvas></canvas>
<canvas id="line-chart" width={{width}} height={{height}} v-el:canvas></canvas>
</div>
`,
@@ -21,7 +22,7 @@ export default Vue.extend({
data () {
return {
options: {
defaultOptions: {
scales: {
yAxes: [{
ticks: {
@@ -42,15 +43,20 @@ export default Vue.extend({
},
methods: {
render (data, options = this.options) {
const chart = new Chart(
render (data, options) {
let chartOptions = mergeOptions(this.defaultOptions, options)
this._chart = new Chart(
this.$els.canvas.getContext('2d'), {
type: 'line',
data: data,
options: options
options: chartOptions
}
)
chart.generateLegend()
this._chart.generateLegend()
}
},
beforeDestroy () {
this._chart.destroy()
}
})

View File

@@ -1,10 +1,11 @@
import Vue from 'vue'
import Chart from 'chart.js'
import { mergeOptions } from '../helpers/options'
export default Vue.extend({
template: `
<div>
<canvas id="pie-chart" width=width height=height v-el:canvas></canvas>
<canvas id="pie-chart" width={{width}} height={{height}} v-el:canvas></canvas>
</div>
`,
@@ -21,21 +22,26 @@ export default Vue.extend({
data () {
return {
options: {
defaultOptions: {
}
}
},
methods: {
render (data, options = this.options) {
const chart = new Chart(
render (data, options) {
let chartOptions = mergeOptions(this.defaultOptions, options)
this._chart = new Chart(
this.$els.canvas.getContext('2d'), {
type: 'pie',
data: data,
options: options
options: chartOptions
}
)
chart.generateLegend()
this._chart.generateLegend()
}
},
beforeDestroy () {
this._chart.destroy()
}
})

View File

@@ -1,10 +1,11 @@
import Vue from 'vue'
import Chart from 'chart.js'
import { mergeOptions } from '../helpers/options'
export default Vue.extend({
template: `
<div>
<canvas id="polar-chart" width=width height=height v-el:canvas></canvas>
<canvas id="polar-chart" width={{width}} height={{height}} v-el:canvas></canvas>
</div>
`,
@@ -21,21 +22,26 @@ export default Vue.extend({
data () {
return {
options: {
defaultOptions: {
}
}
},
methods: {
render (data, options = this.options) {
const chart = new Chart(
render (data, options) {
let chartOptions = mergeOptions(this.defaultOptions, options)
this._chart = new Chart(
this.$els.canvas.getContext('2d'), {
type: 'polarArea',
data: data,
options: options
options: chartOptions
}
)
chart.generateLegend()
this._chart.generateLegend()
}
},
beforeDestroy () {
this._chart.destroy()
}
})

View File

@@ -1,10 +1,11 @@
import Vue from 'vue'
import Chart from 'chart.js'
import { mergeOptions } from '../helpers/options'
export default Vue.extend({
template: `
<div>
<canvas id="radar-chart" width=width height=height v-el:canvas></canvas>
<canvas id="radar-chart" width={{width}} height={{height}} v-el:canvas></canvas>
</div>
`,
@@ -21,21 +22,26 @@ export default Vue.extend({
data () {
return {
options: {
defaultOptions: {
}
}
},
methods: {
render (data, options = this.options) {
const chart = new Chart(
render (data, options) {
let chartOptions = mergeOptions(this.defaultOptions, options)
this._chart = new Chart(
this.$els.canvas.getContext('2d'), {
type: 'radar',
data: data,
options: options
options: chartOptions
}
)
chart.generateLegend()
this._chart.generateLegend()
}
},
beforeDestroy () {
this._chart.destroy()
}
})

5
src/helpers/options.js Normal file
View File

@@ -0,0 +1,5 @@
import merge from 'lodash/fp/merge'
export function mergeOptions (obj, src) {
return merge(obj, src)
}