Christopher Johnson (WMDE) has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/248627

Change subject: adds parameterized dygraphs adds chart links in datatables
......................................................................

adds parameterized dygraphs
adds chart links in datatables

Change-Id: I828fa5fc684a4de3d0d8d883172247d18a0bcebe
---
M server.R
M src/output/server-RDFQ.R
M src/output/server-home.R
M src/utils.R
M ui.R
5 files changed, 74 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikidata/analytics/dashboard 
refs/changes/27/248627/1

diff --git a/server.R b/server.R
index 25a837c..50eed60 100644
--- a/server.R
+++ b/server.R
@@ -36,12 +36,17 @@
           updateTabItems(session, "tabs", context$t)
         })
       }
+      if (!is.null(context$file)) {
+        params_filename <<- context$file
+        params_file <<- get_local_set(context$file, sparql_data_uri)
+      }
     })
 
     observeEvent(input$switchtab, {
         updateTabItems(session, "tabs", input$switchtab)
     })
 
+
     # Home
     source('./src/output/server-home.R', local=TRUE)
     # Recent
diff --git a/src/output/server-RDFQ.R b/src/output/server-RDFQ.R
index 8513168..d2a1a56 100644
--- a/src/output/server-RDFQ.R
+++ b/src/output/server-RDFQ.R
@@ -18,4 +18,11 @@
 setkey(dt_comments, id)
 dt_join_rdfq <- merge(dt_queries, dt_comments, all=TRUE)
 dt_join_rdfq <- dt_join_rdfq[,.SD,.SDcols=c(2:3)]
-output$wikidata_rdf_queries_table <- 
DT::renderDataTable(datatable(dt_join_rdfq,  options = list(pageLength = 50)))
\ No newline at end of file
+output$wikidata_rdf_queries_table <- 
DT::renderDataTable(datatable(dt_join_rdfq,  options = list(pageLength = 50)))
+
+# http://wikiba.se/metrics#ParamGraph
+output$param_graph <- renderDygraph({
+comment_index <- substring(gsub(".tsv", "", params_filename),5)
+chart_title <- comments[comment_index,]
+dygraph_from_param_file(chart_title)
+})
\ No newline at end of file
diff --git a/src/output/server-home.R b/src/output/server-home.R
index 147dc19..77b8c96 100644
--- a/src/output/server-home.R
+++ b/src/output/server-home.R
@@ -12,16 +12,35 @@
 dt_out$id <- seq_len(nrow(dt_out))
 dt_delta_out <- data.table(dt_delta_out, keep.rownames=TRUE)
 dt_delta_out$id <- seq_len(nrow(dt_delta_out))
+dt_hrefs <- data.table(c("1", "#shiny-tab-wikidata_edits", 
"#shiny-tab-wikidata_active_users", "#shiny-tab-wikidata_pages", 
"#shiny-tab-wikidata_pages"))
+dt_hrefs$id <- seq_len(nrow(dt_hrefs))
+setkey(dt_hrefs, id)
 setkey(dt_out, id)
 setkey(dt_delta_out, id)
 dt_join <- dt_out[dt_delta_out]
-dt_join <- dt_join[,.SD,.SDcols=c(1:2,5)]
+dt_join_hrefs <- dt_join[dt_hrefs]
+dt_join_hrefs <- dt_join_hrefs[,.SD,.SDcols=c(1:2,5:6)]
 cuts <- 0
 output$wikidata_daily_summary_table <- DT::renderDataTable(
-  datatable(dt_join[2:5], class = "display compact", colnames = c("Property", 
"Value", "Delta"), options = list(dom = 't', columnDefs = 
list(list(width='10%', targets = c(0)), list(width='30%', targets = c(1)), 
list(width='30%', targets = c(2)))), caption = paste0("Statistics for ", 
dt_join[1,V1])) %>%
-  formatCurrency(2:3, currency = "", interval = 3, mark = ",") %>%
-  formatStyle(3, color = styleInterval(cuts, c("red", "green"))
-))
+  datatable(dt_join_hrefs[2:5], class = "display compact", colnames = 
c("Object", "Value", "Delta", "Chart"),
+            options = list(
+              dom = 't',
+              columnDefs = list(
+                list(width='10%', targets = c(0)),
+                list(width='30%', targets = c(1)),
+                list(width='30%', targets = c(2)),
+                list(targets = c(4), render = JS(
+                  "function(data, type, row, meta) {",
+                  "return '<a href=\"'+data+'\" data-toggle=\"tab\" 
data-value=\"'+data+'\">Chart</a>'",
+                  "}")
+                )
+              )
+            ),
+            caption = paste0("Statistics for ", dt_join[1,V1])) %>%
+            formatCurrency(2:3, currency = "", interval = 3, mark = ",") %>%
+            formatStyle(3, color = styleInterval(cuts, c("red", "green"))
+            )
+  )
 
 #Latest DataValues Table
 latest_dv <- data.frame(tail(sparql1,2), tail(sparql2,2), tail(sparql3,2), 
tail(sparql13,2))
@@ -35,15 +54,34 @@
 dv_out$id <- seq_len(nrow(dv_out))
 dv_delta_out <- data.table(dv_delta_out, keep.rownames=TRUE)
 dv_delta_out$id <- seq_len(nrow(dv_delta_out))
