iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 10.3 kB
JavaScript
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[39636],{45291:function(e,a,t){t.d(a,{IP:function(){return i},Iu:function(){return h},J_:function(){return o},O9:function(){return n},b$:function(){return c},bH:function(){return r},c8:function(){return l},wi:function(){return d}});t(18111),t(20116),t(62953);const i="custom:",s=window;"customCards"in s||(s.customCards=[]),"customCardFeatures"in s||(s.customCardFeatures=[]),"customBadges"in s||(s.customBadges=[]),"customTileFeatures"in s||(s.customTileFeatures=[]);const o=s.customCards,r=()=>[...s.customCardFeatures,...s.customTileFeatures],n=s.customBadges,d=e=>o.find(a=>a.type===e),c=e=>n.find(a=>a.type===e),l=e=>e.startsWith(i),h=e=>e.slice(i.length)},48519:function(e,a,t){t.d(a,{ew:function(){return o}});t(18111),t(22489),t(20116);const i=window;"customStrategies"in i||(i.customStrategies=[]);const s=i.customStrategies,o=e=>s.filter(a=>a.strategyType===e)},1628:function(e,a,t){t(89463),t(62953);var i=t(40445),s=t(5124),o=t(67576);t(54276);let r,n,d,c=e=>e;class l extends s.WF{render(){return(0,s.qy)(r||(r=c` <div class="card" tabindex="0" role="button" aria-label="${0}" ="${0}"> <div class="card-header"> <div> <h2>${0}</h2> <p>${0}</p> </div> </div> ${0} <ha-ripple></ha-ripple> </div> `),this.name,this._onKeyDown,this.name,this.description,this.img?(0,s.qy)(n||(n=c` <div class="preview"> <img alt="${0}" loading="lazy" src="${0}"> </div> `),this.alt||this.name,this.img):s.s6)}_onKeyDown(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.click())}constructor(...e){super(...e),this.name="",this.description="",this.img="",this.alt=""}}l.styles=(0,s.AH)(d||(d=c`.card{height:100%;display:flex;flex-direction:row;justify-content:space-between;border-radius:var(--ha-border-radius-lg);background:var(--primary-background-color,#fafafa);cursor:pointer;position:relative;overflow:hidden;border:1px solid var(--divider-color)}.card-header{padding:var(--ha-space-3);display:block;text-align:var(--float-start);gap:var(--ha-space-2)}.preview{padding:var(--ha-space-4)}.preview img{max-height:160px}h2{margin:0 0 var(--ha-space-2) 0;font-size:1.2rem;color:var(--primary-text-color)}p{margin:0;color:var(--secondary-text-color);font-size:.9rem}`)),(0,i.Cg)([(0,o.MZ)({type:String})],l.prototype,"name",void 0),(0,i.Cg)([(0,o.MZ)({type:String})],l.prototype,"description",void 0),(0,i.Cg)([(0,o.MZ)({type:String})],l.prototype,"img",void 0),(0,i.Cg)([(0,o.MZ)({type:String})],l.prototype,"alt",void 0),l=(0,i.Cg)([(0,o.EM)("dashboard-card")],l)},65631:function(e,a,t){t.a(e,async function(e,i){try{t.r(a);t(89463),t(18111),t(61701),t(3362),t(27495),t(62953);var s=t(40445),o=t(78648),r=t(5124),n=t(67576),d=t(22786),c=t(1087),l=t(72554),h=t(36866),g=t(45291),p=t(48519),m=t(25612),u=t(14503),v=t(35697),f=t(693),y=(t(1628),e([l,h]));[l,h]=y.then?(await y)():y;let _,b,w,$,k,C,z,S,x,M=e=>e;const D=[{type:"original-states",images:{light:"/static/images/dashboard-options/light/icon-dashboard-overview-legacy.svg",dark:"/static/images/dashboard-options/dark/icon-dashboard-overview-legacy.svg"},name:"ui.panel.config.lovelace.dashboards.dialog_new.strategy.overview-legacy.title",description:"ui.panel.config.lovelace.dashboards.dialog_new.strategy.overview-legacy.description"},{type:"map",images:{light:"/static/images/dashboard-options/light/icon-dashboard-map.svg",dark:"/static/images/dashboard-options/dark/icon-dashboard-map.svg"},name:"ui.panel.config.lovelace.dashboards.dialog_new.strategy.map.title",description:"ui.panel.config.lovelace.dashboards.dialog_new.strategy.map.description"},{type:"iframe",images:{light:"/static/images/dashboard-options/light/icon-dashboard-webpage.svg",dark:"/static/images/dashboard-options/dark/icon-dashboard-webpage.svg"},name:"ui.panel.config.lovelace.dashboards.dialog_new.strategy.iframe.title",description:"ui.panel.config.lovelace.dashboards.dialog_new.strategy.iframe.description"}];class q extends r.WF{showDialog(e){this._open=!0,this._params=e,this._localizedStrategies=D.map(e=>Object.assign(Object.assign({},e),{},{localizedName:this.hass.localize(e.name),localizedDescription:this.hass.localize(e.description)})),this._customStrategies=(0,p.ew)("dashboard"),this._loadCustomStrategies()}closeDialog(){return this._open=!1,!0}_dialogClosed(){this._params=void 0,(0,c.r)(this,"dialog-closed",{dialog:this.localName})}render(){if(!this._params)return r.s6;const e=this._generateDefaultConfig(this.hass.localize);return(0,r.qy)(_||(_=M` <ha-dialog .open="${0}" flexcontent width="large" header-title="${0}" ="${0}"> <div class="content-wrapper"> <ha-input-search appearance="outlined" autofocus .placeholder="${0}" .value="${0}" ="${0}"></ha-input-search> <div class="content ha-scrollbar"> ${0} </div> </div> </ha-dialog> `),this._open,this.hass.localize("ui.panel.config.lovelace.dashboards.dialog_new.header"),this._dialogClosed,this.hass.localize("ui.panel.config.lovelace.dashboards.dialog_new.search_dashboards"),this._filter,this._handleSearchChange,this._filter?(0,r.qy)(b||(b=M` <div class="cards-container"> ${0} ${0} </div> `),this._filterStrategies(this._localizedStrategies,this._filter).map(e=>(0,r.qy)(w||(w=M` <dashboard-card .name="${0}" .description="${0}" .img="${0}" .alt="${0}" ="${0}" .strategy="${0}"></dashboard-card> `),e.localizedName,e.localizedDescription,this.hass.themes.darkMode?e.images.dark:e.images.light,e.localizedName,this._selected,e.type)),this._filterCustomStrategies(this._customStrategies,this._filter).map(e=>(0,r.qy)($||($=M` <dashboard-card .name="${0}" .description="${0}" ="${0}" .strategy="${0}"></dashboard-card> `),e.name||e.type,e.description||"",this._selected,g.IP+e.type))):(0,r.qy)(k||(k=M` <div class="cards-container"> <dashboard-card .name="${0}" .description="${0}" .img="${0}" .alt="${0}" ="${0}" .config="${0}"></dashboard-card> </div> <div class="cards-container"> <div class="cards-container-header"> ${0} </div> ${0} </div> ${0} `),this.hass.localize("ui.panel.config.lovelace.dashboards.dialog_new.create_empty"),this.hass.localize("ui.panel.config.lovelace.dashboards.dialog_new.create_empty_description"),this.hass.themes.darkMode?"/static/images/dashboard-options/dark/icon-dashboard-new.svg":"/static/images/dashboard-options/light/icon-dashboard-new.svg",this.hass.localize("ui.panel.config.lovelace.dashboards.dialog_new.create_empty"),this._selected,e,this.hass.localize("ui.panel.config.lovelace.dashboards.dialog_new.heading.default"),this._localizedStrategies.map(e=>(0,r.qy)(C||(C=M` <dashboard-card .name="${0}" .description="${0}" .img="${0}" .alt="${0}" ="${0}" .strategy="${0}"></dashboard-card> `),e.localizedName,e.localizedDescription,this.hass.themes.darkMode?e.images.dark:e.images.light,e.localizedName,this._selected,e.type)),this._customStrategies.length>0?(0,r.qy)(z||(z=M` <div class="cards-container"> <div class="cards-container-header"> ${0} </div> ${0} </div> `),this.hass.localize("ui.panel.config.lovelace.dashboards.dialog_new.heading.custom"),this._customStrategies.map(e=>(0,r.qy)(S||(S=M` <dashboard-card .name="${0}" .description="${0}" ="${0}" .strategy="${0}"></dashboard-card> `),e.name||e.type,e.description||"",this._selected,g.IP+e.type))):r.s6))}_handleSearchChange(e){var a;this._filter=null!==(a=e.target.value)&&void 0!==a?a:""}_generateStrategyConfig(e){return{strategy:{type:e}}}async _loadCustomStrategies(){const e=window;e.llResProm||(e.llResProm=(0,m.kZ)(this.hass.connection));try{const a=await e.llResProm;await(0,v.$)(a,this.hass)}catch(a){return e.llResProm=void 0,void(this._customStrategies=(0,p.ew)("dashboard"))}this._customStrategies=(0,p.ew)("dashboard")}async _selected(e){var a;const t=e.currentTarget;let i,s;t&&(t.config?i=t.config:t.strategy&&(s=t.strategy,i=this._generateStrategyConfig(t.strategy)),await(null===(a=this._params)||void 0===a?void 0:a.selectConfig({config:i,strategyType:s})),this.closeDialog())}static get styles(){return[u.dp,(0,r.AH)(x||(x=M`ha-dialog{--dialog-content-padding:0;--dialog-z-index:6;--ha-dialog-min-height:60svh}ha-dialog::part(body){overflow:hidden;min-height:0}.cards-container-header{font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);padding:var(--ha-space-3) var(--ha-space-2);margin:0;grid-column:1/-1;position:sticky;top:56px;z-index:1;background:linear-gradient(90deg,var(--ha-dialog-surface-background,var(--mdc-theme-surface,#fff)) 0%,#ffffff00 80%)}ha-input-search{padding:0 var(--ha-space-6);position:sticky;top:0;z-index:10}.cards-container{display:grid;grid-gap:var(--ha-space-2) var(--ha-space-2);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:var(--ha-space-5)}.content-wrapper{flex:1;min-height:0;display:flex;flex-direction:column}.content{padding:0 var(--ha-space-6) var(--ha-space-6) var(--ha-space-6);flex:1;min-height:0;overflow:auto}`))]}constructor(...e){super(...e),this._open=!1,this._filter="",this._localizedStrategies=[],this._customStrategies=[],this._generateDefaultConfig=(0,d.A)(e=>({views:[(0,f.c)(e,!0)]})),this._filterStrategies=(0,d.A)((e,a)=>{if(!a)return e;const t={keys:["type","localizedName","localizedDescription"],isCaseSensitive:!1,threshold:.3,ignoreLocation:!0,minMatchCharLength:Math.min(a.length,2)};return new o.A(e,t).search(a).map(e=>e.item)}),this._filterCustomStrategies=(0,d.A)((e,a)=>{if(!a)return e;const t={keys:["type","name","description"],isCaseSensitive:!1,minMatchCharLength:Math.min(a.length,2),threshold:.3,ignoreDiacritics:!0,ignoreLocation:!0};return new o.A(e,t).search(a).map(e=>e.item)})}}(0,s.Cg)([(0,n.MZ)({attribute:!1})],q.prototype,"hass",void 0),(0,s.Cg)([(0,n.wk)()],q.prototype,"_open",void 0),(0,s.Cg)([(0,n.wk)()],q.prototype,"_params",void 0),(0,s.Cg)([(0,n.wk)()],q.prototype,"_filter",void 0),(0,s.Cg)([(0,n.wk)()],q.prototype,"_localizedStrategies",void 0),(0,s.Cg)([(0,n.wk)()],q.prototype,"_customStrategies",void 0),q=(0,s.Cg)([(0,n.EM)("ha-dialog-new-dashboard")],q),i()}catch(_){i(_)}})},31481:function(e,a,t){t.d(a,{Y:function(){return i}});const i=(e,a)=>({type:"grid",cards:a?[{type:"heading",heading:e("ui.panel.lovelace.editor.section.default_section_title")}]:[]})},693:function(e,a,t){t.d(a,{c:function(){return s}});var i=t(31481);const s=(e,a)=>({type:"sections",sections:[(0,i.Y)(e,a)]})}}]);