@thoughtspot/ts-chart-sdk 0.0.2-alpha.9 → 1.1.0
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/README.md +126 -50
- package/dist/ts-chart-sdk.d.ts +330 -32
- 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 -4
- package/lib/main/custom-chart-context.d.ts.map +1 -1
- package/lib/main/custom-chart-context.js +46 -16
- package/lib/main/custom-chart-context.js.map +1 -1
- package/lib/main/custom-chart-context.spec.js +302 -4
- package/lib/main/custom-chart-context.spec.js.map +1 -1
- package/lib/main/logger.d.ts +13 -0
- package/lib/main/logger.d.ts.map +1 -0
- package/lib/main/logger.js +64 -0
- package/lib/main/logger.js.map +1 -0
- package/lib/main/logger.spec.d.ts +2 -0
- package/lib/main/logger.spec.d.ts.map +1 -0
- package/lib/main/logger.spec.js +88 -0
- package/lib/main/logger.spec.js.map +1 -0
- package/lib/main/util.d.ts +2 -0
- package/lib/main/util.d.ts.map +1 -1
- package/lib/main/util.js +11 -0
- package/lib/main/util.js.map +1 -1
- package/lib/main/util.spec.d.ts +2 -0
- package/lib/main/util.spec.d.ts.map +1 -0
- package/lib/main/util.spec.js +73 -0
- package/lib/main/util.spec.js.map +1 -0
- package/lib/react/use-custom-chart-context.d.ts.map +1 -1
- package/lib/react/use-custom-chart-context.js +3 -1
- package/lib/react/use-custom-chart-context.js.map +1 -1
- package/lib/react/use-custom-chart-context.spec.js +0 -1
- package/lib/react/use-custom-chart-context.spec.js.map +1 -1
- package/lib/react/use-custom-chart-context.util.d.ts.map +1 -1
- package/lib/react/use-custom-chart-context.util.js +5 -3
- package/lib/react/use-custom-chart-context.util.js.map +1 -1
- package/lib/types/answer-column.types.d.ts +7 -4
- package/lib/types/answer-column.types.d.ts.map +1 -1
- package/lib/types/answer-column.types.js +3 -3
- package/lib/types/answer-column.types.js.map +1 -1
- package/lib/types/chart-to-ts-event.types.d.ts +2 -0
- package/lib/types/chart-to-ts-event.types.d.ts.map +1 -1
- package/lib/types/chart-to-ts-event.types.js +1 -0
- package/lib/types/chart-to-ts-event.types.js.map +1 -1
- package/lib/types/common.types.d.ts +65 -6
- package/lib/types/common.types.d.ts.map +1 -1
- package/lib/types/common.types.js.map +1 -1
- package/lib/types/conditional-formatting.types.d.ts +1 -16
- package/lib/types/conditional-formatting.types.d.ts.map +1 -1
- package/lib/types/conditional-formatting.types.js.map +1 -1
- package/lib/types/configurator.types.d.ts +1 -1
- package/lib/types/configurator.types.d.ts.map +1 -1
- package/lib/types/number-formatting.types.d.ts +55 -0
- package/lib/types/number-formatting.types.d.ts.map +1 -0
- package/lib/types/number-formatting.types.js +23 -0
- package/lib/types/number-formatting.types.js.map +1 -0
- package/lib/types/ts-to-chart-event.types.d.ts +20 -6
- package/lib/types/ts-to-chart-event.types.d.ts.map +1 -1
- package/lib/types/ts-to-chart-event.types.js +1 -0
- package/lib/types/ts-to-chart-event.types.js.map +1 -1
- package/lib/types/visual-prop.types.d.ts +71 -3
- package/lib/types/visual-prop.types.d.ts.map +1 -1
- package/lib/types/visual-prop.types.js +32 -1
- package/lib/types/visual-prop.types.js.map +1 -1
- package/lib/utils/date-formatting.d.ts +85 -1
- package/lib/utils/date-formatting.d.ts.map +1 -1
- package/lib/utils/date-formatting.js +344 -9
- package/lib/utils/date-formatting.js.map +1 -1
- package/lib/utils/date-formatting.spec.js +301 -31
- package/lib/utils/date-formatting.spec.js.map +1 -1
- package/lib/utils/date-utils.d.ts +6 -0
- package/lib/utils/date-utils.d.ts.map +1 -0
- package/lib/utils/date-utils.js +20 -0
- package/lib/utils/date-utils.js.map +1 -0
- package/lib/utils/date-utils.spec.d.ts +2 -0
- package/lib/utils/date-utils.spec.d.ts.map +1 -0
- package/lib/utils/date-utils.spec.js +63 -0
- package/lib/utils/date-utils.spec.js.map +1 -0
- package/lib/utils/formatting-util.d.ts +10 -0
- package/lib/utils/formatting-util.d.ts.map +1 -0
- package/lib/utils/formatting-util.js +78 -0
- package/lib/utils/formatting-util.js.map +1 -0
- package/lib/utils/formatting-util.spec.d.ts +2 -0
- package/lib/utils/formatting-util.spec.d.ts.map +1 -0
- package/lib/utils/formatting-util.spec.js +247 -0
- package/lib/utils/formatting-util.spec.js.map +1 -0
- package/lib/utils/globalize-Initializer/globalize-utils.d.ts +16 -0
- package/lib/utils/globalize-Initializer/globalize-utils.d.ts.map +1 -0
- package/lib/utils/globalize-Initializer/globalize-utils.js +101 -0
- package/lib/utils/globalize-Initializer/globalize-utils.js.map +1 -0
- package/lib/utils/globalize-Initializer/globalize-utils.spec.d.ts +2 -0
- package/lib/utils/globalize-Initializer/globalize-utils.spec.d.ts.map +1 -0
- package/lib/utils/globalize-Initializer/globalize-utils.spec.js +149 -0
- package/lib/utils/globalize-Initializer/globalize-utils.spec.js.map +1 -0
- package/lib/utils/number-formatting/number-formatting-utils.d.ts +20 -0
- package/lib/utils/number-formatting/number-formatting-utils.d.ts.map +1 -0
- package/lib/utils/number-formatting/number-formatting-utils.js +159 -0
- package/lib/utils/number-formatting/number-formatting-utils.js.map +1 -0
- package/lib/utils/number-formatting/number-formatting-utils.spec.d.ts +2 -0
- package/lib/utils/number-formatting/number-formatting-utils.spec.d.ts.map +1 -0
- package/lib/utils/number-formatting/number-formatting-utils.spec.js +221 -0
- package/lib/utils/number-formatting/number-formatting-utils.spec.js.map +1 -0
- package/lib/utils/number-formatting/number-formatting.d.ts +5 -0
- package/lib/utils/number-formatting/number-formatting.d.ts.map +1 -0
- package/lib/utils/number-formatting/number-formatting.js +128 -0
- package/lib/utils/number-formatting/number-formatting.js.map +1 -0
- package/lib/utils/number-formatting/number-formatting.spec.d.ts +2 -0
- package/lib/utils/number-formatting/number-formatting.spec.d.ts.map +1 -0
- package/lib/utils/number-formatting/number-formatting.spec.js +159 -0
- package/lib/utils/number-formatting/number-formatting.spec.js.map +1 -0
- package/package.json +4 -1
- package/src/index.ts +3 -0
- package/src/main/custom-chart-context.spec.ts +356 -6
- package/src/main/custom-chart-context.ts +205 -16
- package/src/main/logger.spec.ts +114 -0
- package/src/main/logger.ts +97 -0
- package/src/main/util.spec.ts +94 -0
- package/src/main/util.ts +20 -0
- package/src/react/use-custom-chart-context.spec.tsx +0 -1
- package/src/react/use-custom-chart-context.tsx +4 -1
- package/src/react/use-custom-chart-context.util.ts +6 -3
- package/src/types/answer-column.types.ts +9 -6
- package/src/types/chart-to-ts-event.types.ts +7 -0
- package/src/types/common.types.ts +100 -10
- package/src/types/conditional-formatting.types.ts +2 -17
- package/src/types/configurator.types.ts +1 -1
- package/src/types/number-formatting.types.ts +80 -0
- package/src/types/ts-to-chart-event.types.ts +63 -5
- package/src/types/visual-prop.types.ts +197 -3
- package/src/utils/date-formatting.spec.ts +375 -32
- package/src/utils/date-formatting.ts +587 -14
- package/src/utils/date-utils.spec.ts +93 -0
- package/src/utils/date-utils.ts +69 -0
- package/src/utils/formatting-util.spec.ts +312 -0
- package/src/utils/formatting-util.ts +234 -0
- package/src/utils/globalize-Initializer/globalize-utils.spec.ts +192 -0
- package/src/utils/globalize-Initializer/globalize-utils.ts +216 -0
- package/src/utils/number-formatting/number-formatting-utils.spec.ts +296 -0
- package/src/utils/number-formatting/number-formatting-utils.ts +260 -0
- package/src/utils/number-formatting/number-formatting.spec.ts +243 -0
- package/src/utils/number-formatting/number-formatting.ts +264 -0
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import { ChartToTSEvent, ErrorType, } from '../types/chart-to-ts-event.types';
|
|
3
3
|
import { TSToChartEvent, } from '../types/ts-to-chart-event.types';
|
|
4
|
+
import { setLocaleBasedStringFormats } from '../utils/number-formatting/number-formatting-utils';
|
|
5
|
+
import { create } from './logger';
|
|
4
6
|
import { globalThis, initMessageListener, postMessageToHostApp, } from './post-message-event-bridge';
|
|
7
|
+
const logger = create('TsChartSDKContext');
|
|
5
8
|
const DEFAULT_CHART_CONTEXT_PROPS = {
|
|
6
9
|
validateConfig: () => ({ isValid: true }),
|
|
7
10
|
validateVisualProps: () => ({ isValid: true }),
|
|
@@ -9,8 +12,19 @@ const DEFAULT_CHART_CONTEXT_PROPS = {
|
|
|
9
12
|
allowedConfigurations: {
|
|
10
13
|
allowColumnNumberFormatting: false,
|
|
11
14
|
allowColumnConditionalFormatting: false,
|
|
15
|
+
allowGradientColoring: false,
|
|
12
16
|
allowMeasureNamesAndValues: false,
|
|
13
17
|
},
|
|
18
|
+
persistedVisualPropKeys: undefined,
|
|
19
|
+
chartConfigParameters: {
|
|
20
|
+
measureNameValueColumns: {
|
|
21
|
+
enableMeasureNameColumn: false,
|
|
22
|
+
enableMeasureValueColumn: false,
|
|
23
|
+
measureNameColumnAlias: 'Measure Name',
|
|
24
|
+
measureValueColumnAlias: 'Measure Values',
|
|
25
|
+
},
|
|
26
|
+
batchSizeLimit: 20000,
|
|
27
|
+
},
|
|
14
28
|
};
|
|
15
29
|
export class CustomChartContext {
|
|
16
30
|
constructor(chartContextProps) {
|
|
@@ -26,7 +40,7 @@ export class CustomChartContext {
|
|
|
26
40
|
this.axisMenuActionHandler = {};
|
|
27
41
|
this.containerEl = null;
|
|
28
42
|
this.initialize = () => {
|
|
29
|
-
|
|
43
|
+
logger.log('Chart Context: initialization start');
|
|
30
44
|
return this.hasInitializedPromise;
|
|
31
45
|
};
|
|
32
46
|
this.getChartModel = () => this.chartModel;
|
|
@@ -40,39 +54,40 @@ export class CustomChartContext {
|
|
|
40
54
|
}
|
|
41
55
|
return this.chartContextProps.chartConfigEditorDefinition;
|
|
42
56
|
};
|
|
43
|
-
this.getVisualPropEditorDefinition = (currentState = {}) => {
|
|
57
|
+
this.getVisualPropEditorDefinition = (activeColumnId, currentState = {}) => {
|
|
44
58
|
if (_.isFunction(this.chartContextProps.visualPropEditorDefinition)) {
|
|
45
59
|
return this.chartContextProps.visualPropEditorDefinition({
|
|
46
60
|
...this.chartModel,
|
|
47
61
|
...currentState,
|
|
48
|
-
}, this);
|
|
62
|
+
}, this, activeColumnId);
|
|
49
63
|
}
|
|
50
64
|
return this.chartContextProps.visualPropEditorDefinition;
|
|
51
65
|
};
|
|
52
66
|
this.registerEventProcessor = () => {
|
|
53
67
|
if (globalThis.isInitialized) {
|
|
54
|
-
|
|
68
|
+
logger.error('The context is already initialized. you cannot have multiple contexts');
|
|
55
69
|
throw new Error(ErrorType.MultipleContextsNotSupported);
|
|
56
70
|
}
|
|
57
71
|
this.removeListener = initMessageListener(this.eventProcessor);
|
|
58
72
|
this.registerEvents();
|
|
59
73
|
};
|
|
60
74
|
this.eventProcessor = (data) => {
|
|
61
|
-
|
|
75
|
+
logger.log('Chart Context: message received:', data.eventType, data);
|
|
62
76
|
const messageResponse = this.executeEventListenerCBs(data);
|
|
63
|
-
return messageResponse;
|
|
77
|
+
return messageResponse || {};
|
|
64
78
|
};
|
|
65
79
|
this.registerEvents = () => {
|
|
66
80
|
this.onInternal(TSToChartEvent.Initialize, (payload) => this.initializeContext(payload));
|
|
67
81
|
this.onInternal(TSToChartEvent.InitializeComplete, () => this.initializationComplete());
|
|
68
82
|
this.onInternal(TSToChartEvent.VisualPropsValidate, (payload) => {
|
|
69
83
|
if (this.chartContextProps.validateVisualProps) {
|
|
70
|
-
const validationResponse = this.chartContextProps.validateVisualProps(payload.visualProps, this.chartModel);
|
|
84
|
+
const validationResponse = this.chartContextProps.validateVisualProps(payload.visualProps, this.chartModel, payload === null || payload === void 0 ? void 0 : payload.activeColumnId);
|
|
71
85
|
if (validationResponse.isValid) {
|
|
72
86
|
const currentVisualState = {
|
|
73
87
|
visualProps: payload.visualProps,
|
|
74
88
|
};
|
|
75
|
-
|
|
89
|
+
const activeColumnId = payload === null || payload === void 0 ? void 0 : payload.activeColumnId;
|
|
90
|
+
return this.validationsResponseProcessor(currentVisualState, validationResponse, activeColumnId);
|
|
76
91
|
}
|
|
77
92
|
return validationResponse;
|
|
78
93
|
}
|
|
@@ -100,6 +115,17 @@ export class CustomChartContext {
|
|
|
100
115
|
queries,
|
|
101
116
|
};
|
|
102
117
|
});
|
|
118
|
+
this.onInternal(TSToChartEvent.GetColumnData, (payload) => {
|
|
119
|
+
var _a;
|
|
120
|
+
const parsedData = (_a = this.chartModel.data) === null || _a === void 0 ? void 0 : _a[0].data;
|
|
121
|
+
const dataIdx = parsedData === null || parsedData === void 0 ? void 0 : parsedData.columns.findIndex((columnId) => columnId === payload.columnId);
|
|
122
|
+
const dataArray = !_.isNil(dataIdx) && dataIdx > -1
|
|
123
|
+
? parsedData === null || parsedData === void 0 ? void 0 : parsedData.dataValue.map((it) => it[dataIdx])
|
|
124
|
+
: [];
|
|
125
|
+
return {
|
|
126
|
+
data: dataArray,
|
|
127
|
+
};
|
|
128
|
+
});
|
|
103
129
|
this.onInternal(TSToChartEvent.TriggerRenderChart, () => {
|
|
104
130
|
this.chartContextProps.renderChart(this);
|
|
105
131
|
});
|
|
@@ -118,7 +144,7 @@ export class CustomChartContext {
|
|
|
118
144
|
};
|
|
119
145
|
}
|
|
120
146
|
catch (error) {
|
|
121
|
-
|
|
147
|
+
logger.log('ContextMenuCustomAction: payload recieved:', payload, 'CustomActionCallbackStore:', this.axisMenuActionHandler);
|
|
122
148
|
return {
|
|
123
149
|
isValid: false,
|
|
124
150
|
error,
|
|
@@ -139,7 +165,7 @@ export class CustomChartContext {
|
|
|
139
165
|
};
|
|
140
166
|
}
|
|
141
167
|
catch (error) {
|
|
142
|
-
|
|
168
|
+
logger.log('AxisMenuCustomAction: payload recieved:', payload, 'CustomActionCallbackStore:', this.axisMenuActionHandler);
|
|
143
169
|
return {
|
|
144
170
|
isValid: false,
|
|
145
171
|
error,
|
|
@@ -166,7 +192,7 @@ export class CustomChartContext {
|
|
|
166
192
|
});
|
|
167
193
|
};
|
|
168
194
|
this.initializeContext = (payload) => {
|
|
169
|
-
var _a;
|
|
195
|
+
var _a, _b;
|
|
170
196
|
this.componentId = payload.componentId;
|
|
171
197
|
this.hostUrl = payload.hostUrl;
|
|
172
198
|
this.chartModel = payload.chartModel;
|
|
@@ -174,6 +200,7 @@ export class CustomChartContext {
|
|
|
174
200
|
this.containerEl = payload.containerElSelector
|
|
175
201
|
? document.querySelector(payload.containerElSelector)
|
|
176
202
|
: null;
|
|
203
|
+
setLocaleBasedStringFormats((_b = this.appConfig.dateFormatsConfig) === null || _b === void 0 ? void 0 : _b.tsLocaleBasedStringsFormats);
|
|
177
204
|
return this.publishChartContextPropsToHost();
|
|
178
205
|
};
|
|
179
206
|
this.initializationComplete = () => {
|
|
@@ -197,6 +224,8 @@ export class CustomChartContext {
|
|
|
197
224
|
chartConfigEditorDefinition: this.getChartConfigEditorDefinition(),
|
|
198
225
|
visualPropEditorDefinition: this.getVisualPropEditorDefinition(),
|
|
199
226
|
allowedConfigurations: this.chartContextProps.allowedConfigurations,
|
|
227
|
+
chartConfigParameters: this.chartContextProps.chartConfigParameters,
|
|
228
|
+
persistedVisualPropKeys: this.chartContextProps.persistedVisualPropKeys,
|
|
200
229
|
};
|
|
201
230
|
};
|
|
202
231
|
this.executeEventListenerCBs = (data) => {
|
|
@@ -214,7 +243,7 @@ export class CustomChartContext {
|
|
|
214
243
|
error: `Event type not recognised or processed: ${data.eventType}`,
|
|
215
244
|
};
|
|
216
245
|
}
|
|
217
|
-
|
|
246
|
+
logger.log('ChartContext: Response:', data.eventType, response, (_a = this.eventListeners[data.eventType]) === null || _a === void 0 ? void 0 : _a.length);
|
|
218
247
|
return response;
|
|
219
248
|
};
|
|
220
249
|
this.chartContextProps = {
|
|
@@ -225,6 +254,7 @@ export class CustomChartContext {
|
|
|
225
254
|
this.hasInitializedPromise = new Promise((resolve, reject) => {
|
|
226
255
|
this.triggerInitResolve = resolve;
|
|
227
256
|
});
|
|
257
|
+
postMessageToHostApp('', '*', null, ChartToTSEvent.InitStart);
|
|
228
258
|
}
|
|
229
259
|
on(eventType, callbackFn) {
|
|
230
260
|
if (_.isNil(this.eventListeners[eventType])) {
|
|
@@ -234,7 +264,7 @@ export class CustomChartContext {
|
|
|
234
264
|
}
|
|
235
265
|
off(eventType) {
|
|
236
266
|
if (_.isNil(this.eventListeners[eventType])) {
|
|
237
|
-
|
|
267
|
+
logger.log('No event listener found to remove');
|
|
238
268
|
this.eventListeners[eventType] = [];
|
|
239
269
|
return;
|
|
240
270
|
}
|
|
@@ -308,8 +338,8 @@ export class CustomChartContext {
|
|
|
308
338
|
return eventPayload;
|
|
309
339
|
}
|
|
310
340
|
}
|
|
311
|
-
validationsResponseProcessor(currentValidationState, validationResponse) {
|
|
312
|
-
const visualPropEditorDefinition = this.getVisualPropEditorDefinition(currentValidationState);
|
|
341
|
+
validationsResponseProcessor(currentValidationState, validationResponse, activeColumnId) {
|
|
342
|
+
const visualPropEditorDefinition = this.getVisualPropEditorDefinition(activeColumnId, currentValidationState);
|
|
313
343
|
const chartConfigEditorDefinition = this.getChartConfigEditorDefinition(currentValidationState);
|
|
314
344
|
return {
|
|
315
345
|
...validationResponse,
|
|
@@ -320,7 +350,7 @@ export class CustomChartContext {
|
|
|
320
350
|
emitEvent(eventType, ...eventPayload) {
|
|
321
351
|
var _a;
|
|
322
352
|
if (!globalThis.isInitialized) {
|
|
323
|
-
|
|
353
|
+
logger.log('Chart Context: not initialized the context, something went wrong');
|
|
324
354
|
return Promise.reject(new Error('Context not initialized'));
|
|
325
355
|
}
|
|
326
356
|
const processedPayload = this.eventPayloadPreProcessor(eventType, eventPayload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-chart-context.js","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"custom-chart-context.js","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
2
|
import { mockInitializeContextPayload } from '../test/test-utils';
|
|
3
|
+
import { ColumnType } from '../types/answer-column.types';
|
|
3
4
|
import { ChartToTSEvent, ErrorType } from '../types/chart-to-ts-event.types';
|
|
4
5
|
import { TSToChartEvent } from '../types/ts-to-chart-event.types';
|
|
5
6
|
import { CustomChartContext, getChartContext } from './custom-chart-context';
|
|
6
7
|
import * as PostMessageEventBridge from './post-message-event-bridge';
|
|
7
8
|
jest.spyOn(console, 'log').mockImplementation(() => {
|
|
8
9
|
});
|
|
10
|
+
const mockFormElements = {
|
|
11
|
+
key: 'color',
|
|
12
|
+
type: 'radio',
|
|
13
|
+
defaultValue: 'red',
|
|
14
|
+
values: ['red', 'green', 'yellow'],
|
|
15
|
+
label: 'Colors',
|
|
16
|
+
};
|
|
9
17
|
describe('CustomChartContext', () => {
|
|
10
18
|
let eventProcessor;
|
|
11
19
|
let getDefaultChartConfig = jest.fn();
|
|
@@ -71,10 +79,28 @@ describe('CustomChartContext', () => {
|
|
|
71
79
|
allowedConfigurations: {
|
|
72
80
|
allowColumnNumberFormatting: false,
|
|
73
81
|
allowColumnConditionalFormatting: false,
|
|
82
|
+
allowGradientColoring: false,
|
|
74
83
|
allowMeasureNamesAndValues: false,
|
|
75
84
|
},
|
|
85
|
+
persistedVisualPropKeys: undefined,
|
|
86
|
+
chartConfigParameters: {
|
|
87
|
+
measureNameValueColumns: {
|
|
88
|
+
enableMeasureNameColumn: false,
|
|
89
|
+
enableMeasureValueColumn: false,
|
|
90
|
+
measureNameColumnAlias: 'Measure Name',
|
|
91
|
+
measureValueColumnAlias: 'Measure Values',
|
|
92
|
+
},
|
|
93
|
+
batchSizeLimit: 20000,
|
|
94
|
+
},
|
|
76
95
|
});
|
|
77
|
-
|
|
96
|
+
});
|
|
97
|
+
test('should return responseMessage as empty instead of undefine', async () => {
|
|
98
|
+
expect(mockInitMessage).toHaveBeenCalled();
|
|
99
|
+
const initResp = await eventProcessor({
|
|
100
|
+
payload: {},
|
|
101
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
102
|
+
});
|
|
103
|
+
expect(initResp).toEqual({});
|
|
78
104
|
});
|
|
79
105
|
test('type check string for visualProps on initialize payload should not throw an error.', async () => {
|
|
80
106
|
expect(mockInitMessage).toHaveBeenCalled();
|
|
@@ -98,7 +124,6 @@ describe('CustomChartContext', () => {
|
|
|
98
124
|
const chartModel = customChartContext.getChartModel();
|
|
99
125
|
expect(typeof chartModel.visualProps).toEqual('string');
|
|
100
126
|
expect(chartModel.visualProps).toEqual('visualPropStringPayload');
|
|
101
|
-
expect(mockPostMessageToHost).not.toHaveBeenCalled();
|
|
102
127
|
});
|
|
103
128
|
test('type check object for visualProps on initialize payload should not throw an error.', async () => {
|
|
104
129
|
expect(mockInitMessage).toHaveBeenCalled();
|
|
@@ -126,7 +151,6 @@ describe('CustomChartContext', () => {
|
|
|
126
151
|
expect(chartModel.visualProps).toEqual({
|
|
127
152
|
data: 'sample data',
|
|
128
153
|
});
|
|
129
|
-
expect(mockPostMessageToHost).not.toHaveBeenCalled();
|
|
130
154
|
});
|
|
131
155
|
test('multiple intializations should throw an error', async () => {
|
|
132
156
|
getChartContext({
|
|
@@ -162,6 +186,39 @@ describe('CustomChartContext', () => {
|
|
|
162
186
|
}
|
|
163
187
|
expect(error).toBe(ErrorType.MultipleContextsNotSupported);
|
|
164
188
|
});
|
|
189
|
+
test('correct app options config should be set on initialize', async () => {
|
|
190
|
+
const mockAppConfigOptions = {
|
|
191
|
+
appOptions: {
|
|
192
|
+
isMobile: false,
|
|
193
|
+
isPrintMode: false,
|
|
194
|
+
isLiveboardContext: false,
|
|
195
|
+
isDebugMode: true,
|
|
196
|
+
},
|
|
197
|
+
};
|
|
198
|
+
expect(mockInitMessage).toHaveBeenCalled();
|
|
199
|
+
const promise = customChartContext.initialize();
|
|
200
|
+
const mockInitializeContextPayloadWithVisualProps = {
|
|
201
|
+
...mockInitializeContextPayload,
|
|
202
|
+
appConfig: mockAppConfigOptions,
|
|
203
|
+
chartModel: {
|
|
204
|
+
...mockInitializeContextPayload.chartModel,
|
|
205
|
+
visualProps: {
|
|
206
|
+
data: 'sample data',
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
};
|
|
210
|
+
await eventProcessor({
|
|
211
|
+
payload: mockInitializeContextPayloadWithVisualProps,
|
|
212
|
+
eventType: TSToChartEvent.Initialize,
|
|
213
|
+
});
|
|
214
|
+
eventProcessor({
|
|
215
|
+
payload: {},
|
|
216
|
+
eventType: TSToChartEvent.InitializeComplete,
|
|
217
|
+
});
|
|
218
|
+
await expect(promise).resolves.toBeUndefined();
|
|
219
|
+
const appConfig = customChartContext.getAppConfig();
|
|
220
|
+
expect(appConfig).toStrictEqual(mockAppConfigOptions);
|
|
221
|
+
});
|
|
165
222
|
});
|
|
166
223
|
describe('on', () => {
|
|
167
224
|
let customChartContext;
|
|
@@ -227,6 +284,45 @@ describe('CustomChartContext', () => {
|
|
|
227
284
|
],
|
|
228
285
|
});
|
|
229
286
|
});
|
|
287
|
+
test('TSToChartEvent.ChartConfigValidate validation response for invalid config', async () => {
|
|
288
|
+
const mockChartConfigValidate = jest
|
|
289
|
+
.fn()
|
|
290
|
+
.mockReturnValue({ isValid: false });
|
|
291
|
+
customChartContext = new CustomChartContext({
|
|
292
|
+
getDefaultChartConfig,
|
|
293
|
+
getQueriesFromChartConfig,
|
|
294
|
+
renderChart,
|
|
295
|
+
visualPropEditorDefinition: { elements: [] },
|
|
296
|
+
chartConfigEditorDefinition: [],
|
|
297
|
+
validateConfig: mockChartConfigValidate,
|
|
298
|
+
});
|
|
299
|
+
const responseWithInitialContext = await eventProcessor({
|
|
300
|
+
payload: mockInitializeContextPayload,
|
|
301
|
+
eventType: TSToChartEvent.ChartConfigValidate,
|
|
302
|
+
source: 'ts-host-app',
|
|
303
|
+
});
|
|
304
|
+
expect(responseWithInitialContext).toStrictEqual({
|
|
305
|
+
isValid: false,
|
|
306
|
+
});
|
|
307
|
+
});
|
|
308
|
+
test('TSToChartEvent.ChartConfigValidate validation response return invalid without validate function', async () => {
|
|
309
|
+
customChartContext = new CustomChartContext({
|
|
310
|
+
getDefaultChartConfig,
|
|
311
|
+
getQueriesFromChartConfig,
|
|
312
|
+
renderChart,
|
|
313
|
+
visualPropEditorDefinition: { elements: [] },
|
|
314
|
+
chartConfigEditorDefinition: [],
|
|
315
|
+
validateConfig: undefined,
|
|
316
|
+
});
|
|
317
|
+
const responseWithInitialContext = await eventProcessor({
|
|
318
|
+
payload: mockInitializeContextPayload,
|
|
319
|
+
eventType: TSToChartEvent.ChartConfigValidate,
|
|
320
|
+
source: 'ts-host-app',
|
|
321
|
+
});
|
|
322
|
+
expect(responseWithInitialContext).toStrictEqual({
|
|
323
|
+
isValid: false,
|
|
324
|
+
});
|
|
325
|
+
});
|
|
230
326
|
test('TSToChartEvent.validateVisualProps validation response testing', () => {
|
|
231
327
|
customChartContext = new CustomChartContext({
|
|
232
328
|
getDefaultChartConfig,
|
|
@@ -277,6 +373,209 @@ describe('CustomChartContext', () => {
|
|
|
277
373
|
],
|
|
278
374
|
});
|
|
279
375
|
});
|
|
376
|
+
test('TSToChartEvent.validateVisualProps should work with activeColumnId', () => {
|
|
377
|
+
customChartContext = new CustomChartContext({
|
|
378
|
+
getDefaultChartConfig,
|
|
379
|
+
getQueriesFromChartConfig,
|
|
380
|
+
renderChart,
|
|
381
|
+
visualPropEditorDefinition: {
|
|
382
|
+
elements: [mockFormElements],
|
|
383
|
+
columnsVizPropDefinition: [
|
|
384
|
+
{
|
|
385
|
+
type: ColumnType.MEASURE,
|
|
386
|
+
columnSettingsDefinition: {
|
|
387
|
+
'column-id': { elements: [mockFormElements] },
|
|
388
|
+
},
|
|
389
|
+
},
|
|
390
|
+
],
|
|
391
|
+
},
|
|
392
|
+
chartConfigEditorDefinition: [],
|
|
393
|
+
});
|
|
394
|
+
const responseWithInitialContext = eventProcessor({
|
|
395
|
+
payload: {
|
|
396
|
+
...mockInitializeContextPayload,
|
|
397
|
+
activeColumnId: 'column-id',
|
|
398
|
+
},
|
|
399
|
+
eventType: TSToChartEvent.VisualPropsValidate,
|
|
400
|
+
source: 'ts-host-app',
|
|
401
|
+
});
|
|
402
|
+
expect(responseWithInitialContext).toStrictEqual({
|
|
403
|
+
isValid: true,
|
|
404
|
+
visualPropEditorDefinition: {
|
|
405
|
+
elements: [mockFormElements],
|
|
406
|
+
columnsVizPropDefinition: [
|
|
407
|
+
{
|
|
408
|
+
type: ColumnType.MEASURE,
|
|
409
|
+
columnSettingsDefinition: {
|
|
410
|
+
'column-id': { elements: [mockFormElements] },
|
|
411
|
+
},
|
|
412
|
+
},
|
|
413
|
+
],
|
|
414
|
+
},
|
|
415
|
+
chartConfigEditorDefinition: [],
|
|
416
|
+
});
|
|
417
|
+
});
|
|
418
|
+
test('should handle GetColumnData event with valid columnId', async () => {
|
|
419
|
+
const mockData = {
|
|
420
|
+
data: [
|
|
421
|
+
{
|
|
422
|
+
data: {
|
|
423
|
+
columns: ['col1', 'col2', 'col3'],
|
|
424
|
+
dataValue: [
|
|
425
|
+
[1, 2, 3],
|
|
426
|
+
[4, 5, 6],
|
|
427
|
+
[7, 8, 9],
|
|
428
|
+
],
|
|
429
|
+
},
|
|
430
|
+
},
|
|
431
|
+
],
|
|
432
|
+
};
|
|
433
|
+
customChartContext.chartModel = mockData;
|
|
434
|
+
const response = await eventProcessor({
|
|
435
|
+
payload: {
|
|
436
|
+
columnId: 'col2',
|
|
437
|
+
},
|
|
438
|
+
eventType: TSToChartEvent.GetColumnData,
|
|
439
|
+
});
|
|
440
|
+
expect(response).toEqual({
|
|
441
|
+
data: [2, 5, 8],
|
|
442
|
+
});
|
|
443
|
+
});
|
|
444
|
+
test('should return empty array for non-existent columnId', async () => {
|
|
445
|
+
const mockData = {
|
|
446
|
+
data: [
|
|
447
|
+
{
|
|
448
|
+
data: {
|
|
449
|
+
columns: ['col1', 'col2', 'col3'],
|
|
450
|
+
dataValue: [
|
|
451
|
+
[1, 2, 3],
|
|
452
|
+
[4, 5, 6],
|
|
453
|
+
],
|
|
454
|
+
},
|
|
455
|
+
},
|
|
456
|
+
],
|
|
457
|
+
};
|
|
458
|
+
customChartContext.chartModel = mockData;
|
|
459
|
+
const response = await eventProcessor({
|
|
460
|
+
payload: {
|
|
461
|
+
columnId: 'non-existent-column',
|
|
462
|
+
},
|
|
463
|
+
eventType: TSToChartEvent.GetColumnData,
|
|
464
|
+
});
|
|
465
|
+
expect(response).toEqual({
|
|
466
|
+
data: [],
|
|
467
|
+
});
|
|
468
|
+
});
|
|
469
|
+
test('TSToChartEvent.validateVisualProps should be called with correct activeColumnId', () => {
|
|
470
|
+
const mockValidateVisualProps = jest
|
|
471
|
+
.fn()
|
|
472
|
+
.mockImplementation((_visualProps, _chartModel, activeColumnId) => {
|
|
473
|
+
if (activeColumnId === 'column-id')
|
|
474
|
+
return { isValid: true };
|
|
475
|
+
return { isValid: false };
|
|
476
|
+
});
|
|
477
|
+
customChartContext = new CustomChartContext({
|
|
478
|
+
getDefaultChartConfig,
|
|
479
|
+
getQueriesFromChartConfig,
|
|
480
|
+
renderChart,
|
|
481
|
+
visualPropEditorDefinition: {
|
|
482
|
+
elements: [mockFormElements],
|
|
483
|
+
columnsVizPropDefinition: [
|
|
484
|
+
{
|
|
485
|
+
type: ColumnType.MEASURE,
|
|
486
|
+
columnSettingsDefinition: {
|
|
487
|
+
'column-id': { elements: [mockFormElements] },
|
|
488
|
+
},
|
|
489
|
+
},
|
|
490
|
+
],
|
|
491
|
+
},
|
|
492
|
+
chartConfigEditorDefinition: [],
|
|
493
|
+
validateVisualProps: mockValidateVisualProps,
|
|
494
|
+
});
|
|
495
|
+
const responseWithInitialContext = eventProcessor({
|
|
496
|
+
payload: {
|
|
497
|
+
...mockInitializeContextPayload,
|
|
498
|
+
activeColumnId: 'column-id',
|
|
499
|
+
},
|
|
500
|
+
eventType: TSToChartEvent.VisualPropsValidate,
|
|
501
|
+
source: 'ts-host-app',
|
|
502
|
+
});
|
|
503
|
+
expect(mockValidateVisualProps).toHaveBeenCalledWith(undefined, {}, 'column-id');
|
|
504
|
+
const validationResponse = eventProcessor({
|
|
505
|
+
payload: {
|
|
506
|
+
...mockInitializeContextPayload,
|
|
507
|
+
activeColumnId: 'column-id-1',
|
|
508
|
+
},
|
|
509
|
+
eventType: TSToChartEvent.VisualPropsValidate,
|
|
510
|
+
source: 'ts-host-app',
|
|
511
|
+
});
|
|
512
|
+
expect(validationResponse).toStrictEqual({ isValid: false });
|
|
513
|
+
});
|
|
514
|
+
test('TSToChartEvent.validateVisualProps returns invalid if no function is provided.', () => {
|
|
515
|
+
customChartContext = new CustomChartContext({
|
|
516
|
+
getDefaultChartConfig,
|
|
517
|
+
getQueriesFromChartConfig,
|
|
518
|
+
renderChart,
|
|
519
|
+
visualPropEditorDefinition: {
|
|
520
|
+
elements: [mockFormElements],
|
|
521
|
+
columnsVizPropDefinition: [
|
|
522
|
+
{
|
|
523
|
+
type: ColumnType.MEASURE,
|
|
524
|
+
columnSettingsDefinition: {
|
|
525
|
+
'column-id': { elements: [mockFormElements] },
|
|
526
|
+
},
|
|
527
|
+
},
|
|
528
|
+
],
|
|
529
|
+
},
|
|
530
|
+
chartConfigEditorDefinition: [],
|
|
531
|
+
validateVisualProps: undefined,
|
|
532
|
+
});
|
|
533
|
+
const validationResponse = eventProcessor({
|
|
534
|
+
payload: {
|
|
535
|
+
...mockInitializeContextPayload,
|
|
536
|
+
},
|
|
537
|
+
eventType: TSToChartEvent.VisualPropsValidate,
|
|
538
|
+
source: 'ts-host-app',
|
|
539
|
+
});
|
|
540
|
+
expect(validationResponse).toStrictEqual({ isValid: false });
|
|
541
|
+
});
|
|
542
|
+
test('VisualPropEditorDefintion function should recieve columnId', () => {
|
|
543
|
+
const mockValidateVisualProps = jest
|
|
544
|
+
.fn()
|
|
545
|
+
.mockImplementation((_visualProps, _chartModel, activeColumnId) => {
|
|
546
|
+
if (activeColumnId === 'column-id')
|
|
547
|
+
return { isValid: true };
|
|
548
|
+
return { isValid: false };
|
|
549
|
+
});
|
|
550
|
+
const mockVisualPropEditorDefintion = jest.fn().mockReturnValue({
|
|
551
|
+
elements: [mockFormElements],
|
|
552
|
+
columnsVizPropDefinition: [
|
|
553
|
+
{
|
|
554
|
+
type: ColumnType.MEASURE,
|
|
555
|
+
columnSettingsDefinition: {
|
|
556
|
+
'column-id': { elements: [mockFormElements] },
|
|
557
|
+
},
|
|
558
|
+
},
|
|
559
|
+
],
|
|
560
|
+
});
|
|
561
|
+
customChartContext = new CustomChartContext({
|
|
562
|
+
getDefaultChartConfig,
|
|
563
|
+
getQueriesFromChartConfig,
|
|
564
|
+
renderChart,
|
|
565
|
+
visualPropEditorDefinition: mockVisualPropEditorDefintion,
|
|
566
|
+
chartConfigEditorDefinition: [],
|
|
567
|
+
validateVisualProps: mockValidateVisualProps,
|
|
568
|
+
});
|
|
569
|
+
const responseWithInitialContext = eventProcessor({
|
|
570
|
+
payload: {
|
|
571
|
+
...mockInitializeContextPayload,
|
|
572
|
+
activeColumnId: 'column-id',
|
|
573
|
+
},
|
|
574
|
+
eventType: TSToChartEvent.VisualPropsValidate,
|
|
575
|
+
source: 'ts-host-app',
|
|
576
|
+
});
|
|
577
|
+
expect(mockVisualPropEditorDefintion.mock.calls[0][2]).toBe('column-id');
|
|
578
|
+
});
|
|
280
579
|
test('should not trigger post message if host is not accurate', async () => {
|
|
281
580
|
expect(mockInitMessage).toHaveBeenCalled();
|
|
282
581
|
const validateChartConfigResp = await eventProcessor({
|
|
@@ -486,7 +785,6 @@ describe('CustomChartContext', () => {
|
|
|
486
785
|
const TEST_EVENT_TYPE = 'testEventType';
|
|
487
786
|
const testPayload = { value: 'testPayload' };
|
|
488
787
|
const result = customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
|
|
489
|
-
expect(mockPostMessageToHost).not.toHaveBeenCalled();
|
|
490
788
|
await expect(result).rejects.toBeDefined();
|
|
491
789
|
});
|
|
492
790
|
test('should resolve the promise if the chart context is initialized', async () => {
|