Skip to content

Commit 3524997

Browse files
committed
create initilization data for newly registred components to fix a bug where the system's state is corupted after switching views and edditing instances
1 parent be76175 commit 3524997

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

client/src/app/dashboard/graph-view/graph-view.service.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Instance } from 'src/app/model/models/instance';
44
import { BehaviorSubject, Observable, Subject} from 'rxjs';
55
import * as cytoscape from 'cytoscape';
66
import { InstanceLink } from 'src/app/model/models/instanceLink';
7-
import { Actions } from 'src/app/model/store.service';
7+
import { Actions, StoreService } from 'src/app/model/store.service';
88
import { GraphConfig } from './GraphConfig';
99
import { ApiService } from 'src/app/api/api/api.service';
1010

@@ -57,7 +57,7 @@ export class GraphViewService {
5757
private elementProvider: BehaviorSubject<ElementUpdate>;
5858
private elementRemover: Subject<Array<string>>;
5959

60-
constructor(private modelService: ModelService, private apiService: ApiService) {
60+
constructor(private modelService: ModelService, private apiService: ApiService, private storeService: StoreService) {
6161
this.elementProvider = new BehaviorSubject<ElementUpdate>({type: Actions.NONE, elements: []});
6262
this.elementRemover = new BehaviorSubject<Array<string>>([]);
6363

@@ -133,8 +133,12 @@ export class GraphViewService {
133133

134134
public getElementObservable(): Observable<ElementUpdate> {
135135
return new Observable((observer) => {
136+
// calculate init value
137+
const allInstances = Object.values(this.storeService.getState().instances);
138+
console.log('all instances', allInstances);
139+
const cyElements = this.createCytoscapeElements(allInstances);
140+
observer.next({type: Actions.ADD, elements: cyElements});
136141
this.elementProvider.subscribe(observer);
137-
observer.next(this.elementProvider.value);
138142
});
139143
}
140144

0 commit comments

Comments
 (0)