diff options
author | Humberto Alfonso Díaz <humberto.alfonso@asvito.es> | 2019-10-23 09:44:29 +0200 |
---|---|---|
committer | Lorenzo Tilve <ltilve@igalia.com> | 2020-02-04 19:20:13 +0100 |
commit | 33702aea7ce42c8240e4bed7b424cc8ac4a33826 (patch) | |
tree | 6bba05249b6830fa6cdaea1bbd88971e8e027634 /src/js/bluetooth.js | |
parent | 00b8929291665238cbcd88676fe65f67900be1c3 (diff) |
FUNCT Implement bluetooth screen
Diffstat (limited to 'src/js/bluetooth.js')
-rw-r--r-- | src/js/bluetooth.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/js/bluetooth.js b/src/js/bluetooth.js new file mode 100644 index 0000000..679ef0b --- /dev/null +++ b/src/js/bluetooth.js @@ -0,0 +1,50 @@ +import { bluetooth } from 'agl-js-api'; +import Mustache from 'mustache'; + +var isPowered = false; +var template; + +function update_state(state) { + var control = document.getElementById('BluetoothControl'); + if( state.powered ) { + control.classList.add('enabled'); + } else { + control.classList.remove('enabled'); + } +} + +function update_devices(devices) { + console.log('update_devices', devices); + var deviceList = document.getElementById('BluetoothContainer'); + deviceList.innerHTML = ''; + + devices.forEach(function(device) { + deviceList.innerHTML += Mustache.render(template, device); + }); +} + +export function toggle() { + bluetooth.adapter_state().then(function(result) { + bluetooth.adapter_state({ + powered: !result.powered + }).then(update_state); + }); +} + +export function init() { + template = document.getElementById('bluetooth-device-template').innerHTML; + Mustache.parse(template); + bluetooth.adapter_state().then(update_state); + + bluetooth.managed_objects().then(function(result){ + update_devices(result.devices); + }); + + bluetooth.on_device_changes(function(data) { + bluetooth.managed_objects().then(function(result){ + update_devices(result.devices); + }); + }).then(function(result) { + console.log('SUBSCRIBED TO DEVICE CHANGES'); + }); +}
\ No newline at end of file |