@thoughtspot/ts-chart-sdk 0.0.1-alpha.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.
Files changed (63) hide show
  1. package/dist/ts-chart-sdk.d.ts +312 -0
  2. package/lib/dist/ts-chart-sdk.d.ts +312 -0
  3. package/lib/index.d.ts +8 -0
  4. package/lib/index.d.ts.map +1 -0
  5. package/lib/index.js +8 -0
  6. package/lib/index.js.map +1 -0
  7. package/lib/main/custom-chart-context.d.ts +38 -0
  8. package/lib/main/custom-chart-context.d.ts.map +1 -0
  9. package/lib/main/custom-chart-context.js +176 -0
  10. package/lib/main/custom-chart-context.js.map +1 -0
  11. package/lib/main/custom-chart-context.spec.d.ts +2 -0
  12. package/lib/main/custom-chart-context.spec.d.ts.map +1 -0
  13. package/lib/main/custom-chart-context.spec.js +315 -0
  14. package/lib/main/custom-chart-context.spec.js.map +1 -0
  15. package/lib/main/post-message-event-bridge.d.ts +6 -0
  16. package/lib/main/post-message-event-bridge.d.ts.map +1 -0
  17. package/lib/main/post-message-event-bridge.js +41 -0
  18. package/lib/main/post-message-event-bridge.js.map +1 -0
  19. package/lib/main/post-message-event-bridge.spec.d.ts +2 -0
  20. package/lib/main/post-message-event-bridge.spec.d.ts.map +1 -0
  21. package/lib/main/post-message-event-bridge.spec.js +117 -0
  22. package/lib/main/post-message-event-bridge.spec.js.map +1 -0
  23. package/lib/test/test-utils.d.ts +7 -0
  24. package/lib/test/test-utils.d.ts.map +1 -0
  25. package/lib/test/test-utils.js +11 -0
  26. package/lib/test/test-utils.js.map +1 -0
  27. package/lib/types/answer-column.types.d.ts +69 -0
  28. package/lib/types/answer-column.types.d.ts.map +1 -0
  29. package/lib/types/answer-column.types.js +56 -0
  30. package/lib/types/answer-column.types.js.map +1 -0
  31. package/lib/types/chart-to-ts-event.types.d.ts +48 -0
  32. package/lib/types/chart-to-ts-event.types.d.ts.map +1 -0
  33. package/lib/types/chart-to-ts-event.types.js +16 -0
  34. package/lib/types/chart-to-ts-event.types.js.map +1 -0
  35. package/lib/types/common.types.d.ts +51 -0
  36. package/lib/types/common.types.d.ts.map +1 -0
  37. package/lib/types/common.types.js +2 -0
  38. package/lib/types/common.types.js.map +1 -0
  39. package/lib/types/configurator.types.d.ts +15 -0
  40. package/lib/types/configurator.types.d.ts.map +1 -0
  41. package/lib/types/configurator.types.js +2 -0
  42. package/lib/types/configurator.types.js.map +1 -0
  43. package/lib/types/ts-to-chart-event.types.d.ts +67 -0
  44. package/lib/types/ts-to-chart-event.types.d.ts.map +1 -0
  45. package/lib/types/ts-to-chart-event.types.js +12 -0
  46. package/lib/types/ts-to-chart-event.types.js.map +1 -0
  47. package/lib/types/visual-prop.types.d.ts +47 -0
  48. package/lib/types/visual-prop.types.d.ts.map +1 -0
  49. package/lib/types/visual-prop.types.js +2 -0
  50. package/lib/types/visual-prop.types.js.map +1 -0
  51. package/package.json +88 -0
  52. package/src/index.ts +7 -0
  53. package/src/main/custom-chart-context.spec.ts +432 -0
  54. package/src/main/custom-chart-context.ts +587 -0
  55. package/src/main/post-message-event-bridge.spec.ts +215 -0
  56. package/src/main/post-message-event-bridge.ts +88 -0
  57. package/src/test/test-utils.ts +13 -0
  58. package/src/types/answer-column.types.ts +174 -0
  59. package/src/types/chart-to-ts-event.types.ts +159 -0
  60. package/src/types/common.types.ts +187 -0
  61. package/src/types/configurator.types.ts +102 -0
  62. package/src/types/ts-to-chart-event.types.ts +257 -0
  63. package/src/types/visual-prop.types.ts +271 -0
