From 328ad1e0164fabce495796d309ab98ac756748db Mon Sep 17 00:00:00 2001 From: Juliette Engelaere-Lefebvre Date: Wed, 23 Aug 2023 15:52:11 +0200 Subject: [PATCH] =?UTF-8?q?Intitul=C3=A9=20sur=20plusieurs=20lignes=20grac?= =?UTF-8?q?e=20=C3=A0=20un=20vecteur=20dans=20le=20footer=20=C3=A9galement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DESCRIPTION | 3 +- R/footer_dsfr.R | 63 ++++++++++----- dev/config_fusen.yaml | 115 ++++++++++++++++------------ dev/flat_composants/flat_footer.Rmd | 48 ++++++------ man/footer_dsfr.Rd | 13 +++- 5 files changed, 146 insertions(+), 96 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 8c6e477..a54ead7 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -36,6 +36,7 @@ Imports: XML (>= 3.99.0.10) Suggests: desc (>= 1.4.1), + dplyr, DT (>= 0.23), knitr (>= 1.39), readxl (>= 1.4.0), @@ -46,7 +47,7 @@ Suggests: withr (>= 2.5.0) VignetteBuilder: knitr -Config/fusen/version: 0.5.0.9001 +Config/fusen/version: 0.5.1 Config/testthat/edition: 3 Encoding: UTF-8 LazyData: true diff --git a/R/footer_dsfr.R b/R/footer_dsfr.R index 5882e77..0519053 100644 --- a/R/footer_dsfr.R +++ b/R/footer_dsfr.R @@ -1,4 +1,4 @@ -# WARNING - Generated by {fusen} from /dev/flat_composants/flat_footer.Rmd: do not edit by hand +# WARNING - Generated by {fusen} from dev/flat_composants/flat_footer.Rmd: do not edit by hand #' footer_dsfr @@ -11,7 +11,7 @@ #' #' Il est possible d'ajouter des url supplémentaires dans le corps et le bas du pied de page. #' -#' @param intitule la partie "intitule" du bloc marque +#' @param intitule la partie "intitule" du bloc marque. Utiliser un `shiny::tags$span()`pour mettre l'intitulé sur plusieurs lignes ou un vecteur. #' @param description un texte de présentation - optionnel #' @param accessibilite le type d'accessibilité (non/partiellement/totalement conforme) #' @param lien_accessibilite lien url vers l'accessibilite @@ -30,7 +30,7 @@ #' shinyApp( #' ui = fluidPage_dsfr( #' footer = footer_dsfr( -#' intitule = "Territoire", +#' intitule = c("Territoire", "Service"), #' description = "une description", #' accessibilite = "non", #' add_extra_url_body = footer_extra_url_body_dsfr( @@ -46,7 +46,7 @@ #' ) #' ), #' add_extra_url_bottom = footer_extra_url_bottom_dsfr( -#' +#' #' footer_li_dsfr( #' href = "https://siteinternet.fr", #' titre = "siteinternet.fr.fr - nouvelle fenêtre", @@ -81,8 +81,8 @@ #' ) #' } footer_dsfr <- function( - intitule = NULL , - description = NULL , + intitule = NULL, + description = NULL, accessibilite = "non", lien_accessibilite = "#", lien_mentions_legales = "#", @@ -92,27 +92,30 @@ footer_dsfr <- function( add_extra_url_bottom = NULL) { - if ( isFALSE(accessibilite %in% c("non", "partiellement", "totalement conforme"))){ - stop("l accessibilite doit etre 'non', 'partiellement' ou 'totalement conforme'") - } - - assertthat::assert_that(is.character(lien_accessibilite)) - assertthat::assert_that(is.character(lien_mentions_legales)) - assertthat::assert_that(is.character(lien_donnees_personnelles)) - assertthat::assert_that(is.character(lien_gestion_cookies)) - - + if ( isFALSE(accessibilite %in% c("non", "partiellement", "totalement conforme"))){ + stop("l accessibilite doit etre 'non', 'partiellement' ou 'totalement conforme'") + } + + assertthat::assert_that(is.character(lien_accessibilite)) + assertthat::assert_that(is.character(lien_mentions_legales)) + assertthat::assert_that(is.character(lien_donnees_personnelles)) + assertthat::assert_that(is.character(lien_gestion_cookies)) + + if(is.vector(intitule) & length(intitule) > 1){ + intitule <- span(HTML(paste0(intitule, collapse = "
"))) + } + footer_dsfr_template( intitule = intitule, description = description, footer_body = add_extra_url_body, footer_bottom = add_extra_url_bottom, - accessibilite = accessibilite, - lien_accessibilite = lien_accessibilite, - lien_mentions_legales = lien_mentions_legales, - lien_donnees_personnelles = lien_donnees_personnelles, - lien_gestion_cookies = lien_gestion_cookies + accessibilite = accessibilite, + lien_accessibilite = lien_accessibilite, + lien_mentions_legales = lien_mentions_legales, + lien_donnees_personnelles = lien_donnees_personnelles, + lien_gestion_cookies = lien_gestion_cookies ) } @@ -137,6 +140,24 @@ footer_extra_url_body_dsfr <- function(...) { +#' footer_extra_url_bottom_dsfr +#' +#' Permet d'ajouter des liends/url dans le bas du pied de page +#' +#' @param ... d'autre liens de références (voir `footer_li_dsfr()`) +#' +#' @return html +#' @rdname footer_dsfr +#' @export +#' @examples +#' footer_extra_url_bottom_dsfr(footer_li_dsfr(href = "http://siteinternet.fr", texte = "siteinternet.fr")) +footer_extra_url_bottom_dsfr <- + function(...) { + tagList(...) + + } + + #' footer_li_dsfr #' #' Permet de créer la balise html pour ajouter un lien en fonction de sa destination (body/bottom) diff --git a/dev/config_fusen.yaml b/dev/config_fusen.yaml index 62f586e..f1eaeab 100644 --- a/dev/config_fusen.yaml +++ b/dev/config_fusen.yaml @@ -11,9 +11,9 @@ flat_actionButton.Rmd: inflate: flat_file: dev/flat_composants/flat_actionButton.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_checkBoxInput.Rmd: path: dev/flat_composants/flat_checkBoxInput.Rmd @@ -38,9 +38,9 @@ flat_checkBoxInput.Rmd: inflate: flat_file: dev/flat_composants/flat_checkBoxInput.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_convert_to_dsfr.Rmd: path: dev/tools/flat_convert_to_dsfr.Rmd @@ -57,9 +57,9 @@ flat_convert_to_dsfr.Rmd: inflate: flat_file: dev/tools/flat_convert_to_dsfr.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_fluidpage.Rmd: path: dev/flat_composants/flat_fluidpage.Rmd @@ -81,9 +81,26 @@ flat_fluidpage.Rmd: pkg: shinygouv flat_file: dev/flat_composants/flat_fluidpage.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true + overwrite: ask +flat_footer.Rmd: + path: dev/flat_composants/flat_footer.Rmd + state: active + R: + - R/footer_dsfr.R + - R/footer_dsfr_template.R + tests: + - tests/testthat/test-footer_dsfr.R + - tests/testthat/test-footer_dsfr_template.R + vignettes: [] + inflate: + flat_file: dev/flat_composants/flat_footer.Rmd + vignette_name: .na + open_vignette: false + check: false + document: true overwrite: ask flat_header.Rmd: path: dev/flat_composants/flat_header.Rmd @@ -98,9 +115,9 @@ flat_header.Rmd: inflate: flat_file: dev/flat_composants/flat_header.Rmd vignette_name: .na - open_vignette: no - check: no - document: yes + open_vignette: false + check: false + document: true overwrite: ask flat_modal.Rmd: path: dev/flat_composants/flat_modal.Rmd @@ -115,9 +132,9 @@ flat_modal.Rmd: inflate: flat_file: dev/flat_composants/flat_modal.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_navbarPage.Rmd: path: dev/flat_composants/flat_navbarPage.Rmd @@ -129,9 +146,9 @@ flat_navbarPage.Rmd: pkg: shinygouv flat_file: dev/flat_composants/flat_navbarPage.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_numericInput.Rmd: path: dev/flat_composants/flat_numericInput.Rmd @@ -148,9 +165,9 @@ flat_numericInput.Rmd: inflate: flat_file: dev/flat_composants/flat_numericInput.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_panels.Rmd: path: dev/flat_composants/flat_panels.Rmd @@ -167,9 +184,9 @@ flat_panels.Rmd: inflate: flat_file: dev/flat_composants/flat_panels.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_radioButtons.Rmd: path: dev/flat_composants/flat_radioButtons.Rmd @@ -188,9 +205,9 @@ flat_radioButtons.Rmd: inflate: flat_file: dev/flat_composants/flat_radioButtons.Rmd vignette_name: .na - open_vignette: no - check: no - document: yes + open_vignette: false + check: false + document: true overwrite: 'yes' flat_radioGroupButtons.Rmd: path: dev/flat_composants/flat_radioGroupButtons.Rmd @@ -209,9 +226,9 @@ flat_radioGroupButtons.Rmd: inflate: flat_file: dev/flat_composants/flat_radioGroupButtons.Rmd vignette_name: .na - open_vignette: no - check: no - document: yes + open_vignette: false + check: false + document: true overwrite: 'yes' flat_selectInput.Rmd: path: dev/flat_composants/flat_selectInput.Rmd @@ -230,9 +247,9 @@ flat_selectInput.Rmd: inflate: flat_file: dev/flat_composants/flat_selectInput.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_slider.Rmd: path: dev/flat_composants/flat_slider.Rmd @@ -244,9 +261,9 @@ flat_slider.Rmd: pkg: shinygouv flat_file: dev/flat_composants/flat_slider.Rmd vignette_name: .na - open_vignette: yes - check: yes - document: yes + open_vignette: true + check: true + document: true overwrite: ask flat_toggleswitch.Rmd: path: dev/flat_composants/flat_toggleswitch.Rmd @@ -262,9 +279,9 @@ flat_toggleswitch.Rmd: inflate: flat_file: dev/flat_composants/flat_toggleswitch.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: ask flat_tools.Rmd: path: dev/tools/flat_tools.Rmd @@ -282,20 +299,20 @@ flat_tools.Rmd: inflate: flat_file: dev/tools/flat_tools.Rmd vignette_name: .na - open_vignette: yes - check: no - document: yes + open_vignette: true + check: false + document: true overwrite: 'yes' flat_withSpinner.Rmd: path: dev/flat_composants/flat_withSpinner.Rmd state: active R: R/withspinner_dsfr.R tests: tests/testthat/test-withspinner_dsfr.R - vignettes: [] + vignettes: [] inflate: flat_file: dev/flat_composants/flat_withSpinner.Rmd vignette_name: .na - open_vignette: no - check: no - document: yes + open_vignette: false + check: false + document: true overwrite: 'yes' diff --git a/dev/flat_composants/flat_footer.Rmd b/dev/flat_composants/flat_footer.Rmd index 31ad411..dfe7dba 100644 --- a/dev/flat_composants/flat_footer.Rmd +++ b/dev/flat_composants/flat_footer.Rmd @@ -1,5 +1,5 @@ --- -title: "flat_new_one.Rmd empty" +title: "flat_footer.Rmd" output: html_document editor_options: chunk_output_type: console @@ -20,13 +20,14 @@ Vous pouvez ajouter le footer officiel dans votre application avec `footer_dsfr( ```{r, eval=FALSE} fluidPage_dsfr( header = header_dsfr( - intitule = span("Intitulé", br(), "sur 3", br(), "lignes"), + intitule = c("Intitulé", "sur 3", "lignes"), nom_site_service = "Nom du site / service", baseline = "baseline - precisions sur l organisation", class = "fr-m-1w" ), footer = footer_dsfr( - ), + intitule = "intitule court" + ), title = "Exemple shiny dsfr", h1("Exemple d'utilisation de {shinygouv}"), ) @@ -320,7 +321,7 @@ test_that("footer_dsfr_template works", { #' #' Il est possible d'ajouter des url supplémentaires dans le corps et le bas du pied de page. #' -#' @param intitule la partie "intitule" du bloc marque +#' @param intitule la partie "intitule" du bloc marque. Utiliser un `shiny::tags$span()`pour mettre l'intitulé sur plusieurs lignes ou un vecteur. #' @param description un texte de présentation - optionnel #' @param accessibilite le type d'accessibilité (non/partiellement/totalement conforme) #' @param lien_accessibilite lien url vers l'accessibilite @@ -335,8 +336,8 @@ test_that("footer_dsfr_template works", { #' @rdname footer_dsfr #' @examples footer_dsfr <- function( - intitule = NULL , - description = NULL , + intitule = NULL, + description = NULL, accessibilite = "non", lien_accessibilite = "#", lien_mentions_legales = "#", @@ -346,27 +347,30 @@ footer_dsfr <- function( add_extra_url_bottom = NULL) { - if ( isFALSE(accessibilite %in% c("non", "partiellement", "totalement conforme"))){ - stop("l accessibilite doit etre 'non', 'partiellement' ou 'totalement conforme'") - } - - assertthat::assert_that(is.character(lien_accessibilite)) - assertthat::assert_that(is.character(lien_mentions_legales)) - assertthat::assert_that(is.character(lien_donnees_personnelles)) - assertthat::assert_that(is.character(lien_gestion_cookies)) - - + if ( isFALSE(accessibilite %in% c("non", "partiellement", "totalement conforme"))){ + stop("l accessibilite doit etre 'non', 'partiellement' ou 'totalement conforme'") + } + + assertthat::assert_that(is.character(lien_accessibilite)) + assertthat::assert_that(is.character(lien_mentions_legales)) + assertthat::assert_that(is.character(lien_donnees_personnelles)) + assertthat::assert_that(is.character(lien_gestion_cookies)) + + if(is.vector(intitule) & length(intitule) > 1){ + intitule <- span(HTML(paste0(intitule, collapse = "
"))) + } + footer_dsfr_template( intitule = intitule, description = description, footer_body = add_extra_url_body, footer_bottom = add_extra_url_bottom, - accessibilite = accessibilite, - lien_accessibilite = lien_accessibilite, - lien_mentions_legales = lien_mentions_legales, - lien_donnees_personnelles = lien_donnees_personnelles, - lien_gestion_cookies = lien_gestion_cookies + accessibilite = accessibilite, + lien_accessibilite = lien_accessibilite, + lien_mentions_legales = lien_mentions_legales, + lien_donnees_personnelles = lien_donnees_personnelles, + lien_gestion_cookies = lien_gestion_cookies ) } @@ -379,7 +383,7 @@ if (interactive()) { shinyApp( ui = fluidPage_dsfr( footer = footer_dsfr( - intitule = "Territoire", + intitule = c("Territoire", "Service"), description = "une description", accessibilite = "non", add_extra_url_body = footer_extra_url_body_dsfr( diff --git a/man/footer_dsfr.Rd b/man/footer_dsfr.Rd index 349b912..fe9a909 100644 --- a/man/footer_dsfr.Rd +++ b/man/footer_dsfr.Rd @@ -5,8 +5,8 @@ \alias{footer_bottom_dsfr} \alias{footer_dsfr} \alias{footer_extra_url_body_dsfr} -\alias{footer_li_dsfr} \alias{footer_extra_url_bottom_dsfr} +\alias{footer_li_dsfr} \title{footer_bottom_dsfr} \usage{ footer_bottom_dsfr( @@ -32,6 +32,8 @@ footer_dsfr( footer_extra_url_body_dsfr(...) +footer_extra_url_bottom_dsfr(...) + footer_li_dsfr(id = NULL, href, titre = NULL, texte, type = "body") footer_extra_url_bottom_dsfr(...) @@ -49,7 +51,7 @@ footer_extra_url_bottom_dsfr(...) \item{lien_gestion_cookies}{lien url vers la gestion des cookies} -\item{intitule}{la partie "intitule" du bloc marque} +\item{intitule}{la partie "intitule" du bloc marque. Utiliser un \code{shiny::tags$span()}pour mettre l'intitulé sur plusieurs lignes ou un vecteur.} \item{description}{un texte de présentation - optionnel} @@ -76,6 +78,8 @@ html html +html + html } \description{ @@ -89,6 +93,8 @@ Il est possible d'ajouter des url supplémentaires dans le corps et le bas du pi Permet d'ajouter des liends/url dans le corps du pied de page +Permet d'ajouter des liends/url dans le bas du pied de page + Permet de créer la balise html pour ajouter un lien en fonction de sa destination (body/bottom) Permet d'ajouter des liends/url dans le bas du pied de page @@ -99,7 +105,7 @@ if (interactive()) { shinyApp( ui = fluidPage_dsfr( footer = footer_dsfr( - intitule = "Territoire", + intitule = c("Territoire", "Service"), description = "une description", accessibilite = "non", add_extra_url_body = footer_extra_url_body_dsfr( @@ -152,6 +158,7 @@ if (interactive()) { footer_extra_url_body_dsfr( footer_li_dsfr(href = "http://siteinternet.fr", texte = "siteinternet.fr", type = "body"), footer_li_dsfr(href = "http://siteinternet.fr", texte = "siteinternet.fr", type = "body")) +footer_extra_url_bottom_dsfr(footer_li_dsfr(href = "http://siteinternet.fr", texte = "siteinternet.fr")) footer_li_dsfr(href = "http://siteinternet.fr", texte = "siteinternet.fr", type = "body") footer_li_dsfr(href = "http://siteinternet.fr", texte = "siteinternet.fr", type = "bottom") }