jam-cloud/web/app/assets/javascripts/networkTestDialog.js

94 lines
2.1 KiB
JavaScript

(function (context, $) {
"use strict";
context.JK = context.JK || {};
context.JK.NetworkTestDialog = function (app) {
var logger = context.JK.logger;
var $dialog = null;
var $btnCancel = null;
var $btnClose = null;
var $btnHelp = null;
var networkTest = new context.JK.NetworkTest(app);
function networkTestDone() {
unfreezeInteractions();
}
function networkTestFail() {
unfreezeInteractions();
}
function networkTestStart() {
freezeInteractions();
}
function freezeInteractions() {
$btnClose.removeClass('button-orange').addClass('button-grey');
}
function unfreezeInteractions() {
$btnClose.removeClass('button-grey').addClass('button-orange');
}
function events() {
$btnCancel.on('click', function() {
// should we stop this if the test is going?
app.layout.closeDialog('network-test')
return false;
})
$btnClose.on('click', function(e) {
if(!networkTest.isScoring()) {
app.layout.closeDialog('network-test');
}
return false;
})
$btnHelp.on('click', function(e) {
context.JK.Banner.showAlert('No help is yet available for the network test.');
return false;
})
}
function beforeShow() {
if(!networkTest.isScoring()) {
networkTest.reset();
}
}
function afterHide() {
}
function initialize() {
var dialogBindings = {
'beforeShow' : beforeShow,
'afterHide': afterHide
};
app.bindDialog('network-test', dialogBindings);
$dialog = $('#network-test-dialog');
$btnCancel = $dialog.find('.btn-cancel');
$btnHelp = $dialog.find('.btn-help');
$btnClose = $dialog.find('.btn-close');
networkTest.initialize($dialog, false);
$(networkTest)
.on(networkTest.NETWORK_TEST_DONE, networkTestDone)
.on(networkTest.NETWORK_TEST_FAIL, networkTestFail)
.on(networkTest.NETWORK_TEST_START, networkTestStart)
events();
}
this.initialize = initialize;
return this;
};
})(window, jQuery);