mirror of
https://github.com/danbee/mpd-client
synced 2025-03-04 08:39:09 +00:00
26 lines
629 B
JavaScript
26 lines
629 B
JavaScript
mpdClient.factory('serverEvents', function () {
|
|
var events = new EventSource('/api/stream'),
|
|
serverEvents = {
|
|
onUpdateStatus: function (callback) {
|
|
this.onUpdateStatusCallback = callback
|
|
}
|
|
}
|
|
|
|
events.onmessage = function(e) {
|
|
response = JSON.parse(e.data);
|
|
switch (response.type) {
|
|
case 'status':
|
|
serverEvents.onUpdateStatusCallback(response.data)
|
|
break;
|
|
case 'queue':
|
|
$scope.$emit('update:queue', response.data)
|
|
break;
|
|
case 'time':
|
|
$scope.$emit('update:time', response.data);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return serverEvents
|
|
})
|