@thoughtspot/ts-chart-sdk 0.0.2-alpha.2 → 0.0.2-alpha.4

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 (86) hide show
  1. package/package.json +2 -2
  2. package/src/index.ts +2 -0
  3. package/src/main/custom-chart-context.spec.ts +118 -1
  4. package/src/main/custom-chart-context.ts +113 -8
  5. package/src/main/post-message-event-bridge.ts +1 -1
  6. package/src/test/test-conditional-formatting-utils.ts +95 -0
  7. package/src/types/answer-column.types.ts +63 -0
  8. package/src/types/common.types.ts +8 -0
  9. package/src/types/conditional-formatting.types.ts +172 -0
  10. package/src/types/configurator.types.ts +7 -0
  11. package/src/types/ts-to-chart-event.types.ts +2 -1
  12. package/src/types/visual-prop.types.ts +7 -0
  13. package/src/utils/conditional-formatting/conditional-formatting.spec.ts +415 -0
  14. package/src/utils/conditional-formatting/conditional-formatting.ts +229 -0
  15. package/lib/index.d.ts +0 -9
  16. package/lib/index.d.ts.map +0 -1
  17. package/lib/index.js +0 -9
  18. package/lib/index.js.map +0 -1
  19. package/lib/main/custom-chart-context.d.ts +0 -54
  20. package/lib/main/custom-chart-context.d.ts.map +0 -1
  21. package/lib/main/custom-chart-context.js +0 -292
  22. package/lib/main/custom-chart-context.js.map +0 -1
  23. package/lib/main/custom-chart-context.spec.d.ts +0 -2
  24. package/lib/main/custom-chart-context.spec.d.ts.map +0 -1
  25. package/lib/main/custom-chart-context.spec.js +0 -518
  26. package/lib/main/custom-chart-context.spec.js.map +0 -1
  27. package/lib/main/post-message-event-bridge.d.ts +0 -6
  28. package/lib/main/post-message-event-bridge.d.ts.map +0 -1
  29. package/lib/main/post-message-event-bridge.js +0 -29
  30. package/lib/main/post-message-event-bridge.js.map +0 -1
  31. package/lib/main/post-message-event-bridge.spec.d.ts +0 -2
  32. package/lib/main/post-message-event-bridge.spec.d.ts.map +0 -1
  33. package/lib/main/post-message-event-bridge.spec.js +0 -117
  34. package/lib/main/post-message-event-bridge.spec.js.map +0 -1
  35. package/lib/main/util.d.ts +0 -2
  36. package/lib/main/util.d.ts.map +0 -1
  37. package/lib/main/util.js +0 -9
  38. package/lib/main/util.js.map +0 -1
  39. package/lib/react/mocks/custom-chart-context-mock.d.ts +0 -3
  40. package/lib/react/mocks/custom-chart-context-mock.d.ts.map +0 -1
  41. package/lib/react/mocks/custom-chart-context-mock.js +0 -94
  42. package/lib/react/mocks/custom-chart-context-mock.js.map +0 -1
  43. package/lib/react/use-custom-chart-context.d.ts +0 -4
  44. package/lib/react/use-custom-chart-context.d.ts.map +0 -1
  45. package/lib/react/use-custom-chart-context.js +0 -68
  46. package/lib/react/use-custom-chart-context.js.map +0 -1
  47. package/lib/react/use-custom-chart-context.spec.d.ts +0 -2
  48. package/lib/react/use-custom-chart-context.spec.d.ts.map +0 -1
  49. package/lib/react/use-custom-chart-context.spec.js +0 -318
  50. package/lib/react/use-custom-chart-context.spec.js.map +0 -1
  51. package/lib/react/use-custom-chart-context.util.d.ts +0 -6
  52. package/lib/react/use-custom-chart-context.util.d.ts.map +0 -1
  53. package/lib/react/use-custom-chart-context.util.js +0 -51
  54. package/lib/react/use-custom-chart-context.util.js.map +0 -1
  55. package/lib/react/use-custom-chart-types.d.ts +0 -23
  56. package/lib/react/use-custom-chart-types.d.ts.map +0 -1
  57. package/lib/react/use-custom-chart-types.js +0 -2
  58. package/lib/react/use-custom-chart-types.js.map +0 -1
  59. package/lib/test/test-utils.d.ts +0 -7
  60. package/lib/test/test-utils.d.ts.map +0 -1
  61. package/lib/test/test-utils.js +0 -11
  62. package/lib/test/test-utils.js.map +0 -1
  63. package/lib/types/answer-column.types.d.ts +0 -69
  64. package/lib/types/answer-column.types.d.ts.map +0 -1
  65. package/lib/types/answer-column.types.js +0 -56
  66. package/lib/types/answer-column.types.js.map +0 -1
  67. package/lib/types/chart-to-ts-event.types.d.ts +0 -98
  68. package/lib/types/chart-to-ts-event.types.d.ts.map +0 -1
  69. package/lib/types/chart-to-ts-event.types.js +0 -29
  70. package/lib/types/chart-to-ts-event.types.js.map +0 -1
  71. package/lib/types/common.types.d.ts +0 -52
  72. package/lib/types/common.types.d.ts.map +0 -1
  73. package/lib/types/common.types.js +0 -2
  74. package/lib/types/common.types.js.map +0 -1
  75. package/lib/types/configurator.types.d.ts +0 -15
  76. package/lib/types/configurator.types.d.ts.map +0 -1
  77. package/lib/types/configurator.types.js +0 -2
  78. package/lib/types/configurator.types.js.map +0 -1
  79. package/lib/types/ts-to-chart-event.types.d.ts +0 -94
  80. package/lib/types/ts-to-chart-event.types.d.ts.map +0 -1
  81. package/lib/types/ts-to-chart-event.types.js +0 -15
  82. package/lib/types/ts-to-chart-event.types.js.map +0 -1
  83. package/lib/types/visual-prop.types.d.ts +0 -73
  84. package/lib/types/visual-prop.types.d.ts.map +0 -1
  85. package/lib/types/visual-prop.types.js +0 -2
  86. package/lib/types/visual-prop.types.js.map +0 -1
