import { Injectable } from '@angular/core'; import { AdHocReportingAPI } from '@core/typings/api/ad-hoc-reporting.typing'; import { ReportingResources } from './reporting.resources'; @Injectable({ providedIn: 'root' }) export class DataFeedsService { dataFeedDrilldownMap: { [x: number]: AdHocReportingAPI.DataFeedConnection[]; } = {}; constructor ( private reportingResources: ReportingResources ) {} setDataFeedDrilldownMap (id: number, records: AdHocReportingAPI.DataFeedConnection[]) { this.dataFeedDrilldownMap[id] = records; } async getDataFeedDrilldownInfo (id: number) { let records; if (!this.dataFeedDrilldownMap || !this.dataFeedDrilldownMap[id]) { records = await this.reportingResources.getDataFeeds(id); this.setDataFeedDrilldownMap(id, records); } else { records = this.dataFeedDrilldownMap[id]; } return records; } async downloadReport (url: string) { return window.open(url); } }