@elice/material-runbox 1.250306.0 → 1.250310.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.
Files changed (43) hide show
  1. package/cjs/components/material-runbox/MaterialRunboxContent.d.ts +4 -0
  2. package/cjs/components/material-runbox/MaterialRunboxContent.js +14 -4
  3. package/cjs/components/material-runbox/MaterialRunboxHeader.js +5 -1
  4. package/cjs/components/material-runbox/actions/MaterialRunboxActionMenu.d.ts +1 -1
  5. package/cjs/components/material-runbox/actions/MaterialRunboxActionMenu.js +10 -1
  6. package/cjs/components/material-runbox/actions/MaterialRunboxActionRestart.d.ts +1 -1
  7. package/cjs/components/material-runbox/actions/MaterialRunboxActionRestart.js +3 -1
  8. package/cjs/components/material-runbox/actions/MaterialRunboxActionSubmitLog.d.ts +7 -0
  9. package/cjs/components/material-runbox/actions/MaterialRunboxActionSubmitLog.js +67 -0
  10. package/cjs/components/material-runbox/actions/MaterialRunboxActionSubmitLogDialog.d.ts +9 -0
  11. package/cjs/components/material-runbox/actions/MaterialRunboxActionSubmitLogDialog.js +192 -0
  12. package/cjs/components/material-runbox/hooks/useInfiniteRunboxRunboxIdGrade.d.ts +13 -0
  13. package/cjs/components/material-runbox/hooks/useInfiniteRunboxRunboxIdGrade.js +59 -0
  14. package/cjs/components/material-runbox/hooks/useRunboxControl.d.ts +1 -1
  15. package/cjs/components/material-runbox/hooks/useRunboxControl.js +5 -2
  16. package/cjs/components/material-runbox/locales/en.json.js +1 -1
  17. package/cjs/components/material-runbox/locales/ja.json.js +1 -1
  18. package/cjs/components/material-runbox/locales/ko.json.js +1 -1
  19. package/cjs/components/material-runbox/locales/th.json.js +1 -1
  20. package/cjs/components/material-runbox/runtime/Runtime.d.ts +4 -0
  21. package/cjs/components/material-runbox/runtime/Runtime.js +1 -1
  22. package/es/components/material-runbox/MaterialRunboxContent.d.ts +4 -0
  23. package/es/components/material-runbox/MaterialRunboxContent.js +14 -4
  24. package/es/components/material-runbox/MaterialRunboxHeader.js +5 -1
  25. package/es/components/material-runbox/actions/MaterialRunboxActionMenu.d.ts +1 -1
  26. package/es/components/material-runbox/actions/MaterialRunboxActionMenu.js +10 -1
  27. package/es/components/material-runbox/actions/MaterialRunboxActionRestart.d.ts +1 -1
  28. package/es/components/material-runbox/actions/MaterialRunboxActionRestart.js +3 -1
  29. package/es/components/material-runbox/actions/MaterialRunboxActionSubmitLog.d.ts +7 -0
  30. package/es/components/material-runbox/actions/MaterialRunboxActionSubmitLog.js +59 -0
  31. package/es/components/material-runbox/actions/MaterialRunboxActionSubmitLogDialog.d.ts +9 -0
  32. package/es/components/material-runbox/actions/MaterialRunboxActionSubmitLogDialog.js +183 -0
  33. package/es/components/material-runbox/hooks/useInfiniteRunboxRunboxIdGrade.d.ts +13 -0
  34. package/es/components/material-runbox/hooks/useInfiniteRunboxRunboxIdGrade.js +57 -0
  35. package/es/components/material-runbox/hooks/useRunboxControl.d.ts +1 -1
  36. package/es/components/material-runbox/hooks/useRunboxControl.js +5 -2
  37. package/es/components/material-runbox/locales/en.json.js +1 -1
  38. package/es/components/material-runbox/locales/ja.json.js +1 -1
  39. package/es/components/material-runbox/locales/ko.json.js +1 -1
  40. package/es/components/material-runbox/locales/th.json.js +1 -1
  41. package/es/components/material-runbox/runtime/Runtime.d.ts +4 -0
  42. package/es/components/material-runbox/runtime/Runtime.js +1 -1
  43. package/package.json +5 -4
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var th = {"runbox.action.autoShutdown.title":"เปิดตลอดเวลา","runbox.action.autoShutdown.tooltip.disabled":"Runbox นี้จะปิดโดยอัตโนมัติหลังจากใช้งาน {time} นาทีต่อเซสชัน","runbox.action.autoShutdown.tooltip.enabled":"หากตั้งค่าให้เปิดตลอดเวลา Runbox จะไม่ปิดแม้ว่าคุณจะออกจากหน้าเรียน {_termLibraryLecturePage} แต่จะปิดโดยอัตโนมัติหลังจากใช้งาน {time} นาทีต่อเซสชัน","runbox.action.grade.dialog.description.error":"เกิดข้อผิดพลาดขึ้นในขณะที่ทำการตรวจคะแนนของโค้ด","runbox.action.grade.dialog.description.success":"การจัดเกรดเสร็จสมบูรณ์เรียบร้อยแล้ว","runbox.action.grade.dialog.title":"ผลการประเมินผลการเรียน","runbox.action.grade.noti.error":"เกิดข้อผิดพลาดขึ้นในขณะที่ทำการตรวจคะแนนของโค้ด","runbox.action.grade.title":"ส่ง","runbox.action.grade.tooltip.onProgress":"กำลังให้คะแนนโค้ด โปรดรอสักครู่ การให้คะแนนอาจใช้เวลาสูงสุด 3 นาที ขึ้นอยู่กับประเภทของการฝึกอบรม","runbox.action.reset.dialog.actions.confirm":"รีเซ็ต","runbox.action.reset.dialog.description":"ต้องการรีเซ็ตโค้ด Runbox หรือไม่? การรีเซ็ตจะแทนที่โค้ดของคุณด้วยโค้ดเริ่มต้นของหน้าเรียน {_termLibraryLecturePage} \nเซสชัน Runbox จะรีเฟรชหลังจากรีเซ็ต","runbox.action.reset.noti.error":"เกิดข้อผิดพลาดระหว่างการรีเซ็ตโค้ด Runbox","runbox.action.reset.title":"รีเซ็ตโค้ด","runbox.action.restart.dialog.actions.confirm":"เริ่มต้นใหม่","runbox.action.restart.dialog.description":"ต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.title":"เริ่มต้น Runbox ใหม่","runbox.action.share.snackbar.copied.fail":"ล้มเหลวในการคัดลอก URL Runbox กรุณาลองอีกครั้ง","runbox.action.share.snackbar.copied.success":"คัดลอก URL Runbox สำเร็จ","runbox.action.share.title":"คัดลอก URL Runbox","runbox.action.submitCountInfo.dialog.description":"คุณใช้จำนวนครั้งในการส่งเกินขีดจำกัดแล้ว","runbox.action.submitCountInfo.dialog.title":"ข้อจำกัดจำนวนครั้งในการส่ง","runbox.action.submitCountInfo.tooltip.disabled":"คุณใช้จำนวนครั้งในการส่งทั้งหมดแล้ว","runbox.common.close":"ปิด","runbox.common.retry":"ลองใหม่","runbox.common.support":"สนับสนุน","runbox.context.command.ping.error":"เกิดข้อผิดพลาดขณะดำเนินการ Runbox","runbox.header.submitInfo":"{isIndividual, select, true {การส่งแบบส่วนตัว} other {การส่งแบบทีม}} | {remainCount}/{totalCount} ครั้งที่เหลือ | {isDailyLimitEnabled, select, true {วันนี้} other {}} ","runbox.runtime.message.lxp_plan_required":"ขณะนี้สถาบันของคุณไม่รองรับการใช้งานสื่อการเรียนการสอน Runbox\nโปรดติดต่อผู้ดูแลระบบของสถาบันของคุณสำหรับข้อมูลเพิ่มเติม","runbox.runtime.message.runbox_unavailable":"ไม่สามารถใช้ Runbox ได้","runbox.runtime.message.startError":"เกิดข้อผิดพลาดขณะเริ่ม Runbox","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\nRunbox ใช้เวลานานกว่าที่คาดไว้ในการทำงาน\nกรุณาอย่ารีเฟรชและรอสักครู่!","runbox.runtime.overlay.assigned.description":"(3 / 3)\nRunbox กำลังทำงานอยู่\nกรุณารอสักครู่!","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\nRunbox ของคุณจะเริ่มทำงานเร็วๆ นี้","runbox.runtime.overlay.queued.description":"(2 / 3)\nกำลังรอคิวอยู่ที่ {waiters}...","runbox.runtime.overlay.terminated.description.default":"Runbox หยุดทำงานเนื่องจากปัญหาที่ไม่คาดคิด\nคลิกปุ่มด้านล่างเพื่อเชื่อมต่อ Runbox ใหม่","runbox.runtime.overlay.terminated.description.general":"Runbox ที่เชื่อมต่อกับคุณหยุดทำงาน\nคลิกปุ่มด้านล่างเพื่อเชื่อมต่อ Runbox ใหม่","runbox.runtime.overlay.terminated.description.os_disk_is_full":"Runbox หยุดทำงานเนื่องจากพื้นที่ดิสก์เต็ม\nหากคุณเพิ่งลบ Runbox อาจใช้เวลาสักครู่กว่าจะสะท้อนผล","runbox.runtime.overlay.terminated.description.quota_exceeded":"Runbox หยุดทำงานเนื่องจากใช้เวลาเกินขีดจำกัด","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"Runbox หยุดทำงานหลังจากใช้งานครบ 24 ชั่วโมง\nคลิกปุ่มด้านล่างเพื่อเชื่อมต่อ Runbox ใหม่","runbox.runtime.overlay.terminated.description.unexpected":"หากปัญหายังคงมีอยู่ โปรดติดต่อฝ่ายสนับสนุน","runbox.runtime.overlay.terminated.restart":"เชื่อมต่อใหม่","runbox.runtime.overlay.terminated.title":"การเชื่อมต่อ Runbox หยุดชะงัก"};
5
+ var th = {"runbox.action.autoShutdown.title":"เปิดตลอดเวลา","runbox.action.autoShutdown.tooltip.disabled":"Runbox นี้จะปิดโดยอัตโนมัติหลังจากใช้งาน {time} นาทีต่อเซสชัน","runbox.action.autoShutdown.tooltip.enabled":"หากตั้งค่าให้เปิดตลอดเวลา Runbox จะไม่ปิดแม้ว่าคุณจะออกจากหน้าเรียน {_termLibraryLecturePage} แต่จะปิดโดยอัตโนมัติหลังจากใช้งาน {time} นาทีต่อเซสชัน","runbox.action.grade.dialog.description.error":"เกิดข้อผิดพลาดขึ้นในขณะที่ทำการตรวจคะแนนของโค้ด","runbox.action.grade.dialog.description.success":"การจัดเกรดเสร็จสมบูรณ์เรียบร้อยแล้ว","runbox.action.grade.dialog.title":"ผลการประเมินผลการเรียน","runbox.action.grade.noti.error":"เกิดข้อผิดพลาดขึ้นในขณะที่ทำการตรวจคะแนนของโค้ด","runbox.action.grade.title":"ส่ง","runbox.action.grade.tooltip.onProgress":"กำลังให้คะแนนโค้ด โปรดรอสักครู่ การให้คะแนนอาจใช้เวลาสูงสุด 3 นาที ขึ้นอยู่กับประเภทของการฝึกอบรม","runbox.action.reset.dialog.actions.confirm":"รีเซ็ต","runbox.action.reset.dialog.description":"ต้องการรีเซ็ตโค้ด Runbox หรือไม่? การรีเซ็ตจะแทนที่โค้ดของคุณด้วยโค้ดเริ่มต้นของหน้าเรียน {_termLibraryLecturePage} \nเซสชัน Runbox จะรีเฟรชหลังจากรีเซ็ต","runbox.action.reset.noti.error":"เกิดข้อผิดพลาดระหว่างการรีเซ็ตโค้ด Runbox","runbox.action.reset.title":"รีเซ็ตโค้ด","runbox.action.restart.dialog.actions.confirm":"เริ่มต้นใหม่","runbox.action.restart.dialog.description":"ต้องการเริ่มต้น Runbox ใหม่หรือไม่?","runbox.action.restart.title":"เริ่มต้น Runbox ใหม่","runbox.action.share.snackbar.copied.fail":"ล้มเหลวในการคัดลอก URL Runbox กรุณาลองอีกครั้ง","runbox.action.share.snackbar.copied.success":"คัดลอก URL Runbox สำเร็จ","runbox.action.share.title":"คัดลอก URL Runbox","runbox.action.submitCountInfo.dialog.description":"คุณใช้จำนวนครั้งในการส่งเกินขีดจำกัดแล้ว","runbox.action.submitCountInfo.dialog.title":"ข้อจำกัดจำนวนครั้งในการส่ง","runbox.action.submitCountInfo.tooltip.disabled":"คุณใช้จำนวนครั้งในการส่งทั้งหมดแล้ว","runbox.action.submitLog.dialog.download.tooltip":"ดาวน์โหลดไฟล์ที่ส่ง","runbox.action.submitLog.dialog.title":"ประวัติการส่ง","runbox.action.submitLog.empty":"ไม่มีประวัติการส่ง","runbox.action.submitLog.title":"ประวัติการส่ง Runbox","runbox.common.close":"ปิด","runbox.common.retry":"ลองใหม่","runbox.common.score":"{score} คะแนน","runbox.common.support":"สนับสนุน","runbox.context.command.ping.error":"เกิดข้อผิดพลาดขณะดำเนินการ Runbox","runbox.header.submitInfo":"{isIndividual, select, true {การส่งแบบส่วนตัว} other {การส่งแบบทีม}} | {remainCount}/{totalCount} ครั้งที่เหลือ | {isDailyLimitEnabled, select, true {วันนี้} other {}} ","runbox.runtime.message.lxp_plan_required":"ขณะนี้สถาบันของคุณไม่รองรับการใช้งานสื่อการเรียนการสอน Runbox\nโปรดติดต่อผู้ดูแลระบบของสถาบันของคุณสำหรับข้อมูลเพิ่มเติม","runbox.runtime.message.runbox_unavailable":"ไม่สามารถใช้ Runbox ได้","runbox.runtime.message.startError":"เกิดข้อผิดพลาดขณะเริ่ม Runbox","runbox.runtime.overlay.assigned.description":"(3 / 3)\nRunbox กำลังทำงานอยู่\nกรุณารอสักครู่!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\nRunbox ใช้เวลานานกว่าที่คาดไว้ในการทำงาน\nกรุณาอย่ารีเฟรชและรอสักครู่!","runbox.runtime.overlay.queued.description":"(2 / 3)\nกำลังรอคิวอยู่ที่ {waiters}...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\nRunbox ของคุณจะเริ่มทำงานเร็วๆ นี้","runbox.runtime.overlay.terminated.description.default":"Runbox หยุดทำงานเนื่องจากปัญหาที่ไม่คาดคิด\nคลิกปุ่มด้านล่างเพื่อเชื่อมต่อ Runbox ใหม่","runbox.runtime.overlay.terminated.description.general":"Runbox ที่เชื่อมต่อกับคุณหยุดทำงาน\nคลิกปุ่มด้านล่างเพื่อเชื่อมต่อ Runbox ใหม่","runbox.runtime.overlay.terminated.description.os_disk_is_full":"Runbox หยุดทำงานเนื่องจากพื้นที่ดิสก์เต็ม\nหากคุณเพิ่งลบ Runbox อาจใช้เวลาสักครู่กว่าจะสะท้อนผล","runbox.runtime.overlay.terminated.description.quota_exceeded":"Runbox หยุดทำงานเนื่องจากใช้เวลาเกินขีดจำกัด","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"Runbox หยุดทำงานหลังจากใช้งานครบ 24 ชั่วโมง\nคลิกปุ่มด้านล่างเพื่อเชื่อมต่อ Runbox ใหม่","runbox.runtime.overlay.terminated.description.unexpected":"หากปัญหายังคงมีอยู่ โปรดติดต่อฝ่ายสนับสนุน","runbox.runtime.overlay.terminated.restart":"เชื่อมต่อใหม่","runbox.runtime.overlay.terminated.title":"การเชื่อมต่อ Runbox หยุดชะงัก"};
6
6
 
7
7
  exports.default = th;
@@ -11,6 +11,10 @@ export interface RuntimeProps {
11
11
  /** */
12
12
  courseId: number;
13
13
  /** */
14
+ userId: number;
15
+ /** */
16
+ isTutoring?: boolean;
17
+ /** */
14
18
  refetch: () => Promise<QueryObserverResult<[
15
19
  RunboxGetAndListResponse,
16
20
  RuntimeGetAndListResponse,
@@ -52,7 +52,7 @@ var Runtime = function Runtime(props) {
52
52
  // };
53
53
  },
54
54
  // eslint-disable-next-line react-hooks/exhaustive-deps
55
- [props.runbox.id]);
55
+ [props.runbox.id, props.userId]);
56
56
  //
57
57
  // refresh view when `ProjectFileReset` command done.
58
58
  //
@@ -6,6 +6,10 @@ export interface MaterialRunboxContentProps {
6
6
  courseId: number;
7
7
  /** */
8
8
  enabledLxpPlan?: boolean;
9
+ /** User ID for tutoring. */
10
+ userId: number;
11
+ /** Whether tutoring is enabled. */
12
+ isTutoring: boolean;
9
13
  }
10
14
  declare const MaterialRunboxContent: React.FC<MaterialRunboxContentProps>;
11
15
  export default MaterialRunboxContent;
@@ -28,7 +28,10 @@ var StyledRunboxContainer = styled('div')(_templateObject || (_templateObject =
28
28
  var MaterialRunboxContent = function MaterialRunboxContent(_ref) {
29
29
  var runboxId = _ref.runboxId,
30
30
  courseId = _ref.courseId,
31
- enabledLxpPlan = _ref.enabledLxpPlan;
31
+ enabledLxpPlan = _ref.enabledLxpPlan,
32
+ userId = _ref.userId,
33
+ _ref$isTutoring = _ref.isTutoring,
34
+ isTutoring = _ref$isTutoring === void 0 ? false : _ref$isTutoring;
32
35
  var intl = useRawEliceIntl();
33
36
  var _useMaterialRunboxCon = useMaterialRunboxContext(),
34
37
  showMessenger = _useMaterialRunboxCon.showMessenger;
@@ -56,7 +59,8 @@ var MaterialRunboxContent = function MaterialRunboxContent(_ref) {
56
59
  filterRuntimeTemplateId: runbox.runtimeTemplateId,
57
60
  skip: 0,
58
61
  count: 1,
59
- eliceCourseId: courseId
62
+ eliceCourseId: courseId,
63
+ userId: userId
60
64
  }, {
61
65
  signal: signal
62
66
  }).then(function (runtimes) {
@@ -160,6 +164,8 @@ var MaterialRunboxContent = function MaterialRunboxContent(_ref) {
160
164
  runtime: runtime,
161
165
  runtimeTemplate: runtimeTemplate,
162
166
  courseId: courseId,
167
+ userId: userId,
168
+ isTutoring: isTutoring,
163
169
  refetch: refetch
164
170
  };
165
171
  return jsx(MaterialRunboxCommandContextProvider, {
@@ -172,7 +178,10 @@ var MaterialRunboxContent = function MaterialRunboxContent(_ref) {
172
178
  signal = _ref3.signal;
173
179
  return materialRunboxApi.runbox.runboxRunboxIdHeartbeatPost({
174
180
  runboxId: id,
175
- eliceCourseId: courseId
181
+ eliceCourseId: courseId,
182
+ runboxHeartbeatPostRequest: {
183
+ userId: userId
184
+ }
176
185
  }, {
177
186
  signal: signal
178
187
  });
@@ -182,7 +191,8 @@ var MaterialRunboxContent = function MaterialRunboxContent(_ref) {
182
191
  signal = _ref4.signal;
183
192
  return materialRunboxApi.runbox.runboxRunboxIdQuotaGet({
184
193
  runboxId: id,
185
- eliceCourseId: courseId
194
+ eliceCourseId: courseId,
195
+ userId: userId
186
196
  }, {
187
197
  signal: signal
188
198
  });
@@ -34,6 +34,8 @@ var MaterialRunboxHeader = function MaterialRunboxHeader(_ref3) {
34
34
  runtime = _ref3.runtime,
35
35
  runtimeTemplate = _ref3.runtimeTemplate,
36
36
  courseId = _ref3.courseId,
37
+ userId = _ref3.userId,
38
+ isTutoring = _ref3.isTutoring,
37
39
  refetch = _ref3.refetch;
38
40
  var intl = useRawEliceIntl();
39
41
  var _useMaterialRunboxCon = useMaterialRunboxContext(),
@@ -102,7 +104,7 @@ var MaterialRunboxHeader = function MaterialRunboxHeader(_ref3) {
102
104
  *
103
105
  */
104
106
  var renderHeaderActionAutoShutdown = function renderHeaderActionAutoShutdown() {
105
- if (!enableAutoShutdownToggle) {
107
+ if (!enableAutoShutdownToggle || isTutoring) {
106
108
  return null;
107
109
  }
108
110
  return jsx(MaterialRunboxActionAutoShutdown, {
@@ -145,6 +147,8 @@ var MaterialRunboxHeader = function MaterialRunboxHeader(_ref3) {
145
147
  runbox: runbox,
146
148
  runtime: runtime,
147
149
  courseId: courseId,
150
+ userId: userId,
151
+ isTutoring: isTutoring,
148
152
  menuAnchorEl: menuAnchorEl,
149
153
  refetch: refetch,
150
154
  handleMenuClose: handleMenuClose
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { RuntimeProps } from '../runtime/Runtime';
3
- type MaterialRunboxActionMenuProps = Pick<RuntimeProps, 'runbox' | 'runtime' | 'courseId' | 'refetch'> & {
3
+ type MaterialRunboxActionMenuProps = Pick<RuntimeProps, 'runbox' | 'runtime' | 'courseId' | 'refetch' | 'userId' | 'isTutoring'> & {
4
4
  menuAnchorEl: null | HTMLButtonElement;
5
5
  handleMenuClose: () => void;
6
6
  };
@@ -5,6 +5,7 @@ import { Menu } from '@mui/material';
5
5
  import MaterialRunboxActionReset from './MaterialRunboxActionReset.js';
6
6
  import MaterialRunboxActionRestart from './MaterialRunboxActionRestart.js';
7
7
  import MaterialRunboxActionShare from './MaterialRunboxActionShare.js';
8
+ import MaterialRunboxActionSubmitLog from './MaterialRunboxActionSubmitLog.js';
8
9
 
9
10
  //
10
11
  //
@@ -13,6 +14,8 @@ var MaterialRunboxActionMenu = function MaterialRunboxActionMenu(_ref) {
13
14
  var runbox = _ref.runbox,
14
15
  runtime = _ref.runtime,
15
16
  courseId = _ref.courseId,
17
+ userId = _ref.userId,
18
+ isTutoring = _ref.isTutoring,
16
19
  menuAnchorEl = _ref.menuAnchorEl,
17
20
  refetch = _ref.refetch,
18
21
  handleMenuClose = _ref.handleMenuClose;
@@ -48,9 +51,15 @@ var MaterialRunboxActionMenu = function MaterialRunboxActionMenu(_ref) {
48
51
  runbox: runbox,
49
52
  runtime: runtime,
50
53
  courseId: courseId,
54
+ userId: userId,
51
55
  refetch: refetch,
52
56
  handleMenuClose: handleMenuClose
53
- }), jsx(MaterialRunboxActionReset, {
57
+ }), isTutoring ? jsx(MaterialRunboxActionSubmitLog, {
58
+ runboxId: runbox === null || runbox === void 0 ? void 0 : runbox.id,
59
+ userId: userId,
60
+ eliceCourseId: courseId,
61
+ handleMenuClose: handleMenuClose
62
+ }) : jsx(MaterialRunboxActionReset, {
54
63
  runtime: runtime,
55
64
  courseId: courseId,
56
65
  handleMenuClose: handleMenuClose
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { RuntimeProps } from '../runtime/Runtime';
3
- type MaterialRunboxActionRestartProps = Pick<RuntimeProps, 'runbox' | 'runtime' | 'courseId' | 'refetch'> & {
3
+ type MaterialRunboxActionRestartProps = Pick<RuntimeProps, 'runbox' | 'runtime' | 'courseId' | 'refetch' | 'userId'> & {
4
4
  handleMenuClose: () => void;
5
5
  };
6
6
  declare const MaterialRunboxActionRestart: React.FC<MaterialRunboxActionRestartProps>;
@@ -15,6 +15,7 @@ var MaterialRunboxActionRestart = function MaterialRunboxActionRestart(_ref) {
15
15
  var runbox = _ref.runbox,
16
16
  courseId = _ref.courseId,
17
17
  refetch = _ref.refetch,
18
+ userId = _ref.userId,
18
19
  handleMenuClose = _ref.handleMenuClose;
19
20
  var intl = useRawEliceIntl();
20
21
  var _React$useState = React.useState(false),
@@ -29,7 +30,8 @@ var MaterialRunboxActionRestart = function MaterialRunboxActionRestart(_ref) {
29
30
  var _useRunboxControl = useRunboxControl({
30
31
  runbox: runbox,
31
32
  courseId: courseId,
32
- refetch: refetch
33
+ refetch: refetch,
34
+ userId: userId
33
35
  }),
34
36
  start = _useRunboxControl.start;
35
37
  /**
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { RunboxRunboxIdGradeGetRequest } from '@elice/openapi-client-material-runbox';
3
+ export type MaterialRunboxActionSubmitLogProps = Omit<RunboxRunboxIdGradeGetRequest, 'skip' | 'count'> & {
4
+ handleMenuClose: () => void;
5
+ };
6
+ declare const MaterialRunboxActionSubmitLog: React.FC<MaterialRunboxActionSubmitLogProps>;
7
+ export default MaterialRunboxActionSubmitLog;
@@ -0,0 +1,59 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
+ import React from 'react';
4
+ import { useRawEliceIntl } from '@elice/intl';
5
+ import { EliceIcon } from '@elice/mui-elements';
6
+ import { faTimeline } from '@fortawesome/pro-regular-svg-icons';
7
+ import { MenuItem, ListItemIcon, ListItemText } from '@mui/material';
8
+ import MaterialRunboxActionSubmitLogDialog from './MaterialRunboxActionSubmitLogDialog.js';
9
+
10
+ //
11
+ //
12
+ //
13
+ var MaterialRunboxActionSubmitLog = function MaterialRunboxActionSubmitLog(props) {
14
+ var intl = useRawEliceIntl();
15
+ //
16
+ var _React$useState = React.useState(false),
17
+ _React$useState2 = _slicedToArray(_React$useState, 2),
18
+ isOpen = _React$useState2[0],
19
+ setIsOpen = _React$useState2[1];
20
+ /**
21
+ *
22
+ */
23
+ var renderMenuItem = function renderMenuItem() {
24
+ return jsxs(MenuItem, {
25
+ onClick: function onClick() {
26
+ return setIsOpen(true);
27
+ },
28
+ children: [jsx(ListItemIcon, {
29
+ children: jsx(EliceIcon, {
30
+ icon: faTimeline
31
+ })
32
+ }), jsx(ListItemText, {
33
+ children: intl.formatMessage({
34
+ id: 'runbox.action.submitLog.title'
35
+ })
36
+ })]
37
+ });
38
+ };
39
+ /**
40
+ *
41
+ */
42
+ var renderSubmitLogDialog = function renderSubmitLogDialog() {
43
+ return jsx(MaterialRunboxActionSubmitLogDialog, Object.assign({}, props, {
44
+ isOpen: isOpen,
45
+ onClose: function onClose() {
46
+ setIsOpen(false);
47
+ props.handleMenuClose();
48
+ }
49
+ }));
50
+ };
51
+ //
52
+ //
53
+ //
54
+ return jsxs(Fragment, {
55
+ children: [renderMenuItem(), renderSubmitLogDialog()]
56
+ });
57
+ };
58
+
59
+ export { MaterialRunboxActionSubmitLog as default };
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { MaterialRunboxActionSubmitLogProps } from './MaterialRunboxActionSubmitLog';
3
+ type MaterialRunboxActionSubmitLogDialogProps = MaterialRunboxActionSubmitLogProps & {
4
+ userId: number;
5
+ isOpen: boolean;
6
+ onClose: () => void;
7
+ };
8
+ declare const MaterialRunboxActionSubmitLogDialog: React.FC<MaterialRunboxActionSubmitLogDialogProps>;
9
+ export default MaterialRunboxActionSubmitLogDialog;
@@ -0,0 +1,183 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { __rest } from 'tslib';
3
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
+ import React from 'react';
5
+ import { useInView } from 'react-intersection-observer';
6
+ import { useRawEliceIntl } from '@elice/intl';
7
+ import { Tag, EliceIcon } from '@elice/mui-elements';
8
+ import { useTheme } from '@emotion/react';
9
+ import { faArrowDownToLine } from '@fortawesome/pro-regular-svg-icons';
10
+ import { useMediaQuery, Dialog, DialogTitle, DialogContent, Stack, DialogActions, Button, Typography, List, ListItemButton, ListItemText, ListItemSecondaryAction, Tooltip, IconButton, Box } from '@mui/material';
11
+ import dayjs from 'dayjs';
12
+ import '../contexts/MaterialRunboxApiContext.js';
13
+ import '../contexts/MaterialRunboxCommandContext.js';
14
+ import { useMaterialRunboxContext } from '../contexts/MaterialRunboxContext.js';
15
+ import { useInfiniteRunboxRunboxIdGrade } from '../hooks/useInfiniteRunboxRunboxIdGrade.js';
16
+
17
+ //
18
+ //
19
+ //
20
+ var MaterialRunboxActionSubmitLogDialog = function MaterialRunboxActionSubmitLogDialog(_a) {
21
+ var isOpen = _a.isOpen,
22
+ onClose = _a.onClose,
23
+ props = __rest(_a, ["isOpen", "onClose"]);
24
+ var intl = useRawEliceIntl();
25
+ //
26
+ var _useMaterialRunboxCon = useMaterialRunboxContext(),
27
+ locale = _useMaterialRunboxCon.locale;
28
+ dayjs.locale(locale);
29
+ //
30
+ var theme = useTheme();
31
+ var isMobileOrSmaller = useMediaQuery(theme.breakpoints.down('sm'));
32
+ //
33
+ var _useInfiniteRunboxRun = useInfiniteRunboxRunboxIdGrade(Object.assign(Object.assign({}, props), {
34
+ enabled: Boolean(isOpen && props.runboxId && props.userId)
35
+ })),
36
+ grade = _useInfiniteRunboxRun.grade,
37
+ fetchNextPage = _useInfiniteRunboxRun.fetchNextPage;
38
+ var _useInView = useInView(),
39
+ inView = _useInView.inView,
40
+ ref = _useInView.ref;
41
+ //
42
+ var _React$useState = React.useState(null),
43
+ _React$useState2 = _slicedToArray(_React$useState, 2),
44
+ selectedGrade = _React$useState2[0],
45
+ setSelectedGrade = _React$useState2[1];
46
+ /**
47
+ *
48
+ */
49
+ var renderEmpty = function renderEmpty() {
50
+ return jsx(Stack, {
51
+ justifyContent: "center",
52
+ alignItems: "center",
53
+ children: jsx(Typography, {
54
+ variant: "body1",
55
+ children: intl.formatMessage({
56
+ id: 'runbox.action.submitLog.empty'
57
+ })
58
+ })
59
+ });
60
+ };
61
+ /**
62
+ *
63
+ */
64
+ var renderGradeList = function renderGradeList() {
65
+ return jsxs(List, {
66
+ ref: ref,
67
+ sx: {
68
+ width: '100%',
69
+ maxHeight: '100%',
70
+ overflow: 'auto'
71
+ },
72
+ children: [grade === null || grade === void 0 ? void 0 : grade.map(function (item) {
73
+ return jsxs(ListItemButton, {
74
+ selected: (selectedGrade === null || selectedGrade === void 0 ? void 0 : selectedGrade.id) === item.id,
75
+ onClick: function onClick() {
76
+ return setSelectedGrade(item);
77
+ },
78
+ children: [jsx(ListItemText, {
79
+ primary: dayjs(item.created).format(isMobileOrSmaller ? 'YYYY.MM.DD' : 'YYYY.MM.DD A HH:mm')
80
+ }), jsx(ListItemSecondaryAction, {
81
+ children: jsxs(Stack, {
82
+ direction: "row",
83
+ alignItems: "center",
84
+ gap: "0.5rem",
85
+ children: [(item === null || item === void 0 ? void 0 : item.score) ? jsx(Tag, {
86
+ variant: "muted",
87
+ color: "info",
88
+ label: intl.formatMessage({
89
+ id: 'runbox.common.score'
90
+ }, {
91
+ score: item.score
92
+ })
93
+ }) : null, jsx(Tooltip, {
94
+ title: intl.formatMessage({
95
+ id: 'runbox.action.submitLog.dialog.download.tooltip'
96
+ }),
97
+ children: jsx(IconButton, {
98
+ onClick: function onClick() {
99
+ window.open(item.submissionFileUrl, '_blank');
100
+ },
101
+ children: jsx(EliceIcon, {
102
+ icon: faArrowDownToLine
103
+ })
104
+ })
105
+ })]
106
+ })
107
+ })]
108
+ }, item.id);
109
+ }), jsx("div", {
110
+ ref: ref
111
+ })]
112
+ });
113
+ };
114
+ /**
115
+ *
116
+ */
117
+ var renderCodebox = function renderCodebox() {
118
+ return jsx(Box, {
119
+ bgcolor: function bgcolor(theme) {
120
+ return theme.palette.common.black;
121
+ },
122
+ borderRadius: "0.5rem",
123
+ padding: "1rem",
124
+ width: "100%",
125
+ overflow: "auto",
126
+ fontFamily: "Elice Digital Coding, monospace",
127
+ fontSize: "0.875rem",
128
+ whiteSpace: "pre-wrap",
129
+ lineHeight: "1.375rem",
130
+ children: selectedGrade === null || selectedGrade === void 0 ? void 0 : selectedGrade.output
131
+ });
132
+ };
133
+ //
134
+ //
135
+ //
136
+ React.useEffect(function () {
137
+ if (inView) {
138
+ fetchNextPage();
139
+ }
140
+ }, [inView, fetchNextPage]);
141
+ //
142
+ //
143
+ //
144
+ React.useEffect(function () {
145
+ if ((grade === null || grade === void 0 ? void 0 : grade.length) && !selectedGrade) {
146
+ setSelectedGrade(grade[0]);
147
+ }
148
+ }, [grade, selectedGrade]);
149
+ //
150
+ //
151
+ //
152
+ return jsxs(Dialog, {
153
+ fullWidth: true,
154
+ maxWidth: "lg",
155
+ open: isOpen,
156
+ onClose: onClose,
157
+ children: [jsx(DialogTitle, {
158
+ children: intl.formatMessage({
159
+ id: 'runbox.action.submitLog.dialog.title'
160
+ })
161
+ }), jsx(DialogContent, {
162
+ children: jsx(Stack, {
163
+ direction: "row",
164
+ gap: "0.5rem",
165
+ overflow: "auto",
166
+ maxHeight: "30rem",
167
+ children: (grade === null || grade === void 0 ? void 0 : grade.length) ? jsxs(Fragment, {
168
+ children: [renderGradeList(), renderCodebox()]
169
+ }) : renderEmpty()
170
+ })
171
+ }), jsx(DialogActions, {
172
+ children: jsx(Button, {
173
+ color: "inherit",
174
+ onClick: onClose,
175
+ children: intl.formatMessage({
176
+ id: 'runbox.common.close'
177
+ })
178
+ })
179
+ })]
180
+ });
181
+ };
182
+
183
+ export { MaterialRunboxActionSubmitLogDialog as default };
@@ -0,0 +1,13 @@
1
+ import type { RunboxGradeGetResponse, RunboxRunboxIdGradeGetRequest } from '@elice/openapi-client-material-runbox';
2
+ type UseInfiniteRunboxRunboxIdGradeProps = RunboxRunboxIdGradeGetRequest & {
3
+ enabled: boolean;
4
+ };
5
+ type UseInfiniteRunboxRunboxIdGradeReturn = {
6
+ grade: RunboxGradeGetResponse[] | undefined;
7
+ isGradeLoading: boolean;
8
+ isGradeError: boolean;
9
+ refetchGrade: () => void;
10
+ fetchNextPage: () => void;
11
+ };
12
+ export declare const useInfiniteRunboxRunboxIdGrade: (props: Omit<UseInfiniteRunboxRunboxIdGradeProps, 'skip' | 'count'>) => UseInfiniteRunboxRunboxIdGradeReturn;
13
+ export {};
@@ -0,0 +1,57 @@
1
+ import { useRef, useCallback } from 'react';
2
+ import { useInfiniteQuery } from '@tanstack/react-query';
3
+ import { useMaterialRunboxApiContext } from '../contexts/MaterialRunboxApiContext.js';
4
+ import '../contexts/MaterialRunboxCommandContext.js';
5
+ import '../contexts/MaterialRunboxContext.js';
6
+
7
+ //
8
+ //
9
+ //
10
+ var DEFAULT_COUNT = 10;
11
+ var DEFAULT_SKIP = 0;
12
+ //
13
+ //
14
+ //
15
+ var useInfiniteRunboxRunboxIdGrade = function useInfiniteRunboxRunboxIdGrade(props) {
16
+ var _return = useRef({});
17
+ var enabled = props.enabled;
18
+ var materialRunboxApi = useMaterialRunboxApiContext();
19
+ //
20
+ var _useInfiniteQuery = useInfiniteQuery({
21
+ queryKey: ['runboxRunboxIdGrade', props],
22
+ queryFn: function queryFn(_ref) {
23
+ var _ref$pageParam = _ref.pageParam,
24
+ pageParam = _ref$pageParam === void 0 ? DEFAULT_SKIP : _ref$pageParam;
25
+ return materialRunboxApi.runbox.runboxRunboxIdGradeGet(Object.assign(Object.assign({}, props), {
26
+ skip: pageParam,
27
+ count: DEFAULT_COUNT
28
+ }));
29
+ },
30
+ getNextPageParam: function getNextPageParam(lastPage, pages) {
31
+ return lastPage.length === DEFAULT_COUNT ? pages.length * DEFAULT_COUNT : undefined;
32
+ },
33
+ enabled: enabled
34
+ }),
35
+ data = _useInfiniteQuery.data,
36
+ isLoading = _useInfiniteQuery.isLoading,
37
+ isFetchingNextPage = _useInfiniteQuery.isFetchingNextPage,
38
+ hasNextPage = _useInfiniteQuery.hasNextPage,
39
+ isError = _useInfiniteQuery.isError,
40
+ fetchNextPage = _useInfiniteQuery.fetchNextPage,
41
+ refetch = _useInfiniteQuery.refetch;
42
+ //
43
+ _return.current.grade = data === null || data === void 0 ? void 0 : data.pages.flatMap(function (page) {
44
+ return page;
45
+ });
46
+ _return.current.isGradeLoading = isLoading || isFetchingNextPage;
47
+ _return.current.isGradeError = isError;
48
+ _return.current.refetchGrade = refetch;
49
+ _return.current.fetchNextPage = useCallback(function () {
50
+ if (hasNextPage && !isFetchingNextPage) {
51
+ void fetchNextPage();
52
+ }
53
+ }, [fetchNextPage, hasNextPage, isFetchingNextPage]);
54
+ return _return.current;
55
+ };
56
+
57
+ export { useInfiniteRunboxRunboxIdGrade };
@@ -1,5 +1,5 @@
1
1
  import type { RuntimeProps } from '../runtime/Runtime';
2
- type UseRunboxControlProps = Pick<RuntimeProps, 'runbox' | 'courseId' | 'refetch'>;
2
+ type UseRunboxControlProps = Pick<RuntimeProps, 'runbox' | 'courseId' | 'refetch' | 'userId'>;
3
3
  interface UseRunboxControlReturn {
4
4
  start: (force?: boolean) => Promise<void>;
5
5
  stop: () => Promise<void>;
@@ -35,7 +35,10 @@ var useRunboxControl = function useRunboxControl(props) {
35
35
  return _context.abrupt("return", runboxStart(function (signal) {
36
36
  return materialRunboxApi.runbox.runboxRunboxIdStartPost({
37
37
  runboxId: props.runbox.id,
38
- eliceCourseId: props.courseId
38
+ eliceCourseId: props.courseId,
39
+ runboxStartRequest: {
40
+ userId: props.userId
41
+ }
39
42
  }, {
40
43
  signal: signal
41
44
  });
@@ -57,7 +60,7 @@ var useRunboxControl = function useRunboxControl(props) {
57
60
  }, _callee);
58
61
  })),
59
62
  // eslint-disable-next-line react-hooks/exhaustive-deps
60
- [props.runbox.id, props.courseId, runboxStart]);
63
+ [props.runbox.id, props.courseId, props.userId, runboxStart]);
61
64
  /**
62
65
  * Stop project.
63
66
  */
@@ -1,3 +1,3 @@
1
- var messageEn = {"runbox.action.autoShutdown.title":"Always on","runbox.action.autoShutdown.tooltip.disabled":"This runtime automatically shuts down after {time}, which is set as the per-session usage time.","runbox.action.autoShutdown.tooltip.enabled":"If set to always on, the runtime will not shut down even if you leave the learning {_termLibraryLecturePage}. However, it will automatically shut down after {time}, which is set as the session-specific usage time of the runtime.","runbox.action.grade.dialog.description.error":"An error occurred while grading the code.","runbox.action.grade.dialog.description.success":"Grading completed successfully.","runbox.action.grade.dialog.title":"Grading result","runbox.action.grade.noti.error":"An error occurred while grading the code.","runbox.action.grade.title":"Submit","runbox.action.grade.tooltip.onProgress":"Grading is in progress. Please wait for a moment. Depending on the {_termLibraryLecturePage}, grading may take up to 3 minutes.","runbox.action.reset.dialog.actions.confirm":"Reset","runbox.action.reset.dialog.description":"Are you sure you want to reset the runbox code? Your codes will be overwritten to default code of {_termLibraryLecturePage}.\nAfter reset, the runbox session will be refreshed.","runbox.action.reset.noti.error":"An error occurred while initializing the runbox code.","runbox.action.reset.title":"Reset code","runbox.action.restart.dialog.actions.confirm":"Restart","runbox.action.restart.dialog.description":"Are you sure you want to restart the runbox?","runbox.action.restart.title":"Restart runbox","runbox.action.share.snackbar.copied.fail":"Copying the runbox URL failed, please try again","runbox.action.share.snackbar.copied.success":"The runbox URL was copied successfully.","runbox.action.share.title":"Share runbox URL","runbox.action.submitCountInfo.dialog.description":"You have exceeded the submission count limit","runbox.action.submitCountInfo.dialog.title":"Limit the number of submissions","runbox.action.submitCountInfo.tooltip.disabled":"The submission count has been used up","runbox.common.close":"Close","runbox.common.retry":"Retry","runbox.common.support":"Support","runbox.context.command.ping.error":"An error occurred while processing task.","runbox.header.submitInfo":"{isIndividual, select, true {} other {Team}} submission count | {remainCount}/{totalCount} times left {isDailyLimitEnabled, select, true {today} other {}}","runbox.runtime.message.lxp_plan_required":"Your institution currently does not support Runbox course materials.\nPlease contact your institution administrator for more details.","runbox.runtime.message.runbox_unavailable":"Runbox Unavailable","runbox.runtime.message.startError":"There was an error starting the runbox.","runbox.runtime.overlay.assigned.description_timeout":"(3 of 3)\nRunning the runbox is taking longer than we expected.\nPlease wait a little longer without refreshing!","runbox.runtime.overlay.assigned.description":"(3 of 3)\nRunbox is running.\nPlease wait!","runbox.runtime.overlay.queued.description_zero":"(2 of 3)\nRunbox will run soon","runbox.runtime.overlay.queued.description":"(2 of 3)\nCurrently queued {waiters} times...","runbox.runtime.overlay.terminated.description.default":"The runtime terminated due to an unexpected problem.\nClick the button below to reconnect to the runbox.","runbox.runtime.overlay.terminated.description.general":"The runtime connected to the runbox has ended.\nTo reconnect to the runbox, click the button below.","runbox.runtime.overlay.terminated.description.os_disk_is_full":"Runtime has ended because the disk is full.\nIf you have recently deleted a runbox, it may take some time to reflect.","runbox.runtime.overlay.terminated.description.quota_exceeded":"The runtime has ended because the runtime has expired.","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"Runbox has been running for 24 hours and the runtime has ended.\nTo reconnect to the runbox, click the button below.","runbox.runtime.overlay.terminated.description.unexpected":"If the problem persists, please contact customer service.","runbox.runtime.overlay.terminated.restart":"Reconnect","runbox.runtime.overlay.terminated.title":"Runtime disconnected"};
1
+ var messageEn = {"runbox.action.autoShutdown.title":"Always on","runbox.action.autoShutdown.tooltip.disabled":"This runtime automatically shuts down after {time}, which is set as the per-session usage time.","runbox.action.autoShutdown.tooltip.enabled":"If set to always on, the runtime will not shut down even if you leave the learning {_termLibraryLecturePage}. However, it will automatically shut down after {time}, which is set as the session-specific usage time of the runtime.","runbox.action.grade.dialog.description.error":"An error occurred while grading the code.","runbox.action.grade.dialog.description.success":"Grading completed successfully.","runbox.action.grade.dialog.title":"Grading result","runbox.action.grade.noti.error":"An error occurred while grading the code.","runbox.action.grade.title":"Submit","runbox.action.grade.tooltip.onProgress":"Grading is in progress. Please wait for a moment. Depending on the {_termLibraryLecturePage}, grading may take up to 3 minutes.","runbox.action.reset.dialog.actions.confirm":"Reset","runbox.action.reset.dialog.description":"Are you sure you want to reset the runbox code? Your codes will be overwritten to default code of {_termLibraryLecturePage}.\nAfter reset, the runbox session will be refreshed.","runbox.action.reset.noti.error":"An error occurred while initializing the runbox code.","runbox.action.reset.title":"Reset code","runbox.action.restart.dialog.actions.confirm":"Restart","runbox.action.restart.dialog.description":"Are you sure you want to restart the runbox?","runbox.action.restart.title":"Restart runbox","runbox.action.share.snackbar.copied.fail":"Copying the runbox URL failed, please try again","runbox.action.share.snackbar.copied.success":"The runbox URL was copied successfully.","runbox.action.share.title":"Share runbox URL","runbox.action.submitCountInfo.dialog.description":"You have exceeded the submission count limit","runbox.action.submitCountInfo.dialog.title":"Limit the number of submissions","runbox.action.submitCountInfo.tooltip.disabled":"The submission count has been used up","runbox.action.submitLog.dialog.download.tooltip":"Download submitted file","runbox.action.submitLog.dialog.title":"Submission History","runbox.action.submitLog.empty":"No submission history exists.","runbox.action.submitLog.title":"Runbox Submission History","runbox.common.close":"Close","runbox.common.retry":"Retry","runbox.common.score":"{score} points","runbox.common.support":"Support","runbox.context.command.ping.error":"An error occurred while processing task.","runbox.header.submitInfo":"{isIndividual, select, true {} other {Team}} submission count | {remainCount}/{totalCount} times left {isDailyLimitEnabled, select, true {today} other {}}","runbox.runtime.message.lxp_plan_required":"Your institution currently does not support Runbox course materials.\nPlease contact your institution administrator for more details.","runbox.runtime.message.runbox_unavailable":"Runbox Unavailable","runbox.runtime.message.startError":"There was an error starting the runbox.","runbox.runtime.overlay.assigned.description":"(3 of 3)\nRunbox is running.\nPlease wait!","runbox.runtime.overlay.assigned.description_timeout":"(3 of 3)\nRunning the runbox is taking longer than we expected.\nPlease wait a little longer without refreshing!","runbox.runtime.overlay.queued.description":"(2 of 3)\nCurrently queued {waiters} times...","runbox.runtime.overlay.queued.description_zero":"(2 of 3)\nRunbox will run soon","runbox.runtime.overlay.terminated.description.default":"The runtime terminated due to an unexpected problem.\nClick the button below to reconnect to the runbox.","runbox.runtime.overlay.terminated.description.general":"The runtime connected to the runbox has ended.\nTo reconnect to the runbox, click the button below.","runbox.runtime.overlay.terminated.description.os_disk_is_full":"Runtime has ended because the disk is full.\nIf you have recently deleted a runbox, it may take some time to reflect.","runbox.runtime.overlay.terminated.description.quota_exceeded":"The runtime has ended because the runtime has expired.","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"Runbox has been running for 24 hours and the runtime has ended.\nTo reconnect to the runbox, click the button below.","runbox.runtime.overlay.terminated.description.unexpected":"If the problem persists, please contact customer service.","runbox.runtime.overlay.terminated.restart":"Reconnect","runbox.runtime.overlay.terminated.title":"Runtime disconnected"};
2
2
 
3
3
  export { messageEn as default };
@@ -1,3 +1,3 @@
1
- var ja = {"runbox.action.autoShutdown.title":"常にオン","runbox.action.autoShutdown.tooltip.disabled":"このランタイムは、セッションごとの利用時間として設定された{time}後に自動的にシャットダウンします。","runbox.action.autoShutdown.tooltip.enabled":"常にオンに設定した場合、ランタイムは学習 {_termLibraryLecturePage} を離れてもシャットダウンしません。ただし、ランタイムのセッション固有の使用時間として設定された {time} 後には自動的にシャットダウンします。","runbox.action.grade.dialog.description.error":"コードの採点中にエラーが発生しました。","runbox.action.grade.dialog.description.success":"成績評価が成功裏に完了しました。","runbox.action.grade.dialog.title":"成績結果","runbox.action.grade.noti.error":"コードの採点中にエラーが発生しました。","runbox.action.grade.title":"提出","runbox.action.grade.tooltip.onProgress":"採点中です。しばらくお待ちください。{_termLibraryLecturePage}によって、採点には最大3分かかる場合があります。","runbox.action.reset.dialog.actions.confirm":"リセット","runbox.action.reset.dialog.description":"ランボックスのコードをリセットしてもよろしいですか? あなたのコードは {_termLibraryLecturePage} のデフォルトコードに上書きされます。\nリセット後、ランボックスのセッションがリフレッシュされます。","runbox.action.reset.noti.error":"ランボックスコードの初期化中にエラーが発生しました。","runbox.action.reset.title":"リセットコード","runbox.action.restart.dialog.actions.confirm":"再起動","runbox.action.restart.dialog.description":"再起動してもよろしいですか?","runbox.action.restart.title":"ランボックスを再起動してください","runbox.action.share.snackbar.copied.fail":"ランボックスのURLをコピーすることに失敗しました。もう一度お試しください。","runbox.action.share.snackbar.copied.success":"ランボックスのURLが正常にコピーされました。","runbox.action.share.title":"ランボックスのURLを共有してください。","runbox.action.submitCountInfo.dialog.description":"提出回数の制限を超えています","runbox.action.submitCountInfo.dialog.title":"投稿の数を制限してください。","runbox.action.submitCountInfo.tooltip.disabled":"提出回数が使い果たされました。","runbox.common.close":"閉じる","runbox.common.retry":"リトライ","runbox.common.support":"サポート","runbox.context.command.ping.error":"タスクの処理中にエラーが発生しました。","runbox.header.submitInfo":"{isIndividual, select, true {個人} other {チーム}}の提出回数 | {remainCount}/{totalCount} 回残っています {isDailyLimitEnabled, select, true {今日} other {}}","runbox.runtime.message.lxp_plan_required":"現在、所属機関ではRunboxの学習資料を利用できません。\n詳細については機関の管理者にお問い合わせください。","runbox.runtime.message.runbox_unavailable":"Runboxは利用できません","runbox.runtime.message.startError":"ランボックスの起動中にエラーが発生しました。","runbox.runtime.overlay.assigned.description_timeout":"ランボックスを実行する時間が私たちの予想よりも長くかかっています。\n更新せずにもう少し待ってください!","runbox.runtime.overlay.assigned.description":"Runbox が実行中です。\nお待ちください!","runbox.runtime.overlay.queued.description_zero":"Runboxはもうすぐ実行されます。","runbox.runtime.overlay.queued.description":"現在{waiters}回待機中...","runbox.runtime.overlay.terminated.description.default":"ランタイムは予期せぬ問題により終了しました。\n再接続するには、下のボタンをクリックしてください。","runbox.runtime.overlay.terminated.description.general":"ランボックスに接続されているランタイムが終了しました。\nランボックスに再接続するには、以下のボタンをクリックしてください。","runbox.runtime.overlay.terminated.description.os_disk_is_full":"ディスクがいっぱいになったため、ランタイムが終了しました。\n最近ランボックスを削除した場合、反映には時間がかかることがあります。","runbox.runtime.overlay.terminated.description.quota_exceeded":"ランタイムが期限切れになったため、ランタイムが終了しました。","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"ランボックスは24時間稼働しており、ランタイムが終了しました。\nランボックスに再接続するには、以下のボタンをクリックしてください。","runbox.runtime.overlay.terminated.description.unexpected":"問題が解決しない場合は、カスタマーサービスにお問い合わせください。","runbox.runtime.overlay.terminated.restart":"再接続","runbox.runtime.overlay.terminated.title":"ランタイムが切断されました。"};
1
+ var ja = {"runbox.action.autoShutdown.title":"常にオン","runbox.action.autoShutdown.tooltip.disabled":"このランタイムは、セッションごとの利用時間として設定された{time}後に自動的にシャットダウンします。","runbox.action.autoShutdown.tooltip.enabled":"常にオンに設定した場合、ランタイムは学習 {_termLibraryLecturePage} を離れてもシャットダウンしません。ただし、ランタイムのセッション固有の使用時間として設定された {time} 後には自動的にシャットダウンします。","runbox.action.grade.dialog.description.error":"コードの採点中にエラーが発生しました。","runbox.action.grade.dialog.description.success":"成績評価が成功裏に完了しました。","runbox.action.grade.dialog.title":"成績結果","runbox.action.grade.noti.error":"コードの採点中にエラーが発生しました。","runbox.action.grade.title":"提出","runbox.action.grade.tooltip.onProgress":"採点中です。しばらくお待ちください。{_termLibraryLecturePage}によって、採点には最大3分かかる場合があります。","runbox.action.reset.dialog.actions.confirm":"リセット","runbox.action.reset.dialog.description":"ランボックスのコードをリセットしてもよろしいですか? あなたのコードは {_termLibraryLecturePage} のデフォルトコードに上書きされます。\nリセット後、ランボックスのセッションがリフレッシュされます。","runbox.action.reset.noti.error":"ランボックスコードの初期化中にエラーが発生しました。","runbox.action.reset.title":"リセットコード","runbox.action.restart.dialog.actions.confirm":"再起動","runbox.action.restart.dialog.description":"再起動してもよろしいですか?","runbox.action.restart.title":"ランボックスを再起動してください","runbox.action.share.snackbar.copied.fail":"ランボックスのURLをコピーすることに失敗しました。もう一度お試しください。","runbox.action.share.snackbar.copied.success":"ランボックスのURLが正常にコピーされました。","runbox.action.share.title":"ランボックスのURLを共有してください。","runbox.action.submitCountInfo.dialog.description":"提出回数の制限を超えています","runbox.action.submitCountInfo.dialog.title":"投稿の数を制限してください。","runbox.action.submitCountInfo.tooltip.disabled":"提出回数が使い果たされました。","runbox.action.submitLog.dialog.download.tooltip":"提出ファイルをダウンロード","runbox.action.submitLog.dialog.title":"提出履歴","runbox.action.submitLog.empty":"提出履歴が存在しません。","runbox.action.submitLog.title":"ランボックス提出履歴","runbox.common.close":"閉じる","runbox.common.retry":"リトライ","runbox.common.score":"{score}点","runbox.common.support":"サポート","runbox.context.command.ping.error":"タスクの処理中にエラーが発生しました。","runbox.header.submitInfo":"{isIndividual, select, true {個人} other {チーム}}の提出回数 | {remainCount}/{totalCount} 回残っています {isDailyLimitEnabled, select, true {今日} other {}}","runbox.runtime.message.lxp_plan_required":"現在、所属機関ではRunboxの学習資料を利用できません。\n詳細については機関の管理者にお問い合わせください。","runbox.runtime.message.runbox_unavailable":"Runboxは利用できません","runbox.runtime.message.startError":"ランボックスの起動中にエラーが発生しました。","runbox.runtime.overlay.assigned.description":"Runbox が実行中です。\nお待ちください!","runbox.runtime.overlay.assigned.description_timeout":"ランボックスを実行する時間が私たちの予想よりも長くかかっています。\n更新せずにもう少し待ってください!","runbox.runtime.overlay.queued.description":"現在{waiters}回待機中...","runbox.runtime.overlay.queued.description_zero":"Runboxはもうすぐ実行されます。","runbox.runtime.overlay.terminated.description.default":"ランタイムは予期せぬ問題により終了しました。\n再接続するには、下のボタンをクリックしてください。","runbox.runtime.overlay.terminated.description.general":"ランボックスに接続されているランタイムが終了しました。\nランボックスに再接続するには、以下のボタンをクリックしてください。","runbox.runtime.overlay.terminated.description.os_disk_is_full":"ディスクがいっぱいになったため、ランタイムが終了しました。\n最近ランボックスを削除した場合、反映には時間がかかることがあります。","runbox.runtime.overlay.terminated.description.quota_exceeded":"ランタイムが期限切れになったため、ランタイムが終了しました。","runbox.runtime.overlay.terminated.description.quota_per_session_exceeded":"ランボックスは24時間稼働しており、ランタイムが終了しました。\nランボックスに再接続するには、以下のボタンをクリックしてください。","runbox.runtime.overlay.terminated.description.unexpected":"問題が解決しない場合は、カスタマーサービスにお問い合わせください。","runbox.runtime.overlay.terminated.restart":"再接続","runbox.runtime.overlay.terminated.title":"ランタイムが切断されました。"};
2
2
 
3
3
  export { ja as default };