@@ -13,9 +13,9 @@ import {
1313} from '@ng-bootstrap/ng-bootstrap' ;
1414import { TranslateModule } from '@ngx-translate/core' ;
1515import {
16+ BehaviorSubject ,
1617 combineLatest as observableCombineLatest ,
1718 Observable ,
18- of ,
1919} from 'rxjs' ;
2020import {
2121 filter ,
@@ -45,7 +45,6 @@ import { ListableObjectComponentLoaderComponent } from '../../../../shared/objec
4545import { VirtualMetadataComponent } from '../../virtual-metadata/virtual-metadata.component' ;
4646
4747@Component ( {
48- // eslint-disable-next-line @angular-eslint/component-selector
4948 selector : 'ds-edit-relationship' ,
5049 styleUrls : [ './edit-relationship.component.scss' ] ,
5150 templateUrl : './edit-relationship.component.html' ,
@@ -95,7 +94,7 @@ export class EditRelationshipComponent implements OnChanges {
9594 /**
9695 * The related item of this relationship
9796 */
98- relatedItem$ : Observable < Item > ;
97+ relatedItem$ : BehaviorSubject < Item > = new BehaviorSubject < Item > ( null ) ;
9998
10099 /**
101100 * The view-mode we're currently on
@@ -128,16 +127,19 @@ export class EditRelationshipComponent implements OnChanges {
128127 getRemoteDataPayload ( ) ,
129128 filter ( ( item : Item ) => hasValue ( item ) && isNotEmpty ( item . uuid ) ) ,
130129 ) ;
131- this . relatedItem$ = observableCombineLatest (
130+ observableCombineLatest ( [
132131 this . leftItem$ ,
133132 this . rightItem$ ,
134- ) . pipe (
133+ ] ) . pipe (
135134 map ( ( items : Item [ ] ) =>
136135 items . find ( ( item ) => item . uuid !== this . editItem . uuid ) ,
137136 ) ,
138- ) ;
137+ take ( 1 ) ,
138+ ) . subscribe ( ( relatedItem ) => {
139+ this . relatedItem$ . next ( relatedItem ) ;
140+ } ) ;
139141 } else {
140- this . relatedItem$ = of ( this . update . relatedItem ) ;
142+ this . relatedItem$ . next ( this . update . relatedItem ) ;
141143 }
142144 }
143145
@@ -146,10 +148,10 @@ export class EditRelationshipComponent implements OnChanges {
146148 */
147149 remove ( ) : void {
148150 this . closeVirtualMetadataModal ( ) ;
149- observableCombineLatest (
151+ observableCombineLatest ( [
150152 this . leftItem$ ,
151153 this . rightItem$ ,
152- ) . pipe (
154+ ] ) . pipe (
153155 map ( ( items : Item [ ] ) =>
154156 items . map ( ( item ) => this . objectUpdatesService
155157 . isSelectedVirtualMetadata ( this . url , this . relationship . id , item . uuid ) ) ,
0 commit comments