Commit 5d591c64 authored by Laura Schlimmer's avatar Laura Schlimmer
Browse files

Merge pull request #27 from paulasmuth/adminui_fixes

fix datepicker
parents fd342f54 8ac7a08e
Loading
Loading
Loading
Loading
+101 −57
Original line number Diff line number Diff line
@@ -24,9 +24,12 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
  var curr_day = new Date().getDay();
  var curr_date = new Date().getDate();
  var curr_month = new Date().getMonth();
  var curr_year = new Date().getFullYear();
  var m_month;
  var y_year;
  var isCurrMonth;

  var selected_ts;
  //var selected_day = selected_ts.getDate();
  var selected_hours;
  var selected_minutes;

@@ -42,6 +45,9 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
  function onSelect(hours, minutes, day, month, year) {
    var hours = (hours.length > 0)? hours : selected_hours;
    var minutes = (minutes.length > 0)? minutes : selected_minutes;
    var ts = new Date(year, month, day, hours, minutes).getTime();

    if (ts <= Date.now() ) {

      dp_input.value =
        FnordMetric.util.appendLeadingZero(month+1) + 
@@ -52,16 +58,25 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
        ":" + 
        FnordMetric.util.appendLeadingZero(minutes);

    var ts = new Date(year, month, day, hours, minutes).getTime();
      callback(ts);
    dp_input.setAttribute("timestamp", ts);
      dp_input.setAttribute("id", ts);
      resetDatepicker();
    }
  }

  function isSelectable(day) {
    if (isCurrMonth) {
      return day <= curr_date;
    }
    return y_year <= curr_year && m_month <= curr_month;
  }


  function init(month, year) {
    y_year = year;
    m_month = month;

    dp_widget.className = "datepicker_widget active";
    isCurrMonth = month == curr_month;

    selected_ts = new Date(
      parseInt(dp_input.getAttribute("id"), 10));
@@ -74,6 +89,11 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
      FnordMetric.util.appendLeadingZero(
        selected_ts.getMinutes());

    var sltd_date = selected_ts.getDate();
    var sltd_month = selected_ts.getMonth();
    var sltd_year = selected_ts.getYear();
    var isSltdMonth = (month == sltd_month && year == curr_year);
    isCurrMonth = (month == curr_month && year == curr_year);

    var input_container = document.createElement("div");
    input_container.className = "input_container";
@@ -147,7 +167,7 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
      header_cell.innerHTML = day;
      day_header.appendChild(header_cell);
    });

    var is
    var day = 1;
    var rows = 0;
    var first_row = document.createElement("tr");
@@ -157,15 +177,19 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
      if (i < first_day || first_day == 0) {
        cell.innerHTML = "";
      } else {

        if (isSelectable(day)) {
          if (isCurrMonth && day == curr_date) {
          cell.className = "highlight";
            cell.className = "highlight_border";
          }
          if (isSltdMonth && day == sltd_date) {
            cell.className += " highlight";
          }

          var link = FnordMetric.createButton(
            "#", undefined, day);
          link.addEventListener('click', function(e) {
            e.preventDefault();
          resetDatepicker();
            onSelect(
              hour_input.value,
              minute_input.value,
@@ -173,6 +197,10 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
          }, false);

          cell.appendChild(link);
        } else {
          cell.innerHTML = day;
        }

        day++;
      }
      first_row.appendChild(cell);
@@ -186,15 +214,19 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
      rows++;
      for (var i = 0; i < 7 && day <= num_days; i++) {
        var cell = document.createElement("td");

        if (isSelectable(day)) {
          if (isCurrMonth && day == curr_date) {
          cell.className = "highlight";
            cell.className = "highlight_border";
          }
          if (isSltdMonth && day == sltd_date) {
            cell.className += " highlight";
          }

          var link = FnordMetric.createButton(
            "#", undefined, day);
          link.addEventListener('click', function(e) {
            e.preventDefault();
          resetDatepicker();
            onSelect(
              hour_input.value,
              minute_input.value,
@@ -202,6 +234,10 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
          }, false);

          cell.appendChild(link);
        } else {
          cell.innerHTML = day;
        }

        row.appendChild(cell);
        day++;
      }
@@ -213,15 +249,19 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
      for (var i = 0; i < 7; i++) {
        var cell = document.createElement("td");
        if (day <= num_days) {

          if (isSelectable(day)) {
            if (isCurrMonth && day == curr_date) {
            cell.className = "highlight";
              cell.className = "highlight_border";
            }
            if (isSltdMonth && day == sltd_date) {
              cell.className += " highlight";
            }

            var link = FnordMetric.createButton(
              "#", undefined, day);
            link.addEventListener('click', function(e) {
              e.preventDefault();
            resetDatepicker();
              onSelect(
                hour_input.value,
                minute_input.value,
@@ -229,6 +269,10 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
            }, false);

            cell.appendChild(link);
          } else {
            cell.innerHTML = day;
          }

          day++;
        } else {
          cell.innerHTML = "";
+0 −1
Original line number Diff line number Diff line
@@ -96,7 +96,6 @@ FnordMetric.util.MetricPreviewWidget = function(viewport, query_params) {
  function runQuery() {
    var querystr = 
      FnordMetric.util.generateSQLQueryFromParams(query_params);
    console.log(querystr);

    var queryurl = "/query?height=400&width=" + (window.innerWidth - 40);
    FnordMetric.util.displayLoader(chart_container);
+4 −0
Original line number Diff line number Diff line
@@ -586,6 +586,10 @@ FnordMetric.util.validatedTimeInput = function (time_input, type) {
}

FnordMetric.util.appendLeadingZero = function (num) {
  var num = num;
  if (typeof num == 'string') {
    return (num.length > 1)? num : "0" + num;
  }
  return (num > 9)? num : "0" + num;
}

+4 −0
Original line number Diff line number Diff line
@@ -720,6 +720,10 @@ input {
  background-color: rgb(226, 232, 237);
}

.datepicker_widget table td.highlight_border {
  border: 1px solid #444;
}

.datepicker_widget .month_ttp {
  color: #444;
  padding-left: 5px;