UNPKG

iobroker.lovelace

Version:

With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI

1 lines 12.4 kB
"use strict";(self.rspackChunkhome_assistant_frontend=self.rspackChunkhome_assistant_frontend||[]).push([[59067],{45100:function(a,e,t){t.a(a,async function(a,s){try{t.r(e),t.d(e,{HaIconButtonPrev:function(){return _}});t(62953);var i=t(40445),n=t(5124),o=t(67576),c=t(63091),l=t(26300),d=a([l]);l=(d.then?(await d)():d)[0];let h,r=a=>a;const p="M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z",u="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z";class _ extends n.WF{render(){var a;return(0,n.qy)(h||(h=r` <ha-icon-button .disabled="${0}" .label="${0}" .path="${0}" .href="${0}" .target="${0}" .rel="${0}" .download="${0}"></ha-icon-button> `),this.disabled,this.label||(null===(a=this.hass)||void 0===a?void 0:a.localize("ui.common.back"))||"Back",this._icon,this.href,this.target,this.rel,this.download)}constructor(...a){super(...a),this.disabled=!1,this._icon="rtl"===c.G.document.dir?u:p}}(0,i.Cg)([(0,o.MZ)({attribute:!1})],_.prototype,"hass",void 0),(0,i.Cg)([(0,o.MZ)({type:Boolean})],_.prototype,"disabled",void 0),(0,i.Cg)([(0,o.MZ)()],_.prototype,"label",void 0),(0,i.Cg)([(0,o.MZ)()],_.prototype,"href",void 0),(0,i.Cg)([(0,o.MZ)()],_.prototype,"target",void 0),(0,i.Cg)([(0,o.MZ)()],_.prototype,"rel",void 0),(0,i.Cg)([(0,o.MZ)()],_.prototype,"download",void 0),(0,i.Cg)([(0,o.wk)()],_.prototype,"_icon",void 0),_=(0,i.Cg)([(0,o.EM)("ha-icon-button-prev")],_),s()}catch(h){s(h)}})},8022:function(a,e,t){t.a(a,async function(a,s){try{t.r(e);t(44114),t(3362),t(17642),t(58004),t(33853),t(45876),t(32475),t(15024),t(31698),t(62953);var i=t(40445),n=t(5124),o=t(67576),c=t(36312),l=t(1087),d=t(63130),h=t(18350),r=t(72554),p=(t(93444),t(26300)),u=t(45100),_=(t(43661),t(67094),t(1671),t(83892),t(50723),t(31420)),g=t(14503),b=t(81619),f=t(30619),k=t(59717),v=t(40840),m=a([h,r,p,u,f,k,v,_]);[h,r,p,u,f,k,v,_]=m.then?(await m)():m;let y,$,w,C,x,L,z,O,S,j,M,q,H,A=a=>a;const Z="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z",V="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z",D="M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z",F=["welcome","key","setup","schedule","data","locations"],I=new Set(["setup"]),K=new Set(["schedule","data","locations"]),P={automatic_backups_configured:!1,create_backup:{agent_ids:[],include_folders:[],include_database:!0,include_addons:[],include_all_addons:!0,password:null,name:null},retention:{copies:3,days:null},schedule:{recurrence:_.qk.DAILY,time:null,days:[]},agents:{},last_attempted_automatic_backup:null,last_completed_automatic_backup:null,next_automatic_backup:null,next_automatic_backup_additional:!1};class T extends n.WF{showDialog(a){var e;this._params=a,null!==(e=this._params.config)&&void 0!==e&&e.create_backup.password?(this._config=this._params.config,this._step="setup"):(this._step=this._firstStep,this._config=Object.assign(Object.assign({},P),{},{create_backup:Object.assign(Object.assign({},P.create_backup),{},{agent_ids:this._defaultAgents,password:(0,_.cq)()})})),this._open=!0}closeDialog(){return this._open=!1,!0}_dialogClosed(){var a;null!==(a=this._params)&&void 0!==a&&a.cancel&&this._params.cancel(),this._step=void 0,this._config=void 0,this._params=void 0,this._open=!1,(0,l.r)(this,"dialog-closed",{dialog:this.localName})}get _firstStep(){var a;return null!==(a=this._params)&&void 0!==a&&a.skipWelcome?F[1]:F[0]}async _save(a=!1){if(!this._config)return;const e={create_backup:{password:this._config.create_backup.password,include_database:this._config.create_backup.include_database,agent_ids:this._config.create_backup.agent_ids},schedule:this._config.schedule,retention:this._config.retention,automatic_backups_configured:a};(0,c.x)(this.hass.config,"hassio")&&(e.create_backup.include_folders=this._config.create_backup.include_folders||[],e.create_backup.include_all_addons=this._config.create_backup.include_all_addons,e.create_backup.include_addons=this._config.create_backup.include_addons||[]),await(0,_.gb)(this.hass,e)}async _done(){try{var a;await this._save(!0),null===(a=this._params)||void 0===a||a.submit(!0),this.closeDialog()}catch(e){console.error(e),(0,b.P)(this,{message:"Failed to save backup configuration"})}}_previousStep(){const a=F.indexOf(this._step);0!==a&&(this._step=F[a-1])}_nextStep(){this._step&&K.has(this._step)&&this._save();const a=F.indexOf(this._step);a!==F.length-1&&(this._step=F[a+1])}updated(a){a.has("_step")&&"key"===this._step&&this._save()}render(){if(!this._params||!this._step)return n.s6;const a=this._step===F[F.length-1],e=this._step===this._firstStep;return(0,n.qy)(y||(y=A` <ha-dialog .open="${0}" header-title="${0}" prevent-scrim-close @closed="${0}"> ${0} <div>${0}</div> ${0} </ha-dialog> `),this._open,this._stepTitle,this._dialogClosed,e?(0,n.qy)($||($=A` <ha-icon-button slot="headerNavigationIcon" data-dialog="close" .label="${0}" .path="${0}"></ha-icon-button> `),this.hass.localize("ui.common.close"),Z):(0,n.qy)(w||(w=A` <ha-icon-button-prev slot="headerNavigationIcon" @click="${0}"></ha-icon-button-prev> `),this._previousStep),this._renderStepContent(),I.has(this._step)?n.s6:(0,n.qy)(C||(C=A` <ha-dialog-footer slot="footer"> ${0} </ha-dialog-footer> `),a?(0,n.qy)(x||(x=A` <ha-button slot="primaryAction" @click="${0}" .disabled="${0}"> ${0} </ha-button> `),this._done,!this._isStepValid(),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.save_and_create")):(0,n.qy)(L||(L=A` <ha-button slot="primaryAction" @click="${0}" .disabled="${0}"> ${0} </ha-button> `),this._nextStep,!this._isStepValid(),this.hass.localize("ui.common.next"))))}get _defaultAgents(){var a;const e=[];return(0,c.x)(this.hass.config,"hassio")?e.push(_.mF):e.push(_.gv),null!==(a=this._params)&&void 0!==a&&null!==(a=a.cloudStatus)&&void 0!==a&&a.logged_in&&e.push(_.oJ),e}_useRecommended(){var a;null!==(a=this._config)&&void 0!==a&&a.create_backup.password?(this._config=Object.assign(Object.assign({},P),{},{create_backup:Object.assign(Object.assign({},P.create_backup),{},{agent_ids:this._defaultAgents,password:this._config.create_backup.password})}),this._done()):this.showDialog(this._params)}get _stepTitle(){switch(this._step){case"key":case"setup":case"schedule":case"data":case"locations":return this.hass.localize(`ui.panel.config.backup.dialogs.onboarding.${this._step}.title`);default:return""}}_isStepValid(){var a,e,t;switch(this._step){case"key":case"setup":default:return!0;case"schedule":return!(null===(a=this._config)||void 0===a||!a.schedule);case"data":return!(null===(e=this._config)||void 0===e||!e.schedule);case"locations":return!(null===(t=this._config)||void 0===t||!t.create_backup.agent_ids.length)}}_renderStepContent(){if(!this._config)return n.s6;switch(this._step){case"welcome":return(0,n.qy)(z||(z=A` <div class="welcome"> <img src="/static/images/voice-assistant/hi.png" alt="Casita ioBroker logo"> <h1> ${0} </h1> <p class="secondary"> ${0} </p> </div> `),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.welcome.title"),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.welcome.description"));case"key":return(0,n.qy)(O||(O=A` <p> ${0} </p> <div class="encryption-key"> <p>${0}</p> <ha-icon-button .path="${0}" @click="${0}"></ha-icon-button> </div> <ha-row-item> <span slot="headline"> ${0} </span> <span slot="supporting-text"> ${0} </span> <ha-button size="small" appearance="plain" slot="end" @click="${0}"> <ha-svg-icon .path="${0}" slot="start"></ha-svg-icon> ${0} </ha-button> </ha-row-item> `),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.key.description"),this._config.create_backup.password,V,this._copyKeyToClipboard,this.hass.localize("ui.panel.config.backup.encryption_key.download_emergency_kit"),this.hass.localize("ui.panel.config.backup.encryption_key.download_emergency_kit_description"),this._downloadKey,D,this.hass.localize("ui.panel.config.backup.encryption_key.download_emergency_kit_action"));case"setup":return(0,n.qy)(S||(S=A` <ha-list-base class="full"> <ha-list-item-button @click="${0}"> <span slot="headline"> ${0} </span> <span slot="supporting-text"> ${0} </span> <ha-icon-next slot="end"></ha-icon-next> </ha-list-item-button> <ha-list-item-button @click="${0}"> <span slot="headline"> ${0} </span> <span slot="supporting-text"> ${0} </span> <ha-icon-next slot="end"></ha-icon-next> </ha-list-item-button> </ha-list-base> `),this._useRecommended,this.hass.localize("ui.panel.config.backup.dialogs.onboarding.setup.recommended_heading"),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.setup.recommended_description"),this._nextStep,this.hass.localize("ui.panel.config.backup.dialogs.onboarding.setup.custom_heading"),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.setup.custom_description"));case"schedule":return(0,n.qy)(j||(j=A` <p> ${0} </p> <ha-backup-config-schedule .hass="${0}" .value="${0}" @value-changed="${0}"></ha-backup-config-schedule> `),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.schedule.description"),this.hass,this._config,this._scheduleChanged);case"data":return(0,n.qy)(M||(M=A` <p> ${0} </p> <ha-backup-config-data .hass="${0}" .value="${0}" @value-changed="${0}" force-home-assistant hide-addon-version></ha-backup-config-data> `),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.data.description"),this.hass,this._dataConfig(this._config),this._dataChanged);case"locations":return(0,n.qy)(q||(q=A` <p> ${0} </p> <ha-backup-config-agents .hass="${0}" .value="${0}" .cloudStatus="${0}" @value-changed="${0}"></ha-backup-config-agents> `),this.hass.localize("ui.panel.config.backup.dialogs.onboarding.locations.description"),this.hass,this._config.create_backup.agent_ids,this._params.cloudStatus,this._agentsConfigChanged)}return n.s6}_downloadKey(){var a;const e=null===(a=this._config)||void 0===a?void 0:a.create_backup.password;e&&(0,_.Sx)(this.hass,e)}async _copyKeyToClipboard(){await(0,d.l)(this._config.create_backup.password,this._copyContainer),(0,b.P)(this,{message:this.hass.localize("ui.common.copied_clipboard")})}_dataConfig(a){const{include_addons:e,include_all_addons:t,include_database:s,include_folders:i}=a.create_backup;return{include_homeassistant:!0,include_database:s,include_folders:i||void 0,include_all_addons:t,include_addons:e||void 0}}_dataChanged(a){const e=a.detail.value;this._config=Object.assign(Object.assign({},this._config),{},{create_backup:Object.assign(Object.assign({},this._config.create_backup),{},{include_database:e.include_database,include_folders:e.include_folders||null,include_all_addons:e.include_all_addons,include_addons:e.include_addons||null})})}_scheduleChanged(a){const e=a.detail.value;this._config=Object.assign(Object.assign({},this._config),{},{schedule:e.schedule,retention:e.retention})}_agentsConfigChanged(a){const e=a.detail.value;this._config=Object.assign(Object.assign({},this._config),{},{create_backup:Object.assign(Object.assign({},this._config.create_backup),{},{agent_ids:e})})}static get styles(){return[g.RF,g.nA,(0,n.AH)(H||(H=A`ha-dialog{--dialog-content-padding:var(--ha-space-2) var(--ha-space-6);--ha-dialog-max-height:min(605px, 100% - 48px)}ha-row-item{--ha-row-item-padding-inline:0}ha-list-base.full{--ha-row-item-padding-inline:var(--ha-space-6);margin:0 calc(-1 * var(--ha-space-6))}p{margin-top:0}.welcome{text-align:center}.encryption-key{border:1px solid var(--divider-color);background-color:var(--primary-background-color);border-radius:var(--ha-border-radius-md);padding:16px;display:flex;flex-direction:row;align-items:center;gap:var(--ha-space-6)}.encryption-key p{margin:0;flex:1;font-size:var(--ha-font-size-xl);font-family:var(--ha-font-family-code);font-style:normal;font-weight:var(--ha-font-weight-normal);line-height:var(--ha-line-height-condensed);text-align:center}.encryption-key ha-icon-button{flex:none;margin:-16px}`))]}constructor(...a){super(...a),this._open=!1}}(0,i.Cg)([(0,o.MZ)({attribute:!1})],T.prototype,"hass",void 0),(0,i.Cg)([(0,o.wk)()],T.prototype,"_open",void 0),(0,i.Cg)([(0,o.wk)()],T.prototype,"_step",void 0),(0,i.Cg)([(0,o.wk)()],T.prototype,"_params",void 0),(0,i.Cg)([(0,o.wk)()],T.prototype,"_config",void 0),(0,i.Cg)([(0,o.P)("div")],T.prototype,"_copyContainer",void 0),T=(0,i.Cg)([(0,o.EM)("ha-dialog-backup-onboarding")],T),s()}catch(y){s(y)}})}}]);