PageSourceSearch

https://aviumui.org/assets/entries/src_pages_admin_devices_-codename_edit.DrQAx7Ef.js

js aviumui.org collected 2026-09-25 22:37:17 UTC 6,241 bytes, 1 lines download raw bytes

1import{_ as U,r as z,u as d,f as c,b as e,h as C,z as h,A as S,L as l,G as r,D as P,C as k,w as m,t as f,m as x,l as E,k as A,s as D}from"../chunks/chunk-D6Oav43O.js";import{n as p}from"../chunks/chunk-lzWkO0SH.js";import"../chunks/chunk-D1JYe4Qp.js";import{a as v}from"../chunks/chunk-pJ2yq5Pf.js";/* empty css                      *//* empty css                      *//* empty css                      *//* empty css                      */import"../chunks/chunk-BwNI8fUT.js";const j={class:"device-editor"},V={class:"md3-card device-card"},R={class:"header"},M={class:"title"},B={key:0,class:"md3-loading"},I=["innerHTML"],L={key:1,class:"form"},O={class:"field"},N={class:"ctr"},G={class:"field"},H={class:"ctr"},$={class:"field"},F={class:"ctr"},q={class:"field"},J={class:"ctr"},K={class:"md3-switch"},Q={class:"field"},W={class:"ctr"},X={class:"footer"},Y=["disabled"],Z={__name:"+Page",setup(te){const _=k(),n=decodeURIComponent(_?.routeParams?.codename||""),t=m({id:null,name:"",codename:"",manufacturer:"",official:!1,img:""}),s=m(!1),y=m(!0);function g(){p(`/admin/devices/${encodeURIComponent(n)}`)}async function T(){return(await v("/api/user/info",{method:"GET"}))?.ok?!0:(await p("/admin/login"),!1)}async function w(){const o=await v(`/api/device/detail?codename=${encodeURIComponent(n)}`,{method:"GET"}),a=await o.json().catch(()=>({}));if(!o.ok)throw new Error(a?.message||"Failed to load");const i=a?.data?.device||{};t.value={id:i.id,name:i.name||"",codename:i.codename||"",manufacturer:i.manufacturer||"",official:!!i.official,img:i.img||""}}async function b(){if(!t.value.name||!t.value.codename||!t.value.manufacturer){await d({type:"alert",title:"Error",content:"Name, Codename, Manufacturer are required"});return}s.value=!0;try{const o={id:t.value.id,name:t.value.name,codename:t.value.codename,manufacturer:t.value.manufacturer,official:t.value.official};t.value.img&&(o.img=t.value.img);const a=await v("/api/device/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}),i=await a.json().catch(()=>({}));if(!a.ok)throw new Error(i?.message||"Update failed");const u=i?.data?.device;await d({type:"alert",title:"Success",content:"Device updated"}),u?.codename&&u.codename!==n?await p(`/admin/devices/${encodeURIComponent(u.codename)}`):g()}catch(o){await d({type:"alert",title:"Error",content:String(o?.message||o)})}finally{s.value=!1}}return z(async()=>{if(await T())try{await w()}catch(o){await d({type:"alert",title:"Error",content:String(o?.message||o)})}finally{y.value=!1}}),(o,a)=>(f(),c("div",j,[e("div",V,[e("header",R,[e("h1",M,[a[5]||(a[5]=e("span",{class:"material-icons-round"},"devices",-1)),C(" Edit Device · "+h(S(n)),1)]),e("div",{class:"actions"},[e("button",{class:"md3-btn md3-btn--outlined",onClick:g},"Back")])]),y.value?(f(),c("div",B,[e("div",{class:"spinner",innerHTML:S(x)},null,8,I)])):(f(),c("div",L,[e("div",O,[a[6]||(a[6]=e("label",{class:"lab",for:"f-name"},"Name",-1)),e("div",N,[l(e("input",{class:"md3-input",id:"f-name","onUpdate:modelValue":a[0]||(a[0]=i=>t.value.name=i)},null,512),[[r,t.value.name,void 0,{trim:!0}]])])]),e("div",G,[a[7]||(a[7]=e("label",{class:"lab",for:"f-codename"},"Codename",-1)),e("div",H,[l(e("input",{class:"md3-input",id:"f-codename","onUpdate:modelValue":a[1]||(a[1]=i=>t.value.codename=i)},null,512),[[r,t.value.codename,void 0,{trim:!0}]])])]),e("div",$,[a[8]||(a[8]=e("label",{class:"lab",for:"f-manufacturer"},"Manufacturer",-1)),e("div",F,[l(e("input",{class:"md3-input",id:"f-manufacturer","onUpdate:modelValue":a[2]||(a[2]=i=>t.value.manufacturer=i)},null,512),[[r,t.value.manufacturer,void 0,{trim:!0}]])])]),e("div",q,[a[11]||(a[11]=e("label",{class:"lab"},"Official",-1)),e("div",J,[e("label",K,[l(e("input",{type:"checkbox","onUpdate:modelValue":a[3]||(a[3]=i=>t.value.official=i)},null,512),[[P,t.value.official]]),a[9]||(a[9]=e("span",{class:"track"},[e("span",{class:"thumb"})],-1)),a[10]||(a[10]=e("span",{class:"label"},"Officially maintained",-1))])])]),e("div",Q,[a[12]||(a[12]=e("label",{class:"lab",for:"f-img"},"Image URL",-1)),e("div",W,[l(e("input",{class:"md3-input",id:"f-img","onUpdate:modelValue":a[4]||(a[4]=i=>t.value.img=i),placeholder:"https://... (optional)"},null,512),[[r,t.value.img,void 0,{trim:!0}]])])])])),e("footer",X,[e("button",{class:"md3-btn md3-btn--filled",disabled:s.value,onClick:b},h(s.value?"Saving…":"Save"),9,Y)])])]))}},ee=U(Z,[["__scopeId","data-v-9ac3e0d0"]]),ae=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"})),me={hasServerOnlyHook:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!1}},isClientRuntimeLoaded:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:!0}},onBeforeRenderEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},dataEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},guardEnv:{type:"computed",definedAtData:null,valueSerialized:{type:"js-serialized",value:null}},onRenderClient:{type:"standard",definedAtData:{filePathToShowToUser:"vike-vue/__internal/integration/onRenderClient",fileExportPathToShowToUser:[]},valueSerialized:{type:"pointer-import",value:D}},Page:{type:"standard",definedAtData:{filePathToShowToUser:"/src/pages/admin/devices/@codename/edit/+Page.vue",f
1ileExportPathToShowToUser:[]},valueSerialized:{type:"plus-file",exportValues:ae}},hydrationCanBeAborted:{type:"standard",definedAtData:{filePathToShowToUser:"vike-vue/config",fileExportPathToShowToUser:["default","hydrationCanBeAborted"]},valueSerialized:{type:"js-serialized",value:!0}},Layout:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/src/pages/+Layout.vue",fileExportPathToShowToUser:[]}],valueSerialized:[{type:"plus-file",exportValues:A}]},title:{type:"standard",definedAtData:{filePathToShowToUser:"/src/pages/+config.js",fileExportPathToShowToUser:["default","title"]},valueSerialized:{type:"js-serialized",value:"AviumUI"}},onCreateApp:{type:"cumulative",definedAtData:[{filePathToShowToUser:"/src/pages/+onCreateApp.js",fileExportPathToShowToUser:[]}],valueSerialized:[{type:"plus-file",exportValues:E}]}};export{me as configValuesSerialized};

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.