diff --git a/emhttp/plugins/dynamix/ArrayOperation.page b/emhttp/plugins/dynamix/ArrayOperation.page index c4682f30a..fc633f83a 100644 --- a/emhttp/plugins/dynamix/ArrayOperation.page +++ b/emhttp/plugins/dynamix/ArrayOperation.page @@ -194,13 +194,13 @@ function getFileContent(event,form) { reader.readAsDataURL(input.files[0]); } -function prepareInput(form,button) { - if (button) button.disabled = true; +function prepareInput(form,button,parityWarn) { + button.disabled = true; $.post('/webGui/include/Report.php',{cmd:'state',pools:'=implode(',',$pools)?>'},function(state) { if (state.length==0) { $(form).append(''); if (form.input === undefined) { - form.submit(); + parityWarn ? parityWarning(form,button) : form.submit(); return; } form.input.disabled = true; @@ -229,12 +229,12 @@ function prepareInput(form,button) { data['file'] = form.file.value; $.post('/update.php',data,function(){form.submit();}); } else { - swal({title:"_(Wrong Pool State)_",text:state,type:'error',html:true,confirmButtonText:"_(Ok)_"}); + swal({title:"_(Wrong Pool State)_",text:state,type:'error',html:true,confirmButtonText:"_(Ok)_"},function(){button.disabled=false;}); } }); } -function parityWarning(form) { +function parityWarning(form,button) { if (form.md_invalidslot.checked) { var text = "_(*Dual parity* valid requires **ALL** disks in their original slots)_"; @@ -244,7 +244,9 @@ function parityWarning(form) { } else { var text = "_(*Parity* disk(s) content will be overwritten)_"; } - swal({title:"_(Proceed to start)_",text:text,html:true,type:'warning',showCancelButton:true,confirmButtonText:"_(Proceed)_",cancelButtonText:"_(Cancel)_"},function(){prepareInput(form);}); + swal({title:"_(Proceed to start)_",text:text,html:true,type:'warning',showCancelButton:true,confirmButtonText:"_(Proceed)_",cancelButtonText:"_(Cancel)_"},function(confirmed){ + confirmed ? form.submit() : button.disabled=false; + }); } function tab0() { @@ -664,7 +666,7 @@ window.onunload = function(){