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/05/21 21:48:01 UTC
[incubator-streampipes] 03/03: [STREAMPIPES-369] Improve reloading
of widgets after updates
This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git
commit 40dbfd4b4f3e93f46caa574cfc2af880d1995fbf
Author: Dominik Riemer <ri...@fzi.de>
AuthorDate: Fri May 21 23:47:29 2021 +0200
[STREAMPIPES-369] Improve reloading of widgets after updates
---
.../components/widget/dashboard-widget.component.ts | 12 ++++++++++--
ui/src/app/dashboard/dashboard.module.ts | 2 ++
ui/src/app/dashboard/services/edit-mode.service.ts | 4 ++--
ui/src/app/dashboard/services/refresh-dashboard.service.ts | 6 +++---
.../{edit-mode.service.ts => reload-pipeline.service.ts} | 10 +++++-----
ui/src/app/dashboard/services/resize.service.ts | 6 +++---
6 files changed, 25 insertions(+), 15 deletions(-)
diff --git a/ui/src/app/dashboard/components/widget/dashboard-widget.component.ts b/ui/src/app/dashboard/components/widget/dashboard-widget.component.ts
index e005f22..7f19700 100644
--- a/ui/src/app/dashboard/components/widget/dashboard-widget.component.ts
+++ b/ui/src/app/dashboard/components/widget/dashboard-widget.component.ts
@@ -29,6 +29,7 @@ import {PanelType} from "../../../core-ui/dialog/base-dialog/base-dialog.model";
import {DialogService} from "../../../core-ui/dialog/base-dialog/base-dialog.service";
import {PipelineService} from "../../../platform-services/apis/pipeline.service";
import {EditModeService} from "../../services/edit-mode.service";
+import {ReloadPipelineService} from "../../services/reload-pipeline.service";
@Component({
selector: 'dashboard-widget',
@@ -57,11 +58,15 @@ export class DashboardWidgetComponent implements OnInit {
constructor(private dashboardService: DashboardService,
private dialogService: DialogService,
private pipelineService: PipelineService,
- private editModeService: EditModeService) {
+ private editModeService: EditModeService,
+ private reloadPipelineService: ReloadPipelineService) {
}
ngOnInit(): void {
this.loadWidget();
+ this.reloadPipelineService.reloadPipelineSubject.subscribe(() => {
+ this.loadWidget();
+ })
}
loadWidget() {
@@ -95,7 +100,10 @@ export class DashboardWidgetComponent implements OnInit {
if (!this.pipelineRunning) {
this.pipelineService
.startPipeline(this.pipeline._id)
- .subscribe(status => this.loadWidget());
+ .subscribe(status => {
+ //this.loadWidget();
+ this.reloadPipelineService.reloadPipelineSubject.next();
+ });
}
}
diff --git a/ui/src/app/dashboard/dashboard.module.ts b/ui/src/app/dashboard/dashboard.module.ts
index fcb638f..4e388fa 100644
--- a/ui/src/app/dashboard/dashboard.module.ts
+++ b/ui/src/app/dashboard/dashboard.module.ts
@@ -59,6 +59,7 @@ import {StatusWidgetComponent} from "./components/widgets/status/status-widget.c
import {BarRaceWidgetComponent} from "./components/widgets/bar-race/bar-race-widget.component";
import {StackedLineChartWidgetComponent} from "./components/widgets/stacked-line-chart/stacked-line-chart-widget.component";
import {EditModeService} from "./services/edit-mode.service";
+import {ReloadPipelineService} from "./services/reload-pipeline.service";
@NgModule({
imports: [
@@ -110,6 +111,7 @@ import {EditModeService} from "./services/edit-mode.service";
providers: [
DashboardService,
EditModeService,
+ ReloadPipelineService,
ResizeService,
RefreshDashboardService,
SemanticTypeUtilsService,
diff --git a/ui/src/app/dashboard/services/edit-mode.service.ts b/ui/src/app/dashboard/services/edit-mode.service.ts
index b8de16e..c915c1f 100644
--- a/ui/src/app/dashboard/services/edit-mode.service.ts
+++ b/ui/src/app/dashboard/services/edit-mode.service.ts
@@ -16,14 +16,14 @@
*
*/
-import {ReplaySubject} from "rxjs";
+import {ReplaySubject, Subject} from "rxjs";
import {Injectable} from "@angular/core";
import {GridsterInfo} from "../models/gridster-info.model";
@Injectable()
export class EditModeService {
- public editModeSubject: ReplaySubject<boolean> = new ReplaySubject<boolean>();
+ public editModeSubject: Subject<boolean> = new Subject<boolean>();
public notify(editMode: boolean): void {
this.editModeSubject.next(editMode);
diff --git a/ui/src/app/dashboard/services/refresh-dashboard.service.ts b/ui/src/app/dashboard/services/refresh-dashboard.service.ts
index 4f9c0e3..0d7374f 100644
--- a/ui/src/app/dashboard/services/refresh-dashboard.service.ts
+++ b/ui/src/app/dashboard/services/refresh-dashboard.service.ts
@@ -17,14 +17,14 @@
*/
import {Injectable} from "@angular/core";
-import {ReplaySubject} from "rxjs";
+import {ReplaySubject, Subject} from "rxjs";
@Injectable()
export class RefreshDashboardService {
- public refreshSubject: ReplaySubject<string> = new ReplaySubject<string>();
+ public refreshSubject: Subject<string> = new Subject<string>();
public notify(currentDashboard: string): void {
this.refreshSubject.next(currentDashboard);
}
-}
\ No newline at end of file
+}
diff --git a/ui/src/app/dashboard/services/edit-mode.service.ts b/ui/src/app/dashboard/services/reload-pipeline.service.ts
similarity index 80%
copy from ui/src/app/dashboard/services/edit-mode.service.ts
copy to ui/src/app/dashboard/services/reload-pipeline.service.ts
index b8de16e..2fad54d 100644
--- a/ui/src/app/dashboard/services/edit-mode.service.ts
+++ b/ui/src/app/dashboard/services/reload-pipeline.service.ts
@@ -16,16 +16,16 @@
*
*/
-import {ReplaySubject} from "rxjs";
+import {ReplaySubject, Subject} from "rxjs";
import {Injectable} from "@angular/core";
import {GridsterInfo} from "../models/gridster-info.model";
@Injectable()
-export class EditModeService {
+export class ReloadPipelineService {
- public editModeSubject: ReplaySubject<boolean> = new ReplaySubject<boolean>();
+ public reloadPipelineSubject: Subject<void> = new Subject<void>();
- public notify(editMode: boolean): void {
- this.editModeSubject.next(editMode);
+ public notify(): void {
+ this.reloadPipelineSubject.next();
}
}
diff --git a/ui/src/app/dashboard/services/resize.service.ts b/ui/src/app/dashboard/services/resize.service.ts
index 9c53041..1604bf0 100644
--- a/ui/src/app/dashboard/services/resize.service.ts
+++ b/ui/src/app/dashboard/services/resize.service.ts
@@ -16,16 +16,16 @@
*
*/
-import {ReplaySubject} from "rxjs";
+import {ReplaySubject, Subject} from "rxjs";
import {Injectable} from "@angular/core";
import {GridsterInfo} from "../models/gridster-info.model";
@Injectable()
export class ResizeService {
- public resizeSubject: ReplaySubject<GridsterInfo> = new ReplaySubject<GridsterInfo>();
+ public resizeSubject: Subject<GridsterInfo> = new Subject<GridsterInfo>();
public notify(info: GridsterInfo): void {
this.resizeSubject.next(info);
}
-}
\ No newline at end of file
+}