AicsKnowledgeBase_client/AicsKnowledgeBase/qml/component/NoteItem.qml

79 lines
2.1 KiB
QML

import QtQuick 2.15
import FluentUI
import QtQuick.Layouts
FluArea {
id: fileItem
property string uuid
property string title
property string brief
property string date
property int pageView
property var tags: []
property var notes: []
property int stars
property var colorList: ["blue", "green", "orange", "red", "yellow", "purple", "pink", "brown", "teal", "cyan", "gray", "darkgray"]
signal tagClicked(string tag)
ColumnLayout {
id: row
anchors.fill: parent
anchors.margins: 10
spacing: 10
ColumnLayout {
id: clickable
anchors.fill: parent
MouseArea {
anchors.fill: parent
onDoubleClicked: {
fileItem.parent.doubleClicked()
}
}
FluText {
id: title
text: fileItem.title
font{
pointSize: 12
bold: true
}
}
FluText {
id: brief
text: fileItem.brief
}
RowLayout {
id: infoRow
visible: !fileItem.isDir
FluText {
id: date
text: fileItem.date
}
FluText {
id: pageView
text: fileItem.pageView + "浏览"
}
FluText {
id: stars
text: fileItem.stars + "收藏"
}
}
}
RowLayout {
visible: !fileItem.isDir
Repeater {
model: fileItem.tags
delegate: FluTextButton {
text: "#" + fileItem.tags[index]
normalColor: colorList[index % colorList.length]
font.pixelSize: 12
Layout.preferredWidth: 50
onClicked: {
emit: tagClicked(text)
}
}
}
}
}
}