Трек определил c полей, нажатых на Datatables - PullRequest
0 голосов
/ 20 января 2020

У меня есть приложение, в котором я отслеживаю всю активность пользователя. Но есть одна большая проблема. У меня есть данные в моем приложении, где, когда пользователь нажимает на указанный столбец c (скажем, «Африка»), это действие не записывается в моем журнале. Я твердо верю, что это было бы важно, так как в нем содержится информация о пользователях.

Мне удалось получить этот ниже представленный

ui.R

if (interactive()) {
  tmp <- getwd()

  onStop(function(){
    browseURL(url = tmp)
  })
} 

use_tracking()

dashboardPage(
  dashboardHeader(title = "Loading data"),
  dashboardSidebar(sidebarMenu(
    menuItem("Load Data", tabName = "Load_Data", icon = icon("balance-scale")),
    menuItem("Analysis", tabName = "Analysis", icon = icon("chart-bar"))
  )),
  dashboardBody(
    tabItems(tabItem(tabName = "Load_Data", selectInput("dataset",
                                                        "Select",choices = c("","iris","mtcars"), selected = "iris"),
                     DT::DTOutput('table1')),
            tabItem(tabName = "Analysis",DT::DTOutput('table2'))
    ),verbatimTextOutput("last"))
)

сервер. R

library(shiny)
library(shinylogs)
library(DT)
source("ui.R")

# Define server logic required to draw a histogram
shinyServer(function(input, output) {

  track_usage(
    storage_mode = store_json(path = tmp)
  )

  datasetInput <- reactive({
    switch(input$dataset,
           "iris" = iris,
           "mtcars" = mtcars)
  })

  output$table1 <- DT::renderDT({
    head(datasetInput(), n = 10)
  })

  output$table2 <- DT::renderDT({
    if(is.null(input$table1_rows_selected)){

    } else {
      head(datasetInput()[input$table1_rows_selected,], n = 100)
    }

  })

  output$last <- renderPrint({
    input$.shinylogs_output
  })

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...