@thoughtspot/ts-chart-sdk 0.0.1-alpha.1 → 0.0.1-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 (109) hide show
  1. package/cjs/index.d.ts +1 -0
  2. package/cjs/index.d.ts.map +1 -1
  3. package/cjs/index.js +1 -0
  4. package/cjs/index.js.map +1 -1
  5. package/cjs/main/custom-chart-context.d.ts +10 -2
  6. package/cjs/main/custom-chart-context.d.ts.map +1 -1
  7. package/cjs/main/custom-chart-context.js +117 -2
  8. package/cjs/main/custom-chart-context.js.map +1 -1
  9. package/cjs/main/custom-chart-context.spec.js +320 -0
  10. package/cjs/main/custom-chart-context.spec.js.map +1 -1
  11. package/cjs/main/post-message-event-bridge.js +1 -1
  12. package/cjs/main/post-message-event-bridge.js.map +1 -1
  13. package/cjs/main/post-message-event-bridge.spec.js +5 -3
  14. package/cjs/main/post-message-event-bridge.spec.js.map +1 -1
  15. package/cjs/react/mocks/custom-chart-context-mock.d.ts +3 -0
  16. package/cjs/react/mocks/custom-chart-context-mock.d.ts.map +1 -0
  17. package/cjs/react/mocks/custom-chart-context-mock.js +100 -0
  18. package/cjs/react/mocks/custom-chart-context-mock.js.map +1 -0
  19. package/cjs/react/use-custom-chart-context.d.ts +4 -0
  20. package/cjs/react/use-custom-chart-context.d.ts.map +1 -0
  21. package/cjs/react/use-custom-chart-context.js +95 -0
  22. package/cjs/react/use-custom-chart-context.js.map +1 -0
  23. package/cjs/react/use-custom-chart-context.spec.d.ts +2 -0
  24. package/cjs/react/use-custom-chart-context.spec.d.ts.map +1 -0
  25. package/cjs/react/use-custom-chart-context.spec.js +391 -0
  26. package/cjs/react/use-custom-chart-context.spec.js.map +1 -0
  27. package/cjs/react/use-custom-chart-context.util.d.ts +6 -0
  28. package/cjs/react/use-custom-chart-context.util.d.ts.map +1 -0
  29. package/cjs/react/use-custom-chart-context.util.js +60 -0
  30. package/cjs/react/use-custom-chart-context.util.js.map +1 -0
  31. package/cjs/react/use-custom-chart-types.d.ts +23 -0
  32. package/cjs/react/use-custom-chart-types.d.ts.map +1 -0
  33. package/cjs/react/use-custom-chart-types.js +3 -0
  34. package/cjs/react/use-custom-chart-types.js.map +1 -0
  35. package/cjs/types/chart-to-ts-event.types.d.ts +54 -4
  36. package/cjs/types/chart-to-ts-event.types.d.ts.map +1 -1
  37. package/cjs/types/chart-to-ts-event.types.js +14 -1
  38. package/cjs/types/chart-to-ts-event.types.js.map +1 -1
  39. package/cjs/types/common.types.d.ts +2 -0
  40. package/cjs/types/common.types.d.ts.map +1 -1
  41. package/cjs/types/ts-to-chart-event.types.d.ts +23 -1
  42. package/cjs/types/ts-to-chart-event.types.d.ts.map +1 -1
  43. package/cjs/types/ts-to-chart-event.types.js +2 -0
  44. package/cjs/types/ts-to-chart-event.types.js.map +1 -1
  45. package/cjs/types/visual-prop.types.d.ts +27 -1
  46. package/cjs/types/visual-prop.types.d.ts.map +1 -1
  47. package/dist/ts-chart-sdk.d.ts +151 -23
  48. package/lib/index.d.ts +1 -0
  49. package/lib/index.d.ts.map +1 -1
  50. package/lib/index.js +1 -0
  51. package/lib/index.js.map +1 -1
  52. package/lib/main/custom-chart-context.d.ts +10 -2
  53. package/lib/main/custom-chart-context.d.ts.map +1 -1
  54. package/lib/main/custom-chart-context.js +118 -3
  55. package/lib/main/custom-chart-context.js.map +1 -1
  56. package/lib/main/custom-chart-context.spec.js +317 -0
  57. package/lib/main/custom-chart-context.spec.js.map +1 -1
  58. package/lib/main/post-message-event-bridge.js +1 -1
  59. package/lib/main/post-message-event-bridge.js.map +1 -1
  60. package/lib/main/post-message-event-bridge.spec.js +5 -3
  61. package/lib/main/post-message-event-bridge.spec.js.map +1 -1
  62. package/lib/react/mocks/custom-chart-context-mock.d.ts +3 -0
  63. package/lib/react/mocks/custom-chart-context-mock.d.ts.map +1 -0
  64. package/lib/react/mocks/custom-chart-context-mock.js +94 -0
  65. package/lib/react/mocks/custom-chart-context-mock.js.map +1 -0
  66. package/lib/react/use-custom-chart-context.d.ts +4 -0
  67. package/lib/react/use-custom-chart-context.d.ts.map +1 -0
  68. package/lib/react/use-custom-chart-context.js +68 -0
  69. package/lib/react/use-custom-chart-context.js.map +1 -0
  70. package/lib/react/use-custom-chart-context.spec.d.ts +2 -0
  71. package/lib/react/use-custom-chart-context.spec.d.ts.map +1 -0
  72. package/lib/react/use-custom-chart-context.spec.js +363 -0
  73. package/lib/react/use-custom-chart-context.spec.js.map +1 -0
  74. package/lib/react/use-custom-chart-context.util.d.ts +6 -0
  75. package/lib/react/use-custom-chart-context.util.d.ts.map +1 -0
  76. package/lib/react/use-custom-chart-context.util.js +51 -0
  77. package/lib/react/use-custom-chart-context.util.js.map +1 -0
  78. package/lib/react/use-custom-chart-types.d.ts +23 -0
  79. package/lib/react/use-custom-chart-types.d.ts.map +1 -0
  80. package/lib/react/use-custom-chart-types.js +2 -0
  81. package/lib/react/use-custom-chart-types.js.map +1 -0
  82. package/lib/types/chart-to-ts-event.types.d.ts +54 -4
  83. package/lib/types/chart-to-ts-event.types.d.ts.map +1 -1
  84. package/lib/types/chart-to-ts-event.types.js +13 -0
  85. package/lib/types/chart-to-ts-event.types.js.map +1 -1
  86. package/lib/types/common.types.d.ts +2 -0
  87. package/lib/types/common.types.d.ts.map +1 -1
  88. package/lib/types/ts-to-chart-event.types.d.ts +23 -1
  89. package/lib/types/ts-to-chart-event.types.d.ts.map +1 -1
  90. package/lib/types/ts-to-chart-event.types.js +2 -0
  91. package/lib/types/ts-to-chart-event.types.js.map +1 -1
  92. package/lib/types/visual-prop.types.d.ts +27 -1
  93. package/lib/types/visual-prop.types.d.ts.map +1 -1
  94. package/package.json +8 -2
  95. package/src/index.ts +1 -0
  96. package/src/main/custom-chart-context.spec.ts +426 -0
  97. package/src/main/custom-chart-context.ts +244 -3
  98. package/src/main/post-message-event-bridge.spec.ts +5 -3
  99. package/src/main/post-message-event-bridge.ts +1 -1
  100. package/src/react/mocks/custom-chart-context-mock.ts +114 -0
  101. package/src/react/use-custom-chart-context.spec.tsx +464 -0
  102. package/src/react/use-custom-chart-context.tsx +180 -0
  103. package/src/react/use-custom-chart-context.util.ts +101 -0
  104. package/src/react/use-custom-chart-types.ts +70 -0
  105. package/src/types/chart-to-ts-event.types.ts +215 -3
  106. package/src/types/common.types.ts +15 -1
  107. package/src/types/ts-to-chart-event.types.ts +70 -0
  108. package/src/types/visual-prop.types.ts +137 -0
  109. package/lib/dist/ts-chart-sdk.d.ts +0 -312
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ErrorType = exports.ChartToTSEvent = void 0;
3
+ exports.AxisMenuActions = exports.ErrorType = exports.ChartToTSEvent = void 0;
4
4
  var ChartToTSEvent;
