[优化] 替换规则的搜索可以搜索更多内容

This commit is contained in:
HapeLee
2026-03-21 04:18:55 +08:00
parent 29ec76481a
commit 30414cfe15
2 changed files with 15 additions and 4 deletions
@@ -69,7 +69,7 @@ abstract class BaseRuleViewModel<T : SelectableItem<ID>, Entity, ID, S : ListUiS
open fun filterData(data: List<Entity>, searchKey: String, groupFilter: String): List<Entity> {
@Suppress("DEPRECATION")
return filterData(data, if (groupFilter.isNotEmpty()) groupFilter else searchKey)
return filterData(data, groupFilter.ifEmpty { searchKey })
}
@OptIn(FlowPreview::class)
@@ -102,9 +102,20 @@ class ReplaceRuleViewModel(
}
}
override fun filterData(data: List<ReplaceRule>, key: String): List<ReplaceRule> =
if (key.isEmpty()) data
else data.filter { it.name.contains(key, ignoreCase = true) }
override fun filterData(
data: List<ReplaceRule>,
searchKey: String,
groupFilter: String
): List<ReplaceRule> {
return if (searchKey.isEmpty() && groupFilter.isEmpty()) data
else data.filter {
val key = searchKey.ifEmpty { groupFilter }
it.name.contains(key, ignoreCase = true)
|| it.pattern.contains(key, ignoreCase = true)
|| it.replacement.contains(key, ignoreCase = true)
|| it.scope?.contains(key, ignoreCase = true) == true
}
}
override fun composeUiState(