1import{_ as P}from"./LayoutColumn.vue_vue_type_script_setup_true_lang-CxtnJc4m.js";import{_ as T,a as z}from"./CloudServerPossibleAddons.vue_vue_type_script_setup_true_lang-BM8iLdx4.js";import{_ as N}from"./OhButton.vue-u8lLmJkQ.js";import{C as R}from"./useInterfaceNav-i4OVqisb.js";import{d as y,a8 as x,K as b,X as i,a4 as h,A as t,H as S,O as _,a9 as V,L as C,F as B,a3 as F,R as L,j as m,P as l,a as j,S as d,r as E}from"./vendor-i18n-d5NYPexO.js";import{_ as H}from"./OhFlashMessage.vue_vue_type_script_setup_true_lang-C8KCwm8m.js";import{_ as I}from"./OhHeader.vue-BxGtEsOa.js";import{_ as D}from"./Breadcrumb.vue_vue_type_script_setup_true_lang-CNBgUieY.js";import{h as K}from"./app-C2d1Sk0h.js";import{b as U}from"./useHomeRoute-Ofa7S4bF.js";import{u as X}from"./useRedirectModal-DXc3Kcpn.js";import"./OhContainer.vue-Ctid55hm.js";import"./Primitive-coUWhel5.js";import"./navigation-IEff22Q5.js";import"./GvIcon.vue-XUvgv9OL.js";import"./OhDynamicModal.vue_vue_type_script_setup_true_lang-DThu4prv.js";import"./GvTile.vue-DWIdZqZK.js";import"./useZendeskWidget-ZFOaLvLk.js";import"./OhAlert.vue-BMV0enCp.js";import"./useLayout-Dhh21ZPI.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./OhBadge.vue-DZisMjLN.js";import"./useInput-WkPJabMY.js";import"./OhSelect.vue-XlDxXJbD.js";import"./arrow_forward-CfQEAvCG.js";import"./logout-Bdbk-6q9.js";import"./useSubscription-DdEsf7x6.js";import"./HeaderUnauthenticatedBar-CHJ2ngwA.js";import"./OhCardFooter.vue_vue_type_script_setup_true_lang-0bTDrqXh.js";import"./OhAction.vue-CM-FTp6p.js";import"./OhDropdown.vue-mzMQNKSS.js";import"./useArrowNavigation-D-pctMGk.js";import"./RovingFocusGroup-Zyob6mQV.js";import"./array-BgkLc63u.js";import"./OhCardTitle.vue_vue_type_script_setup_true_lang-DilzC7nU.js";import"./arrow_right_alt-C2u6Jo_L.js";import"./CloudServerAddonInfoModal.vue_vue_type_script_setup_true_lang-nPN4jr6N.js";import"./content_copy-B8mtwuFj.js";import"./ProfileContractTerminationNotPossibleModal.vue_vue_type_script_setup_true_lang-PpQu99po.js";import"./useFeatures-DDAbSi64.js";import"./mixpanelEvents-CYVQoDR2.js";import"./OhSubheader.vue-Dizmk9ZV.js";import"./arrow_back-DMu1enb4.js";import"./chevron_right-D3D6kgoA.js";const q={class:"gv-flex gv-flex-col"},G={class:"gv-flex gv-justify-between gv-items-center"},J={class:"gv-text-bold gv-text-xl gv-mb-md"},Q=y({__name:"CloudServerAddons",props:{addons:{},contract:{},hasResources:{type:Boolean},cloudServer:{},hideManageBtn:{type:Boolean}},setup(e){const s=e,{t:o}=x(),u=m(()=>s.hasResources?o("cloudserver.addons.owned_addons.manage_addons_and_resources"):o("cloudserver.addons.owned_addons.manage_addons")),p=m(()=>!s.hideManageBtn&&!1),v=m(()=>s.contract.addons?.filter(r=>r.status===R.Active&&(!r.termination||r.termination.status==="open"))),f=m(()=>`gv-grid-cols-${((a,n,c)=>a<n?n:a>c?c:a)(s.addons.length,2,4)}`);return(r,g)=>{const a=N,n=T;return l(),b("div",q,[i("div",G,[i("div",J,h(t(o)("cloudserver.addons.owned_addons.title")),1),t(p)?(l(),S(a,{key:0,variant:"primary",condensed:"",href:r.route("servers.addons.list",{cloudServer:e.cloudServer.contract.id})},{default:_(()=>[V(h(t(u)),1)]),_:1},8,["href"])):C("",!0)]),i("span",null,h(t(o)("cloudserver.addons.subtitle",{product:e.contract.name,number:t(v)?.length})),1),i("div",{class:L(["gv-grid gv-gap-x-md gv-tab-grid-cols-2 gv-desk-grid-cols-4 gv-max-mob-block",t(f)])},[(l(!0),b(B,null,F(e.addons,c=>(l(),S(n,{key:c.id,addon:c,used:!0,"cloud-server-contract":e.contract},null,8,["addon","cloud-server-contract"]))),128))],2)])}}}),W={class:"gv-flex gv-flex-col gv-space-y-lg"},Ie=y({__name:"Show",props:{cloudServer:{},contract:{},possibleAddons:{}},setup(e){const s=e,{t:o}=x(),{getTenantSetting:u}=X(),{can:p}=U(),v=E([]),f=u("url.general"),r=u("cloud-servers.one_com_tenant")&&f!==void 0,g=m(()=>r?{name:o("cloudserver.title"),href:`${f}/admin/vps.do`,external:r}:p("accessMyProductsPage")?{name:o("layout.navigation.myproducts"),href:route("my-products")}:p("accessCloudServers")?{name:o("cloudserver.title"),href:route("cloudserver")}:{name:o("layout.navigation.home"),href:route("index")}),a=[{name:s.cloudServer.name,href:route("servers.settings",{cloudServer:s.cloudServer.contract.id})}];return j(()=>{s.contract.addons?.forEach(n=>
1{n.status==="active"&&(!n.termination||n.termination.status==="open")&&v.value.push(n)})}),(n,c)=>{const k=D,$=I,w=H,A=Q,M=z,O=P;return l(),b(B,null,[d(t(K),{title:t(o)("cloudserver.addons.title")},null,8,["title"]),d(O,{navigation:"cloudserver"},{header:_(()=>[d($,{title:t(o)("cloudserver.addons.title"),subtitle:e.cloudServer.name},{breadcrumb:_(()=>[d(k,{pages:a,root:t(g),"only-back":t(r),"only-back-arrow":t(r)},null,8,["root","only-back","only-back-arrow"])]),_:1},8,["title","subtitle"])]),default:_(()=>[i("main",null,[d(w),i("div",W,[e.contract.addons!==null?(l(),S(A,{key:0,addons:t(v),contract:e.contract,"has-resources":!1,"cloud-server":e.cloudServer,"hide-manage-btn":""},null,8,["addons","contract","cloud-server"])):C("",!0),d(M,{"possible-addons":e.possibleAddons,"cloud-server":e.cloudServer,"has-resources":!1,contract:e.contract},null,8,["possible-addons","cloud-server","contract"])])])]),_:1})],64)}}});export{Ie as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.