5
5
  (function (ChartToTSEvent) {
6
6
  ChartToTSEvent["OpenContextMenu"] = "OpenContextMenu";
@@ -11,9 +11,22 @@ var ChartToTSEvent;
11
11
  ChartToTSEvent["RenderError"] = "RenderError";
12
12
  ChartToTSEvent["RenderComplete"] = "RenderComplete";
13
13
  ChartToTSEvent["UpdateVisualProps"] = "UpdateVisualProps";
14
+ ChartToTSEvent["GetTMLString"] = "GetTMLString";
15
+ ChartToTSEvent["SetTMLString"] = "SetTMLString";
16
+ ChartToTSEvent["GetDataForQuery"] = "GetDataForQuery";
17
+ ChartToTSEvent["ShowToolTip"] = "ShowToolTip";
18
+ ChartToTSEvent["HideToolTip"] = "HideToolTip";
14
19
  })(ChartToTSEvent = exports.ChartToTSEvent || (exports.ChartToTSEvent = {}));
15
20
  var ErrorType;
16
21
  (function (ErrorType) {
17
22
  ErrorType["MultipleContextsNotSupported"] = "MultipleContextsNotSupported";
18
23
  })(ErrorType = exports.ErrorType || (exports.ErrorType = {}));
24
+ var AxisMenuActions;
25
+ (function (AxisMenuActions) {
26
+ AxisMenuActions["AGGREGATE"] = "AGGREGATE";
27
+ AxisMenuActions["TIME_BUCKET"] = "TIME_BUCKET";
28
+ AxisMenuActions["FILTER"] = "FILTER";
29
+ AxisMenuActions["SORT"] = "SORT";
30
+ AxisMenuActions["SEPARATOR"] = "SEPARATOR";
31
+ })(AxisMenuActions = exports.AxisMenuActions || (exports.AxisMenuActions = {}));
19
32
  //# sourceMappingURL=chart-to-ts-event.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart-to-ts-event.types.js","sourceRoot":"","sources":["../../src/types/chart-to-ts-event.types.ts"],"names":[],"mappings":";;;AAMA,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,GAAd,sBAAc,KAAd,sBAAc,QAwBzB;AAoHD,IAAY,SAEX;AAFD,WAAY,SAAS;IACjB,0EAA6D,CAAA;AACjE,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB"}
