@elice/material-exercise 1.240811.0 → 1.240816.0-helpyrequest.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/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +2 -26
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +3 -27
- package/package.json +3 -3
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +0 -5
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +0 -107
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +0 -5
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +0 -98
package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js
CHANGED
|
@@ -28,7 +28,6 @@ require('lodash/debounce');
|
|
|
28
28
|
require('random-words');
|
|
29
29
|
require('unicount');
|
|
30
30
|
var ExerciseRunnerContext = require('./ExerciseRunnerContext.js');
|
|
31
|
-
var ExerciseRunnerControllerCodeHelpRequestButton = require('./ExerciseRunnerControllerCodeHelpRequestButton.js');
|
|
32
31
|
|
|
33
32
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
34
33
|
|
|
@@ -48,14 +47,12 @@ var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButto
|
|
|
48
47
|
var _a;
|
|
49
48
|
var intl$1 = intl.useRawEliceIntl();
|
|
50
49
|
var _React$useContext = React__default.default.useContext(context.ExerciseContext),
|
|
51
|
-
materialExerciseId = _React$useContext.materialExerciseId
|
|
52
|
-
onCodeHelpRequest = _React$useContext.onCodeHelpRequest;
|
|
50
|
+
materialExerciseId = _React$useContext.materialExerciseId;
|
|
53
51
|
var _React$useContext2 = React__default.default.useContext(ExerciseRunnerContext.ExerciseRunnerContext),
|
|
54
52
|
onSubmit = _React$useContext2.onSubmit,
|
|
55
53
|
onSyncRequest = _React$useContext2.onSyncRequest,
|
|
56
54
|
onCancel = _React$useContext2.onCancel;
|
|
57
55
|
var runnerWebsocketStatus = recoil.useRecoilValue(recoil$1.exerciseRunnerWebSocketStatusQuery);
|
|
58
|
-
var editorCursorSelectionValue = recoil.useRecoilValue(recoil$1.exerciseFileEditorCursorSelectionValueState);
|
|
59
56
|
var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
|
|
60
57
|
var exerciseRunType = recoil.useRecoilValue(recoil$1.exerciseRunnerRunTypeState);
|
|
61
58
|
var exerciseWithNoGrade = Boolean(exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade);
|
|
@@ -71,8 +68,6 @@ var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButto
|
|
|
71
68
|
var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
|
|
72
69
|
var arduinoUploadProgress = recoil.useRecoilValue(recoil$1.exerciseArduinoUploadProgressState);
|
|
73
70
|
var arduinoOpenedPortName = recoil.useRecoilValue(recoil$1.exerciseArduinoOpenedPortNameState);
|
|
74
|
-
// monaco editor apis
|
|
75
|
-
var exerciseMonacoEditorApis = recoil.useRecoilValue(recoil$1.exerciseMonacoEditorApisState);
|
|
76
71
|
//
|
|
77
72
|
// ========= ui states =========
|
|
78
73
|
//
|
|
@@ -224,30 +219,11 @@ var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButto
|
|
|
224
219
|
})
|
|
225
220
|
});
|
|
226
221
|
};
|
|
227
|
-
/**
|
|
228
|
-
* Code help button
|
|
229
|
-
*/
|
|
230
|
-
var renderCodeHelpRequestButton = function renderCodeHelpRequestButton() {
|
|
231
|
-
if (isRunning || !editorCursorSelectionValue || typeof onCodeHelpRequest !== 'function') {
|
|
232
|
-
return null;
|
|
233
|
-
}
|
|
234
|
-
return jsxRuntime.jsx(ExerciseRunnerControllerCodeHelpRequestButton.default, {
|
|
235
|
-
onClick: function onClick() {
|
|
236
|
-
var _a, _b, _c;
|
|
237
|
-
onCodeHelpRequest({
|
|
238
|
-
code: editorCursorSelectionValue,
|
|
239
|
-
readme: (_a = exercise === null || exercise === void 0 ? void 0 : exercise.description) !== null && _a !== void 0 ? _a : '',
|
|
240
|
-
instruction: (_b = exercise === null || exercise === void 0 ? void 0 : exercise.instructionContent) !== null && _b !== void 0 ? _b : '',
|
|
241
|
-
openFileContent: (_c = exerciseMonacoEditorApis === null || exerciseMonacoEditorApis === void 0 ? void 0 : exerciseMonacoEditorApis.getValue()) !== null && _c !== void 0 ? _c : ''
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
};
|
|
246
222
|
//
|
|
247
223
|
//
|
|
248
224
|
//
|
|
249
225
|
return jsxRuntime.jsxs(StyledControllerButtonGroup, {
|
|
250
|
-
children: [renderSubmitRunButton(), renderSubmitGradeButton(), renderCancelButton(), renderSyncRequestButton()
|
|
226
|
+
children: [renderSubmitRunButton(), renderSubmitGradeButton(), renderCancelButton(), renderSyncRequestButton()]
|
|
251
227
|
});
|
|
252
228
|
};
|
|
253
229
|
|
package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js
CHANGED
|
@@ -9,7 +9,7 @@ import { useRecoilValue } from 'recoil';
|
|
|
9
9
|
import styled from 'styled-components';
|
|
10
10
|
import 'react-use';
|
|
11
11
|
import 'socket.io-client';
|
|
12
|
-
import { exerciseRunnerWebSocketStatusQuery,
|
|
12
|
+
import { exerciseRunnerWebSocketStatusQuery, exerciseState, exerciseRunnerRunTypeState, exerciseLectureState, exerciseRunnerSubmittingState, exerciseRunnerRunningState, exerciseArduinoUploadProgressState, exerciseArduinoOpenedPortNameState } from '../context/recoil.js';
|
|
13
13
|
import { ExerciseContext } from '../context/context.js';
|
|
14
14
|
import '../context/recoilTypes.js';
|
|
15
15
|
import { exerciseFileEditorSaveAction$ } from '../context/subjects.js';
|
|
@@ -24,7 +24,6 @@ import 'lodash/debounce';
|
|
|
24
24
|
import 'random-words';
|
|
25
25
|
import 'unicount';
|
|
26
26
|
import { ExerciseRunnerContext } from './ExerciseRunnerContext.js';
|
|
27
|
-
import ExerciseRunnerControllerCodeHelpRequestButton from './ExerciseRunnerControllerCodeHelpRequestButton.js';
|
|
28
27
|
|
|
29
28
|
var StyledControllerButton = styled(Button).withConfig({
|
|
30
29
|
componentId: "sc-d9xhed-0"
|
|
@@ -39,14 +38,12 @@ var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButto
|
|
|
39
38
|
var _a;
|
|
40
39
|
var intl = useRawEliceIntl();
|
|
41
40
|
var _React$useContext = React.useContext(ExerciseContext),
|
|
42
|
-
materialExerciseId = _React$useContext.materialExerciseId
|
|
43
|
-
onCodeHelpRequest = _React$useContext.onCodeHelpRequest;
|
|
41
|
+
materialExerciseId = _React$useContext.materialExerciseId;
|
|
44
42
|
var _React$useContext2 = React.useContext(ExerciseRunnerContext),
|
|
45
43
|
onSubmit = _React$useContext2.onSubmit,
|
|
46
44
|
onSyncRequest = _React$useContext2.onSyncRequest,
|
|
47
45
|
onCancel = _React$useContext2.onCancel;
|
|
48
46
|
var runnerWebsocketStatus = useRecoilValue(exerciseRunnerWebSocketStatusQuery);
|
|
49
|
-
var editorCursorSelectionValue = useRecoilValue(exerciseFileEditorCursorSelectionValueState);
|
|
50
47
|
var exercise = useRecoilValue(exerciseState(materialExerciseId));
|
|
51
48
|
var exerciseRunType = useRecoilValue(exerciseRunnerRunTypeState);
|
|
52
49
|
var exerciseWithNoGrade = Boolean(exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade);
|
|
@@ -62,8 +59,6 @@ var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButto
|
|
|
62
59
|
var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === enums.ExerciseEnvType.Arduino;
|
|
63
60
|
var arduinoUploadProgress = useRecoilValue(exerciseArduinoUploadProgressState);
|
|
64
61
|
var arduinoOpenedPortName = useRecoilValue(exerciseArduinoOpenedPortNameState);
|
|
65
|
-
// monaco editor apis
|
|
66
|
-
var exerciseMonacoEditorApis = useRecoilValue(exerciseMonacoEditorApisState);
|
|
67
62
|
//
|
|
68
63
|
// ========= ui states =========
|
|
69
64
|
//
|
|
@@ -215,30 +210,11 @@ var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButto
|
|
|
215
210
|
})
|
|
216
211
|
});
|
|
217
212
|
};
|
|
218
|
-
/**
|
|
219
|
-
* Code help button
|
|
220
|
-
*/
|
|
221
|
-
var renderCodeHelpRequestButton = function renderCodeHelpRequestButton() {
|
|
222
|
-
if (isRunning || !editorCursorSelectionValue || typeof onCodeHelpRequest !== 'function') {
|
|
223
|
-
return null;
|
|
224
|
-
}
|
|
225
|
-
return jsx(ExerciseRunnerControllerCodeHelpRequestButton, {
|
|
226
|
-
onClick: function onClick() {
|
|
227
|
-
var _a, _b, _c;
|
|
228
|
-
onCodeHelpRequest({
|
|
229
|
-
code: editorCursorSelectionValue,
|
|
230
|
-
readme: (_a = exercise === null || exercise === void 0 ? void 0 : exercise.description) !== null && _a !== void 0 ? _a : '',
|
|
231
|
-
instruction: (_b = exercise === null || exercise === void 0 ? void 0 : exercise.instructionContent) !== null && _b !== void 0 ? _b : '',
|
|
232
|
-
openFileContent: (_c = exerciseMonacoEditorApis === null || exerciseMonacoEditorApis === void 0 ? void 0 : exerciseMonacoEditorApis.getValue()) !== null && _c !== void 0 ? _c : ''
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
};
|
|
237
213
|
//
|
|
238
214
|
//
|
|
239
215
|
//
|
|
240
216
|
return jsxs(StyledControllerButtonGroup, {
|
|
241
|
-
children: [renderSubmitRunButton(), renderSubmitGradeButton(), renderCancelButton(), renderSyncRequestButton()
|
|
217
|
+
children: [renderSubmitRunButton(), renderSubmitGradeButton(), renderCancelButton(), renderSyncRequestButton()]
|
|
242
218
|
});
|
|
243
219
|
};
|
|
244
220
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-exercise",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.240816.0-helpyrequest.0",
|
|
4
4
|
"description": "User view and editing components of Elice material exercise",
|
|
5
5
|
"repository": "https://git.elicer.io/elice/frontend/library/elice-material",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
"@elice/icons": "^1.230814.0",
|
|
84
84
|
"@elice/intl": "0.240425.0-rc.2",
|
|
85
85
|
"@elice/markdown": "^1.240124.0",
|
|
86
|
-
"@elice/material-shared-types": "1.
|
|
87
|
-
"@elice/material-shared-utils": "1.
|
|
86
|
+
"@elice/material-shared-types": "1.240816.0-helpyrequest.0",
|
|
87
|
+
"@elice/material-shared-utils": "1.240816.0-helpyrequest.0",
|
|
88
88
|
"@elice/mui-elements": "^5.231130.0",
|
|
89
89
|
"@elice/mui-system": "^5.240108.1",
|
|
90
90
|
"@elice/types": "1.240709.0",
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { ButtonProps } from '@elice/blocks';
|
|
3
|
-
type OmittedButtonProps = Omit<ButtonProps, 'size' | 'role' | 'icon' | 'iconAlign'>;
|
|
4
|
-
declare const ExerciseRunnerControllerCodeHelpRequestButton: React.ForwardRefExoticComponent<OmittedButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
-
export default ExerciseRunnerControllerCodeHelpRequestButton;
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var React = require('react');
|
|
8
|
-
var blocks = require('@elice/blocks');
|
|
9
|
-
var icons = require('@elice/icons');
|
|
10
|
-
var intl = require('@elice/intl');
|
|
11
|
-
var recoil = require('recoil');
|
|
12
|
-
var styled = require('styled-components');
|
|
13
|
-
var recoil$1 = require('../context/recoil.js');
|
|
14
|
-
require('../context/context.js');
|
|
15
|
-
require('../context/recoilTypes.js');
|
|
16
|
-
require('../context/subjects.js');
|
|
17
|
-
require('../context/ExerciseProvider.js');
|
|
18
|
-
|
|
19
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
20
|
-
|
|
21
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
22
|
-
var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
|
|
23
|
-
|
|
24
|
-
var ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY = 'elice-material-exercise-aibot-tooltip-hidden';
|
|
25
|
-
var ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE = 'true';
|
|
26
|
-
var StyledControllerButton = styled__default.default(blocks.Button).withConfig({
|
|
27
|
-
componentId: "sc-10grd0k-0"
|
|
28
|
-
})(["position:relative;transition:none;"]);
|
|
29
|
-
var ExerciseRunnerControllerCodeHelpRequestButton = React__default.default.forwardRef(function (props, ref) {
|
|
30
|
-
var intl$1 = intl.useRawEliceIntl();
|
|
31
|
-
var _React$useState = React__default.default.useState(false),
|
|
32
|
-
_React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
|
|
33
|
-
isTooltipHidden = _React$useState2[0],
|
|
34
|
-
setIsTooltipHidden = _React$useState2[1];
|
|
35
|
-
var isAibotInfoEnabled = recoil.useRecoilValue(recoil$1.exerciseAibotInfoEnableState);
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
React__default.default.useEffect(function () {
|
|
40
|
-
var isTooltipHidden = sessionStorage.getItem(ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY) === ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE;
|
|
41
|
-
if (isTooltipHidden) {
|
|
42
|
-
setIsTooltipHidden(true);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
}, []);
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
/**
|
|
50
|
-
*
|
|
51
|
-
*/
|
|
52
|
-
var renderAiBotTooltipTitle = function renderAiBotTooltipTitle() {
|
|
53
|
-
return jsxRuntime.jsxs(blocks.Flex, {
|
|
54
|
-
align: "center",
|
|
55
|
-
children: [jsxRuntime.jsx(blocks.BadgeNext, {
|
|
56
|
-
role: "red",
|
|
57
|
-
children: jsxRuntime.jsx(blocks.Text, {
|
|
58
|
-
role: "white",
|
|
59
|
-
size: "tiny",
|
|
60
|
-
bold: true,
|
|
61
|
-
children: "NEW"
|
|
62
|
-
})
|
|
63
|
-
}), jsxRuntime.jsx(blocks.Hspace, {
|
|
64
|
-
width: 0.625
|
|
65
|
-
}), jsxRuntime.jsx(blocks.Text, {
|
|
66
|
-
role: "gray9",
|
|
67
|
-
size: "small",
|
|
68
|
-
bold: true,
|
|
69
|
-
children: intl$1.formatMessage({
|
|
70
|
-
id: 'exerciseRunner.controller.buttonGroup.button.tooltip.aiHelp'
|
|
71
|
-
})
|
|
72
|
-
}), jsxRuntime.jsx(blocks.Hspace, {
|
|
73
|
-
width: 0.625
|
|
74
|
-
}), jsxRuntime.jsx(blocks.IconButton, {
|
|
75
|
-
size: "tiny",
|
|
76
|
-
role: "primary",
|
|
77
|
-
hasPadding: false,
|
|
78
|
-
border: false,
|
|
79
|
-
icon: icons.eilMathsignMultiplyBasic,
|
|
80
|
-
onClick: function onClick() {
|
|
81
|
-
sessionStorage.setItem(ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY, ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE);
|
|
82
|
-
setIsTooltipHidden(true);
|
|
83
|
-
}
|
|
84
|
-
})]
|
|
85
|
-
});
|
|
86
|
-
};
|
|
87
|
-
return isAibotInfoEnabled ? jsxRuntime.jsx(blocks.Tooltip, {
|
|
88
|
-
placement: "top",
|
|
89
|
-
dark: false,
|
|
90
|
-
visible: !isTooltipHidden,
|
|
91
|
-
title: renderAiBotTooltipTitle(),
|
|
92
|
-
children: jsxRuntime.jsx(StyledControllerButton, Object.assign({}, props, {
|
|
93
|
-
ref: ref,
|
|
94
|
-
size: "tiny",
|
|
95
|
-
role: "darkblue",
|
|
96
|
-
icon: jsxRuntime.jsx(blocks.Icon, {
|
|
97
|
-
icon: icons.eilArrowRightwardsBasic
|
|
98
|
-
}),
|
|
99
|
-
iconAlign: "right",
|
|
100
|
-
children: intl$1.formatMessage({
|
|
101
|
-
id: 'exerciseRunner.controller.buttonGroup.button.helpRequest'
|
|
102
|
-
})
|
|
103
|
-
}))
|
|
104
|
-
}) : null;
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
exports.default = ExerciseRunnerControllerCodeHelpRequestButton;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { ButtonProps } from '@elice/blocks';
|
|
3
|
-
type OmittedButtonProps = Omit<ButtonProps, 'size' | 'role' | 'icon' | 'iconAlign'>;
|
|
4
|
-
declare const ExerciseRunnerControllerCodeHelpRequestButton: React.ForwardRefExoticComponent<OmittedButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
-
export default ExerciseRunnerControllerCodeHelpRequestButton;
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { Button, Tooltip, Icon, Flex, BadgeNext, Text, Hspace, IconButton } from '@elice/blocks';
|
|
5
|
-
import { eilArrowRightwardsBasic, eilMathsignMultiplyBasic } from '@elice/icons';
|
|
6
|
-
import { useRawEliceIntl } from '@elice/intl';
|
|
7
|
-
import { useRecoilValue } from 'recoil';
|
|
8
|
-
import styled from 'styled-components';
|
|
9
|
-
import { exerciseAibotInfoEnableState } from '../context/recoil.js';
|
|
10
|
-
import '../context/context.js';
|
|
11
|
-
import '../context/recoilTypes.js';
|
|
12
|
-
import '../context/subjects.js';
|
|
13
|
-
import '../context/ExerciseProvider.js';
|
|
14
|
-
|
|
15
|
-
var ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY = 'elice-material-exercise-aibot-tooltip-hidden';
|
|
16
|
-
var ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE = 'true';
|
|
17
|
-
var StyledControllerButton = styled(Button).withConfig({
|
|
18
|
-
componentId: "sc-10grd0k-0"
|
|
19
|
-
})(["position:relative;transition:none;"]);
|
|
20
|
-
var ExerciseRunnerControllerCodeHelpRequestButton = React.forwardRef(function (props, ref) {
|
|
21
|
-
var intl = useRawEliceIntl();
|
|
22
|
-
var _React$useState = React.useState(false),
|
|
23
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
24
|
-
isTooltipHidden = _React$useState2[0],
|
|
25
|
-
setIsTooltipHidden = _React$useState2[1];
|
|
26
|
-
var isAibotInfoEnabled = useRecoilValue(exerciseAibotInfoEnableState);
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
React.useEffect(function () {
|
|
31
|
-
var isTooltipHidden = sessionStorage.getItem(ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY) === ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE;
|
|
32
|
-
if (isTooltipHidden) {
|
|
33
|
-
setIsTooltipHidden(true);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
}, []);
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
*/
|
|
43
|
-
var renderAiBotTooltipTitle = function renderAiBotTooltipTitle() {
|
|
44
|
-
return jsxs(Flex, {
|
|
45
|
-
align: "center",
|
|
46
|
-
children: [jsx(BadgeNext, {
|
|
47
|
-
role: "red",
|
|
48
|
-
children: jsx(Text, {
|
|
49
|
-
role: "white",
|
|
50
|
-
size: "tiny",
|
|
51
|
-
bold: true,
|
|
52
|
-
children: "NEW"
|
|
53
|
-
})
|
|
54
|
-
}), jsx(Hspace, {
|
|
55
|
-
width: 0.625
|
|
56
|
-
}), jsx(Text, {
|
|
57
|
-
role: "gray9",
|
|
58
|
-
size: "small",
|
|
59
|
-
bold: true,
|
|
60
|
-
children: intl.formatMessage({
|
|
61
|
-
id: 'exerciseRunner.controller.buttonGroup.button.tooltip.aiHelp'
|
|
62
|
-
})
|
|
63
|
-
}), jsx(Hspace, {
|
|
64
|
-
width: 0.625
|
|
65
|
-
}), jsx(IconButton, {
|
|
66
|
-
size: "tiny",
|
|
67
|
-
role: "primary",
|
|
68
|
-
hasPadding: false,
|
|
69
|
-
border: false,
|
|
70
|
-
icon: eilMathsignMultiplyBasic,
|
|
71
|
-
onClick: function onClick() {
|
|
72
|
-
sessionStorage.setItem(ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_KEY, ELICE_MATERIAL_EXERCISE_AI_BOT_TOOLTIP_VALUE);
|
|
73
|
-
setIsTooltipHidden(true);
|
|
74
|
-
}
|
|
75
|
-
})]
|
|
76
|
-
});
|
|
77
|
-
};
|
|
78
|
-
return isAibotInfoEnabled ? jsx(Tooltip, {
|
|
79
|
-
placement: "top",
|
|
80
|
-
dark: false,
|
|
81
|
-
visible: !isTooltipHidden,
|
|
82
|
-
title: renderAiBotTooltipTitle(),
|
|
83
|
-
children: jsx(StyledControllerButton, Object.assign({}, props, {
|
|
84
|
-
ref: ref,
|
|
85
|
-
size: "tiny",
|
|
86
|
-
role: "darkblue",
|
|
87
|
-
icon: jsx(Icon, {
|
|
88
|
-
icon: eilArrowRightwardsBasic
|
|
89
|
-
}),
|
|
90
|
-
iconAlign: "right",
|
|
91
|
-
children: intl.formatMessage({
|
|
92
|
-
id: 'exerciseRunner.controller.buttonGroup.button.helpRequest'
|
|
93
|
-
})
|
|
94
|
-
}))
|
|
95
|
-
}) : null;
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
export { ExerciseRunnerControllerCodeHelpRequestButton as default };
|