@sigmacomputing/react-embed-sdk 0.3.3 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +327 -0
- package/dist/index.d.mts +5 -6
- package/dist/index.d.ts +5 -6
- package/dist/index.js +5 -5
- package/dist/index.mjs +5 -5
- package/package.json +4 -4
package/README.md
ADDED
@@ -0,0 +1,327 @@
|
|
1
|
+
## Getting Started
|
2
|
+
|
3
|
+
To use the react-embed-sdk in your project, you can install it using your node package manager.
|
4
|
+
|
5
|
+
**Using npm:**
|
6
|
+
|
7
|
+
```code
|
8
|
+
npm install @sigmacomputing/react-embed-sdk
|
9
|
+
```
|
10
|
+
|
11
|
+
**yarn:**
|
12
|
+
|
13
|
+
```code
|
14
|
+
yarn add @sigmacomputing/react-embed-sdk
|
15
|
+
```
|
16
|
+
|
17
|
+
**pnpm:**
|
18
|
+
|
19
|
+
```code
|
20
|
+
pnpm add @sigmacomputing/react-embed-sdk
|
21
|
+
```
|
22
|
+
|
23
|
+
## Documentation
|
24
|
+
|
25
|
+
### Hooks
|
26
|
+
|
27
|
+
The library provides hooks that combine the lower level [listeners](#listeners) and [mutations](#mutations) to provide a more ergonomic API.
|
28
|
+
|
29
|
+
#### useSigmaIframe
|
30
|
+
|
31
|
+
A hook that returns a ref to be used with a Sigma iframe element, and the loading and error state of the embed.
|
32
|
+
|
33
|
+
```typescript
|
34
|
+
useSigmaIframe(): {
|
35
|
+
iframeRef: React.RefObject<HTMLIFrameElement>;
|
36
|
+
loading: boolean;
|
37
|
+
error: WorkbookErrorEvent | null;
|
38
|
+
variables: Record<string, string> | undefined;
|
39
|
+
}
|
40
|
+
```
|
41
|
+
|
42
|
+
Example usage:
|
43
|
+
|
44
|
+
```tsx
|
45
|
+
function MyEmbed() {
|
46
|
+
const { iframeRef, loading, error } = useSigmaIframe();
|
47
|
+
return (
|
48
|
+
<>
|
49
|
+
{loading && <p>Loading...</p>}
|
50
|
+
{error && <p>Error: {error.message}</p>}
|
51
|
+
<iframe
|
52
|
+
className={loading || error ? "hidden" : "show"}
|
53
|
+
ref={iframeRef}
|
54
|
+
{/* The embed url to load */}
|
55
|
+
src="https://app.sigmacomputing.com/embed"
|
56
|
+
/>
|
57
|
+
</>
|
58
|
+
);
|
59
|
+
}
|
60
|
+
```
|
61
|
+
|
62
|
+
#### useWorkbookVariables
|
63
|
+
|
64
|
+
A hook that returns functions to get and set the variables in a workbook.
|
65
|
+
|
66
|
+
```typescript
|
67
|
+
useWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>): {
|
68
|
+
getVariables: () => Promise<Record<string, string>>;
|
69
|
+
setVariables: (variables: Record<string, string>) => void;
|
70
|
+
}
|
71
|
+
```
|
72
|
+
|
73
|
+
Example usage:
|
74
|
+
|
75
|
+
```tsx
|
76
|
+
function MyEmbed() {
|
77
|
+
const { getVariables, setVariables } = useWorkbookVariables(iframeRef);
|
78
|
+
return (
|
79
|
+
<>
|
80
|
+
<button onClick={() => setVariables({ foo: "bar" }))} name="set-variables">Set Filters</button>
|
81
|
+
<button
|
82
|
+
onClick={async () => {
|
83
|
+
const variable = await getVariables();
|
84
|
+
}}
|
85
|
+
name="get-variables"
|
86
|
+
>
|
87
|
+
Get Filters
|
88
|
+
</button>
|
89
|
+
<iframe ref={iframeRef} src="https://app.sigmacomputing.com/embed" />
|
90
|
+
</>
|
91
|
+
);
|
92
|
+
}
|
93
|
+
```
|
94
|
+
|
95
|
+
#### usePageHeight
|
96
|
+
|
97
|
+
A hook that returns the height of the page in the iframe. This HAS to be used with the responsive_height [URL Parameter](https://help.sigmacomputing.com/docs/embed-url-parameters).
|
98
|
+
|
99
|
+
```typescript
|
100
|
+
usePageHeight(iframeRef: React.RefObject<HTMLIFrameElement>): number | undefined
|
101
|
+
```
|
102
|
+
|
103
|
+
Example usage:
|
104
|
+
|
105
|
+
```tsx
|
106
|
+
function MyEmbed() {
|
107
|
+
const { iframeRef } = useSigmaIframe();
|
108
|
+
const height = usePageHeight(iframeRef);
|
109
|
+
return (
|
110
|
+
<>
|
111
|
+
<iframe
|
112
|
+
style={{ height }}
|
113
|
+
ref={iframeRef}
|
114
|
+
src="https://app.sigmacomputing.com/embed?:responsive_height=true"
|
115
|
+
/>
|
116
|
+
</>
|
117
|
+
);
|
118
|
+
}
|
119
|
+
```
|
120
|
+
|
121
|
+
### Listeners
|
122
|
+
|
123
|
+
These are functions that can be used to listen for events from the embed, and react to them.
|
124
|
+
|
125
|
+
#### useWorkbookLoaded
|
126
|
+
|
127
|
+
Listen for a workbook loaded event, and execute the given callback when it occurs.
|
128
|
+
|
129
|
+
```typescript
|
130
|
+
useWorkbookLoaded(iframeRef: React.RefObject<HTMLIFrameElement>, onLoaded: (event: WorkbookLoadedEvent) => void)
|
131
|
+
```
|
132
|
+
|
133
|
+
#### useWorkbookError
|
134
|
+
|
135
|
+
Listen for a workbook error event, and execute the given callback when it occurs.
|
136
|
+
|
137
|
+
```typescript
|
138
|
+
useWorkbookError(iframeRef: React.RefObject<HTMLIFrameElement>, onError: (event: WorkbookErrorEvent) => void)
|
139
|
+
```
|
140
|
+
|
141
|
+
#### useWorkbookDataLoaded
|
142
|
+
|
143
|
+
Listen for a workbook data loaded event, and execute the given callback when it occurs.
|
144
|
+
|
145
|
+
```typescript
|
146
|
+
useWorkbookDataLoaded(iframeRef: React.RefObject<HTMLIFrameElement>, onDataLoaded: (event: WorkbookDataLoadedEvent) => void)
|
147
|
+
```
|
148
|
+
|
149
|
+
#### useVariableChange
|
150
|
+
|
151
|
+
Listen for a workbook variable change event, and execute the given callback when it occurs.
|
152
|
+
|
153
|
+
```typescript
|
154
|
+
useVariableChange(iframeRef: React.RefObject<HTMLIFrameElement>, onVariableChange: (event: WorkbookVariableOnChangeEvent) => void)
|
155
|
+
```
|
156
|
+
|
157
|
+
#### useTableCellSelect
|
158
|
+
|
159
|
+
Listen for a table cell select event, and execute the given callback when it occurs.
|
160
|
+
|
161
|
+
```typescript
|
162
|
+
useTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onTableCellSelect: (event: WorkbookTableCellSelectEvent) => void)
|
163
|
+
```
|
164
|
+
|
165
|
+
#### useWorkbookPublished
|
166
|
+
|
167
|
+
Listen for a workbook published event, and execute the given callback when it occurs.
|
168
|
+
|
169
|
+
```typescript
|
170
|
+
useWorkbookPublished(iframeRef: React.RefObject<HTMLIFrameElement>, onWorkbookPublished: (event: WorkbookPublishedEvent) => void)
|
171
|
+
```
|
172
|
+
|
173
|
+
#### useWorkbookFullScreen
|
174
|
+
|
175
|
+
Listen for a workbook full screen event, and execute the given callback when it occurs.
|
176
|
+
|
177
|
+
```typescript
|
178
|
+
useWorkbookFullScreen(iframeRef: React.RefObject<HTMLIFrameElement>, onFullScreen: (event: WorkbookFullScreenEvent) => void)
|
179
|
+
```
|
180
|
+
|
181
|
+
#### useWorkbookPageHeight
|
182
|
+
|
183
|
+
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](https://help.sigmacomputing.com/docs/embed-url-parameters).
|
184
|
+
|
185
|
+
```typescript
|
186
|
+
useWorkbookPageHeight(iframeRef: React.RefObject<HTMLIFrameElement>, onPageHeight: (event: WorkbookPageHeightEvent) => void)
|
187
|
+
```
|
188
|
+
|
189
|
+
#### useWorkbookSelectedNode
|
190
|
+
|
191
|
+
Listen for a workbook selected node event, and execute the given callback when it occurs.
|
192
|
+
|
193
|
+
```typescript
|
194
|
+
useWorkbookSelectedNode(iframeRef: React.RefObject<HTMLIFrameElement>, onPageSelectedNode: (event: WorkbookSelectedNodeEvent) => void)
|
195
|
+
```
|
196
|
+
|
197
|
+
#### useWorkbookPivotTableCellSelect
|
198
|
+
|
199
|
+
Listen for a pivot table cell select event, and execute the given callback when it occurs.
|
200
|
+
|
201
|
+
```typescript
|
202
|
+
useWorkbookPivotTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void)
|
203
|
+
```
|
204
|
+
|
205
|
+
#### useWorkbookChartValueSelect
|
206
|
+
|
207
|
+
Listen for a chart value select event, and execute the given callback when it occurs.
|
208
|
+
|
209
|
+
```typescript
|
210
|
+
useWorkbookChartValueSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void)
|
211
|
+
```
|
212
|
+
|
213
|
+
#### useWorkbookCurrentVariables
|
214
|
+
|
215
|
+
Listen for a workbook current variables event, and execute the given callback when it occurs. This is to be used when `workbookVariablesList` is called.
|
216
|
+
|
217
|
+
```typescript
|
218
|
+
useWorkbookCurrentVariables(iframeRef: React.RefObject<HTMLIFrameElement>, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void)
|
219
|
+
```
|
220
|
+
|
221
|
+
#### useWorkbookBookmarkOnCreate
|
222
|
+
|
223
|
+
Listen for a workbook bookmark create event, and execute the given callback when it occurs.
|
224
|
+
|
225
|
+
```typescript
|
226
|
+
useWorkbookBookmarkOnCreate(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkCreate: (event: WorkbookBookmarkOnCreateEvent) => void)
|
227
|
+
```
|
228
|
+
|
229
|
+
#### useWorkbookChartError
|
230
|
+
|
231
|
+
Listen for a workbook chart error event, and execute the given callback when it occurs.
|
232
|
+
|
233
|
+
```typescript
|
234
|
+
useWorkbookChartError(iframeRef: React.RefObject<HTMLIFrameElement>, onChartError: (event: WorkbookChartErrorEvent) => void)
|
235
|
+
```
|
236
|
+
|
237
|
+
#### useWorkbookExploreKeyOnChange
|
238
|
+
|
239
|
+
Listen for a workbook explore key change event, and execute the given callback when it occurs.
|
240
|
+
|
241
|
+
```typescript
|
242
|
+
useWorkbookExploreKeyOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onExploreKeyOnChange: (event: WorkbookExploreKeyOnChangeEvent) => void)
|
243
|
+
```
|
244
|
+
|
245
|
+
#### useWorkbookBookmarkOnChange
|
246
|
+
|
247
|
+
Listen for a workbook bookmark change event, and execute the given callback when it occurs.
|
248
|
+
|
249
|
+
```typescript
|
250
|
+
useWorkbookBookmarkOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onBookmarkChange: (event: WorkbookBookmarkOnChangeEvent) => void)
|
251
|
+
```
|
252
|
+
|
253
|
+
#### useUrlOnChange
|
254
|
+
|
255
|
+
Listen for a url change event, and execute the given callback when it occurs.
|
256
|
+
|
257
|
+
```typescript
|
258
|
+
useUrlOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onUrlChange: (event: UrlOnChangeEvent) => void)
|
259
|
+
```
|
260
|
+
|
261
|
+
#### useWorkbookIdOnChange
|
262
|
+
|
263
|
+
Listen for a workbook id change event, and execute the given callback when it occurs.
|
264
|
+
|
265
|
+
```typescript
|
266
|
+
useWorkbookIdOnChange(iframeRef: React.RefObject<HTMLIFrameElement>, onWorkbookIdChange: (event: WorkbookIdOnChangeEvent) => void)
|
267
|
+
```
|
268
|
+
|
269
|
+
### Mutations
|
270
|
+
|
271
|
+
These are functions that can be used to send messages to the embed. They may cause an event to be emitted from the embed.
|
272
|
+
|
273
|
+
#### getWorkbookVariables
|
274
|
+
|
275
|
+
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 `useWorkbookCurrentVariables` function.
|
276
|
+
|
277
|
+
```typescript
|
278
|
+
getWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>)
|
279
|
+
```
|
280
|
+
|
281
|
+
#### updateWorkbookVariables
|
282
|
+
|
283
|
+
Send a message to the embed to update the variables.
|
284
|
+
|
285
|
+
```typescript
|
286
|
+
updateWorkbookVariables(iframeRef: React.RefObject<HTMLIFrameElement>, variables: Record<string, string>)
|
287
|
+
```
|
288
|
+
|
289
|
+
#### createWorkbookBookmark
|
290
|
+
|
291
|
+
Send a message to the embed to create a bookmark.
|
292
|
+
|
293
|
+
```typescript
|
294
|
+
createWorkbookBookmark(iframeRef: React.RefObject<HTMLIFrameElement>, bookmark: WorkbookBookmarkCreateEvent)
|
295
|
+
```
|
296
|
+
|
297
|
+
#### updateWorkbookBookmark
|
298
|
+
|
299
|
+
Send a message to the embed to update the current bookmark.
|
300
|
+
|
301
|
+
```typescript
|
302
|
+
updateWorkbookBookmark(iframeRef: React.RefObject<HTMLIFrameElement>)
|
303
|
+
```
|
304
|
+
|
305
|
+
#### updateWorkbookFullscreen
|
306
|
+
|
307
|
+
Send a message to the embed to toggle the fullscreen state of the given element.
|
308
|
+
|
309
|
+
```typescript
|
310
|
+
updateWorkbookFullscreen(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string | null)
|
311
|
+
```
|
312
|
+
|
313
|
+
#### updateWorkbookSelectedNodeId
|
314
|
+
|
315
|
+
Send a message to the embed to update the selected element. Can be a pageId or elementId.
|
316
|
+
|
317
|
+
```typescript
|
318
|
+
updateWorkbookSelectedNodeId(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string, nodeType: "element" | "page")
|
319
|
+
```
|
320
|
+
|
321
|
+
#### updateWorkbookSharingLink
|
322
|
+
|
323
|
+
Send a message to the embed to update the sharing link.
|
324
|
+
|
325
|
+
```typescript
|
326
|
+
updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink?: string | null)
|
327
|
+
```
|
package/dist/index.d.mts
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent,
|
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';
|
2
2
|
export * from '@sigmacomputing/embed-sdk';
|
3
|
-
import * as react from 'react';
|
4
3
|
|
5
4
|
/**
|
6
5
|
* A hook that returns a ref to be used with an iframe element, and the loading and error state of the embed.
|
@@ -24,10 +23,10 @@ import * as react from 'react';
|
|
24
23
|
* ```
|
25
24
|
*/
|
26
25
|
declare function useSigmaIframe(): {
|
27
|
-
iframeRef:
|
26
|
+
iframeRef: React.RefObject<HTMLIFrameElement>;
|
28
27
|
loading: boolean;
|
29
28
|
error: WorkbookErrorEvent | null;
|
30
|
-
variables: Record<string, string> |
|
29
|
+
variables: Record<string, string> | undefined;
|
31
30
|
};
|
32
31
|
|
33
32
|
/**
|
@@ -147,7 +146,7 @@ declare function useTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement
|
|
147
146
|
declare function useWorkbookPublished(iframeRef: React.RefObject<HTMLIFrameElement>, onWorkbookPublished: (event: WorkbookPublishedEvent) => void): void;
|
148
147
|
declare function useWorkbookFullScreen(iframeRef: React.RefObject<HTMLIFrameElement>, onFullScreen: (event: WorkbookFullScreenEvent) => void): void;
|
149
148
|
declare function useWorkbookPageHeight(iframeRef: React.RefObject<HTMLIFrameElement>, onPageHeight: (event: WorkbookPageHeightEvent) => void): void;
|
150
|
-
declare function
|
149
|
+
declare function useWorkbookSelectedNode(iframeRef: React.RefObject<HTMLIFrameElement>, onPageSelectedNode: (event: WorkbookSelectedNodeEvent) => void): void;
|
151
150
|
declare function useWorkbookPivotTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void): void;
|
152
151
|
declare function useWorkbookChartValueSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void): void;
|
153
152
|
declare function useWorkbookCurrentVariables(iframeRef: React.RefObject<HTMLIFrameElement>, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void): void;
|
@@ -166,4 +165,4 @@ declare function updateWorkbookFullscreen(iframeRef: React.RefObject<HTMLIFrameE
|
|
166
165
|
declare function updateWorkbookSelectedNodeId(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string, nodeType: "element" | "page"): void;
|
167
166
|
declare function updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink?: string | null): void;
|
168
167
|
|
169
|
-
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,
|
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 };
|
package/dist/index.d.ts
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
import { WorkbookErrorEvent, WorkbookLoadedEvent, WorkbookDataLoadedEvent, WorkbookVariableOnChangeEvent, WorkbookTableCellSelectEvent, WorkbookPublishedEvent, WorkbookFullScreenEvent, WorkbookPageHeightEvent,
|
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';
|
2
2
|
export * from '@sigmacomputing/embed-sdk';
|
3
|
-
import * as react from 'react';
|
4
3
|
|
5
4
|
/**
|
6
5
|
* A hook that returns a ref to be used with an iframe element, and the loading and error state of the embed.
|
@@ -24,10 +23,10 @@ import * as react from 'react';
|
|
24
23
|
* ```
|
25
24
|
*/
|
26
25
|
declare function useSigmaIframe(): {
|
27
|
-
iframeRef:
|
26
|
+
iframeRef: React.RefObject<HTMLIFrameElement>;
|
28
27
|
loading: boolean;
|
29
28
|
error: WorkbookErrorEvent | null;
|
30
|
-
variables: Record<string, string> |
|
29
|
+
variables: Record<string, string> | undefined;
|
31
30
|
};
|
32
31
|
|
33
32
|
/**
|
@@ -147,7 +146,7 @@ declare function useTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement
|
|
147
146
|
declare function useWorkbookPublished(iframeRef: React.RefObject<HTMLIFrameElement>, onWorkbookPublished: (event: WorkbookPublishedEvent) => void): void;
|
148
147
|
declare function useWorkbookFullScreen(iframeRef: React.RefObject<HTMLIFrameElement>, onFullScreen: (event: WorkbookFullScreenEvent) => void): void;
|
149
148
|
declare function useWorkbookPageHeight(iframeRef: React.RefObject<HTMLIFrameElement>, onPageHeight: (event: WorkbookPageHeightEvent) => void): void;
|
150
|
-
declare function
|
149
|
+
declare function useWorkbookSelectedNode(iframeRef: React.RefObject<HTMLIFrameElement>, onPageSelectedNode: (event: WorkbookSelectedNodeEvent) => void): void;
|
151
150
|
declare function useWorkbookPivotTableCellSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onPivotTableCellSelect: (event: WorkbookPivotTableCellSelectEvent) => void): void;
|
152
151
|
declare function useWorkbookChartValueSelect(iframeRef: React.RefObject<HTMLIFrameElement>, onChartValueSelect: (event: WorkbookChartValueSelectEvent) => void): void;
|
153
152
|
declare function useWorkbookCurrentVariables(iframeRef: React.RefObject<HTMLIFrameElement>, onCurrentVariables: (event: WorkbookCurrentVariablesEvent) => void): void;
|
@@ -166,4 +165,4 @@ declare function updateWorkbookFullscreen(iframeRef: React.RefObject<HTMLIFrameE
|
|
166
165
|
declare function updateWorkbookSelectedNodeId(iframeRef: React.RefObject<HTMLIFrameElement>, nodeId: string, nodeType: "element" | "page"): void;
|
167
166
|
declare function updateWorkbookSharingLink(iframeRef: React.RefObject<HTMLIFrameElement>, sharingLink: string | null, sharingExplorationLink?: string | null): void;
|
168
167
|
|
169
|
-
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,
|
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 };
|
package/dist/index.js
CHANGED
@@ -44,9 +44,9 @@ __export(src_exports, {
|
|
44
44
|
useWorkbookIdOnChange: () => useWorkbookIdOnChange,
|
45
45
|
useWorkbookLoaded: () => useWorkbookLoaded,
|
46
46
|
useWorkbookPageHeight: () => useWorkbookPageHeight,
|
47
|
-
useWorkbookPageSelectedNode: () => useWorkbookPageSelectedNode,
|
48
47
|
useWorkbookPivotTableCellSelect: () => useWorkbookPivotTableCellSelect,
|
49
48
|
useWorkbookPublished: () => useWorkbookPublished,
|
49
|
+
useWorkbookSelectedNode: () => useWorkbookSelectedNode,
|
50
50
|
useWorkbookVariables: () => useWorkbookVariables
|
51
51
|
});
|
52
52
|
module.exports = __toCommonJS(src_exports);
|
@@ -161,13 +161,13 @@ function useWorkbookPageHeight(iframeRef, onPageHeight) {
|
|
161
161
|
return () => window.removeEventListener("message", listener);
|
162
162
|
}, [iframeRef, onPageHeight]);
|
163
163
|
}
|
164
|
-
function
|
164
|
+
function useWorkbookSelectedNode(iframeRef, onPageSelectedNode) {
|
165
165
|
(0, import_react.useEffect)(() => {
|
166
166
|
const listener = (event) => {
|
167
167
|
if (!iframeRef.current) {
|
168
168
|
return;
|
169
169
|
}
|
170
|
-
(0, import_embed_sdk.
|
170
|
+
(0, import_embed_sdk.workbookSelectedNodeListener)(
|
171
171
|
event,
|
172
172
|
iframeRef.current,
|
173
173
|
onPageSelectedNode
|
@@ -314,7 +314,7 @@ function useWorkbookIdOnChange(iframeRef, onIdChange) {
|
|
314
314
|
function useSigmaIframe() {
|
315
315
|
const iframeRef = (0, import_react2.useRef)(null);
|
316
316
|
const [loading, setLoading] = (0, import_react2.useState)(true);
|
317
|
-
const [variables, setVariables] = (0, import_react2.useState)();
|
317
|
+
const [variables, setVariables] = (0, import_react2.useState)(void 0);
|
318
318
|
const [error, setError] = (0, import_react2.useState)(null);
|
319
319
|
const loadingCallback = (0, import_react2.useCallback)((event) => {
|
320
320
|
setLoading(false);
|
@@ -462,8 +462,8 @@ function updateWorkbookSharingLink(iframeRef, sharingLink, sharingExplorationLin
|
|
462
462
|
useWorkbookIdOnChange,
|
463
463
|
useWorkbookLoaded,
|
464
464
|
useWorkbookPageHeight,
|
465
|
-
useWorkbookPageSelectedNode,
|
466
465
|
useWorkbookPivotTableCellSelect,
|
467
466
|
useWorkbookPublished,
|
467
|
+
useWorkbookSelectedNode,
|
468
468
|
useWorkbookVariables
|
469
469
|
});
|
package/dist/index.mjs
CHANGED
@@ -12,7 +12,7 @@ import {
|
|
12
12
|
workbookFullScreenListener,
|
13
13
|
workbookPageHeightListener,
|
14
14
|
workbookChartValueSelectListener,
|
15
|
-
|
15
|
+
workbookSelectedNodeListener,
|
16
16
|
workbookPivotTableCellSelectListener,
|
17
17
|
workbookBookmarkCreateListener,
|
18
18
|
workbookCurrentVariablesListener,
|
@@ -127,13 +127,13 @@ function useWorkbookPageHeight(iframeRef, onPageHeight) {
|
|
127
127
|
return () => window.removeEventListener("message", listener);
|
128
128
|
}, [iframeRef, onPageHeight]);
|
129
129
|
}
|
130
|
-
function
|
130
|
+
function useWorkbookSelectedNode(iframeRef, onPageSelectedNode) {
|
131
131
|
useEffect(() => {
|
132
132
|
const listener = (event) => {
|
133
133
|
if (!iframeRef.current) {
|
134
134
|
return;
|
135
135
|
}
|
136
|
-
|
136
|
+
workbookSelectedNodeListener(
|
137
137
|
event,
|
138
138
|
iframeRef.current,
|
139
139
|
onPageSelectedNode
|
@@ -280,7 +280,7 @@ function useWorkbookIdOnChange(iframeRef, onIdChange) {
|
|
280
280
|
function useSigmaIframe() {
|
281
281
|
const iframeRef = useRef(null);
|
282
282
|
const [loading, setLoading] = useState(true);
|
283
|
-
const [variables, setVariables] = useState();
|
283
|
+
const [variables, setVariables] = useState(void 0);
|
284
284
|
const [error, setError] = useState(null);
|
285
285
|
const loadingCallback = useCallback((event) => {
|
286
286
|
setLoading(false);
|
@@ -439,8 +439,8 @@ export {
|
|
439
439
|
useWorkbookIdOnChange,
|
440
440
|
useWorkbookLoaded,
|
441
441
|
useWorkbookPageHeight,
|
442
|
-
useWorkbookPageSelectedNode,
|
443
442
|
useWorkbookPivotTableCellSelect,
|
444
443
|
useWorkbookPublished,
|
444
|
+
useWorkbookSelectedNode,
|
445
445
|
useWorkbookVariables
|
446
446
|
};
|
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
|
+
"version": "0.4.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/
|
39
|
-
"@sigmacomputing/
|
38
|
+
"@sigmacomputing/typescript-config": "0.0.0",
|
39
|
+
"@sigmacomputing/eslint-config": "0.0.0"
|
40
40
|
},
|
41
41
|
"dependencies": {
|
42
|
-
"@sigmacomputing/embed-sdk": "0.
|
42
|
+
"@sigmacomputing/embed-sdk": "0.4.0"
|
43
43
|
},
|
44
44
|
"scripts": {
|
45
45
|
"prepublish": "pnpm build",
|