@thoughtspot/ts-chart-sdk 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ts-chart-sdk.d.ts +6 -1
- package/lib/main/post-message-event-bridge.d.ts.map +1 -1
- package/lib/main/post-message-event-bridge.js +7 -2
- package/lib/main/post-message-event-bridge.js.map +1 -1
- package/lib/main/post-message-event-bridge.spec.js +23 -1
- package/lib/main/post-message-event-bridge.spec.js.map +1 -1
- package/lib/types/chart-to-ts-event.types.d.ts +6 -1
- package/lib/types/chart-to-ts-event.types.d.ts.map +1 -1
- package/lib/types/chart-to-ts-event.types.js +1 -0
- package/lib/types/chart-to-ts-event.types.js.map +1 -1
- package/package.json +3 -3
- package/src/main/post-message-event-bridge.spec.ts +35 -1
- package/src/main/post-message-event-bridge.ts +15 -2
- package/src/types/chart-to-ts-event.types.ts +26 -0
- package/src/types/common.types.ts +2 -2
- package/src/types/visual-prop.types.ts +2 -2
package/dist/ts-chart-sdk.d.ts
CHANGED
|
@@ -552,7 +552,8 @@ export enum ChartToTSEvent {
|
|
|
552
552
|
GetDataForQuery = "GetDataForQuery",
|
|
553
553
|
ShowToolTip = "ShowToolTip",
|
|
554
554
|
HideToolTip = "HideToolTip",
|
|
555
|
-
GetBlinkFlags = "GetBlinkFlags"
|
|
555
|
+
GetBlinkFlags = "GetBlinkFlags",
|
|
556
|
+
GetLabelTranslation = "GetLabelTranslation"
|
|
556
557
|
}
|
|
557
558
|
export interface ChartToTSEventsPayloadMap {
|
|
558
559
|
[ChartToTSEvent.OpenContextMenu]: [OpenContextMenuEventPayload];
|
|
@@ -570,6 +571,7 @@ export interface ChartToTSEventsPayloadMap {
|
|
|
570
571
|
[ChartToTSEvent.OpenAxisMenu]: [OpenAxisMenuEventPayload];
|
|
571
572
|
[ChartToTSEvent.CloseAxisMenu]: [];
|
|
572
573
|
[ChartToTSEvent.GetBlinkFlags]: [GetBlinkFlagsPayload];
|
|
574
|
+
[ChartToTSEvent.GetLabelTranslation]: [GetLabelTranslationPayload];
|
|
573
575
|
}
|
|
574
576
|
export interface UpdateVisualPropsEventPayload {
|
|
575
577
|
visualProps: VisualProps;
|
|
@@ -580,6 +582,9 @@ export interface GetBlinkFlagsPayload {
|
|
|
580
582
|
export interface SetTMLStringEventPayload {
|
|
581
583
|
tmlString: string;
|
|
582
584
|
}
|
|
585
|
+
export interface GetLabelTranslationPayload {
|
|
586
|
+
msgIds: string[];
|
|
587
|
+
}
|
|
583
588
|
export interface PointVal {
|
|
584
589
|
columnId: string;
|
|
585
590
|
value: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-message-event-bridge.d.ts","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"post-message-event-bridge.d.ts","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAUlE,QAAA,MAAM,UAAU,KAAsD,CAAC;AAOvE,QAAA,MAAM,IAAI,8BAA+B,GAAG,KAAK,QAAQ,GAAG,CAAC,GAAG,GAAG,eAWlE,CAAC;AAUF,QAAA,MAAM,oBAAoB,gBACT,MAAM,WACV,MAAM,gBACD,GAAG,aACN,cAAc,KAC1B,QAAQ,GAAG,CAwBb,CAAC;AAEF,OAAO,EAAE,IAAI,IAAI,mBAAmB,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { onMessage, sendMessage } from 'promise-postmessage';
|
|
1
|
+
import { ON_MESSAGE_CALLBACK_SKIP_PROCESSING, onMessage, sendMessage, } from 'promise-postmessage';
|
|
2
2
|
import { timeout } from './util';
|
|
3
3
|
const TIMEOUT_THRESHOLD = 30000;
|
|
4
4
|
const elSelector = new URL(import.meta.url).searchParams.get('elSelector');
|
|
@@ -6,7 +6,12 @@ const target = (elSelector && document.querySelector(elSelector)) ||
|
|
|
6
6
|
window.parent;
|
|
7
7
|
const globalThis = (target === window.parent ? window : target);
|
|
8
8
|
const init = (handleMessageEvent) => {
|
|
9
|
-
return onMessage(
|
|
9
|
+
return onMessage((data) => {
|
|
10
|
+
if (!data.eventType) {
|
|
11
|
+
return ON_MESSAGE_CALLBACK_SKIP_PROCESSING;
|
|
12
|
+
}
|
|
13
|
+
return handleMessageEvent(data);
|
|
14
|
+
}, target, 'child');
|
|
10
15
|
};
|
|
11
16
|
const postMessageToHostApp = async (componentId, hostUrl, eventPayload, eventType) => {
|
|
12
17
|
const resp = await timeout(sendMessage(target, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-message-event-bridge.js","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"post-message-event-bridge.js","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mCAAmC,EACnC,SAAS,EACT,WAAW,GACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEjC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEhC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC3E,MAAM,MAAM,GACR,CAAC,UAAU,IAAK,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAiB,CAAC;IACnE,MAAM,CAAC,MAAM,CAAC;AAElB,MAAM,UAAU,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAQ,CAAC;AAOvE,MAAM,IAAI,GAAG,CAAC,kBAAqD,EAAE,EAAE;IACnE,OAAO,SAAS,CACZ,CAAC,IAAS,EAAE,EAAE;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,OAAO,mCAAmC,CAAC;SAC9C;QACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,EACD,MAAM,EACN,OAAO,CACV,CAAC;AACN,CAAC,CAAC;AAUF,MAAM,oBAAoB,GAAG,KAAK,EAC9B,WAAmB,EACnB,OAAe,EACf,YAAiB,EACjB,SAAyB,EACb,EAAE;IACd,MAAM,IAAI,GAAG,MAAM,OAAO,CACtB,WAAW,CACP,MAAM,EACN;QACI,WAAW;QACX,OAAO,EAAE;YACL,GAAG,YAAY;SAClB;QACD,SAAS;QACT,MAAM,EAAE,cAAc;KACzB,EACD;QACI,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,OAAO;KACpB,CACJ,EACD,iBAAiB,EACjB,gDAAgD,CACnD,CAAC;IACF,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/B;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,OAAO,EAAE,IAAI,IAAI,mBAAmB,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _ from 'lodash';
|
|
2
|
-
import {
|
|
2
|
+
import { ON_MESSAGE_CALLBACK_SKIP_PROCESSING, onMessage, } from 'promise-postmessage';
|
|
3
|
+
import { initMessageListener, postMessageToHostApp, } from './post-message-event-bridge';
|
|
3
4
|
const TIMEOUT_THRESHOLD = 30000;
|
|
4
5
|
describe('postMessageToHostApp', () => {
|
|
5
6
|
beforeEach(() => {
|
|
@@ -114,4 +115,25 @@ describe('postMessageToHostApp', () => {
|
|
|
114
115
|
}, hostUrl, expect.any(Array));
|
|
115
116
|
});
|
|
116
117
|
});
|
|
118
|
+
describe('initMessageListener', () => {
|
|
119
|
+
let mockOnMessage;
|
|
120
|
+
let mockHandleMessageEvent;
|
|
121
|
+
beforeEach(() => {
|
|
122
|
+
mockHandleMessageEvent = jest.fn();
|
|
123
|
+
mockOnMessage = jest.spyOn({ onMessage }, 'onMessage');
|
|
124
|
+
});
|
|
125
|
+
afterEach(() => {
|
|
126
|
+
jest.clearAllMocks();
|
|
127
|
+
});
|
|
128
|
+
test('should skip processing when message has no eventType', () => {
|
|
129
|
+
const messageWithoutEventType = { payload: { someData: 'test' } };
|
|
130
|
+
mockOnMessage.mockImplementation((callback) => {
|
|
131
|
+
const result = callback(messageWithoutEventType);
|
|
132
|
+
expect(result).toBe(ON_MESSAGE_CALLBACK_SKIP_PROCESSING);
|
|
133
|
+
return () => null;
|
|
134
|
+
});
|
|
135
|
+
initMessageListener(mockHandleMessageEvent);
|
|
136
|
+
expect(mockHandleMessageEvent).not.toHaveBeenCalled();
|
|
137
|
+
});
|
|
138
|
+
});
|
|
117
139
|
//# sourceMappingURL=post-message-event-bridge.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-message-event-bridge.spec.js","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.spec.ts"],"names":[],"mappings":"AAKA,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"post-message-event-bridge.spec.js","sourceRoot":"","sources":["../../src/main/post-message-event-bridge.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@ export declare enum ChartToTSEvent {
|
|
|
15
15
|
GetDataForQuery = "GetDataForQuery",
|
|
16
16
|
ShowToolTip = "ShowToolTip",
|
|
17
17
|
HideToolTip = "HideToolTip",
|
|
18
|
-
GetBlinkFlags = "GetBlinkFlags"
|
|
18
|
+
GetBlinkFlags = "GetBlinkFlags",
|
|
19
|
+
GetLabelTranslation = "GetLabelTranslation"
|
|
19
20
|
}
|
|
20
21
|
export interface ChartToTSEventsPayloadMap {
|
|
21
22
|
[ChartToTSEvent.OpenContextMenu]: [OpenContextMenuEventPayload];
|
|
@@ -33,6 +34,7 @@ export interface ChartToTSEventsPayloadMap {
|
|
|
33
34
|
[ChartToTSEvent.OpenAxisMenu]: [OpenAxisMenuEventPayload];
|
|
34
35
|
[ChartToTSEvent.CloseAxisMenu]: [];
|
|
35
36
|
[ChartToTSEvent.GetBlinkFlags]: [GetBlinkFlagsPayload];
|
|
37
|
+
[ChartToTSEvent.GetLabelTranslation]: [GetLabelTranslationPayload];
|
|
36
38
|
}
|
|
37
39
|
export interface UpdateVisualPropsEventPayload {
|
|
38
40
|
visualProps: VisualProps;
|
|
@@ -43,6 +45,9 @@ export interface GetBlinkFlagsPayload {
|
|
|
43
45
|
export interface SetTMLStringEventPayload {
|
|
44
46
|
tmlString: string;
|
|
45
47
|
}
|
|
48
|
+
export interface GetLabelTranslationPayload {
|
|
49
|
+
msgIds: string[];
|
|
50
|
+
}
|
|
46
51
|
export interface PointVal {
|
|
47
52
|
columnId: string;
|
|
48
53
|
value: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-to-ts-event.types.d.ts","sourceRoot":"","sources":["../../src/types/chart-to-ts-event.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,KAAK,EACR,MAAM,2BAA2B,CAAC;AAMnC,oBAAY,cAAc;IAItB,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IAKrC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAK/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IAKjC,iBAAiB,sBAAsB;IAKvC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAK7B,eAAe,oBAAoB;IAKnC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAM3B,aAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"chart-to-ts-event.types.d.ts","sourceRoot":"","sources":["../../src/types/chart-to-ts-event.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ export var ChartToTSEvent;
|
|
|
15
15
|
ChartToTSEvent["ShowToolTip"] = "ShowToolTip";
|
|
16
16
|
ChartToTSEvent["HideToolTip"] = "HideToolTip";
|
|
17
17
|
ChartToTSEvent["GetBlinkFlags"] = "GetBlinkFlags";
|
|
18
|
+
ChartToTSEvent["GetLabelTranslation"] = "GetLabelTranslation";
|
|
18
19
|
})(ChartToTSEvent || (ChartToTSEvent = {}));
|
|
19
20
|
export var ErrorType;
|
|
20
21
|
(function (ErrorType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart-to-ts-event.types.js","sourceRoot":"","sources":["../../src/types/chart-to-ts-event.types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"chart-to-ts-event.types.js","sourceRoot":"","sources":["../../src/types/chart-to-ts-event.types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAN,IAAY,cAqDX;AArDD,WAAY,cAAc;IAItB,qDAAmC,CAAA;IACnC,uDAAqC,CAAA;IAKrC,+CAA6B,CAAA;IAC7B,iDAA+B,CAAA;IAK/B,yCAAuB,CAAA;IACvB,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;IAM3B,iDAA+B,CAAA;IAK/B,6DAA2C,CAAA;AAC/C,CAAC,EArDW,cAAc,KAAd,cAAc,QAqDzB;AA2OD,MAAM,CAAN,IAAY,SAEX;AAFD,WAAY,SAAS;IACjB,0EAA6D,CAAA;AACjE,CAAC,EAFW,SAAS,KAAT,SAAS,QAEpB;AAMD,MAAM,CAAN,IAAY,eAiDX;AAjDD,WAAY,eAAe;IAKvB,0CAAuB,CAAA;IAKvB,8CAA2B,CAAA;IAI3B,oCAAiB,CAAA;IAIjB,gCAAa,CAAA;IAeb,oCAAiB,CAAA;IAKjB,gCAAa,CAAA;IAKb,4DAAyC,CAAA;IAKzC,0CAAuB,CAAA;AAC3B,CAAC,EAjDW,eAAe,KAAf,eAAe,QAiD1B"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thoughtspot/ts-chart-sdk",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "2.0
|
|
4
|
+
"version": "2.1.0",
|
|
5
5
|
"module": "lib/index",
|
|
6
6
|
"main": "lib/index",
|
|
7
7
|
"types": "lib/index",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"globalize": "^1.7.0",
|
|
80
80
|
"lodash": "^4.17.21",
|
|
81
81
|
"luxon": "^3.4.4",
|
|
82
|
-
"promise-postmessage": "
|
|
82
|
+
"promise-postmessage": "3.6.0",
|
|
83
83
|
"react": "^17.0.2",
|
|
84
84
|
"react-dom": "^17.0.2"
|
|
85
85
|
},
|
|
@@ -97,4 +97,4 @@
|
|
|
97
97
|
"publishConfig": {
|
|
98
98
|
"registry": "https://registry.npmjs.org"
|
|
99
99
|
}
|
|
100
|
-
}
|
|
100
|
+
}
|
|
@@ -4,7 +4,14 @@
|
|
|
4
4
|
* @author Chetan Agrawal <chetan.agrawal@thoughtspot.com>
|
|
5
5
|
*/
|
|
6
6
|
import _ from 'lodash';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
ON_MESSAGE_CALLBACK_SKIP_PROCESSING,
|
|
9
|
+
onMessage,
|
|
10
|
+
} from 'promise-postmessage';
|
|
11
|
+
import {
|
|
12
|
+
initMessageListener,
|
|
13
|
+
postMessageToHostApp,
|
|
14
|
+
} from './post-message-event-bridge';
|
|
8
15
|
|
|
9
16
|
const TIMEOUT_THRESHOLD = 30000;
|
|
10
17
|
|
|
@@ -212,3 +219,30 @@ describe('postMessageToHostApp', () => {
|
|
|
212
219
|
);
|
|
213
220
|
});
|
|
214
221
|
});
|
|
222
|
+
|
|
223
|
+
describe('initMessageListener', () => {
|
|
224
|
+
let mockOnMessage: jest.SpyInstance;
|
|
225
|
+
let mockHandleMessageEvent: jest.Mock;
|
|
226
|
+
|
|
227
|
+
beforeEach(() => {
|
|
228
|
+
mockHandleMessageEvent = jest.fn();
|
|
229
|
+
mockOnMessage = jest.spyOn({ onMessage }, 'onMessage');
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
afterEach(() => {
|
|
233
|
+
jest.clearAllMocks();
|
|
234
|
+
});
|
|
235
|
+
|
|
236
|
+
test('should skip processing when message has no eventType', () => {
|
|
237
|
+
const messageWithoutEventType = { payload: { someData: 'test' } };
|
|
238
|
+
mockOnMessage.mockImplementation((callback) => {
|
|
239
|
+
const result = callback(messageWithoutEventType);
|
|
240
|
+
expect(result).toBe(ON_MESSAGE_CALLBACK_SKIP_PROCESSING);
|
|
241
|
+
return () => null;
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
initMessageListener(mockHandleMessageEvent);
|
|
245
|
+
|
|
246
|
+
expect(mockHandleMessageEvent).not.toHaveBeenCalled();
|
|
247
|
+
});
|
|
248
|
+
});
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
ON_MESSAGE_CALLBACK_SKIP_PROCESSING,
|
|
3
|
+
onMessage,
|
|
4
|
+
sendMessage,
|
|
5
|
+
} from 'promise-postmessage';
|
|
2
6
|
import { ChartToTSEvent } from '../types/chart-to-ts-event.types';
|
|
3
7
|
import { timeout } from './util';
|
|
4
8
|
|
|
@@ -17,7 +21,16 @@ const globalThis = (target === window.parent ? window : target) as any;
|
|
|
17
21
|
* @param {any} handleMessageEvent
|
|
18
22
|
*/
|
|
19
23
|
const init = (handleMessageEvent: (data: any) => Promise<any> | any) => {
|
|
20
|
-
return onMessage(
|
|
24
|
+
return onMessage(
|
|
25
|
+
(data: any) => {
|
|
26
|
+
if (!data.eventType) {
|
|
27
|
+
return ON_MESSAGE_CALLBACK_SKIP_PROCESSING;
|
|
28
|
+
}
|
|
29
|
+
return handleMessageEvent(data);
|
|
30
|
+
},
|
|
31
|
+
target,
|
|
32
|
+
'child',
|
|
33
|
+
);
|
|
21
34
|
};
|
|
22
35
|
|
|
23
36
|
/**
|
|
@@ -57,6 +57,11 @@ export enum ChartToTSEvent {
|
|
|
57
57
|
*
|
|
58
58
|
*/
|
|
59
59
|
GetBlinkFlags = 'GetBlinkFlags',
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Label translation events.
|
|
63
|
+
*/
|
|
64
|
+
GetLabelTranslation = 'GetLabelTranslation',
|
|
60
65
|
}
|
|
61
66
|
|
|
62
67
|
/**
|
|
@@ -156,6 +161,15 @@ export interface ChartToTSEventsPayloadMap {
|
|
|
156
161
|
* @version SDK: 0.0.1-alpha.7 | ThoughtSpot:
|
|
157
162
|
*/
|
|
158
163
|
[ChartToTSEvent.GetBlinkFlags]: [GetBlinkFlagsPayload];
|
|
164
|
+
/**
|
|
165
|
+
* Trigger this event to get the locale translated msg values based on the msgId provided.
|
|
166
|
+
* These msgIds corresponds to the msgIds defined in string.po file of ThoughtSpot.
|
|
167
|
+
* example:
|
|
168
|
+
* msgId: 'chart.tooltip.title'
|
|
169
|
+
* msg: 'Tooltip Title' // based on the locale of ThoughtSpot instance.
|
|
170
|
+
* @version SDK: 2.1.0 | ThoughtSpot:
|
|
171
|
+
*/
|
|
172
|
+
[ChartToTSEvent.GetLabelTranslation]: [GetLabelTranslationPayload];
|
|
159
173
|
}
|
|
160
174
|
|
|
161
175
|
/**
|
|
@@ -166,6 +180,10 @@ export interface UpdateVisualPropsEventPayload {
|
|
|
166
180
|
visualProps: VisualProps;
|
|
167
181
|
}
|
|
168
182
|
|
|
183
|
+
/**
|
|
184
|
+
* This payload is used to get the blink flags from the session service.
|
|
185
|
+
* @group Chart to ThoughtSpot Events
|
|
186
|
+
*/
|
|
169
187
|
export interface GetBlinkFlagsPayload {
|
|
170
188
|
flags: string[];
|
|
171
189
|
}
|
|
@@ -179,6 +197,14 @@ export interface SetTMLStringEventPayload {
|
|
|
179
197
|
tmlString: string;
|
|
180
198
|
}
|
|
181
199
|
|
|
200
|
+
/**
|
|
201
|
+
* This payload is used to get array of msgIds to get the locale translated msg values.
|
|
202
|
+
* @group Chart to ThoughtSpot Events
|
|
203
|
+
*/
|
|
204
|
+
export interface GetLabelTranslationPayload {
|
|
205
|
+
msgIds: string[];
|
|
206
|
+
}
|
|
207
|
+
|
|
182
208
|
/**
|
|
183
209
|
* @group Chart to ThoughtSpot Events / Context Menu
|
|
184
210
|
*/
|
|
@@ -198,7 +198,7 @@ export type VisualPropError = {
|
|
|
198
198
|
/**
|
|
199
199
|
* Represents a validation error message with its translation key.
|
|
200
200
|
* This type is used to provide localized error messages for validation failures.
|
|
201
|
-
*
|
|
201
|
+
*
|
|
202
202
|
* @example
|
|
203
203
|
* ```typescript
|
|
204
204
|
* const validationError: ValidationErrorMessage = {
|
|
@@ -206,7 +206,7 @@ export type VisualPropError = {
|
|
|
206
206
|
* errorTranslation: "REQUIRED_FIELD_ERROR"
|
|
207
207
|
* };
|
|
208
208
|
* ```
|
|
209
|
-
*
|
|
209
|
+
*
|
|
210
210
|
* @property errorTranslation - The translation key that will be used to look up the translated error message
|
|
211
211
|
* @property errorMessage - The default error message that will be shown if translation is not available
|
|
212
212
|
*/
|
|
@@ -20,7 +20,7 @@ export type TSTooltipConfig = {
|
|
|
20
20
|
* Represents a value that needs to be translated in visual properties.
|
|
21
21
|
* This type is used when a value needs to be displayed in different languages
|
|
22
22
|
* or when the display value needs to be different from the actual value.
|
|
23
|
-
*
|
|
23
|
+
*
|
|
24
24
|
* @example
|
|
25
25
|
* ```typescript
|
|
26
26
|
* const translatedValue: TranslatedValue = {
|
|
@@ -28,7 +28,7 @@ export type TSTooltipConfig = {
|
|
|
28
28
|
* valueTranslation: "SHOW_ALL_LABELS"
|
|
29
29
|
* };
|
|
30
30
|
* ```
|
|
31
|
-
*
|
|
31
|
+
*
|
|
32
32
|
* @property valueTranslation - The translation key that will be used to look up the translated text
|
|
33
33
|
* @property value - The actual value that will be used in the application logic
|
|
34
34
|
*/
|