@isaac-platform/isaac-integration-sdk
Version:
A Typescript SDK for integrating with ISAAC
32 lines • 1.44 kB
TypeScript
import { IsaacControlPanel } from "./types.js";
export declare class PanelController {
constructor();
/**
* Safely registers a panel to a specific subsystem. Checking if the panel already exists and updating it if it does.
* @param panel - The panel to register.
*/
registerPanel: (panel: IsaacControlPanel) => Promise<any>;
/**
* Safely registers a new iframe panel in the ISAAC module. This will create a new panel if it does not already exist,
* and update it if it does.
* @param name - The user-friendly name of the panel.
* @param description - The description of the panel.
* @param url - The URL of the iframe to display.
* @param externalRef - The external reference of the panel. This is used to identify the panel programmatically and should be unique.
*/
addIframePanel: (name: string, description: string, url: string, externalRef: string) => Promise<any>;
deregisterPanel: () => void;
/**
* Registers a new Panel in the ISAAC module
* @param panel
*/
addPanel: (panel: IsaacControlPanel) => Promise<any>;
updatePanel: (panel: Partial<IsaacControlPanel>) => void;
/**
* Get all panels for a specific subsystem.
*/
getModulePanels: (subsystemId?: string) => Promise<IsaacControlPanel[]>;
}
declare const panelController: PanelController;
export default panelController;
//# sourceMappingURL=index.d.ts.map