Interface IExternalPlugin<SERVERSETTINGS, PROJECTSETTINGS, FIELDHANDLER, FIELDVALUETYPE, DASHBOARDPARAMS>

This is the interface that plugin that use our boilerplate template must implement. It is used to define the plugin capabilities and to configure the plugin. The plugin is instantiated once.

interface IExternalPlugin {
    PLUGIN_NAME: string;
    PLUGIN_VERSION: string;
    enableToolMenu(ul, _hook): unknown;
    getConfig(): IPluginConfig<SERVERSETTINGS, PROJECTSETTINGS>;
    getConfigUserMenuItems?(): IPluginMenuAction[];
    getControlAsync(ctrlObj): Promise<ControlCoreBase<FIELDHANDLER, FIELDVALUETYPE>>;
    getCustomSearches?(): IPluginSearch[];
    getDashboardAsync(): Promise<IDashboardPage<DASHBOARDPARAMS>>;
    getProjectMenuItems?(): IPluginMenuAction[];
    getProjectSettingsPageAsync(): Promise<IPluginSettingPage<PROJECTSETTINGS>>;
    getQMSUserMenuItems?(): IPluginMenuAction[];
    getServerSettingsPageAsync(): Promise<IPluginSettingPage<SERVERSETTINGS>>;
    getTinyMenuItems?(editor): ITinyMenu[];
    getToolAsync(): Promise<ITool>;
    getUserMenuItems?(): IPluginMenuAction[];
    onInitItem(_item): unknown;
    onInitProject(project): unknown;
}

Type Parameters

  • SERVERSETTINGS extends IServerSettingsBase

    The type of the server settings

  • PROJECTSETTINGS extends IProjectSettingsBase

    The type of the project settings

  • FIELDHANDLER extends IPluginFieldHandler<FIELDVALUETYPE>

    The fieldhandle that will be responsible for the field data validation

  • FIELDVALUETYPE extends IPluginFieldValueBase

    The type of the field value. This is the type of the data that will be stored in the database

  • DASHBOARDPARAMS extends IDashboardParametersBase

    The type of the dashboard parameters that will be used to render the dashboard.

Hierarchy

  • IPluginCoreForDashboard<DASHBOARDPARAMS>
    • IExternalPlugin

Properties

PLUGIN_NAME: string
PLUGIN_VERSION: string

Methods

Generated using TypeDoc