@thoughtspot/ts-chart-sdk 0.0.1-alpha.0 → 0.0.1-alpha.2

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 (104) hide show
  1. package/README.md +782 -0
  2. package/cjs/index.d.ts +8 -0
  3. package/cjs/index.d.ts.map +1 -0
  4. package/cjs/index.js +24 -0
  5. package/cjs/index.js.map +1 -0
  6. package/cjs/main/custom-chart-context.d.ts +39 -0
  7. package/cjs/main/custom-chart-context.d.ts.map +1 -0
  8. package/cjs/main/custom-chart-context.js +211 -0
  9. package/cjs/main/custom-chart-context.js.map +1 -0
  10. package/cjs/main/custom-chart-context.spec.d.ts +2 -0
  11. package/cjs/main/custom-chart-context.spec.d.ts.map +1 -0
  12. package/cjs/main/custom-chart-context.spec.js +379 -0
  13. package/cjs/main/custom-chart-context.spec.js.map +1 -0
  14. package/cjs/main/post-message-event-bridge.d.ts +6 -0
  15. package/cjs/main/post-message-event-bridge.d.ts.map +1 -0
  16. package/cjs/main/post-message-event-bridge.js +46 -0
  17. package/cjs/main/post-message-event-bridge.js.map +1 -0
  18. package/cjs/main/post-message-event-bridge.spec.d.ts +2 -0
  19. package/cjs/main/post-message-event-bridge.spec.d.ts.map +1 -0
  20. package/cjs/main/post-message-event-bridge.spec.js +124 -0
  21. package/cjs/main/post-message-event-bridge.spec.js.map +1 -0
  22. package/cjs/react/custom-chart-context-service.d.ts +33 -0
  23. package/cjs/react/custom-chart-context-service.d.ts.map +1 -0
  24. package/cjs/react/custom-chart-context-service.js +118 -0
  25. package/cjs/react/custom-chart-context-service.js.map +1 -0
  26. package/cjs/react/custom-chart.context.d.ts +26 -0
  27. package/cjs/react/custom-chart.context.d.ts.map +1 -0
  28. package/cjs/react/custom-chart.context.js +105 -0
  29. package/cjs/react/custom-chart.context.js.map +1 -0
  30. package/cjs/react/custom-chart.spec.d.ts +2 -0
  31. package/cjs/react/custom-chart.spec.d.ts.map +1 -0
  32. package/cjs/react/custom-chart.spec.js +72 -0
  33. package/cjs/react/custom-chart.spec.js.map +1 -0
  34. package/cjs/test/test-utils.d.ts +7 -0
  35. package/cjs/test/test-utils.d.ts.map +1 -0
  36. package/cjs/test/test-utils.js +14 -0
  37. package/cjs/test/test-utils.js.map +1 -0
  38. package/cjs/types/answer-column.types.d.ts +69 -0
  39. package/cjs/types/answer-column.types.d.ts.map +1 -0
  40. package/cjs/types/answer-column.types.js +59 -0
  41. package/cjs/types/answer-column.types.js.map +1 -0
  42. package/cjs/types/chart-to-ts-event.types.d.ts +63 -0
  43. package/cjs/types/chart-to-ts-event.types.d.ts.map +1 -0
  44. package/cjs/types/chart-to-ts-event.types.js +22 -0
  45. package/cjs/types/chart-to-ts-event.types.js.map +1 -0
  46. package/cjs/types/common.types.d.ts +50 -0
  47. package/cjs/types/common.types.d.ts.map +1 -0
  48. package/cjs/types/common.types.js +3 -0
  49. package/cjs/types/common.types.js.map +1 -0
  50. package/cjs/types/configurator.types.d.ts +15 -0
  51. package/cjs/types/configurator.types.d.ts.map +1 -0
  52. package/cjs/types/configurator.types.js +3 -0
  53. package/cjs/types/configurator.types.js.map +1 -0
  54. package/cjs/types/ts-to-chart-event.types.d.ts +69 -0
  55. package/cjs/types/ts-to-chart-event.types.d.ts.map +1 -0
  56. package/cjs/types/ts-to-chart-event.types.js +16 -0
  57. package/cjs/types/ts-to-chart-event.types.js.map +1 -0
  58. package/cjs/types/visual-prop.types.d.ts +47 -0
  59. package/cjs/types/visual-prop.types.d.ts.map +1 -0
  60. package/cjs/types/visual-prop.types.js +3 -0
  61. package/cjs/types/visual-prop.types.js.map +1 -0
  62. package/lib/main/custom-chart-context.d.ts +2 -1
  63. package/lib/main/custom-chart-context.d.ts.map +1 -1
  64. package/lib/main/custom-chart-context.js +11 -7
  65. package/lib/main/custom-chart-context.js.map +1 -1
  66. package/lib/main/custom-chart-context.spec.js +64 -25
  67. package/lib/main/custom-chart-context.spec.js.map +1 -1
  68. package/lib/main/post-message-event-bridge.js +1 -1
  69. package/lib/main/post-message-event-bridge.js.map +1 -1
  70. package/lib/main/post-message-event-bridge.spec.js +5 -3
  71. package/lib/main/post-message-event-bridge.spec.js.map +1 -1
  72. package/lib/react/custom-chart-context-service.d.ts +33 -0
  73. package/lib/react/custom-chart-context-service.d.ts.map +1 -0
  74. package/lib/react/custom-chart-context-service.js +91 -0
  75. package/lib/react/custom-chart-context-service.js.map +1 -0
  76. package/lib/react/custom-chart.context.d.ts +26 -0
  77. package/lib/react/custom-chart.context.d.ts.map +1 -0
  78. package/lib/react/custom-chart.context.js +78 -0
  79. package/lib/react/custom-chart.context.js.map +1 -0
  80. package/lib/react/custom-chart.spec.d.ts +2 -0
  81. package/lib/react/custom-chart.spec.d.ts.map +1 -0
  82. package/lib/react/custom-chart.spec.js +67 -0
  83. package/lib/react/custom-chart.spec.js.map +1 -0
  84. package/lib/types/chart-to-ts-event.types.d.ts +26 -11
  85. package/lib/types/chart-to-ts-event.types.d.ts.map +1 -1
  86. package/lib/types/chart-to-ts-event.types.js +3 -0
  87. package/lib/types/chart-to-ts-event.types.js.map +1 -1
  88. package/lib/types/common.types.d.ts +7 -8
  89. package/lib/types/common.types.d.ts.map +1 -1
  90. package/lib/types/ts-to-chart-event.types.d.ts +2 -0
  91. package/lib/types/ts-to-chart-event.types.d.ts.map +1 -1
  92. package/lib/types/ts-to-chart-event.types.js +1 -0
  93. package/lib/types/ts-to-chart-event.types.js.map +1 -1
  94. package/package.json +2 -2
  95. package/src/main/custom-chart-context.spec.ts +87 -26
  96. package/src/main/custom-chart-context.ts +26 -16
  97. package/src/main/post-message-event-bridge.spec.ts +5 -3
  98. package/src/main/post-message-event-bridge.ts +3 -3
  99. package/src/types/answer-column.types.ts +5 -5
  100. package/src/types/chart-to-ts-event.types.ts +68 -30
  101. package/src/types/common.types.ts +22 -25
  102. package/src/types/configurator.types.ts +8 -8
  103. package/src/types/ts-to-chart-event.types.ts +10 -4
  104. package/src/types/visual-prop.types.ts +11 -11
