From 460f3b246461e8096382dcb1043f1a7d165a919c Mon Sep 17 00:00:00 2001 From: Are Edvardsen Date: Thu, 15 Jul 2021 15:28:00 +0200 Subject: [PATCH 1/9] first approach --- inst/samlerapport.Rmd | 15 +++++++++++--- inst/shinyApps/app1/server.R | 21 +++++++++----------- inst/shinyApps/app1/ui.R | 38 ++++++++++++++++++------------------ 3 files changed, 40 insertions(+), 34 deletions(-) diff --git a/inst/samlerapport.Rmd b/inst/samlerapport.Rmd index 1215a27..320ee81 100644 --- a/inst/samlerapport.Rmd +++ b/inst/samlerapport.Rmd @@ -3,9 +3,9 @@ title: "Samlerapport" author: "Rapporteket" date: '`r format(Sys.time(), "%d. %B %Y")`' params: + type: "pdf" var: "mpg" bins: 5 -output: html_document --- ```{r setup, include=FALSE} @@ -33,8 +33,17 @@ Tabellen under er kjedelig, men illustrerer poenget: ```{r eksTab} dt <- mtcars[1:6, ][params$var] -kable(dt) %>% - kable_styling(bootstrap_options = c("striped", "hover", "condensed")) + +if (params$type == "html") { + t <- kable(dt) %>% + kable_styling(bootstrap_options = c("striped", "hover", "condensed")) +} + +if (params$type == "pdf") { + t <- kable(dt, format = "latex") + +} +t ``` diff --git a/inst/shinyApps/app1/server.R b/inst/shinyApps/app1/server.R index bf19761..235099b 100644 --- a/inst/shinyApps/app1/server.R +++ b/inst/shinyApps/app1/server.R @@ -56,27 +56,24 @@ server <- function(input, output, session) { ## vis output$samlerapport <- shiny::renderUI({ htmlRenderRmd(srcFile = "samlerapport.Rmd", - params = list(var = input$varS, bins = input$binsS)) + params = list(type = "html", + var = input$varS, + bins = input$binsS)) }) ## last ned output$downloadSamlerapport <- shiny::downloadHandler( filename = function() { - "rapRegTemplateSamlerapport.html" + basename(tempfile(pattern = "rapRegTemplateSamlerapport", fileext = "pdf")) }, content = function(file) { srcFile <- normalizePath(system.file("samlerapport.Rmd", package = "rapRegTemplate")) - tmpFile <- "tmpSamlerapport.Rmd" - owd <- setwd(tempdir()) - on.exit(setwd(owd)) - file.copy(srcFile, tmpFile, overwrite = TRUE) - out <- rmarkdown::render(tmpFile, - output_format = rmarkdown::html_document(), - params = list(var = input$varS, - bins = input$binsS), - output_dir = tempdir()) - file.rename(out, file) + fn <- rapbase::renderRmd(srcFile, outputType = "pdf", + params = list(type = "pdf", + var = input$varS, + bins = input$binsS)) + file.rename(fn, file) } ) diff --git a/inst/shinyApps/app1/ui.R b/inst/shinyApps/app1/ui.R index 998a025..8c6d4ca 100644 --- a/inst/shinyApps/app1/ui.R +++ b/inst/shinyApps/app1/ui.R @@ -46,25 +46,25 @@ ui <- shiny::tagList( # ) ), shiny::tabPanel("Samlerapport" - # , - # tabPanel("Fordeling av mpg", - # sidebarLayout( - # sidebarPanel(width = 3, - # selectInput(inputId = "varS", - # label = "Variabel:", - # c("mpg", "disp", "hp", "drat", "wt", "qsec")), - # sliderInput(inputId = "binsS", - # label = "Antall grupper:", - # min = 1, - # max = 10, - # value = 5), - # downloadButton("downloadSamlerapport", "Last ned!") - # ), - # mainPanel( - # uiOutput("samlerapport") - # ) - # ) - # ) + , + tabPanel("Fordeling av mpg", + sidebarLayout( + sidebarPanel(width = 3, + selectInput(inputId = "varS", + label = "Variabel:", + c("mpg", "disp", "hp", "drat", "wt", "qsec")), + sliderInput(inputId = "binsS", + label = "Antall grupper:", + min = 1, + max = 10, + value = 5), + downloadButton("downloadSamlerapport", "Last ned!") + ), + mainPanel( + uiOutput("samlerapport") + ) + ) + ) ), shiny::tabPanel("Abonnement" # , From d149879bd4f012da55e0eb6714f90bbf9ef64af3 Mon Sep 17 00:00:00 2001 From: Are Edvardsen Date: Fri, 16 Jul 2021 10:55:35 +0200 Subject: [PATCH 2/9] adjust (don not disply properly) --- inst/veiledning.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inst/veiledning.Rmd b/inst/veiledning.Rmd index 9a77870..4bcf6bd 100644 --- a/inst/veiledning.Rmd +++ b/inst/veiledning.Rmd @@ -70,7 +70,7 @@ Utgangspunket for de neste stegene er bruk av det innebygde datasettet "mtcars", Tips til oppgave B: ```{r eval=FALSE} ## Sammendrag -output$distSummary <- renderTable({ +output$distSummary <- shiny::renderTable({ as.data.frame(sapply(regData, summary))[input$var] }, rownames = TRUE) ``` From c6407bb9f760fb977d1446a52492f74f80da863b Mon Sep 17 00:00:00 2001 From: Are Edvardsen Date: Fri, 16 Jul 2021 11:04:42 +0200 Subject: [PATCH 3/9] rendering by rapbase --- inst/shinyApps/app1/server.R | 44 ++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/inst/shinyApps/app1/server.R b/inst/shinyApps/app1/server.R index 235099b..e4173e9 100644 --- a/inst/shinyApps/app1/server.R +++ b/inst/shinyApps/app1/server.R @@ -7,25 +7,14 @@ server <- function(input, output, session) { # Last inn data # regData <- getFakeRegData() - # Gjenbrukbar funksjon for å bearbeide Rmd til html - htmlRenderRmd <- function(srcFile, params = list()) { - system.file(srcFile, package = "rapRegTemplate") %>% - knitr::knit() %>% - markdown::markdownToHTML(., - options = c("fragment_only", - "base64_images", - "highlight_code")) %>% - shiny::HTML() - } - # Brukerinformasjon i menylinja (navbar) output$appUserName <- shiny::renderText( paste(rapbase::getUserFullName(session), rapbase::getUserRole(session), sep = ", ")) output$appOrgName <- shiny::renderText(rapbase::getUserReshId(session)) - userInfo <- rapbase::howWeDealWithPersonalData(session, - callerPkg = "rapRegTemplate") + userInfo <- + rapbase::howWeDealWithPersonalData(session, callerPkg = "rapRegTemplate") shiny::observeEvent(input$userInfo, { shinyalert("Dette vet Rapporteket om deg:", userInfo, type = "", imageUrl = "rap/logo.svg", @@ -35,7 +24,10 @@ server <- function(input, output, session) { # Veiledning output$veiledning <- renderUI({ - htmlRenderRmd("veiledning.Rmd") + rapbase::renderRmd( + system.file("veiledning.Rmd", package = "rapRegTemplate"), + outputType = "html_fragment" + ) }) @@ -55,24 +47,28 @@ server <- function(input, output, session) { # Samlerapport ## vis output$samlerapport <- shiny::renderUI({ - htmlRenderRmd(srcFile = "samlerapport.Rmd", - params = list(type = "html", - var = input$varS, - bins = input$binsS)) + rapbase::renderRmd( + system.file("samlerapport.Rmd", package = "rapRegTemplate"), + outputType = "html_fragment", + params = list(type = "html", + var = input$varS, + bins = input$binsS) + ) }) ## last ned output$downloadSamlerapport <- shiny::downloadHandler( filename = function() { - basename(tempfile(pattern = "rapRegTemplateSamlerapport", fileext = "pdf")) + basename(tempfile(pattern = "rapRegTemplateSamlerapport", + fileext = ".pdf")) }, content = function(file) { - srcFile <- normalizePath(system.file("samlerapport.Rmd", - package = "rapRegTemplate")) + srcFile <- + normalizePath(system.file("samlerapport.Rmd", package = "rapRegTemplate")) fn <- rapbase::renderRmd(srcFile, outputType = "pdf", - params = list(type = "pdf", - var = input$varS, - bins = input$binsS)) + params = list(type = "pdf", + var = input$varS, + bins = input$binsS)) file.rename(fn, file) } ) From 28f84e78be52ce989c1d9f0a5668af136340b13c Mon Sep 17 00:00:00 2001 From: Are Edvardsen Date: Fri, 16 Jul 2021 13:42:47 +0200 Subject: [PATCH 4/9] adjust --- inst/samlerapport.Rmd | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/inst/samlerapport.Rmd b/inst/samlerapport.Rmd index 320ee81..ce43d6d 100644 --- a/inst/samlerapport.Rmd +++ b/inst/samlerapport.Rmd @@ -1,10 +1,14 @@ --- -title: "Samlerapport" -author: "Rapporteket" +title: Samlerapport +subtitle: en eksempelrapport fra rapRegTemplate +author: Rapporteket +userFullName: Tore Tester +registryName: SKDE date: '`r format(Sys.time(), "%d. %B %Y")`' +abstract: Om rapporten trenger et sammendrag kan det settes inn her params: - type: "pdf" - var: "mpg" + type: pdf + var: mpg bins: 5 --- @@ -16,7 +20,7 @@ knitr::opts_chunk$set(echo = FALSE) ``` -## Samlerapport +# Samlerapport Dette er eksempel på en samlerapport som er egnet til å kobinere presentasjon av dynamisk tekst, tabeller og figurer. Samlerapporter kan vises i selve Rapporeket, lastes ned eller sendes (rutinemessig) per epost til de som ønsker @@ -25,31 +29,31 @@ det. ## Eksempel på dynamisk tekst Idag, `r format(Sys.Date(), "%A %d. %b %Y")` er det -`r as.numeric(format(Sys.Date(), "%j"))` dager siden nyttår +`r as.numeric(format(Sys.Date(), "%j"))` dager siden nyttår. ## Eksempel på tabell -Tabellen under er kjedelig, men illustrerer poenget: +Tabell \@ref(tab:eksTab) under er kjedelig, men illustrerer poenget. ```{r eksTab} dt <- mtcars[1:6, ][params$var] +cap <- paste("Eksempeltabell som viser", params$var, "fra mtcars.") +label <- "eksTab" if (params$type == "html") { - t <- kable(dt) %>% - kable_styling(bootstrap_options = c("striped", "hover", "condensed")) + t <- rapbase::mst(tab = dt, type = "html", cap = cap, label = label) } if (params$type == "pdf") { - t <- kable(dt, format = "latex") - + t <- rapbase::mst(tab = dt, type = "latex", cap = cap, label = label) } t ``` ## Eksempel på figur -Vi har sett den før, men tåler å få figuren på nytt: +Samlerapporter kan også inneholde figurer basert på data slik som vist i Figur \@ref(fig:eksFig). -```{r eksFig, echo=FALSE} +```{r eksFig, echo=FALSE, fig.cap=paste("Eksempelfigur som viser frekvensfordelingen av", params$var, "fra mtcars.")} f <- rapRegTemplate::makeHist(df = mtcars, var = params$var, bins = params$bins, makeTable = FALSE) ``` From 25afc8f5cb4e9cca9b1aa1146758b0f3b81979b1 Mon Sep 17 00:00:00 2001 From: Are Edvardsen Date: Fri, 16 Jul 2021 14:13:41 +0200 Subject: [PATCH 5/9] selecting download format --- inst/shinyApps/app1/server.R | 6 +++--- inst/shinyApps/app1/ui.R | 38 +++++++++++++++++++++++------------- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/inst/shinyApps/app1/server.R b/inst/shinyApps/app1/server.R index e4173e9..c9f9020 100644 --- a/inst/shinyApps/app1/server.R +++ b/inst/shinyApps/app1/server.R @@ -60,13 +60,13 @@ server <- function(input, output, session) { output$downloadSamlerapport <- shiny::downloadHandler( filename = function() { basename(tempfile(pattern = "rapRegTemplateSamlerapport", - fileext = ".pdf")) + fileext = paste0(".", input$formatS))) }, content = function(file) { srcFile <- normalizePath(system.file("samlerapport.Rmd", package = "rapRegTemplate")) - fn <- rapbase::renderRmd(srcFile, outputType = "pdf", - params = list(type = "pdf", + fn <- rapbase::renderRmd(srcFile, outputType = input$formatS, + params = list(type = input$formatS, var = input$varS, bins = input$binsS)) file.rename(fn, file) diff --git a/inst/shinyApps/app1/ui.R b/inst/shinyApps/app1/ui.R index 8c6d4ca..79437bc 100644 --- a/inst/shinyApps/app1/ui.R +++ b/inst/shinyApps/app1/ui.R @@ -47,21 +47,31 @@ ui <- shiny::tagList( ), shiny::tabPanel("Samlerapport" , - tabPanel("Fordeling av mpg", - sidebarLayout( - sidebarPanel(width = 3, - selectInput(inputId = "varS", - label = "Variabel:", - c("mpg", "disp", "hp", "drat", "wt", "qsec")), - sliderInput(inputId = "binsS", - label = "Antall grupper:", - min = 1, - max = 10, - value = 5), - downloadButton("downloadSamlerapport", "Last ned!") + shiny::tabPanel("Fordeling av mpg", + shiny::sidebarLayout( + shiny::sidebarPanel( + width = 3, + shiny::selectInput( + inputId = "varS", + label = "Variabel:", + c("mpg", "disp", "hp", "drat", "wt", "qsec")), + shiny::sliderInput( + inputId = "binsS", + label = "Antall grupper:", + min = 1, + max = 10, + value = 5), + shiny::selectInput( + inputId = "formatS", + label = "Velg format for nedlasting:", + choices = list(PDF = "pdf", HTML = "html") + ), + shiny::downloadButton( + outputId = "downloadSamlerapport", + label = "Last ned!") ), - mainPanel( - uiOutput("samlerapport") + shiny::mainPanel( + shiny::uiOutput("samlerapport") ) ) ) From 1dd62370ea1261216979152eec5ac31e225396d2 Mon Sep 17 00:00:00 2001 From: Are Edvardsen Date: Tue, 20 Jul 2021 09:23:58 +0200 Subject: [PATCH 6/9] simplify by using default label from mst() --- inst/samlerapport.Rmd | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/inst/samlerapport.Rmd b/inst/samlerapport.Rmd index ce43d6d..1d7b02b 100644 --- a/inst/samlerapport.Rmd +++ b/inst/samlerapport.Rmd @@ -37,23 +37,16 @@ Tabell \@ref(tab:eksTab) under er kjedelig, men illustrerer poenget. ```{r eksTab} dt <- mtcars[1:6, ][params$var] -cap <- paste("Eksempeltabell som viser", params$var, "fra mtcars.") -label <- "eksTab" +cap <- paste("Eksempeltabell som viser variabelen", params$var, "fra mtcars.") -if (params$type == "html") { - t <- rapbase::mst(tab = dt, type = "html", cap = cap, label = label) -} +rapbase::mst(tab = dt, type = params$type, cap = cap) -if (params$type == "pdf") { - t <- rapbase::mst(tab = dt, type = "latex", cap = cap, label = label) -} -t ``` ## Eksempel på figur Samlerapporter kan også inneholde figurer basert på data slik som vist i Figur \@ref(fig:eksFig). -```{r eksFig, echo=FALSE, fig.cap=paste("Eksempelfigur som viser frekvensfordelingen av", params$var, "fra mtcars.")} +```{r eksFig, echo=FALSE, out.width="80%", fig.cap=paste("Eksempelfigur som viser frekvensfordelingen av", params$var, "fra mtcars.")} f <- rapRegTemplate::makeHist(df = mtcars, var = params$var, bins = params$bins, makeTable = FALSE) ``` From 1e6ddf9022ae1c53972d906e385682d61e2c591f Mon Sep 17 00:00:00 2001 From: Are Edvardsen Date: Tue, 20 Jul 2021 10:28:27 +0200 Subject: [PATCH 7/9] adding logo and description (to pdf report) --- inst/logo.png | Bin 0 -> 16675 bytes inst/samlerapport.Rmd | 10 ++++++---- inst/shortDescription.txt | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 inst/logo.png create mode 100644 inst/shortDescription.txt diff --git a/inst/logo.png b/inst/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eac9955b9ecd28566be53b074c0aa3291be2402b GIT binary patch literal 16675 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 fBlP#D;Pld!mYhTGe#a*6+Y6NC)t{lBTD Date: Tue, 20 Jul 2021 12:42:29 +0200 Subject: [PATCH 8/9] upping --- DESCRIPTION | 2 +- NEWS.md | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index f99e1a8..5e487b7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: rapRegTemplate Type: Package Title: Template to be used for Making New Registries at Rapportekt -Version: 1.0.1 +Version: 1.1.0 Authors@R: c( person(given = "Are", family = "Edvardsen", diff --git a/NEWS.md b/NEWS.md index 32c8114..838f55c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,9 @@ +# rapRegTemplate 1.1.0 + +* More content added to sample report +* Rendering of Rmarkdown now performed by rapbase +* General improvements made as result of changes in rapbase + # rapRegTemplate 1.0.1 * linting code From ebbb810bf935d4fca0a66793ce2ff1febbb2138d Mon Sep 17 00:00:00 2001 From: Are Edvardsen Date: Tue, 20 Jul 2021 12:47:45 +0200 Subject: [PATCH 9/9] reset to learning mode --- inst/shinyApps/app1/ui.R | 58 ++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/inst/shinyApps/app1/ui.R b/inst/shinyApps/app1/ui.R index 79437bc..12a7412 100644 --- a/inst/shinyApps/app1/ui.R +++ b/inst/shinyApps/app1/ui.R @@ -46,35 +46,35 @@ ui <- shiny::tagList( # ) ), shiny::tabPanel("Samlerapport" - , - shiny::tabPanel("Fordeling av mpg", - shiny::sidebarLayout( - shiny::sidebarPanel( - width = 3, - shiny::selectInput( - inputId = "varS", - label = "Variabel:", - c("mpg", "disp", "hp", "drat", "wt", "qsec")), - shiny::sliderInput( - inputId = "binsS", - label = "Antall grupper:", - min = 1, - max = 10, - value = 5), - shiny::selectInput( - inputId = "formatS", - label = "Velg format for nedlasting:", - choices = list(PDF = "pdf", HTML = "html") - ), - shiny::downloadButton( - outputId = "downloadSamlerapport", - label = "Last ned!") - ), - shiny::mainPanel( - shiny::uiOutput("samlerapport") - ) - ) - ) + # , + # shiny::tabPanel("Fordeling av mpg", + # shiny::sidebarLayout( + # shiny::sidebarPanel( + # width = 3, + # shiny::selectInput( + # inputId = "varS", + # label = "Variabel:", + # c("mpg", "disp", "hp", "drat", "wt", "qsec")), + # shiny::sliderInput( + # inputId = "binsS", + # label = "Antall grupper:", + # min = 1, + # max = 10, + # value = 5), + # shiny::selectInput( + # inputId = "formatS", + # label = "Velg format for nedlasting:", + # choices = list(PDF = "pdf", HTML = "html") + # ), + # shiny::downloadButton( + # outputId = "downloadSamlerapport", + # label = "Last ned!") + # ), + # shiny::mainPanel( + # shiny::uiOutput("samlerapport") + # ) + # ) + # ) ), shiny::tabPanel("Abonnement" # ,