| Current Path : /snap/lxd/current/share/lxd-ui/assets/ |
| Current File : //snap/lxd/current/share/lxd-ui/assets/StoragePoolSelector-Bvqvds5t.js |
import{j as s,d as i,aZ as x,dt as p,r as f}from"./index-BsQN_SZU.js";import{S as j}from"./StoragePoolSize-BNbqTfwA.js";const S=({pool:e})=>s.jsxs("div",{className:"label",children:[s.jsx("span",{title:e.name||"-",className:"resource u-truncate",children:e.name||"-"},"name"),s.jsx("span",{title:e.driver||"-",className:"resource-driver u-truncate",children:e.driver||"-"},"driver"),s.jsx("span",{title:"Usage",className:"resource-usage u-truncate",children:s.jsx(j,{pool:e,forceSingleLine:!0},e.name)},"usage")]}),b=()=>{const e=["name","driver","usage"];if(e.length<2)return null;const n=e.map(o=>s.jsx("span",{className:"resource u-no-margin--bottom",children:o},o));return s.jsx("div",{className:"header",children:n})},P=({value:e,setValue:n,selectProps:o,invalidDrivers:c=[p]})=>{const d=i.useNotify(),{data:u=[],error:l,isLoading:m}=x(),r=u.filter(a=>!c.includes(a.driver));if(f.useEffect(()=>{!e&&r.length>0&&n(r[0].name)},[e,r]),m)return s.jsx(i.Spinner,{className:"u-loader",text:"Loading storage pools..."});l&&d.failure("Loading storage pools failed",l);const g=()=>{const a=[];return r&&(r.forEach(t=>{a.push({label:s.jsx(S,{pool:t}),value:t.name,disabled:!1,text:`${t.name} (${t.driver})`,selectedLabel:s.jsxs("span",{children:[t.name," ",s.jsxs("span",{className:"u-text--muted",children:["(",t.driver,")"]})]})})}),r.length===0&&a.unshift({label:"No storage pool available",value:"",disabled:!0})),a},h=a=>{n(a)};return s.jsx(i.CustomSelect,{name:"pool","aria-label":"Storage Pool",searchable:"auto",...o,options:g(),onChange:h,value:e,dropdownClassName:"storage-pool-select-dropdown",header:s.jsx(b,{})})};export{P as S};