@elice/material-exercise 1.230325.0 → 1.230418.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/_virtual/_rollupPluginBabelHelpers.js +526 -0
- package/cjs/components/material-exercise/MaterialExercise.js +44 -63
- package/cjs/components/material-exercise/MaterialExercise.styled.js +20 -23
- package/cjs/components/material-exercise/MaterialExerciseMobile.js +19 -15
- package/cjs/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
- package/cjs/components/material-exercise/context/ExerciseProvider.js +83 -81
- package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +16 -16
- package/cjs/components/material-exercise/context/context.js +1 -1
- package/cjs/components/material-exercise/context/locales/noImage.en.json.js +3 -1
- package/cjs/components/material-exercise/context/locales/noImage.ko.json.js +3 -1
- package/cjs/components/material-exercise/context/recoil.d.ts +2 -1
- package/cjs/components/material-exercise/context/recoil.js +562 -373
- package/cjs/components/material-exercise/context/recoilTypes.js +0 -5
- package/cjs/components/material-exercise/context/subjects.js +3 -6
- package/cjs/components/material-exercise/context/types.d.ts +8 -1
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -65
- package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
- package/cjs/components/material-exercise/exercise-code-history/locales/en.json.js +7 -0
- package/cjs/components/material-exercise/exercise-code-history/locales/ko.json.js +7 -0
- package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +20 -21
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +228 -199
- package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +8 -10
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +35 -32
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +57 -48
- package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +6 -4
- package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-file-tabs/locales/fileTreeButton.ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +327 -231
- package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +6 -4
- package/cjs/components/material-exercise/exercise-file-tree/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-file-tree/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +17 -17
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +13 -14
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +6 -6
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +47 -38
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +60 -42
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +29 -22
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +45 -56
- package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
- package/cjs/components/material-exercise/exercise-menu/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-menu/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +28 -20
- package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +5 -3
- package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +30 -41
- package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +17 -12
- package/cjs/components/material-exercise/exercise-preview/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-preview/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +24 -33
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +13 -8
- package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +84 -83
- package/cjs/components/material-exercise/exercise-rightpane/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-rightpane/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +20 -12
- package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +239 -147
- package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +92 -63
- package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
- package/cjs/components/material-exercise/exercise-room/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-room/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +224 -223
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +13 -13
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +30 -26
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +26 -26
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +79 -95
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +27 -27
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +54 -60
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +5 -5
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +10 -13
- package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +29 -26
- package/cjs/components/material-exercise/exercise-runner/locales/en.json.js +3 -1
- package/cjs/components/material-exercise/exercise-runner/locales/ko.json.js +3 -1
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +290 -180
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
- package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +41 -45
- package/cjs/components/material-exercise/exercise-submit-history/locales/en.json.js +7 -0
- package/cjs/components/material-exercise/exercise-submit-history/locales/ko.json.js +7 -0
- package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +19 -17
- package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +5 -4
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +15 -14
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +7 -6
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +17 -16
- package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +18 -11
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -4
- package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +8 -7
- package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
- package/cjs/components/shared/file-icon/FileIcon.js +23 -23
- package/cjs/components/shared/file-tabs/FileTab.js +32 -43
- package/cjs/components/shared/file-tabs/FileTab.styled.js +26 -22
- package/cjs/components/shared/file-tabs/FileTabs.js +55 -49
- package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -2
- package/cjs/components/shared/file-tabs/util.js +29 -18
- package/cjs/components/shared/file-tree/FileTree.js +11 -11
- package/cjs/components/shared/file-tree/FileTreeConfig.js +24 -23
- package/cjs/components/shared/file-tree/FileTreeList.js +35 -41
- package/cjs/components/shared/file-tree/FileTreeListItemContent.js +75 -91
- package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +77 -101
- package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
- package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +51 -86
- package/cjs/components/shared/file-tree/FileTreeListItems.js +150 -153
- package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
- package/cjs/components/shared/file-tree/FileTreeToolbar.js +30 -41
- package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
- package/cjs/components/shared/file-tree/context/FileTreeContext.js +91 -97
- package/cjs/components/shared/file-tree/locales/en.json.js +3 -1
- package/cjs/components/shared/file-tree/locales/ko.json.js +3 -1
- package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
- package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
- package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -1
- package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
- package/cjs/components/shared/file-tree/utils/fileTreePath.js +5 -7
- package/cjs/components/shared/file-viewer/FileViewer.js +59 -60
- package/cjs/components/shared/file-viewer/FileViewerCsv.js +145 -101
- package/cjs/components/shared/file-viewer/FileViewerImage.js +7 -8
- package/cjs/components/shared/file-viewer/FileViewerIpynb.js +20 -14
- package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +28 -34
- package/cjs/components/shared/file-viewer/FileViewerText.js +23 -16
- package/cjs/components/shared/file-viewer/locales/en.json.js +3 -1
- package/cjs/components/shared/file-viewer/locales/ko.json.js +3 -1
- package/cjs/components/shared/file-viewer/locales/nonViewable.en.json.js +3 -1
- package/cjs/components/shared/file-viewer/locales/nonViewable.ko.json.js +3 -1
- package/cjs/components/shared/material-modal/MaterialModal.js +10 -12
- package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -5
- package/cjs/components/shared/monaco-editor/MonacoEditor.js +123 -149
- package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +10 -8
- package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +49 -58
- package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +78 -85
- package/cjs/components/shared/monaco-editor/constants/grammars/index.js +131 -52
- package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
- package/cjs/components/shared/monaco-editor/constants/themes/index.js +80 -32
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
- package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
- package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +36 -12
- package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +5 -8
- package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +36 -12
- package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +3 -6
- package/cjs/components/shared/monaco-editor/editor-languages/index.js +3 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +3 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +3 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +3 -2
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +36 -12
- package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +18 -24
- package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
- package/cjs/components/shared/monaco-editor/locales/en.json.js +3 -1
- package/cjs/components/shared/monaco-editor/locales/ko.json.js +3 -1
- package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
- package/cjs/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
- package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
- package/cjs/components/shared/monaco-editor/utils/grammar/index.js +70 -32
- package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
- package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
- package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
- package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
- package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -3
- package/cjs/components/shared/monaco-editor/utils/prettier/index.js +30 -9
- package/cjs/components/shared/monaco-editor/utils/theme/convert.js +20 -26
- package/cjs/components/shared/monaco-editor/utils/theme/index.js +22 -5
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
- package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +218 -329
- package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
- package/cjs/components/shared/no-vnc/NoVnc.js +93 -90
- package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -5
- package/cjs/components/shared/preview-container/PreviewContainer.js +7 -10
- package/cjs/components/shared/web-browser/WebBrowser.js +54 -59
- package/cjs/components/shared/xterm/Xterm.js +112 -105
- package/cjs/components/shared/xterm/XtermLazy.js +7 -5
- package/cjs/components/shared/xterm/locales/en.json.js +3 -1
- package/cjs/components/shared/xterm/locales/ko.json.js +3 -1
- package/cjs/constants/arduino.js +10 -10
- package/cjs/constants/shortcutKeyMap.js +5 -5
- package/cjs/constants/stylesheets.js +7 -10
- package/cjs/hooks/useArduino.js +327 -255
- package/cjs/hooks/useExerciseFile.js +24 -24
- package/cjs/hooks/useExericseShortcut.js +6 -5
- package/cjs/hooks/useMaterialExerciseFileUrl.js +54 -37
- package/cjs/hooks/useRunnerRoomWebSocket.js +58 -56
- package/cjs/hooks/useStdioTextConcator.js +18 -12
- package/cjs/hooks/useStdioWebSocket.js +41 -67
- package/cjs/hooks/useUsercodeEditWebSocket.js +230 -252
- package/cjs/hooks/useUsercodeHistory.js +121 -82
- package/cjs/index.js +4 -4
- package/cjs/utils/arduino.js +23 -25
- package/cjs/utils/exerciseFile.js +8 -16
- package/cjs/utils/runner.js +29 -25
- package/es/_virtual/_rollupPluginBabelHelpers.js +504 -0
- package/es/components/material-exercise/MaterialExercise.js +33 -54
- package/es/components/material-exercise/MaterialExercise.styled.js +20 -23
- package/es/components/material-exercise/MaterialExerciseMobile.js +15 -13
- package/es/components/material-exercise/context/ExerciseIntlProvider.js +9 -13
- package/es/components/material-exercise/context/ExerciseProvider.js +79 -79
- package/es/components/material-exercise/context/ExerciseProviderNoImage.js +11 -13
- package/es/components/material-exercise/context/context.js +1 -1
- package/es/components/material-exercise/context/recoil.d.ts +2 -1
- package/es/components/material-exercise/context/recoil.js +563 -374
- package/es/components/material-exercise/context/recoilTypes.js +0 -5
- package/es/components/material-exercise/context/subjects.js +3 -6
- package/es/components/material-exercise/context/types.d.ts +8 -1
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.d.ts +2 -2
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +73 -62
- package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
- package/es/components/material-exercise/exercise-code-history/locales/en.json.js +3 -0
- package/es/components/material-exercise/exercise-code-history/locales/ko.json.js +3 -0
- package/es/components/material-exercise/exercise-file/ExerciseFile.js +15 -18
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +222 -195
- package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +5 -9
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +31 -28
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsFileTreeButton.js +52 -45
- package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +1 -1
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +321 -225
- package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +1 -1
- package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +12 -14
- package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +7 -10
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +3 -5
- package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +43 -36
- package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +53 -37
- package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +25 -20
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +41 -54
- package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +12 -12
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +25 -19
- package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +1 -1
- package/es/components/material-exercise/exercise-preview/ExercisePreview.js +21 -34
- package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +13 -10
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +17 -28
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +9 -6
- package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +81 -82
- package/es/components/material-exercise/exercise-room/ExerciseRoom.js +13 -7
- package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +14 -12
- package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +236 -146
- package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +90 -63
- package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -8
- package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +218 -219
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +7 -9
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +27 -25
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +22 -24
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +76 -94
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +24 -26
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +51 -59
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -4
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +6 -11
- package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +26 -25
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.d.ts +2 -2
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +284 -174
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
- package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +38 -44
- package/es/components/material-exercise/exercise-submit-history/locales/en.json.js +3 -0
- package/es/components/material-exercise/exercise-submit-history/locales/ko.json.js +3 -0
- package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +16 -16
- package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +2 -3
- package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +12 -13
- package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +2 -3
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +14 -15
- package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +15 -10
- package/es/components/shared/exercise-version-list/ExerciseVersionList.js +2 -3
- package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +5 -6
- package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +9 -5
- package/es/components/shared/file-icon/FileIcon.js +20 -22
- package/es/components/shared/file-tabs/FileTab.js +28 -41
- package/es/components/shared/file-tabs/FileTab.styled.js +26 -22
- package/es/components/shared/file-tabs/FileTabs.js +52 -48
- package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
- package/es/components/shared/file-tabs/util.js +29 -18
- package/es/components/shared/file-tree/FileTree.js +3 -5
- package/es/components/shared/file-tree/FileTreeConfig.js +21 -22
- package/es/components/shared/file-tree/FileTreeList.js +31 -39
- package/es/components/shared/file-tree/FileTreeListItemContent.js +67 -85
- package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +29 -40
- package/es/components/shared/file-tree/FileTreeListItemContentInput.js +74 -100
- package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
- package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +48 -85
- package/es/components/shared/file-tree/FileTreeListItems.js +147 -152
- package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
- package/es/components/shared/file-tree/FileTreeToolbar.js +24 -37
- package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
- package/es/components/shared/file-tree/context/FileTreeContext.js +91 -97
- package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -22
- package/es/components/shared/file-tree/utils/fileTreeGenerator.js +193 -173
- package/es/components/shared/file-tree/utils/fileTreeInput.js +0 -1
- package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
- package/es/components/shared/file-tree/utils/fileTreePath.js +5 -7
- package/es/components/shared/file-viewer/FileViewer.js +52 -53
- package/es/components/shared/file-viewer/FileViewerCsv.js +141 -99
- package/es/components/shared/file-viewer/FileViewerImage.js +3 -6
- package/es/components/shared/file-viewer/FileViewerIpynb.js +16 -12
- package/es/components/shared/file-viewer/FileViewerNonViewable.js +22 -30
- package/es/components/shared/file-viewer/FileViewerText.js +18 -13
- package/es/components/shared/material-modal/MaterialModal.js +7 -11
- package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
- package/es/components/shared/monaco-editor/MonacoEditor.js +119 -147
- package/es/components/shared/monaco-editor/MonacoEditorLazy.js +6 -4
- package/es/components/shared/monaco-editor/MonacoEditorMobile.js +45 -56
- package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +73 -82
- package/es/components/shared/monaco-editor/constants/grammars/index.js +131 -52
- package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -9
- package/es/components/shared/monaco-editor/constants/themes/index.js +80 -32
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -13
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -18
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +54 -72
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +14 -15
- package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +8 -9
- package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +33 -11
- package/es/components/shared/monaco-editor/editor-languages/css/index.js +2 -5
- package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +33 -11
- package/es/components/shared/monaco-editor/editor-languages/html/index.js +2 -5
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/express.js +0 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/propTypes.js +0 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/dts/react.js +0 -1
- package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +33 -11
- package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +10 -16
- package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +12 -9
- package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +18 -28
- package/es/components/shared/monaco-editor/utils/emmet/emmet.js +0 -3
- package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +12 -8
- package/es/components/shared/monaco-editor/utils/grammar/index.js +67 -31
- package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +25 -7
- package/es/components/shared/monaco-editor/utils/grammar/textmate.js +67 -43
- package/es/components/shared/monaco-editor/utils/monacoLanguage.js +9 -19
- package/es/components/shared/monaco-editor/utils/monacoPreference.js +6 -5
- package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -3
- package/es/components/shared/monaco-editor/utils/prettier/index.js +27 -8
- package/es/components/shared/monaco-editor/utils/theme/convert.js +20 -26
- package/es/components/shared/monaco-editor/utils/theme/index.js +22 -5
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +77 -75
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +82 -93
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +125 -135
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +148 -160
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +104 -118
- package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +1 -3
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -3
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +219 -330
- package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -6
- package/es/components/shared/no-vnc/NoVnc.js +89 -88
- package/es/components/shared/no-vnc/NoVncLazy.js +4 -2
- package/es/components/shared/preview-container/PreviewContainer.js +7 -10
- package/es/components/shared/web-browser/WebBrowser.js +49 -56
- package/es/components/shared/xterm/Xterm.js +107 -102
- package/es/components/shared/xterm/XtermLazy.js +4 -2
- package/es/constants/arduino.js +10 -10
- package/es/constants/shortcutKeyMap.js +3 -5
- package/es/constants/stylesheets.js +7 -10
- package/es/hooks/useArduino.js +327 -255
- package/es/hooks/useExerciseFile.js +24 -24
- package/es/hooks/useExericseShortcut.js +6 -5
- package/es/hooks/useMaterialExerciseFileUrl.js +55 -38
- package/es/hooks/useRunnerRoomWebSocket.js +58 -56
- package/es/hooks/useStdioTextConcator.js +18 -12
- package/es/hooks/useStdioWebSocket.js +41 -67
- package/es/hooks/useUsercodeEditWebSocket.js +230 -252
- package/es/hooks/useUsercodeHistory.js +122 -83
- package/es/utils/arduino.js +23 -25
- package/es/utils/exerciseFile.js +8 -16
- package/es/utils/runner.js +29 -25
- package/package.json +8 -8
|
@@ -6,50 +6,45 @@ import { getParentPath } from './utils/fileTreeGenerator.js';
|
|
|
6
6
|
import { useFileTreeDispatch } from './context/FileTreeContext.js';
|
|
7
7
|
import { StyledInputForm, StyledInput } from './FileTreeListItemContentInput.styled.js';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
mode: 'onChange'
|
|
45
|
-
});
|
|
46
|
-
const formElRef = React.useRef(null);
|
|
47
|
-
const inputElRef = React.useRef(null);
|
|
9
|
+
var FILENAME_MAX_LENGTH = 65535;
|
|
10
|
+
var FILENAME_REGEXP_DOT = /^\.$/;
|
|
11
|
+
var FILENAME_REGEXP_DOTDOT = /^\.\.$/;
|
|
12
|
+
var FILENAME_REGEXP_DOT_ELICE = /^\.elice$/;
|
|
13
|
+
var FILENAME_REGEXP_SLASH = /\//;
|
|
14
|
+
var FILENAME_REGEXP_BACK_SLASH = /\\/;
|
|
15
|
+
var FileTreeListItemContentInput = function FileTreeListItemContentInput(_ref) {
|
|
16
|
+
var type = _ref.type,
|
|
17
|
+
initialValue = _ref.initialValue,
|
|
18
|
+
className = _ref.className,
|
|
19
|
+
style = _ref.style,
|
|
20
|
+
currentPath = _ref.currentPath,
|
|
21
|
+
currentDirTitleList = _ref.currentDirTitleList,
|
|
22
|
+
newInputType = _ref.newInputType;
|
|
23
|
+
var intl = useIntl();
|
|
24
|
+
var targetPath = getParentPath(currentPath);
|
|
25
|
+
var _useFileTreeDispatch = useFileTreeDispatch(),
|
|
26
|
+
dispatch = _useFileTreeDispatch.dispatch,
|
|
27
|
+
onFileAdd = _useFileTreeDispatch.onFileAdd,
|
|
28
|
+
onDirectoryAdd = _useFileTreeDispatch.onDirectoryAdd,
|
|
29
|
+
onActivePathChange = _useFileTreeDispatch.onActivePathChange,
|
|
30
|
+
onFileMove = _useFileTreeDispatch.onFileMove,
|
|
31
|
+
onDirectoryMove = _useFileTreeDispatch.onDirectoryMove;
|
|
32
|
+
var _useForm = useForm({
|
|
33
|
+
defaultValues: {
|
|
34
|
+
filename: initialValue || ''
|
|
35
|
+
},
|
|
36
|
+
mode: 'onChange'
|
|
37
|
+
}),
|
|
38
|
+
control = _useForm.control,
|
|
39
|
+
handleSubmit = _useForm.handleSubmit,
|
|
40
|
+
reset = _useForm.reset,
|
|
41
|
+
getValues = _useForm.getValues;
|
|
42
|
+
var formElRef = React.useRef(null);
|
|
43
|
+
var inputElRef = React.useRef(null);
|
|
48
44
|
/**
|
|
49
45
|
* Close current input.
|
|
50
46
|
*/
|
|
51
|
-
|
|
52
|
-
const close = () => {
|
|
47
|
+
var close = function close() {
|
|
53
48
|
reset({
|
|
54
49
|
filename: initialValue
|
|
55
50
|
});
|
|
@@ -67,9 +62,7 @@ const FileTreeListItemContentInput = ({
|
|
|
67
62
|
/**
|
|
68
63
|
* Validate input value.
|
|
69
64
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const validateFilename = newFilename => {
|
|
65
|
+
var validateFilename = function validateFilename(newFilename) {
|
|
73
66
|
switch (true) {
|
|
74
67
|
// has dot or dot-dot
|
|
75
68
|
case FILENAME_REGEXP_DOT.test(newFilename) || FILENAME_REGEXP_DOTDOT.test(newFilename):
|
|
@@ -77,24 +70,22 @@ const FileTreeListItemContentInput = ({
|
|
|
77
70
|
id: 'fileTree.list.item.content.input.validation.error.filename.dot'
|
|
78
71
|
});
|
|
79
72
|
// has `.elice`
|
|
80
|
-
|
|
81
73
|
case FILENAME_REGEXP_DOT_ELICE.test(newFilename):
|
|
82
74
|
return intl.formatMessage({
|
|
83
75
|
id: 'fileTree.list.item.content.input.validation.error.filename.dotElice'
|
|
84
76
|
});
|
|
85
77
|
// has slash or backslash
|
|
86
|
-
|
|
87
78
|
case FILENAME_REGEXP_SLASH.test(newFilename) || FILENAME_REGEXP_BACK_SLASH.test(newFilename):
|
|
88
79
|
return intl.formatMessage({
|
|
89
80
|
id: 'fileTree.list.item.content.input.validation.error.filename.slash'
|
|
90
81
|
});
|
|
91
82
|
// duplicated
|
|
92
|
-
|
|
93
|
-
|
|
83
|
+
case currentDirTitleList.some(function (title) {
|
|
84
|
+
return title === newFilename;
|
|
85
|
+
}):
|
|
94
86
|
return intl.formatMessage({
|
|
95
87
|
id: 'fileTree.list.item.content.input.validation.error.filename.duplicated'
|
|
96
88
|
});
|
|
97
|
-
|
|
98
89
|
default:
|
|
99
90
|
return true;
|
|
100
91
|
}
|
|
@@ -102,71 +93,64 @@ const FileTreeListItemContentInput = ({
|
|
|
102
93
|
/**
|
|
103
94
|
* Add file.
|
|
104
95
|
*/
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const addFile = params => {
|
|
96
|
+
var addFile = function addFile(params) {
|
|
108
97
|
if (typeof onFileAdd !== 'function' || !params.emptyFileWithName) {
|
|
109
98
|
close();
|
|
110
99
|
return;
|
|
111
100
|
}
|
|
112
|
-
|
|
113
|
-
|
|
101
|
+
onFileAdd(params).then(function () {
|
|
102
|
+
return onActivePathChange(params.path === '' ? "".concat(params.emptyFileWithName) : "".concat(params.path, "/").concat(params.emptyFileWithName), false);
|
|
103
|
+
}).then(close).catch(function () {
|
|
104
|
+
//
|
|
114
105
|
});
|
|
115
106
|
};
|
|
116
107
|
/**
|
|
117
108
|
* Add directory.
|
|
118
109
|
*/
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const addDirectory = params => {
|
|
110
|
+
var addDirectory = function addDirectory(params) {
|
|
122
111
|
if (typeof onDirectoryAdd !== 'function' || !params.name) {
|
|
123
112
|
close();
|
|
124
113
|
return;
|
|
125
114
|
}
|
|
126
|
-
|
|
127
|
-
|
|
115
|
+
onDirectoryAdd(params).then(function () {
|
|
116
|
+
return onActivePathChange(params.path === '' ? "".concat(params.name) : "".concat(params.path, "/").concat(params.name), true);
|
|
117
|
+
}).then(close).catch(function () {
|
|
118
|
+
//
|
|
128
119
|
});
|
|
129
120
|
};
|
|
130
121
|
/**
|
|
131
122
|
* Move file.
|
|
132
123
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
const moveFile = params => {
|
|
124
|
+
var moveFile = function moveFile(params) {
|
|
136
125
|
if (typeof onFileMove !== 'function' || params.newName === initialValue) {
|
|
137
126
|
close();
|
|
138
127
|
return;
|
|
139
128
|
}
|
|
140
|
-
|
|
141
|
-
|
|
129
|
+
onFileMove(params).then(close).catch(function () {
|
|
130
|
+
//
|
|
142
131
|
});
|
|
143
132
|
};
|
|
144
133
|
/**
|
|
145
134
|
* Move directory.
|
|
146
135
|
*/
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const moveDirectory = params => {
|
|
136
|
+
var moveDirectory = function moveDirectory(params) {
|
|
150
137
|
if (typeof onDirectoryMove !== 'function' || params.newName === initialValue) {
|
|
151
138
|
close();
|
|
152
139
|
return;
|
|
153
140
|
}
|
|
154
|
-
|
|
155
|
-
|
|
141
|
+
onDirectoryMove(params).then(close).catch(function () {
|
|
142
|
+
//
|
|
156
143
|
});
|
|
157
144
|
};
|
|
158
145
|
/**
|
|
159
146
|
* Submit and rename file.
|
|
160
147
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
const handleFormSubmit = handleSubmit(newData => {
|
|
148
|
+
var handleFormSubmit = handleSubmit(function (newData) {
|
|
164
149
|
// if new input is empty, close it.
|
|
165
150
|
if (!newData.filename) {
|
|
166
151
|
close();
|
|
167
152
|
return;
|
|
168
153
|
}
|
|
169
|
-
|
|
170
154
|
if (type === 'new') {
|
|
171
155
|
if (newInputType === 'file') {
|
|
172
156
|
addFile({
|
|
@@ -175,7 +159,6 @@ const FileTreeListItemContentInput = ({
|
|
|
175
159
|
overwrite: false
|
|
176
160
|
});
|
|
177
161
|
}
|
|
178
|
-
|
|
179
162
|
if (newInputType === 'directory') {
|
|
180
163
|
addDirectory({
|
|
181
164
|
path: targetPath,
|
|
@@ -191,7 +174,6 @@ const FileTreeListItemContentInput = ({
|
|
|
191
174
|
newPath: targetPath
|
|
192
175
|
});
|
|
193
176
|
}
|
|
194
|
-
|
|
195
177
|
if (newInputType === 'directory') {
|
|
196
178
|
moveDirectory({
|
|
197
179
|
currentFilename: currentPath,
|
|
@@ -204,50 +186,42 @@ const FileTreeListItemContentInput = ({
|
|
|
204
186
|
/**
|
|
205
187
|
* Handle click away.
|
|
206
188
|
*/
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
const newFilename = getValues('filename');
|
|
210
|
-
|
|
189
|
+
var handleFormClickAway = function handleFormClickAway() {
|
|
190
|
+
var newFilename = getValues('filename');
|
|
211
191
|
if (newFilename) {
|
|
212
192
|
void handleFormSubmit();
|
|
213
193
|
return;
|
|
214
194
|
}
|
|
215
|
-
|
|
216
195
|
close();
|
|
217
196
|
};
|
|
218
197
|
/**
|
|
219
198
|
* Handle keydown event.
|
|
220
199
|
*/
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
const handleKeyDown = e => {
|
|
200
|
+
var handleKeyDown = function handleKeyDown(e) {
|
|
224
201
|
switch (e.key) {
|
|
225
202
|
case 'Escape':
|
|
226
203
|
close();
|
|
227
204
|
break;
|
|
228
205
|
}
|
|
229
|
-
};
|
|
206
|
+
};
|
|
207
|
+
//
|
|
230
208
|
// Select value at input when initial value is set.
|
|
231
209
|
//
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
React.useEffect(() => {
|
|
210
|
+
React.useEffect(function () {
|
|
235
211
|
var _a;
|
|
236
|
-
|
|
237
212
|
if (!inputElRef.current || !initialValue) {
|
|
238
213
|
return;
|
|
239
214
|
}
|
|
240
|
-
|
|
241
|
-
const rangeEndExcludeExtension = initialValue.indexOf((_a = initialValue.split('.').pop()) !== null && _a !== void 0 ? _a : '') - 1;
|
|
215
|
+
var rangeEndExcludeExtension = initialValue.indexOf((_a = initialValue.split('.').pop()) !== null && _a !== void 0 ? _a : '') - 1;
|
|
242
216
|
inputElRef.current.setSelectionRange(0, rangeEndExcludeExtension > 0 ? rangeEndExcludeExtension : initialValue.length);
|
|
243
|
-
}, [initialValue]);
|
|
217
|
+
}, [initialValue]);
|
|
218
|
+
//
|
|
244
219
|
// Submit form when click outside.
|
|
245
220
|
//
|
|
246
|
-
|
|
247
|
-
|
|
221
|
+
useClickAway(formElRef, handleFormClickAway);
|
|
222
|
+
//
|
|
248
223
|
//
|
|
249
224
|
//
|
|
250
|
-
|
|
251
225
|
return React.createElement(StyledInputForm, {
|
|
252
226
|
onSubmit: handleFormSubmit,
|
|
253
227
|
ref: formElRef
|
|
@@ -271,12 +245,10 @@ const FileTreeListItemContentInput = ({
|
|
|
271
245
|
},
|
|
272
246
|
validate: validateFilename
|
|
273
247
|
},
|
|
274
|
-
render: ({
|
|
275
|
-
field,
|
|
276
|
-
|
|
277
|
-
}) => {
|
|
248
|
+
render: function render(_ref2) {
|
|
249
|
+
var field = _ref2.field,
|
|
250
|
+
fieldState = _ref2.fieldState;
|
|
278
251
|
var _a;
|
|
279
|
-
|
|
280
252
|
return React.createElement(StyledInput, Object.assign({}, field, {
|
|
281
253
|
type: "text",
|
|
282
254
|
className: className,
|
|
@@ -286,7 +258,9 @@ const FileTreeListItemContentInput = ({
|
|
|
286
258
|
invalidText: (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message,
|
|
287
259
|
autoFocus: true,
|
|
288
260
|
style: style,
|
|
289
|
-
onChange:
|
|
261
|
+
onChange: function onChange(e) {
|
|
262
|
+
return field.onChange(e.target.value.trim());
|
|
263
|
+
},
|
|
290
264
|
onKeyDown: handleKeyDown,
|
|
291
265
|
ref: inputElRef
|
|
292
266
|
}));
|
|
@@ -2,14 +2,14 @@ import { Input } from '@elice/blocks';
|
|
|
2
2
|
import { base } from '@elice/design-tokens';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
var INPUT_HEIGHT = '1.25rem';
|
|
6
|
+
var INPUT_FONT_SIZE = '0.75rem';
|
|
7
|
+
var INPUT_INNER_LEFT_PADDING = '0.125rem';
|
|
8
|
+
var INPUT_INNER_RIGHT_PADDING = '0.25rem';
|
|
9
|
+
var StyledInputForm = styled.form.withConfig({
|
|
10
10
|
componentId: "sc-1glq6yp-0"
|
|
11
11
|
})(["flex:1;display:flex;"]);
|
|
12
|
-
|
|
12
|
+
var StyledInput = styled(Input).withConfig({
|
|
13
13
|
componentId: "sc-1glq6yp-1"
|
|
14
14
|
})(["min-height:", ";> div{background:transparent !important;> div{&:nth-child(1){padding:", ";}&:nth-child(3){padding:", ";}}.eb-icon{width:0.875em;height:0.875em;font-size:0.875em;}}& input{padding-top:0 !important;padding-bottom:0 !important;height:", " !important;color:", " !important;font-size:", " !important;}"], INPUT_HEIGHT, INPUT_INNER_LEFT_PADDING, INPUT_INNER_RIGHT_PADDING, INPUT_HEIGHT, base.color.gray0, INPUT_FONT_SIZE);
|
|
15
15
|
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { useIntl, FormattedMessage } from 'react-intl';
|
|
3
4
|
import { Menu, List, Dialog } from '@elice/blocks';
|
|
4
5
|
import { useFileTreeState, useFileTreeDispatch } from './context/FileTreeContext.js';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
node,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
7
|
+
var FileTreeListItemContentMenu = function FileTreeListItemContentMenu(_ref) {
|
|
8
|
+
var node = _ref.node,
|
|
9
|
+
anchorEl = _ref.anchorEl,
|
|
10
|
+
onClose = _ref.onClose;
|
|
11
|
+
var intl = useIntl();
|
|
12
|
+
var _useFileTreeState = useFileTreeState(),
|
|
13
|
+
allowToggleHidden = _useFileTreeState.allowToggleHidden,
|
|
14
|
+
allowToggleReadonly = _useFileTreeState.allowToggleReadonly;
|
|
15
|
+
var _useFileTreeDispatch = useFileTreeDispatch(),
|
|
16
|
+
dispatch = _useFileTreeDispatch.dispatch,
|
|
17
|
+
onHiddenSet = _useFileTreeDispatch.onHiddenSet,
|
|
18
|
+
onReadOnlySet = _useFileTreeDispatch.onReadOnlySet,
|
|
19
|
+
onFileDelete = _useFileTreeDispatch.onFileDelete,
|
|
20
|
+
onDirectoryDelete = _useFileTreeDispatch.onDirectoryDelete;
|
|
21
|
+
var _React$useState = React.useState(false),
|
|
22
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
23
|
+
isDeleteDialogOpen = _React$useState2[0],
|
|
24
|
+
setDeleteDialogOpen = _React$useState2[1];
|
|
24
25
|
/**
|
|
25
26
|
* Set file readonly.
|
|
26
27
|
*/
|
|
27
|
-
|
|
28
|
-
const handleReadOnlySet = () => {
|
|
28
|
+
var handleReadOnlySet = function handleReadOnlySet() {
|
|
29
29
|
if (typeof onReadOnlySet === 'function') {
|
|
30
30
|
onReadOnlySet({
|
|
31
31
|
path: node.path,
|
|
@@ -36,9 +36,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
36
36
|
/**
|
|
37
37
|
* Unset file readonly.
|
|
38
38
|
*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const handleReadOnlyUnset = () => {
|
|
39
|
+
var handleReadOnlyUnset = function handleReadOnlyUnset() {
|
|
42
40
|
if (typeof onReadOnlySet === 'function') {
|
|
43
41
|
onReadOnlySet({
|
|
44
42
|
path: node.path,
|
|
@@ -49,9 +47,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
49
47
|
/**
|
|
50
48
|
* Set file hidden.
|
|
51
49
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const handleHiddenSet = () => {
|
|
50
|
+
var handleHiddenSet = function handleHiddenSet() {
|
|
55
51
|
if (typeof onHiddenSet === 'function') {
|
|
56
52
|
onHiddenSet({
|
|
57
53
|
path: node.path,
|
|
@@ -62,9 +58,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
62
58
|
/**
|
|
63
59
|
* Unset file hidden.
|
|
64
60
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const handleHiddenUnset = () => {
|
|
61
|
+
var handleHiddenUnset = function handleHiddenUnset() {
|
|
68
62
|
if (typeof onHiddenSet === 'function') {
|
|
69
63
|
onHiddenSet({
|
|
70
64
|
path: node.path,
|
|
@@ -75,9 +69,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
75
69
|
/**
|
|
76
70
|
* Create a new file.
|
|
77
71
|
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const handleNewFile = () => {
|
|
72
|
+
var handleNewFile = function handleNewFile() {
|
|
81
73
|
dispatch({
|
|
82
74
|
type: 'NEW_INPUT_OPEN',
|
|
83
75
|
newInput: {
|
|
@@ -89,9 +81,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
89
81
|
/**
|
|
90
82
|
* Create a new directory.
|
|
91
83
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const handleNewDirectory = () => {
|
|
84
|
+
var handleNewDirectory = function handleNewDirectory() {
|
|
95
85
|
dispatch({
|
|
96
86
|
type: 'NEW_INPUT_OPEN',
|
|
97
87
|
newInput: {
|
|
@@ -103,9 +93,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
103
93
|
/**
|
|
104
94
|
* Rename file.
|
|
105
95
|
*/
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
const handleRename = () => {
|
|
96
|
+
var handleRename = function handleRename() {
|
|
109
97
|
dispatch({
|
|
110
98
|
type: 'UPDATE_RENAME_INPUT_PATH',
|
|
111
99
|
path: node.path
|
|
@@ -114,13 +102,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
114
102
|
/**
|
|
115
103
|
* Delete file.
|
|
116
104
|
*/
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
const handleDelete = () => {
|
|
105
|
+
var handleDelete = function handleDelete() {
|
|
120
106
|
if (node.isDirectory && typeof onDirectoryDelete === 'function') {
|
|
121
107
|
void onDirectoryDelete(node.path);
|
|
122
108
|
}
|
|
123
|
-
|
|
124
109
|
if (!node.isDirectory && typeof onFileDelete === 'function') {
|
|
125
110
|
void onFileDelete(node.path);
|
|
126
111
|
}
|
|
@@ -128,13 +113,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
128
113
|
/**
|
|
129
114
|
* Set file readonly.
|
|
130
115
|
*/
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
const renderMenuItemReadOnlySet = () => {
|
|
116
|
+
var renderMenuItemReadOnlySet = function renderMenuItemReadOnlySet() {
|
|
134
117
|
if (!allowToggleReadonly || node.isDirectory || node.isReadonly || node.isHidden) {
|
|
135
118
|
return null;
|
|
136
119
|
}
|
|
137
|
-
|
|
138
120
|
return React.createElement(List.Item, {
|
|
139
121
|
onClick: handleReadOnlySet
|
|
140
122
|
}, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
|
|
@@ -144,13 +126,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
144
126
|
/**
|
|
145
127
|
* Unset file readonly.
|
|
146
128
|
*/
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
const renderMenuItemReadOnlyUnset = () => {
|
|
129
|
+
var renderMenuItemReadOnlyUnset = function renderMenuItemReadOnlyUnset() {
|
|
150
130
|
if (!allowToggleReadonly || node.isDirectory || !node.isReadonly) {
|
|
151
131
|
return null;
|
|
152
132
|
}
|
|
153
|
-
|
|
154
133
|
return React.createElement(List.Item, {
|
|
155
134
|
onClick: handleReadOnlyUnset
|
|
156
135
|
}, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
|
|
@@ -160,13 +139,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
160
139
|
/**
|
|
161
140
|
* Set file hidden.
|
|
162
141
|
*/
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
const renderMenuItemHiddenSet = () => {
|
|
142
|
+
var renderMenuItemHiddenSet = function renderMenuItemHiddenSet() {
|
|
166
143
|
if (!allowToggleHidden || node.isDirectory || node.isReadonly || node.isHidden) {
|
|
167
144
|
return null;
|
|
168
145
|
}
|
|
169
|
-
|
|
170
146
|
return React.createElement(List.Item, {
|
|
171
147
|
onClick: handleHiddenSet
|
|
172
148
|
}, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
|
|
@@ -176,13 +152,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
176
152
|
/**
|
|
177
153
|
* Unset file hidden.
|
|
178
154
|
*/
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
const renderMenuItemHiddenUnset = () => {
|
|
155
|
+
var renderMenuItemHiddenUnset = function renderMenuItemHiddenUnset() {
|
|
182
156
|
if (!allowToggleHidden || node.isDirectory || !node.isHidden) {
|
|
183
157
|
return null;
|
|
184
158
|
}
|
|
185
|
-
|
|
186
159
|
return React.createElement(List.Item, {
|
|
187
160
|
onClick: handleHiddenUnset
|
|
188
161
|
}, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
|
|
@@ -192,13 +165,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
192
165
|
/**
|
|
193
166
|
* New file.
|
|
194
167
|
*/
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const renderMenuItemNewFile = () => {
|
|
168
|
+
var renderMenuItemNewFile = function renderMenuItemNewFile() {
|
|
198
169
|
if (!node.isDirectory) {
|
|
199
170
|
return null;
|
|
200
171
|
}
|
|
201
|
-
|
|
202
172
|
return React.createElement(List.Item, {
|
|
203
173
|
onClick: handleNewFile
|
|
204
174
|
}, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
|
|
@@ -208,13 +178,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
208
178
|
/**
|
|
209
179
|
* New directory.
|
|
210
180
|
*/
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
const renderMenuItemNewDirectory = () => {
|
|
181
|
+
var renderMenuItemNewDirectory = function renderMenuItemNewDirectory() {
|
|
214
182
|
if (!node.isDirectory) {
|
|
215
183
|
return null;
|
|
216
184
|
}
|
|
217
|
-
|
|
218
185
|
return React.createElement(List.Item, {
|
|
219
186
|
onClick: handleNewDirectory
|
|
220
187
|
}, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
|
|
@@ -224,9 +191,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
224
191
|
/**
|
|
225
192
|
* Rename file.
|
|
226
193
|
*/
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const renderMenuItemRename = () => {
|
|
194
|
+
var renderMenuItemRename = function renderMenuItemRename() {
|
|
230
195
|
return React.createElement(List.Item, {
|
|
231
196
|
disabled: !node.isRemovable,
|
|
232
197
|
onClick: handleRename
|
|
@@ -237,12 +202,12 @@ const FileTreeListItemContentMenu = ({
|
|
|
237
202
|
/**
|
|
238
203
|
* Delete file.
|
|
239
204
|
*/
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
const renderMenuItemDelete = () => {
|
|
205
|
+
var renderMenuItemDelete = function renderMenuItemDelete() {
|
|
243
206
|
return React.createElement(List.Item, {
|
|
244
207
|
disabled: !node.isRemovable,
|
|
245
|
-
onClick: ()
|
|
208
|
+
onClick: function onClick() {
|
|
209
|
+
return setDeleteDialogOpen(true);
|
|
210
|
+
}
|
|
246
211
|
}, React.createElement(List.ItemText, null, React.createElement(FormattedMessage, {
|
|
247
212
|
id: "fileTree.list.item.content.menu.item.delete"
|
|
248
213
|
})));
|
|
@@ -250,9 +215,7 @@ const FileTreeListItemContentMenu = ({
|
|
|
250
215
|
/**
|
|
251
216
|
* Menu.
|
|
252
217
|
*/
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
const renderMenu = () => {
|
|
218
|
+
var renderMenu = function renderMenu() {
|
|
256
219
|
return React.createElement(Menu, {
|
|
257
220
|
open: Boolean(anchorEl),
|
|
258
221
|
anchorEl: anchorEl,
|
|
@@ -265,13 +228,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
265
228
|
/**
|
|
266
229
|
* Dialog for confirm delete.
|
|
267
230
|
*/
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
const renderDeleteConfirmDialog = () => {
|
|
231
|
+
var renderDeleteConfirmDialog = function renderDeleteConfirmDialog() {
|
|
271
232
|
if (!isDeleteDialogOpen) {
|
|
272
233
|
return null;
|
|
273
234
|
}
|
|
274
|
-
|
|
275
235
|
return React.createElement(Dialog, {
|
|
276
236
|
type: "warning",
|
|
277
237
|
title: intl.formatMessage({
|
|
@@ -282,9 +242,13 @@ const FileTreeListItemContentMenu = ({
|
|
|
282
242
|
}, {
|
|
283
243
|
title: node.title
|
|
284
244
|
}),
|
|
285
|
-
onHide: ()
|
|
245
|
+
onHide: function onHide() {
|
|
246
|
+
return setDeleteDialogOpen(false);
|
|
247
|
+
}
|
|
286
248
|
}, React.createElement(Dialog.CloseButton, {
|
|
287
|
-
onClick: ()
|
|
249
|
+
onClick: function onClick() {
|
|
250
|
+
return setDeleteDialogOpen(false);
|
|
251
|
+
}
|
|
288
252
|
}, React.createElement(FormattedMessage, {
|
|
289
253
|
id: "fileTree.list.item.content.menu.deleteConfirmDialog.cancel"
|
|
290
254
|
})), React.createElement(Dialog.ActionButton, {
|
|
@@ -292,11 +256,10 @@ const FileTreeListItemContentMenu = ({
|
|
|
292
256
|
}, React.createElement(FormattedMessage, {
|
|
293
257
|
id: "fileTree.list.item.content.menu.deleteConfirmDialog.confirm"
|
|
294
258
|
})));
|
|
295
|
-
};
|
|
259
|
+
};
|
|
260
|
+
//
|
|
296
261
|
//
|
|
297
262
|
//
|
|
298
|
-
|
|
299
|
-
|
|
300
263
|
return React.createElement(React.Fragment, null, renderMenu(), renderDeleteConfirmDialog());
|
|
301
264
|
};
|
|
302
265
|
|