@@ -0,0 +1,50 @@
1
+ import { ChartColumn } 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 DataPointsArray = {
11
+ columns: string[];
12
+ dataValue: any[][];
13
+ };
14
+ export type QueryData = {
15
+ data: DataPointsArray;
16
+ completionRatio?: number;
17
+ samplingRatio?: number;
18
+ totalRowCount: number;
19
+ };
20
+ export interface ChartModel {
21
+ columns: ChartColumn[];
22
+ data?: QueryData[];
23
+ sortInfo?: any;
24
+ visualProps?: VisualProps;
25
+ config: {
26
+ chartConfig?: ChartConfig[];
27
+ };
28
+ }
29
+ export type ValidationResponse = {
30
+ isValid: boolean;
31
+ validationErrorMessage?: string[];
32
+ };
33
+ export type VisualProps = JSON;
34
+ type CustomStylingConfig = any;
35
+ export interface AppConfig {
36
+ styleConfig?: CustomStylingConfig;
37
+ appOptions?: {
38
+ isMobile?: boolean;
39
+ isPrintMode?: boolean;
40
+ isDebugMode?: boolean;
41
+ };
42
+ localeOptions?: {
43
+ locale: string;
44
+ quarterStartMonth: string;
45
+ sessionTimezone: string;
46
+ };
47
+ customCalendarConfig?: any;
48
+ }
49
+ export {};
50
+ //# 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,MAAM,uBAAuB,CAAC;AAUpD,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;AAUD,MAAM,MAAM,eAAe,GAAG;IAM1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAOlB,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;CACtB,CAAC;AASF,MAAM,MAAM,SAAS,GAAG;IAMpB,IAAI,EAAE,eAAe,CAAC;IAMtB,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,aAAa,CAAC,EAAE,MAAM,CAAC;IAOvB,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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# 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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# 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,69 @@
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
+ InitializeComplete = "InitializeComplete",
8
+ GetDataQuery = "GetDataQuery",
9
+ ChartConfigValidate = "ChartConfigValidate",
10
+ ChartModelUpdate = "ChartModelUpdate",
11
+ DataUpdate = "DataUpdate",
12
+ TriggerRenderChart = "TriggerRenderChart",
13
+ VisualPropsValidate = "VisualPropsValidate",
14
+ VisualPropsUpdate = "VisualPropsUpdate"
15
+ }
16
+ export interface TSToChartEventsPayloadMap {
17
+ [TSToChartEvent.ChartModelUpdate]: (payload: ChartModelUpdateEventPayload) => void;
18
+ [TSToChartEvent.DataUpdate]: (payload: DataUpdateEventPayload) => void;
19
+ [TSToChartEvent.VisualPropsUpdate]: (payload: VisualPropsUpdateEventPayload) => void;
20
+ }
21
+ export interface TSToChartInternalEventsPayloadMap {
22
+ [TSToChartEvent.Initialize]: (payload: InitializeEventPayload) => InitializeEventResponsePayload;
23
+ [TSToChartEvent.InitializeComplete]: () => void;
24
+ [TSToChartEvent.GetDataQuery]: (payload: GetDataQueryPayload) => GetDataQueryResponsePayload;
25
+ [TSToChartEvent.ChartConfigValidate]: (payload: ChartConfigValidateEventPayload) => ValidationResponse;
26
+ [TSToChartEvent.VisualPropsValidate]: (payload: VisualPropsValidateEventPayload) => ValidationResponse;
27
+ [TSToChartEvent.TriggerRenderChart]: () => void;
28
+ }
29
+ export interface InitializeEventPayload {
30
+ chartModel: ChartModel;
31
+ appConfig?: AppConfig;
32
+ componentId: string;
33
+ hostUrl: string;
34
+ }
35
+ export interface InitializeEventResponsePayload {
36
+ isConfigValid: boolean;
37
+ defaultChartConfig: ChartConfig[];
38
+ chartConfigEditorDefinition?: ChartConfigEditorDefinition[];
39
+ visualPropEditorDefinition?: VisualPropEditorDefinition;
40
+ }
41
+ export interface GetDataQueryPayload {
42
+ config: ChartConfig[];
43
+ }
44
+ export interface Query {
45
+ queryColumns: ChartColumn[];
46
+ queryParams?: {
47
+ offset?: number;
48
+ size?: number;
49
+ };
50
+ }
51
+ export interface GetDataQueryResponsePayload {
52
+ queries: Query[];
53
+ }
54
+ export interface ChartModelUpdateEventPayload {
55
+ chartModel: ChartModel;
56
+ }
57
+ export interface DataUpdateEventPayload {
58
+ data: QueryData[];
59
+ }
60
+ export interface VisualPropsUpdateEventPayload {
61
+ visualProps: VisualProps;
62
+ }
63
+ export interface VisualPropsValidateEventPayload {
64
+ visualProps: VisualProps;
65
+ }
66
+ export interface ChartConfigValidateEventPayload {
67
+ chartConfig: ChartConfig[];
68
+ }
69
+ //# 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;IAIzB,kBAAkB,uBAAuB;IAKzC,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,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEhD,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,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TSToChartEvent = void 0;
4
+ var TSToChartEvent;
5
+ (function (TSToChartEvent) {
6
+ TSToChartEvent["Initialize"] = "Initialize";
7
+ TSToChartEvent["InitializeComplete"] = "InitializeComplete";
8
+ TSToChartEvent["GetDataQuery"] = "GetDataQuery";
9
+ TSToChartEvent["ChartConfigValidate"] = "ChartConfigValidate";
10
+ TSToChartEvent["ChartModelUpdate"] = "ChartModelUpdate";
11
+ TSToChartEvent["DataUpdate"] = "DataUpdate";
12
+ TSToChartEvent["TriggerRenderChart"] = "TriggerRenderChart";
13
+ TSToChartEvent["VisualPropsValidate"] = "VisualPropsValidate";
14
+ TSToChartEvent["VisualPropsUpdate"] = "VisualPropsUpdate";
15
+ })(TSToChartEvent = exports.TSToChartEvent || (exports.TSToChartEvent = {}));
16
+ //# 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,IAAY,cAyCX;AAzCD,WAAY,cAAc;IAItB,2CAAyB,CAAA;IAIzB,2DAAyC,CAAA;IAKzC,+CAA6B,CAAA;IAK7B,6DAA2C,CAAA;IAI3C,uDAAqC,CAAA;IAIrC,2CAAyB,CAAA;IAKzB,2DAAyC,CAAA;IAKzC,6DAA2C,CAAA;IAI3C,yDAAuC,CAAA;AAC3C,CAAC,EAzCW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAyCzB"}
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# 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":""}
@@ -26,11 +26,12 @@ export declare class CustomChartContext {
26
26
  private onInternal;
27
27
  destroy(): void;
28
28
  getChartModel: () => ChartModel;
29
- emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
29
+ emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, ...eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
30
30
  private registerEventProcessor;
31
31
  private eventProcessor;
32
32
  private registerEvents;
33
33
  private initializeContext;
34
+ private initializationComplete;
34
35
  private publishChartContextPropsToHost;
35
36
  private executeEventListenerCBs;
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chart-context.d.ts","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"AAQA,OAAO,EACH,yBAAyB,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAQH,KAAK,EAEL,yBAAyB,EAI5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAKxE,MAAM,MAAM,uBAAuB,GAAG;IAQlC,qBAAqB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,EAAE,CAAC;IAQjE,yBAAyB,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;IAQnE,WAAW,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAUxD,cAAc,CAAC,EAAE,CACb,aAAa,EAAE,WAAW,EAAE,EAC5B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAWxB,mBAAmB,CAAC,EAAE,CAClB,kBAAkB,EAAE,WAAW,EAC/B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAQxB,2BAA2B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAS5D,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D,CAAC;AAYF,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,WAAW,CAAM;IASzB,OAAO,CAAC,OAAO,CAAM;IAQrB,OAAO,CAAC,UAAU,CAAyB;IAO3C,OAAO,CAAC,iBAAiB,CACkC;IAQ3D,OAAO,CAAC,cAAc,CAAoD;IAW1E,OAAO,CAAC,qBAAqB,CAAgB;IAS7C,OAAO,CAAC,kBAAkB,CAAsB;gBAOpC,iBAAiB,EAAE,uBAAuB;IAkB/C,UAAU,QAAO,QAAQ,IAAI,CAAC,CAGnC;IAUK,EAAE,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAC/C,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACzC,IAAI;IAiBP,OAAO,CAAC,UAAU;IAgBX,OAAO;IAUP,aAAa,QAAO,UAAU,CAAoB;IAUlD,SAAS,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACtD,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAmBf,OAAO,CAAC,sBAAsB,CAU5B;IAOF,OAAO,CAAC,cAAc,CAuBpB;IAOF,OAAO,CAAC,cAAc,CAsIpB;IASF,OAAO,CAAC,iBAAiB,CAcvB;IAEF,OAAO,CAAC,8BAA8B,CA8BhC;IAQN,OAAO,CAAC,uBAAuB,CAyB7B;CACL;AAQD,eAAO,MAAM,eAAe,sBACL,uBAAuB,KAC3C,QAAQ,kBAAkB,CAO5B,CAAC"}
1
+ {"version":3,"file":"custom-chart-context.d.ts","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,yBAAyB,EAE5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAQH,KAAK,EAEL,yBAAyB,EAI5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAKxE,MAAM,MAAM,uBAAuB,GAAG;IAQlC,qBAAqB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,WAAW,EAAE,CAAC;IAQjE,yBAAyB,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;IAQnE,WAAW,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAUxD,cAAc,CAAC,EAAE,CACb,aAAa,EAAE,WAAW,EAAE,EAC5B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAWxB,mBAAmB,CAAC,EAAE,CAClB,kBAAkB,EAAE,WAAW,EAC/B,UAAU,EAAE,UAAU,KACrB,kBAAkB,CAAC;IAQxB,2BAA2B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAS5D,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D,CAAC;AAYF,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,WAAW,CAAM;IASzB,OAAO,CAAC,OAAO,CAAM;IAQrB,OAAO,CAAC,UAAU,CAAyB;IAO3C,OAAO,CAAC,iBAAiB,CACkC;IAQ3D,OAAO,CAAC,cAAc,CAAoD;IAW1E,OAAO,CAAC,qBAAqB,CAAgB;IAS7C,OAAO,CAAC,kBAAkB,CAAsB;gBAOpC,iBAAiB,EAAE,uBAAuB;IAkB/C,UAAU,QAAO,QAAQ,IAAI,CAAC,CAGnC;IAUK,EAAE,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAC/C,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACzC,IAAI;IAiBP,OAAO,CAAC,UAAU;IAgBX,OAAO;IAUP,aAAa,QAAO,UAAU,CAAoB;IAUlD,SAAS,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACtD,SAAS,EAAE,CAAC,EACZ,GAAG,YAAY,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,GAAG,CAAC;IAmBf,OAAO,CAAC,sBAAsB,CAU5B;IAOF,OAAO,CAAC,cAAc,CAuBpB;IAOF,OAAO,CAAC,cAAc,CA6IpB;IASF,OAAO,CAAC,iBAAiB,CAQvB;IAEF,OAAO,CAAC,sBAAsB,CAM5B;IAEF,OAAO,CAAC,8BAA8B,CA8BhC;IAQN,OAAO,CAAC,uBAAuB,CAyB7B;CACL;AAQD,eAAO,MAAM,eAAe,sBACL,uBAAuB,KAC3C,QAAQ,kBAAkB,CAO5B,CAAC"}
@@ -49,6 +49,7 @@ export class CustomChartContext {
49
49
  };
