From ed74e0492c201d078fad13ff10aa9110445e97d0 Mon Sep 17 00:00:00 2001 From: Andreas Gammelgaard Damsbo Date: Fri, 12 Dec 2025 18:09:06 +0100 Subject: [PATCH] revised table export --- DESCRIPTION | 7 +------ NEWS.md | 2 +- R/sysdata.rda | Bin 2842 -> 2908 bytes R/table-download-module.R | 15 +++++++++------ SESSION.md | 5 +++++ app_docker/app.R | 33 +++++++++++++++++++-------------- inst/apps/FreesearchR/app.R | 33 +++++++++++++++++++-------------- 7 files changed, 54 insertions(+), 41 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 3371445d..7b46a25b 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -71,12 +71,7 @@ Imports: stRoke, data.table, viridis, - smd, - doconv, - locatexec, - magick, - pdftools, - qpdf + smd Suggests: styler, devtools, diff --git a/NEWS.md b/NEWS.md index 1feb3778..e2bb2c50 100644 --- a/NEWS.md +++ b/NEWS.md @@ -4,7 +4,7 @@ *NEW* Updated and slightly extended list of allowed operators for new variable creation. -*FIX* The exported MS Word documents prompted a warning. I believe that has been fixed, but required several new dependencies. +*FIX* The exported MS Word documents prompts a warning. The codebase now includes a fix, but it only works running locally, but was disabled. # FreesearchR 25.12.5 diff --git a/R/sysdata.rda b/R/sysdata.rda index 19ccc239cc55ee35e0797899d619ceddab286ce9..d1c8f1da5a5e5235cd13b780a9248a1692b305c9 100644 GIT binary patch literal 2908 zcmV-i3#0TxT4*^jL0KkKSxPzNH~<_@|H1$NXa&H3|KNXb-@w2B|L{NnAOHvf;0*s4 z7fTl7$EqNrkPQH!ed-6$00B}T4NQOp00;@B^kmdxrL~LiG(6QesTu$P0000005v?C2`ZWgl+eV`FD=srh5>ks|4Nmpm@>np6>Zb_mM@m~seZO09zk{yB8?~o5 z@hya=nHqZVyjnywh}f7>51b^Gg8#(D8k9`2o4g9QycOMYPCm9ymguJ7VTFU!24!g%3*E48#8ZW%BpCquPl}mc^&5lNM``m%(H6tX){hS zRaru>Am^hzWQ->-g|PTWl>-Wf#VDAQxQer=#c!{R9@T= zFyVknqZx5BK{CixcAQjhqbecWQ>Q$d>3Vd4NNYNDVwFbJbxc*6O}8?MB@yQD=h`C@q@XFwE3UQ4lquz>sJr3MNpffORM$mJsUUnh|4y ziIFtX{Cn+SG%8;x9O4OA+j|q=*({xPC zZMm3H*nuIdGJ_JSYiK4~){Gi40;+R4j4ma{K_w{;xr>#B1W*wPl%_FHizuW{q>=D7 zNJez9lEb#t5rB0)>@W(6NCg@N6QNCNg0|dR)?{YK}*qwdo5`1V7hWaLn#$hlDSQG-) zlEMN;5P{tOy@uNX*GX1dHT{|-Fq&0WV#JkNm5DXmVc3$S zM1QhgWLPW0RNaL~$hTHY=XiRYJEGc@wzi4BZIenQ1r|e8sIV*{d=bSF6wiPLdH}F$ zwuas+0U9SZ|rTYBGq}jTTK4 z84nM)+s7U2cR0&A)1ji2qikzyD5;DFk5b(|vsBjG_jNo+>Uwd-3N?z#a5e#;_LD@u|&N3JP0xp2tC!Q6a`@PdsWMG$RYMM0? zy`Shcy*BAQRTb<0TR4kFF|7+E}J`kl0HNh z?8DeG&N$M!Z9if)5YZM7Pija{>GE|7`dE%U*2MwLkB_yXNgoI=nG;PPKZiyvI*6m< zzln$>S_=w#gkxmdWcBw2^sw1ad;du9ko(#u0^x!`#8(`LsO%?}=T}68LK_!JKpe?c zjkm0)OJbo@w26L8C#K??Q|3R99`#6&E%CndZ;b9wR$G^-(v-t|-^!EM=;L2t~MIoVWCDaHWWJI*h4onNY+`!!d8A&eN0~l##MX4$GbhbklYO_nk{*APE^JhJBT?ro#39a8qK7w5Tv9 zmSJG9`B{sF&wDQSYnZw2NgCkZ9$m9!1pTBdlqSG}$g-v-MQ&VPLKmcr#2(}5&Q~8@iAa~C zS?Q$$b(Kc*POc0`DC--3$Fob3Q`gWCUvJm55l|NDJj=kYgL3vc`K%Fcxhcxy)(5>KP~SHZ zhc_SBe@J!cKA%jdz^Ej7Sem>Jf_!Q_g*_>z+#6=0AvHj|t<{wwAS+(#s3_P&tLKZf z<_^0OoAF8p<}5M2Ob1b-7BxB8_k!2AHjOpMp*SICtaHkqu_mxnKHpq}3ndoOjDouO zu~s~hZIMv=%I~Pct<4^Ejq!T!memv@)1@bK4GG4I&=R9T4TVm#u7q}M#TnhDT_)RS zX*4vZV{)M$Xn8Db+NJq&&9>>2G$PYWDn!PW$tP)-1 zN4Xb{`w(F!%{VA=7sgrFio5gK>6Jymu40|8vJ~$cwdY3eUid4}{G)klBb`(=DnQ=Y zQBHy);#G;>tjZ&*nL?-_K$C*2t?YBuY!pbKg;HI+hu#O^KzPlDG#KU|_`8xR!i0iR G&mq8Qa6dZ$ literal 2842 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 doconv::docx_update() - } else { - out - } + # This only works locally and was disabled + # if (type == "docx") { + # out |> doconv::docx_update() + # } else { + # out + # } + + out }, error = function(err) { shiny::showNotification(paste0(i18n$t("Error: "), err), type = "error") diff --git a/SESSION.md b/SESSION.md index 9c16e40e..919f71e1 100644 --- a/SESSION.md +++ b/SESSION.md @@ -26,6 +26,8 @@ |apexcharter |0.4.4 |2024-09-06 |CRAN (R 4.4.1) | |askpass |1.2.1 |2024-10-04 |CRAN (R 4.4.1) | |assertthat |0.2.1 |2019-03-21 |CRAN (R 4.4.1) | +|attachment |0.4.5 |2025-03-14 |CRAN (R 4.4.1) | +|attempt |0.3.1 |2020-05-03 |CRAN (R 4.4.1) | |backports |1.5.0 |2024-05-23 |CRAN (R 4.4.1) | |base64enc |0.1-3 |2015-07-28 |CRAN (R 4.4.1) | |bayestestR |0.17.0 |2025-08-29 |CRAN (R 4.4.1) | @@ -63,6 +65,7 @@ |devtools |2.4.6 |2025-10-03 |CRAN (R 4.4.1) | |DHARMa |0.4.7 |2024-10-18 |CRAN (R 4.4.1) | |digest |0.6.39 |2025-11-19 |CRAN (R 4.4.3) | +|dockerfiler |0.2.5 |2025-05-07 |CRAN (R 4.4.1) | |doconv |0.3.3 |2025-08-18 |CRAN (R 4.4.1) | |doParallel |1.0.17 |2022-02-07 |CRAN (R 4.4.0) | |dplyr |1.1.4 |2023-11-17 |CRAN (R 4.4.0) | @@ -208,6 +211,7 @@ |sessioninfo |1.2.3 |2025-02-05 |CRAN (R 4.4.1) | |shiny |1.12.1 |2025-12-09 |CRAN (R 4.4.1) | |shiny.i18n |0.3.0 |2023-01-16 |CRAN (R 4.4.0) | +|shiny2docker |0.0.3 |2025-06-28 |CRAN (R 4.4.1) | |shinybusy |0.3.3 |2024-03-09 |CRAN (R 4.4.0) | |shinyjs |2.1.0 |2021-12-23 |CRAN (R 4.4.0) | |shinyTime |1.0.3 |2022-08-19 |CRAN (R 4.4.0) | @@ -242,4 +246,5 @@ |xml2 |1.5.1 |2025-12-01 |CRAN (R 4.4.3) | |xtable |1.8-4 |2019-04-21 |CRAN (R 4.4.1) | |yaml |2.3.11 |2025-11-28 |CRAN (R 4.4.3) | +|yesno |0.1.3 |2024-07-26 |CRAN (R 4.4.1) | |zip |2.3.3 |2025-05-13 |CRAN (R 4.4.1) | diff --git a/app_docker/app.R b/app_docker/app.R index 24fa4cf6..a6dd12ce 100644 --- a/app_docker/app.R +++ b/app_docker/app.R @@ -1,7 +1,7 @@ ######## -#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpaYL5kU/file9c7175d0a25d.R +#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpaYL5kU/file9c7113e28000.R ######## i18n_path <- here::here("translations") @@ -9855,7 +9855,7 @@ table_download_ui <- function(id, title = "Table", ...) { selected = NULL, choices = list( "MS Word" = "docx", - "Open document format" = "rtf" + "Compatible (rtf)" = "rtf" ) ), shiny::br(), @@ -9910,11 +9910,14 @@ table_download_server <- function(id, data, file_name = "table", ...) { data = table, filename = file # Save to the file path provided by downloadHandler ) - if (type == "docx") { - out |> doconv::docx_update() - } else { - out - } + # This only works locally and was disabled + # if (type == "docx") { + # out |> doconv::docx_update() + # } else { + # out + # } + + out }, error = function(err) { shiny::showNotification(paste0(i18n$t("Error: "), err), type = "error") @@ -14114,14 +14117,16 @@ server <- function(input, output, session) { output_format = format, input = file.path(getwd(), "www/report.rmd") ) + # This only works locally and was disabled + # if (type == "docx") { + # ## This handles the the following MS Word warning: + # ## >> "This document contains fields that may refer to other files." + # out |> doconv::docx_update() + # } else { + # out + # } - if (type == "docx") { - ## This handles the the following MS Word warning: - ## >> "This document contains fields that may refer to other files." - out |> doconv::docx_update() - } else { - out - } + out }, error = function(err) { showNotification(paste0(i18n$t("We encountered the following error creating your report: "), err), type = "err") diff --git a/inst/apps/FreesearchR/app.R b/inst/apps/FreesearchR/app.R index 62c12b77..0f4e390e 100644 --- a/inst/apps/FreesearchR/app.R +++ b/inst/apps/FreesearchR/app.R @@ -1,7 +1,7 @@ ######## -#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpaYL5kU/file9c716ca74d18.R +#### Current file: /var/folders/9l/xbc19wxx0g79jdd2sf_0v291mhwh7f/T//RtmpaYL5kU/file9c715011d086.R ######## i18n_path <- system.file("translations", package = "FreesearchR") @@ -9855,7 +9855,7 @@ table_download_ui <- function(id, title = "Table", ...) { selected = NULL, choices = list( "MS Word" = "docx", - "Open document format" = "rtf" + "Compatible (rtf)" = "rtf" ) ), shiny::br(), @@ -9910,11 +9910,14 @@ table_download_server <- function(id, data, file_name = "table", ...) { data = table, filename = file # Save to the file path provided by downloadHandler ) - if (type == "docx") { - out |> doconv::docx_update() - } else { - out - } + # This only works locally and was disabled + # if (type == "docx") { + # out |> doconv::docx_update() + # } else { + # out + # } + + out }, error = function(err) { shiny::showNotification(paste0(i18n$t("Error: "), err), type = "error") @@ -14114,14 +14117,16 @@ server <- function(input, output, session) { output_format = format, input = file.path(getwd(), "www/report.rmd") ) + # This only works locally and was disabled + # if (type == "docx") { + # ## This handles the the following MS Word warning: + # ## >> "This document contains fields that may refer to other files." + # out |> doconv::docx_update() + # } else { + # out + # } - if (type == "docx") { - ## This handles the the following MS Word warning: - ## >> "This document contains fields that may refer to other files." - out |> doconv::docx_update() - } else { - out - } + out }, error = function(err) { showNotification(paste0(i18n$t("We encountered the following error creating your report: "), err), type = "err")