diff --git a/app/src/layout/dock/Files.ts b/app/src/layout/dock/Files.ts index 12586cea8..972ff6162 100644 --- a/app/src/layout/dock/Files.ts +++ b/app/src/layout/dock/Files.ts @@ -588,7 +588,6 @@ export class Files extends Model { fetchPost("/api/filetree/listDocsByPath", { notebook: toURL, path: toDir === "/" ? "/" : toDir + ".sy", - sort: window.siyuan.config.fileTree.sort, }, response => { if (response.data.path === "/" && response.data.files.length === 0) { showMessage(window.siyuan.languages.emptyContent); @@ -883,8 +882,7 @@ export class Files extends Model { } else if (filePath.startsWith(item.path.replace(".sy", ""))) { fetchPost("/api/filetree/listDocsByPath", { notebook: data.box, - path: item.path, - sort: window.siyuan.config.fileTree.sort + path: item.path }, response => { this.selectItem(response.data.box, filePath, response.data); }); @@ -926,7 +924,6 @@ export class Files extends Model { fetchPost("/api/filetree/listDocsByPath", { notebook: notebookId, path: liElement.getAttribute("data-path"), - sort: window.siyuan.config.fileTree.sort, }, response => { if (response.data.path === "/" && response.data.files.length === 0) { showMessage(window.siyuan.languages.emptyContent); @@ -966,8 +963,7 @@ export class Files extends Model { } else { fetchPost("/api/filetree/listDocsByPath", { notebook: notebookId, - path: currentPath, - sort: window.siyuan.config.fileTree.sort + path: currentPath }, response => { this.onLsSelect(response.data, filePath); }); diff --git a/app/src/mobile/dock/MobileFiles.ts b/app/src/mobile/dock/MobileFiles.ts index 2f8fabc2d..541be9dee 100644 --- a/app/src/mobile/dock/MobileFiles.ts +++ b/app/src/mobile/dock/MobileFiles.ts @@ -510,8 +510,7 @@ export class MobileFiles extends Model { } else if (filePath.startsWith(item.path.replace(".sy", ""))) { fetchPost("/api/filetree/listDocsByPath", { notebook: data.box, - path: item.path, - sort: window.siyuan.config.fileTree.sort + path: item.path }, response => { this.selectItem(response.data.box, filePath, response.data); }); @@ -555,8 +554,7 @@ export class MobileFiles extends Model { } fetchPost("/api/filetree/listDocsByPath", { notebook: notebookId, - path: liElement.getAttribute("data-path"), - sort: window.siyuan.config.fileTree.sort, + path: liElement.getAttribute("data-path") }, response => { if (response.data.path === "/" && response.data.files.length === 0) { showMessage(window.siyuan.languages.emptyContent); @@ -596,8 +594,7 @@ export class MobileFiles extends Model { } else { fetchPost("/api/filetree/listDocsByPath", { notebook: notebookId, - path: currentPath, - sort: window.siyuan.config.fileTree.sort + path: currentPath }, response => { this.onLsSelect(response.data, filePath); }); diff --git a/app/src/util/pathName.ts b/app/src/util/pathName.ts index 23a10fda2..031443b76 100644 --- a/app/src/util/pathName.ts +++ b/app/src/util/pathName.ts @@ -454,7 +454,6 @@ const getLeaf = (liElement: HTMLElement, flashcard:boolean) => { fetchPost("/api/filetree/listDocsByPath", { notebook: notebookId, path: liElement.getAttribute("data-path"), - sort: window.siyuan.config.fileTree.sort, flashcard, }, response => { if (response.data.path === "/" && response.data.files.length === 0) { diff --git a/kernel/api/filetree.go b/kernel/api/filetree.go index 8fbca97c7..6a1512601 100644 --- a/kernel/api/filetree.go +++ b/kernel/api/filetree.go @@ -96,7 +96,7 @@ func heading2Doc(c *gin.Context) { name := path.Base(targetPath) box := model.Conf.Box(targetNotebook) - files, _, _ := model.ListDocTree(targetNotebook, path.Dir(targetPath), model.Conf.FileTree.Sort, false, model.Conf.FileTree.MaxListCount) + files, _, _ := model.ListDocTree(targetNotebook, path.Dir(targetPath), util.SortModeUnassigned, false, model.Conf.FileTree.MaxListCount) evt := util.NewCmdResult("heading2doc", 0, util.PushModeBroadcast) evt.Data = map[string]interface{}{ "box": box, @@ -141,7 +141,7 @@ func li2Doc(c *gin.Context) { name := path.Base(targetPath) box := model.Conf.Box(targetNotebook) - files, _, _ := model.ListDocTree(targetNotebook, path.Dir(targetPath), model.Conf.FileTree.Sort, false, model.Conf.FileTree.MaxListCount) + files, _, _ := model.ListDocTree(targetNotebook, path.Dir(targetPath), util.SortModeUnassigned, false, model.Conf.FileTree.MaxListCount) evt := util.NewCmdResult("li2doc", 0, util.PushModeBroadcast) evt.Data = map[string]interface{}{ "box": box, @@ -449,7 +449,7 @@ func createDailyNote(c *gin.Context) { evt.AppId = app name := path.Base(p) - files, _, _ := model.ListDocTree(box.ID, path.Dir(p), model.Conf.FileTree.Sort, false, model.Conf.FileTree.MaxListCount) + files, _, _ := model.ListDocTree(box.ID, path.Dir(p), util.SortModeUnassigned, false, model.Conf.FileTree.MaxListCount) evt.Data = map[string]interface{}{ "box": box, "path": p, @@ -618,7 +618,7 @@ func listDocsByPath(c *gin.Context) { notebook := arg["notebook"].(string) p := arg["path"].(string) sortParam := arg["sort"] - sortMode := model.Conf.FileTree.Sort + sortMode := util.SortModeUnassigned if nil != sortParam { sortMode = int(sortParam.(float64)) } @@ -733,7 +733,7 @@ func getDoc(c *gin.Context) { func pushCreate(box *model.Box, p, treeID string, arg map[string]interface{}) { evt := util.NewCmdResult("create", 0, util.PushModeBroadcast) name := path.Base(p) - files, _, _ := model.ListDocTree(box.ID, path.Dir(p), model.Conf.FileTree.Sort, false, model.Conf.FileTree.MaxListCount) + files, _, _ := model.ListDocTree(box.ID, path.Dir(p), util.SortModeUnassigned, false, model.Conf.FileTree.MaxListCount) evt.Data = map[string]interface{}{ "box": box, "path": p, diff --git a/kernel/model/export_merge.go b/kernel/model/export_merge.go index cc5443b5b..bc89c0947 100644 --- a/kernel/model/export_merge.go +++ b/kernel/model/export_merge.go @@ -21,6 +21,7 @@ import ( "github.com/88250/lute/parse" "github.com/siyuan-note/siyuan/kernel/filesys" "github.com/siyuan-note/siyuan/kernel/treenode" + "github.com/siyuan-note/siyuan/kernel/util" ) func mergeSubDocs(rootTree *parse.Tree) (ret *parse.Tree, err error) { @@ -110,7 +111,7 @@ func loadTreeNodes(box string, p string, level int) (ret []*ast.Node, err error) } func buildBlockChildren(block *Block) (err error) { - files, _, err := ListDocTree(block.Box, block.Path, Conf.FileTree.Sort, false, Conf.FileTree.MaxListCount) + files, _, err := ListDocTree(block.Box, block.Path, util.SortModeUnassigned, false, Conf.FileTree.MaxListCount) if nil != err { return } diff --git a/kernel/model/file.go b/kernel/model/file.go index a8d0dad7d..f75d0dcf4 100644 --- a/kernel/model/file.go +++ b/kernel/model/file.go @@ -244,8 +244,12 @@ func ListDocTree(boxID, path string, sortMode int, flashcard bool, maxListCount } boxConf := box.GetConf() - if util.SortModeFileTree != boxConf.SortMode { - sortMode = boxConf.SortMode + + if util.SortModeUnassigned == sortMode { + sortMode = Conf.FileTree.Sort + if util.SortModeFileTree != boxConf.SortMode { + sortMode = boxConf.SortMode + } } var files []*FileInfo diff --git a/kernel/model/mount.go b/kernel/model/mount.go index db00f5008..51a8e507e 100644 --- a/kernel/model/mount.go +++ b/kernel/model/mount.go @@ -194,7 +194,7 @@ func Mount(boxID string) (alreadyMount bool, err error) { box.Index() // 缓存根一级的文档树展开 - ListDocTree(box.ID, "/", Conf.FileTree.Sort, false, Conf.FileTree.MaxListCount) + ListDocTree(box.ID, "/", util.SortModeUnassigned, false, Conf.FileTree.MaxListCount) treenode.SaveBlockTree(false) util.ClearPushProgress(100) diff --git a/kernel/util/sort.go b/kernel/util/sort.go index e87236d4c..4f85cda05 100644 --- a/kernel/util/sort.go +++ b/kernel/util/sort.go @@ -69,4 +69,6 @@ const ( SortModeSubDocCountASC // 13:子文档数升序 SortModeSubDocCountDESC // 14:子文档数降序 SortModeFileTree // 15:使用文档树排序规则 + + SortModeUnassigned = 256 // 256:未指定排序规则,按照笔记本优先于文档树获取排序规则 )