moment/src/qml/Models.qml

59 lines
1.6 KiB
QML

import QtQuick 2.7
import SortFilterProxyModel 0.2
import "Base"
QtObject {
property HListModel accounts: HListModel {
sorters: StringSorter {
roleName: "userId"
numericMode: true // human numeric sort
}
}
property HListModel users: HListModel {
function getUser(user_id) {
var found = users.getWhere({"userId": user_id}, 1)
if (found.length > 0) { return found[0] }
users.append({
"userId": user_id,
"displayName": "",
"avatarUrl": "",
"statusMessage": ""
})
py.callCoro("request_user_update_event", [user_id])
return users.getWhere({"userId": user_id}, 1)[0]
}
}
property HListModel devices: HListModel {}
property HListModel roomCategories: HListModel {
sorters: FilterSorter {
ValueFilter { roleName: "name"; value: "Invites" }
ValueFilter { roleName: "name"; value: "Rooms" }
ValueFilter { roleName: "name"; value: "Left" }
}
}
property HListModel rooms: HListModel {}
property HListModel timelines: HListModel {
function lastEventOf(room_id) {
// Return an event item or undefined if none found
for (var i = 0; i < timelines.count; i++) {
var item = timelines.get(i) // TODO: standardize
if (item.roomId == room_id) { return item }
}
}
sorters: RoleSorter {
roleName: "date"
sortOrder: Qt.DescendingOrder
}
}
}