50
50
  this.registerEvents = () => {
51
51
  this.onInternal(TSToChartEvent.Initialize, (payload) => this.initializeContext(payload));
52
+ this.onInternal(TSToChartEvent.InitializeComplete, () => this.initializationComplete());
52
53
  this.onInternal(TSToChartEvent.VisualPropsValidate, (payload) => {
53
54
  if (this.chartContextProps.validateVisualProps) {
54
55
  const validationResponse = this.chartContextProps.validateVisualProps(payload.visualProps, this.chartModel);
@@ -69,8 +70,8 @@ export class CustomChartContext {
69
70
  queries,
70
71
  };
71
72
  });
72
- this.onInternal(TSToChartEvent.TriggerRenderChart, async () => {
73
- await this.chartContextProps.renderChart(this);
73
+ this.onInternal(TSToChartEvent.TriggerRenderChart, () => {
74
+ this.chartContextProps.renderChart(this);
74
75
  });
75
76
  this.on(TSToChartEvent.ChartModelUpdate, (payload) => {
76
77
  this.chartModel = payload.chartModel;
@@ -95,9 +96,11 @@ export class CustomChartContext {
95
96
  this.componentId = payload.componentId;
96
97
  this.hostUrl = payload.hostUrl;
97
98
  this.chartModel = payload.chartModel;
99
+ return this.publishChartContextPropsToHost();
100
+ };
101
+ this.initializationComplete = () => {
98
102
  isInitialized = true;
99
103
  this.triggerInitResolve();
100
- return this.publishChartContextPropsToHost();
101
104
  };
102
105
  this.publishChartContextPropsToHost = () => {
103
106
  var _a;
@@ -140,7 +143,7 @@ export class CustomChartContext {
140
143
  ...chartContextProps,
141
144
  };
142
145
  this.registerEventProcessor();
143
- this.hasInitializedPromise = new Promise((resolve) => {
146
+ this.hasInitializedPromise = new Promise((resolve, reject) => {
144
147
  this.triggerInitResolve = resolve;
145
148
  });
146
149
  }
@@ -160,12 +163,13 @@ export class CustomChartContext {
160
163
  PostMessageEventBridge.destroyMessageListener(this.eventProcessor);
161
164
  isInitialized = false;
162
165
  }
163
- emitEvent(eventType, eventPayload) {
166
+ emitEvent(eventType, ...eventPayload) {
167
+ var _a;
164
168
  if (!isInitialized) {
165
169
  console.log('Chart Context: not initialized the context, something went wrong');
166
- return Promise.reject();
170
+ return Promise.reject(new Error('Context not initialized'));
167
171
  }
168
- return PostMessageEventBridge.postMessageToHostApp(this.componentId, this.hostUrl, eventPayload, eventType);
172
+ return PostMessageEventBridge.postMessageToHostApp(this.componentId, this.hostUrl, (_a = eventPayload === null || eventPayload === void 0 ? void 0 : eventPayload[0]) !== null && _a !== void 0 ? _a : null, eventType);
169
173
  }
170
174
  }
171
175
  export const getChartContext = async (customChartConfig) => {
@@ -1 +1 @@
1
- {"version":3,"file":"custom-chart-context.js","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-chart-context.js","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { mockInitializeContextPayload } from '../test/test-utils';
2
- import { ErrorType } from '../types/chart-to-ts-event.types';
2
+ import { ChartToTSEvent, ErrorType } from '../types/chart-to-ts-event.types';
3
3
  import { TSToChartEvent } from '../types/ts-to-chart-event.types';
4
4
  import { CustomChartContext, getChartContext } from './custom-chart-context';
5
5
  import * as PostMessageEventBridge from './post-message-event-bridge';
@@ -7,7 +7,7 @@ jest.mock('./post-message-event-bridge');
7
7
  jest.spyOn(console, 'log').mockImplementation(() => {
8
8
  });
9
9
  describe('CustomChartContext', () => {
10
- let eventProcesor;
10
+ let eventProcessor;
11
11
  let getDefaultChartConfig = jest.fn();
12
12
  let getQueriesFromChartConfig = jest.fn();
13
13
  let renderChart = jest.fn();
@@ -18,7 +18,10 @@ describe('CustomChartContext', () => {
18
18
  getQueriesFromChartConfig = jest.fn();
19
19
  renderChart = jest.fn();
20
20
  mockInitMessage.mockImplementation((fn) => {
21
- eventProcesor = fn;
21
+ eventProcessor = fn;
22
+ });
23
+ mockPostMessageToHost.mockImplementation(() => {
24
+ return global.Promise.resolve();
22
25
  });
23
26
  });
24
27
  describe('initialize', () => {
@@ -31,9 +34,9 @@ describe('CustomChartContext', () => {
31
34
  });
32
35
  });
33
36
  afterEach(() => {
34
- customChartContext.destroy();
35
37
  jest.resetAllMocks();
36
- eventProcesor = null;
38
+ customChartContext.destroy();
39
+ eventProcessor = null;
37
40
  });
38
41
  test('should wait till the parent calls initialize', async () => {
39
42
  expect(mockInitMessage).toHaveBeenCalled();
@@ -51,7 +54,7 @@ describe('CustomChartContext', () => {
51
54
  expect(mockInitMessage).toHaveBeenCalled();
52
55
  const promise = customChartContext.initialize();
53
56
  const mockPostMessage = jest.fn();
54
- eventProcesor({
57
+ eventProcessor({
55
58
  data: {
56
59
  payload: mockInitializeContextPayload,
57
60
  eventType: TSToChartEvent.Initialize,
@@ -59,8 +62,17 @@ describe('CustomChartContext', () => {
59
62
  },
60
63
  ports: [{ postMessage: mockPostMessage }],
61
64
  });
65
+ eventProcessor({
66
+ data: {
67
+ payload: {},
68
+ eventType: TSToChartEvent.InitializeComplete,
69
+ source: 'ts-host-app',
70
+ },
71
+ ports: [{ postMessage: mockPostMessage }],
72
+ });
62
73
  await expect(promise).resolves.toBeUndefined();
63
- expect(mockPostMessage).toHaveBeenCalledWith({
74
+ expect(mockPostMessage).toHaveBeenCalledTimes(2);
75
+ expect(mockPostMessage.mock.calls[0][0]).toEqual({
64
76
  isConfigValid: false,
65
77
  defaultChartConfig: undefined,
66
78
  chartConfigEditorDefinition: undefined,
@@ -72,7 +84,7 @@ describe('CustomChartContext', () => {
72
84
  test('multiple intializations should throw an error', async () => {
73
85
  const promise = customChartContext.initialize();
74
86
  const mockPostMessage = jest.fn();
75
- eventProcesor({
87
+ eventProcessor({
76
88
  data: {
77
89
  payload: mockInitializeContextPayload,
78
90
  eventType: TSToChartEvent.Initialize,
@@ -80,6 +92,14 @@ describe('CustomChartContext', () => {
80
92
  },
81
93
  ports: [{ postMessage: mockPostMessage }],
82
94
  });
95
+ eventProcessor({
96
+ data: {
97
+ payload: {},
98
+ eventType: TSToChartEvent.InitializeComplete,
99
+ source: 'ts-host-app',
100
+ },
101
+ ports: [{ postMessage: mockPostMessage }],
102
+ });
83
103
  await expect(promise).resolves.toBeUndefined();
84
104
  let error;
85
105
  try {
@@ -118,12 +138,12 @@ describe('CustomChartContext', () => {
118
138
  afterEach(() => {
119
139
  jest.resetAllMocks();
120
140
  customChartContext.destroy();
121
- eventProcesor = null;
141
+ eventProcessor = null;
122
142
  });
123
143
  test('should not trigger post message if host is not accurate', () => {
124
144
  expect(mockInitMessage).toHaveBeenCalled();
125
145
  const mockPostMessage = jest.fn();
126
- eventProcesor({
146
+ eventProcessor({
127
147
  data: {
128
148
  payload: mockInitializeContextPayload,
129
149
  eventType: TSToChartEvent.ChartConfigValidate,
@@ -136,7 +156,7 @@ describe('CustomChartContext', () => {
136
156
  test('default internal function testing', () => {
137
157
  expect(mockInitMessage).toHaveBeenCalled();
138
158
  const mockPostMessage = jest.fn();
139
- eventProcesor({
159
+ eventProcessor({
140
160
  data: {
141
161
  payload: mockInitializeContextPayload,
142
162
  eventType: TSToChartEvent.ChartConfigValidate,
@@ -148,7 +168,7 @@ describe('CustomChartContext', () => {
148
168
  isValid: true,
149
169
  });
150
170
  mockPostMessage.mockReset();
151
- eventProcesor({
171
+ eventProcessor({
152
172
  data: {
153
173
  payload: mockInitializeContextPayload,
154
174
  eventType: TSToChartEvent.VisualPropsValidate,
@@ -160,7 +180,7 @@ describe('CustomChartContext', () => {
160
180
  isValid: true,
161
181
  });
162
182
  mockPostMessage.mockReset();
163
- eventProcesor({
183
+ eventProcessor({
164
184
  data: {
165
185
  payload: mockInitializeContextPayload,
166
186
  eventType: TSToChartEvent.TriggerRenderChart,
@@ -171,7 +191,7 @@ describe('CustomChartContext', () => {
171
191
  expect(mockPostMessage).toHaveBeenCalledWith({});
172
192
  expect(renderChart).toHaveBeenCalled();
173
193
  mockPostMessage.mockReset();
174
- eventProcesor({
194
+ eventProcessor({
175
195
  data: {
176
196
  payload: mockInitializeContextPayload,
177
197
  eventType: TSToChartEvent.GetDataQuery,
@@ -185,7 +205,7 @@ describe('CustomChartContext', () => {
185
205
  test('default external function testing', () => {
186
206
  expect(mockInitMessage).toHaveBeenCalled();
187
207
  const mockPostMessage = jest.fn();
188
- eventProcesor({
208
+ eventProcessor({
189
209
  data: {
190
210
  payload: {
191
211
  data: 'random data',
@@ -200,7 +220,7 @@ describe('CustomChartContext', () => {
200
220
  });
201
221
  expect(customChartContext.getChartModel().data).toBe('random data');
202
222
  mockPostMessage.mockReset();
203
- eventProcesor({
223
+ eventProcessor({
204
224
  data: {
205
225
  payload: {
206
226
  chartModel: {
@@ -219,7 +239,7 @@ describe('CustomChartContext', () => {
219
239
  expect(customChartContext.getChartModel().data).toBe('random data2');
220
240
  expect(customChartContext.getChartModel().visualProps).toBe(null);
221
241
  mockPostMessage.mockReset();
222
- eventProcesor({
242
+ eventProcessor({
223
243
  data: {
224
244
  payload: {
225
245
  visualProps: 'random data',
@@ -240,7 +260,7 @@ describe('CustomChartContext', () => {
240
260
  const testCallbackFn = jest.fn();
241
261
  customChartContext.on(TEST_EVENT_TYPE, testCallbackFn);
242
262
  const mockPostMessage = jest.fn();
243
- eventProcesor({
263
+ eventProcessor({
244
264
  data: {
245
265
  payload: mockInitializeContextPayload,
246
266
  eventType: TEST_EVENT_TYPE,
@@ -254,7 +274,7 @@ describe('CustomChartContext', () => {
254
274
  expect(mockInitMessage).toHaveBeenCalled();
255
275
  const TEST_EVENT_TYPE = 'testEventType';
256
276
  const mockPostMessage = jest.fn();
257
- eventProcesor({
277
+ eventProcessor({
258
278
  data: {
259
279
  payload: mockInitializeContextPayload,
260
280
  eventType: TEST_EVENT_TYPE,
@@ -278,20 +298,20 @@ describe('CustomChartContext', () => {
278
298
  });
279
299
  });
280
300
  afterEach(() => {
281
- jest.resetAllMocks();
282
301
  customChartContext.destroy();
283
- eventProcesor = null;
302
+ eventProcessor = null;
303
+ jest.resetAllMocks();
284
304
  });
285
305
  test('should reject the promise if the chart context is not initialized', async () => {
286
306
  const TEST_EVENT_TYPE = 'testEventType';
287
307
  const testPayload = { value: 'testPayload' };
288
308
  const result = customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
289
309
  expect(mockPostMessageToHost).not.toHaveBeenCalled();
290
- await expect(result).rejects.not.toBeDefined();
310
+ await expect(result).rejects.toBeDefined();
291
311
  });
292
312
  test('should resolve the promise if the chart context is initialized', async () => {
293
313
  const mockPostMessage = jest.fn();
294
- eventProcesor({
314
+ eventProcessor({
295
315
  data: {
296
316
  payload: mockInitializeContextPayload,
297
317
  eventType: TSToChartEvent.Initialize,
@@ -299,6 +319,17 @@ describe('CustomChartContext', () => {
299
319
  },
300
320
  ports: [{ postMessage: mockPostMessage }],
301
321
  });
322
+ eventProcessor({
323
+ data: {
324
+ payload: {},
325
+ eventType: TSToChartEvent.InitializeComplete,
326
+ source: 'ts-host-app',
327
+ },
328
+ ports: [{ postMessage: mockPostMessage }],
329
+ });
330
+ const promise = customChartContext.initialize();
331
+ await expect(promise).resolves.toBeUndefined();
332
+ expect(mockPostMessage).toHaveBeenCalledTimes(2);
302
333
  let resolve;
303
334
  mockPostMessageToHost.mockImplementation(() => new global.Promise((res) => {
304
335
  resolve = res;
@@ -306,9 +337,17 @@ describe('CustomChartContext', () => {
306
337
  const TEST_EVENT_TYPE = 'testEventType';
307
338
  const testPayload = { value: 'testPayload' };
308
339
  const result = customChartContext.emitEvent(TEST_EVENT_TYPE, testPayload);
309
- global.setTimeout(() => resolve('helloworld'), 3000);
340
+ global.setTimeout(() => resolve('helloworld'), 1000);
341
+ await expect(result).resolves.toEqual('helloworld');
310
342
  expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, testPayload, TEST_EVENT_TYPE);
311
- await expect(result).resolves.toBe('helloworld');
343
+ mockPostMessageToHost.mockReset();
344
+ mockPostMessageToHost.mockImplementation(() => new global.Promise((res) => {
345
+ resolve = res;
346
+ }));
347
+ const result2 = customChartContext.emitEvent(ChartToTSEvent.RenderStart);
348
+ global.setTimeout(() => resolve('helloworld'), 1000);
349
+ await expect(result2).resolves.toEqual('helloworld');
350
+ expect(mockPostMessageToHost).toHaveBeenCalledWith(mockInitializeContextPayload.componentId, mockInitializeContextPayload.hostUrl, null, ChartToTSEvent.RenderStart);
312
351
  });
313
352
  });
314
353
  });