@thoughtspot/ts-chart-sdk 0.0.2-alpha.4 → 0.0.2-alpha.5

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 (90) hide show
  1. package/dist/ts-chart-sdk.d.ts +660 -0
  2. package/lib/index.d.ts +11 -0
  3. package/lib/index.d.ts.map +1 -0
  4. package/lib/index.js +11 -0
  5. package/lib/index.js.map +1 -0
  6. package/lib/main/custom-chart-context.d.ts +58 -0
  7. package/lib/main/custom-chart-context.d.ts.map +1 -0
  8. package/lib/main/custom-chart-context.js +334 -0
  9. package/lib/main/custom-chart-context.js.map +1 -0
  10. package/lib/main/custom-chart-context.spec.d.ts +2 -0
  11. package/lib/main/custom-chart-context.spec.d.ts.map +1 -0
  12. package/lib/main/custom-chart-context.spec.js +618 -0
  13. package/lib/main/custom-chart-context.spec.js.map +1 -0
  14. package/lib/main/post-message-event-bridge.d.ts +6 -0
  15. package/lib/main/post-message-event-bridge.d.ts.map +1 -0
  16. package/lib/main/post-message-event-bridge.js +29 -0
  17. package/lib/main/post-message-event-bridge.js.map +1 -0
  18. package/lib/main/post-message-event-bridge.spec.d.ts +2 -0
  19. package/lib/main/post-message-event-bridge.spec.d.ts.map +1 -0
  20. package/lib/main/post-message-event-bridge.spec.js +117 -0
  21. package/lib/main/post-message-event-bridge.spec.js.map +1 -0
  22. package/lib/main/util.d.ts +2 -0
  23. package/lib/main/util.d.ts.map +1 -0
  24. package/lib/main/util.js +9 -0
  25. package/lib/main/util.js.map +1 -0
  26. package/lib/react/mocks/custom-chart-context-mock.d.ts +3 -0
  27. package/lib/react/mocks/custom-chart-context-mock.d.ts.map +1 -0
  28. package/lib/react/mocks/custom-chart-context-mock.js +94 -0
  29. package/lib/react/mocks/custom-chart-context-mock.js.map +1 -0
  30. package/lib/react/use-custom-chart-context.d.ts +4 -0
  31. package/lib/react/use-custom-chart-context.d.ts.map +1 -0
  32. package/lib/react/use-custom-chart-context.js +68 -0
  33. package/lib/react/use-custom-chart-context.js.map +1 -0
  34. package/lib/react/use-custom-chart-context.spec.d.ts +2 -0
  35. package/lib/react/use-custom-chart-context.spec.d.ts.map +1 -0
  36. package/lib/react/use-custom-chart-context.spec.js +318 -0
  37. package/lib/react/use-custom-chart-context.spec.js.map +1 -0
  38. package/lib/react/use-custom-chart-context.util.d.ts +6 -0
  39. package/lib/react/use-custom-chart-context.util.d.ts.map +1 -0
  40. package/lib/react/use-custom-chart-context.util.js +51 -0
  41. package/lib/react/use-custom-chart-context.util.js.map +1 -0
  42. package/lib/react/use-custom-chart-types.d.ts +23 -0
  43. package/lib/react/use-custom-chart-types.d.ts.map +1 -0
  44. package/lib/react/use-custom-chart-types.js +2 -0
  45. package/lib/react/use-custom-chart-types.js.map +1 -0
  46. package/lib/test/test-conditional-formatting-utils.d.ts +5 -0
  47. package/lib/test/test-conditional-formatting-utils.d.ts.map +1 -0
  48. package/lib/test/test-conditional-formatting-utils.js +43 -0
  49. package/lib/test/test-conditional-formatting-utils.js.map +1 -0
  50. package/lib/test/test-utils.d.ts +7 -0
  51. package/lib/test/test-utils.d.ts.map +1 -0
  52. package/lib/test/test-utils.js +11 -0
  53. package/lib/test/test-utils.js.map +1 -0
  54. package/lib/types/answer-column.types.d.ts +113 -0
  55. package/lib/types/answer-column.types.d.ts.map +1 -0
  56. package/lib/types/answer-column.types.js +96 -0
  57. package/lib/types/answer-column.types.js.map +1 -0
  58. package/lib/types/chart-to-ts-event.types.d.ts +98 -0
  59. package/lib/types/chart-to-ts-event.types.d.ts.map +1 -0
  60. package/lib/types/chart-to-ts-event.types.js +29 -0
  61. package/lib/types/chart-to-ts-event.types.js.map +1 -0
  62. package/lib/types/common.types.d.ts +58 -0
  63. package/lib/types/common.types.d.ts.map +1 -0
  64. package/lib/types/common.types.js +2 -0
  65. package/lib/types/common.types.js.map +1 -0
  66. package/lib/types/conditional-formatting.types.d.ts +155 -0
  67. package/lib/types/conditional-formatting.types.d.ts.map +1 -0
  68. package/lib/types/conditional-formatting.types.js +60 -0
  69. package/lib/types/conditional-formatting.types.js.map +1 -0
  70. package/lib/types/configurator.types.d.ts +18 -0
  71. package/lib/types/configurator.types.d.ts.map +1 -0
  72. package/lib/types/configurator.types.js +2 -0
  73. package/lib/types/configurator.types.js.map +1 -0
  74. package/lib/types/ts-to-chart-event.types.d.ts +94 -0
  75. package/lib/types/ts-to-chart-event.types.d.ts.map +1 -0
  76. package/lib/types/ts-to-chart-event.types.js +15 -0
  77. package/lib/types/ts-to-chart-event.types.js.map +1 -0
  78. package/lib/types/visual-prop.types.d.ts +76 -0
  79. package/lib/types/visual-prop.types.d.ts.map +1 -0
  80. package/lib/types/visual-prop.types.js +2 -0
  81. package/lib/types/visual-prop.types.js.map +1 -0
  82. package/lib/utils/conditional-formatting/conditional-formatting.d.ts +10 -0
  83. package/lib/utils/conditional-formatting/conditional-formatting.d.ts.map +1 -0
  84. package/lib/utils/conditional-formatting/conditional-formatting.js +103 -0
  85. package/lib/utils/conditional-formatting/conditional-formatting.js.map +1 -0
  86. package/lib/utils/conditional-formatting/conditional-formatting.spec.d.ts +2 -0
  87. package/lib/utils/conditional-formatting/conditional-formatting.spec.d.ts.map +1 -0
  88. package/lib/utils/conditional-formatting/conditional-formatting.spec.js +122 -0
  89. package/lib/utils/conditional-formatting/conditional-formatting.spec.js.map +1 -0
  90. package/package.json +2 -2
