extracted methods
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
Array.prototype.includes = function(element) {
|
||||||
|
return this.indexOf(element) !== -1;
|
||||||
|
};
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
var ANIMATION_DURATION = 500;
|
var ANIMATION_DURATION = 500;
|
||||||
|
|
||||||
|
@ -284,6 +284,26 @@ $(function() {
|
|||||||
$('#start-over').on('click', confirmReset);
|
$('#start-over').on('click', confirmReset);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var isActiveFileExecutable = function() {
|
||||||
|
return 'executable' in active_frame.data();
|
||||||
|
};
|
||||||
|
|
||||||
|
var isActiveFileRenderable = function() {
|
||||||
|
return 'renderable' in active_frame.data();
|
||||||
|
};
|
||||||
|
|
||||||
|
var isActiveFileRunnable = function() {
|
||||||
|
return isActiveFileExecutable() && ['main_file', 'user_defined_file'].includes(active_frame.data('role'));
|
||||||
|
};
|
||||||
|
|
||||||
|
var isActiveFileStoppable = function() {
|
||||||
|
return isActiveFileRunnable() && running;
|
||||||
|
};
|
||||||
|
|
||||||
|
var isActiveFileTestable = function() {
|
||||||
|
return isActiveFileExecutable() && ['teacher_defined_test', 'user_defined_test'].includes(active_frame.data('role'));
|
||||||
|
};
|
||||||
|
|
||||||
var populatePanel = function(panel, result, index) {
|
var populatePanel = function(panel, result, index) {
|
||||||
panel.removeClass('panel-default').addClass(getPanelClass(result));
|
panel.removeClass('panel-default').addClass(getPanelClass(result));
|
||||||
panel.find('.panel-title .filename').text(result.filename);
|
panel.find('.panel-title .filename').text(result.filename);
|
||||||
@ -578,18 +598,15 @@ $(function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var toggleButtonStates = function() {
|
var toggleButtonStates = function() {
|
||||||
var is_renderable = active_frame.data('renderable') !== undefined;
|
|
||||||
var is_runnable = active_frame.data('executable') !== undefined && _.contains(['main_file', 'user_defined_file'], active_frame.data('role'));
|
|
||||||
var is_testable = active_frame.data('executable') !== undefined && _.contains(['teacher_defined_test', 'user_defined_test'], active_frame.data('role'));
|
|
||||||
$('#destroy-file').prop('disabled', active_frame.data('role') !== 'user_defined_file');
|
$('#destroy-file').prop('disabled', active_frame.data('role') !== 'user_defined_file');
|
||||||
$('#dropdown-render').toggleClass('disabled', !is_renderable);
|
$('#dropdown-render').toggleClass('disabled', !isActiveFileRenderable());
|
||||||
$('#dropdown-run').toggleClass('disabled', !(is_runnable && !running));
|
$('#dropdown-run').toggleClass('disabled', !isActiveFileRunnable() || running);
|
||||||
$('#dropdown-stop').toggleClass('disabled', !(is_runnable && running));
|
$('#dropdown-stop').toggleClass('disabled', !isActiveFileStoppable());
|
||||||
$('#dropdown-test').toggleClass('disabled', !is_testable);
|
$('#dropdown-test').toggleClass('disabled', !isActiveFileTestable());
|
||||||
$('#render').toggle(is_renderable);
|
$('#render').toggle(isActiveFileRenderable());
|
||||||
$('#run').toggle(is_runnable && !running);
|
$('#run').toggle(isActiveFileRunnable() && !running);
|
||||||
$('#stop').toggle(is_runnable && running);
|
$('#stop').toggle(isActiveFileStoppable());
|
||||||
$('#test').toggle(is_testable);
|
$('#test').toggle(isActiveFileTestable());
|
||||||
};
|
};
|
||||||
|
|
||||||
if ($('#editor').isPresent()) {
|
if ($('#editor').isPresent()) {
|
||||||
|
Reference in New Issue
Block a user