Add chart components
This commit is contained in:
parent
dc3b67961d
commit
dcdf9327a2
@ -11,9 +11,11 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bootstrap": "^4.0.0",
|
"bootstrap": "^4.0.0",
|
||||||
|
"chart.js": "^2.7.2",
|
||||||
"chartist": "^0.11.0",
|
"chartist": "^0.11.0",
|
||||||
"es6-promise": "^4.2.4",
|
"es6-promise": "^4.2.4",
|
||||||
"vue": "^2.5.17",
|
"vue": "^2.5.17",
|
||||||
|
"vue-chartjs": "^3.4.0",
|
||||||
"vue-router": "^3.0.1",
|
"vue-router": "^3.0.1",
|
||||||
"vue2-transitions": "^0.2.3"
|
"vue2-transitions": "^0.2.3"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,113 +0,0 @@
|
|||||||
<template>
|
|
||||||
<card>
|
|
||||||
<template slot="header">
|
|
||||||
<h4 v-if="$slots.title || title" class="card-title">
|
|
||||||
<slot name="title">
|
|
||||||
{{title}}
|
|
||||||
</slot>
|
|
||||||
</h4>
|
|
||||||
<p class="card-category">
|
|
||||||
<slot name="subTitle">
|
|
||||||
{{subTitle}}
|
|
||||||
</slot>
|
|
||||||
</p>
|
|
||||||
</template>
|
|
||||||
<div>
|
|
||||||
<div :id="chartId" class="ct-chart"></div>
|
|
||||||
<div class="footer">
|
|
||||||
<div class="chart-legend">
|
|
||||||
<slot name="legend"></slot>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
<div class="stats">
|
|
||||||
<slot name="footer"></slot>
|
|
||||||
</div>
|
|
||||||
<div class="pull-right">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</card>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
import Card from "./Card.vue";
|
|
||||||
export default {
|
|
||||||
name: "chart-card",
|
|
||||||
components: {
|
|
||||||
Card
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
footerText: {
|
|
||||||
type: String,
|
|
||||||
default: ""
|
|
||||||
},
|
|
||||||
title: {
|
|
||||||
type: String,
|
|
||||||
default: ""
|
|
||||||
},
|
|
||||||
subTitle: {
|
|
||||||
type: String,
|
|
||||||
default: ""
|
|
||||||
},
|
|
||||||
chartType: {
|
|
||||||
type: String,
|
|
||||||
default: "Line" // Line | Pie | Bar
|
|
||||||
},
|
|
||||||
chartOptions: {
|
|
||||||
type: Object,
|
|
||||||
default: () => {
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
chartData: {
|
|
||||||
type: Object,
|
|
||||||
default: () => {
|
|
||||||
return {
|
|
||||||
labels: [],
|
|
||||||
series: []
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
chartId: "no-id"
|
|
||||||
};
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
/***
|
|
||||||
* Initializes the chart by merging the chart options sent via props and the default chart options
|
|
||||||
*/
|
|
||||||
initChart(Chartist) {
|
|
||||||
const chartIdQuery = `#${this.chartId}`;
|
|
||||||
Chartist[this.chartType](
|
|
||||||
chartIdQuery,
|
|
||||||
this.chartData,
|
|
||||||
this.chartOptions
|
|
||||||
);
|
|
||||||
},
|
|
||||||
/***
|
|
||||||
* Assigns a random id to the chart
|
|
||||||
*/
|
|
||||||
updateChartId() {
|
|
||||||
const currentTime = new Date().getTime().toString();
|
|
||||||
const randomInt = this.getRandomInt(0, currentTime);
|
|
||||||
this.chartId = `div_${randomInt}`;
|
|
||||||
},
|
|
||||||
getRandomInt(min, max) {
|
|
||||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.updateChartId();
|
|
||||||
import('chartist').then((Chartist) => {
|
|
||||||
let ChartistLib = Chartist.default || Chartist ;
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.initChart(ChartistLib);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
<style>
|
|
||||||
</style>
|
|
||||||
57
src/components/Charts/BarChart.js
Normal file
57
src/components/Charts/BarChart.js
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
import { Bar } from 'vue-chartjs';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'bar-chart',
|
||||||
|
extends: Bar,
|
||||||
|
props: {
|
||||||
|
labels: Array,
|
||||||
|
datasets: Array,
|
||||||
|
data: [Array, Object],
|
||||||
|
color: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
extraOptions: Object,
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
gradientColors: {
|
||||||
|
type: Array,
|
||||||
|
deafault: () => ['rgba(72,72,176,0.2)', 'rgba(72,72,176,0.0)', 'rgba(119,52,169,0)'],
|
||||||
|
validator: val =>{
|
||||||
|
return val.length > 2;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
let fallBackColor = '#d048b6';
|
||||||
|
let color = this.color || fallBackColor;
|
||||||
|
const ctx = document.getElementById(this.chartId).getContext('2d');
|
||||||
|
const gradientStroke = ctx.createLinearGradient(0, 230, 0, 50);
|
||||||
|
|
||||||
|
gradientStroke.addColorStop(1, this.gradientColors[0]);
|
||||||
|
gradientStroke.addColorStop(0.2, this.gradientColors[1]);
|
||||||
|
gradientStroke.addColorStop(0, this.gradientColors[2]); //purple colors
|
||||||
|
|
||||||
|
this.renderChart(
|
||||||
|
{
|
||||||
|
labels: this.labels || [],
|
||||||
|
datasets: this.datasets
|
||||||
|
? this.datasets
|
||||||
|
: [{
|
||||||
|
label: this.title || '',
|
||||||
|
fill: true,
|
||||||
|
backgroundColor: gradientStroke,
|
||||||
|
hoverBackgroundColor: gradientStroke,
|
||||||
|
borderColor: color,
|
||||||
|
borderWidth: 2,
|
||||||
|
borderDash: [],
|
||||||
|
borderDashOffset: 0.0,
|
||||||
|
data: this.data || []
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
this.extraOptions
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
65
src/components/Charts/LineChart.js
Normal file
65
src/components/Charts/LineChart.js
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
import { Line } from 'vue-chartjs';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'line-chart',
|
||||||
|
extends: Line,
|
||||||
|
props: {
|
||||||
|
labels: Array,
|
||||||
|
datasets: Array,
|
||||||
|
data: [Array, Object],
|
||||||
|
color: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
extraOptions: Object,
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
gradientColors: {
|
||||||
|
type: Array,
|
||||||
|
deafault: () => ['rgba(72,72,176,0.2)', 'rgba(72,72,176,0.0)', 'rgba(119,52,169,0)'],
|
||||||
|
validator: val =>{
|
||||||
|
return val.length > 2;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
let fallBackColor = '#d048b6';
|
||||||
|
let color = this.color || fallBackColor;
|
||||||
|
const ctx = document.getElementById(this.chartId).getContext('2d');
|
||||||
|
const gradientStroke = ctx.createLinearGradient(0, 230, 0, 50);
|
||||||
|
|
||||||
|
gradientStroke.addColorStop(1, this.gradientColors[0]);
|
||||||
|
gradientStroke.addColorStop(0.2, this.gradientColors[1]);
|
||||||
|
gradientStroke.addColorStop(0, this.gradientColors[2]); //purple colors
|
||||||
|
|
||||||
|
this.renderChart(
|
||||||
|
{
|
||||||
|
labels: this.labels || [],
|
||||||
|
datasets: this.datasets
|
||||||
|
? this.datasets
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
label: this.title || '',
|
||||||
|
fill: true,
|
||||||
|
backgroundColor: gradientStroke,
|
||||||
|
borderColor: color,
|
||||||
|
borderWidth: 2,
|
||||||
|
borderDash: [],
|
||||||
|
borderDashOffset: 0.0,
|
||||||
|
pointBackgroundColor: color,
|
||||||
|
pointBorderColor: 'rgba(255,255,255,0)',
|
||||||
|
pointHoverBackgroundColor: color,
|
||||||
|
pointBorderWidth: 20,
|
||||||
|
pointHoverRadius: 4,
|
||||||
|
pointHoverBorderWidth: 15,
|
||||||
|
pointRadius: 4,
|
||||||
|
data: this.data || []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
this.extraOptions
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
222
src/components/Charts/config.js
Normal file
222
src/components/Charts/config.js
Normal file
@ -0,0 +1,222 @@
|
|||||||
|
|
||||||
|
export const basicOptions = {
|
||||||
|
maintainAspectRatio: false,
|
||||||
|
legend: {
|
||||||
|
display: false
|
||||||
|
},
|
||||||
|
responsive: true,
|
||||||
|
};
|
||||||
|
export let blueChartOptions = {
|
||||||
|
...basicOptions,
|
||||||
|
tooltips: {
|
||||||
|
backgroundColor: '#f5f5f5',
|
||||||
|
titleFontColor: '#333',
|
||||||
|
bodyFontColor: '#666',
|
||||||
|
bodySpacing: 4,
|
||||||
|
xPadding: 12,
|
||||||
|
mode: "nearest",
|
||||||
|
intersect: 0,
|
||||||
|
position: "nearest"
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(29,140,248,0.0)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
suggestedMin: 60,
|
||||||
|
suggestedMax: 125,
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#2380f7"
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
|
||||||
|
xAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(29,140,248,0.1)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#2380f7"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export let purpleChartOptions = {
|
||||||
|
...basicOptions,
|
||||||
|
tooltips: {
|
||||||
|
backgroundColor: '#f5f5f5',
|
||||||
|
titleFontColor: '#333',
|
||||||
|
bodyFontColor: '#666',
|
||||||
|
bodySpacing: 4,
|
||||||
|
xPadding: 12,
|
||||||
|
mode: "nearest",
|
||||||
|
intersect: 0,
|
||||||
|
position: "nearest"
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(29,140,248,0.0)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
suggestedMin: 60,
|
||||||
|
suggestedMax: 125,
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#9a9a9a"
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
|
||||||
|
xAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(225,78,202,0.1)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#9a9a9a"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export let orangeChartOptions = {
|
||||||
|
...basicOptions,
|
||||||
|
tooltips: {
|
||||||
|
backgroundColor: '#f5f5f5',
|
||||||
|
titleFontColor: '#333',
|
||||||
|
bodyFontColor: '#666',
|
||||||
|
bodySpacing: 4,
|
||||||
|
xPadding: 12,
|
||||||
|
mode: "nearest",
|
||||||
|
intersect: 0,
|
||||||
|
position: "nearest"
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(29,140,248,0.0)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
suggestedMin: 50,
|
||||||
|
suggestedMax: 110,
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#ff8a76"
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
|
||||||
|
xAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(220,53,69,0.1)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#ff8a76"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
export let greenChartOptions = {
|
||||||
|
...basicOptions,
|
||||||
|
tooltips: {
|
||||||
|
backgroundColor: '#f5f5f5',
|
||||||
|
titleFontColor: '#333',
|
||||||
|
bodyFontColor: '#666',
|
||||||
|
bodySpacing: 4,
|
||||||
|
xPadding: 12,
|
||||||
|
mode: "nearest",
|
||||||
|
intersect: 0,
|
||||||
|
position: "nearest"
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(29,140,248,0.0)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
suggestedMin: 50,
|
||||||
|
suggestedMax: 125,
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#9e9e9e"
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
|
||||||
|
xAxes: [{
|
||||||
|
barPercentage: 1.6,
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(0,242,195,0.1)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#9e9e9e"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export let barChartOptions = {
|
||||||
|
...basicOptions,
|
||||||
|
tooltips: {
|
||||||
|
backgroundColor: '#f5f5f5',
|
||||||
|
titleFontColor: '#333',
|
||||||
|
bodyFontColor: '#666',
|
||||||
|
bodySpacing: 4,
|
||||||
|
xPadding: 12,
|
||||||
|
mode: "nearest",
|
||||||
|
intersect: 0,
|
||||||
|
position: "nearest"
|
||||||
|
},
|
||||||
|
scales: {
|
||||||
|
yAxes: [{
|
||||||
|
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(29,140,248,0.1)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
suggestedMin: 60,
|
||||||
|
suggestedMax: 120,
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#9e9e9e"
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
xAxes: [{
|
||||||
|
|
||||||
|
gridLines: {
|
||||||
|
drawBorder: false,
|
||||||
|
color: 'rgba(29,140,248,0.1)',
|
||||||
|
zeroLineColor: "transparent",
|
||||||
|
},
|
||||||
|
ticks: {
|
||||||
|
padding: 20,
|
||||||
|
fontColor: "#9e9e9e"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
11
src/components/Charts/utils.js
Normal file
11
src/components/Charts/utils.js
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
export function hexToRGB(hex, alpha) {
|
||||||
|
const r = parseInt(hex.slice(1, 3), 16),
|
||||||
|
g = parseInt(hex.slice(3, 5), 16),
|
||||||
|
b = parseInt(hex.slice(5, 7), 16);
|
||||||
|
|
||||||
|
if (alpha) {
|
||||||
|
return `rgba(${r},${g},${b}, ${alpha})`;
|
||||||
|
} else {
|
||||||
|
return `rgb(${r},${g},${b})`;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -6,7 +6,6 @@ import BaseButton from "./BaseButton";
|
|||||||
import BaseAlert from "./BaseAlert";
|
import BaseAlert from "./BaseAlert";
|
||||||
|
|
||||||
import Card from "./Cards/Card.vue";
|
import Card from "./Cards/Card.vue";
|
||||||
import ChartCard from "./Cards/ChartCard.vue";
|
|
||||||
import StatsCard from "./Cards/StatsCard.vue";
|
import StatsCard from "./Cards/StatsCard.vue";
|
||||||
|
|
||||||
import SidebarPlugin from "./SidebarPlugin/index";
|
import SidebarPlugin from "./SidebarPlugin/index";
|
||||||
@ -14,7 +13,6 @@ import SidebarPlugin from "./SidebarPlugin/index";
|
|||||||
export {
|
export {
|
||||||
FormGroupInput,
|
FormGroupInput,
|
||||||
Card,
|
Card,
|
||||||
ChartCard,
|
|
||||||
StatsCard,
|
StatsCard,
|
||||||
BaseTable,
|
BaseTable,
|
||||||
BaseDropdown,
|
BaseDropdown,
|
||||||
|
|||||||
32
yarn.lock
32
yarn.lock
@ -1677,10 +1677,30 @@ chardet@^0.4.0:
|
|||||||
version "0.4.2"
|
version "0.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
|
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
|
||||||
|
|
||||||
|
chart.js@^2.7.2:
|
||||||
|
version "2.7.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.7.2.tgz#3c9fde4dc5b95608211bdefeda7e5d33dffa5714"
|
||||||
|
dependencies:
|
||||||
|
chartjs-color "^2.1.0"
|
||||||
|
moment "^2.10.2"
|
||||||
|
|
||||||
chartist@^0.11.0:
|
chartist@^0.11.0:
|
||||||
version "0.11.0"
|
version "0.11.0"
|
||||||
resolved "https://registry.yarnpkg.com/chartist/-/chartist-0.11.0.tgz#84ba5e05490d096d93dcfa9343ebc31ef6a3bd28"
|
resolved "https://registry.yarnpkg.com/chartist/-/chartist-0.11.0.tgz#84ba5e05490d096d93dcfa9343ebc31ef6a3bd28"
|
||||||
|
|
||||||
|
chartjs-color-string@^0.5.0:
|
||||||
|
version "0.5.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz#8d3752d8581d86687c35bfe2cb80ac5213ceb8c1"
|
||||||
|
dependencies:
|
||||||
|
color-name "^1.0.0"
|
||||||
|
|
||||||
|
chartjs-color@^2.1.0:
|
||||||
|
version "2.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.2.0.tgz#84a2fb755787ed85c39dd6dd8c7b1d88429baeae"
|
||||||
|
dependencies:
|
||||||
|
chartjs-color-string "^0.5.0"
|
||||||
|
color-convert "^0.5.3"
|
||||||
|
|
||||||
check-types@^7.3.0:
|
check-types@^7.3.0:
|
||||||
version "7.4.0"
|
version "7.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4"
|
resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4"
|
||||||
@ -1814,6 +1834,10 @@ collection-visit@^1.0.0:
|
|||||||
map-visit "^1.0.0"
|
map-visit "^1.0.0"
|
||||||
object-visit "^1.0.0"
|
object-visit "^1.0.0"
|
||||||
|
|
||||||
|
color-convert@^0.5.3:
|
||||||
|
version "0.5.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd"
|
||||||
|
|
||||||
color-convert@^1.9.0:
|
color-convert@^1.9.0:
|
||||||
version "1.9.1"
|
version "1.9.1"
|
||||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
|
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
|
||||||
@ -4681,6 +4705,10 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdi
|
|||||||
dependencies:
|
dependencies:
|
||||||
minimist "0.0.8"
|
minimist "0.0.8"
|
||||||
|
|
||||||
|
moment@^2.10.2:
|
||||||
|
version "2.22.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66"
|
||||||
|
|
||||||
move-concurrently@^1.0.1:
|
move-concurrently@^1.0.1:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
|
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
|
||||||
@ -7219,6 +7247,10 @@ vm-browserify@0.0.4:
|
|||||||
dependencies:
|
dependencies:
|
||||||
indexof "0.0.1"
|
indexof "0.0.1"
|
||||||
|
|
||||||
|
vue-chartjs@^3.4.0:
|
||||||
|
version "3.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/vue-chartjs/-/vue-chartjs-3.4.0.tgz#669e4453be0676605fc9290b3b581867ccd15c88"
|
||||||
|
|
||||||
vue-eslint-parser@^2.0.3:
|
vue-eslint-parser@^2.0.3:
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1"
|
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user