@thoughtspot/ts-chart-sdk 0.0.1-alpha.3 → 0.0.1-alpha.6

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 (116) hide show
  1. package/cjs/index.d.ts +1 -0
  2. package/cjs/index.d.ts.map +1 -1
  3. package/cjs/index.js +1 -0
  4. package/cjs/index.js.map +1 -1
  5. package/cjs/main/custom-chart-context.d.ts +2 -1
  6. package/cjs/main/custom-chart-context.d.ts.map +1 -1
  7. package/cjs/main/custom-chart-context.js +10 -2
  8. package/cjs/main/custom-chart-context.js.map +1 -1
  9. package/cjs/main/custom-chart-context.spec.js +77 -0
  10. package/cjs/main/custom-chart-context.spec.js.map +1 -1
  11. package/cjs/react/custom-chart-context-hook.d.ts +22 -0
  12. package/cjs/react/custom-chart-context-hook.d.ts.map +1 -0
  13. package/cjs/react/custom-chart-context-hook.js +116 -0
  14. package/cjs/react/custom-chart-context-hook.js.map +1 -0
  15. package/cjs/react/custom-chart-context-hook.spec.d.ts +2 -0
  16. package/cjs/react/custom-chart-context-hook.spec.d.ts.map +1 -0
  17. package/cjs/react/custom-chart-context-hook.spec.js +343 -0
  18. package/cjs/react/custom-chart-context-hook.spec.js.map +1 -0
  19. package/cjs/react/custom-chart-context-service.d.ts +5 -16
  20. package/cjs/react/custom-chart-context-service.d.ts.map +1 -1
  21. package/cjs/react/custom-chart-context-service.js +34 -35
  22. package/cjs/react/custom-chart-context-service.js.map +1 -1
  23. package/cjs/react/custom-chart.spec.js +282 -53
  24. package/cjs/react/custom-chart.spec.js.map +1 -1
  25. package/cjs/react/mocks/custom-chart-context-hook.d.ts +3 -0
  26. package/cjs/react/mocks/custom-chart-context-hook.d.ts.map +1 -0
  27. package/cjs/react/mocks/custom-chart-context-hook.js +100 -0
  28. package/cjs/react/mocks/custom-chart-context-hook.js.map +1 -0
  29. package/cjs/react/mocks/custom-chart-context-mock.d.ts +3 -0
  30. package/cjs/react/mocks/custom-chart-context-mock.d.ts.map +1 -0
  31. package/cjs/react/mocks/custom-chart-context-mock.js +102 -0
  32. package/cjs/react/mocks/custom-chart-context-mock.js.map +1 -0
  33. package/cjs/react/use-custom-chart-context.d.ts +4 -0
  34. package/cjs/react/use-custom-chart-context.d.ts.map +1 -0
  35. package/cjs/react/use-custom-chart-context.js +95 -0
  36. package/cjs/react/use-custom-chart-context.js.map +1 -0
  37. package/cjs/react/use-custom-chart-context.spec.d.ts +2 -0
  38. package/cjs/react/use-custom-chart-context.spec.d.ts.map +1 -0
  39. package/cjs/react/use-custom-chart-context.spec.js +391 -0
  40. package/cjs/react/use-custom-chart-context.spec.js.map +1 -0
  41. package/cjs/react/use-custom-chart-context.util.d.ts +6 -0
  42. package/cjs/react/use-custom-chart-context.util.d.ts.map +1 -0
  43. package/cjs/react/use-custom-chart-context.util.js +60 -0
  44. package/cjs/react/use-custom-chart-context.util.js.map +1 -0
  45. package/cjs/react/use-custom-chart-types.d.ts +23 -0
  46. package/cjs/react/use-custom-chart-types.d.ts.map +1 -0
  47. package/cjs/react/use-custom-chart-types.js +3 -0
  48. package/cjs/react/use-custom-chart-types.js.map +1 -0
  49. package/cjs/types/chart-to-ts-event.types.d.ts +12 -4
  50. package/cjs/types/chart-to-ts-event.types.d.ts.map +1 -1
  51. package/cjs/types/chart-to-ts-event.types.js +2 -0
  52. package/cjs/types/chart-to-ts-event.types.js.map +1 -1
  53. package/lib/index.d.ts +1 -0
  54. package/lib/index.d.ts.map +1 -1
  55. package/lib/index.js +1 -0
  56. package/lib/index.js.map +1 -1
  57. package/lib/main/custom-chart-context.d.ts +2 -1
  58. package/lib/main/custom-chart-context.d.ts.map +1 -1
  59. package/lib/main/custom-chart-context.js +10 -2
  60. package/lib/main/custom-chart-context.js.map +1 -1
  61. package/lib/main/custom-chart-context.spec.js +77 -0
  62. package/lib/main/custom-chart-context.spec.js.map +1 -1
  63. package/lib/react/custom-chart-context-hook.d.ts +22 -0
  64. package/lib/react/custom-chart-context-hook.d.ts.map +1 -0
  65. package/lib/react/custom-chart-context-hook.js +86 -0
  66. package/lib/react/custom-chart-context-hook.js.map +1 -0
  67. package/lib/react/custom-chart-context-hook.spec.d.ts +2 -0
  68. package/lib/react/custom-chart-context-hook.spec.d.ts.map +1 -0
  69. package/lib/react/custom-chart-context-hook.spec.js +315 -0
  70. package/lib/react/custom-chart-context-hook.spec.js.map +1 -0
  71. package/lib/react/custom-chart-context-service.d.ts +5 -16
  72. package/lib/react/custom-chart-context-service.d.ts.map +1 -1
  73. package/lib/react/custom-chart-context-service.js +34 -35
  74. package/lib/react/custom-chart-context-service.js.map +1 -1
  75. package/lib/react/custom-chart.spec.js +260 -54
  76. package/lib/react/custom-chart.spec.js.map +1 -1
  77. package/lib/react/mocks/custom-chart-context-hook.d.ts +3 -0
  78. package/lib/react/mocks/custom-chart-context-hook.d.ts.map +1 -0
  79. package/lib/react/mocks/custom-chart-context-hook.js +94 -0
  80. package/lib/react/mocks/custom-chart-context-hook.js.map +1 -0
  81. package/lib/react/mocks/custom-chart-context-mock.d.ts +3 -0
  82. package/lib/react/mocks/custom-chart-context-mock.d.ts.map +1 -0
  83. package/lib/react/mocks/custom-chart-context-mock.js +96 -0
  84. package/lib/react/mocks/custom-chart-context-mock.js.map +1 -0
  85. package/lib/react/use-custom-chart-context.d.ts +4 -0
  86. package/lib/react/use-custom-chart-context.d.ts.map +1 -0
  87. package/lib/react/use-custom-chart-context.js +68 -0
  88. package/lib/react/use-custom-chart-context.js.map +1 -0
  89. package/lib/react/use-custom-chart-context.spec.d.ts +2 -0
  90. package/lib/react/use-custom-chart-context.spec.d.ts.map +1 -0
  91. package/lib/react/use-custom-chart-context.spec.js +363 -0
  92. package/lib/react/use-custom-chart-context.spec.js.map +1 -0
  93. package/lib/react/use-custom-chart-context.util.d.ts +6 -0
  94. package/lib/react/use-custom-chart-context.util.d.ts.map +1 -0
  95. package/lib/react/use-custom-chart-context.util.js +51 -0
  96. package/lib/react/use-custom-chart-context.util.js.map +1 -0
  97. package/lib/react/use-custom-chart-types.d.ts +23 -0
  98. package/lib/react/use-custom-chart-types.d.ts.map +1 -0
  99. package/lib/react/use-custom-chart-types.js +2 -0
  100. package/lib/react/use-custom-chart-types.js.map +1 -0
  101. package/lib/types/chart-to-ts-event.types.d.ts +12 -4
  102. package/lib/types/chart-to-ts-event.types.d.ts.map +1 -1
  103. package/lib/types/chart-to-ts-event.types.js +2 -0
  104. package/lib/types/chart-to-ts-event.types.js.map +1 -1
  105. package/package.json +8 -2
  106. package/src/index.ts +1 -0
  107. package/src/main/custom-chart-context.spec.ts +124 -0
  108. package/src/main/custom-chart-context.ts +24 -4
  109. package/src/react/mocks/custom-chart-context-mock.ts +116 -0
  110. package/src/react/use-custom-chart-context.spec.tsx +464 -0
  111. package/src/react/use-custom-chart-context.tsx +180 -0
  112. package/src/react/use-custom-chart-context.util.ts +101 -0
  113. package/src/react/use-custom-chart-types.ts +70 -0
  114. package/src/types/chart-to-ts-event.types.ts +47 -2
  115. package/dist/ts-chart-sdk.d.ts +0 -312
  116. package/lib/dist/ts-chart-sdk.d.ts +0 -312
