From 9126eb419ac67e8fac12ff4ddba82885a91038c6 Mon Sep 17 00:00:00 2001 From: Tom Mortensen Date: Sat, 15 Feb 2025 14:08:29 -0800 Subject: [PATCH] fix: correct usage of sweet-alert presenting invalid configurations and warnings --- emhttp/plugins/dynamix/ArrayOperation.page | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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:''},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(){ **_(Start)_** _(will record all disk information and bring the array on-line)_.
_(The array will be immediately available, but **unprotected** since *parity* has not been assigned)_. - **_(Stopped)_**. _(Configuration valid)_. + **_(Stopped)_**. _(Configuration valid)_. **_(Start)_** _(will record all disk information, bring the array on-line, and start Parity-Sync)_.
_(The array will be immediately available, but **unprotected** until Parity-Sync completes)_.
_(Parity is already valid)_.