@thoughtspot/ts-chart-sdk 0.0.1-alpha.9 → 0.0.2-alpha.10
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.
- package/dist/ts-chart-sdk.d.ts +449 -31
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -0
- package/lib/index.js.map +1 -1
- package/lib/main/custom-chart-context.d.ts +17 -5
- package/lib/main/custom-chart-context.d.ts.map +1 -1
- package/lib/main/custom-chart-context.js +74 -34
- package/lib/main/custom-chart-context.js.map +1 -1
- package/lib/main/custom-chart-context.spec.js +256 -257
- package/lib/main/custom-chart-context.spec.js.map +1 -1
- package/lib/main/post-message-event-bridge.d.ts +3 -3
- package/lib/main/post-message-event-bridge.d.ts.map +1 -1
- package/lib/main/post-message-event-bridge.js +24 -36
- package/lib/main/post-message-event-bridge.js.map +1 -1
- package/lib/main/post-message-event-bridge.spec.js +0 -2
- package/lib/main/post-message-event-bridge.spec.js.map +1 -1
- package/lib/main/util.d.ts +2 -0
- package/lib/main/util.d.ts.map +1 -0
- package/lib/main/util.js +9 -0
- package/lib/main/util.js.map +1 -0
- package/lib/react/use-custom-chart-context.spec.js +128 -121
- package/lib/react/use-custom-chart-context.spec.js.map +1 -1
- package/lib/test/test-conditional-formatting-utils.d.ts +5 -0
- package/lib/test/test-conditional-formatting-utils.d.ts.map +1 -0
- package/lib/test/test-conditional-formatting-utils.js +43 -0
- package/lib/test/test-conditional-formatting-utils.js.map +1 -0
- package/lib/types/answer-column.types.d.ts +54 -1
- package/lib/types/answer-column.types.d.ts.map +1 -1
- package/lib/types/answer-column.types.js +47 -0
- package/lib/types/answer-column.types.js.map +1 -1
- package/lib/types/common.types.d.ts +51 -4
- package/lib/types/common.types.d.ts.map +1 -1
- package/lib/types/common.types.js +15 -1
- package/lib/types/common.types.js.map +1 -1
- package/lib/types/conditional-formatting.types.d.ts +155 -0
- package/lib/types/conditional-formatting.types.d.ts.map +1 -0
- package/lib/types/conditional-formatting.types.js +60 -0
- package/lib/types/conditional-formatting.types.js.map +1 -0
- package/lib/types/configurator.types.d.ts +5 -0
- package/lib/types/configurator.types.d.ts.map +1 -1
- package/lib/types/ts-to-chart-event.types.d.ts +3 -0
- package/lib/types/ts-to-chart-event.types.d.ts.map +1 -1
- package/lib/types/ts-to-chart-event.types.js.map +1 -1
- package/lib/types/visual-prop.types.d.ts +3 -0
- package/lib/types/visual-prop.types.d.ts.map +1 -1
- package/lib/utils/conditional-formatting/conditional-formatting.d.ts +10 -0
- package/lib/utils/conditional-formatting/conditional-formatting.d.ts.map +1 -0
- package/lib/utils/conditional-formatting/conditional-formatting.js +103 -0
- package/lib/utils/conditional-formatting/conditional-formatting.js.map +1 -0
- package/lib/utils/conditional-formatting/conditional-formatting.spec.d.ts +2 -0
- package/lib/utils/conditional-formatting/conditional-formatting.spec.d.ts.map +1 -0
- package/lib/utils/conditional-formatting/conditional-formatting.spec.js +142 -0
- package/lib/utils/conditional-formatting/conditional-formatting.spec.js.map +1 -0
- package/lib/utils/date-formatting.d.ts +19 -0
- package/lib/utils/date-formatting.d.ts.map +1 -0
- package/lib/utils/date-formatting.js +56 -0
- package/lib/utils/date-formatting.js.map +1 -0
- package/lib/utils/date-formatting.spec.d.ts +2 -0
- package/lib/utils/date-formatting.spec.d.ts.map +1 -0
- package/lib/utils/date-formatting.spec.js +124 -0
- package/lib/utils/date-formatting.spec.js.map +1 -0
- package/package.json +10 -7
- package/src/index.ts +3 -0
- package/src/main/custom-chart-context.spec.ts +291 -266
- package/src/main/custom-chart-context.ts +164 -46
- package/src/main/post-message-event-bridge.spec.ts +0 -3
- package/src/main/post-message-event-bridge.ts +36 -62
- package/src/main/util.ts +11 -0
- package/src/react/use-custom-chart-context.spec.tsx +149 -122
- package/src/test/test-conditional-formatting-utils.ts +95 -0
- package/src/types/answer-column.types.ts +98 -0
- package/src/types/common.types.ts +82 -10
- package/src/types/conditional-formatting.types.ts +172 -0
- package/src/types/configurator.types.ts +21 -0
- package/src/types/ts-to-chart-event.types.ts +15 -0
- package/src/types/visual-prop.types.ts +7 -0
- package/src/utils/conditional-formatting/conditional-formatting.spec.ts +469 -0
- package/src/utils/conditional-formatting/conditional-formatting.ts +229 -0
- package/src/utils/date-formatting.spec.ts +168 -0
- package/src/utils/date-formatting.ts +109 -0
- package/cjs/index.d.ts +0 -9
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -25
- package/cjs/index.js.map +0 -1
- package/cjs/main/custom-chart-context.d.ts +0 -47
- package/cjs/main/custom-chart-context.d.ts.map +0 -1
- package/cjs/main/custom-chart-context.js +0 -326
- package/cjs/main/custom-chart-context.js.map +0 -1
- package/cjs/main/custom-chart-context.spec.d.ts +0 -2
- package/cjs/main/custom-chart-context.spec.d.ts.map +0 -1
- package/cjs/main/custom-chart-context.spec.js +0 -699
- package/cjs/main/custom-chart-context.spec.js.map +0 -1
- package/cjs/main/post-message-event-bridge.d.ts +0 -6
- package/cjs/main/post-message-event-bridge.d.ts.map +0 -1
- package/cjs/main/post-message-event-bridge.js +0 -46
- package/cjs/main/post-message-event-bridge.js.map +0 -1
- package/cjs/main/post-message-event-bridge.spec.d.ts +0 -2
- package/cjs/main/post-message-event-bridge.spec.d.ts.map +0 -1
- package/cjs/main/post-message-event-bridge.spec.js +0 -124
- package/cjs/main/post-message-event-bridge.spec.js.map +0 -1
- package/cjs/react/custom-chart-context-service.d.ts +0 -33
- package/cjs/react/custom-chart-context-service.d.ts.map +0 -1
- package/cjs/react/custom-chart-context-service.js +0 -118
- package/cjs/react/custom-chart-context-service.js.map +0 -1
- package/cjs/react/custom-chart.context.d.ts +0 -26
- package/cjs/react/custom-chart.context.d.ts.map +0 -1
- package/cjs/react/custom-chart.context.js +0 -105
- package/cjs/react/custom-chart.context.js.map +0 -1
- package/cjs/react/custom-chart.spec.d.ts +0 -2
- package/cjs/react/custom-chart.spec.d.ts.map +0 -1
- package/cjs/react/custom-chart.spec.js +0 -72
- package/cjs/react/custom-chart.spec.js.map +0 -1
- package/cjs/react/mocks/custom-chart-context-mock.d.ts +0 -3
- package/cjs/react/mocks/custom-chart-context-mock.d.ts.map +0 -1
- package/cjs/react/mocks/custom-chart-context-mock.js +0 -100
- package/cjs/react/mocks/custom-chart-context-mock.js.map +0 -1
- package/cjs/react/use-custom-chart-context.d.ts +0 -4
- package/cjs/react/use-custom-chart-context.d.ts.map +0 -1
- package/cjs/react/use-custom-chart-context.js +0 -95
- package/cjs/react/use-custom-chart-context.js.map +0 -1
- package/cjs/react/use-custom-chart-context.spec.d.ts +0 -2
- package/cjs/react/use-custom-chart-context.spec.d.ts.map +0 -1
- package/cjs/react/use-custom-chart-context.spec.js +0 -391
- package/cjs/react/use-custom-chart-context.spec.js.map +0 -1
- package/cjs/react/use-custom-chart-context.util.d.ts +0 -6
- package/cjs/react/use-custom-chart-context.util.d.ts.map +0 -1
- package/cjs/react/use-custom-chart-context.util.js +0 -60
- package/cjs/react/use-custom-chart-context.util.js.map +0 -1
- package/cjs/react/use-custom-chart-types.d.ts +0 -23
- package/cjs/react/use-custom-chart-types.d.ts.map +0 -1
- package/cjs/react/use-custom-chart-types.js +0 -3
- package/cjs/react/use-custom-chart-types.js.map +0 -1
- package/cjs/test/test-utils.d.ts +0 -7
- package/cjs/test/test-utils.d.ts.map +0 -1
- package/cjs/test/test-utils.js +0 -14
- package/cjs/test/test-utils.js.map +0 -1
- package/cjs/types/answer-column.types.d.ts +0 -69
- package/cjs/types/answer-column.types.d.ts.map +0 -1
- package/cjs/types/answer-column.types.js +0 -59
- package/cjs/types/answer-column.types.js.map +0 -1
- package/cjs/types/chart-to-ts-event.types.d.ts +0 -98
- package/cjs/types/chart-to-ts-event.types.d.ts.map +0 -1
- package/cjs/types/chart-to-ts-event.types.js +0 -32
- package/cjs/types/chart-to-ts-event.types.js.map +0 -1
- package/cjs/types/common.types.d.ts +0 -51
- package/cjs/types/common.types.d.ts.map +0 -1
- package/cjs/types/common.types.js +0 -3
- package/cjs/types/common.types.js.map +0 -1
- package/cjs/types/configurator.types.d.ts +0 -15
- package/cjs/types/configurator.types.d.ts.map +0 -1
- package/cjs/types/configurator.types.js +0 -3
- package/cjs/types/configurator.types.js.map +0 -1
- package/cjs/types/ts-to-chart-event.types.d.ts +0 -91
- package/cjs/types/ts-to-chart-event.types.d.ts.map +0 -1
- package/cjs/types/ts-to-chart-event.types.js +0 -18
- package/cjs/types/ts-to-chart-event.types.js.map +0 -1
- package/cjs/types/visual-prop.types.d.ts +0 -73
- package/cjs/types/visual-prop.types.d.ts.map +0 -1
- package/cjs/types/visual-prop.types.js +0 -3
- package/cjs/types/visual-prop.types.js.map +0 -1
- package/lib/dist/ts-chart-sdk.d.ts +0 -312
- package/lib/react/custom-chart-context-service.d.ts +0 -33
- package/lib/react/custom-chart-context-service.d.ts.map +0 -1
- package/lib/react/custom-chart-context-service.js +0 -91
- package/lib/react/custom-chart-context-service.js.map +0 -1
- package/lib/react/custom-chart.context.d.ts +0 -26
- package/lib/react/custom-chart.context.d.ts.map +0 -1
- package/lib/react/custom-chart.context.js +0 -78
- package/lib/react/custom-chart.context.js.map +0 -1
- package/lib/react/custom-chart.spec.d.ts +0 -2
- package/lib/react/custom-chart.spec.d.ts.map +0 -1
- package/lib/react/custom-chart.spec.js +0 -67
- package/lib/react/custom-chart.spec.js.map +0 -1
|
@@ -11,7 +11,7 @@ import { TSToChartEvent } from '../types/ts-to-chart-event.types';
|
|
|
11
11
|
import { CustomChartContext, getChartContext } from './custom-chart-context';
|
|
12
12
|
import * as PostMessageEventBridge from './post-message-event-bridge';
|
|
13
13
|
|
|
14
|
-
jest.mock('./post-message-event-bridge');
|
|
14
|
+
// jest.mock('./post-message-event-bridge');
|
|
15
15
|
|
|
16
16
|
jest.spyOn(console, 'log').mockImplementation(() => {
|
|
17
17
|
// do nothing.
|
|
@@ -39,6 +39,7 @@ describe('CustomChartContext', () => {
|
|
|
39
39
|
|
|
40
40
|
mockInitMessage.mockImplementation((fn: any) => {
|
|
41
41
|
eventProcessor = fn;
|
|
42
|
+
return () => null;
|
|
42
43
|
});
|
|
43
44
|
|
|
44
45
|
mockPostMessageToHost.mockImplementation(() => {
|
|
@@ -85,64 +86,110 @@ describe('CustomChartContext', () => {
|
|
|
85
86
|
const promise = customChartContext.initialize();
|
|
86
87
|
|
|
87
88
|
// Check that the hasInitializedPromise has resolved
|
|
88
|
-
|
|
89
|
-
eventProcessor({
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
eventType: TSToChartEvent.Initialize,
|
|
93
|
-
source: 'ts-host-app',
|
|
94
|
-
},
|
|
95
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
89
|
+
|
|
90
|
+
const initResp = await eventProcessor({
|
|
91
|
+
payload: mockInitializeContextPayload,
|
|
92
|
+
eventType: TSToChartEvent.Initialize,
|
|
96
93
|
});
|
|
97
94
|
|
|
98
95
|
eventProcessor({
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
eventType: TSToChartEvent.InitializeComplete,
|
|
102
|
-
source: 'ts-host-app',
|
|
103
|
-
},
|
|
104
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
96
|
+
payload: {},
|
|
97
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
105
98
|
});
|
|
106
99
|
|
|
107
100
|
await expect(promise).resolves.toBeUndefined();
|
|
108
|
-
expect(mockPostMessage).toHaveBeenCalledTimes(2);
|
|
109
101
|
|
|
110
|
-
expect(
|
|
102
|
+
expect(initResp).toEqual({
|
|
111
103
|
isConfigValid: false,
|
|
112
104
|
defaultChartConfig: undefined,
|
|
113
105
|
chartConfigEditorDefinition: undefined,
|
|
114
106
|
visualPropEditorDefinition: undefined,
|
|
107
|
+
allowedConfigurations: {
|
|
108
|
+
allowColumnNumberFormatting: false,
|
|
109
|
+
allowColumnConditionalFormatting: false,
|
|
110
|
+
allowMeasureNamesAndValues: false,
|
|
111
|
+
},
|
|
115
112
|
});
|
|
116
|
-
expect(mockPostMessage).toHaveBeenCalled();
|
|
117
113
|
expect(mockPostMessageToHost).not.toHaveBeenCalled();
|
|
118
114
|
});
|
|
119
115
|
|
|
120
|
-
test('
|
|
116
|
+
test('type check string for visualProps on initialize payload should not throw an error.', async () => {
|
|
117
|
+
expect(mockInitMessage).toHaveBeenCalled();
|
|
118
|
+
|
|
121
119
|
// Call the initialize function and wait for it to resolve
|
|
122
120
|
const promise = customChartContext.initialize();
|
|
123
121
|
|
|
124
122
|
// Check that the hasInitializedPromise has resolved
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
123
|
+
|
|
124
|
+
const mockInitializeContextPayloadWithVisualProps = {
|
|
125
|
+
...mockInitializeContextPayload,
|
|
126
|
+
chartModel: {
|
|
127
|
+
...mockInitializeContextPayload.chartModel,
|
|
128
|
+
visualProps: 'visualPropStringPayload',
|
|
131
129
|
},
|
|
132
|
-
|
|
133
|
-
});
|
|
130
|
+
};
|
|
134
131
|
|
|
132
|
+
await eventProcessor({
|
|
133
|
+
payload: mockInitializeContextPayloadWithVisualProps,
|
|
134
|
+
eventType: TSToChartEvent.Initialize,
|
|
135
|
+
});
|
|
135
136
|
eventProcessor({
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
eventType: TSToChartEvent.InitializeComplete,
|
|
139
|
-
source: 'ts-host-app',
|
|
140
|
-
},
|
|
141
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
137
|
+
payload: {},
|
|
138
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
142
139
|
});
|
|
140
|
+
await expect(promise).resolves.toBeUndefined();
|
|
141
|
+
const chartModel = customChartContext.getChartModel();
|
|
142
|
+
expect(typeof chartModel.visualProps).toEqual('string');
|
|
143
|
+
expect(chartModel.visualProps).toEqual('visualPropStringPayload');
|
|
144
|
+
expect(mockPostMessageToHost).not.toHaveBeenCalled();
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
test('type check object for visualProps on initialize payload should not throw an error.', async () => {
|
|
148
|
+
expect(mockInitMessage).toHaveBeenCalled();
|
|
143
149
|
|
|
150
|
+
// Call the initialize function and wait for it to resolve
|
|
151
|
+
const promise = customChartContext.initialize();
|
|
152
|
+
|
|
153
|
+
// Check that the hasInitializedPromise has resolved
|
|
154
|
+
|
|
155
|
+
const mockInitializeContextPayloadWithVisualProps = {
|
|
156
|
+
...mockInitializeContextPayload,
|
|
157
|
+
chartModel: {
|
|
158
|
+
...mockInitializeContextPayload.chartModel,
|
|
159
|
+
visualProps: {
|
|
160
|
+
data: 'sample data',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
await eventProcessor({
|
|
166
|
+
payload: mockInitializeContextPayloadWithVisualProps,
|
|
167
|
+
eventType: TSToChartEvent.Initialize,
|
|
168
|
+
});
|
|
169
|
+
eventProcessor({
|
|
170
|
+
payload: {},
|
|
171
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
172
|
+
});
|
|
144
173
|
await expect(promise).resolves.toBeUndefined();
|
|
174
|
+
const chartModel = customChartContext.getChartModel();
|
|
175
|
+
expect(typeof chartModel.visualProps).toEqual('object');
|
|
176
|
+
expect(chartModel.visualProps).toEqual({
|
|
177
|
+
data: 'sample data',
|
|
178
|
+
});
|
|
179
|
+
expect(mockPostMessageToHost).not.toHaveBeenCalled();
|
|
180
|
+
});
|
|
145
181
|
|
|
182
|
+
test('multiple intializations should throw an error', async () => {
|
|
183
|
+
// Call the initialize function and wait for it to resolve
|
|
184
|
+
getChartContext({
|
|
185
|
+
getDefaultChartConfig,
|
|
186
|
+
getQueriesFromChartConfig,
|
|
187
|
+
renderChart,
|
|
188
|
+
});
|
|
189
|
+
eventProcessor({
|
|
190
|
+
payload: {},
|
|
191
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
192
|
+
});
|
|
146
193
|
let error;
|
|
147
194
|
try {
|
|
148
195
|
customChartContext = new CustomChartContext({
|
|
@@ -184,126 +231,192 @@ describe('CustomChartContext', () => {
|
|
|
184
231
|
eventProcessor = null;
|
|
185
232
|
});
|
|
186
233
|
|
|
187
|
-
test('
|
|
188
|
-
|
|
234
|
+
test('TSToChartEvent.ChartConfigValidate validation response testing', async () => {
|
|
235
|
+
// Define initial context with object definitions
|
|
236
|
+
customChartContext = new CustomChartContext({
|
|
237
|
+
getDefaultChartConfig,
|
|
238
|
+
getQueriesFromChartConfig,
|
|
239
|
+
renderChart,
|
|
240
|
+
visualPropEditorDefinition: { elements: [] },
|
|
241
|
+
chartConfigEditorDefinition: [],
|
|
242
|
+
});
|
|
189
243
|
|
|
190
|
-
//
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
244
|
+
// Trigger event processor with initial context
|
|
245
|
+
const responseWithInitialContext = await eventProcessor({
|
|
246
|
+
payload: mockInitializeContextPayload,
|
|
247
|
+
eventType: TSToChartEvent.ChartConfigValidate,
|
|
248
|
+
source: 'ts-host-app',
|
|
249
|
+
});
|
|
250
|
+
// Verify response with object definitions
|
|
251
|
+
expect(responseWithInitialContext).toStrictEqual({
|
|
252
|
+
isValid: true,
|
|
253
|
+
visualPropEditorDefinition: { elements: [] },
|
|
254
|
+
chartConfigEditorDefinition: [],
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
// Redefine context with function-returned definitions
|
|
258
|
+
customChartContext = new CustomChartContext({
|
|
259
|
+
getDefaultChartConfig,
|
|
260
|
+
getQueriesFromChartConfig,
|
|
261
|
+
renderChart,
|
|
262
|
+
visualPropEditorDefinition: () => {
|
|
263
|
+
return { elements: [] };
|
|
264
|
+
},
|
|
265
|
+
chartConfigEditorDefinition: () => {
|
|
266
|
+
return [
|
|
267
|
+
{
|
|
268
|
+
key: 'x',
|
|
269
|
+
columnSections: [{ label: 'x-axis', key: 'x' }],
|
|
270
|
+
},
|
|
271
|
+
];
|
|
197
272
|
},
|
|
198
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
199
273
|
});
|
|
200
|
-
//
|
|
201
|
-
|
|
202
|
-
|
|
274
|
+
// Trigger event processor with updated context
|
|
275
|
+
const responseWithUpdatedContext = await eventProcessor({
|
|
276
|
+
payload: mockInitializeContextPayload,
|
|
277
|
+
eventType: TSToChartEvent.ChartConfigValidate,
|
|
278
|
+
source: 'ts-host-app',
|
|
279
|
+
});
|
|
280
|
+
// Verify response with function-returned definitions
|
|
281
|
+
expect(responseWithUpdatedContext).toStrictEqual({
|
|
282
|
+
isValid: true,
|
|
283
|
+
visualPropEditorDefinition: { elements: [] },
|
|
284
|
+
chartConfigEditorDefinition: [
|
|
285
|
+
{
|
|
286
|
+
key: 'x',
|
|
287
|
+
columnSections: [{ label: 'x-axis', key: 'x' }],
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
});
|
|
203
291
|
});
|
|
204
292
|
|
|
205
|
-
test('
|
|
293
|
+
test('TSToChartEvent.validateVisualProps validation response testing', () => {
|
|
294
|
+
// Define initial context with object definitions
|
|
295
|
+
customChartContext = new CustomChartContext({
|
|
296
|
+
getDefaultChartConfig,
|
|
297
|
+
getQueriesFromChartConfig,
|
|
298
|
+
renderChart,
|
|
299
|
+
visualPropEditorDefinition: { elements: [] },
|
|
300
|
+
chartConfigEditorDefinition: [],
|
|
301
|
+
});
|
|
302
|
+
|
|
303
|
+
// Trigger event processor with initial context
|
|
304
|
+
const responseWithInitialContext = eventProcessor({
|
|
305
|
+
payload: mockInitializeContextPayload,
|
|
306
|
+
eventType: TSToChartEvent.VisualPropsValidate,
|
|
307
|
+
source: 'ts-host-app',
|
|
308
|
+
});
|
|
309
|
+
// Verify response with object definitions
|
|
310
|
+
expect(responseWithInitialContext).toStrictEqual({
|
|
311
|
+
isValid: true,
|
|
312
|
+
visualPropEditorDefinition: { elements: [] },
|
|
313
|
+
chartConfigEditorDefinition: [],
|
|
314
|
+
});
|
|
315
|
+
// Redefine context with function-returned definitions
|
|
316
|
+
customChartContext = new CustomChartContext({
|
|
317
|
+
getDefaultChartConfig,
|
|
318
|
+
getQueriesFromChartConfig,
|
|
319
|
+
renderChart,
|
|
320
|
+
visualPropEditorDefinition: () => {
|
|
321
|
+
return { elements: [] };
|
|
322
|
+
},
|
|
323
|
+
chartConfigEditorDefinition: () => {
|
|
324
|
+
return [
|
|
325
|
+
{
|
|
326
|
+
key: 'x',
|
|
327
|
+
columnSections: [{ label: 'x-axis', key: 'x' }],
|
|
328
|
+
},
|
|
329
|
+
];
|
|
330
|
+
},
|
|
331
|
+
});
|
|
332
|
+
// Trigger event processor with updated context
|
|
333
|
+
const responseWithFunctionReturnedValues = eventProcessor({
|
|
334
|
+
payload: mockInitializeContextPayload,
|
|
335
|
+
eventType: TSToChartEvent.VisualPropsValidate,
|
|
336
|
+
source: 'ts-host-app',
|
|
337
|
+
});
|
|
338
|
+
// Verify response with function-returned definitions
|
|
339
|
+
expect(responseWithFunctionReturnedValues).toStrictEqual({
|
|
340
|
+
isValid: true,
|
|
341
|
+
visualPropEditorDefinition: { elements: [] },
|
|
342
|
+
chartConfigEditorDefinition: [
|
|
343
|
+
{
|
|
344
|
+
key: 'x',
|
|
345
|
+
columnSections: [{ label: 'x-axis', key: 'x' }],
|
|
346
|
+
},
|
|
347
|
+
],
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
|
|
351
|
+
test('should not trigger post message if host is not accurate', async () => {
|
|
206
352
|
expect(mockInitMessage).toHaveBeenCalled();
|
|
207
353
|
|
|
208
354
|
// mock the event trigger for ChartConfigValidate
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
payload: mockInitializeContextPayload,
|
|
213
|
-
eventType: TSToChartEvent.ChartConfigValidate,
|
|
214
|
-
source: 'ts-host-app',
|
|
215
|
-
},
|
|
216
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
355
|
+
const validateChartConfigResp = await eventProcessor({
|
|
356
|
+
payload: mockInitializeContextPayload,
|
|
357
|
+
eventType: TSToChartEvent.ChartConfigValidate,
|
|
217
358
|
});
|
|
218
359
|
// Check that the response was received
|
|
219
|
-
expect(
|
|
360
|
+
expect(validateChartConfigResp).toEqual({
|
|
220
361
|
isValid: true,
|
|
221
362
|
});
|
|
222
|
-
mockPostMessage.mockReset();
|
|
223
363
|
|
|
224
364
|
// mock the event trigger for VisualPropsValidate
|
|
225
|
-
eventProcessor({
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
eventType: TSToChartEvent.VisualPropsValidate,
|
|
229
|
-
source: 'ts-host-app',
|
|
230
|
-
},
|
|
231
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
365
|
+
const validateVisualPropsResp = await eventProcessor({
|
|
366
|
+
payload: mockInitializeContextPayload,
|
|
367
|
+
eventType: TSToChartEvent.VisualPropsValidate,
|
|
232
368
|
});
|
|
233
369
|
// Check that the response was received
|
|
234
|
-
expect(
|
|
370
|
+
expect(validateVisualPropsResp).toEqual({
|
|
235
371
|
isValid: true,
|
|
236
372
|
});
|
|
237
373
|
|
|
238
|
-
mockPostMessage.mockReset();
|
|
239
|
-
|
|
240
374
|
// mock the event trigger for TriggerRenderChart
|
|
241
|
-
eventProcessor({
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
eventType: TSToChartEvent.TriggerRenderChart,
|
|
245
|
-
source: 'ts-host-app',
|
|
246
|
-
},
|
|
247
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
375
|
+
const renderResp = await eventProcessor({
|
|
376
|
+
payload: mockInitializeContextPayload,
|
|
377
|
+
eventType: TSToChartEvent.TriggerRenderChart,
|
|
248
378
|
});
|
|
249
379
|
// Check that the response was received
|
|
250
|
-
expect(mockPostMessage).toHaveBeenCalledWith({});
|
|
251
380
|
expect(renderChart).toHaveBeenCalled();
|
|
252
381
|
|
|
253
|
-
mockPostMessage.mockReset();
|
|
254
|
-
|
|
255
382
|
// mock the event trigger for getQueriesFromChartConfig
|
|
256
383
|
eventProcessor({
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
eventType: TSToChartEvent.GetDataQuery,
|
|
260
|
-
source: 'ts-host-app',
|
|
261
|
-
},
|
|
262
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
384
|
+
payload: mockInitializeContextPayload,
|
|
385
|
+
eventType: TSToChartEvent.GetDataQuery,
|
|
263
386
|
});
|
|
264
|
-
|
|
265
|
-
expect(mockPostMessage).toHaveBeenCalledWith({});
|
|
387
|
+
|
|
266
388
|
expect(getQueriesFromChartConfig).toHaveBeenCalled();
|
|
267
389
|
});
|
|
268
390
|
|
|
269
|
-
test('default external function testing', () => {
|
|
391
|
+
test('default external function testing', async () => {
|
|
270
392
|
expect(mockInitMessage).toHaveBeenCalled();
|
|
271
393
|
|
|
272
394
|
// mock the event trigger for DataUpdate
|
|
273
|
-
|
|
274
|
-
eventProcessor({
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
data: 'random data',
|
|
278
|
-
},
|
|
279
|
-
eventType: TSToChartEvent.DataUpdate,
|
|
280
|
-
source: 'ts-host-app',
|
|
395
|
+
|
|
396
|
+
const dataUpdateResp = await eventProcessor({
|
|
397
|
+
payload: {
|
|
398
|
+
data: 'random data',
|
|
281
399
|
},
|
|
282
|
-
|
|
400
|
+
eventType: TSToChartEvent.DataUpdate,
|
|
283
401
|
});
|
|
284
402
|
// Check that the response was received
|
|
285
|
-
expect(
|
|
403
|
+
expect(dataUpdateResp).toEqual({
|
|
286
404
|
triggerRenderChart: true,
|
|
287
405
|
});
|
|
288
406
|
expect(customChartContext.getChartModel().data).toBe('random data');
|
|
289
|
-
mockPostMessage.mockReset();
|
|
290
407
|
|
|
291
408
|
// mock the event trigger for VisualPropsValidate
|
|
292
|
-
eventProcessor({
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
visualProps: null,
|
|
298
|
-
},
|
|
409
|
+
const modelUpdateResp = await eventProcessor({
|
|
410
|
+
payload: {
|
|
411
|
+
chartModel: {
|
|
412
|
+
data: 'random data2',
|
|
413
|
+
visualProps: null,
|
|
299
414
|
},
|
|
300
|
-
eventType: TSToChartEvent.ChartModelUpdate,
|
|
301
|
-
source: 'ts-host-app',
|
|
302
415
|
},
|
|
303
|
-
|
|
416
|
+
eventType: TSToChartEvent.ChartModelUpdate,
|
|
304
417
|
});
|
|
305
418
|
// Check that the response was received
|
|
306
|
-
expect(
|
|
419
|
+
expect(modelUpdateResp).toEqual({
|
|
307
420
|
triggerRenderChart: true,
|
|
308
421
|
});
|
|
309
422
|
expect(customChartContext.getChartModel().data).toBe(
|
|
@@ -311,27 +424,20 @@ describe('CustomChartContext', () => {
|
|
|
311
424
|
);
|
|
312
425
|
expect(customChartContext.getChartModel().visualProps).toBe(null);
|
|
313
426
|
|
|
314
|
-
mockPostMessage.mockReset();
|
|
315
|
-
|
|
316
427
|
// mock the event trigger for VisualPropsUpdate
|
|
317
|
-
eventProcessor({
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
visualProps: 'random data',
|
|
321
|
-
},
|
|
322
|
-
eventType: TSToChartEvent.VisualPropsUpdate,
|
|
323
|
-
source: 'ts-host-app',
|
|
428
|
+
const visualPropsUpdateResp = await eventProcessor({
|
|
429
|
+
payload: {
|
|
430
|
+
visualProps: 'random data',
|
|
324
431
|
},
|
|
325
|
-
|
|
432
|
+
eventType: TSToChartEvent.VisualPropsUpdate,
|
|
326
433
|
});
|
|
327
434
|
// Check that the response was received
|
|
328
|
-
expect(
|
|
435
|
+
expect(visualPropsUpdateResp).toEqual({
|
|
329
436
|
triggerRenderChart: true,
|
|
330
437
|
});
|
|
331
438
|
expect(customChartContext.getChartModel().visualProps).toBe(
|
|
332
439
|
'random data',
|
|
333
440
|
);
|
|
334
|
-
mockPostMessage.mockReset();
|
|
335
441
|
|
|
336
442
|
// mock the event trigger for AxisMenuActionClick
|
|
337
443
|
customChartContext.axisMenuCustomActionPreProcessor([
|
|
@@ -346,22 +452,18 @@ describe('CustomChartContext', () => {
|
|
|
346
452
|
],
|
|
347
453
|
},
|
|
348
454
|
] as any);
|
|
349
|
-
eventProcessor({
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
columnIds: ['9f96b5b0-f7e4-4a5e-aa11-4c77fdf42125'],
|
|
355
|
-
},
|
|
455
|
+
const axisMenuClickResp = await eventProcessor({
|
|
456
|
+
payload: {
|
|
457
|
+
customAction: {
|
|
458
|
+
id: 'custom-action-1',
|
|
459
|
+
columnIds: ['9f96b5b0-f7e4-4a5e-aa11-4c77fdf42125'],
|
|
356
460
|
},
|
|
357
|
-
eventType: TSToChartEvent.AxisMenuActionClick,
|
|
358
|
-
source: 'ts-host-app',
|
|
359
461
|
},
|
|
360
|
-
|
|
462
|
+
eventType: TSToChartEvent.AxisMenuActionClick,
|
|
361
463
|
});
|
|
362
464
|
// Check that the response was valid which means action gets
|
|
363
465
|
// executed successfully
|
|
364
|
-
expect(
|
|
466
|
+
expect(axisMenuClickResp).toEqual({
|
|
365
467
|
isValid: true,
|
|
366
468
|
});
|
|
367
469
|
|
|
@@ -378,22 +480,18 @@ describe('CustomChartContext', () => {
|
|
|
378
480
|
],
|
|
379
481
|
},
|
|
380
482
|
] as any);
|
|
381
|
-
eventProcessor({
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
columnIds: ['9f96b5b0-f7e4-4a5e-aa11-4c77fdf42125'],
|
|
387
|
-
},
|
|
483
|
+
const ctxMenuResp = await eventProcessor({
|
|
484
|
+
payload: {
|
|
485
|
+
customAction: {
|
|
486
|
+
id: 'custom-action-1',
|
|
487
|
+
columnIds: ['9f96b5b0-f7e4-4a5e-aa11-4c77fdf42125'],
|
|
388
488
|
},
|
|
389
|
-
eventType: TSToChartEvent.ContextMenuActionClick,
|
|
390
|
-
source: 'ts-host-app',
|
|
391
489
|
},
|
|
392
|
-
|
|
490
|
+
eventType: TSToChartEvent.ContextMenuActionClick,
|
|
393
491
|
});
|
|
394
492
|
// Check that the response was valid which means action gets
|
|
395
493
|
// executed successfully
|
|
396
|
-
expect(
|
|
494
|
+
expect(ctxMenuResp).toEqual({
|
|
397
495
|
isValid: true,
|
|
398
496
|
});
|
|
399
497
|
});
|
|
@@ -408,38 +506,30 @@ describe('CustomChartContext', () => {
|
|
|
408
506
|
customChartContext.on(TEST_EVENT_TYPE, testCallbackFn);
|
|
409
507
|
|
|
410
508
|
// mock the event trigger
|
|
411
|
-
|
|
509
|
+
|
|
412
510
|
eventProcessor({
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
eventType: TEST_EVENT_TYPE,
|
|
416
|
-
source: 'ts-host-app',
|
|
417
|
-
},
|
|
418
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
511
|
+
payload: mockInitializeContextPayload,
|
|
512
|
+
eventType: TEST_EVENT_TYPE,
|
|
419
513
|
});
|
|
420
514
|
// Check that the event listener was added to the eventListeners
|
|
421
515
|
// object
|
|
422
516
|
expect(testCallbackFn).toHaveBeenCalled();
|
|
423
517
|
});
|
|
424
518
|
|
|
425
|
-
test('should respond with an error to an unspecified event type', () => {
|
|
519
|
+
test('should respond with an error to an unspecified event type', async () => {
|
|
426
520
|
expect(mockInitMessage).toHaveBeenCalled();
|
|
427
521
|
// Define a test event type and callback function
|
|
428
522
|
const TEST_EVENT_TYPE = 'testEventType' as any;
|
|
429
523
|
|
|
430
524
|
// mock the event trigger
|
|
431
|
-
|
|
432
|
-
eventProcessor({
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
eventType: TEST_EVENT_TYPE,
|
|
436
|
-
source: 'ts-host-app',
|
|
437
|
-
},
|
|
438
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
525
|
+
|
|
526
|
+
const resp = await eventProcessor({
|
|
527
|
+
payload: mockInitializeContextPayload,
|
|
528
|
+
eventType: TEST_EVENT_TYPE,
|
|
439
529
|
});
|
|
440
530
|
// Check that the event listener was added to the eventListeners
|
|
441
531
|
// object
|
|
442
|
-
expect(
|
|
532
|
+
expect(resp).toEqual({
|
|
443
533
|
hasError: true,
|
|
444
534
|
error: `Event type not recognised or processed: ${TEST_EVENT_TYPE}`,
|
|
445
535
|
});
|
|
@@ -473,14 +563,10 @@ describe('CustomChartContext', () => {
|
|
|
473
563
|
customChartContext.on(TEST_EVENT_TYPE, testCallbackFn);
|
|
474
564
|
|
|
475
565
|
// mock the event trigger for the test event type
|
|
476
|
-
|
|
566
|
+
|
|
477
567
|
eventProcessor({
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
eventType: TEST_EVENT_TYPE,
|
|
481
|
-
source: 'ts-host-app',
|
|
482
|
-
},
|
|
483
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
568
|
+
payload: mockInitializeContextPayload,
|
|
569
|
+
eventType: TEST_EVENT_TYPE,
|
|
484
570
|
});
|
|
485
571
|
|
|
486
572
|
// Call the off function to remove the event listener
|
|
@@ -514,22 +600,14 @@ describe('CustomChartContext', () => {
|
|
|
514
600
|
).toHaveLength(1);
|
|
515
601
|
|
|
516
602
|
// Emit events for both event types
|
|
517
|
-
|
|
603
|
+
|
|
518
604
|
eventProcessor({
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
eventType: TEST_EVENT_TYPE_1,
|
|
522
|
-
source: 'ts-host-app',
|
|
523
|
-
},
|
|
524
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
605
|
+
payload: {},
|
|
606
|
+
eventType: TEST_EVENT_TYPE_1,
|
|
525
607
|
});
|
|
526
608
|
eventProcessor({
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
eventType: TEST_EVENT_TYPE_2,
|
|
530
|
-
source: 'ts-host-app',
|
|
531
|
-
},
|
|
532
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
609
|
+
payload: {},
|
|
610
|
+
eventType: TEST_EVENT_TYPE_2,
|
|
533
611
|
});
|
|
534
612
|
|
|
535
613
|
// Check that both callback functions were called
|
|
@@ -596,28 +674,19 @@ describe('CustomChartContext', () => {
|
|
|
596
674
|
|
|
597
675
|
test('should resolve the promise if the chart context is initialized', async () => {
|
|
598
676
|
// Check that the hasInitializedPromise has resolved
|
|
599
|
-
|
|
677
|
+
|
|
600
678
|
eventProcessor({
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
eventType: TSToChartEvent.Initialize,
|
|
604
|
-
source: 'ts-host-app',
|
|
605
|
-
},
|
|
606
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
679
|
+
payload: mockInitializeContextPayload,
|
|
680
|
+
eventType: TSToChartEvent.Initialize,
|
|
607
681
|
});
|
|
608
682
|
|
|
609
683
|
eventProcessor({
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
eventType: TSToChartEvent.InitializeComplete,
|
|
613
|
-
source: 'ts-host-app',
|
|
614
|
-
},
|
|
615
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
684
|
+
payload: {},
|
|
685
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
616
686
|
});
|
|
617
687
|
|
|
618
688
|
const promise = customChartContext.initialize();
|
|
619
689
|
await expect(promise).resolves.toBeUndefined();
|
|
620
|
-
expect(mockPostMessage).toHaveBeenCalledTimes(2);
|
|
621
690
|
|
|
622
691
|
// define mock response for the postMessage response promise
|
|
623
692
|
let resolve: any;
|
|
@@ -672,24 +741,15 @@ describe('CustomChartContext', () => {
|
|
|
672
741
|
);
|
|
673
742
|
});
|
|
674
743
|
test('should process the event payload for context menu custom actions', async () => {
|
|
675
|
-
const mockPostMessage = jest.fn();
|
|
676
744
|
const mockCustomAction = jest.fn();
|
|
677
745
|
let resolve: any;
|
|
678
746
|
eventProcessor({
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
eventType: TSToChartEvent.Initialize,
|
|
682
|
-
source: 'ts-host-app',
|
|
683
|
-
},
|
|
684
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
747
|
+
payload: mockInitializeContextPayload,
|
|
748
|
+
eventType: TSToChartEvent.Initialize,
|
|
685
749
|
});
|
|
686
750
|
eventProcessor({
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
eventType: TSToChartEvent.InitializeComplete,
|
|
690
|
-
source: 'ts-host-app',
|
|
691
|
-
},
|
|
692
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
751
|
+
payload: {},
|
|
752
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
693
753
|
});
|
|
694
754
|
customChartContext.initialize();
|
|
695
755
|
mockPostMessageToHost.mockImplementation(
|
|
@@ -731,19 +791,15 @@ describe('CustomChartContext', () => {
|
|
|
731
791
|
TEST_EVENT_TYPE,
|
|
732
792
|
);
|
|
733
793
|
eventProcessor({
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
selectedPoints: [{}],
|
|
741
|
-
},
|
|
794
|
+
payload: {
|
|
795
|
+
customAction: {
|
|
796
|
+
id: 'custom-action-1',
|
|
797
|
+
clickedPoint: {},
|
|
798
|
+
event: {},
|
|
799
|
+
selectedPoints: [{}],
|
|
742
800
|
},
|
|
743
|
-
eventType: TSToChartEvent.ContextMenuActionClick,
|
|
744
|
-
source: 'ts-host-app',
|
|
745
801
|
},
|
|
746
|
-
|
|
802
|
+
eventType: TSToChartEvent.ContextMenuActionClick,
|
|
747
803
|
});
|
|
748
804
|
expect(mockCustomAction).toHaveBeenCalled();
|
|
749
805
|
expect(mockCustomAction).toHaveBeenCalledWith({
|
|
@@ -754,24 +810,15 @@ describe('CustomChartContext', () => {
|
|
|
754
810
|
});
|
|
755
811
|
});
|
|
756
812
|
test('should process the event payload for axis menu custom actions', async () => {
|
|
757
|
-
const mockPostMessage = jest.fn();
|
|
758
813
|
const mockCustomAction = jest.fn();
|
|
759
814
|
let resolve: any;
|
|
760
815
|
eventProcessor({
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
eventType: TSToChartEvent.Initialize,
|
|
764
|
-
source: 'ts-host-app',
|
|
765
|
-
},
|
|
766
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
816
|
+
payload: mockInitializeContextPayload,
|
|
817
|
+
eventType: TSToChartEvent.Initialize,
|
|
767
818
|
});
|
|
768
819
|
eventProcessor({
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
eventType: TSToChartEvent.InitializeComplete,
|
|
772
|
-
source: 'ts-host-app',
|
|
773
|
-
},
|
|
774
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
820
|
+
payload: {},
|
|
821
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
775
822
|
});
|
|
776
823
|
customChartContext.initialize();
|
|
777
824
|
mockPostMessageToHost.mockImplementation(
|
|
@@ -813,18 +860,14 @@ describe('CustomChartContext', () => {
|
|
|
813
860
|
);
|
|
814
861
|
|
|
815
862
|
eventProcessor({
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
event: {},
|
|
822
|
-
},
|
|
863
|
+
payload: {
|
|
864
|
+
customAction: {
|
|
865
|
+
id: 'custom-action-1',
|
|
866
|
+
columnIds: ['123'],
|
|
867
|
+
event: {},
|
|
823
868
|
},
|
|
824
|
-
eventType: TSToChartEvent.AxisMenuActionClick,
|
|
825
|
-
source: 'ts-host-app',
|
|
826
869
|
},
|
|
827
|
-
|
|
870
|
+
eventType: TSToChartEvent.AxisMenuActionClick,
|
|
828
871
|
});
|
|
829
872
|
expect(mockCustomAction).toHaveBeenCalled();
|
|
830
873
|
expect(mockCustomAction).toHaveBeenCalledWith({
|
|
@@ -835,23 +878,14 @@ describe('CustomChartContext', () => {
|
|
|
835
878
|
});
|
|
836
879
|
|
|
837
880
|
test('should process the event payload for axis menu when custom actions are not defined', async () => {
|
|
838
|
-
const mockPostMessage = jest.fn();
|
|
839
881
|
let resolve: any;
|
|
840
882
|
eventProcessor({
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
eventType: TSToChartEvent.Initialize,
|
|
844
|
-
source: 'ts-host-app',
|
|
845
|
-
},
|
|
846
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
883
|
+
payload: mockInitializeContextPayload,
|
|
884
|
+
eventType: TSToChartEvent.Initialize,
|
|
847
885
|
});
|
|
848
886
|
eventProcessor({
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
eventType: TSToChartEvent.InitializeComplete,
|
|
852
|
-
source: 'ts-host-app',
|
|
853
|
-
},
|
|
854
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
887
|
+
payload: {},
|
|
888
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
855
889
|
});
|
|
856
890
|
customChartContext.initialize();
|
|
857
891
|
mockPostMessageToHost.mockImplementation(
|
|
@@ -876,23 +910,14 @@ describe('CustomChartContext', () => {
|
|
|
876
910
|
});
|
|
877
911
|
|
|
878
912
|
test('should process the event payload for context menu when custom actions are not defined', async () => {
|
|
879
|
-
const mockPostMessage = jest.fn();
|
|
880
913
|
let resolve: any;
|
|
881
914
|
eventProcessor({
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
eventType: TSToChartEvent.Initialize,
|
|
885
|
-
source: 'ts-host-app',
|
|
886
|
-
},
|
|
887
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
915
|
+
payload: mockInitializeContextPayload,
|
|
916
|
+
eventType: TSToChartEvent.Initialize,
|
|
888
917
|
});
|
|
889
918
|
eventProcessor({
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
eventType: TSToChartEvent.InitializeComplete,
|
|
893
|
-
source: 'ts-host-app',
|
|
894
|
-
},
|
|
895
|
-
ports: [{ postMessage: mockPostMessage }],
|
|
919
|
+
payload: {},
|
|
920
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
896
921
|
});
|
|
897
922
|
customChartContext.initialize();
|
|
898
923
|
mockPostMessageToHost.mockImplementation(
|