iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 12.1 kB
JavaScript
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["80809"],{95975:function(t,e,i){i.a(t,(async function(t,e){try{var n=i(61701),a=i(72621),o=(i(71695),i(47021),i(74760)),s=i(57243),r=i(50778),c=i(94947),d=i(87733),l=t([c]);c=(l.then?(await l)():l)[0];(0,n.Z)([(0,r.Mo)("ha-relative-time")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"datetime",value:void 0},{kind:"field",decorators:[(0,r.Cb)({type:Boolean})],key:"capitalize",value(){return!1}},{kind:"field",key:"_interval",value:void 0},{kind:"method",key:"disconnectedCallback",value:function(){(0,a.Z)(i,"disconnectedCallback",this,3)([]),this._clearInterval()}},{kind:"method",key:"connectedCallback",value:function(){(0,a.Z)(i,"connectedCallback",this,3)([]),this.datetime&&this._startInterval()}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"firstUpdated",value:function(t){(0,a.Z)(i,"firstUpdated",this,3)([t]),this._updateRelative()}},{kind:"method",key:"update",value:function(t){(0,a.Z)(i,"update",this,3)([t]),this._updateRelative()}},{kind:"method",key:"_clearInterval",value:function(){this._interval&&(window.clearInterval(this._interval),this._interval=void 0)}},{kind:"method",key:"_startInterval",value:function(){this._clearInterval(),this._interval=window.setInterval((()=>this._updateRelative()),6e4)}},{kind:"method",key:"_updateRelative",value:function(){if(this.datetime){const t="string"==typeof this.datetime?(0,o.D)(this.datetime):this.datetime,e=(0,c.G)(t,this.hass.locale);this.innerHTML=this.capitalize?(0,d.f)(e):e}else this.innerHTML=this.hass.localize("ui.components.relative_time.never")}}]}}),s.fl);e()}catch(h){e(h)}}))},3967:function(t,e,i){i.d(e,{K:()=>l});i(19083),i(71695),i(19423),i(47021);var n=i(57243),a=i(92903),o=i(36522),s=i(48045),r=i(79291);class c extends HTMLElement{constructor(...t){super(...t),this.holdTime=500,this.timer=void 0,this.held=!1,this.cancelled=!1,this.dblClickTimeout=void 0}connectedCallback(){Object.assign(this.style,{position:"fixed",width:r.T?"100px":"50px",height:r.T?"100px":"50px",transform:"translate(-50%, -50%) scale(0)",pointerEvents:"none",zIndex:"999",background:"var(--primary-color)",display:null,opacity:"0.2",borderRadius:"50%",transition:"transform 180ms ease-in-out"}),["touchcancel","mouseout","mouseup","touchmove","mousewheel","wheel","scroll"].forEach((t=>{document.addEventListener(t,(()=>{this.cancelled=!0,this.timer&&(this._stopAnimation(),clearTimeout(this.timer),this.timer=void 0)}),{passive:!0})}))}bind(t,e={}){t.actionHandler&&(0,s.v)(e,t.actionHandler.options)||(t.actionHandler?(t.removeEventListener("touchstart",t.actionHandler.start),t.removeEventListener("touchend",t.actionHandler.end),t.removeEventListener("touchcancel",t.actionHandler.end),t.removeEventListener("mousedown",t.actionHandler.start),t.removeEventListener("click",t.actionHandler.end),t.removeEventListener("keydown",t.actionHandler.handleKeyDown)):t.addEventListener("contextmenu",(t=>{const e=t||window.event;return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0,e.returnValue=!1,!1})),t.actionHandler={options:e},e.disabled||(t.actionHandler.start=t=>{let i,n;this.cancelled=!1,t.touches?(i=t.touches[0].clientX,n=t.touches[0].clientY):(i=t.clientX,n=t.clientY),e.hasHold&&(this.held=!1,this.timer=window.setTimeout((()=>{this._startAnimation(i,n),this.held=!0}),this.holdTime))},t.actionHandler.end=t=>{if("touchcancel"===t.type||"touchend"===t.type&&this.cancelled)return;const i=t.target;t.cancelable&&t.preventDefault(),e.hasHold&&(clearTimeout(this.timer),this._stopAnimation(),this.timer=void 0),e.hasHold&&this.held?(0,o.B)(i,"action",{action:"hold"}):e.hasDoubleClick?"click"===t.type&&t.detail<2||!this.dblClickTimeout?this.dblClickTimeout=window.setTimeout((()=>{this.dblClickTimeout=void 0,(0,o.B)(i,"action",{action:"tap"})}),250):(clearTimeout(this.dblClickTimeout),this.dblClickTimeout=void 0,(0,o.B)(i,"action",{action:"double_tap"})):(0,o.B)(i,"action",{action:"tap"})},t.actionHandler.handleKeyDown=t=>{["Enter"," "].includes(t.key)&&t.currentTarget.actionHandler.end(t)},t.addEventListener("touchstart",t.actionHandler.start,{passive:!0}),t.addEventListener("touchend",t.actionHandler.end),t.addEventListener("touchcancel",t.actionHandler.end),t.addEventListener("mousedown",t.actionHandler.start,{passive:!0}),t.addEventListener("click",t.actionHandler.end),t.addEventListener("keydown",t.actionHandler.handleKeyDown)))}_startAnimation(t,e){Object.assign(this.style,{left:`${t}px`,top:`${e}px`,transform:"translate(-50%, -50%) scale(1)"})}_stopAnimation(){Object.assign(this.style,{left:null,top:null,transform:"translate(-50%, -50%) scale(0)"})}}customElements.define("action-handler",c);const d=(t,e)=>{const i=(()=>{const t=document.body;if(t.querySelector("action-handler"))return t.querySelector("action-handler");const e=document.createElement("action-handler");return t.appendChild(e),e})();i&&i.bind(t,e)},l=(0,a.XM)(class extends a.Xe{update(t,[e]){return d(t.element,e),n.Jb}render(t){}})},5684:function(t,e,i){function n(t){return void 0!==t&&"none"!==t.action}function a(t){return!t.tap_action||n(t.tap_action)||n(t.hold_action)||n(t.double_tap_action)}i.d(e,{_:()=>n,q:()=>a})},93331:function(t,e,i){i.d(e,{G2:()=>r,SN:()=>a,Wh:()=>c});i(9359),i(52924);var n=i(29401);function a(t,e){if(e.has("_config"))return!0;if(!e.has("hass"))return!1;const i=e.get("hass");return!i||(i.connected!==t.hass.connected||i.themes!==t.hass.themes||i.locale!==t.hass.locale||i.localize!==t.hass.localize||i.formatEntityState!==t.hass.formatEntityState||i.formatEntityAttributeName!==t.hass.formatEntityAttributeName||i.formatEntityAttributeValue!==t.hass.formatEntityAttributeValue||i.config.state!==t.hass.config.state)}function o(t,e,i){return t.states[i]!==e.states[i]}function s(t,e,i){const n=t.entities[i],a=e.entities[i];return(null==n?void 0:n.display_precision)!==(null==a?void 0:a.display_precision)}function r(t,e){if(a(t,e))return!0;if(!e.has("hass"))return!1;const i=e.get("hass"),n=t.hass;return o(i,n,t._config.entity)||s(i,n,t._config.entity)}function c(t,e){if(a(t,e))return!0;if(!e.has("hass"))return!1;const i=e.get("hass"),r=t.hass;return(0,n.A)(t._config.entities,!1).some((t=>"entity"in t&&(o(i,r,t.entity)||s(i,r,t.entity))))}},8069:function(t,e,i){i.a(t,(async function(t,e){try{var n=i(61701),a=i(72621),o=(i(19083),i(71695),i(61006),i(47021),i(57243)),s=i(50778),r=i(35359),c=i(20552),d=i(73358),l=i(90122),h=i(73850),u=i(47194),f=i(5460),v=i(95975),m=i(3967),p=i(1617),y=i(5684),g=i(62577),_=t([f,v]);[f,v]=_.then?(await _)():_;let b,k,x,w,$,H,C,E,T,L,A,z=t=>t;(0,n.Z)([(0,s.Mo)("hui-generic-entity-row")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:!1})],key:"config",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"secondary-text"})],key:"secondaryText",value:void 0},{kind:"field",decorators:[(0,s.Cb)({attribute:"hide-name",type:Boolean})],key:"hideName",value(){return!1}},{kind:"field",decorators:[(0,s.Cb)({attribute:"catch-interaction",type:Boolean})],key:"catchInteraction",value:void 0},{kind:"method",key:"render",value:function(){var t,e;if(!this.hass||!this.config)return o.Ld;const i=this.config.entity?this.hass.states[this.config.entity]:void 0;if(!i)return(0,o.dy)(b||(b=z` <hui-warning> ${0} </hui-warning> `),(0,g.i)(this.hass,this.config.entity));const n=(0,h.M)(this.config.entity),a=(0,y.q)(this.config),s=this.secondaryText||this.config.secondary_info,l=null!==(t=this.config.name)&&void 0!==t?t:(0,u.C)(i);return(0,o.dy)(k||(k=z` <state-badge class="${0}" .hass="${0}" .stateObj="${0}" .overrideIcon="${0}" .overrideImage="${0}" .stateColor="${0}" ="${0}" .actionHandler="${0}" tabindex="${0}"></state-badge> ${0} ${0} `),(0,r.$)({pointer:a}),this.hass,i,this.config.icon,this.config.image,this.config.state_color,this._handleAction,(0,m.K)({hasHold:(0,y._)(this.config.hold_action),hasDoubleClick:(0,y._)(this.config.double_tap_action)}),(0,c.o)(!this.config.tap_action||(0,y._)(this.config.tap_action)?"0":void 0),this.hideName?o.Ld:(0,o.dy)(x||(x=z`<div class="info ${0}" ="${0}" .actionHandler="${0}" .title="${0}"> ${0} ${0} </div>`),(0,r.$)({pointer:a,"text-content":!s}),this._handleAction,(0,m.K)({hasHold:(0,y._)(this.config.hold_action),hasDoubleClick:(0,y._)(this.config.double_tap_action)}),l,this.config.name||(0,u.C)(i),s?(0,o.dy)(w||(w=z` <div class="secondary"> ${0} </div> `),this.secondaryText||("entity-id"===this.config.secondary_info?i.entity_id:"last-changed"===this.config.secondary_info?(0,o.dy)($||($=z` <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> `),this.hass,i.last_changed):"last-updated"===this.config.secondary_info?(0,o.dy)(H||(H=z` <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> `),this.hass,i.last_updated):"last-triggered"===this.config.secondary_info?i.attributes.last_triggered?(0,o.dy)(C||(C=z` <ha-relative-time .hass="${0}" .datetime="${0}" capitalize></ha-relative-time> `),this.hass,i.attributes.last_triggered):this.hass.localize("ui.panel.lovelace.cards.entities.never_triggered"):"position"===this.config.secondary_info&&void 0!==i.attributes.current_position?`${this.hass.localize("ui.card.cover.position")}: ${i.attributes.current_position}`:"tilt-position"===this.config.secondary_info&&void 0!==i.attributes.current_tilt_position?`${this.hass.localize("ui.card.cover.tilt_position")}: ${i.attributes.current_tilt_position}`:"brightness"===this.config.secondary_info&&i.attributes.brightness?(0,o.dy)(E||(E=z`${0} %`),Math.round(i.attributes.brightness/255*100)):"")):""),(null!==(e=this.catchInteraction)&&void 0!==e?e:!d.AF.includes(n))?(0,o.dy)(T||(T=z`<div class="text-content value ${0}" ="${0}" .actionHandler="${0}"> <div class="state"><slot></slot></div> </div>`),(0,r.$)({pointer:a}),this._handleAction,(0,m.K)({hasHold:(0,y._)(this.config.hold_action),hasDoubleClick:(0,y._)(this.config.double_tap_action)})):(0,o.dy)(L||(L=z`<slot></slot>`)))}},{kind:"method",key:"updated",value:function(t){var e;(0,a.Z)(i,"updated",this,3)([t]),(0,l.X)(this,"no-secondary",!(this.secondaryText||null!==(e=this.config)&&void 0!==e&&e.secondary_info))}},{kind:"method",key:"_handleAction",value:function(t){(0,p.G)(this,this.hass,this.config,t.detail.action)}},{kind:"field",static:!0,key:"styles",value(){return(0,o.iv)(A||(A=z`:host{display:flex;align-items:center;flex-direction:row}.info{padding-left:16px;padding-right:8px;padding-inline-start:16px;padding-inline-end:8px;flex:1 1 30%}.info,.info>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flex ::slotted(*){margin-left:8px;margin-inline-start:8px;margin-inline-end:initial;min-width:0}.flex ::slotted([slot=secondary]){margin-left:0;margin-inline-start:0;margin-inline-end:initial}.secondary,ha-relative-time{color:var(--secondary-text-color)}state-badge{flex:0 0 40px}.pointer{cursor:pointer}.state{text-align:var(--float-end)}.value{direction:ltr}`))}}]}}),o.oi);e()}catch(b){e(b)}}))},62577:function(t,e,i){i.d(e,{i:()=>d});var n=i(61701),a=(i(71695),i(47021),i(94277)),o=i(57243),s=i(50778);i(99426);let r,c=t=>t;const d=(t,e)=>t.config.state!==a.UE?t.localize("ui.panel.lovelace.warning.entity_not_found",{entity:e||"[empty]"}):t.localize("ui.panel.lovelace.warning.starting");(0,n.Z)([(0,s.Mo)("hui-warning")],(function(t,e){return{F:class extends e{constructor(...e){super(...e),t(this)}},d:[{kind:"method",key:"render",value:function(){return(0,o.dy)(r||(r=c`<ha-alert alert-type="warning"><slot></slot></ha-alert> `))}}]}}),o.oi)},79291:function(t,e,i){i.d(e,{T:()=>n});const n="ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}}]);
//# sourceMappingURL=80809.02e97a3eba3b868d.js.map