mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 10:16:46 +00:00
Fix login form with translations (#612)
* Revert "Fix not showing login form (#564)" This reverts commit d2faeaffe7a578d86d04394af6590e94e42f0e09. * Don't lose translation resources on logout * Fix lint
This commit is contained in:
parent
1f9fc46576
commit
1ab551116e
@ -72,10 +72,6 @@ class HomeAssistant extends Polymer.Element {
|
|||||||
type: Object,
|
type: Object,
|
||||||
value: null,
|
value: null,
|
||||||
},
|
},
|
||||||
language: {
|
|
||||||
type: Object,
|
|
||||||
value: null,
|
|
||||||
},
|
|
||||||
showMain: {
|
showMain: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
computed: 'computeShowMain(hass)',
|
computed: 'computeShowMain(hass)',
|
||||||
@ -96,12 +92,13 @@ class HomeAssistant extends Polymer.Element {
|
|||||||
|
|
||||||
computeShowLoading(connectionPromise, hass) {
|
computeShowLoading(connectionPromise, hass) {
|
||||||
// Show loading when connecting or when connected but not all pieces loaded yet
|
// Show loading when connecting or when connected but not all pieces loaded yet
|
||||||
return (connectionPromise != null || (hass && (!hass.states || !hass.config)));
|
return (connectionPromise != null
|
||||||
|
|| (hass && hass.connection && (!hass.states || !hass.config)));
|
||||||
}
|
}
|
||||||
|
|
||||||
loadResources() {
|
loadResources() {
|
||||||
window.getTranslation().then((result) => {
|
window.getTranslation().then((result) => {
|
||||||
this._updateLanguage({
|
this._updateHass({
|
||||||
language: result.language,
|
language: result.language,
|
||||||
resources: result.resources,
|
resources: result.resources,
|
||||||
});
|
});
|
||||||
@ -114,7 +111,17 @@ class HomeAssistant extends Polymer.Element {
|
|||||||
this.unsubConnection = null;
|
this.unsubConnection = null;
|
||||||
}
|
}
|
||||||
if (!conn) {
|
if (!conn) {
|
||||||
this.hass = null;
|
this._updateHass({
|
||||||
|
connection: null,
|
||||||
|
connected: false,
|
||||||
|
states: null,
|
||||||
|
config: null,
|
||||||
|
themes: null,
|
||||||
|
dockedSidebar: false,
|
||||||
|
moreInfoEntityId: null,
|
||||||
|
callService: null,
|
||||||
|
callApi: null,
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var notifications = this.$.notifications;
|
var notifications = this.$.notifications;
|
||||||
@ -158,7 +165,7 @@ class HomeAssistant extends Polymer.Element {
|
|||||||
var auth = conn.options.authToken ? conn.options : {};
|
var auth = conn.options.authToken ? conn.options : {};
|
||||||
return window.hassCallApi(host, auth, method, path, parameters);
|
return window.hassCallApi(host, auth, method, path, parameters);
|
||||||
},
|
},
|
||||||
}, this.language, this.$.storage.getStoredState());
|
}, this.$.storage.getStoredState());
|
||||||
|
|
||||||
var reconnected = () => {
|
var reconnected = () => {
|
||||||
this._updateHass({ connected: true });
|
this._updateHass({ connected: true });
|
||||||
@ -256,7 +263,7 @@ class HomeAssistant extends Polymer.Element {
|
|||||||
}
|
}
|
||||||
|
|
||||||
selectLanguage(event) {
|
selectLanguage(event) {
|
||||||
this._updateLanguage({ selectedLanguage: event.detail.language });
|
this._updateHass({ selectedLanguage: event.detail.language });
|
||||||
this.$.storage.storeState();
|
this.$.storage.storeState();
|
||||||
this.loadResources();
|
this.loadResources();
|
||||||
}
|
}
|
||||||
@ -264,11 +271,6 @@ class HomeAssistant extends Polymer.Element {
|
|||||||
_updateHass(obj) {
|
_updateHass(obj) {
|
||||||
this.hass = Object.assign({}, this.hass, obj);
|
this.hass = Object.assign({}, this.hass, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
_updateLanguage(obj) {
|
|
||||||
this.language = Object.assign({}, this.language, obj);
|
|
||||||
if (this.hass) this._updateHass(obj);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
customElements.define(HomeAssistant.is, HomeAssistant);
|
customElements.define(HomeAssistant.is, HomeAssistant);
|
||||||
|
@ -221,7 +221,7 @@
|
|||||||
|
|
||||||
disconnectedCallback() {
|
disconnectedCallback() {
|
||||||
super.disconnectedCallback();
|
super.disconnectedCallback();
|
||||||
this.mqls.forEach(function (mql) {
|
this.mqls.forEach((mql) => {
|
||||||
mql.removeListener(this.handleWindowChange);
|
mql.removeListener(this.handleWindowChange);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
id='connToast'
|
id='connToast'
|
||||||
duration='0'
|
duration='0'
|
||||||
text='Connection lost. Reconnecting…'
|
text='Connection lost. Reconnecting…'
|
||||||
opened='[[!isStreaming]]'
|
opened='[[connectionLost]]'
|
||||||
></paper-toast>
|
></paper-toast>
|
||||||
</template>
|
</template>
|
||||||
</dom-module>
|
</dom-module>
|
||||||
@ -32,11 +32,17 @@ class NotificationManager extends Polymer.Element {
|
|||||||
return {
|
return {
|
||||||
hass: {
|
hass: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
observer: 'hassChanged',
|
||||||
},
|
},
|
||||||
|
|
||||||
isStreaming: {
|
wasConnected: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
computed: 'computeIsStreaming(hass)',
|
value: false,
|
||||||
|
},
|
||||||
|
|
||||||
|
connectionLost: {
|
||||||
|
type: Boolean,
|
||||||
|
computed: 'computeConnectionLost(wasConnected, hass)',
|
||||||
},
|
},
|
||||||
|
|
||||||
_cancelOnOutsideClick: {
|
_cancelOnOutsideClick: {
|
||||||
@ -56,8 +62,19 @@ class NotificationManager extends Polymer.Element {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
computeIsStreaming(hass) {
|
hassChanged(hass) {
|
||||||
return !hass || hass.connected;
|
if (hass && hass.connected) {
|
||||||
|
// Once the connetion is established, set wasConnected to true
|
||||||
|
this.wasConnected = true;
|
||||||
|
}
|
||||||
|
if (!hass || !hass.connection) {
|
||||||
|
// If the users logs out, reset wasConnected
|
||||||
|
this.wasConnected = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
computeConnectionLost(wasConnected, hass) {
|
||||||
|
return wasConnected && hass && !hass.connected;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user