40 lines
1.3 KiB
QML
40 lines
1.3 KiB
QML
import QtQuick 2.15
|
|
|
|
import StatusQ 0.1
|
|
import utils 1.0
|
|
|
|
import AppLayouts.Profile.controls 1.0
|
|
|
|
ProfileShowcasePanel {
|
|
id: root
|
|
|
|
emptyInShowcasePlaceholderText: qsTr("Drag communities here to display in showcase")
|
|
emptyHiddenPlaceholderText: qsTr("Communities here will be hidden from your Profile")
|
|
emptySearchPlaceholderText: qsTr("No communities matching search")
|
|
searchPlaceholderText: qsTr("Search community name or role")
|
|
delegate: ProfileShowcasePanelDelegate {
|
|
title: model ? model.name : ""
|
|
secondaryTitle: (model && model.memberRole) ? ProfileUtils.getMemberRoleText(model.memberRole) : qsTr("Member")
|
|
hasImage: model && !!model.image
|
|
|
|
icon.name: model ? model.name : ""
|
|
icon.source: model ? model.image : ""
|
|
icon.color: model ? model.color : ""
|
|
}
|
|
|
|
filter: FastExpressionFilter {
|
|
readonly property string lowerCaseSearchText: root.searcherText.toLowerCase()
|
|
|
|
function getMemberRole(memberRole) {
|
|
return ProfileUtils.getMemberRoleText(memberRole)
|
|
}
|
|
|
|
expression: {
|
|
lowerCaseSearchText
|
|
return (name.toLowerCase().includes(lowerCaseSearchText) ||
|
|
getMemberRole(memberRole).toLowerCase().includes(lowerCaseSearchText))
|
|
}
|
|
expectedRoles: ["name", "memberRole"]
|
|
}
|
|
}
|