1
+ {"version":3,"file":"chart-to-ts-event.types.js","sourceRoot":"","sources":["../../src/types/chart-to-ts-event.types.ts"],"names":[],"mappings":";;;AAWA,IAAY,cAyCX;AAzCD,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;IAKvC,+CAA6B,CAAA;IAC7B,+CAA6B,CAAA;IAK7B,qDAAmC,CAAA;IAKnC,6CAA2B,CAAA;IAC3B,6CAA2B,CAAA;AAC/B,CAAC,EAzCW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAyCzB;AAuMD,IAAY,SAEX;AAFD,WAAY,SAAS;IACjB,0EAA6D,CAAA;AACjE,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAMD,IAAY,eAuCX;AAvCD,WAAY,eAAe;IAKvB,0CAAuB,CAAA;IAKvB,8CAA2B,CAAA;IAI3B,oCAAiB,CAAA;IAIjB,gCAAa,CAAA;IAoBb,0CAAuB,CAAA;AAC3B,CAAC,EAvCW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAuC1B"}
@@ -37,6 +37,7 @@ export interface AppConfig {
37
37
  appOptions?: {
38
38
  isMobile?: boolean;
39
39
  isPrintMode?: boolean;
40
+ isLiveboardContext?: boolean;
40
41
  isDebugMode?: boolean;
41
42
  };
42
43
  localeOptions?: {
@@ -44,6 +45,7 @@ export interface AppConfig {
44
45
  quarterStartMonth: string;
45
46
  sessionTimezone: string;
46
47
  };
48
+ appUrl?: string;
47
49
  customCalendarConfig?: any;
48
50
  }
49
51
  export {};
@@ -1 +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"}
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;IAItB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAElC,UAAU,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAE7B,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;IAQF,MAAM,CAAC,EAAE,MAAM,CAAC;IAQhB,oBAAoB,CAAC,EAAE,GAAG,CAAC;CAC9B"}
@@ -1,4 +1,5 @@
1
1
  import { ChartColumn } from './answer-column.types';
2
+ import { Point } from './chart-to-ts-event.types';
2
3
  import { AppConfig, ChartConfig, ChartModel, QueryData, ValidationResponse, VisualProps } from './common.types';
3
4
  import { ChartConfigEditorDefinition } from './configurator.types';
4
5
  import { VisualPropEditorDefinition } from './visual-prop.types';
@@ -11,7 +12,9 @@ export declare enum TSToChartEvent {
11
12
  DataUpdate = "DataUpdate",
12
13
  TriggerRenderChart = "TriggerRenderChart",
13
14
  VisualPropsValidate = "VisualPropsValidate",
14
- VisualPropsUpdate = "VisualPropsUpdate"
15
+ VisualPropsUpdate = "VisualPropsUpdate",
16
+ ContextMenuActionClick = "ContextMenuActionClick",
17
+ AxisMenuActionClick = "AxisMenuActionClick"
15
18
  }
16
19
  export interface TSToChartEventsPayloadMap {
17
20
  [TSToChartEvent.ChartModelUpdate]: (payload: ChartModelUpdateEventPayload) => void;
@@ -25,6 +28,8 @@ export interface TSToChartInternalEventsPayloadMap {
25
28
  [TSToChartEvent.ChartConfigValidate]: (payload: ChartConfigValidateEventPayload) => ValidationResponse;
26
29
  [TSToChartEvent.VisualPropsValidate]: (payload: VisualPropsValidateEventPayload) => ValidationResponse;
27
30
  [TSToChartEvent.TriggerRenderChart]: () => void;
31
+ [TSToChartEvent.ContextMenuActionClick]: (payload: ContextMenuCustomActionPayload) => void;
32
+ [TSToChartEvent.AxisMenuActionClick]: (payload: AxisMenuCustomActionPayload) => void;
28
33
  }
29
34
  export interface InitializeEventPayload {
30
35
  chartModel: ChartModel;
@@ -66,4 +71,21 @@ export interface VisualPropsValidateEventPayload {
66
71
  export interface ChartConfigValidateEventPayload {
67
72
  chartConfig: ChartConfig[];
68
73
  }
74
+ export interface CustomContextMenuAction {
75
+ id: string;
76
+ clickedPoint: Point;
77
+ selectedPoints?: Point[];
78
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
79
+ }
80
+ export interface ContextMenuCustomActionPayload {
81
+ customAction: CustomContextMenuAction;
82
+ }
83
+ export interface CustomAxisMenuAction {
84
+ id: string;
85
+ columnIds: string[];
86
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
87
+ }
88
+ export interface AxisMenuCustomActionPayload {
89
+ customAction: CustomAxisMenuAction;
90
+ }
69
91
  //# sourceMappingURL=ts-to-chart-event.types.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"ts-to-chart-event.types.d.ts","sourceRoot":"","sources":["../../src/types/ts-to-chart-event.types.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,7 @@ var TSToChartEvent;
12
12
  TSToChartEvent["TriggerRenderChart"] = "TriggerRenderChart";
13
13
  TSToChartEvent["VisualPropsValidate"] = "VisualPropsValidate";
14
14
  TSToChartEvent["VisualPropsUpdate"] = "VisualPropsUpdate";
15
+ TSToChartEvent["ContextMenuActionClick"] = "ContextMenuActionClick";
16
+ TSToChartEvent["AxisMenuActionClick"] = "AxisMenuActionClick";
15
17
  })(TSToChartEvent = exports.TSToChartEvent || (exports.TSToChartEvent = {}));
16
18
  //# sourceMappingURL=ts-to-chart-event.types.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"ts-to-chart-event.types.js","sourceRoot":"","sources":["../../src/types/ts-to-chart-event.types.ts"],"names":[],"mappings":";;;AAmBA,IAAY,cAmDX;AAnDD,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;IAKvC,mEAAiD,CAAA;IAKjD,6DAA2C,CAAA;AAC/C,CAAC,EAnDW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAmDzB"}
@@ -1,3 +1,13 @@
1
+ export interface InputValidation {
2
+ required?: boolean;
3
+ requiredError?: string;
4
+ regex?: string;
5
+ regexError?: string;
6
+ minLength?: number;
7
+ minLengthError?: string;
8
+ range?: string;
9
+ rangeError?: string;
10
+ }
1
11
  export interface TextInputFormDetail {
2
12
  type: 'text';
3
13
  key: string;
@@ -6,6 +16,21 @@ export interface TextInputFormDetail {
6
16
  multiline?: boolean;
7
17
  placeholder?: string;
8
18
  defaultValue?: string;
19
+ inputValidation?: InputValidation;
20
+ }
21
+ export interface NumberInputFormDetail {
22
+ type: 'number';
23
+ key: string;
24
+ label?: string;
25
+ defaultValue?: number;
26
+ inputValidation?: InputValidation;
27
+ }
28
+ export interface ColorPickerFormDetail {
29
+ type: 'colorpicker';
30
+ key: string;
31
+ label?: string;
32
+ selectorType?: 'FONT' | 'COLOR';
33
+ defaultValue?: string;
9
34
  }
10
35
  export interface ToggleFormDetail {
11
36
  type: 'toggle';
@@ -39,8 +64,9 @@ export interface Section {
39
64
  label?: string;
40
65
  children?: PropElement[];
41
66
  alignment?: 'row' | 'column';
67
+ layoutType?: 'accordion' | 'tab' | 'none';
42
68
  }
43
- export type PropElement = Section | TextInputFormDetail | ToggleFormDetail | CheckboxFormDetail | RadioButtonFormDetail | DropDownFormDetail;
69
+ export type PropElement = Section | TextInputFormDetail | NumberInputFormDetail | ColorPickerFormDetail | ToggleFormDetail | CheckboxFormDetail | RadioButtonFormDetail | DropDownFormDetail;
44
70
  export interface VisualPropEditorDefinition {
45
71
  elements: PropElement[];
46
72
  }
@@ -1 +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"}
1
+ {"version":3,"file":"visual-prop.types.d.ts","sourceRoot":"","sources":["../../src/types/visual-prop.types.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAM5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAMnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAMvB,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAMnB,cAAc,CAAC,EAAE,MAAM,CAAC;IAMxB,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD,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;IAMtB,eAAe,CAAC,EAAE,eAAe,CAAC;CACrC;AAOD,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,QAAQ,CAAC;IAMf,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAMf,YAAY,CAAC,EAAE,MAAM,CAAC;IAMtB,eAAe,CAAC,EAAE,eAAe,CAAC;CACrC;AAOD,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,aAAa,CAAC;IAMpB,GAAG,EAAE,MAAM,CAAC;IAMZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAOf,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAMhC,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;IAQ7B,UAAU,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;CAC7C;AAOD,MAAM,MAAM,WAAW,GACjB,OAAO,GACP,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,kBAAkB,CAAC;AAOzB,MAAM,WAAW,0BAA0B;IAOvC,QAAQ,EAAE,WAAW,EAAE,CAAC;CAC3B"}
@@ -1,4 +1,8 @@
1
1
  // Generated by dts-bundle v0.7.3
2
+ // Dependencies for this module:
3
+ // ../react
4
+
5
+ import React from 'react';
2
6
 
3
7
  export interface ChartConfigDimension {
4
8
  key: string;
@@ -8,15 +12,14 @@ export interface ChartConfig {
8
12
  key: string;
9
13
  dimensions: ChartConfigDimension[];
10
14
  }
11
- export type DataArray = {
12
- columnId: string;
13
- columnDataType: DataType;
14
- dataValue: any[];
15
+ export type DataPointsArray = {
16
+ columns: string[];
17
+ dataValue: any[][];
15
18
  };
16
19
  export type QueryData = {
17
- data: DataArray[];
18
- completionRatio: number;
19
- samplingRatio: number;
20
+ data: DataPointsArray;
21
+ completionRatio?: number;
22
+ samplingRatio?: number;
20
23
  totalRowCount: number;
21
24
  };
22
25
  export interface ChartModel {
@@ -39,6 +42,7 @@ export interface AppConfig {
39
42
  appOptions?: {
40
43
  isMobile?: boolean;
41
44
  isPrintMode?: boolean;
45
+ isLiveboardContext?: boolean;
42
46
  isDebugMode?: boolean;
43
47
  };
44
48
  localeOptions?: {
@@ -46,6 +50,7 @@ export interface AppConfig {
46
50
  quarterStartMonth: string;
47
51
  sessionTimezone: string;
48
52
  };
53
+ appUrl?: string;
49
54
  customCalendarConfig?: any;
50
55
  }
51
56
  export {};
@@ -65,6 +70,16 @@ export interface ChartConfigEditorDefinition {
65
70
  columnSections: ChartConfigSection[];
66
71
  }
67
72
 
73
+ export interface InputValidation {
74
+ required?: boolean;
75
+ requiredError?: string;
76
+ regex?: string;
77
+ regexError?: string;
78
+ minLength?: number;
79
+ minLengthError?: string;
80
+ range?: string;
81
+ rangeError?: string;
82
+ }
68
83
  export interface TextInputFormDetail {
69
84
  type: 'text';
70
85
  key: string;
@@ -73,6 +88,21 @@ export interface TextInputFormDetail {
73
88
  multiline?: boolean;
74
89
  placeholder?: string;
75
90
  defaultValue?: string;
91
+ inputValidation?: InputValidation;
92
+ }
93
+ export interface NumberInputFormDetail {
94
+ type: 'number';
95
+ key: string;
96
+ label?: string;
97
+ defaultValue?: number;
98
+ inputValidation?: InputValidation;
99
+ }
100
+ export interface ColorPickerFormDetail {
101
+ type: 'colorpicker';
102
+ key: string;
103
+ label?: string;
104
+ selectorType?: 'FONT' | 'COLOR';
105
+ defaultValue?: string;
76
106
  }
77
107
  export interface ToggleFormDetail {
78
108
  type: 'toggle';
@@ -106,8 +136,9 @@ export interface Section {
106
136
  label?: string;
107
137
  children?: PropElement[];
108
138
  alignment?: 'row' | 'column';
139
+ layoutType?: 'accordion' | 'tab' | 'none';
109
140
  }
110
- export type PropElement = Section | TextInputFormDetail | ToggleFormDetail | CheckboxFormDetail | RadioButtonFormDetail | DropDownFormDetail;
141
+ export type PropElement = Section | TextInputFormDetail | NumberInputFormDetail | ColorPickerFormDetail | ToggleFormDetail | CheckboxFormDetail | RadioButtonFormDetail | DropDownFormDetail;
111
142
  export interface VisualPropEditorDefinition {
112
143
  elements: PropElement[];
113
144
  }
@@ -189,17 +220,34 @@ export enum ChartToTSEvent {
189
220
  RenderStart = "RenderStart",
190
221
  RenderError = "RenderError",
191
222
  RenderComplete = "RenderComplete",
192
- UpdateVisualProps = "UpdateVisualProps"
223
+ UpdateVisualProps = "UpdateVisualProps",
224
+ GetTMLString = "GetTMLString",
225
+ SetTMLString = "SetTMLString",
226
+ GetDataForQuery = "GetDataForQuery",
227
+ ShowToolTip = "ShowToolTip",
228
+ HideToolTip = "HideToolTip"
193
229
  }
194
230
  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;
231
+ [ChartToTSEvent.OpenContextMenu]: [OpenContextMenuEventPayload];
232
+ [ChartToTSEvent.CloseContextMenu]: [];
233
+ [ChartToTSEvent.RenderStart]: [];
234
+ [ChartToTSEvent.RenderComplete]: [];
235
+ [ChartToTSEvent.RenderError]: [RenderErrorEventPayload];
236
+ [ChartToTSEvent.UpdateVisualProps]: [UpdateVisualPropsEventPayload];
237
+ [ChartToTSEvent.GetTMLString]: [];
238
+ [ChartToTSEvent.SetTMLString]: [SetTMLStringEventPayload];
239
+ [ChartToTSEvent.GetDataForQuery]: [GetDataForQueryEventPayload];
240
+ [ChartToTSEvent.ShowToolTip]: [ShowToolTipEventPayload];
241
+ [ChartToTSEvent.HideToolTip]: [];
242
+ [ChartToTSEvent.OpenAxisMenu]: [OpenAxisMenuEventPayload];
243
+ [ChartToTSEvent.CloseAxisMenu]: [];
244
+ }
245
+ export interface UpdateVisualPropsEventPayload {
246
+ visualProps: VisualProps;
247
+ }
248
+ export interface SetTMLStringEventPayload {
249
+ tmlString: string;
250
+ }
203
251
  export interface PointVal {
204
252
  columnId: string;
205
253
  value: any;
@@ -210,33 +258,68 @@ export interface Point {
210
258
  export interface CustomAction {
211
259
  id: string;
212
260
  label: string;
213
- icon: string;
261
+ icon?: string;
214
262
  onClick: (...args: any[]) => void;
215
263
  }
216
264
  export interface OpenContextMenuEventPayload {
217
- event: Pick<PointerEvent, 'x' | 'y' | 'clientX' | 'clientY' | 'pageX' | 'pageY' | 'screenX' | 'screenY'>;
265
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
218
266
  clickedPoint: Point;
219
267
  selectedPoints?: Point[];
220
268
  customActions?: CustomAction[];
221
269
  }
222
- interface RenderErrorEventPayload {
270
+ export interface ShowToolTipEventPayload {
271
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
272
+ customTooltipContent?: string[];
273
+ point?: Point;
274
+ }
275
+ export interface RenderErrorEventPayload {
223
276
  hasError: boolean;
224
277
  error: any;
225
278
  }
279
+ export interface GetDataForQueryEventPayload {
280
+ queries: Query[];
281
+ }
226
282
  export enum ErrorType {
227
283
  MultipleContextsNotSupported = "MultipleContextsNotSupported"
228
284
  }
229
- export {};
285
+ export enum AxisMenuActions {
286
+ AGGREGATE = "AGGREGATE",
287
+ TIME_BUCKET = "TIME_BUCKET",
288
+ FILTER = "FILTER",
289
+ SORT = "SORT",
290
+ SEPARATOR = "SEPARATOR"
291
+ }
292
+ export interface AxisMenuCustomAction {
293
+ id: string;
294
+ label: string;
295
+ icon?: string;
296
+ onClick: (...args: any[]) => void;
297
+ }
298
+ export interface OpenAxisMenuEventPayload {
299
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
300
+ columnIds: string[];
301
+ selectedActions?: AxisMenuActions[];
302
+ customActions?: AxisMenuCustomAction[];
303
+ }
304
+ export interface ContextMenuActionHandler {
305
+ [key: string]: (args: CustomContextMenuAction) => void;
306
+ }
307
+ export interface AxisMenuActionHandler {
308
+ [key: string]: (args: CustomAxisMenuAction) => void;
309
+ }
230
310
 
231
311
  export enum TSToChartEvent {
232
312
  Initialize = "Initialize",
313
+ InitializeComplete = "InitializeComplete",
233
314
  GetDataQuery = "GetDataQuery",
234
315
  ChartConfigValidate = "ChartConfigValidate",
235
316
  ChartModelUpdate = "ChartModelUpdate",
236
317
  DataUpdate = "DataUpdate",
237
318
  TriggerRenderChart = "TriggerRenderChart",
238
319
  VisualPropsValidate = "VisualPropsValidate",
239
- VisualPropsUpdate = "VisualPropsUpdate"
320
+ VisualPropsUpdate = "VisualPropsUpdate",
321
+ ContextMenuActionClick = "ContextMenuActionClick",
322
+ AxisMenuActionClick = "AxisMenuActionClick"
240
323
  }
241
324
  export interface TSToChartEventsPayloadMap {
242
325
  [TSToChartEvent.ChartModelUpdate]: (payload: ChartModelUpdateEventPayload) => void;
@@ -245,10 +328,13 @@ export interface TSToChartEventsPayloadMap {
245
328
  }
246
329
  export interface TSToChartInternalEventsPayloadMap {
247
330
  [TSToChartEvent.Initialize]: (payload: InitializeEventPayload) => InitializeEventResponsePayload;
331
+ [TSToChartEvent.InitializeComplete]: () => void;
248
332
  [TSToChartEvent.GetDataQuery]: (payload: GetDataQueryPayload) => GetDataQueryResponsePayload;
249
333
  [TSToChartEvent.ChartConfigValidate]: (payload: ChartConfigValidateEventPayload) => ValidationResponse;
250
334
  [TSToChartEvent.VisualPropsValidate]: (payload: VisualPropsValidateEventPayload) => ValidationResponse;
251
335
  [TSToChartEvent.TriggerRenderChart]: () => void;
336
+ [TSToChartEvent.ContextMenuActionClick]: (payload: ContextMenuCustomActionPayload) => void;
337
+ [TSToChartEvent.AxisMenuActionClick]: (payload: AxisMenuCustomActionPayload) => void;
252
338
  }
253
339
  export interface InitializeEventPayload {
254
340
  chartModel: ChartModel;
@@ -290,6 +376,23 @@ export interface VisualPropsValidateEventPayload {
290
376
  export interface ChartConfigValidateEventPayload {
291
377
  chartConfig: ChartConfig[];
292
378
  }
379
+ export interface CustomContextMenuAction {
380
+ id: string;
381
+ clickedPoint: Point;
382
+ selectedPoints?: Point[];
383
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
384
+ }
385
+ export interface ContextMenuCustomActionPayload {
386
+ customAction: CustomContextMenuAction;
387
+ }
388
+ export interface CustomAxisMenuAction {
389
+ id: string;
390
+ columnIds: string[];
391
+ event: Pick<PointerEvent, 'clientX' | 'clientY'>;
392
+ }
393
+ export interface AxisMenuCustomActionPayload {
394
+ customAction: CustomAxisMenuAction;
395
+ }
293
396
 
294
397
  export type CustomChartContextProps = {
295
398
  getDefaultChartConfig: (chartModel: ChartModel) => ChartConfig[];
@@ -304,9 +407,34 @@ export class CustomChartContext {
304
407
  constructor(chartContextProps: CustomChartContextProps);
305
408
  initialize: () => Promise<void>;
306
409
  on<T extends keyof TSToChartEventsPayloadMap>(eventType: T, callbackFn: TSToChartEventsPayloadMap[T]): void;
410
+ off<T extends keyof TSToChartEventsPayloadMap>(eventType: T): void;
307
411
  destroy(): void;
308
412
  getChartModel: () => ChartModel;
309
- emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
413
+ getAppConfig: () => AppConfig;
414
+ contextMenuCustomActionPreProcessor(eventPayload: [OpenContextMenuEventPayload]): [OpenContextMenuEventPayload];
415
+ axisMenuCustomActionPreProcessor(eventPayload: [OpenAxisMenuEventPayload]): [OpenAxisMenuEventPayload];
416
+ emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, ...eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
310
417
  }
311
418
  export const getChartContext: (customChartConfig: CustomChartContextProps) => Promise<CustomChartContext>;
312
419
 
420
+ export const useChartContext: (props: Omit<CustomChartContextProps, 'renderChart'>) => ChartContextProps;
421
+
422
+ export type ChartToTSEventEmitters = {
423
+ [key in keyof ChartToTSEventsPayloadMap as `emit${Capitalize<key>}`]: (...args: ChartToTSEventsPayloadMap[key]) => Promise<void>;
424
+ };
425
+ export type TSToChartEventListener = {
426
+ [key in keyof TSToChartEventsPayloadMap as `setOn${Capitalize<key>}`]: (args: TSToChartEventsPayloadMap[key]) => Promise<void>;
427
+ };
428
+ export type TSToChartEventOffListener = {
429
+ [key in keyof TSToChartEventsPayloadMap as `setOff${Capitalize<key>}`]: () => Promise<void>;
430
+ };
431
+ export interface TSChartContextProps {
432
+ children: React.ReactNode;
433
+ }
434
+ export interface ChartContextProps extends ChartToTSEventEmitters, TSToChartEventListener, TSToChartEventOffListener {
435
+ hasInitialized: boolean;
436
+ chartModel: ChartModel | undefined;
437
+ destroy: () => void;
438
+ TSChartContext: ({ children }: TSChartContextProps) => React.JSX.Element;
439
+ }
440
+
package/lib/index.d.ts CHANGED
@@ -5,4 +5,5 @@ export * from './types/answer-column.types';
5
5
  export * from './types/chart-to-ts-event.types';
6
6
  export * from './types/ts-to-chart-event.types';
7
7
  export * from './main/custom-chart-context';
8
+ export * from './react/use-custom-chart-context';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
package/lib/index.js CHANGED
@@ -5,4 +5,5 @@ export * from './types/answer-column.types';
5
5
  export * from './types/chart-to-ts-event.types';
6
6
  export * from './types/ts-to-chart-event.types';
7
7
  export * from './main/custom-chart-context';
8
+ export * from './react/use-custom-chart-context';
8
9
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { ChartToTSEventsPayloadMap } from '../types/chart-to-ts-event.types';
2
- import { ChartConfig, ChartModel, ValidationResponse, VisualProps } from '../types/common.types';
1
+ import { ChartToTSEventsPayloadMap, OpenAxisMenuEventPayload, OpenContextMenuEventPayload } from '../types/chart-to-ts-event.types';
2
+ import { AppConfig, ChartConfig, ChartModel, ValidationResponse, VisualProps } from '../types/common.types';
3
3
  import { ChartConfigEditorDefinition } from '../types/configurator.types';
4
4
  import { Query, TSToChartEventsPayloadMap } from '../types/ts-to-chart-event.types';
5
5
  import { VisualPropEditorDefinition } from '../types/visual-prop.types';
@@ -16,16 +16,24 @@ export declare class CustomChartContext {
16
16
  private componentId;
17
17
  private hostUrl;
18
18
  private chartModel;
19
+ private appConfig;
19
20
  private chartContextProps;
20
21
  private eventListeners;
21
22
  private hasInitializedPromise;
22
23
  private triggerInitResolve;
24
+ private contextMenuActionHandler;
25
+ private axisMenuActionHandler;
23
26
  constructor(chartContextProps: CustomChartContextProps);
24
27
  initialize: () => Promise<void>;
25
28
  on<T extends keyof TSToChartEventsPayloadMap>(eventType: T, callbackFn: TSToChartEventsPayloadMap[T]): void;
29
+ off<T extends keyof TSToChartEventsPayloadMap>(eventType: T): void;
26
30
  private onInternal;
27
31
  destroy(): void;
28
32
  getChartModel: () => ChartModel;
33
+ getAppConfig: () => AppConfig;
34
+ contextMenuCustomActionPreProcessor(eventPayload: [OpenContextMenuEventPayload]): [OpenContextMenuEventPayload];
35
+ axisMenuCustomActionPreProcessor(eventPayload: [OpenAxisMenuEventPayload]): [OpenAxisMenuEventPayload];
36
+ private eventPayloadPreProcessor;
29
37
  emitEvent<T extends keyof ChartToTSEventsPayloadMap>(eventType: T, ...eventPayload: ChartToTSEventsPayloadMap[T]): Promise<any>;
30
38
  private registerEventProcessor;
31
39
  private eventProcessor;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"custom-chart-context.d.ts","sourceRoot":"","sources":["../../src/main/custom-chart-context.ts"],"names":[],"mappings":"AASA,OAAO,EAGH,yBAAyB,EAIzB,wBAAwB,EACxB,2BAA2B,EAC9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,SAAS,EACT,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,WAAW,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAUH,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;IAW5D,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;CAC3D,CAAC;AAWF,qBAAa,kBAAkB;IAU3B,OAAO,CAAC,WAAW,CAAM;IASzB,OAAO,CAAC,OAAO,CAAM;IAQrB,OAAO,CAAC,UAAU,CAAyB;IAO3C,OAAO,CAAC,SAAS,CAAiB;IAOlC,OAAO,CAAC,iBAAiB,CACkC;IAQ3D,OAAO,CAAC,cAAc,CAAoD;IAW1E,OAAO,CAAC,qBAAqB,CAAgB;IAS7C,OAAO,CAAC,kBAAkB,CAAsB;IAQhD,OAAO,CAAC,wBAAwB,CAAgC;IAQhE,OAAO,CAAC,qBAAqB,CAA6B;gBAO9C,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;IAeA,GAAG,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI;IAiBzE,OAAO,CAAC,UAAU;IAgBX,OAAO;IAUP,aAAa,QAAO,UAAU,CAAoB;IAOlD,YAAY,QAAO,SAAS,CAAmB;IAQ/C,mCAAmC,CACtC,YAAY,EAAE,CAAC,2BAA2B,CAAC,GAC5C,CAAC,2BAA2B,CAAC;IAiCzB,gCAAgC,CACnC,YAAY,EAAE,CAAC,wBAAwB,CAAC,GACzC,CAAC,wBAAwB,CAAC;IAiC7B,OAAO,CAAC,wBAAwB;IA0BzB,SAAS,CAAC,CAAC,SAAS,MAAM,yBAAyB,EACtD,SAAS,EAAE,CAAC,EACZ,GAAG,YAAY,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,GAAG,CAAC;IAuBf,OAAO,CAAC,sBAAsB,CAU5B;IAOF,OAAO,CAAC,cAAc,CAuBpB;IAOF,OAAO,CAAC,cAAc,CAqOpB;IASF,OAAO,CAAC,iBAAiB,CASvB;IAEF,OAAO,CAAC,sBAAsB,CAM5B;IAEF,OAAO,CAAC,8BAA8B,CA6BhC;IAQN,OAAO,CAAC,uBAAuB,CAyB7B;CACL;AAQD,eAAO,MAAM,eAAe,sBACL,uBAAuB,KAC3C,QAAQ,kBAAkB,CAO5B,CAAC"}