Prevent changing domain entity ID (#1650)

This commit is contained in:
Paulus Schoutsen 2018-09-10 13:14:21 +02:00 committed by GitHub
parent d32d334a2e
commit 9af75f9a43
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -9,6 +9,7 @@ import EventsMixin from '../../mixins/events-mixin.js';
import LocalizeMixin from '../../mixins/localize-mixin.js'; import LocalizeMixin from '../../mixins/localize-mixin.js';
import computeStateName from '../../common/entity/compute_state_name.js'; import computeStateName from '../../common/entity/compute_state_name.js';
import computeDomain from '../../common/entity/compute_domain.js';
import isComponentLoaded from '../../common/config/is_component_loaded.js'; import isComponentLoaded from '../../common/config/is_component_loaded.js';
/* /*
@ -44,7 +45,10 @@ class MoreInfoSettings extends LocalizeMixin(EventsMixin(PolymerElement)) {
<app-toolbar> <app-toolbar>
<paper-icon-button icon="hass:arrow-left" on-click="_backTapped"></paper-icon-button> <paper-icon-button icon="hass:arrow-left" on-click="_backTapped"></paper-icon-button>
<div main-title="">[[_computeStateName(stateObj)]]</div> <div main-title="">[[_computeStateName(stateObj)]]</div>
<paper-button on-click="_save">[[localize('ui.dialogs.more_info_settings.save')]]</paper-button> <paper-button
on-click="_save"
disabled='[[_computeInvalid(_entityId)]]'
>[[localize('ui.dialogs.more_info_settings.save')]]</paper-button>
</app-toolbar> </app-toolbar>
<div class="form"> <div class="form">
@ -55,6 +59,8 @@ class MoreInfoSettings extends LocalizeMixin(EventsMixin(PolymerElement)) {
<paper-input <paper-input
value="{{_entityId}}" value="{{_entityId}}"
label="[[localize('ui.dialogs.more_info_settings.entity_id')]]" label="[[localize('ui.dialogs.more_info_settings.entity_id')]]"
error-message="Domain needs to stay the same"
invalid='[[_computeInvalid(_entityId)]]'
></paper-input> ></paper-input>
</div> </div>
`; `;
@ -90,6 +96,10 @@ class MoreInfoSettings extends LocalizeMixin(EventsMixin(PolymerElement)) {
return isComponentLoaded(hass, 'config.entity_registry'); return isComponentLoaded(hass, 'config.entity_registry');
} }
_computeInvalid(entityId) {
return computeDomain(this.stateObj.entity_id) !== computeDomain(entityId);
}
_registryInfoChanged(newVal) { _registryInfoChanged(newVal) {
if (newVal) { if (newVal) {
this.setProperties({ this.setProperties({