81 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
import * as types from '~/monitoring/stores/mutation_types';
 | 
						|
import { metricsResult, environmentData, dashboardGitResponse } from './mock_data';
 | 
						|
import { metricsDashboardPayload } from './fixture_data';
 | 
						|
 | 
						|
export const setMetricResult = ({ store, result, group = 0, panel = 0, metric = 0 }) => {
 | 
						|
  const { dashboard } = store.state.monitoringDashboard;
 | 
						|
  const { metricId } = dashboard.panelGroups[group].panels[panel].metrics[metric];
 | 
						|
 | 
						|
  store.commit(`monitoringDashboard/${types.RECEIVE_METRIC_RESULT_SUCCESS}`, {
 | 
						|
    metricId,
 | 
						|
    data: {
 | 
						|
      resultType: 'matrix',
 | 
						|
      result,
 | 
						|
    },
 | 
						|
  });
 | 
						|
};
 | 
						|
 | 
						|
const setEnvironmentData = store => {
 | 
						|
  store.commit(`monitoringDashboard/${types.RECEIVE_ENVIRONMENTS_DATA_SUCCESS}`, environmentData);
 | 
						|
};
 | 
						|
 | 
						|
export const setupAllDashboards = (store, path) => {
 | 
						|
  store.commit(`monitoringDashboard/${types.SET_ALL_DASHBOARDS}`, dashboardGitResponse);
 | 
						|
  if (path) {
 | 
						|
    store.commit(`monitoringDashboard/${types.SET_INITIAL_STATE}`, {
 | 
						|
      currentDashboard: path,
 | 
						|
    });
 | 
						|
  }
 | 
						|
};
 | 
						|
 | 
						|
export const setupStoreWithDashboard = store => {
 | 
						|
  store.commit(
 | 
						|
    `monitoringDashboard/${types.RECEIVE_METRICS_DASHBOARD_SUCCESS}`,
 | 
						|
    metricsDashboardPayload,
 | 
						|
  );
 | 
						|
};
 | 
						|
 | 
						|
export const setupStoreWithLinks = store => {
 | 
						|
  store.commit(`monitoringDashboard/${types.RECEIVE_METRICS_DASHBOARD_SUCCESS}`, {
 | 
						|
    ...metricsDashboardPayload,
 | 
						|
    links: [
 | 
						|
      {
 | 
						|
        title: 'GitLab Website',
 | 
						|
        url: `https://gitlab.com/website`,
 | 
						|
      },
 | 
						|
    ],
 | 
						|
  });
 | 
						|
};
 | 
						|
 | 
						|
export const setupStoreWithData = store => {
 | 
						|
  setupAllDashboards(store);
 | 
						|
  setupStoreWithDashboard(store);
 | 
						|
 | 
						|
  setMetricResult({ store, result: [], panel: 0 });
 | 
						|
  setMetricResult({ store, result: metricsResult, panel: 1 });
 | 
						|
  setMetricResult({ store, result: metricsResult, panel: 2 });
 | 
						|
 | 
						|
  setEnvironmentData(store);
 | 
						|
};
 | 
						|
 | 
						|
export const setupStoreWithDataForPanelCount = (store, panelCount) => {
 | 
						|
  const payloadPanelGroup = metricsDashboardPayload.panel_groups[0];
 | 
						|
 | 
						|
  const panelGroupCustom = {
 | 
						|
    ...payloadPanelGroup,
 | 
						|
    panels: payloadPanelGroup.panels.slice(0, panelCount),
 | 
						|
  };
 | 
						|
 | 
						|
  const metricsDashboardPayloadCustom = {
 | 
						|
    ...metricsDashboardPayload,
 | 
						|
    panel_groups: [panelGroupCustom],
 | 
						|
  };
 | 
						|
 | 
						|
  store.commit(
 | 
						|
    `monitoringDashboard/${types.RECEIVE_METRICS_DASHBOARD_SUCCESS}`,
 | 
						|
    metricsDashboardPayloadCustom,
 | 
						|
  );
 | 
						|
 | 
						|
  setMetricResult({ store, result: metricsResult, panel: 0 });
 | 
						|
};
 |