diff --git a/kernel/api/filetree.go b/kernel/api/filetree.go index e292f5d2f..0b3f8f3ba 100644 --- a/kernel/api/filetree.go +++ b/kernel/api/filetree.go @@ -342,8 +342,15 @@ func createDoc(c *gin.Context) { p := arg["path"].(string) title := arg["title"].(string) md := arg["md"].(string) + sortsArg := arg["sorts"] + var sorts []string + if nil != sortsArg { + for _, sort := range sortsArg.([]interface{}) { + sorts = append(sorts, sort.(string)) + } + } - err := model.CreateDocByMd(notebook, p, title, md) + err := model.CreateDocByMd(notebook, p, title, md, sorts) if nil != err { ret.Code = -1 ret.Msg = err.Error() diff --git a/kernel/model/file.go b/kernel/model/file.go index ccc771402..c89ed3b75 100644 --- a/kernel/model/file.go +++ b/kernel/model/file.go @@ -920,7 +920,7 @@ func DuplicateDoc(rootID string) (err error) { return } -func CreateDocByMd(boxID, p, title, md string) (err error) { +func CreateDocByMd(boxID, p, title, md string, sorts []string) (err error) { WaitForWritingFiles() box := Conf.Box(boxID) @@ -930,7 +930,13 @@ func CreateDocByMd(boxID, p, title, md string) (err error) { luteEngine := NewLute() dom := luteEngine.Md2BlockDOM(md) - return createDoc(box.ID, p, title, dom) + err = createDoc(box.ID, p, title, dom) + if nil != err { + return + } + + ChangeFileTreeSort(box.ID, sorts) + return } func CreateWithMarkdown(boxID, hPath, md string) (id string, err error) {