@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.
Files changed (174) hide show
  1. package/dist/ts-chart-sdk.d.ts +449 -31
  2. package/lib/index.d.ts +3 -0
  3. package/lib/index.d.ts.map +1 -1
  4. package/lib/index.js +3 -0
  5. package/lib/index.js.map +1 -1
  6. package/lib/main/custom-chart-context.d.ts +17 -5
  7. package/lib/main/custom-chart-context.d.ts.map +1 -1
  8. package/lib/main/custom-chart-context.js +74 -34
  9. package/lib/main/custom-chart-context.js.map +1 -1
  10. package/lib/main/custom-chart-context.spec.js +256 -257
  11. package/lib/main/custom-chart-context.spec.js.map +1 -1
  12. package/lib/main/post-message-event-bridge.d.ts +3 -3
  13. package/lib/main/post-message-event-bridge.d.ts.map +1 -1
  14. package/lib/main/post-message-event-bridge.js +24 -36
  15. package/lib/main/post-message-event-bridge.js.map +1 -1
  16. package/lib/main/post-message-event-bridge.spec.js +0 -2
  17. package/lib/main/post-message-event-bridge.spec.js.map +1 -1
  18. package/lib/main/util.d.ts +2 -0
  19. package/lib/main/util.d.ts.map +1 -0
  20. package/lib/main/util.js +9 -0
  21. package/lib/main/util.js.map +1 -0
  22. package/lib/react/use-custom-chart-context.spec.js +128 -121
  23. package/lib/react/use-custom-chart-context.spec.js.map +1 -1
  24. package/lib/test/test-conditional-formatting-utils.d.ts +5 -0
  25. package/lib/test/test-conditional-formatting-utils.d.ts.map +1 -0
  26. package/lib/test/test-conditional-formatting-utils.js +43 -0
  27. package/lib/test/test-conditional-formatting-utils.js.map +1 -0
  28. package/lib/types/answer-column.types.d.ts +54 -1
  29. package/lib/types/answer-column.types.d.ts.map +1 -1
  30. package/lib/types/answer-column.types.js +47 -0
  31. package/lib/types/answer-column.types.js.map +1 -1
  32. package/lib/types/common.types.d.ts +51 -4
  33. package/lib/types/common.types.d.ts.map +1 -1
  34. package/lib/types/common.types.js +15 -1
  35. package/lib/types/common.types.js.map +1 -1
  36. package/lib/types/conditional-formatting.types.d.ts +155 -0
  37. package/lib/types/conditional-formatting.types.d.ts.map +1 -0
  38. package/lib/types/conditional-formatting.types.js +60 -0
  39. package/lib/types/conditional-formatting.types.js.map +1 -0
  40. package/lib/types/configurator.types.d.ts +5 -0
  41. package/lib/types/configurator.types.d.ts.map +1 -1
  42. package/lib/types/ts-to-chart-event.types.d.ts +3 -0
  43. package/lib/types/ts-to-chart-event.types.d.ts.map +1 -1
  44. package/lib/types/ts-to-chart-event.types.js.map +1 -1
  45. package/lib/types/visual-prop.types.d.ts +3 -0
  46. package/lib/types/visual-prop.types.d.ts.map +1 -1
  47. package/lib/utils/conditional-formatting/conditional-formatting.d.ts +10 -0
  48. package/lib/utils/conditional-formatting/conditional-formatting.d.ts.map +1 -0
  49. package/lib/utils/conditional-formatting/conditional-formatting.js +103 -0
  50. package/lib/utils/conditional-formatting/conditional-formatting.js.map +1 -0
  51. package/lib/utils/conditional-formatting/conditional-formatting.spec.d.ts +2 -0
  52. package/lib/utils/conditional-formatting/conditional-formatting.spec.d.ts.map +1 -0
  53. package/lib/utils/conditional-formatting/conditional-formatting.spec.js +142 -0
  54. package/lib/utils/conditional-formatting/conditional-formatting.spec.js.map +1 -0
  55. package/lib/utils/date-formatting.d.ts +19 -0
  56. package/lib/utils/date-formatting.d.ts.map +1 -0
  57. package/lib/utils/date-formatting.js +56 -0
  58. package/lib/utils/date-formatting.js.map +1 -0
  59. package/lib/utils/date-formatting.spec.d.ts +2 -0
  60. package/lib/utils/date-formatting.spec.d.ts.map +1 -0
  61. package/lib/utils/date-formatting.spec.js +124 -0
  62. package/lib/utils/date-formatting.spec.js.map +1 -0
  63. package/package.json +10 -7
  64. package/src/index.ts +3 -0
  65. package/src/main/custom-chart-context.spec.ts +291 -266
  66. package/src/main/custom-chart-context.ts +164 -46
  67. package/src/main/post-message-event-bridge.spec.ts +0 -3
  68. package/src/main/post-message-event-bridge.ts +36 -62
  69. package/src/main/util.ts +11 -0
  70. package/src/react/use-custom-chart-context.spec.tsx +149 -122
  71. package/src/test/test-conditional-formatting-utils.ts +95 -0
  72. package/src/types/answer-column.types.ts +98 -0
  73. package/src/types/common.types.ts +82 -10
  74. package/src/types/conditional-formatting.types.ts +172 -0
  75. package/src/types/configurator.types.ts +21 -0
  76. package/src/types/ts-to-chart-event.types.ts +15 -0
  77. package/src/types/visual-prop.types.ts +7 -0
  78. package/src/utils/conditional-formatting/conditional-formatting.spec.ts +469 -0
  79. package/src/utils/conditional-formatting/conditional-formatting.ts +229 -0
  80. package/src/utils/date-formatting.spec.ts +168 -0
  81. package/src/utils/date-formatting.ts +109 -0
  82. package/cjs/index.d.ts +0 -9
  83. package/cjs/index.d.ts.map +0 -1
  84. package/cjs/index.js +0 -25
  85. package/cjs/index.js.map +0 -1
  86. package/cjs/main/custom-chart-context.d.ts +0 -47
  87. package/cjs/main/custom-chart-context.d.ts.map +0 -1
  88. package/cjs/main/custom-chart-context.js +0 -326
  89. package/cjs/main/custom-chart-context.js.map +0 -1
  90. package/cjs/main/custom-chart-context.spec.d.ts +0 -2
  91. package/cjs/main/custom-chart-context.spec.d.ts.map +0 -1
  92. package/cjs/main/custom-chart-context.spec.js +0 -699
  93. package/cjs/main/custom-chart-context.spec.js.map +0 -1
  94. package/cjs/main/post-message-event-bridge.d.ts +0 -6
  95. package/cjs/main/post-message-event-bridge.d.ts.map +0 -1
  96. package/cjs/main/post-message-event-bridge.js +0 -46
  97. package/cjs/main/post-message-event-bridge.js.map +0 -1
  98. package/cjs/main/post-message-event-bridge.spec.d.ts +0 -2
  99. package/cjs/main/post-message-event-bridge.spec.d.ts.map +0 -1
  100. package/cjs/main/post-message-event-bridge.spec.js +0 -124
  101. package/cjs/main/post-message-event-bridge.spec.js.map +0 -1
  102. package/cjs/react/custom-chart-context-service.d.ts +0 -33
  103. package/cjs/react/custom-chart-context-service.d.ts.map +0 -1
  104. package/cjs/react/custom-chart-context-service.js +0 -118
  105. package/cjs/react/custom-chart-context-service.js.map +0 -1
  106. package/cjs/react/custom-chart.context.d.ts +0 -26
  107. package/cjs/react/custom-chart.context.d.ts.map +0 -1
  108. package/cjs/react/custom-chart.context.js +0 -105
  109. package/cjs/react/custom-chart.context.js.map +0 -1
  110. package/cjs/react/custom-chart.spec.d.ts +0 -2
  111. package/cjs/react/custom-chart.spec.d.ts.map +0 -1
  112. package/cjs/react/custom-chart.spec.js +0 -72
  113. package/cjs/react/custom-chart.spec.js.map +0 -1
  114. package/cjs/react/mocks/custom-chart-context-mock.d.ts +0 -3
  115. package/cjs/react/mocks/custom-chart-context-mock.d.ts.map +0 -1
  116. package/cjs/react/mocks/custom-chart-context-mock.js +0 -100
  117. package/cjs/react/mocks/custom-chart-context-mock.js.map +0 -1
  118. package/cjs/react/use-custom-chart-context.d.ts +0 -4
  119. package/cjs/react/use-custom-chart-context.d.ts.map +0 -1
  120. package/cjs/react/use-custom-chart-context.js +0 -95
  121. package/cjs/react/use-custom-chart-context.js.map +0 -1
  122. package/cjs/react/use-custom-chart-context.spec.d.ts +0 -2
  123. package/cjs/react/use-custom-chart-context.spec.d.ts.map +0 -1
  124. package/cjs/react/use-custom-chart-context.spec.js +0 -391
  125. package/cjs/react/use-custom-chart-context.spec.js.map +0 -1
  126. package/cjs/react/use-custom-chart-context.util.d.ts +0 -6
  127. package/cjs/react/use-custom-chart-context.util.d.ts.map +0 -1
  128. package/cjs/react/use-custom-chart-context.util.js +0 -60
  129. package/cjs/react/use-custom-chart-context.util.js.map +0 -1
  130. package/cjs/react/use-custom-chart-types.d.ts +0 -23
  131. package/cjs/react/use-custom-chart-types.d.ts.map +0 -1
  132. package/cjs/react/use-custom-chart-types.js +0 -3
  133. package/cjs/react/use-custom-chart-types.js.map +0 -1
  134. package/cjs/test/test-utils.d.ts +0 -7
  135. package/cjs/test/test-utils.d.ts.map +0 -1
  136. package/cjs/test/test-utils.js +0 -14
  137. package/cjs/test/test-utils.js.map +0 -1
  138. package/cjs/types/answer-column.types.d.ts +0 -69
  139. package/cjs/types/answer-column.types.d.ts.map +0 -1
  140. package/cjs/types/answer-column.types.js +0 -59
  141. package/cjs/types/answer-column.types.js.map +0 -1
  142. package/cjs/types/chart-to-ts-event.types.d.ts +0 -98
  143. package/cjs/types/chart-to-ts-event.types.d.ts.map +0 -1
  144. package/cjs/types/chart-to-ts-event.types.js +0 -32
  145. package/cjs/types/chart-to-ts-event.types.js.map +0 -1
  146. package/cjs/types/common.types.d.ts +0 -51
  147. package/cjs/types/common.types.d.ts.map +0 -1
  148. package/cjs/types/common.types.js +0 -3
  149. package/cjs/types/common.types.js.map +0 -1
  150. package/cjs/types/configurator.types.d.ts +0 -15
  151. package/cjs/types/configurator.types.d.ts.map +0 -1
  152. package/cjs/types/configurator.types.js +0 -3
  153. package/cjs/types/configurator.types.js.map +0 -1
  154. package/cjs/types/ts-to-chart-event.types.d.ts +0 -91
  155. package/cjs/types/ts-to-chart-event.types.d.ts.map +0 -1
  156. package/cjs/types/ts-to-chart-event.types.js +0 -18
  157. package/cjs/types/ts-to-chart-event.types.js.map +0 -1
  158. package/cjs/types/visual-prop.types.d.ts +0 -73
  159. package/cjs/types/visual-prop.types.d.ts.map +0 -1
  160. package/cjs/types/visual-prop.types.js +0 -3
  161. package/cjs/types/visual-prop.types.js.map +0 -1
  162. package/lib/dist/ts-chart-sdk.d.ts +0 -312
  163. package/lib/react/custom-chart-context-service.d.ts +0 -33
  164. package/lib/react/custom-chart-context-service.d.ts.map +0 -1
  165. package/lib/react/custom-chart-context-service.js +0 -91
  166. package/lib/react/custom-chart-context-service.js.map +0 -1
  167. package/lib/react/custom-chart.context.d.ts +0 -26
  168. package/lib/react/custom-chart.context.d.ts.map +0 -1
  169. package/lib/react/custom-chart.context.js +0 -78
  170. package/lib/react/custom-chart.context.js.map +0 -1
  171. package/lib/react/custom-chart.spec.d.ts +0 -2
  172. package/lib/react/custom-chart.spec.d.ts.map +0 -1
  173. package/lib/react/custom-chart.spec.js +0 -67
  174. package/lib/react/custom-chart.spec.js.map +0 -1