+dv_hrefs <- data.table(c("1", "./?t=wikidata_rdf_graphs&file=spql1.tsv", 
"./?t=wikidata_rdf_graphs&file=spql2.tsv", 
"./?t=wikidata_rdf_graphs&file=spql3.tsv", 
"./?t=wikidata_rdf_graphs&file=spql13.tsv"))
+dv_hrefs$id <- seq_len(nrow(dv_hrefs))
+setkey(dv_hrefs, id)
 setkey(dv_out, id)
 setkey(dv_delta_out, id)
 dv_join <- dv_out[dv_delta_out]
-dv_join <- dv_join[,.SD,.SDcols=c(1:2,5)]
+dv_join_hrefs <- dv_join[dv_hrefs]
+dv_join_hrefs <- dv_join_hrefs[,.SD,.SDcols=c(1:2,5:6)]
 cuts <- 0
 output$wikidata_daily_datavalues_table <- DT::renderDataTable(
-  datatable(dv_join[2:5], class = "display compact", colnames = c("Property", 
"Value", "Delta"), options = list(dom = 't', columnDefs = 
list(list(width='10%', targets = c(0)), list(width='30%', targets = c(1)), 
list(width='30%', targets = c(2)))), caption = paste0("WDQS Sourced Statistics 
for ", dv_join[1,V1])) %>%
+  datatable(dv_join_hrefs[2:5], class = "display compact", colnames = 
c("Object", "Value", "Delta", "Chart"),
+            options = list(
+              dom = 't',
+              columnDefs = list(
+                list(width='10%', targets = c(0)),
+                list(width='30%', targets = c(1)),
+                list(width='30%', targets = c(2)),
+                list(targets = c(4), render = JS(
+                  "function(data, type, row, meta) {",
+                  "return '<a href=\"'+data+'\">Chart</a>'",
+                  "}")
+                )
+              )
+            ),
+    caption = paste0("WDQS Sourced Statistics for ", dv_join[1,V1])) %>%
     formatCurrency(2:3, currency = "", interval = 3, mark = ",") %>%
     formatStyle(3, color = styleInterval(cuts, c("red", "green"))
-    ))
+    )
+  )
 
 
diff --git a/src/utils.R b/src/utils.R
index 9a4a41b..66a7410 100644
--- a/src/utils.R
+++ b/src/utils.R
@@ -185,3 +185,14 @@
   return(box(title = "seeAlso", width = 6, status = "primary", 
tags$a(href=href, 'data-toggle'='tab','data-value'=dv, value)))
 }
 
+dygraph_from_param_file <- function(chart_title){
+  dt_spql_file <- data.table(params_file)
+  return(dygraph(dt_spql_file,
+                 main = chart_title,
+                 ylab = "") %>%
+           dyOptions(useDataTimezone = TRUE,
+                     labelsKMB = TRUE,
+                     fillGraph = TRUE,
+                     strokeWidth = 2, colors = brewer.pal(5, "Set2")[5:1]) %>%
+           dyCSS(css = custom_css))
+}
diff --git a/ui.R b/ui.R
index 42ad53d..a96010d 100644
--- a/ui.R
+++ b/ui.R
@@ -22,7 +22,8 @@
              menuSubItem(text = "addUsagesForPage", tabName = 
"wikidata_addUsagesForPage")),
     menuItem(text = "", badgeLabel = "Daily RDF", badgeColor = "red"),
     menuItem(text = "Queries", icon = icon("question"),
-             menuSubItem(text = "Lists", tabName = "wikidata_rdf_queries")),
+             menuSubItem(text = "Lists", tabName = "wikidata_rdf_queries"),
+             menuSubItem(text = "Graphs", tabName = "wikidata_rdf_graphs")),
     menuItem(text = "", badgeLabel = "Monthly", badgeColor = "purple"),
     menuItem(text = "Engagement", icon = icon("eye"),
              menuSubItem(text = "Edits", tabName = "wikidata_edits"),
@@ -113,6 +114,8 @@
               uiOutput("metric_meta_rdf_queries")
             ),
             DT::dataTableOutput("wikidata_rdf_queries_table")),
+    tabItem(tabName = "wikidata_rdf_graphs",
+            dygraphOutput("param_graph")),
     tabItem(tabName = "wikidata_edits",
             fluidRow(
               infoBoxOutput("editdelta")

-- 
To view, visit https://gerrit.wikimedia.org/r/248627
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I828fa5fc684a4de3d0d8d883172247d18a0bcebe
Gerrit-PatchSet: 1
Gerrit-Project: wikidata/analytics/dashboard
Gerrit-Branch: master
Gerrit-Owner: Christopher Johnson (WMDE) <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to