W13 new-drive pages pre-fill the next free hdd_N and answer a bad name visibly; W14 drive operator detail behind Részletek; W29 plain decommission names no move; unreleased
gates / gates (push) Successful in 1m37s
gates / gates (push) Successful in 1m37s
This commit is contained in:
@@ -189,7 +189,7 @@
|
||||
|
||||
<div class="settings-card" id="cfg-card" style="display:none">
|
||||
<h3>2. Konfiguráció</h3>
|
||||
<form id="attach-form" onsubmit="return submitAttach(event)">
|
||||
<form id="attach-form" novalidate onsubmit="return submitAttach(event)">
|
||||
<div class="form-group">
|
||||
<label>Kiválasztott eszköz</label>
|
||||
<span class="settings-value mono" id="sel-device">—</span>
|
||||
@@ -199,10 +199,10 @@
|
||||
<label for="mount-name">Csatlakoztatási név <span class="required">*</span></label>
|
||||
<div style="display:flex;align-items:center;gap:.25rem">
|
||||
<span class="mono" style="opacity:.6">/mnt/</span>
|
||||
<input type="text" id="mount-name" class="form-control" placeholder="hdd_1"
|
||||
pattern="[a-zA-Z0-9_-]+" required style="max-width:180px">
|
||||
<input type="text" id="mount-name" class="form-control" placeholder="hdd_1" value="hdd_1"
|
||||
pattern="[a-zA-Z0-9_-]+" maxlength="40" required style="max-width:180px">
|
||||
</div>
|
||||
<span class="form-hint">A meghajtó a /mnt/<név> útvonalra kerül.</span>
|
||||
<span class="form-hint">A meghajtó a /mnt/<név> útvonalra kerül. Hagyd így, ha nem tudod.</span>
|
||||
</div>
|
||||
<p class="form-hint" id="mounted-note" style="display:none">
|
||||
Ez a meghajtó már csatlakoztatva van, csak a gép nem tartja nyilván. A „Csatolás" a
|
||||
@@ -295,9 +295,20 @@ function pickDisk(radio){
|
||||
document.getElementById('cfg-card').scrollIntoView({behavior:'smooth'});
|
||||
}
|
||||
|
||||
|
||||
|
||||
function mountNameProblem(){
|
||||
if(selMounted){ return ''; }
|
||||
var v=(document.getElementById('mount-name').value||'').trim();
|
||||
if(/^[a-zA-Z0-9_-]{1,40}$/.test(v)){ return ''; }
|
||||
return 'Írj be egy csatlakoztatási nevet. Csak betű, szám, _ és - lehet benne, legfeljebb 40 karakter. Ha nem tudod, írd be: {name}'.replace('{name}', 'hdd_1');
|
||||
}
|
||||
|
||||
async function submitAttach(ev){
|
||||
ev.preventDefault();
|
||||
var btn=document.getElementById('attach-btn'); var out=document.getElementById('attach-result');
|
||||
var bad=mountNameProblem();
|
||||
if(bad){ out.innerHTML='<div class="alert alert-error" id="mount-name-error">'+esc(bad)+'</div>'; document.getElementById('mount-name').focus(); return false; }
|
||||
btn.disabled=true; out.innerHTML='<p class="form-hint">Csatlakoztatás folyamatban…</p>';
|
||||
try{
|
||||
|
||||
@@ -309,7 +320,7 @@ async function submitAttach(ev){
|
||||
set_default:document.getElementById('set-default').checked};
|
||||
}else{
|
||||
url='/api/storage/attach';
|
||||
body={device:selDevice, fstype:selFSType, mount_name:document.getElementById('mount-name').value,
|
||||
body={device:selDevice, fstype:selFSType, mount_name:document.getElementById('mount-name').value.trim(),
|
||||
label:document.getElementById('storage-label').value, set_default:document.getElementById('set-default').checked};
|
||||
}
|
||||
var r=await fetch(url,{method:'POST',headers:Object.assign({'Content-Type':'application/json'},csrfHeaders()),body:JSON.stringify(body)});
|
||||
|
||||
+1122
File diff suppressed because it is too large
Load Diff
@@ -421,11 +421,14 @@ window.__registeredPaths=[];
|
||||
var badges = roleTag(d.role)+appBackingTag(d)+classTag(d)+dataTag(d);
|
||||
if(withActions) badges += regTag(d, registered);
|
||||
var purpose = purposeDesc(d);
|
||||
|
||||
|
||||
return '<div class="drive-card role-'+esc(d.role||'system')+'">'
|
||||
+'<div class="drive-card-top"><div class="drive-id"><span class="drive-name">'+esc(d.name)+'</span><span class="drive-sub">'+sub+'</span></div>'
|
||||
+'<div class="drive-card-top"><div class="drive-id"><span class="drive-name">'+esc(d.name)+'</span></div>'
|
||||
+'<div class="drive-badges">'+badges+'</div></div>'
|
||||
+(purpose?'<div class="drive-purpose">'+esc(purpose)+'</div>':'')
|
||||
+(d.durable_id?'<div class="drive-sub mono">'+esc(d.durable_id)+'</div>':'')
|
||||
+'<details class="drive-details"><summary>Részletek</summary><div class="drive-sub">'+sub+'</div>'
|
||||
+(d.durable_id?'<div class="drive-sub mono">'+esc(d.durable_id)+'</div>':'')+'</details>'
|
||||
+capBar(d)
|
||||
+(withActions?actions(d,registered):'')
|
||||
+'</div>';
|
||||
@@ -438,8 +441,8 @@ window.__registeredPaths=[];
|
||||
var extra='<div class="metarows">'
|
||||
+'<span class="metarow">'+roleTag(d.role)+'</span>'
|
||||
+(d.class?'<span class="metarow">'+classTag(d)+'</span>':'')
|
||||
+(d.durable_id?'<span class="metarow mono" title="Tartós azonosító">'+esc(d.durable_id)+'</span>':'')
|
||||
+'</div>'
|
||||
+(d.durable_id?'<details class="drive-details"><summary>Részletek</summary><span class="drive-sub mono" title="Tartós azonosító">'+esc(d.durable_id)+'</span></details>':'')
|
||||
+actions(d,registered,hasSafeDisconnect);
|
||||
slot.innerHTML=extra;
|
||||
return true;
|
||||
|
||||
@@ -788,11 +788,14 @@ window.__registeredPaths=["\/mnt\/usb1","\/mnt\/old","\/mnt\/hdd1","\/mnt\/hdd2"
|
||||
var badges = roleTag(d.role)+appBackingTag(d)+classTag(d)+dataTag(d);
|
||||
if(withActions) badges += regTag(d, registered);
|
||||
var purpose = purposeDesc(d);
|
||||
|
||||
|
||||
return '<div class="drive-card role-'+esc(d.role||'system')+'">'
|
||||
+'<div class="drive-card-top"><div class="drive-id"><span class="drive-name">'+esc(d.name)+'</span><span class="drive-sub">'+sub+'</span></div>'
|
||||
+'<div class="drive-card-top"><div class="drive-id"><span class="drive-name">'+esc(d.name)+'</span></div>'
|
||||
+'<div class="drive-badges">'+badges+'</div></div>'
|
||||
+(purpose?'<div class="drive-purpose">'+esc(purpose)+'</div>':'')
|
||||
+(d.durable_id?'<div class="drive-sub mono">'+esc(d.durable_id)+'</div>':'')
|
||||
+'<details class="drive-details"><summary>Részletek</summary><div class="drive-sub">'+sub+'</div>'
|
||||
+(d.durable_id?'<div class="drive-sub mono">'+esc(d.durable_id)+'</div>':'')+'</details>'
|
||||
+capBar(d)
|
||||
+(withActions?actions(d,registered):'')
|
||||
+'</div>';
|
||||
@@ -805,8 +808,8 @@ window.__registeredPaths=["\/mnt\/usb1","\/mnt\/old","\/mnt\/hdd1","\/mnt\/hdd2"
|
||||
var extra='<div class="metarows">'
|
||||
+'<span class="metarow">'+roleTag(d.role)+'</span>'
|
||||
+(d.class?'<span class="metarow">'+classTag(d)+'</span>':'')
|
||||
+(d.durable_id?'<span class="metarow mono" title="Tartós azonosító">'+esc(d.durable_id)+'</span>':'')
|
||||
+'</div>'
|
||||
+(d.durable_id?'<details class="drive-details"><summary>Részletek</summary><span class="drive-sub mono" title="Tartós azonosító">'+esc(d.durable_id)+'</span></details>':'')
|
||||
+actions(d,registered,hasSafeDisconnect);
|
||||
slot.innerHTML=extra;
|
||||
return true;
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
|
||||
<div class="settings-card" id="cfg-card" style="display:none">
|
||||
<h3>2. Konfiguráció</h3>
|
||||
<form id="init-form" onsubmit="return submitInit(event)">
|
||||
<form id="init-form" novalidate onsubmit="return submitInit(event)">
|
||||
<div class="form-group">
|
||||
<label>Kiválasztott eszköz</label>
|
||||
<span class="settings-value mono" id="sel-device">—</span>
|
||||
@@ -199,10 +199,10 @@
|
||||
<label for="mount-name">Csatlakoztatási név <span class="required">*</span></label>
|
||||
<div style="display:flex;align-items:center;gap:.25rem">
|
||||
<span class="mono" style="opacity:.6">/mnt/</span>
|
||||
<input type="text" id="mount-name" class="form-control" placeholder="hdd_1"
|
||||
pattern="[a-zA-Z0-9_-]+" required style="max-width:180px">
|
||||
<input type="text" id="mount-name" class="form-control" placeholder="hdd_1" value="hdd_1"
|
||||
pattern="[a-zA-Z0-9_-]+" maxlength="40" required style="max-width:180px">
|
||||
</div>
|
||||
<span class="form-hint">A meghajtó a /mnt/<név> útvonalra kerül.</span>
|
||||
<span class="form-hint">A meghajtó a /mnt/<név> útvonalra kerül. Hagyd így, ha nem tudod.</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="fstype">Fájlrendszer</label>
|
||||
@@ -298,7 +298,7 @@ function pickDisk(radio){
|
||||
|
||||
async function postInit(confirmed, durableId){
|
||||
var body={device:selDevice, fstype:document.getElementById('fstype').value,
|
||||
mount_name:document.getElementById('mount-name').value, label:document.getElementById('storage-label').value,
|
||||
mount_name:document.getElementById('mount-name').value.trim(), label:document.getElementById('storage-label').value,
|
||||
set_default:document.getElementById('set-default').checked, confirmed:!!confirmed, durable_id:durableId||""};
|
||||
var r=await fetch('/api/storage/init',{method:'POST',headers:Object.assign({'Content-Type':'application/json'},csrfHeaders()),body:JSON.stringify(body)});
|
||||
return {status:r.status, j:await r.json()};
|
||||
@@ -341,9 +341,19 @@ async function pollInitStatus(out, btn){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function mountNameProblem(){
|
||||
var v=(document.getElementById('mount-name').value||'').trim();
|
||||
if(/^[a-zA-Z0-9_-]{1,40}$/.test(v)){ return ''; }
|
||||
return 'Írj be egy csatlakoztatási nevet. Csak betű, szám, _ és - lehet benne, legfeljebb 40 karakter. Ha nem tudod, írd be: {name}'.replace('{name}', 'hdd_1');
|
||||
}
|
||||
|
||||
async function submitInit(ev){
|
||||
ev.preventDefault();
|
||||
var btn=document.getElementById('init-btn'); var out=document.getElementById('init-result');
|
||||
var bad=mountNameProblem();
|
||||
if(bad){ out.innerHTML='<div class="alert alert-error" id="mount-name-error">'+esc(bad)+'</div>'; document.getElementById('mount-name').focus(); return false; }
|
||||
btn.disabled=true; out.innerHTML=stepper('formatting');
|
||||
try{
|
||||
var res=await postInit(false, "");
|
||||
|
||||
Reference in New Issue
Block a user