This commit is contained in:
Daniel 2025-07-27 19:50:14 +08:00
parent cf0467a7ac
commit 15a17393b3
No known key found for this signature in database
GPG key ID: 86211BA83DF03017

View file

@ -1606,10 +1606,7 @@ func genAttrViewViewGroups(view *av.View, attrView *av.AttributeView) {
case av.GroupMethodValue: case av.GroupMethodValue:
if av.GroupOrderMan != group.Order { if av.GroupOrderMan != group.Order {
sort.SliceStable(items, func(i, j int) bool { sort.SliceStable(items, func(i, j int) bool {
if av.GroupOrderAsc == group.Order { return items[i].GetValue(group.Field).String(false) < items[j].GetValue(group.Field).String(false)
return items[i].GetValue(group.Field).String(false) < items[j].GetValue(group.Field).String(false)
}
return items[i].GetValue(group.Field).String(false) > items[j].GetValue(group.Field).String(false)
}) })
} }
case av.GroupMethodRangeNum: case av.GroupMethodRangeNum:
@ -1619,17 +1616,11 @@ func genAttrViewViewGroups(view *av.View, attrView *av.AttributeView) {
rangeStart, rangeEnd = group.Range.NumStart, group.Range.NumStart+group.Range.NumStep rangeStart, rangeEnd = group.Range.NumStart, group.Range.NumStart+group.Range.NumStep
sort.SliceStable(items, func(i, j int) bool { sort.SliceStable(items, func(i, j int) bool {
if av.GroupOrderAsc == group.Order { return items[i].GetValue(group.Field).Number.Content < items[j].GetValue(group.Field).Number.Content
return items[i].GetValue(group.Field).Number.Content < items[j].GetValue(group.Field).Number.Content
}
return items[i].GetValue(group.Field).Number.Content > items[j].GetValue(group.Field).Number.Content
}) })
case av.GroupMethodDateDay, av.GroupMethodDateWeek, av.GroupMethodDateMonth, av.GroupMethodDateYear, av.GroupMethodDateRelative: case av.GroupMethodDateDay, av.GroupMethodDateWeek, av.GroupMethodDateMonth, av.GroupMethodDateYear, av.GroupMethodDateRelative:
sort.SliceStable(items, func(i, j int) bool { sort.SliceStable(items, func(i, j int) bool {
if av.GroupOrderAsc == group.Order { return items[i].GetValue(group.Field).Date.Content < items[j].GetValue(group.Field).Date.Content
return items[i].GetValue(group.Field).Date.Content < items[j].GetValue(group.Field).Date.Content
}
return items[i].GetValue(group.Field).Date.Content > items[j].GetValue(group.Field).Date.Content
}) })
} }
@ -1761,10 +1752,11 @@ func genAttrViewViewGroups(view *av.View, attrView *av.AttributeView) {
if av.GroupOrderMan != view.Group.Order { if av.GroupOrderMan != view.Group.Order {
sort.SliceStable(view.Groups, func(i, j int) bool { sort.SliceStable(view.Groups, func(i, j int) bool {
iName, jName := view.Groups[i].Name, view.Groups[j].Name
if av.GroupOrderAsc == view.Group.Order { if av.GroupOrderAsc == view.Group.Order {
return view.Groups[i].Name < view.Groups[j].Name return util.NaturalCompare(iName, jName)
} }
return view.Groups[i].Name > view.Groups[j].Name return !util.NaturalCompare(iName, jName)
}) })
} }