diff --git a/panels/zwave/ha-panel-zwave.html b/panels/zwave/ha-panel-zwave.html index baa8c4d05b..f17e2a6692 100644 --- a/panels/zwave/ha-panel-zwave.html +++ b/panels/zwave/ha-panel-zwave.html @@ -324,15 +324,7 @@ Polymer({ return (!ent.attributes.hidden && (ent.entity_id).match('zwave[.]')); }) - .sort(function (entityA, entityB) { - if (entityA.entity_id < entityB.entity_id) { - return -1; - } - if (entityA.entity_id > entityB.entity_id) { - return 1; - } - return 0; - }); + .sort(window.hassUtil.sortByName); }, computeEntities: function (selectedNode) { @@ -350,17 +342,7 @@ Polymer({ ent.attributes.node_id === nodeid && (!(ent.entity_id).match('zwave[.]'))); }) - .sort(function (entityA, entityB) { - var nameA = window.hassUtil.computeStateName(entityA); - var nameB = window.hassUtil.computeStateName(entityB); - if (nameA < nameB) { - return -1; - } - if (nameA > nameB) { - return 1; - } - return 0; - }); + .sort(window.hassUtil.sortByName); }, selectedNodeChanged: function (selectedNode) { diff --git a/src/util/hass-util.html b/src/util/hass-util.html index ab14ccfb3b..24ac29b083 100644 --- a/src/util/hass-util.html +++ b/src/util/hass-util.html @@ -425,6 +425,18 @@ window.hassUtil.computeStateName = function (stateObj) { return stateObj._entityDisplay; }; +window.hassUtil.sortByName = function (entityA, entityB) { + var nameA = window.hassUtil.computeStateName(entityA); + var nameB = window.hassUtil.computeStateName(entityB); + if (nameA < nameB) { + return -1; + } + if (nameA > nameB) { + return 1; + } + return 0; +}; + window.hassUtil.computeStateState = function (stateObj) { if (!stateObj._stateDisplay) { stateObj._stateDisplay = stateObj.state.replace(/_/g, ' ');