Skip to content

Commit bcf8383

Browse files
committed
[DURACOM-191] Fix issue with edit relationship page
1 parent 2826ff5 commit bcf8383

2 files changed

Lines changed: 12 additions & 10 deletions

File tree

src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ describe('EditRelationshipComponent', () => {
166166
comp.url = url;
167167
comp.fieldUpdate = fieldUpdate1;
168168
comp.editItem = item;
169-
comp.relatedItem$ = observableOf(relatedItem);
169+
comp.relatedItem$.next(relatedItem);
170170

171171
fixture.detectChanges();
172172
});

src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ import {
1313
} from '@ng-bootstrap/ng-bootstrap';
1414
import { TranslateModule } from '@ngx-translate/core';
1515
import {
16+
BehaviorSubject,
1617
combineLatest as observableCombineLatest,
1718
Observable,
18-
of,
1919
} from 'rxjs';
2020
import {
2121
filter,
@@ -45,7 +45,6 @@ import { ListableObjectComponentLoaderComponent } from '../../../../shared/objec
4545
import { 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

Comments
 (0)