R/module_motif_filter.R

Defines functions server_motif_filter ui_motif_filter

#' @importFrom shinyhelper helper
ui_motif_filter <- function(id) {
  ns <- NS(id)
  tagList(
    uiOutput(
      outputId = ns("warning_incorrect"),
      class = "ag-motif-incorrect"
    ),
    helper(
      textInput(ns("value"), "Filter by motif", placeholder = "^LXXA"),
      type = "markdown",
      content = "motif"
    )
  )
}

server_motif_filter <- function(id) {
  moduleServer(id, function(input, output, session) {
    motif <- reactive({
      structure(
        input[["value"]],
        correct = correct_motif(input[["value"]]),
        class = c("ag_motif", "character")
      )
    })
    
    output[["warning_incorrect"]] <- renderUI({
      if (is_valid(motif())) HTML("") else HTML("Incorrect motif provided!")
    })
    
    motif
  })
}
KotulskaLab/AmyloGraph documentation built on June 30, 2023, 8:48 p.m.