🎨 Improve db tv relation render

This commit is contained in:
Daniel 2024-03-07 16:11:58 +08:00
parent 5bcfdcbf8c
commit 5700a9f18a
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
4 changed files with 11 additions and 11 deletions

View file

@ -300,7 +300,7 @@ func (filter *ViewFilter) GetAffectValue(key *Key, defaultVal *Value) (ret *Valu
}
case FilterOperatorDoesNotContain:
case FilterOperatorIsEmpty:
ret.Relation = &ValueRelation{Contents: []string{}}
ret.Relation = &ValueRelation{Contents: []*Value{}}
case FilterOperatorIsNotEmpty:
}
}

View file

@ -141,16 +141,16 @@ func (value *Value) String() string {
}
return ""
case KeyTypeRelation:
if 1 > len(value.Relation.Contents) {
if nil == value.Relation || 1 > len(value.Relation.Contents) {
return ""
}
var ret []string
for _, v := range value.Relation.Contents {
ret = append(ret, v)
ret = append(ret, v.String())
}
return strings.TrimSpace(strings.Join(ret, ", "))
case KeyTypeRollup:
if nil == value.Rollup || nil == value.Rollup.Contents {
if nil == value.Rollup || 1 > len(value.Rollup.Contents) {
return ""
}
var ret []string
@ -648,8 +648,8 @@ type ValueCheckbox struct {
}
type ValueRelation struct {
Contents []string `json:"contents"`
BlockIDs []string `json:"blockIDs"`
Contents []*Value `json:"contents"`
}
type ValueRollup struct {

View file

@ -403,9 +403,9 @@ func GetBlockAttributeViewKeys(blockID string) (ret []*BlockAttributeViewKeys) {
break
}
blocks := map[string]string{}
blocks := map[string]*av.Value{}
for _, blockValue := range destAv.GetBlockKeyValues().Values {
blocks[blockValue.BlockID] = blockValue.Block.Content
blocks[blockValue.BlockID] = blockValue
}
for _, bID := range kv.Values[0].Relation.BlockIDs {
kv.Values[0].Relation.Contents = append(kv.Values[0].Relation.Contents, blocks[bID])
@ -1029,9 +1029,9 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
if nil != relKey && nil != relKey.Relation {
destAv, _ := av.ParseAttributeView(relKey.Relation.AvID)
if nil != destAv {
blocks := map[string]string{}
blocks := map[string]*av.Value{}
for _, blockValue := range destAv.GetBlockKeyValues().Values {
blocks[blockValue.BlockID] = blockValue.Block.Content
blocks[blockValue.BlockID] = blockValue
}
for _, blockID := range cell.Value.Relation.BlockIDs {
cell.Value.Relation.Contents = append(cell.Value.Relation.Contents, blocks[blockID])

View file

@ -827,9 +827,9 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
if nil != relKey && nil != relKey.Relation {
destAv, _ := av.ParseAttributeView(relKey.Relation.AvID)
if nil != destAv {
blocks := map[string]string{}
blocks := map[string]*av.Value{}
for _, blockValue := range destAv.GetBlockKeyValues().Values {
blocks[blockValue.BlockID] = blockValue.Block.Content
blocks[blockValue.BlockID] = blockValue
}
for _, blockID := range cell.Value.Relation.BlockIDs {
cell.Value.Relation.Contents = append(cell.Value.Relation.Contents, blocks[blockID])