Skip to content

Classes

Reader

Reader class for managing reader tabs and windows

Objects

Zotero : object

Typedefs

ReaderEventType : "renderTextSelectionPopup" | "renderSidebarAnnotationHeader" | "renderToolbar" | "createColorContextMenu" | "createViewContextMenu" | "createAnnotationContextMenu" | "createThumbnailContextMenu" | "createSelectorContextMenu"
ReaderEvent : Object
ReaderEventHandlervoid

Reader

Reader class for managing reader tabs and windows

Kind: global class

reader.registerEventListener(type, handler, [pluginID]) ⇒ void

Kind: instance method of Reader

ParamTypeDescription
typeReaderEventTypeEvent type
handlerReaderEventHandlerEvent handler
[pluginID]stringPlugin ID

Example
Inject DOM nodes to reader UI parts:

  • renderTextSelectionPopup
  • renderSidebarAnnotationHeader
  • renderToolbar
javascript
Zotero.Reader.registerEventListener(
  "renderTextSelectionPopup",
  (event) => {
    const { reader, doc, params, append } = event;
    const container = doc.createElement("div");
    container.append("Loading…");
    append(container);
    setTimeout(
      () =>
        container.replaceChildren(`Translated text: ${params.annotation.text}`),
      1000,
    );
  },
  "my-plugin@my-namespace.com",
);

Example
Add options to context menus:

  • createColorContextMenu
  • createViewContextMenu
  • createAnnotationContextMenu
  • createThumbnailContextMenu
  • createSelectorContextMenu
javascript
Zotero.Reader.registerEventListener(
  "createAnnotationContextMenu",
  (event) => {
    const { reader, params, append } = event;
    append({
      label: "Test",
      onCommand() {
        reader._iframeWindow.alert(
          `Selected annotations: ${params.ids.join(", ")}`,
        );
      },
    });
  },
  "my-plugin@my-namespace.com",
);

reader.unregisterEventListener(type, handler) ⇒ void

Kind: instance method of Reader

ParamTypeDescription
typeReaderEventTypeEvent type
handlerReaderEventHandlerEvent handler

reader.triggerAnnotationsImportCheck(itemID) ⇒ Promise

Trigger annotations import

Kind: instance method of Reader

ParamTypeDescription
itemIDIntegerAttachment item id

Zotero : object

Kind: global namespace

Zotero.Reader : Reader

Kind: static property of Zotero

ReaderEventType : "renderTextSelectionPopup" | "renderSidebarAnnotationHeader" | "renderToolbar" | "createColorContextMenu" | "createViewContextMenu" | "createAnnotationContextMenu" | "createThumbnailContextMenu" | "createSelectorContextMenu"

Kind: global typedef

ReaderEvent : Object

Kind: global typedef
Properties

NameTypeDescription
readerReaderInstanceReader instance
docDocumentDocument
paramsObjectEvent parameters
appendfunctionAppend function

ReaderEventHandler ⇒ void

Kind: global typedef

ParamTypeDescription
eventReaderEventEvent