Skip to content

Commit

Permalink
🎨 Improve database block/text/asset/template/relation/rollup field so…
Browse files Browse the repository at this point in the history
…rting #12454
  • Loading branch information
88250 committed Sep 14, 2024
1 parent 89f46b8 commit 3a9fb0d
Showing 1 changed file with 24 additions and 6 deletions.
30 changes: 24 additions & 6 deletions kernel/av/sort.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,10 @@ func (value *Value) Compare(other *Value, attrView *AttributeView) int {
switch value.Type {
case KeyTypeBlock:
if nil != value.Block && nil != other.Block {
return strings.Compare(value.Block.Content, other.Block.Content)
if util.PinYinCompare(value.Block.Content, other.Block.Content) {
return -1
}
return 1
}
case KeyTypeText:
if nil != value.Text && nil != other.Text {
Expand All @@ -56,7 +59,10 @@ func (value *Value) Compare(other *Value, attrView *AttributeView) int {
} else if "" == other.Text.Content {
return -1
}
return strings.Compare(value.Text.Content, other.Text.Content)
if util.PinYinCompare(value.Text.Content, other.Text.Content) {
return -1
}
return 1
}
case KeyTypeNumber:
if nil != value.Number && nil != other.Number {
Expand Down Expand Up @@ -223,7 +229,10 @@ func (value *Value) Compare(other *Value, attrView *AttributeView) int {
for _, v := range other.MAsset {
v2 += v.Content
}
return strings.Compare(v1, v2)
if util.PinYinCompare(v1, v2) {
return -1
}
return 1
}
case KeyTypeTemplate:
if nil != value.Template && nil != other.Template {
Expand All @@ -238,7 +247,10 @@ func (value *Value) Compare(other *Value, attrView *AttributeView) int {
}
return 0
}
return strings.Compare(value.Template.Content, other.Template.Content)
if util.PinYinCompare(value.Template.Content, other.Template.Content) {
return -1
}
return 1
}
case KeyTypeCheckbox:
if nil != value.Checkbox && nil != other.Checkbox {
Expand Down Expand Up @@ -278,7 +290,10 @@ func (value *Value) Compare(other *Value, attrView *AttributeView) int {
oContentBuf.WriteByte(' ')
}
oContent := strings.TrimSpace(oContentBuf.String())
return strings.Compare(vContent, oContent)
if util.PinYinCompare(vContent, oContent) {
return -1
}
return 1
}
case KeyTypeRollup:
if nil != value.Rollup && nil != other.Rollup {
Expand Down Expand Up @@ -308,7 +323,10 @@ func (value *Value) Compare(other *Value, attrView *AttributeView) int {
oContentBuf.WriteByte(' ')
}
oContent := strings.TrimSpace(oContentBuf.String())
return strings.Compare(vContent, oContent)
if util.PinYinCompare(vContent, oContent) {
return -1
}
return 1
}
}
return 0
Expand Down

0 comments on commit 3a9fb0d

Please sign in to comment.