diff --git a/kernel/av/filter.go b/kernel/av/filter.go index c47dc17fd..61fd32293 100644 --- a/kernel/av/filter.go +++ b/kernel/av/filter.go @@ -287,9 +287,15 @@ func (value *Value) Filter(filter *ViewFilter, attrView *AttributeView, itemID s for _, asset := range value.MAsset { switch asset.Type { case AssetTypeFile: - if filterTextContent(filter.Operator, asset.Name, filter.Value.MAsset[0].Content) || - filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) { - return false + if "" != strings.TrimSpace(asset.Name) { + if filterTextContent(filter.Operator, asset.Name, filter.Value.MAsset[0].Content) { + return false + } + } + if "" != strings.TrimSpace(asset.Content) { + if filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) { + return false + } } case AssetTypeImage: if filterTextContent(filter.Operator, asset.Content, filter.Value.MAsset[0].Content) { diff --git a/kernel/model/attribute_view.go b/kernel/model/attribute_view.go index 86c79dfeb..64c308232 100644 --- a/kernel/model/attribute_view.go +++ b/kernel/model/attribute_view.go @@ -186,6 +186,15 @@ func getAttrViewAddingBlockDefaultValues(attrView *av.AttributeView, view, group continue } + if av.KeyTypeMAsset == keyValues.Key.Type { + if nil != nearItem { + if _, ok := ret[keyValues.Key.ID]; !ok { + ret[keyValues.Key.ID] = getNewValueByNearItem(nearItem, keyValues.Key, addingItemID) + } + } + return + } + newValue := filter.GetAffectValue(keyValues.Key, addingItemID) if nil == newValue { newValue = getNewValueByNearItem(nearItem, keyValues.Key, addingItemID)