| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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)
- })
- }
- }
|