| Type: | Package | 
| Title: | Extra Features for 'reactable' Package | 
| Version: | 0.2.1 | 
| Description: | Enhanced functionality for 'reactable' in 'shiny' applications, offering interactive and dynamic data table capabilities with ease. With 'reactable.extras', easily integrate a range of functions and components to enrich your 'shiny' apps and facilitate user-friendly data exploration. | 
| License: | LGPL-3 | 
| URL: | https://appsilon.github.io/reactable.extras/, https://github.com/Appsilon/reactable.extras | 
| BugReports: | https://github.com/Appsilon/reactable.extras/issues | 
| Depends: | R (≥ 4.1.0) | 
| Imports: | checkmate, dplyr, htmltools, purrr (≥ 1.0.0), reactable (≥ 0.4.0), rjson, rlang, shiny | 
| Suggests: | covr, lintr, mockery, rcmdcheck, shinytest2, spelling, testthat (≥ 3.0.0) | 
| Config/testthat/edition: | 3 | 
| Encoding: | UTF-8 | 
| Language: | en-US | 
| RoxygenNote: | 7.2.3 | 
| NeedsCompilation: | no | 
| Packaged: | 2024-10-29 14:25:23 UTC; kuba | 
| Author: | Recle Vibal [aut, cre], Ivan Hrychaniuk [aut], Andres Quintero [aut], Pedro Silva [aut], Eduardo Almeida [ctb], Appsilon Sp. z o.o. [cph] | 
| Maintainer: | Recle Vibal <opensource+recle@appsilon.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2024-10-29 14:50:02 UTC | 
Button input for reactable column cell
Description
Button input for reactable column cell
Usage
button_extra(id, key = NULL, ...)
Arguments
| id | id of the button input | 
| key | alternative unique id for server side processing | 
| ... | parameters of button, only  | 
Value
Custom JS button renderer for reactable
Examples
reactable::colDef(cell = button_extra("click", class = "table-button"))
Checkbox input for reactable column cell
Description
Checkbox input for reactable column cell
Usage
checkbox_extra(id, key = NULL, ...)
Arguments
| id | id of the checkbox input | 
| key | alternative unique id for server side processing | 
| ... | parameters of checkbox, only  | 
Value
Custom JS checkbox renderer for reactable
Examples
reactable::colDef(cell = checkbox_extra("check", class = "table-check"))
Date input for reactable column cell
Description
Date input for reactable column cell
Usage
date_extra(id, key = NULL, ...)
Arguments
| id | id of the date input | 
| key | alternative unique id for server side processing | 
| ... | parameters of date input, only  | 
Value
Custom JS date input renderer for reactable
Examples
reactable::colDef(cell = date_extra("date", class = "table-date"))
Define the unique id to use when passing values to shiny
Description
Define the unique id to use when passing values to shiny
Usage
define_key(key)
Select input for reactable column cell
Description
Select input for reactable column cell
Usage
dropdown_extra(id, choices, key = NULL, ...)
Arguments
| id | id of the select input | 
| choices | vector of choices | 
| key | alternative unique id for server side processing | 
| ... | parameters of date input, only  | 
Value
Custom JS dropdown renderer for reactable
Examples
reactable::colDef(
  cell = dropdown_extra("dropdown",
  choices = letters[1:5],
  class = "table-dropdown"
  )
 )
Get the data on the page
Description
Get the data on the page
Usage
get_data_on_page(data, page_number, total_pages)
Arguments
| data | data.frame without pages; pagination will be inferred | 
| page_number | page of data to retrieve | 
| total_pages | number of pages in  | 
Value
a data.frame
Create reactable UI with server-side processing
Description
Create reactable UI with server-side processing
Usage
reactable_extras_ui(id, width = "auto", height = "auto")
reactable_extras_server(id, data, total_pages = 4, sortable = TRUE, ...)
Arguments
| id | element id | 
| width,height | CSS unit ( | 
| data | passed to  | 
| total_pages | number of pages | 
| sortable | allow sorting by columns | 
| ... | other arguments to be passed to  | 
Details
Arguments passed to reactable::reactable() must not contain pagination or showPagination.
These are set to FALSE. Pagination will be handled on the server-side.
Value
reactable_extras_ui() returns a custom UI for a server-side processed reactable
Examples
if (interactive()) {
  library(shiny)
  library(reactable)
  library(reactable.extras)
  shinyApp(
    reactable_extras_ui("big_data"),
    function(input, output, server) {
      reactable_extras_server(
        "big_data",
        data = mtcars,
        columns = list(
          mpg = reactable::colDef(name = "Miles per Gallon"),
          cyl = reactable::colDef(name = "Cylinders"),
          disp = reactable::colDef(name = "Displacement")
        )
      )
    }
  )
}
Module for reactable page navigation
Description
Module for reactable page navigation
Usage
reactable_page_controls(id)
return_reactable_page(id, total_pages)
Arguments
| id | element id | 
| total_pages | total number of pages | 
Value
reactable_page_controls() returns a UI for page navigation of a server-side processed
reactable::reactable() data
Reactable.extras JS and CSS dependencies
Description
Reactable.extras JS and CSS dependencies
Usage
reactable_extras_dependency()
Value
HTML dependency object.
Text input for reactable column cell
Description
Text input for reactable column cell
Usage
text_extra(id, key = NULL, ...)
Arguments
| id | id of the text input | 
| key | alternative unique id for server side processing | 
| ... | parameters of text input, only  | 
Value
Custom JS text input renderer for reactable
Examples
reactable::colDef(cell = text_extra("text", class = "table-text"))
Utility function to disable or re-enable navigation buttons
Description
Utility function to disable or re-enable navigation buttons
Usage
toggle_navigation_buttons(disable, session = shiny::getDefaultReactiveDomain())
Arguments
| disable | a named logical vector | 
| session | Shiny session object; default to current Shiny session | 
Details
disable should a logical vector with these exact names: first_page, previous_page,
next_page, and last_page. The logical vectors indicate if the corresponding button will be
enabled or disabled.
Tool-tip for table headers
Description
Tool-tip for table headers
Usage
tooltip_extra(content, theme = "light")
Arguments
| content | The content to be displayed in the tool-tip | 
| theme | The theme of the tool-tip, either "light", "light-border", "material" or "translucent" | 
Value
Custom JS tool-tip renderer for reactable
Examples
reactable::colDef(header = tooltip_extra("This is my tool-tip", theme = "material"))