UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

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