Let's take another step. What if we pull Chart.js in through NPM, and then leverage Browserify, so that we may write modern ES6+ code? Let's get started on that workflow in this episode.
Let's continue working on structure, as we create a reusable graph
Vue component. If you've worked your way through any of the Vue series at Laracasts, this should all be a cinch!
View the relevant source for this lesson on GitHub.
Chart.js can automatically generate a chart "legend" for you; however, it's up to you to insert it into the DOM and add any applicable styling. I'll show you the basic workflow in this lesson.
In this lesson, we'll create a master Graph
component, to which all other specific graphs may extend. This way, we may use custom properties that are unique to each type of graph that are application requires.
View the source for this lesson on GitHub.
Imagine that your boss assigns you the task of rendering a graph to display the company's monthly revenue. Well, it sounds like we'll need to perform the proper database query (which groups and sums the revenue for the month), and then we'll of course pass that data to our graph
component. Let's get started.
View the source for this lesson on GitHub.
Now what if you want your graph to instead fire an AJAX request to fetch your desired data? No problem! Let's add a url
custom property to our graph
component, and then leverage the Vue Resource plugin to perform the request.
View the source code for this lesson on GitHub.
How might we make our graphs more dynamic? Maybe we want to limit revenue to only x
number of days; and, further, we should be able to modify this range on the fly, without requiring a page reload. Well, I'll show you how!
View the source code for this lesson on GitHub.