index.ts 1.11 KB
import { EChartsOption } from 'echarts';
import { Component } from 'vue';
import { WidgetComponentType } from '../../detail/config/visualOptions';
import { instrumentComponent1, instrumentComponent2 } from './dashBoardComponent.config';
import DashBoardComponent from './DashBoardComponent.vue';
import DigitalDashBoard from './DigitalDashBoard.vue';
import { buildUUID } from '/@/utils/uuid';

export interface DashboardComponentLayout {
  chartOption: EChartsOption;
}

interface InstrumentComponentConfig {
  id: WidgetComponentType;
  layout: DashboardComponentLayout;
  component: Component;
  value: Recordable;
}

export const instrumentComponentConfig: InstrumentComponentConfig[] = [
  {
    id: 'instrument-component-1',
    layout: { chartOption: instrumentComponent1() },
    component: DashBoardComponent,
    value: { id: buildUUID() },
  },
  {
    id: 'instrument-component-2',
    layout: { chartOption: instrumentComponent2() },
    component: DashBoardComponent,
    value: { id: buildUUID() },
  },
  {
    id: 'digital-dashboard-component',
    layout: {},
    component: DigitalDashBoard,
    value: {},
  },
];