Commit 3fdad603 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

Merge branch 'fnordmetric2' of github.com:paulasmuth/fnordmetric-dev into fnordmetric2

parents 084bc7df d6a832e8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ build:
	      fnordmetric-webui-queryresultview.js \
	      fnordmetric-webui-singlemetricview.js \
	      fnordmetric-webui-metricpreviewwidget.js \
	      fnordmetric-webui-embedpopup.js \
	      fnordmetric-webui-autocomplete.js \
	      fnordmetric-webui-datepicker.js \
	      codemirror.js \
+86 −0
Original line number Diff line number Diff line
/**
 * This file is part of the "FnordMetric" project
 *   Copyright (c) 2014 Laura Schlimmer
 *   Copyright (c) 2014 Paul Asmuth, Google Inc.
 *
 * FnordMetric is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License v3.0. You should have received a
 * copy of the GNU General Public License along with this program. If not, see
 * <http://www.gnu.org/licenses/>.
 */
if (FnordMetric === undefined) {
  FnordMetric = {};
}

if (FnordMetric.views === undefined) {
  FnordMetric.views = {};
}


FnordMetric.util.embedPopup = function(elem) {
  function render() {
    console.log("render popup");
    var background = document.createElement("div");
    background.className = "popup_ui background";
    elem.appendChild(background);

    var popup = document.createElement("div");
    popup.className = "popup_ui";

    var tabbar = document.createElement("div");
    tabbar.className = "controls";

    var close_btn = FnordMetric.createButton(
      "#", "close_btn", "X");

    var iframe_tab = FnordMetric.createButton(
      "#", "tab", "iFrame");

    var url_tab = FnordMetric.createButton(
      "#", "tab", "URL");

    var html_tab = FnordMetric.createButton(
      "#", "tab", "HTML");

    popup.appendChild(close_btn);
    tabbar.appendChild(iframe_tab);
    tabbar.appendChild(url_tab);
    tabbar.appendChild(html_tab);
    popup.appendChild(tabbar);
    elem.appendChild(popup);
  }

  function close() {

  }

  return {
    "render" : render,
  }
}

/* function closePopup() {
    elem.removeChild(popup);
    loader.destroy(elem);
  }

  var loader = FnordMetric.util.Loader();
  loader.onClick(closePopup);
  loader.display(elem);
  var popup = document.createElement("div");
  popup.className = "popup";
  var close_btn = FnordMetric.createButton(
    "#", undefined, "X");
  var innerWindow = document.createElement("div");
  innerWindow.className = "inner_window";
  innerWindow.innerHTML = text;

  popup.appendChild(close_btn);
  popup.appendChild(innerWindow);
  elem.appendChild(popup);

  close_btn.onclick = function(e) {
    e.preventDefault();
    closePopup();
  }
*/
+18 −8
Original line number Diff line number Diff line
@@ -56,7 +56,7 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {

  /* checks if required url params are misssing and adds those if so */
  function addRequiredURLParamsForView(value) {
    if (value == "count" || value == "sum") {
    if (value == "count" || value == "sum" || value == "mean") {
      var group_by = query_params.by;
      if (group_by == undefined) {
        group_by = defaults.by;
@@ -107,7 +107,6 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
    FnordMetric.httpPost(queryurl, querystr, function(r) {
      if (r.status == 200) {
        var json = JSON.parse(r.response);
        console.log(json);
        if (json.charts != undefined) {
          renderChart(json.charts[0]);
        } else {
@@ -191,8 +190,20 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {

    var rollup_select = document.createElement("select");
    rollup_group.appendChild(rollup_select);
    var rollup_options = 
      ["Value", "Mean", "Count", "Sum", "Rollup Sum", "Rollup Count"];

    var rollup_options = [
      "Value",
      "Mean",
      "Rollup Mean",
      "Count",
      "Rollup Count",
      "Sum",
      "Rollup Sum",
      "Min",
      "Max",
      "Median",
      "Delta"];

    rollup_options.map(function(rollup) {
      var option = document.createElement("option");
      option.innerHTML = rollup;
@@ -312,8 +323,8 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
    controls_query.onclick = function(e) {
      e.preventDefault();
      var query = encodeURIComponent(
        FnordMetric.util.generateSQLQueryFromParams(query_params));
      console.log(query);
        FnordMetric.util.generateSQLQueryFromParams(
          query_params));
      FnordMetric.WebUI.singleton.openUrl(
        "query_playground?sql_query="+query, true);
    };
@@ -322,8 +333,7 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
      "#", "btn", "<i class='fa fa-share'></i> Embed");
    controls_embed.onclick = function(e) {
      e.preventDefault();
      FnordMetric.util.openPopup(
        elem, "TODO add embed snippet");
      FnordMetric.util.embedPopup(elem).render()
    }

    secondary_controls.appendChild(controls_query);
+2 −27
Original line number Diff line number Diff line
@@ -164,32 +164,7 @@ FnordMetric.util.displayErrorMessage = function(elem, msg) {
}


FnordMetric.util.openPopup = function(elem, text) {
  function closePopup() {
    elem.removeChild(popup);
    loader.destroy(elem);
  }

  var loader = FnordMetric.util.Loader();
  loader.onClick(closePopup);
  loader.display(elem);
  var popup = document.createElement("div");
  popup.className = "popup";
  var close_btn = FnordMetric.createButton(
    "#", undefined, "X");
  var innerWindow = document.createElement("div");
  innerWindow.className = "inner_window";
  innerWindow.innerHTML = text;

  popup.appendChild(close_btn);
  popup.appendChild(innerWindow);
  elem.appendChild(popup);

  close_btn.onclick = function(e) {
    e.preventDefault();
    closePopup();
  }
}


FnordMetric.util.renderPageHeader = function(text, elem) {
  var header = document.createElement("h1");
@@ -455,7 +430,7 @@ FnordMetric.util.generateSQLQueryFromParams = function(params) {
  /* complete select_expr */
  if (view == "value") {
    select_expr += "value as y ";
  } else if (view == "rollup_sum" || view == "rollup_count") {
  } else if (view == "rollup_sum" || view == "rollup_count" || view == "rollup_mean") {
    draw_stm = "DRAW BARCHART AXIS BOTTOM AXIS LEFT;";
    var func = (view.split("_"))[1];
    //how to define which column should be selected
+32 −3
Original line number Diff line number Diff line
@@ -818,7 +818,21 @@ table.metric_list tr:hover td {
  left: 5px;
}

.popup {
.popup_ui.background {
  position: absolute;
  top: 0;
  left:0;
  height: 100%;
  width: 100%;
  z-index: 1000;
  background: #e9ebed;
  opacity: 0.5;
  display: table;
  text-align: center;
}


.popup_ui {
  position: absolute;
  min-height: 400px;
  width: 40%;
@@ -830,14 +844,29 @@ table.metric_list tr:hover td {
  background: #fff;
}

.popup a {
.popup_ui .controls {
  margin-top: 10px;
  margin-left: 50px;
  text-align:center;
}

.popup_ui .controls .tab {
  float:left;
  text-decoration: none;
  padding: 8px 13px;
  margin-right: 50px;
  color: #444;
  border: 1px solid #444;
}

.popup_ui .close_btn {
  float: left;
  color: #444;
  text-decoration: none;
  padding: 2px;
}

.popup .inner_window {
.popup_ui .inner_window {
  margin-top: 30px;
  margin-left: 20px;
}