Commit b1b72fa8 authored by Virgile Baudrot's avatar Virgile Baudrot
Browse files

upgrade description and documentations

parent 9af1fdd9
......@@ -102,12 +102,12 @@ sidebar <- dashboardSidebar(
id = "tabs",
menuItem("Getting Started", tabName = "start", icon = icon("home")),
menuItem("1. Landscape", tabName = "landscape", icon = icon("map")),
menuItem("2. Dispersal kernel", tabName = "dispersal", icon = icon("layer-group")),
menuItem("2. Pollen Dispersal", tabName = "dispersal", icon = icon("layer-group")),
menuItem("3. Emission & Deposition", tabName = "emission", icon = icon("layer-group")),
menuItem("4. Habitat", tabName = "host", icon = icon("layer-group")),
menuItem("4. Layin sites", tabName = "host", icon = icon("layer-group")),
menuItem("5. Phenology", tabName = "development", icon = icon("layer-group")),
menuItem("6. Exposure", tabName = "exposure", icon = icon("layer-group")),
menuItem("7. Damage", tabName = "damage", icon = icon("layer-group")),
menuItem("7. Adverse effects", tabName = "damage", icon = icon("layer-group")),
menuItem("Interactive Map", tabName = "interactiveMap", icon = icon("map-marked"))#,
# menuItem("Data Explorer", tabName = "dataExplorer", icon = icon("chart-bar")),
# menuItem("Report", tabName = "report", icon = icon("file-pdf")) # cogs
......
......@@ -53,6 +53,8 @@ mod_tabItemDamage_ui <- function(id){
box(title = iconed("Model", "sliders-h"),
solidHeader = TRUE,
width = 4, status = "warning",
strong("Important: make sure to use unit previously defined for exposure:"),
verbatimTextOutput("unitPollen"),
tabsetPanel(id = ns("tabsetDAMAGEsurv"),
tabPanel(title = "Dose Response",
value = "DRsurvDAMAGE",
......@@ -123,9 +125,9 @@ mod_tabItemDamage_ui <- function(id){
numericInput(inputId = ns("kdIT"),
label = "TK parameter - kd",
value = 0.3),
fileInput(ns('kdITvector'),
'Choose CSV file - kd',
accept=c('text/csv', 'text/comma-separated-values,text/plain')),
# fileInput(ns('kdITvector'),
# 'Choose CSV file - kd',
# accept=c('text/csv', 'text/comma-separated-values,text/plain')),
h4(tags$b("Toxicodynamic - TD")),
withMathJax(
helpText('$$S(t) = h_b + \\frac{1}{1 + (\\max(D_{int}(\tau))/\\alpha)^{\text{\\beta}}}$$')
......@@ -133,21 +135,21 @@ mod_tabItemDamage_ui <- function(id){
numericInput(inputId = ns("hbIT"),
label = "Back ground mortality - hb",
value = 0),
fileInput(ns('hbITvector'),
'Choose CSV file - hb',
accept=c('text/csv', 'text/comma-separated-values,text/plain')),
# fileInput(ns('hbITvector'),
# 'Choose CSV file - hb',
# accept=c('text/csv', 'text/comma-separated-values,text/plain')),
numericInput(inputId = ns("alphaIT"),
label = "Threshold - alpha",
value = 200),
fileInput(ns('alphaITvector'),
'Choose CSV file - beta',
accept=c('text/csv', 'text/comma-separated-values,text/plain')),
# fileInput(ns('alphaITvector'),
# 'Choose CSV file - beta',
# accept=c('text/csv', 'text/comma-separated-values,text/plain')),
numericInput(inputId = ns("betaIT"),
label = "Killing rate - kk",
value = 0.02),
fileInput(ns('betaITvector'),
'Choose CSV file - kk',
accept=c('text/csv', 'text/comma-separated-values,text/plain'))
value = 0.02)#•,
# fileInput(ns('betaITvector'),
# 'Choose CSV file - kk',
# accept=c('text/csv', 'text/comma-separated-values,text/plain'))
)
)
),
......@@ -159,7 +161,7 @@ mod_tabItemDamage_ui <- function(id){
icon = icon("rocket"),
style="color: #fff; background-color: #dd4b39; border-color: #dd4b39")
),
box(title = iconed("Damage", "cogs"),
box(title = iconed("Adverse effects", "cogs"),
solidHeader = TRUE,
width = 8, status = "success",
p("The graphic on the left is the histogram showing the probability distribution of Damage
......@@ -186,6 +188,12 @@ mod_tabItemDamage_ui <- function(id){
onInitialize = I('function() { this.setValue(""); }')
)
),
tags$ul(
tags$li(strong("Blue area are habitats of larvae,")),
tags$li(strong("Red area are Bt maize,")),
tags$li(strong("Black dots are laying sites,")),
tags$li(strong("Legend color is adverse effect of laying sites."))
),
plotOutput(ns("mapDAMAGE"))
)
)
......@@ -220,6 +228,8 @@ mod_tabItemDamage_server <- function(input, output, session, r){
"6. ", CheckDamage$exposureINDIVIDUAL))
)
})
## UNIT
output$unitPollen <- renderText({ r$unitPollen })
### USE EXAMPLE
observeEvent(input$Xple_DAMAGE,{
r$individualSITE_dev <- briskaRshinyApp::individualSITE_dev
......@@ -296,7 +306,7 @@ mod_tabItemDamage_server <- function(input, output, session, r){
TimeLine = sort(unique(tidyr::unnest(r$exposureINDIVIDUAL, c(Date,EXPOSURE))[["Date"]]))
damageINDIVIDUAL$TIME = lapply(1:nrow(r$exposureINDIVIDUAL), function(i){
match(Date, TimeLine)
match(r$exposureINDIVIDUAL$Date[[i]], TimeLine)
})
damageINDIVIDUAL$DAMAGE = lapply(
......
......@@ -58,7 +58,7 @@ mod_tabItemDevelopment_ui <- function(id){
p("All organisms have a random life expectancy under the control situation (no exposure, no damage),
defined by a normal distribution:"),
numericInput(inputId = ns("indDevoFIX"),
label = "Mean of lifespan",
label = "Mean of lifespan in days",
value = 17),
numericInput(inputId = ns("indDevoFIXsd"),
label = "Standard Deviation of lifespan",
......@@ -101,6 +101,10 @@ mod_tabItemDevelopment_ui <- function(id){
brown points are provide to highlight the date of emergence and green points represent period of living.
You vertical red line on the left graphic correspond to the date you selected."),
column(width = 6,
tags$ul(
tags$li(strong("Brown: Proportion of larvae emerging along the period,")),
tags$li(strong("Green: Proportion of larvae living along the period.")),
),
plotOutput(ns("histIndDEV"))
),
column( width = 6,
......@@ -113,8 +117,12 @@ mod_tabItemDevelopment_ui <- function(id){
onInitialize = I('function() { this.setValue(""); }')
)
),
p("Black dots are laying sites. A brown area around the dot is drawn when larvae emerge.
A green area around the black dot is drawn when the larvae is living."),
tags$ul(
tags$li(strong("Blue area are habitats of larvae,")),
tags$li(strong("Black dots are laying sites,")),
tags$li(strong("Brown circles are drawn when larvae emerge,")),
tags$li(strong("Green circles are drawn when larvae is living"))
),
plotOutput(ns("mapINDIVIDUAL"))
)
)
......
......@@ -30,9 +30,9 @@ mod_tabItemDispersal_ui <- function(id){
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("(1) check the source and the frame are well defined (OK in the check list),"),
tags$li("(1) check the maize fields and the frame are well defined (OK in the check list),"),
tags$li("(2) choose a kernel function and provide parameter values,"),
tags$li("(3) compute the dispersal b y clicking on 'Run'.")
tags$li("(3) compute the dispersal by clicking on 'Run'.")
),
h4("Check list of previous items"),
p("Please, for each step of the app, check that all items of the list are ok."),
......@@ -49,9 +49,45 @@ mod_tabItemDispersal_ui <- function(id){
)
),
fluidRow( # width of fluidrow is 12
box(title = iconed("Frame", "database"),
solidHeader = TRUE,
width = 5, status = "warning",
p("Once you have generated or loaded the source and host, you have to define the landscape borders:
a square surrounding both sources and hosts fields. The square shape is required for dispersal and convolution computing."),
p("Again, you can either generate a frame by providing a buffer distance, or load your own frame. Make sure the frame you upload is a square."),
tabsetPanel(id = ns("tabsetSQUAREFRAME"),
selected = "bufferSQUAREFRAME",
tabPanel(title = "Generate",
value = "bufferSQUAREFRAME",
p("Choose the size of the buffer, and click on the green button 'Valid'."),
numericInput(inputId = ns("squareFrameBuffer"),
label = "Size of the buffer",
value = 0.005),
actionButton(inputId = ns("goValidBufferSQUAREFRAME"),
label = "Valid",
icon = icon("check"),
style="color: #fff; background-color: #00a65a; border-color: #00a65a")
),
tabPanel(title = "Load",
value = "loadSQUAREFRAME",
fileInput("landscapeSQUAREFRAME",
"Choose a KML File for Square Frame"),
textOutput(ns("textEPSGsqFrame")),
selectizeInput(ns("ctrlEPSGsqFrame"),
label = "Choose EPSG",
choices = NULL),
hr(),
p("You can download and upload the following example."),
downloadButton(ns("download_LandscapeSQUAREFRAME"),
"Download Frame shapefile",
style="color: #fff; background-color: #33595f; border-color: #052327")
)
),
plotOutput(ns("plotLANDSCAPEframe"))
),
box(title = iconed("Kernel", "sliders-h"),
solidHeader = TRUE,
width = 8, status = "warning",
width = 7, status = "warning",
#
p("The shapefile provide previously needs to be convert into a raster.
Increasing this value can dramatically increase the computing time. So we fix maximum at 1024.
......@@ -232,43 +268,7 @@ mod_tabItemDispersal_ui <- function(id){
label = "parameter b",
value = 1)
)
)
),
box(title = iconed("Frame", "database"),
solidHeader = TRUE,
width = 4, status = "warning",
p("Once you have generated or loaded the source and host, you have to define the landscape borders:
a square surrounding both sources and hosts fields. The square shape is required for dispersal and convolution computing."),
p("Again, you can either generate a frame by providing a buffer distance, or load your own frame. Make sure the frame you upload is a square."),
tabsetPanel(id = ns("tabsetSQUAREFRAME"),
selected = "bufferSQUAREFRAME",
tabPanel(title = "Generate",
value = "bufferSQUAREFRAME",
p("Choose the size of the buffer, and click on the green button 'Valid'."),
numericInput(inputId = ns("squareFrameBuffer"),
label = "Size of the buffer",
value = 0.005),
actionButton(inputId = ns("goValidBufferSQUAREFRAME"),
label = "Valid",
icon = icon("check"),
style="color: #fff; background-color: #00a65a; border-color: #00a65a")
),
tabPanel(title = "Load",
value = "loadSQUAREFRAME",
fileInput("landscapeSQUAREFRAME",
"Choose a KML File for Square Frame"),
textOutput(ns("textEPSGsqFrame")),
selectizeInput(ns("ctrlEPSGsqFrame"),
label = "Choose EPSG",
choices = NULL),
hr(),
p("You can download and upload the following example."),
downloadButton(ns("download_LandscapeSQUAREFRAME"),
"Download Frame shapefile",
style="color: #fff; background-color: #33595f; border-color: #052327")
)
),
plotOutput(ns("plotLANDSCAPEframe")),
hr(),
actionButton(inputId = ns("goRunDispersal"),
label = "Run",
......@@ -280,12 +280,16 @@ mod_tabItemDispersal_ui <- function(id){
box(title = iconed("Dispersal Probability of the source fields", "cogs"),
solidHeader = TRUE,
width = 12, status = "success",
p("For each source field uploaded previously in the item 'landscape',
p("For each maize field uploaded previously in the item 'landscape',
the dispersal is computed according to the kernel which has been selected."),
p("On the left, the picture represents the 9 (or less) first source fields,
On the right, you can select a field to represent it."),
tags$ul(
tags$li(strong("Check for each maize fields, the dispersal kernel applied. Unit is a probability measure,")),
tags$li(strong("Name 'subdomain' refers to a single maize field,")),
tags$li(strong("left: picture represents the 9 (or less) first maize fields,")),
tags$li(strong("right: select a field to represent it (if error message is printed, don't worry about it)."))
),
box(
label = "Plot only the 9 first source fields",
label = "Plot only the 9 first maize fields",
solidHeader = FALSE,
width = 8, status = "success",
plotOutput(ns("plotRunDISPERSAL"))
......@@ -304,7 +308,7 @@ mod_tabItemDispersal_ui <- function(id){
# plot the Figure
plotOutput(ns("plotDISPERSAL"))
),
p("Once graphics appears here, go to the Top of the page and click 'Next'.")
strong("Once graphics appears here, go to the Top of the page and click 'Next'.")
)
),
briskaRshinyApp::footerPage()
......@@ -325,7 +329,7 @@ mod_tabItemDispersal_server <- function(input, output, session, r){
CheckDispersal$landscapeSOURCE= ifelse(is.null(r$landscapeSOURCE), "NO Source", "Source OK")
#CheckDispersal$landscapeSQUAREFRAME= ifelse(is.null(r$landscapeSQUAREFRAME), "NO Frame", "Frame OK")
return(HTML(paste0(
"1. ", CheckDispersal$landscapeSOURCE, ",\n"))
"1. ", CheckDispersal$landscapeSOURCE, "."))
)
})
#######################################################################################
......@@ -353,7 +357,7 @@ mod_tabItemDispersal_server <- function(input, output, session, r){
title = "Information on kernel",
text = tags$span(
"The dispersal of contaminants or individuals is implemented by rastering the landscape and by computing
the convolution between sources emissions and a dispersal kernel."
the convolution between maize pollen emissions and a dispersal kernel."
),
html = TRUE
)
......
......@@ -51,7 +51,7 @@ mod_tabItemEmission_ui <- function(id){
)
),
fluidRow( # width of fluidrow is 12
box(title = iconed("Emission", "database"),
box(title = iconed("Pollen Emission", "database"),
solidHeader = TRUE,
width = 8,
status = "warning",
......@@ -107,10 +107,17 @@ mod_tabItemEmission_ui <- function(id){
)
),
column(width = 6,
tags$ul(
tags$li(strong("x-axis is the date along the emission timeline,")),
tags$li(strong("y-axis is the amount of pollen emit.")),
),
textInput(inputId = ns("unitPollen"),
label = "Unit of pollen emission",
value = "pollen / m^2"),
plotOutput(ns("plotEMISSION"))
)
),
box(title = iconed("Deposition", "sliders-h"),
box(title = iconed("Pollen Deposition", "sliders-h"),
solidHeader = TRUE,
width = 4,
status = "warning",
......@@ -172,6 +179,12 @@ mod_tabItemEmission_ui <- function(id){
box(title =iconed("Deposition", "cogs"),
solidHeader = TRUE,
width = 12, status = "success",
p("For each date along the emission period you generated or uploaded previously in the item 'Emission',
the convolution is computed according to the kernel which has been selected."),
tags$ul(
tags$li(strong("Check for each date along the emision period, the emission at the landscape level.")),
tags$li(strong("The unit is the one you provided within the 'Emission panel'."))
),
box(solidHeader = FALSE,
width = 7, status = "success",
h4("Plot only the 9 first fields"),
......@@ -227,7 +240,7 @@ mod_tabItemEmission_server <- function(input, output, session, r){
output$plotEMISSIONprofile <- renderPlot({
ggplot() +
theme_minimal() +
labs(x = "Time step", y = "Daily proportion") +
labs(x = "Time step", y = paste("Daily proportion")) +
geom_point(aes(x = 1:12,
y = c(0.0165, 0.0660, 0.1545, 0.1885, 0.1735, 0.1560, 0.1159, 0.0670, 0.0377, 0.0167, 0.0055, 0.0022)))
......@@ -278,6 +291,10 @@ mod_tabItemEmission_server <- function(input, output, session, r){
r$stackTimelineEMISSION <- sort(unique(sourceEMISSION()[["Date"]]))
})
observe({
r$unitPollen = input$unitPollen
})
output$plotEMISSION <- renderPlot({
if(!is.null(r$sourceEMISSION)){
# input$goSourceEMISSION
......@@ -289,6 +306,7 @@ mod_tabItemEmission_server <- function(input, output, session, r){
color = IDsource)) +
theme_minimal() +
theme(legend.position="none") + # remove the legend
labs(y = paste("Pollen emission in", input$unitPollen)) +
geom_line()
# })
}
......@@ -328,9 +346,9 @@ mod_tabItemEmission_server <- function(input, output, session, r){
input$goRunSPREAD
isolate({
if(length(stack_exposure() >= 9)){
plot( stack_exposure()[[1:9]])
plot( stack_exposure()[[1:9]], main = paste("Unit is:", r$unitPollen))
} else{
plot(stack_exposure()[[1:length(stack_exposure())]])
plot(stack_exposure()[[1:length(stack_exposure())]], main = paste("Unit is:", r$unitPollen))
}
})
})
......@@ -342,7 +360,7 @@ mod_tabItemEmission_server <- function(input, output, session, r){
# input$goPlotSPREAD
input$numPlotSPREAD
isolate({
plot(stack_exposure()[[input$numPlotSPREAD]])
plot(stack_exposure()[[input$numPlotSPREAD]], main = paste("Unit is:", r$unitPollen))
})
})
}
......
......@@ -67,6 +67,12 @@ mod_tabItemExposure_ui <- function(id){
p("Exposure unit are the same as emission units."),
column(
width = 6,
tags$ul(
tags$li(strong("red lines: median,")),
tags$li(strong("dark grey area: 95% interval (i.e., quantiles [2.5%, 97.5%]),")),
tags$li(strong("light greay area: min-max interval,")),
tags$li(strong("vertical red line: selected date for the map beside.")),
),
plotOutput(ns("profileEXPOSURE")),
hr(),
p("Download the exposure data set which has been generated."),
......@@ -87,6 +93,12 @@ mod_tabItemExposure_ui <- function(id){
p("Legend of exposure units depends on emission units: default is number of pollen grain per square meter.
So here, exposure is in daily number of pollen grain per square meter.
If you provided emission profiles in another unit, then the exposure represented here will be in the same unit."),
tags$ul(
tags$li(strong("Blue area are habitats of larvae,")),
tags$li(strong("Red area are Bt maize,")),
tags$li(strong("Black dots are laying sites,")),
tags$li(strong("Legend color is exposure of laying sites."))
),
plotOutput(ns("mapEXPOSURE"))
)
)
......@@ -198,7 +210,7 @@ mod_tabItemExposure_server <- function(input, output, session, r){
ggplot() +
theme_minimal() +
labs(x = "Time", y = "Distribution of Exposure") +
labs(x = "Time", y = paste("Distribution of Exposure in", r$unitPollen)) +
geom_line(data = DFsumEXPOSURE,
aes(x = Date, y = mean_EXPOSURE), color = "red") +
geom_ribbon(data = DFsumEXPOSURE,
......@@ -232,6 +244,7 @@ mod_tabItemExposure_server <- function(input, output, session, r){
req(input$ctrlDATEMapEXP_IND)
ggplot() +
theme_minimal() +
labs(title = paste("Unit of color legend is:", r$unitPollen)) +
scale_color_gradient(low = "green", high = "red", name = "Exposure") +
geom_sf(data = r$landscapeSOURCE, alpha = 0.2, fill = "red", color = "red") +
geom_sf(data = r$landscapeHOST, alpha = 0.2, fill = "blue", color = "blue") +
......
......@@ -57,10 +57,10 @@ mod_tabItemHost_ui <- function(id){
p("To generate a laying site and date of emergence, provide the number of laying site and the period of emergence.
The date of emergence are then uniformly sampled within the period you defined."),
numericInput(inputId = ns("numberIndSITE"),
label = "Nbr laying sites",
label = "Number of laying sites",
value = 100),
dateRangeInput(inputId = ns("periodEMERGENCE"),
label = "Period - minimum 14 days",
label = "Period of emergence - minimum 14 days",
start = "2006-06-15", # Sys.Date()-10,
end = "2006-08-15",# Sys.Date()+10,
format = "dd/mm/yyyy",
......@@ -94,6 +94,9 @@ mod_tabItemHost_ui <- function(id){
The plot on the right is the map of the laying site (in black) and an additional brown point is provide to highlight the date of emergence.
You vertical red line on the left graphic correspond to the date you selected."),
column(width = 6,
tags$ul(
tags$li(strong("Proportion of larvae emerging along the period.")),
),
plotOutput(ns("histIND"))
),
column(width = 6,
......@@ -106,7 +109,11 @@ mod_tabItemHost_ui <- function(id){
onInitialize = I('function() { this.setValue(""); }')
)
),
p("Black dots are laying sites, and a brown area is drawn when larvae emerge."),
tags$ul(
tags$li(strong("Blue area are habitas of larvae,")),
tags$li(strong("Black dots are laying sites,")),
tags$li(strong("Brown circles are drawn when larvae emerge."))
),
plotOutput(ns("mapSITE"))
)
)
......
......@@ -34,9 +34,8 @@ mod_tabItemLandscape_ui <- function(id){
footer_padding = FALSE,
h4("What to do here?"),
tags$ul(
tags$li("(1) download the source KML file,"),
tags$li("(2) download the host KML file,"),
tags$li("(3) compute or load a square frame to gather host and source within the same spatial frame.")
tags$li("(1) download the maize KML file,"),
tags$li("(2) download the lepidoptera habitat KML file.")
),
p("The two videos in this information box present (1) how to create a KML file, which is a GIS file,
and (2) how to use the current item landscape."),
......@@ -44,7 +43,7 @@ mod_tabItemLandscape_ui <- function(id){
h4("Tutorial on building KML landscape files."),
p("The following video shows how to create a KML file with umap,",
a(href="umap", "https://umap.openstreetmap.fr/fr/"),
". But you can also use Google Earth or anya other GIS software to create a KML file."
". But you can also use Google Earth or any other GIS softwares to create a KML file."
),
tags$video(id = ns("videoLandscape_makeKML"),
type = "video/mp4",
......@@ -53,8 +52,8 @@ mod_tabItemLandscape_ui <- function(id){
height = "300px"),
hr(),
h4("Tutorial on Uploading landscape elements."),
p("Once you created a KML file, the following video presents the way to upload it in the
app. While you can change it with the app, make sure 'source' and 'host' jml files
p("Once you have created a KML file, the following video presents the way to upload it in the
app. While you can change it with the app, make sure 'maize' and 'host' KML files
have the same geographic coordinate system."
),
tags$video(id = ns("videoLandscape_load"),
......@@ -65,7 +64,7 @@ mod_tabItemLandscape_ui <- function(id){
)
),
fluidRow( # width of fluidrow is 12
box(title = iconed("Source and Host", "database"),
box(title = iconed("Maize and Habitat", "database"),
solidHeader = TRUE,
width = 12, status = "warning",
p("You can generate a voronoï landscape or load your own landscape files."),
......@@ -74,7 +73,7 @@ mod_tabItemLandscape_ui <- function(id){
tabPanel(title = "Generate",
value = "generateLANDSCAPE",
p("To generate a voronoï landscape, you need to provide the number of polygons, the rate of polygons
that are sources fields (others are going to be the host fields), and the aggregation parameter.
that are maize fields (others are going to be the habitat fields), and the aggregation parameter.
The higher is the aggregation parameter, the more aggregated are the fields.
You can also define a box of the generated landscape in WGS84 geographical system."),
column(width = 4,
......@@ -90,7 +89,7 @@ mod_tabItemLandscape_ui <- function(id){
),
column(width = 4,
numericInput(inputId = ns("propLAND"),
label = "Source cell proportion",
label = "Maize cell proportion",
value = 0.4,
min = 0, max = 1),
numericInput(inputId = ns("rangeLAND"),
......@@ -121,22 +120,22 @@ mod_tabItemLandscape_ui <- function(id){
tabPanel(title = "Load",
value = "loadLANDSCAPE",
p("To load your own landscape, you need to provide 2 KML files:
one for the source fields and one defining the host fields.
one for the maize fields and one defining the habitat fields.
If applicable, define the ID column. You can also change the Geographical System of your files.
We recommend however to provide the two files in the same EPSG."),
# Input: Select a file ----
box(
title = iconed("Source", "database"),
title = iconed("Maize", "database"),
solidHeader = FALSE,
width = 6, status = "warning",
column(width = 6,
fileInput("landscapeSOURCEorigin",
"Choose a KML File - SOURCE"),
"Choose a KML File - Maize"),
# Button
hr(),
p("You can download the following example, and then upload it."),
downloadButton(ns("download_landscapeSOURCEorigin"),
"Download Source",
"Download Maize fields",
style="color: #fff; background-color: #33595f; border-color: #052327")
),
column( width = 6,
......@@ -155,17 +154,17 @@ mod_tabItemLandscape_ui <- function(id){
choices = NULL)
)
),
box(title = iconed("Host", "database"),
box(title = iconed("Habitat", "database"),
solidHeader = FALSE,
width = 6, status = "warning",
# Input: Select a file ----
column(width = 6,
fileInput("landscapeHOSTorigin",
"Choose a KML File - HOST"),
"Choose a KML File - Habitat"),
hr(),
p("You can download the following example, and then upload it."),
downloadButton(ns("download_landscapeHOSTorigin"),
"Download Host",
"Download Habitat",
style="color: #fff; background-color: #33595f; border-color: #052327")
),
column( width = 6,
......@@ -184,8 +183,7 @@ mod_tabItemLandscape_ui <- function(id){
)
)
)
),
p("Once both source and host are ready, you have to define a landscape frame in the next box 'Frame'.")
)
)
),
fluidRow(
......@@ -212,7 +210,12 @@ mod_tabItemLandscape_ui <- function(id){
box(title = iconed("landscape", "object-group"),
width = 8, status = "success",
solidHeader = TRUE,
p("The two plots represent your landscape. Red shapes are the Sources and Blue shapes are the Hosts."),
p("The two plots represent your landscape. and Blue shapes are the Habitats."),
tags$ul(
tags$li(strong("Pink shapes are the Maize fields")),
tags$li(strong("Red shapes are Bt-maize fields")),
tags$li(strong("Blue shapes are the Lepidoptera habitats"))
),
box(
width = 6, status = "success",
solidHeader = FALSE,
......@@ -225,7 +228,7 @@ mod_tabItemLandscape_ui <- function(id){
p("This graphic is optional and may not appears, but does not change the coming simulations."),
leafletOutput(ns("mapLANDSCAPE"))
),
p("Once all elements of the landscape are ready (source, host and frame) go back at the Top of the page and click 'Next'.")
p("Once all elements of the landscape are ready (maize and habitat) go back at the Top of the page and click 'Next'.")
)
),
briskaRshinyApp::footerPage()
......