Files
nooLight/LightsModel.qml

45 lines
1.0 KiB
QML

import QtQml.Models 2.1
ListModel {
id: root
property string serviceUrl: undefined
property bool isLoading: false
signal error(string text)
onServiceUrlChanged: reload()
function reload() {
var request = new XMLHttpRequest()
request.open('GET', root.serviceUrl + '/static/channels.js')
request.onreadystatechange = function () {
if (request.readyState !== XMLHttpRequest.DONE) {
return
}
if (request.status === 200) {
populateModel(JSON.parse(request.responseText))
root.isLoading = false
return
}
root.error(qsTr("[%1] Request error: %2").
arg(request.status).
arg(request.statusText))
root.isLoading = false
}
root.isLoading = true
request.send()
}
function populateModel(data) {
data.groups.forEach(function (group) {
root.append(group)
})
}
}