@elice/material-exercise 1.260305.0 → 1.260430.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/MaterialExercise.js +113 -17
- package/cjs/components/material-exercise/context/ExerciseProvider.d.ts +3 -1
- 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-code-history/ExerciseCodeHistory.js +52 -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 +58 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionRun.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/action/ControllerActionRun.js +44 -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 +163 -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 +128 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.js +78 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.d.ts +3 -0
- package/cjs/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.js +98 -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/exercise-version-list/ExerciseVersionList.js +18 -2
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -0
- package/cjs/components/shared/file-tabs/FileTab.js +70 -8
- package/cjs/components/shared/file-tabs/FileTabs.js +24 -3
- package/cjs/components/shared/file-tree/FileTreeListItemContent.js +103 -14
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +24 -3
- package/cjs/components/shared/file-tree/FileTreeListItems.js +28 -3
- package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +7 -2
- package/cjs/components/shared/material-modal/MaterialModal.d.ts +1 -0
- package/cjs/components/shared/material-modal/MaterialModal.js +34 -6
- 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/MaterialExercise.js +97 -2
- package/es/components/material-exercise/context/ExerciseProvider.d.ts +3 -1
- 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-code-history/ExerciseCodeHistory.js +46 -2
- 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 +54 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionRun.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/action/ControllerActionRun.js +40 -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 +148 -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 +118 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionCompile.js +70 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.d.ts +3 -0
- package/es/components/material-exercise/exercise-runner/arduino/ArduinoControllerActionUpload.js +90 -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/exercise-version-list/ExerciseVersionList.js +13 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.d.ts +1 -0
- package/es/components/shared/file-tabs/FileTab.js +62 -1
- package/es/components/shared/file-tabs/FileTabs.js +21 -1
- package/es/components/shared/file-tree/FileTreeListItemContent.js +90 -2
- package/es/components/shared/file-tree/FileTreeListItemContentInput.js +21 -1
- package/es/components/shared/file-tree/FileTreeListItems.js +22 -1
- package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +5 -1
- package/es/components/shared/material-modal/MaterialModal.d.ts +1 -0
- package/es/components/shared/material-modal/MaterialModal.js +26 -2
- 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 +34 -21
- package/cjs/components/material-exercise/MaterialExercise.styled.d.ts +0 -66
- package/cjs/components/material-exercise/MaterialExercise.styled.js +0 -119
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +0 -24
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +0 -62
- 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/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +0 -5
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +0 -22
- package/cjs/components/shared/file-tabs/FileTab.styled.d.ts +0 -33
- package/cjs/components/shared/file-tabs/FileTab.styled.js +0 -77
- package/cjs/components/shared/file-tabs/FileTabs.styled.d.ts +0 -12
- package/cjs/components/shared/file-tabs/FileTabs.styled.js +0 -31
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +0 -62
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +0 -108
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +0 -7
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +0 -31
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.d.ts +0 -8
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +0 -32
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.d.ts +0 -4
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +0 -14
- package/cjs/components/shared/material-modal/MaterialModal.styled.d.ts +0 -20
- package/cjs/components/shared/material-modal/MaterialModal.styled.js +0 -39
- 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/MaterialExercise.styled.d.ts +0 -66
- package/es/components/material-exercise/MaterialExercise.styled.js +0 -100
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.d.ts +0 -24
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +0 -49
- 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/components/shared/exercise-version-list/ExerciseVersionList.styled.d.ts +0 -5
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +0 -16
- package/es/components/shared/file-tabs/FileTab.styled.d.ts +0 -33
- package/es/components/shared/file-tabs/FileTab.styled.js +0 -65
- package/es/components/shared/file-tabs/FileTabs.styled.d.ts +0 -12
- package/es/components/shared/file-tabs/FileTabs.styled.js +0 -24
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.d.ts +0 -62
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +0 -94
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.d.ts +0 -7
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +0 -24
- package/es/components/shared/file-tree/FileTreeListItems.styled.d.ts +0 -8
- package/es/components/shared/file-tree/FileTreeListItems.styled.js +0 -25
- package/es/components/shared/file-tree/FileTreeToolbar.styled.d.ts +0 -4
- package/es/components/shared/file-tree/FileTreeToolbar.styled.js +0 -8
- package/es/components/shared/material-modal/MaterialModal.styled.d.ts +0 -20
- package/es/components/shared/material-modal/MaterialModal.styled.js +0 -29
- 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
|
@@ -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
|
|
package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js
CHANGED
|
@@ -2,228 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
-
var _styled = require('@emotion/styled/base');
|
|
7
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var websocket = require('@elice/websocket');
|
|
14
|
-
var recoil = require('recoil');
|
|
15
|
-
var ExerciseRunnerContext = require('./ExerciseRunnerContext.js');
|
|
16
|
-
var recoil$1 = require('../context/recoil.js');
|
|
17
|
-
var useExericseShortcut = require('../../../hooks/useExericseShortcut.js');
|
|
18
|
-
var context = require('../context/context.js');
|
|
19
|
-
var useExerciseFile = require('../../../hooks/useExerciseFile.js');
|
|
20
|
-
var subjects = require('../context/subjects.js');
|
|
6
|
+
var material = require('@mui/material');
|
|
7
|
+
var ControllerActionRun = require('./action/ControllerActionRun.js');
|
|
8
|
+
var ControllerActionGrade = require('./action/ControllerActionGrade.js');
|
|
9
|
+
var ControllerActionCancel = require('./action/ControllerActionCancel.js');
|
|
10
|
+
var ControllerActionSyncRequest = require('./action/ControllerActionSyncRequest.js');
|
|
21
11
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
26
|
-
|
|
27
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
28
|
-
var StyledControllerButton = /*#__PURE__*/_styled__default.default(blocks.Button, {
|
|
29
|
-
target: "e45p2z2"
|
|
30
|
-
})("position:relative;transition:none;&.eb-button--role-danger{border-color:", muiSystem.colors.red[700], ";background-color:", muiSystem.colors.red[700], ";}");
|
|
31
|
-
var StyledControllerButtonWrap = /*#__PURE__*/_styled__default.default("div", {
|
|
32
|
-
target: "e45p2z1"
|
|
33
|
-
})("production" === "production" ? {
|
|
34
|
-
name: "zjik7",
|
|
35
|
-
styles: "display:flex"
|
|
36
|
-
} : {
|
|
37
|
-
name: "zjik7",
|
|
38
|
-
styles: "display:flex",
|
|
39
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
40
|
-
});
|
|
41
|
-
var StyledControllerButtonGroup = /*#__PURE__*/_styled__default.default("div", {
|
|
42
|
-
target: "e45p2z0"
|
|
43
|
-
})("display:flex;flex-direction:row;align-items:center;>", StyledControllerButtonWrap, ",>", StyledControllerButton, "{margin-right:0.5rem;&:last-child{margin-right:0;}}");
|
|
12
|
+
//
|
|
13
|
+
//
|
|
14
|
+
//
|
|
44
15
|
var ExerciseRunnerControllerButtonGroup = function ExerciseRunnerControllerButtonGroup() {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
onSubmit = _React$useContext2.onSubmit,
|
|
51
|
-
onSyncRequest = _React$useContext2.onSyncRequest,
|
|
52
|
-
onCancel = _React$useContext2.onCancel;
|
|
53
|
-
var activeFilename = recoil.useRecoilValue(recoil$1.exerciseActiveFilenameState);
|
|
54
|
-
var isFileEditable = useExerciseFile.useExerciseFileEditable(activeFilename);
|
|
55
|
-
var runnerWebsocketStatus = recoil.useRecoilValue(recoil$1.exerciseWebSocketTotalStatusQuery([].concat(_rollupPluginBabelHelpers.toConsumableArray(isFileEditable ? ['usercodeEdit'] : []), ['runnerRoom', 'stdio'])));
|
|
56
|
-
var exercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
|
|
57
|
-
var exerciseRunType = recoil.useRecoilValue(recoil$1.exerciseRunnerRunTypeState);
|
|
58
|
-
var exerciseWithNoGrade = Boolean(exercise === null || exercise === void 0 ? void 0 : exercise.isNoSubmitGrade);
|
|
59
|
-
var lecture = recoil.useRecoilValue(recoil$1.exerciseLectureState(exercise === null || exercise === void 0 ? void 0 : exercise._lectureId));
|
|
60
|
-
var isTestLecture = (lecture === null || lecture === void 0 ? void 0 : lecture.lectureType) === types.enums.LectureType.Test;
|
|
61
|
-
var isTestLectureCompleted = (lecture === null || lecture === void 0 ? void 0 : lecture.testAdmissionStatus) === types.enums.TestAdmissionStatus.Completed;
|
|
62
|
-
// runner states
|
|
63
|
-
var isSubmitting = recoil.useRecoilValue(recoil$1.exerciseRunnerSubmittingState);
|
|
64
|
-
var isRunning = recoil.useRecoilValue(recoil$1.exerciseRunnerRunningState);
|
|
65
|
-
var isConnecting = runnerWebsocketStatus === websocket.EliceWebSocket.CONNECTING;
|
|
66
|
-
var isNotReady = runnerWebsocketStatus !== websocket.EliceWebSocket.OPEN;
|
|
67
|
-
// arduino
|
|
68
|
-
var isArduinoExercise = (exercise === null || exercise === void 0 ? void 0 : exercise.envType) === types.enums.ExerciseEnvType.Arduino;
|
|
69
|
-
var arduinoUploadProgress = recoil.useRecoilValue(recoil$1.exerciseArduinoUploadProgressState);
|
|
70
|
-
var arduinoOpenedPortName = recoil.useRecoilValue(recoil$1.exerciseArduinoOpenedPortNameState);
|
|
71
|
-
//
|
|
72
|
-
// ========= ui states =========
|
|
73
|
-
//
|
|
74
|
-
// submit run
|
|
75
|
-
var isSubmitRunHidden = isRunning;
|
|
76
|
-
var isSubmitRunArduinoDisabled = isArduinoExercise ? arduinoUploadProgress !== 'ready' && arduinoUploadProgress !== 'error' || !arduinoOpenedPortName : false;
|
|
77
|
-
var isSubmitRunDisabled = isSubmitRunHidden || isSubmitRunArduinoDisabled || isNotReady || isConnecting || isSubmitting;
|
|
78
|
-
// submit grade
|
|
79
|
-
var isSubmitGradeHidden = isRunning;
|
|
80
|
-
var isSubmitGradeDisabled = isSubmitGradeHidden || exerciseWithNoGrade || isTestLecture && isTestLectureCompleted || isNotReady || isConnecting || isSubmitting;
|
|
81
|
-
// cancel
|
|
82
|
-
var isCancelHidden = !isRunning;
|
|
83
|
-
var isCancelDisabled = isCancelHidden || isNotReady || isConnecting;
|
|
84
|
-
// sync request
|
|
85
|
-
var isSyncRequestHidden = !isRunning || !((_a = exercise === null || exercise === void 0 ? void 0 : exercise.readyExerciseImage) === null || _a === void 0 ? void 0 : _a.httpPort);
|
|
86
|
-
var isSyncRequestDisabled = isSyncRequestHidden || isNotReady || isConnecting;
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
/**
|
|
91
|
-
* Submit to run
|
|
92
|
-
*/
|
|
93
|
-
var handleSubmitRun = function handleSubmitRun() {
|
|
94
|
-
if (!isSubmitRunDisabled) {
|
|
95
|
-
void onSubmit(types.enums.ExerciseRunType.Run);
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
/**
|
|
99
|
-
* Submit to grade
|
|
100
|
-
*/
|
|
101
|
-
var handleSubmitGrade = function handleSubmitGrade() {
|
|
102
|
-
if (!isSubmitGradeDisabled) {
|
|
103
|
-
void onSubmit(types.enums.ExerciseRunType.Grade);
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
/**
|
|
107
|
-
* Cancel
|
|
108
|
-
*/
|
|
109
|
-
var handleCancel = function handleCancel() {
|
|
110
|
-
if (!isCancelDisabled) {
|
|
111
|
-
onCancel();
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* Sync request
|
|
116
|
-
*/
|
|
117
|
-
var handleSyncRequest = function handleSyncRequest() {
|
|
118
|
-
if (!isSyncRequestDisabled) {
|
|
119
|
-
onSyncRequest();
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
//
|
|
123
|
-
// keyboard shortcuts to control runner
|
|
124
|
-
//
|
|
125
|
-
useExericseShortcut.useExericseShortcut('RUNNER_SUBMIT_RUN', handleSubmitRun);
|
|
126
|
-
useExericseShortcut.useExericseShortcut('RUNNER_SUBMIT_GRADE', handleSubmitGrade);
|
|
127
|
-
useExericseShortcut.useExericseShortcut('RUNNER_CANCEL', handleCancel);
|
|
128
|
-
useExericseShortcut.useExericseShortcut('RUNNER_SYNC_REQUEST', handleSyncRequest);
|
|
129
|
-
//
|
|
130
|
-
// handle save action emitted by file editor
|
|
131
|
-
//
|
|
132
|
-
React__default.default.useEffect(function () {
|
|
133
|
-
var saveActionSub = subjects.exerciseFileEditorSaveAction$.subscribe(handleSyncRequest);
|
|
134
|
-
return function () {
|
|
135
|
-
saveActionSub.unsubscribe();
|
|
136
|
-
};
|
|
137
|
-
},
|
|
138
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
139
|
-
[isSyncRequestDisabled]);
|
|
140
|
-
/**
|
|
141
|
-
* Submit to run button
|
|
142
|
-
*/
|
|
143
|
-
var renderSubmitRunButton = function renderSubmitRunButton() {
|
|
144
|
-
if (isSubmitRunHidden) {
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
return jsxRuntime.jsx(StyledControllerButton, {
|
|
148
|
-
size: "tiny",
|
|
149
|
-
loading: isConnecting || isSubmitting && exerciseRunType === types.enums.ExerciseRunType.Run,
|
|
150
|
-
disabled: isSubmitRunDisabled,
|
|
151
|
-
onClick: handleSubmitRun,
|
|
152
|
-
children: isArduinoExercise ? intl$1.formatMessage({
|
|
153
|
-
id: 'exerciseRunner.controller.buttonGroup.button.compile'
|
|
154
|
-
}) : intl$1.formatMessage({
|
|
155
|
-
id: 'exerciseRunner.controller.buttonGroup.button.run'
|
|
156
|
-
})
|
|
157
|
-
});
|
|
158
|
-
};
|
|
159
|
-
/**
|
|
160
|
-
* Submit to grade button
|
|
161
|
-
*/
|
|
162
|
-
var renderSubmitGradeButton = function renderSubmitGradeButton() {
|
|
163
|
-
if (isSubmitGradeHidden) {
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
return jsxRuntime.jsx(blocks.Tooltip, {
|
|
167
|
-
dark: true,
|
|
168
|
-
title: exerciseWithNoGrade ? intl$1.formatMessage({
|
|
169
|
-
id: 'exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit'
|
|
170
|
-
}) : undefined,
|
|
171
|
-
placement: "top",
|
|
172
|
-
children: jsxRuntime.jsx(StyledControllerButtonWrap, {
|
|
173
|
-
children: jsxRuntime.jsx(StyledControllerButton, {
|
|
174
|
-
size: "tiny",
|
|
175
|
-
role: "secondary",
|
|
176
|
-
loading: isConnecting || isSubmitting && exerciseRunType === types.enums.ExerciseRunType.Grade,
|
|
177
|
-
disabled: isSubmitGradeDisabled,
|
|
178
|
-
onClick: handleSubmitGrade,
|
|
179
|
-
children: intl$1.formatMessage({
|
|
180
|
-
id: 'exerciseRunner.controller.buttonGroup.button.submit'
|
|
181
|
-
})
|
|
182
|
-
})
|
|
183
|
-
})
|
|
184
|
-
});
|
|
185
|
-
};
|
|
186
|
-
/**
|
|
187
|
-
* Cancel button
|
|
188
|
-
*/
|
|
189
|
-
var renderCancelButton = function renderCancelButton() {
|
|
190
|
-
if (isCancelHidden) {
|
|
191
|
-
return null;
|
|
192
|
-
}
|
|
193
|
-
return jsxRuntime.jsx(StyledControllerButton, {
|
|
194
|
-
size: "tiny",
|
|
195
|
-
role: "danger",
|
|
196
|
-
loading: isConnecting,
|
|
197
|
-
disabled: isCancelDisabled,
|
|
198
|
-
onClick: handleCancel,
|
|
199
|
-
children: intl$1.formatMessage({
|
|
200
|
-
id: 'exerciseRunner.controller.buttonGroup.button.stop'
|
|
201
|
-
})
|
|
202
|
-
});
|
|
203
|
-
};
|
|
204
|
-
/**
|
|
205
|
-
* Sync request button
|
|
206
|
-
*/
|
|
207
|
-
var renderSyncRequestButton = function renderSyncRequestButton() {
|
|
208
|
-
if (isSyncRequestHidden) {
|
|
209
|
-
return null;
|
|
210
|
-
}
|
|
211
|
-
return jsxRuntime.jsx(StyledControllerButton, {
|
|
212
|
-
size: "tiny",
|
|
213
|
-
role: "secondary",
|
|
214
|
-
loading: isConnecting,
|
|
215
|
-
disabled: isSyncRequestDisabled,
|
|
216
|
-
onClick: handleSyncRequest,
|
|
217
|
-
children: intl$1.formatMessage({
|
|
218
|
-
id: 'exerciseRunner.controller.buttonGroup.button.syncRequest'
|
|
219
|
-
})
|
|
220
|
-
});
|
|
221
|
-
};
|
|
222
|
-
//
|
|
223
|
-
//
|
|
224
|
-
//
|
|
225
|
-
return jsxRuntime.jsxs(StyledControllerButtonGroup, {
|
|
226
|
-
children: [renderSubmitRunButton(), renderSubmitGradeButton(), renderCancelButton(), renderSyncRequestButton()]
|
|
16
|
+
return jsxRuntime.jsxs(material.Stack, {
|
|
17
|
+
direction: "row",
|
|
18
|
+
alignItems: "center",
|
|
19
|
+
gap: "0.5rem",
|
|
20
|
+
children: [jsxRuntime.jsx(ControllerActionRun.default, {}), jsxRuntime.jsx(ControllerActionGrade.default, {}), jsxRuntime.jsx(ControllerActionCancel.default, {}), jsxRuntime.jsx(ControllerActionSyncRequest.default, {})]
|
|
227
21
|
});
|
|
228
22
|
};
|
|
229
23
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
interface
|
|
2
|
+
interface CodeHelpRequestButtonProps {
|
|
3
3
|
onClick: () => void;
|
|
4
4
|
}
|
|
5
|
-
declare const ExerciseRunnerControllerCodeHelpRequestButton: React.FC<
|
|
5
|
+
declare const ExerciseRunnerControllerCodeHelpRequestButton: React.FC<CodeHelpRequestButtonProps>;
|
|
6
6
|
export default ExerciseRunnerControllerCodeHelpRequestButton;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var intl = require('@elice/intl');
|
|
7
|
+
var lab = require('@mui/lab');
|
|
8
|
+
var useControllerActionCancel = require('./useControllerActionCancel.js');
|
|
9
|
+
var useExericseShortcut = require('../../../../hooks/useExericseShortcut.js');
|
|
10
|
+
|
|
11
|
+
//
|
|
12
|
+
//
|
|
13
|
+
//
|
|
14
|
+
var ControllerActionCancel = function ControllerActionCancel() {
|
|
15
|
+
var intl$1 = intl.useRawEliceIntl();
|
|
16
|
+
var _useControllerActionC = useControllerActionCancel.useControllerActionCancel(),
|
|
17
|
+
isHidden = _useControllerActionC.isHidden,
|
|
18
|
+
isDisabled = _useControllerActionC.isDisabled,
|
|
19
|
+
isLoading = _useControllerActionC.isLoading,
|
|
20
|
+
cancel = _useControllerActionC.cancel;
|
|
21
|
+
//
|
|
22
|
+
// register the shortcut
|
|
23
|
+
//
|
|
24
|
+
useExericseShortcut.useExericseShortcut('RUNNER_CANCEL', cancel);
|
|
25
|
+
//
|
|
26
|
+
//
|
|
27
|
+
//
|
|
28
|
+
if (isHidden) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return jsxRuntime.jsx(lab.LoadingButton, {
|
|
32
|
+
size: "small",
|
|
33
|
+
variant: "contained",
|
|
34
|
+
color: "error",
|
|
35
|
+
loading: isLoading,
|
|
36
|
+
disabled: isDisabled,
|
|
37
|
+
onClick: cancel,
|
|
38
|
+
children: intl$1.formatMessage({
|
|
39
|
+
id: 'exerciseRunner.controller.buttonGroup.button.stop'
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.default = ControllerActionCancel;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var intl = require('@elice/intl');
|
|
7
|
+
var lab = require('@mui/lab');
|
|
8
|
+
var material = require('@mui/material');
|
|
9
|
+
var useControllerActionGrade = require('./useControllerActionGrade.js');
|
|
10
|
+
var useExericseShortcut = require('../../../../hooks/useExericseShortcut.js');
|
|
11
|
+
|
|
12
|
+
//
|
|
13
|
+
//
|
|
14
|
+
//
|
|
15
|
+
var ControllerActionGrade = function ControllerActionGrade() {
|
|
16
|
+
var intl$1 = intl.useRawEliceIntl();
|
|
17
|
+
var _useControllerActionG = useControllerActionGrade.useControllerActionGrade(),
|
|
18
|
+
isHidden = _useControllerActionG.isHidden,
|
|
19
|
+
isDisabled = _useControllerActionG.isDisabled,
|
|
20
|
+
isLoading = _useControllerActionG.isLoading,
|
|
21
|
+
isNoGrade = _useControllerActionG.isNoGrade,
|
|
22
|
+
grade = _useControllerActionG.grade;
|
|
23
|
+
//
|
|
24
|
+
// register the shortcut
|
|
25
|
+
//
|
|
26
|
+
useExericseShortcut.useExericseShortcut('RUNNER_SUBMIT_GRADE', grade);
|
|
27
|
+
//
|
|
28
|
+
//
|
|
29
|
+
//
|
|
30
|
+
if (isHidden) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
return jsxRuntime.jsx(material.Tooltip, {
|
|
34
|
+
title: isNoGrade ? intl$1.formatMessage({
|
|
35
|
+
id: 'exerciseRunner.controller.buttonGroup.button.submit.tooltip.noSubmit'
|
|
36
|
+
}) : '',
|
|
37
|
+
placement: "top",
|
|
38
|
+
children: jsxRuntime.jsx(material.Box, {
|
|
39
|
+
component: "span",
|
|
40
|
+
sx: {
|
|
41
|
+
display: 'inline-flex'
|
|
42
|
+
},
|
|
43
|
+
children: jsxRuntime.jsx(lab.LoadingButton, {
|
|
44
|
+
size: "small",
|
|
45
|
+
variant: "contained",
|
|
46
|
+
color: "info",
|
|
47
|
+
loading: isLoading,
|
|
48
|
+
disabled: isDisabled,
|
|
49
|
+
onClick: grade,
|
|
50
|
+
children: intl$1.formatMessage({
|
|
51
|
+
id: 'exerciseRunner.controller.buttonGroup.button.submit'
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.default = ControllerActionGrade;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var intl = require('@elice/intl');
|
|
7
|
+
var lab = require('@mui/lab');
|
|
8
|
+
var useControllerActionRun = require('./useControllerActionRun.js');
|
|
9
|
+
var useExericseShortcut = require('../../../../hooks/useExericseShortcut.js');
|
|
10
|
+
|
|
11
|
+
//
|
|
12
|
+
//
|
|
13
|
+
//
|
|
14
|
+
var ControllerActionRun = function ControllerActionRun() {
|
|
15
|
+
var intl$1 = intl.useRawEliceIntl();
|
|
16
|
+
var _useControllerActionR = useControllerActionRun.useControllerActionRun(),
|
|
17
|
+
isHidden = _useControllerActionR.isHidden,
|
|
18
|
+
isDisabled = _useControllerActionR.isDisabled,
|
|
19
|
+
isLoading = _useControllerActionR.isLoading,
|
|
20
|
+
run = _useControllerActionR.run;
|
|
21
|
+
//
|
|
22
|
+
// register the shortcut
|
|
23
|
+
//
|
|
24
|
+
useExericseShortcut.useExericseShortcut('RUNNER_SUBMIT_RUN', run);
|
|
25
|
+
//
|
|
26
|
+
//
|
|
27
|
+
//
|
|
28
|
+
if (isHidden) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return jsxRuntime.jsx(lab.LoadingButton, {
|
|
32
|
+
size: "small",
|
|
33
|
+
variant: "contained",
|
|
34
|
+
color: "primary",
|
|
35
|
+
loading: isLoading,
|
|
36
|
+
disabled: isDisabled,
|
|
37
|
+
onClick: run,
|
|
38
|
+
children: intl$1.formatMessage({
|
|
39
|
+
id: 'exerciseRunner.controller.buttonGroup.button.run'
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.default = ControllerActionRun;
|