diff --git a/src/lib/src/editor/editor.component.ts b/src/lib/src/editor/editor.component.ts index 17dbb6f..d4101e2 100644 --- a/src/lib/src/editor/editor.component.ts +++ b/src/lib/src/editor/editor.component.ts @@ -8,6 +8,7 @@ import { CompositeDisposable, Disposable } from 'ts-disposables'; import * as _$ from 'jquery'; import * as _ from 'lodash'; import * as _joint from 'jointjs'; +import { Observable } from 'rxjs/Observable'; import { Subject } from 'rxjs/Subject'; const joint : any = _joint; const $ : any = _$; @@ -130,9 +131,9 @@ export class EditorComponent implements OnInit, OnDestroy { @Output() private dslChange = new EventEmitter(); - private textToGraphConversionCompleted = new EventEmitter(); + private textToGraphConversionCompleted = new Subject(); - private graphToTextConversionCompleted = new EventEmitter(); + private graphToTextConversionCompleted = new Subject(); constructor(private element: ElementRef) { let self = this; @@ -256,11 +257,11 @@ export class EditorComponent implements OnInit, OnDestroy { } } - get textToGraphConversionSubject(): Subject { + get textToGraphConversionObservable(): Observable { return self.textToGraphConversionCompleted; } - get graphToTextConversionSubject(): Subject { + get graphToTextConversionObservable(): Observable { return self.graphToTextConversionCompleted; } @@ -825,11 +826,11 @@ export class EditorComponent implements OnInit, OnDestroy { console.debug(`Updating graph to represent '${this._dslText}'`); if (this.metamodel && this.metamodel.textToGraph) { return this.metamodel.textToGraph(this.editorContext, this._dslText).then(() => { - this.textToGraphConversionCompleted.emit(); + this.textToGraphConversionCompleted.next(); return this.validateContent() }); } else { - this.textToGraphConversionCompleted.emit(); + this.textToGraphConversionCompleted.next(); return this.validateContent(); } } @@ -841,11 +842,11 @@ export class EditorComponent implements OnInit, OnDestroy { this._dslText = text; this.dslChange.emit(text); } - this.graphToTextConversionCompleted.emit(); + this.graphToTextConversionCompleted.next(); return this.validateContent(); }); } else { - this.graphToTextConversionCompleted.emit(); + this.graphToTextConversionCompleted.next(); return this.validateContent(); } } diff --git a/src/lib/src/shared/flo.common.ts b/src/lib/src/shared/flo.common.ts index 02b9299..082f116 100644 --- a/src/lib/src/shared/flo.common.ts +++ b/src/lib/src/shared/flo.common.ts @@ -1,5 +1,5 @@ import { dia } from 'jointjs'; -import { Subject } from 'rxjs/Subject'; +import { Observable } from 'rxjs/Observable'; export namespace Flo { export enum DnDEventType { @@ -145,8 +145,8 @@ export namespace Flo { createNode(metadata : ElementMetadata, props? : Map, position? : dia.Point) : dia.Element; createLink(source : LinkEnd, target : LinkEnd, metadata? : ElementMetadata, props? : Map) : dia.Link; deleteSelectedNode() : void; - readonly textToGraphConversionSubject: Subject; - readonly graphToTextConversionSubject: Subject; + readonly textToGraphConversionObservable: Observable; + readonly graphToTextConversionObservable: Observable; [propName : string] : any; }