@elice/material-exercise 1.240718.0-trasncript.2 → 1.240718.2

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.
Files changed (459) hide show
  1. package/cjs/assets/empty.png.js +2 -1
  2. package/cjs/components/material-exercise/MaterialExercise.d.ts +1 -1
  3. package/cjs/components/material-exercise/MaterialExercise.js +75 -111
  4. package/cjs/components/material-exercise/MaterialExercise.styled.js +14 -18
  5. package/cjs/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  6. package/cjs/components/material-exercise/MaterialExerciseMobile.js +7 -17
  7. package/cjs/components/material-exercise/context/ExerciseProvider.js +58 -68
  8. package/cjs/components/material-exercise/context/ExerciseProviderNoImage.js +30 -39
  9. package/cjs/components/material-exercise/context/context.js +1 -5
  10. package/cjs/components/material-exercise/context/recoil.js +293 -542
  11. package/cjs/components/material-exercise/context/subjects.js +4 -4
  12. package/cjs/components/material-exercise/context/types.d.ts +2 -2
  13. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -100
  14. package/cjs/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -12
  15. package/cjs/components/material-exercise/exercise-file/ExerciseFile.js +27 -30
  16. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -225
  17. package/cjs/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -20
  18. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -49
  19. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  20. package/cjs/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -10
  21. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -53
  22. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -353
  23. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  24. package/cjs/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -10
  25. package/cjs/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -18
  26. package/cjs/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -21
  27. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  28. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -123
  29. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -100
  30. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuReset.js +22 -40
  31. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +119 -144
  32. package/cjs/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -17
  33. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -32
  34. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  35. package/cjs/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -10
  36. package/cjs/components/material-exercise/exercise-preview/ExercisePreview.js +24 -31
  37. package/cjs/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +6 -13
  38. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -51
  39. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -14
  40. package/cjs/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -90
  41. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.js +12 -25
  42. package/cjs/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -18
  43. package/cjs/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -504
  44. package/cjs/components/material-exercise/exercise-room/ExerciseRoomList.js +132 -197
  45. package/cjs/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  46. package/cjs/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -205
  47. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -5
  48. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -25
  49. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +86 -118
  50. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +19 -33
  51. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -95
  52. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -68
  53. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -136
  54. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -6
  55. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -21
  56. package/cjs/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -36
  57. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +248 -402
  58. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -12
  59. package/cjs/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +50 -74
  60. package/cjs/components/shared/exercise-menu-button/ExerciseMenuButton.js +23 -32
  61. package/cjs/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -44
  62. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -26
  63. package/cjs/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -14
  64. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -28
  65. package/cjs/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -24
  66. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  67. package/cjs/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -5
  68. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  69. package/cjs/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -13
  70. package/cjs/components/shared/file-icon/FileIcon.js +16 -23
  71. package/cjs/components/shared/file-tabs/FileTab.js +33 -47
  72. package/cjs/components/shared/file-tabs/FileTab.styled.js +15 -23
  73. package/cjs/components/shared/file-tabs/FileTabs.js +39 -66
  74. package/cjs/components/shared/file-tabs/FileTabs.styled.js +2 -6
  75. package/cjs/components/shared/file-tabs/util.js +14 -27
  76. package/cjs/components/shared/file-tree/FileTree.js +10 -20
  77. package/cjs/components/shared/file-tree/FileTreeConfig.js +40 -46
  78. package/cjs/components/shared/file-tree/FileTreeList.js +40 -43
  79. package/cjs/components/shared/file-tree/FileTreeListItemContent.js +99 -128
  80. package/cjs/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -29
  81. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.js +96 -106
  82. package/cjs/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -10
  83. package/cjs/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -133
  84. package/cjs/components/shared/file-tree/FileTreeListItems.js +137 -149
  85. package/cjs/components/shared/file-tree/FileTreeListItems.styled.js +2 -6
  86. package/cjs/components/shared/file-tree/FileTreeToolbar.styled.js +1 -5
  87. package/cjs/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  88. package/cjs/components/shared/file-tree/context/FileTreeContext.js +79 -101
  89. package/cjs/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -59
  90. package/cjs/components/shared/file-tree/utils/fileTreeFiles.js +20 -24
  91. package/cjs/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  92. package/cjs/components/shared/file-tree/utils/fileTreeInput.js +0 -11
  93. package/cjs/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  94. package/cjs/components/shared/file-tree/utils/fileTreePath.js +6 -5
  95. package/cjs/components/shared/file-viewer/FileViewer.js +46 -76
  96. package/cjs/components/shared/file-viewer/FileViewerCsv.js +167 -262
  97. package/cjs/components/shared/file-viewer/FileViewerImage.js +12 -16
  98. package/cjs/components/shared/file-viewer/FileViewerIpynb.js +11 -27
  99. package/cjs/components/shared/file-viewer/FileViewerNonViewable.js +47 -65
  100. package/cjs/components/shared/file-viewer/FileViewerText.js +11 -23
  101. package/cjs/components/shared/material-modal/MaterialModal.js +11 -20
  102. package/cjs/components/shared/material-modal/MaterialModal.styled.js +5 -9
  103. package/cjs/components/shared/monaco-editor/MonacoEditor.js +74 -102
  104. package/cjs/components/shared/monaco-editor/MonacoEditorLazy.js +7 -15
  105. package/cjs/components/shared/monaco-editor/MonacoEditorMobile.js +34 -49
  106. package/cjs/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -249
  107. package/cjs/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  108. package/cjs/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  109. package/cjs/components/shared/monaco-editor/constants/themes/index.js +17 -49
  110. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  111. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  112. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  113. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  114. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  115. package/cjs/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  116. package/cjs/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  117. package/cjs/components/shared/monaco-editor/editor-languages/css/index.js +2 -3
  118. package/cjs/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  119. package/cjs/components/shared/monaco-editor/editor-languages/html/index.js +2 -3
  120. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  121. package/cjs/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  122. package/cjs/components/shared/monaco-editor/editor-languages/typescript/index.js +5 -6
  123. package/cjs/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  124. package/cjs/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  125. package/cjs/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  126. package/cjs/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  127. package/cjs/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  128. package/cjs/components/shared/monaco-editor/utils/grammar/textmate.js +37 -70
  129. package/cjs/components/shared/monaco-editor/utils/monacoLanguage.js +7 -8
  130. package/cjs/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  131. package/cjs/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  132. package/cjs/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  133. package/cjs/components/shared/monaco-editor/utils/theme/convert.js +14 -24
  134. package/cjs/components/shared/monaco-editor/utils/theme/index.js +3 -22
  135. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  136. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  137. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  138. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +132 -155
  139. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  140. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  141. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  142. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  143. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +158 -177
  144. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  145. package/cjs/components/shared/no-vnc/NoVnc.js +78 -118
  146. package/cjs/components/shared/no-vnc/NoVncLazy.js +7 -15
  147. package/cjs/components/shared/preview-container/PreviewContainer.js +13 -18
  148. package/cjs/components/shared/web-browser/WebBrowser.js +52 -74
  149. package/cjs/components/shared/xterm/Xterm.js +57 -82
  150. package/cjs/components/shared/xterm/XtermLazy.js +7 -15
  151. package/cjs/constants/arduino.js +10 -10
  152. package/cjs/constants/color.js +1 -1
  153. package/cjs/constants/shortcutKeyMap.js +1 -3
  154. package/cjs/constants/stylesheets.js +5 -7
  155. package/cjs/hooks/useArduino.js +141 -282
  156. package/cjs/hooks/useExerciseFile.js +22 -24
  157. package/cjs/hooks/useExericseShortcut.js +4 -6
  158. package/cjs/hooks/useMaterialExerciseFileUrl.js +33 -55
  159. package/cjs/hooks/useRunnerRoomWebSocket.js +27 -51
  160. package/cjs/hooks/useStdioTextConcator.js +11 -15
  161. package/cjs/hooks/useStdioWebSocket.js +28 -32
  162. package/cjs/hooks/useUsercodeEditWebSocket.js +158 -238
  163. package/cjs/hooks/useUsercodeHistory.js +63 -115
  164. package/cjs/utils/arduino.js +11 -23
  165. package/cjs/utils/exerciseFile.js +10 -8
  166. package/cjs/utils/runner.js +17 -33
  167. package/es/assets/empty.png.js +2 -1
  168. package/es/components/material-exercise/MaterialExercise.d.ts +1 -1
  169. package/es/components/material-exercise/MaterialExercise.js +75 -107
  170. package/es/components/material-exercise/MaterialExercise.styled.js +14 -14
  171. package/es/components/material-exercise/MaterialExerciseMobile.d.ts +1 -1
  172. package/es/components/material-exercise/MaterialExerciseMobile.js +7 -13
  173. package/es/components/material-exercise/context/ExerciseProvider.js +58 -63
  174. package/es/components/material-exercise/context/ExerciseProviderNoImage.js +30 -35
  175. package/es/components/material-exercise/context/context.js +1 -1
  176. package/es/components/material-exercise/context/recoil.js +290 -535
  177. package/es/components/material-exercise/context/subjects.js +4 -4
  178. package/es/components/material-exercise/context/types.d.ts +2 -2
  179. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.js +78 -95
  180. package/es/components/material-exercise/exercise-code-history/ExerciseCodeHistory.styled.js +8 -8
  181. package/es/components/material-exercise/exercise-file/ExerciseFile.js +27 -25
  182. package/es/components/material-exercise/exercise-file-editor/ExerciseFileEditor.js +149 -221
  183. package/es/components/material-exercise/exercise-file-editor/ExerciseFileReadOnlyBanner.js +13 -15
  184. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabs.js +29 -44
  185. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.d.ts +2 -1
  186. package/es/components/material-exercise/exercise-file-tabs/ExerciseFileTabsLazy.js +4 -6
  187. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/ExerciseFileTabsFileTreeButton.js +36 -48
  188. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTree.js +211 -348
  189. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.d.ts +2 -1
  190. package/es/components/material-exercise/exercise-file-tree/ExerciseFileTreeLazy.js +4 -6
  191. package/es/components/material-exercise/exercise-file-viewer/ExerciseFileViewer.js +15 -14
  192. package/es/components/material-exercise/exercise-menu/ExerciseMenu.js +12 -16
  193. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoAgentModalButton.js +11 -12
  194. package/es/components/material-exercise/exercise-menu/ExerciseMenuArduinoSettings.js +80 -119
  195. package/es/components/material-exercise/exercise-menu/ExerciseMenuDropdown.js +67 -96
  196. package/es/components/material-exercise/exercise-menu/ExerciseMenuReset.js +23 -41
  197. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.js +122 -143
  198. package/es/components/material-exercise/exercise-menu/ExerciseMenuStdioFileBrowser.styled.js +13 -13
  199. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdown.js +19 -28
  200. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.d.ts +2 -1
  201. package/es/components/material-exercise/exercise-multilang-dropdown/ExerciseMultilangDropdownLazy.js +4 -6
  202. package/es/components/material-exercise/exercise-preview/ExercisePreview.js +24 -26
  203. package/es/components/material-exercise/exercise-preview/ExercisePreviewDisplayModeButton.js +7 -14
  204. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpane.js +35 -47
  205. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEditorPerference.js +6 -10
  206. package/es/components/material-exercise/exercise-rightpane/ExerciseRightpaneEnvironment.js +78 -85
  207. package/es/components/material-exercise/exercise-room/ExerciseRoom.js +12 -21
  208. package/es/components/material-exercise/exercise-room/ExerciseRoom.styled.js +12 -14
  209. package/es/components/material-exercise/exercise-room/ExerciseRoomDetail.js +349 -498
  210. package/es/components/material-exercise/exercise-room/ExerciseRoomList.js +133 -193
  211. package/es/components/material-exercise/exercise-room/helpers/exerciseRoomPermissionStringConvertor.js +2 -2
  212. package/es/components/material-exercise/exercise-runner/ExerciseRunner.js +142 -200
  213. package/es/components/material-exercise/exercise-runner/ExerciseRunnerContext.js +1 -1
  214. package/es/components/material-exercise/exercise-runner/ExerciseRunnerController.js +16 -20
  215. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoAgentModal.js +85 -112
  216. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerArduinoStatusMessage.js +20 -30
  217. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerButtonGroup.js +82 -90
  218. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerCodeHelpRequestButton.js +52 -63
  219. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerRunningInfo.js +87 -131
  220. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusIndicator.js +2 -2
  221. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerStatusMessage.js +15 -17
  222. package/es/components/material-exercise/exercise-runner/ExerciseRunnerControllerTimer.js +23 -31
  223. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.js +250 -399
  224. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistory.styled.js +8 -8
  225. package/es/components/material-exercise/exercise-submit-history/ExerciseSubmitHistoryOutput.js +49 -68
  226. package/es/components/shared/exercise-menu-button/ExerciseMenuButton.js +24 -29
  227. package/es/components/shared/exercise-shimmer/ExerciseFileShimmer.js +38 -40
  228. package/es/components/shared/exercise-shimmer/ExerciseFileTabShimmer.js +20 -22
  229. package/es/components/shared/exercise-shimmer/ExerciseFileTabsShimmer.js +8 -10
  230. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListItemShimmer.js +22 -24
  231. package/es/components/shared/exercise-shimmer/ExerciseFileTreeListShimmer.js +9 -19
  232. package/es/components/shared/exercise-version-list/ExerciseVersionList.js +5 -6
  233. package/es/components/shared/exercise-version-list/ExerciseVersionList.styled.js +1 -1
  234. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.js +10 -10
  235. package/es/components/shared/exercise-version-list/ExerciseVersionListItem.styled.js +5 -9
  236. package/es/components/shared/file-icon/FileIcon.js +16 -19
  237. package/es/components/shared/file-tabs/FileTab.js +33 -43
  238. package/es/components/shared/file-tabs/FileTab.styled.js +15 -19
  239. package/es/components/shared/file-tabs/FileTabs.js +40 -62
  240. package/es/components/shared/file-tabs/FileTabs.styled.js +2 -2
  241. package/es/components/shared/file-tabs/util.js +14 -27
  242. package/es/components/shared/file-tree/FileTree.js +10 -16
  243. package/es/components/shared/file-tree/FileTreeConfig.js +39 -39
  244. package/es/components/shared/file-tree/FileTreeList.js +40 -38
  245. package/es/components/shared/file-tree/FileTreeListItemContent.js +99 -124
  246. package/es/components/shared/file-tree/FileTreeListItemContent.styled.js +21 -25
  247. package/es/components/shared/file-tree/FileTreeListItemContentInput.js +96 -102
  248. package/es/components/shared/file-tree/FileTreeListItemContentInput.styled.js +6 -6
  249. package/es/components/shared/file-tree/FileTreeListItemContentMenu.js +91 -129
  250. package/es/components/shared/file-tree/FileTreeListItems.js +137 -149
  251. package/es/components/shared/file-tree/FileTreeListItems.styled.js +2 -2
  252. package/es/components/shared/file-tree/FileTreeToolbar.styled.js +1 -1
  253. package/es/components/shared/file-tree/context/FileTreeContext.d.ts +1 -1
  254. package/es/components/shared/file-tree/context/FileTreeContext.js +79 -97
  255. package/es/components/shared/file-tree/file-tree-toolbar/FileTreeToolbar.js +54 -55
  256. package/es/components/shared/file-tree/utils/fileTreeFiles.js +20 -20
  257. package/es/components/shared/file-tree/utils/fileTreeGenerator.js +146 -193
  258. package/es/components/shared/file-tree/utils/fileTreeInput.js +1 -11
  259. package/es/components/shared/file-tree/utils/fileTreeItem.js +1 -1
  260. package/es/components/shared/file-tree/utils/fileTreePath.js +6 -5
  261. package/es/components/shared/file-viewer/FileViewer.js +46 -69
  262. package/es/components/shared/file-viewer/FileViewerCsv.js +167 -257
  263. package/es/components/shared/file-viewer/FileViewerImage.js +12 -12
  264. package/es/components/shared/file-viewer/FileViewerIpynb.js +11 -21
  265. package/es/components/shared/file-viewer/FileViewerNonViewable.js +47 -60
  266. package/es/components/shared/file-viewer/FileViewerText.js +11 -19
  267. package/es/components/shared/material-modal/MaterialModal.js +11 -20
  268. package/es/components/shared/material-modal/MaterialModal.styled.js +5 -5
  269. package/es/components/shared/monaco-editor/MonacoEditor.js +72 -95
  270. package/es/components/shared/monaco-editor/MonacoEditorLazy.js +7 -11
  271. package/es/components/shared/monaco-editor/MonacoEditorMobile.js +32 -43
  272. package/es/components/shared/monaco-editor/MonacoEditorPerferenceForm.js +194 -244
  273. package/es/components/shared/monaco-editor/constants/grammars/index.js +28 -82
  274. package/es/components/shared/monaco-editor/constants/monaco/preferences.js +5 -5
  275. package/es/components/shared/monaco-editor/constants/themes/index.js +17 -49
  276. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventChange.js +10 -11
  277. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventCursor.js +14 -15
  278. package/es/components/shared/monaco-editor/editor-hooks/useMonacoEventScroll.js +8 -9
  279. package/es/components/shared/monaco-editor/editor-hooks/useMonacoMarkers.js +30 -34
  280. package/es/components/shared/monaco-editor/editor-hooks/useMonacoOptions.js +7 -9
  281. package/es/components/shared/monaco-editor/editor-hooks/useMonacoTheme.js +6 -6
  282. package/es/components/shared/monaco-editor/editor-languages/css/formatter.js +10 -33
  283. package/es/components/shared/monaco-editor/editor-languages/html/formatter.js +10 -33
  284. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/_helper.js +1 -1
  285. package/es/components/shared/monaco-editor/editor-languages/typescript/formatter.js +10 -37
  286. package/es/components/shared/monaco-editor/editor-languages/typescript/index.js +3 -3
  287. package/es/components/shared/monaco-editor/hooks/useEditorOptions.js +5 -11
  288. package/es/components/shared/monaco-editor/utils/emmet/abbreviationActions.js +12 -10
  289. package/es/components/shared/monaco-editor/utils/emmet/registerProvider.js +6 -12
  290. package/es/components/shared/monaco-editor/utils/grammar/index.js +24 -67
  291. package/es/components/shared/monaco-editor/utils/grammar/onigasm.js +6 -25
  292. package/es/components/shared/monaco-editor/utils/grammar/textmate.js +35 -67
  293. package/es/components/shared/monaco-editor/utils/monacoLanguage.js +5 -5
  294. package/es/components/shared/monaco-editor/utils/monacoPreference.js +4 -6
  295. package/es/components/shared/monaco-editor/utils/prettier/config.js +2 -2
  296. package/es/components/shared/monaco-editor/utils/prettier/index.js +7 -27
  297. package/es/components/shared/monaco-editor/utils/theme/convert.js +13 -19
  298. package/es/components/shared/monaco-editor/utils/theme/index.js +3 -22
  299. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursor.js +56 -77
  300. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorManager.js +68 -82
  301. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteCursorWidget.js +93 -120
  302. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelection.js +130 -152
  303. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/RemoteSelectionManager.js +92 -104
  304. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/styles.js +2 -2
  305. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/configCompat.js +6 -1
  306. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/data.js +2 -2
  307. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/emmetHelper.js +156 -171
  308. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/utils.js +3 -3
  309. package/es/components/shared/no-vnc/NoVnc.js +71 -99
  310. package/es/components/shared/no-vnc/NoVncLazy.js +7 -11
  311. package/es/components/shared/preview-container/PreviewContainer.js +14 -15
  312. package/es/components/shared/web-browser/WebBrowser.js +52 -69
  313. package/es/components/shared/xterm/Xterm.js +57 -77
  314. package/es/components/shared/xterm/XtermLazy.js +7 -11
  315. package/es/constants/arduino.js +10 -10
  316. package/es/constants/color.js +1 -1
  317. package/es/constants/shortcutKeyMap.js +1 -3
  318. package/es/constants/stylesheets.js +5 -7
  319. package/es/hooks/useArduino.js +141 -278
  320. package/es/hooks/useExerciseFile.js +22 -24
  321. package/es/hooks/useExericseShortcut.js +4 -6
  322. package/es/hooks/useMaterialExerciseFileUrl.js +34 -52
  323. package/es/hooks/useRunnerRoomWebSocket.js +27 -51
  324. package/es/hooks/useStdioTextConcator.js +11 -11
  325. package/es/hooks/useStdioWebSocket.js +28 -32
  326. package/es/hooks/useUsercodeEditWebSocket.js +157 -232
  327. package/es/hooks/useUsercodeHistory.js +63 -115
  328. package/es/utils/arduino.js +12 -24
  329. package/es/utils/exerciseFile.js +10 -8
  330. package/es/utils/runner.js +17 -33
  331. package/package.json +15 -11
  332. package/cjs/_virtual/_rollupPluginBabelHelpers.js +0 -519
  333. package/cjs/components/index.js +0 -25
  334. package/cjs/components/locales/index.js +0 -13
  335. package/cjs/components/material-exercise/context/index.js +0 -57
  336. package/cjs/components/material-exercise/exercise-code-history/index.js +0 -7
  337. package/cjs/components/material-exercise/exercise-code-history/locales/index.js +0 -13
  338. package/cjs/components/material-exercise/exercise-file/index.js +0 -7
  339. package/cjs/components/material-exercise/exercise-file-editor/index.js +0 -7
  340. package/cjs/components/material-exercise/exercise-file-editor/locales/index.js +0 -13
  341. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -7
  342. package/cjs/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -13
  343. package/cjs/components/material-exercise/exercise-file-tabs/index.js +0 -9
  344. package/cjs/components/material-exercise/exercise-file-tabs/locales/index.js +0 -13
  345. package/cjs/components/material-exercise/exercise-file-tree/index.js +0 -9
  346. package/cjs/components/material-exercise/exercise-file-tree/locales/index.js +0 -13
  347. package/cjs/components/material-exercise/exercise-file-viewer/index.js +0 -7
  348. package/cjs/components/material-exercise/exercise-menu/index.js +0 -7
  349. package/cjs/components/material-exercise/exercise-menu/locales/index.js +0 -13
  350. package/cjs/components/material-exercise/exercise-multilang-dropdown/index.js +0 -9
  351. package/cjs/components/material-exercise/exercise-preview/index.js +0 -7
  352. package/cjs/components/material-exercise/exercise-preview/locales/index.js +0 -13
  353. package/cjs/components/material-exercise/exercise-rightpane/index.js +0 -7
  354. package/cjs/components/material-exercise/exercise-rightpane/locales/index.js +0 -13
  355. package/cjs/components/material-exercise/exercise-room/helpers/index.js +0 -7
  356. package/cjs/components/material-exercise/exercise-room/index.js +0 -7
  357. package/cjs/components/material-exercise/exercise-room/locales/index.js +0 -13
  358. package/cjs/components/material-exercise/exercise-runner/index.js +0 -7
  359. package/cjs/components/material-exercise/exercise-runner/locales/index.js +0 -13
  360. package/cjs/components/material-exercise/exercise-submit-history/index.js +0 -7
  361. package/cjs/components/material-exercise/exercise-submit-history/locales/index.js +0 -13
  362. package/cjs/components/material-exercise/index.js +0 -9
  363. package/cjs/components/shared/exercise-menu-button/index.js +0 -7
  364. package/cjs/components/shared/exercise-shimmer/index.js +0 -15
  365. package/cjs/components/shared/exercise-version-list/index.js +0 -9
  366. package/cjs/components/shared/file-icon/index.js +0 -7
  367. package/cjs/components/shared/file-tabs/index.js +0 -7
  368. package/cjs/components/shared/file-tree/context/index.js +0 -9
  369. package/cjs/components/shared/file-tree/file-tree-toolbar/index.js +0 -7
  370. package/cjs/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -13
  371. package/cjs/components/shared/file-tree/index.js +0 -7
  372. package/cjs/components/shared/file-tree/locales/index.js +0 -13
  373. package/cjs/components/shared/file-tree/utils/index.js +0 -20
  374. package/cjs/components/shared/file-viewer/index.js +0 -7
  375. package/cjs/components/shared/file-viewer/locales/index.js +0 -21
  376. package/cjs/components/shared/material-modal/index.js +0 -7
  377. package/cjs/components/shared/monaco-editor/constants/index.js +0 -13
  378. package/cjs/components/shared/monaco-editor/constants/monaco/index.js +0 -11
  379. package/cjs/components/shared/monaco-editor/editor-hooks/index.js +0 -17
  380. package/cjs/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -11
  381. package/cjs/components/shared/monaco-editor/hooks/index.js +0 -7
  382. package/cjs/components/shared/monaco-editor/index.js +0 -21
  383. package/cjs/components/shared/monaco-editor/locales/index.js +0 -13
  384. package/cjs/components/shared/monaco-editor/utils/emmet/index.js +0 -9
  385. package/cjs/components/shared/monaco-editor/utils/index.js +0 -9
  386. package/cjs/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -12
  387. package/cjs/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -11
  388. package/cjs/components/shared/no-vnc/index.js +0 -7
  389. package/cjs/components/shared/preview-container/index.js +0 -9
  390. package/cjs/components/shared/web-browser/index.js +0 -7
  391. package/cjs/components/shared/xterm/index.js +0 -7
  392. package/cjs/components/shared/xterm/locales/index.js +0 -13
  393. package/cjs/constants/index.js +0 -7
  394. package/cjs/hooks/index.js +0 -20
  395. package/cjs/utils/index.js +0 -10
  396. package/es/_virtual/_rollupPluginBabelHelpers.js +0 -499
  397. package/es/components/index.js +0 -8
  398. package/es/components/locales/index.js +0 -4
  399. package/es/components/material-exercise/context/index.js +0 -5
  400. package/es/components/material-exercise/exercise-code-history/index.js +0 -1
  401. package/es/components/material-exercise/exercise-code-history/locales/index.js +0 -4
  402. package/es/components/material-exercise/exercise-file/index.js +0 -1
  403. package/es/components/material-exercise/exercise-file-editor/index.js +0 -1
  404. package/es/components/material-exercise/exercise-file-editor/locales/index.js +0 -4
  405. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/index.js +0 -1
  406. package/es/components/material-exercise/exercise-file-tabs/exercise-file-tabs-file-tree-button/locales/index.js +0 -4
  407. package/es/components/material-exercise/exercise-file-tabs/index.js +0 -2
  408. package/es/components/material-exercise/exercise-file-tabs/locales/index.js +0 -4
  409. package/es/components/material-exercise/exercise-file-tree/index.js +0 -2
  410. package/es/components/material-exercise/exercise-file-tree/locales/index.js +0 -4
  411. package/es/components/material-exercise/exercise-file-viewer/index.js +0 -1
  412. package/es/components/material-exercise/exercise-menu/index.js +0 -1
  413. package/es/components/material-exercise/exercise-menu/locales/index.js +0 -4
  414. package/es/components/material-exercise/exercise-multilang-dropdown/index.js +0 -2
  415. package/es/components/material-exercise/exercise-preview/index.js +0 -1
  416. package/es/components/material-exercise/exercise-preview/locales/index.js +0 -4
  417. package/es/components/material-exercise/exercise-rightpane/index.js +0 -1
  418. package/es/components/material-exercise/exercise-rightpane/locales/index.js +0 -4
  419. package/es/components/material-exercise/exercise-room/helpers/index.js +0 -1
  420. package/es/components/material-exercise/exercise-room/index.js +0 -1
  421. package/es/components/material-exercise/exercise-room/locales/index.js +0 -4
  422. package/es/components/material-exercise/exercise-runner/index.js +0 -1
  423. package/es/components/material-exercise/exercise-runner/locales/index.js +0 -4
  424. package/es/components/material-exercise/exercise-submit-history/index.js +0 -1
  425. package/es/components/material-exercise/exercise-submit-history/locales/index.js +0 -4
  426. package/es/components/material-exercise/index.js +0 -2
  427. package/es/components/shared/exercise-menu-button/index.js +0 -1
  428. package/es/components/shared/exercise-shimmer/index.js +0 -5
  429. package/es/components/shared/exercise-version-list/index.js +0 -2
  430. package/es/components/shared/file-icon/index.js +0 -1
  431. package/es/components/shared/file-tabs/index.js +0 -1
  432. package/es/components/shared/file-tree/context/index.js +0 -1
  433. package/es/components/shared/file-tree/file-tree-toolbar/index.js +0 -1
  434. package/es/components/shared/file-tree/file-tree-toolbar/locales/index.js +0 -4
  435. package/es/components/shared/file-tree/index.js +0 -1
  436. package/es/components/shared/file-tree/locales/index.js +0 -4
  437. package/es/components/shared/file-tree/utils/index.js +0 -5
  438. package/es/components/shared/file-viewer/index.js +0 -1
  439. package/es/components/shared/file-viewer/locales/index.js +0 -8
  440. package/es/components/shared/material-modal/index.js +0 -1
  441. package/es/components/shared/monaco-editor/constants/index.js +0 -2
  442. package/es/components/shared/monaco-editor/constants/monaco/index.js +0 -1
  443. package/es/components/shared/monaco-editor/editor-hooks/index.js +0 -6
  444. package/es/components/shared/monaco-editor/editor-languages/typescript/dts/index.js +0 -3
  445. package/es/components/shared/monaco-editor/hooks/index.js +0 -1
  446. package/es/components/shared/monaco-editor/index.js +0 -6
  447. package/es/components/shared/monaco-editor/locales/index.js +0 -4
  448. package/es/components/shared/monaco-editor/utils/emmet/index.js +0 -1
  449. package/es/components/shared/monaco-editor/utils/index.js +0 -2
  450. package/es/components/shared/monaco-editor/vendors/monaco-collab-ext/index.js +0 -3
  451. package/es/components/shared/monaco-editor/vendors/vscode-emmet-helper/index.js +0 -2
  452. package/es/components/shared/no-vnc/index.js +0 -1
  453. package/es/components/shared/preview-container/index.js +0 -1
  454. package/es/components/shared/web-browser/index.js +0 -1
  455. package/es/components/shared/xterm/index.js +0 -1
  456. package/es/components/shared/xterm/locales/index.js +0 -4
  457. package/es/constants/index.js +0 -1
  458. package/es/hooks/index.js +0 -7
  459. package/es/utils/index.js +0 -2
