Chelsyx has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/347040 )

Change subject: Add relative option to referrer summary
......................................................................


Add relative option to referrer summary

- Adds the option to view traffic breakdown as percentages
- Adds the option to view traffic breakdown on a log10 scale

Bug: T161771
Change-Id: I4516f7a6d1d7bc12bdd9c41d3983aa64bb3123d5
---
M server.R
M ui.R
M utils.R
3 files changed, 21 insertions(+), 7 deletions(-)

Approvals:
  Chelsyx: Verified; Looks good to me, approved



diff --git a/server.R b/server.R
index 1c892de..42ff6bf 100644
--- a/server.R
+++ b/server.R
@@ -14,12 +14,17 @@
   }
 
   output$traffic_summary_dygraph <- renderDygraph({
-    summary_traffic_data[[input$platform_traffic_summary]] %>%
+    input$platform_traffic_summary_prop %>%
+      
polloi::data_select(summary_traffic_data_prop[[input$platform_traffic_summary]],
+                          
summary_traffic_data[[input$platform_traffic_summary]]) %>%
       polloi::smoother(smooth_level = 
polloi::smooth_switch(input$smoothing_global, input$smoothing_traffic_summary)) 
%>%
-      polloi::make_dygraph(xlab = "Date", ylab = "Pageviews",
+      polloi::make_dygraph(xlab = "Date", ylab = 
ifelse(input$platform_traffic_summary_prop, "Pageview Share (%)", "Pageviews"),
                            title = "Sources of page views (e.g. search engines 
and internal referers)") %>%
       dyLegend(labelsDiv = "traffic_summary_legend", show = "always", 
showZeroValues = FALSE) %>%
-      dyRangeSelector(retainDateWindow = TRUE) %>%
+      dyAxis("y", logscale = input$platform_traffic_summary_log) %>%
+      dyRangeSelector(fillColor = ifelse(input$platform_traffic_summary_prop, 
"", "#A7B1C4"),
+                      strokeColor = 
ifelse(input$platform_traffic_summary_prop, "", "#808FAB"),
+                      retainDateWindow = TRUE) %>%
       dyEvent(as.Date("2016-03-07"), "A (new UDF)", labelLoc = "bottom") %>%
       dyEvent(as.Date("2016-06-26"), "B (DuckDuckGo)", labelLoc = "bottom") %>%
       dyEvent(as.Date("2017-01-01"), "R (reportupdater)", labelLoc = "bottom")
diff --git a/ui.R b/ui.R
index 1ac0e5a..6baa5be 100644
--- a/ui.R
+++ b/ui.R
@@ -30,8 +30,12 @@
         tabItem(tabName = "traffic_summary",
                 fluidRow(
                   column(selectizeInput(inputId = "platform_traffic_summary", 
label = "Platform", choices = c("All", "Desktop", "Mobile Web")), width = 2),
+                  column(HTML("<label class = \"control-label\" style = 
\"margin-bottom:-30px;\">Scale</label>"),
+                         
conditionalPanel("!input.platform_traffic_summary_prop", 
checkboxInput("platform_traffic_summary_log", label = "Use Log scale", value = 
FALSE)),
+                         
conditionalPanel("!input.platform_traffic_summary_log", 
checkboxInput("platform_traffic_summary_prop", label = "Use Proportion", value 
= FALSE)),
+                         width = 2),
                   column(polloi::smooth_select("smoothing_traffic_summary"), 
width = 3),
-                  column(div(id = "traffic_summary_legend", style = 
"text-align: right;"), width = 7)),
+                  column(div(id = "traffic_summary_legend", style = 
"text-align: right;"), width = 5)),
                 dygraphOutput("traffic_summary_dygraph"),
                 includeMarkdown("./tab_documentation/traffic_summary.md")
         ),
diff --git a/utils.R b/utils.R
index b3f338b..009a0c7 100644
--- a/utils.R
+++ b/utils.R
@@ -29,6 +29,12 @@
   names(interim) <- c("Desktop", "Mobile Web", "All")
   summary_traffic_data <<- lapply(interim, tidyr::spread, key = 
"referer_class", value = "pageviews", fill = NA)
 
+  # Proportion
+  summary_traffic_data_prop <<- interim %>%
+    lapply(dplyr::group_by, date) %>%
+    lapply(dplyr::mutate, pageviews = 100*pageviews/sum(pageviews)) %>%
+    lapply(tidyr::spread, key = "referer_class", value = "pageviews", fill = 
NA)
+
   # Generate per-engine values
   interim <- data[is_search == TRUE,
                   j = list(pageviews = sum(pageviews)),
@@ -44,10 +50,9 @@
     lapply(tidyr::spread, key = "search_engine", value = "pageviews", fill = 
NA)
 
   # Proportion
-  interim <- interim %>%
-    lapply(dplyr::group_by, date) %>%
-    lapply(dplyr::mutate, pageviews = 100*pageviews/sum(pageviews))
   bysearch_traffic_data_prop <<- interim %>%
+    lapply(dplyr::group_by, date) %>%
+    lapply(dplyr::mutate, pageviews = 100*pageviews/sum(pageviews)) %>%
     lapply(dplyr::filter_, .dots = list(quote(search_engine != "Not referred 
by search"))) %>%
     lapply(tidyr::spread, key = "search_engine", value = "pageviews", fill = 
NA)
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I4516f7a6d1d7bc12bdd9c41d3983aa64bb3123d5
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/wonderbolt
Gerrit-Branch: master
Gerrit-Owner: Bearloga <mpo...@wikimedia.org>
Gerrit-Reviewer: Chelsyx <c...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to