@@ -0,0 +1,315 @@
1
+ import { render, waitFor } from '@testing-library/react';
2
+ import { renderHook } from '@testing-library/react-hooks';
3
+ import React from 'react';
4
+ import { resetInitialized } from '../main/custom-chart-context';
5
+ import * as PostMessageEventBridge from '../main/post-message-event-bridge';
6
+ import { mockInitializeContextPayload } from '../test/test-utils';
7
+ import { ChartToTSEvent } from '../types/chart-to-ts-event.types';
8
+ import { TSToChartEvent } from '../types/ts-to-chart-event.types';
9
+ import { useChartContext } from './custom-chart-context-hook';
10
+ import { contextChartProps } from './mocks/custom-chart-context-mock';
11
+ jest.mock('../main/post-message-event-bridge');
12
+ describe('useChartContext initialization', () => {
13
+ let eventProcessor;
14
+ let mockInitMessage;
15
+ let mockPostMessageToHost;
16
+ const mockedChartModel = { columns: [], config: {} };
17
+ beforeEach(() => {
18
+ mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
19
+ mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
20
+ mockInitMessage.mockImplementation((fn) => {
21
+ eventProcessor = fn;
22
+ });
23
+ mockPostMessageToHost.mockImplementation(() => {
24
+ return global.Promise.resolve();
25
+ });
26
+ });
27
+ afterEach(() => {
28
+ jest.clearAllMocks();
29
+ resetInitialized();
30
+ });
31
+ test('should initialize the context only after intialize completes', async () => {
32
+ const { result, waitFor } = renderHook(() => useChartContext(contextChartProps));
33
+ expect(result.current.hasInitialized).toBe(false);
34
+ expect(result.current.chartModel).toBeUndefined();
35
+ const mockPostMessage = jest.fn();
36
+ eventProcessor({
37
+ data: {
38
+ payload: {
39
+ componentId: 'COMPONENT_ID',
40
+ hostUrl: 'https://some.chart.app',
41
+ chartModel: mockedChartModel,
42
+ },
43
+ eventType: TSToChartEvent.Initialize,
44
+ source: 'ts-host-app',
45
+ },
46
+ ports: [{ postMessage: mockPostMessage }],
47
+ });
48
+ eventProcessor({
49
+ data: {
50
+ payload: {},
51
+ eventType: TSToChartEvent.InitializeComplete,
52
+ source: 'ts-host-app',
53
+ },
54
+ ports: [{ postMessage: mockPostMessage }],
55
+ });
56
+ await waitFor(() => {
57
+ expect(result.current.hasInitialized).toBe(true);
58
+ expect(result.current.chartModel).toEqual(mockedChartModel);
59
+ });
60
+ });
61
+ test('should make sure hasInitialized to remain false when context initialization failed', async () => {
62
+ jest.mock('../main/custom-chart-context', () => ({
63
+ CustomChartContext: jest.fn().mockImplementation(() => ({
64
+ initialize: jest
65
+ .fn()
66
+ .mockRejectedValue(new Error('Initialization failed')),
67
+ emitEvent: jest.fn(),
68
+ on: jest.fn(),
69
+ getChartModel: jest.fn(),
70
+ renderChart: jest.fn(),
71
+ })),
72
+ }));
73
+ const { result, waitFor } = renderHook(() => useChartContext({
74
+ ...contextChartProps,
75
+ }));
76
+ await waitFor(() => {
77
+ expect(result.current.hasInitialized).toBe(false);
78
+ expect(result.current.chartModel).toBeUndefined();
79
+ });
80
+ });
81
+ });
82
+ describe('useChartContext emit', () => {
83
+ let eventProcessor;
84
+ let mockInitMessage;
85
+ let mockPostMessageToHost;
86
+ beforeEach(() => {
87
+ mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
88
+ mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
89
+ mockInitMessage.mockImplementation((fn) => {
90
+ eventProcessor = fn;
91
+ });
92
+ mockPostMessageToHost.mockImplementation(() => {
93
+ return global.Promise.resolve();
94
+ });
95
+ });
96
+ afterEach(() => {
97
+ jest.clearAllMocks();
98
+ resetInitialized();
99
+ });
100
+ test('should trigger the emitter correctly when context is initialized', async () => {
101
+ const { result, waitFor } = renderHook(() => useChartContext(contextChartProps));
102
+ const mockPostMessage = jest.fn();
103
+ eventProcessor({
104
+ data: {
105
+ payload: mockInitializeContextPayload,
106
+ eventType: TSToChartEvent.Initialize,
107
+ source: 'ts-host-app',
108
+ },
109
+ ports: [{ postMessage: mockPostMessage }],
110
+ });
111
+ eventProcessor({
112
+ data: {
113
+ payload: {},
114
+ eventType: TSToChartEvent.InitializeComplete,
115
+ source: 'ts-host-app',
116
+ },
117
+ ports: [{ postMessage: mockPostMessage }],
118
+ });
119
+ await waitFor(() => {
120
+ expect(result.current.hasInitialized).toBe(true);
121
+ });
122
+ const contextPayload = {
123
+ clickedPoint: { tuple: [{ columnId: '123', value: 12 }] },
124
+ event: {},
125
+ };
126
+ result.current.emitOpenContextMenu([contextPayload]);
127
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, contextPayload, ChartToTSEvent.OpenContextMenu);
128
+ });
129
+ test('should not defined emitter when context is not initialized', async () => {
130
+ const { result, waitFor } = renderHook(() => useChartContext(contextChartProps));
131
+ const mockPostMessage = jest.fn();
132
+ eventProcessor({
133
+ data: {
134
+ payload: mockInitializeContextPayload,
135
+ eventType: TSToChartEvent.Initialize,
136
+ source: 'ts-host-app',
137
+ },
138
+ ports: [{ postMessage: mockPostMessage }],
139
+ });
140
+ await waitFor(() => {
141
+ expect(result.current.hasInitialized).toBe(false);
142
+ });
143
+ result.current.emitRenderStart([]);
144
+ expect(mockPostMessageToHost).not.toHaveBeenCalled();
145
+ });
146
+ });
147
+ describe('useChartContext on listeners', () => {
148
+ let eventProcessor;
149
+ let mockInitMessage;
150
+ let mockPostMessageToHost;
151
+ const mockedChartModel = { columns: [], config: {} };
152
+ beforeEach(() => {
153
+ mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
154
+ mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
155
+ mockInitMessage.mockImplementation((fn) => {
156
+ eventProcessor = fn;
157
+ });
158
+ mockPostMessageToHost.mockImplementation(() => {
159
+ return global.Promise.resolve();
160
+ });
161
+ });
162
+ afterEach(() => {
163
+ jest.clearAllMocks();
164
+ resetInitialized();
165
+ });
166
+ test('should trigger the onEvent correctly when context is initialized', async () => {
167
+ const { result, waitFor } = renderHook(() => useChartContext(contextChartProps));
168
+ expect(result.current.hasInitialized).toBe(false);
169
+ expect(result.current.chartModel).toBeUndefined();
170
+ const mockPostMessage = jest.fn();
171
+ eventProcessor({
172
+ data: {
173
+ payload: {
174
+ componentId: 'COMPONENT_ID',
175
+ hostUrl: 'https://some.chart.app',
176
+ chartModel: mockedChartModel,
177
+ },
178
+ eventType: TSToChartEvent.Initialize,
179
+ source: 'ts-host-app',
180
+ },
181
+ ports: [{ postMessage: mockPostMessage }],
182
+ });
183
+ eventProcessor({
184
+ data: {
185
+ payload: {},
186
+ eventType: TSToChartEvent.InitializeComplete,
187
+ source: 'ts-host-app',
188
+ },
189
+ ports: [{ postMessage: mockPostMessage }],
190
+ });
191
+ await waitFor(() => {
192
+ expect(result.current.hasInitialized).toBe(true);
193
+ expect(result.current.chartModel).toEqual(mockedChartModel);
194
+ });
195
+ eventProcessor({
196
+ data: {
197
+ payload: { chartModel: {} },
198
+ eventType: TSToChartEvent.ChartModelUpdate,
199
+ source: 'ts-host-app',
200
+ },
201
+ ports: [{ postMessage: mockPostMessage }],
202
+ });
203
+ await waitFor(() => {
204
+ expect(mockPostMessage).toHaveBeenCalledWith({
205
+ triggerRenderChart: true,
206
+ });
207
+ expect(result.current.chartModel).toEqual({});
208
+ });
209
+ eventProcessor({
210
+ data: {
211
+ payload: { visualProps: { color: 'red' } },
212
+ eventType: TSToChartEvent.VisualPropsUpdate,
213
+ source: 'ts-host-app',
214
+ },
215
+ ports: [{ postMessage: mockPostMessage }],
216
+ });
217
+ expect(mockPostMessage).toHaveBeenCalledWith({
218
+ triggerRenderChart: true,
219
+ });
220
+ await waitFor(() => {
221
+ var _a;
222
+ expect(mockPostMessage).toHaveBeenCalledWith({
223
+ triggerRenderChart: true,
224
+ });
225
+ expect((_a = result.current.chartModel) === null || _a === void 0 ? void 0 : _a.visualProps).toEqual({
226
+ color: 'red',
227
+ });
228
+ });
229
+ });
230
+ });
231
+ describe('useChartContext on React Wrapper component', () => {
232
+ let eventProcessor;
233
+ let mockInitMessage;
234
+ let mockPostMessageToHost;
235
+ beforeEach(() => {
236
+ mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
237
+ mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
238
+ mockInitMessage.mockImplementation((fn) => {
239
+ eventProcessor = fn;
240
+ });
241
+ mockPostMessageToHost.mockImplementation(() => {
242
+ return global.Promise.resolve();
243
+ });
244
+ });
245
+ afterEach(() => {
246
+ jest.clearAllMocks();
247
+ resetInitialized();
248
+ });
249
+ test('WrapperComponent renders children and should not increase counter for useEffect on chartModel if visualProps is updated', async () => {
250
+ const CustomChartComponent = () => {
251
+ var _a, _b;
252
+ const [counter, setCounter] = React.useState(0);
253
+ const { WrapperComponent, chartModel } = useChartContext(contextChartProps);
254
+ React.useEffect(() => {
255
+ setCounter((prevCount) => prevCount + 1);
256
+ }, [chartModel]);
257
+ return (React.createElement(WrapperComponent, null,
258
+ React.createElement("div", { "data-testid": "child-element" },
259
+ "Child Element counter: ",
260
+ counter, (_b = (_a = chartModel === null || chartModel === void 0 ? void 0 : chartModel.visualProps) === null || _a === void 0 ? void 0 : _a.color) !== null && _b !== void 0 ? _b : '')));
261
+ };
262
+ const { getByTestId } = render(React.createElement(CustomChartComponent, null));
263
+ const childElement = getByTestId('child-element');
264
+ await waitFor(() => {
265
+ expect(childElement.textContent).toBe('Child Element counter: 1');
266
+ });
267
+ const mockPostMessage = jest.fn();
268
+ eventProcessor({
269
+ data: {
270
+ payload: { visualProps: { color: 'red' } },
271
+ eventType: TSToChartEvent.VisualPropsUpdate,
272
+ source: 'ts-host-app',
273
+ },
274
+ ports: [{ postMessage: mockPostMessage }],
275
+ });
276
+ const updatedChildElement = getByTestId('child-element');
277
+ await waitFor(() => {
278
+ expect(updatedChildElement.textContent).toBe('Child Element counter: 1red');
279
+ });
280
+ });
281
+ test('WrapperComponent renders children should increase counter for useEffect on chartModel.visualProps if visualProps is updated', async () => {
282
+ const CustomChartComponent = () => {
283
+ var _a, _b;
284
+ const [counter, setCounter] = React.useState(0);
285
+ const { WrapperComponent, chartModel } = useChartContext(contextChartProps);
286
+ React.useEffect(() => {
287
+ setCounter((prevCount) => prevCount + 1);
288
+ }, [chartModel === null || chartModel === void 0 ? void 0 : chartModel.visualProps]);
289
+ return (React.createElement(WrapperComponent, null,
290
+ React.createElement("div", { "data-testid": "child-element" },
291
+ "Child Element counter: ",
292
+ counter, (_b = (_a = chartModel === null || chartModel === void 0 ? void 0 : chartModel.visualProps) === null || _a === void 0 ? void 0 : _a.color) !== null && _b !== void 0 ? _b : '')));
293
+ };
294
+ const { getByTestId, rerender } = render(React.createElement(CustomChartComponent, null));
295
+ const childElement = getByTestId('child-element');
296
+ await waitFor(() => {
297
+ expect(childElement.textContent).toBe('Child Element counter: 1');
298
+ });
299
+ const mockPostMessage = jest.fn();
300
+ eventProcessor({
301
+ data: {
302
+ payload: { visualProps: { color: 'red' } },
303
+ eventType: TSToChartEvent.VisualPropsUpdate,
304
+ source: 'ts-host-app',
305
+ },
306
+ ports: [{ postMessage: mockPostMessage }],
307
+ });
308
+ rerender(React.createElement(CustomChartComponent, null));
309
+ const updatedChildElement = getByTestId('child-element');
310
+ await waitFor(() => {
311
+ expect(updatedChildElement.textContent).toBe('Child Element counter: 2red');
312
+ });
313
+ });
314
+ });
315
+ //# sourceMappingURL=custom-chart-context-hook.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-chart-context-hook.spec.js","sourceRoot":"","sources":["../../src/react/custom-chart-context-hook.spec.tsx"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { CustomChartContextProps } from '../main/custom-chart-context';
3
3
  import { ChartToTSEventsPayloadMap } from '../types/chart-to-ts-event.types';
