@thoughtspot/ts-chart-sdk 0.0.1-alpha.5 → 0.0.1-alpha.7

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 (59) hide show
  1. package/cjs/main/custom-chart-context.d.ts +1 -1
  2. package/cjs/main/custom-chart-context.d.ts.map +1 -1
  3. package/cjs/main/custom-chart-context.js +2 -2
  4. package/cjs/main/custom-chart-context.js.map +1 -1
  5. package/cjs/main/custom-chart-context.spec.js +8 -0
  6. package/cjs/main/custom-chart-context.spec.js.map +1 -1
  7. package/cjs/react/custom-chart-context-hook.d.ts +22 -0
  8. package/cjs/react/custom-chart-context-hook.d.ts.map +1 -0
  9. package/cjs/react/custom-chart-context-hook.js +116 -0
  10. package/cjs/react/custom-chart-context-hook.js.map +1 -0
  11. package/cjs/react/custom-chart-context-hook.spec.d.ts +2 -0
  12. package/cjs/react/custom-chart-context-hook.spec.d.ts.map +1 -0
  13. package/cjs/react/custom-chart-context-hook.spec.js +343 -0
  14. package/cjs/react/custom-chart-context-hook.spec.js.map +1 -0
  15. package/cjs/react/custom-chart-context-service.d.ts +5 -16
  16. package/cjs/react/custom-chart-context-service.d.ts.map +1 -1
  17. package/cjs/react/custom-chart-context-service.js +34 -35
  18. package/cjs/react/custom-chart-context-service.js.map +1 -1
  19. package/cjs/react/custom-chart.spec.js +282 -53
  20. package/cjs/react/custom-chart.spec.js.map +1 -1
  21. package/cjs/react/mocks/custom-chart-context-hook.d.ts +3 -0
  22. package/cjs/react/mocks/custom-chart-context-hook.d.ts.map +1 -0
  23. package/cjs/react/mocks/custom-chart-context-hook.js +100 -0
  24. package/cjs/react/mocks/custom-chart-context-hook.js.map +1 -0
  25. package/cjs/react/mocks/custom-chart-context-mock.d.ts.map +1 -1
  26. package/cjs/react/mocks/custom-chart-context-mock.js +32 -30
  27. package/cjs/react/mocks/custom-chart-context-mock.js.map +1 -1
  28. package/lib/main/custom-chart-context.d.ts +1 -1
  29. package/lib/main/custom-chart-context.d.ts.map +1 -1
  30. package/lib/main/custom-chart-context.js +1 -2
  31. package/lib/main/custom-chart-context.js.map +1 -1
  32. package/lib/main/custom-chart-context.spec.js +8 -0
  33. package/lib/main/custom-chart-context.spec.js.map +1 -1
  34. package/lib/react/custom-chart-context-hook.d.ts +22 -0
  35. package/lib/react/custom-chart-context-hook.d.ts.map +1 -0
  36. package/lib/react/custom-chart-context-hook.js +86 -0
  37. package/lib/react/custom-chart-context-hook.js.map +1 -0
  38. package/lib/react/custom-chart-context-hook.spec.d.ts +2 -0
  39. package/lib/react/custom-chart-context-hook.spec.d.ts.map +1 -0
  40. package/lib/react/custom-chart-context-hook.spec.js +315 -0
  41. package/lib/react/custom-chart-context-hook.spec.js.map +1 -0
  42. package/lib/react/custom-chart-context-service.d.ts +5 -16
  43. package/lib/react/custom-chart-context-service.d.ts.map +1 -1
  44. package/lib/react/custom-chart-context-service.js +34 -35
  45. package/lib/react/custom-chart-context-service.js.map +1 -1
  46. package/lib/react/custom-chart.spec.js +260 -54
  47. package/lib/react/custom-chart.spec.js.map +1 -1
  48. package/lib/react/mocks/custom-chart-context-hook.d.ts +3 -0
  49. package/lib/react/mocks/custom-chart-context-hook.d.ts.map +1 -0
  50. package/lib/react/mocks/custom-chart-context-hook.js +94 -0
  51. package/lib/react/mocks/custom-chart-context-hook.js.map +1 -0
  52. package/lib/react/mocks/custom-chart-context-mock.d.ts.map +1 -1
  53. package/lib/react/mocks/custom-chart-context-mock.js +32 -30
  54. package/lib/react/mocks/custom-chart-context-mock.js.map +1 -1
  55. package/package.json +1 -1
  56. package/src/main/custom-chart-context.ts +2 -2
  57. package/src/types/visual-prop.types.ts +77 -8
  58. package/dist/ts-chart-sdk.d.ts +0 -312
  59. package/lib/dist/ts-chart-sdk.d.ts +0 -312