@@ -1,312 +0,0 @@
1
- // Generated by dts-bundle v0.7.3
2
-
3
- export interface ChartConfigDimension {
4
- key: string;
5
- columns: ChartColumn[];
6
- }
7
- export interface ChartConfig {
8
- key: string;
9
- dimensions: ChartConfigDimension[];
10
- }
11
- export type DataArray = {
12
- columnId: string;
13
- columnDataType: DataType;
14
- dataValue: any[];
15
- };
16
- export type QueryData = {
17
- data: DataArray[];
18
- completionRatio: number;
19
- samplingRatio: number;
20
- totalRowCount: number;
21
- };
22
- export interface ChartModel {
23
- columns: ChartColumn[];
24
- data?: QueryData[];
25
- sortInfo?: any;
26
- visualProps?: VisualProps;
27
- config: {
28
- chartConfig?: ChartConfig[];
29
- };
30
- }
31
- export type ValidationResponse = {
32
- isValid: boolean;
33
- validationErrorMessage?: string[];
34
- };
35
- export type VisualProps = JSON;
36
- type CustomStylingConfig = any;
37
- export interface AppConfig {
38
- styleConfig?: CustomStylingConfig;
39
- appOptions?: {
40
- isMobile?: boolean;
41
- isPrintMode?: boolean;
42
- isDebugMode?: boolean;
43
- };
44
- localeOptions?: {
45
- locale: string;
46
- quarterStartMonth: string;
47
- sessionTimezone: string;
48
- };
49
- customCalendarConfig?: any;
50
- }
51
- export {};
52
-
53
- export interface ChartConfigSection {
54
- key: string;
55
- label: string;
56
- maxColumnCount?: number;
57
- allowMeasureColumns?: boolean;
58
- allowAttributeColumns?: boolean;
59
- allowTimeSeriesColumns?: boolean;
60
- }
61
- export interface ChartConfigEditorDefinition {
62
- key: string;
63
- label?: string;
64
- descriptionText?: string;
65
- columnSections: ChartConfigSection[];
66
- }
67
-
68
- export interface TextInputFormDetail {
69
- type: 'text';
70
- key: string;
71
- label?: string;
72
- password?: boolean;
73
- multiline?: boolean;
74
- placeholder?: string;
75
- defaultValue?: string;
76
- }
77
- export interface ToggleFormDetail {
78
- type: 'toggle';
79
- key: string;
80
- label?: string;
81
- defaultValue?: boolean;
82
- }
83
- export interface CheckboxFormDetail {
84
- type: 'checkbox';
85
- key: string;
86
- label?: string;
87
- defaultValue?: boolean;
88
- }
89
- export interface RadioButtonFormDetail {
90
- type: 'radio';
91
- key: string;
92
- label?: string;
93
- defaultValue?: string;
94
- values: string[];
95
- }
96
- export interface DropDownFormDetail {
97
- type: 'dropdown';
98
- key: string;
99
- label?: string;
100
- defaultValue?: string;
101
- values: string[];
102
- }
103
- export interface Section {
104
- type: 'section';
105
- key: string;
106
- label?: string;
107
- children?: PropElement[];
108
- alignment?: 'row' | 'column';
109
- }
110
- export type PropElement = Section | TextInputFormDetail | ToggleFormDetail | CheckboxFormDetail | RadioButtonFormDetail | DropDownFormDetail;
111
- export interface VisualPropEditorDefinition {
112
- elements: PropElement[];
113
- }
114
-
115
- export enum ColumnType {
116
- UNKNOWN = 0,
117
- MEASURE = 1,
118
- ATTRIBUTE = 2
119
- }
120
- export enum DataType {
121
- UNKNOWN = 0,
122
- BOOL = 1,
123
- CHAR = 2,
124
- INT32 = 3,
125
- INT64 = 4,
126
- FLOAT = 5,
127
- DOUBLE = 6,
128
- DATE = 7,
129
- DATE_TIME = 8,
130
- TIME = 9,
131
- MAX_TYPE = 10
132
- }
133
- export enum ColumnTimeBucket {
134
- NO_BUCKET = 0,
135
- DAILY = 1,
136
- WEEKLY = 2,
137
- MONTHLY = 3,
138
- QUARTERLY = 4,
139
- YEARLY = 5,
140
- HOURLY = 6,
141
- AUTO = 7,
142
- HOUR_OF_DAY = 8,
143
- DAY_OF_WEEK = 9,
144
- DAY_OF_MONTH = 10,
145
- DAY_OF_QUARTER = 11,
146
- DAY_OF_YEAR = 12,
147
- WEEK_OF_MONTH = 13,
148
- WEEK_OF_QUARTER = 14,
149
- WEEK_OF_YEAR = 15,
150
- MONTH_OF_QUARTER = 16,
151
- MONTH_OF_YEAR = 17,
152
- QUARTER_OF_YEAR = 18
153
- }
154
- export enum FormatType {
155
- NONE = 0,
156
- PATTERN = 1,
157
- PERCENTAGE = 2,
158
- CURRENCY = 3
159
- }
160
- export enum CurrencyFormatType {
161
- USER_LOCALE = 0,
162
- COLUMN = 1,
163
- ISO_CODE = 2
164
- }
165
- export interface CurrencyFormat {
166
- type: CurrencyFormatType;
167
- column: string;
168
- isoCode: string;
169
- }
170
- export interface ColumnFormat {
171
- type: FormatType;
172
- pattern?: string;
173
- currencyFormat?: CurrencyFormat;
174
- }
175
- export interface ChartColumn {
176
- id: string;
177
- name: string;
178
- type: ColumnType;
179
- timeBucket: ColumnTimeBucket;
180
- dataType: DataType;
181
- format?: ColumnFormat;
182
- }
183
-
184
- export enum ChartToTSEvent {
185
- OpenContextMenu = "OpenContextMenu",
186
- CloseContextMenu = "CloseContextMenu",
187
- OpenAxisMenu = "OpenAxisMenu",
188
- CloseAxisMenu = "CloseAxisMenu",
189
- RenderStart = "RenderStart",
190
- RenderError = "RenderError",
191
- RenderComplete = "RenderComplete",
192
- UpdateVisualProps = "UpdateVisualProps"
193
- }
194
- export interface ChartToTSEventsPayloadMap {
195
- [ChartToTSEvent.OpenContextMenu]: OpenContextMenuEventPayload;
196
- [ChartToTSEvent.CloseContextMenu]: null;
197
- [ChartToTSEvent.RenderStart]: null;
198
- [ChartToTSEvent.RenderComplete]: null;
199
- [ChartToTSEvent.RenderError]: RenderErrorEventPayload;
200
- [ChartToTSEvent.UpdateVisualProps]: UpdateVisualPropsEventPayload;
201
- }
202
- type UpdateVisualPropsEventPayload = VisualProps;
203
- export interface PointVal {
204
- columnId: string;
205
- value: any;
206
- }
207
- export interface Point {
208
- tuple: PointVal[];
209
- }
210
- export interface CustomAction {
211
- id: string;
212
- label: string;
213
- icon: string;
214
- onClick: (...args: any[]) => void;
215
- }
216
- export interface OpenContextMenuEventPayload {
217
- event: Pick<PointerEvent, 'x' | 'y' | 'clientX' | 'clientY' | 'pageX' | 'pageY' | 'screenX' | 'screenY'>;
218
- clickedPoint: Point;
219
- selectedPoints?: Point[];
220
- customActions?: CustomAction[];
221
- }
222
- interface RenderErrorEventPayload {
223
- hasError: boolean;
224
- error: any;
225
- }
226
- export enum ErrorType {
227
- MultipleContextsNotSupported = "MultipleContextsNotSupported"
228
- }
229
- export {};
230
-
231
- export enum TSToChartEvent {
232
- Initialize = "Initialize",
233
- GetDataQuery = "GetDataQuery",
234
- ChartConfigValidate = "ChartConfigValidate",
235
- ChartModelUpdate = "ChartModelUpdate",
236
- DataUpdate = "DataUpdate",
237
- TriggerRenderChart = "TriggerRenderChart",
238
- VisualPropsValidate = "VisualPropsValidate",
239
- VisualPropsUpdate = "VisualPropsUpdate"
240
- }
241
- export interface TSToChartEventsPayloadMap {
242
- [TSToChartEvent.ChartModelUpdate]: (payload: ChartModelUpdateEventPayload) => void;
243
- [TSToChartEvent.DataUpdate]: (payload: DataUpdateEventPayload) => void;
244
- [TSToChartEvent.VisualPropsUpdate]: (payload: VisualPropsUpdateEventPayload) => void;
245
- }
246
- export interface TSToChartInternalEventsPayloadMap {
247
- [TSToChartEvent.Initialize]: (payload: InitializeEventPayload) => InitializeEventResponsePayload;
248
- [TSToChartEvent.GetDataQuery]: (payload: GetDataQueryPayload) => GetDataQueryResponsePayload;
249
- [TSToChartEvent.ChartConfigValidate]: (payload: ChartConfigValidateEventPayload) => ValidationResponse;
250
- [TSToChartEvent.VisualPropsValidate]: (payload: VisualPropsValidateEventPayload) => ValidationResponse;
251
- [TSToChartEvent.TriggerRenderChart]: () => void;
252
- }
253
- export interface InitializeEventPayload {
254
- chartModel: ChartModel;
255
- appConfig?: AppConfig;
256
- componentId: string;
257
- hostUrl: string;
258
- }
259
- export interface InitializeEventResponsePayload {
260
- isConfigValid: boolean;
261
- defaultChartConfig: ChartConfig[];
262
- chartConfigEditorDefinition?: ChartConfigEditorDefinition[];
263
- visualPropEditorDefinition?: VisualPropEditorDefinition;
264
- }
265
- export interface GetDataQueryPayload {
266
- config: ChartConfig[];
267
- }
268
- export interface Query {
269
- queryColumns: ChartColumn[];
270
- queryParams?: {
271
- offset?: number;
272
- size?: number;
273
- };
274
- }
275
- export interface GetDataQueryResponsePayload {
276
- queries: Query[];
277
- }
278
- export interface ChartModelUpdateEventPayload {
279
- chartModel: ChartModel;
280
- }
281
- export interface DataUpdateEventPayload {
282
- data: QueryData[];
283
- }
284
- export interface VisualPropsUpdateEventPayload {
285
- visualProps: VisualProps;
286
- }
287
- export interface VisualPropsValidateEventPayload {
288
- visualProps: VisualProps;
289
- }
290
- export interface ChartConfigValidateEventPayload {
291
- chartConfig: ChartConfig[];
292
- }
293
-
294
- export type CustomChartContextProps = {
295
- getDefaultChartConfig: (chartModel: ChartModel) => ChartConfig[];
296
- getQueriesFromChartConfig: (chartConfig: ChartConfig[]) => Query[];
297
- renderChart: (ctx: CustomChartContext) => Promise<void>;
298
- validateConfig?: (updatedConfig: ChartConfig[], chartModel: ChartModel) => ValidationResponse;
299
- validateVisualProps?: (updatedVisualProps: VisualProps, chartModel: ChartModel) => ValidationResponse;
300
- chartConfigEditorDefinition?: ChartConfigEditorDefinition[];
301
- visualPropEditorDefinition?: VisualPropEditorDefinition;
302
- };
303
- export class CustomChartContext {
304
- constructor(chartContextProps: CustomChartContextProps);
305
- initialize: () => Promise<void>;
306
- on<T extends keyof TSToChartEventsPayloadMap>(eventType: T, callbackFn: TSToChartEventsPayloadMap[T]): void;
307
- destroy(): void;
308
- getChartModel: () => ChartModel;
309
- emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
310
- }
311
- export const getChartContext: (customChartConfig: CustomChartContextProps) => Promise<CustomChartContext>;
312
-
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
- import { CustomChartContextProps } from '../main/custom-chart-context';
3
- import { ChartToTSEventsPayloadMap } from '../types/chart-to-ts-event.types';
4
- import { ChartModel } from '../types/common.types';
5
- import { ChartModelUpdateEventPayload, DataUpdateEventPayload, TSToChartEventsPayloadMap, VisualPropsUpdateEventPayload } from '../types/ts-to-chart-event.types';
6
- export type ChartToTSEventEmitters = {
7
- [key in keyof ChartToTSEventsPayloadMap as `emit${Capitalize<key>}`]: (args: ChartToTSEventsPayloadMap[key]) => Promise<void>;
8
- };
9
- export type TSToChartEventListener = {
10
- [key in keyof TSToChartEventsPayloadMap as `on${Capitalize<key>}`]: (args: TSToChartEventsPayloadMap[key]) => Promise<void>;
11
- };
12
- interface WrapperComponentProps {
13
- children: React.ReactNode;
14
- }
15
- export declare const useChartContext: (props: CustomChartContextProps) => {
16
- WrapperComponent: ({ children }: WrapperComponentProps) => React.JSX.Element;
17
- onChartModelUpdate: (args: (payload: ChartModelUpdateEventPayload) => void) => Promise<void>;
18
- onDataUpdate: (args: (payload: DataUpdateEventPayload) => void) => Promise<void>;
19
- onVisualPropsUpdate: (args: (payload: VisualPropsUpdateEventPayload) => void) => Promise<void>;
20
- emitOpenContextMenu: (args: [import("../types/chart-to-ts-event.types").OpenContextMenuEventPayload]) => Promise<void>;
21
- emitCloseContextMenu: (args: []) => Promise<void>;
22
- emitRenderStart: (args: []) => Promise<void>;
23
- emitRenderComplete: (args: []) => Promise<void>;
24
- emitRenderError: (args: [import("../types/chart-to-ts-event.types").RenderErrorEventPayload]) => Promise<void>;
25
- emitUpdateVisualProps: (args: [import("../types/chart-to-ts-event.types").UpdateVisualPropsEventPayload]) => Promise<void>;
26
- emitGetTMLString: (args: []) => Promise<void>;
27
- emitSetTMLString: (args: [import("../types/chart-to-ts-event.types").SetTMLStringEventPayload]) => Promise<void>;
28
- emitGetDataForQuery: (args: [import("../types/chart-to-ts-event.types").GetDataForQueryEventPayload]) => Promise<void>;
29
- hasInitialized: boolean;
30
- chartModel: ChartModel | undefined;
31
- };
32
- export {};
33
- //# sourceMappingURL=custom-chart-context-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-chart-context-service.d.ts","sourceRoot":"","sources":["../../src/react/custom-chart-context-service.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAEH,uBAAuB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEH,yBAAyB,EAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACH,4BAA4B,EAC5B,sBAAsB,EAEtB,yBAAyB,EACzB,6BAA6B,EAChC,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,yBAAyB,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAClE,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACnC,OAAO,CAAC,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,yBAAyB,IAAI,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAChE,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACnC,OAAO,CAAC,IAAI,CAAC;CACrB,CAAC;AAEF,UAAU,qBAAqB;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AA8DD,eAAO,MAAM,eAAe,UAAW,uBAAuB;qCA4EvC,qBAAqB;mFA/InC,QAAQ,IAAI,CAAC;uEAAb,QAAQ,IAAI,CAAC;qFAAb,QAAQ,IAAI,CAAC;6GANb,QAAQ,IAAI,CAAC;wCAAb,QAAQ,IAAI,CAAC;mCAAb,QAAQ,IAAI,CAAC;sCAAb,QAAQ,IAAI,CAAC;qGAAb,QAAQ,IAAI,CAAC;iHAAb,QAAQ,IAAI,CAAC;oCAAb,QAAQ,IAAI,CAAC;uGAAb,QAAQ,IAAI,CAAC;6GAAb,QAAQ,IAAI,CAAC;;;CA4KrB,CAAC"}
@@ -1,91 +0,0 @@
1
- import React, { useCallback, useEffect, useState } from 'react';
2
- import { CustomChartContext, } from '../main/custom-chart-context';
3
- import { ChartToTSEvent, } from '../types/chart-to-ts-event.types';
4
- import { TSToChartEvent, } from '../types/ts-to-chart-event.types';
5
- const emitter = (ctx) => {
6
- function reducerFn(acc, eventKey) {
7
- if (eventKey in ChartToTSEvent) {
8
- const eventName = eventKey;
9
- const emitterKey = `emit${eventKey}`;
10
- acc[emitterKey] = (args) => {
11
- return ctx.emitEvent(eventName, ...args);
12
- };
13
- }
14
- return acc;
15
- }
16
- return Object.keys(ChartToTSEvent).reduce(reducerFn, {});
17
- };
18
- const eventListener = (ctx) => {
19
- function reducerFn(acc, eventKey) {
20
- if (eventKey in TSToChartEvent) {
21
- const eventName = eventKey;
22
- const emitterKey = `on${eventKey}`;
23
- acc[emitterKey] = (callbackFn) => {
24
- ctx.on(eventName, callbackFn);
25
- return Promise.resolve();
26
- };
27
- }
28
- return acc;
29
- }
30
- return Object.keys(TSToChartEvent).reduce(reducerFn, {});
31
- };
32
- export const useChartContext = (props) => {
33
- const [hasInitialized, setHasInitialized] = useState(false);
34
- const [key, setKey] = useState(0);
35
- const [ctx, setContextState] = useState({});
36
- const [chartModel, setChartModel] = useState();
37
- const [emitters, setEmitters] = useState(emitter({
38
- emitEvent: () => {
39
- },
40
- }));
41
- const [listeners, setListeners] = useState(eventListener({
42
- on: () => {
43
- },
44
- }));
45
- const initializeProvider = async (context) => {
46
- return context.initialize().then(() => {
47
- setHasInitialized(true);
48
- setContextState(context);
49
- setChartModel(context.getChartModel());
50
- setEmitters(emitter(context));
51
- setListeners(eventListener(context));
52
- listeners.onChartModelUpdate((payload) => {
53
- setChartModel(context.getChartModel());
54
- });
55
- listeners.onVisualPropsUpdate((payload) => {
56
- setChartModel(context.getChartModel());
57
- return {
58
- triggerRenderChart: true,
59
- };
60
- });
61
- listeners.onDataUpdate((payload) => {
62
- setChartModel(context.getChartModel());
63
- });
64
- return true;
65
- });
66
- };
67
- const renderChart = useCallback((ctx) => {
68
- console.log('Here', key);
69
- setKey(key + 1);
70
- return Promise.resolve();
71
- }, [key]);
72
- const WrapperComponent = useCallback(({ children }) => {
73
- console.log(key);
74
- return React.createElement("div", { key: key }, children);
75
- }, [key]);
76
- useEffect(() => {
77
- const context = new CustomChartContext({
78
- ...props,
79
- renderChart,
80
- });
81
- initializeProvider(context);
82
- }, []);
83
- return {
84
- hasInitialized,
85
- chartModel,
86
- ...emitters,
87
- ...listeners,
88
- WrapperComponent,
89
- };
90
- };
91
- //# sourceMappingURL=custom-chart-context-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-chart-context-service.js","sourceRoot":"","sources":["../../src/react/custom-chart-context-service.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EACH,kBAAkB,GAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,cAAc,GAEjB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAGH,cAAc,GAGjB,MAAM,kCAAkC,CAAC;AA4B1C,MAAM,OAAO,GAAG,CAAC,GAAuB,EAAE,EAAE;IACxC,SAAS,SAAS,CACd,GAA2B,EAC3B,QAAgB;QAGhB,IAAI,QAAQ,IAAI,cAAc,EAAE;YAC5B,MAAM,SAAS,GAAG,QAA2C,CAAC;YAC9D,MAAM,UAAU,GACZ,OAAO,QAAQ,EAAkC,CAAC;YAEtD,GAAG,CAAC,UAAU,CAAC,GAAG,CACd,IAAiD,EACpC,EAAE;gBACf,OAAO,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAC7C,CAAC,CAAC;SACL;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CACrC,SAAS,EACT,EAA4B,CAC/B,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,GAAuB,EAA0B,EAAE;IACtE,SAAS,SAAS,CACd,GAA2B,EAC3B,QAAgB;QAGhB,IAAI,QAAQ,IAAI,cAAc,EAAE;YAC5B,MAAM,SAAS,GAAG,QAA2C,CAAC;YAC9D,MAAM,UAAU,GAAG,KAAK,QAAQ,EAAkC,CAAC;YAEnE,GAAG,CAAC,UAAU,CAAC,GAAG,CACd,UAAuD,EAC1C,EAAE;gBACf,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC;SACL;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CACrC,SAAS,EACT,EAA4B,CAC/B,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC9D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,QAAQ,CACnC,EAAwB,CAC3B,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAc,CAAC;IAC3D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACpC,OAAO,CAAC;QACJ,SAAS,EAAE,GAAG,EAAE;QAEhB,CAAC;KACG,CAAC,CACZ,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CACtC,aAAa,CAAC;QACV,EAAE,EAAE,GAAG,EAAE;QAET,CAAC;KACG,CAAC,CACZ,CAAC;IAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,OAA2B,EAAE,EAAE;QAC7D,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAClC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,eAAe,CAAC,OAAO,CAAC,CAAC;YACzB,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YACvC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9B,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YAErC,SAAS,CAAC,kBAAkB,CACxB,CAAC,OAAqC,EAAE,EAAE;gBACtC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YAC3C,CAAC,CACJ,CAAC;YAEF,SAAS,CAAC,mBAAmB,CACzB,CAAC,OAAsC,EAAE,EAAE;gBACvC,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBACvC,OAAO;oBACH,kBAAkB,EAAE,IAAI;iBAC3B,CAAC;YACN,CAAC,CACJ,CAAC;YAEF,SAAS,CAAC,YAAY,CAAC,CAAC,OAA+B,EAAE,EAAE;gBACvD,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IAgBF,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,GAAuB,EAAE,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAChB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC,EACD,CAAC,GAAG,CAAC,CACR,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAChC,CAAC,EAAE,QAAQ,EAAyB,EAAE,EAAE;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,6BAAK,GAAG,EAAE,GAAG,IAAG,QAAQ,CAAO,CAAC;IAC3C,CAAC,EACD,CAAC,GAAG,CAAC,CACR,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC;YACnC,GAAG,KAAK;YACR,WAAW;SACd,CAAC,CAAC;QACH,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,EAAE,EAAE,CAAC,CAAC;IAGP,OAAO;QACH,cAAc;QACd,UAAU;QACV,GAAG,QAAQ;QACX,GAAG,SAAS;QACZ,gBAAgB;KACnB,CAAC;AACN,CAAC,CAAC"}
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import { CustomChartContextProps } from '../main/custom-chart-context';
3
- import { ChartToTSEventsPayloadMap } from '../types/chart-to-ts-event.types';
4
- import { ChartModel } from '../types/common.types';
5
- import { TSToChartEventsPayloadMap } from '../types/ts-to-chart-event.types';
6
- export type ChartToTSEventEmitters = {
7
- [key in keyof ChartToTSEventsPayloadMap as `emit${Capitalize<key>}`]: (args: ChartToTSEventsPayloadMap[key]) => Promise<void>;
8
- };
9
- export type TSToChartEventListener = {
10
- [key in keyof TSToChartEventsPayloadMap as `on${Capitalize<key>}`]: (args: TSToChartEventsPayloadMap[key]) => Promise<void>;
11
- };
12
- interface ChartContextProps extends ChartToTSEventEmitters, TSToChartEventListener {
13
- hasInitialized: boolean;
14
- chartModel: ChartModel | undefined;
15
- }
16
- interface ChartProviderProps {
17
- contextProps: CustomChartContextProps;
18
- children: React.ReactElement;
19
- }
20
- export interface AppChartRef {
21
- render: () => void;
22
- }
23
- declare const ChartContext: React.Context<ChartContextProps>;
24
- declare const ChartProvider: React.FC<ChartProviderProps>;
25
- export { ChartContext, ChartProvider };
26
- //# sourceMappingURL=custom-chart.context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-chart.context.d.ts","sourceRoot":"","sources":["../../src/react/custom-chart.context.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAEH,uBAAuB,EAC1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAEH,yBAAyB,EAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAIH,yBAAyB,EAE5B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,yBAAyB,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAClE,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACnC,OAAO,CAAC,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;KAChC,GAAG,IAAI,MAAM,yBAAyB,IAAI,KAAK,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAChE,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,KACnC,OAAO,CAAC,IAAI,CAAC;CACrB,CAAC;AAEF,UAAU,iBACN,SAAQ,sBAAsB,EAC1B,sBAAsB;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;CACtC;AAED,UAAU,kBAAkB;IACxB,YAAY,EAAE,uBAAuB,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAqDD,QAAA,MAAM,YAAY,kCAA4D,CAAC;AAE/E,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmE/C,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -1,78 +0,0 @@
1
- import React, { createContext, useCallback, useState } from 'react';
2
- import { CustomChartContext, } from '../main/custom-chart-context';
3
- import { ChartToTSEvent, } from '../types/chart-to-ts-event.types';
4
- import { TSToChartEvent, } from '../types/ts-to-chart-event.types';
5
- const emitter = (ctx) => {
6
- function reducerFn(acc, eventKey) {
7
- if (eventKey in ChartToTSEvent) {
8
- const eventName = eventKey;
9
- const emitterKey = `emit${eventKey}`;
10
- acc[emitterKey] = (args) => {
11
- console.log("sds");
12
- return ctx.emitEvent(eventName, ...args);
13
- };
14
- }
15
- return acc;
16
- }
17
- return Object.keys(ChartToTSEvent).reduce(reducerFn, {});
18
- };
19
- const eventListener = (ctx) => {
20
- function reducerFn(acc, eventKey) {
21
- if (eventKey in TSToChartEvent) {
22
- const eventName = eventKey;
23
- const emitterKey = `on${eventKey}`;
24
- acc[emitterKey] = (callbackFn) => {
25
- ctx.on(eventName, callbackFn);
26
- return Promise.resolve();
27
- };
28
- }
29
- return acc;
30
- }
31
- return Object.keys(TSToChartEvent).reduce(reducerFn, {});
32
- };
33
- const ChartContext = createContext({});
34
- const ChartProvider = ({ contextProps, children, }) => {
35
- const [hasInitialized, setHasInitialized] = useState(false);
36
- const [ctx, setContextState] = useState({});
37
- const [chartModel, setChartModel] = useState();
38
- const initializeProvider = async (context) => {
39
- return context.initialize().then(() => {
40
- setHasInitialized(true);
41
- setContextState(context);
42
- return true;
43
- });
44
- };
45
- const getChartContextValues = useCallback((ctx) => ({
46
- hasInitialized,
47
- chartModel,
48
- ...emitter(ctx),
49
- ...eventListener(ctx),
50
- }), [ctx, chartModel]);
51
- React.useEffect(() => {
52
- const context = new CustomChartContext({
53
- ...contextProps,
54
- });
55
- initializeProvider(context);
56
- getChartContextValues(context).onChartModelUpdate((payload) => {
57
- setChartModel(payload.chartModel);
58
- });
59
- getChartContextValues(context).onVisualPropsUpdate((payload) => {
60
- setChartModel({
61
- ...context.getChartModel(),
62
- visualProps: payload.visualProps,
63
- });
64
- return {
65
- triggerRenderChart: true,
66
- };
67
- });
68
- getChartContextValues(context).onDataUpdate((payload) => {
69
- setChartModel({
70
- ...context.getChartModel(),
71
- data: payload.data,
72
- });
73
- });
74
- }, []);
75
- return (React.createElement(ChartContext.Provider, { value: getChartContextValues(ctx) }, children));
76
- };
77
- export { ChartContext, ChartProvider };
78
- //# sourceMappingURL=custom-chart.context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-chart.context.js","sourceRoot":"","sources":["../../src/react/custom-chart.context.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=custom-chart.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-chart.spec.d.ts","sourceRoot":"","sources":["../../src/react/custom-chart.spec.tsx"],"names":[],"mappings":""}
@@ -1,67 +0,0 @@
1
- import { fireEvent, render, waitFor } from '@testing-library/react';
2
- import React from 'react';
3
- import { ChartToTSEvent } from '../types/chart-to-ts-event.types';
4
- import { TSToChartEvent } from '../types/ts-to-chart-event.types';
5
- import { ChartContext, ChartProvider } from './custom-chart.context';
6
- describe('ChartProvider', () => {
7
- afterEach(() => {
8
- jest.clearAllMocks();
9
- });
10
- test('renders children correctly for empty data', () => {
11
- const { getByTestId } = render(React.createElement(ChartProvider, { contextProps: {
12
- getDefaultChartConfig: (chartModel) => [],
13
- getQueriesFromChartConfig: (chartConfig) => [],
14
- renderChart: () => Promise.resolve(),
15
- } },
16
- React.createElement("div", { "data-testid": "child-component" }, "Test Child")));
17
- const childContent = getByTestId('child-component').textContent;
18
- expect(childContent).toBe('Test Child');
19
- });
20
- test.only('emitters and event listeners work as expected', async () => {
21
- const emitEvent = jest.fn().mockResolvedValue(true);
22
- const on = jest.fn();
23
- jest.mock('../main/custom-chart-context', () => {
24
- return {
25
- CustomChartContext: jest.fn().mockImplementation(() => ({
26
- initialize: jest.fn().mockImplementation(async () => {
27
- return Promise.resolve();
28
- }),
29
- emitEvent,
30
- on,
31
- getChartModel: jest.fn().mockReturnValue({}),
32
- })),
33
- };
34
- });
35
- const TestComponent = () => {
36
- const chartContext = React.useContext(ChartContext);
37
- const emitRenderChart = async () => {
38
- await chartContext.emitRenderStart([]);
39
- };
40
- if (!chartContext.hasInitialized) {
41
- return React.createElement("div", null, "Loading...");
42
- }
43
- return (React.createElement("div", null,
44
- React.createElement("button", { onClick: emitRenderChart }, "Emit Event")));
45
- };
46
- const { getByRole } = render(React.createElement(ChartProvider, { contextProps: {
47
- getDefaultChartConfig: (chartModel) => [],
48
- getQueriesFromChartConfig: (chartModel) => [],
49
- renderChart: (ctx) => Promise.resolve(),
50
- } },
51
- React.createElement(TestComponent, null)));
52
- await waitFor(() => {
53
- expect(getByRole('button')).toBeDefined();
54
- });
55
- const button = getByRole('button');
56
- fireEvent.click(button);
57
- expect(emitEvent).toHaveBeenCalledWith(ChartToTSEvent.RenderStart);
58
- const chartModelUpdateCallback = jest.fn();
59
- on.mockImplementation((event, callback) => {
60
- if (event === TSToChartEvent.ChartModelUpdate) {
61
- chartModelUpdateCallback();
62
- }
63
- });
64
- expect(chartModelUpdateCallback).toHaveBeenCalled();
65
- });
66
- });
67
- //# sourceMappingURL=custom-chart.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"custom-chart.spec.js","sourceRoot":"","sources":["../../src/react/custom-chart.spec.tsx"],"names":[],"mappings":"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"}