@@ -1,117 +0,0 @@
1
- import _ from 'lodash';
2
- import { postMessageToHostApp } from './post-message-event-bridge';
3
- const TIMEOUT_THRESHOLD = 30000;
4
- describe('postMessageToHostApp', () => {
5
- beforeEach(() => {
6
- jest.resetAllMocks();
7
- });
8
- test('should resolve the promise with data object when successful', async () => {
9
- const componentId = '123';
10
- const hostUrl = 'https://example.com';
11
- const eventPayload = { foo: 'bar' };
12
- const eventType = 'SOME_EVENT';
13
- const mockPostMessage = jest.spyOn(global.parent.window, 'postMessage');
14
- const channel = {
15
- port1: { onmessage: null, close: jest.fn() },
16
- port2: {},
17
- };
18
- const messageChannelMock = { MessageChannel: jest.fn(() => channel) };
19
- global.MessageChannel = messageChannelMock.MessageChannel;
20
- const promise = postMessageToHostApp(componentId, hostUrl, eventPayload, eventType);
21
- const response = {
22
- data: { hasError: false, randomData: 'randomString' },
23
- };
24
- if (_.isFunction(channel.port1.onmessage)) {
25
- channel.port1.onmessage(response);
26
- }
27
- else {
28
- throw new Error('on message should have been initialized');
29
- }
30
- await expect(promise).resolves.toEqual(response.data);
31
- expect(mockPostMessage).toHaveBeenCalledWith({
32
- componentId,
33
- payload: eventPayload,
34
- eventType,
35
- source: 'ts-chart-sdk',
36
- }, hostUrl, [channel.port2]);
37
- expect(messageChannelMock.MessageChannel).toHaveBeenCalled();
38
- });
39
- test('should reject the promise with an error message when there is an error', async () => {
40
- const componentId = '123';
41
- const hostUrl = 'https://example.com';
42
- const eventPayload = { foo: 'bar' };
43
- const eventType = 'SOME_EVENT';
44
- const mockPostMessage = jest.spyOn(global.parent.window, 'postMessage');
45
- const channel = {
46
- port1: { onmessage: null, close: jest.fn() },
47
- port2: {},
48
- };
49
- const messageChannelMock = { MessageChannel: jest.fn(() => channel) };
50
- global.MessageChannel = messageChannelMock.MessageChannel;
51
- const promise = postMessageToHostApp(componentId, hostUrl, eventPayload, eventType);
52
- const error = new Error('Some error');
53
- const response = { data: { hasError: true, error } };
54
- if (_.isFunction(channel.port1.onmessage)) {
55
- channel.port1.onmessage(response);
56
- }
57
- else {
58
- throw new Error('on message should have been initialized');
59
- }
60
- await expect(promise).rejects.toThrow('Some error');
61
- expect(mockPostMessage).toHaveBeenCalledWith({
62
- componentId,
63
- payload: eventPayload,
64
- eventType,
65
- source: 'ts-chart-sdk',
66
- }, hostUrl, [channel.port2]);
67
- expect(messageChannelMock.MessageChannel).toHaveBeenCalled();
68
- });
69
- test('should reject the promise after a timeout', async () => {
70
- const componentId = 'some-component-id';
71
- const hostUrl = 'https://some-host-url.com';
72
- const eventPayload = { someKey: 'someValue' };
73
- const eventType = 'some-event-type';
74
- const mockPostMessage = jest.spyOn(global.parent.window, 'postMessage');
75
- const channel = {
76
- port1: { onmessage: null, close: jest.fn() },
77
- port2: {},
78
- };
79
- const messageChannelMock = {
80
- MessageChannel: jest.fn(() => channel),
81
- };
82
- global.MessageChannel = messageChannelMock.MessageChannel;
83
- const promise = postMessageToHostApp(componentId, hostUrl, eventPayload, eventType);
84
- expect(mockPostMessage).toHaveBeenCalledWith({
85
- componentId,
86
- payload: eventPayload,
87
- eventType,
88
- source: 'ts-chart-sdk',
89
- }, hostUrl, expect.any(Array));
90
- await expect(promise).rejects.toThrow('ChartContext: postMessage operation timed out.');
91
- }, TIMEOUT_THRESHOLD + 1000);
92
- test('should reject the promise if some error in postMessage', async () => {
93
- const componentId = 'some-component-id';
94
- const hostUrl = 'https://some-host-url.com';
95
- const eventPayload = { someKey: 'someValue' };
96
- const eventType = 'some-event-type';
97
- const mockPostMessage = jest.spyOn(global.parent.window, 'postMessage');
98
- mockPostMessage.mockImplementation(() => {
99
- throw new Error('Some postMessage error');
100
- });
101
- const channel = {
102
- port1: { onmessage: null, close: jest.fn() },
103
- port2: {},
104
- };
105
- const messageChannelMock = { MessageChannel: jest.fn(() => channel) };
106
- global.MessageChannel = messageChannelMock.MessageChannel;
107
- const promise = postMessageToHostApp(componentId, hostUrl, eventPayload, eventType);
108
- await expect(promise).rejects.toThrow('Some postMessage error');
109
- expect(mockPostMessage).toHaveBeenCalledWith({
110
- componentId,
111
- payload: eventPayload,
112
- eventType,
113
- source: 'ts-chart-sdk',
114
- }, hostUrl, expect.any(Array));
115
- });
116
- });
117
- //# sourceMappingURL=post-message-event-bridge.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"post-message-event-bridge.spec.js","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function timeout(promise: Promise<any>, ms: number, message?: string): Promise<any>;
2
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/main/util.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,gBAU1E"}
package/lib/main/util.js DELETED
@@ -1,9 +0,0 @@
1
- export function timeout(promise, ms, message) {
2
- return Promise.race([
3
- promise,
4
- new Promise((resolve, reject) => {
5
- setTimeout(() => reject(new Error(message || 'Operation timed out.')), ms);
6
- }),
7
- ]);
8
- }
9
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/main/util.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,OAAqB,EAAE,EAAU,EAAE,OAAgB;IACvE,OAAO,OAAO,CAAC,IAAI,CAAC;QAChB,OAAO;QACP,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5B,UAAU,CACN,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAC,EAC1D,EAAE,CACL,CAAC;QACN,CAAC,CAAC;KACL,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +0,0 @@
1
- import { CustomChartContextProps } from '../../main/custom-chart-context';
2
- export declare const contextChartProps: CustomChartContextProps;
3
- //# sourceMappingURL=custom-chart-context-mock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-chart-context-mock.d.ts","sourceRoot":"","sources":["../../../src/react/mocks/custom-chart-context-mock.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAK1E,eAAO,MAAM,iBAAiB,EAAE,uBA2G/B,CAAC"}
@@ -1,94 +0,0 @@
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-mock.js.map
@@ -1 +0,0 @@
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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"}
@@ -1,4 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,68 +0,0 @@
1
- import React, { useCallback, useEffect, useState } from 'react';
2
- import { CustomChartContext, } from '../main/custom-chart-context';
3
- import { emitter, eventListener, eventOffListener, } from './use-custom-chart-context.util';
4
- export const useChartContext = (props) => {
5
- const [hasInitialized, setHasInitialized] = useState(false);
6
- const [key, setKey] = useState(0);
7
- const [ctx, setContextState] = useState({});
8
- const [chartModel, setChartModel] = useState();
9
- const getChartContextValues = useCallback((ctx) => {
10
- return {
11
- hasInitialized,
12
- chartModel,
13
- destroy: () => ctx === null || ctx === void 0 ? void 0 : ctx.destroy(),
14
- ...emitter(ctx),
15
- ...eventListener(ctx),
16
- ...eventOffListener(ctx),
17
- TSChartContext: ({ children }) => {
18
- return (React.createElement(React.Fragment, { key: key }, children));
19
- },
20
- };
21
- }, [chartModel, key, hasInitialized, ctx]);
22
- const setupEventListeners = useCallback((context) => {
23
- const commonUpdateHandler = (payload) => {
24
- setChartModel(context.getChartModel());
25
- return {
26
- triggerRenderChart: true,
27
- };
28
- };
29
- getChartContextValues(context).setOnChartModelUpdate(commonUpdateHandler);
30
- getChartContextValues(context).setOnVisualPropsUpdate(commonUpdateHandler);
31
- getChartContextValues(context).setOnDataUpdate(commonUpdateHandler);
32
- }, []);
33
- const setupEventOffListeners = useCallback((context) => {
34
- getChartContextValues(context).setOffChartModelUpdate();
35
- getChartContextValues(context).setOffDataUpdate();
36
- getChartContextValues(context).setOffVisualPropsUpdate();
37
- }, []);
38
- const initializeContext = async (context) => {
39
- return context
40
- .initialize()
41
- .then(() => {
42
- setHasInitialized(true);
43
- setContextState(context);
44
- setChartModel(context.getChartModel());
45
- return true;
46
- })
47
- .catch((e) => {
48
- console.log('Error in context initialization', e);
49
- });
50
- };
51
- const renderChart = useCallback((ctx) => {
52
- setKey((prevKey) => prevKey + 1);
53
- return Promise.resolve();
54
- }, [key]);
55
- useEffect(() => {
56
- const context = new CustomChartContext({
57
- ...props,
58
- renderChart,
59
- });
60
- initializeContext(context);
61
- setupEventListeners(context);
62
- return () => {
63
- setupEventOffListeners(context);
64
- };
65
- }, []);
66
- return getChartContextValues(ctx);
67
- };
68
- //# sourceMappingURL=use-custom-chart-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-custom-chart-context.js","sourceRoot":"","sources":["../../src/react/use-custom-chart-context.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=use-custom-chart-context.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-custom-chart-context.spec.d.ts","sourceRoot":"","sources":["../../src/react/use-custom-chart-context.spec.tsx"],"names":[],"mappings":""}