4
4
  import { ChartModel } from '../types/common.types';
5
- import { ChartModelUpdateEventPayload, DataUpdateEventPayload, TSToChartEventsPayloadMap, VisualPropsUpdateEventPayload } from '../types/ts-to-chart-event.types';
5
+ import { TSToChartEventsPayloadMap } from '../types/ts-to-chart-event.types';
6
6
  export type ChartToTSEventEmitters = {
7
7
  [key in keyof ChartToTSEventsPayloadMap as `emit${Capitalize<key>}`]: (args: ChartToTSEventsPayloadMap[key]) => Promise<void>;
8
8
  };
@@ -12,22 +12,11 @@ export type TSToChartEventListener = {
12
12
  interface WrapperComponentProps {
13
13
  children: React.ReactNode;
14
14
  }
15
- export declare const useChartContext: (props: CustomChartContextProps) => {
16
- WrapperComponent: ({ children }: WrapperComponentProps) => React.JSX.Element;
17
- onChartModelUpdate: (args: (payload: ChartModelUpdateEventPayload) => void) => Promise<void>;
18
- onDataUpdate: (args: (payload: DataUpdateEventPayload) => void) => Promise<void>;
19
- onVisualPropsUpdate: (args: (payload: VisualPropsUpdateEventPayload) => void) => Promise<void>;
20
- emitOpenContextMenu: (args: [import("../types/chart-to-ts-event.types").OpenContextMenuEventPayload]) => Promise<void>;
21
- emitCloseContextMenu: (args: []) => Promise<void>;
22
- emitRenderStart: (args: []) => Promise<void>;
23
- emitRenderComplete: (args: []) => Promise<void>;
24
- emitRenderError: (args: [import("../types/chart-to-ts-event.types").RenderErrorEventPayload]) => Promise<void>;
25
- emitUpdateVisualProps: (args: [import("../types/chart-to-ts-event.types").UpdateVisualPropsEventPayload]) => Promise<void>;
26
- emitGetTMLString: (args: []) => Promise<void>;
27
- emitSetTMLString: (args: [import("../types/chart-to-ts-event.types").SetTMLStringEventPayload]) => Promise<void>;
28
- emitGetDataForQuery: (args: [import("../types/chart-to-ts-event.types").GetDataForQueryEventPayload]) => Promise<void>;
15
+ interface ChartContextProps extends ChartToTSEventEmitters, TSToChartEventListener {
29
16
  hasInitialized: boolean;
30
17
  chartModel: ChartModel | undefined;
31
- };
18
+ WrapperComponent: ({ children, }: WrapperComponentProps) => React.JSX.Element;
19
+ }
20
+ export declare const useChartContext: (props: CustomChartContextProps) => ChartContextProps;
32
21
  export {};
33
22
  //# sourceMappingURL=custom-chart-context-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chart-context-service.d.ts","sourceRoot":"","sources":["../../src/react/custom-chart-context-service.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAEH,uBAAuB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEH,yBAAyB,EAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACH,4BAA4B,EAC5B,sBAAsB,EAEtB,yBAAyB,EACzB,6BAA6B,EAChC,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,yBAAyB,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAClE,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACnC,OAAO,CAAC,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,yBAAyB,IAAI,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAChE,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACnC,OAAO,CAAC,IAAI,CAAC;CACrB,CAAC;AAEF,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AA8DD,eAAO,MAAM,eAAe,UAAW,uBAAuB;qCA4EvC,qBAAqB;mFA/InC,QAAQ,IAAI,CAAC;uEAAb,QAAQ,IAAI,CAAC;qFAAb,QAAQ,IAAI,CAAC;6GANb,QAAQ,IAAI,CAAC;wCAAb,QAAQ,IAAI,CAAC;mCAAb,QAAQ,IAAI,CAAC;sCAAb,QAAQ,IAAI,CAAC;qGAAb,QAAQ,IAAI,CAAC;iHAAb,QAAQ,IAAI,CAAC;oCAAb,QAAQ,IAAI,CAAC;uGAAb,QAAQ,IAAI,CAAC;6GAAb,QAAQ,IAAI,CAAC;;;CA4KrB,CAAC"}
1
+ {"version":3,"file":"custom-chart-context-service.d.ts","sourceRoot":"","sources":["../../src/react/custom-chart-context-service.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAEH,uBAAuB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEH,yBAAyB,EAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAIH,yBAAyB,EAE5B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,yBAAyB,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAClE,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACnC,OAAO,CAAC,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,yBAAyB,IAAI,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAChE,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACnC,OAAO,CAAC,IAAI,CAAC;CACrB,CAAC;AAEF,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AAED,UAAU,iBACN,SAAQ,sBAAsB,EAC1B,sBAAsB;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,gBAAgB,EAAE,CAAC,EACf,QAAQ,GACX,EAAE,qBAAqB,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;CAClD;AAoDD,eAAO,MAAM,eAAe,UAAW,uBAAuB,sBAuF7D,CAAC"}
@@ -34,58 +34,57 @@ export const useChartContext = (props) => {
34
34
  const [key, setKey] = useState(0);
35
35
  const [ctx, setContextState] = useState({});
36
36
  const [chartModel, setChartModel] = useState();
37
- const [emitters, setEmitters] = useState(emitter({
38
- emitEvent: () => {
39
- },
40
- }));
41
- const [listeners, setListeners] = useState(eventListener({
42
- on: () => {
43
- },
44
- }));
45
37
  const initializeProvider = async (context) => {
46
38
  return context.initialize().then(() => {
47
39
  setHasInitialized(true);
48
40
  setContextState(context);
49
- setChartModel(context.getChartModel());
50
- setEmitters(emitter(context));
51
- setListeners(eventListener(context));
52
- listeners.onChartModelUpdate((payload) => {
53
- setChartModel(context.getChartModel());
54
- });
55
- listeners.onVisualPropsUpdate((payload) => {
56
- setChartModel(context.getChartModel());
57
- return {
58
- triggerRenderChart: true,
59
- };
60
- });
61
- listeners.onDataUpdate((payload) => {
62
- setChartModel(context.getChartModel());
63
- });
64
41
  return true;
65
42
  });
66
43
  };
44
+ const getChartContextValues = useCallback((ctx) => ({
45
+ hasInitialized,
46
+ chartModel,
47
+ ...emitter(ctx),
48
+ ...eventListener(ctx),
49
+ WrapperComponent: ({ children }) => {
50
+ console.log(key);
51
+ return (React.createElement("div", { style: {
52
+ width: '99vw',
53
+ height: '95vh',
54
+ position: 'relative',
55
+ }, key: key }, children));
56
+ },
57
+ }), [ctx, chartModel, key]);
67
58
  const renderChart = useCallback((ctx) => {
68
59
  console.log('Here', key);
69
- setKey(key + 1);
60
+ setKey((prevKey) => prevKey + 1);
70
61
  return Promise.resolve();
71
62
  }, [key]);
72
- const WrapperComponent = useCallback(({ children }) => {
73
- console.log(key);
74
- return React.createElement("div", { key: key }, children);
75
- }, [key]);
76
63
  useEffect(() => {
77
64
  const context = new CustomChartContext({
78
65
  ...props,
79
66
  renderChart,
80
67
  });
81
68
  initializeProvider(context);
69
+ getChartContextValues(context).onChartModelUpdate((payload) => {
70
+ setChartModel(context.getChartModel());
71
+ return {
72
+ triggerRenderChart: true,
73
+ };
74
+ });
75
+ getChartContextValues(context).onVisualPropsUpdate((payload) => {
76
+ setChartModel(context.getChartModel());
77
+ return {
78
+ triggerRenderChart: true,
79
+ };
80
+ });
81
+ getChartContextValues(context).onDataUpdate((payload) => {
82
+ setChartModel(context.getChartModel());
83
+ return {
84
+ triggerRenderChart: true,
85
+ };
86
+ });
82
87
  }, []);
83
- return {
84
- hasInitialized,
85
- chartModel,
86
- ...emitters,
87
- ...listeners,
88
- WrapperComponent,
89
- };
88
+ return getChartContextValues(ctx);
90
89
  };
91
90
  //# sourceMappingURL=custom-chart-context-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chart-context-service.js","sourceRoot":"","sources":["../../src/react/custom-chart-context-service.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-chart-context-service.js","sourceRoot":"","sources":["../../src/react/custom-chart-context-service.tsx"],"names":[],"mappings":"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"}