This commit is contained in:
Daniel 2025-08-22 11:17:57 +08:00
parent 76266cac87
commit cd2b131dc9
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
2 changed files with 20 additions and 8 deletions

View file

@ -65,6 +65,8 @@ func (value *Value) SetUpdatedAt(mills int64) {
} }
} }
const CheckboxCheckedStr = "√"
func (value *Value) String(format bool) string { func (value *Value) String(format bool) string {
if nil == value { if nil == value {
return "" return ""
@ -153,7 +155,7 @@ func (value *Value) String(format bool) string {
return "" return ""
} }
if value.Checkbox.Checked { if value.Checkbox.Checked {
return "√" return CheckboxCheckedStr
} }
return "" return ""
case KeyTypeRelation: case KeyTypeRelation:

View file

@ -557,11 +557,21 @@ func SetAttributeViewGroup(avID, blockID string, group *av.ViewGroup) (err error
} }
} }
if firstInit || changeGroupField { if firstInit || changeGroupField { // 首次设置分组时
if groupKey := view.GetGroupKey(attrView); nil != groupKey && (av.KeyTypeSelect == groupKey.Type || av.KeyTypeMSelect == groupKey.Type) { if groupKey := view.GetGroupKey(attrView); nil != groupKey {
// 首次设置分组时,如果分组字段是单选或多选类型,则将分组方式改为按选项排序 https://github.com/siyuan-note/siyuan/issues/15534 if av.KeyTypeSelect == groupKey.Type || av.KeyTypeMSelect == groupKey.Type {
// 如果分组字段是单选或多选,则将分组排序方式改为按选项排序 https://github.com/siyuan-note/siyuan/issues/15534
view.Group.Order = av.GroupOrderSelectOption view.Group.Order = av.GroupOrderSelectOption
sortGroupsBySelectOption(view, groupKey) sortGroupsBySelectOption(view, groupKey)
} else if av.KeyTypeCheckbox == groupKey.Type {
// 如果分组字段是复选框,则将分组排序改为手动排序,并且已勾选在前面
view.Group.Order = av.GroupOrderMan
checked := view.GetGroupByGroupValue(av.CheckboxCheckedStr)
unchecked := view.GetGroupByGroupValue("")
view.Groups = nil
view.Groups = append(view.Groups, checked, unchecked)
}
} }
for i, g := range view.Groups { for i, g := range view.Groups {
@ -1857,8 +1867,8 @@ func genAttrViewGroups(view *av.View, attrView *av.AttributeView) {
if nil == groupItemsMap[""] { if nil == groupItemsMap[""] {
groupItemsMap[""] = []av.Item{} groupItemsMap[""] = []av.Item{}
} }
if nil == groupItemsMap["√"] { if nil == groupItemsMap[av.CheckboxCheckedStr] {
groupItemsMap["√"] = []av.Item{} groupItemsMap[av.CheckboxCheckedStr] = []av.Item{}
} }
} }