diff --git a/kernel/api/av.go b/kernel/api/av.go index b311f4dbb..08113560c 100644 --- a/kernel/api/av.go +++ b/kernel/api/av.go @@ -606,8 +606,16 @@ func setAttributeViewBlockAttr(c *gin.Context) { rowID := arg["rowID"].(string) cellID := arg["cellID"].(string) value := arg["value"].(interface{}) - blockAttributeViewKeys := model.UpdateAttributeViewCell(nil, avID, keyID, rowID, cellID, value) - ret.Data = blockAttributeViewKeys + updatedVal, err := model.UpdateAttributeViewCell(nil, avID, keyID, rowID, cellID, value) + if err != nil { + ret.Code = -1 + ret.Msg = err.Error() + return + } + + ret.Data = map[string]interface{}{ + "value": updatedVal, + } model.ReloadAttrView(avID) } diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 9c59f50ec..c98a67181 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -2978,11 +2978,11 @@ func (tx *Transaction) doUpdateAttrViewCell(operation *Operation) (ret *TxErr) { } func updateAttributeViewCell(operation *Operation, tx *Transaction) (err error) { - err = UpdateAttributeViewCell(tx, operation.AvID, operation.KeyID, operation.RowID, operation.ID, operation.Data) + _, err = UpdateAttributeViewCell(tx, operation.AvID, operation.KeyID, operation.RowID, operation.ID, operation.Data) return } -func UpdateAttributeViewCell(tx *Transaction, avID, keyID, rowID, cellID string, valueData interface{}) (err error) { +func UpdateAttributeViewCell(tx *Transaction, avID, keyID, rowID, cellID string, valueData interface{}) (val *av.Value, err error) { attrView, err := av.ParseAttributeView(avID) if err != nil { return @@ -3002,7 +3002,6 @@ func UpdateAttributeViewCell(tx *Transaction, avID, keyID, rowID, cellID string, } now := time.Now().UnixMilli() - var val *av.Value oldIsDetached := true if nil != blockVal { oldIsDetached = blockVal.IsDetached