@sigmacomputing/plugin 1.1.0-alpha.3 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/LICENSE +21 -0
  3. package/README.md +993 -0
  4. package/dist/client/initialize.d.ts +3 -0
  5. package/dist/client/initialize.d.ts.map +1 -0
  6. package/dist/client/initialize.js +223 -0
  7. package/dist/client.d.ts +2 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +5 -0
  10. package/dist/error.d.ts +3 -0
  11. package/dist/error.d.ts.map +1 -0
  12. package/dist/error.js +9 -0
  13. package/dist/{types/index.d.ts → index.d.ts} +2 -1
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +22 -0
  16. package/dist/react/Context.d.ts +4 -0
  17. package/dist/react/Context.d.ts.map +1 -0
  18. package/dist/react/Context.js +6 -0
  19. package/dist/react/Provider.d.ts +8 -0
  20. package/dist/react/Provider.d.ts.map +1 -0
  21. package/dist/react/Provider.js +9 -0
  22. package/dist/react/hooks.d.ts +83 -0
  23. package/dist/react/hooks.d.ts.map +1 -0
  24. package/dist/react/hooks.js +231 -0
  25. package/dist/react.d.ts +3 -0
  26. package/dist/react.d.ts.map +1 -0
  27. package/dist/react.js +20 -0
  28. package/dist/{types/types/index.d.ts → types.d.ts} +132 -62
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +2 -0
  31. package/dist/utils/deepEqual.d.ts +2 -0
  32. package/dist/utils/deepEqual.d.ts.map +1 -0
  33. package/dist/utils/deepEqual.js +28 -0
  34. package/dist/{types/utils → utils}/polyfillRequestAnimationFrame.d.ts +1 -1
  35. package/dist/utils/polyfillRequestAnimationFrame.d.ts.map +1 -0
  36. package/dist/{cjs/utils → utils}/polyfillRequestAnimationFrame.js +8 -9
  37. package/package.json +40 -29
  38. package/dist/cjs/client/index.js +0 -9
  39. package/dist/cjs/client/index.js.map +0 -1
  40. package/dist/cjs/client/initialize.js +0 -158
  41. package/dist/cjs/client/initialize.js.map +0 -1
  42. package/dist/cjs/index.js +0 -12
  43. package/dist/cjs/index.js.map +0 -1
  44. package/dist/cjs/utils/polyfillRequestAnimationFrame.js.map +0 -1
  45. package/dist/esm/client/index.esm.js +0 -6
  46. package/dist/esm/client/index.esm.js.map +0 -1
  47. package/dist/esm/client/initialize.esm.js +0 -156
  48. package/dist/esm/client/initialize.esm.js.map +0 -1
  49. package/dist/esm/index.esm.js +0 -4
  50. package/dist/esm/index.esm.js.map +0 -1
  51. package/dist/esm/utils/polyfillRequestAnimationFrame.esm.js +0 -15
  52. package/dist/esm/utils/polyfillRequestAnimationFrame.esm.js.map +0 -1
  53. package/dist/mjs/client/index.mjs +0 -6
  54. package/dist/mjs/client/index.mjs.map +0 -1
  55. package/dist/mjs/client/initialize.mjs +0 -156
  56. package/dist/mjs/client/initialize.mjs.map +0 -1
  57. package/dist/mjs/index.mjs +0 -4
  58. package/dist/mjs/index.mjs.map +0 -1
  59. package/dist/mjs/utils/polyfillRequestAnimationFrame.mjs +0 -15
  60. package/dist/mjs/utils/polyfillRequestAnimationFrame.mjs.map +0 -1
  61. package/dist/types/.tsbuildinfo +0 -1
  62. package/dist/types/client/index.d.ts +0 -4
  63. package/dist/types/client/index.d.ts.map +0 -1
  64. package/dist/types/client/initialize.d.ts +0 -3
  65. package/dist/types/client/initialize.d.ts.map +0 -1
  66. package/dist/types/index.d.ts.map +0 -1
  67. package/dist/types/types/index.d.ts.map +0 -1
  68. package/dist/types/utils/polyfillRequestAnimationFrame.d.ts.map +0 -1
  69. package/dist/umd/plugin.development.js +0 -181
  70. package/dist/umd/plugin.development.js.map +0 -1
  71. package/dist/umd/plugin.production.min.js +0 -2
  72. package/dist/umd/plugin.production.min.js.map +0 -1
  73. package/src/client/index.ts +0 -5
  74. package/src/client/initialize.ts +0 -196
  75. package/src/globals.d.ts +0 -5
  76. package/src/index.ts +0 -4
  77. package/src/types/index.ts +0 -322
  78. package/src/utils/polyfillRequestAnimationFrame.ts +0 -13
@@ -1,158 +0,0 @@
1
- 'use strict';
2
-
3
- function initialize() {
4
- const pluginConfig = {
5
- config: {}
6
- };
7
- let subscribedInteractions = {};
8
- let subscribedWorkbookVars = {};
9
- const listeners = {};
10
- for (const [key, value] of new URL(document.location.toString()).searchParams.entries()) pluginConfig[key] = JSON.parse(value);
11
- const listener = e => {
12
- emit(e.data.type, e.data.result, e.data.error);
13
- };
14
- window.addEventListener('message', listener, false);
15
- window.addEventListener('click', () => execPromise('wb:plugin:focus'));
16
- on('wb:plugin:config:update', config => {
17
- var _pluginConfig$config;
18
- Object.assign(pluginConfig, config);
19
- emit('config', (_pluginConfig$config = pluginConfig.config) != null ? _pluginConfig$config : {});
20
- });
21
-
22
- // send initialize event
23
- void execPromise('wb:plugin:init', "1.1.0-alpha.2").then(config => {
24
- Object.assign(pluginConfig, config);
25
- emit('init', pluginConfig);
26
- emit('config', pluginConfig.config);
27
- });
28
- on('wb:plugin:variable:update', updatedVariables => {
29
- subscribedWorkbookVars = {};
30
- Object.assign(subscribedWorkbookVars, updatedVariables);
31
- });
32
- on('wb:plugin:selection:update', updatedInteractions => {
33
- subscribedInteractions = {};
34
- Object.assign(subscribedInteractions, updatedInteractions);
35
- });
36
- function on(event, listener) {
37
- listeners[event] = listeners[event] || [];
38
- listeners[event].push(listener);
39
- }
40
- function off(event, listener) {
41
- if (listeners[event] == null) return;
42
- listeners[event] = listeners[event].filter(a => a !== listener);
43
- }
44
- function emit(event, ...args) {
45
- Object.values(listeners[event] || []).forEach(fn => fn(...args));
46
- }
47
- function execPromise(event, ...args) {
48
- return new Promise((resolve, reject) => {
49
- var _pluginConfig$wbOrigi;
50
- const callback = (data, error) => {
51
- if (error) reject(error);else resolve(data);
52
- off(event, callback);
53
- };
54
- on(event, callback);
55
- window.parent.postMessage({
56
- type: event,
57
- args,
58
- elementId: pluginConfig.id
59
- }, (_pluginConfig$wbOrigi = pluginConfig == null ? void 0 : pluginConfig.wbOrigin) != null ? _pluginConfig$wbOrigi : '*');
60
- });
61
- }
62
- return {
63
- get sigmaEnv() {
64
- return pluginConfig.sigmaEnv;
65
- },
66
- get isScreenshot() {
67
- return pluginConfig.screenshot;
68
- },
69
- config: {
70
- // @ts-ignore
71
- getKey(key) {
72
- var _pluginConfig$config2;
73
- return pluginConfig == null ? void 0 : (_pluginConfig$config2 = pluginConfig.config) == null ? void 0 : _pluginConfig$config2[key];
74
- },
75
- get() {
76
- return pluginConfig.config;
77
- },
78
- set(partialConfig) {
79
- void execPromise('wb:plugin:config:update', partialConfig);
80
- },
81
- setKey(key, value) {
82
- void execPromise('wb:plugin:config:update', {
83
- [key]: value
84
- });
85
- },
86
- subscribe(listener) {
87
- on('config', listener);
88
- return () => off('config', listener);
89
- },
90
- getVariable(id) {
91
- return subscribedWorkbookVars[id];
92
- },
93
- setVariable(id, ...values) {
94
- void execPromise('wb:plugin:variable:set', id, ...values);
95
- },
96
- getInteraction(id) {
97
- return subscribedInteractions[id];
98
- },
99
- setInteraction(id, elementId, selection) {
100
- void execPromise('wb:plugin:selection:set', id, elementId, selection);
101
- },
102
- configureEditorPanel(options) {
103
- void execPromise('wb:plugin:config:inspector', options);
104
- },
105
- setLoadingState(loadingState) {
106
- void execPromise('wb:plugin:config:loading-state', loadingState);
107
- },
108
- subscribeToWorkbookVariable(id, callback) {
109
- const setValues = values => {
110
- callback(values[id]);
111
- };
112
- on('wb:plugin:variable:update', setValues);
113
- return () => {
114
- off('wb:plugin:variable:update', setValues);
115
- };
116
- },
117
- subscribeToWorkbookInteraction(id, callback) {
118
- const setValues = values => {
119
- callback(values[id]);
120
- };
121
- on('wb:plugin:selection:update', setValues);
122
- return () => {
123
- off('wb:plugin:selection:update', setValues);
124
- };
125
- }
126
- },
127
- elements: {
128
- getElementColumns(id) {
129
- return execPromise('wb:plugin:element:columns:get', id);
130
- },
131
- subscribeToElementColumns(id, callback) {
132
- const eventName = `wb:plugin:element:${id}:columns`;
133
- on(eventName, callback);
134
- void execPromise('wb:plugin:element:subscribe:columns', id);
135
- return () => {
136
- off(eventName, callback);
137
- void execPromise('wb:plugin:element:unsubscribe:columns', id);
138
- };
139
- },
140
- subscribeToElementData(id, callback) {
141
- const eventName = `wb:plugin:element:${id}:data`;
142
- on(eventName, callback);
143
- void execPromise('wb:plugin:element:subscribe:data', id);
144
- return () => {
145
- off(eventName, callback);
146
- void execPromise('wb:plugin:element:unsubscribe:data', id);
147
- };
148
- }
149
- },
150
- destroy() {
151
- Object.keys(listeners).forEach(event => delete listeners[event]);
152
- window.removeEventListener('message', listener, false);
153
- }
154
- };
155
- }
156
-
157
- exports.initialize = initialize;
158
- //# sourceMappingURL=initialize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initialize.js","sources":["../../../src/client/initialize.ts"],"sourcesContent":["import type {\n PluginConfig,\n PluginInstance,\n PluginMessageResponse,\n WorkbookSelection,\n WorkbookVariable,\n Unsubscriber,\n} from '../types';\n\nexport function initialize<T = {}>(): PluginInstance<T> {\n const pluginConfig: Partial<PluginConfig<T>> = {\n config: {} as T,\n };\n\n let subscribedInteractions: Record<string, WorkbookSelection[]> = {};\n let subscribedWorkbookVars: Record<string, WorkbookVariable> = {};\n\n const listeners: {\n [event: string]: Function[];\n } = {};\n\n for (const [key, value] of new URL(\n document.location.toString(),\n ).searchParams.entries())\n pluginConfig[key] = JSON.parse(value);\n\n const listener = (e: PluginMessageResponse) => {\n emit(e.data.type, e.data.result, e.data.error);\n };\n\n window.addEventListener('message', listener, false);\n window.addEventListener('click', () => execPromise('wb:plugin:focus'));\n\n on('wb:plugin:config:update', (config: PluginConfig<T>) => {\n Object.assign(pluginConfig, config);\n emit('config', pluginConfig.config ?? {});\n });\n\n // send initialize event\n void execPromise('wb:plugin:init', __VERSION__).then(config => {\n Object.assign(pluginConfig, config);\n emit('init', pluginConfig);\n emit('config', pluginConfig.config);\n });\n\n on(\n 'wb:plugin:variable:update',\n (updatedVariables: Record<string, WorkbookVariable>) => {\n subscribedWorkbookVars = {};\n Object.assign(subscribedWorkbookVars, updatedVariables);\n },\n );\n\n on('wb:plugin:selection:update', (updatedInteractions: unknown) => {\n subscribedInteractions = {};\n Object.assign(subscribedInteractions, updatedInteractions);\n });\n\n function on(event: string, listener: Function) {\n listeners[event] = listeners[event] || [];\n listeners[event].push(listener);\n }\n\n function off(event: string, listener: Function) {\n if (listeners[event] == null) return;\n listeners[event] = listeners[event].filter(a => a !== listener);\n }\n\n function emit(event: string, ...args: any) {\n Object.values(listeners[event] || []).forEach(fn => fn(...args));\n }\n\n function execPromise<R>(event: string, ...args: any): Promise<R> {\n return new Promise((resolve, reject) => {\n const callback = (data: R, error: any) => {\n if (error) reject(error);\n else resolve(data);\n off(event, callback);\n };\n on(event, callback);\n window.parent.postMessage(\n { type: event, args, elementId: pluginConfig.id },\n pluginConfig?.wbOrigin ?? '*',\n );\n });\n }\n\n return {\n get sigmaEnv() {\n return pluginConfig.sigmaEnv;\n },\n\n get isScreenshot() {\n return pluginConfig.screenshot;\n },\n\n config: {\n // @ts-ignore\n getKey(key) {\n return pluginConfig?.config?.[key]!;\n },\n get() {\n return pluginConfig.config;\n },\n set(partialConfig) {\n void execPromise('wb:plugin:config:update', partialConfig);\n },\n setKey(key, value) {\n void execPromise('wb:plugin:config:update', {\n [key]: value,\n });\n },\n subscribe(listener) {\n on('config', listener);\n return () => off('config', listener);\n },\n getVariable(id: string): WorkbookVariable {\n return subscribedWorkbookVars[id];\n },\n setVariable(id: string, ...values: unknown[]) {\n void execPromise('wb:plugin:variable:set', id, ...values);\n },\n getInteraction(id: string) {\n return subscribedInteractions[id];\n },\n setInteraction(\n id: string,\n elementId: string,\n selection:\n | string[]\n | Array<Record<string, { type: string; val?: unknown }>>,\n ) {\n void execPromise('wb:plugin:selection:set', id, elementId, selection);\n },\n configureEditorPanel(options) {\n void execPromise('wb:plugin:config:inspector', options);\n },\n setLoadingState(loadingState) {\n void execPromise('wb:plugin:config:loading-state', loadingState);\n },\n subscribeToWorkbookVariable(\n id: string,\n callback: (input: WorkbookVariable) => void,\n ): Unsubscriber {\n const setValues = (values: Record<string, WorkbookVariable>) => {\n callback(values[id]);\n };\n on('wb:plugin:variable:update', setValues);\n return () => {\n off('wb:plugin:variable:update', setValues);\n };\n },\n subscribeToWorkbookInteraction(\n id: string,\n callback: (input: WorkbookSelection[]) => void,\n ): Unsubscriber {\n const setValues = (values: Record<string, WorkbookSelection[]>) => {\n callback(values[id]);\n };\n on('wb:plugin:selection:update', setValues);\n return () => {\n off('wb:plugin:selection:update', setValues);\n };\n },\n },\n elements: {\n getElementColumns(id) {\n return execPromise('wb:plugin:element:columns:get', id);\n },\n subscribeToElementColumns(id, callback) {\n const eventName = `wb:plugin:element:${id}:columns`;\n on(eventName, callback);\n void execPromise('wb:plugin:element:subscribe:columns', id);\n\n return () => {\n off(eventName, callback);\n void execPromise('wb:plugin:element:unsubscribe:columns', id);\n };\n },\n subscribeToElementData(id, callback) {\n const eventName = `wb:plugin:element:${id}:data`;\n on(eventName, callback);\n void execPromise('wb:plugin:element:subscribe:data', id);\n\n return () => {\n off(eventName, callback);\n void execPromise('wb:plugin:element:unsubscribe:data', id);\n };\n },\n },\n destroy() {\n Object.keys(listeners).forEach(event => delete listeners[event]);\n window.removeEventListener('message', listener, false);\n },\n };\n}\n"],"names":["initialize","pluginConfig","config","subscribedInteractions","subscribedWorkbookVars","listeners","key","value","URL","document","location","toString","searchParams","entries","JSON","parse","listener","e","emit","data","type","result","error","window","addEventListener","execPromise","on","Object","assign","__VERSION__","then","updatedVariables","updatedInteractions","event","push","off","filter","a","args","values","forEach","fn","Promise","resolve","reject","callback","parent","postMessage","elementId","id","wbOrigin","sigmaEnv","isScreenshot","screenshot","getKey","get","set","partialConfig","setKey","subscribe","getVariable","setVariable","getInteraction","setInteraction","selection","configureEditorPanel","options","setLoadingState","loadingState","subscribeToWorkbookVariable","setValues","subscribeToWorkbookInteraction","elements","getElementColumns","subscribeToElementColumns","eventName","subscribeToElementData","destroy","keys","removeEventListener"],"mappings":"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"}
package/dist/cjs/index.js DELETED
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- var index = require('./client/index.js');
4
- var polyfillRequestAnimationFrame = require('./utils/polyfillRequestAnimationFrame.js');
5
- var initialize = require('./client/initialize.js');
6
-
7
-
8
-
9
- exports.client = index.client;
10
- exports.polyfillRequestAnimationFrame = polyfillRequestAnimationFrame.polyfillRequestAnimationFrame;
11
- exports.initialize = initialize.initialize;
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"polyfillRequestAnimationFrame.js","sources":["../../../src/utils/polyfillRequestAnimationFrame.ts"],"sourcesContent":["/**\n * requestAnimationFrame() calls are paused in most browsers when running in background tabs or hidden <iframe>s in order to improve performance and battery life\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame\n * @param w Window Object\n */\nexport function polyfillRequestAnimationFrame(window: Window) {\n if ('requestAnimationFrame' in window) {\n window.requestAnimationFrame = (handler: TimerHandler): number =>\n window.setTimeout(handler, 1000 / 60);\n window.cancelAnimationFrame = (id?: number) => window.clearTimeout(id);\n }\n}\n"],"names":["polyfillRequestAnimationFrame","window","requestAnimationFrame","handler","setTimeout","cancelAnimationFrame","id","clearTimeout"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,6BAA6B,CAACC,MAAc,EAAE;EAC5D,IAAI,uBAAuB,IAAIA,MAAM,EAAE;AACrCA,IAAAA,MAAM,CAACC,qBAAqB,GAAIC,OAAqB,IACnDF,MAAM,CAACG,UAAU,CAACD,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IACvCF,MAAM,CAACI,oBAAoB,GAAIC,EAAW,IAAKL,MAAM,CAACM,YAAY,CAACD,EAAE,CAAC,CAAA;AACxE,GAAA;AACF;;;;"}
@@ -1,6 +0,0 @@
1
- import { initialize } from './initialize.esm.js';
2
-
3
- const client = initialize();
4
-
5
- export { client, initialize };
6
- //# sourceMappingURL=index.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../src/client/index.ts"],"sourcesContent":["import { initialize } from './initialize';\n\nexport const client = initialize();\n\nexport { initialize };\n"],"names":["client","initialize"],"mappings":";;AAEaA,MAAAA,MAAM,GAAGC,UAAU;;;;"}
@@ -1,156 +0,0 @@
1
- function initialize() {
2
- const pluginConfig = {
3
- config: {}
4
- };
5
- let subscribedInteractions = {};
6
- let subscribedWorkbookVars = {};
7
- const listeners = {};
8
- for (const [key, value] of new URL(document.location.toString()).searchParams.entries()) pluginConfig[key] = JSON.parse(value);
9
- const listener = e => {
10
- emit(e.data.type, e.data.result, e.data.error);
11
- };
12
- window.addEventListener('message', listener, false);
13
- window.addEventListener('click', () => execPromise('wb:plugin:focus'));
14
- on('wb:plugin:config:update', config => {
15
- var _pluginConfig$config;
16
- Object.assign(pluginConfig, config);
17
- emit('config', (_pluginConfig$config = pluginConfig.config) != null ? _pluginConfig$config : {});
18
- });
19
-
20
- // send initialize event
21
- void execPromise('wb:plugin:init', "1.1.0-alpha.2").then(config => {
22
- Object.assign(pluginConfig, config);
23
- emit('init', pluginConfig);
24
- emit('config', pluginConfig.config);
25
- });
26
- on('wb:plugin:variable:update', updatedVariables => {
27
- subscribedWorkbookVars = {};
28
- Object.assign(subscribedWorkbookVars, updatedVariables);
29
- });
30
- on('wb:plugin:selection:update', updatedInteractions => {
31
- subscribedInteractions = {};
32
- Object.assign(subscribedInteractions, updatedInteractions);
33
- });
34
- function on(event, listener) {
35
- listeners[event] = listeners[event] || [];
36
- listeners[event].push(listener);
37
- }
38
- function off(event, listener) {
39
- if (listeners[event] == null) return;
40
- listeners[event] = listeners[event].filter(a => a !== listener);
41
- }
42
- function emit(event, ...args) {
43
- Object.values(listeners[event] || []).forEach(fn => fn(...args));
44
- }
45
- function execPromise(event, ...args) {
46
- return new Promise((resolve, reject) => {
47
- var _pluginConfig$wbOrigi;
48
- const callback = (data, error) => {
49
- if (error) reject(error);else resolve(data);
50
- off(event, callback);
51
- };
52
- on(event, callback);
53
- window.parent.postMessage({
54
- type: event,
55
- args,
56
- elementId: pluginConfig.id
57
- }, (_pluginConfig$wbOrigi = pluginConfig == null ? void 0 : pluginConfig.wbOrigin) != null ? _pluginConfig$wbOrigi : '*');
58
- });
59
- }
60
- return {
61
- get sigmaEnv() {
62
- return pluginConfig.sigmaEnv;
63
- },
64
- get isScreenshot() {
65
- return pluginConfig.screenshot;
66
- },
67
- config: {
68
- // @ts-ignore
69
- getKey(key) {
70
- var _pluginConfig$config2;
71
- return pluginConfig == null ? void 0 : (_pluginConfig$config2 = pluginConfig.config) == null ? void 0 : _pluginConfig$config2[key];
72
- },
73
- get() {
74
- return pluginConfig.config;
75
- },
76
- set(partialConfig) {
77
- void execPromise('wb:plugin:config:update', partialConfig);
78
- },
79
- setKey(key, value) {
80
- void execPromise('wb:plugin:config:update', {
81
- [key]: value
82
- });
83
- },
84
- subscribe(listener) {
85
- on('config', listener);
86
- return () => off('config', listener);
87
- },
88
- getVariable(id) {
89
- return subscribedWorkbookVars[id];
90
- },
91
- setVariable(id, ...values) {
92
- void execPromise('wb:plugin:variable:set', id, ...values);
93
- },
94
- getInteraction(id) {
95
- return subscribedInteractions[id];
96
- },
97
- setInteraction(id, elementId, selection) {
98
- void execPromise('wb:plugin:selection:set', id, elementId, selection);
99
- },
100
- configureEditorPanel(options) {
101
- void execPromise('wb:plugin:config:inspector', options);
102
- },
103
- setLoadingState(loadingState) {
104
- void execPromise('wb:plugin:config:loading-state', loadingState);
105
- },
106
- subscribeToWorkbookVariable(id, callback) {
107
- const setValues = values => {
108
- callback(values[id]);
109
- };
110
- on('wb:plugin:variable:update', setValues);
111
- return () => {
112
- off('wb:plugin:variable:update', setValues);
113
- };
114
- },
115
- subscribeToWorkbookInteraction(id, callback) {
116
- const setValues = values => {
117
- callback(values[id]);
118
- };
119
- on('wb:plugin:selection:update', setValues);
120
- return () => {
121
- off('wb:plugin:selection:update', setValues);
122
- };
123
- }
124
- },
125
- elements: {
126
- getElementColumns(id) {
127
- return execPromise('wb:plugin:element:columns:get', id);
128
- },
129
- subscribeToElementColumns(id, callback) {
130
- const eventName = `wb:plugin:element:${id}:columns`;
131
- on(eventName, callback);
132
- void execPromise('wb:plugin:element:subscribe:columns', id);
133
- return () => {
134
- off(eventName, callback);
135
- void execPromise('wb:plugin:element:unsubscribe:columns', id);
136
- };
137
- },
138
- subscribeToElementData(id, callback) {
139
- const eventName = `wb:plugin:element:${id}:data`;
140
- on(eventName, callback);
141
- void execPromise('wb:plugin:element:subscribe:data', id);
142
- return () => {
143
- off(eventName, callback);
144
- void execPromise('wb:plugin:element:unsubscribe:data', id);
145
- };
146
- }
147
- },
148
- destroy() {
149
- Object.keys(listeners).forEach(event => delete listeners[event]);
150
- window.removeEventListener('message', listener, false);
151
- }
152
- };
153
- }
154
-
155
- export { initialize };
156
- //# sourceMappingURL=initialize.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initialize.esm.js","sources":["../../../src/client/initialize.ts"],"sourcesContent":["import type {\n PluginConfig,\n PluginInstance,\n PluginMessageResponse,\n WorkbookSelection,\n WorkbookVariable,\n Unsubscriber,\n} from '../types';\n\nexport function initialize<T = {}>(): PluginInstance<T> {\n const pluginConfig: Partial<PluginConfig<T>> = {\n config: {} as T,\n };\n\n let subscribedInteractions: Record<string, WorkbookSelection[]> = {};\n let subscribedWorkbookVars: Record<string, WorkbookVariable> = {};\n\n const listeners: {\n [event: string]: Function[];\n } = {};\n\n for (const [key, value] of new URL(\n document.location.toString(),\n ).searchParams.entries())\n pluginConfig[key] = JSON.parse(value);\n\n const listener = (e: PluginMessageResponse) => {\n emit(e.data.type, e.data.result, e.data.error);\n };\n\n window.addEventListener('message', listener, false);\n window.addEventListener('click', () => execPromise('wb:plugin:focus'));\n\n on('wb:plugin:config:update', (config: PluginConfig<T>) => {\n Object.assign(pluginConfig, config);\n emit('config', pluginConfig.config ?? {});\n });\n\n // send initialize event\n void execPromise('wb:plugin:init', __VERSION__).then(config => {\n Object.assign(pluginConfig, config);\n emit('init', pluginConfig);\n emit('config', pluginConfig.config);\n });\n\n on(\n 'wb:plugin:variable:update',\n (updatedVariables: Record<string, WorkbookVariable>) => {\n subscribedWorkbookVars = {};\n Object.assign(subscribedWorkbookVars, updatedVariables);\n },\n );\n\n on('wb:plugin:selection:update', (updatedInteractions: unknown) => {\n subscribedInteractions = {};\n Object.assign(subscribedInteractions, updatedInteractions);\n });\n\n function on(event: string, listener: Function) {\n listeners[event] = listeners[event] || [];\n listeners[event].push(listener);\n }\n\n function off(event: string, listener: Function) {\n if (listeners[event] == null) return;\n listeners[event] = listeners[event].filter(a => a !== listener);\n }\n\n function emit(event: string, ...args: any) {\n Object.values(listeners[event] || []).forEach(fn => fn(...args));\n }\n\n function execPromise<R>(event: string, ...args: any): Promise<R> {\n return new Promise((resolve, reject) => {\n const callback = (data: R, error: any) => {\n if (error) reject(error);\n else resolve(data);\n off(event, callback);\n };\n on(event, callback);\n window.parent.postMessage(\n { type: event, args, elementId: pluginConfig.id },\n pluginConfig?.wbOrigin ?? '*',\n );\n });\n }\n\n return {\n get sigmaEnv() {\n return pluginConfig.sigmaEnv;\n },\n\n get isScreenshot() {\n return pluginConfig.screenshot;\n },\n\n config: {\n // @ts-ignore\n getKey(key) {\n return pluginConfig?.config?.[key]!;\n },\n get() {\n return pluginConfig.config;\n },\n set(partialConfig) {\n void execPromise('wb:plugin:config:update', partialConfig);\n },\n setKey(key, value) {\n void execPromise('wb:plugin:config:update', {\n [key]: value,\n });\n },\n subscribe(listener) {\n on('config', listener);\n return () => off('config', listener);\n },\n getVariable(id: string): WorkbookVariable {\n return subscribedWorkbookVars[id];\n },\n setVariable(id: string, ...values: unknown[]) {\n void execPromise('wb:plugin:variable:set', id, ...values);\n },\n getInteraction(id: string) {\n return subscribedInteractions[id];\n },\n setInteraction(\n id: string,\n elementId: string,\n selection:\n | string[]\n | Array<Record<string, { type: string; val?: unknown }>>,\n ) {\n void execPromise('wb:plugin:selection:set', id, elementId, selection);\n },\n configureEditorPanel(options) {\n void execPromise('wb:plugin:config:inspector', options);\n },\n setLoadingState(loadingState) {\n void execPromise('wb:plugin:config:loading-state', loadingState);\n },\n subscribeToWorkbookVariable(\n id: string,\n callback: (input: WorkbookVariable) => void,\n ): Unsubscriber {\n const setValues = (values: Record<string, WorkbookVariable>) => {\n callback(values[id]);\n };\n on('wb:plugin:variable:update', setValues);\n return () => {\n off('wb:plugin:variable:update', setValues);\n };\n },\n subscribeToWorkbookInteraction(\n id: string,\n callback: (input: WorkbookSelection[]) => void,\n ): Unsubscriber {\n const setValues = (values: Record<string, WorkbookSelection[]>) => {\n callback(values[id]);\n };\n on('wb:plugin:selection:update', setValues);\n return () => {\n off('wb:plugin:selection:update', setValues);\n };\n },\n },\n elements: {\n getElementColumns(id) {\n return execPromise('wb:plugin:element:columns:get', id);\n },\n subscribeToElementColumns(id, callback) {\n const eventName = `wb:plugin:element:${id}:columns`;\n on(eventName, callback);\n void execPromise('wb:plugin:element:subscribe:columns', id);\n\n return () => {\n off(eventName, callback);\n void execPromise('wb:plugin:element:unsubscribe:columns', id);\n };\n },\n subscribeToElementData(id, callback) {\n const eventName = `wb:plugin:element:${id}:data`;\n on(eventName, callback);\n void execPromise('wb:plugin:element:subscribe:data', id);\n\n return () => {\n off(eventName, callback);\n void execPromise('wb:plugin:element:unsubscribe:data', id);\n };\n },\n },\n destroy() {\n Object.keys(listeners).forEach(event => delete listeners[event]);\n window.removeEventListener('message', listener, false);\n },\n };\n}\n"],"names":["initialize","pluginConfig","config","subscribedInteractions","subscribedWorkbookVars","listeners","key","value","URL","document","location","toString","searchParams","entries","JSON","parse","listener","e","emit","data","type","result","error","window","addEventListener","execPromise","on","Object","assign","__VERSION__","then","updatedVariables","updatedInteractions","event","push","off","filter","a","args","values","forEach","fn","Promise","resolve","reject","callback","parent","postMessage","elementId","id","wbOrigin","sigmaEnv","isScreenshot","screenshot","getKey","get","set","partialConfig","setKey","subscribe","getVariable","setVariable","getInteraction","setInteraction","selection","configureEditorPanel","options","setLoadingState","loadingState","subscribeToWorkbookVariable","setValues","subscribeToWorkbookInteraction","elements","getElementColumns","subscribeToElementColumns","eventName","subscribeToElementData","destroy","keys","removeEventListener"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { client } from './client/index.esm.js';
2
- export { polyfillRequestAnimationFrame } from './utils/polyfillRequestAnimationFrame.esm.js';
3
- export { initialize } from './client/initialize.esm.js';
4
- //# sourceMappingURL=index.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1,15 +0,0 @@
1
- /**
2
- * requestAnimationFrame() calls are paused in most browsers when running in background tabs or hidden <iframe>s in order to improve performance and battery life
3
- *
4
- * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
5
- * @param w Window Object
6
- */
7
- function polyfillRequestAnimationFrame(window) {
8
- if ('requestAnimationFrame' in window) {
9
- window.requestAnimationFrame = handler => window.setTimeout(handler, 1000 / 60);
10
- window.cancelAnimationFrame = id => window.clearTimeout(id);
11
- }
12
- }
13
-
14
- export { polyfillRequestAnimationFrame };
15
- //# sourceMappingURL=polyfillRequestAnimationFrame.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"polyfillRequestAnimationFrame.esm.js","sources":["../../../src/utils/polyfillRequestAnimationFrame.ts"],"sourcesContent":["/**\n * requestAnimationFrame() calls are paused in most browsers when running in background tabs or hidden <iframe>s in order to improve performance and battery life\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame\n * @param w Window Object\n */\nexport function polyfillRequestAnimationFrame(window: Window) {\n if ('requestAnimationFrame' in window) {\n window.requestAnimationFrame = (handler: TimerHandler): number =>\n window.setTimeout(handler, 1000 / 60);\n window.cancelAnimationFrame = (id?: number) => window.clearTimeout(id);\n }\n}\n"],"names":["polyfillRequestAnimationFrame","window","requestAnimationFrame","handler","setTimeout","cancelAnimationFrame","id","clearTimeout"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,6BAA6B,CAACC,MAAc,EAAE;EAC5D,IAAI,uBAAuB,IAAIA,MAAM,EAAE;AACrCA,IAAAA,MAAM,CAACC,qBAAqB,GAAIC,OAAqB,IACnDF,MAAM,CAACG,UAAU,CAACD,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IACvCF,MAAM,CAACI,oBAAoB,GAAIC,EAAW,IAAKL,MAAM,CAACM,YAAY,CAACD,EAAE,CAAC,CAAA;AACxE,GAAA;AACF;;;;"}
@@ -1,6 +0,0 @@
1
- import { initialize } from './initialize.mjs';
2
-
3
- const client = initialize();
4
-
5
- export { client, initialize };
6
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/client/index.ts"],"sourcesContent":["import { initialize } from './initialize';\n\nexport const client = initialize();\n\nexport { initialize };\n"],"names":["client","initialize"],"mappings":";;AAEaA,MAAAA,MAAM,GAAGC,UAAU;;;;"}
@@ -1,156 +0,0 @@
1
- function initialize() {
2
- const pluginConfig = {
3
- config: {}
4
- };
5
- let subscribedInteractions = {};
6
- let subscribedWorkbookVars = {};
7
- const listeners = {};
8
- for (const [key, value] of new URL(document.location.toString()).searchParams.entries()) pluginConfig[key] = JSON.parse(value);
9
- const listener = e => {
10
- emit(e.data.type, e.data.result, e.data.error);
11
- };
12
- window.addEventListener('message', listener, false);
13
- window.addEventListener('click', () => execPromise('wb:plugin:focus'));
14
- on('wb:plugin:config:update', config => {
15
- var _pluginConfig$config;
16
- Object.assign(pluginConfig, config);
17
- emit('config', (_pluginConfig$config = pluginConfig.config) != null ? _pluginConfig$config : {});
18
- });
19
-
20
- // send initialize event
21
- void execPromise('wb:plugin:init', "1.1.0-alpha.2").then(config => {
22
- Object.assign(pluginConfig, config);
23
- emit('init', pluginConfig);
24
- emit('config', pluginConfig.config);
25
- });
26
- on('wb:plugin:variable:update', updatedVariables => {
27
- subscribedWorkbookVars = {};
28
- Object.assign(subscribedWorkbookVars, updatedVariables);
29
- });
30
- on('wb:plugin:selection:update', updatedInteractions => {
31
- subscribedInteractions = {};
32
- Object.assign(subscribedInteractions, updatedInteractions);
33
- });
34
- function on(event, listener) {
35
- listeners[event] = listeners[event] || [];
36
- listeners[event].push(listener);
37
- }
38
- function off(event, listener) {
39
- if (listeners[event] == null) return;
40
- listeners[event] = listeners[event].filter(a => a !== listener);
41
- }
42
- function emit(event, ...args) {
43
- Object.values(listeners[event] || []).forEach(fn => fn(...args));
44
- }
45
- function execPromise(event, ...args) {
46
- return new Promise((resolve, reject) => {
47
- var _pluginConfig$wbOrigi;
48
- const callback = (data, error) => {
49
- if (error) reject(error);else resolve(data);
50
- off(event, callback);
51
- };
52
- on(event, callback);
53
- window.parent.postMessage({
54
- type: event,
55
- args,
56
- elementId: pluginConfig.id
57
- }, (_pluginConfig$wbOrigi = pluginConfig == null ? void 0 : pluginConfig.wbOrigin) != null ? _pluginConfig$wbOrigi : '*');
58
- });
59
- }
60
- return {
61
- get sigmaEnv() {
62
- return pluginConfig.sigmaEnv;
63
- },
64
- get isScreenshot() {
65
- return pluginConfig.screenshot;
66
- },
67
- config: {
68
- // @ts-ignore
69
- getKey(key) {
70
- var _pluginConfig$config2;
71
- return pluginConfig == null ? void 0 : (_pluginConfig$config2 = pluginConfig.config) == null ? void 0 : _pluginConfig$config2[key];
72
- },
73
- get() {
74
- return pluginConfig.config;
75
- },
76
- set(partialConfig) {
77
- void execPromise('wb:plugin:config:update', partialConfig);
78
- },
79
- setKey(key, value) {
80
- void execPromise('wb:plugin:config:update', {
81
- [key]: value
82
- });
83
- },
84
- subscribe(listener) {
85
- on('config', listener);
86
- return () => off('config', listener);
87
- },
88
- getVariable(id) {
89
- return subscribedWorkbookVars[id];
90
- },
91
- setVariable(id, ...values) {
92
- void execPromise('wb:plugin:variable:set', id, ...values);
93
- },
94
- getInteraction(id) {
95
- return subscribedInteractions[id];
96
- },
97
- setInteraction(id, elementId, selection) {
98
- void execPromise('wb:plugin:selection:set', id, elementId, selection);
99
- },
100
- configureEditorPanel(options) {
101
- void execPromise('wb:plugin:config:inspector', options);
102
- },
103
- setLoadingState(loadingState) {
104
- void execPromise('wb:plugin:config:loading-state', loadingState);
105
- },
106
- subscribeToWorkbookVariable(id, callback) {
107
- const setValues = values => {
108
- callback(values[id]);
109
- };
110
- on('wb:plugin:variable:update', setValues);
111
- return () => {
112
- off('wb:plugin:variable:update', setValues);
113
- };
114
- },
115
- subscribeToWorkbookInteraction(id, callback) {
116
- const setValues = values => {
117
- callback(values[id]);
118
- };
119
- on('wb:plugin:selection:update', setValues);
120
- return () => {
121
- off('wb:plugin:selection:update', setValues);
122
- };
123
- }
124
- },
125
- elements: {
126
- getElementColumns(id) {
127
- return execPromise('wb:plugin:element:columns:get', id);
128
- },
129
- subscribeToElementColumns(id, callback) {
130
- const eventName = `wb:plugin:element:${id}:columns`;
131
- on(eventName, callback);
132
- void execPromise('wb:plugin:element:subscribe:columns', id);
133
- return () => {
134
- off(eventName, callback);
135
- void execPromise('wb:plugin:element:unsubscribe:columns', id);
136
- };
137
- },
138
- subscribeToElementData(id, callback) {
139
- const eventName = `wb:plugin:element:${id}:data`;
140
- on(eventName, callback);
141
- void execPromise('wb:plugin:element:subscribe:data', id);
142
- return () => {
143
- off(eventName, callback);
144
- void execPromise('wb:plugin:element:unsubscribe:data', id);
145
- };
146
- }
147
- },
148
- destroy() {
149
- Object.keys(listeners).forEach(event => delete listeners[event]);
150
- window.removeEventListener('message', listener, false);
151
- }
152
- };
153
- }
154
-
155
- export { initialize };
156
- //# sourceMappingURL=initialize.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"initialize.mjs","sources":["../../../src/client/initialize.ts"],"sourcesContent":["import type {\n PluginConfig,\n PluginInstance,\n PluginMessageResponse,\n WorkbookSelection,\n WorkbookVariable,\n Unsubscriber,\n} from '../types';\n\nexport function initialize<T = {}>(): PluginInstance<T> {\n const pluginConfig: Partial<PluginConfig<T>> = {\n config: {} as T,\n };\n\n let subscribedInteractions: Record<string, WorkbookSelection[]> = {};\n let subscribedWorkbookVars: Record<string, WorkbookVariable> = {};\n\n const listeners: {\n [event: string]: Function[];\n } = {};\n\n for (const [key, value] of new URL(\n document.location.toString(),\n ).searchParams.entries())\n pluginConfig[key] = JSON.parse(value);\n\n const listener = (e: PluginMessageResponse) => {\n emit(e.data.type, e.data.result, e.data.error);\n };\n\n window.addEventListener('message', listener, false);\n window.addEventListener('click', () => execPromise('wb:plugin:focus'));\n\n on('wb:plugin:config:update', (config: PluginConfig<T>) => {\n Object.assign(pluginConfig, config);\n emit('config', pluginConfig.config ?? {});\n });\n\n // send initialize event\n void execPromise('wb:plugin:init', __VERSION__).then(config => {\n Object.assign(pluginConfig, config);\n emit('init', pluginConfig);\n emit('config', pluginConfig.config);\n });\n\n on(\n 'wb:plugin:variable:update',\n (updatedVariables: Record<string, WorkbookVariable>) => {\n subscribedWorkbookVars = {};\n Object.assign(subscribedWorkbookVars, updatedVariables);\n },\n );\n\n on('wb:plugin:selection:update', (updatedInteractions: unknown) => {\n subscribedInteractions = {};\n Object.assign(subscribedInteractions, updatedInteractions);\n });\n\n function on(event: string, listener: Function) {\n listeners[event] = listeners[event] || [];\n listeners[event].push(listener);\n }\n\n function off(event: string, listener: Function) {\n if (listeners[event] == null) return;\n listeners[event] = listeners[event].filter(a => a !== listener);\n }\n\n function emit(event: string, ...args: any) {\n Object.values(listeners[event] || []).forEach(fn => fn(...args));\n }\n\n function execPromise<R>(event: string, ...args: any): Promise<R> {\n return new Promise((resolve, reject) => {\n const callback = (data: R, error: any) => {\n if (error) reject(error);\n else resolve(data);\n off(event, callback);\n };\n on(event, callback);\n window.parent.postMessage(\n { type: event, args, elementId: pluginConfig.id },\n pluginConfig?.wbOrigin ?? '*',\n );\n });\n }\n\n return {\n get sigmaEnv() {\n return pluginConfig.sigmaEnv;\n },\n\n get isScreenshot() {\n return pluginConfig.screenshot;\n },\n\n config: {\n // @ts-ignore\n getKey(key) {\n return pluginConfig?.config?.[key]!;\n },\n get() {\n return pluginConfig.config;\n },\n set(partialConfig) {\n void execPromise('wb:plugin:config:update', partialConfig);\n },\n setKey(key, value) {\n void execPromise('wb:plugin:config:update', {\n [key]: value,\n });\n },\n subscribe(listener) {\n on('config', listener);\n return () => off('config', listener);\n },\n getVariable(id: string): WorkbookVariable {\n return subscribedWorkbookVars[id];\n },\n setVariable(id: string, ...values: unknown[]) {\n void execPromise('wb:plugin:variable:set', id, ...values);\n },\n getInteraction(id: string) {\n return subscribedInteractions[id];\n },\n setInteraction(\n id: string,\n elementId: string,\n selection:\n | string[]\n | Array<Record<string, { type: string; val?: unknown }>>,\n ) {\n void execPromise('wb:plugin:selection:set', id, elementId, selection);\n },\n configureEditorPanel(options) {\n void execPromise('wb:plugin:config:inspector', options);\n },\n setLoadingState(loadingState) {\n void execPromise('wb:plugin:config:loading-state', loadingState);\n },\n subscribeToWorkbookVariable(\n id: string,\n callback: (input: WorkbookVariable) => void,\n ): Unsubscriber {\n const setValues = (values: Record<string, WorkbookVariable>) => {\n callback(values[id]);\n };\n on('wb:plugin:variable:update', setValues);\n return () => {\n off('wb:plugin:variable:update', setValues);\n };\n },\n subscribeToWorkbookInteraction(\n id: string,\n callback: (input: WorkbookSelection[]) => void,\n ): Unsubscriber {\n const setValues = (values: Record<string, WorkbookSelection[]>) => {\n callback(values[id]);\n };\n on('wb:plugin:selection:update', setValues);\n return () => {\n off('wb:plugin:selection:update', setValues);\n };\n },\n },\n elements: {\n getElementColumns(id) {\n return execPromise('wb:plugin:element:columns:get', id);\n },\n subscribeToElementColumns(id, callback) {\n const eventName = `wb:plugin:element:${id}:columns`;\n on(eventName, callback);\n void execPromise('wb:plugin:element:subscribe:columns', id);\n\n return () => {\n off(eventName, callback);\n void execPromise('wb:plugin:element:unsubscribe:columns', id);\n };\n },\n subscribeToElementData(id, callback) {\n const eventName = `wb:plugin:element:${id}:data`;\n on(eventName, callback);\n void execPromise('wb:plugin:element:subscribe:data', id);\n\n return () => {\n off(eventName, callback);\n void execPromise('wb:plugin:element:unsubscribe:data', id);\n };\n },\n },\n destroy() {\n Object.keys(listeners).forEach(event => delete listeners[event]);\n window.removeEventListener('message', listener, false);\n },\n };\n}\n"],"names":["initialize","pluginConfig","config","subscribedInteractions","subscribedWorkbookVars","listeners","key","value","URL","document","location","toString","searchParams","entries","JSON","parse","listener","e","emit","data","type","result","error","window","addEventListener","execPromise","on","Object","assign","__VERSION__","then","updatedVariables","updatedInteractions","event","push","off","filter","a","args","values","forEach","fn","Promise","resolve","reject","callback","parent","postMessage","elementId","id","wbOrigin","sigmaEnv","isScreenshot","screenshot","getKey","get","set","partialConfig","setKey","subscribe","getVariable","setVariable","getInteraction","setInteraction","selection","configureEditorPanel","options","setLoadingState","loadingState","subscribeToWorkbookVariable","setValues","subscribeToWorkbookInteraction","elements","getElementColumns","subscribeToElementColumns","eventName","subscribeToElementData","destroy","keys","removeEventListener"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { client } from './client/index.mjs';
2
- export { polyfillRequestAnimationFrame } from './utils/polyfillRequestAnimationFrame.mjs';
3
- export { initialize } from './client/initialize.mjs';
4
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}