-
Notifications
You must be signed in to change notification settings - Fork 1
/
ModularEditDataTable.R
96 lines (63 loc) · 2.14 KB
/
ModularEditDataTable.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
library(shiny)
library(rhandsontable)
library(ggplot2)
library(plotly)
# source("Modulars/ModularControlChart.R")
# MODULE UI
EditDataTableUI <- function(id) {
ns <- NS(id)
list(
div(
bootstrapPage(
fluidRow(
dateRangeInput("daterange", "Select Time Range",
start = Sys.Date() - 360,
end = Sys.Date(),
min = Sys.Date() - 360,
max = Sys.Date() + 30),
selectInput("date_interval", "Select Date Interval",
choices = c("day", "week", "payperiod", "month", "quarter"), selected = "month"),
textInput("var1", "Enter Plot Variable", value = "var1"),
actionButton("update_data", "Update Data"),
rHandsontableOutput("hot")
# plotlyOutput("plotly_chart")
# ControlChartUI("control")
)
)
)
)
}
# MODULE Server
EditDataTableServer <- function(input, output, session) {
values <- reactiveValues()
Data <- reactive({
if ( !is.null(input$hot) ) {
DF <- hot_to_r(input$hot)
} else {
if (is.null(values[["DF"]])){
DF <- data.frame(
Date = seq(from = input$daterange[1], to = input$daterange[2], by = input$date_interval),
Response = 0
)
colnames(DF) <- c("Date", input$var1)
# DF = mtcars
}else{
DF <- values[["DF"]]
}
}
values[["DF"]] <- DF
DF
})
# output$plotly_chart <- renderPlotly({
#
# p <- ggplot(Data(), aes_string("Date", input$var1)) + geom_point()
# ggplotly(p)
#
# })
# callModule(ControlChartServer, "control", data = Data, "Date", "Response")
output$hot <- renderRHandsontable({
DF = Data()
if (!is.null(DF))
rhandsontable(DF)
})
}