Submit
Path:
~
/
/
snap
/
lxd
/
current
/
share
/
lxd-ui
/
assets
/
File Content:
Images-40cc8e59.js
import{x as j,d as t,r as b,i as f,j as e,V as N,q as g,e as L,m as w,f as C,W as I,X as S,o as v,L as K,P as z,S as B,s as T,l as q,B as A,H as D,b as P}from"./index-13b2882d.js";import{l as Q}from"./images-2ea813f2.js";const k=({image:n,project:s})=>{const i=j(),l=t.useNotify(),[o,r]=b.useState(!1),u=f(),m=()=>{r(!0),N(n,s).then(c=>i.set(c.metadata.id,()=>{u.invalidateQueries({queryKey:[g.images]}),u.invalidateQueries({queryKey:[g.projects,s]}),l.success(`Image ${n.properties.description} deleted.`)},p=>l.failure("Image deletion failed",new Error(p)),()=>r(!1)))};return e.jsx(t.ConfirmationButton,{loading:o,confirmationModalProps:{title:"Confirm delete",children:e.jsxs("p",{children:["This will permanently delete image"," ",e.jsx("b",{children:n.properties.description}),".",e.jsx("br",{}),"This action cannot be undone, and can result in data loss."]}),confirmButtonLabel:"Delete",onConfirm:m},className:"has-icon",appearance:"base",disabled:o,shiftClickEnabled:!0,showShiftClickHint:!0,children:e.jsx(t.Icon,{name:"delete"})})},E=({image:n,project:s})=>{const i=L(),l=()=>{i(`/ui/project/${s}/instances/create`,{state:{selectedImage:n,cancelLocation:window.location.pathname}})};return e.jsx(t.Button,{appearance:"base",onClick:l,type:"button",title:"Create instance",hasIcon:!0,children:e.jsx(t.Icon,{name:"play"})})},_=()=>{const n=t.useNotify(),{project:s}=w(),[i,l]=b.useState("");if(!s)return e.jsx(e.Fragment,{children:"Missing project"});const{data:o=[],error:r,isLoading:u}=C({queryKey:[g.images,s],queryFn:()=>T(s)});r&&n.failure("Loading images failed",r);const m=[{content:"Name",sortKey:"name"},{content:"Alias",sortKey:"alias"},{content:"Architecture",sortKey:"architecture",className:"architecture"},{content:"Public",sortKey:"public",className:"public"},{content:"Type",sortKey:"type",className:"type"},{content:"Upload date",sortKey:"uploaded_at",className:"uploaded_at"},{content:"Size",sortKey:"size",className:"u-align--right size"},{"aria-label":"Actions",className:"actions"}],c=o.filter(a=>!i||a.properties.description.toLowerCase().includes(i.toLowerCase())||a.aliases.map(h=>h.name).join(", ").toLowerCase().includes(i.toLowerCase())),p=c.map(a=>{const h=e.jsx(t.List,{inline:!0,className:"actions-list u-no-margin--bottom",items:[e.jsx(E,{project:s,image:Q(a)},"launch"),e.jsx(k,{image:a,project:s},"delete")]}),y=a.aliases.map(x=>x.name).join(", ");return{columns:[{content:a.properties.description,role:"cell","aria-label":"Name"},{content:y,role:"cell","aria-label":"Aliases",className:"aliases"},{content:a.architecture,role:"cell","aria-label":"Architecture",className:"architecture"},{content:a.public?"Yes":"No",role:"cell","aria-label":"Public",className:"public"},{content:a.type=="virtual-machine"?"VM":"Container",role:"cell","aria-label":"Type",className:"type"},{content:I(a.uploaded_at),role:"cell","aria-label":"Upload date",className:"uploaded_at"},{content:S(a.size),role:"cell","aria-label":"Size",className:"u-align--right size"},{content:h,role:"cell","aria-label":"Actions",className:"u-align--right actions"}],sortData:{name:a.properties.description.toLowerCase(),alias:y.toLowerCase(),architecture:a.architecture,public:a.public,type:a.type,size:+a.size,uploaded_at:a.uploaded_at}}}),d=v(p);return u?e.jsx(K,{text:"Loading images..."}):o.length===0?e.jsx(t.EmptyState,{className:"empty-state",image:e.jsx(t.Icon,{name:"mount",className:"empty-state-icon"}),title:"No images found in this project",children:e.jsx("p",{children:"Images will appear here, when launching an instance from a remote."})}):e.jsxs("div",{className:"image-list",children:[e.jsx("div",{className:"upper-controls-bar",children:e.jsx("div",{className:"search-box-wrapper",children:e.jsx(t.SearchBox,{name:"search-images",className:"search-box margin-right",type:"text",onChange:a=>{l(a)},placeholder:"Search for images",value:i,"aria-label":"Search for images"})})}),e.jsx(z,{...d,id:"pagination",className:"u-no-margin--top",totalCount:o.length,visibleCount:c.length===o.length?d.pageData.length:c.length,keyword:"image"}),e.jsx(B,{dependencies:[o],children:e.jsx(t.MainTable,{headers:m,rows:d.pageData,sortable:!0,className:"image-table",emptyStateMsg:"No images found matching this search",onUpdateSort:d.updateSort})})]})},R=()=>{const n=q();return e.jsxs(A,{title:e.jsx(D,{href:`${n}/image-handling/`,title:"Learn more about images",children:"Images"}),children:[e.jsx(P,{}),e.jsx(t.Row,{children:e.jsx(_,{})})]})};export{R as default};
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
data
---
0755
img
---
0755
AutoExpandingTextArea-3a779a81.js
352 bytes
0644
CancelOperationBtn-5e4a9f41.js
1454 bytes
0644
CertificateAdd-5762bbdd.js
2423 bytes
0644
CertificateGenerate-67a1d99d.js
9813 bytes
0644
ClusterGroupForm-f258bb5e.js
3146 bytes
0644
ClusterList-13b65a6c.js
4834 bytes
0644
ConfigFieldDescription-00c1a193.js
3588 bytes
0644
ConfigurationTable-1a9d4d6f.js
2213 bytes
0644
CreateClusterGroup-3b03283b.js
329 bytes
0644
CreateInstance-2dc2e316.js
15924 bytes
0644
CreateNetwork-9059effd.js
2293 bytes
0644
CreateProfile-fa64def5.js
3354 bytes
0644
CreateProject-3768bb7f.js
1942 bytes
0644
CreateStoragePool-e2d089cb.js
1809 bytes
0644
DiskSizeSelector-dd5e138a.js
1843 bytes
0644
EditClusterGroup-08d77b61.js
622 bytes
0644
FormMenuItem-c8a1a121.js
504 bytes
0644
Images-40cc8e59.js
4475 bytes
0644
InstanceDetail-ee6a9c3e.js
497285 bytes
0644
InstanceFormMenu-dff7cf6c.js
1710 bytes
0644
InstanceList-23508fa8.js
15982 bytes
0644
Login-a15594e3.js
1504 bytes
0644
NetworkDetail-c85f81d1.js
10357 bytes
0644
NetworkDevicesForm-bcf4be77.js
28882 bytes
0644
NetworkForm-ffe61c80.js
11091 bytes
0644
NetworkList-45862bf6.js
2938 bytes
0644
NetworkMap-30a0e19e.js
393598 bytes
0644
OperationList-b576a26c.js
3103 bytes
0644
ProfileDetail-1a7135fe.js
9972 bytes
0644
ProfileDetailsForm-809e7c02.js
856 bytes
0644
ProfileFormMenu-3458e77a.js
1542 bytes
0644
ProfileList-3777bd96.js
3396 bytes
0644
ProfileSelector-b579b8c7.js
1770 bytes
0644
ProjectConfiguration-e5324f11.js
7224 bytes
0644
ProjectForm-55619b78.js
14396 bytes
0644
ProtectedRoute-49eddddb.js
209 bytes
0644
RenameHeader-c74d9adb.js
1641 bytes
0644
SelectableMainTable-5a3f3fef.js
1514 bytes
0644
Settings-2fc8ab81.js
6119 bytes
0644
StoragePoolDetail-5cad7e82.js
5661 bytes
0644
StorageUsedBy-2e98cb1b.js
2208 bytes
0644
StorageVolumeCreate-76138e07.js
1794 bytes
0644
StorageVolumeDetail-513f1051.js
6918 bytes
0644
StorageVolumeForm-228515f8.js
9860 bytes
0644
StorageVolumeFormMenu-e90b9f5c.js
1378 bytes
0644
WarningList-74e9b259.js
1899 bytes
0644
certificate-3aff5cf1.js
283833 bytes
0644
clusterGroups-3fc1789d.js
3402 bytes
0644
formFields-fc140429.js
4724 bytes
0644
images-2ea813f2.js
702 bytes
0644
index-13b2882d.js
600882 bytes
0644
index-205b9caf.css
493180 bytes
0644
index.esm-82c30f37.js
70743 bytes
0644
instanceConfigInheritance-fbf987f8.js
1414 bytes
0644
instanceDelete-e714bd59.js
1559 bytes
0644
instanceEdit-cf20bafe.js
5416 bytes
0644
instanceValidation-26160179.css
52045 bytes
0644
instanceValidation-45cfba9a.js
2195634 bytes
0644
networks-5caac489.js
1747 bytes
0644
operations-beb03b33.js
433 bytes
0644
settings-c23f9009.js
183 bytes
0644
updateMaxHeight-325b3cd4.js
861 bytes
0644
useClusterMembers-dbf45674.js
3396 bytes
0644
N4ST4R_ID | Naxtarrr