@sigmacomputing/react-embed-sdk 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent, WorkbookBookmarkCreateEvent } from '@sigmacomputing/embed-sdk';
1
+ import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent, ActionOutboundEvent, WorkbookBookmarkCreateEvent } from '@sigmacomputing/embed-sdk';
2
2
  export * from '@sigmacomputing/embed-sdk';
3
3
 
4
4
  /**
@@ -156,6 +156,16 @@ declare function useWorkbookExploreKeyOnChange(iframeRef: React.RefObject<HTMLIF
156
156
  declare function useWorkbookBookmarkOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkChange: (event: WorkbookBookmarkOnChangeEvent) => void): void;
157
157
  declare function useUrlOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onUrlChange: (event: UrlOnChangeEvent) => void): void;
158
158
  declare function useWorkbookIdOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onIdChange: (event: WorkbookIdOnChangeEvent) => void): void;
159
+ /**
160
+ * Listen for an action outbound event, and execute the
161
+ * given callback when it occurs.
162
+ *
163
+ * You can setup your own outbound action by using the
164
+ * "Generate JavaScript event" action. For more details,
165
+ * see [docs](https://help.sigmacomputing.com/docs/intro-to-actions).
166
+ *
167
+ */
168
+ declare function useActionOutbound(iframeRef: React.RefObject<HTMLIFrameElement>, onActionOutbound: (event: ActionOutboundEvent) => void): void;
159
169
 
160
170
  declare function getWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>): void;
161
171
  declare function updateWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>, variables: Record<string, string>): void;
@@ -165,4 +175,4 @@ declare function updateWorkbookFullscreen(iframeRef: React.RefObject<HTMLIFrameE
165
175
  declare function updateWorkbookSelectedNodeId(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string, nodeType: "element" | "page"): void;
166
176
  declare function updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink?: string | null): void;
167
177
 
168
- export { createWorkbookBookmark, getWorkbookVariables, updateWorkbookBookmark, updateWorkbookFullscreen, updateWorkbookSelectedNodeId, updateWorkbookSharingLink, updateWorkbookVariables, usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPivotTableCellSelect, useWorkbookPublished, useWorkbookSelectedNode, useWorkbookVariables };
178
+ export { createWorkbookBookmark, getWorkbookVariables, updateWorkbookBookmark, updateWorkbookFullscreen, updateWorkbookSelectedNodeId, updateWorkbookSharingLink, updateWorkbookVariables, useActionOutbound, usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPivotTableCellSelect, useWorkbookPublished, useWorkbookSelectedNode, useWorkbookVariables };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent, WorkbookBookmarkCreateEvent } from '@sigmacomputing/embed-sdk';
1
+ import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent, WorkbookSelectedNodeEvent, WorkbookPivotTableCellSelectEvent, WorkbookChartValueSelectEvent, WorkbookCurrentVariablesEvent, WorkbookBookmarkOnCreateEvent, WorkbookChartErrorEvent, WorkbookExploreKeyOnChangeEvent, WorkbookBookmarkOnChangeEvent, UrlOnChangeEvent, WorkbookIdOnChangeEvent, ActionOutboundEvent, WorkbookBookmarkCreateEvent } from '@sigmacomputing/embed-sdk';
2
2
  export * from '@sigmacomputing/embed-sdk';
3
3
 
4
4
  /**
@@ -156,6 +156,16 @@ declare function useWorkbookExploreKeyOnChange(iframeRef: React.RefObject<HTMLIF
156
156
  declare function useWorkbookBookmarkOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkChange: (event: WorkbookBookmarkOnChangeEvent) => void): void;
157
157
  declare function useUrlOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onUrlChange: (event: UrlOnChangeEvent) => void): void;
158
158
  declare function useWorkbookIdOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onIdChange: (event: WorkbookIdOnChangeEvent) => void): void;
159
+ /**
160
+ * Listen for an action outbound event, and execute the
161
+ * given callback when it occurs.
162
+ *
163
+ * You can setup your own outbound action by using the
164
+ * "Generate JavaScript event" action. For more details,
165
+ * see [docs](https://help.sigmacomputing.com/docs/intro-to-actions).
166
+ *
167
+ */
168
+ declare function useActionOutbound(iframeRef: React.RefObject<HTMLIFrameElement>, onActionOutbound: (event: ActionOutboundEvent) => void): void;
159
169
 
160
170
  declare function getWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>): void;
161
171
  declare function updateWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>, variables: Record<string, string>): void;
@@ -165,4 +175,4 @@ declare function updateWorkbookFullscreen(iframeRef: React.RefObject<HTMLIFrameE
165
175
  declare function updateWorkbookSelectedNodeId(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string, nodeType: "element" | "page"): void;
166
176
  declare function updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink?: string | null): void;
167
177
 
168
- export { createWorkbookBookmark, getWorkbookVariables, updateWorkbookBookmark, updateWorkbookFullscreen, updateWorkbookSelectedNodeId, updateWorkbookSharingLink, updateWorkbookVariables, usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPivotTableCellSelect, useWorkbookPublished, useWorkbookSelectedNode, useWorkbookVariables };
178
+ export { createWorkbookBookmark, getWorkbookVariables, updateWorkbookBookmark, updateWorkbookFullscreen, updateWorkbookSelectedNodeId, updateWorkbookSharingLink, updateWorkbookVariables, useActionOutbound, usePageHeight, useSigmaIframe, useTableCellSelect, useUrlOnChange, useVariableChange, useWorkbookBookmarkOnChange, useWorkbookBookmarkOnCreate, useWorkbookChartError, useWorkbookChartValueSelect, useWorkbookCurrentVariables, useWorkbookDataLoaded, useWorkbookError, useWorkbookExploreKeyOnChange, useWorkbookFullScreen, useWorkbookIdOnChange, useWorkbookLoaded, useWorkbookPageHeight, useWorkbookPivotTableCellSelect, useWorkbookPublished, useWorkbookSelectedNode, useWorkbookVariables };
package/dist/index.js CHANGED
@@ -27,6 +27,7 @@ __export(src_exports, {
27
27
  updateWorkbookSelectedNodeId: () => updateWorkbookSelectedNodeId,
28
28
  updateWorkbookSharingLink: () => updateWorkbookSharingLink,
29
29
  updateWorkbookVariables: () => updateWorkbookVariables,
30
+ useActionOutbound: () => useActionOutbound,
30
31
  usePageHeight: () => usePageHeight,
31
32
  useSigmaIframe: () => useSigmaIframe,
32
33
  useTableCellSelect: () => useTableCellSelect,
@@ -309,6 +310,18 @@ function useWorkbookIdOnChange(iframeRef, onIdChange) {
309
310
  return () => window.removeEventListener("message", listener);
310
311
  }, [iframeRef, onIdChange]);
311
312
  }
313
+ function useActionOutbound(iframeRef, onActionOutbound) {
314
+ (0, import_react.useEffect)(() => {
315
+ const listener = (event) => {
316
+ if (!iframeRef.current) {
317
+ return;
318
+ }
319
+ (0, import_embed_sdk.actionOutboundListener)(event, iframeRef.current, onActionOutbound);
320
+ };
321
+ window.addEventListener("message", listener);
322
+ return () => window.removeEventListener("message", listener);
323
+ }, [iframeRef, onActionOutbound]);
324
+ }
312
325
 
313
326
  // src/use-sigma-iframe.ts
314
327
  function useSigmaIframe() {
@@ -445,6 +458,7 @@ function updateWorkbookSharingLink(iframeRef, sharingLink, sharingExplorationLin
445
458
  updateWorkbookSelectedNodeId,
446
459
  updateWorkbookSharingLink,
447
460
  updateWorkbookVariables,
461
+ useActionOutbound,
448
462
  usePageHeight,
449
463
  useSigmaIframe,
450
464
  useTableCellSelect,
package/dist/index.mjs CHANGED
@@ -20,7 +20,8 @@ import {
20
20
  workbookExploreKeyOnChangeListener,
21
21
  workbookBookmarkOnChangeListener,
22
22
  urlOnChangeListener,
23
- workbookIdOnChangeListener
23
+ workbookIdOnChangeListener,
24
+ actionOutboundListener
24
25
  } from "@sigmacomputing/embed-sdk";
25
26
  import { useEffect } from "react";
26
27
  function useWorkbookLoaded(iframeRef, onLoaded) {
@@ -275,6 +276,18 @@ function useWorkbookIdOnChange(iframeRef, onIdChange) {
275
276
  return () => window.removeEventListener("message", listener);
276
277
  }, [iframeRef, onIdChange]);
277
278
  }
279
+ function useActionOutbound(iframeRef, onActionOutbound) {
280
+ useEffect(() => {
281
+ const listener = (event) => {
282
+ if (!iframeRef.current) {
283
+ return;
284
+ }
285
+ actionOutboundListener(event, iframeRef.current, onActionOutbound);
286
+ };
287
+ window.addEventListener("message", listener);
288
+ return () => window.removeEventListener("message", listener);
289
+ }, [iframeRef, onActionOutbound]);
290
+ }
278
291
 
279
292
  // src/use-sigma-iframe.ts
280
293
  function useSigmaIframe() {
@@ -422,6 +435,7 @@ export {
422
435
  updateWorkbookSelectedNodeId,
423
436
  updateWorkbookSharingLink,
424
437
  updateWorkbookVariables,
438
+ useActionOutbound,
425
439
  usePageHeight,
426
440
  useSigmaIframe,
427
441
  useTableCellSelect,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sigmacomputing/react-embed-sdk",
3
3
  "author": "sigmacomputing",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "description": "React JavaScript SDK to interact with Sigma Computing's Embed API",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -35,11 +35,11 @@
35
35
  "@types/react": "^18.3.3",
36
36
  "react": "^18.3.1",
37
37
  "react-dom": "^18.3.1",
38
- "@sigmacomputing/typescript-config": "0.0.0",
39
- "@sigmacomputing/eslint-config": "0.0.0"
38
+ "@sigmacomputing/eslint-config": "0.0.0",
39
+ "@sigmacomputing/typescript-config": "0.0.0"
40
40
  },
41
41
  "dependencies": {
42
- "@sigmacomputing/embed-sdk": "0.4.0"
42
+ "@sigmacomputing/embed-sdk": "0.5.0"
43
43
  },
44
44
  "scripts": {
45
45
  "prepublish": "pnpm build",