@@ -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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"}
@@ -1,67 +1,273 @@
1
- import { fireEvent, render, waitFor } from '@testing-library/react';
1
+ import { render, waitFor } from '@testing-library/react';
2
+ import { renderHook } from '@testing-library/react-hooks';
2
3
  import React from 'react';
4
+ import * as PostMessageEventBridge from '../main/post-message-event-bridge';
5
+ import { mockInitializeContextPayload } from '../test/test-utils';
3
6
  import { ChartToTSEvent } from '../types/chart-to-ts-event.types';
4
7
  import { TSToChartEvent } from '../types/ts-to-chart-event.types';
5
- import { ChartContext, ChartProvider } from './custom-chart.context';
6
- describe('ChartProvider', () => {
8
+ import { useChartContext } from './custom-chart-context-hook';
9
+ import { contextChartProps } from './mocks/custom-chart-context-hook';
10
+ jest.mock('../main/post-message-event-bridge');
11
+ describe('useChartContext initialization', () => {
12
+ let eventProcessor;
13
+ let mockInitMessage;
14
+ let mockPostMessageToHost;
15
+ const mockedChartModel = { columns: [], config: {} };
16
+ beforeEach(() => {
17
+ mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
18
+ mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
19
+ mockInitMessage.mockImplementation((fn) => {
20
+ eventProcessor = fn;
21
+ });
22
+ mockPostMessageToHost.mockImplementation(() => {
23
+ return global.Promise.resolve();
24
+ });
25
+ });
7
26
  afterEach(() => {
8
27
  jest.clearAllMocks();
9
28
  });
10
- test('renders children correctly for empty data', () => {
11
- const { getByTestId } = render(React.createElement(ChartProvider, { contextProps: {
12
- getDefaultChartConfig: (chartModel) => [],
13
- getQueriesFromChartConfig: (chartConfig) => [],
14
- renderChart: () => Promise.resolve(),
15
- } },
16
- React.createElement("div", { "data-testid": "child-component" }, "Test Child")));
17
- const childContent = getByTestId('child-component').textContent;
18
- expect(childContent).toBe('Test Child');
29
+ test('should initialize the context only after intialize completes', async () => {
30
+ const { result, waitFor } = renderHook(() => useChartContext(contextChartProps));
31
+ expect(result.current.hasInitialized).toBe(false);
32
+ expect(result.current.chartModel).toBeUndefined();
33
+ const mockPostMessage = jest.fn();
34
+ eventProcessor({
35
+ data: {
36
+ payload: {
37
+ componentId: 'COMPONENT_ID',
38
+ hostUrl: 'https://some.chart.app',
39
+ chartModel: mockedChartModel,
40
+ },
41
+ eventType: TSToChartEvent.Initialize,
42
+ source: 'ts-host-app',
43
+ },
44
+ ports: [{ postMessage: mockPostMessage }],
45
+ });
46
+ eventProcessor({
47
+ data: {
48
+ payload: {},
49
+ eventType: TSToChartEvent.InitializeComplete,
50
+ source: 'ts-host-app',
51
+ },
52
+ ports: [{ postMessage: mockPostMessage }],
53
+ });
54
+ await waitFor(() => {
55
+ expect(result.current.hasInitialized).toBe(true);
56
+ expect(result.current.chartModel).toEqual(mockedChartModel);
57
+ });
19
58
  });
20
- test.only('emitters and event listeners work as expected', async () => {
21
- const emitEvent = jest.fn().mockResolvedValue(true);
22
- const on = jest.fn();
59
+ test('should make sure hasInitialized to remain false when context initialization failed', async () => {
23
60
  jest.mock('../main/custom-chart-context', () => {
24
- return {
25
- CustomChartContext: jest.fn().mockImplementation(() => ({
26
- initialize: jest.fn().mockImplementation(async () => {
27
- return Promise.resolve();
28
- }),
29
- emitEvent,
30
- on,
31
- getChartModel: jest.fn().mockReturnValue({}),
32
- })),
33
- };
34
- });
35
- const TestComponent = () => {
36
- const chartContext = React.useContext(ChartContext);
37
- const emitRenderChart = async () => {
38
- await chartContext.emitRenderStart([]);
39
- };
40
- if (!chartContext.hasInitialized) {
41
- return React.createElement("div", null, "Loading...");
42
- }
43
- return (React.createElement("div", null,
44
- React.createElement("button", { onClick: emitRenderChart }, "Emit Event")));
61
+ return jest.fn().mockImplementation((props) => {
62
+ return {
63
+ chartModel: undefined,
64
+ initialize() {
65
+ return Promise.reject(new Error('Initialization failed'));
66
+ },
67
+ };
68
+ });
69
+ });
70
+ const { result, waitFor } = renderHook(() => useChartContext({
71
+ ...contextChartProps,
72
+ }));
73
+ await waitFor(() => {
74
+ expect(result.current.hasInitialized).toBe(false);
75
+ expect(result.current.chartModel).toBeUndefined();
76
+ });
77
+ });
78
+ });
79
+ describe('useChartContext emit', () => {
80
+ let eventProcessor;
81
+ let mockInitMessage;
82
+ let mockPostMessageToHost;
83
+ beforeEach(() => {
84
+ mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
85
+ mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
86
+ mockInitMessage.mockImplementation((fn) => {
87
+ eventProcessor = fn;
88
+ });
89
+ mockPostMessageToHost.mockImplementation(() => {
90
+ return global.Promise.resolve();
91
+ });
92
+ });
93
+ afterEach(() => {
94
+ jest.clearAllMocks();
95
+ });
96
+ test('should trigger the emitter correctly when context is initialized', async () => {
97
+ const { result, waitFor } = renderHook(() => useChartContext(contextChartProps));
98
+ const mockPostMessage = jest.fn();
99
+ eventProcessor({
100
+ data: {
101
+ payload: mockInitializeContextPayload,
102
+ eventType: TSToChartEvent.Initialize,
103
+ source: 'ts-host-app',
104
+ },
105
+ ports: [{ postMessage: mockPostMessage }],
106
+ });
107
+ eventProcessor({
108
+ data: {
109
+ payload: {},
110
+ eventType: TSToChartEvent.InitializeComplete,
111
+ source: 'ts-host-app',
112
+ },
113
+ ports: [{ postMessage: mockPostMessage }],
114
+ });
115
+ await waitFor(() => {
116
+ expect(result.current.hasInitialized).toBe(true);
117
+ });
118
+ const contextPayload = {
119
+ clickedPoint: { tuple: [{ columnId: '123', value: 12 }] },
120
+ event: {},
121
+ };
122
+ result.current.emitOpenContextMenu([contextPayload]);
123
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, contextPayload, ChartToTSEvent.OpenContextMenu);
124
+ });
125
+ test('should not defined emitter when context is not initialized', async () => {
126
+ const { result, waitFor } = renderHook(() => useChartContext(contextChartProps));
127
+ const mockPostMessage = jest.fn();
128
+ eventProcessor({
129
+ data: {
130
+ payload: mockInitializeContextPayload,
131
+ eventType: TSToChartEvent.Initialize,
132
+ source: 'ts-host-app',
133
+ },
134
+ ports: [{ postMessage: mockPostMessage }],
135
+ });
136
+ await waitFor(() => {
137
+ expect(result.current.hasInitialized).toBe(false);
138
+ });
139
+ result.current.emitRenderStart([]);
140
+ expect(mockPostMessageToHost).not.toHaveBeenCalled();
141
+ });
142
+ });
143
+ describe('useChartContext on listeners', () => {
144
+ let eventProcessor;
145
+ let mockInitMessage;
146
+ let mockPostMessageToHost;
147
+ const mockedChartModel = { columns: [], config: {} };
148
+ beforeEach(() => {
149
+ mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
150
+ mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
151
+ mockInitMessage.mockImplementation((fn) => {
152
+ eventProcessor = fn;
153
+ });
154
+ mockPostMessageToHost.mockImplementation(() => {
155
+ return global.Promise.resolve();
156
+ });
157
+ });
158
+ afterEach(() => {
159
+ jest.clearAllMocks();
160
+ });
161
+ test('should trigger the onEvent correctly when context is initialized', async () => {
162
+ const { result, waitFor } = renderHook(() => useChartContext(contextChartProps));
163
+ expect(result.current.hasInitialized).toBe(false);
164
+ expect(result.current.chartModel).toBeUndefined();
165
+ const mockPostMessage = jest.fn();
166
+ eventProcessor({
167
+ data: {
168
+ payload: {
169
+ componentId: 'COMPONENT_ID',
170
+ hostUrl: 'https://some.chart.app',
171
+ chartModel: mockedChartModel,
172
+ },
173
+ eventType: TSToChartEvent.Initialize,
174
+ source: 'ts-host-app',
175
+ },
176
+ ports: [{ postMessage: mockPostMessage }],
177
+ });
178
+ eventProcessor({
179
+ data: {
180
+ payload: {},
181
+ eventType: TSToChartEvent.InitializeComplete,
182
+ source: 'ts-host-app',
183
+ },
184
+ ports: [{ postMessage: mockPostMessage }],
185
+ });
186
+ await waitFor(() => {
187
+ expect(result.current.hasInitialized).toBe(true);
188
+ expect(result.current.chartModel).toEqual(mockedChartModel);
189
+ });
190
+ eventProcessor({
191
+ data: {
192
+ payload: { chartModel: {} },
193
+ eventType: TSToChartEvent.ChartModelUpdate,
194
+ source: 'ts-host-app',
195
+ },
196
+ ports: [{ postMessage: mockPostMessage }],
197
+ });
198
+ await waitFor(() => {
199
+ expect(mockPostMessage).toHaveBeenCalledWith({
200
+ triggerRenderChart: true,
201
+ });
202
+ expect(result.current.chartModel).toEqual({});
203
+ });
204
+ eventProcessor({
205
+ data: {
206
+ payload: { visualProps: { color: 'red' } },
207
+ eventType: TSToChartEvent.VisualPropsUpdate,
208
+ source: 'ts-host-app',
209
+ },
210
+ ports: [{ postMessage: mockPostMessage }],
211
+ });
212
+ expect(mockPostMessage).toHaveBeenCalledWith({
213
+ triggerRenderChart: true,
214
+ });
215
+ await waitFor(() => {
216
+ var _a;
217
+ expect(mockPostMessage).toHaveBeenCalledWith({
218
+ triggerRenderChart: true,
219
+ });
220
+ expect((_a = result.current.chartModel) === null || _a === void 0 ? void 0 : _a.visualProps).toEqual({
221
+ color: 'red',
222
+ });
223
+ });
224
+ });
225
+ });
226
+ describe.only('useChartContext on React Wrapper component', () => {
227
+ let eventProcessor;
228
+ let mockInitMessage;
229
+ let mockPostMessageToHost;
230
+ const mockedChartModel = { columns: [], config: {} };
231
+ beforeEach(() => {
232
+ mockInitMessage = jest.spyOn(PostMessageEventBridge, 'initMessageListener');
233
+ mockPostMessageToHost = jest.spyOn(PostMessageEventBridge, 'postMessageToHostApp');
234
+ mockInitMessage.mockImplementation((fn) => {
235
+ eventProcessor = fn;
236
+ });
237
+ mockPostMessageToHost.mockImplementation(() => {
238
+ return global.Promise.resolve();
239
+ });
240
+ });
241
+ afterEach(() => {
242
+ jest.clearAllMocks();
243
+ });
244
+ test.only('WrapperComponent renders children and re-renders on key change', async () => {
245
+ const CustomChartComponent = () => {
246
+ var _a, _b;
247
+ const { WrapperComponent, chartModel } = useChartContext(contextChartProps);
248
+ return (React.createElement(WrapperComponent, null,
249
+ React.createElement("div", { "data-testid": "child-element" },
250
+ "Child Element",
251
+ ' ', (_b = (_a = chartModel === null || chartModel === void 0 ? void 0 : chartModel.visualProps) === null || _a === void 0 ? void 0 : _a.color) !== null && _b !== void 0 ? _b : '')));
45
252
  };
46
- const { getByRole } = render(React.createElement(ChartProvider, { contextProps: {
47
- getDefaultChartConfig: (chartModel) => [],
48
- getQueriesFromChartConfig: (chartModel) => [],
49
- renderChart: (ctx) => Promise.resolve(),
50
- } },
51
- React.createElement(TestComponent, null)));
253
+ const { getByTestId } = render(React.createElement(CustomChartComponent, null));
254
+ const childElement = getByTestId('child-element');
52
255
  await waitFor(() => {
53
- expect(getByRole('button')).toBeDefined();
54
- });
55
- const button = getByRole('button');
56
- fireEvent.click(button);
57
- expect(emitEvent).toHaveBeenCalledWith(ChartToTSEvent.RenderStart);
58
- const chartModelUpdateCallback = jest.fn();
59
- on.mockImplementation((event, callback) => {
60
- if (event === TSToChartEvent.ChartModelUpdate) {
61
- chartModelUpdateCallback();
62
- }
63
- });
64
- expect(chartModelUpdateCallback).toHaveBeenCalled();
256
+ expect(childElement.textContent).toBe('Child Element ');
257
+ });
258
+ const mockPostMessage = jest.fn();
259
+ eventProcessor({
260
+ data: {
261
+ payload: { chartModel: { visualProps: { color: 'red' } } },
262
+ eventType: TSToChartEvent.ChartModelUpdate,
263
+ source: 'ts-host-app',
264
+ },
265
+ ports: [{ postMessage: mockPostMessage }],
266
+ });
267
+ const updatedChildElement = getByTestId('child-element');
268
+ await waitFor(() => {
269
+ expect(updatedChildElement.textContent).toBe('Child Element red');
270
+ });
65
271
  });
66
272
  });
67
273
  //# sourceMappingURL=custom-chart.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chart.spec.js","sourceRoot":"","sources":["../../src/react/custom-chart.spec.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-chart.spec.js","sourceRoot":"","sources":["../../src/react/custom-chart.spec.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CustomChartContextProps } from '../../main/custom-chart-context';
2
+ export declare const contextChartProps: CustomChartContextProps;
3
+ //# sourceMappingURL=custom-chart-context-hook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-chart-context-hook.d.ts","sourceRoot":"","sources":["../../../src/react/mocks/custom-chart-context-hook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAK1E,eAAO,MAAM,iBAAiB,EAAE,uBA2G/B,CAAC"}
@@ -0,0 +1,94 @@
1
+ import _ from 'lodash';
2
+ import { ColumnType } from '../../types/answer-column.types';
3
+ export const contextChartProps = {
4
+ getDefaultChartConfig: (chartModel) => {
5
+ const cols = chartModel.columns;
6
+ const measureColumns = _.filter(cols, (col) => col.type === ColumnType.MEASURE);
7
+ const attributeColumns = _.filter(cols, (col) => col.type === ColumnType.ATTRIBUTE);
8
+ const axisConfig = {
9
+ key: 'column',
10
+ dimensions: [
11
+ {
12
+ key: 'x',
13
+ columns: [attributeColumns[0]],
14
+ },
15
+ {
16
+ key: 'y',
17
+ columns: measureColumns.slice(0, 2),
18
+ },
19
+ ],
20
+ };
21
+ return [axisConfig];
22
+ },
23
+ getQueriesFromChartConfig: (chartConfig) => {
24
+ const queries = chartConfig.map((config) => _.reduce(config.dimensions, (acc, dimension) => ({
25
+ queryColumns: [
26
+ ...acc.queryColumns,
27
+ ...dimension.columns,
28
+ ],
29
+ }), {
30
+ queryColumns: [],
31
+ }));
32
+ return queries;
33
+ },
34
+ chartConfigEditorDefinition: [
35
+ {
36
+ key: 'column',
37
+ label: 'Custom Column',
38
+ descriptionText: 'X Axis can only have attributes, Y Axis can only have measures, Color can only have attributes. ' +
39
+ 'Should have just 1 column in Y axis with colors columns.',
40
+ columnSections: [
41
+ {
42
+ key: 'x',
43
+ label: 'Custom X Axis',
44
+ allowAttributeColumns: true,
45
+ allowMeasureColumns: false,
46
+ allowTimeSeriesColumns: true,
47
+ maxColumnCount: 1,
48
+ },
49
+ {
50
+ key: 'y',
51
+ label: 'Custom Y Axis',
52
+ allowAttributeColumns: false,
53
+ allowMeasureColumns: true,
54
+ allowTimeSeriesColumns: false,
55
+ },
56
+ ],
57
+ },
58
+ ],
59
+ visualPropEditorDefinition: {
60
+ elements: [
61
+ {
62
+ key: 'color',
63
+ type: 'radio',
64
+ defaultValue: 'red',
65
+ values: ['red', 'green', 'yellow'],
66
+ label: 'Colors',
67
+ },
68
+ {
69
+ type: 'section',
70
+ key: 'accordion',
71
+ label: 'Accordion',
72
+ children: [
73
+ {
74
+ key: 'Color2',
75
+ type: 'radio',
76
+ defaultValue: 'blue',
77
+ values: ['blue', 'white', 'red'],
78
+ label: 'Color2',
79
+ },
80
+ {
81
+ key: 'datalabels',
82
+ type: 'toggle',
83
+ defaultValue: false,
84
+ label: 'Data Labels',
85
+ },
86
+ ],
87
+ },
88
+ ],
89
+ },
90
+ renderChart: (cx) => {
91
+ return Promise.resolve();
92
+ },
93
+ };
94
+ //# sourceMappingURL=custom-chart-context-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-chart-context-hook.js","sourceRoot":"","sources":["../../../src/react/mocks/custom-chart-context-hook.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chart-context-mock.d.ts","sourceRoot":"","sources":["../../../src/react/mocks/custom-chart-context-mock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAK1E,eAAO,MAAM,iBAAiB,EAAE,uBA2G/B,CAAC"}
1
+ {"version":3,"file":"custom-chart-context-mock.d.ts","sourceRoot":"","sources":["../../../src/react/mocks/custom-chart-context-mock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAK1E,eAAO,MAAM,iBAAiB,EAAE,uBA6G/B,CAAC"}