This commit is contained in:
Daniel 2025-06-09 22:26:08 +08:00
parent 90c23714fb
commit 81c7931e0f
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 32 additions and 0 deletions

View file

@ -44,6 +44,36 @@ import (
"github.com/xrash/smetrics"
)
func (tx *Transaction) doSetAttrViewCoverFrom(operation *Operation) (ret *TxErr) {
err := setAttrViewCoverFrom(operation)
if err != nil {
return &TxErr{code: TxErrWriteAttributeView, id: operation.AvID, msg: err.Error()}
}
return
}
func setAttrViewCoverFrom(operation *Operation) (err error) {
attrView, err := av.ParseAttributeView(operation.AvID)
if err != nil {
return
}
view, err := getAttrViewViewByBlockID(attrView, operation.BlockID)
if err != nil {
return
}
switch view.LayoutType {
case av.LayoutTypeTable:
return
case av.LayoutTypeGallery:
view.Gallery.CoverFrom = av.CoverFrom(operation.Data.(float64))
}
err = av.SaveAttributeView(attrView)
return
}
func AppendAttributeViewDetachedBlocksWithValues(avID string, blocksValues [][]*av.Value) (err error) {
attrView, err := av.ParseAttributeView(avID)
if err != nil {

View file

@ -278,6 +278,8 @@ func performTx(tx *Transaction) (ret *TxErr) {
ret = tx.doUnbindAttrViewBlock(op)
case "duplicateAttrViewKey":
ret = tx.doDuplicateAttrViewKey(op)
case "setAttrViewCoverFrom":
ret = tx.doSetAttrViewCoverFrom(op)
}
if nil != ret {