@@ -0,0 +1,618 @@
1
+ import _ from 'lodash';
2
+ import { mockInitializeContextPayload } from '../test/test-utils';
3
+ import { ChartToTSEvent, ErrorType } from '../types/chart-to-ts-event.types';
4
+ import { TSToChartEvent } from '../types/ts-to-chart-event.types';
5
+ import { CustomChartContext, getChartContext } from './custom-chart-context';
6
+ import * as PostMessageEventBridge from './post-message-event-bridge';
7
+ jest.spyOn(console, 'log').mockImplementation(() => {
8
+ });
9
+ describe('CustomChartContext', () => {
10
+ let eventProcessor;
11
+ let getDefaultChartConfig = jest.fn();
12
+ let getQueriesFromChartConfig = jest.fn();
13
+ let renderChart = jest.fn();
14
+ const mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
15
+ const mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
16
+ beforeEach(() => {
17
+ getDefaultChartConfig = jest.fn();
18
+ getQueriesFromChartConfig = jest.fn();
19
+ renderChart = jest.fn();
20
+ mockInitMessage.mockImplementation((fn) => {
21
+ eventProcessor = fn;
22
+ return () => null;
23
+ });
24
+ mockPostMessageToHost.mockImplementation(() => {
25
+ return global.Promise.resolve();
26
+ });
27
+ });
28
+ describe('initialize', () => {
29
+ let customChartContext;
30
+ beforeEach(() => {
31
+ customChartContext = new CustomChartContext({
32
+ getDefaultChartConfig,
33
+ getQueriesFromChartConfig,
34
+ renderChart,
35
+ });
36
+ });
37
+ afterEach(() => {
38
+ jest.resetAllMocks();
39
+ customChartContext.destroy();
40
+ eventProcessor = null;
41
+ });
42
+ test('should wait till the parent calls initialize', async () => {
43
+ expect(mockInitMessage).toHaveBeenCalled();
44
+ const promise = customChartContext.initialize();
45
+ const rej = jest.fn();
46
+ const res = jest.fn();
47
+ promise.then(() => rej()).catch(() => res());
48
+ await new global.Promise((resolve) => {
49
+ setTimeout(() => resolve(null), 3000);
50
+ });
51
+ expect(rej).not.toHaveBeenCalled();
52
+ expect(res).not.toHaveBeenCalled();
53
+ });
54
+ test('should return a promise that resolves when the chart context is initialized', async () => {
55
+ expect(mockInitMessage).toHaveBeenCalled();
56
+ const promise = customChartContext.initialize();
57
+ const initResp = await eventProcessor({
58
+ payload: mockInitializeContextPayload,
59
+ eventType: TSToChartEvent.Initialize,
60
+ });
61
+ eventProcessor({
62
+ payload: {},
63
+ eventType: TSToChartEvent.InitializeComplete,
64
+ });
65
+ await expect(promise).resolves.toBeUndefined();
66
+ expect(initResp).toEqual({
67
+ isConfigValid: false,
68
+ defaultChartConfig: undefined,
69
+ chartConfigEditorDefinition: undefined,
70
+ visualPropEditorDefinition: undefined,
71
+ allowedConfigurations: {
72
+ allowColumnNumberFormatting: false,
73
+ allowColumnConditionalFormatting: false,
74
+ },
75
+ });
76
+ expect(mockPostMessageToHost).not.toHaveBeenCalled();
77
+ });
78
+ test('multiple intializations should throw an error', async () => {
79
+ const promise = customChartContext.initialize();
80
+ eventProcessor({
81
+ payload: mockInitializeContextPayload,
82
+ eventType: TSToChartEvent.Initialize,
83
+ });
84
+ eventProcessor({
85
+ payload: {},
86
+ eventType: TSToChartEvent.InitializeComplete,
87
+ });
88
+ await expect(promise).resolves.toBeUndefined();
89
+ let error;
90
+ try {
91
+ customChartContext = new CustomChartContext({
92
+ getDefaultChartConfig,
93
+ getQueriesFromChartConfig,
94
+ renderChart,
95
+ });
96
+ }
97
+ catch (err) {
98
+ error = err.message;
99
+ }
100
+ expect(error).toBe(ErrorType.MultipleContextsNotSupported);
101
+ try {
102
+ await getChartContext({
103
+ getDefaultChartConfig,
104
+ getQueriesFromChartConfig,
105
+ renderChart,
106
+ });
107
+ }
108
+ catch (err) {
109
+ error = err.message;
110
+ }
111
+ expect(error).toBe(ErrorType.MultipleContextsNotSupported);
112
+ });
113
+ });
114
+ describe('on', () => {
115
+ let customChartContext;
116
+ beforeEach(() => {
117
+ customChartContext = new CustomChartContext({
118
+ getDefaultChartConfig,
119
+ getQueriesFromChartConfig,
120
+ renderChart,
121
+ });
122
+ });
123
+ afterEach(() => {
124
+ jest.resetAllMocks();
125
+ customChartContext.destroy();
126
+ eventProcessor = null;
127
+ });
128
+ test('TSToChartEvent.ChartConfigValidate validation response testing', async () => {
129
+ customChartContext = new CustomChartContext({
130
+ getDefaultChartConfig,
131
+ getQueriesFromChartConfig,
132
+ renderChart,
133
+ visualPropEditorDefinition: { elements: [] },
134
+ chartConfigEditorDefinition: [],
135
+ });
136
+ const responseWithInitialContext = await eventProcessor({
137
+ payload: mockInitializeContextPayload,
138
+ eventType: TSToChartEvent.ChartConfigValidate,
139
+ source: 'ts-host-app',
140
+ });
141
+ expect(responseWithInitialContext).toStrictEqual({
142
+ isValid: true,
143
+ visualPropEditorDefinition: { elements: [] },
144
+ chartConfigEditorDefinition: [],
145
+ });
146
+ customChartContext = new CustomChartContext({
147
+ getDefaultChartConfig,
148
+ getQueriesFromChartConfig,
149
+ renderChart,
150
+ visualPropEditorDefinition: () => {
151
+ return { elements: [] };
152
+ },
153
+ chartConfigEditorDefinition: () => {
154
+ return [
155
+ {
156
+ key: 'x',
157
+ columnSections: [{ label: 'x-axis', key: 'x' }],
158
+ },
159
+ ];
160
+ },
161
+ });
162
+ const responseWithUpdatedContext = await eventProcessor({
163
+ payload: mockInitializeContextPayload,
164
+ eventType: TSToChartEvent.ChartConfigValidate,
165
+ source: 'ts-host-app',
166
+ });
167
+ expect(responseWithUpdatedContext).toStrictEqual({
168
+ isValid: true,
169
+ visualPropEditorDefinition: { elements: [] },
170
+ chartConfigEditorDefinition: [
171
+ {
172
+ key: 'x',
173
+ columnSections: [{ label: 'x-axis', key: 'x' }],
174
+ },
175
+ ],
176
+ });
177
+ });
178
+ test('TSToChartEvent.validateVisualProps validation response testing', () => {
179
+ customChartContext = new CustomChartContext({
180
+ getDefaultChartConfig,
181
+ getQueriesFromChartConfig,
182
+ renderChart,
183
+ visualPropEditorDefinition: { elements: [] },
184
+ chartConfigEditorDefinition: [],
185
+ });
186
+ const responseWithInitialContext = eventProcessor({
187
+ payload: mockInitializeContextPayload,
188
+ eventType: TSToChartEvent.VisualPropsValidate,
189
+ source: 'ts-host-app',
190
+ });
191
+ expect(responseWithInitialContext).toStrictEqual({
192
+ isValid: true,
193
+ visualPropEditorDefinition: { elements: [] },
194
+ chartConfigEditorDefinition: [],
195
+ });
196
+ customChartContext = new CustomChartContext({
197
+ getDefaultChartConfig,
198
+ getQueriesFromChartConfig,
199
+ renderChart,
200
+ visualPropEditorDefinition: () => {
201
+ return { elements: [] };
202
+ },
203
+ chartConfigEditorDefinition: () => {
204
+ return [
205
+ {
206
+ key: 'x',
207
+ columnSections: [{ label: 'x-axis', key: 'x' }],
208
+ },
209
+ ];
210
+ },
211
+ });
212
+ const responseWithFunctionReturnedValues = eventProcessor({
213
+ payload: mockInitializeContextPayload,
214
+ eventType: TSToChartEvent.VisualPropsValidate,
215
+ source: 'ts-host-app',
216
+ });
217
+ expect(responseWithFunctionReturnedValues).toStrictEqual({
218
+ isValid: true,
219
+ visualPropEditorDefinition: { elements: [] },
220
+ chartConfigEditorDefinition: [
221
+ {
222
+ key: 'x',
223
+ columnSections: [{ label: 'x-axis', key: 'x' }],
224
+ },
225
+ ],
226
+ });
227
+ });
228
+ test('should not trigger post message if host is not accurate', async () => {
229
+ expect(mockInitMessage).toHaveBeenCalled();
230
+ const validateChartConfigResp = await eventProcessor({
231
+ payload: mockInitializeContextPayload,
232
+ eventType: TSToChartEvent.ChartConfigValidate,
233
+ });
234
+ expect(validateChartConfigResp).toEqual({
235
+ isValid: true,
236
+ });
237
+ const validateVisualPropsResp = await eventProcessor({
238
+ payload: mockInitializeContextPayload,
239
+ eventType: TSToChartEvent.VisualPropsValidate,
240
+ });
241
+ expect(validateVisualPropsResp).toEqual({
242
+ isValid: true,
243
+ });
244
+ const renderResp = await eventProcessor({
245
+ payload: mockInitializeContextPayload,
246
+ eventType: TSToChartEvent.TriggerRenderChart,
247
+ });
248
+ expect(renderChart).toHaveBeenCalled();
249
+ eventProcessor({
250
+ payload: mockInitializeContextPayload,
251
+ eventType: TSToChartEvent.GetDataQuery,
252
+ });
253
+ expect(getQueriesFromChartConfig).toHaveBeenCalled();
254
+ });
255
+ test('default external function testing', async () => {
256
+ expect(mockInitMessage).toHaveBeenCalled();
257
+ const dataUpdateResp = await eventProcessor({
258
+ payload: {
259
+ data: 'random data',
260
+ },
261
+ eventType: TSToChartEvent.DataUpdate,
262
+ });
263
+ expect(dataUpdateResp).toEqual({
264
+ triggerRenderChart: true,
265
+ });
266
+ expect(customChartContext.getChartModel().data).toBe('random data');
267
+ const modelUpdateResp = await eventProcessor({
268
+ payload: {
269
+ chartModel: {
270
+ data: 'random data2',
271
+ visualProps: null,
272
+ },
273
+ },
274
+ eventType: TSToChartEvent.ChartModelUpdate,
275
+ });
276
+ expect(modelUpdateResp).toEqual({
277
+ triggerRenderChart: true,
278
+ });
279
+ expect(customChartContext.getChartModel().data).toBe('random data2');
280
+ expect(customChartContext.getChartModel().visualProps).toBe(null);
281
+ const visualPropsUpdateResp = await eventProcessor({
282
+ payload: {
283
+ visualProps: 'random data',
284
+ },
285
+ eventType: TSToChartEvent.VisualPropsUpdate,
286
+ });
287
+ expect(visualPropsUpdateResp).toEqual({
288
+ triggerRenderChart: true,
289
+ });
290
+ expect(customChartContext.getChartModel().visualProps).toBe('random data');
291
+ customChartContext.axisMenuCustomActionPreProcessor([
292
+ {
293
+ customActions: [
294
+ {
295
+ icon: '',
296
+ id: 'custom-action-1',
297
+ label: 'Custom user action 1',
298
+ onClick: () => _.noop(),
299
+ },
300
+ ],
301
+ },
302
+ ]);
303
+ const axisMenuClickResp = await eventProcessor({
304
+ payload: {
305
+ customAction: {
306
+ id: 'custom-action-1',
307
+ columnIds: ['9f96b5b0-f7e4-4a5e-aa11-4c77fdf42125'],
308
+ },
309
+ },
310
+ eventType: TSToChartEvent.AxisMenuActionClick,
311
+ });
312
+ expect(axisMenuClickResp).toEqual({
313
+ isValid: true,
314
+ });
315
+ customChartContext.contextMenuCustomActionPreProcessor([
316
+ {
317
+ customActions: [
318
+ {
319
+ icon: '',
320
+ id: 'custom-action-1',
321
+ label: 'Custom user action 1',
322
+ onClick: () => _.noop(),
323
+ },
324
+ ],
325
+ },
326
+ ]);
327
+ const ctxMenuResp = await eventProcessor({
328
+ payload: {
329
+ customAction: {
330
+ id: 'custom-action-1',
331
+ columnIds: ['9f96b5b0-f7e4-4a5e-aa11-4c77fdf42125'],
332
+ },
333
+ },
334
+ eventType: TSToChartEvent.ContextMenuActionClick,
335
+ });
336
+ expect(ctxMenuResp).toEqual({
337
+ isValid: true,
338
+ });
339
+ });
340
+ test('should add an event listener to the specified event type', () => {
341
+ expect(mockInitMessage).toHaveBeenCalled();
342
+ const TEST_EVENT_TYPE = 'testEventType';
343
+ const testCallbackFn = jest.fn();
344
+ customChartContext.on(TEST_EVENT_TYPE, testCallbackFn);
345
+ eventProcessor({
346
+ payload: mockInitializeContextPayload,
347
+ eventType: TEST_EVENT_TYPE,
348
+ });
349
+ expect(testCallbackFn).toHaveBeenCalled();
350
+ });
351
+ test('should respond with an error to an unspecified event type', async () => {
352
+ expect(mockInitMessage).toHaveBeenCalled();
353
+ const TEST_EVENT_TYPE = 'testEventType';
354
+ const resp = await eventProcessor({
355
+ payload: mockInitializeContextPayload,
356
+ eventType: TEST_EVENT_TYPE,
357
+ });
358
+ expect(resp).toEqual({
359
+ hasError: true,
360
+ error: `Event type not recognised or processed: ${TEST_EVENT_TYPE}`,
361
+ });
362
+ });
363
+ });
364
+ describe('off', () => {
365
+ let customChartContext;
366
+ beforeEach(() => {
367
+ customChartContext = new CustomChartContext({
368
+ getDefaultChartConfig,
369
+ getQueriesFromChartConfig,
370
+ renderChart,
371
+ });
372
+ });
373
+ afterEach(() => {
374
+ customChartContext.destroy();
375
+ eventProcessor = null;
376
+ jest.resetAllMocks();
377
+ });
378
+ test('should remove the event listener for the specified event type', () => {
379
+ const TEST_EVENT_TYPE = 'testEventType';
380
+ const testCallbackFn = jest.fn();
381
+ customChartContext.on(TEST_EVENT_TYPE, testCallbackFn);
382
+ eventProcessor({
383
+ payload: mockInitializeContextPayload,
384
+ eventType: TEST_EVENT_TYPE,
385
+ });
386
+ customChartContext.off(TEST_EVENT_TYPE);
387
+ expect(testCallbackFn).toHaveBeenCalled();
388
+ expect(customChartContext.eventListeners[TEST_EVENT_TYPE]).toHaveLength(0);
389
+ });
390
+ test('should remove a specific event listener without affecting others', () => {
391
+ const TEST_EVENT_TYPE_1 = 'testEventType1';
392
+ const TEST_EVENT_TYPE_2 = 'testEventType2';
393
+ const testCallbackFn1 = jest.fn();
394
+ const testCallbackFn2 = jest.fn();
395
+ customChartContext.on(TEST_EVENT_TYPE_1, testCallbackFn1);
396
+ customChartContext.on(TEST_EVENT_TYPE_2, testCallbackFn2);
397
+ expect(customChartContext.eventListeners[TEST_EVENT_TYPE_1]).toHaveLength(1);
398
+ expect(customChartContext.eventListeners[TEST_EVENT_TYPE_2]).toHaveLength(1);
399
+ eventProcessor({
400
+ payload: {},
401
+ eventType: TEST_EVENT_TYPE_1,
402
+ });
403
+ eventProcessor({
404
+ payload: {},
405
+ eventType: TEST_EVENT_TYPE_2,
406
+ });
407
+ expect(testCallbackFn1).toHaveBeenCalled();
408
+ expect(testCallbackFn2).toHaveBeenCalled();
409
+ customChartContext.off(TEST_EVENT_TYPE_1);
410
+ expect(customChartContext.eventListeners[TEST_EVENT_TYPE_1]).toHaveLength(0);
411
+ expect(customChartContext.eventListeners[TEST_EVENT_TYPE_2]).toHaveLength(1);
412
+ });
413
+ test('should make sure not to throw error when off is called before', () => {
414
+ const TEST_EVENT_TYPE_1 = 'testEventType1';
415
+ customChartContext.off(TEST_EVENT_TYPE_1);
416
+ expect(customChartContext.eventListeners[TEST_EVENT_TYPE_1]).toHaveLength(0);
417
+ });
418
+ });
419
+ describe('emitEvent', () => {
420
+ let customChartContext;
421
+ beforeEach(() => {
422
+ customChartContext = new CustomChartContext({
423
+ getDefaultChartConfig,
424
+ getQueriesFromChartConfig,
425
+ renderChart,
426
+ });
427
+ });
428
+ afterEach(() => {
429
+ customChartContext.destroy();
430
+ eventProcessor = null;
431
+ jest.resetAllMocks();
432
+ });
433
+ test('should reject the promise if the chart context is not initialized', async () => {
434
+ const TEST_EVENT_TYPE = 'testEventType';
435
+ const testPayload = { value: 'testPayload' };
436
+ const result = customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
437
+ expect(mockPostMessageToHost).not.toHaveBeenCalled();
438
+ await expect(result).rejects.toBeDefined();
439
+ });
440
+ test('should resolve the promise if the chart context is initialized', async () => {
441
+ eventProcessor({
442
+ payload: mockInitializeContextPayload,
443
+ eventType: TSToChartEvent.Initialize,
444
+ });
445
+ eventProcessor({
446
+ payload: {},
447
+ eventType: TSToChartEvent.InitializeComplete,
448
+ });
449
+ const promise = customChartContext.initialize();
450
+ await expect(promise).resolves.toBeUndefined();
451
+ let resolve;
452
+ mockPostMessageToHost.mockImplementation(() => new global.Promise((res) => {
453
+ resolve = res;
454
+ }));
455
+ const TEST_EVENT_TYPE = 'testEventType';
456
+ const testPayload = { value: 'testPayload' };
457
+ const result = customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
458
+ global.setTimeout(() => resolve('helloworld'), 1000);
459
+ await expect(result).resolves.toEqual('helloworld');
460
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, testPayload, TEST_EVENT_TYPE);
461
+ mockPostMessageToHost.mockReset();
462
+ mockPostMessageToHost.mockImplementation(() => new global.Promise((res) => {
463
+ resolve = res;
464
+ }));
465
+ const result2 = customChartContext.emitEvent(ChartToTSEvent.RenderStart);
466
+ global.setTimeout(() => resolve('helloworld'), 1000);
467
+ await expect(result2).resolves.toEqual('helloworld');
468
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, null, ChartToTSEvent.RenderStart);
469
+ });
470
+ test('should process the event payload for context menu custom actions', async () => {
471
+ const mockCustomAction = jest.fn();
472
+ let resolve;
473
+ eventProcessor({
474
+ payload: mockInitializeContextPayload,
475
+ eventType: TSToChartEvent.Initialize,
476
+ });
477
+ eventProcessor({
478
+ payload: {},
479
+ eventType: TSToChartEvent.InitializeComplete,
480
+ });
481
+ customChartContext.initialize();
482
+ mockPostMessageToHost.mockImplementation(() => new global.Promise((res) => {
483
+ resolve = res;
484
+ }));
485
+ const TEST_EVENT_TYPE = ChartToTSEvent.OpenContextMenu;
486
+ const testPayload = {
487
+ customActions: [
488
+ {
489
+ id: 'custom-action-1',
490
+ label: 'Custom user action 1',
491
+ icon: '',
492
+ onClick: mockCustomAction,
493
+ },
494
+ ],
495
+ };
496
+ customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
497
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, {
498
+ customActions: [
499
+ {
500
+ icon: '',
501
+ id: 'custom-action-1',
502
+ label: 'Custom user action 1',
503
+ },
504
+ ],
505
+ }, TEST_EVENT_TYPE);
506
+ eventProcessor({
507
+ payload: {
508
+ customAction: {
509
+ id: 'custom-action-1',
510
+ clickedPoint: {},
511
+ event: {},
512
+ selectedPoints: [{}],
513
+ },
514
+ },
515
+ eventType: TSToChartEvent.ContextMenuActionClick,
516
+ });
517
+ expect(mockCustomAction).toHaveBeenCalled();
518
+ expect(mockCustomAction).toHaveBeenCalledWith({
519
+ clickedPoint: {},
520
+ event: {},
521
+ id: 'custom-action-1',
522
+ selectedPoints: [{}],
523
+ });
524
+ });
525
+ test('should process the event payload for axis menu custom actions', async () => {
526
+ const mockCustomAction = jest.fn();
527
+ let resolve;
528
+ eventProcessor({
529
+ payload: mockInitializeContextPayload,
530
+ eventType: TSToChartEvent.Initialize,
531
+ });
532
+ eventProcessor({
533
+ payload: {},
534
+ eventType: TSToChartEvent.InitializeComplete,
535
+ });
536
+ customChartContext.initialize();
537
+ mockPostMessageToHost.mockImplementation(() => new global.Promise((res) => {
538
+ resolve = res;
539
+ }));
540
+ const TEST_EVENT_TYPE = ChartToTSEvent.OpenAxisMenu;
541
+ const testPayload = {
542
+ customActions: [
543
+ {
544
+ id: 'custom-action-1',
545
+ label: 'Custom user action 1',
546
+ icon: '',
547
+ onClick: mockCustomAction,
548
+ },
549
+ ],
550
+ };
551
+ customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
552
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, {
553
+ customActions: [
554
+ {
555
+ icon: '',
556
+ id: 'custom-action-1',
557
+ label: 'Custom user action 1',
558
+ },
559
+ ],
560
+ }, TEST_EVENT_TYPE);
561
+ eventProcessor({
562
+ payload: {
563
+ customAction: {
564
+ id: 'custom-action-1',
565
+ columnIds: ['123'],
566
+ event: {},
567
+ },
568
+ },
569
+ eventType: TSToChartEvent.AxisMenuActionClick,
570
+ });
571
+ expect(mockCustomAction).toHaveBeenCalled();
572
+ expect(mockCustomAction).toHaveBeenCalledWith({
573
+ id: 'custom-action-1',
574
+ columnIds: ['123'],
575
+ event: {},
576
+ });
577
+ });
578
+ test('should process the event payload for axis menu when custom actions are not defined', async () => {
579
+ let resolve;
580
+ eventProcessor({
581
+ payload: mockInitializeContextPayload,
582
+ eventType: TSToChartEvent.Initialize,
583
+ });
584
+ eventProcessor({
585
+ payload: {},
586
+ eventType: TSToChartEvent.InitializeComplete,
587
+ });
588
+ customChartContext.initialize();
589
+ mockPostMessageToHost.mockImplementation(() => new global.Promise((res) => {
590
+ resolve = res;
591
+ }));
592
+ const TEST_EVENT_TYPE = ChartToTSEvent.OpenAxisMenu;
593
+ const testPayload = {};
594
+ customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
595
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, {}, TEST_EVENT_TYPE);
596
+ });
597
+ test('should process the event payload for context menu when custom actions are not defined', async () => {
598
+ let resolve;
599
+ eventProcessor({
600
+ payload: mockInitializeContextPayload,
601
+ eventType: TSToChartEvent.Initialize,
602
+ });
603
+ eventProcessor({
604
+ payload: {},
605
+ eventType: TSToChartEvent.InitializeComplete,
606
+ });
607
+ customChartContext.initialize();
608
+ mockPostMessageToHost.mockImplementation(() => new global.Promise((res) => {
609
+ resolve = res;
610
+ }));
611
+ const TEST_EVENT_TYPE = ChartToTSEvent.OpenContextMenu;
612
+ const testPayload = {};
613
+ customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
614
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, {}, TEST_EVENT_TYPE);
615
+ });
616
+ });
617
+ });
618
+ //# sourceMappingURL=custom-chart-context.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-chart-context.spec.js","sourceRoot":"","sources":["../../src/main/custom-chart-context.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ChartToTSEvent } from '../types/chart-to-ts-event.types';
2
+ declare const globalThis: any;
3
+ declare const init: (handleMessageEvent: (data: any) => Promise<any> | any) => () => void;
4
+ declare const postMessageToHostApp: (componentId: string, hostUrl: string, eventPayload: any, eventType: ChartToTSEvent) => Promise<any>;
5
+ export { init as initMessageListener, postMessageToHostApp, globalThis };
6
+ //# sourceMappingURL=post-message-event-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-message-event-bridge.d.ts","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAUlE,QAAA,MAAM,UAAU,KAAsD,CAAC;AAOvE,QAAA,MAAM,IAAI,8BAA+B,GAAG,KAAK,QAAQ,GAAG,CAAC,GAAG,GAAG,eAElE,CAAC;AAUF,QAAA,MAAM,oBAAoB,gBACT,MAAM,WACV,MAAM,gBACD,GAAG,aACN,cAAc,KAC1B,QAAQ,GAAG,CAwBb,CAAC;AAEF,OAAO,EAAE,IAAI,IAAI,mBAAmB,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}