R/uiTrendTable.R

Defines functions uiTrendTable

uiTrendTable <- function(csite) {
    
  
  fluidRow(
        shinydashboard::box(width = 3, status = "warning", title = "Settings",
                             selectInput("aggregate_select_tt", label = "Aggregate by", 
                                         choices  = sort(unique(c(csite$ui_attr$aggregate_list,"SemiAnnual"))), #Backwards compatability for adding SemiAnnual
                                         selected = csite$ui_attr$aggregate_selec, 
                                         width = "80%"),

                             selectInput("color_select_tt", label = "Show color", choices = csite$ui_attr$trend_color_list,
                                         selected = csite$ui_attr$color_select_tt, width = "80%"),
                             
                             radioButtons("trend_or_threshold", label = "Display Table",
                                          choices  = csite$ui_attr$trend_thresh_list, 
                                          selected = csite$ui_attr$trend_thresh_selected),
                            
                            selectInput("substance_select_tt", label = "Substance", choices = csite$ui_attr$solute_names,    ### ### passing all and none
                                        selected = csite$ui_attr$solute_names, width = '80%', multiple=TRUE),
                             
         ),
         shinydashboard::box(width = 9, title = "Trends & Thresholds", status = "primary",
                             #div(style = "overflow-x: auto; overflow-y: auto;",htmlOutput("trend_table"))
                             div(style = "height: 500px; overflow-y: scroll;",
                                 htmlOutput("trend_table")%>% withSpinner(color="#0dc5c1"),
                             ),
                             
                             
                             div(textOutput("note"), #style = "color: red;"
                             )
                             
                             
         ),
        
        
        tags$head(
          tags$style(
            HTML(".my-slider-div .irs-single, .my-slider-div .irs-bar-edge, .my-slider-div .irs-bar {background: #F1F1F1}
          .my-slider-div .irs-line {border-color: #4C8BC4 !important;}.my-slider-div .irs-single {background-color: #4C8BC4 !important;border-color: #4C8BC4 !important;}")
          )
                             
         ),
       
         absolutePanel(id = "timecontrol_tt", class = "panel panel-default", 
                       fixed = TRUE, draggable = TRUE, top = "auto", 
                       left = "auto", right = 10, bottom = 10,
                       width = 350, height = 130, style = "opacity: 0.90",
                       
                       div(class = "my-slider-div", style = "margin-left: 15px; margin-top: 5px;",
                           h4(textOutput("timepoint_tt_idx_label")),
                           sliderInput("timepoint_tt_idx",
                                       label="",
                                       min = 1,
                                       max = length(csite$ui_attr$timepoints),
                                       step = 1,
                                       value = csite$ui_attr$timepoint_tt_idx,
                                       animate = animationOptions(loop = TRUE, interval = 1500)
                           #             min = min(as.Date(csite$ui_attr$timepoints, "%d-%m-%Y")),   ### modifed according to the dates
                           #             max = max(as.Date(csite$ui_attr$timepoints, "%d-%m-%Y")),   ### modifed according to the dates
                           #             step = 1,
                           #             value = max(as.Date(csite$ui_attr$timepoints, "%d-%m-%Y")),  ### modifed according to the dates
                            ) 
                       )
         ), # end absolutePanel()
       
        absolutePanel(id = "trendtable_legend", class = "panel panel-default", 
                      fixed = TRUE, draggable = TRUE, top = "auto", 
                      left = "auto", right = 10, bottom = 130, style = "opacity: 0.90",
                      width = 350, height = 420,
                      htmlOutput("trend_legend")
         )              
         #
         # Collapse absolutePanel(). This works, but after moving the panel, the lower
         # edge will stick to the 'bottom' parameter and the panel's height changes.
         # Changing the height to a fixed value, collapses the include HTML legend table
         # but not the panel. 
         #
         # absolutePanel(id = "trendtable_legend", class = "panel panel-default", 
         #               fixed = TRUE, draggable = TRUE, top = "auto", 
         #               left = "auto", right = 10, bottom = 130, style = "opacity: 0.90",
         #               width = 350, height = "auto",#420,
         #               HTML('<button data-toggle="collapse" data-target="#demo">Collapsible</button>'),
         #               tags$div(id = 'demo',  class = "collapse in",
         #               htmlOutput("trend_legend"))
         # ) # end absolutePanel()

  ) # end fluidRow()
}
  

Try the GWSDAT package in your browser

Any scripts or data that you put into this service are public.

GWSDAT documentation built on Feb. 6, 2026, 9:07 a.m.