RED-3603, RED-3710: arrow navigation, again
This commit is contained in:
parent
6ff0f0be05
commit
3bdbb1e4c6
@ -194,9 +194,20 @@ export class PdfViewerComponent extends AutoUnsubscribe implements OnInit, OnCha
|
|||||||
await this._configureTextPopup();
|
await this._configureTextPopup();
|
||||||
|
|
||||||
this.annotationManager.addEventListener('annotationSelected', async (annotations: Annotation[], action) => {
|
this.annotationManager.addEventListener('annotationSelected', async (annotations: Annotation[], action) => {
|
||||||
const nextAnnotations = this.multiSelectService.isEnabled ? this.annotationManager.getSelectedAnnotations() : annotations;
|
let nextAnnotations: Annotation[];
|
||||||
|
|
||||||
|
if (action === 'deselected') {
|
||||||
|
// Remove deselected annotations from selected list
|
||||||
|
nextAnnotations = this.annotationManager.getSelectedAnnotations().filter(ann => !annotations.find(a => a.Id === ann.Id));
|
||||||
|
} else if (!this.multiSelectService.isEnabled) {
|
||||||
|
// Only choose the last selected annotation, to bypass viewer multi select
|
||||||
|
nextAnnotations = annotations;
|
||||||
|
} else {
|
||||||
|
// Get selected annotations from the manager, no intervention needed
|
||||||
|
nextAnnotations = this.annotationManager.getSelectedAnnotations();
|
||||||
|
}
|
||||||
|
|
||||||
this.annotationSelected.emit(nextAnnotations.map(ann => ann.Id));
|
this.annotationSelected.emit(nextAnnotations.map(ann => ann.Id));
|
||||||
this.annotationSelected.emit(action === 'selected' ? nextAnnotations.map(ann => ann.Id) : []);
|
|
||||||
if (action === 'deselected') {
|
if (action === 'deselected') {
|
||||||
return this._toggleRectangleAnnotationAction(true);
|
return this._toggleRectangleAnnotationAction(true);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user