Fix publication update component.
This commit is contained in:
@@ -55,7 +55,7 @@ export class PublicationEditionComponent {
|
||||
const publicationInEdition = this.publicationInEdition();
|
||||
if (!publicationInEdition || publicationInEdition !== publication) {
|
||||
this.publicationInEdition.set(publication);
|
||||
this.#publicationEditionService.init(publicationInEdition);
|
||||
this.#publicationEditionService.init(publication);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import {PublicationEditionComponent} from '../../components/publication-edition/
|
||||
import {Publication} from '../../core/rest-services/publications/model/publication';
|
||||
import {PublicationRestService} from '../../core/rest-services/publications/publication.rest-service';
|
||||
import {toSignal} from "@angular/core/rxjs-interop";
|
||||
import {map} from "rxjs";
|
||||
|
||||
@Component({
|
||||
selector: 'app-publication-update',
|
||||
@@ -40,6 +41,10 @@ export class PublicationUpdateComponent {
|
||||
#isSavingSubject = signal(false);
|
||||
publication = signal<Publication | undefined>(undefined);
|
||||
|
||||
#publicationId$ = this.#activatedRoute.params
|
||||
.pipe(map(queryParams => queryParams['publicationId']));
|
||||
#publicationId = toSignal(this.#publicationId$, { initialValue: undefined });
|
||||
|
||||
get isLoading(): Signal<boolean> {
|
||||
return this.#isLoading.asReadonly();
|
||||
}
|
||||
@@ -49,16 +54,11 @@ export class PublicationUpdateComponent {
|
||||
}
|
||||
|
||||
constructor() {
|
||||
const queryParams = toSignal(this.#activatedRoute.queryParamMap);
|
||||
effect(() => {
|
||||
let params = queryParams();
|
||||
this.#isLoading.set(true);
|
||||
if (params) {
|
||||
const publicationId = params.get('publicationId');
|
||||
if (publicationId == undefined) {
|
||||
this.#snackBar.open($localize`A technical error occurred while loading publication data.`, $localize`Close`, {duration: 5000});
|
||||
this.#location.back();
|
||||
} else {
|
||||
|
||||
const publicationId = this.#publicationId();
|
||||
if (publicationId) {
|
||||
this.#publicationRestService.getById(publicationId)
|
||||
.then(publication => {
|
||||
this.publication.set(publication);
|
||||
@@ -69,9 +69,11 @@ export class PublicationUpdateComponent {
|
||||
console.error(errorMessage, error)
|
||||
})
|
||||
.finally(() => this.#isLoading.set(false));
|
||||
} else {
|
||||
this.#snackBar.open($localize`A technical error occurred while loading publication data.`, $localize`Close`, {duration: 5000});
|
||||
this.#location.back();
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
onPublicationSave(publication: Publication): void {
|
||||
|
||||
Reference in New Issue
Block a user