Use custom filter in TableEditor for both models, to keep it consistent.

This commit is contained in:
ceikry 2022-09-05 12:17:02 -05:00
parent d98bc6ceb6
commit be0bca9317
2 changed files with 11 additions and 10 deletions

View file

@ -2,7 +2,7 @@ import com.github.weisj.darklaf.LafManager
import com.github.weisj.darklaf.theme.OneDarkTheme
object EditorConstants {
var BUILD_NUMBER = "1.5.2"
var BUILD_NUMBER = "1.5.3"
var DARK_MODE = true

View file

@ -207,6 +207,7 @@ class TableEditor(val editor: Editors) : JFrame("Editing ${editor.name.replace("
private fun filter() {
val regex = Regex("(?i)${searchField.text}")
if (editor == Editors.OBJECT_CONFIGS) {
var rf: RowFilter<DefaultTableModel?, Any?>? = null
//If current expression doesn't parse, don't update.
rf = try {
@ -214,16 +215,16 @@ class TableEditor(val editor: Editors) : JFrame("Editing ${editor.name.replace("
} catch (e: PatternSyntaxException) {
return
}
if (editor == Editors.OBJECT_CONFIGS) {
sorter.rowFilter = rf
} else {
rowHeaderSorter.rowFilter = rf
sorter.rowFilter = object : RowFilter<DefaultTableModel, Any>() {
val filter = object : RowFilter<DefaultTableModel, Any>() {
override fun include(p0: Entry<out DefaultTableModel, out Any>?): Boolean {
val rowId: Int = p0?.identifier as? Int ?: return false
return regex.containsMatchIn(getData()[rowId]["name"].toString())
}
}
rowHeaderSorter.rowFilter = filter
sorter.rowFilter = filter
}
}