iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
4 lines • 10.1 kB
JavaScript
export const __rspack_esm_id=9008;export const __rspack_esm_ids=[9008];export const __webpack_modules__={81244(t,e,i){i.a(t,async function(t,e){try{var a=i(62826),s=i(5124),o=i(22441),r=i(36158),n=i(34127),l=i(74281),h=t([r,n,l]);[r,n,l]=h.then?(await h)():h;class d extends s.WF{render(){if(!this.hass||!this.stateObj)return s.s6;const t=this.hass.formatEntityName(this.stateObj,{type:"entity"});return s.qy`<state-badge .hass="${this.hass}" .stateObj="${this.stateObj}" .stateColor="${!0}" .color="${this.color}"></state-badge> <div class="info"> <div class="name ${this.inDialog?"in-dialog":""}" .title="${t}"> ${t} </div> ${this.inDialog?s.qy`<div class="time-ago"> <ha-tooltip for="relative-time"> <div class="row"> <span class="column-name"> ${this.hass.localize("ui.dialogs.more_info_control.last_changed")}: </span> <ha-relative-time .hass="${this.hass}" .datetime="${this.stateObj.last_changed}" capitalize></ha-relative-time> </div> <div class="row"> <span> ${this.hass.localize("ui.dialogs.more_info_control.last_updated")}: </span> <ha-relative-time .hass="${this.hass}" .datetime="${this.stateObj.last_updated}" capitalize></ha-relative-time> </div> </ha-tooltip> <ha-relative-time id="relative-time" .hass="${this.hass}" .datetime="${this.stateObj.last_changed}" capitalize></ha-relative-time> </div>`:s.qy`<div class="extra-info"><slot></slot></div>`} </div>`}constructor(...t){super(...t),this.inDialog=!1}}d.styles=s.AH`:host{min-width:120px;white-space:nowrap;display:flex;align-items:center}state-badge{flex:none}.info{margin-left:8px;margin-inline-start:8px;margin-inline-end:initial;display:flex;flex-direction:column;justify-content:center;height:100%;min-width:0;text-align:var(--float-start);position:relative}.name{color:var(--primary-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.name.in-dialog,:host([secondary-line]) .name{line-height:var(--ha-line-height-condensed)}.extra-info,.extra-info>*,.time-ago{color:var(--secondary-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row{display:flex;flex-direction:row;flex-wrap:no-wrap;width:100%;justify-content:space-between;margin:0 2px 4px 0}.row:last-child{margin-bottom:0px}`,(0,a.Cg)([(0,o.MZ)({attribute:!1})],d.prototype,"hass",void 0),(0,a.Cg)([(0,o.MZ)({attribute:!1})],d.prototype,"stateObj",void 0),(0,a.Cg)([(0,o.MZ)({attribute:"in-dialog",type:Boolean})],d.prototype,"inDialog",void 0),(0,a.Cg)([(0,o.MZ)()],d.prototype,"color",void 0),d=(0,a.Cg)([(0,o.EM)("state-info")],d),e()}catch(t){e(t)}})},75064(t,e,i){var a=i(62826),s=i(5124),o=i(22441),r=i(2846);class n extends r.G{constructor(...t){super(...t),this.borderTop=!1}}n.styles=[...r.J,s.AH`:host{--md-list-item-one-line-container-height:48px;--md-list-item-two-line-container-height:64px}:host([border-top]) md-item{border-top:1px solid var(--divider-color)}[slot=start]{--state-icon-color:var(--secondary-text-color)}[slot=overline]{line-height:1.15rem;font-size:calc(var(--mdc-typography-subtitle1-font-size, 1rem) * .75);font-weight:var(--mdc-typography-subtitle1-font-weight,400);font-family:var(
--mdc-typography-subtitle1-font-family,
var(--mdc-typography-font-family)
);color:var(--mdc-select-label-ink-color,rgba(0,0,0,.6))}[slot=headline]{line-height:var(--ha-line-height-normal);font-size:var(--ha-font-size-m);white-space:nowrap}[slot=supporting-text]{line-height:var(--ha-line-height-normal);font-size:var(--ha-font-size-s);white-space:nowrap}::slotted(img),::slotted(state-badge){width:32px;height:32px}::slotted(.code){font-family:var(--ha-font-family-code);font-size:var(--ha-font-size-xs)}::slotted(.domain){font-size:var(--ha-font-size-s);font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-normal);align-self:flex-end;max-width:30%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}`],(0,a.Cg)([(0,o.MZ)({type:Boolean,reflect:!0,attribute:"border-top"})],n.prototype,"borderTop",void 0),n=(0,a.Cg)([(0,o.EM)("ha-combo-box-item")],n)},2846(t,e,i){i.d(e,{G:()=>h,J:()=>l});var a=i(62826),s=i(58168),o=i(82553),r=i(5124),n=i(22441);i(54276);const l=[o.R,r.AH`:host{--ha-icon-display:block;--md-sys-color-primary:var(--primary-text-color);--md-sys-color-secondary:var(--secondary-text-color);--md-sys-color-surface:var(--card-background-color);--md-sys-color-on-surface:var(--primary-text-color);--md-sys-color-on-surface-variant:var(--secondary-text-color)}md-item{overflow:var(--md-item-overflow,hidden);align-items:var(--md-item-align-items,center);gap:var(--ha-md-list-item-gap,16px)}`];class h extends s.n{renderRipple(){return"text"===this.type?r.s6:r.qy`<ha-ripple part="ripple" for="item" ?disabled="${this.disabled&&"link"!==this.type}"></ha-ripple>`}}h.styles=l,h=(0,a.Cg)([(0,n.EM)("ha-md-list-item")],h)},43322(t,e,i){i.a(t,async function(t,a){try{i.r(e);var s=i(62826),o=i(31886),r=i(92913),n=i(83309),l=i(5124),h=i(22441),d=i(72487),c=i(95747),p=i(30162),m=i(1087),v=i(22682),g=i(81244),f=i(38962),_=i(18350),y=i(19463),u=(i(93444),i(50286)),w=i(72554),x=i(55156),b=i(14503),$=i(79757),C=i(55666),z=i(50954),k=i(42228),q=i(8480),A=t([g,f,_,y,u,w,$,C,q,o,p,d,c]);[g,f,_,y,u,w,$,C,q,o,p,d,c]=A.then?(await A)():A;const M="M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z";class D extends l.WF{async showDialog(t){if(this._params=t,this._open=!0,t.entry){const e=t.entry;this._data=e,this._calendarId=t.calendarId}}closeDialog(){this._open=!1}render(){if(!this._params)return l.s6;const t=this.hass.states[this._calendarId];return l.qy` <ha-dialog .open="${this._open}" header-title="${this._data.summary}" ="${this._dialogClosed}"> <div class="content"> ${this._error?l.qy`<ha-alert alert-type="error">${this._error}</ha-alert>`:""} <div class="field"> <ha-svg-icon .path="${M}"></ha-svg-icon> <div class="value"> ${this._formatDateRange()}<br> ${this._data.rrule?this._renderRRuleAsText(this._data.rrule):""} ${this._data.location?l.qy`${this._data.location} <br>`:l.s6} ${this._data.description?l.qy`<br> <div class="description">${this._data.description}</div>`:l.s6} </div> </div> <div class="attribute"> <state-info .hass="${this.hass}" .stateObj="${t}" .color="${this._params.color}" in-dialog></state-info> </div> </div> <ha-dialog-footer slot="footer"> ${this._params.canDelete?l.qy` <ha-button slot="secondaryAction" variant="danger" appearance="plain" ="${this._deleteEvent}" .disabled="${this._submitting}"> ${this.hass.localize("ui.components.calendar.event.delete")} </ha-button> `:""} ${this._params.canEdit?l.qy`<ha-button slot="primaryAction" ="${this._editEvent}" .disabled="${this._submitting}"> ${this.hass.localize("ui.components.calendar.event.edit")} </ha-button>`:""} </ha-dialog-footer> </ha-dialog> `}_dialogClosed(){this._calendarId=void 0,this._params=void 0,this._open=!1,(0,m.r)(this,"dialog-closed",{dialog:this.localName})}_renderRRuleAsText(t){if(!t)return"";try{const e=(0,C.S_)(this.hass,t);return void 0!==e?l.qy`<div id="text">${e}</div>`:l.qy`<div id="text">Cannot convert recurrence rule</div>`}catch(t){return"Error while processing the rule"}}_formatDateRange(){const t=(0,q.wj)(this.hass.locale.time_zone,this.hass.config.time_zone),e=(0,v.$)(this._data.dtstart)?new Date(this._data.dtstart+"T00:00:00"):new o.BB(this._data.dtstart,t),i=(0,v.$)(this._data.dtend)?new Date(this._data.dtend+"T00:00:00"):new o.BB(this._data.dtend,t),a=(0,v.$)(this._data.dtend)?(0,r.f)(i,-1):i;return(0,n.r)(e,a)?(0,v.$)(this._data.dtstart)?(0,d.Yq)(e,this.hass.locale,this.hass.config):`${(0,d.Yq)(e,this.hass.locale,this.hass.config)} ${(0,p.fU)(e,this.hass.locale,this.hass.config)} - ${(0,p.fU)(a,this.hass.locale,this.hass.config)}`:`${(0,v.$)(this._data.dtstart)?(0,d.Yq)(e,this.hass.locale,this.hass.config):(0,c.r6)(e,this.hass.locale,this.hass.config)} - ${(0,v.$)(this._data.dtend)?(0,d.Yq)(a,this.hass.locale,this.hass.config):(0,c.r6)(a,this.hass.locale,this.hass.config)}`}async _editEvent(){(0,k.A)(this,this._params),this.closeDialog()}async _deleteEvent(){this._submitting=!0;const t=this._params.entry,e=await(0,z.Q)(this,{title:this.hass.localize("ui.components.calendar.event.confirm_delete.delete"),text:t.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.recurring_prompt"):this.hass.localize("ui.components.calendar.event.confirm_delete.prompt"),confirmText:t.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.delete_this"):this.hass.localize("ui.components.calendar.event.confirm_delete.delete"),confirmFutureText:t.recurrence_id?this.hass.localize("ui.components.calendar.event.confirm_delete.delete_future"):void 0});if(void 0!==e){try{await(0,x.At)(this.hass,this._calendarId,t.uid,t.recurrence_id||"",e)}catch(t){return void(this._error=t?t.message:"Unknown error")}finally{this._submitting=!1}await this._params.updated(),this.closeDialog()}else this._submitting=!1}static get styles(){return[b.nA,l.AH`state-info{margin-top:24px}ha-svg-icon{width:40px;margin-right:8px;margin-inline-end:8px;margin-inline-start:initial;direction:var(--direction);vertical-align:top}.field{display:flex}.description{color:var(--secondary-text-color);max-width:300px;overflow-wrap:break-word;white-space:pre-line}`]}constructor(...t){super(...t),this._open=!1,this._submitting=!1}}(0,s.Cg)([(0,h.MZ)({attribute:!1})],D.prototype,"hass",void 0),(0,s.Cg)([(0,h.wk)()],D.prototype,"_params",void 0),(0,s.Cg)([(0,h.wk)()],D.prototype,"_open",void 0),(0,s.Cg)([(0,h.wk)()],D.prototype,"_calendarId",void 0),(0,s.Cg)([(0,h.wk)()],D.prototype,"_submitting",void 0),(0,s.Cg)([(0,h.wk)()],D.prototype,"_error",void 0),(0,s.Cg)([(0,h.wk)()],D.prototype,"_data",void 0),D=(0,s.Cg)([(0,h.EM)("dialog-calendar-event-detail")],D),a()}catch(t){a(t)}})}};