infoBoxesUI <- function(id){
ns <- NS(id)
uiOutput(ns("info_boxes"))
}
infoBoxes <- function(input, output, session,
criteria, results){
ns <- session$ns
output$info_boxes <- renderUI({
if(is.null(criteria$dynamic$Weight)) return(NULL)
weight_sum <- sum(criteria$dynamic$Weight,na.rm=TRUE)
weight_col <- ifelse(weight_sum==100, "blue", "red")
criteria_n <- length(criteria$dynamic$Description)
pass_fail <- criteria$dynamic %>%
dplyr::filter(`Pass/Fail` == TRUE) %>%
dplyr::select(Description) %>%
length()
tagList(
infoBox(
title = "Criteria",
value = criteria_n,
subtitle = sprintf("Pass/Fail: %s (%s)",
pass_fail,
paste0(round(100*pass_fail/criteria_n,2),"%")),
icon = icon("sitemap"),
width = 4,
color = "blue"
),
infoBox(
title = "Weights",
subtitle = "Sum",
value = weight_sum,
icon=icon("balance-scale"),
width = 4,
color = weight_col
),
infoBox(
title = "Winning Bid",
value = results$winning_bid,
icon=icon("trophy"),
width = 4,
color = "blue"
)
)
})
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.