summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2018-03-06 03:38:42 -0600
committerMike Greiling <mike@pixelcog.com>2018-03-06 03:41:21 -0600
commit2859ddde48709afe32c66726ac811b8b717f3798 (patch)
treec95362c227a0b876bbb7bd74151ef08233945f1b
parentde382f5c01866cdeedff21048cbca4b3043a3057 (diff)
downloadgitlab-ce-2859ddde48709afe32c66726ac811b8b717f3798.tar.gz
coerce hasMetrics to a boolean value before instantiating the Vue component
-rw-r--r--app/assets/javascripts/monitoring/components/dashboard.vue8
-rw-r--r--app/assets/javascripts/monitoring/monitoring_bundle.js6
-rw-r--r--spec/javascripts/monitoring/dashboard_spec.js4
3 files changed, 11 insertions, 7 deletions
diff --git a/app/assets/javascripts/monitoring/components/dashboard.vue b/app/assets/javascripts/monitoring/components/dashboard.vue
index 04374d2e1db..8ca94ef3e2a 100644
--- a/app/assets/javascripts/monitoring/components/dashboard.vue
+++ b/app/assets/javascripts/monitoring/components/dashboard.vue
@@ -7,7 +7,6 @@
import EmptyState from './empty_state.vue';
import MonitoringStore from '../stores/monitoring_store';
import eventHub from '../event_hub';
- import { convertPermissionToBoolean } from '../../lib/utils/common_utils';
export default {
components: {
@@ -18,8 +17,9 @@
props: {
hasMetrics: {
- type: String,
- required: true,
+ type: Boolean,
+ required: false,
+ default: true,
},
showLegend: {
type: Boolean,
@@ -108,7 +108,7 @@
mounted() {
this.resizeThrottled = _.throttle(this.resize, 600);
- if (!convertPermissionToBoolean(this.hasMetrics)) {
+ if (!this.hasMetrics) {
this.state = 'gettingStarted';
} else {
this.getGraphsData();
diff --git a/app/assets/javascripts/monitoring/monitoring_bundle.js b/app/assets/javascripts/monitoring/monitoring_bundle.js
index f881a3954b9..41270e015d4 100644
--- a/app/assets/javascripts/monitoring/monitoring_bundle.js
+++ b/app/assets/javascripts/monitoring/monitoring_bundle.js
@@ -1,4 +1,5 @@
import Vue from 'vue';
+import { convertPermissionToBoolean } from '~/lib/utils/common_utils';
import Dashboard from './components/dashboard.vue';
export default () => {
@@ -10,7 +11,10 @@ export default () => {
el,
render(createElement) {
return createElement(Dashboard, {
- props: el.dataset,
+ props: {
+ ...el.dataset,
+ hasMetrics: convertPermissionToBoolean(el.dataset.hasMetrics),
+ },
});
},
});
diff --git a/spec/javascripts/monitoring/dashboard_spec.js b/spec/javascripts/monitoring/dashboard_spec.js
index 79924a5f3a8..c5733ef95cf 100644
--- a/spec/javascripts/monitoring/dashboard_spec.js
+++ b/spec/javascripts/monitoring/dashboard_spec.js
@@ -9,7 +9,7 @@ describe('Dashboard', () => {
let DashboardComponent;
let component;
const propsData = {
- hasMetrics: 'false',
+ hasMetrics: false,
documentationPath: '/path/to/docs',
settingsPath: '/path/to/settings',
clustersPath: '/path/to/clusters',
@@ -58,7 +58,7 @@ describe('Dashboard', () => {
it('shows up a loading state', (done) => {
component = new DashboardComponent({
el: document.querySelector('#prometheus-graphs'),
- propsData: { ...propsData, hasMetrics: 'true' },
+ propsData: { ...propsData, hasMetrics: true },
});
component.$mount();
Vue.nextTick(() => {