diff --git a/kernel/sql/av_table.go b/kernel/sql/av_table.go index 4dd5d9117..8db8ebb34 100644 --- a/kernel/sql/av_table.go +++ b/kernel/sql/av_table.go @@ -121,19 +121,19 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s avCache := map[string]*av.AttributeView{} avCache[attrView.ID] = attrView for _, row := range ret.Rows { - for _, cell := range row.Cells { - switch cell.ValueType { + for _, value := range row.Cells { + switch value.ValueType { case av.KeyTypeBlock: // 对于主键可能需要填充静态锚文本 Database-bound block primary key supports setting static anchor text https://github.com/siyuan-note/siyuan/issues/10049 - if nil != cell.Value.Block { + if nil != value.Value.Block { for k, v := range ials[row.ID] { if k == av.NodeAttrViewStaticText+"-"+attrView.ID { - cell.Value.Block.Content = v + value.Value.Block.Content = v break } } } case av.KeyTypeRollup: // 渲染汇总列 - rollupKey, _ := attrView.GetKey(cell.Value.KeyID) + rollupKey, _ := attrView.GetKey(value.Value.KeyID) if nil == rollupKey || nil == rollupKey.Rollup { break } @@ -179,18 +179,18 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s destVal.Number.FormatNumber() } - cell.Value.Rollup.Contents = append(cell.Value.Rollup.Contents, destVal.Clone()) + value.Value.Rollup.Contents = append(value.Value.Rollup.Contents, destVal.Clone()) } - cell.Value.Rollup.RenderContents(rollupKey.Rollup.Calc, destKey) + value.Value.Rollup.RenderContents(rollupKey.Rollup.Calc, destKey) // 将汇总列的值保存到 rowsValues 中,后续渲染模板列的时候会用到,下同 // Database table view template columns support reading relation, rollup, created and updated columns https://github.com/siyuan-note/siyuan/issues/10442 keyValues := rowsValues[row.ID] - keyValues = append(keyValues, &av.KeyValues{Key: rollupKey, Values: []*av.Value{{ID: cell.Value.ID, KeyID: rollupKey.ID, BlockID: row.ID, Type: av.KeyTypeRollup, Rollup: cell.Value.Rollup}}}) + keyValues = append(keyValues, &av.KeyValues{Key: rollupKey, Values: []*av.Value{{ID: value.Value.ID, KeyID: rollupKey.ID, BlockID: row.ID, Type: av.KeyTypeRollup, Rollup: value.Value.Rollup}}}) rowsValues[row.ID] = keyValues case av.KeyTypeRelation: // 渲染关联列 - relKey, _ := attrView.GetKey(cell.Value.KeyID) + relKey, _ := attrView.GetKey(value.Value.KeyID) if nil != relKey && nil != relKey.Relation { destAv := avCache[relKey.Relation.AvID] if nil == destAv { @@ -206,9 +206,9 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s for _, blockValue := range blockValues.Values { blocks[blockValue.BlockID] = blockValue } - for _, blockID := range cell.Value.Relation.BlockIDs { + for _, blockID := range value.Value.Relation.BlockIDs { if val := blocks[blockID]; nil != val { - cell.Value.Relation.Contents = append(cell.Value.Relation.Contents, val) + value.Value.Relation.Contents = append(value.Value.Relation.Contents, val) } } } @@ -216,21 +216,21 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s } keyValues := rowsValues[row.ID] - keyValues = append(keyValues, &av.KeyValues{Key: relKey, Values: []*av.Value{{ID: cell.Value.ID, KeyID: relKey.ID, BlockID: row.ID, Type: av.KeyTypeRelation, Relation: cell.Value.Relation}}}) + keyValues = append(keyValues, &av.KeyValues{Key: relKey, Values: []*av.Value{{ID: value.Value.ID, KeyID: relKey.ID, BlockID: row.ID, Type: av.KeyTypeRelation, Relation: value.Value.Relation}}}) rowsValues[row.ID] = keyValues case av.KeyTypeCreated: // 渲染创建时间 createdStr := row.ID[:len("20060102150405")] created, parseErr := time.ParseInLocation("20060102150405", createdStr, time.Local) if nil == parseErr { - cell.Value.Created = av.NewFormattedValueCreated(created.UnixMilli(), 0, av.CreatedFormatNone) - cell.Value.Created.IsNotEmpty = true + value.Value.Created = av.NewFormattedValueCreated(created.UnixMilli(), 0, av.CreatedFormatNone) + value.Value.Created.IsNotEmpty = true } else { - cell.Value.Created = av.NewFormattedValueCreated(time.Now().UnixMilli(), 0, av.CreatedFormatNone) + value.Value.Created = av.NewFormattedValueCreated(time.Now().UnixMilli(), 0, av.CreatedFormatNone) } keyValues := rowsValues[row.ID] - createdKey, _ := attrView.GetKey(cell.Value.KeyID) - keyValues = append(keyValues, &av.KeyValues{Key: createdKey, Values: []*av.Value{{ID: cell.Value.ID, KeyID: createdKey.ID, BlockID: row.ID, Type: av.KeyTypeCreated, Created: cell.Value.Created}}}) + createdKey, _ := attrView.GetKey(value.Value.KeyID) + keyValues = append(keyValues, &av.KeyValues{Key: createdKey, Values: []*av.Value{{ID: value.Value.ID, KeyID: createdKey.ID, BlockID: row.ID, Type: av.KeyTypeCreated, Created: value.Value.Created}}}) rowsValues[row.ID] = keyValues case av.KeyTypeUpdated: // 渲染更新时间 ial := ials[row.ID] @@ -240,21 +240,21 @@ func RenderAttributeViewTable(attrView *av.AttributeView, view *av.View, query s block := row.GetBlockValue() updatedStr := ial["updated"] if "" == updatedStr && nil != block { - cell.Value.Updated = av.NewFormattedValueUpdated(block.Block.Updated, 0, av.UpdatedFormatNone) - cell.Value.Updated.IsNotEmpty = true + value.Value.Updated = av.NewFormattedValueUpdated(block.Block.Updated, 0, av.UpdatedFormatNone) + value.Value.Updated.IsNotEmpty = true } else { updated, parseErr := time.ParseInLocation("20060102150405", updatedStr, time.Local) if nil == parseErr { - cell.Value.Updated = av.NewFormattedValueUpdated(updated.UnixMilli(), 0, av.UpdatedFormatNone) - cell.Value.Updated.IsNotEmpty = true + value.Value.Updated = av.NewFormattedValueUpdated(updated.UnixMilli(), 0, av.UpdatedFormatNone) + value.Value.Updated.IsNotEmpty = true } else { - cell.Value.Updated = av.NewFormattedValueUpdated(time.Now().UnixMilli(), 0, av.UpdatedFormatNone) + value.Value.Updated = av.NewFormattedValueUpdated(time.Now().UnixMilli(), 0, av.UpdatedFormatNone) } } keyValues := rowsValues[row.ID] - updatedKey, _ := attrView.GetKey(cell.Value.KeyID) - keyValues = append(keyValues, &av.KeyValues{Key: updatedKey, Values: []*av.Value{{ID: cell.Value.ID, KeyID: updatedKey.ID, BlockID: row.ID, Type: av.KeyTypeUpdated, Updated: cell.Value.Updated}}}) + updatedKey, _ := attrView.GetKey(value.Value.KeyID) + keyValues = append(keyValues, &av.KeyValues{Key: updatedKey, Values: []*av.Value{{ID: value.Value.ID, KeyID: updatedKey.ID, BlockID: row.ID, Type: av.KeyTypeUpdated, Updated: value.Value.Updated}}}) rowsValues[row.ID] = keyValues } }