PhaseWeb3-Vue/assets/MachinesView-InTVwIvj.js

2 lines
5.8 KiB
JavaScript

import{u as T,r as f,a as F,o as G,p as j,c as V,d as c,w as i,e,_ as R,j as _,f as v,F as g,g as m,i as d,P as D,am as Q,h as I,Q as B,aY as Y,v as Z,l as C,aZ as z,aq as H,n as J}from"./index-D0hKoGh3.js";import{_ as u}from"./FormField-CdaWEeMy.js";import{_ as h}from"./FormControl-dmBiWM7h.js";import{_ as p}from"./FormCheckRadio-DJ3otjdO.js";import{_ as K}from"./ArcadeCard-DZod3cve.js";import{_ as L}from"./GeneralTable-B0XfRRXB.js";import{g as M}from"./pcbid-CIkJuo1f.js";import{A as W}from"./arcade-BuHOwvoE.js";import{d as X,v as ee,w as ae,x as le}from"./admin-D9keMNBw.js";import{_ as te}from"./BaseButtons-D6Ee48aj.js";const ne={class:"grid grid-cols-1 lg:grid-cols-2 gap-6"},ie={class:"grid grid-cols-1 w-full gap-2 md:gap-6 md:flex md:place-content-stretch pb-4 md:pb-0"},oe={class:"grid grid-cols-1 w-full gap-2 md:gap-6 md:flex md:place-content-stretch pb-4 md:pb-0"},se={class:"bg-white dark:bg-slate-900/95 rounded-2xl lg:flex lg:justify-between"},ue={class:"w-full"},Ie={__name:"MachinesView",setup(de){const y=T(),s=f({}),P=f(!0),A=F(),$=parseInt(A.params.id);async function b(){try{const o=await W($);s.value=o,P.value=!1}catch(o){console.error("Failed to fetch arcade data:",o)}}G(()=>{b()});const x=[{text:"PCBID",value:"pcbId",sortable:!0,width:200},{text:"Name",value:"description",sortable:!0,width:200},{text:"Port",value:"port",sortable:!0,width:120},{text:"Arcade Machine",value:"data.cabinet",sortable:!0,width:120},{text:"OTA",value:"ota",sortable:!0,width:120}],U=o=>{navigator.clipboard.writeText(o.pcbId).then(()=>{alert("Copied to clipboard!")}).catch(()=>{alert("Failed to copy to clipboard!")})},w={name:"",cabinet:!1,ota:!1,generatePCBID:!0,PCBID:""},t=j({...w}),r=f(null),n=f(null);function k(o){var a=[];for(const l of o)a.push({id:l.pcbId,label:l.description});return a}function E(o){var a,l;return!o||!s.value.machines?null:(n.value=(l=(a=s.value)==null?void 0:a.machines)==null?void 0:l.find(S=>S.pcbId===o),n.value.cabinet=n.value.data.cabinet??!1,!0)}async function O(){for(t.generatePCBID&&(t.PCBID=M());!await X(t.PCBID);)if(t.generatePCBID)t.PCBID=M();else{window.alert("PCBID already in use!");return}ee(s.value.id,{name:t.name,cabinet:t.cabinet,ota:t.ota,PCBID:t.PCBID.toUpperCase()}),Object.assign(t,w),b()}async function N(){n.value&&(await ae(s.value.id,{name:n.value.name,cabinet:n.value.cabinet,ota:n.value.ota,PCBID:n.value.pcbId.toUpperCase()}),n.value=null,r.value=null,b())}async function q(){var o;n.value&&(await le(s.value.id,((o=n.value)==null?void 0:o.pcbId)??""),n.value=null,r.value=null,b())}return(o,a)=>(c(),V(J,null,{default:i(()=>[e(R,null,{default:i(()=>[P.value?v("",!0):(c(),_(g,{key:0},[e(K,{class:"mb-6",arcade:s.value,"use-small":!0},null,8,["arcade"]),m(y).userAdmin?(c(),_(g,{key:0},[e(D,{icon:m(Q),title:"Machine Administration",main:""},null,8,["icon"]),d("div",ne,[e(I,{"is-form":"",class:"lg:mb-6"},{default:i(()=>[e(B,{color:"success",label:"Add Machine",icon:m(Y),class:"mb-2"},null,8,["icon"]),d("form",{class:"h-full",onSubmit:a[5]||(a[5]=Z(l=>O(),["prevent"]))},[e(u,{label:"Generate PCBID",help:"Generate a PCBID rather than supply one."},{default:i(()=>[e(p,{modelValue:t.generatePCBID,"onUpdate:modelValue":a[0]||(a[0]=l=>t.generatePCBID=l),"input-value":t.generatePCBID,name:"generatePCBID",type:"switch"},null,8,["modelValue","input-value"])]),_:1}),t.generatePCBID?v("",!0):(c(),V(u,{key:0,label:"PCBID"},{default:i(()=>[e(h,{modelValue:t.PCBID,"onUpdate:modelValue":a[1]||(a[1]=l=>t.PCBID=l),name:"pcbid",required:"",minlength:"20",maxlength:"20"},null,8,["modelValue"])]),_:1})),e(u,{label:"Name"},{default:i(()=>[e(h,{modelValue:t.name,"onUpdate:modelValue":a[2]||(a[2]=l=>t.name=l),name:"name",required:""},null,8,["modelValue"])]),_:1}),d("div",ie,[e(u,{label:"Arcade Cabinet",help:"If this is a real cabinet, enable this."},{default:i(()=>[e(p,{modelValue:t.cabinet,"onUpdate:modelValue":a[3]||(a[3]=l=>t.cabinet=l),"input-value":t.cabinet,name:"cabinet",type:"switch"},null,8,["modelValue","input-value"])]),_:1}),e(u,{label:"Enable Updates",help:"Enables or disables OTA updates."},{default:i(()=>[e(p,{modelValue:t.ota,"onUpdate:modelValue":a[4]||(a[4]=l=>t.ota=l),"input-value":t.ota,name:"ota",type:"switch"},null,8,["modelValue","input-value"])]),_:1})]),e(C,{color:"success",type:"submit",label:"Add Machine"})],32)]),_:1}),e(I,{"is-form":"",class:"mb-6"},{default:i(()=>[e(B,{color:"warning",label:"Edit Machine",icon:m(z),class:"mb-2"},null,8,["icon"]),e(u,{label:"Machine"},{default:i(()=>[e(h,{modelValue:r.value,"onUpdate:modelValue":a[6]||(a[6]=l=>r.value=l),name:"machine",options:k(s.value.machines),required:""},null,8,["modelValue","options"])]),_:1}),E(r.value)?(c(),_(g,{key:0},[e(u,{label:"Name"},{default:i(()=>[e(h,{modelValue:n.value.name,"onUpdate:modelValue":a[7]||(a[7]=l=>n.value.name=l),name:"name",required:""},null,8,["modelValue"])]),_:1}),d("div",oe,[e(u,{label:"Arcade Cabinet",help:"If this is a real cabinet, enable this."},{default:i(()=>[e(p,{modelValue:n.value.cabinet,"onUpdate:modelValue":a[8]||(a[8]=l=>n.value.cabinet=l),"input-value":n.value.cabinet,name:"cabinet",type:"switch"},null,8,["modelValue","input-value"])]),_:1}),e(u,{label:"Enable Updates",help:"Enables or disables OTA updates."},{default:i(()=>[e(p,{modelValue:n.value.ota,"onUpdate:modelValue":a[9]||(a[9]=l=>n.value.ota=l),"input-value":n.value.ota,name:"ota",type:"switch"},null,8,["modelValue","input-value"])]),_:1})]),e(te,null,{default:i(()=>[e(C,{color:"success",label:"Update Machine",onClick:a[10]||(a[10]=l=>N())}),e(C,{color:"danger",label:"Delete Machine",onClick:a[11]||(a[11]=l=>q())})]),_:1})],64)):v("",!0)]),_:1})])],64)):v("",!0),e(D,{icon:m(H),title:"Machines",main:""},null,8,["icon"]),e(I,{"has-table":""},{default:i(()=>[d("div",se,[d("div",ue,[e(L,{headers:x,items:s.value.machines,onRowClicked:U},null,8,["items"])])])]),_:1})],64))]),_:1})]),_:1}))}};export{Ie as default};