@@ -0,0 +1,117 @@
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 null 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 = { data: { hasError: false } };
22
+ if (_.isFunction(channel.port1.onmessage)) {
23
+ channel.port1.onmessage(response);
24
+ }
25
+ else {
26
+ throw new Error('on message should have been initialized');
27
+ }
28
+ await expect(promise).resolves.toBeNull();
29
+ expect(mockPostMessage).toHaveBeenCalledWith({
30
+ componentId,
31
+ payload: eventPayload,
32
+ eventType,
33
+ source: 'ts-chart-sdk',
34
+ }, hostUrl, [channel.port2]);
35
+ expect(channel.port1.close).toHaveBeenCalled();
36
+ expect(messageChannelMock.MessageChannel).toHaveBeenCalled();
37
+ });
38
+ test('should reject the promise with an error message when there is an error', async () => {
39
+ const componentId = '123';
40
+ const hostUrl = 'https://example.com';
41
+ const eventPayload = { foo: 'bar' };
42
+ const eventType = 'SOME_EVENT';
43
+ const mockPostMessage = jest.spyOn(global.parent.window, 'postMessage');
44
+ const channel = {
45
+ port1: { onmessage: null, close: jest.fn() },
46
+ port2: {},
47
+ };
48
+ const messageChannelMock = { MessageChannel: jest.fn(() => channel) };
49
+ global.MessageChannel = messageChannelMock.MessageChannel;
50
+ const promise = postMessageToHostApp(componentId, hostUrl, eventPayload, eventType);
51
+ const error = new Error('Some error');
52
+ const response = { data: { hasError: true, error } };
53
+ if (_.isFunction(channel.port1.onmessage)) {
54
+ channel.port1.onmessage(response);
55
+ }
56
+ else {
57
+ throw new Error('on message should have been initialized');
58
+ }
59
+ await expect(promise).rejects.toThrow('Some error');
60
+ expect(mockPostMessage).toHaveBeenCalledWith({
61
+ componentId,
62
+ payload: eventPayload,
63
+ eventType,
64
+ source: 'ts-chart-sdk',
65
+ }, hostUrl, [channel.port2]);
66
+ expect(channel.port1.close).toHaveBeenCalled();
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-message-event-bridge.spec.js","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.spec.ts"],"names":[],"mappings":"AAKA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QAEpE,MAAM,WAAW,GAAG,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAG,qBAAqB,CAAC;QACtC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,YAAY,CAAC;QAG/B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAExE,MAAM,OAAO,GAAG;YACZ,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;YAC5C,KAAK,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,kBAAkB,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAqB,CAAC;QAGjE,MAAM,OAAO,GAAG,oBAAoB,CAChC,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAgB,CACnB,CAAC;QAGF,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACtC,OAAO,CAAC,KAAK,CAAC,SAAiB,CAAC,QAAQ,CAAC,CAAC;SAC9C;aAAM;YAEH,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QAGD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAI1C,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACxC;YACI,WAAW;YACX,OAAO,EAAE,YAAY;YACrB,SAAS;YACT,MAAM,EAAE,cAAc;SACzB,EACD,OAAO,EACP,CAAC,OAAO,CAAC,KAAK,CAAC,CAClB,CAAC;QAGF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC/C,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QAEtF,MAAM,WAAW,GAAG,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAG,qBAAqB,CAAC;QACtC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,YAAY,CAAC;QAG/B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAExE,MAAM,OAAO,GAAG;YACZ,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;YAC5C,KAAK,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,kBAAkB,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAqB,CAAC;QAGjE,MAAM,OAAO,GAAG,oBAAoB,CAChC,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAgB,CACnB,CAAC;QAGF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACtC,OAAO,CAAC,KAAK,CAAC,SAAiB,CAAC,QAAQ,CAAC,CAAC;SAC9C;aAAM;YAEH,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QAGD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAIpD,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACxC;YACI,WAAW;YACX,OAAO,EAAE,YAAY;YACrB,SAAS;YACT,MAAM,EAAE,cAAc;SACzB,EACD,OAAO,EACP,CAAC,OAAO,CAAC,KAAK,CAAC,CAClB,CAAC;QAGF,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC/C,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CACA,2CAA2C,EAC3C,KAAK,IAAI,EAAE;QACP,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACxC,MAAM,OAAO,GAAG,2BAA2B,CAAC;QAC5C,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAGpC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,EACpB,aAAa,CAChB,CAAC;QAEF,MAAM,OAAO,GAAG;YACZ,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;YAC5C,KAAK,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,kBAAkB,GAAG;YACvB,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;SACzC,CAAC;QACF,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAqB,CAAC;QAEjE,MAAM,OAAO,GAAG,oBAAoB,CAChC,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAgB,CACnB,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACxC;YACI,WAAW;YACX,OAAO,EAAE,YAAY;YACrB,SAAS;YACT,MAAM,EAAE,cAAc;SACzB,EACD,OAAO,EACP,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CACpB,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CACjC,gDAAgD,CACnD,CAAC;IACN,CAAC,EACD,iBAAiB,GAAG,IAAI,CAC3B,CAAC;IAEF,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACxC,MAAM,OAAO,GAAG,2BAA2B,CAAC;QAC5C,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAGpC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACxE,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG;YACZ,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;YAC5C,KAAK,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,kBAAkB,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,cAAqB,CAAC;QAEjE,MAAM,OAAO,GAAG,oBAAoB,CAChC,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAgB,CACnB,CAAC;QAGF,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAEhE,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACxC;YACI,WAAW;YACX,OAAO,EAAE,YAAY;YACrB,SAAS;YACT,MAAM,EAAE,cAAc;SACzB,EACD,OAAO,EACP,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CACpB,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { ChartModel } from '../types/common.types';
2
+ export declare const mockInitializeContextPayload: {
3
+ componentId: string;
4
+ hostUrl: string;
5
+ chartModel: ChartModel;
6
+ };
7
+ //# sourceMappingURL=test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../src/test/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQnD,eAAO,MAAM,4BAA4B;;;;CAIxC,CAAC"}
@@ -0,0 +1,11 @@
1
+ const mockChartModel = {
2
+ config: {
3
+ chartConfig: {},
4
+ },
5
+ };
6
+ export const mockInitializeContextPayload = {
7
+ componentId: 'COMPONENT_ID',
8
+ hostUrl: 'https://some.chart.app',
9
+ chartModel: mockChartModel,
10
+ };
11
+ //# sourceMappingURL=test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/test/test-utils.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG;IACnB,MAAM,EAAE;QACJ,WAAW,EAAE,EAAE;KAClB;CACU,CAAC;AAEhB,MAAM,CAAC,MAAM,4BAA4B,GAAG;IACxC,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,wBAAwB;IACjC,UAAU,EAAE,cAAc;CAC7B,CAAC"}
@@ -0,0 +1,69 @@
1
+ export declare enum ColumnType {
2
+ UNKNOWN = 0,
3
+ MEASURE = 1,
4
+ ATTRIBUTE = 2
5
+ }
6
+ export declare enum DataType {
7
+ UNKNOWN = 0,
8
+ BOOL = 1,
9
+ CHAR = 2,
10
+ INT32 = 3,
11
+ INT64 = 4,
12
+ FLOAT = 5,
13
+ DOUBLE = 6,
14
+ DATE = 7,
15
+ DATE_TIME = 8,
16
+ TIME = 9,
17
+ MAX_TYPE = 10
18
+ }
19
+ export declare enum ColumnTimeBucket {
20
+ NO_BUCKET = 0,
21
+ DAILY = 1,
22
+ WEEKLY = 2,
23
+ MONTHLY = 3,
24
+ QUARTERLY = 4,
25
+ YEARLY = 5,
26
+ HOURLY = 6,
27
+ AUTO = 7,
28
+ HOUR_OF_DAY = 8,
29
+ DAY_OF_WEEK = 9,
30
+ DAY_OF_MONTH = 10,
31
+ DAY_OF_QUARTER = 11,
32
+ DAY_OF_YEAR = 12,
33
+ WEEK_OF_MONTH = 13,
34
+ WEEK_OF_QUARTER = 14,
35
+ WEEK_OF_YEAR = 15,
36
+ MONTH_OF_QUARTER = 16,
37
+ MONTH_OF_YEAR = 17,
38
+ QUARTER_OF_YEAR = 18
39
+ }
40
+ export declare enum FormatType {
41
+ NONE = 0,
42
+ PATTERN = 1,
43
+ PERCENTAGE = 2,
44
+ CURRENCY = 3
45
+ }
46
+ export declare enum CurrencyFormatType {
47
+ USER_LOCALE = 0,
48
+ COLUMN = 1,
49
+ ISO_CODE = 2
50
+ }
51
+ export interface CurrencyFormat {
52
+ type: CurrencyFormatType;
53
+ column: string;
54
+ isoCode: string;
55
+ }
56
+ export interface ColumnFormat {
57
+ type: FormatType;
58
+ pattern?: string;
59
+ currencyFormat?: CurrencyFormat;
60
+ }
61
+ export interface ChartColumn {
62
+ id: string;
63
+ name: string;
64
+ type: ColumnType;
65
+ timeBucket: ColumnTimeBucket;
66
+ dataType: DataType;
67
+ format?: ColumnFormat;
68
+ }
69
+ //# sourceMappingURL=answer-column.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-column.types.d.ts","sourceRoot":"","sources":["../../src/types/answer-column.types.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,SAAS,IAAA;CACZ;AAKD,oBAAY,QAAQ;IAChB,OAAO,IAAA;IAEP,IAAI,IAAA;IAEJ,IAAI,IAAA;IAEJ,KAAK,IAAA;IACL,KAAK,IAAA;IACL,KAAK,IAAA;IACL,MAAM,IAAA;IAEN,IAAI,IAAA;IACJ,SAAS,IAAA;IACT,IAAI,IAAA;IAEJ,QAAQ,KAAA;CACX;AAED,oBAAY,gBAAgB;IACxB,SAAS,IAAA;IACT,KAAK,IAAA;IACL,MAAM,IAAA;IACN,OAAO,IAAA;IACP,SAAS,IAAA;IACT,MAAM,IAAA;IACN,MAAM,IAAA;IACN,IAAI,IAAA;IACJ,WAAW,IAAA;IACX,WAAW,IAAA;IACX,YAAY,KAAA;IACZ,cAAc,KAAA;IACd,WAAW,KAAA;IACX,aAAa,KAAA;IACb,eAAe,KAAA;IACf,YAAY,KAAA;IACZ,gBAAgB,KAAA;IAChB,aAAa,KAAA;IACb,eAAe,KAAA;CAClB;AAOD,oBAAY,UAAU;IAClB,IAAI,IAAA;IACJ,OAAO,IAAA;IACP,UAAU,IAAA;IACV,QAAQ,IAAA;CACX;AAOD,oBAAY,kBAAkB;IAC1B,WAAW,IAAA;IACX,MAAM,IAAA;IACN,QAAQ,IAAA;CACX;AAOD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,kBAAkB,CAAC;IAMzB,MAAM,EAAE,MAAM,CAAC;IAMf,OAAO,EAAE,MAAM,CAAC;CACnB;AAQD,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,UAAU,CAAC;IAOjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAMxB,EAAE,EAAE,MAAM,CAAC;IAMX,IAAI,EAAE,MAAM,CAAC;IAMb,IAAI,EAAE,UAAU,CAAC;IAQjB,UAAU,EAAE,gBAAgB,CAAC;IAO7B,QAAQ,EAAE,QAAQ,CAAC;IAqBnB,MAAM,CAAC,EAAE,YAAY,CAAC;CACzB"}
@@ -0,0 +1,56 @@
1
+ export var ColumnType;
2
+ (function (ColumnType) {
3
+ ColumnType[ColumnType["UNKNOWN"] = 0] = "UNKNOWN";
4
+ ColumnType[ColumnType["MEASURE"] = 1] = "MEASURE";
5
+ ColumnType[ColumnType["ATTRIBUTE"] = 2] = "ATTRIBUTE";
6
+ })(ColumnType || (ColumnType = {}));
7
+ export var DataType;
8
+ (function (DataType) {
9
+ DataType[DataType["UNKNOWN"] = 0] = "UNKNOWN";
10
+ DataType[DataType["BOOL"] = 1] = "BOOL";
11
+ DataType[DataType["CHAR"] = 2] = "CHAR";
12
+ DataType[DataType["INT32"] = 3] = "INT32";
13
+ DataType[DataType["INT64"] = 4] = "INT64";
14
+ DataType[DataType["FLOAT"] = 5] = "FLOAT";
15
+ DataType[DataType["DOUBLE"] = 6] = "DOUBLE";
16
+ DataType[DataType["DATE"] = 7] = "DATE";
17
+ DataType[DataType["DATE_TIME"] = 8] = "DATE_TIME";
18
+ DataType[DataType["TIME"] = 9] = "TIME";
19
+ DataType[DataType["MAX_TYPE"] = 10] = "MAX_TYPE";
20
+ })(DataType || (DataType = {}));
21
+ export var ColumnTimeBucket;
22
+ (function (ColumnTimeBucket) {
23
+ ColumnTimeBucket[ColumnTimeBucket["NO_BUCKET"] = 0] = "NO_BUCKET";
24
+ ColumnTimeBucket[ColumnTimeBucket["DAILY"] = 1] = "DAILY";
25
+ ColumnTimeBucket[ColumnTimeBucket["WEEKLY"] = 2] = "WEEKLY";
26
+ ColumnTimeBucket[ColumnTimeBucket["MONTHLY"] = 3] = "MONTHLY";
27
+ ColumnTimeBucket[ColumnTimeBucket["QUARTERLY"] = 4] = "QUARTERLY";
28
+ ColumnTimeBucket[ColumnTimeBucket["YEARLY"] = 5] = "YEARLY";
29
+ ColumnTimeBucket[ColumnTimeBucket["HOURLY"] = 6] = "HOURLY";
30
+ ColumnTimeBucket[ColumnTimeBucket["AUTO"] = 7] = "AUTO";
31
+ ColumnTimeBucket[ColumnTimeBucket["HOUR_OF_DAY"] = 8] = "HOUR_OF_DAY";
32
+ ColumnTimeBucket[ColumnTimeBucket["DAY_OF_WEEK"] = 9] = "DAY_OF_WEEK";
33
+ ColumnTimeBucket[ColumnTimeBucket["DAY_OF_MONTH"] = 10] = "DAY_OF_MONTH";
34
+ ColumnTimeBucket[ColumnTimeBucket["DAY_OF_QUARTER"] = 11] = "DAY_OF_QUARTER";
35
+ ColumnTimeBucket[ColumnTimeBucket["DAY_OF_YEAR"] = 12] = "DAY_OF_YEAR";
36
+ ColumnTimeBucket[ColumnTimeBucket["WEEK_OF_MONTH"] = 13] = "WEEK_OF_MONTH";
37
+ ColumnTimeBucket[ColumnTimeBucket["WEEK_OF_QUARTER"] = 14] = "WEEK_OF_QUARTER";
38
+ ColumnTimeBucket[ColumnTimeBucket["WEEK_OF_YEAR"] = 15] = "WEEK_OF_YEAR";
39
+ ColumnTimeBucket[ColumnTimeBucket["MONTH_OF_QUARTER"] = 16] = "MONTH_OF_QUARTER";
40
+ ColumnTimeBucket[ColumnTimeBucket["MONTH_OF_YEAR"] = 17] = "MONTH_OF_YEAR";
41
+ ColumnTimeBucket[ColumnTimeBucket["QUARTER_OF_YEAR"] = 18] = "QUARTER_OF_YEAR";
42
+ })(ColumnTimeBucket || (ColumnTimeBucket = {}));
43
+ export var FormatType;
44
+ (function (FormatType) {
45
+ FormatType[FormatType["NONE"] = 0] = "NONE";
46
+ FormatType[FormatType["PATTERN"] = 1] = "PATTERN";
47
+ FormatType[FormatType["PERCENTAGE"] = 2] = "PERCENTAGE";
48
+ FormatType[FormatType["CURRENCY"] = 3] = "CURRENCY";
49
+ })(FormatType || (FormatType = {}));
50
+ export var CurrencyFormatType;
51
+ (function (CurrencyFormatType) {
52
+ CurrencyFormatType[CurrencyFormatType["USER_LOCALE"] = 0] = "USER_LOCALE";
53
+ CurrencyFormatType[CurrencyFormatType["COLUMN"] = 1] = "COLUMN";
54
+ CurrencyFormatType[CurrencyFormatType["ISO_CODE"] = 2] = "ISO_CODE";
55
+ })(CurrencyFormatType || (CurrencyFormatType = {}));
56
+ //# sourceMappingURL=answer-column.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-column.types.js","sourceRoot":"","sources":["../../src/types/answer-column.types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,iDAAO,CAAA;IACP,iDAAO,CAAA;IACP,qDAAS,CAAA;AACb,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAKD,MAAM,CAAN,IAAY,QAiBX;AAjBD,WAAY,QAAQ;IAChB,6CAAO,CAAA;IAEP,uCAAI,CAAA;IAEJ,uCAAI,CAAA;IAEJ,yCAAK,CAAA;IACL,yCAAK,CAAA;IACL,yCAAK,CAAA;IACL,2CAAM,CAAA;IAEN,uCAAI,CAAA;IACJ,iDAAS,CAAA;IACT,uCAAI,CAAA;IAEJ,gDAAQ,CAAA;AACZ,CAAC,EAjBW,QAAQ,KAAR,QAAQ,QAiBnB;AAED,MAAM,CAAN,IAAY,gBAoBX;AApBD,WAAY,gBAAgB;IACxB,iEAAS,CAAA;IACT,yDAAK,CAAA;IACL,2DAAM,CAAA;IACN,6DAAO,CAAA;IACP,iEAAS,CAAA;IACT,2DAAM,CAAA;IACN,2DAAM,CAAA;IACN,uDAAI,CAAA;IACJ,qEAAW,CAAA;IACX,qEAAW,CAAA;IACX,wEAAY,CAAA;IACZ,4EAAc,CAAA;IACd,sEAAW,CAAA;IACX,0EAAa,CAAA;IACb,8EAAe,CAAA;IACf,wEAAY,CAAA;IACZ,gFAAgB,CAAA;IAChB,0EAAa,CAAA;IACb,8EAAe,CAAA;AACnB,CAAC,EApBW,gBAAgB,KAAhB,gBAAgB,QAoB3B;AAOD,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,2CAAI,CAAA;IACJ,iDAAO,CAAA;IACP,uDAAU,CAAA;IACV,mDAAQ,CAAA;AACZ,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB;AAOD,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,yEAAW,CAAA;IACX,+DAAM,CAAA;IACN,mEAAQ,CAAA;AACZ,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
@@ -0,0 +1,48 @@
1
+ import { VisualProps } from './common.types';
2
+ export declare enum ChartToTSEvent {
3
+ OpenContextMenu = "OpenContextMenu",
4
+ CloseContextMenu = "CloseContextMenu",
5
+ OpenAxisMenu = "OpenAxisMenu",
6
+ CloseAxisMenu = "CloseAxisMenu",
7
+ RenderStart = "RenderStart",
8
+ RenderError = "RenderError",
9
+ RenderComplete = "RenderComplete",
10
+ UpdateVisualProps = "UpdateVisualProps"
11
+ }
12
+ export interface ChartToTSEventsPayloadMap {
13
+ [ChartToTSEvent.OpenContextMenu]: OpenContextMenuEventPayload;
14
+ [ChartToTSEvent.CloseContextMenu]: null;
15
+ [ChartToTSEvent.RenderStart]: null;
16
+ [ChartToTSEvent.RenderComplete]: null;
17
+ [ChartToTSEvent.RenderError]: RenderErrorEventPayload;
18
+ [ChartToTSEvent.UpdateVisualProps]: UpdateVisualPropsEventPayload;
19
+ }
20
+ type UpdateVisualPropsEventPayload = VisualProps;
21
+ export interface PointVal {
22
+ columnId: string;
23
+ value: any;
24
+ }
25
+ export interface Point {
26
+ tuple: PointVal[];
27
+ }
28
+ export interface CustomAction {
29
+ id: string;
30
+ label: string;
31
+ icon: string;
32
+ onClick: (...args: any[]) => void;
33
+ }
34
+ export interface OpenContextMenuEventPayload {
35
+ event: Pick<PointerEvent, 'x' | 'y' | 'clientX' | 'clientY' | 'pageX' | 'pageY' | 'screenX' | 'screenY'>;
36
+ clickedPoint: Point;
37
+ selectedPoints?: Point[];
38
+ customActions?: CustomAction[];
39
+ }
40
+ interface RenderErrorEventPayload {
41
+ hasError: boolean;
42
+ error: any;
43
+ }
44
+ export declare enum ErrorType {
45
+ MultipleContextsNotSupported = "MultipleContextsNotSupported"
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=chart-to-ts-event.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-to-ts-event.types.d.ts","sourceRoot":"","sources":["../../src/types/chart-to-ts-event.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,oBAAY,cAAc;IAItB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IAKrC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAK/B,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IAKjC,iBAAiB,sBAAsB;CAC1C;AAQD,MAAM,WAAW,yBAAyB;IAMtC,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAM9D,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC;IAOxC,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAMnC,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC;IAMtC,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,uBAAuB,CAAC;IAMtD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;CACrE;AAMD,KAAK,6BAA6B,GAAG,WAAW,CAAC;AAMjD,MAAM,WAAW,QAAQ;IAErB,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,GAAG,CAAC;CACd;AAKD,MAAM,WAAW,KAAK;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACrB;AAMD,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IASb,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACrC;AAMD,MAAM,WAAW,2BAA2B;IACxC,KAAK,EAAE,IAAI,CACP,YAAY,EACV,GAAG,GACH,GAAG,GACH,SAAS,GACT,SAAS,GACT,OAAO,GACP,OAAO,GACP,SAAS,GACT,SAAS,CACd,CAAC;IACF,YAAY,EAAE,KAAK,CAAC;IACpB,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;CAClC;AAMD,UAAU,uBAAuB;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC;CACd;AAMD,oBAAY,SAAS;IACjB,4BAA4B,iCAAiC;CAChE"}
@@ -0,0 +1,16 @@
1
+ export var ChartToTSEvent;
2
+ (function (ChartToTSEvent) {
3
+ ChartToTSEvent["OpenContextMenu"] = "OpenContextMenu";
4
+ ChartToTSEvent["CloseContextMenu"] = "CloseContextMenu";
5
+ ChartToTSEvent["OpenAxisMenu"] = "OpenAxisMenu";
6
+ ChartToTSEvent["CloseAxisMenu"] = "CloseAxisMenu";
7
+ ChartToTSEvent["RenderStart"] = "RenderStart";
8
+ ChartToTSEvent["RenderError"] = "RenderError";
9
+ ChartToTSEvent["RenderComplete"] = "RenderComplete";
10
+ ChartToTSEvent["UpdateVisualProps"] = "UpdateVisualProps";
11
+ })(ChartToTSEvent || (ChartToTSEvent = {}));
12
+ export var ErrorType;
13
+ (function (ErrorType) {
14
+ ErrorType["MultipleContextsNotSupported"] = "MultipleContextsNotSupported";
15
+ })(ErrorType || (ErrorType = {}));
16
+ //# sourceMappingURL=chart-to-ts-event.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-to-ts-event.types.js","sourceRoot":"","sources":["../../src/types/chart-to-ts-event.types.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,cAwBX;AAxBD,WAAY,cAAc;IAItB,qDAAmC,CAAA;IACnC,uDAAqC,CAAA;IAKrC,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAK/B,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;IAC3B,mDAAiC,CAAA;IAKjC,yDAAuC,CAAA;AAC3C,CAAC,EAxBW,cAAc,KAAd,cAAc,QAwBzB;AA8HD,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACjB,0EAA6D,CAAA;AACjE,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB"}
@@ -0,0 +1,51 @@
1
+ import { ChartColumn, DataType } from './answer-column.types';
2
+ export interface ChartConfigDimension {
3
+ key: string;
4
+ columns: ChartColumn[];
5
+ }
6
+ export interface ChartConfig {
7
+ key: string;
8
+ dimensions: ChartConfigDimension[];
9
+ }
10
+ export type DataArray = {
11
+ columnId: string;
12
+ columnDataType: DataType;
13
+ dataValue: any[];
14
+ };
15
+ export type QueryData = {
16
+ data: DataArray[];
17
+ completionRatio: number;
18
+ samplingRatio: number;
19
+ totalRowCount: number;
20
+ };
21
+ export interface ChartModel {
22
+ columns: ChartColumn[];
23
+ data?: QueryData[];
24
+ sortInfo?: any;
25
+ visualProps?: VisualProps;
26
+ config: {
27
+ chartConfig?: ChartConfig[];
28
+ };
29
+ }
30
+ export type ValidationResponse = {
31
+ isValid: boolean;
32
+ validationErrorMessage?: string[];
33
+ };
34
+ export type VisualProps = JSON;
35
+ type CustomStylingConfig = any;
36
+ export interface AppConfig {
37
+ styleConfig?: CustomStylingConfig;
38
+ appOptions?: {
39
+ isMobile?: boolean;
40
+ isPrintMode?: boolean;
41
+ isDebugMode?: boolean;
42
+ };
43
+ localeOptions?: {
44
+ locale: string;
45
+ quarterStartMonth: string;
46
+ sessionTimezone: string;
47
+ };
48
+ customCalendarConfig?: any;
49
+ }
50
+ export {};
51
+ //# sourceMappingURL=common.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../src/types/common.types.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAU9D,MAAM,WAAW,oBAAoB;IAMjC,GAAG,EAAE,MAAM,CAAC;IAMZ,OAAO,EAAE,WAAW,EAAE,CAAC;CAC1B;AASD,MAAM,WAAW,WAAW;IAQxB,GAAG,EAAE,MAAM,CAAC;IAMZ,UAAU,EAAE,oBAAoB,EAAE,CAAC;CACtC;AAQD,MAAM,MAAM,SAAS,GAAG;IAMpB,QAAQ,EAAE,MAAM,CAAC;IAMjB,cAAc,EAAE,QAAQ,CAAC;IAMzB,SAAS,EAAE,GAAG,EAAE,CAAC;CACpB,CAAC;AASF,MAAM,MAAM,SAAS,GAAG;IAMpB,IAAI,EAAE,SAAS,EAAE,CAAC;IAMlB,eAAe,EAAE,MAAM,CAAC;IAKxB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC;AAOF,MAAM,WAAW,UAAU;IAOvB,OAAO,EAAE,WAAW,EAAE,CAAC;IAMvB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE;QAEJ,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;KAC/B,CAAC;CACL;AAGD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC,CAAC;AAUF,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC;AAG/B,KAAK,mBAAmB,GAAG,GAAG,CAAC;AAE/B,MAAM,WAAW,SAAS;IACtB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAElC,UAAU,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;QAGtB,WAAW,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IAGF,aAAa,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IAKF,oBAAoB,CAAC,EAAE,GAAG,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=common.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../src/types/common.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ export interface ChartConfigSection {
2
+ key: string;
3
+ label: string;
4
+ maxColumnCount?: number;
5
+ allowMeasureColumns?: boolean;
6
+ allowAttributeColumns?: boolean;
7
+ allowTimeSeriesColumns?: boolean;
8
+ }
9
+ export interface ChartConfigEditorDefinition {
10
+ key: string;
11
+ label?: string;
12
+ descriptionText?: string;
13
+ columnSections: ChartConfigSection[];
14
+ }
15
+ //# sourceMappingURL=configurator.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator.types.d.ts","sourceRoot":"","sources":["../../src/types/configurator.types.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,kBAAkB;IAM/B,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,EAAE,MAAM,CAAC;IAcd,cAAc,CAAC,EAAE,MAAM,CAAC;IAOxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAQ9B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAQhC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC;AAMD,MAAM,WAAW,2BAA2B;IAMxC,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,eAAe,CAAC,EAAE,MAAM,CAAC;IAMzB,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=configurator.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configurator.types.js","sourceRoot":"","sources":["../../src/types/configurator.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,67 @@
1
+ import { ChartColumn } from './answer-column.types';
2
+ import { AppConfig, ChartConfig, ChartModel, QueryData, ValidationResponse, VisualProps } from './common.types';
3
+ import { ChartConfigEditorDefinition } from './configurator.types';
4
+ import { VisualPropEditorDefinition } from './visual-prop.types';
5
+ export declare enum TSToChartEvent {
6
+ Initialize = "Initialize",
7
+ GetDataQuery = "GetDataQuery",
8
+ ChartConfigValidate = "ChartConfigValidate",
9
+ ChartModelUpdate = "ChartModelUpdate",
10
+ DataUpdate = "DataUpdate",
11
+ TriggerRenderChart = "TriggerRenderChart",
12
+ VisualPropsValidate = "VisualPropsValidate",
13
+ VisualPropsUpdate = "VisualPropsUpdate"
14
+ }
15
+ export interface TSToChartEventsPayloadMap {
16
+ [TSToChartEvent.ChartModelUpdate]: (payload: ChartModelUpdateEventPayload) => void;
17
+ [TSToChartEvent.DataUpdate]: (payload: DataUpdateEventPayload) => void;
18
+ [TSToChartEvent.VisualPropsUpdate]: (payload: VisualPropsUpdateEventPayload) => void;
19
+ }
20
+ export interface TSToChartInternalEventsPayloadMap {
21
+ [TSToChartEvent.Initialize]: (payload: InitializeEventPayload) => InitializeEventResponsePayload;
22
+ [TSToChartEvent.GetDataQuery]: (payload: GetDataQueryPayload) => GetDataQueryResponsePayload;
23
+ [TSToChartEvent.ChartConfigValidate]: (payload: ChartConfigValidateEventPayload) => ValidationResponse;
24
+ [TSToChartEvent.VisualPropsValidate]: (payload: VisualPropsValidateEventPayload) => ValidationResponse;
25
+ [TSToChartEvent.TriggerRenderChart]: () => void;
26
+ }
27
+ export interface InitializeEventPayload {
28
+ chartModel: ChartModel;
29
+ appConfig?: AppConfig;
30
+ componentId: string;
31
+ hostUrl: string;
32
+ }
33
+ export interface InitializeEventResponsePayload {
34
+ isConfigValid: boolean;
35
+ defaultChartConfig: ChartConfig[];
36
+ chartConfigEditorDefinition?: ChartConfigEditorDefinition[];
37
+ visualPropEditorDefinition?: VisualPropEditorDefinition;
38
+ }
39
+ export interface GetDataQueryPayload {
40
+ config: ChartConfig[];
41
+ }
42
+ export interface Query {
43
+ queryColumns: ChartColumn[];
44
+ queryParams?: {
45
+ offset?: number;
46
+ size?: number;
47
+ };
48
+ }
49
+ export interface GetDataQueryResponsePayload {
50
+ queries: Query[];
51
+ }
52
+ export interface ChartModelUpdateEventPayload {
53
+ chartModel: ChartModel;
54
+ }
55
+ export interface DataUpdateEventPayload {
56
+ data: QueryData[];
57
+ }
58
+ export interface VisualPropsUpdateEventPayload {
59
+ visualProps: VisualProps;
60
+ }
61
+ export interface VisualPropsValidateEventPayload {
62
+ visualProps: VisualProps;
63
+ }
64
+ export interface ChartConfigValidateEventPayload {
65
+ chartConfig: ChartConfig[];
66
+ }
67
+ //# sourceMappingURL=ts-to-chart-event.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-to-chart-event.types.d.ts","sourceRoot":"","sources":["../../src/types/ts-to-chart-event.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACH,SAAS,EACT,WAAW,EACX,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAQjE,oBAAY,cAAc;IAItB,UAAU,eAAe;IAKzB,YAAY,iBAAiB;IAK7B,mBAAmB,wBAAwB;IAI3C,gBAAgB,qBAAqB;IAIrC,UAAU,eAAe;IAKzB,kBAAkB,uBAAuB;IAKzC,mBAAmB,wBAAwB;IAI3C,iBAAiB,sBAAsB;CAC1C;AAQD,MAAM,WAAW,yBAAyB;IACtC,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAC/B,OAAO,EAAE,4BAA4B,KACpC,IAAI,CAAC;IACV,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACvE,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAChC,OAAO,EAAE,6BAA6B,KACrC,IAAI,CAAC;CACb;AAWD,MAAM,WAAW,iCAAiC;IAC9C,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CACzB,OAAO,EAAE,sBAAsB,KAC9B,8BAA8B,CAAC;IAEpC,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAC3B,OAAO,EAAE,mBAAmB,KAC3B,2BAA2B,CAAC;IAEjC,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAClC,OAAO,EAAE,+BAA+B,KACvC,kBAAkB,CAAC;IAExB,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAClC,OAAO,EAAE,+BAA+B,KACvC,kBAAkB,CAAC;IAExB,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnD;AAMD,MAAM,WAAW,sBAAsB;IAMnC,UAAU,EAAE,UAAU,CAAC;IAOvB,SAAS,CAAC,EAAE,SAAS,CAAC;IAQtB,WAAW,EAAE,MAAM,CAAC;IAQpB,OAAO,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,8BAA8B;IAO3C,aAAa,EAAE,OAAO,CAAC;IAMvB,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAMlC,2BAA2B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAM5D,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D;AAMD,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;CACzB;AAMD,MAAM,WAAW,KAAK;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACL;AAMD,MAAM,WAAW,2BAA2B;IACxC,OAAO,EAAE,KAAK,EAAE,CAAC;CACpB;AAMD,MAAM,WAAW,4BAA4B;IAMzC,UAAU,EAAE,UAAU,CAAC;CAC1B;AAMD,MAAM,WAAW,sBAAsB;IAMnC,IAAI,EAAE,SAAS,EAAE,CAAC;CACrB;AACD,MAAM,WAAW,6BAA6B;IAM1C,WAAW,EAAE,WAAW,CAAC;CAC5B;AAMD,MAAM,WAAW,+BAA+B;IAM5C,WAAW,EAAE,WAAW,CAAC;CAC5B;AAMD,MAAM,WAAW,+BAA+B;IAM5C,WAAW,EAAE,WAAW,EAAE,CAAC;CAC9B"}
@@ -0,0 +1,12 @@
1
+ export var TSToChartEvent;
2
+ (function (TSToChartEvent) {
3
+ TSToChartEvent["Initialize"] = "Initialize";
4
+ TSToChartEvent["GetDataQuery"] = "GetDataQuery";
5
+ TSToChartEvent["ChartConfigValidate"] = "ChartConfigValidate";
6
+ TSToChartEvent["ChartModelUpdate"] = "ChartModelUpdate";
7
+ TSToChartEvent["DataUpdate"] = "DataUpdate";
8
+ TSToChartEvent["TriggerRenderChart"] = "TriggerRenderChart";
9
+ TSToChartEvent["VisualPropsValidate"] = "VisualPropsValidate";
10
+ TSToChartEvent["VisualPropsUpdate"] = "VisualPropsUpdate";
11
+ })(TSToChartEvent || (TSToChartEvent = {}));
12
+ //# sourceMappingURL=ts-to-chart-event.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-to-chart-event.types.js","sourceRoot":"","sources":["../../src/types/ts-to-chart-event.types.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAN,IAAY,cAqCX;AArCD,WAAY,cAAc;IAItB,2CAAyB,CAAA;IAKzB,+CAA6B,CAAA;IAK7B,6DAA2C,CAAA;IAI3C,uDAAqC,CAAA;IAIrC,2CAAyB,CAAA;IAKzB,2DAAyC,CAAA;IAKzC,6DAA2C,CAAA;IAI3C,yDAAuC,CAAA;AAC3C,CAAC,EArCW,cAAc,KAAd,cAAc,QAqCzB"}
@@ -0,0 +1,47 @@
1
+ export interface TextInputFormDetail {
2
+ type: 'text';
3
+ key: string;
4
+ label?: string;
5
+ password?: boolean;
6
+ multiline?: boolean;
7
+ placeholder?: string;
8
+ defaultValue?: string;
9
+ }
10
+ export interface ToggleFormDetail {
11
+ type: 'toggle';
12
+ key: string;
13
+ label?: string;
14
+ defaultValue?: boolean;
15
+ }
16
+ export interface CheckboxFormDetail {
17
+ type: 'checkbox';
18
+ key: string;
19
+ label?: string;
20
+ defaultValue?: boolean;
21
+ }
22
+ export interface RadioButtonFormDetail {
23
+ type: 'radio';
24
+ key: string;
25
+ label?: string;
26
+ defaultValue?: string;
27
+ values: string[];
28
+ }
29
+ export interface DropDownFormDetail {
30
+ type: 'dropdown';
31
+ key: string;
32
+ label?: string;
33
+ defaultValue?: string;
34
+ values: string[];
35
+ }
36
+ export interface Section {
37
+ type: 'section';
38
+ key: string;
39
+ label?: string;
40
+ children?: PropElement[];
41
+ alignment?: 'row' | 'column';
42
+ }
43
+ export type PropElement = Section | TextInputFormDetail | ToggleFormDetail | CheckboxFormDetail | RadioButtonFormDetail | DropDownFormDetail;
44
+ export interface VisualPropEditorDefinition {
45
+ elements: PropElement[];
46
+ }
47
+ //# sourceMappingURL=visual-prop.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-prop.types.d.ts","sourceRoot":"","sources":["../../src/types/visual-prop.types.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IAMb,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAOf,QAAQ,CAAC,EAAE,OAAO,CAAC;IAOnB,SAAS,CAAC,EAAE,OAAO,CAAC;IAMpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAOD,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,QAAQ,CAAC;IAMf,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAOD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,UAAU,CAAC;IAMjB,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAOD,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,OAAO,CAAC;IAMd,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAOD,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,UAAU,CAAC;IAMjB,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAOD,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,SAAS,CAAC;IAMhB,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IAMzB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAChC;AAOD,MAAM,MAAM,WAAW,GACjB,OAAO,GACP,mBAAmB,GACnB,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,CAAC;AAOzB,MAAM,WAAW,0BAA0B;IAOvC,QAAQ,EAAE,WAAW,EAAE,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=visual-prop.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visual-prop.types.js","sourceRoot":"","sources":["../../src/types/visual-prop.types.ts"],"names":[],"mappings":""}