|
|
|
@ -13,7 +13,8 @@ import { Observable, Subscription } from 'rxjs'; |
|
|
|
import { |
|
|
|
ContentCreated, |
|
|
|
ContentDeleted, |
|
|
|
ContentUpdated |
|
|
|
ContentUpdated, |
|
|
|
ContentVersionSelected |
|
|
|
} from './../messages'; |
|
|
|
|
|
|
|
import { |
|
|
|
@ -38,6 +39,7 @@ import { |
|
|
|
}) |
|
|
|
export class ContentPageComponent extends AppComponentBase implements CanComponentDeactivate, OnDestroy, OnInit { |
|
|
|
private contentDeletedSubscription: Subscription; |
|
|
|
private contentVersionSelectedSubscription: Subscription; |
|
|
|
private version = new Version(''); |
|
|
|
private content: ContentDto; |
|
|
|
|
|
|
|
@ -63,6 +65,7 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone |
|
|
|
} |
|
|
|
|
|
|
|
public ngOnDestroy() { |
|
|
|
this.contentVersionSelectedSubscription.unsubscribe(); |
|
|
|
this.contentDeletedSubscription.unsubscribe(); |
|
|
|
} |
|
|
|
|
|
|
|
@ -71,6 +74,12 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone |
|
|
|
|
|
|
|
this.languages = routeData['appLanguages']; |
|
|
|
|
|
|
|
this.contentVersionSelectedSubscription = |
|
|
|
this.messageBus.of(ContentVersionSelected) |
|
|
|
.subscribe(message => { |
|
|
|
this.loadVersion(message.version); |
|
|
|
}); |
|
|
|
|
|
|
|
this.contentDeletedSubscription = |
|
|
|
this.messageBus.of(ContentDeleted) |
|
|
|
.subscribe(message => { |
|
|
|
@ -146,6 +155,22 @@ export class ContentPageComponent extends AppComponentBase implements CanCompone |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private loadVersion(version: number) { |
|
|
|
if (!this.isNewMode && this.content) { |
|
|
|
this.appNameOnce() |
|
|
|
.switchMap(app => this.contentsService.getVersionData(app, this.schema.name, this.contentId!, new Version(version.toString()))) |
|
|
|
.subscribe(dto => { |
|
|
|
this.content = this.content.setData(dto); |
|
|
|
|
|
|
|
this.emitContentUpdated(this.content); |
|
|
|
this.notifyInfo('Content version loaded successfully.'); |
|
|
|
this.populateContentForm(); |
|
|
|
}, error => { |
|
|
|
this.notifyError(error); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private back() { |
|
|
|
this.router.navigate(['../'], { relativeTo: this.route, replaceUrl: true }); |
|
|
|
} |
|
|
|
|