import Vue from 'vue'; import { parseBoolean } from '~/lib/utils/common_utils'; import { getParameterValues } from '~/lib/utils/url_utility'; import Dashboard from 'ee_else_ce/monitoring/components/dashboard.vue'; import store from './stores'; export default (props = {}) => { const el = document.getElementById('prometheus-graphs'); if (el && el.dataset) { if (gon.features) { store.dispatch('monitoringDashboard/setFeatureFlags', { prometheusEndpointEnabled: gon.features.environmentMetricsUsePrometheusEndpoint, multipleDashboardsEnabled: gon.features.environmentMetricsShowMultipleDashboards, additionalPanelTypesEnabled: gon.features.environmentMetricsAdditionalPanelTypes, }); } const [currentDashboard] = getParameterValues('dashboard'); // eslint-disable-next-line no-new new Vue({ el, store, render(createElement) { return createElement(Dashboard, { props: { ...el.dataset, currentDashboard, hasMetrics: parseBoolean(el.dataset.hasMetrics), ...props, }, }); }, }); } };