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