@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
@@ -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":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAI7D,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACtD,qBAAqB,EAAE,CAAC,UAAsB,EAAiB,EAAE;QAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;QAEhC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAC3B,IAAI,EACJ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,CAC3C,CAAC;QAEF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAC7B,IAAI,EACJ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,CAC7C,CAAC;QAEF,MAAM,UAAU,GAAgB;YAC5B,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE;gBACR;oBACI,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iBACjC;gBACD;oBACI,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACtC;aACJ;SACJ,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;IACD,yBAAyB,EAAE,CAAC,WAA0B,EAAgB,EAAE;QACpE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAC3B,CAAC,MAAmB,EAAS,EAAE,CAC3B,CAAC,CAAC,MAAM,CACJ,MAAM,CAAC,UAAU,EACjB,CAAC,GAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACxB,YAAY,EAAE;gBACV,GAAG,GAAG,CAAC,YAAY;gBACnB,GAAG,SAAS,CAAC,OAAO;aACvB;SACJ,CAAC,EACF;YACI,YAAY,EAAE,EAAE;SACV,CACb,CACR,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,2BAA2B,EAAE;QACzB;YACI,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,eAAe;YACtB,eAAe,EACX,kGAAkG;gBAClG,0DAA0D;YAC9D,cAAc,EAAE;gBACZ;oBACI,GAAG,EAAE,GAAG;oBACR,KAAK,EAAE,eAAe;oBACtB,qBAAqB,EAAE,IAAI;oBAC3B,mBAAmB,EAAE,KAAK;oBAC1B,sBAAsB,EAAE,IAAI;oBAC5B,cAAc,EAAE,CAAC;iBACpB;gBACD;oBACI,GAAG,EAAE,GAAG;oBACR,KAAK,EAAE,eAAe;oBACtB,qBAAqB,EAAE,KAAK;oBAC5B,mBAAmB,EAAE,IAAI;oBACzB,sBAAsB,EAAE,KAAK;iBAChC;aACJ;SACJ;KACJ;IACD,0BAA0B,EAAE;QACxB,QAAQ,EAAE;YACN;gBACI,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAClC,KAAK,EAAE,QAAQ;aAClB;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,GAAG,EAAE,WAAW;gBAChB,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE;oBACN;wBACI,GAAG,EAAE,QAAQ;wBACb,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,MAAM;wBACpB,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;wBAChC,KAAK,EAAE,QAAQ;qBAClB;oBACD;wBACI,GAAG,EAAE,YAAY;wBACjB,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,KAAK;wBACnB,KAAK,EAAE,aAAa;qBACvB;iBACJ;aACJ;SACJ;KACJ;IACD,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;QAChB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { CustomChartContextProps } from '../../main/custom-chart-context';
2
+ export declare const contextChartProps: CustomChartContextProps;
3
+ //# sourceMappingURL=custom-chart-context-mock.d.ts.map
@@ -0,0 +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,uBA6G/B,CAAC"}
@@ -0,0 +1,96 @@
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
+ getVisualPropEditorDefinition: (chartModel) => {
60
+ return {
61
+ elements: [
62
+ {
63
+ key: 'color',
64
+ type: 'radio',
65
+ defaultValue: 'red',
66
+ values: ['red', 'green', 'yellow'],
67
+ label: 'Colors',
68
+ },
69
+ {
70
+ type: 'section',
71
+ key: 'accordion',
72
+ label: 'Accordion',
73
+ children: [
74
+ {
75
+ key: 'Color2',
76
+ type: 'radio',
77
+ defaultValue: 'blue',
78
+ values: ['blue', 'white', 'red'],
79
+ label: 'Color2',
80
+ },
81
+ {
82
+ key: 'datalabels',
83
+ type: 'toggle',
84
+ defaultValue: false,
85
+ label: 'Data Labels',
86
+ },
87
+ ],
88
+ },
89
+ ],
90
+ };
91
+ },
92
+ renderChart: (cx) => {
93
+ return Promise.resolve();
94
+ },
95
+ };
96
+ //# sourceMappingURL=custom-chart-context-mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-chart-context-mock.js","sourceRoot":"","sources":["../../../src/react/mocks/custom-chart-context-mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { CustomChartContextProps } from '../main/custom-chart-context';
2
+ import { ChartContextProps } from './use-custom-chart-types';
3
+ export declare const useChartContext: (props: Omit<CustomChartContextProps, 'renderChart'>) => ChartContextProps;
4
+ //# sourceMappingURL=use-custom-chart-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-custom-chart-context.d.ts","sourceRoot":"","sources":["../../src/react/use-custom-chart-context.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEH,uBAAuB,EAC1B,MAAM,8BAA8B,CAAC;AAYtC,OAAO,EACH,iBAAiB,EAEpB,MAAM,0BAA0B,CAAC;AAUlC,eAAO,MAAM,eAAe,UACjB,KAAK,uBAAuB,EAAE,aAAa,CAAC,KACpD,iBA2IF,CAAC"}