Skip to main content

IMainButtonPlugin

View source on GitHub

The plugin that can add items to the main button menu.

Example​

The plugin class implements IMainButtonPlugin and registers an "Export to PDF" action in the constructor. DocSpace calls getMainButtonItems to embed the items into the More section of the main button menu inside a room.

import {
type IMainButtonItem,
type IMainButtonPlugin,
Actions,
ToastType,
} from "@onlyoffice/docspace-plugin-sdk";

class Plugin implements IMainButtonPlugin {
mainButtonItems: Map<string, IMainButtonItem> = new Map();

constructor() {
this.addMainButtonItem({
key: "export-pdf",
label: "Export to PDF",
icon: "pdf-icon.svg",
onItemClick: async (id) => {
await exportToPdf(id);
return {
actions: [Actions.showToast],
toastProps: [{
type: ToastType.success,
title: "PDF created"
}]
};
}
});
}

addMainButtonItem = (item: IMainButtonItem): void => {
this.mainButtonItems.set(item.key, item);
};

getMainButtonItems = (): Map<string, IMainButtonItem> => {
return this.mainButtonItems;
};

updateMainButtonItem = (item: IMainButtonItem): void => {
this.mainButtonItems.set(item.key, item);
};
}

Methods​

addMainButtonItem()​

addMainButtonItem(item: IMainButtonItem): void;

Add a new item to the main button menu.

Parameters​

ParameterTypeDescription
itemIMainButtonItemThe main button item to add, containing key, label, icon, and onClick handler

Returns​

void

getMainButtonItems()​

getMainButtonItems(): Map<string, IMainButtonItem>;

Get all registered main button menu items.

Returns​

Map<string, IMainButtonItem>

A Map containing all registered main button items, where keys are item identifiers

updateMainButtonItem()​

updateMainButtonItem(item: IMainButtonItem): void;

Update an existing main button menu item.

Parameters​

ParameterTypeDescription
itemIMainButtonItemThe main button item to update with new properties

Returns​

void

Properties​

PropertyTypeDescription
mainButtonItemsMap<string, IMainButtonItem>Stores a collection of elements where the keys are the key parameters from the MainButtonItem objects. A list of main button menu items is generated based on this collection.