Allow saving of HBrowse queries

This commit is contained in:
NerdNumber9 2019-08-13 00:13:04 -04:00
parent 141edac99b
commit 1c4a8046d0
2 changed files with 22 additions and 0 deletions

View File

@ -10,6 +10,9 @@ import kotlin.reflect.full.isSubclassOf
class FilterSerializer {
val serializers = listOf<Serializer<*>>(
// EXH -->
HelpDialogSerializer(this),
// EXH <--
HeaderSerializer(this),
SeparatorSerializer(this),
SelectSerializer(this),

View File

@ -25,6 +25,25 @@ interface Serializer<in T : Filter<out Any?>> {
val clazz: KClass<in T>
}
// EXH -->
class HelpDialogSerializer(override val serializer: FilterSerializer) : Serializer<Filter.HelpDialog> {
override val type = "HELP_DIALOG"
override val clazz = Filter.HelpDialog::class
override fun mappings() = listOf(
Pair(NAME, Filter.HelpDialog::name),
Pair(DIALOG_TITLE, Filter.HelpDialog::dialogTitle),
Pair(MARKDOWN, Filter.HelpDialog::markdown)
)
companion object {
const val NAME = "name"
const val DIALOG_TITLE = "dialogTitle"
const val MARKDOWN = "markdown"
}
}
// EXH <--
class HeaderSerializer(override val serializer: FilterSerializer) : Serializer<Filter.Header> {
override val type = "HEADER"
override val clazz = Filter.Header::class