From 39f74a2e06c200b8bcdaed5d969986dcb202d932 Mon Sep 17 00:00:00 2001 From: Will Horton <will@600series.net> Date: Fri, 7 Oct 2016 20:15:56 -0500 Subject: [PATCH] Visual improvements to custom uploader --- .../uploaders/AutomationBasedUploader.js | 199 +++++++++++------- .../webapp/scripts/uploaders/fileuploader.js | 125 +++++------ .../webapp/style/uploaders/fileuploader.css | 60 +++--- 3 files changed, 209 insertions(+), 175 deletions(-) diff --git a/src/main/webapp/scripts/uploaders/AutomationBasedUploader.js b/src/main/webapp/scripts/uploaders/AutomationBasedUploader.js index 46e1d2fc..e8720833 100644 --- a/src/main/webapp/scripts/uploaders/AutomationBasedUploader.js +++ b/src/main/webapp/scripts/uploaders/AutomationBasedUploader.js @@ -21,17 +21,33 @@ if(typeof XNAT.app.abu.abuConfigs === 'undefined'){ }); }, modalOpts:{ - width: 840, - height: 580, - id: 'xmodal-abu', + width: 840, + height: 580, + id: 'xmodal-abu', title: "Automation-Based Launcher/Uploader", content: "<div id='modalUploadDiv'></div>", - ok: 'hide', - okLabel: 'Done', - okAction: function(){ }, - cancel: 'hide', - cancelLabel: 'Cancel', - closeBtn: 'hide' + buttons: { + done: { + label: 'OK', + isDefault: true, + close: true, + action: function() {} + }, + process: { + label: 'Process Uploaded Data', + isDefault: true, + close: false, + action: function() {} + }, + cancel: { + label: 'Cancel', + close: true + } + }, + beforeShow: function(obj) { + obj.$modal.find('#xmodal-abu-process-button').prop('disabled','disabled'); + obj.$modal.find('#xmodal-abu-done-button').hide(); + } }, // Much of the remainder of the options code originates from ConfiguredResourceUploader.js @@ -288,13 +304,13 @@ XNAT.app.abu.hasContextEvents = function(usage,dataType){ XNAT.app.abu.eventHandlerChange = function(){ var eventHandler = $('#eventHandlerSelect').val(); if (typeof eventHandler === 'undefined' || eventHandler == null || eventHandler.length<1 && ($("#handlerDefaultOption").html() == 'NONE DEFINED' || $("#handlerDefaultOption").html() == 'SELECT')) { - $("#abu-process-button").addClass("abu-button-disabled"); + $("#xmodal-abu-process-button").prop("disabled","disabled"); //$("#abu-process-button-text").html(" "); - $("#abu-process-button").css("visibility","hidden"); + //$("#abu-process-button").css("visibility","hidden"); } else if ((XNAT.app.abu.usageSelect=='Launch') || (abu._fileUploader._uploadStarted && abu._fileUploader._filesInProgress<1)) { - $("#abu-process-button").removeClass("abu-button-disabled"); + $("#xmodal-abu-process-button").prop("disabled",false); //$("#abu-process-button-text").html(" "); - $("#abu-process-button").css("visibility","visible"); + //$("#abu-process-button").css("visibility","visible"); } XNAT.app.abu.filesProcessed = false; } @@ -549,7 +565,7 @@ XNAT.app.abu.initializeAbuUploader = function(usageType){ var props = $(XNAT.app.abu.currentLink).attr("data-props"); XNAT.app.abu.contextResourceConfigs = XNAT.app.abu.abuConfigs.getAllConfigsByType(type,props); var resourceConfigs = XNAT.app.abu.contextResourceConfigs; - var scriptDiv = "<div class='abu-xnat-interactivity-area-contents'>"; + var scriptDiv = ''; var usageSelect = '<div class="abu-xnat-interactivity-area-sub usage-area"><span class="interactivityAreaSpan">Usage:</span> <select id="usageSelect" onchange="XNAT.app.abu.usageSelectAction()">'; if (typeof usageType == 'undefined' || usageType == 'upload') { XNAT.app.abu.usageSelect = 'Upload'; @@ -586,7 +602,6 @@ XNAT.app.abu.initializeAbuUploader = function(usageType){ scriptDiv+=resourceSelect; scriptDiv+=eventSelect; scriptDiv+=whatToDoSelect; - scriptDiv+='</div>'; try { xmodal.open(XNAT.app.abu.abuConfigs.modalOpts); abu.initializeUploader({ @@ -619,7 +634,7 @@ XNAT.app.abu.initializeAbuUploader = function(usageType){ // Force press of processing button after upload is started so workflow is created. Only want one workflow per upload. // Don't want cancellation of process during upload or incomplete file could end up in resource if (abu._fileUploader._currentAction.indexOf("import-handler=" + XNAT.app.abu.importHandler)<0) { - $("#abu-done-button").addClass("abu-button-disabled"); + $("#xmodal-abu-done-button").prop("disabled","disabled"); } $("#resourceSelect").prop('disabled','disabled'); if ($("#whatToDoSelect").val() != "") { @@ -631,18 +646,19 @@ XNAT.app.abu.initializeAbuUploader = function(usageType){ var eventHandler = $('#eventHandlerSelect').val(); if (typeof eventHandler !== 'undefined' && eventHandler != null && eventHandler.length>0) { if ($(".abu-upload-complete-text").length==0) { - $("#abu-done-button").removeClass("abu-button-disabled"); + // $("#abu-done-button").removeClass("abu-button-disabled"); } else { - $("#abu-done-button").addClass("abu-button-disabled"); + // $("#abu-done-button").addClass("abu-button-disabled"); } - $("#abu-process-button").removeClass("abu-button-disabled"); - $("#abu-process-button-text").html("Process Files"); - $("#abu-process-button").css("visibility","visible"); + $("#xmodal-abu-process-button").prop("disabled",false); + //$("#abu-process-button-text").html("Process Files"); + //$("#abu-process-button").css("visibility","visible"); } else { - $("#abu-done-button-text").html("Done"); - $("#abu-done-button-text").addClass("abu-done-button-done"); - $("#abu-done-button-text").removeClass("abu-done-button-cancel"); - $("#abu-done-button").removeClass("abu-button-disabled"); + // $("#abu-done-button-text").html("Done"); + // $("#abu-done-button-text").addClass("abu-done-button-done"); + // $("#abu-done-button-text").removeClass("abu-done-button-cancel"); + // $("#abu-done-button").removeClass("abu-button-disabled"); + $('#xmodal-abu-done-button').show(); } }, processFunction:function(){ @@ -655,7 +671,7 @@ XNAT.app.abu.initializeAbuUploader = function(usageType){ showUpdateOption:false, }); abu._fileUploader.buildUploaderDiv(); - $(".abu-xnat-interactivity-area").html(scriptDiv); + $(".abu-xnat-interactivity-area-contents").html(scriptDiv); XNAT.app.abu.populateEventHandlerSelect(); abu._fileUploader._currentAction = XNAT.app.abu.automationHandlerUrl(true); if (typeof usageType !== 'undefined' && usageType != null) { @@ -663,43 +679,46 @@ XNAT.app.abu.initializeAbuUploader = function(usageType){ if (usageType === 'launch') { var eventHandler = $('#eventHandlerSelect').val(); if (eventHandler != undefined && eventHandler != null && eventHandler.length>0) { - $("#abu-process-button").removeClass("abu-button-disabled"); - $("#abu-process-button").css("visibility","visible"); + $("#xmodal-abu-process-button").prop("disabled",false); + $("#xmodal-abu-process-button").show(); } else { - $("#abu-done-button").removeClass("abu-button-disabled"); - $("#abu-done-button-text").html("Done"); - $("#abu-done-button-text").addClass("abu-done-button-done"); - $("#abu-done-button-text").removeClass("abu-done-button-cancel"); + // $("#abu-done-button").removeClass("abu-button-disabled"); + // $("#abu-done-button-text").html("Done"); + // $("#abu-done-button-text").addClass("abu-done-button-done"); + // $("#abu-done-button-text").removeClass("abu-done-button-cancel"); + $('#xmodal-abu-done-button').show(); } - $(".upload-area").css("display","none"); - $(".whattodo-area").css("display","none"); - $("#abu-upload-button").addClass("abu-button-disabled"); + $(".upload-area").hide(); + $(".whattodo-area").hide(); + $(".abu-upload-button") + .hide() + .prop("disabled","disabled"); abu._fileUploader.DRAG_AND_DROP_ON = false; - $("#abu-upload-button").css("display","none"); - $("#abu-process-button-text").html("Run script"); - $("#abu-done-button-text").html("Cancel"); - $("#abu-done-button-text").addClass("abu-done-button-cancel"); - $("#abu-done-button-text").removeClass("abu-done-button-done"); + $("#xmodal-abu-process-button").html("Run script"); + // $("#abu-done-button-text").html("Cancel"); + // $("#abu-done-button-text").addClass("abu-done-button-cancel"); + // $("#abu-done-button-text").removeClass("abu-done-button-done"); + $('#xmodal-abu-done-button').show(); if ($('#eventHandlerSelect option').size()>1 && $('#eventHandlerSelect').val()=="") { - $("#abu-process-button").addClass("abu-button-disabled"); - //$("#abu-process-button-text").html(" "); - $("#abu-process-button").css("visibility","hidden"); + $("#xmodal-abu-process-button").prop("disabled","disabled"); + // $("#abu-process-button-text").html(" "); + // $("#xmodal-abu-process-button").hide(); } $("#file-uploader-instructions-sel").css("display","none"); } else { XNAT.app.abu.populateWhatToDoSelect(); if ($('#whatToDoSelect option').size()>1 && $('#whatToDoSelect').val()=="") { - $("#abu-upload-button").addClass("abu-button-disabled"); + $(".abu-upload-button").prop("disabled","disabled"); abu._fileUploader.DRAG_AND_DROP_ON = false; } - $("#abu-process-button").addClass("abu-button-disabled"); + $("#xmodal-abu-process-button").prop("disabled","disabled"); //$("#abu-process-button-text").html(" "); - $("#abu-process-button").css("visibility","hidden"); - $(".upload-area").css("display","none"); - $(".eventhandler-area").css("display","none"); + // $("#xmodal-abu-process-button").hide(); + $(".upload-area").hide(); + $(".eventhandler-area").hide(); } } else { - $(".whattodo-area").css("display","none"); + $(".whattodo-area").hide(); } } catch(e) { console.log(e.stack); @@ -716,27 +735,30 @@ XNAT.app.abu.usageSelectAction = function(){ XNAT.app.abu.usageSelect = $('#usageSelect').val(); if (XNAT.app.abu.usageSelect=='Upload') { XNAT.app.abu.populateEventHandlerSelect(); - $("#abu-done-button").removeClass("abu-button-disabled"); - $("#abu-upload-button").removeClass("abu-button-disabled"); + $("#xmodal-abu-done-button") + .show() + .prop("disabled",false); + $(".abu-upload-button").prop("disabled",false); abu._fileUploader.DRAG_AND_DROP_ON = true; - $("#abu-process-button").addClass("abu-button-disabled"); + $("#xmodal-abu-process-button") + .hide() + .prop("disabled","disabled"); //$("#abu-process-button-text").html(" "); - $("#abu-process-button").css("visibility","hidden"); $("#script-select-text").html("Post-upload processing script:"); $("#resourceSelect").prop('disabled',false); $(".response_text").html(''); } else if (XNAT.app.abu.usageSelect=='Launch') { XNAT.app.abu.populateEventHandlerSelect(); - $("#abu-done-button").removeClass("abu-button-disabled"); - $("#abu-upload-button").addClass("abu-button-disabled"); + $("#xmodal-abu-done-button").show(); + $(".abu-upload-button").prop("disabled","disabled"); abu._fileUploader.DRAG_AND_DROP_ON = false; var eventHandler = $('#eventHandlerSelect').val(); if (eventHandler != undefined && eventHandler != null && eventHandler.length>0) { - $("#abu-process-button").removeClass("abu-button-disabled"); - $("#abu-process-button").css("visibility","visible"); + $("#xmodal-abu-process-button").prop("disabled",false); + // $("#xmodal-abu-process-button").show(); } $("#script-select-text").html("Script to launch:"); - $("#abu-process-button-text").html("Run script"); + $("#xmodal-abu-process-button").html("Run script"); $("#resourceSelect").prop('disabled','disabled'); $(".response_text").html(''); } @@ -775,15 +797,16 @@ XNAT.app.abu.whatToDoChange = function(){ XNAT.app.abu.updateModalAction(); $('#eventHandlerSelect').val(launchSelect); if (typeof abu !== 'undefined' && abu._fileUploader.uploadsStarted>0 && abu._fileUploader.uploadsInProgress==0) { - $("#abu-process-button").removeClass("abu-button-disabled"); - $("#abu-process-button-text").html("Process files"); - $("#abu-process-button").css("visibility","visible"); + $("#xmodal-abu-process-button") + .prop("disabled","disabled") + .html("Process files") + .show(); } if (XNAT.app.abu.usageSelect == 'Upload' && $('#whatToDoSelect option').size()>1 && $('#whatToDoSelect').val()=="") { - $("#abu-upload-button").addClass("abu-button-disabled"); + $(".abu-upload-button").prop("disabled","disabled"); abu._fileUploader.DRAG_AND_DROP_ON = false; } else if (typeof abu == 'undefined' || abu._fileUploader.uploadsStarted==0) { - $("#abu-upload-button").removeClass("abu-button-disabled"); + $(".abu-upload-button").prop("disabled",false); abu._fileUploader.DRAG_AND_DROP_ON = true; } XNAT.app.abu.filesProcessed = false; @@ -963,8 +986,10 @@ XNAT.app.abu.processFiles=function() { xmodal.open(pModalOpts); paramText=''; for (var i=0;i<this.paramsToPass.length;i++) { - paramText+='<tr><td style="padding-bottom:5px"><span id="passParamText' + i + '" class="passParamText" style="font-weight:bold">' + this.paramsToPass[i].name + - '</span></td><td style="padding-bottom:5px"><input type="text" size="30" id="passParamInput' + i + '" class="passParamInput"></td></tr>'; + paramText+='<tr><td style="padding-bottom:5px"><span id="passParamText' + i + '" class="passParamText" style="font-weight:bold">' + this.paramsToPass[i].name + + '</span></td><td style="padding-bottom:5px"><input type="text" size="30" id="passParamInput' + i + '" class="passParamInput" value="' + this.paramsToPass[i].defaultVal + '"></td>' + + '<td style="padding-bottom:5px;"><span id="passParamDesc' + i + '" class="passParamDesc" style="margin-left:10px;width:300px;float:left;">' + this.paramsToPass[i].description + "</span></td>" + + '</tr>'; } $('#modalParamsToPassDiv').html('<div id="passParamErrorDiv" class="error hidden"></div><h3>' + ((this.paramsToPass.length>0) ? "Please supply values for the following parameters:" : "Please supply a value for the following parameter:") + @@ -1052,7 +1077,7 @@ XNAT.app.abu.continueProcessing=function() { //if (XNAT.app.abu.usageSelect=='Upload') { // $("#resourceSelect").prop('disabled',false); //} else if (XNAT.app.abu.usageSelect=='Launch') { - // $("#abu-process-button").removeClass("abu-button-disabled"); + // $("#abu-process-button").prop("disabled",false); //} }); processAjax.fail( function( data, textStatus, jqXHR ) { @@ -1071,10 +1096,10 @@ XNAT.app.abu.continueProcessing=function() { //if (XNAT.app.abu.usageSelect=='Upload') { // $("#resourceSelect").prop('disabled',false); //} else if (XNAT.app.abu.usageSelect=='Launch') { - // $("#abu-process-button").removeClass("abu-button-disabled"); + // $("#abu-process-button").prop("disabled",false); //} }); - $("#abu-done-button").removeClass("abu-button-disabled"); + $("#xmodal-abu-done-button").prop("disabled",false); setTimeout(function(){ if (document.getElementById("closeBox")!=null && document.getElementById("closeBox").checked) { xmodal.message('Notice',"You will be sent an e-mail upon completion"); @@ -1113,12 +1138,16 @@ XNAT.app.abu.saveUploaderConfiguration=function(configTriggerId, configEvent, sc newConfigObj.parameters = undefined; $(".ULC_parametersDiv").each(function() { var parameterField = $(this).find(".ULC_parametersField").val(); + var parameterDefault = $(this).find(".ULC_parametersDefault").val(); + var parameterDesc = $(this).find(".ULC_parametersDesc").val(); if (typeof(parameterField)!=='undefined' && parameterField != null && parameterField.replace('/ /g','').length>0) { if (typeof(newConfigObj.parameters)==='undefined' || newConfigObj.parameters == null) { newConfigObj.parameters = []; } var newParam = {}; newParam.name = parameterField.trim(); + newParam.defaultVal = parameterDefault.trim(); + newParam.description = parameterDesc.trim(); newParam.type = $(this).find(".ULC_parametersType").val(); newParam.required = $(this).find(".ULC_parametersRequired").is(':checked'); newConfigObj.parameters.push(newParam); @@ -1317,15 +1346,21 @@ XNAT.app.abu.configureUploaderForEventHandler=function(configTriggerId, configEv var integerSelected = (hasValue && typeof(configObj.parameters[i].type)!==undefined && configObj.parameters[i].type=='Integer') ? 'selected' : ''; var floatSelected = (hasValue && typeof(configObj.parameters[i].type)!==undefined && configObj.parameters[i].type=='Float') ? 'selected' : ''; var fieldRequired = (hasValue && typeof(configObj.parameters[i].required)!==undefined && configObj.parameters[i].required==false) ? '' : 'checked'; + var fieldDefault = (hasValue && typeof(configObj.parameters[i].defaultVal)!==undefined) ? configObj.parameters[i].defaultVal : ''; + var fieldDesc = (hasValue && typeof(configObj.parameters[i].description)!==undefined) ? configObj.parameters[i].description : ''; configHtml+='<div id="ULC_parametersDiv' + i + '" class="ULC_parametersDiv" style="margin-left:20px;margin-bottom:5px;width:100%">' + - '<input type="text" size="20" id="ULC_parametersField' + i + '" class="ULC_parametersField" value="' + fieldValue + '">' + - ' <select id="ULC_parametersType' + i + '" class="ULC_parametersType">' + - '<option value="String" ' + stringSelected + '>String</option>' + + '<div style="float:left"><div class="abu-config-param-grp"><div class="abu-config-param-row">' + + '<div class="abu-config-param-div">Name:</div><input type="text" size="20" id="ULC_parametersField' + i + '" class="ULC_parametersField" value="' + fieldValue + '" > ' + + '<select style="margin-left:5px" id="ULC_parametersType' + i + '" class="ULC_parametersType">' + + '<option value="String" ' + stringSelected + '>String</option>' + '<option value="Integer" ' + integerSelected + '>Integer</option>' + '<option value="Float" ' + floatSelected + '>Float</option>' + - '</select> ' + - ' <input type="checkbox" id="ULC_parametersRequired"' + i + '" ' + fieldRequired + - ' class="ULC_parametersRequired"> Required? <button id="ULC_parametersRemove' + i + '" class="parametersRemove">Remove</button></div>'; + '</select> ' + + '<input type="checkbox" style="margin-left:5px" id="ULC_parametersRequired"' + i + '" ' + fieldRequired + ' class="ULC_parametersRequired"> Required? </div>' + + '<div class="abu-config-param-row"><div class="abu-config-param-div">Default Value:</div><input type="text" size="20" id="ULC_parametersDefault' + i + '" class="ULC_parametersDefault" value="' + fieldDefault + '"></div>' + + '<div class="abu-config-param-row"><div class="abu-config-param-div">Description Text:</div><input type="text" size="50" id="ULC_parametersDesc' + i + '" class="ULC_parametersDesc" value="' + fieldDesc + '"></div></div>' + + '<button style="margin-left:10px" id="ULC_parametersRemove' + i + '" class="parametersRemove">Remove</button></div>' + + '</div>'; } configHtml+='</div>'; configHtml+='<span style="margin-left:20px"><button class="parametersAdd">Add Parameter</button></span>'; @@ -1425,6 +1460,8 @@ XNAT.app.abu.configureUploaderForEventHandler=function(configTriggerId, configEv var divs = $(".ULC_parametersDiv"); var fields = $(".ULC_parametersField"); + var defaultVal = $(".ULC_parametersDefault"); + var desc = $(".ULC_parametersDesc"); for (var i=0;i<fields.length;i++) { var val = $(fields.get(i)).val(); if (typeof(val)==='undefined' || val == null || val.length<1) { @@ -1435,14 +1472,18 @@ XNAT.app.abu.configureUploaderForEventHandler=function(configTriggerId, configEv var len = (divs.length>0) ? Number(($(divs).last().get(0)).id.replace("ULC_parametersDiv",""))+1 : 1; $("#ULC_parameters").append( '<div id="ULC_parametersDiv' + len + '" class="ULC_parametersDiv" style="margin-left:20px;margin-bottom:5px;width:100%">' + - '<input type="text" size="20" id="ULC_parametersField' + i + '" class="ULC_parametersField"> ' + - ' <select id="ULC_parametersType' + len + '" class="ULC_parametersType">' + + '<div style="float:left"><div class="abu-config-param-grp"><div class="abu-config-param-row"><div class="abu-config-param-div">Name:</div><input type="text" size="20" id="ULC_parametersField' + i + '" class="ULC_parametersField"> ' + + '<select style="margin-left:5px" id="ULC_parametersType' + len + '" class="ULC_parametersType">' + '<option value="String">String</option>' + '<option value="Integer">Integer</option>' + '<option value="Float">Float</option>' + - '</select> ' + - '<input type="checkbox" id="ULC_parametersRequired"' + len + '" class="ULC_parametersRequired" checked> Required? <button id="ULC_parametersRemove' + len + - '" class="parametersRemove">Remove</button></div>' + '</select>' + + '<input type="checkbox" style="margin-left:5px" id="ULC_parametersRequired"' + len + '" class="ULC_parametersRequired" checked> Required? </div>' + + '<div class="abu-config-param-row"><div class="abu-config-param-div">Default Value:</div><input type="text" size="20" id="ULC_parametersDefault' + i + '" class="ULC_parametersDefault"></div>' + + '<div class="abu-config-param-row"><div class="abu-config-param-div">Description Text:</div><input type="text" size="50" id="ULC_parametersDesc' + i + '" class="ULC_parametersDesc"></div></div>' + + '<button style="margin-left:10px" id="ULC_parametersRemove' + len + '" class="parametersRemove">Remove</button></div>' + + '</div>' + ); $('#ULC_parametersRemove' + len).click(function(){ $("#ULC_parametersDiv" + len).remove(); diff --git a/src/main/webapp/scripts/uploaders/fileuploader.js b/src/main/webapp/scripts/uploaders/fileuploader.js index f355e93c..b36716b6 100644 --- a/src/main/webapp/scripts/uploaders/fileuploader.js +++ b/src/main/webapp/scripts/uploaders/fileuploader.js @@ -38,66 +38,56 @@ abu.FileUploader = function(o){ $(this._options.element).append( '<div class="abu-uploader">' + '<div id="abu-files-processing" class="abu-files-processing"> Processing...... </div>' + - '<a id="file-uploader-instructions-sel" class="abu-uploader-instructions-sel" onclick="abu._fileUploader.uploaderHelp()">?</a>' + + '<a id="file-uploader-instructions-sel" class="abu-uploader-instructions-sel" onclick="abu._fileUploader.uploaderHelp()"><span class="icon icon-sm icon-qm"></span>Help</a>' + '<div class="abu-upload-drop-area" style="display: none;"><span>Drop files here to upload</span></div>' + '<div class="abu-xnat-interactivity-area">' + + '<div class="abu-xnat-interactivity-area-contents"></div>' + + '<div class="abu-options-div">' + + ((this._options.showExtractOption) ? + '<div class="abu-options-cb" title = "Extract compressed files on upload (zip, tar, gz)"?>' + + '<input id="extractRequestBox" type="checkbox" value="1" checked="checked">' + + 'Extract compressed files' + + '</div>' : + '<div class="abu-extract-zip"><input id="extractRequestBox" type="hidden" value="1"/></div>' + ) + + ((this._options.showCloseOption) ? + '<div class="abu-options-cb" title = "Close window upon submit and send e-mail upon completion">' + + '<input id="closeBox" type="checkbox" value="1">' + + 'Close window upon submit' + + '</div>' : "" + ) + + ((this._options.showEmailOption) ? + '<div class="abu-options-cb" title = "Send e-mail upon completion">' + + '<input id="emailBox" type="checkbox" value="1">' + + 'Send e-mail upon completion' + + '</div>' : "" + ) + + ((this._options.showUpdateOption) ? + '<div class="abu-options-cb" title = "Update existing records?">' + + '<input id="updateBox" type="checkbox" value="1">' + + 'Update existing records?' + + '</div>' : "" + ) + + ((this._options.showVerboseOption) ? + '<div class="abu-options-cb" title = "Verbose status output?">' + + '<input id="verboseBox" type="checkbox" value="1"' + + 'Verbose status output?' + + '</div>' : "" + ) + + '</div>' + '</div>' + '<div id="abu-upload-button" class="abu-upload-button" style="position: relative; overflow: hidden; direction: ltr;">' + 'Upload files<input multiple="multiple" type="file" id="file-upload-input" class="abu-button-input">' + '</div>' + - '<div id="abu-done-button" class="abu-done-button" style="position: relative; overflow: hidden; direction: ltr;">' + - '<span id="abu-done-button-text" class="abu-done-button-cancel">Cancel</span><input type="image" name="done" class="abu-button-input" style="width:105px">' + - '</div>' + - '<div id="abu-process-button" class="abu-process-button " style="position: relative; overflow: hidden; direction: ltr;">' + - '<span id="abu-process-button-text">Process Files</span>' + - '<input type="image" name="process" class="abu-button-input" style="width:105px">' + - '</div>' + - '<div class="abu-options-div">' + - ((this._options.showExtractOption) ? - '<div class="abu-options-cb" title = "Extract compressed files on upload (zip, tar, gz)"?>' + - '<input id="extractRequestBox" type="checkbox" value="1" checked="checked">' + - 'Extract compressed files' + - '</div>' : - '<div class="abu-extract-zip"><input id="extractRequestBox" type="hidden" value="1"/></div>' - ) + - ((this._options.showCloseOption) ? - '<div class="abu-options-cb" title = "Close window upon submit and send e-mail upon completion">' + - '<input id="closeBox" type="checkbox" value="1">' + - 'Close window upon submit' + - '</div>' : "" - ) + - ((this._options.showEmailOption) ? - '<div class="abu-options-cb" title = "Send e-mail upon completion">' + - '<input id="emailBox" type="checkbox" value="1">' + - 'Send e-mail upon completion' + - '</div>' : "" - ) + - ((this._options.showUpdateOption) ? - '<div class="abu-options-cb" title = "Update existing records?">' + - '<input id="updateBox" type="checkbox" value="1">' + - 'Update existing records?' + - '</div>' : "" - ) + - ((this._options.showVerboseOption) ? - '<div class="abu-options-cb" title = "Verbose status output?">' + - '<input id="verboseBox" type="checkbox" value="1"' + - 'Verbose status output?' + - '</div>' : "" - ) + - '</div><br>' + '<div class="abu-list-area"><ul class="abu-upload-list"></ul>' + '<div class="response_text" style="display:none"></div>' + '</div> ' ); - $("#abu-upload-button").mouseenter(function() { $(this).addClass("abu-upload-button-hover"); }); - $("#abu-upload-button").mouseleave(function() { $(this).removeClass("abu-upload-button-hover"); }); - $("#abu-upload-button").click(function() { $("#abu-done-button").removeClass("abu-button-disabled"); }); - $("#abu-done-button").click(this._options.doneFunction); - $("#abu-done-button").mouseenter(function() { $(this).addClass("abu-done-button-hover"); }); - $("#abu-done-button").mouseleave(function() { $(this).removeClass("abu-done-button-hover"); }); - $("#abu-process-button").click(this._options.processFunction); - $("#abu-process-button").mouseenter(function() { $(this).addClass("abu-process-button-hover"); }); - $("#abu-process-button").mouseleave(function() { $(this).removeClass("abu-process-button-hover"); }); + // $("#abu-upload-button").click(function() { $("#abu-done-button").removeClass("abu-button-disabled"); }); + $("#xmodal-abu-done-button").click(this._options.doneFunction); + + // replaced #abu-process-button with #xmodal-abu-process-button, which is defined in the xmodal options + $("#xmodal-abu-process-button").click(this._options.processFunction); $('#closeBox').change(function(){ if ($('#closeBox').is(':checked')) { $('#emailBox').prop('checked', true); @@ -193,7 +183,9 @@ abu.FileUploader = function(o){ if (typeof eventData.target.files !== 'undefined') { var fileA = eventData.target.files; if (fileA.length==0) { - $("#abu-done-button").removeClass("abu-button-disabled"); + $("#xmodal-abu-done-button") + .show() + .prop("disabled",false); } this.doFileUpload(fileA); } @@ -201,15 +193,22 @@ abu.FileUploader = function(o){ } this.processingComplete = function() { - $("#abu-done-button-text").html("Done"); - $("#abu-done-button-text").addClass("abu-done-button-done"); - $("#abu-done-button-text").removeClass("abu-done-button-cancel"); - //$("#abu-upload-button").css("display","None"); - $("#abu-process-button").addClass("abu-button-disabled"); - //$("#abu-process-button-text").html(" "); - $("#abu-process-button").css("visibility","hidden"); - $("#abu-upload-button").addClass("abu-button-disabled"); - $("#abu-files-processing").css("display","None"); + // $("#xmodal-abu-done-button").html("Done"); + // $("#abu-done-button-text").addClass("abu-done-button-done"); + // $("#abu-done-button-text").removeClass("abu-done-button-cancel"); + // $("#abu-upload-button").css("display","None"); + $("#xmodal-abu-done-button") + .prop("disabled",false) + .show(); + $("#xmodal-abu-process-button") + .hide() + .prop("disabled","disabled"); + // $("#abu-process-button-text").html(" "); + // $("#abu-process-button").css("visibility","hidden"); + $(".abu-upload-button") + .hide() + .prop("disabled","disabled"); + $("#abu-files-processing").hide(); $(".abu-uploader").css("overflow-y","auto"); $(".abu-uploader").css("overflow-x","hidden"); } @@ -338,7 +337,9 @@ abu.FileUploader = function(o){ status.html('<a href="javascript:abu._fileUploader.showReturnedText(\'' + $(status).attr('id') + '\')" class="underline abu-upload-fail">Failed</a>'); status.css("display","inline-block"); $(infoSelector).find(".abu-progress").css("display","none"); - $("#abu-done-button").removeClass("abu-done-button-disabled"); + $("#xmodal-abu-done-button") + .show() + .prop("disabled",false); }, success: function(result) { $(status).data("rtn",result); @@ -364,7 +365,7 @@ abu.FileUploader = function(o){ status.html('<span class="abu-upload-complete abu-upload-complete-text">Upload complete' + ((this.isOverwrite) ? ' (Existing file overwritten) ' : '') + '</span>'); } - $("#abu-done-button-text").addClass("abu-done-button-file-uploaded"); + $("#xmodal-abu-done-button-text").addClass("abu-done-button-file-uploaded"); } else { status.html('<a href="javascript:abu._fileUploader.showReturnedText(\'' + $(status).attr('id') + '\')" class="underline abu-upload-fail">Duplicate file and overwrite=false. Not uploaded.</a>'); } diff --git a/src/main/webapp/style/uploaders/fileuploader.css b/src/main/webapp/style/uploaders/fileuploader.css index 0a6fa0f2..96693ef7 100644 --- a/src/main/webapp/style/uploaders/fileuploader.css +++ b/src/main/webapp/style/uploaders/fileuploader.css @@ -9,45 +9,33 @@ .abu-uploader { position:relative; width: 100%; height:435px;} -div.abu-button-disabled { +.abu-button-disabled { background:#CCCCCC; pointer-events:none } -div.abu-xnat-interactivity-area { - display:block; /* or inline-block */ - width: 100%; padding: 7px 0; text-align:center; margin-left:10px; float:left; - background:#fff; border-bottom:1px solid #fff;color:#000; +.abu-xnat-interactivity-area { + border-bottom: 1px solid #e0e0e0; + margin-bottom: 2em; } -div.abu-xnat-interactivity-area-contents { - display:inline; padding: 7px 0; text-align:right; margin-left:10px; margin-right:10px; float:right; width: 100%; +.abu-xnat-interactivity-area-contents { + padding: 7px 0; } -div.abu-xnat-interactivity-area-sub { - display:inline; text-align:right; margin-left:10px; margin-right:10px; margin-top:0px; margin-bottom:5px; float:right; width: 100%; +.abu-xnat-interactivity-area-sub { + margin-bottom:5px; } -.abu-done-button { - display:block; /* or inline-block */ - width: 105px; padding: 7px 0; text-align:center; margin-left:10px; float:left; - background:#1A75BB; border-bottom:1px solid #ddd;color:#fff; -} -.abu-done-button-hover {background:#0B6BE8;} -.abu-done-button-focus {outline:1px dotted black;} - -.abu-process-button { - display:block; /* or inline-block */ - width: 105px; padding: 7px 0; text-align:center; margin-left:10px; float:left; - background:#1A75BB; border-bottom:1px solid #ddd;color:#fff; -} -.abu-process-button-hover {background:#0B6BE8;} -.abu-process-button-focus {outline:1px dotted black;} .abu-upload-button { - display:block; /* or inline-block */ - width: 105px; padding: 7px 0; text-align:center; margin-left:10px; float:left; - background:#1A75BB; border-bottom:1px solid #ddd;color:#fff; + background:#f8f8f8 linear-gradient( #ffffff, #f0f0f0 ); + border: 1px solid #848484; + border-radius: 3px; + cursor: pointer; + height: 18px; width: 105px; + margin-left:10px; + padding: 7px 0; + text-align:center; } -.abu-upload-button-hover {background:#0B6BE8;} -.abu-upload-button-focus {outline:1px dotted black;} +.abu-upload-button:hover {} .abu-upload-drop-area { position:absolute; top:0; left:0; width:100%; height:100%; min-height: 70px; z-index:2; @@ -94,17 +82,17 @@ div.abu-xnat-interactivity-area-sub { .abu-upload-duplicate {display:inline;color:#008800} .abu-upload-duplicate.abu-upload-duplicate-text {display:inline;color:#008800} -.abu-uploader-instructions-sel {margin-bottom:0px; margin-right:10px; display:inline; float:right; background-color:#CCCCCC; border-style:solid; border-width:1px; width:auto; font-size:14px; font-weight: bold; padding:2px; } +.abu-uploader-instructions-sel { float:right; padding:2px; } .abu-uploader-instructions {margin-bottom:10px; display:inline} .abu-return-floatmessage {position:absolute;z-index:10001;width:auto;cursor:pointer;background-color:#FFFFCC; } .abu-return-message {width:auto;cursor:pointer;background-color:#FFFFCC; } -.abu-options-div { position: relative; float: left; width: 420px; margin-left: 10px; } +.abu-options-div { margin-bottom: 1em; } .abu-options-cb { - display:block; /* or inline-block */ - width: auto; padding: 7px 0; text-align:center; margin-left:10px; float:left; padding-top: 0px; padding-bottom: 0px; + display: inline-block; + margin-right:10px; } .abu-progress { position:relative; display:inline-block; width:250px; height:15px; border: 1px solid #ddd; padding: 0px; border-radius: 0px; margin-left: 10px; } @@ -112,6 +100,10 @@ div.abu-xnat-interactivity-area-sub { .abu-percent { position:absolute; display:inline-block; top:0px; left:48%; line-height: 15px; } .abu-status { position:relative; display:none; } +.abu-config-param-div { width:120px; text-align:right; margin-right:10px; float:left; } +.abu-config-param-grp { margin-bottom:15px; float:left; border:1px solid #CCCCCC; width: 600px; padding:5px; } +.abu-config-param-row { width:100%; margin-bottom:5px; float:left; margin-right:15px; } + .opaque { opacity:0.5; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; @@ -133,7 +125,7 @@ div.abu-xnat-interactivity-area-sub { .passParamText { margin-left: 30px; margin-right: 10px; } -.interactivityAreaSpan { margin-left: 15px; margin-right: 10px; } +.interactivityAreaSpan { margin-right: 10px; } #configUploadDiv { overflow-x: hidden; } -- GitLab