This commit is contained in:
Daniel 2025-09-04 16:14:38 +08:00
parent cd8c3a41e6
commit 2b85cb1b6c
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
4 changed files with 21 additions and 10 deletions

View file

@ -74,11 +74,12 @@ func RenderView(attrView *av.AttributeView, view *av.View, query string) (ret av
renderedAttrViews := map[string]*av.AttributeView{}
renderedAttrViews[attrView.ID] = attrView
ret = renderView(attrView, view, query, &depth, renderedAttrViews)
attrView.RenderedViewables[ret.GetID()] = ret
return
}
func renderView(attrView *av.AttributeView, view *av.View, query string,
depth *int, cachedAttrViews map[string]*av.AttributeView) (ret av.Viewable) {
func renderView(attrView *av.AttributeView, view *av.View, query string, depth *int, cachedAttrViews map[string]*av.AttributeView) (ret av.Viewable) {
if 7 < *depth {
return
}
@ -334,9 +335,7 @@ func fillAttributeViewBaseValue(baseValue *av.BaseValue, fieldID, itemID string,
}
}
func fillAttributeViewAutoGeneratedValues(attrView *av.AttributeView, collection av.Collection, ials map[string]map[string]string,
depth *int, cachedAttrViews map[string]*av.AttributeView) {
func fillAttributeViewAutoGeneratedValues(attrView *av.AttributeView, collection av.Collection, ials map[string]map[string]string, depth *int, cachedAttrViews map[string]*av.AttributeView) {
// 先渲染主键、创建时间、更新时间
for _, item := range collection.GetItems() {

View file

@ -18,8 +18,13 @@ import (
"github.com/siyuan-note/siyuan/kernel/util"
)
func RenderAttributeViewGallery(attrView *av.AttributeView, view *av.View, query string,
depth *int, cachedAttrViews map[string]*av.AttributeView) (ret *av.Gallery) {
func RenderAttributeViewGallery(attrView *av.AttributeView, view *av.View, query string, depth *int, cachedAttrViews map[string]*av.AttributeView) (ret *av.Gallery) {
viewable := attrView.RenderedViewables[view.ID]
if nil != viewable {
ret = viewable.(*av.Gallery)
return
}
ret = &av.Gallery{
BaseInstance: av.NewViewBaseInstance(view),
CoverFrom: view.Gallery.CoverFrom,

View file

@ -22,8 +22,13 @@ import (
"github.com/siyuan-note/siyuan/kernel/util"
)
func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query string,
depth *int, cachedAttrViews map[string]*av.AttributeView) (ret *av.Table) {
func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query string, depth *int, cachedAttrViews map[string]*av.AttributeView) (ret *av.Table) {
viewable := attrView.RenderedViewables[view.ID]
if nil != viewable {
ret = viewable.(*av.Table)
return
}
ret = &av.Table{
BaseInstance: av.NewViewBaseInstance(view),
Columns: []*av.TableColumn{},