@thoughtspot/ts-chart-sdk 0.0.1-alpha.9 → 0.0.2-alpha.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 (126) hide show
  1. package/lib/main/custom-chart-context.d.ts +8 -1
  2. package/lib/main/custom-chart-context.d.ts.map +1 -1
  3. package/lib/main/custom-chart-context.js +29 -32
  4. package/lib/main/custom-chart-context.js.map +1 -1
  5. package/lib/main/custom-chart-context.spec.js +107 -260
  6. package/lib/main/custom-chart-context.spec.js.map +1 -1
  7. package/lib/main/post-message-event-bridge.d.ts +3 -3
  8. package/lib/main/post-message-event-bridge.d.ts.map +1 -1
  9. package/lib/main/post-message-event-bridge.js +24 -36
  10. package/lib/main/post-message-event-bridge.js.map +1 -1
  11. package/lib/main/post-message-event-bridge.spec.js +0 -2
  12. package/lib/main/post-message-event-bridge.spec.js.map +1 -1
  13. package/lib/main/util.d.ts +2 -0
  14. package/lib/main/util.d.ts.map +1 -0
  15. package/lib/main/util.js +9 -0
  16. package/lib/main/util.js.map +1 -0
  17. package/lib/react/use-custom-chart-context.spec.js +74 -119
  18. package/lib/react/use-custom-chart-context.spec.js.map +1 -1
  19. package/lib/types/common.types.d.ts +1 -0
  20. package/lib/types/common.types.d.ts.map +1 -1
  21. package/lib/types/ts-to-chart-event.types.d.ts +3 -0
  22. package/lib/types/ts-to-chart-event.types.d.ts.map +1 -1
  23. package/lib/types/ts-to-chart-event.types.js.map +1 -1
  24. package/package.json +5 -4
  25. package/src/main/custom-chart-context.spec.ts +116 -269
  26. package/src/main/custom-chart-context.ts +49 -38
  27. package/src/main/post-message-event-bridge.spec.ts +0 -3
  28. package/src/main/post-message-event-bridge.ts +36 -62
  29. package/src/main/util.ts +11 -0
  30. package/src/react/use-custom-chart-context.spec.tsx +84 -120
  31. package/src/types/common.types.ts +1 -1
  32. package/src/types/ts-to-chart-event.types.ts +14 -0
  33. package/cjs/index.d.ts +0 -9
  34. package/cjs/index.d.ts.map +0 -1
  35. package/cjs/index.js +0 -25
  36. package/cjs/index.js.map +0 -1
  37. package/cjs/main/custom-chart-context.d.ts +0 -47
  38. package/cjs/main/custom-chart-context.d.ts.map +0 -1
  39. package/cjs/main/custom-chart-context.js +0 -326
  40. package/cjs/main/custom-chart-context.js.map +0 -1
  41. package/cjs/main/custom-chart-context.spec.d.ts +0 -2
  42. package/cjs/main/custom-chart-context.spec.d.ts.map +0 -1
  43. package/cjs/main/custom-chart-context.spec.js +0 -699
  44. package/cjs/main/custom-chart-context.spec.js.map +0 -1
  45. package/cjs/main/post-message-event-bridge.d.ts +0 -6
  46. package/cjs/main/post-message-event-bridge.d.ts.map +0 -1
  47. package/cjs/main/post-message-event-bridge.js +0 -46
  48. package/cjs/main/post-message-event-bridge.js.map +0 -1
  49. package/cjs/main/post-message-event-bridge.spec.d.ts +0 -2
  50. package/cjs/main/post-message-event-bridge.spec.d.ts.map +0 -1
  51. package/cjs/main/post-message-event-bridge.spec.js +0 -124
  52. package/cjs/main/post-message-event-bridge.spec.js.map +0 -1
  53. package/cjs/react/custom-chart-context-service.d.ts +0 -33
  54. package/cjs/react/custom-chart-context-service.d.ts.map +0 -1
  55. package/cjs/react/custom-chart-context-service.js +0 -118
  56. package/cjs/react/custom-chart-context-service.js.map +0 -1
  57. package/cjs/react/custom-chart.context.d.ts +0 -26
  58. package/cjs/react/custom-chart.context.d.ts.map +0 -1
  59. package/cjs/react/custom-chart.context.js +0 -105
  60. package/cjs/react/custom-chart.context.js.map +0 -1
  61. package/cjs/react/custom-chart.spec.d.ts +0 -2
  62. package/cjs/react/custom-chart.spec.d.ts.map +0 -1
  63. package/cjs/react/custom-chart.spec.js +0 -72
  64. package/cjs/react/custom-chart.spec.js.map +0 -1
  65. package/cjs/react/mocks/custom-chart-context-mock.d.ts +0 -3
  66. package/cjs/react/mocks/custom-chart-context-mock.d.ts.map +0 -1
  67. package/cjs/react/mocks/custom-chart-context-mock.js +0 -100
  68. package/cjs/react/mocks/custom-chart-context-mock.js.map +0 -1
  69. package/cjs/react/use-custom-chart-context.d.ts +0 -4
  70. package/cjs/react/use-custom-chart-context.d.ts.map +0 -1
  71. package/cjs/react/use-custom-chart-context.js +0 -95
  72. package/cjs/react/use-custom-chart-context.js.map +0 -1
  73. package/cjs/react/use-custom-chart-context.spec.d.ts +0 -2
  74. package/cjs/react/use-custom-chart-context.spec.d.ts.map +0 -1
  75. package/cjs/react/use-custom-chart-context.spec.js +0 -391
  76. package/cjs/react/use-custom-chart-context.spec.js.map +0 -1
  77. package/cjs/react/use-custom-chart-context.util.d.ts +0 -6
  78. package/cjs/react/use-custom-chart-context.util.d.ts.map +0 -1
  79. package/cjs/react/use-custom-chart-context.util.js +0 -60
  80. package/cjs/react/use-custom-chart-context.util.js.map +0 -1
  81. package/cjs/react/use-custom-chart-types.d.ts +0 -23
  82. package/cjs/react/use-custom-chart-types.d.ts.map +0 -1
  83. package/cjs/react/use-custom-chart-types.js +0 -3
  84. package/cjs/react/use-custom-chart-types.js.map +0 -1
  85. package/cjs/test/test-utils.d.ts +0 -7
  86. package/cjs/test/test-utils.d.ts.map +0 -1
  87. package/cjs/test/test-utils.js +0 -14
  88. package/cjs/test/test-utils.js.map +0 -1
  89. package/cjs/types/answer-column.types.d.ts +0 -69
  90. package/cjs/types/answer-column.types.d.ts.map +0 -1
  91. package/cjs/types/answer-column.types.js +0 -59
  92. package/cjs/types/answer-column.types.js.map +0 -1
  93. package/cjs/types/chart-to-ts-event.types.d.ts +0 -98
  94. package/cjs/types/chart-to-ts-event.types.d.ts.map +0 -1
  95. package/cjs/types/chart-to-ts-event.types.js +0 -32
  96. package/cjs/types/chart-to-ts-event.types.js.map +0 -1
  97. package/cjs/types/common.types.d.ts +0 -51
  98. package/cjs/types/common.types.d.ts.map +0 -1
  99. package/cjs/types/common.types.js +0 -3
  100. package/cjs/types/common.types.js.map +0 -1
  101. package/cjs/types/configurator.types.d.ts +0 -15
  102. package/cjs/types/configurator.types.d.ts.map +0 -1
  103. package/cjs/types/configurator.types.js +0 -3
  104. package/cjs/types/configurator.types.js.map +0 -1
  105. package/cjs/types/ts-to-chart-event.types.d.ts +0 -91
  106. package/cjs/types/ts-to-chart-event.types.d.ts.map +0 -1
  107. package/cjs/types/ts-to-chart-event.types.js +0 -18
  108. package/cjs/types/ts-to-chart-event.types.js.map +0 -1
  109. package/cjs/types/visual-prop.types.d.ts +0 -73
  110. package/cjs/types/visual-prop.types.d.ts.map +0 -1
  111. package/cjs/types/visual-prop.types.js +0 -3
  112. package/cjs/types/visual-prop.types.js.map +0 -1
  113. package/dist/ts-chart-sdk.d.ts +0 -312
  114. package/lib/dist/ts-chart-sdk.d.ts +0 -312
  115. package/lib/react/custom-chart-context-service.d.ts +0 -33
  116. package/lib/react/custom-chart-context-service.d.ts.map +0 -1
  117. package/lib/react/custom-chart-context-service.js +0 -91
  118. package/lib/react/custom-chart-context-service.js.map +0 -1
  119. package/lib/react/custom-chart.context.d.ts +0 -26
  120. package/lib/react/custom-chart.context.d.ts.map +0 -1
  121. package/lib/react/custom-chart.context.js +0 -78
  122. package/lib/react/custom-chart.context.js.map +0 -1
  123. package/lib/react/custom-chart.spec.d.ts +0 -2
  124. package/lib/react/custom-chart.spec.d.ts.map +0 -1
  125. package/lib/react/custom-chart.spec.js +0 -67
  126. package/lib/react/custom-chart.spec.js.map +0 -1
