moment/src/qml/Chat/RoomSidePane/MembersView.qml

73 lines
1.7 KiB
QML

import QtQuick 2.12
import QtQuick.Layouts 1.12
import "../../Base"
import "../../utils.js" as Utils
HColumnLayout {
HListView {
id: memberList
clip: true
Layout.fillWidth: true
Layout.fillHeight: true
readonly property var originSource:
modelSources[["Member", chatPage.roomId]] || []
onOriginSourceChanged: filterLimiter.restart()
function filterSource() {
model.source =
Utils.filterModelSource(originSource, filterField.text)
}
model: HListModel {
keyField: "user_id"
source: memberList.originSource
}
delegate: MemberDelegate {
width: memberList.width
}
Timer {
id: filterLimiter
interval: 16
onTriggered: memberList.filterSource()
}
}
HRowLayout {
Layout.minimumHeight: theme.baseElementsHeight
Layout.maximumHeight: Layout.minimumHeight
HTextField {
id: filterField
placeholderText: qsTr("Filter members")
backgroundColor: theme.chat.roomSidePane.filterMembers.background
bordered: false
onTextChanged: filterLimiter.restart()
Layout.fillWidth: true
Layout.fillHeight: true
}
HButton {
enabled: false // TODO
icon.name: "room-send-invite"
iconItem.dimension: parent.height - 10
topPadding: 0
bottomPadding: 0
toolTip.text: qsTr("Invite to this room")
backgroundColor: theme.chat.roomSidePane.inviteButton.background
Layout.fillHeight: true
}
}
}