diff --git a/app/assets/javascripts/monitoring/components/dashboard.vue b/app/assets/javascripts/monitoring/components/dashboard.vue index 04374d2e1dbe0145e601bcc258a2a301c7efa081..8ca94ef3e2ad57adf48b64576c04c386b3a97976 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 f881a3954b988e7cfe59b4f2e761fde90e87bc57..41270e015d49390e96af8c18974e382207999419 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 79924a5f3a864d8743be50a0976e24d39447af2f..c5733ef95cf5fbfb0f42c4e28bd672dfd9cfa36a 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(() => {