[MNT-24553] Allow custom viewer extension components to obtain node id (#10115)

This commit is contained in:
MichalKinas 2024-08-22 17:38:32 +02:00 committed by GitHub
parent 8d7ea71711
commit 4124efd4a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 21 additions and 1 deletions

View File

@ -63,6 +63,7 @@ Using with file [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob):
| tracks | [`Track`](../../../lib/core/src/lib/viewer/models/viewer.model.ts)`[]` | \[] | media subtitles for the media player |
| urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. |
| viewerTemplateExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
### Events

View File

@ -89,6 +89,7 @@ See the [Custom layout](#custom-layout) section for full details of all availabl
| tracks | [`Track`](../../../lib/core/src/lib/viewer/models/viewer.model.ts)`[]` | \[] | media subtitles for the media player |
| urlFile | `string` | "" | If you want to load an external file that does not come from ACS you can use this URL to specify where to load the file from. |
| viewerExtensions | [`TemplateRef`](https://angular.io/api/core/TemplateRef)`<any>` | null | Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. |
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
### Events

View File

@ -20,6 +20,7 @@ an example of a real working viewer extension project.
| ---- | ---- | ------------- | ----------- |
| extension | `string` | | File extension (.jpg, .png, etc) for the viewer. |
| id | `string` | | ID string of the component to preview. |
| nodeId | `string` | null | Identifier of a node opened by a viewer. |
| url | `string` | | URL of the content in the repository. |
## Details

View File

@ -26,6 +26,7 @@
[readOnly]="readOnly"
[allowedEditActions]="allowedEditActions"
[viewerExtensions]="viewerExtensions"
[nodeId]="nodeId"
(downloadFile)="onDownloadFile()"
(navigateBefore)="onNavigateBeforeClick($event)"
(navigateNext)="onNavigateNextClick($event)"

View File

@ -24,6 +24,7 @@
[id]="externalViewer.component"
[url]="urlFile"
[extension]="externalViewer.fileExtension"
[nodeId]="nodeId"
[attr.data-automation-id]="externalViewer.component">
</adf-preview-extension>
</ng-container>
@ -75,6 +76,7 @@
[id]="ext.component"
[url]="urlFile"
[extension]="extension"
[nodeId]="nodeId"
[attr.data-automation-id]="ext.component">
</adf-preview-extension>
</ng-container>

View File

@ -110,6 +110,10 @@ export class ViewerRenderComponent implements OnChanges, OnInit, OnDestroy {
@Input()
tracks: Track[] = [];
/** Identifier of a node that is opened by the viewer. */
@Input()
nodeId: string = null;
/** Template containing ViewerExtensionDirective instances providing different viewer extensions based on supported file extension. */
@Input()
viewerTemplateExtensions: TemplateRef<any>;

View File

@ -171,7 +171,8 @@
[urlFile]="urlFile"
(isSaving)="allowNavigate = !$event"
[tracks]="tracks"
[viewerTemplateExtensions]="viewerExtensions ?? viewerTemplateExtensions">
[viewerTemplateExtensions]="viewerExtensions ?? viewerTemplateExtensions"
[nodeId]="nodeId">
</adf-viewer-render>
</div>

View File

@ -238,6 +238,10 @@ export class ViewerComponent<T> implements OnDestroy, OnInit, OnChanges {
@Input()
viewerExtensions: TemplateRef<any>;
/** Identifier of a node that is opened by the viewer. */
@Input()
nodeId: string = null;
/**
* Enable dialog box to allow user to download the previewed file, in case the preview is not responding for a set period of time.
*/

View File

@ -31,6 +31,10 @@ export class PreviewExtensionComponent implements OnInit, OnChanges, OnDestroy {
@Input()
id: string;
/** Identifier of a node that is opened by the viewer. */
@Input()
nodeId: string = null;
/** URL of the content in the repository. */
@Input()
url: string;
@ -73,6 +77,7 @@ export class PreviewExtensionComponent implements OnInit, OnChanges, OnDestroy {
instance.url = this.url;
instance.extension = this.extension;
instance.nodeId = this.nodeId;
}
}
}