2 lines
8.3 KiB
JavaScript
Vendored
2 lines
8.3 KiB
JavaScript
Vendored
import l from"./TopBar.8fff2b71.js";import a from"./Container.f87d9f62.js";import p from"./Content.e22a1fd6.js";import m from"./Page.3927bdbf.js";import u from"./PageHeader.a5f457a5.js";import d from"./PageHeaderTitle.3ed783af.js";import _ from"./PageBody.dec1fae1.js";import f from"./Button.f17dffc9.js";import c from"./List.d5d221b1.js";import v from"./ListItem.ee1e88fb.js";import g from"./StatusBubble.4f1d8322.js";import h from"./NotificationBadge.b6fae3d5.js";import y from"./MainLayout.17290af6.js";import b from"./IconBox.e6c961ac.js";import I from"./IconGlobe.07030b80.js";import P from"./IconStorage.ef2b2e41.js";import S from"./IconButton.eadc8d3d.js";import x from"./IconMore.eb5410da.js";import $ from"./EmptyImage.4bfdf9ac.js";import k from"./Modal.a59fc373.js";import B from"./ModalContainer.51de3ea9.js";import w from"./FormInput.7debc7c5.js";import C from"./FormSelect.6e35ae7d.js";import L from"./FormActions.83ccca91.js";import D from"./Dropdown.d1060583.js";import F from"./DropdownList.02c48c2f.js";import M from"./DropdownListItem.ac31464c.js";import O from"./DropdownListItemButton.13731730.js";import{u as T}from"./confirm.059313bf.js";import{n as q}from"./plugin-vue2_normalizer.000ba15c.js";import"./TopBar.27b84f08.js";import"./IconMoon.ade3e41b.js";import"./IconSun.8809e5d7.js";import"./IconSearch.27dac870.js";import"./Breadcrumbs.d39e2491.js";import"./BreadcrumbsItem.da3f8155.js";import"./TopBarTabBarContainer.3bdb2bb3.js";import"./TabBar.c1d45ed5.js";import"./TabBarItem.e9886f0a.js";import"./Confirm.888708f1.js";import"./Notification.d432029f.js";import"./IconDanger.2f6e115d.js";import"./IconWarning.ca92fb65.js";import"./IconSuccess.09b85716.js";import"./IconInfo.ad7662f9.js";import"./SearchPalette.282fdde5.js";import"./notification.db2f2ae7.js";import"./app.79e1f42d.js";import"./IconClose.edb7c8fd.js";import"./Form.2cdcadd9.js";import"./FormGroup.efd02a6a.js";import"./Label.9d0d3ee0.js";import"./ErrorText.b141a597.js";import"./HelperText.14a7ed0b.js";import"./IconClipboard.8551be1b.js";import"./IconKey.455a255f.js";const H={metaInfo(){return{title:`${this.__("Servers")}`}},layout:y,components:{TopBar:l,Container:a,Content:p,Page:m,PageHeader:u,PageHeaderTitle:d,PageBody:_,Button:f,List:c,IconButton:S,IconMore:x,ListItem:v,StatusBubble:g,NotificationBadge:h,IconBox:b,IconGlobe:I,IconStorage:P,EmptyImage:$,Modal:k,ModalContainer:B,FormInput:w,FormActions:L,FormSelect:C,Dropdown:D,DropdownList:F,DropdownListItem:M,DropdownListItemButton:O},props:{servers:Object,dataProviders:[Array,Object]},computed:{shouldBePolling(){return!!this.servers.data.filter(o=>o.status==="busy").length}},mounted(){this.shouldBePolling&&this.startPollingInterval()},watch:{shouldBePolling:function(o){if(!o){this.clearPollingInterval();return}this.pollingInterval||this.startPollingInterval()},"form.provider":function(o){if(!o){this.regions=[],this.plans=[];return}this.loading=!0,window.axios.get(this.route("servers.plans-and-regions",o)).then(r=>{this.loading=!1,this.regions=r.data.regions,this.plans=r.data.plans}).catch(r=>{this.loading=!1})}},data(){return{loading:!1,form:{name:null,provider_id:null,provider_region_id:null,provider_plan_id:null,database_type:"mysql"},providers:this.dataProviders,regions:[],plans:[],pollingInterval:null,modalIsOpen:!1,breadcrumbs:[{title:this.$page.props.settings.name,to:"/"},{title:this.__("Servers"),to:this.route("servers.index")}]}},methods:{startPollingInterval(){this.pollingInterval=setInterval(function(){this.poll()}.bind(this),12e4)},clearPollingInterval(){clearTimeout(this.pollingInterval),this.pollingInterval=null},poll(){this.$inertia.get(this.route("servers.index"),{},{only:["servers"],preserveScroll:!0})},submit(){this.$inertia.post(this.route("servers.store"),this.form,{only:["errors","flash","servers"],onStart:()=>this.loading=!0,onSuccess:()=>{Object.keys(this.$page.props.errors).length||(this.form.domain=null,this.modalIsOpen=!1,this.form={name:null,provider_id:null,provider_region_id:null,provider_plan_id:null})},onFinish:()=>this.loading=!1})},confirmDelete(o){T({title:this.__("Are you sure?"),message:"Your server will be deleted completely, this action is irreversible.",onConfirm:()=>this.delete(o)})},delete(o){this.$inertia.delete(this.route("servers.delete",o.id))}},beforeDestroy(){this.clearPollingInterval()}};var j=function(){var r=this,e=r._self._c;return e("Page",[r.can("servers","create")?e("Portal",{attrs:{to:"modals"}},[e("ModalContainer",[r.modalIsOpen?e("Modal",{on:{close:function(t){r.modalIsOpen=!1},submit:r.submit},scopedSlots:r._u([{key:"title",fn:function(){return[r._v(r._s(r.__("Create a server")))]},proxy:!0},{key:"form",fn:function(){return[e("FormInput",{attrs:{loading:r.loading,label:r.__("Name"),placeholder:"webserver-01",errors:r.$page.props.errors.name},model:{value:r.form.name,callback:function(t){r.$set(r.form,"name",t)},expression:"form.name"}}),e("FormSelect",{attrs:{loading:r.loading,errors:r.$page.props.errors.provider_id,label:r.__("Select provider")},model:{value:r.form.provider_id,callback:function(t){r.$set(r.form,"provider_id",t)},expression:"form.provider_id"}},[e("option",{domProps:{value:`${null}`}},[r._v(r._s(r.__("Select random provider")))]),r._l(r.providers,function(t,i){return e("option",{domProps:{value:i}},[r._v(r._s(t))])})],2),e("FormSelect",{attrs:{loading:r.loading,errors:r.$page.props.errors.provider_region_id,label:r.__("Select region")},model:{value:r.form.provider_region_id,callback:function(t){r.$set(r.form,"provider_region_id",t)},expression:"form.provider_region_id"}},[e("option",{domProps:{value:`${null}`}},[r._v(r._s(r.__("Select random region")))]),r._l(r.regions,function(t,i){return e("option",{domProps:{value:i}},[r._v(r._s(t))])})],2),e("FormSelect",{attrs:{loading:r.loading,errors:r.$page.props.errors.provider_plan_id,label:r.__("Select plan")},model:{value:r.form.provider_plan_id,callback:function(t){r.$set(r.form,"provider_plan_id",t)},expression:"form.provider_plan_id"}},[e("option",{domProps:{value:`${null}`}},[r._v(r._s(r.__("Select random plan")))]),r._l(r.plans,function(t,i){return e("option",{domProps:{value:i}},[r._v(r._s(t))])})],2),e("FormSelect",{attrs:{loading:r.loading,errors:r.$page.props.errors.database_type,label:r.__("Select database type")},model:{value:r.form.database_type,callback:function(t){r.$set(r.form,"database_type",t)},expression:"form.database_type"}},[e("option",{attrs:{value:"mysql"}},[r._v(r._s(r.__("MySQL 5.7")))]),e("option",{attrs:{value:"mariadb"}},[r._v(r._s(r.__("MariaDB")))]),e("option",{attrs:{value:"postgresql"}},[r._v(r._s(r.__("PostgreSQL")))]),e("option",{attrs:{value:"postgresql13"}},[r._v(r._s(r.__("PostgreSQL 13")))])])]},proxy:!0},{key:"form-actions",fn:function(){return[e("Button",{domProps:{textContent:r._s(r.__("Create"))}})]},proxy:!0}],null,!1,2934529993)}):r._e()],1)],1):r._e(),e("TopBar",{attrs:{breadcrumbs:r.breadcrumbs}}),e("Content",[e("Container",[e("PageHeader",{scopedSlots:r._u([{key:"start",fn:function(){return[e("PageHeaderTitle",[r._v(r._s(r.__("Servers")))])]},proxy:!0},r.can("servers","create")?{key:"end",fn:function(){return[e("Button",{on:{click:function(t){r.modalIsOpen=!0}}},[r._v(r._s(r.__("Create server")))])]},proxy:!0}:null],null,!0)}),e("PageBody",[r.servers.meta.total?r._e():e("EmptyImage"),e("List",r._l(r.servers.data,function(t){return e("ListItem",{key:t.id,scopedSlots:r._u([{key:"prefix",fn:function(){return[e("StatusBubble",{attrs:{variant:t.status==="busy"?"gray":"success"}})]},proxy:!0},{key:"title",fn:function(){return[e("inertia-link",{staticClass:"text-primary font-medium",attrs:{href:r.route("servers.show",t.id)}},[r._v(" "+r._s(t.name)+" ")])]},proxy:!0},{key:"subtitle",fn:function(){return[r._v(r._s(t.ip)+" "),t.ip?e("span",[r._v("\xB7")]):r._e(),r._v(" "+r._s(t.sites_count)+" "+r._s(r.__choice("site|sites",t.sites_count))+" ")]},proxy:!0},{key:"suffix",fn:function(){return[e("Dropdown",{scopedSlots:r._u([{key:"default",fn:function({isOpen:i,toggle:n,position:s}){return[e("IconButton",{on:{click:n}},[e("IconMore",{staticClass:"w-5 h-5"})],1),i?e("DropdownList",{attrs:{position:s}},[e("DropdownListItem",{attrs:{to:r.route("servers.show",t.id)}},[r._v("View")]),r.can("servers","delete")?e("DropdownListItemButton",{staticClass:"!text-danger",on:{click:function(E){return r.confirmDelete(t)}}},[r._v(" Delete ")]):r._e()],1):r._e()]}}],null,!0)})]},proxy:!0}],null,!0)})}),1)],1)],1)],1)],1)},A=[],Q=q(H,j,A,!1,null,null,null,null);const Gr=Q.exports;export{Gr as default};
|