mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-09-22 00:20:47 +02:00
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
bf3023ec48
4 changed files with 27 additions and 6 deletions
|
@ -229,7 +229,7 @@ export const getGroupsHTML = (columns: IAVColumn[], view: IAVView) => {
|
|||
<span class="b3-menu__accelerator">${getLanguageByIndex(view.group.order, "sort")}</span>
|
||||
<svg class="b3-menu__icon b3-menu__icon--small"><use xlink:href="#iconRight"></use></svg>
|
||||
</button>
|
||||
<label class="b3-menu__item${["select", "mSelect"].includes(column.type) ? "" : " fn__none"}">
|
||||
<label class="b3-menu__item">
|
||||
<span class="fn__flex-center">${window.siyuan.languages.hideEmptyGroup}</span>
|
||||
<span class="fn__space fn__flex-1"></span>
|
||||
<input type="checkbox" class="b3-switch b3-switch--menu"${view.group.hideEmpty ? " checked" : ""}>
|
||||
|
|
|
@ -395,7 +395,7 @@ func (value *Value) filter(other *Value, relativeDate, relativeDate2 *RelativeDa
|
|||
}
|
||||
case KeyTypeEmail:
|
||||
if nil != value.Email && nil != other && nil != other.Email {
|
||||
return filterTextContent(operator, value.Email.Content, other.URL.Content)
|
||||
return filterTextContent(operator, value.Email.Content, other.Email.Content)
|
||||
}
|
||||
case KeyTypePhone:
|
||||
if nil != value.Phone && nil != other && nil != other.Phone {
|
||||
|
|
|
@ -173,7 +173,9 @@ func getAttrViewAddingBlockDefaultValues(attrView *av.AttributeView, view, group
|
|||
|
||||
if nil != newValue {
|
||||
if !av.MSelectExistOption(newValue.MSelect, groupView.GetGroupValue()) {
|
||||
newValue.MSelect = append(newValue.MSelect, &av.ValueSelect{Content: opt.Name, Color: opt.Color})
|
||||
if 1 > len(newValue.MSelect) || av.KeyTypeMSelect == groupKey.Type {
|
||||
newValue.MSelect = append(newValue.MSelect, &av.ValueSelect{Content: opt.Name, Color: opt.Color})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
newValue = av.GetAttributeViewDefaultValue(ast.NewNodeID(), groupKey.ID, addingItemID, groupKey.Type)
|
||||
|
@ -207,6 +209,12 @@ func getAttrViewAddingBlockDefaultValues(attrView *av.AttributeView, view, group
|
|||
return
|
||||
}
|
||||
|
||||
if nil != nearItem && filterKeyIDs[groupKey.ID] {
|
||||
// 临近项不为空并且分组字段和过滤字段相同时,优先使用临近项 https://github.com/siyuan-note/siyuan/issues/15591
|
||||
ret[groupKey.ID] = getNewValueByNearItem(nearItem, groupKey, addingItemID)
|
||||
return
|
||||
}
|
||||
|
||||
if nil != newValue && !filterKeyIDs[groupKey.ID] /* 命中了过滤条件的话就不重复处理了 */ {
|
||||
ret[groupKey.ID] = newValue
|
||||
}
|
||||
|
@ -1797,6 +1805,11 @@ func genAttrViewGroups(view *av.View, attrView *av.AttributeView) {
|
|||
}
|
||||
}
|
||||
|
||||
if 1 > len(groupItemsMap[groupValueDefault]) {
|
||||
// 始终保留默认分组 https://github.com/siyuan-note/siyuan/issues/15587
|
||||
groupItemsMap[groupValueDefault] = []av.Item{}
|
||||
}
|
||||
|
||||
for groupValue, groupItems := range groupItemsMap {
|
||||
var v *av.View
|
||||
switch view.LayoutType {
|
||||
|
@ -1816,7 +1829,8 @@ func genAttrViewGroups(view *av.View, attrView *av.AttributeView) {
|
|||
v.GroupItemIDs = append(v.GroupItemIDs, item.GetID())
|
||||
}
|
||||
|
||||
v.Name = "" // 分组视图的名称在渲染时才填充
|
||||
v.Name = "" // 分组视图的名称在渲染时才填充
|
||||
v.GroupHidden = 1 // 默认隐藏空白分组
|
||||
v.GroupKey = groupKey
|
||||
v.GroupVal = &av.Value{Type: av.KeyTypeText, Text: &av.ValueText{Content: groupValue}}
|
||||
if av.KeyTypeSelect == groupKey.Type || av.KeyTypeMSelect == groupKey.Type {
|
||||
|
@ -4812,6 +4826,10 @@ func removeAttributeViewColumnOption(operation *Operation) (err error) {
|
|||
}
|
||||
|
||||
if nil != filter.Value && (av.KeyTypeSelect == filter.Value.Type || av.KeyTypeMSelect == filter.Value.Type) {
|
||||
if av.FilterOperatorIsEmpty == filter.Operator || av.FilterOperatorIsNotEmpty == filter.Operator {
|
||||
continue
|
||||
}
|
||||
|
||||
for i, opt := range filter.Value.MSelect {
|
||||
if optName == opt.Content {
|
||||
filter.Value.MSelect = append(filter.Value.MSelect[:i], filter.Value.MSelect[i+1:]...)
|
||||
|
|
|
@ -185,11 +185,14 @@ func hideEmptyGroupViews(view *av.View, viewable av.Viewable) {
|
|||
}
|
||||
|
||||
if !view.Group.HideEmpty {
|
||||
if 2 != viewable.GetGroupHidden() {
|
||||
viewable.SetGroupHidden(0)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if 2 != viewable.GetGroupHidden() && 1 > viewable.(av.Collection).CountItems() {
|
||||
viewable.SetGroupHidden(1)
|
||||
if 1 == viewable.GetGroupHidden() && 0 < viewable.(av.Collection).CountItems() {
|
||||
viewable.SetGroupHidden(0)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue