UNPKG

ota-device-list

Version:
55 lines (44 loc) 1.28 kB
function isOffline(device) { let lastSeen; lastSeen = device['last-seen']; // Offline if not seen in more than 1 hour (in milliseconds). if (lastSeen && (new Date() - Date.parse(lastSeen)) < 36000000) { return false; } return true; } function offlineDevice(device) { device.offline = isOffline(device); return device; } class Component { onCreate(input) { const devices = (input.devices && input.devices.map(offlineDevice)); this.state = { devices: devices, maxDevices: input.maxDevices }; } onDeviceRemove(idx) { const device = this.state.devices[`${idx}`]; this.emit('device-remove', device, idx, device.name); } onDeviceRemoving(device, idx) { // XXX: Do nothing for now. } onDeviceRemoveSuccess(data) { let idx; if (data.idx != null) { idx = data.idx; } else { idx = this.state.devices .findIndex(d => d.name === data.device && d['update-stream'] === data.stream); } this.state.devices.splice(idx, 1); this.setStateDirty('devices'); } onDeviceRemoveError(data) { // XXX: Do nothing for now. } } module.exports = Component;