@elice/material-exercise 1.260429.0-improvetimerpopoverui.0 → 1.260430.1
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/context/index.js +0 -7
- package/cjs/components/material-exercise/context/recoil.d.ts +0 -44
- package/cjs/components/material-exercise/context/recoil.js +0 -108
- package/cjs/components/material-exercise/context/recoilTypes.d.ts +0 -7
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +1 -18
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +2 -4
- package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +27 -57
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +34 -7
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.d.ts +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +13 -219
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +2 -2
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionCancel.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionCancel.js +44 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionGrade.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionGrade.js +68 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionRun.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionRun.js +54 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.js +44 -0
- package/cjs/components/material-exercise/exercise-runner/action/index.d.ts +5 -0
- package/cjs/components/material-exercise/exercise-runner/action/index.js +15 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionCancel.d.ts +14 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionCancel.js +52 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionGrade.d.ts +16 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionGrade.js +74 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionRun.d.ts +14 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionRun.js +65 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.d.ts +15 -0
- package/cjs/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.js +68 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.js +156 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.js +188 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.js +132 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.js +88 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.js +103 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.js +24 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.js +201 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.js +125 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.js +179 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.js +29 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.js +94 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProvider.d.ts +16 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProvider.js +105 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.d.ts +12 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.js +94 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.d.ts +7 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.js +95 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.d.ts +7 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.js +70 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/_context.d.ts +35 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/_context.js +18 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/index.d.ts +6 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/index.js +13 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.d.ts +9 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.js +38 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.d.ts +10 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.js +33 -0
- package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/locales/ja.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/locales/th.json.js +1 -1
- package/cjs/components/shared/monaco-editor/utils/prettier/config.d.ts +1 -1
- package/cjs/components/shared/monaco-editor/utils/prettier/config.js +1 -1
- package/cjs/hooks/index.d.ts +0 -1
- package/cjs/hooks/index.js +0 -2
- package/es/components/material-exercise/context/index.js +1 -1
- package/es/components/material-exercise/context/recoil.d.ts +0 -44
- package/es/components/material-exercise/context/recoil.js +1 -102
- package/es/components/material-exercise/context/recoilTypes.d.ts +0 -7
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.d.ts +1 -1
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +2 -18
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +3 -3
- package/es/components/material-exercise/exercise-menu/locales/en.json.js +1 -1
- package/es/components/material-exercise/exercise-menu/locales/ko.json.js +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +28 -58
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +34 -7
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.d.ts +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +13 -214
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.d.ts +2 -2
- package/es/components/material-exercise/exercise-runner/action/ControllerActionCancel.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionCancel.js +40 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionGrade.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionGrade.js +64 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionRun.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionRun.js +50 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionSyncRequest.js +40 -0
- package/es/components/material-exercise/exercise-runner/action/index.d.ts +5 -0
- package/es/components/material-exercise/exercise-runner/action/index.js +5 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionCancel.d.ts +14 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionCancel.js +46 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionGrade.d.ts +16 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionGrade.js +68 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionRun.d.ts +14 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionRun.js +59 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.d.ts +15 -0
- package/es/components/material-exercise/exercise-runner/action/useControllerActionSyncRequest.js +62 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialog.js +141 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogNativeMock.js +177 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoConnectionGuideDialogSteps.js +122 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.js +80 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.js +95 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerButtonGroup.js +20 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerStatusMessage.js +197 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoErrorDialog.js +112 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialog.js +161 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogButton.js +25 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoHelpDialogChecklist.js +84 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProvider.d.ts +16 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProvider.js +97 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.d.ts +12 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderApiBinder.js +86 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.d.ts +7 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderFlashWriter.js +87 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.d.ts +7 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoProviderSessionWriter.js +62 -0
- package/es/components/material-exercise/exercise-runner/arduino/_context.d.ts +35 -0
- package/es/components/material-exercise/exercise-runner/arduino/_context.js +15 -0
- package/es/components/material-exercise/exercise-runner/arduino/index.d.ts +6 -0
- package/es/components/material-exercise/exercise-runner/arduino/index.js +4 -0
- package/es/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.d.ts +9 -0
- package/es/components/material-exercise/exercise-runner/arduino/useArduinoRunIntent.js +32 -0
- package/es/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.d.ts +10 -0
- package/es/components/material-exercise/exercise-runner/arduino/useArduinoTerminalWriter.js +27 -0
- package/es/components/material-exercise/exercise-runner/locales/en.json.js +1 -1
- package/es/components/material-exercise/exercise-runner/locales/ja.json.js +1 -1
- package/es/components/material-exercise/exercise-runner/locales/ko.json.js +1 -1
- package/es/components/material-exercise/exercise-runner/locales/th.json.js +1 -1
- package/es/components/shared/monaco-editor/utils/prettier/config.d.ts +1 -1
- package/es/components/shared/monaco-editor/utils/prettier/config.js +1 -1
- package/es/hooks/index.d.ts +0 -1
- package/es/hooks/index.js +0 -1
- package/package.json +15 -11
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +0 -3
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -33
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.d.ts +0 -3
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +0 -178
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.d.ts +0 -3
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +0 -169
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +0 -3
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +0 -120
- package/cjs/constants/arduino.d.ts +0 -35
- package/cjs/constants/arduino.js +0 -73
- package/cjs/hooks/useArduino.d.ts +0 -14
- package/cjs/hooks/useArduino.js +0 -589
- package/cjs/typings/arduino.d.ts +0 -77
- package/cjs/utils/arduino.d.ts +0 -43
- package/cjs/utils/arduino.js +0 -82
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.d.ts +0 -3
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +0 -29
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.d.ts +0 -3
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +0 -170
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.d.ts +0 -3
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +0 -161
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.d.ts +0 -3
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +0 -112
- package/es/constants/arduino.d.ts +0 -35
- package/es/constants/arduino.js +0 -62
- package/es/hooks/useArduino.d.ts +0 -14
- package/es/hooks/useArduino.js +0 -583
- package/es/typings/arduino.d.ts +0 -77
- package/es/utils/arduino.d.ts +0 -43
- package/es/utils/arduino.js +0 -75
|
@@ -10,13 +10,6 @@ var ExerciseProvider = require('./ExerciseProvider.js');
|
|
|
10
10
|
|
|
11
11
|
exports.exerciseActiveFilenameState = recoil.exerciseActiveFilenameState;
|
|
12
12
|
exports.exerciseAibotInfoEnableState = recoil.exerciseAibotInfoEnableState;
|
|
13
|
-
exports.exerciseArduinoAgentConnectionState = recoil.exerciseArduinoAgentConnectionState;
|
|
14
|
-
exports.exerciseArduinoAgentModalState = recoil.exerciseArduinoAgentModalState;
|
|
15
|
-
exports.exerciseArduinoOnSelectPortState = recoil.exerciseArduinoOnSelectPortState;
|
|
16
|
-
exports.exerciseArduinoOpenedPortNameState = recoil.exerciseArduinoOpenedPortNameState;
|
|
17
|
-
exports.exerciseArduinoPortsState = recoil.exerciseArduinoPortsState;
|
|
18
|
-
exports.exerciseArduinoPreferenceState = recoil.exerciseArduinoPreferenceState;
|
|
19
|
-
exports.exerciseArduinoUploadProgressState = recoil.exerciseArduinoUploadProgressState;
|
|
20
13
|
exports.exerciseContainerSizeState = recoil.exerciseContainerSizeState;
|
|
21
14
|
exports.exerciseEditorPreferenceState = recoil.exerciseEditorPreferenceState;
|
|
22
15
|
exports.exerciseFileEditorCursorSelectionValueState = recoil.exerciseFileEditorCursorSelectionValueState;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ExercisePreviewDisplayMode, ExercisePreviewType } from './recoilTypes';
|
|
2
2
|
import type { MonacoEditorApis } from "../../shared/monaco-editor";
|
|
3
|
-
import type { ArduinoAgentConnectionStatus, ArduinoUploadProgressStatus } from "../../../typings/arduino";
|
|
4
3
|
import type { AtomContainerSizeState, AtomExerciseRoomState, AtomExerciseState, AtomFileEditorCursorState, AtomLectureState, AtomMultilangEnvironmentJson, AtomMultilangEnvironmentState, AtomRunnerRoomConnectionInfoState, AtomRunnerRunTypeState, AtomRunnerStdioFilesState, AtomUserState, AtomVisibilityState, AtomWebSocketStateKey, AtomWebSocketStates } from './recoilTypes';
|
|
5
4
|
/**
|
|
6
5
|
* Lecture.
|
|
@@ -84,49 +83,6 @@ export declare const exerciseMultilangEnvironmentState: (param: {
|
|
|
84
83
|
materialExerciseId: number;
|
|
85
84
|
exerciseRoomId: number;
|
|
86
85
|
}) => import("recoil").RecoilState<AtomMultilangEnvironmentJson>;
|
|
87
|
-
/**
|
|
88
|
-
* Arduino preference.
|
|
89
|
-
*/
|
|
90
|
-
export declare const exerciseArduinoPreferenceState: import("recoil").RecoilState<Required<{
|
|
91
|
-
baudRate: number;
|
|
92
|
-
port: string;
|
|
93
|
-
}>>;
|
|
94
|
-
/**
|
|
95
|
-
* Arduino ports.
|
|
96
|
-
*/
|
|
97
|
-
export declare const exerciseArduinoPortsState: import("recoil").RecoilState<{
|
|
98
|
-
Name: string;
|
|
99
|
-
SerialNumber: string;
|
|
100
|
-
DeviceClass: string;
|
|
101
|
-
IsOpen: boolean;
|
|
102
|
-
IsPrimary: boolean;
|
|
103
|
-
Baud: number;
|
|
104
|
-
BufferAlgorithm: string;
|
|
105
|
-
Ver: string;
|
|
106
|
-
NetworkPort: boolean;
|
|
107
|
-
VendorID: string;
|
|
108
|
-
ProductID: string;
|
|
109
|
-
}[]>;
|
|
110
|
-
/**
|
|
111
|
-
* Opened arduino port.
|
|
112
|
-
*/
|
|
113
|
-
export declare const exerciseArduinoOpenedPortNameState: import("recoil").RecoilState<string | null>;
|
|
114
|
-
/**
|
|
115
|
-
* Arduino port open handler.
|
|
116
|
-
*/
|
|
117
|
-
export declare const exerciseArduinoOnSelectPortState: import("recoil").RecoilState<(name: string) => void>;
|
|
118
|
-
/**
|
|
119
|
-
* Arduino agent connection status.
|
|
120
|
-
*/
|
|
121
|
-
export declare const exerciseArduinoAgentConnectionState: import("recoil").RecoilState<ArduinoAgentConnectionStatus>;
|
|
122
|
-
/**
|
|
123
|
-
* Arduino upload progress.
|
|
124
|
-
*/
|
|
125
|
-
export declare const exerciseArduinoUploadProgressState: import("recoil").RecoilState<ArduinoUploadProgressStatus>;
|
|
126
|
-
/**
|
|
127
|
-
* Arduino agent modal open status.
|
|
128
|
-
*/
|
|
129
|
-
export declare const exerciseArduinoAgentModalState: import("recoil").RecoilState<boolean>;
|
|
130
86
|
/**
|
|
131
87
|
*
|
|
132
88
|
*/
|
|
@@ -654,107 +654,6 @@ var exerciseMultilangEnvironmentState = recoil.atomFamily({
|
|
|
654
654
|
}
|
|
655
655
|
});
|
|
656
656
|
//
|
|
657
|
-
// =============== arduino ===============
|
|
658
|
-
//
|
|
659
|
-
var ARDUINO_ACCOUNT_PREFERENCE_KEY = 'material.exercise.arduino.preference';
|
|
660
|
-
var DEFAULT_ARDUINO_PREFERENCE = {
|
|
661
|
-
baudRate: 9600,
|
|
662
|
-
port: ''
|
|
663
|
-
};
|
|
664
|
-
/**
|
|
665
|
-
* Arduino preference.
|
|
666
|
-
*/
|
|
667
|
-
var exerciseArduinoPreferenceState = recoil.atom({
|
|
668
|
-
key: "".concat(KEY_PREFIX, "/Arduino/Preference"),
|
|
669
|
-
"default": DEFAULT_ARDUINO_PREFERENCE,
|
|
670
|
-
effects: [function (_ref26) {
|
|
671
|
-
var trigger = _ref26.trigger,
|
|
672
|
-
setSelf = _ref26.setSelf,
|
|
673
|
-
onSet = _ref26.onSet;
|
|
674
|
-
var get = /*#__PURE__*/function () {
|
|
675
|
-
var _ref27 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee1() {
|
|
676
|
-
var _t8;
|
|
677
|
-
return _rollupPluginBabelHelpers.regenerator().w(function (_context1) {
|
|
678
|
-
while (1) switch (_context1.n) {
|
|
679
|
-
case 0:
|
|
680
|
-
_t8 = setSelf;
|
|
681
|
-
_context1.n = 1;
|
|
682
|
-
return apiClient.getGlobalAccountPreferenceGet({
|
|
683
|
-
pkey: ARDUINO_ACCOUNT_PREFERENCE_KEY
|
|
684
|
-
}).then(function (res) {
|
|
685
|
-
return Object.assign(Object.assign({}, DEFAULT_ARDUINO_PREFERENCE), res.pvalue);
|
|
686
|
-
})["catch"](function () {
|
|
687
|
-
return DEFAULT_ARDUINO_PREFERENCE;
|
|
688
|
-
});
|
|
689
|
-
case 1:
|
|
690
|
-
_t8(_context1.v);
|
|
691
|
-
case 2:
|
|
692
|
-
return _context1.a(2);
|
|
693
|
-
}
|
|
694
|
-
}, _callee1);
|
|
695
|
-
}));
|
|
696
|
-
return function get() {
|
|
697
|
-
return _ref27.apply(this, arguments);
|
|
698
|
-
};
|
|
699
|
-
}();
|
|
700
|
-
if (trigger === 'get') {
|
|
701
|
-
void get();
|
|
702
|
-
}
|
|
703
|
-
onSet(function (newPreference, prevPreference, isReset) {
|
|
704
|
-
if (!isEqual__default.default(newPreference, prevPreference) && !isReset) {
|
|
705
|
-
void apiClient.postGlobalAccountPreferenceEdit({
|
|
706
|
-
pkey: ARDUINO_ACCOUNT_PREFERENCE_KEY,
|
|
707
|
-
pvalue: Object.assign(Object.assign({}, DEFAULT_ARDUINO_PREFERENCE), newPreference)
|
|
708
|
-
});
|
|
709
|
-
}
|
|
710
|
-
});
|
|
711
|
-
}]
|
|
712
|
-
});
|
|
713
|
-
/**
|
|
714
|
-
* Arduino ports.
|
|
715
|
-
*/
|
|
716
|
-
var exerciseArduinoPortsState = recoil.atom({
|
|
717
|
-
key: "".concat(KEY_PREFIX, "/Arduino/Ports"),
|
|
718
|
-
"default": []
|
|
719
|
-
});
|
|
720
|
-
/**
|
|
721
|
-
* Opened arduino port.
|
|
722
|
-
*/
|
|
723
|
-
var exerciseArduinoOpenedPortNameState = recoil.atom({
|
|
724
|
-
key: "".concat(KEY_PREFIX, "/Arduino/OpenedPortName"),
|
|
725
|
-
"default": null
|
|
726
|
-
});
|
|
727
|
-
/**
|
|
728
|
-
* Arduino port open handler.
|
|
729
|
-
*/
|
|
730
|
-
var exerciseArduinoOnSelectPortState = recoil.atom({
|
|
731
|
-
key: "".concat(KEY_PREFIX, "/Arduino/OnSelectPort"),
|
|
732
|
-
"default": function _default(_) {
|
|
733
|
-
// do nothing.
|
|
734
|
-
}
|
|
735
|
-
});
|
|
736
|
-
/**
|
|
737
|
-
* Arduino agent connection status.
|
|
738
|
-
*/
|
|
739
|
-
var exerciseArduinoAgentConnectionState = recoil.atom({
|
|
740
|
-
key: "".concat(KEY_PREFIX, "/Arduino/AgentConnection"),
|
|
741
|
-
"default": 'disconnected'
|
|
742
|
-
});
|
|
743
|
-
/**
|
|
744
|
-
* Arduino upload progress.
|
|
745
|
-
*/
|
|
746
|
-
var exerciseArduinoUploadProgressState = recoil.atom({
|
|
747
|
-
key: "".concat(KEY_PREFIX, "/Arduino/UploadProgressState"),
|
|
748
|
-
"default": 'ready'
|
|
749
|
-
});
|
|
750
|
-
/**
|
|
751
|
-
* Arduino agent modal open status.
|
|
752
|
-
*/
|
|
753
|
-
var exerciseArduinoAgentModalState = recoil.atom({
|
|
754
|
-
key: "".concat(KEY_PREFIX, "/Arduino/AgentModalState"),
|
|
755
|
-
"default": false
|
|
756
|
-
});
|
|
757
|
-
//
|
|
758
657
|
// =============== others ===============
|
|
759
658
|
//
|
|
760
659
|
/**
|
|
@@ -816,13 +715,6 @@ var exerciseMonacoEditorApisState = recoil.atom({
|
|
|
816
715
|
|
|
817
716
|
exports.exerciseActiveFilenameState = exerciseActiveFilenameState;
|
|
818
717
|
exports.exerciseAibotInfoEnableState = exerciseAibotInfoEnableState;
|
|
819
|
-
exports.exerciseArduinoAgentConnectionState = exerciseArduinoAgentConnectionState;
|
|
820
|
-
exports.exerciseArduinoAgentModalState = exerciseArduinoAgentModalState;
|
|
821
|
-
exports.exerciseArduinoOnSelectPortState = exerciseArduinoOnSelectPortState;
|
|
822
|
-
exports.exerciseArduinoOpenedPortNameState = exerciseArduinoOpenedPortNameState;
|
|
823
|
-
exports.exerciseArduinoPortsState = exerciseArduinoPortsState;
|
|
824
|
-
exports.exerciseArduinoPreferenceState = exerciseArduinoPreferenceState;
|
|
825
|
-
exports.exerciseArduinoUploadProgressState = exerciseArduinoUploadProgressState;
|
|
826
718
|
exports.exerciseContainerSizeState = exerciseContainerSizeState;
|
|
827
719
|
exports.exerciseEditorPreferenceState = exerciseEditorPreferenceState;
|
|
828
720
|
exports.exerciseFileEditorCursorSelectionValueState = exerciseFileEditorCursorSelectionValueState;
|
|
@@ -76,13 +76,6 @@ export type AtomMultilangEnvironmentJson = MultilangEnvironmentJson | null;
|
|
|
76
76
|
* - `MultilangLanguagesJson`: Ready.
|
|
77
77
|
*/
|
|
78
78
|
export type AtomMultilangEnvironmentState = MultilangLanguagesJson | undefined | null;
|
|
79
|
-
/**
|
|
80
|
-
* Arduino preference.
|
|
81
|
-
*/
|
|
82
|
-
export type AtomArduinoPreferenceState = Required<{
|
|
83
|
-
baudRate: number;
|
|
84
|
-
port: string;
|
|
85
|
-
}>;
|
|
86
79
|
/**
|
|
87
80
|
*
|
|
88
81
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import type { WithIntlComponentBuilderProps as EliceIntlProps } from '@elice/intl';
|
|
2
|
+
import type React from 'react';
|
|
3
3
|
declare const _default: React.ForwardRefExoticComponent<Omit<import("@elice/intl").IntlComponentExtraProps & Omit<EliceIntlProps, keyof import("@elice/intl").IntlComponentExtraProps | "__intl">, "ref"> & React.RefAttributes<any>>;
|
|
4
4
|
export default _default;
|
|
@@ -4,44 +4,27 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _styled = require('@emotion/styled/base');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
var React = require('react');
|
|
8
7
|
var designTokens = require('@elice/design-tokens');
|
|
9
8
|
var intl = require('@elice/intl');
|
|
10
|
-
var types = require('@elice/types');
|
|
11
|
-
var recoil = require('recoil');
|
|
12
|
-
var ExerciseMenuArduinoAgentModalButton = require('./ExerciseMenuArduinoAgentModalButton.js');
|
|
13
|
-
var ExerciseMenuArduinoSettings = require('./ExerciseMenuArduinoSettings.js');
|
|
14
9
|
var ExerciseMenuDropdown = require('./ExerciseMenuDropdown.js');
|
|
15
10
|
var ExerciseMenuReset = require('./ExerciseMenuReset.js');
|
|
16
11
|
var ExerciseMenuStdioFileBrowser = require('./ExerciseMenuStdioFileBrowser.js');
|
|
17
12
|
var en = require('./locales/en.json.js');
|
|
18
13
|
var ko = require('./locales/ko.json.js');
|
|
19
|
-
var context = require('../context/context.js');
|
|
20
|
-
var recoil$1 = require('../context/recoil.js');
|
|
21
14
|
|
|
22
15
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
23
16
|
|
|
24
17
|
var _styled__default = /*#__PURE__*/_interopDefaultCompat(_styled);
|
|
25
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
26
18
|
|
|
27
19
|
var StyledExerciseMenuWrapper = /*#__PURE__*/_styled__default.default("div", {
|
|
28
20
|
target: "e16oipg60"
|
|
29
21
|
})("display:flex;justify-content:center;align-items:center;padding:0 0.5rem 0 1rem;height:2.25rem;gap:0.5rem;background-color:", designTokens.base.color.navy8, ";");
|
|
30
22
|
var ExerciseMenu = function ExerciseMenu(_ref) {
|
|
31
23
|
var __intl = _ref.__intl;
|
|
32
|
-
var _React$useContext = React__default.default.useContext(context.ExerciseContext),
|
|
33
|
-
materialExerciseId = _React$useContext.materialExerciseId;
|
|
34
|
-
var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
|
|
35
|
-
var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
24
|
return jsxRuntime.jsx(intl.RawEliceIntlProvider, {
|
|
40
25
|
value: __intl,
|
|
41
26
|
children: jsxRuntime.jsxs(StyledExerciseMenuWrapper, {
|
|
42
|
-
children: [
|
|
43
|
-
children: [jsxRuntime.jsx(ExerciseMenuArduinoAgentModalButton.default, {}), jsxRuntime.jsx(ExerciseMenuArduinoSettings.default, {})]
|
|
44
|
-
}) : jsxRuntime.jsx(ExerciseMenuStdioFileBrowser.default, {}), jsxRuntime.jsx(ExerciseMenuReset.default, {}), jsxRuntime.jsx(ExerciseMenuDropdown.default, {})]
|
|
27
|
+
children: [jsxRuntime.jsx(ExerciseMenuStdioFileBrowser.default, {}), jsxRuntime.jsx(ExerciseMenuReset.default, {}), jsxRuntime.jsx(ExerciseMenuDropdown.default, {})]
|
|
45
28
|
})
|
|
46
29
|
});
|
|
47
30
|
};
|
package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js
CHANGED
|
@@ -74,7 +74,7 @@ var StyledFilePopoverBodyListItemContentImage = /*#__PURE__*/_styled__default.de
|
|
|
74
74
|
styles: "width:100%;max-height:128px;object-fit:contain;cursor:zoom-in",
|
|
75
75
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
76
76
|
});
|
|
77
|
-
|
|
77
|
+
/*#__PURE__*/_styled__default.default("div", {
|
|
78
78
|
target: "e8nx2or1"
|
|
79
79
|
})("production" === "production" ? {
|
|
80
80
|
name: "10vug81",
|
|
@@ -84,7 +84,7 @@ var StyledPreferenceBodyItem = /*#__PURE__*/_styled__default.default("div", {
|
|
|
84
84
|
styles: "display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;min-height:2rem;color:white;&:last-child{margin-bottom:0;}",
|
|
85
85
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
86
86
|
});
|
|
87
|
-
|
|
87
|
+
/*#__PURE__*/_styled__default.default(blocks.Select, {
|
|
88
88
|
target: "e8nx2or0"
|
|
89
89
|
})(">div{background:", designTokens.base.color.navy8, "!important;border-color:", designTokens.base.color.navy7, "!important;}select{padding:0!important;height:2rem!important;color:#fff!important;>option{background:", designTokens.base.color.navy8, "!important;}}");
|
|
90
90
|
|
|
@@ -98,5 +98,3 @@ exports.StyledFilePopoverBodyListItemDownloadButton = StyledFilePopoverBodyListI
|
|
|
98
98
|
exports.StyledFilePopoverContent = StyledFilePopoverContent;
|
|
99
99
|
exports.StyledFilePopoverHeader = StyledFilePopoverHeader;
|
|
100
100
|
exports.StyledMenuButtonFileCount = StyledMenuButtonFileCount;
|
|
101
|
-
exports.StyledPreferenceBodyItem = StyledPreferenceBodyItem;
|
|
102
|
-
exports.StyledSelect = StyledSelect;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var messageEn = {"exerciseMenu.dropdown.button.tooltip":"More","exerciseMenu.dropdown.item.codeHistory":"Code Revision History","exerciseMenu.dropdown.item.environment":"Environment","exerciseMenu.dropdown.item.preference":"Editor Preferences","exerciseMenu.dropdown.item.room":"Code Sharing","exerciseMenu.dropdown.item.submitHistory":"Execution/Submission History","exerciseMenu.arduino.
|
|
5
|
+
var messageEn = {"exerciseMenu.dropdown.button.tooltip":"More","exerciseMenu.dropdown.item.codeHistory":"Code Revision History","exerciseMenu.dropdown.item.environment":"Environment","exerciseMenu.dropdown.item.preference":"Editor Preferences","exerciseMenu.dropdown.item.room":"Code Sharing","exerciseMenu.dropdown.item.submitHistory":"Execution/Submission History","exerciseMenu.arduino.setting":"Arduino Setting","exerciseMenu.arduino.transferSpeed":"Transfer speed","exerciseMenu.reset.button.tooltip.disabled":"The file cannot be reset","exerciseMenu.reset.button.tooltip.enabled":"Reset the file","exerciseMenu.reset.confirmDialog.body":"Are you sure you want to clear all the code you wrote at current file and reset it?","exerciseMenu.reset.confirmDialog.cancel":"Cancel","exerciseMenu.reset.confirmDialog.confirm":"Confirm","exerciseMenu.reset.confirmDialog.title":"Reset the file","exerciseMenu.stdioFileBrowser.button.tooltip":"File","exerciseMenu.stdioFileBrowser.popover.body.placeholder":"Files sent from your code\nappear here.","exerciseMenu.stdioFileBrowser.popover.header":"File"};
|
|
6
6
|
|
|
7
7
|
exports.default = messageEn;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var messageKo = {"exerciseMenu.dropdown.button.tooltip":"더 보기","exerciseMenu.dropdown.item.codeHistory":"코드 수정 이력","exerciseMenu.dropdown.item.environment":"실습 환경","exerciseMenu.dropdown.item.preference":"에디터 설정","exerciseMenu.dropdown.item.room":"코드 공유","exerciseMenu.dropdown.item.submitHistory":"실행/제출 이력","exerciseMenu.arduino.
|
|
5
|
+
var messageKo = {"exerciseMenu.dropdown.button.tooltip":"더 보기","exerciseMenu.dropdown.item.codeHistory":"코드 수정 이력","exerciseMenu.dropdown.item.environment":"실습 환경","exerciseMenu.dropdown.item.preference":"에디터 설정","exerciseMenu.dropdown.item.room":"코드 공유","exerciseMenu.dropdown.item.submitHistory":"실행/제출 이력","exerciseMenu.arduino.setting":"아두이노 세팅","exerciseMenu.arduino.transferSpeed":"전송 속도","exerciseMenu.reset.button.tooltip.disabled":"해당 파일은 초기화를 할 수 없습니다","exerciseMenu.reset.button.tooltip.enabled":"코드 초기화","exerciseMenu.reset.confirmDialog.body":"작성한 코드를 모두 지우고 초기화하시겠습니까?","exerciseMenu.reset.confirmDialog.cancel":"취소","exerciseMenu.reset.confirmDialog.confirm":"확인","exerciseMenu.reset.confirmDialog.title":"코드 초기화","exerciseMenu.stdioFileBrowser.button.tooltip":"파일","exerciseMenu.stdioFileBrowser.popover.body.placeholder":"코드에서 전송한 파일이\n여기에 표시됩니다.","exerciseMenu.stdioFileBrowser.popover.header":"파일"};
|
|
6
6
|
|
|
7
7
|
exports.default = messageKo;
|
|
@@ -6,7 +6,6 @@ var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHel
|
|
|
6
6
|
var _styled = require('@emotion/styled/base');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
var React = require('react');
|
|
9
|
-
var reactUse = require('react-use');
|
|
10
9
|
var apiClient = require('@elice/api-client');
|
|
11
10
|
var blocks = require('@elice/blocks');
|
|
12
11
|
var designTokens = require('@elice/design-tokens');
|
|
@@ -20,10 +19,10 @@ var ExerciseRunnerController = require('./ExerciseRunnerController.js');
|
|
|
20
19
|
var en = require('./locales/en.json.js');
|
|
21
20
|
var ko = require('./locales/ko.json.js');
|
|
22
21
|
var recoil$1 = require('../context/recoil.js');
|
|
23
|
-
var useArduino = require('../../../hooks/useArduino.js');
|
|
24
22
|
var useRunnerRoomWebSocket = require('../../../hooks/useRunnerRoomWebSocket.js');
|
|
25
23
|
var useStdioWebSocket = require('../../../hooks/useStdioWebSocket.js');
|
|
26
24
|
var subjects = require('../context/subjects.js');
|
|
25
|
+
var ArduinoProvider = require('./arduino/ArduinoProvider.js');
|
|
27
26
|
var XtermLazy = require('../../shared/xterm/XtermLazy.js');
|
|
28
27
|
var async = require('../../../utils/async.js');
|
|
29
28
|
var runner = require('../../../utils/runner.js');
|
|
@@ -111,26 +110,8 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
111
110
|
var arduinoTextBuffer = React__default.default.useRef('');
|
|
112
111
|
var runnerRunTypeRef = React__default.default.useRef(runnerRunTypeState);
|
|
113
112
|
var xterm = React__default.default.useRef(null);
|
|
114
|
-
|
|
115
|
-
* Handle text received from arduino serial output.
|
|
116
|
-
*/
|
|
117
|
-
var handleArduinoDigitalOutput = function handleArduinoDigitalOutput(text) {
|
|
118
|
-
var _a;
|
|
119
|
-
(_a = xterm.current) === null || _a === void 0 ? void 0 : _a.write(text);
|
|
120
|
-
};
|
|
121
|
-
// Arduino
|
|
122
|
-
var arduino = useArduino.useArduino({
|
|
123
|
-
writeTerminal: handleArduinoDigitalOutput
|
|
124
|
-
});
|
|
113
|
+
var arduinoBridgeApi = React__default.default.useRef(null);
|
|
125
114
|
var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
|
|
126
|
-
/**
|
|
127
|
-
* Handle destroy arduino client.
|
|
128
|
-
*/
|
|
129
|
-
var handleArduinoDistroy = React__default.default.useCallback(function () {
|
|
130
|
-
if (isArduinoExercise) {
|
|
131
|
-
arduino.destroy();
|
|
132
|
-
}
|
|
133
|
-
}, [isArduinoExercise, arduino]);
|
|
134
115
|
/**
|
|
135
116
|
* Handle text received from stdio websocket.
|
|
136
117
|
*/
|
|
@@ -153,10 +134,11 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
153
134
|
* Handle file received from stdio websocket.
|
|
154
135
|
*/
|
|
155
136
|
var handleWsStdioFileReceive = function handleWsStdioFileReceive(stdioFile) {
|
|
137
|
+
var _a;
|
|
156
138
|
// arduino exercise
|
|
157
139
|
if (isArduinoExercise) {
|
|
158
140
|
if ('filename' in stdioFile && stdioFile.filename.startsWith('firmware') && stdioFile.filename.endsWith('hex')) {
|
|
159
|
-
|
|
141
|
+
(_a = arduinoBridgeApi.current) === null || _a === void 0 ? void 0 : _a.handleIncomingHex(stdioFile.data);
|
|
160
142
|
}
|
|
161
143
|
return;
|
|
162
144
|
}
|
|
@@ -416,7 +398,7 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
416
398
|
* Handle input requests for arduino.
|
|
417
399
|
*/
|
|
418
400
|
var handleXtermArduinoInputRequest = function handleXtermArduinoInputRequest(_char) {
|
|
419
|
-
var _a, _b, _c;
|
|
401
|
+
var _a, _b, _c, _d;
|
|
420
402
|
switch (_char) {
|
|
421
403
|
// backspace
|
|
422
404
|
case "\x7F":
|
|
@@ -427,13 +409,13 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
427
409
|
case '\r':
|
|
428
410
|
if (arduinoTextBuffer.current.length) {
|
|
429
411
|
(_b = xterm.current) === null || _b === void 0 ? void 0 : _b.write('\r\n');
|
|
430
|
-
|
|
412
|
+
(_c = arduinoBridgeApi.current) === null || _c === void 0 ? void 0 : _c.sendText(arduinoTextBuffer.current);
|
|
431
413
|
arduinoTextBuffer.current = '';
|
|
432
414
|
}
|
|
433
415
|
break;
|
|
434
416
|
// any char
|
|
435
417
|
default:
|
|
436
|
-
(
|
|
418
|
+
(_d = xterm.current) === null || _d === void 0 ? void 0 : _d.write(_char);
|
|
437
419
|
arduinoTextBuffer.current = "".concat(arduinoTextBuffer.current).concat(_char);
|
|
438
420
|
break;
|
|
439
421
|
}
|
|
@@ -449,24 +431,6 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
449
431
|
}
|
|
450
432
|
};
|
|
451
433
|
//
|
|
452
|
-
// Initialize Arduino devices.
|
|
453
|
-
//
|
|
454
|
-
React__default.default.useEffect(function () {
|
|
455
|
-
if (!isArduinoExercise) {
|
|
456
|
-
return;
|
|
457
|
-
}
|
|
458
|
-
void arduino.init();
|
|
459
|
-
return function () {
|
|
460
|
-
void arduino.destroy();
|
|
461
|
-
};
|
|
462
|
-
},
|
|
463
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
464
|
-
[exercise]);
|
|
465
|
-
//
|
|
466
|
-
// Destroy arduino client when unload window.
|
|
467
|
-
//
|
|
468
|
-
reactUse.useEvent('beforeunload', handleArduinoDistroy, window);
|
|
469
|
-
//
|
|
470
434
|
// Update runner room websocket state.
|
|
471
435
|
//
|
|
472
436
|
React__default.default.useEffect(function () {
|
|
@@ -603,23 +567,29 @@ var ExerciseRunner = function ExerciseRunner(_ref) {
|
|
|
603
567
|
//
|
|
604
568
|
//
|
|
605
569
|
//
|
|
570
|
+
var runnerBody = jsxRuntime.jsxs(ExerciseRunnerContext.ExerciseRunnerContext.Provider, {
|
|
571
|
+
value: {
|
|
572
|
+
onSubmit: handleRunnerSubmit,
|
|
573
|
+
onCancel: handleRunnerCancel,
|
|
574
|
+
onSyncRequest: handleRunnerSyncRequest
|
|
575
|
+
},
|
|
576
|
+
children: [jsxRuntime.jsx(ExerciseRunnerController.default, {}), jsxRuntime.jsxs(blocks.Flex, {
|
|
577
|
+
auto: true,
|
|
578
|
+
style: {
|
|
579
|
+
minHeight: 0
|
|
580
|
+
},
|
|
581
|
+
overflow: "hidden",
|
|
582
|
+
children: [renderPreview(), renderXterm(), renderRunnerSubmitErrorDialog()]
|
|
583
|
+
})]
|
|
584
|
+
});
|
|
606
585
|
return jsxRuntime.jsx(intl.RawEliceIntlProvider, {
|
|
607
586
|
value: __intl,
|
|
608
587
|
children: jsxRuntime.jsx(StyledExerciseRunner, {
|
|
609
|
-
children: jsxRuntime.
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
},
|
|
615
|
-
children: [jsxRuntime.jsx(ExerciseRunnerController.default, {}), jsxRuntime.jsxs(blocks.Flex, {
|
|
616
|
-
auto: true,
|
|
617
|
-
style: {
|
|
618
|
-
minHeight: 0
|
|
619
|
-
},
|
|
620
|
-
overflow: "hidden",
|
|
621
|
-
children: [renderPreview(), renderXterm(), renderRunnerSubmitErrorDialog()]
|
|
622
|
-
})]
|
|
588
|
+
children: jsxRuntime.jsx(ArduinoProvider.default, {
|
|
589
|
+
enabled: isArduinoExercise,
|
|
590
|
+
xtermRef: xterm,
|
|
591
|
+
apiRef: arduinoBridgeApi,
|
|
592
|
+
children: runnerBody
|
|
623
593
|
})
|
|
624
594
|
})
|
|
625
595
|
});
|
|
@@ -9,12 +9,12 @@ var blocks = require('@elice/blocks');
|
|
|
9
9
|
var types = require('@elice/types');
|
|
10
10
|
var recoil = require('recoil');
|
|
11
11
|
var stylesheets = require('../../../constants/stylesheets.js');
|
|
12
|
-
var ExerciseRunnerControllerArduinoAgentModal = require('./ExerciseRunnerControllerArduinoAgentModal.js');
|
|
13
|
-
var ExerciseRunnerControllerArduinoStatusMessage = require('./ExerciseRunnerControllerArduinoStatusMessage.js');
|
|
14
12
|
var ExerciseRunnerControllerButtonGroup = require('./ExerciseRunnerControllerButtonGroup.js');
|
|
15
13
|
var ExerciseRunnerControllerRunningInfo = require('./ExerciseRunnerControllerRunningInfo.js');
|
|
16
14
|
var ExerciseRunnerControllerStatusMessage = require('./ExerciseRunnerControllerStatusMessage.js');
|
|
17
15
|
var ExerciseRunnerControllerTimer = require('./ExerciseRunnerControllerTimer.js');
|
|
16
|
+
var ArduinoControllerButtonGroup = require('./arduino/ArduinoControllerButtonGroup.js');
|
|
17
|
+
var ArduinoControllerStatusMessage = require('./arduino/ArduinoControllerStatusMessage.js');
|
|
18
18
|
var context = require('../context/context.js');
|
|
19
19
|
var recoil$1 = require('../context/recoil.js');
|
|
20
20
|
var useExerciseFile = require('../../../hooks/useExerciseFile.js');
|
|
@@ -32,20 +32,47 @@ var ExerciseRunnerController = function ExerciseRunnerController() {
|
|
|
32
32
|
var _React$useContext = React__default.default.useContext(context.ExerciseContext),
|
|
33
33
|
materialExerciseId = _React$useContext.materialExerciseId;
|
|
34
34
|
var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
|
|
35
|
-
var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
|
|
36
35
|
var activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
|
|
37
36
|
var isFileEditable = useExerciseFile.useExerciseFileEditable(activeFilename);
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
40
|
+
var renderControllerButtonGroup = function renderControllerButtonGroup() {
|
|
41
|
+
switch (exercise === null || exercise === void 0 ? void 0 : exercise.envType) {
|
|
42
|
+
case types.enums.ExerciseEnvType.Arduino:
|
|
43
|
+
return jsxRuntime.jsx(ArduinoControllerButtonGroup.default, {});
|
|
44
|
+
default:
|
|
45
|
+
return jsxRuntime.jsx(ExerciseRunnerControllerButtonGroup.default, {});
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
*/
|
|
51
|
+
var renderControllerStatusMessage = function renderControllerStatusMessage() {
|
|
52
|
+
if (!isFileEditable) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
switch (exercise === null || exercise === void 0 ? void 0 : exercise.envType) {
|
|
56
|
+
case types.enums.ExerciseEnvType.Arduino:
|
|
57
|
+
return jsxRuntime.jsx(ArduinoControllerStatusMessage.default, {});
|
|
58
|
+
default:
|
|
59
|
+
return jsxRuntime.jsx(ExerciseRunnerControllerStatusMessage.default, {});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
//
|
|
63
|
+
//
|
|
64
|
+
//
|
|
38
65
|
return jsxRuntime.jsxs(StyledController, {
|
|
39
66
|
children: [jsxRuntime.jsxs(blocks.Flex, {
|
|
40
67
|
align: "center",
|
|
41
|
-
children: [
|
|
68
|
+
children: [renderControllerButtonGroup(), jsxRuntime.jsx(blocks.Hspace, {
|
|
42
69
|
width: 1
|
|
43
70
|
}), jsxRuntime.jsx(ExerciseRunnerControllerRunningInfo.default, {}), jsxRuntime.jsx(ExerciseRunnerControllerTimer.default, {})]
|
|
44
|
-
}),
|
|
71
|
+
}), jsxRuntime.jsx(blocks.Flex, {
|
|
45
72
|
column: true,
|
|
46
73
|
align: "flex-end",
|
|
47
|
-
children:
|
|
48
|
-
})
|
|
74
|
+
children: renderControllerStatusMessage()
|
|
75
|
+
})]
|
|
49
76
|
});
|
|
50
77
|
};
|
|
51
78
|
|