mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Allow saving of HBrowse queries
This commit is contained in:
		@@ -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),
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user