zigbee2mqtt-frontend 0.9.1 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/assets/{Availability-e3f34491.js → Availability-e21b5cd4.js} +1 -1
  3. package/dist/assets/Availability-e21b5cd4.js.br +0 -0
  4. package/dist/assets/{CodeEditor-8f838f2b.js → CodeEditor-bcea557c.js} +1 -1
  5. package/dist/assets/CodeEditor-bcea557c.js.br +0 -0
  6. package/dist/assets/ConnectedDevicePage-2bf88446.js +1 -0
  7. package/dist/assets/ConnectedDevicePage-2bf88446.js.br +0 -0
  8. package/dist/assets/{ConnectedMap-f2f16e4a.js → ConnectedMap-e5a88662.js} +1 -1
  9. package/dist/assets/ConnectedMap-e5a88662.js.br +0 -0
  10. package/dist/assets/{Dashboard-a31f63a3.js → Dashboard-39a47135.js} +1 -1
  11. package/dist/assets/Dashboard-39a47135.js.br +0 -0
  12. package/dist/assets/{DashboardDevice-ccfe7ecb.js → DashboardDevice-53502186.js} +1 -1
  13. package/dist/assets/DashboardDevice-53502186.js.br +0 -0
  14. package/dist/assets/{DashboardFeatureWrapper-a0202672.js → DashboardFeatureWrapper-4eb44544.js} +1 -1
  15. package/dist/assets/DashboardFeatureWrapper-4eb44544.js.br +0 -0
  16. package/dist/assets/{DeviceImage-b0ce2953.js → DeviceImage-7f9c1d0b.js} +1 -1
  17. package/dist/assets/DeviceImage-7f9c1d0b.js.br +0 -0
  18. package/dist/assets/{GroupPage-c55487be.js → GroupPage-d5b1f216.js} +1 -1
  19. package/dist/assets/GroupPage-d5b1f216.js.br +0 -0
  20. package/dist/assets/{ReactTableCom-c5fa0b55.js → ReactTableCom-94fac1ed.js} +1 -1
  21. package/dist/assets/ReactTableCom-94fac1ed.js.br +0 -0
  22. package/dist/assets/{RecallRemove-70fe8bb8.js → RecallRemove-eea6bd1b.js} +1 -1
  23. package/dist/assets/RecallRemove-eea6bd1b.js.br +0 -0
  24. package/dist/assets/{_baseSet-1ec3161b.js → _baseSet-71bef10a.js} +1 -1
  25. package/dist/assets/{_getAllKeysIn-d1e577d0.js → _getAllKeysIn-0e9e88c6.js} +1 -1
  26. package/dist/assets/{bootstrap-5.esm-35e5e53c.js → bootstrap-5.esm-03fbaf7a.js} +1 -1
  27. package/dist/assets/bootstrap-5.esm-03fbaf7a.js.br +0 -0
  28. package/dist/assets/index-1bf471bb.js +66 -0
  29. package/dist/assets/index-1bf471bb.js.br +0 -0
  30. package/dist/assets/index-2a4cf226.js +1 -0
  31. package/dist/assets/index-2a4cf226.js.br +0 -0
  32. package/dist/assets/{index-fa2b36de.js → index-3286b31b.js} +1 -1
  33. package/dist/assets/index-3286b31b.js.br +0 -0
  34. package/dist/assets/{index-cfdcdcf7.js → index-377f0e4f.js} +1 -1
  35. package/dist/assets/index-377f0e4f.js.br +0 -0
  36. package/dist/assets/{index-87401d53.js → index-58ee66c1.js} +1 -1
  37. package/dist/assets/index-58ee66c1.js.br +0 -0
  38. package/dist/assets/{index-16e319d7.js → index-67556f42.js} +46 -63
  39. package/dist/assets/index-67556f42.js.br +0 -0
  40. package/dist/assets/index-789be13c.js +1 -0
  41. package/dist/assets/{index-58298b0b.js → index-8cef62f7.js} +1 -1
  42. package/dist/assets/index-8cef62f7.js.br +0 -0
  43. package/dist/assets/index-b656f632.js +1 -0
  44. package/dist/assets/index-b656f632.js.br +0 -0
  45. package/dist/assets/{index-facf920d.js → index-e58a3a96.js} +1 -1
  46. package/dist/assets/index-e58a3a96.js.br +0 -0
  47. package/dist/assets/{intersection-87b17905.js → intersection-7e9d5857.js} +1 -1
  48. package/dist/assets/intersection-7e9d5857.js.br +0 -0
  49. package/dist/assets/{isEqual-7fe66f96.js → isEqual-7263d7f1.js} +1 -1
  50. package/dist/assets/{jszip.min-db1a8563.js → jszip.min-4f8e7911.js} +1 -1
  51. package/dist/assets/jszip.min-4f8e7911.js.br +0 -0
  52. package/dist/assets/{persist-2803de70.js → persist-2ee41679.js} +1 -1
  53. package/dist/assets/persist-2ee41679.js.br +0 -0
  54. package/dist/assets/{rjsf-translation-fields-201a8d86.js → rjsf-translation-fields-bf894a57.js} +1 -1
  55. package/dist/assets/{spinner-d5ff5058.js → spinner-70f57ec1.js} +1 -1
  56. package/dist/assets/{vendor-links-6df665d0.js → vendor-links-d1510746.js} +1 -1
  57. package/dist/assets/vendor-links-d1510746.js.br +0 -0
  58. package/dist/index.html +1 -1
  59. package/dist/index.html.br +0 -0
  60. package/package.json +1 -1
  61. package/dist/assets/Availability-e3f34491.js.br +0 -0
  62. package/dist/assets/CodeEditor-8f838f2b.js.br +0 -0
  63. package/dist/assets/ConnectedDevicePage-23fbac1c.js +0 -1
  64. package/dist/assets/ConnectedDevicePage-23fbac1c.js.br +0 -0
  65. package/dist/assets/ConnectedMap-f2f16e4a.js.br +0 -0
  66. package/dist/assets/Dashboard-a31f63a3.js.br +0 -0
  67. package/dist/assets/DashboardDevice-ccfe7ecb.js.br +0 -0
  68. package/dist/assets/DashboardFeatureWrapper-a0202672.js.br +0 -0
  69. package/dist/assets/DeviceImage-b0ce2953.js.br +0 -0
  70. package/dist/assets/GroupPage-c55487be.js.br +0 -0
  71. package/dist/assets/ReactTableCom-c5fa0b55.js.br +0 -0
  72. package/dist/assets/RecallRemove-70fe8bb8.js.br +0 -0
  73. package/dist/assets/bootstrap-5.esm-35e5e53c.js.br +0 -0
  74. package/dist/assets/index-16e319d7.js.br +0 -0
  75. package/dist/assets/index-58298b0b.js.br +0 -0
  76. package/dist/assets/index-6f4fc5d2.js +0 -1
  77. package/dist/assets/index-6f4fc5d2.js.br +0 -0
  78. package/dist/assets/index-87401d53.js.br +0 -0
  79. package/dist/assets/index-9d70ff17.js +0 -1
  80. package/dist/assets/index-cdcf121a.js +0 -36
  81. package/dist/assets/index-cdcf121a.js.br +0 -0
  82. package/dist/assets/index-cfdcdcf7.js.br +0 -0
  83. package/dist/assets/index-fa2281ed.js +0 -1
  84. package/dist/assets/index-fa2281ed.js.br +0 -0
  85. package/dist/assets/index-fa2b36de.js.br +0 -0
  86. package/dist/assets/index-facf920d.js.br +0 -0
  87. package/dist/assets/intersection-87b17905.js.br +0 -0
  88. package/dist/assets/jszip.min-db1a8563.js.br +0 -0
  89. package/dist/assets/persist-2803de70.js.br +0 -0
  90. package/dist/assets/vendor-links-6df665d0.js.br +0 -0