@@ -8,8 +8,6 @@ import { TSToChartEvent } from '../types/ts-to-chart-event.types';
8
8
  import { contextChartProps } from './mocks/custom-chart-context-mock';
9
9
  import { useChartContext } from './use-custom-chart-context';
10
10
 
11
- jest.mock('../main/post-message-event-bridge');
12
-
13
11
  describe('useChartContext initialization', () => {
14
12
  let eventProcessor: any;
15
13
  let mockInitMessage;
@@ -26,6 +24,7 @@ describe('useChartContext initialization', () => {
26
24
  );
27
25
  mockInitMessage.mockImplementation((fn: any) => {
28
26
  eventProcessor = fn;
27
+ return () => null;
29
28
  });
30
29
 
31
30
  mockPostMessageToHost.mockImplementation(() => {
@@ -35,6 +34,7 @@ describe('useChartContext initialization', () => {
35
34
  afterEach(() => {
36
35
  // Clear mock implementations after each test
37
36
  jest.clearAllMocks();
37
+ PostMessageEventBridge.globalThis.isInitialized = false;
38
38
  });
39
39
 
40
40
  test('should initialize the context only after intialize completes', async () => {
@@ -47,32 +47,24 @@ describe('useChartContext initialization', () => {
47
47
  expect(result.current.hasInitialized).toBe(false);
48
48
  expect(result.current.chartModel).toBeUndefined();
49
49
  const mockPostMessage = jest.fn();
50
- eventProcessor({
51
- data: {
52
- payload: {
53
- componentId: 'COMPONENT_ID',
54
- hostUrl: 'https://some.chart.app',
55
- chartModel: mockedChartModel,
56
- },
57
- eventType: TSToChartEvent.Initialize,
58
- source: 'ts-host-app',
50
+ await eventProcessor({
51
+ payload: {
52
+ componentId: 'COMPONENT_ID',
53
+ hostUrl: 'https://some.chart.app',
54
+ chartModel: mockedChartModel,
59
55
  },
60
- ports: [{ postMessage: mockPostMessage }],
56
+ eventType: TSToChartEvent.Initialize,
61
57
  });
62
-
63
- eventProcessor({
64
- data: {
65
- payload: {},
66
- eventType: TSToChartEvent.InitializeComplete,
67
- source: 'ts-host-app',
68
- },
69
- ports: [{ postMessage: mockPostMessage }],
58
+ await eventProcessor({
59
+ payload: {},
60
+ eventType: TSToChartEvent.InitializeComplete,
61
+ source: 'ts-host-app',
70
62
  });
63
+
71
64
  await waitFor(() => {
72
65
  expect(result.current.hasInitialized).toBe(true);
73
66
  expect(result.current.chartModel).toEqual(mockedChartModel);
74
67
  });
75
- result.current?.destroy();
76
68
  });
77
69
 
78
70
  test('should make sure hasInitialized to remain false when context initialization failed', async () => {
@@ -117,6 +109,7 @@ describe('useChartContext emit', () => {
117
109
  );
118
110
  mockInitMessage.mockImplementation((fn: any) => {
119
111
  eventProcessor = fn;
112
+ return () => null;
120
113
  });
121
114
 
122
115
  mockPostMessageToHost.mockImplementation(() => {
@@ -126,6 +119,7 @@ describe('useChartContext emit', () => {
126
119
  afterEach(() => {
127
120
  // Clear mock implementations after each test
128
121
  jest.clearAllMocks();
122
+ PostMessageEventBridge.globalThis.isInitialized = false;
129
123
  });
130
124
 
131
125
  test('should trigger the emitter correctly when context is initialized', async () => {
@@ -134,23 +128,17 @@ describe('useChartContext emit', () => {
134
128
  useChartContext(contextChartProps),
135
129
  );
136
130
  const mockPostMessage = jest.fn();
137
- eventProcessor({
138
- data: {
139
- payload: mockInitializeContextPayload,
140
- eventType: TSToChartEvent.Initialize,
141
- source: 'ts-host-app',
142
- },
143
- ports: [{ postMessage: mockPostMessage }],
131
+ await eventProcessor({
132
+ payload: mockInitializeContextPayload,
133
+ eventType: TSToChartEvent.Initialize,
144
134
  });
145
135
 
146
- eventProcessor({
147
- data: {
148
- payload: {},
149
- eventType: TSToChartEvent.InitializeComplete,
150
- source: 'ts-host-app',
151
- },
152
- ports: [{ postMessage: mockPostMessage }],
136
+ await eventProcessor({
137
+ payload: {},
138
+ eventType: TSToChartEvent.InitializeComplete,
139
+ source: 'ts-host-app',
153
140
  });
141
+
154
142
  await waitFor(() => {
155
143
  expect(result.current.hasInitialized).toBe(true);
156
144
  });
@@ -174,14 +162,12 @@ describe('useChartContext emit', () => {
174
162
  useChartContext(contextChartProps),
175
163
  );
176
164
  const mockPostMessage = jest.fn();
177
- eventProcessor({
178
- data: {
179
- payload: mockInitializeContextPayload,
180
- eventType: TSToChartEvent.Initialize,
181
- source: 'ts-host-app',
182
- },
183
- ports: [{ postMessage: mockPostMessage }],
165
+ await eventProcessor({
166
+ payload: mockInitializeContextPayload,
167
+ eventType: TSToChartEvent.Initialize,
168
+ source: 'ts-host-app',
184
169
  });
170
+
185
171
  await waitFor(() => {
186
172
  expect(result.current.hasInitialized).toBe(false);
187
173
  });
@@ -207,6 +193,7 @@ describe('useChartContext setOn listeners', () => {
207
193
  );
208
194
  mockInitMessage.mockImplementation((fn: any) => {
209
195
  eventProcessor = fn;
196
+ return () => null;
210
197
  });
211
198
 
212
199
  mockPostMessageToHost.mockImplementation(() => {
@@ -216,6 +203,7 @@ describe('useChartContext setOn listeners', () => {
216
203
  afterEach(() => {
217
204
  // Clear mock implementations after each test
218
205
  jest.clearAllMocks();
206
+ PostMessageEventBridge.globalThis.isInitialized = false;
219
207
  });
220
208
 
221
209
  test('should trigger the setOnEvent correctly when context is initialized', async () => {
@@ -227,63 +215,49 @@ describe('useChartContext setOn listeners', () => {
227
215
  // Assert that the context is not initialized initially
228
216
  expect(result.current.hasInitialized).toBe(false);
229
217
  expect(result.current.chartModel).toBeUndefined();
230
- const mockPostMessage = jest.fn();
231
- eventProcessor({
232
- data: {
233
- payload: {
234
- componentId: 'COMPONENT_ID',
235
- hostUrl: 'https://some.chart.app',
236
- chartModel: mockedChartModel,
237
- },
238
- eventType: TSToChartEvent.Initialize,
239
- source: 'ts-host-app',
218
+ await eventProcessor({
219
+ payload: {
220
+ componentId: 'COMPONENT_ID',
221
+ hostUrl: 'https://some.chart.app',
222
+ chartModel: mockedChartModel,
240
223
  },
241
- ports: [{ postMessage: mockPostMessage }],
224
+ eventType: TSToChartEvent.Initialize,
242
225
  });
243
226
 
244
- eventProcessor({
245
- data: {
246
- payload: {},
247
- eventType: TSToChartEvent.InitializeComplete,
248
- source: 'ts-host-app',
249
- },
250
- ports: [{ postMessage: mockPostMessage }],
227
+ await eventProcessor({
228
+ payload: {},
229
+ eventType: TSToChartEvent.InitializeComplete,
230
+ source: 'ts-host-app',
251
231
  });
232
+
252
233
  await waitFor(() => {
253
234
  expect(result.current.hasInitialized).toBe(true);
254
235
  expect(result.current.chartModel).toEqual(mockedChartModel);
255
236
  });
256
237
 
257
- eventProcessor({
258
- data: {
259
- payload: { chartModel: {} },
260
- eventType: TSToChartEvent.ChartModelUpdate,
261
- source: 'ts-host-app',
262
- },
263
- ports: [{ postMessage: mockPostMessage }],
238
+ const resp = await eventProcessor({
239
+ payload: { chartModel: {} },
240
+ eventType: TSToChartEvent.ChartModelUpdate,
241
+ source: 'ts-host-app',
264
242
  });
243
+
265
244
  await waitFor(() => {
266
- expect(mockPostMessage).toHaveBeenCalledWith({
245
+ expect(resp).toEqual({
267
246
  triggerRenderChart: true,
268
247
  });
269
248
  expect(result.current.chartModel).toEqual({});
270
249
  });
271
250
 
272
- eventProcessor({
273
- data: {
274
- payload: { visualProps: { color: 'red' } },
275
- eventType: TSToChartEvent.VisualPropsUpdate,
276
- source: 'ts-host-app',
277
- },
278
- ports: [{ postMessage: mockPostMessage }],
251
+ const propsUpdateResp = await eventProcessor({
252
+ payload: { visualProps: { color: 'red' } },
253
+ eventType: TSToChartEvent.VisualPropsUpdate,
254
+ source: 'ts-host-app',
279
255
  });
280
- expect(mockPostMessage).toHaveBeenCalledWith({
256
+
257
+ expect(propsUpdateResp).toEqual({
281
258
  triggerRenderChart: true,
282
259
  });
283
260
  await waitFor(() => {
284
- expect(mockPostMessage).toHaveBeenCalledWith({
285
- triggerRenderChart: true,
286
- });
287
261
  expect(result.current.chartModel?.visualProps).toEqual({
288
262
  color: 'red',
289
263
  });
@@ -297,14 +271,12 @@ describe('useChartContext setOn listeners', () => {
297
271
  useChartContext(contextChartProps),
298
272
  );
299
273
  const mockPostMessage = jest.fn();
300
- eventProcessor({
301
- data: {
302
- payload: mockInitializeContextPayload,
303
- eventType: TSToChartEvent.Initialize,
304
- source: 'ts-host-app',
305
- },
306
- ports: [{ postMessage: mockPostMessage }],
274
+ await eventProcessor({
275
+ payload: mockInitializeContextPayload,
276
+ eventType: TSToChartEvent.Initialize,
277
+ source: 'ts-host-app',
307
278
  });
279
+
308
280
  await waitFor(() => {
309
281
  expect(result.current.hasInitialized).toBe(false);
310
282
  });
@@ -333,6 +305,7 @@ describe('useChartContext on React Wrapper component', () => {
333
305
  );
334
306
  mockInitMessage.mockImplementation((fn: any) => {
335
307
  eventProcessor = fn;
308
+ return () => null;
336
309
  });
337
310
 
338
311
  mockPostMessageToHost.mockImplementation(() => {
@@ -342,6 +315,7 @@ describe('useChartContext on React Wrapper component', () => {
342
315
  afterEach(() => {
343
316
  // Clear mock implementations after each test
344
317
  jest.clearAllMocks();
318
+ PostMessageEventBridge.globalThis.isInitialized = false;
345
319
  });
346
320
  test('TSChartContext renders children and should not increase counter for useEffect on chartModel if visualProps is updated', async () => {
347
321
  const CustomChartComponent = () => {
@@ -364,18 +338,15 @@ describe('useChartContext on React Wrapper component', () => {
364
338
  const { getByTestId, rerender } = render(<CustomChartComponent />);
365
339
 
366
340
  const mockPostMessage = jest.fn();
367
- eventProcessor({
368
- data: {
369
- payload: {
370
- componentId: 'COMPONENT_ID',
371
- hostUrl: 'https://some.chart.app',
372
- chartModel: mockedChartModel,
373
- },
374
- eventType: TSToChartEvent.Initialize,
375
- source: 'ts-host-app',
341
+ await eventProcessor({
342
+ payload: {
343
+ componentId: 'COMPONENT_ID',
344
+ hostUrl: 'https://some.chart.app',
345
+ chartModel: mockedChartModel,
376
346
  },
377
- ports: [{ postMessage: mockPostMessage }],
347
+ eventType: TSToChartEvent.Initialize,
378
348
  });
349
+
379
350
  rerender(<CustomChartComponent />);
380
351
 
381
352
  // Check if the child element is rendered
@@ -385,13 +356,10 @@ describe('useChartContext on React Wrapper component', () => {
385
356
  );
386
357
  });
387
358
 
388
- eventProcessor({
389
- data: {
390
- payload: { visualProps: { color: 'red' } },
391
- eventType: TSToChartEvent.VisualPropsUpdate,
392
- source: 'ts-host-app',
393
- },
394
- ports: [{ postMessage: mockPostMessage }],
359
+ await eventProcessor({
360
+ payload: { visualProps: { color: 'red' } },
361
+ eventType: TSToChartEvent.VisualPropsUpdate,
362
+ source: 'ts-host-app',
395
363
  });
396
364
 
397
365
  // Re-render the component with a new key
@@ -432,26 +400,22 @@ describe('useChartContext on React Wrapper component', () => {
432
400
 
433
401
  // Re-render the component with a new key
434
402
  const mockPostMessage = jest.fn();
435
- eventProcessor({
436
- data: {
437
- payload: {
438
- componentId: 'COMPONENT_ID',
439
- hostUrl: 'https://some.chart.app',
440
- chartModel: mockedChartModel,
441
- },
442
- eventType: TSToChartEvent.Initialize,
443
- source: 'ts-host-app',
403
+ await eventProcessor({
404
+ payload: {
405
+ componentId: 'COMPONENT_ID',
406
+ hostUrl: 'https://some.chart.app',
407
+ chartModel: mockedChartModel,
444
408
  },
445
- ports: [{ postMessage: mockPostMessage }],
409
+ eventType: TSToChartEvent.Initialize,
410
+ source: 'ts-host-app',
446
411
  });
447
- eventProcessor({
448
- data: {
449
- payload: { visualProps: { color: 'red' } },
450
- eventType: TSToChartEvent.VisualPropsUpdate,
451
- source: 'ts-host-app',
452
- },
453
- ports: [{ postMessage: mockPostMessage }],
412
+
413
+ await eventProcessor({
414
+ payload: { visualProps: { color: 'red' } },
415
+ eventType: TSToChartEvent.VisualPropsUpdate,
416
+ source: 'ts-host-app',
454
417
  });
418
+
455
419
  rerender(<CustomChartComponent />);
456
420
  // Check if the child element is still in the document after re-render
457
421
  const updatedChildElement = getByTestId('child-element');
@@ -168,7 +168,7 @@ export interface AppConfig {
168
168
  appOptions?: {
169
169
  isMobile?: boolean;
170
170
  isPrintMode?: boolean; // export mode on/off
171
-
171
+ isLiveboardContext?: boolean; // if chart renders in liveboard context
172
172
  // runtime configurations
173
173
  isDebugMode?: boolean; // enables debug mode for logging
174
174
  };
@@ -1,3 +1,4 @@
1
+ import { AllowedConfigurations } from '../main/custom-chart-context';
1
2
  import { ChartColumn } from './answer-column.types';
2
3
  import { Point } from './chart-to-ts-event.types';
3
4
  import {
@@ -159,6 +160,13 @@ export interface InitializeEventPayload {
159
160
  * @version SDK: 0.1 | ThoughtSpot:
160
161
  */
161
162
  hostUrl: string;
163
+ /**
164
+ * The selector of the container element where the chart will be rendered. Used for internal
165
+ * charts, external custom charts mostly have their own DOM.
166
+ *
167
+ * @version SDK: 0.2 | ThoughtSpot:
168
+ */
169
+ containerElSelector: string;
162
170
  }
163
171
 
164
172
  /**
@@ -191,6 +199,12 @@ export interface InitializeEventResponsePayload {
191
199
  * @version SDK: 0.1 | ThoughtSpot:
192
200
  */
193
201
  visualPropEditorDefinition?: VisualPropEditorDefinition;
202
+ /**
203
+ * Toggle native configurations supported by TS UI. Ex: column level number and conditional formatting.
204
+ *
205
+ * @version SDK: 0.1 | ThoughtSpot:
206
+ */
207
+ allowedConfigurations?: AllowedConfigurations;
194
208
  }
195
209
 
196
210
  /**
package/cjs/index.d.ts DELETED
@@ -1,9 +0,0 @@
1
- export * from './types/common.types';
2
- export * from './types/configurator.types';
3
- export * from './types/visual-prop.types';
4
- export * from './types/answer-column.types';
5
- export * from './types/chart-to-ts-event.types';
6
- export * from './types/ts-to-chart-event.types';
7
- export * from './main/custom-chart-context';
8
- export * from './react/use-custom-chart-context';
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
package/cjs/index.js DELETED
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types/common.types"), exports);
18
- __exportStar(require("./types/configurator.types"), exports);
19
- __exportStar(require("./types/visual-prop.types"), exports);
20
- __exportStar(require("./types/answer-column.types"), exports);
21
- __exportStar(require("./types/chart-to-ts-event.types"), exports);
22
- __exportStar(require("./types/ts-to-chart-event.types"), exports);
23
- __exportStar(require("./main/custom-chart-context"), exports);
24
- __exportStar(require("./react/use-custom-chart-context"), exports);
25
- //# sourceMappingURL=index.js.map
package/cjs/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,6DAA2C;AAC3C,4DAA0C;AAC1C,8DAA4C;AAC5C,kEAAgD;AAChD,kEAAgD;AAChD,8DAA4C;AAC5C,mEAAiD"}
@@ -1,47 +0,0 @@
1
- import { ChartToTSEventsPayloadMap, OpenAxisMenuEventPayload, OpenContextMenuEventPayload } from '../types/chart-to-ts-event.types';
2
- import { AppConfig, ChartConfig, ChartModel, ValidationResponse, VisualProps } from '../types/common.types';
3
- import { ChartConfigEditorDefinition } from '../types/configurator.types';
4
- import { Query, TSToChartEventsPayloadMap } from '../types/ts-to-chart-event.types';
5
- import { VisualPropEditorDefinition } from '../types/visual-prop.types';
6
- export type CustomChartContextProps = {
7
- getDefaultChartConfig: (chartModel: ChartModel) => ChartConfig[];
8
- getQueriesFromChartConfig: (chartConfig: ChartConfig[]) => Query[];
9
- renderChart: (ctx: CustomChartContext) => Promise<void>;
10
- validateConfig?: (updatedConfig: ChartConfig[], chartModel: ChartModel) => ValidationResponse;
11
- validateVisualProps?: (updatedVisualProps: VisualProps, chartModel: ChartModel) => ValidationResponse;
12
- chartConfigEditorDefinition?: ChartConfigEditorDefinition[];
13
- visualPropEditorDefinition?: VisualPropEditorDefinition;
14
- };
15
- export declare class CustomChartContext {
16
- private componentId;
17
- private hostUrl;
18
- private chartModel;
19
- private appConfig;
20
- private chartContextProps;
21
- private eventListeners;
22
- private hasInitializedPromise;
23
- private triggerInitResolve;
24
- private contextMenuActionHandler;
25
- private axisMenuActionHandler;
26
- constructor(chartContextProps: CustomChartContextProps);
27
- initialize: () => Promise<void>;
28
- on<T extends keyof TSToChartEventsPayloadMap>(eventType: T, callbackFn: TSToChartEventsPayloadMap[T]): void;
29
- off<T extends keyof TSToChartEventsPayloadMap>(eventType: T): void;
30
- private onInternal;
31
- destroy(): void;
32
- getChartModel: () => ChartModel;
33
- getAppConfig: () => AppConfig;
34
- contextMenuCustomActionPreProcessor(eventPayload: [OpenContextMenuEventPayload]): [OpenContextMenuEventPayload];
35
- axisMenuCustomActionPreProcessor(eventPayload: [OpenAxisMenuEventPayload]): [OpenAxisMenuEventPayload];
36
- private eventPayloadPreProcessor;
37
- emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, ...eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
38
- private registerEventProcessor;
39
- private eventProcessor;
40
- private registerEvents;
41
- private initializeContext;
42
- private initializationComplete;
43
- private publishChartContextPropsToHost;
44
- private executeEventListenerCBs;
45
- }
46
- export declare const getChartContext: (customChartConfig: CustomChartContextProps) => Promise<CustomChartContext>;
47
- //# sourceMappingURL=custom-chart-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-chart-context.d.ts","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"AASA,OAAO,EAGH,yBAAyB,EAIzB,wBAAwB,EACxB,2BAA2B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,SAAS,EACT,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAUH,KAAK,EAEL,yBAAyB,EAI5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAKxE,MAAM,MAAM,uBAAuB,GAAG;IAQlC,qBAAqB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,EAAE,CAAC;IAQjE,yBAAyB,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;IAQnE,WAAW,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAUxD,cAAc,CAAC,EAAE,CACb,aAAa,EAAE,WAAW,EAAE,EAC5B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAWxB,mBAAmB,CAAC,EAAE,CAClB,kBAAkB,EAAE,WAAW,EAC/B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAQxB,2BAA2B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAW5D,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D,CAAC;AAWF,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,WAAW,CAAM;IASzB,OAAO,CAAC,OAAO,CAAM;IAQrB,OAAO,CAAC,UAAU,CAAyB;IAO3C,OAAO,CAAC,SAAS,CAAiB;IAOlC,OAAO,CAAC,iBAAiB,CACkC;IAQ3D,OAAO,CAAC,cAAc,CAAoD;IAW1E,OAAO,CAAC,qBAAqB,CAAgB;IAS7C,OAAO,CAAC,kBAAkB,CAAsB;IAQhD,OAAO,CAAC,wBAAwB,CAAgC;IAQhE,OAAO,CAAC,qBAAqB,CAA6B;gBAO9C,iBAAiB,EAAE,uBAAuB;IAkB/C,UAAU,QAAO,QAAQ,IAAI,CAAC,CAGnC;IAUK,EAAE,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAC/C,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACzC,IAAI;IAeA,GAAG,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI;IAiBzE,OAAO,CAAC,UAAU;IAgBX,OAAO;IAUP,aAAa,QAAO,UAAU,CAAoB;IAOlD,YAAY,QAAO,SAAS,CAAmB;IAQ/C,mCAAmC,CACtC,YAAY,EAAE,CAAC,2BAA2B,CAAC,GAC5C,CAAC,2BAA2B,CAAC;IAiCzB,gCAAgC,CACnC,YAAY,EAAE,CAAC,wBAAwB,CAAC,GACzC,CAAC,wBAAwB,CAAC;IAiC7B,OAAO,CAAC,wBAAwB;IA0BzB,SAAS,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACtD,SAAS,EAAE,CAAC,EACZ,GAAG,YAAY,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,GAAG,CAAC;IAuBf,OAAO,CAAC,sBAAsB,CAU5B;IAOF,OAAO,CAAC,cAAc,CAuBpB;IAOF,OAAO,CAAC,cAAc,CAqOpB;IASF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,sBAAsB,CAM5B;IAEF,OAAO,CAAC,8BAA8B,CA6BhC;IAQN,OAAO,CAAC,uBAAuB,CAyB7B;CACL;AAQD,eAAO,MAAM,eAAe,sBACL,uBAAuB,KAC3C,QAAQ,kBAAkB,CAO5B,CAAC"}