mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-2625] updating viewer on node editing (#3160)
* update viewer on metadata changes * add test and docs
This commit is contained in:
committed by
Eugenio Romano
parent
2b8f12fa57
commit
11d38efe2b
@@ -19,7 +19,7 @@ import { Location } from '@angular/common';
|
||||
import {
|
||||
Component, ContentChild, EventEmitter, HostListener, ElementRef,
|
||||
Input, OnChanges, Output, SimpleChanges, TemplateRef,
|
||||
ViewEncapsulation
|
||||
ViewEncapsulation, OnInit, OnDestroy
|
||||
} from '@angular/core';
|
||||
import { MinimalNodeEntryEntity, RenditionEntry } from 'alfresco-js-api';
|
||||
import { BaseEvent } from '../../events';
|
||||
@@ -29,6 +29,7 @@ import { ViewerMoreActionsComponent } from './viewer-more-actions.component';
|
||||
import { ViewerOpenWithComponent } from './viewer-open-with.component';
|
||||
import { ViewerSidebarComponent } from './viewer-sidebar.component';
|
||||
import { ViewerToolbarComponent } from './viewer-toolbar.component';
|
||||
import { Subscription } from 'rxjs/Subscription';
|
||||
|
||||
@Component({
|
||||
selector: 'adf-viewer',
|
||||
@@ -37,7 +38,7 @@ import { ViewerToolbarComponent } from './viewer-toolbar.component';
|
||||
host: { 'class': 'adf-viewer' },
|
||||
encapsulation: ViewEncapsulation.None
|
||||
})
|
||||
export class ViewerComponent implements OnChanges {
|
||||
export class ViewerComponent implements OnChanges, OnInit, OnDestroy {
|
||||
|
||||
@ContentChild(ViewerToolbarComponent)
|
||||
toolbar: ViewerToolbarComponent;
|
||||
@@ -213,6 +214,8 @@ export class ViewerComponent implements OnChanges {
|
||||
extension: string;
|
||||
sidebarTemplateContext: { node: MinimalNodeEntryEntity } = { node: null };
|
||||
|
||||
private subscriptions: Subscription[] = [];
|
||||
|
||||
// Extensions that are supported by the Viewer without conversion
|
||||
private extensions = {
|
||||
image: ['png', 'jpg', 'jpeg', 'gif', 'bpm', 'svg'],
|
||||
@@ -239,6 +242,23 @@ export class ViewerComponent implements OnChanges {
|
||||
return (this.urlFile || this.blobFile || this.fileNodeId || this.sharedLinkId) ? true : false;
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.subscriptions = this.subscriptions.concat([
|
||||
this.apiService.nodeUpdated.subscribe(node => this.onNodeUpdated(node))
|
||||
]);
|
||||
}
|
||||
|
||||
ngOnDestroy() {
|
||||
this.subscriptions.forEach(subscription => subscription.unsubscribe());
|
||||
this.subscriptions = [];
|
||||
}
|
||||
|
||||
private onNodeUpdated(node: MinimalNodeEntryEntity) {
|
||||
if (node && node.id === this.fileNodeId) {
|
||||
this.setUpNodeFile(node);
|
||||
}
|
||||
}
|
||||
|
||||
ngOnChanges(changes: SimpleChanges) {
|
||||
if (this.showViewer) {
|
||||
if (!this.isSourceDefined()) {
|
||||
|
Reference in New Issue
Block a user