Learn R Programming

shinyStorePlus (version 1.5)

initStore: Included package scripts

Description

Include Dexie and the package script in the header

Usage

initStore(src = c("browser", "rpkg", "all"), rpkg.api.key)

Value

Initialize the storage by including scripts necessary for the persistent storage handling

Arguments

src

scripts to include

rpkg.api.key

API key obtained from rpkg.net to use if src = "rpkg" or "all"

Details

To unlock the "rpkg" or "all" functionality, you'll need to obtain a FREE API key from https://api.rpkg.net
However, before requesting your API key, it's recommended to do an initial deployment of your app. This is because the API key generation process requires you to provide the link to your Shiny app.

Examples

Run this code
# \donttest{
library(shiny)
library(shinyStorePlus)

if (interactive()) {
  ui <- shiny::fluidPage(
    # initialize stores
    initStore(),
    titlePanel("Sample
             shinyStorePlus Init Inputs"),
    sidebarLayout(
      sidebarPanel(
        sliderInput("nextgenshinyapps1",
          "Number of bins:",
          min = 1,
          max = 200,
          value = 150
        ),
        textInput(
          "caption",
          "simple caption:",
          "summary, try editing"
        ),
        numericInput("obs",
          "sample observations:",
          10,
          min = 1, max = 100
        )
      ),
      mainPanel(
        plotOutput("distPlot")
      )
    )
  )
  server <- function(input, output, session) {
    output$distPlot <- renderPlot({
      x <- faithful[, 2]
      bins <- seq(min(x),
        max(x),
        length.out =
          input$nextgenshinyapps1 + 1
      )
      hist(x,
        breaks = bins,
        col = "blue",
        border = "gray"
      )
    })
  }
  shiny::shinyApp(ui = ui, server = server)
}


# Example app that stores App user views, likes and followers

library(shiny)
library(shinyStorePlus)

if (interactive()) {
ui <- fluidPage(
  titlePanel("Simplified shiny app storage of views, likes and followers"),
  initStore("all",rpkg.api.key =
  "c20c5eead7714c119dd3f20bd249a388e72db2aa0f9305d0380b683a37c5296a"),
  # get API key from https://api.rpkg.net
  h2("Save App Views"),hr(),
  viewsBox("viewsshow","loading views..."),
  h2("Save App Likes, and allow user to Like!"),hr(),
  lfButton("liket",suffix="likes"),
  h2("Save App Followers, and allow user to Follow!"),hr(),
  lfButton("followt",suffix="followers"),
  hr(),p(p("Like or Follow and Refresh the page -
  the values are saved and the views are incremented."))
)

server <- function(input, output, session) {
  # set up views, likes and follows, leave as
  # NULL if you don't need tracking for either
  # in this case, we leave followID as NULL
  # since we don't need to use that
  setupRPKG(
    viewsID = "viewsshow",
    likesID = "liket",
    followID = "followt"
 )
}


shinyApp(ui = ui, server = server)
}

# }

Run the code above in your browser using DataLab