diff --git a/packages/grafana-data/src/utils/csv.ts b/packages/grafana-data/src/utils/csv.ts index 3d787163101..4ee0a74779d 100644 --- a/packages/grafana-data/src/utils/csv.ts +++ b/packages/grafana-data/src/utils/csv.ts @@ -271,6 +271,12 @@ export function toCSV(data: DataFrame[], config?: CSVConfig): string { for (const series of data) { const { fields } = series; + + // ignore frames with no fields + if (fields.length === 0) { + continue; + } + if (config.headerStyle === CSVHeaderStyle.full) { csv = csv + @@ -287,7 +293,9 @@ export function toCSV(data: DataFrame[], config?: CSVConfig): string { } csv += config.newline; } + const length = fields[0].values.length; + if (length > 0) { const writers = fields.map(field => makeFieldWriter(field, config!)); for (let i = 0; i < length; i++) { diff --git a/public/app/features/manage-dashboards/DashboardImportCtrl.ts b/public/app/features/manage-dashboards/DashboardImportCtrl.ts index 48bfda7de11..ff361507f2e 100644 --- a/public/app/features/manage-dashboards/DashboardImportCtrl.ts +++ b/public/app/features/manage-dashboards/DashboardImportCtrl.ts @@ -141,6 +141,10 @@ export class DashboardImportCtrl { this.autoGenerateUidValue = 'value set'; } + if (!this.dash.uid) { + return; + } + this.backendSrv // @ts-ignore .getDashboardByUid(this.dash.uid) diff --git a/public/app/plugins/datasource/input/utils.ts b/public/app/plugins/datasource/input/utils.ts index e6ccfa96438..ce94dd550b5 100644 --- a/public/app/plugins/datasource/input/utils.ts +++ b/public/app/plugins/datasource/input/utils.ts @@ -4,5 +4,5 @@ export function dataFrameToCSV(dto?: DataFrameDTO[]) { if (!dto || !dto.length) { return ''; } - return toCSV(dto.map(v => toDataFrame(dto))); + return toCSV(dto.map(v => toDataFrame(v))); }