@elice/material-runbox 1.231127.0 → 1.231128.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/material-runbox/actions/MaterialRunboxActionGrade.js +97 -20
- package/cjs/components/material-runbox/locales/en.json.js +1 -1
- package/cjs/components/material-runbox/locales/ko.json.js +1 -1
- package/es/components/material-runbox/actions/MaterialRunboxActionGrade.js +98 -21
- package/es/components/material-runbox/locales/en.json.js +1 -1
- package/es/components/material-runbox/locales/ko.json.js +1 -1
- package/package.json +5 -5
|
@@ -12,6 +12,7 @@ var styled = require('@emotion/styled');
|
|
|
12
12
|
var iconsMaterial = require('@mui/icons-material');
|
|
13
13
|
var lab = require('@mui/lab');
|
|
14
14
|
var material = require('@mui/material');
|
|
15
|
+
var reactQuery = require('@tanstack/react-query');
|
|
15
16
|
var notistack = require('notistack');
|
|
16
17
|
var MaterialRunboxApiContext = require('../contexts/MaterialRunboxApiContext.js');
|
|
17
18
|
var MaterialRunboxCommandContext = require('../contexts/MaterialRunboxCommandContext.js');
|
|
@@ -68,6 +69,7 @@ var StyledTerminal = styled__default["default"].textarea(_templateObject3 || (_t
|
|
|
68
69
|
var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
69
70
|
var runtime = _ref5.runtime,
|
|
70
71
|
courseId = _ref5.courseId;
|
|
72
|
+
var _a;
|
|
71
73
|
var _useSnackbar = notistack.useSnackbar(),
|
|
72
74
|
enqueueSnackbar = _useSnackbar.enqueueSnackbar;
|
|
73
75
|
var intl = reactIntl.useIntl();
|
|
@@ -78,6 +80,24 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
78
80
|
setCommandIdToPing = _useMaterialRunboxCom.setCommandIdToPing;
|
|
79
81
|
var _useEliceRunboxRunnin = runboxClient.useEliceRunboxRunning(),
|
|
80
82
|
status = _useEliceRunboxRunnin.status;
|
|
83
|
+
var leaderboardSubmitInfoQuery = reactQuery.useQuery({
|
|
84
|
+
queryKey: ['eliceMaterialRunboxRunboxApi.runboxRunboxIdSubmitInfoGet', {
|
|
85
|
+
courseId: courseId,
|
|
86
|
+
runtime: runtime
|
|
87
|
+
}],
|
|
88
|
+
queryFn: function queryFn(_ref6) {
|
|
89
|
+
var signal = _ref6.signal;
|
|
90
|
+
return materialRunboxApi.runbox.runboxRunboxIdSubmitInfoGet({
|
|
91
|
+
eliceCourseId: courseId,
|
|
92
|
+
runboxId: runtime === null || runtime === void 0 ? void 0 : runtime.runboxId
|
|
93
|
+
}, {
|
|
94
|
+
signal: signal
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
enabled: Boolean(runtime === null || runtime === void 0 ? void 0 : runtime.runboxId),
|
|
98
|
+
retry: false
|
|
99
|
+
});
|
|
100
|
+
var isSubmitCountRemained = ((_a = leaderboardSubmitInfoQuery.data) === null || _a === void 0 ? void 0 : _a.remainSubmitCount) !== 0;
|
|
81
101
|
var _React$useState = React__default["default"].useState(false),
|
|
82
102
|
_React$useState2 = _rollupPluginBabelHelpers.slicedToArray(_React$useState, 2),
|
|
83
103
|
isActionLoading = _React$useState2[0],
|
|
@@ -88,8 +108,12 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
88
108
|
setGradeResultDialogOpen = _React$useState4[1];
|
|
89
109
|
var _React$useState5 = React__default["default"].useState(false),
|
|
90
110
|
_React$useState6 = _rollupPluginBabelHelpers.slicedToArray(_React$useState5, 2),
|
|
91
|
-
|
|
92
|
-
|
|
111
|
+
isSubmitCountInfoDialogOpen = _React$useState6[0],
|
|
112
|
+
setSubmitCountInfoDialogOpen = _React$useState6[1];
|
|
113
|
+
var _React$useState7 = React__default["default"].useState(false),
|
|
114
|
+
_React$useState8 = _rollupPluginBabelHelpers.slicedToArray(_React$useState7, 2),
|
|
115
|
+
hasUnreadResult = _React$useState8[0],
|
|
116
|
+
setHasUnreadResult = _React$useState8[1];
|
|
93
117
|
var isRunboxRunning = status === 'running';
|
|
94
118
|
var isGradeDoneWithOutput = !isLastCommandRunning && (lastCommand === null || lastCommand === void 0 ? void 0 : lastCommand.commandType) === openapiClientMaterialRunbox.CommandType.Grade && Boolean(lastCommand === null || lastCommand === void 0 ? void 0 : lastCommand.output);
|
|
95
119
|
/**
|
|
@@ -104,19 +128,38 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
104
128
|
var handleGradeResultDialogClose = function handleGradeResultDialogClose() {
|
|
105
129
|
setGradeResultDialogOpen(false);
|
|
106
130
|
};
|
|
131
|
+
/**
|
|
132
|
+
*
|
|
133
|
+
*/
|
|
134
|
+
var handleSubmitCountInfoDialogClose = function handleSubmitCountInfoDialogClose() {
|
|
135
|
+
setSubmitCountInfoDialogOpen(false);
|
|
136
|
+
};
|
|
107
137
|
/**
|
|
108
138
|
*
|
|
109
139
|
*/
|
|
110
140
|
var handleAction = /*#__PURE__*/function () {
|
|
111
|
-
var
|
|
112
|
-
var runtimeId, _yield$materialRunbox, commandId;
|
|
141
|
+
var _ref7 = _rollupPluginBabelHelpers.asyncToGenerator( /*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee() {
|
|
142
|
+
var _yield$leaderboardSub, currentLeaderboardSubmitInfo, isCurrentSubmitCountEmpty, runtimeId, _yield$materialRunbox, commandId;
|
|
113
143
|
return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
|
|
114
144
|
while (1) switch (_context.prev = _context.next) {
|
|
115
145
|
case 0:
|
|
116
146
|
setActionLoading(true);
|
|
117
147
|
_context.prev = 1;
|
|
148
|
+
_context.next = 4;
|
|
149
|
+
return leaderboardSubmitInfoQuery.refetch();
|
|
150
|
+
case 4:
|
|
151
|
+
_yield$leaderboardSub = _context.sent;
|
|
152
|
+
currentLeaderboardSubmitInfo = _yield$leaderboardSub.data;
|
|
153
|
+
isCurrentSubmitCountEmpty = (currentLeaderboardSubmitInfo === null || currentLeaderboardSubmitInfo === void 0 ? void 0 : currentLeaderboardSubmitInfo.remainSubmitCount) === 0;
|
|
154
|
+
if (!isCurrentSubmitCountEmpty) {
|
|
155
|
+
_context.next = 10;
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
setSubmitCountInfoDialogOpen(true);
|
|
159
|
+
return _context.abrupt("return");
|
|
160
|
+
case 10:
|
|
118
161
|
runtimeId = runtime === null || runtime === void 0 ? void 0 : runtime.id;
|
|
119
|
-
_context.next =
|
|
162
|
+
_context.next = 13;
|
|
120
163
|
return materialRunboxApi.runtime.runtimeRuntimeIdCommandPost({
|
|
121
164
|
runtimeId: runtimeId,
|
|
122
165
|
eliceCourseId: courseId,
|
|
@@ -124,32 +167,32 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
124
167
|
commandType: openapiClientMaterialRunbox.CommandType.Grade
|
|
125
168
|
}
|
|
126
169
|
});
|
|
127
|
-
case
|
|
170
|
+
case 13:
|
|
128
171
|
_yield$materialRunbox = _context.sent;
|
|
129
172
|
commandId = _yield$materialRunbox.id;
|
|
130
173
|
setCommandIdToPing(commandId);
|
|
131
|
-
_context.next =
|
|
174
|
+
_context.next = 21;
|
|
132
175
|
break;
|
|
133
|
-
case
|
|
134
|
-
_context.prev =
|
|
176
|
+
case 18:
|
|
177
|
+
_context.prev = 18;
|
|
135
178
|
_context.t0 = _context["catch"](1);
|
|
136
179
|
enqueueSnackbar(intl.formatMessage({
|
|
137
180
|
id: 'runbox.action.grade.noti.error'
|
|
138
181
|
}), {
|
|
139
182
|
variant: 'error'
|
|
140
183
|
});
|
|
141
|
-
case
|
|
142
|
-
_context.prev =
|
|
184
|
+
case 21:
|
|
185
|
+
_context.prev = 21;
|
|
143
186
|
setActionLoading(false);
|
|
144
|
-
return _context.finish(
|
|
145
|
-
case
|
|
187
|
+
return _context.finish(21);
|
|
188
|
+
case 24:
|
|
146
189
|
case "end":
|
|
147
190
|
return _context.stop();
|
|
148
191
|
}
|
|
149
|
-
}, _callee, null, [[1,
|
|
192
|
+
}, _callee, null, [[1, 18, 21, 24]]);
|
|
150
193
|
}));
|
|
151
194
|
return function handleAction() {
|
|
152
|
-
return
|
|
195
|
+
return _ref7.apply(this, arguments);
|
|
153
196
|
};
|
|
154
197
|
}();
|
|
155
198
|
//
|
|
@@ -176,17 +219,31 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
176
219
|
var renderActionButton = function renderActionButton() {
|
|
177
220
|
var isGradeType = (lastCommand === null || lastCommand === void 0 ? void 0 : lastCommand.commandType) === openapiClientMaterialRunbox.CommandType.Grade;
|
|
178
221
|
var isGrading = isActionLoading || isLastCommandRunning && isGradeType;
|
|
222
|
+
/**
|
|
223
|
+
*
|
|
224
|
+
*/
|
|
225
|
+
var getActionTooltipMessage = function getActionTooltipMessage() {
|
|
226
|
+
if (!isSubmitCountRemained) {
|
|
227
|
+
return intl.formatMessage({
|
|
228
|
+
id: 'runbox.action.submitCountInfo.tooltip.disabled'
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
if (isGrading) {
|
|
232
|
+
return intl.formatMessage({
|
|
233
|
+
id: 'runbox.action.grade.tooltip.onProgress'
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
return '';
|
|
237
|
+
};
|
|
179
238
|
return React__default["default"].createElement(material.Tooltip, {
|
|
180
|
-
title:
|
|
181
|
-
id: 'runbox.action.grade.tooltip.onProgress'
|
|
182
|
-
}) : '',
|
|
239
|
+
title: getActionTooltipMessage(),
|
|
183
240
|
placement: "bottom-end"
|
|
184
241
|
}, React__default["default"].createElement(material.ButtonGroup, {
|
|
185
242
|
variant: "contained"
|
|
186
243
|
}, React__default["default"].createElement(StyledMainActionButton, {
|
|
187
244
|
variant: "contained",
|
|
188
245
|
loading: isGrading,
|
|
189
|
-
disabled: !isRunboxRunning || isLastCommandRunning,
|
|
246
|
+
disabled: !isRunboxRunning || isLastCommandRunning || !isSubmitCountRemained,
|
|
190
247
|
size: "small",
|
|
191
248
|
onClick: handleAction
|
|
192
249
|
}, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
@@ -247,10 +304,30 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
247
304
|
id: "runbox.common.close"
|
|
248
305
|
}))));
|
|
249
306
|
};
|
|
307
|
+
/**
|
|
308
|
+
*
|
|
309
|
+
*/
|
|
310
|
+
var renderActionSubmitCountInfoDialog = function renderActionSubmitCountInfoDialog() {
|
|
311
|
+
return React__default["default"].createElement(material.Dialog, {
|
|
312
|
+
fullWidth: true,
|
|
313
|
+
maxWidth: "xs",
|
|
314
|
+
open: isSubmitCountInfoDialogOpen,
|
|
315
|
+
onClick: handleSubmitCountInfoDialogClose
|
|
316
|
+
}, React__default["default"].createElement(material.DialogTitle, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
317
|
+
id: "runbtox.action.submitCountInfo.dialog.title"
|
|
318
|
+
})), React__default["default"].createElement(material.DialogContent, null, React__default["default"].createElement(material.Typography, null, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
319
|
+
id: "runbox.action.submitCountInfo.dialog.description"
|
|
320
|
+
}))), React__default["default"].createElement(material.DialogActions, null, React__default["default"].createElement(material.Button, {
|
|
321
|
+
color: "inherit",
|
|
322
|
+
onClick: handleSubmitCountInfoDialogClose
|
|
323
|
+
}, React__default["default"].createElement(reactIntl.FormattedMessage, {
|
|
324
|
+
id: "runbox.common.close"
|
|
325
|
+
}))));
|
|
326
|
+
};
|
|
250
327
|
//
|
|
251
328
|
//
|
|
252
329
|
//
|
|
253
|
-
return React__default["default"].createElement(React__default["default"].Fragment, null, renderActionButton(), renderActionGradeResultDialog());
|
|
330
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, renderActionButton(), renderActionGradeResultDialog(), renderActionSubmitCountInfoDialog());
|
|
254
331
|
};
|
|
255
332
|
|
|
256
333
|
exports["default"] = MaterialRunboxActionGrade;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var en = {"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 material. 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 material, 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 material.\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.title":"Share runbox URL","runbox.action.share.tooltip.copied":"Runbox URL copied to clipboard.","runbox.common.close":"Close","runbox.common.retry":"Retry","runbox.common.support":"Support","runbox.context.command.ping.error":"An error occurred while processing task.","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"};
|
|
5
|
+
var en = {"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 material. 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 material, 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 material.\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.title":"Share runbox URL","runbox.action.share.tooltip.copied":"Runbox URL copied to clipboard.","runbox.action.submitCountInfo.dialog.title":"Limit the number of submissions","runbox.action.submitCountInfo.dialog.description":"You have exceeded the submission count limit","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.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"};
|
|
6
6
|
|
|
7
7
|
exports["default"] = en;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var ko = {"runbox.action.autoShutdown.title":"항상 켜두기","runbox.action.autoShutdown.tooltip.disabled":"해당 런타임은 세션별 사용 시간으로 설정된 {time}이 지나면 자동으로 종료됩니다.","runbox.action.autoShutdown.tooltip.enabled":"항상 켜두기를 설정하면 학습 자료 밖으로 나가도 런타임이 종료되지 않습니다. 다만, 해당 런타임의 세션별 사용 시간으로 설정된 {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":"런박스 코드를 초기화하시겠습니까? 초기화 시 학습자료의 코드가 기본 코드로 덮어씌워집니다.\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.title":"런박스 URL 복사","runbox.action.share.tooltip.copied":"런박스 URL을 복사하였습니다.","runbox.common.close":"닫기","runbox.common.retry":"재시도","runbox.common.support":"고객센터","runbox.context.command.ping.error":"런박스 작업을 수행하는 도중 오류가 발생했습니다.","runbox.runtime.message.startError":"런박스를 시작하는 중에 오류가 발생했습니다.","runbox.runtime.overlay.assigned.description":"(3 / 3)\n런박스가 실행 중입니다.\n잠시만 기다려주세요!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\n런박스를 실행하는데\n예상보다 시간이 소요되고 있습니다.\n새로고침하지 말고 조금만 더 기다려주세요!","runbox.runtime.overlay.queued.description":"(2 / 3)\n현재 {waiters}번째 대기 중입니다...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\n곧 런박스가 실행됩니다","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":"런타임 연결 해제됨"};
|
|
5
|
+
var ko = {"runbox.action.autoShutdown.title":"항상 켜두기","runbox.action.autoShutdown.tooltip.disabled":"해당 런타임은 세션별 사용 시간으로 설정된 {time}이 지나면 자동으로 종료됩니다.","runbox.action.autoShutdown.tooltip.enabled":"항상 켜두기를 설정하면 학습 자료 밖으로 나가도 런타임이 종료되지 않습니다. 다만, 해당 런타임의 세션별 사용 시간으로 설정된 {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":"런박스 코드를 초기화하시겠습니까? 초기화 시 학습자료의 코드가 기본 코드로 덮어씌워집니다.\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.title":"런박스 URL 복사","runbox.action.share.tooltip.copied":"런박스 URL을 복사하였습니다.","runbox.action.submitCountInfo.dialog.title":"제출 횟수 제한","runbox.action.submitCountInfo.dialog.description":"제출 횟수 제한을 초과했습니다.","runbox.action.submitCountInfo.tooltip.disabled":"제출 횟수를 모두 사용했습니다.","runbox.common.close":"닫기","runbox.common.retry":"재시도","runbox.common.support":"고객센터","runbox.context.command.ping.error":"런박스 작업을 수행하는 도중 오류가 발생했습니다.","runbox.runtime.message.startError":"런박스를 시작하는 중에 오류가 발생했습니다.","runbox.runtime.overlay.assigned.description":"(3 / 3)\n런박스가 실행 중입니다.\n잠시만 기다려주세요!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\n런박스를 실행하는데\n예상보다 시간이 소요되고 있습니다.\n새로고침하지 말고 조금만 더 기다려주세요!","runbox.runtime.overlay.queued.description":"(2 / 3)\n현재 {waiters}번째 대기 중입니다...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\n곧 런박스가 실행됩니다","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":"런타임 연결 해제됨"};
|
|
6
6
|
|
|
7
7
|
exports["default"] = ko;
|
|
@@ -7,7 +7,8 @@ import { useEliceRunboxRunning } from '@elice/runbox-client';
|
|
|
7
7
|
import styled from '@emotion/styled';
|
|
8
8
|
import { Terminal } from '@mui/icons-material';
|
|
9
9
|
import { LoadingButton } from '@mui/lab';
|
|
10
|
-
import { Button, Tooltip, ButtonGroup, Badge, Dialog, DialogTitle, DialogContent, Stack, Alert, DialogActions } from '@mui/material';
|
|
10
|
+
import { Button, Tooltip, ButtonGroup, Badge, Dialog, DialogTitle, DialogContent, Stack, Alert, DialogActions, Typography } from '@mui/material';
|
|
11
|
+
import { useQuery } from '@tanstack/react-query';
|
|
11
12
|
import { useSnackbar } from 'notistack';
|
|
12
13
|
import { useMaterialRunboxApiContext } from '../contexts/MaterialRunboxApiContext.js';
|
|
13
14
|
import { useMaterialRunboxCommandContext } from '../contexts/MaterialRunboxCommandContext.js';
|
|
@@ -59,6 +60,7 @@ var StyledTerminal = styled.textarea(_templateObject3 || (_templateObject3 = _ta
|
|
|
59
60
|
var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
60
61
|
var runtime = _ref5.runtime,
|
|
61
62
|
courseId = _ref5.courseId;
|
|
63
|
+
var _a;
|
|
62
64
|
var _useSnackbar = useSnackbar(),
|
|
63
65
|
enqueueSnackbar = _useSnackbar.enqueueSnackbar;
|
|
64
66
|
var intl = useIntl();
|
|
@@ -69,6 +71,24 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
69
71
|
setCommandIdToPing = _useMaterialRunboxCom.setCommandIdToPing;
|
|
70
72
|
var _useEliceRunboxRunnin = useEliceRunboxRunning(),
|
|
71
73
|
status = _useEliceRunboxRunnin.status;
|
|
74
|
+
var leaderboardSubmitInfoQuery = useQuery({
|
|
75
|
+
queryKey: ['eliceMaterialRunboxRunboxApi.runboxRunboxIdSubmitInfoGet', {
|
|
76
|
+
courseId: courseId,
|
|
77
|
+
runtime: runtime
|
|
78
|
+
}],
|
|
79
|
+
queryFn: function queryFn(_ref6) {
|
|
80
|
+
var signal = _ref6.signal;
|
|
81
|
+
return materialRunboxApi.runbox.runboxRunboxIdSubmitInfoGet({
|
|
82
|
+
eliceCourseId: courseId,
|
|
83
|
+
runboxId: runtime === null || runtime === void 0 ? void 0 : runtime.runboxId
|
|
84
|
+
}, {
|
|
85
|
+
signal: signal
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
enabled: Boolean(runtime === null || runtime === void 0 ? void 0 : runtime.runboxId),
|
|
89
|
+
retry: false
|
|
90
|
+
});
|
|
91
|
+
var isSubmitCountRemained = ((_a = leaderboardSubmitInfoQuery.data) === null || _a === void 0 ? void 0 : _a.remainSubmitCount) !== 0;
|
|
72
92
|
var _React$useState = React.useState(false),
|
|
73
93
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
74
94
|
isActionLoading = _React$useState2[0],
|
|
@@ -79,8 +99,12 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
79
99
|
setGradeResultDialogOpen = _React$useState4[1];
|
|
80
100
|
var _React$useState5 = React.useState(false),
|
|
81
101
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
82
|
-
|
|
83
|
-
|
|
102
|
+
isSubmitCountInfoDialogOpen = _React$useState6[0],
|
|
103
|
+
setSubmitCountInfoDialogOpen = _React$useState6[1];
|
|
104
|
+
var _React$useState7 = React.useState(false),
|
|
105
|
+
_React$useState8 = _slicedToArray(_React$useState7, 2),
|
|
106
|
+
hasUnreadResult = _React$useState8[0],
|
|
107
|
+
setHasUnreadResult = _React$useState8[1];
|
|
84
108
|
var isRunboxRunning = status === 'running';
|
|
85
109
|
var isGradeDoneWithOutput = !isLastCommandRunning && (lastCommand === null || lastCommand === void 0 ? void 0 : lastCommand.commandType) === CommandType.Grade && Boolean(lastCommand === null || lastCommand === void 0 ? void 0 : lastCommand.output);
|
|
86
110
|
/**
|
|
@@ -95,19 +119,38 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
95
119
|
var handleGradeResultDialogClose = function handleGradeResultDialogClose() {
|
|
96
120
|
setGradeResultDialogOpen(false);
|
|
97
121
|
};
|
|
122
|
+
/**
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
|
+
var handleSubmitCountInfoDialogClose = function handleSubmitCountInfoDialogClose() {
|
|
126
|
+
setSubmitCountInfoDialogOpen(false);
|
|
127
|
+
};
|
|
98
128
|
/**
|
|
99
129
|
*
|
|
100
130
|
*/
|
|
101
131
|
var handleAction = /*#__PURE__*/function () {
|
|
102
|
-
var
|
|
103
|
-
var runtimeId, _yield$materialRunbox, commandId;
|
|
132
|
+
var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
133
|
+
var _yield$leaderboardSub, currentLeaderboardSubmitInfo, isCurrentSubmitCountEmpty, runtimeId, _yield$materialRunbox, commandId;
|
|
104
134
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
105
135
|
while (1) switch (_context.prev = _context.next) {
|
|
106
136
|
case 0:
|
|
107
137
|
setActionLoading(true);
|
|
108
138
|
_context.prev = 1;
|
|
139
|
+
_context.next = 4;
|
|
140
|
+
return leaderboardSubmitInfoQuery.refetch();
|
|
141
|
+
case 4:
|
|
142
|
+
_yield$leaderboardSub = _context.sent;
|
|
143
|
+
currentLeaderboardSubmitInfo = _yield$leaderboardSub.data;
|
|
144
|
+
isCurrentSubmitCountEmpty = (currentLeaderboardSubmitInfo === null || currentLeaderboardSubmitInfo === void 0 ? void 0 : currentLeaderboardSubmitInfo.remainSubmitCount) === 0;
|
|
145
|
+
if (!isCurrentSubmitCountEmpty) {
|
|
146
|
+
_context.next = 10;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
setSubmitCountInfoDialogOpen(true);
|
|
150
|
+
return _context.abrupt("return");
|
|
151
|
+
case 10:
|
|
109
152
|
runtimeId = runtime === null || runtime === void 0 ? void 0 : runtime.id;
|
|
110
|
-
_context.next =
|
|
153
|
+
_context.next = 13;
|
|
111
154
|
return materialRunboxApi.runtime.runtimeRuntimeIdCommandPost({
|
|
112
155
|
runtimeId: runtimeId,
|
|
113
156
|
eliceCourseId: courseId,
|
|
@@ -115,32 +158,32 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
115
158
|
commandType: CommandType.Grade
|
|
116
159
|
}
|
|
117
160
|
});
|
|
118
|
-
case
|
|
161
|
+
case 13:
|
|
119
162
|
_yield$materialRunbox = _context.sent;
|
|
120
163
|
commandId = _yield$materialRunbox.id;
|
|
121
164
|
setCommandIdToPing(commandId);
|
|
122
|
-
_context.next =
|
|
165
|
+
_context.next = 21;
|
|
123
166
|
break;
|
|
124
|
-
case
|
|
125
|
-
_context.prev =
|
|
167
|
+
case 18:
|
|
168
|
+
_context.prev = 18;
|
|
126
169
|
_context.t0 = _context["catch"](1);
|
|
127
170
|
enqueueSnackbar(intl.formatMessage({
|
|
128
171
|
id: 'runbox.action.grade.noti.error'
|
|
129
172
|
}), {
|
|
130
173
|
variant: 'error'
|
|
131
174
|
});
|
|
132
|
-
case
|
|
133
|
-
_context.prev =
|
|
175
|
+
case 21:
|
|
176
|
+
_context.prev = 21;
|
|
134
177
|
setActionLoading(false);
|
|
135
|
-
return _context.finish(
|
|
136
|
-
case
|
|
178
|
+
return _context.finish(21);
|
|
179
|
+
case 24:
|
|
137
180
|
case "end":
|
|
138
181
|
return _context.stop();
|
|
139
182
|
}
|
|
140
|
-
}, _callee, null, [[1,
|
|
183
|
+
}, _callee, null, [[1, 18, 21, 24]]);
|
|
141
184
|
}));
|
|
142
185
|
return function handleAction() {
|
|
143
|
-
return
|
|
186
|
+
return _ref7.apply(this, arguments);
|
|
144
187
|
};
|
|
145
188
|
}();
|
|
146
189
|
//
|
|
@@ -167,17 +210,31 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
167
210
|
var renderActionButton = function renderActionButton() {
|
|
168
211
|
var isGradeType = (lastCommand === null || lastCommand === void 0 ? void 0 : lastCommand.commandType) === CommandType.Grade;
|
|
169
212
|
var isGrading = isActionLoading || isLastCommandRunning && isGradeType;
|
|
213
|
+
/**
|
|
214
|
+
*
|
|
215
|
+
*/
|
|
216
|
+
var getActionTooltipMessage = function getActionTooltipMessage() {
|
|
217
|
+
if (!isSubmitCountRemained) {
|
|
218
|
+
return intl.formatMessage({
|
|
219
|
+
id: 'runbox.action.submitCountInfo.tooltip.disabled'
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
if (isGrading) {
|
|
223
|
+
return intl.formatMessage({
|
|
224
|
+
id: 'runbox.action.grade.tooltip.onProgress'
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
return '';
|
|
228
|
+
};
|
|
170
229
|
return React.createElement(Tooltip, {
|
|
171
|
-
title:
|
|
172
|
-
id: 'runbox.action.grade.tooltip.onProgress'
|
|
173
|
-
}) : '',
|
|
230
|
+
title: getActionTooltipMessage(),
|
|
174
231
|
placement: "bottom-end"
|
|
175
232
|
}, React.createElement(ButtonGroup, {
|
|
176
233
|
variant: "contained"
|
|
177
234
|
}, React.createElement(StyledMainActionButton, {
|
|
178
235
|
variant: "contained",
|
|
179
236
|
loading: isGrading,
|
|
180
|
-
disabled: !isRunboxRunning || isLastCommandRunning,
|
|
237
|
+
disabled: !isRunboxRunning || isLastCommandRunning || !isSubmitCountRemained,
|
|
181
238
|
size: "small",
|
|
182
239
|
onClick: handleAction
|
|
183
240
|
}, React.createElement(FormattedMessage, {
|
|
@@ -238,10 +295,30 @@ var MaterialRunboxActionGrade = function MaterialRunboxActionGrade(_ref5) {
|
|
|
238
295
|
id: "runbox.common.close"
|
|
239
296
|
}))));
|
|
240
297
|
};
|
|
298
|
+
/**
|
|
299
|
+
*
|
|
300
|
+
*/
|
|
301
|
+
var renderActionSubmitCountInfoDialog = function renderActionSubmitCountInfoDialog() {
|
|
302
|
+
return React.createElement(Dialog, {
|
|
303
|
+
fullWidth: true,
|
|
304
|
+
maxWidth: "xs",
|
|
305
|
+
open: isSubmitCountInfoDialogOpen,
|
|
306
|
+
onClick: handleSubmitCountInfoDialogClose
|
|
307
|
+
}, React.createElement(DialogTitle, null, React.createElement(FormattedMessage, {
|
|
308
|
+
id: "runbtox.action.submitCountInfo.dialog.title"
|
|
309
|
+
})), React.createElement(DialogContent, null, React.createElement(Typography, null, React.createElement(FormattedMessage, {
|
|
310
|
+
id: "runbox.action.submitCountInfo.dialog.description"
|
|
311
|
+
}))), React.createElement(DialogActions, null, React.createElement(Button, {
|
|
312
|
+
color: "inherit",
|
|
313
|
+
onClick: handleSubmitCountInfoDialogClose
|
|
314
|
+
}, React.createElement(FormattedMessage, {
|
|
315
|
+
id: "runbox.common.close"
|
|
316
|
+
}))));
|
|
317
|
+
};
|
|
241
318
|
//
|
|
242
319
|
//
|
|
243
320
|
//
|
|
244
|
-
return React.createElement(React.Fragment, null, renderActionButton(), renderActionGradeResultDialog());
|
|
321
|
+
return React.createElement(React.Fragment, null, renderActionButton(), renderActionGradeResultDialog(), renderActionSubmitCountInfoDialog());
|
|
245
322
|
};
|
|
246
323
|
|
|
247
324
|
export { MaterialRunboxActionGrade as default };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var en = {"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 material. 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 material, 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 material.\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.title":"Share runbox URL","runbox.action.share.tooltip.copied":"Runbox URL copied to clipboard.","runbox.common.close":"Close","runbox.common.retry":"Retry","runbox.common.support":"Support","runbox.context.command.ping.error":"An error occurred while processing task.","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"};
|
|
1
|
+
var en = {"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 material. 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 material, 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 material.\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.title":"Share runbox URL","runbox.action.share.tooltip.copied":"Runbox URL copied to clipboard.","runbox.action.submitCountInfo.dialog.title":"Limit the number of submissions","runbox.action.submitCountInfo.dialog.description":"You have exceeded the submission count limit","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.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 { en as default };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var ko = {"runbox.action.autoShutdown.title":"항상 켜두기","runbox.action.autoShutdown.tooltip.disabled":"해당 런타임은 세션별 사용 시간으로 설정된 {time}이 지나면 자동으로 종료됩니다.","runbox.action.autoShutdown.tooltip.enabled":"항상 켜두기를 설정하면 학습 자료 밖으로 나가도 런타임이 종료되지 않습니다. 다만, 해당 런타임의 세션별 사용 시간으로 설정된 {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":"런박스 코드를 초기화하시겠습니까? 초기화 시 학습자료의 코드가 기본 코드로 덮어씌워집니다.\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.title":"런박스 URL 복사","runbox.action.share.tooltip.copied":"런박스 URL을 복사하였습니다.","runbox.common.close":"닫기","runbox.common.retry":"재시도","runbox.common.support":"고객센터","runbox.context.command.ping.error":"런박스 작업을 수행하는 도중 오류가 발생했습니다.","runbox.runtime.message.startError":"런박스를 시작하는 중에 오류가 발생했습니다.","runbox.runtime.overlay.assigned.description":"(3 / 3)\n런박스가 실행 중입니다.\n잠시만 기다려주세요!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\n런박스를 실행하는데\n예상보다 시간이 소요되고 있습니다.\n새로고침하지 말고 조금만 더 기다려주세요!","runbox.runtime.overlay.queued.description":"(2 / 3)\n현재 {waiters}번째 대기 중입니다...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\n곧 런박스가 실행됩니다","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 ko = {"runbox.action.autoShutdown.title":"항상 켜두기","runbox.action.autoShutdown.tooltip.disabled":"해당 런타임은 세션별 사용 시간으로 설정된 {time}이 지나면 자동으로 종료됩니다.","runbox.action.autoShutdown.tooltip.enabled":"항상 켜두기를 설정하면 학습 자료 밖으로 나가도 런타임이 종료되지 않습니다. 다만, 해당 런타임의 세션별 사용 시간으로 설정된 {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":"런박스 코드를 초기화하시겠습니까? 초기화 시 학습자료의 코드가 기본 코드로 덮어씌워집니다.\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.title":"런박스 URL 복사","runbox.action.share.tooltip.copied":"런박스 URL을 복사하였습니다.","runbox.action.submitCountInfo.dialog.title":"제출 횟수 제한","runbox.action.submitCountInfo.dialog.description":"제출 횟수 제한을 초과했습니다.","runbox.action.submitCountInfo.tooltip.disabled":"제출 횟수를 모두 사용했습니다.","runbox.common.close":"닫기","runbox.common.retry":"재시도","runbox.common.support":"고객센터","runbox.context.command.ping.error":"런박스 작업을 수행하는 도중 오류가 발생했습니다.","runbox.runtime.message.startError":"런박스를 시작하는 중에 오류가 발생했습니다.","runbox.runtime.overlay.assigned.description":"(3 / 3)\n런박스가 실행 중입니다.\n잠시만 기다려주세요!","runbox.runtime.overlay.assigned.description_timeout":"(3 / 3)\n런박스를 실행하는데\n예상보다 시간이 소요되고 있습니다.\n새로고침하지 말고 조금만 더 기다려주세요!","runbox.runtime.overlay.queued.description":"(2 / 3)\n현재 {waiters}번째 대기 중입니다...","runbox.runtime.overlay.queued.description_zero":"(2 / 3)\n곧 런박스가 실행됩니다","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 { ko as default };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elice/material-runbox",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.231128.0",
|
|
4
4
|
"description": "User view and editing components of Elice material runbox",
|
|
5
5
|
"repository": "https://git.elicer.io/elice/frontend/library/elice-material",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -48,10 +48,10 @@
|
|
|
48
48
|
"tslib": "^2.6.1"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@elice/material-shared-types": "1.
|
|
52
|
-
"@elice/material-shared-utils": "1.
|
|
51
|
+
"@elice/material-shared-types": "1.231128.0",
|
|
52
|
+
"@elice/material-shared-utils": "1.231128.0",
|
|
53
53
|
"@elice/mui-system": "^5.230815.0",
|
|
54
|
-
"@elice/openapi-client-material-runbox": "^1.
|
|
54
|
+
"@elice/openapi-client-material-runbox": "^1.231128.0",
|
|
55
55
|
"@elice/runbox-client": "^1.231103.0",
|
|
56
56
|
"@emotion/react": "^11.10.5",
|
|
57
57
|
"@emotion/styled": "^11.10.5",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"react-intl": "^5.20.10",
|
|
68
68
|
"react-use": "^17.2.4"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "68a4d618bdca740f867ecab4dce21ac207d2bbe0"
|
|
71
71
|
}
|