Skip to content

Commit

Permalink
Update shiny vignette
Browse files Browse the repository at this point in the history
  • Loading branch information
Stefan Kuethe committed Sep 17, 2024
1 parent d5370e7 commit 8607cf6
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 4 deletions.
8 changes: 8 additions & 0 deletions examples/shiny/titanic/app.R
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ ui <- fluidPage(
server <- function(input, output) {
output$titanic <- renderTabulator({
tabulator(data, setup, editable = TRUE) |>
set_header_filter("Pclass", "list") |>
set_header_filter("Survived", "list") |>
set_header_filter("Fare", "number", "<=", clearable = TRUE) |>
set_options_pagination() |>
set_formatter_money(
"Fare",
Expand Down Expand Up @@ -47,6 +50,11 @@ server <- function(input, output) {
print(input$titanic_cell_edited)
})

observeEvent(input$titanic_data_filtered, {
print("data_filtered")
print(head(input$titanic_data_filtered))
})

observeEvent(input$submit, {
print("Trigger get data")
tabulatorContext(OUTPUT_ID) |>
Expand Down
4 changes: 2 additions & 2 deletions inst/htmlwidgets/rtabulator.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@
Shiny.onInputChange(inputName, cell.getData());
});
table.on("dataFiltered", function(filters, rows) {
const inputName = `${el.id}_data_filtered`;
const inputName = `${el.id}_data_filtered:rtabulator.data`;
const data = rows.map((row) => row.getData());
console.log(inputName, data);
Shiny.onInputChange(inputName, data);
Shiny.onInputChange(inputName, { data: convertToDataFrame(data) });
});
}

Expand Down
21 changes: 19 additions & 2 deletions vignettes/articles/shiny.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ shinyApp(ui = ui, server = server)
- `trigger_download()`
- `trigger_get_data()`
- `trigger_get_sheet_data()`
- `undo()`
- `redo()`
- `add_row()`
- `delete_row()`
- `delete_selected_rows()`

**Events**

Expand All @@ -54,7 +59,7 @@ shinyApp(ui = ui, server = server)
- `{OUTPUT_ID}_get_data`
- `{OUTPUT_ID}_get_sheet_data`

Use `tabulatorContext()` to trigger events.
Use `tabulatorContext()` in conjunction with the trigger functions:

```{r, eval=FALSE}
library(shiny)
Expand All @@ -77,10 +82,16 @@ ui <- fluidPage(
server <- function(input, output) {
output$titanic <- renderTabulator({
tabulator(data, setup, editable = TRUE) |>
set_header_filter("Pclass", "list") |>
set_header_filter("Survived", "list") |>
set_header_filter("Fare", "number", "<=", clearable = TRUE) |>
set_options_pagination() |>
set_formatter_money(
"Fare",
symbol = "\U00A3", symbol_after = FALSE, precision = 1, hoz_align = "right"
symbol = "\U00A3",
symbol_after = FALSE,
precision = 1,
hoz_align = "right"
) |>
set_tooltip("Fare") |>
set_formatter_tick_cross("Survived") |>
Expand All @@ -93,6 +104,7 @@ server <- function(input, output) {
})
observeEvent(input$titanic_row_clicked, {
print("row_clicked")
print(input$titanic_row_clicked)
})
Expand All @@ -106,6 +118,11 @@ server <- function(input, output) {
print(input$titanic_cell_edited)
})
observeEvent(input$titanic_data_filtered, {
print("data_filtered")
print(head(input$titanic_data_filtered))
})
observeEvent(input$submit, {
print("Trigger get data")
tabulatorContext(OUTPUT_ID) |>
Expand Down

0 comments on commit 8607cf6

Please sign in to comment.