For the complete documentation index, see llms.txt. This page is also available as Markdown.

Hiding certain annotations in WebViewer notes panel

Sometimes it is useful to display only a subset of annotations in the notes panel. This guide talks about how the notes panel can be configured to hide certain annotations by using the annotation's Listable property or the setCustomNoteFilter API.

Listable

Listable is a property that exists on all types of annotations. It controls if an annotation should be shown in the notes panel. The following example shows how you can hide all rectangle annotations.

WebViewer({
  // your constructor options here
}, viewerElement)
  .then(instance => {
    const { annotationManager } = instance.Core;

    annotationManager.addEventListener('annotationChanged', (annotations, action) => {
      if (action === 'add') {
        const rectangles = annotations.filter(annot => annot instanceof instance.Core.Annotations.RectangleAnnotation);

        rectangles.forEach(rectangle => {
          rectangle.Listable = false;
        });

        annotationManager.drawAnnotationsFromList(rectangles);
        annotationManager.trigger('annotationChanged', [rectangles, 'modify']);
      }
    })
  });

setCustomNoteFilter

An annotation will neither appear in thumbnails nor show in the printed document if it's not Listable. Sometimes we may just want to customize the notes panel and leave other components untouched. In this case, setCustomNoteFilter is the right choice.

Last updated

Was this helpful?