UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

2 lines (1 loc) 6.55 kB
import{_ as F,m as D,a as S,I as T,e as d,w as e,b as t,q as v,c as k,v as N,f as w,h,V as g,i as y,k as o,M as b,n as V,O as z,H as l,t as p,al as _,am as U,ae as I,u as M,y as B,x,aR as L,z as n,F as P,as as q,l as R,ah as j,aq as C,E as A,G as E,N as O,Q as H,ay as J,b2 as W}from"./index-B8xHYEBg.js";const Z={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:[T],data(){return{RFRegion:L,rfRegion:null,fwUpdates:[],loading:!1,includePrereleases:!1,showDowngrades:!1}},computed:{...S(x,["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:{...D(x,["showSnackbar"]),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(u=>u.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 B(async()=>{const{default:u}=await import("./index-Blr6EMNg.js");return{default:u}},[],import.meta.url);for(const u of a.result)u.changelog=i().render(u.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)}}},G={class:"text-h5 ml-2"},Q=["innerHTML"],K={class:"text-caption"};function X(s,a,i,u,c,m){return n(),d(M,{"grid-list-md":""},{default:e(()=>[t(g,{class:V(i.dialogMode?"":"ml-5")},{default:e(()=>[v(t(w,{cols:"12"},{default:e(()=>[t(g,{justify:"center",class:"mb-2 text-center"},{default:e(()=>[i.dialogMode?h("",!0):(n(),d(y,{key:0,disabled:c.loading,variant:"outlined",class:"my-auto",color:"success",onClick:m.checkUpdates},{default:e(()=>[...a[2]||(a[2]=[o("Check updates",-1)])]),_:1},8,["disabled","onClick"])),t(b,{modelValue:c.includePrereleases,"onUpdate:modelValue":a[0]||(a[0]=r=>c.includePrereleases=r),"hide-details":"",density:"compact",label:"Include pre-releases",class:V(i.dialogMode?"my-auto":"ml-2 my-auto")},null,8,["modelValue","class"]),i.hideDowngrades?h("",!0):(n(),d(b,{key:1,modelValue:c.showDowngrades,"onUpdate:modelValue":a[1]||(a[1]=r=>c.showDowngrades=r),"hide-details":"",density:"compact",label:"Show downgrades",class:"ml-2 my-auto"},null,8,["modelValue"]))]),_:1}),s.controllerNode.RFRegion===void 0?(n(),d(g,{key:0,justify:"center",class:"pt-2 text-center"},{default:e(()=>[t(z,{type:"info",density:"compact",text:"",class:"ml-2 mb-2",style:{"max-width":"400px"}},{default:e(()=>[l("small",null,p(m.invalidRfRegion?"To get region-specific firmware updates, you need to configure your current region in the settings.":`Firmware updates include updates specific to ${c.RFRegion[s.zwave.rf.region]}. If this is not correct, you can change it in the settings.`),1)]),_:1})]),_:1})):h("",!0)]),_:1},512),[[N,!i.node.firmwareUpdate]]),m.filteredUpdates.length>0&&!i.node.firmwareUpdate?(n(!0),k(U,{key:0},_(m.filteredUpdates,r=>(n(),d(w,{cols:"12",sm:i.dialogMode?"12":"6",md:i.dialogMode?"6":"4",key:r.version},{default:e(()=>[t(P,{density:"compact",elevation:"5"},{default:e(()=>[t(q,null,{default:e(()=>[t(g,{class:"ma-1"},{default:e(()=>[t(R,null,{default:e(()=>[...a[3]||(a[3]=[o("update",-1)])]),_:1}),l("span",G,[l("strong",null,"v"+p(r.version)+" ["+p(r.channel)+"]",1)]),t(j),v(t(y,{variant:"outlined",size:"small",color:"error",onClick:f=>m.dismissUpdate(r),icon:"close","aria-label":"Dismiss this update",class:"mr-2"},null,8,["onClick"]),[[C,"Dismiss this update","bottom"]]),t(y,{variant:"outlined",size:"small",color:r.downgrade?"warning":"success",onClick:f=>m.handleUpdateFirmware(r),"prepend-icon":r.downgrade?"download":"upload"},{default:e(()=>[o(p(r.downgrade?"Downgrade":"Update"),1)]),_:2},1032,["color","onClick","prepend-icon"])]),_:2},1024)]),_:2},1024),t(A,{class:"mx-4"}),t(E,null,{default:e(()=>[t(O,{class:"text-subtitle-1"},{default:e(()=>[...a[4]||(a[4]=[l("strong",null,"Changelog",-1)])]),_:1}),l("p",{class:"text-caption ml-4",innerHTML:r.changelog},null,8,Q),(n(!0),k(U,null,_(r.files,f=>(n(),d(H,{key:f.url,lines:"two",density:"compact",style:{"border-bottom":"1px solid #e0e0e0"}},{prepend:e(()=>[t(R,{color:"primary"},{default:e(()=>[...a[5]||(a[5]=[o("widgets",-1)])]),_:1})]),append:e(()=>[v(t(y,{onClick:Y=>m.download(f.url),icon:"download",color:"success"},null,8,["onClick"]),[[C,"Download","bottom"]])]),default:e(()=>[!i.hideTargets&&f.target!==void 0?(n(),d(J,{key:0},{default:e(()=>[o("Target: "+p(f.target),1)]),_:2},1024)):h("",!0),t(W,null,{default:e(()=>[o(p(f.url),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1032,["sm","md"]))),128)):c.loading||i.node.firmwareUpdate?(n(),d(w,{key:1,class:"text-center"},{default:e(()=>[t(I,{indeterminate:"",color:"primary"}),l("p",K,p(i.node.firmwareUpdate?"Update in progress...":"Remember to wake up sleeping devices..."),1)]),_:1})):(n(),d(w,{key:2,class:"text-center"},{default:e(()=>[...a[6]||(a[6]=[l("h1",{class:"text-h6"},"No updates available",-1),l("span",null,[o("This service relies on "),l("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),l("br",null,null,-1),l("span",null,[o("If you know that a firmware update "),l("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}))]),_:1},8,["class"])]),_:1})}const ee=F(Z,[["render",X]]);export{ee as default};