To use the embed-sdk in your project, you can install it using your node package manager.
Using npm:
npm install @sigmacomputing/embed-sdk
yarn:
yarn add @sigmacomputing/embed-sdk
pnpm:
pnpm add @sigmacomputing/embed-sdk
These are functions that can be used to listen for events from the embed, and react to them.
Listen for a workbook loaded event, and execute the given callback when it occurs.
workbookLoadedListener(event: MessageEvent, iframe: HTMLIFrameElement, onLoaded: (event: WorkbookLoadedEvent) => void)
Listen for a workbook error event, and execute the given callback when it occurs.
workbookErrorListener(event: MessageEvent, iframe: HTMLIFrameElement, onError: (event: WorkbookErrorEvent) => void)
Listen for a workbook variable change event, and execute the given callback when it occurs.
workbookVariableChangeListener(event: MessageEvent, iframe: HTMLIFrameElement, onVariable: (event: WorkbookVariableOnChangeEvent) => void)
Listen for a workbook variable current event, and execute the given callback when it occurs.
workbookVariableCurrentListener(event: MessageEvent, iframe: HTMLIFrameElement, onVariable: (event: WorkbookVariableCurrentEvent) => void)
Listen for a workbook sharing link update event, and execute the given callback when it occurs.
workbookLinkSharingUpdateListener(event: MessageEvent, iframe: HTMLIFrameElement, onVariable: (event: WorkbookSharingLinkUpdateEvent) => void)
Listen for a table cell select event, and execute the given callback when it occurs.
workbookTableCellSelectListener(event: MessageEvent, iframe: HTMLIFrameElement, onTableCellSelect: (event: WorkbookTableCellSelectEvent) => void)
Listen for a workbook published event, and execute the given callback when it occurs.
workbookPublishedListener(event: MessageEvent, iframe: HTMLIFrameElement, onPublished: (event: WorkbookPublishedEvent) => void)
Listen for a workbook full screen event, and execute the given callback when it occurs.
workbookFullScreenListener(event: MessageEvent, iframe: HTMLIFrameElement, onFullScreen: (event: WorkbookFullScreenEvent) => void)
Listen for a workbook page height event, and execute the given callback when it occurs. Needs to be used with the responsive_height URL Parameter.
workbookPageHeightListener(event: MessageEvent, iframe: HTMLIFrameElement, onPageHeight: (event: WorkbookPageHeightEvent) => void)
Listen for a workbook selected node event, and execute the given callback when it occurs.
workbookSelectedNodeListener(event: MessageEvent, iframe: HTMLIFrameElement, onPageSelectedNode: (event: WorkbookSelectedNodeEvent) => void)
Listen for a pivot table cell select event, and execute the given callback when it occurs.
workbookPivotTableCellSelectListener(event: MessageEvent, iframe: HTMLIFrameElement, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void)
Listen for a chart value select event, and execute the given callback when it occurs.
workbookChartValueSelectListener(event: MessageEvent, iframe: HTMLIFrameElement, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void)
Listen for a workbook current variables event, and execute the given callback when it occurs. This is to be used when workbookVariablesList
is called.
workbookCurrentVariablesListener(event: MessageEvent, iframe: HTMLIFrameElement, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void)
Listen for a workbook bookmark create event, and execute the given callback when it occurs.
workbookBookmarkCreateListener(event: MessageEvent, iframe: HTMLIFrameElement, onBookmarkCreate: (event: WorkbookBookmarkOnCreateEvent) => void)
Listen for a workbook data loaded event, and execute the given callback when it occurs.
workbookDataLoadedListener(event: MessageEvent, iframe: HTMLIFrameElement, onWorkbookDataLoaded: (event: WorkbookDataLoadedEvent) => void)
Listen for a workbook chart error event, and execute the given callback when it occurs.
workbookChartErrorListener(event: MessageEvent, iframe: HTMLIFrameElement, onChartError: (event: WorkbookChartErrorEvent) => void)
Listen for a workbook explore key change event, and execute the given callback when it occurs.
workbookExploreKeyOnChangeListener(event: MessageEvent, iframe: HTMLIFrameElement, onExploreKeyOnChange: (event: WorkbookExploreKeyOnChangeEvent) => void)
Listen for a workbook bookmark change event, and execute the given callback when it occurs.
workbookBookmarkOnChangeListener(event: MessageEvent, iframe: HTMLIFrameElement, onBookmarkChange: (event: WorkbookBookmarkOnChangeEvent) => void)
Listen for a url change event, and execute the given callback when it occurs.
urlOnChangeListener(event: MessageEvent, iframe: HTMLIFrameElement, onUrlChange: (event: UrlOnChangeEvent) => void)
Listen for a workbook id change event, and execute the given callback when it occurs.
workbookIdOnChangeListener(event: MessageEvent, iframe: HTMLIFrameElement, onWorkbookIdChange: (event: WorkbookIdOnChangeEvent) => void)
These are functions that can be used to send messages to the embed. They may cause an event to be emitted from the embed.
Send a message to the embed to list the current variables. This will cause a workbook:variables:current
event to be emitted from the embed, and can be used with the workbookCurrentVariablesListener
function.
workbookVariablesList(iframe: HTMLIFrameElement)
Send a message to the embed to update the variables.
workbookVariablesUpdate(iframe: HTMLIFrameElement, variables: Record<string, string>)
Send a message to the embed to update the sharing link.
workbookSharingLinkUpdate(iframe: HTMLIFrameElement, sharingLink: string | null, sharingExplorationLink?: string | null)
Send a message to the embed to create a bookmark.
workbookBookmarkCreate(iframe: HTMLIFrameElement, bookmark: WorkbookBookmarkCreateEvent)
Send a message to the embed to update the current bookmark.
workbookBookmarkUpdate(iframe: HTMLIFrameElement)
Send a message to the embed to toggle the fullscreen state of the given element.
workbookFullscreenUpdate(iframe: HTMLIFrameElement, nodeId: string | null)
Send a message to the embed to update the selected element. Can be a pageId or elementId.
workbookSelectedNodeIdUpdate(iframe: HTMLIFrameElement, nodeId: string, nodeType: "element" | "page")