Fix member filtering

This commit is contained in:
miruka
2019-08-21 12:17:12 -04:00
parent 8ef3a6dc33
commit 1886303481
3 changed files with 30 additions and 11 deletions

View File

@@ -7,21 +7,37 @@ HColumnLayout {
HListView {
id: memberList
Layout.fillWidth: true
Layout.fillHeight: true
readonly property var originSource:
modelSources[["Member", chatPage.roomId]] || []
onOriginSourceChanged: filterLimiter.requestFire()
function filterSource() {
model.source =
Utils.filterModelSource(originSource, filterField.text)
}
model: HListModel {
keyField: "user_id"
source: Utils.filterModelSource(
modelSources[["Member", chatPage.roomId]] || [],
filterField.text
)
source: originSource
}
delegate: MemberDelegate {
width: memberList.width
}
Layout.fillWidth: true
Layout.fillHeight: true
HRateLimiter {
id: filterLimiter
cooldown: 16
onFired: memberList.filterSource()
}
}
HTextField {
@@ -30,6 +46,8 @@ HColumnLayout {
backgroundColor: theme.sidePane.filterRooms.background
bordered: false
onTextChanged: filterLimiter.requestFire()
Layout.fillWidth: true
Layout.preferredHeight: theme.baseElementsHeight
}