Bug 1275520 - Improve RDM displayed device list preference. r=jryans

This commit is contained in:
Benoit Chabod
2016-06-22 09:41:00 -04:00
parent 99652824ff
commit 0fb671c694
6 changed files with 149 additions and 47 deletions

View File

@@ -53,21 +53,28 @@ module.exports = createClass({
onUpdateDeviceModalOpen,
} = this.props;
let displayedDeviceList = [];
let preferredDevices = {
"added": new Set(),
"removed": new Set(),
};
for (let type of devices.types) {
for (let device of devices[type]) {
if (this.state[device.name] != device.displayed) {
onUpdateDeviceDisplayed(device, type, this.state[device.name]);
let newState = this.state[device.name];
if (device.featured && !newState) {
preferredDevices.removed.add(device.name);
} else if (!device.featured && newState) {
preferredDevices.added.add(device.name);
}
if (this.state[device.name]) {
displayedDeviceList.push(device.name);
if (this.state[device.name] != device.displayed) {
onUpdateDeviceDisplayed(device, type, this.state[device.name]);
}
}
}
onDeviceListUpdate(displayedDeviceList);
onDeviceListUpdate(preferredDevices);
onUpdateDeviceModalOpen(false);
},