@@ -2,8 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _rollupPluginBabelHelpers = require('../../../_virtual/_rollupPluginBabelHelpers.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
5
  var React = require('react');
8
6
  var reactUse = require('react-use');
9
7
  var apiClient = require('@elice/api-client');
@@ -23,111 +21,75 @@ require('../context/ExerciseProvider.js');
23
21
  var exerciseRoomPermissionStringConvertor = require('./helpers/exerciseRoomPermissionStringConvertor.js');
24
22
  var ExerciseRoom_styled = require('./ExerciseRoom.styled.js');
25
23
 
26
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
27
-
28
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
29
- var ___default = /*#__PURE__*/_interopDefaultCompat(_);
30
- var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
31
-
32
- var StyledModal = styled__default.default(blocks.Modal).withConfig({
24
+ const StyledModal = styled(blocks.Modal).withConfig({
33
25
  componentId: "sc-x9irqe-0"
34
26
  })(["& > div:first-child{.eb-button{color:", ";&:hover{color:", ";}}}& .eb-input[width='full']{*:not(button,button > *){background-color:", ";color:", ";}& > div{border:1px solid ", ";}}& .eb-select{*{background-color:", ";color:", ";}& > div{border:1px solid ", ";}& select{padding-top:6px;padding-bottom:6px;height:2rem;font-size:0.75rem;}}"], designTokens.base.color.navy0, designTokens.base.color.navy0, designTokens.base.color.navy7, designTokens.base.color.navy0, designTokens.base.color.navy6, designTokens.base.color.navy6, designTokens.base.color.navy0, designTokens.base.color.navy5);
35
- var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDetail(_ref) {
36
- var selectedExerciseRoomId = _ref.selectedExerciseRoomId,
37
- goToList = _ref.goToList,
38
- onHide = _ref.onHide;
27
+ const MaterialExerciseExerciseRoomDetail = ({
28
+ selectedExerciseRoomId,
29
+ goToList,
30
+ onHide
31
+ }) => {
39
32
  var _a, _b, _c, _d, _e;
40
- var intl$1 = intl.useRawEliceIntl();
41
- var _React$useContext = React__default.default.useContext(context.ExerciseContext),
42
- materialExerciseId = _React$useContext.materialExerciseId,
43
- onExerciseRoomIdChange = _React$useContext.onExerciseRoomIdChange;
44
- var materialExercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
45
- var user = recoil.useRecoilValue(recoil$1.exerciseUserState);
46
- var _React$useState = React__default.default.useState(),
47
- _React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
48
- exerciseRoom = _React$useState2[0],
49
- setExerciseRoom = _React$useState2[1];
50
- var _React$useState3 = React__default.default.useState(''),
51
- _React$useState4 = _rollupPluginBabelHelpers.slicedToArray(_React$useState3, 2),
52
- title = _React$useState4[0],
53
- setTitle = _React$useState4[1];
54
- var _React$useState5 = React__default.default.useState(''),
55
- _React$useState6 = _rollupPluginBabelHelpers.slicedToArray(_React$useState5, 2),
56
- debouncedTitle = _React$useState6[0],
57
- setDebouncedTitle = _React$useState6[1];
58
- var _React$useState7 = React__default.default.useState(''),
59
- _React$useState8 = _rollupPluginBabelHelpers.slicedToArray(_React$useState7, 2),
60
- search = _React$useState8[0],
61
- setSearch = _React$useState8[1];
62
- var _React$useState9 = React__default.default.useState(''),
63
- _React$useState10 = _rollupPluginBabelHelpers.slicedToArray(_React$useState9, 2),
64
- debouncedSearch = _React$useState10[0],
65
- setDebouncedSearch = _React$useState10[1];
66
- var _React$useState11 = React__default.default.useState([]),
67
- _React$useState12 = _rollupPluginBabelHelpers.slicedToArray(_React$useState11, 2),
68
- exerciseRoomUserList = _React$useState12[0],
69
- setExerciseRoomUserList = _React$useState12[1];
70
- var _React$useState13 = React__default.default.useState(false),
71
- _React$useState14 = _rollupPluginBabelHelpers.slicedToArray(_React$useState13, 2),
72
- isLeaveDialogOpen = _React$useState14[0],
73
- setIsLeaveDialogOpen = _React$useState14[1];
74
- var _React$useState15 = React__default.default.useState(false),
75
- _React$useState16 = _rollupPluginBabelHelpers.slicedToArray(_React$useState15, 2),
76
- isDeleting = _React$useState16[0],
77
- setIsDeleting = _React$useState16[1];
78
- var isThisChatRoomOwner = (_b = ((_a = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.roomUsers.find(function (roomUser) {
79
- return roomUser.user.id === (user === null || user === void 0 ? void 0 : user.id);
80
- })) === null || _a === void 0 ? void 0 : _a.permission) === types.enums.ExerciseRoomPermission.Owner) !== null && _b !== void 0 ? _b : false;
81
- var shareLink = materialExercise ? "https://".concat(window.location.host, "/courses/").concat(materialExercise._courseId, "/lectures/").concat(materialExercise === null || materialExercise === void 0 ? void 0 : materialExercise._lectureId, "/lecturepages/").concat(materialExercise === null || materialExercise === void 0 ? void 0 : materialExercise._lecturePageId, "/projects/").concat(selectedExerciseRoomId) : '';
82
- var _useCopyToClipboard = reactUse.useCopyToClipboard(),
83
- _useCopyToClipboard2 = _rollupPluginBabelHelpers.slicedToArray(_useCopyToClipboard, 2),
84
- copyToClipboard = _useCopyToClipboard2[1];
85
- var doGetOrgMaterialExerciseExerciseRoomGet = React__default.default.useCallback(function () {
33
+ const intl$1 = intl.useRawEliceIntl();
34
+ const {
35
+ materialExerciseId,
36
+ onExerciseRoomIdChange
37
+ } = React.useContext(context.ExerciseContext);
38
+ const materialExercise = recoil.useRecoilValue(recoil$1.exerciseState(materialExerciseId));
39
+ const user = recoil.useRecoilValue(recoil$1.exerciseUserState);
40
+ const [exerciseRoom, setExerciseRoom] = React.useState();
41
+ const [title, setTitle] = React.useState('');
42
+ const [debouncedTitle, setDebouncedTitle] = React.useState('');
43
+ const [search, setSearch] = React.useState('');
44
+ const [debouncedSearch, setDebouncedSearch] = React.useState('');
45
+ const [exerciseRoomUserList, setExerciseRoomUserList] = React.useState([]);
46
+ const [isLeaveDialogOpen, setIsLeaveDialogOpen] = React.useState(false);
47
+ const [isDeleting, setIsDeleting] = React.useState(false);
48
+ const isThisChatRoomOwner = (_b = ((_a = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.roomUsers.find(roomUser => roomUser.user.id === (user === null || user === void 0 ? void 0 : user.id))) === null || _a === void 0 ? void 0 : _a.permission) === types.enums.ExerciseRoomPermission.Owner) !== null && _b !== void 0 ? _b : false;
49
+ const shareLink = materialExercise ? `https://${window.location.host}/courses/${materialExercise._courseId}/lectures/${materialExercise === null || materialExercise === void 0 ? void 0 : materialExercise._lectureId}/lecturepages/${materialExercise === null || materialExercise === void 0 ? void 0 : materialExercise._lecturePageId}/projects/${selectedExerciseRoomId}` : '';
50
+ const [, copyToClipboard] = reactUse.useCopyToClipboard();
51
+ const doGetOrgMaterialExerciseExerciseRoomGet = React.useCallback(() => {
86
52
  return apiClient.getOrgMaterialExerciseExerciseRoomGet({
87
53
  exerciseRoomId: selectedExerciseRoomId
88
- }).then(function (res) {
54
+ }).then(res => {
89
55
  setExerciseRoom(res.exerciseRoom);
90
- var list = ___default.default.map(res.exerciseRoom.roomUsers, function (_ref2) {
91
- var _ref2$user = _ref2.user,
92
- id = _ref2$user.id,
93
- profileUrl = _ref2$user.profileUrl,
94
- fullname = _ref2$user.fullname,
95
- permission = _ref2.permission;
96
- return {
97
- id: id,
98
- profileUrl: profileUrl,
99
- fullname: fullname,
100
- permission: permission
101
- };
102
- });
56
+ const list = _.map(res.exerciseRoom.roomUsers, ({
57
+ user: {
58
+ id,
59
+ profileUrl,
60
+ fullname
61
+ },
62
+ permission
63
+ }) => ({
64
+ id,
65
+ profileUrl,
66
+ fullname,
67
+ permission
68
+ }));
103
69
  setTitle(res.exerciseRoom.title);
104
70
  setDebouncedTitle(res.exerciseRoom.title);
105
71
  setExerciseRoomUserList(list);
106
72
  }).catch(console.error);
107
73
  }, [selectedExerciseRoomId]);
108
- var doPostOrgMaterialExerciseExerciseRoomEdit = React__default.default.useCallback(function (publicPermission) {
74
+ const doPostOrgMaterialExerciseExerciseRoomEdit = React.useCallback(publicPermission => {
109
75
  if (exerciseRoom && materialExercise) {
110
76
  apiClient.postOrgMaterialExerciseExerciseRoomEdit({
111
77
  materialExerciseId: materialExercise.id,
112
- publicPermission: publicPermission,
78
+ publicPermission,
113
79
  title: exerciseRoom.title,
114
80
  exerciseRoomId: selectedExerciseRoomId
115
- }).then(function () {
116
- return doGetOrgMaterialExerciseExerciseRoomGet();
117
- }).catch(console.error);
81
+ }).then(() => doGetOrgMaterialExerciseExerciseRoomGet()).catch(console.error);
118
82
  }
119
83
  }, [doGetOrgMaterialExerciseExerciseRoomGet, exerciseRoom, selectedExerciseRoomId, materialExercise]);
120
- var doPostOrgMaterialExerciseExerciseRoomDefaultRoomSet = React__default.default.useCallback(function () {
84
+ const doPostOrgMaterialExerciseExerciseRoomDefaultRoomSet = React.useCallback(() => {
121
85
  apiClient.postOrgMaterialExerciseExerciseRoomDefaultRoomSet({
122
86
  exerciseRoomId: selectedExerciseRoomId
123
- }).then(function () {
124
- return doGetOrgMaterialExerciseExerciseRoomGet();
125
- }).catch(console.error);
87
+ }).then(() => doGetOrgMaterialExerciseExerciseRoomGet()).catch(console.error);
126
88
  }, [doGetOrgMaterialExerciseExerciseRoomGet, selectedExerciseRoomId]);
127
- reactUse.useDebounce(function () {
89
+ reactUse.useDebounce(() => {
128
90
  setDebouncedSearch(search);
129
91
  }, 300, [search]);
130
- var doGetOrgCourseUserList = React__default.default.useCallback(function () {
92
+ const doGetOrgCourseUserList = React.useCallback(() => {
131
93
  if (materialExercise) {
132
94
  return apiClient.getOrgCourseUserList({
133
95
  courseId: materialExercise._courseId,
@@ -137,9 +99,9 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
137
99
  filterConditions: {
138
100
  $and: [{
139
101
  $or: [{
140
- name: "%".concat(debouncedSearch, "%")
102
+ name: `%${debouncedSearch}%`
141
103
  }, {
142
- email: "%".concat(debouncedSearch, "%")
104
+ email: `%${debouncedSearch}%`
143
105
  }]
144
106
  }, {
145
107
  $or: [{
@@ -155,109 +117,86 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
155
117
  }]
156
118
  }]
157
119
  }
158
- }).then( /*#__PURE__*/function () {
159
- var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee(res) {
160
- var _yield$getOrgMaterial, exerciseRoom, list;
161
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
162
- while (1) switch (_context.prev = _context.next) {
163
- case 0:
164
- _context.next = 2;
165
- return apiClient.getOrgMaterialExerciseExerciseRoomGet({
166
- exerciseRoomId: selectedExerciseRoomId
167
- });
168
- case 2:
169
- _yield$getOrgMaterial = _context.sent;
170
- exerciseRoom = _yield$getOrgMaterial.exerciseRoom;
171
- list = ___default.default.map(res.users, function (_ref4) {
172
- var id = _ref4.id,
173
- profileUrl = _ref4.profileUrl,
174
- fullname = _ref4.fullname;
175
- var _a, _b;
176
- return {
177
- id: id,
178
- profileUrl: profileUrl,
179
- fullname: fullname,
180
- permission: (_b = (_a = ___default.default.find(exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.roomUsers, function (roomUser) {
181
- return roomUser.user.id === id;
182
- })) === null || _a === void 0 ? void 0 : _a.permission) !== null && _b !== void 0 ? _b : types.enums.ExerciseRoomPermission.Nothing
183
- };
184
- });
185
- setExerciseRoomUserList(list);
186
- case 6:
187
- case "end":
188
- return _context.stop();
189
- }
190
- }, _callee);
191
- }));
192
- return function (_x) {
193
- return _ref3.apply(this, arguments);
194
- };
195
- }()).catch(console.error);
120
+ }).then(async res => {
121
+ const {
122
+ exerciseRoom
123
+ } = await apiClient.getOrgMaterialExerciseExerciseRoomGet({
124
+ exerciseRoomId: selectedExerciseRoomId
125
+ });
126
+ const list = _.map(res.users, ({
127
+ id,
128
+ profileUrl,
129
+ fullname
130
+ }) => {
131
+ var _a, _b;
132
+ return {
133
+ id,
134
+ profileUrl,
135
+ fullname,
136
+ permission: (_b = (_a = _.find(exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.roomUsers, roomUser => roomUser.user.id === id)) === null || _a === void 0 ? void 0 : _a.permission) !== null && _b !== void 0 ? _b : types.enums.ExerciseRoomPermission.Nothing
137
+ };
138
+ });
139
+ setExerciseRoomUserList(list);
140
+ }).catch(console.error);
196
141
  }
197
142
  }, [debouncedSearch, materialExercise, selectedExerciseRoomId]);
198
- React__default.default.useEffect(function () {
143
+ React.useEffect(() => {
199
144
  if (debouncedSearch) {
200
145
  void doGetOrgCourseUserList();
201
146
  } else {
202
147
  void doGetOrgMaterialExerciseExerciseRoomGet();
203
148
  }
204
149
  }, [debouncedSearch, doGetOrgCourseUserList, doGetOrgMaterialExerciseExerciseRoomGet]);
205
- reactUse.useDebounce(function () {
150
+ reactUse.useDebounce(() => {
206
151
  setDebouncedTitle(title);
207
152
  }, 300, [title]);
208
- reactUse.useUpdateEffect(function () {
153
+ reactUse.useUpdateEffect(() => {
209
154
  if (debouncedTitle.length > 0 && materialExercise && exerciseRoom && exerciseRoom.title !== debouncedTitle) {
210
155
  apiClient.postOrgMaterialExerciseExerciseRoomEdit({
211
156
  materialExerciseId: materialExercise.id,
212
157
  publicPermission: exerciseRoom.publicPermission,
213
158
  title: debouncedTitle,
214
159
  exerciseRoomId: selectedExerciseRoomId
215
- }).then(function () {
216
- return doGetOrgMaterialExerciseExerciseRoomGet();
217
- }).catch(console.error);
160
+ }).then(() => doGetOrgMaterialExerciseExerciseRoomGet()).catch(console.error);
218
161
  }
219
162
  }, [debouncedTitle]);
220
- return jsxRuntime.jsxs(StyledModal, {
163
+ return React.createElement(StyledModal, {
221
164
  theme: "dark",
222
165
  onHide: onHide,
223
166
  title: (_c = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.title) !== null && _c !== void 0 ? _c : '',
224
167
  headerIcon: icons.eilArrowLeftwardsSingle,
225
168
  onHeaderIconClick: goToList,
226
- footerChild: exerciseRoom ? exerciseRoom.isDefaultRoom ? jsxRuntime.jsxs(blocks.Flex, {
169
+ footerChild: exerciseRoom ? exerciseRoom.isDefaultRoom ? React.createElement(blocks.Flex, {
227
170
  justify: "flex-end",
228
- align: "center",
229
- children: [jsxRuntime.jsx(blocks.Icon, {
230
- icon: icons.eisArrowDownwardsCircle,
231
- color: designTokens.base.color.primary3,
232
- style: {
233
- marginRight: '0.5rem'
234
- }
235
- }), jsxRuntime.jsx(blocks.Text, {
236
- role: "lightpurple",
237
- size: "tiny",
238
- children: intl$1.formatMessage({
239
- id: 'materialExerciseExerciseRoom.defaultExerciseRoomDescription'
240
- })
241
- })]
242
- }) : jsxRuntime.jsx(blocks.Flex, {
171
+ align: "center"
172
+ }, React.createElement(blocks.Icon, {
173
+ icon: icons.eisArrowDownwardsCircle,
174
+ color: designTokens.base.color.primary3,
175
+ style: {
176
+ marginRight: '0.5rem'
177
+ }
178
+ }), React.createElement(blocks.Text, {
179
+ role: "lightpurple",
180
+ size: "tiny"
181
+ }, intl$1.formatMessage({
182
+ id: 'materialExerciseExerciseRoom.defaultExerciseRoomDescription'
183
+ }))) : React.createElement(blocks.Flex, {
243
184
  justify: "flex-end",
244
- align: "center",
245
- children: jsxRuntime.jsx(blocks.Button, {
246
- transparent: true,
247
- role: "lightpurple",
248
- underline: true,
249
- border: false,
250
- onClick: doPostOrgMaterialExerciseExerciseRoomDefaultRoomSet,
251
- children: intl$1.formatMessage({
252
- id: 'materialExerciseExerciseRoom.setDefaultExerciseRoom'
253
- })
254
- })
255
- }) : undefined,
185
+ align: "center"
186
+ }, React.createElement(blocks.Button, {
187
+ transparent: true,
188
+ role: "lightpurple",
189
+ underline: true,
190
+ border: false,
191
+ onClick: doPostOrgMaterialExerciseExerciseRoomDefaultRoomSet
192
+ }, intl$1.formatMessage({
193
+ id: 'materialExerciseExerciseRoom.setDefaultExerciseRoom'
194
+ }))) : undefined,
256
195
  footerButtons: [{
257
196
  label: intl$1.formatMessage({
258
197
  id: 'materialExerciseExerciseRoom.open'
259
198
  }),
260
- onClick: function onClick() {
199
+ onClick: () => {
261
200
  if (exerciseRoom && typeof onExerciseRoomIdChange === 'function') {
262
201
  onExerciseRoomIdChange(exerciseRoom.id);
263
202
  onHide();
@@ -271,371 +210,277 @@ var MaterialExerciseExerciseRoomDetail = function MaterialExerciseExerciseRoomDe
271
210
  }),
272
211
  disabled: (_d = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.isDefaultRoom) !== null && _d !== void 0 ? _d : false,
273
212
  role: 'gray6',
274
- onClick: function onClick() {
213
+ onClick: () => {
275
214
  setIsLeaveDialogOpen(true);
276
215
  }
277
- }],
278
- children: [isLeaveDialogOpen ? jsxRuntime.jsxs(blocks.Dialog, {
279
- type: "warning",
280
- title: intl$1.formatMessage({
281
- id: 'materialExerciseExerciseRoom.leave.dialog.title'
282
- }),
283
- body: intl$1.formatMessage({
284
- id: 'materialExerciseExerciseRoom.leave.dialog.body'
285
- }),
286
- onHide: function onHide() {
287
- setIsLeaveDialogOpen(false);
288
- },
289
- children: [jsxRuntime.jsx(blocks.Dialog.ActionButton, {
290
- loading: isDeleting,
291
- onClick: function onClick() {
292
- if (isThisChatRoomOwner) {
293
- setIsDeleting(true);
294
- apiClient.postOrgMaterialExerciseExerciseRoomDelete({
295
- exerciseRoomId: selectedExerciseRoomId
296
- }).then(function () {
297
- goToList();
298
- }).catch(console.error).finally(function () {
299
- setIsDeleting(false);
300
- });
301
- } else {
302
- setIsDeleting(true);
303
- apiClient.postOrgMaterialExerciseExerciseRoomUserDelete({
304
- exerciseRoomId: selectedExerciseRoomId
305
- }).then(function () {
306
- goToList();
307
- }).catch(console.error).finally(function () {
308
- setIsDeleting(false);
309
- });
216
+ }]
217
+ }, isLeaveDialogOpen ? React.createElement(blocks.Dialog, {
218
+ type: "warning",
219
+ title: intl$1.formatMessage({
220
+ id: 'materialExerciseExerciseRoom.leave.dialog.title'
221
+ }),
222
+ body: intl$1.formatMessage({
223
+ id: 'materialExerciseExerciseRoom.leave.dialog.body'
224
+ }),
225
+ onHide: () => {
226
+ setIsLeaveDialogOpen(false);
227
+ }
228
+ }, React.createElement(blocks.Dialog.ActionButton, {
229
+ loading: isDeleting,
230
+ onClick: () => {
231
+ if (isThisChatRoomOwner) {
232
+ setIsDeleting(true);
233
+ apiClient.postOrgMaterialExerciseExerciseRoomDelete({
234
+ exerciseRoomId: selectedExerciseRoomId
235
+ }).then(() => {
236
+ goToList();
237
+ }).catch(console.error).finally(() => {
238
+ setIsDeleting(false);
239
+ });
240
+ } else {
241
+ setIsDeleting(true);
242
+ apiClient.postOrgMaterialExerciseExerciseRoomUserDelete({
243
+ exerciseRoomId: selectedExerciseRoomId
244
+ }).then(() => {
245
+ goToList();
246
+ }).catch(console.error).finally(() => {
247
+ setIsDeleting(false);
248
+ });
249
+ }
250
+ }
251
+ }, '확인'), React.createElement(blocks.Dialog.CloseButton, {
252
+ onClick: () => {
253
+ setIsLeaveDialogOpen(false);
254
+ }
255
+ }, '취소')) : null, isThisChatRoomOwner ? React.createElement(React.Fragment, null, React.createElement(blocks.Label, {
256
+ role: "white",
257
+ size: "tiny"
258
+ }, intl$1.formatMessage({
259
+ id: 'materialExerciseExerciseRoom.detail.title.label'
260
+ })), React.createElement(blocks.Vspace, {
261
+ height: 0.5
262
+ }), React.createElement(blocks.Input, {
263
+ size: "small",
264
+ width: "full",
265
+ value: title,
266
+ onChange: e => setTitle(e.target.value),
267
+ placeholder: intl$1.formatMessage({
268
+ id: 'materialExerciseExerciseRoom.detail.title.placeholder'
269
+ })
270
+ }), React.createElement(blocks.Vspace, {
271
+ height: 1.25
272
+ })) : null, isThisChatRoomOwner ? React.createElement(React.Fragment, null, React.createElement(blocks.Label, {
273
+ role: "white",
274
+ size: "tiny"
275
+ }, intl$1.formatMessage({
276
+ id: 'materialExerciseExerciseRoom.detail.addUsers.label'
277
+ })), React.createElement(blocks.Vspace, {
278
+ height: 0.5
279
+ }), React.createElement(blocks.Input, {
280
+ prefix: icons.eilSearch,
281
+ size: "small",
282
+ width: "full",
283
+ value: search,
284
+ onChange: e => setSearch(e.target.value),
285
+ placeholder: intl$1.formatMessage({
286
+ id: 'materialExerciseExerciseRoom.detail.addUsers.placeholder'
287
+ })
288
+ }), React.createElement(blocks.Vspace, {
289
+ height: 1.25
290
+ })) : null, React.createElement(ExerciseRoom_styled.StyledExerciseRoomTableWrapper, null, React.createElement(ExerciseRoom_styled.StyledExerciseRoomTable, null, React.createElement("colgroup", null, React.createElement("col", {
291
+ span: 1,
292
+ width: "70%"
293
+ }), React.createElement("col", {
294
+ span: 1,
295
+ width: "30%"
296
+ })), React.createElement(ExerciseRoom_styled.StyledExerciseRoomThead, null, React.createElement(ExerciseRoom_styled.StyledExerciseRoomTr, null, React.createElement(ExerciseRoom_styled.StyledExerciseRoomTh, null, intl$1.formatMessage({
297
+ id: 'materialExerciseExerciseRoom.detail.table.head.users'
298
+ })), React.createElement(ExerciseRoom_styled.StyledExerciseRoomTh, null, intl$1.formatMessage({
299
+ id: 'materialExerciseExerciseRoom.detail.table.head.permission'
300
+ })))), React.createElement(ExerciseRoom_styled.StyledExerciseRoomTbody, null, exerciseRoomUserList.map(chatroomUser => {
301
+ const renderUserPermission = () => {
302
+ if ((user === null || user === void 0 ? void 0 : user.id) === chatroomUser.id || !isThisChatRoomOwner) {
303
+ return React.createElement(blocks.Text, {
304
+ bold: true,
305
+ role: "gray0",
306
+ size: "tiny",
307
+ preWrap: true,
308
+ ellipsis: true,
309
+ customStyles: {
310
+ maxWidth: '100px',
311
+ marginRight: '0.5rem'
310
312
  }
311
- },
312
- children: '확인'
313
- }), jsxRuntime.jsx(blocks.Dialog.CloseButton, {
314
- onClick: function onClick() {
315
- setIsLeaveDialogOpen(false);
316
- },
317
- children: '취소'
318
- })]
319
- }) : null, isThisChatRoomOwner ? jsxRuntime.jsxs(jsxRuntime.Fragment, {
320
- children: [jsxRuntime.jsx(blocks.Label, {
321
- role: "white",
322
- size: "tiny",
323
- children: intl$1.formatMessage({
324
- id: 'materialExerciseExerciseRoom.detail.title.label'
325
- })
326
- }), jsxRuntime.jsx(blocks.Vspace, {
327
- height: 0.5
328
- }), jsxRuntime.jsx(blocks.Input, {
329
- size: "small",
330
- width: "full",
331
- value: title,
332
- onChange: function onChange(e) {
333
- return setTitle(e.target.value);
334
- },
335
- placeholder: intl$1.formatMessage({
336
- id: 'materialExerciseExerciseRoom.detail.title.placeholder'
337
- })
338
- }), jsxRuntime.jsx(blocks.Vspace, {
339
- height: 1.25
340
- })]
341
- }) : null, isThisChatRoomOwner ? jsxRuntime.jsxs(jsxRuntime.Fragment, {
342
- children: [jsxRuntime.jsx(blocks.Label, {
343
- role: "white",
344
- size: "tiny",
345
- children: intl$1.formatMessage({
346
- id: 'materialExerciseExerciseRoom.detail.addUsers.label'
347
- })
348
- }), jsxRuntime.jsx(blocks.Vspace, {
349
- height: 0.5
350
- }), jsxRuntime.jsx(blocks.Input, {
351
- prefix: icons.eilSearch,
352
- size: "small",
353
- width: "full",
354
- value: search,
355
- onChange: function onChange(e) {
356
- return setSearch(e.target.value);
357
- },
358
- placeholder: intl$1.formatMessage({
359
- id: 'materialExerciseExerciseRoom.detail.addUsers.placeholder'
360
- })
361
- }), jsxRuntime.jsx(blocks.Vspace, {
362
- height: 1.25
363
- })]
364
- }) : null, jsxRuntime.jsx(ExerciseRoom_styled.StyledExerciseRoomTableWrapper, {
365
- children: jsxRuntime.jsxs(ExerciseRoom_styled.StyledExerciseRoomTable, {
366
- children: [jsxRuntime.jsxs("colgroup", {
367
- children: [jsxRuntime.jsx("col", {
368
- span: 1,
369
- width: "70%"
370
- }), jsxRuntime.jsx("col", {
371
- span: 1,
372
- width: "30%"
373
- })]
374
- }), jsxRuntime.jsx(ExerciseRoom_styled.StyledExerciseRoomThead, {
375
- children: jsxRuntime.jsxs(ExerciseRoom_styled.StyledExerciseRoomTr, {
376
- children: [jsxRuntime.jsx(ExerciseRoom_styled.StyledExerciseRoomTh, {
377
- children: intl$1.formatMessage({
378
- id: 'materialExerciseExerciseRoom.detail.table.head.users'
379
- })
380
- }), jsxRuntime.jsx(ExerciseRoom_styled.StyledExerciseRoomTh, {
381
- children: intl$1.formatMessage({
382
- id: 'materialExerciseExerciseRoom.detail.table.head.permission'
383
- })
384
- })]
385
- })
386
- }), jsxRuntime.jsx(ExerciseRoom_styled.StyledExerciseRoomTbody, {
387
- children: exerciseRoomUserList.map(function (chatroomUser) {
388
- var renderUserPermission = function renderUserPermission() {
389
- if ((user === null || user === void 0 ? void 0 : user.id) === chatroomUser.id || !isThisChatRoomOwner) {
390
- return jsxRuntime.jsx(blocks.Text, {
391
- bold: true,
392
- role: "gray0",
393
- size: "tiny",
394
- preWrap: true,
395
- ellipsis: true,
396
- customStyles: {
397
- maxWidth: '100px',
398
- marginRight: '0.5rem'
399
- },
400
- children: intl$1.formatMessage({
401
- id: "materialExerciseExerciseRoom.exerciseRoom.publicPermission.".concat(exerciseRoomPermissionStringConvertor.exerciseRoomPermissionStringConvertor(chatroomUser.permission))
402
- })
403
- });
404
- } else if (chatroomUser.permission === types.enums.ExerciseRoomPermission.Nothing) {
405
- return jsxRuntime.jsxs(blocks.Flex, {
406
- align: "center",
407
- children: [jsxRuntime.jsx(blocks.Text, {
408
- bold: true,
409
- role: "gray0",
410
- size: "tiny",
411
- preWrap: true,
412
- ellipsis: true,
413
- customStyles: {
414
- maxWidth: '100px',
415
- marginRight: '0.5rem'
416
- },
417
- children: intl$1.formatMessage({
418
- id: "materialExerciseExerciseRoom.exerciseRoom.publicPermission.".concat(exerciseRoomPermissionStringConvertor.exerciseRoomPermissionStringConvertor(chatroomUser.permission))
419
- })
420
- }), jsxRuntime.jsx(blocks.Button, {
421
- size: "micro",
422
- role: "lightpurple",
423
- loading: false,
424
- onClick: function () {
425
- var _onClick = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee2() {
426
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee2$(_context2) {
427
- while (1) switch (_context2.prev = _context2.next) {
428
- case 0:
429
- _context2.prev = 0;
430
- _context2.next = 3;
431
- return apiClient.postOrgMaterialExerciseExerciseRoomUserEdit({
432
- exerciseRoomId: selectedExerciseRoomId,
433
- permission: types.enums.ExerciseRoomPermission.Read,
434
- userId: chatroomUser.id
435
- });
436
- case 3:
437
- if (debouncedSearch) {
438
- void doGetOrgCourseUserList();
439
- } else {
440
- void doGetOrgMaterialExerciseExerciseRoomGet();
441
- }
442
- _context2.next = 9;
443
- break;
444
- case 6:
445
- _context2.prev = 6;
446
- _context2.t0 = _context2["catch"](0);
447
- console.error(_context2.t0);
448
- case 9:
449
- case "end":
450
- return _context2.stop();
451
- }
452
- }, _callee2, null, [[0, 6]]);
453
- }));
454
- function onClick() {
455
- return _onClick.apply(this, arguments);
456
- }
457
- return onClick;
458
- }(),
459
- children: intl$1.formatMessage({
460
- id: 'materialExerciseExerciseRoom.detail.table.body.add'
461
- })
462
- })]
313
+ }, intl$1.formatMessage({
314
+ id: `materialExerciseExerciseRoom.exerciseRoom.publicPermission.${exerciseRoomPermissionStringConvertor.exerciseRoomPermissionStringConvertor(chatroomUser.permission)}`
315
+ }));
316
+ } else if (chatroomUser.permission === types.enums.ExerciseRoomPermission.Nothing) {
317
+ return React.createElement(blocks.Flex, {
318
+ align: "center"
319
+ }, React.createElement(blocks.Text, {
320
+ bold: true,
321
+ role: "gray0",
322
+ size: "tiny",
323
+ preWrap: true,
324
+ ellipsis: true,
325
+ customStyles: {
326
+ maxWidth: '100px',
327
+ marginRight: '0.5rem'
328
+ }
329
+ }, intl$1.formatMessage({
330
+ id: `materialExerciseExerciseRoom.exerciseRoom.publicPermission.${exerciseRoomPermissionStringConvertor.exerciseRoomPermissionStringConvertor(chatroomUser.permission)}`
331
+ })), React.createElement(blocks.Button, {
332
+ size: "micro",
333
+ role: "lightpurple",
334
+ loading: false,
335
+ onClick: async () => {
336
+ try {
337
+ await apiClient.postOrgMaterialExerciseExerciseRoomUserEdit({
338
+ exerciseRoomId: selectedExerciseRoomId,
339
+ permission: types.enums.ExerciseRoomPermission.Read,
340
+ userId: chatroomUser.id
341
+ });
342
+ if (debouncedSearch) {
343
+ void doGetOrgCourseUserList();
344
+ } else {
345
+ void doGetOrgMaterialExerciseExerciseRoomGet();
346
+ }
347
+ } catch (error) {
348
+ console.error(error);
349
+ }
350
+ }
351
+ }, intl$1.formatMessage({
352
+ id: 'materialExerciseExerciseRoom.detail.table.body.add'
353
+ })));
354
+ } else {
355
+ return React.createElement(blocks.Select, {
356
+ size: "small",
357
+ width: "small",
358
+ value: chatroomUser.permission,
359
+ onChange: async value => {
360
+ try {
361
+ const permission = Number(value);
362
+ if (permission === types.enums.ExerciseRoomPermission.Nothing) {
363
+ await apiClient.postOrgMaterialExerciseExerciseRoomUserDelete({
364
+ exerciseRoomId: selectedExerciseRoomId,
365
+ userId: chatroomUser.id
463
366
  });
367
+ if (debouncedSearch) {
368
+ void doGetOrgCourseUserList();
369
+ } else {
370
+ void doGetOrgMaterialExerciseExerciseRoomGet();
371
+ }
464
372
  } else {
465
- return jsxRuntime.jsxs(blocks.Select, {
466
- size: "small",
467
- width: "small",
468
- value: chatroomUser.permission,
469
- onChange: function () {
470
- var _onChange = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee3(value) {
471
- var permission;
472
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee3$(_context3) {
473
- while (1) switch (_context3.prev = _context3.next) {
474
- case 0:
475
- _context3.prev = 0;
476
- permission = Number(value);
477
- if (!(permission === types.enums.ExerciseRoomPermission.Nothing)) {
478
- _context3.next = 8;
479
- break;
480
- }
481
- _context3.next = 5;
482
- return apiClient.postOrgMaterialExerciseExerciseRoomUserDelete({
483
- exerciseRoomId: selectedExerciseRoomId,
484
- userId: chatroomUser.id
485
- });
486
- case 5:
487
- if (debouncedSearch) {
488
- void doGetOrgCourseUserList();
489
- } else {
490
- void doGetOrgMaterialExerciseExerciseRoomGet();
491
- }
492
- _context3.next = 11;
493
- break;
494
- case 8:
495
- _context3.next = 10;
496
- return apiClient.postOrgMaterialExerciseExerciseRoomUserEdit({
497
- exerciseRoomId: selectedExerciseRoomId,
498
- permission: permission,
499
- userId: chatroomUser.id
500
- });
501
- case 10:
502
- if (debouncedSearch) {
503
- void doGetOrgCourseUserList();
504
- } else {
505
- void doGetOrgMaterialExerciseExerciseRoomGet();
506
- }
507
- case 11:
508
- _context3.next = 16;
509
- break;
510
- case 13:
511
- _context3.prev = 13;
512
- _context3.t0 = _context3["catch"](0);
513
- console.error(_context3.t0);
514
- case 16:
515
- case "end":
516
- return _context3.stop();
517
- }
518
- }, _callee3, null, [[0, 13]]);
519
- }));
520
- function onChange(_x2) {
521
- return _onChange.apply(this, arguments);
522
- }
523
- return onChange;
524
- }(),
525
- disabled: !isThisChatRoomOwner,
526
- children: [jsxRuntime.jsx("option", {
527
- value: types.enums.ExerciseRoomPermission.Nothing,
528
- children: intl$1.formatMessage({
529
- id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.nothing'
530
- })
531
- }), jsxRuntime.jsx("option", {
532
- value: types.enums.ExerciseRoomPermission.Read,
533
- children: intl$1.formatMessage({
534
- id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.read'
535
- })
536
- }), jsxRuntime.jsx("option", {
537
- value: types.enums.ExerciseRoomPermission.ReadWrite,
538
- children: intl$1.formatMessage({
539
- id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.readWrite'
540
- })
541
- })]
373
+ await apiClient.postOrgMaterialExerciseExerciseRoomUserEdit({
374
+ exerciseRoomId: selectedExerciseRoomId,
375
+ permission,
376
+ userId: chatroomUser.id
542
377
  });
378
+ if (debouncedSearch) {
379
+ void doGetOrgCourseUserList();
380
+ } else {
381
+ void doGetOrgMaterialExerciseExerciseRoomGet();
382
+ }
543
383
  }
544
- };
545
- return jsxRuntime.jsxs(ExerciseRoom_styled.StyledExerciseRoomTr, {
546
- children: [jsxRuntime.jsx(ExerciseRoom_styled.StyledExerciseRoomTd, {
547
- children: jsxRuntime.jsxs(blocks.Flex, {
548
- align: "center",
549
- children: [jsxRuntime.jsx(blocks.ProfileImage, {
550
- src: chatroomUser.profileUrl || '',
551
- hasBorder: false,
552
- width: "1.5rem",
553
- height: "1.5rem"
554
- }), jsxRuntime.jsx(blocks.Text, {
555
- bold: true,
556
- size: "small",
557
- role: "white",
558
- preWrap: true,
559
- ellipsis: true,
560
- customStyles: {
561
- marginLeft: '0.5rem'
562
- },
563
- children: chatroomUser.fullname
564
- })]
565
- })
566
- }), jsxRuntime.jsx(ExerciseRoom_styled.StyledExerciseRoomTd, {
567
- children: renderUserPermission()
568
- })]
569
- }, chatroomUser.id);
570
- })
571
- })]
572
- })
573
- }), jsxRuntime.jsx(blocks.Vspace, {
574
- height: 1.25
575
- }), jsxRuntime.jsx(blocks.Label, {
576
- role: "white",
577
- size: "tiny",
578
- children: intl$1.formatMessage({
579
- id: 'materialExerciseExerciseRoom.detail.sharelink.label'
580
- })
581
- }), jsxRuntime.jsx(blocks.Vspace, {
582
- height: 0.5
583
- }), isThisChatRoomOwner ? jsxRuntime.jsxs(jsxRuntime.Fragment, {
584
- children: [jsxRuntime.jsxs(blocks.Select, {
585
- size: "small",
586
- width: "small",
587
- value: (_e = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.publicPermission) !== null && _e !== void 0 ? _e : types.enums.ExerciseRoomPermission.Nothing,
588
- onChange: function onChange(value) {
589
- doPostOrgMaterialExerciseExerciseRoomEdit(value);
590
- },
591
- disabled: false,
592
- children: [jsxRuntime.jsx("option", {
384
+ } catch (error) {
385
+ console.error(error);
386
+ }
387
+ },
388
+ disabled: !isThisChatRoomOwner
389
+ }, React.createElement("option", {
593
390
  value: types.enums.ExerciseRoomPermission.Nothing,
594
391
  children: intl$1.formatMessage({
595
392
  id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.nothing'
596
393
  })
597
- }), jsxRuntime.jsx("option", {
394
+ }), React.createElement("option", {
598
395
  value: types.enums.ExerciseRoomPermission.Read,
599
396
  children: intl$1.formatMessage({
600
397
  id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.read'
601
398
  })
602
- }), jsxRuntime.jsx("option", {
399
+ }), React.createElement("option", {
603
400
  value: types.enums.ExerciseRoomPermission.ReadWrite,
604
401
  children: intl$1.formatMessage({
605
402
  id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.readWrite'
606
403
  })
607
- })]
608
- }), jsxRuntime.jsx(blocks.Vspace, {
609
- height: 0.75
610
- })]
611
- }) : null, jsxRuntime.jsx(blocks.Input, {
404
+ }));
405
+ }
406
+ };
407
+ return React.createElement(ExerciseRoom_styled.StyledExerciseRoomTr, {
408
+ key: chatroomUser.id
409
+ }, React.createElement(ExerciseRoom_styled.StyledExerciseRoomTd, null, React.createElement(blocks.Flex, {
410
+ align: "center"
411
+ }, React.createElement(blocks.ProfileImage, {
412
+ src: chatroomUser.profileUrl || '',
413
+ hasBorder: false,
414
+ width: "1.5rem",
415
+ height: "1.5rem"
416
+ }), React.createElement(blocks.Text, {
417
+ bold: true,
612
418
  size: "small",
613
- width: "full",
614
- suffix: jsxRuntime.jsx(blocks.Button, {
615
- size: "micro",
616
- role: "lightpurple",
617
- style: {
618
- backgroundColor: "".concat(designTokens.base.color.red6, " !important")
619
- },
620
- onClick: function onClick() {
621
- blocks.Notification.info(intl$1.formatMessage({
622
- id: 'materialExerciseExerciseRoom.detail.copy.success'
623
- }));
624
- copyToClipboard(shareLink);
625
- },
626
- children: intl$1.formatMessage({
627
- id: 'materialExerciseExerciseRoom.detail.copy'
628
- })
629
- }),
630
- value: materialExercise ? shareLink : '',
631
- onChange: function onChange(e) {
632
- return setSearch(e.target.value);
419
+ role: "white",
420
+ preWrap: true,
421
+ ellipsis: true,
422
+ customStyles: {
423
+ marginLeft: '0.5rem'
424
+ }
425
+ }, chatroomUser.fullname))), React.createElement(ExerciseRoom_styled.StyledExerciseRoomTd, null, renderUserPermission()));
426
+ })))), React.createElement(blocks.Vspace, {
427
+ height: 1.25
428
+ }), React.createElement(blocks.Label, {
429
+ role: "white",
430
+ size: "tiny"
431
+ }, intl$1.formatMessage({
432
+ id: 'materialExerciseExerciseRoom.detail.sharelink.label'
433
+ })), React.createElement(blocks.Vspace, {
434
+ height: 0.5
435
+ }), isThisChatRoomOwner ? React.createElement(React.Fragment, null, React.createElement(blocks.Select, {
436
+ size: "small",
437
+ width: "small",
438
+ value: (_e = exerciseRoom === null || exerciseRoom === void 0 ? void 0 : exerciseRoom.publicPermission) !== null && _e !== void 0 ? _e : types.enums.ExerciseRoomPermission.Nothing,
439
+ onChange: value => {
440
+ doPostOrgMaterialExerciseExerciseRoomEdit(value);
441
+ },
442
+ disabled: false
443
+ }, React.createElement("option", {
444
+ value: types.enums.ExerciseRoomPermission.Nothing,
445
+ children: intl$1.formatMessage({
446
+ id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.nothing'
447
+ })
448
+ }), React.createElement("option", {
449
+ value: types.enums.ExerciseRoomPermission.Read,
450
+ children: intl$1.formatMessage({
451
+ id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.read'
452
+ })
453
+ }), React.createElement("option", {
454
+ value: types.enums.ExerciseRoomPermission.ReadWrite,
455
+ children: intl$1.formatMessage({
456
+ id: 'materialExerciseExerciseRoom.exerciseRoom.publicPermission.readWrite'
457
+ })
458
+ })), React.createElement(blocks.Vspace, {
459
+ height: 0.75
460
+ })) : null, React.createElement(blocks.Input, {
461
+ size: "small",
462
+ width: "full",
463
+ suffix: React.createElement(blocks.Button, {
464
+ size: "micro",
465
+ role: "lightpurple",
466
+ style: {
467
+ backgroundColor: `${designTokens.base.color.red6} !important`
633
468
  },
634
- placeholder: intl$1.formatMessage({
635
- id: 'materialExerciseExerciseRoom.detail.addUsers.placeholder'
636
- })
637
- })]
638
- });
469
+ onClick: () => {
470
+ blocks.Notification.info(intl$1.formatMessage({
471
+ id: 'materialExerciseExerciseRoom.detail.copy.success'
472
+ }));
473
+ copyToClipboard(shareLink);
474
+ }
475
+ }, intl$1.formatMessage({
476
+ id: 'materialExerciseExerciseRoom.detail.copy'
477
+ })),
478
+ value: materialExercise ? shareLink : '',
479
+ onChange: e => setSearch(e.target.value),
480
+ placeholder: intl$1.formatMessage({
481
+ id: 'materialExerciseExerciseRoom.detail.addUsers.placeholder'
482
+ })
483
+ }));
639
484
  };
640
485
 
641
486
  exports.default = MaterialExerciseExerciseRoomDetail;