Initial commit: DSH Web Manager
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
import { api } from './api';
|
||||
import { Panel, ResourceState, useAction, useResource } from './ui';
|
||||
export function Orphans() {
|
||||
const list=useResource(()=>api.request<string[]>('/orphans')), action=useAction();
|
||||
return <Panel title="孤儿容器回收" action={<button onClick={list.refresh}>核验并刷新</button>}>
|
||||
<p>仅列出已停止、归属和挂载核验通过且无实例或升级引用的容器。回收保留所有挂载数据,不删除网络。运行中及来源不明的容器不会列入。</p>
|
||||
{action.feedback}<ResourceState resource={list}/>
|
||||
{list.data?.length===0 && <p>没有可安全回收的容器。</p>}
|
||||
{list.data?.map(id=><div key={id}><code>{id}</code><button disabled={action.busy} onClick={()=>action.run(async()=>{if(window.prompt('请输入完整容器 ID 确认回收(数据保留)')!==id)throw new Error('确认不匹配,未执行');await api.request('/orphans?id='+id+'&confirm='+id,'DELETE');await list.refresh();},'容器已回收,数据已保留','确认回收此停止的孤儿容器?')}>回收</button></div>)}
|
||||
</Panel>;
|
||||
}
|
||||
Reference in New Issue
Block a user