X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=root%2Fjs%2Fcomponentload.js;h=00a49612e4b70af42466a67bc972edd75b3e6e7c;hb=e6d34d3e5a298e6d40e10dd313ba5f5cf3bb44e3;hp=8be32107415fccce7e11f9be56a532ffaf34ba55;hpb=e239d45f9ea50e2a3ee2e4575a6b5ea33eaa7dee;p=scpubgit%2Fstemmaweb.git diff --git a/root/js/componentload.js b/root/js/componentload.js index 8be3210..00a4961 100644 --- a/root/js/componentload.js +++ b/root/js/componentload.js @@ -137,13 +137,7 @@ function load_stemma( idx ) { $('#stemma_identifier').empty(); // Add the relevant Stemweb functionality if( selectedTextEditable ) { - if( selectedTextInfo.stemweb_jobid == 0 ) { - $('#open_stemweb_ui').show(); - $('#query_stemweb_ui').hide(); - } else { - $('#query_stemweb_ui').show(); - $('#open_stemweb_ui').hide(); - } + switch_stemweb_ui(); } if( idx > -1 ) { // Load the stemma and its properties @@ -163,11 +157,32 @@ function load_stemma( idx ) { } } +function switch_stemweb_ui() { + if( selectedTextInfo.stemweb_jobid == 0 ) { + // We want to run Stemweb. + $('#open_stemweb_ui').show(); + $('#query_stemweb_ui').hide(); + if( ! $('#stemweb-ui-dialog').dialog('isOpen') ) { + $('#call_stemweb').show() + $('#stemweb_run_button').show(); + } + } else { + $('#query_stemweb_ui').show(); + $('#open_stemweb_ui').hide(); + $('#call_stemweb').hide(); + $('#stemweb_run_button').hide(); + } +} + function query_stemweb_progress() { var requrl = _get_url([ "stemweb", "query", selectedTextInfo.stemweb_jobid ]); + $('#stemweb-ui-dialog').dialog('open'); + $('#stemweb_run_status').empty().append( + _make_message( 'notification', 'Querying Stemweb for calculation progress...') ); $.getJSON( requrl, function (data) { process_stemweb_result( data ); }); + // TODO need an error handler } function process_stemweb_result(data) { @@ -184,20 +199,40 @@ function process_stemweb_result(data) { // Move to the index of the first added stemma. var newIdx = stemmata.length - data.stemmata.length; load_stemma( newIdx, true ); - } - alert( 'You have one or more new stemmata!' ); + } + $('#stemweb_run_status').empty().append( + _make_message( 'notification', 'You have one or more new stemmata!' ) ); } else { - alert( 'Stemweb run finished with no stemmata...huh?!' ); + $('#stemweb_run_status').empty().append( + _make_message( 'warning', 'Stemweb run finished with no stemmata...huh?!' ) ); } } else if( data.status === 'running' ) { // Just tell the user. - alert( 'Your Stemweb query is still running!' ); + $('#stemweb_run_status').empty().append( + _make_message( 'notification', 'Your Stemweb query is still running!' ) ); } else if( data.status === 'notfound' ) { // Ask the user to refresh, for now. - alert( 'Your Stemweb query probably finished and reported back. Please reload to check.' ); + $('#stemweb_run_status').empty().append( + _make_message( 'warning', 'Your Stemweb query probably finished and reported back. Please reload to check.' ) ); + } else if( data.status === 'failed' ) { + selectedTextInfo.stemweb_jobid = 0; + failureMsg = 'Your stemweb query failed'; + if( data.message ) { + failureMsg = failureMsg + ' with the following message: ' + data.message + } else { + failureMsg = failureMsg + ' without telling us why.' + } + $('#stemweb_run_status').empty().append( + _make_message( 'error', failureMsg ) ); } } +function _make_message( type, msg ) { + theMessage = $('').attr( 'class', type ); + theMessage.append( msg ); + return theMessage; +} + // Load the SVG we are given function loadSVG(svgData) { var svgElement = $('#stemma_graph'); @@ -549,10 +584,13 @@ $(document).ready( function() { $('#stemweb-ui-dialog').dialog({ autoOpen: false, height: 'auto', - width: 400, + width: 520, modal: true, buttons: { - Run: function (evt) { + Run: { + id: 'stemweb_run_button', + text: 'Run', + click: function (evt) { $("#stemweb_run_status").empty(); var mybuttons = $(evt.target).closest('button').parent().find('button'); mybuttons.button( 'disable' ); @@ -575,10 +613,16 @@ $(document).ready( function() { process_stemweb_result( data ); } }, 'json' ); + }, + }, + Close: { + id: 'stemweb_close_button', + text: 'Close', + click: function() { + $('#stemweb-ui-dialog').dialog('close'); + switch_stemweb_ui(); + }, }, - Cancel: function() { - $('#stemweb-ui-dialog').dialog('close'); - } }, create: function(evt) { // Call out to Stemweb to get the algorithm options, with which we @@ -652,19 +696,21 @@ $(document).ready( function() { open: function(evt) { $('#stemweb_run_status').empty(); $('#stemweb_tradition').attr('value', selectedTextID ); - $('#stemweb_merge_reltypes').empty(); - $.each( selectedTextInfo.reltypes, function( i, r ) { - var relation_opt = $('