Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/landeranalytics/faketables


https://github.com/landeranalytics/faketables

Last synced: 9 days ago
JSON representation

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# faketables

[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![R-CMD-check](https://github.com/landeranalytics/faketables/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/landeranalytics/faketables/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/landeranalytics/faketables/branch/main/graph/badge.svg)](https://app.codecov.io/gh/landeranalytics/faketables?branch=main)

## Overview

`{faketables}` is a table construction tool that creates and renders tables using [`Shiny`](https://shiny.posit.co/) inputs, while managing data inserts, updates, and deletions. Users define the column definitions using the provided constructors and pass their data, and `faketables` handles the rest. Because `faketables` is a Shiny module, it can be used in any Shiny application and excels in applications where users need to interact with the data in great detail.

## Benefits

`faketables` provides several distinct benefits over packages with similar features such as [`DT`](https://rstudio.github.io/DT/) and [`reactable`](https://glin.github.io/reactable/):

- Users can implement any Shiny input method they wish into a cell
- A `faketables` object contains the entirety of the data that is shown to the user, along with any columns the developer has chosen to hide from the user
- Information on which rows are inserted, updated, or deleted is retained. Again, this data is stored in its entirety.
- All setup can be performed outside of a Shiny server context and developers only need two functions in the Shiny app, one in the UI and one in the server, for update and delete functionality, with a third needed for insertions.

## Installation

You can install the development version of faketables from [GitHub](https://github.com/) with:

``` r
# install.packages("pak")
pak::pak("landeranalytics/faketables")
```

## Usage

Usage is detailed in the [Get Started Vignette](articles/faketables.html) and an example app about the best pizza in NYC can be found [here](https://landeranalytics.shinyapps.io/faketables/) with the code for that app [here](articles/favorite_pizza.html).

![](man/figures/preview.jpg)