@@ -0,0 +1 @@
1
+ import{u as j,l as x,j as a,r as w,L as C,g as h,d as g,c as k,a as S,w as H,R as E,i as L}from"./index-67556f42.js";import{V as T,M as q}from"./vendor-links-d1510746.js";import{L as F,D as M,P as N}from"./index-377f0e4f.js";import{i as P,A,D as I}from"./Availability-e21b5cd4.js";import{T as R}from"./ReactTableCom-94fac1ed.js";import{D as V}from"./DeviceImage-7f9c1d0b.js";import{D as B}from"./DEVICES_GLOBAL_NAME-6620c611.js";import"./powerSourceTypeToTranslationKey-452dac81.js";import"./persist-2ee41679.js";import"./index-789be13c.js";const $={"action-column":"_action-column_1729o_1","device-pic":"_device-pic_1729o_8","device-image":"_device-image_1729o_14"};function z(t){const{data:l,lastSeenType:o,availabilityFeatureEnabled:n,homeassistantEnabled:d,setDeviceDescription:y}=t,{renameDevice:c,removeDevice:m,configureDevice:v,interviewDevice:b}=t,{t:r}=j(["zigbee","common","avaliability"]),u=o!=="disable"?[{id:"last_seen",Header:r("last_seen"),accessor:({state:e})=>{var i;return(i=x(e,o))==null?void 0:i.getTime()},Cell:({row:{original:{state:e}}})=>a.jsx(F,{state:e,lastSeenType:o})}]:[],_=n?[{id:"availability",Header:r("avaliability:avaliability"),accessor:({availabilityState:e})=>P(e)?e:e.state,Cell:({row:{original:{availabilityState:e,availabilityEnabledForDevice:i,disabled:s}}})=>a.jsx(A,{disabled:s,availability:e,availabilityEnabledForDevice:i})}]:[],p=w.useMemo(()=>[{id:"pic",Header:r("pic"),Cell:({row:{original:{device:e,state:i,disabled:s}}})=>a.jsx(V,{className:$["device-image"],device:e,deviceStatus:i,disabled:s}),accessor:e=>e,disableSortBy:!0},{id:"friendly_name",Header:r("friendly_name"),accessor:({device:e})=>[e.friendly_name,e.description].join(" "),Cell:({row:{original:{device:e}}})=>a.jsxs(a.Fragment,{children:[a.jsx(C,{to:h(e.ieee_address),children:e.friendly_name}),a.jsx("small",{className:"d-block",children:e.description})]})},{id:"ieee_address",Header:r("ieee_address"),accessor:({device:e})=>[e.ieee_address,g(e.network_address,4)].join(" "),Cell:({row:{original:{device:e}}})=>a.jsxs(a.Fragment,{children:[a.jsx("div",{children:e.ieee_address}),a.jsx("div",{children:a.jsxs("abbr",{title:`${r("network_address_hex")} (${r("network_address_dec")}: ${e.network_address})`,children:["(",g(e.network_address,4),")"]})})]})},{id:"manufacturer",Header:r("manufacturer"),accessor:({device:e})=>{var i;return[(i=e.definition)==null?void 0:i.vendor,e.manufacturer].join(" ")},Cell:({row:{original:{device:e}}})=>a.jsx(T,{device:e})},{id:"model",Header:r("model"),accessor:({device:e})=>{var i;return[(i=e.definition)==null?void 0:i.model,e.model_id].join(" ")},Cell:({row:{original:{device:e}}})=>a.jsx(q,{device:e})},{id:"lqi",Header:r("lqi"),accessor:({state:e})=>e.linkquality,Cell:({row:{original:{state:e}}})=>a.jsx(M,{value:e.linkquality,name:"linkquality"})},...u,..._,{id:"power",Header:r("power"),accessor:({state:e,device:i})=>{var s;return[e.battery,(s=i.definition)==null?void 0:s.power].join(" ")},Cell:({row:{original:{state:e,device:i}}})=>a.jsx(N,{device:i,deviceState:e})},{id:"controls",Header:"",Cell:({row:{original:{device:e,state:i}}})=>a.jsx(I,{device:e,state:i,homeassistantEnabled:d,renameDevice:c,removeDevice:m,configureDevice:v,setDeviceDescription:y,interviewDevice:b}),disableSortBy:!0}],[u,_,r,d,c,m,v,b]);return a.jsx("div",{className:"card",children:a.jsx("div",{className:"table-responsive",children:a.jsx(R,{id:B,columns:p,data:l})})})}function G(t){var e,i;const{devices:l,deviceStates:o,bridgeInfo:{config:n},availability:d}=t,{renameDevice:y,removeDevice:c,configureDevice:m,setDeviceDescription:v,interviewDevice:b}=t,r=!!((e=n.availability)!=null&&e.enabled),u=!!((i=n==null?void 0:n.homeassistant)!=null&&i.enabled),_=()=>Object.values(l).filter(s=>s.type!=="Coordinator").map(s=>{var f;const D=o[s.friendly_name]??{};return{id:s.friendly_name,disabled:L(s,n),device:s,state:D,availabilityState:d[s.friendly_name]??"offline",availabilityEnabledForDevice:((f=n.devices[s.ieee_address])==null?void 0:f.availability)!==!1}}),p=E.useMemo(()=>_(),[l,o]);return a.jsx(z,{data:p,lastSeenType:n.advanced.last_seen,availabilityFeatureEnabled:r,homeassistantEnabled:u,renameDevice:y,removeDevice:c,configureDevice:m,setDeviceDescription:v,interviewDevice:b})}const O=["devices","deviceStates","bridgeInfo","availability"],ae=k(O,S)(H(["zigbee","common"])(G));export{ae as ConnectedZigbeePage};
Binary file
@@ -1 +1 @@
1
- import{c as m,a as p,w as u,r as g,j as e,L as f,g as k,B as t,b as d}from"./index-16e319d7.js";import{T as x}from"./ReactTableCom-c5fa0b55.js";import"./persist-2803de70.js";class b extends g.Component{constructor(){super(...arguments),this.onIdentifyClick=n=>{const{touchlinkIdentify:i}=this.props;i(n)},this.onResetClick=n=>{const{touchlinkReset:i}=this.props;i(n)}}renderTouchlinkDevices(){const{touchlinkDevices:n,devices:i,touchlinkIdentifyInProgress:r,touchlinkResetInProgress:a,t:c}=this.props,o=r||a,h=[{Header:c("zigbee:ieee_address"),accessor:s=>s.ieee_address,Cell:({row:{original:s}})=>i[s.ieee_address]?e.jsx(f,{to:k(s.ieee_address),children:s.ieee_address}):s.ieee_address},{Header:c("zigbee:friendly_name"),accessor:s=>{var l;return(l=i[s.ieee_address])==null?void 0:l.friendly_name}},{id:"channel",Header:c("zigbee:channel"),accessor:"channel"},{id:"actions",Header:"",Cell:({row:{original:s}})=>e.jsxs("div",{className:"btn-group float-right",role:"group","aria-label":"Basic example",children:[e.jsx(t,{disabled:o,item:s,title:c("identify"),className:"btn btn-primary",onClick:this.onIdentifyClick,children:e.jsx("i",{className:d("fa",{"fa-exclamation-triangle":!r,"fas fa-circle-notch fa-spin":r})})}),e.jsx(t,{disabled:o,item:s,title:c("factory_reset"),className:"btn btn-danger",onClick:this.onResetClick,children:e.jsx("i",{className:d("fa",{"fa-broom":!a,"fas fa-circle-notch fa-spin":a})})})]})}];return e.jsx("div",{className:"table-responsive",children:e.jsx(x,{id:"touchlinkDevices",columns:h,data:n})})}renderNoDevices(){const{touchlinkScan:n,t:i}=this.props;return e.jsx(t,{className:"btn btn-primary mx-auto d-block",onClick:n,children:i("scan")})}render(){const{touchlinkDevices:n,touchlinkScanInProgress:i,touchlinkScan:r,t:a}=this.props;return e.jsxs("div",{className:"card",children:[e.jsxs("div",{className:"card-header allign-middle",children:[a("detected_devices_message",{count:n.length}),e.jsx(t,{title:a("rescan"),className:"btn btn-primary btn-sm float-right",onClick:r,children:e.jsx("i",{className:"fa fa-sync"})})]}),e.jsx("div",{className:"card-body",children:i?e.jsx("div",{className:"d-flex justify-content-center",children:e.jsx("div",{className:"spinner-border",role:"status",children:e.jsx("span",{className:"sr-only",children:a("common:loading")})})}):n.length===0?this.renderNoDevices():this.renderTouchlinkDevices()})]})}}const j=["touchlinkDevices","devices","touchlinkScanInProgress","touchlinkIdentifyInProgress","touchlinkResetInProgress"],I=m(j,p)(u(["touchlink","zigbee","common"])(b));export{I as ConnectedTouchlinkPage};
1
+ import{c as m,a as p,w as u,r as g,j as e,L as f,g as k,B as t,b as d}from"./index-67556f42.js";import{T as x}from"./ReactTableCom-94fac1ed.js";import"./persist-2ee41679.js";class b extends g.Component{constructor(){super(...arguments),this.onIdentifyClick=n=>{const{touchlinkIdentify:i}=this.props;i(n)},this.onResetClick=n=>{const{touchlinkReset:i}=this.props;i(n)}}renderTouchlinkDevices(){const{touchlinkDevices:n,devices:i,touchlinkIdentifyInProgress:r,touchlinkResetInProgress:a,t:c}=this.props,o=r||a,h=[{Header:c("zigbee:ieee_address"),accessor:s=>s.ieee_address,Cell:({row:{original:s}})=>i[s.ieee_address]?e.jsx(f,{to:k(s.ieee_address),children:s.ieee_address}):s.ieee_address},{Header:c("zigbee:friendly_name"),accessor:s=>{var l;return(l=i[s.ieee_address])==null?void 0:l.friendly_name}},{id:"channel",Header:c("zigbee:channel"),accessor:"channel"},{id:"actions",Header:"",Cell:({row:{original:s}})=>e.jsxs("div",{className:"btn-group float-right",role:"group","aria-label":"Basic example",children:[e.jsx(t,{disabled:o,item:s,title:c("identify"),className:"btn btn-primary",onClick:this.onIdentifyClick,children:e.jsx("i",{className:d("fa",{"fa-exclamation-triangle":!r,"fas fa-circle-notch fa-spin":r})})}),e.jsx(t,{disabled:o,item:s,title:c("factory_reset"),className:"btn btn-danger",onClick:this.onResetClick,children:e.jsx("i",{className:d("fa",{"fa-broom":!a,"fas fa-circle-notch fa-spin":a})})})]})}];return e.jsx("div",{className:"table-responsive",children:e.jsx(x,{id:"touchlinkDevices",columns:h,data:n})})}renderNoDevices(){const{touchlinkScan:n,t:i}=this.props;return e.jsx(t,{className:"btn btn-primary mx-auto d-block",onClick:n,children:i("scan")})}render(){const{touchlinkDevices:n,touchlinkScanInProgress:i,touchlinkScan:r,t:a}=this.props;return e.jsxs("div",{className:"card",children:[e.jsxs("div",{className:"card-header allign-middle",children:[a("detected_devices_message",{count:n.length}),e.jsx(t,{title:a("rescan"),className:"btn btn-primary btn-sm float-right",onClick:r,children:e.jsx("i",{className:"fa fa-sync"})})]}),e.jsx("div",{className:"card-body",children:i?e.jsx("div",{className:"d-flex justify-content-center",children:e.jsx("div",{className:"spinner-border",role:"status",children:e.jsx("span",{className:"sr-only",children:a("common:loading")})})}):n.length===0?this.renderNoDevices():this.renderTouchlinkDevices()})]})}}const j=["touchlinkDevices","devices","touchlinkScanInProgress","touchlinkIdentifyInProgress","touchlinkResetInProgress"],I=m(j,p)(u(["touchlink","zigbee","common"])(b));export{I as ConnectedTouchlinkPage};
Binary file
@@ -1 +1 @@
1
- import{aJ as d,u as p,j as t,b as g,l as h,v as w,r as j}from"./index-16e319d7.js";import{p as y}from"./powerSourceTypeToTranslationKey-452dac81.js";var m=[60,60,24,7,365/7/12,12];function x(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}function _(e,a){var s=e<0?1:0;e=Math.abs(e);for(var r=e,n=0;e>=m[n]&&n<m.length;n++)e/=m[n];return e=Math.floor(e),n*=2,e>(n===0?9:1)&&(n+=1),a(e,n,r)[s].replace("%s",e.toString())}function N(e,a){var s=a?x(a):new Date;return(+s-+x(e))/1e3}var k=function(e,a,s){var r=N(e,s&&s.relativeDate);return _(r,d(a))};function D(e){const{value:a,name:s}=e,{t:r}=p("values"),n={contact:new Map([[!0,r("closed")],[!1,r("open")]]),occupancy:new Map([[!0,r("occupied")],[!1,r("clear")]]),water_leak:new Map([[!0,t.jsx("span",{className:g("text-danger","animation-blinking"),children:r("leaking")},"Leaking")],[!1,r("clear")]]),tamper:new Map([[!0,t.jsx("span",{className:g("text-danger","animation-blinking"),children:r("tampered")},"tampered")],[!1,r("clear")]]),supported:new Map([[!0,r("supported")],[!1,r("not_supported")]]),_default:new Map([[!0,r("true")],[!1,r("false")]])},i=n[s]||n._default;return t.jsx(t.Fragment,{children:i.get(a)})}function L(e){const{t:a}=p("values"),{value:s}=e;switch(typeof s){case"boolean":return t.jsx(D,{...e});case"undefined":return t.jsx(t.Fragment,{children:"N/A"});case"object":return t.jsx(t.Fragment,{children:s===null?a("null"):JSON.stringify(s)});case"string":return t.jsx(t.Fragment,{children:s===""?t.jsx("small",{className:"text-muted",children:a("empty_string")}):s});default:return t.jsx(t.Fragment,{children:JSON.stringify(s)})}}function q(e){const{i18n:a}=p(),{state:s,lastSeenType:r}=e,n=h(s,r);return n?t.jsx("span",{title:w(n),children:k(n,a.language)}):t.jsx(t.Fragment,{children:"N/A"})}const M="_plug_1sba2_1",$={plug:M},F=({device:e,deviceState:a,showLevel:s,...r})=>{const{t:n}=p("zigbee");let i;switch(e!==void 0&&(i=e.power_source),i){case"Battery":let b=n(y(i)),u="",l="fa-question",o,f,c;if(a!==void 0&&((a==null?void 0:a.battery)!==void 0&&(o=a.battery),(a==null?void 0:a.battery_state)!==void 0&&(f=a.battery_state),(a==null?void 0:a.battery_low)!==void 0&&(c=a.battery_low)),o!==void 0)if(u=o+"%",o>=85)l="fa-battery-full";else if(o>=65)l="fa-battery-three-quarters";else if(o>=40)l="fa-battery-half";else if(o>=20)l="fa-battery-quarter";else if(o>=10)l="fa-battery-empty animation-blinking";else return t.jsxs("span",{className:"animation-blinking text-danger",role:"alert",children:[o,"%"]});else if(f!==void 0)switch(u=f,f){case"high":l="fa-battery-full";break;case"medium":l="fa-battery-half";break;case"low":l="fa-battery-empty animation-blinking";break}else c!==void 0&&(u=c?"LOW":"OK",l=c?"fa-battery-empty":"fa-battery-full");return c===!0&&(l+=" animation-blinking text-danger"),u!==""&&(b+=", "+n("power_level")+`: ${u}`),t.jsxs(j.Fragment,{children:[s?t.jsxs("span",{className:"pe-2",children:[n("battery")," ",u]}):null,t.jsx("i",{className:`fa ${l}`,title:b,...r})]});case"Mains (single phase)":case"DC Source":return t.jsx("i",{className:`fa fa-plug ${$.plug}`,title:n(y(i)),...r});default:return t.jsx("i",{className:"fa fa-question",title:i,...r})}},A=F;export{L as D,q as L,A as P};
1
+ import{aJ as d,u as p,j as t,b as g,l as h,v as w,r as j}from"./index-67556f42.js";import{p as y}from"./powerSourceTypeToTranslationKey-452dac81.js";var m=[60,60,24,7,365/7/12,12];function x(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}function _(e,a){var s=e<0?1:0;e=Math.abs(e);for(var r=e,n=0;e>=m[n]&&n<m.length;n++)e/=m[n];return e=Math.floor(e),n*=2,e>(n===0?9:1)&&(n+=1),a(e,n,r)[s].replace("%s",e.toString())}function N(e,a){var s=a?x(a):new Date;return(+s-+x(e))/1e3}var k=function(e,a,s){var r=N(e,s&&s.relativeDate);return _(r,d(a))};function D(e){const{value:a,name:s}=e,{t:r}=p("values"),n={contact:new Map([[!0,r("closed")],[!1,r("open")]]),occupancy:new Map([[!0,r("occupied")],[!1,r("clear")]]),water_leak:new Map([[!0,t.jsx("span",{className:g("text-danger","animation-blinking"),children:r("leaking")},"Leaking")],[!1,r("clear")]]),tamper:new Map([[!0,t.jsx("span",{className:g("text-danger","animation-blinking"),children:r("tampered")},"tampered")],[!1,r("clear")]]),supported:new Map([[!0,r("supported")],[!1,r("not_supported")]]),_default:new Map([[!0,r("true")],[!1,r("false")]])},i=n[s]||n._default;return t.jsx(t.Fragment,{children:i.get(a)})}function L(e){const{t:a}=p("values"),{value:s}=e;switch(typeof s){case"boolean":return t.jsx(D,{...e});case"undefined":return t.jsx(t.Fragment,{children:"N/A"});case"object":return t.jsx(t.Fragment,{children:s===null?a("null"):JSON.stringify(s)});case"string":return t.jsx(t.Fragment,{children:s===""?t.jsx("small",{className:"text-muted",children:a("empty_string")}):s});default:return t.jsx(t.Fragment,{children:JSON.stringify(s)})}}function q(e){const{i18n:a}=p(),{state:s,lastSeenType:r}=e,n=h(s,r);return n?t.jsx("span",{title:w(n),children:k(n,a.language)}):t.jsx(t.Fragment,{children:"N/A"})}const M="_plug_1sba2_1",$={plug:M},F=({device:e,deviceState:a,showLevel:s,...r})=>{const{t:n}=p("zigbee");let i;switch(e!==void 0&&(i=e.power_source),i){case"Battery":let b=n(y(i)),u="",l="fa-question",o,f,c;if(a!==void 0&&((a==null?void 0:a.battery)!==void 0&&(o=a.battery),(a==null?void 0:a.battery_state)!==void 0&&(f=a.battery_state),(a==null?void 0:a.battery_low)!==void 0&&(c=a.battery_low)),o!==void 0)if(u=o+"%",o>=85)l="fa-battery-full";else if(o>=65)l="fa-battery-three-quarters";else if(o>=40)l="fa-battery-half";else if(o>=20)l="fa-battery-quarter";else if(o>=10)l="fa-battery-empty animation-blinking";else return t.jsxs("span",{className:"animation-blinking text-danger",role:"alert",children:[o,"%"]});else if(f!==void 0)switch(u=f,f){case"high":l="fa-battery-full";break;case"medium":l="fa-battery-half";break;case"low":l="fa-battery-empty animation-blinking";break}else c!==void 0&&(u=c?"LOW":"OK",l=c?"fa-battery-empty":"fa-battery-full");return c===!0&&(l+=" animation-blinking text-danger"),u!==""&&(b+=", "+n("power_level")+`: ${u}`),t.jsxs(j.Fragment,{children:[s?t.jsxs("span",{className:"pe-2",children:[n("battery")," ",u]}):null,t.jsx("i",{className:`fa ${l}`,title:b,...r})]});case"Mains (single phase)":case"DC Source":return t.jsx("i",{className:`fa fa-plug ${$.plug}`,title:n(y(i)),...r});default:return t.jsx("i",{className:"fa fa-question",title:i,...r})}},A=F;export{L as D,q as L,A as P};
Binary file
@@ -1 +1 @@
1
- import{r as m,N as p,e as u,j as e,M as h,f as g,h as x,k as b,B as i,w as j,c as N,a as G,u as f,L as d}from"./index-16e319d7.js";import{T as y}from"./ReactTableCom-c5fa0b55.js";import"./persist-2803de70.js";const v=t=>{const[r,s]=m.useState(t);return[r,o=>s({...r,[o.currentTarget.name]:o.currentTarget.value})]},w=p.create(t=>{const{name:r,onRename:s}=t,a=u(),[o,l]=v({friendlyName:r}),n=async()=>{await s(r,o.friendlyName),a.remove()};return e.jsxs(h,{isOpen:a.visible,children:[e.jsxs(g,{children:[e.jsx("h3",{children:"Rename group"}),e.jsx("small",{children:r})]}),e.jsx(x,{children:e.jsxs("div",{className:"mb-3",children:[e.jsx("label",{className:"form-label",children:"Friendly name"}),e.jsx("input",{name:"friendlyName",onChange:l,type:"text",className:"form-control",value:o.friendlyName})]})}),e.jsxs(b,{children:[e.jsx("button",{type:"button",className:"btn btn-secondary",onClick:a.remove,children:"Close"}),e.jsx("button",{type:"button",className:"btn btn-primary",onClick:n,children:"Save changes"})]})]})});function C(t){const{t:r}=f(["groups"]),{groups:s,removeGroup:a,renameGroup:o}=t,l=[{id:"group_id",Header:r("group_id"),accessor:n=>n.id,Cell:({row:{original:n}})=>e.jsx(d,{to:`/group/${n.id}`,children:n.id})},{id:"friendly_name",Header:r("group_name"),accessor:n=>n.friendly_name,Cell:({row:{original:n}})=>e.jsx(d,{to:`/group/${n.id}`,children:n.friendly_name})},{id:"members",Header:r("group_members"),accessor:n=>n.members.length??0},{id:"scenes",Header:r("group_scenes"),accessor:n=>{var c;return((c=n.scenes)==null?void 0:c.length)??0}},{Header:"",id:"actions",Cell:({row:{original:n}})=>e.jsxs("div",{className:"btn-group float-right btn-group-sm",role:"group",children:[e.jsx(i,{className:"btn btn-primary",onClick:()=>p.show(w,{name:n.friendly_name,onRename:o}),title:r("rename_group"),children:e.jsx("i",{className:"fa fa-edit"})}),e.jsx(i,{prompt:!0,title:r("remove_group"),item:n.friendly_name,onClick:a,className:"btn btn-danger",children:e.jsx("i",{className:"fa fa-trash"})})]})}];return e.jsx("div",{className:"card",children:e.jsx(y,{id:"groups",columns:l,data:s})})}class _ extends m.Component{constructor(){super(...arguments),this.state={newGroupName:"",newGroupId:void 0},this.changeHandler=r=>{const{name:s,value:a}=r.target;this.setState({[s]:a})},this.onGroupCreateSubmit=()=>{const{newGroupName:r,newGroupId:s}=this.state,{createGroup:a}=this.props;a(r,s)},this.renameGroup=(r,s)=>{const{renameGroup:a}=this.props;a(r,s)}}renderGroupCreationForm(){const{t:r}=this.props,{newGroupName:s,newGroupId:a}=this.state;return e.jsx("div",{className:"card",children:e.jsx("div",{className:"card-body",children:e.jsxs("div",{className:"input-group",children:[e.jsx("label",{htmlFor:"newGroupName",className:"sr-only",children:r("new_group_name")}),e.jsx("input",{onChange:this.changeHandler,value:s,required:!0,type:"text",name:"newGroupName",className:"form-control",id:"newGroupName",placeholder:r("new_group_name_placeholder")}),e.jsx("label",{htmlFor:"newGroupName",className:"sr-only",children:r("new_group_id")}),e.jsx("input",{onChange:this.changeHandler,value:a===void 0?"":a,type:"number",name:"newGroupId",className:"form-control",id:"newGroupId",placeholder:r("new_group_id_placeholder")}),e.jsx(i,{onClick:this.onGroupCreateSubmit,className:"btn btn-primary form-control",children:r("create_group")})]})})})}render(){const{groups:r,removeGroup:s,renameGroup:a}=this.props;return e.jsxs(e.Fragment,{children:[this.renderGroupCreationForm(),e.jsx(C,{groups:r,removeGroup:s,renameGroup:a})]})}}const I=["groups","devices","deviceStates","bridgeInfo"],M=j("groups")(N(I,G)(_));export{M as ConnectedGroupsPage,_ as GroupsPage};
1
+ import{r as m,N as p,e as u,j as e,M as h,f as g,h as x,k as b,B as i,w as j,c as N,a as G,u as f,L as d}from"./index-67556f42.js";import{T as y}from"./ReactTableCom-94fac1ed.js";import"./persist-2ee41679.js";const v=t=>{const[r,s]=m.useState(t);return[r,o=>s({...r,[o.currentTarget.name]:o.currentTarget.value})]},w=p.create(t=>{const{name:r,onRename:s}=t,a=u(),[o,l]=v({friendlyName:r}),n=async()=>{await s(r,o.friendlyName),a.remove()};return e.jsxs(h,{isOpen:a.visible,children:[e.jsxs(g,{children:[e.jsx("h3",{children:"Rename group"}),e.jsx("small",{children:r})]}),e.jsx(x,{children:e.jsxs("div",{className:"mb-3",children:[e.jsx("label",{className:"form-label",children:"Friendly name"}),e.jsx("input",{name:"friendlyName",onChange:l,type:"text",className:"form-control",value:o.friendlyName})]})}),e.jsxs(b,{children:[e.jsx("button",{type:"button",className:"btn btn-secondary",onClick:a.remove,children:"Close"}),e.jsx("button",{type:"button",className:"btn btn-primary",onClick:n,children:"Save changes"})]})]})});function C(t){const{t:r}=f(["groups"]),{groups:s,removeGroup:a,renameGroup:o}=t,l=[{id:"group_id",Header:r("group_id"),accessor:n=>n.id,Cell:({row:{original:n}})=>e.jsx(d,{to:`/group/${n.id}`,children:n.id})},{id:"friendly_name",Header:r("group_name"),accessor:n=>n.friendly_name,Cell:({row:{original:n}})=>e.jsx(d,{to:`/group/${n.id}`,children:n.friendly_name})},{id:"members",Header:r("group_members"),accessor:n=>n.members.length??0},{id:"scenes",Header:r("group_scenes"),accessor:n=>{var c;return((c=n.scenes)==null?void 0:c.length)??0}},{Header:"",id:"actions",Cell:({row:{original:n}})=>e.jsxs("div",{className:"btn-group float-right btn-group-sm",role:"group",children:[e.jsx(i,{className:"btn btn-primary",onClick:()=>p.show(w,{name:n.friendly_name,onRename:o}),title:r("rename_group"),children:e.jsx("i",{className:"fa fa-edit"})}),e.jsx(i,{prompt:!0,title:r("remove_group"),item:n.friendly_name,onClick:a,className:"btn btn-danger",children:e.jsx("i",{className:"fa fa-trash"})})]})}];return e.jsx("div",{className:"card",children:e.jsx(y,{id:"groups",columns:l,data:s})})}class _ extends m.Component{constructor(){super(...arguments),this.state={newGroupName:"",newGroupId:void 0},this.changeHandler=r=>{const{name:s,value:a}=r.target;this.setState({[s]:a})},this.onGroupCreateSubmit=()=>{const{newGroupName:r,newGroupId:s}=this.state,{createGroup:a}=this.props;a(r,s)},this.renameGroup=(r,s)=>{const{renameGroup:a}=this.props;a(r,s)}}renderGroupCreationForm(){const{t:r}=this.props,{newGroupName:s,newGroupId:a}=this.state;return e.jsx("div",{className:"card",children:e.jsx("div",{className:"card-body",children:e.jsxs("div",{className:"input-group",children:[e.jsx("label",{htmlFor:"newGroupName",className:"sr-only",children:r("new_group_name")}),e.jsx("input",{onChange:this.changeHandler,value:s,required:!0,type:"text",name:"newGroupName",className:"form-control",id:"newGroupName",placeholder:r("new_group_name_placeholder")}),e.jsx("label",{htmlFor:"newGroupName",className:"sr-only",children:r("new_group_id")}),e.jsx("input",{onChange:this.changeHandler,value:a===void 0?"":a,type:"number",name:"newGroupId",className:"form-control",id:"newGroupId",placeholder:r("new_group_id_placeholder")}),e.jsx(i,{onClick:this.onGroupCreateSubmit,className:"btn btn-primary form-control",children:r("create_group")})]})})})}render(){const{groups:r,removeGroup:s,renameGroup:a}=this.props;return e.jsxs(e.Fragment,{children:[this.renderGroupCreationForm(),e.jsx(C,{groups:r,removeGroup:s,renameGroup:a})]})}}const I=["groups","devices","deviceStates","bridgeInfo"],M=j("groups")(N(I,G)(_));export{M as ConnectedGroupsPage,_ as GroupsPage};
Binary file