mirror of
https://github.com/siyuan-note/siyuan.git
synced 2026-01-21 07:46:09 +01:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
d20d17f049
4 changed files with 82 additions and 34 deletions
|
|
@ -472,29 +472,28 @@ func createDailyNote(c *gin.Context) {
|
|||
return
|
||||
}
|
||||
|
||||
appArg := arg["app"]
|
||||
app := ""
|
||||
if nil != appArg {
|
||||
app = appArg.(string)
|
||||
if !existed {
|
||||
// 只有创建的情况才推送,已经存在的情况不推送
|
||||
// Creating a dailynote existed no longer expands the doc tree https://github.com/siyuan-note/siyuan/issues/9959
|
||||
appArg := arg["app"]
|
||||
app := ""
|
||||
if nil != appArg {
|
||||
app = appArg.(string)
|
||||
}
|
||||
evt := util.NewCmdResult("createdailynote", 0, util.PushModeBroadcast)
|
||||
evt.AppId = app
|
||||
name := path.Base(p)
|
||||
files, _, _ := model.ListDocTree(box.ID, path.Dir(p), util.SortModeUnassigned, false, false, model.Conf.FileTree.MaxListCount)
|
||||
evt.Data = map[string]interface{}{
|
||||
"box": box,
|
||||
"path": p,
|
||||
"files": files,
|
||||
"name": name,
|
||||
"id": tree.Root.ID,
|
||||
}
|
||||
evt.Callback = arg["callback"]
|
||||
util.PushEvent(evt)
|
||||
}
|
||||
pushMode := util.PushModeBroadcast
|
||||
if existed && "" != app {
|
||||
pushMode = util.PushModeBroadcastApp
|
||||
}
|
||||
evt := util.NewCmdResult("createdailynote", 0, pushMode)
|
||||
evt.AppId = app
|
||||
|
||||
name := path.Base(p)
|
||||
files, _, _ := model.ListDocTree(box.ID, path.Dir(p), util.SortModeUnassigned, false, false, model.Conf.FileTree.MaxListCount)
|
||||
evt.Data = map[string]interface{}{
|
||||
"box": box,
|
||||
"path": p,
|
||||
"files": files,
|
||||
"name": name,
|
||||
"id": tree.Root.ID,
|
||||
}
|
||||
evt.Callback = arg["callback"]
|
||||
util.PushEvent(evt)
|
||||
|
||||
ret.Data = map[string]interface{}{
|
||||
"id": tree.Root.ID,
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ type SearchAttributeViewResult struct {
|
|||
AvID string `json:"avID"`
|
||||
AvName string `json:"avName"`
|
||||
BlockID string `json:"blockID"`
|
||||
HPath string `json:"hPath"`
|
||||
}
|
||||
|
||||
func SearchAttributeView(keyword string, page int, pageSize int) (ret []*SearchAttributeViewResult, pageCount int) {
|
||||
|
|
@ -102,11 +103,23 @@ func SearchAttributeView(keyword string, page int, pageSize int) (ret []*SearchA
|
|||
break
|
||||
}
|
||||
}
|
||||
|
||||
var hPath string
|
||||
baseBlock := treenode.GetBlockTreeRootByPath(node.Box, node.Path)
|
||||
if nil != baseBlock {
|
||||
hPath = baseBlock.HPath
|
||||
}
|
||||
box := Conf.Box(node.Box)
|
||||
if nil != box {
|
||||
hPath = box.Name + hPath
|
||||
}
|
||||
|
||||
if !exist {
|
||||
ret = append(ret, &SearchAttributeViewResult{
|
||||
AvID: avID,
|
||||
AvName: attrView.Name,
|
||||
BlockID: block.ID,
|
||||
HPath: hPath,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -170,6 +183,20 @@ func GetBlockAttributeViewKeys(blockID string) (ret []*BlockAttributeViewKeys) {
|
|||
// 先处理创建时间和更新时间
|
||||
for _, kv := range keyValues {
|
||||
switch kv.Key.Type {
|
||||
case av.KeyTypeRelation:
|
||||
relKey, _ := attrView.GetKey(kv.Values[0].KeyID)
|
||||
if nil != relKey && nil != relKey.Relation {
|
||||
destAv, _ := av.ParseAttributeView(relKey.Relation.AvID)
|
||||
if nil != destAv {
|
||||
blocks := map[string]string{}
|
||||
for _, blockValue := range destAv.GetBlockKeyValues().Values {
|
||||
blocks[blockValue.BlockID] = blockValue.Block.Content
|
||||
}
|
||||
for _, blockID := range kv.Values[0].Relation.BlockIDs {
|
||||
kv.Values[0].Relation.Contents = append(kv.Values[0].Relation.Contents, blocks[blockID])
|
||||
}
|
||||
}
|
||||
}
|
||||
case av.KeyTypeCreated:
|
||||
createdStr := blockID[:len("20060102150405")]
|
||||
created, parseErr := time.ParseInLocation("20060102150405", createdStr, time.Local)
|
||||
|
|
@ -673,10 +700,19 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
|
|||
content := renderTemplateCol(ial, cell.Value.Template.Content, keyValues)
|
||||
cell.Value.Template.Content = content
|
||||
case av.KeyTypeRelation: // 渲染关联列
|
||||
|
||||
//for _, blockID := range cell.Value.Relation.BlockIDs {
|
||||
//
|
||||
//}
|
||||
relKey, _ := attrView.GetKey(cell.Value.KeyID)
|
||||
if nil != relKey && nil != relKey.Relation {
|
||||
destAv, _ := av.ParseAttributeView(relKey.Relation.AvID)
|
||||
if nil != destAv {
|
||||
blocks := map[string]string{}
|
||||
for _, blockValue := range destAv.GetBlockKeyValues().Values {
|
||||
blocks[blockValue.BlockID] = blockValue.Block.Content
|
||||
}
|
||||
for _, blockID := range cell.Value.Relation.BlockIDs {
|
||||
cell.Value.Relation.Contents = append(cell.Value.Relation.Contents, blocks[blockID])
|
||||
}
|
||||
}
|
||||
}
|
||||
case av.KeyTypeCreated: // 渲染创建时间
|
||||
createdStr := row.ID[:len("20060102150405")]
|
||||
created, parseErr := time.ParseInLocation("20060102150405", createdStr, time.Local)
|
||||
|
|
|
|||
|
|
@ -52,9 +52,9 @@ func createDocsByHPath(boxID, hPath, content, parentID, id string /* id 参数
|
|||
return
|
||||
}
|
||||
} else {
|
||||
retID = ast.NewNodeID()
|
||||
if "" == id {
|
||||
id = ast.NewNodeID()
|
||||
retID = id
|
||||
id = retID
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -95,10 +95,12 @@ func createDocsByHPath(boxID, hPath, content, parentID, id string /* id 参数
|
|||
root = hpathBtMap[hp]
|
||||
isNotLast := i < len(parts)-1
|
||||
if nil == root {
|
||||
if "" == retID {
|
||||
retID = ast.NewNodeID()
|
||||
rootID := ast.NewNodeID()
|
||||
if i == len(parts)-1 {
|
||||
rootID = retID
|
||||
}
|
||||
pathBuilder.WriteString(retID)
|
||||
|
||||
pathBuilder.WriteString(rootID)
|
||||
docP := pathBuilder.String() + ".sy"
|
||||
if isNotLast {
|
||||
if _, err = createDoc(boxID, docP, part, ""); nil != err {
|
||||
|
|
@ -118,9 +120,6 @@ func createDocsByHPath(boxID, hPath, content, parentID, id string /* id 参数
|
|||
}
|
||||
}
|
||||
} else {
|
||||
if "" == retID {
|
||||
retID = root.ID
|
||||
}
|
||||
pathBuilder.WriteString(root.ID)
|
||||
if !isNotLast {
|
||||
pathBuilder.WriteString(".sy")
|
||||
|
|
|
|||
|
|
@ -724,6 +724,20 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
|
|||
}
|
||||
content := renderTemplateCol(ial, cell.Value.Template.Content, keyValues)
|
||||
cell.Value.Template.Content = content
|
||||
case av.KeyTypeRelation: // 渲染关联列
|
||||
relKey, _ := attrView.GetKey(cell.Value.KeyID)
|
||||
if nil != relKey && nil != relKey.Relation {
|
||||
destAv, _ := av.ParseAttributeView(relKey.Relation.AvID)
|
||||
if nil != destAv {
|
||||
blocks := map[string]string{}
|
||||
for _, blockValue := range destAv.GetBlockKeyValues().Values {
|
||||
blocks[blockValue.BlockID] = blockValue.Block.Content
|
||||
}
|
||||
for _, blockID := range cell.Value.Relation.BlockIDs {
|
||||
cell.Value.Relation.Contents = append(cell.Value.Relation.Contents, blocks[blockID])
|
||||
}
|
||||
}
|
||||
}
|
||||
case av.KeyTypeCreated: // 渲染创建时间
|
||||
createdStr := row.ID[:len("20060102150405")]
|
||||
created, parseErr := time.ParseInLocation("20060102150405", createdStr, time.Local)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue