pinkmine/src/dashboards/dashboard-init.service.ts

33 lines
1.4 KiB
TypeScript

import { Injectable } from '@nestjs/common';
import { WidgetsCollectionService } from '@app/event-emitter/dashboards/widgets-collection.service';
import { IssuesByTagsWidgetDataLoaderService } from './widget-data-loader/issues-by-tags.widget-data-loader.service';
import { createInteractiveWidget } from '@app/event-emitter/dashboards/interactive-widget-factory';
import { DailyEccmReportsV2DataLoaderService } from 'src/eccm-statistic/dashboards/widget-data-loader/daily-eccm-v2.widget-data-loader.service';
import { WIDGET_TYPE as DAILY_ECCM_V2_WIDGET_TYPE } from 'src/reports/daily-eccm-v2-report-task-runner.service';
@Injectable()
export class DashboardInitService {
constructor(
private issuesByTagsWidgetDataLoaderService: IssuesByTagsWidgetDataLoaderService,
private dailyEccmReportsV2DataLoaderService: DailyEccmReportsV2DataLoaderService,
private widgetsCollectionService: WidgetsCollectionService,
) {}
init(): void {
const collection = [
createInteractiveWidget(
this.issuesByTagsWidgetDataLoaderService,
'kanban_by_tags',
),
createInteractiveWidget(
this.issuesByTagsWidgetDataLoaderService,
'issues_list_by_tags',
),
createInteractiveWidget(
this.dailyEccmReportsV2DataLoaderService,
DAILY_ECCM_V2_WIDGET_TYPE,
),
];
collection.forEach((w) => this.widgetsCollectionService.appendWidget(w));
}
}