Гибкое горизонтальное выравнивание на блестящей странице (таблица, а не содержимое) - PullRequest
0 голосов
/ 15 апреля 2020

Я пытался выровнять flextable слева на моем блестящем приложении, но безуспешно. Я могу сделать это в rmarkdown / Word - экспорт (как объяснено здесь ), но не на блестящей странице.

Пример кода:

ui <- fluidPage(

    fluidRow(
      uiOutput("flex")
    )
)
ui
server <- function(input, output) {

output$flex <- renderUI({
    tbl <- head(mtcars)

    return(flextable(tbl)) %>%
             htmltools_value()        
  })
}
server

Когда при этом flextable центрируется. Centered flextable

Как выровнять его по левому краю? (или поле слева: 0; поле справа: авто). Я пытался поиграться с css, но, похоже, что-то переопределяет мои настройки, даже если я пометил это! Важным в файле. css.

На картинке ниже: Если я go для проверки режима и установки свойства выравнивания левой стороны таблицы .tabwid в 0, таблица выравнивается по левому краю. Но если я установлю это свойство в моем файле css, а затем загрузлю приложение, таблица сначала будет выровнена по левой стороне, но затем быстро снова центрируется.

Спасибо за помощь,

-Кари

Editing table style in Rstudio DevTools

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Вы также можете использовать аргумент ft.align в функции htmltoools_value:

library(shiny)
library(flextable)
library(magrittr)

ui <- fluidPage(

  fluidRow(
    uiOutput("flex")
  )
)
ui
server <- function(input, output) {

  output$flex <- renderUI({
    tbl <- head(mtcars)

    return(flextable(tbl)) %>%
      htmltools_value(ft.align = "left")        
  })
}
shinyApp(ui, server)

enter image description here

0 голосов
/ 15 апреля 2020

Я не знаю, как вы определяете, указывайте таблицу в файле css, но я думаю, что в этом проблема. Я решил это с помощью этого кода

ui <- fluidPage(
  shiny::tags$head(
    tags$style(
      ".tabwid table {margin-left: 0px !important;}"
    )
  ),

  fluidRow(
    uiOutput("flex")
  )
)
server <- function(input, output) {

  output$flex <- renderUI({
    tbl <- head(mtcars)

    return(flextable(tbl) %>%
      htmltools_value())        
  })
}
shinyApp(ui, server)

Обратите внимание на селектор .tabwid table в теге стиля. Я думаю, что это важный шаг.

Надеюсь, это поможет !!

...