This is an automated email from the ASF dual-hosted git repository. riemer pushed a commit to branch 3443-move-data-explorer-dashboard-sources-to-dashboard-module in repository https://gitbox.apache.org/repos/asf/streampipes.git
commit 6cc72a868cb396b1c2476c3d25e10ad7c5dd4588 Author: Dominik Riemer <[email protected]> AuthorDate: Mon Jan 27 08:17:58 2025 +0100 feat(#3443): Move data explorer dashboard to dashboard UI module --- ui/deployment/modules.yml | 4 +-- .../manage-asset-links-dialog.component.html | 4 +-- .../overview/dashboard-overview.component.html | 28 ++++++++++++++- .../overview/dashboard-overview.component.ts | 41 ++++++++++++++++++++-- ...data-explorer-dashboard-overview.component.html | 0 .../data-explorer-dashboard-overview.component.ts | 8 +++-- .../dashboard-toolbar.component.html | 0 .../dashboard-toolbar.component.scss | 0 .../dashboard-toolbar.component.ts | 0 ...dashboard-widget-selection-panel.component.html | 0 ...dashboard-widget-selection-panel.component.scss | 0 .../dashboard-widget-selection-panel.component.ts | 2 +- .../data-view-preview.component.html | 0 .../data-view-preview.component.scss | 0 .../data-view-preview.component.ts | 0 .../data-view-selection.component.html | 0 .../data-view-selection.component.scss | 0 .../data-view-selection.component.ts | 0 .../data-explorer-dashboard-panel.component.html | 2 +- .../data-explorer-dashboard-panel.component.scss | 0 .../data-explorer-dashboard-panel.component.ts | 12 +++---- .../widget-view/abstract-widget-view.directive.ts | 0 .../data-explorer-dashboard-grid.component.html | 0 .../data-explorer-dashboard-grid.component.scss | 0 .../data-explorer-dashboard-grid.component.ts | 0 ...ta-explorer-dashboard-slide-view.component.html | 0 ...ta-explorer-dashboard-slide-view.component.scss | 0 ...data-explorer-dashboard-slide-view.component.ts | 0 ui/src/app/dashboard/dashboard.module.ts | 35 +++++++++++++++++- ...a-explorer-edit-dashboard-dialog.component.html | 0 ...a-explorer-edit-dashboard-dialog.component.scss | 2 -- ...ata-explorer-edit-dashboard-dialog.component.ts | 0 .../services/dashboard.service.ts | 0 .../data-explorer-panel.can-deactivate.guard.ts | 2 +- .../services/data-explorer-routing.service.ts | 24 +++++++------ .../data-view/data-explorer-data-view.component.ts | 6 ++-- .../data-explorer-data-view-overview.component.ts | 2 +- .../overview/data-explorer-overview.component.html | 15 -------- .../overview/data-explorer-overview.component.ts | 40 ++------------------- .../overview/data-explorer-overview.directive.ts | 2 +- ui/src/app/data-explorer/data-explorer.module.ts | 30 +--------------- 41 files changed, 141 insertions(+), 118 deletions(-) diff --git a/ui/deployment/modules.yml b/ui/deployment/modules.yml index d5282f4955..dc8224d27a 100644 --- a/ui/deployment/modules.yml +++ b/ui/deployment/modules.yml @@ -109,7 +109,7 @@ spDashboard: url: '/dashboard' title: 'Dashboard' description: 'The live dashboard visualizes data in real-time.' - icon: 'insert_chart' + icon: 'dashboard' pageNames: 'PageName.DASHBOARD' privileges: '[UserPrivilege.PRIVILEGE_READ_DASHBOARD, UserPrivilege.PRIVILEGE_WRITE_DASHBOARD]' showStatusBox: true @@ -131,7 +131,7 @@ spDataExplorer: url: '/dataexplorer' title: 'Data Explorer' description: 'The data explorer lets you visually inspect historical data from your connected sources.' - icon: 'search' + icon: 'query_stats' pageNames: 'PageName.DATA_EXPLORER' privileges: '[UserPrivilege.PRIVILEGE_READ_DATA_EXPLORER_VIEW, UserPrivilege.PRIVILEGE_WRITE_DATA_EXPLORER_VIEW]' showStatusBox: true diff --git a/ui/src/app/assets/dialog/manage-asset-links/manage-asset-links-dialog.component.html b/ui/src/app/assets/dialog/manage-asset-links/manage-asset-links-dialog.component.html index 5e68673fb1..2b1704b011 100644 --- a/ui/src/app/assets/dialog/manage-asset-links/manage-asset-links-dialog.component.html +++ b/ui/src/app/assets/dialog/manage-asset-links/manage-asset-links-dialog.component.html @@ -290,12 +290,12 @@ selectLink( $event.checked, element.elementId, - element.name, + element.baseAppearanceConfig.widgetTitle, 'data-view' ) " > - {{ element.name }} + {{ element.baseAppearanceConfig.widgetTitle }} </mat-checkbox> </div> </div> diff --git a/ui/src/app/dashboard/components/overview/dashboard-overview.component.html b/ui/src/app/dashboard/components/overview/dashboard-overview.component.html index 99a0619991..9b4b0dc80f 100644 --- a/ui/src/app/dashboard/components/overview/dashboard-overview.component.html +++ b/ui/src/app/dashboard/components/overview/dashboard-overview.component.html @@ -22,5 +22,31 @@ [resourceCount]="0" (filterIdsEmitter)="applyDashboardFilters($event)" > - <sp-basic-view [showBackLink]="false" [padding]="true"> </sp-basic-view> + <sp-basic-view [showBackLink]="false" [padding]="true"> + <div + nav + fxFlex="100" + fxLayoutAlign="start center" + fxLayout="row" + class="pl-10" + > + <button + mat-button + mat-raised-button + color="accent" + data-cy="open-new-dashboard-dialog" + (click)="openNewDashboardDialog()" + class="mr-10" + *ngIf="hasDashboardWritePrivileges" + > + <i class="material-icons">add</i> + <span>New Dashboard</span> + </button> + </div> + <div fxFlex="100" fxLayout="column"> + <sp-data-explorer-dashboard-overview + (resourceCountEmitter)="resourceCount = $event" + ></sp-data-explorer-dashboard-overview> + </div> + </sp-basic-view> </sp-asset-browser> diff --git a/ui/src/app/dashboard/components/overview/dashboard-overview.component.ts b/ui/src/app/dashboard/components/overview/dashboard-overview.component.ts index d5580428c1..ccccffd76d 100644 --- a/ui/src/app/dashboard/components/overview/dashboard-overview.component.ts +++ b/ui/src/app/dashboard/components/overview/dashboard-overview.component.ts @@ -16,7 +16,7 @@ * */ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChild } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { CurrentUserService, @@ -26,6 +26,9 @@ import { UserRole } from '../../../_enums/user-role.enum'; import { AuthService } from '../../../services/auth.service'; import { UserPrivilege } from '../../../_enums/user-privilege.enum'; import { SpDashboardRoutes } from '../../dashboard.routes'; +import { Dashboard } from '@streampipes/platform-services'; +import { DataExplorerDashboardService } from '../../services/dashboard.service'; +import { SpDataExplorerDashboardOverviewComponent } from './data-explorer-dashboard-overview/data-explorer-dashboard-overview.component'; @Component({ selector: 'sp-dashboard-overview', @@ -37,9 +40,14 @@ export class DashboardOverviewComponent implements OnInit { isAdmin = false; hasDashboardWritePrivileges = false; + resourceCount = 0; + + @ViewChild(SpDataExplorerDashboardOverviewComponent) + dashboardOverview: SpDataExplorerDashboardOverviewComponent; constructor( public dialog: MatDialog, + private dataExplorerDashboardService: DataExplorerDashboardService, private authService: AuthService, private currentUserService: CurrentUserService, private breadcrumbService: SpBreadcrumbService, @@ -58,5 +66,34 @@ export class DashboardOverviewComponent implements OnInit { }); } - applyDashboardFilters(elements: Set<string>): void {} + openNewDashboardDialog() { + const dataViewDashboard: Dashboard = { + dashboardGeneralSettings: {}, + widgets: [], + name: '', + dashboardLiveSettings: { + refreshModeActive: false, + refreshIntervalInSeconds: 10, + label: 'Off', + }, + }; + + this.openDashboardModificationDialog(true, dataViewDashboard); + } + + openDashboardModificationDialog(createMode: boolean, dashboard: Dashboard) { + const dialogRef = + this.dataExplorerDashboardService.openDashboardModificationDialog( + createMode, + dashboard, + ); + + dialogRef.afterClosed().subscribe(() => { + this.dashboardOverview.getDashboards(); + }); + } + + applyDashboardFilters(elementIds: Set<string> = new Set<string>()): void { + this.dashboardOverview.applyDashboardFilters(elementIds); + } } diff --git a/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.html b/ui/src/app/dashboard/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.html similarity index 100% rename from ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.html rename to ui/src/app/dashboard/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.html diff --git a/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.ts b/ui/src/app/dashboard/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.ts similarity index 93% rename from ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.ts rename to ui/src/app/dashboard/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.ts index e5ee32714a..7fc8126ef4 100644 --- a/ui/src/app/data-explorer/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.ts +++ b/ui/src/app/dashboard/components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component.ts @@ -28,8 +28,8 @@ import { DialogService, } from '@streampipes/shared-ui'; import { AuthService } from '../../../../services/auth.service'; -import { SpDataExplorerOverviewDirective } from '../data-explorer-overview.directive'; -import { DataExplorerRoutingService } from '../../../services/data-explorer-routing.service'; +import { SpDataExplorerOverviewDirective } from '../../../../data-explorer/components/overview/data-explorer-overview.directive'; +import { DataExplorerRoutingService } from '../../../../data-explorer-shared/services/data-explorer-routing.service'; import { MatDialog } from '@angular/material/dialog'; import { DataExplorerDashboardService } from '../../../services/dashboard.service'; import { DataExplorerSharedService } from '../../../../data-explorer-shared/services/data-explorer-shared.service'; @@ -37,7 +37,9 @@ import { DataExplorerSharedService } from '../../../../data-explorer-shared/serv @Component({ selector: 'sp-data-explorer-dashboard-overview', templateUrl: './data-explorer-dashboard-overview.component.html', - styleUrls: ['../data-explorer-overview.component.scss'], + styleUrls: [ + '../../../../data-explorer/components/overview/data-explorer-overview.component.scss', + ], }) export class SpDataExplorerDashboardOverviewComponent extends SpDataExplorerOverviewDirective { dataSource = new MatTableDataSource<Dashboard>(); diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-toolbar/dashboard-toolbar.component.html b/ui/src/app/dashboard/components/panel/dashboard-toolbar/dashboard-toolbar.component.html similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-toolbar/dashboard-toolbar.component.html rename to ui/src/app/dashboard/components/panel/dashboard-toolbar/dashboard-toolbar.component.html diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-toolbar/dashboard-toolbar.component.scss b/ui/src/app/dashboard/components/panel/dashboard-toolbar/dashboard-toolbar.component.scss similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-toolbar/dashboard-toolbar.component.scss rename to ui/src/app/dashboard/components/panel/dashboard-toolbar/dashboard-toolbar.component.scss diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-toolbar/dashboard-toolbar.component.ts b/ui/src/app/dashboard/components/panel/dashboard-toolbar/dashboard-toolbar.component.ts similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-toolbar/dashboard-toolbar.component.ts rename to ui/src/app/dashboard/components/panel/dashboard-toolbar/dashboard-toolbar.component.ts diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.html b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.html similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.html rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.html diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.scss b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.scss similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.scss rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.scss diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.ts b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.ts similarity index 90% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.ts rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.ts index 363a5a7e59..f46e55d83d 100644 --- a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.ts +++ b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component.ts @@ -23,7 +23,7 @@ import { Component, EventEmitter, Output } from '@angular/core'; templateUrl: './dashboard-widget-selection-panel.component.html', styleUrls: [ './dashboard-widget-selection-panel.component.scss', - '../../data-view/data-view-designer-panel/data-explorer-designer-panel.component.scss', + '../../../../data-explorer/components/data-view/data-view-designer-panel/data-explorer-designer-panel.component.scss', ], }) export class DataExplorerDashboardWidgetSelectionPanelComponent { diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.html b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.html similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.html rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.html diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.scss b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.scss similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.scss rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.scss diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.ts b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.ts similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.ts rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component.ts diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.html b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.html similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.html rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.html diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.scss b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.scss similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.scss rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.scss diff --git a/ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.ts b/ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.ts similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.ts rename to ui/src/app/dashboard/components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component.ts diff --git a/ui/src/app/data-explorer/components/dashboard/data-explorer-dashboard-panel.component.html b/ui/src/app/dashboard/components/panel/data-explorer-dashboard-panel.component.html similarity index 99% rename from ui/src/app/data-explorer/components/dashboard/data-explorer-dashboard-panel.component.html rename to ui/src/app/dashboard/components/panel/data-explorer-dashboard-panel.component.html index c84b3330f2..dd85144b0a 100644 --- a/ui/src/app/data-explorer/components/dashboard/data-explorer-dashboard-panel.component.html +++ b/ui/src/app/dashboard/components/panel/data-explorer-dashboard-panel.component.html @@ -17,7 +17,7 @@ --> <sp-basic-view - [backLinkTarget]="['dataexplorer']" + [backLinkTarget]="['dashboard']" [showBackLink]="true" *ngIf="dashboardLoaded" > diff --git a/ui/src/app/data-explorer/components/dashboard/data-explorer-dashboard-panel.component.scss b/ui/src/app/dashboard/components/panel/data-explorer-dashboard-panel.component.scss similarity index 100% rename from ui/src/app/data-explorer/components/dashboard/data-explorer-dashboard-panel.component.scss rename to ui/src/app/dashboard/components/panel/data-explorer-dashboard-panel.component.scss diff --git a/ui/src/app/data-explorer/components/dashboard/data-explorer-dashboard-panel.component.ts b/ui/src/app/dashboard/components/panel/data-explorer-dashboard-panel.component.ts similarity index 95% rename from ui/src/app/data-explorer/components/dashboard/data-explorer-dashboard-panel.component.ts rename to ui/src/app/dashboard/components/panel/data-explorer-dashboard-panel.component.ts index efd1573098..fc8569fc72 100644 --- a/ui/src/app/data-explorer/components/dashboard/data-explorer-dashboard-panel.component.ts +++ b/ui/src/app/dashboard/components/panel/data-explorer-dashboard-panel.component.ts @@ -44,9 +44,9 @@ import { } from '@streampipes/shared-ui'; import { MatDialog } from '@angular/material/dialog'; import { map, switchMap } from 'rxjs/operators'; -import { SpDataExplorerRoutes } from '../../data-explorer.routes'; -import { DataExplorerRoutingService } from '../../services/data-explorer-routing.service'; -import { DataExplorerDetectChangesService } from '../../services/data-explorer-detect-changes.service'; +import { SpDataExplorerRoutes } from '../../../data-explorer/data-explorer.routes'; +import { DataExplorerRoutingService } from '../../../data-explorer-shared/services/data-explorer-routing.service'; +import { DataExplorerDetectChangesService } from '../../../data-explorer/services/data-explorer-detect-changes.service'; import { SupportsUnsavedChangeDialog } from '../../../data-explorer-shared/models/dataview-dashboard.model'; import { TimeSelectionService } from '@streampipes/shared-ui'; @@ -160,7 +160,7 @@ export class DataExplorerDashboardPanelComponent this.dataViewDataExplorerService .updateDashboard(this.dashboard) .subscribe(result => { - this.routingService.navigateToOverview(true); + this.routingService.navigateToDashboardOverview(true); }); } @@ -187,7 +187,7 @@ export class DataExplorerDashboardPanelComponent } discardChanges() { - this.routingService.navigateToOverview(true); + this.routingService.navigateToDataViewOverview(true); } triggerEditMode() { @@ -249,7 +249,7 @@ export class DataExplorerDashboardPanelComponent } goBackToOverview() { - this.routingService.navigateToOverview(); + this.routingService.navigateToDataViewOverview(); } confirmLeaveDialog( diff --git a/ui/src/app/data-explorer/components/widget-view/abstract-widget-view.directive.ts b/ui/src/app/dashboard/components/widget-view/abstract-widget-view.directive.ts similarity index 100% rename from ui/src/app/data-explorer/components/widget-view/abstract-widget-view.directive.ts rename to ui/src/app/dashboard/components/widget-view/abstract-widget-view.directive.ts diff --git a/ui/src/app/data-explorer/components/widget-view/grid-view/data-explorer-dashboard-grid.component.html b/ui/src/app/dashboard/components/widget-view/grid-view/data-explorer-dashboard-grid.component.html similarity index 100% rename from ui/src/app/data-explorer/components/widget-view/grid-view/data-explorer-dashboard-grid.component.html rename to ui/src/app/dashboard/components/widget-view/grid-view/data-explorer-dashboard-grid.component.html diff --git a/ui/src/app/data-explorer/components/widget-view/grid-view/data-explorer-dashboard-grid.component.scss b/ui/src/app/dashboard/components/widget-view/grid-view/data-explorer-dashboard-grid.component.scss similarity index 100% rename from ui/src/app/data-explorer/components/widget-view/grid-view/data-explorer-dashboard-grid.component.scss rename to ui/src/app/dashboard/components/widget-view/grid-view/data-explorer-dashboard-grid.component.scss diff --git a/ui/src/app/data-explorer/components/widget-view/grid-view/data-explorer-dashboard-grid.component.ts b/ui/src/app/dashboard/components/widget-view/grid-view/data-explorer-dashboard-grid.component.ts similarity index 100% rename from ui/src/app/data-explorer/components/widget-view/grid-view/data-explorer-dashboard-grid.component.ts rename to ui/src/app/dashboard/components/widget-view/grid-view/data-explorer-dashboard-grid.component.ts diff --git a/ui/src/app/data-explorer/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.html b/ui/src/app/dashboard/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.html similarity index 100% rename from ui/src/app/data-explorer/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.html rename to ui/src/app/dashboard/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.html diff --git a/ui/src/app/data-explorer/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.scss b/ui/src/app/dashboard/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.scss similarity index 100% rename from ui/src/app/data-explorer/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.scss rename to ui/src/app/dashboard/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.scss diff --git a/ui/src/app/data-explorer/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.ts b/ui/src/app/dashboard/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.ts similarity index 100% rename from ui/src/app/data-explorer/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.ts rename to ui/src/app/dashboard/components/widget-view/slide-view/data-explorer-dashboard-slide-view.component.ts diff --git a/ui/src/app/dashboard/dashboard.module.ts b/ui/src/app/dashboard/dashboard.module.ts index cffb204b8a..d1a9bf25df 100644 --- a/ui/src/app/dashboard/dashboard.module.ts +++ b/ui/src/app/dashboard/dashboard.module.ts @@ -59,6 +59,17 @@ import { MatProgressBarModule } from '@angular/material/progress-bar'; import { MatButtonToggleModule } from '@angular/material/button-toggle'; import { MatChipsModule } from '@angular/material/chips'; import { MatSliderModule } from '@angular/material/slider'; +import { DataExplorerSharedModule } from '../data-explorer-shared/data-explorer-shared.module'; +import { DataExplorerDashboardPanelComponent } from './components/panel/data-explorer-dashboard-panel.component'; +import { DataExplorerPanelCanDeactivateGuard } from '../data-explorer-shared/services/data-explorer-panel.can-deactivate.guard'; +import { DataExplorerDashboardGridComponent } from './components/widget-view/grid-view/data-explorer-dashboard-grid.component'; +import { DataExplorerDashboardSlideViewComponent } from './components/widget-view/slide-view/data-explorer-dashboard-slide-view.component'; +import { DataExplorerDashboardToolbarComponent } from './components/panel/dashboard-toolbar/dashboard-toolbar.component'; +import { DataExplorerDashboardWidgetSelectionPanelComponent } from './components/panel/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component'; +import { DataExplorerDataViewPreviewComponent } from './components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component'; +import { DataExplorerDataViewSelectionComponent } from './components/panel/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component'; +import { DataExplorerEditDashboardDialogComponent } from './dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component'; +import { SpDataExplorerDashboardOverviewComponent } from './components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component'; @NgModule({ imports: [ @@ -102,6 +113,7 @@ import { MatSliderModule } from '@angular/material/slider'; PlatformServicesModule, ServicesModule, SharedUiModule, + DataExplorerSharedModule, RouterModule.forChild([ { path: '', @@ -110,11 +122,32 @@ import { MatSliderModule } from '@angular/material/slider'; path: '', component: DashboardOverviewComponent, }, + { + path: ':id', + component: DataExplorerDashboardPanelComponent, + canDeactivate: [DataExplorerPanelCanDeactivateGuard], + }, + { + path: ':id/:startTime/:endTime', + component: DataExplorerDashboardPanelComponent, + canDeactivate: [DataExplorerPanelCanDeactivateGuard], + }, ], }, ]), ], - declarations: [DashboardOverviewComponent], + declarations: [ + DashboardOverviewComponent, + DataExplorerDashboardGridComponent, + DataExplorerDashboardPanelComponent, + DataExplorerDashboardSlideViewComponent, + DataExplorerDashboardToolbarComponent, + DataExplorerDashboardWidgetSelectionPanelComponent, + DataExplorerDataViewPreviewComponent, + DataExplorerDataViewSelectionComponent, + DataExplorerEditDashboardDialogComponent, + SpDataExplorerDashboardOverviewComponent, + ], providers: [], exports: [], }) diff --git a/ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.html b/ui/src/app/dashboard/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.html similarity index 100% rename from ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.html rename to ui/src/app/dashboard/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.html diff --git a/ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.scss b/ui/src/app/dashboard/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.scss similarity index 95% rename from ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.scss rename to ui/src/app/dashboard/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.scss index 92f0108de0..cd237499f8 100644 --- a/ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.scss +++ b/ui/src/app/dashboard/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.scss @@ -16,8 +16,6 @@ * */ -@import '../../../../scss/sp/sp-dialog.scss'; - .element-margin { margin-top: 10px; margin-bottom: 10px; diff --git a/ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.ts b/ui/src/app/dashboard/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.ts similarity index 100% rename from ui/src/app/data-explorer/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.ts rename to ui/src/app/dashboard/dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component.ts diff --git a/ui/src/app/data-explorer/services/dashboard.service.ts b/ui/src/app/dashboard/services/dashboard.service.ts similarity index 100% rename from ui/src/app/data-explorer/services/dashboard.service.ts rename to ui/src/app/dashboard/services/dashboard.service.ts diff --git a/ui/src/app/data-explorer/data-explorer-panel.can-deactivate.guard.ts b/ui/src/app/data-explorer-shared/services/data-explorer-panel.can-deactivate.guard.ts similarity index 93% rename from ui/src/app/data-explorer/data-explorer-panel.can-deactivate.guard.ts rename to ui/src/app/data-explorer-shared/services/data-explorer-panel.can-deactivate.guard.ts index ac59aff093..e34eddeeb8 100644 --- a/ui/src/app/data-explorer/data-explorer-panel.can-deactivate.guard.ts +++ b/ui/src/app/data-explorer-shared/services/data-explorer-panel.can-deactivate.guard.ts @@ -23,7 +23,7 @@ import { RouterStateSnapshot, } from '@angular/router'; import { Observable } from 'rxjs'; -import { SupportsUnsavedChangeDialog } from '../data-explorer-shared/models/dataview-dashboard.model'; +import { SupportsUnsavedChangeDialog } from '../models/dataview-dashboard.model'; @Injectable({ providedIn: 'root' }) export class DataExplorerPanelCanDeactivateGuard { diff --git a/ui/src/app/data-explorer/services/data-explorer-routing.service.ts b/ui/src/app/data-explorer-shared/services/data-explorer-routing.service.ts similarity index 79% rename from ui/src/app/data-explorer/services/data-explorer-routing.service.ts rename to ui/src/app/data-explorer-shared/services/data-explorer-routing.service.ts index d6ed9d7527..3b4bd8cb3d 100644 --- a/ui/src/app/data-explorer/services/data-explorer-routing.service.ts +++ b/ui/src/app/data-explorer-shared/services/data-explorer-routing.service.ts @@ -21,13 +21,21 @@ import { Router } from '@angular/router'; @Injectable({ providedIn: 'root' }) export class DataExplorerRoutingService { - private dataViewPath = ['dataexplorer', 'data-view']; - private dashboardPath = ['dataexplorer', 'dashboard']; + private dataViewPath = ['dataexplorer']; + private dashboardPath = ['dashboard']; constructor(private router: Router) {} - navigateToOverview(omitConfirm: boolean = false): void { - this.router.navigate(['dataexplorer'], { state: { omitConfirm } }); + navigateToDataViewOverview(omitConfirm: boolean = false): void { + this.navigateToOverview(this.dataViewPath, omitConfirm); + } + + navigateToDashboardOverview(omitConfirm = false): void { + this.navigateToOverview(this.dashboardPath, omitConfirm); + } + + private navigateToOverview(path: string[], omitConfirm = false) { + this.router.navigate(path, { state: { omitConfirm } }); } navigateToDataView( @@ -35,12 +43,8 @@ export class DataExplorerRoutingService { dataViewElementId?: string, newTab = false, ) { - return this.navigate( - editMode, - this.dataViewPath, - dataViewElementId, - newTab, - ); + const path = [...this.dataViewPath, 'data-view']; + return this.navigate(editMode, path, dataViewElementId, newTab); } navigateToDashboard( diff --git a/ui/src/app/data-explorer/components/data-view/data-explorer-data-view.component.ts b/ui/src/app/data-explorer/components/data-view/data-explorer-data-view.component.ts index 1a9a44777a..efa041c7d5 100644 --- a/ui/src/app/data-explorer/components/data-view/data-explorer-data-view.component.ts +++ b/ui/src/app/data-explorer/components/data-view/data-explorer-data-view.component.ts @@ -30,7 +30,7 @@ import { RouterStateSnapshot, } from '@angular/router'; import { ConfirmDialogComponent } from '@streampipes/shared-ui'; -import { DataExplorerRoutingService } from '../../services/data-explorer-routing.service'; +import { DataExplorerRoutingService } from '../../../data-explorer-shared/services/data-explorer-routing.service'; import { DataExplorerSharedService } from '../../../data-explorer-shared/services/data-explorer-shared.service'; import { DataExplorerDetectChangesService } from '../../services/data-explorer-detect-changes.service'; import { SupportsUnsavedChangeDialog } from '../../../data-explorer-shared/models/dataview-dashboard.model'; @@ -153,7 +153,7 @@ export class DataExplorerDataViewComponent ? this.dataViewService.updateWidget(this.dataView) : this.dataViewService.saveWidget(this.dataView); observable.subscribe(() => { - this.routingService.navigateToOverview(true); + this.routingService.navigateToDataViewOverview(true); }); } @@ -198,7 +198,7 @@ export class DataExplorerDataViewComponent } discardChanges() { - this.routingService.navigateToOverview(true); + this.routingService.navigateToDataViewOverview(true); } updateDateRange(timeSettings: TimeSettings) { diff --git a/ui/src/app/data-explorer/components/overview/data-explorer-data-view-overview/data-explorer-data-view-overview.component.ts b/ui/src/app/data-explorer/components/overview/data-explorer-data-view-overview/data-explorer-data-view-overview.component.ts index 61c54d0048..9dd7f0faac 100644 --- a/ui/src/app/data-explorer/components/overview/data-explorer-data-view-overview/data-explorer-data-view-overview.component.ts +++ b/ui/src/app/data-explorer/components/overview/data-explorer-data-view-overview/data-explorer-data-view-overview.component.ts @@ -30,7 +30,7 @@ import { ConfirmDialogComponent, } from '@streampipes/shared-ui'; import { AuthService } from '../../../../services/auth.service'; -import { DataExplorerRoutingService } from '../../../services/data-explorer-routing.service'; +import { DataExplorerRoutingService } from '../../../../data-explorer-shared/services/data-explorer-routing.service'; import { DataExplorerSharedService } from '../../../../data-explorer-shared/services/data-explorer-shared.service'; import { MatDialog } from '@angular/material/dialog'; diff --git a/ui/src/app/data-explorer/components/overview/data-explorer-overview.component.html b/ui/src/app/data-explorer/components/overview/data-explorer-overview.component.html index ac0c0b090f..622921baa0 100644 --- a/ui/src/app/data-explorer/components/overview/data-explorer-overview.component.html +++ b/ui/src/app/data-explorer/components/overview/data-explorer-overview.component.html @@ -30,18 +30,6 @@ fxLayout="row" class="pl-10" > - <button - mat-button - mat-raised-button - color="accent" - data-cy="open-new-dashboard-dialog" - (click)="openNewDashboardDialog()" - class="mr-10" - *ngIf="hasDataExplorerWritePrivileges" - > - <i class="material-icons">add</i> - <span>New Dashboard</span> - </button> <button mat-button mat-raised-button @@ -56,9 +44,6 @@ </button> </div> <div fxFlex="100" fxLayout="column"> - <sp-data-explorer-dashboard-overview - (resourceCountEmitter)="resourceCount = $event" - ></sp-data-explorer-dashboard-overview> <sp-data-explorer-data-view-overview></sp-data-explorer-data-view-overview> </div> </sp-basic-view> diff --git a/ui/src/app/data-explorer/components/overview/data-explorer-overview.component.ts b/ui/src/app/data-explorer/components/overview/data-explorer-overview.component.ts index 8b76c19288..f225d3f6b3 100644 --- a/ui/src/app/data-explorer/components/overview/data-explorer-overview.component.ts +++ b/ui/src/app/data-explorer/components/overview/data-explorer-overview.component.ts @@ -16,8 +16,7 @@ * */ -import { Component, ViewChild } from '@angular/core'; -import { Dashboard } from '@streampipes/platform-services'; +import { Component } from '@angular/core'; import { CurrentUserService, DialogService, @@ -25,10 +24,8 @@ import { } from '@streampipes/shared-ui'; import { AuthService } from '../../../services/auth.service'; import { SpDataExplorerRoutes } from '../../data-explorer.routes'; -import { SpDataExplorerDashboardOverviewComponent } from './data-explorer-dashboard-overview/data-explorer-dashboard-overview.component'; import { SpDataExplorerOverviewDirective } from './data-explorer-overview.directive'; -import { DataExplorerRoutingService } from '../../services/data-explorer-routing.service'; -import { DataExplorerDashboardService } from '../../services/dashboard.service'; +import { DataExplorerRoutingService } from '../../../data-explorer-shared/services/data-explorer-routing.service'; @Component({ selector: 'sp-data-explorer-overview', @@ -36,15 +33,11 @@ import { DataExplorerDashboardService } from '../../services/dashboard.service'; styleUrls: ['./data-explorer-overview.component.scss'], }) export class DataExplorerOverviewComponent extends SpDataExplorerOverviewDirective { - @ViewChild(SpDataExplorerDashboardOverviewComponent) - dashboardOverview: SpDataExplorerDashboardOverviewComponent; - resourceCount = 0; constructor( public dialogService: DialogService, private breadcrumbService: SpBreadcrumbService, - private dataExplorerDashboardService: DataExplorerDashboardService, authService: AuthService, currentUserService: CurrentUserService, routingService: DataExplorerRoutingService, @@ -58,38 +51,11 @@ export class DataExplorerOverviewComponent extends SpDataExplorerOverviewDirecti ); } - openNewDashboardDialog() { - const dataViewDashboard: Dashboard = { - dashboardGeneralSettings: {}, - widgets: [], - name: '', - dashboardLiveSettings: { - refreshModeActive: false, - refreshIntervalInSeconds: 10, - label: 'Off', - }, - }; - - this.openDashboardModificationDialog(true, dataViewDashboard); - } - createNewDataView(): void { this.routingService.navigateToDataView(true); } - openDashboardModificationDialog(createMode: boolean, dashboard: Dashboard) { - const dialogRef = - this.dataExplorerDashboardService.openDashboardModificationDialog( - createMode, - dashboard, - ); - - dialogRef.afterClosed().subscribe(() => { - this.dashboardOverview.getDashboards(); - }); - } - applyDashboardFilters(elementIds: Set<string> = new Set<string>()): void { - this.dashboardOverview.applyDashboardFilters(elementIds); + //this.da.applyDashboardFilters(elementIds); } } diff --git a/ui/src/app/data-explorer/components/overview/data-explorer-overview.directive.ts b/ui/src/app/data-explorer/components/overview/data-explorer-overview.directive.ts index fa70f023a4..2e80ab99d1 100644 --- a/ui/src/app/data-explorer/components/overview/data-explorer-overview.directive.ts +++ b/ui/src/app/data-explorer/components/overview/data-explorer-overview.directive.ts @@ -22,7 +22,7 @@ import { UserPrivilege } from '../../../_enums/user-privilege.enum'; import { UserRole } from '../../../_enums/user-role.enum'; import { CurrentUserService, DialogService } from '@streampipes/shared-ui'; import { AuthService } from '../../../services/auth.service'; -import { DataExplorerRoutingService } from '../../services/data-explorer-routing.service'; +import { DataExplorerRoutingService } from '../../../data-explorer-shared/services/data-explorer-routing.service'; @Directive() export abstract class SpDataExplorerOverviewDirective diff --git a/ui/src/app/data-explorer/data-explorer.module.ts b/ui/src/app/data-explorer/data-explorer.module.ts index c2cfd82b6f..b211f0e83e 100644 --- a/ui/src/app/data-explorer/data-explorer.module.ts +++ b/ui/src/app/data-explorer/data-explorer.module.ts @@ -35,10 +35,7 @@ import { GridsterModule } from 'angular-gridster2'; import { ColorPickerModule } from 'ngx-color-picker'; import { PlatformServicesModule } from '@streampipes/platform-services'; import { CoreUiModule } from '../core-ui/core-ui.module'; -import { DataExplorerDashboardGridComponent } from './components/widget-view/grid-view/data-explorer-dashboard-grid.component'; import { DataExplorerOverviewComponent } from './components/overview/data-explorer-overview.component'; -import { DataExplorerDashboardPanelComponent } from './components/dashboard/data-explorer-dashboard-panel.component'; -import { DataExplorerEditDashboardDialogComponent } from './dialogs/edit-dashboard/data-explorer-edit-dashboard-dialog.component'; import { MatSlideToggleModule } from '@angular/material/slide-toggle'; import { DataExplorerDesignerPanelComponent } from './components/data-view/data-view-designer-panel/data-explorer-designer-panel.component'; import { DataExplorerWidgetAppearanceSettingsComponent } from './components/data-view/data-view-designer-panel/appearance-settings/data-explorer-widget-appearance-settings.component'; @@ -49,9 +46,8 @@ import { FilterSelectionPanelComponent } from './components/data-view/data-view- import { DataExplorerVisualisationSettingsComponent } from './components/data-view/data-view-designer-panel/visualisation-settings/data-explorer-visualisation-settings.component'; import { GroupSelectionPanelComponent } from './components/data-view/data-view-designer-panel/data-settings/group-selection-panel/group-selection-panel.component'; import { RouterModule } from '@angular/router'; -import { DataExplorerDashboardSlideViewComponent } from './components/widget-view/slide-view/data-explorer-dashboard-slide-view.component'; import { SharedUiModule } from '@streampipes/shared-ui'; -import { DataExplorerPanelCanDeactivateGuard } from './data-explorer-panel.can-deactivate.guard'; +import { DataExplorerPanelCanDeactivateGuard } from '../data-explorer-shared/services/data-explorer-panel.can-deactivate.guard'; import { NgxEchartsModule } from 'ngx-echarts'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; @@ -76,13 +72,8 @@ import { MatTooltipModule } from '@angular/material/tooltip'; import { MatProgressBarModule } from '@angular/material/progress-bar'; import { MatButtonToggleModule } from '@angular/material/button-toggle'; import { SpDataExplorerDataViewOverviewComponent } from './components/overview/data-explorer-data-view-overview/data-explorer-data-view-overview.component'; -import { SpDataExplorerDashboardOverviewComponent } from './components/overview/data-explorer-dashboard-overview/data-explorer-dashboard-overview.component'; import { DataExplorerDataViewComponent } from './components/data-view/data-explorer-data-view.component'; import { DataExplorerDataViewToolbarComponent } from './components/data-view/data-view-toolbar/data-explorer-data-view-toolbar.component'; -import { DataExplorerDataViewSelectionComponent } from './components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-selection.component'; -import { DataExplorerDashboardWidgetSelectionPanelComponent } from './components/dashboard/dashboard-widget-selection-panel/dashboard-widget-selection-panel.component'; -import { DataExplorerDataViewPreviewComponent } from './components/dashboard/dashboard-widget-selection-panel/data-view-selection/data-view-preview/data-view-preview.component'; -import { DataExplorerDashboardToolbarComponent } from './components/dashboard/dashboard-toolbar/dashboard-toolbar.component'; import { OrderSelectionPanelComponent } from './components/data-view/data-view-designer-panel/data-settings/order-selection-panel/order-selection-panel.component'; import { FilterSelectionPanelRowComponent } from './components/data-view/data-view-designer-panel/data-settings/filter-selection-panel/filter-selection-panel-row/filter-selection-panel-row.component'; import { FilterSelectionPanelRowPropertySelectionComponent } from './components/data-view/data-view-designer-panel/data-settings/filter-selection-panel/filter-selection-panel-row/panel-row-property-selection/filter-selection-panel-row-property-selection.component'; @@ -155,16 +146,6 @@ import { AggregateConfigurationComponent } from './components/data-view/data-vie component: DataExplorerDataViewComponent, canDeactivate: [DataExplorerPanelCanDeactivateGuard], }, - { - path: 'dashboard/:id', - component: DataExplorerDashboardPanelComponent, - canDeactivate: [DataExplorerPanelCanDeactivateGuard], - }, - { - path: 'dashboard/:id/:startTime/:endTime', - component: DataExplorerDashboardPanelComponent, - canDeactivate: [DataExplorerPanelCanDeactivateGuard], - }, ], }, ]), @@ -172,16 +153,8 @@ import { AggregateConfigurationComponent } from './components/data-view/data-vie ], declarations: [ AggregateConfigurationComponent, - DataExplorerDashboardGridComponent, DataExplorerOverviewComponent, - DataExplorerDashboardPanelComponent, - DataExplorerDashboardSlideViewComponent, - DataExplorerDashboardToolbarComponent, - DataExplorerDashboardWidgetSelectionPanelComponent, - DataExplorerDataViewPreviewComponent, - DataExplorerDataViewSelectionComponent, DataExplorerDesignerPanelComponent, - DataExplorerEditDashboardDialogComponent, DataExplorerWidgetAppearanceSettingsComponent, DataExplorerWidgetDataSettingsComponent, DataExplorerDataViewComponent, @@ -195,7 +168,6 @@ import { AggregateConfigurationComponent } from './components/data-view/data-vie DataExplorerVisualisationSettingsComponent, OrderSelectionPanelComponent, SpDataExplorerDataViewOverviewComponent, - SpDataExplorerDashboardOverviewComponent, FilterSelectionPanelRowPropertySelectionComponent, FilterSelectionPanelRowOperationSelectionComponent, FilterSelectionPanelRowValueInputComponent,
