zwave-js-ui
Version:
Z-Wave Control Panel and MQTT Gateway
2 lines (1 loc) • 5.57 kB
JavaScript
import{_ as R,I as C,aJ as D,m as T,u as _,a as F,z as S,o as r,l as i,w as e,b as a,e as g,v,f as w,h,k as o,R as k,q as y,X as N,U as n,t as c,x as I,c as V,an as b,am as U,N as z,ar as B,i as x,ai as L,M as P,O as j,T as q,Z as A,ao as M,aD as O,dD as E,af as J,V as Z}from"./index-B9yS4Bcc.js";const H={components:{},props:{node:{type:Object,required:!0},socket:{type:Object,required:!0},hideDowngrades:{type:Boolean,default:!1},hideTargets:{type:Boolean,default:!1}},mixins:[C],data(){return{RFRegion:D,rfRegion:null,fwUpdates:[],loading:!1,includePrereleases:!1,showDowngrades:!1}},computed:{...T(_,["controllerNode","zwave"]),filteredUpdates(){return this.fwUpdates.filter(l=>!l.downgrade||l.downgrade&&this.showDowngrades)},invalidRfRegion(){return this.controllerNode&&this.controllerNode.RFRegion===void 0&&this.zwave.rf.region===void 0}},mounted(){this.checkUpdates()},methods:{...F(_,["showSnackbar"]),async checkUpdates(){this.loading=!0,this.fwUpdates=[];const l={includePrereleases:this.includePrereleases};this.controllerNode&&this.controllerNode.RFRegion===void 0&&this.zwave.rf.region!==void 0&&(l.rfRegion=this.zwave.rf.region);const t=await this.app.apiRequest("getAvailableFirmwareUpdates",[this.node.id,l]);if(this.loading=!1,t.success){const{default:d}=await S(async()=>{const{default:p}=await import("./index-Blr6EMNg.js");return{default:p}},[],import.meta.url);for(const p of t.result)p.changelog=d().render(p.changelog);this.fwUpdates=t.result}else this.showSnackbar(`Failed to check for firmware updates: ${t.message}`,"error")},download(l){window.open(l,"_blank")},async handleUpdateFirmware(l){this.$emit("update-firmware",l)}}},W={class:"text-h5 ml-2"},X=["innerHTML"],G={class:"text-caption"};function K(l,t,d,p,u,m){return r(),i(Z,{"grid-list-md":""},{default:e(()=>[a(g,{class:"ml-5"},{default:e(()=>[v(a(w,{cols:"12"},{default:e(()=>[a(g,{justify:"center",class:"mb-2 text-center"},{default:e(()=>[a(h,{disabled:u.loading,variant:"outlined",class:"my-auto",color:"success",onClick:m.checkUpdates},{default:e(()=>t[2]||(t[2]=[o("Check updates")])),_:1,__:[2]},8,["disabled","onClick"]),a(k,{modelValue:u.includePrereleases,"onUpdate:modelValue":t[0]||(t[0]=s=>u.includePrereleases=s),"hide-details":"",density:"compact",label:"Include pre-releases",class:"ml-2 my-auto"},null,8,["modelValue"]),d.hideDowngrades?y("",!0):(r(),i(k,{key:0,modelValue:u.showDowngrades,"onUpdate:modelValue":t[1]||(t[1]=s=>u.showDowngrades=s),"hide-details":"",density:"compact",label:"Show downgrades",class:"ml-2 my-auto"},null,8,["modelValue"]))]),_:1}),l.controllerNode.RFRegion===void 0?(r(),i(g,{key:0,justify:"center",class:"pt-2 text-center"},{default:e(()=>[a(N,{type:"info",density:"compact",text:"",class:"ml-2 mb-2",style:{"max-width":"400px"}},{default:e(()=>[n("small",null,c(m.invalidRfRegion?"To get region-specific firmware updates, you need to configure your current region in the settings.":`Firmware updates include updates specific to ${u.RFRegion[l.zwave.rf.region]}. If this is not correct, you can change it in the settings.`),1)]),_:1})]),_:1})):y("",!0)]),_:1},512),[[I,!d.node.firmwareUpdate]]),m.filteredUpdates.length>0&&!d.node.firmwareUpdate?(r(!0),V(b,{key:0},U(m.filteredUpdates,s=>(r(),i(w,{cols:"12",sm:"6",md:"4",key:s.version},{default:e(()=>[a(z,{density:"compact",elevation:"5"},{default:e(()=>[a(B,null,{default:e(()=>[a(g,{class:"ma-1"},{default:e(()=>[a(x,null,{default:e(()=>t[3]||(t[3]=[o("update")])),_:1,__:[3]}),n("span",W,[n("strong",null,"v"+c(s.version)+" ["+c(s.channel)+"]",1)]),a(L),a(h,{variant:"outlined",size:"small",color:s.downgrade?"warning":"success",onClick:f=>m.handleUpdateFirmware(s),"prepend-icon":s.downgrade?"download":"upload"},{default:e(()=>[o(c(s.downgrade?"Downgrade":"Update"),1)]),_:2},1032,["color","onClick","prepend-icon"])]),_:2},1024)]),_:2},1024),a(P,{class:"mx-4"}),a(j,null,{default:e(()=>[a(q,{class:"text-subtitle-1"},{default:e(()=>t[4]||(t[4]=[n("strong",null,"Changelog",-1)])),_:1,__:[4]}),n("p",{class:"text-caption ml-4",innerHTML:s.changelog},null,8,X),(r(!0),V(b,null,U(s.files,f=>(r(),i(A,{key:f.url,lines:"two",density:"compact",style:{"border-bottom":"1px solid #e0e0e0"}},{prepend:e(()=>[a(x,{color:"primary"},{default:e(()=>t[5]||(t[5]=[o("widgets")])),_:1,__:[5]})]),append:e(()=>[v(a(h,{onClick:Q=>m.download(f.url),icon:"download",color:"success"},null,8,["onClick"]),[[M,"Download","bottom"]])]),default:e(()=>[!d.hideTargets&&f.target!==void 0?(r(),i(O,{key:0},{default:e(()=>[o("Target: "+c(f.target),1)]),_:2},1024)):y("",!0),a(E,null,{default:e(()=>[o(c(f.url),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)):u.loading||d.node.firmwareUpdate?(r(),i(w,{key:1,class:"text-center"},{default:e(()=>[a(J,{indeterminate:"",color:"primary"}),n("p",G,c(d.node.firmwareUpdate?"Update in progress...":"Remember to wake up sleeping devices..."),1)]),_:1})):(r(),i(w,{key:2,class:"text-center"},{default:e(()=>t[6]||(t[6]=[n("h1",{class:"text-h6"},"No updates available",-1),n("span",null,[o("This service relies on "),n("a",{href:"https://github.com/zwave-js/firmware-updates#readme",target:"_blank"},"Z-Wave JS Firmware Update Service"),o(", and may not represent all updates for your device.")],-1),n("br",null,null,-1),n("span",null,[o("If you know that a firmware update "),n("i",null,"does"),o(" exist, you can help the Z-Wave JS community by encouraging your device manufacturer to provide the firmwares. Read more in the link above.")],-1)])),_:1,__:[6]}))]),_:1})]),_:1})}const $=R(H,[["render",K]]);export{$ as default};