coerce hasMetrics to a boolean value before instantiating the Vue component

上级 de382f5c
......@@ -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();
......
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),
},
});
},
});
......
......@@ -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(() => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册