You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2021/08/10 14:57:50 UTC
[incubator-streampipes] branch STREAMPIPES-319 updated:
[STREAMPIPES-402] Harmonize dashboard model of data explorer and dashboard
This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch STREAMPIPES-319
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
The following commit(s) were added to refs/heads/STREAMPIPES-319 by this push:
new a05dde4 [STREAMPIPES-402] Harmonize dashboard model of data explorer and dashboard
a05dde4 is described below
commit a05dde4a75c741db403ce24b552a0645e7b0c35b
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Tue Aug 10 16:57:41 2021 +0200
[STREAMPIPES-402] Harmonize dashboard model of data explorer and dashboard
---
ui/src/app/core-model/dashboard/Dashboard.ts | 21 ----------
ui/src/app/core-model/datalake/DateRange.ts | 3 +-
ui/src/app/dashboard/models/dashboard.model.ts | 8 +++-
.../grid/data-explorer-dashboard-grid.component.ts | 47 ++++++++++++----------
.../data-explorer-dashboard-overview.component.ts | 28 ++++++-------
.../data-explorer-dashboard-panel.component.ts | 14 +++----
.../time-selector/timeRangeSelector.component.ts | 2 +-
.../data-explorer-dashboard-widget.component.ts | 6 +--
.../widgets/base/base-data-explorer-widget.ts | 4 +-
.../widgets/image/image-widget.component.ts | 2 +-
.../no-data/no-data-in-date-range.component.ts | 2 +-
.../app/data-explorer/data-explorer.component.ts | 11 +++--
...-explorer-add-visualization-dialog.component.ts | 5 ++-
...ata-explorer-edit-data-view-dialog.component.ts | 4 +-
.../models/dataview-dashboard.model.ts | 25 +-----------
.../services/data-view-data-explorer.service.ts | 12 +++---
16 files changed, 79 insertions(+), 115 deletions(-)
diff --git a/ui/src/app/core-model/dashboard/Dashboard.ts b/ui/src/app/core-model/dashboard/Dashboard.ts
deleted file mode 100644
index d7548ff..0000000
--- a/ui/src/app/core-model/dashboard/Dashboard.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-export class Dashboard {
-
-}
\ No newline at end of file
diff --git a/ui/src/app/core-model/datalake/DateRange.ts b/ui/src/app/core-model/datalake/DateRange.ts
index eb10371..0edbb97 100644
--- a/ui/src/app/core-model/datalake/DateRange.ts
+++ b/ui/src/app/core-model/datalake/DateRange.ts
@@ -16,7 +16,8 @@
*
*/
-import {TimeSettings} from "../../data-explorer/models/dataview-dashboard.model";
+
+import {TimeSettings} from "../../dashboard/models/dashboard.model";
export class DateRange {
diff --git a/ui/src/app/dashboard/models/dashboard.model.ts b/ui/src/app/dashboard/models/dashboard.model.ts
index 6696514..9975f70 100644
--- a/ui/src/app/dashboard/models/dashboard.model.ts
+++ b/ui/src/app/dashboard/models/dashboard.model.ts
@@ -26,13 +26,19 @@ export interface DashboardItem extends GridsterItem {
id: string;
}
+export interface TimeSettings {
+ startTime: number;
+ endTime: number;
+ dynamicSelection: 15 | 60 | 1440 | 10080 | 43800 | 525600 | -1;
+}
+
export interface Dashboard {
id?: string;
name?: string;
description?: string;
displayHeader?: boolean;
widgets?: Array<DashboardItem>;
- dashboardTimeSettings?: any;
+ dashboardTimeSettings?: TimeSettings;
dashboardGeneralSettings?: any;
_id?: string;
_rev?: string;
diff --git a/ui/src/app/data-explorer/components/grid/data-explorer-dashboard-grid.component.ts b/ui/src/app/data-explorer/components/grid/data-explorer-dashboard-grid.component.ts
index c21d29a..31ebb6d 100644
--- a/ui/src/app/data-explorer/components/grid/data-explorer-dashboard-grid.component.ts
+++ b/ui/src/app/data-explorer/components/grid/data-explorer-dashboard-grid.component.ts
@@ -27,20 +27,19 @@ import {
SimpleChanges,
ViewChildren
} from '@angular/core';
-import {GridsterItemComponent, GridType} from 'angular-gridster2';
-import {GridsterInfo} from '../../../dashboard/models/gridster-info.model';
+import { GridsterItemComponent, GridType } from 'angular-gridster2';
+import { GridsterInfo } from '../../../dashboard/models/gridster-info.model';
+import { IDataViewDashboardConfig, } from '../../models/dataview-dashboard.model';
+import { DataViewDataExplorerService } from '../../services/data-view-data-explorer.service';
+import { RefreshDashboardService } from '../../services/refresh-dashboard.service';
+import { ResizeService } from '../../services/resize.service';
import {
- IDataViewDashboard,
- IDataViewDashboardConfig,
- IDataViewDashboardItem,
- TimeSettings
-} from '../../models/dataview-dashboard.model';
-import {DataViewDataExplorerService} from '../../services/data-view-data-explorer.service';
-import {RefreshDashboardService} from '../../services/refresh-dashboard.service';
-import {ResizeService} from '../../services/resize.service';
-import {DataExplorerWidgetModel, DataLakeMeasure} from "../../../core-model/gen/streampipes-model";
-import {Tuple2} from "../../../core-model/base/Tuple2";
-import {DatalakeRestService} from "../../../core-services/datalake/datalake-rest.service";
+ DataExplorerWidgetModel,
+ DataLakeMeasure
+} from '../../../core-model/gen/streampipes-model';
+import { Tuple2 } from '../../../core-model/base/Tuple2';
+import { DatalakeRestService } from "../../../core-services/datalake/datalake-rest.service";
+import { Dashboard, DashboardItem, TimeSettings } from "../../../dashboard/models/dashboard.model";
@Component({
selector: 'sp-data-explorer-dashboard-grid',
@@ -53,7 +52,7 @@ export class DataExplorerDashboardGridComponent implements OnInit, OnChanges {
editMode: boolean;
@Input()
- dashboard: IDataViewDashboard;
+ dashboard: Dashboard;
configuredWidgets: Map<String, DataExplorerWidgetModel> = new Map<String, DataExplorerWidgetModel>();
dataLakeMeasures: Map<String, DataLakeMeasure> = new Map<String, DataLakeMeasure>();
@@ -64,7 +63,7 @@ export class DataExplorerDashboardGridComponent implements OnInit, OnChanges {
@Input()
timeSettings: TimeSettings;
- @Output() deleteCallback: EventEmitter<IDataViewDashboardItem> = new EventEmitter<IDataViewDashboardItem>();
+ @Output() deleteCallback: EventEmitter<DashboardItem> = new EventEmitter<DashboardItem>();
@Output() updateCallback: EventEmitter<DataExplorerWidgetModel> = new EventEmitter<DataExplorerWidgetModel>();
@Output() configureWidgetCallback: EventEmitter<Tuple2<DataExplorerWidgetModel, DataLakeMeasure>> = new EventEmitter<Tuple2<DataExplorerWidgetModel, DataLakeMeasure>>();
@@ -83,7 +82,7 @@ export class DataExplorerDashboardGridComponent implements OnInit, OnChanges {
ngOnInit(): void {
this.options = {
disablePushOnDrag: true,
- draggable: { enabled: this.editMode },
+ draggable: {enabled: this.editMode},
gridType: GridType.VerticalFixed,
minCols: 8,
maxCols: 8,
@@ -92,12 +91,18 @@ export class DataExplorerDashboardGridComponent implements OnInit, OnChanges {
fixedColWidth: 100,
margin: 5,
displayGrid: "always",
- resizable: { enabled: this.editMode },
+ resizable: {enabled: this.editMode},
itemResizeCallback: ((item, itemComponent) => {
- this.resizeService.notify({gridsterItem: item, gridsterItemComponent: itemComponent} as GridsterInfo);
+ this.resizeService.notify({
+ gridsterItem: item,
+ gridsterItemComponent: itemComponent
+ } as GridsterInfo);
}),
itemInitCallback: ((item, itemComponent) => {
- this.resizeService.notify({gridsterItem: item, gridsterItemComponent: itemComponent} as GridsterInfo);
+ this.resizeService.notify({
+ gridsterItem: item,
+ gridsterItemComponent: itemComponent
+ } as GridsterInfo);
window.dispatchEvent(new Event('resize'));
})
};
@@ -107,7 +112,7 @@ export class DataExplorerDashboardGridComponent implements OnInit, OnChanges {
loadWidgetConfigs() {
this.dashboard.widgets.forEach(widget => {
- this.loadWidgetConfig(widget.id);
+ this.loadWidgetConfig(widget.id);
});
}
@@ -130,7 +135,7 @@ export class DataExplorerDashboardGridComponent implements OnInit, OnChanges {
}
}
- propagateItemRemoval(widget: IDataViewDashboardItem) {
+ propagateItemRemoval(widget: DashboardItem) {
this.deleteCallback.emit(widget);
}
diff --git a/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview.component.ts b/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview.component.ts
index 5dba063..666e9d2 100644
--- a/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview.component.ts
+++ b/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview.component.ts
@@ -16,12 +16,12 @@
*
*/
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
-import { MatDialog } from '@angular/material/dialog';
-import { MatTableDataSource } from '@angular/material/table';
-import { DataExplorerEditDataViewDialogComponent } from '../../dialogs/edit-dashboard/data-explorer-edit-data-view-dialog.component';
-import { IDataViewDashboard } from '../../models/dataview-dashboard.model';
-import { DataViewDataExplorerService } from '../../services/data-view-data-explorer.service';
+import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
+import {MatDialog} from '@angular/material/dialog';
+import {MatTableDataSource} from '@angular/material/table';
+import {DataExplorerEditDataViewDialogComponent} from '../../dialogs/edit-dashboard/data-explorer-edit-data-view-dialog.component';
+import {DataViewDataExplorerService} from '../../services/data-view-data-explorer.service';
+import {Dashboard} from "../../../dashboard/models/dashboard.model";
@Component({
selector: 'sp-data-explorer-dashboard-overview',
@@ -30,11 +30,11 @@ import { DataViewDataExplorerService } from '../../services/data-view-data-explo
})
export class DataExplorerDashboardOverviewComponent implements OnInit {
- @Input() dataViewDashboards: IDataViewDashboard[];
+ @Input() dataViewDashboards: Dashboard[];
@Output() reloadDashboardsEmitter = new EventEmitter<void>();
- @Output() selectDashboardEmitter = new EventEmitter<IDataViewDashboard>();
+ @Output() selectDashboardEmitter = new EventEmitter<Dashboard>();
- dataSource = new MatTableDataSource<IDataViewDashboard>();
+ dataSource = new MatTableDataSource<Dashboard>();
displayedColumns: string[] = ['name', 'open', 'delete'];
editLabels: boolean;
@@ -50,7 +50,7 @@ export class DataExplorerDashboardOverviewComponent implements OnInit {
}
openNewDataViewDialog() {
- const dataViewDashboard = {} as IDataViewDashboard;
+ const dataViewDashboard = {} as Dashboard;
dataViewDashboard.widgets = [];
this.openDataViewModificationDialog(true, dataViewDashboard);
@@ -60,7 +60,7 @@ export class DataExplorerDashboardOverviewComponent implements OnInit {
this.editLabels = true;
}
- openDataViewModificationDialog(createMode: boolean, dashboard: IDataViewDashboard) {
+ openDataViewModificationDialog(createMode: boolean, dashboard: Dashboard) {
const dialogRef = this.dialog.open(DataExplorerEditDataViewDialogComponent, {
width: '70%',
panelClass: 'custom-dialog-container'
@@ -73,18 +73,18 @@ export class DataExplorerDashboardOverviewComponent implements OnInit {
});
}
- openEditDataViewDialog(dashboard: IDataViewDashboard) {
+ openEditDataViewDialog(dashboard: Dashboard) {
this.openDataViewModificationDialog(false, dashboard);
}
- openDeleteDashboardDialog(dashboard: IDataViewDashboard) {
+ openDeleteDashboardDialog(dashboard: Dashboard) {
// TODO add confirm dialog
this.dashboardService.deleteDashboard(dashboard).subscribe(result => {
this.reloadDashboardsEmitter.emit();
});
}
- showDashboard(dashboard: IDataViewDashboard) {
+ showDashboard(dashboard: Dashboard) {
this.selectDashboardEmitter.emit(dashboard);
}
diff --git a/ui/src/app/data-explorer/components/panel/data-explorer-dashboard-panel.component.ts b/ui/src/app/data-explorer/components/panel/data-explorer-dashboard-panel.component.ts
index 6ba22e6..e2c469a 100644
--- a/ui/src/app/data-explorer/components/panel/data-explorer-dashboard-panel.component.ts
+++ b/ui/src/app/data-explorer/components/panel/data-explorer-dashboard-panel.component.ts
@@ -20,17 +20,13 @@ import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angula
import {MatDialog} from '@angular/material/dialog';
import {Observable, Subscription} from 'rxjs';
import {DataExplorerAddVisualizationDialogComponent} from '../../dialogs/add-widget/data-explorer-add-visualization-dialog.component';
-import {
- IDataViewDashboard,
- IDataViewDashboardItem,
- TimeSettings
-} from '../../models/dataview-dashboard.model';
import {DataViewDataExplorerService} from '../../services/data-view-data-explorer.service';
import {RefreshDashboardService} from '../../services/refresh-dashboard.service';
import {DataExplorerWidgetModel, DataLakeMeasure} from "../../../core-model/gen/streampipes-model";
import {DataExplorerDashboardGridComponent} from "../grid/data-explorer-dashboard-grid.component";
import {MatDrawer} from "@angular/material/sidenav";
import {Tuple2} from "../../../core-model/base/Tuple2";
+import {Dashboard, DashboardItem, TimeSettings} from "../../../dashboard/models/dashboard.model";
@Component({
selector: 'sp-data-explorer-dashboard-panel',
@@ -40,7 +36,7 @@ import {Tuple2} from "../../../core-model/base/Tuple2";
export class DataExplorerDashboardPanelComponent implements OnInit {
@Input()
- dashboard: IDataViewDashboard;
+ dashboard: Dashboard;
/**
* This is the date range (start, end) to view the data and is set in data-explorer.ts
@@ -57,7 +53,7 @@ export class DataExplorerDashboardPanelComponent implements OnInit {
@ViewChild('dashboardGrid') dashboardGrid: DataExplorerDashboardGridComponent;
@ViewChild('designerDrawer') designerDrawer: MatDrawer;
- public items: IDataViewDashboardItem[];
+ public items: Dashboard[];
protected subscription: Subscription;
@@ -91,7 +87,7 @@ export class DataExplorerDashboardPanelComponent implements OnInit {
}
addWidgetToDashboard(widget: DataExplorerWidgetModel) {
- const dashboardItem = {} as IDataViewDashboardItem;
+ const dashboardItem = {} as DashboardItem;
dashboardItem.widgetId = widget._id;
dashboardItem.id = widget._id;
dashboardItem.widgetType = widget.widgetType;
@@ -140,7 +136,7 @@ export class DataExplorerDashboardPanelComponent implements OnInit {
this.refreshDashboardService.notify(this.dashboard._id);
}
- removeAndQueueItemForDeletion(widget: IDataViewDashboardItem) {
+ removeAndQueueItemForDeletion(widget: DashboardItem) {
this.dashboard.widgets.splice(this.dashboard.widgets.indexOf(widget), 1);
this.widgetIdsToRemove.push(widget.id);
}
diff --git a/ui/src/app/data-explorer/components/time-selector/timeRangeSelector.component.ts b/ui/src/app/data-explorer/components/time-selector/timeRangeSelector.component.ts
index 1332d02..0524824 100644
--- a/ui/src/app/data-explorer/components/time-selector/timeRangeSelector.component.ts
+++ b/ui/src/app/data-explorer/components/time-selector/timeRangeSelector.component.ts
@@ -17,7 +17,7 @@
*/
import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';
-import {TimeSettings} from "../../models/dataview-dashboard.model";
+import {TimeSettings} from "../../../dashboard/models/dashboard.model";
@Component({
selector: 'sp-time-range-selector',
diff --git a/ui/src/app/data-explorer/components/widget/data-explorer-dashboard-widget.component.ts b/ui/src/app/data-explorer/components/widget/data-explorer-dashboard-widget.component.ts
index 209f6fa..137830a 100644
--- a/ui/src/app/data-explorer/components/widget/data-explorer-dashboard-widget.component.ts
+++ b/ui/src/app/data-explorer/components/widget/data-explorer-dashboard-widget.component.ts
@@ -21,11 +21,11 @@ import {MatDialog} from '@angular/material/dialog';
import {GridsterItem, GridsterItemComponent} from 'angular-gridster2';
import {DateRange} from '../../../core-model/datalake/DateRange';
import {DataExplorerAddVisualizationDialogComponent} from '../../dialogs/add-widget/data-explorer-add-visualization-dialog.component';
-import {IDataViewDashboardItem, TimeSettings} from '../../models/dataview-dashboard.model';
import {DataViewDataExplorerService} from '../../services/data-view-data-explorer.service';
import {DataExplorerWidgetModel, DataLakeMeasure} from "../../../core-model/gen/streampipes-model";
import {DataDownloadDialog} from "../datadownloadDialog/dataDownload.dialog";
import {Tuple2} from "../../../core-model/base/Tuple2";
+import {Dashboard, TimeSettings} from "../../../dashboard/models/dashboard.model";
@Component({
selector: 'sp-data-explorer-dashboard-widget',
@@ -35,7 +35,7 @@ import {Tuple2} from "../../../core-model/base/Tuple2";
export class DataExplorerDashboardWidgetComponent implements OnInit {
@Input()
- widget: IDataViewDashboardItem;
+ widget: Dashboard;
@Input()
configuredWidget: DataExplorerWidgetModel;
@@ -58,7 +58,7 @@ export class DataExplorerDashboardWidgetComponent implements OnInit {
@Input()
timeSettings: TimeSettings;
- @Output() deleteCallback: EventEmitter<IDataViewDashboardItem> = new EventEmitter<IDataViewDashboardItem>();
+ @Output() deleteCallback: EventEmitter<Dashboard> = new EventEmitter<Dashboard>();
@Output() updateCallback: EventEmitter<DataExplorerWidgetModel> = new EventEmitter<DataExplorerWidgetModel>();
@Output() configureWidgetCallback: EventEmitter<Tuple2<DataExplorerWidgetModel, DataLakeMeasure>> = new EventEmitter<Tuple2<DataExplorerWidgetModel, DataLakeMeasure>>();
diff --git a/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts b/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
index 2e9b2cf..42acfa6 100644
--- a/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
+++ b/ui/src/app/data-explorer/components/widgets/base/base-data-explorer-widget.ts
@@ -29,13 +29,13 @@ import {
import {MatDialog} from '@angular/material/dialog';
import {GridsterItem, GridsterItemComponent} from 'angular-gridster2';
import {DatalakeRestService} from '../../../../core-services/datalake/datalake-rest.service';
-import {IDataViewDashboardItem, TimeSettings} from '../../../models/dataview-dashboard.model';
import {
DataExplorerWidgetModel,
DataLakeMeasure,
EventProperty
} from "../../../../core-model/gen/streampipes-model";
import {WidgetConfigurationService} from "../../../services/widget-configuration.service";
+import {DashboardItem, TimeSettings} from "../../../../dashboard/models/dashboard.model";
@Directive()
export abstract class BaseDataExplorerWidget<T extends DataExplorerWidgetModel> implements OnInit, OnChanges, OnDestroy {
@@ -51,7 +51,7 @@ export abstract class BaseDataExplorerWidget<T extends DataExplorerWidgetModel>
timeSettings: TimeSettings;
- @Input() dataViewDashboardItem: IDataViewDashboardItem;
+ @Input() dataViewDashboardItem: DashboardItem;
@Input() dataExplorerWidget: T;
@Input() dataLakeMeasure: DataLakeMeasure;
diff --git a/ui/src/app/data-explorer/components/widgets/image/image-widget.component.ts b/ui/src/app/data-explorer/components/widgets/image/image-widget.component.ts
index 2adf908..76471d3 100644
--- a/ui/src/app/data-explorer/components/widgets/image/image-widget.component.ts
+++ b/ui/src/app/data-explorer/components/widgets/image/image-widget.component.ts
@@ -73,7 +73,7 @@ export class ImageWidgetComponent extends BaseDataExplorerWidget<ImageWidgetMode
this.setShownComponents(false, false, true);
this.dataLakeRestService.getDataAutoAggregation(
- this.dataLakeMeasure.measureName, this.viewDateRange.startDate.getTime(), this.viewDateRange.endDate.getTime())
+ this.dataLakeMeasure.measureName, this.timeSettings.startTime, this.timeSettings.endTime)
.subscribe(
(res: DataResult) => {
// this.availableImageData = res;
diff --git a/ui/src/app/data-explorer/components/widgets/utils/no-data/no-data-in-date-range.component.ts b/ui/src/app/data-explorer/components/widgets/utils/no-data/no-data-in-date-range.component.ts
index d0066ea..0f46829 100644
--- a/ui/src/app/data-explorer/components/widgets/utils/no-data/no-data-in-date-range.component.ts
+++ b/ui/src/app/data-explorer/components/widgets/utils/no-data/no-data-in-date-range.component.ts
@@ -17,7 +17,7 @@
*/
import {Component, Input, OnInit} from '@angular/core';
-import {TimeSettings} from "../../../../models/dataview-dashboard.model";
+import {TimeSettings} from "../../../../../dashboard/models/dashboard.model";
@Component({
selector: 'sp-no-data-in-date-range',
diff --git a/ui/src/app/data-explorer/data-explorer.component.ts b/ui/src/app/data-explorer/data-explorer.component.ts
index 4230423..3600769 100644
--- a/ui/src/app/data-explorer/data-explorer.component.ts
+++ b/ui/src/app/data-explorer/data-explorer.component.ts
@@ -17,11 +17,10 @@
*/
import {Component, OnInit, ViewChild} from '@angular/core';
-import {IDataViewDashboard, TimeSettings} from './models/dataview-dashboard.model';
import {DataViewDataExplorerService} from './services/data-view-data-explorer.service';
import {RefreshDashboardService} from './services/refresh-dashboard.service';
import {DataExplorerDashboardPanelComponent} from "./components/panel/data-explorer-dashboard-panel.component";
-import {DateRange} from "../core-model/datalake/DateRange";
+import {Dashboard, TimeSettings} from "../dashboard/models/dashboard.model";
@Component({
selector: 'sp-data-explorer',
@@ -30,7 +29,7 @@ import {DateRange} from "../core-model/datalake/DateRange";
})
export class DataExplorerComponent implements OnInit {
- selectedDataViewDashboard: IDataViewDashboard;
+ selectedDataViewDashboard: Dashboard;
selectedIndex = 0;
dashboardsLoaded = false;
dashboardTabSelected = false;
@@ -38,7 +37,7 @@ export class DataExplorerComponent implements OnInit {
editMode = true;
gridVisible: boolean = true;
- dataViewDashboards: IDataViewDashboard[];
+ dataViewDashboards: Dashboard[];
@ViewChild('dashboardPanel') dashboardPanel: DataExplorerDashboardPanelComponent;
@@ -55,7 +54,7 @@ export class DataExplorerComponent implements OnInit {
}
- openDashboard(dashboard: IDataViewDashboard) {
+ openDashboard(dashboard: Dashboard) {
const index = this.dataViewDashboards.indexOf(dashboard);
this.selectDashboard((index + 1));
}
@@ -72,7 +71,7 @@ export class DataExplorerComponent implements OnInit {
}
}
- applyTimeSettings(dashboard: IDataViewDashboard) {
+ applyTimeSettings(dashboard: Dashboard) {
if (!dashboard.dashboardTimeSettings) {
const currentTime = new Date().getTime();
dashboard.dashboardTimeSettings = {
diff --git a/ui/src/app/data-explorer/dialogs/add-widget/data-explorer-add-visualization-dialog.component.ts b/ui/src/app/data-explorer/dialogs/add-widget/data-explorer-add-visualization-dialog.component.ts
index 08cdfc8..24f0ac1 100644
--- a/ui/src/app/data-explorer/dialogs/add-widget/data-explorer-add-visualization-dialog.component.ts
+++ b/ui/src/app/data-explorer/dialogs/add-widget/data-explorer-add-visualization-dialog.component.ts
@@ -19,7 +19,7 @@
import {Component, Inject, OnInit} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
import {ElementIconText} from '../../../services/get-element-icon-text.service';
-import {IDataViewDashboard, IWidget} from '../../models/dataview-dashboard.model';
+import {IWidget} from '../../models/dataview-dashboard.model';
import {DataExplorerWidgetRegistry} from '../../registry/data-explorer-widget-registry';
import {DataViewDataExplorerService} from '../../services/data-view-data-explorer.service';
import {
@@ -27,6 +27,7 @@ import {
DataLakeMeasure,
EventSchema
} from "../../../core-model/gen/streampipes-model";
+import {Dashboard} from "../../../dashboard/models/dashboard.model";
@Component({
selector: 'sp-data-explorer-add-visualization-dialog-component',
@@ -59,7 +60,7 @@ export class DataExplorerAddVisualizationDialogComponent implements OnInit {
selectedDataSet: DataLakeMeasure;
selectedWidget: string;
- dashboard: IDataViewDashboard;
+ dashboard: Dashboard;
selectedType: any;
page: any = 'select-pipeline';
diff --git a/ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-data-view-dialog.component.ts b/ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-data-view-dialog.component.ts
index 5de50e0..aa09022 100644
--- a/ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-data-view-dialog.component.ts
+++ b/ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-data-view-dialog.component.ts
@@ -18,8 +18,8 @@
import {Component, OnInit} from '@angular/core';
import {MatDialogRef} from '@angular/material/dialog';
-import {IDataViewDashboard} from '../../models/dataview-dashboard.model';
import {DataViewDataExplorerService} from '../../services/data-view-data-explorer.service';
+import {Dashboard} from "../../../dashboard/models/dashboard.model";
@Component({
selector: 'sp-data-explorer-edit-data-view-dialog-component',
@@ -29,7 +29,7 @@ import {DataViewDataExplorerService} from '../../services/data-view-data-explore
export class DataExplorerEditDataViewDialogComponent implements OnInit {
createMode: boolean;
- dashboard: IDataViewDashboard;
+ dashboard: Dashboard;
constructor(
public dialogRef: MatDialogRef<DataExplorerEditDataViewDialogComponent>,
diff --git a/ui/src/app/data-explorer/models/dataview-dashboard.model.ts b/ui/src/app/data-explorer/models/dataview-dashboard.model.ts
index ca53c4d..07d3ed0 100644
--- a/ui/src/app/data-explorer/models/dataview-dashboard.model.ts
+++ b/ui/src/app/data-explorer/models/dataview-dashboard.model.ts
@@ -16,33 +16,10 @@
*
*/
-import {GridsterConfig, GridsterItem} from 'angular-gridster2';
-
+import {GridsterConfig} from 'angular-gridster2';
export interface IDataViewDashboardConfig extends GridsterConfig {}
-export interface IDataViewDashboardItem extends GridsterItem {
- widgetId: string;
- widgetType: string;
- id: string;
-}
-
-export interface TimeSettings {
- startTime: number;
- endTime: number;
- dynamicSelection: 15 | 60 | 1440 | 10080 | 43800 | 525600 | -1;
-}
-
-export interface IDataViewDashboard {
- name?: string;
- description?: string;
- displayHeader?: boolean;
- widgets?: IDataViewDashboardItem[];
- dashboardTimeSettings: TimeSettings;
- _id?: string;
- _rev?: string;
-}
-
export interface IWidget {
id: string;
label: string;
diff --git a/ui/src/app/data-explorer/services/data-view-data-explorer.service.ts b/ui/src/app/data-explorer/services/data-view-data-explorer.service.ts
index 4c0a07b..e999496 100644
--- a/ui/src/app/data-explorer/services/data-view-data-explorer.service.ts
+++ b/ui/src/app/data-explorer/services/data-view-data-explorer.service.ts
@@ -23,17 +23,17 @@ import {map} from 'rxjs/operators';
import {DatalakeRestService} from '../../core-services/datalake/datalake-rest.service';
import {SharedDatalakeRestService} from '../../core-services/shared/shared-dashboard.service';
import {AuthStatusService} from '../../services/auth-status.service';
-import {IDataViewDashboard} from '../models/dataview-dashboard.model';
import {
DataExplorerWidgetModel,
DataLakeMeasure,
} from "../../core-model/gen/streampipes-model";
+import {Dashboard} from "../../dashboard/models/dashboard.model";
@Injectable()
export class DataViewDataExplorerService {
- localDashboards: IDataViewDashboard[] = [];
+ localDashboards: Dashboard[] = [];
constructor(private http: HttpClient,
private authStatusService: AuthStatusService,
@@ -48,19 +48,19 @@ export class DataViewDataExplorerService {
}));
}
- getDataViews(): Observable<IDataViewDashboard[]> {
+ getDataViews(): Observable<Dashboard[]> {
return this.sharedDatalakeRestService.getDashboards(this.dashboardUrl);
}
- updateDashboard(dashboard: IDataViewDashboard): Observable<IDataViewDashboard> {
+ updateDashboard(dashboard: Dashboard): Observable<Dashboard> {
return this.sharedDatalakeRestService.updateDashboard(this.dashboardUrl, dashboard);
}
- deleteDashboard(dashboard: IDataViewDashboard): Observable<any> {
+ deleteDashboard(dashboard: Dashboard): Observable<any> {
return this.sharedDatalakeRestService.deleteDashboard(this.dashboardUrl, dashboard);
}
- saveDataView(dataViewDashboard: IDataViewDashboard): Observable<any> {
+ saveDataView(dataViewDashboard: Dashboard): Observable<any> {
return this.sharedDatalakeRestService.saveDashboard(this.dashboardUrl, dataViewDashboard);
}