fix
parent
2ceb74b862
commit
d70e2266e2
|
@ -84,40 +84,43 @@ FluArea {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
anchors.fill: row
|
|
||||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
|
||||||
onDoubleClicked: {
|
|
||||||
fileItem.parent.doubleClicked()
|
|
||||||
}
|
|
||||||
onClicked: {
|
|
||||||
if (mouse.button === Qt.RightButton) {
|
|
||||||
menu.popup()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
id: clickable
|
id: row
|
||||||
anchors.fill: row
|
anchors.fill: parent
|
||||||
|
anchors.margins: 10
|
||||||
RowLayout {
|
spacing: 10
|
||||||
id: titleRow
|
ColumnLayout {
|
||||||
Image {
|
id: clickable
|
||||||
id: icon
|
anchors.fill: row
|
||||||
source: type ? "qrc:/AicsKnowledgeBase/res/" + type + ".png" : ""
|
MouseArea {
|
||||||
Layout.preferredHeight: 24
|
anchors.fill: parent
|
||||||
Layout.preferredWidth: 24
|
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||||
fillMode: Image.PreserveAspectFit
|
onDoubleClicked: {
|
||||||
|
fileItem.parent.doubleClicked()
|
||||||
|
}
|
||||||
|
onClicked: {
|
||||||
|
if (mouse.button === Qt.RightButton) {
|
||||||
|
menu.popup()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
FluText {
|
RowLayout {
|
||||||
id: title
|
id: titleRow
|
||||||
font.bold: true
|
Image {
|
||||||
font.pointSize: 12
|
id: icon
|
||||||
text: fileItem.title
|
source: type ? "qrc:/AicsKnowledgeBase/res/" + type + ".png" : ""
|
||||||
textFormat: Text.RichText
|
Layout.preferredHeight: 24
|
||||||
|
Layout.preferredWidth: 24
|
||||||
|
fillMode: Image.PreserveAspectFit
|
||||||
|
}
|
||||||
|
FluText {
|
||||||
|
id: title
|
||||||
|
font.bold: true
|
||||||
|
font.pointSize: 12
|
||||||
|
text: fileItem.title
|
||||||
|
textFormat: Text.RichText
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
FluText {
|
FluText {
|
||||||
id: brief
|
id: brief
|
||||||
|
@ -159,18 +162,18 @@ FluArea {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RowLayout {
|
}
|
||||||
visible: !fileItem.isDir
|
RowLayout {
|
||||||
Repeater {
|
visible: !fileItem.isDir
|
||||||
model: fileItem.tags
|
Repeater {
|
||||||
delegate: FluTextButton {
|
model: fileItem.tags
|
||||||
text: "#" + fileItem.tags[index]
|
delegate: FluTextButton {
|
||||||
normalColor: colorList[index % colorList.length]
|
text: "#" + fileItem.tags[index]
|
||||||
font.pixelSize: 12
|
normalColor: colorList[index % colorList.length]
|
||||||
Layout.preferredWidth: 50
|
font.pixelSize: 12
|
||||||
onClicked: {
|
Layout.preferredWidth: 50
|
||||||
emit: tagClicked(text)
|
onClicked: {
|
||||||
}
|
emit: tagClicked(text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,8 @@ import QtQuick.Window
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Controls.Basic
|
import QtQuick.Controls.Basic
|
||||||
import FluentUI
|
import FluentUI
|
||||||
|
import "qrc:///AicsKnowledgeBase/qml/component"
|
||||||
|
import "qrc:///AicsKnowledgeBase/qml/global"
|
||||||
|
|
||||||
FluArea {
|
FluArea {
|
||||||
property string url: ''
|
property string url: ''
|
||||||
|
@ -14,7 +16,72 @@ FluArea {
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
|
|
||||||
FluText {
|
FluText {
|
||||||
|
id: title
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
text: "Favorite"
|
text: "Favourite"
|
||||||
|
}
|
||||||
|
FileList {
|
||||||
|
anchors.top: title.bottom
|
||||||
|
disableHeader: true
|
||||||
|
width: parent.width
|
||||||
|
dataModel: listModel
|
||||||
|
}
|
||||||
|
ListModel {
|
||||||
|
id: listModel
|
||||||
|
}
|
||||||
|
Component.onCompleted: {
|
||||||
|
Request.get("/user", response => {
|
||||||
|
var files = JSON.parse(response).starredKnowledge
|
||||||
|
listModel.clear()
|
||||||
|
for (var i = 0; i < files.length; i++) {
|
||||||
|
var file = files[i]
|
||||||
|
console.log(file.name)
|
||||||
|
var modelItem = {
|
||||||
|
"title": file.knowledge.name,
|
||||||
|
"uuid": file.knowledge.id,
|
||||||
|
"date"// cut time after 'T'
|
||||||
|
: file.knowledge.createTime.substring(0, 10),
|
||||||
|
"fuuid": "0"
|
||||||
|
}
|
||||||
|
modelItem.isDir = false
|
||||||
|
modelItem.type = getType(file.suffix)
|
||||||
|
modelItem.size = file.size
|
||||||
|
modelItem.brief = file.brief
|
||||||
|
modelItem.pageView = file.pageView
|
||||||
|
modelItem.stars = 0
|
||||||
|
var tagString = ""
|
||||||
|
for (var j = 0; j < file.tags.length; j++) {
|
||||||
|
if (j != 0)
|
||||||
|
tagString = tagString + ","
|
||||||
|
tagString = tagString + file.tags[j].name
|
||||||
|
}
|
||||||
|
modelItem.tags = tagString
|
||||||
|
listModel.append(modelItem)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function getType(suffix) {
|
||||||
|
if (suffix === "ppt" || suffix === "pptx")
|
||||||
|
return "PPT"
|
||||||
|
else if (suffix === "doc" || suffix === "docx")
|
||||||
|
return "WORD"
|
||||||
|
else if (suffix === "pdf")
|
||||||
|
return "PDF"
|
||||||
|
else if (suffix === "txt")
|
||||||
|
return "TXT"
|
||||||
|
else if (suffix === "xls" || suffix === "xlsx")
|
||||||
|
return "EXCEL"
|
||||||
|
else if (suffix === "zip" || suffix === "rar")
|
||||||
|
return "ZIP"
|
||||||
|
else if (suffix === "png" || suffix === "jpg" || suffix === "jpeg"
|
||||||
|
|| suffix === "gif")
|
||||||
|
return "IMAGE"
|
||||||
|
else if (suffix === "mp3" || suffix === "wav")
|
||||||
|
return "AUDIO"
|
||||||
|
else if (suffix === "mp4" || suffix === "avi" || suffix === "rmvb"
|
||||||
|
|| suffix === "rm" || suffix === "wmv" || suffix === "mkv")
|
||||||
|
return "VIDEO"
|
||||||
|
else
|
||||||
|
return "OTHER"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,8 @@ import QtQuick.Window
|
||||||
import QtQuick.Controls
|
import QtQuick.Controls
|
||||||
import QtQuick.Controls.Basic
|
import QtQuick.Controls.Basic
|
||||||
import FluentUI
|
import FluentUI
|
||||||
|
import "qrc:///AicsKnowledgeBase/qml/component"
|
||||||
|
import "qrc:///AicsKnowledgeBase/qml/global"
|
||||||
|
|
||||||
FluArea {
|
FluArea {
|
||||||
property string url: ''
|
property string url: ''
|
||||||
|
@ -17,4 +19,77 @@ FluArea {
|
||||||
Layout.topMargin: 20
|
Layout.topMargin: 20
|
||||||
text: "Local"
|
text: "Local"
|
||||||
}
|
}
|
||||||
|
FileList {
|
||||||
|
anchors.top: title.bottom
|
||||||
|
disableHeader: true
|
||||||
|
width: parent.width
|
||||||
|
dataModel: listModel
|
||||||
|
}
|
||||||
|
ListModel {
|
||||||
|
id: listModel
|
||||||
|
}
|
||||||
|
Component.onCompleted: {
|
||||||
|
var history = UserData.downloadedFiles
|
||||||
|
console.log(history)
|
||||||
|
listModel.clear()
|
||||||
|
for (var i = 0; i < history.length; i++) {
|
||||||
|
Request.get("/knowledge/" + history[i] + "/detailed", response => {
|
||||||
|
var file = JSON.parse(response)
|
||||||
|
|
||||||
|
var modelItem = {
|
||||||
|
"title": file.name,
|
||||||
|
"uuid": file.id,
|
||||||
|
"date"// cut time after 'T'
|
||||||
|
: file.createTime.substring(0, 10),
|
||||||
|
"fuuid": ""
|
||||||
|
}
|
||||||
|
if (file.knowledgeFileAttribute === null) {
|
||||||
|
modelItem.type = "folder"
|
||||||
|
modelItem.isDir = true
|
||||||
|
modelItem.size = 0
|
||||||
|
} else {
|
||||||
|
modelItem.isDir = false
|
||||||
|
modelItem.type = getType(
|
||||||
|
file.knowledgeFileAttribute.suffix)
|
||||||
|
modelItem.size = file.knowledgeFileAttribute.size
|
||||||
|
modelItem.brief = file.knowledgeFileAttribute.brief
|
||||||
|
modelItem.pageView = file.knowledgeFileAttribute.pageView
|
||||||
|
modelItem.stars = 0
|
||||||
|
// merge file.knowledgeFileAttribute.tags array to a string
|
||||||
|
var tagString = ""
|
||||||
|
for (var j = 0; j < file.knowledgeFileAttribute.tags.length; j++) {
|
||||||
|
if (j != 0)
|
||||||
|
tagString = tagString + ","
|
||||||
|
tagString = tagString + file.knowledgeFileAttribute.tags[j].name
|
||||||
|
}
|
||||||
|
modelItem.tags = tagString
|
||||||
|
}
|
||||||
|
listModel.append(modelItem)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function getType(suffix) {
|
||||||
|
if (suffix === "ppt" || suffix === "pptx")
|
||||||
|
return "PPT"
|
||||||
|
else if (suffix === "doc" || suffix === "docx")
|
||||||
|
return "WORD"
|
||||||
|
else if (suffix === "pdf")
|
||||||
|
return "PDF"
|
||||||
|
else if (suffix === "txt")
|
||||||
|
return "TXT"
|
||||||
|
else if (suffix === "xls" || suffix === "xlsx")
|
||||||
|
return "EXCEL"
|
||||||
|
else if (suffix === "zip" || suffix === "rar")
|
||||||
|
return "ZIP"
|
||||||
|
else if (suffix === "png" || suffix === "jpg" || suffix === "jpeg"
|
||||||
|
|| suffix === "gif")
|
||||||
|
return "IMAGE"
|
||||||
|
else if (suffix === "mp3" || suffix === "wav")
|
||||||
|
return "AUDIO"
|
||||||
|
else if (suffix === "mp4" || suffix === "avi" || suffix === "rmvb"
|
||||||
|
|| suffix === "rm" || suffix === "wmv" || suffix === "mkv")
|
||||||
|
return "VIDEO"
|
||||||
|
else
|
||||||
|
return "OTHER"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue