Make panels ES5 compatible (#320)

This commit is contained in:
Paulus Schoutsen 2017-07-01 15:29:21 -07:00 committed by GitHub
parent 31af2968da
commit 1ad4259213
8 changed files with 85 additions and 70 deletions

View File

@ -109,11 +109,11 @@ Polymer({
return isWide ? 'content' : 'content narrow'; return isWide ? 'content' : 'content narrow';
}, },
computeIsHassbianLoaded(hass) { computeIsHassbianLoaded: function (hass) {
return window.hassUtil.isComponentLoaded(hass, 'config.hassbian'); return window.hassUtil.isComponentLoaded(hass, 'config.hassbian');
}, },
computeIsZwaveLoaded(hass) { computeIsZwaveLoaded: function (hass) {
return window.hassUtil.isComponentLoaded(hass, 'config.zwave'); return window.hassUtil.isComponentLoaded(hass, 'config.zwave');
}, },
}); });

View File

@ -132,7 +132,7 @@ Polymer({
mapItems.push(window.L.marker( mapItems.push(window.L.marker(
[entity.attributes.latitude, entity.attributes.longitude], [entity.attributes.latitude, entity.attributes.longitude],
{ {
icon, icon: icon,
interactive: false, interactive: false,
title: title, title: title,
} }
@ -167,7 +167,7 @@ Polymer({
mapItems.push(window.L.marker( mapItems.push(window.L.marker(
[entity.attributes.latitude, entity.attributes.longitude], [entity.attributes.latitude, entity.attributes.longitude],
{ {
icon, icon: icon,
title: window.hassUtil.computeStateName(entity), title: window.hassUtil.computeStateName(entity),
} }
).addTo(map)); ).addTo(map));

View File

@ -370,40 +370,28 @@ Polymer({
this.selectedConfigParameter = -1; this.selectedConfigParameter = -1;
this.selectedConfigParameterValue = -1; this.selectedConfigParameterValue = -1;
this.selectedGroup = -1; this.selectedGroup = -1;
var configData = [];
this.hass.callApi('GET', 'zwave/config/' + this.nodes[selectedNode].attributes.node_id).then(function (configs) { this.hass.callApi('GET', 'zwave/config/' + this.nodes[selectedNode].attributes.node_id).then(
Object.entries(configs).forEach(([key, value]) => { function (configs) {
configData.push({ key, value }); this.config = this._objToArray(configs);
});
this.config = configData;
}.bind(this)); }.bind(this));
var valueData = [];
this.hass.callApi('GET', 'zwave/values/' + this.nodes[selectedNode].attributes.node_id).then(function (values) { this.hass.callApi('GET', 'zwave/values/' + this.nodes[selectedNode].attributes.node_id).then(
Object.entries(values).forEach(([key, value]) => { function (values) {
valueData.push({ key, value }); this.values = this._objToArray(values);
});
this.values = valueData;
}.bind(this)); }.bind(this));
var groupData = [];
this.hass.callApi('GET', 'zwave/groups/' + this.nodes[selectedNode].attributes.node_id).then(function (groups) { this.hass.callApi('GET', 'zwave/groups/' + this.nodes[selectedNode].attributes.node_id).then(
Object.entries(groups).forEach(([key, value]) => { function (groups) {
groupData.push({ key, value }); this.groups = this._objToArray(groups);
});
this.groups = groupData;
}.bind(this)); }.bind(this));
var userCodes = [];
this.hasNodeUserCodes = false; this.hasNodeUserCodes = false;
this.notifyPath('hasNodeUserCodes'); this.notifyPath('hasNodeUserCodes');
this.hass.callApi('GET', 'zwave/usercodes/' + this.nodes[selectedNode].attributes.node_id).then(function (usercodes) { this.hass.callApi('GET', 'zwave/usercodes/' + this.nodes[selectedNode].attributes.node_id).then(
Object.entries(usercodes).forEach(([key, value]) => { function (usercodes) {
userCodes.push({ key, value }); this.userCodes = this._objToArray(usercodes);
}); this.hasNodeUserCodes = this.userCodes.length > 0;
this.userCodes = userCodes;
if (Object.keys(userCodes).length === 0) {
this.hasNodeUserCodes = false;
} else {
this.hasNodeUserCodes = true;
}
this.notifyPath('hasNodeUserCodes'); this.notifyPath('hasNodeUserCodes');
}.bind(this)); }.bind(this));
}, },
@ -412,8 +400,8 @@ Polymer({
if (selectedEntity === -1) return 'No entity selected'; if (selectedEntity === -1) return 'No entity selected';
var entityAttrs = this.entities[selectedEntity].attributes; var entityAttrs = this.entities[selectedEntity].attributes;
var att = []; var att = [];
Object.entries(entityAttrs).forEach(([key, value]) => { Object.keys(entityAttrs).forEach(function (key) {
att.push(key + ': ' + value); att.push(key + ': ' + entityAttrs[key]);
}); });
return att.sort(); return att.sort();
}, },
@ -460,5 +448,16 @@ Polymer({
toggleHelp: function () { toggleHelp: function () {
this.showHelp = !this.showHelp; this.showHelp = !this.showHelp;
}, },
_objToArray: function (obj) {
var array = [];
Object.keys(obj).forEach(function (key) {
array.push({
key: key,
value: obj[key],
});
});
return array;
},
}); });
</script> </script>

View File

@ -203,9 +203,13 @@ Polymer({
refreshGroups: function (selectedNode) { refreshGroups: function (selectedNode) {
var groupData = []; var groupData = [];
this.hass.callApi('GET', 'zwave/groups/' + this.nodes[selectedNode].attributes.node_id).then(function (groups) { this.hass.callApi('GET', 'zwave/groups/' + this.nodes[selectedNode].attributes.node_id).then(
Object.entries(groups).forEach(([key, value]) => { function (groups) {
groupData.push({ key, value }); Object.keys(groups).forEach(function (key) {
groupData.push({
key: key,
value: groups[key],
});
}); });
this.groups = groupData; this.groups = groupData;
this.selectedGroupChanged(this.selectedGroup); this.selectedGroupChanged(this.selectedGroup);

View File

@ -300,9 +300,13 @@ Polymer({
refreshConfig: function (selectedNode) { refreshConfig: function (selectedNode) {
var configData = []; var configData = [];
this.hass.callApi('GET', 'zwave/config/' + this.nodes[selectedNode].attributes.node_id).then(function (config) { this.hass.callApi('GET', 'zwave/config/' + this.nodes[selectedNode].attributes.node_id).then(
Object.entries(config).forEach(([key, value]) => { function (config) {
configData.push({ key, value }); Object.keys(config).forEach(function (key) {
configData.push({
key: key,
value: config[key],
});
}); });
this.config = configData; this.config = configData;
this.selectedConfigParameterChanged(this.selectedConfigParameter); this.selectedConfigParameterChanged(this.selectedConfigParameter);

View File

@ -71,8 +71,8 @@ Polymer({
if (!this.nodes || selectedNode === -1) return; if (!this.nodes || selectedNode === -1) return;
var nodeAttrs = this.nodes[this.selectedNode].attributes; var nodeAttrs = this.nodes[this.selectedNode].attributes;
var att = []; var att = [];
Object.entries(nodeAttrs).forEach(([key, value]) => { Object.keys(nodeAttrs).forEach(function (key) {
att.push(key + ': ' + value); att.push(key + ': ' + nodeAttrs[key]);
}); });
this.selectedNodeAttrs = att.sort(); this.selectedNodeAttrs = att.sort();
}, },

View File

@ -159,9 +159,13 @@ Polymer({
refreshUserCodes: function (selectedNode) { refreshUserCodes: function (selectedNode) {
this.selectedUserCodeValue = ''; this.selectedUserCodeValue = '';
var userCodes = []; var userCodes = [];
this.hass.callApi('GET', 'zwave/usercodes/' + this.nodes[selectedNode].attributes.node_id).then(function (usercodes) { this.hass.callApi('GET', 'zwave/usercodes/' + this.nodes[selectedNode].attributes.node_id).then(
Object.entries(usercodes).forEach(([key, value]) => { function (usercodes) {
userCodes.push({ key, value }); Object.keys(usercodes).forEach(function (key) {
userCodes.push({
key: key,
value: usercodes[key],
});
}); });
this.userCodes = userCodes; this.userCodes = userCodes;
this.selectedUserCodeChanged(this.selectedUserCode); this.selectedUserCodeChanged(this.selectedUserCode);

View File

@ -120,9 +120,13 @@ Polymer({
refreshValues: function (selectedNode) { refreshValues: function (selectedNode) {
var valueData = []; var valueData = [];
this.hass.callApi('GET', 'zwave/values/' + this.nodes[selectedNode].attributes.node_id).then(function (values) { this.hass.callApi('GET', 'zwave/values/' + this.nodes[selectedNode].attributes.node_id).then(
Object.entries(values).forEach(([key, value]) => { function (values) {
valueData.push({ key, value }); Object.keys(values).forEach(function (key) {
valueData.push({
key: key,
value: values[key],
});
}); });
this.values = valueData; this.values = valueData;
this.selectedValueChanged(this.selectedValue); this.selectedValueChanged(this.selectedValue);