This repository has been archived on 2026-04-30. You can view files and clone it, but cannot push or open issues or pull requests.
huegasm/app/components/controls/group-control.js
2015-08-17 02:20:19 -07:00

46 lines
1.2 KiB
JavaScript

import Em from 'ember';
export default Em.Component.extend({
classNames: ['innerControlFrame'],
tagName: null,
groupSelection: null,
actions: {
selectGroup: function(selection){
this.set('groupSelection', selection);
},
toggleAddGroupsModal: function(){
this.toggleProperty('isShowingAddGroupsModal');
}
},
groupsArrData: function(){
var groupsData = this.get('groupsData'), lightsData = this.get('lightsData'), groupsArrData = [], ids = [];
for (let key in lightsData) {
if(lightsData.hasOwnProperty(key) && lightsData[key].state.reachable){
ids.push(key);
}
}
groupsArrData.push({name: 'All', data: {lights: ids}});
for (let key in groupsData) {
if (groupsData.hasOwnProperty(key)) {
groupsArrData.push({name: groupsData[key].name, data: {lights: groupsData[key].lights, key: key}});
}
}
return groupsArrData;
}.property('groupsData', 'lightsData'),
onGroupSelectionChanged: function(){
var groupSelection = this.get('groupSelection');
if(!Em.isNone(groupSelection)){
this.set('activeLights', groupSelection.lights);
}
}.observes('groupSelection')
});