Spaces:
Sleeping
Sleeping
| library(reactablefmtr) | |
| # import specific functions from relevant libraries | |
| box::use(reactable[reactable, colDef]) | |
| box::use(dplyr[filter]) | |
| #* @param df the data frame containing the data | |
| #* @param vernacular the vernacular names of the animals | |
| #* @param locality regions in Poland | |
| tableFunction <- function(df, vernacular) { | |
| # set default values if arguments are NULL or empty | |
| if (is.null(vernacular) || vernacular == "") { | |
| vernacular <- "Mandarin Duck" | |
| } else { | |
| vernacular | |
| } | |
| # filter the data based on vernacular and locality | |
| filtered_df <- df |> | |
| filter(vernacularName == vernacular) | |
| # ensure there is data to display | |
| if (nrow(filtered_df) == 0) { | |
| reactable(data.frame( | |
| Message = "No data available for the selected filters" | |
| )) | |
| } | |
| # return table | |
| reactable( | |
| filtered_df, | |
| filterable = TRUE, | |
| searchable = TRUE, | |
| striped = TRUE, | |
| highlight = TRUE, | |
| bordered = TRUE, | |
| compact = TRUE, | |
| defaultPageSize = 10, | |
| columns = list( | |
| vernacularName = colDef(name = "Common Name"), | |
| longitudeDecimal = colDef(name = "Longitude"), | |
| latitudeDecimal = colDef(name = "Latitude"), | |
| individualCount = colDef(name = "Count"), | |
| eventDate = colDef(name = "Date"), | |
| locality = colDef(name = "Location") | |
| ), | |
| theme = reactableTheme( | |
| highlightColor = "#627cfc", | |
| borderColor = "#1239fe", | |
| borderWidth = 2 | |
| ) | |
| ) | |
| } | |