From 0765c8a13886147d160ac4f585d010cf1ba89498 Mon Sep 17 00:00:00 2001 From: Jose Vargas Date: Fri, 9 Aug 2019 15:59:05 -0500 Subject: Add support for stacked column charts This adds support for stacked column charts inside the monitoring dashboard --- .../components/charts/stacked_column.vue | 109 +++++++++++++++++++++ .../monitoring/components/panel_type.vue | 30 ++++++ .../monitoring/charts/stacked_column_spec.js | 27 +++++ 3 files changed, 166 insertions(+) create mode 100644 app/assets/javascripts/monitoring/components/charts/stacked_column.vue create mode 100644 spec/javascripts/monitoring/charts/stacked_column_spec.js diff --git a/app/assets/javascripts/monitoring/components/charts/stacked_column.vue b/app/assets/javascripts/monitoring/components/charts/stacked_column.vue new file mode 100644 index 00000000000..348dd52c904 --- /dev/null +++ b/app/assets/javascripts/monitoring/components/charts/stacked_column.vue @@ -0,0 +1,109 @@ + + diff --git a/app/assets/javascripts/monitoring/components/panel_type.vue b/app/assets/javascripts/monitoring/components/panel_type.vue index 96f62bc85ee..fc8f461fd2f 100644 --- a/app/assets/javascripts/monitoring/components/panel_type.vue +++ b/app/assets/javascripts/monitoring/components/panel_type.vue @@ -12,12 +12,14 @@ import { import Icon from '~/vue_shared/components/icon.vue'; import MonitorAreaChart from './charts/area.vue'; import MonitorSingleStatChart from './charts/single_stat.vue'; +import MonitorStackedColumnChart from './charts/stacked_column.vue'; import MonitorEmptyChart from './charts/empty_chart.vue'; export default { components: { MonitorAreaChart, MonitorSingleStatChart, + MonitorStackedColumnChart, MonitorEmptyChart, Icon, GlDropdown, @@ -92,6 +94,34 @@ export default { v-if="isPanelType('single-stat') && graphDataHasMetrics" :graph-data="graphData" /> + + + + + {{ __('Download CSV') }} + + + {{ __('Generate link to chart') }} + + + { + let stackedColumnChart; + const containerWidth = 200; + + beforeEach(() => { + stackedColumnChart = shallowMount(StackedColumnChart, { + propsData: { + graphData: graphDataPrometheusQueryRange, + containerWidth, + }, + }) + }); + + afterEach(() => { + stackedColumnChart.destroy(); + }); + + describe('with graphData present', () => { + it('chartData should return an array of arrays', () => { + expect(stackedColumnChart.vm.chartData.length).toBe(4); + }); + }); +}); -- cgit v1.2.1