56 lines
4.7 KiB
JavaScript
56 lines
4.7 KiB
JavaScript
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{fs as t,ms as n}from"./control-ui-core-pH6nakZ-.js";import{G as r,J as i,K as a,W as o}from"./lit-runtime-BEtFSUCp.js";import{Ht as s,Lt as c,Nt as l,Rt as u,qt as d}from"./control-ui-core-Br5DB0Zj.js";import{Gn as f,Hn as p,Un as m,Vn as h}from"./control-ui-boot-D1DWJlBr.js";import"./new-session-Df5ycn44.js";import{n as g,t as _}from"./draft-cloud-machine-state-B3618rsh.js";function v(e){switch(e.kind){case`gateway`:return`gateway`;case`profile`:return`profile:${e.profileId}`;case`device`:return`device:${e.deviceId}`}throw Error(`Unknown session placement move target`)}function y(e){if(b)return Promise.resolve(null);b=!0;let n=document.createElement(`div`);return document.body.append(n),new Promise(o=>{let s=!0,l=null,u={profiles:[],devices:[]},h={kind:`gateway`},g=new _,y=e=>{a(r,n),n.remove(),b=!1,o(e)},x=e=>{h=e,C()},S=e=>{if(e.preventDefault(),h.kind!==`profile`){y(h);return}let t=g.resolve(h.profileId);y({...h,...t?{machineClass:t}:{}})};function C(){let t=v(h);a(i`
|
|
<openclaw-modal-dialog
|
|
label=${d(`sessionsView.moveSessionTitle`)}
|
|
@modal-cancel=${()=>y(null)}
|
|
>
|
|
<form class="exec-approval-card" @submit=${S}>
|
|
<div class="exec-approval-header">
|
|
<div class="exec-approval-title">${d(`sessionsView.moveSessionTitle`)}</div>
|
|
<div class="muted">
|
|
${d(`sessionsView.moveSessionDescription`,{session:e.sessionLabel})}
|
|
</div>
|
|
</div>
|
|
${e.activeRun?i`<div class="exec-approval-error" role="alert">
|
|
${d(`sessionsView.moveSessionActiveRunWarning`)}
|
|
</div>`:i`<div class="callout">${d(`sessionsView.moveSessionNoReplayWarning`)}</div>`}
|
|
${s?i`<div class="muted">${d(`common.loading`)}</div>`:l?i`<div class="exec-approval-error" role="alert">${l}</div>`:i`
|
|
<div class="new-session-page__picker-root">
|
|
${f({value:`gateway`,label:d(`newSession.gateway`),icon:c.monitor,checked:t===`gateway`,onSelect:()=>x({kind:`gateway`})},!1)}
|
|
${u.devices.length>0?i`
|
|
<div class="new-session-page__menu-title">
|
|
${d(`newSession.yourDevices`)}
|
|
</div>
|
|
${u.devices.map(n=>{let r=e.deviceDisabledReason??n.disabledReason;return f({value:`device:${n.deviceId}`,label:n.label,sub:n.subtitle,icon:c.monitor,facts:e.deviceDisabledReason?[e.deviceDisabledReason]:n.facts,checked:t===`device:${n.deviceId}`,disabled:!!e.deviceDisabledReason||!n.selectable,title:r,onSelect:()=>x({kind:`device`,deviceId:n.deviceId})},!1)})}
|
|
`:r}
|
|
${u.profiles.length>0?i`
|
|
<div class="new-session-page__menu-title">
|
|
${d(`newSession.cloud`)}
|
|
</div>
|
|
${u.profiles.map(t=>{let n=h.kind===`profile`&&h.profileId===t.id,a=t.machines??[],o=g.resolve(t.id)||a.find(e=>e.default===!0)?.id||``;return i`
|
|
${m({profiles:[t],selectedId:n?t.id:``,submitting:!1,icon:c.server,profileDisabledReason:e.profileDisabledReason,onSelect:e=>x({kind:`profile`,profileId:e})})}
|
|
${n&&a.length>0?i`
|
|
<div class="new-session-page__menu-title">
|
|
${d(`newSession.machine`)}
|
|
</div>
|
|
${p({machines:a,selectedId:o,submitting:!1,onSelect:e=>g.select(t.id,e,u.profiles,!1,C)})}
|
|
`:r}
|
|
`})}
|
|
`:r}
|
|
</div>
|
|
`}
|
|
<div class="exec-approval-actions">
|
|
<button
|
|
type="submit"
|
|
class="btn primary"
|
|
?disabled=${s||!!l}
|
|
>
|
|
${d(`sessionsView.moveSessionAction`)}
|
|
</button>
|
|
<button type="button" class="btn" @click=${()=>y(null)}>
|
|
${d(`common.cancel`)}
|
|
</button>
|
|
</div>
|
|
</form>
|
|
</openclaw-modal-dialog>
|
|
`,n)}C(),e.loadCatalog().then(e=>{u=e}).catch(e=>{l=t(e,d(`sessionsView.moveSessionCatalogFailed`))}).finally(()=>{s=!1,C()})})}var b;function x(){return(x=e((()=>{o(),s(),n(),h(),g(),u(),l(),b=!1})))()}x();export{y as showSessionPlacementMoveDialog};
|
|
//# sourceMappingURL=session-placement-move-dialog-BUC6yPYf.js.map
|