Commit ecb62296 authored by Laura Schlimmer's avatar Laura Schlimmer
Browse files

submit datepicker time input

parent dc82a85e
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ if (FnordMetric.views === undefined) {
}

 /* generate html for time input and handle input */
FnordMetric.util.timeInput = function(selectedTimestamp, elem) {
FnordMetric.util.timeInput = function(selectedTimestamp, elem, callback) {
  var selectedMinutes =
      FnordMetric.util.appendLeadingZero(
        selectedTimestamp.getMinutes());
@@ -45,13 +45,14 @@ FnordMetric.util.timeInput = function(selectedTimestamp, elem) {

    hour_input.addEventListener('focus', function(e) {
      e.preventDefault();
      FnordMetric.util.validatedTimeInput(this, "hour");
      FnordMetric.util.validatedTimeInput(this, "hour", callback);
    }, false);

    minute_input.addEventListener('focus', function(e) {
      e.preventDefault();
      FnordMetric.util.validatedTimeInput(this, "minute");
      FnordMetric.util.validatedTimeInput(this, "minute", callback);
    }, false);

  }

  function getValues() {
@@ -67,7 +68,7 @@ FnordMetric.util.timeInput = function(selectedTimestamp, elem) {

  return {
    "render" : render,
    "getValues" : getValues
    "getValues" : getValues,
  }
}

@@ -146,7 +147,15 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {
    return name;
  }


  function onSelect(date, month, year) {
    /* fallback for time inputs */
    var date = (date == undefined) ? 
      selectedDate : date;
    var month = (month == undefined)?
      selectedMonth : month;
    var year = (year == undefined) ?
      selectedYear : year;
    var inputs = timeInput.getValues();
    var hours = inputs.hours;
    var minutes = inputs.minutes;
@@ -297,7 +306,8 @@ FnordMetric.util.DatePicker = function(elem, dp_input, viewport, callback) {

    dp_widget.innerHTML = "";
    dp_widget.className += " active";
    timeInput = FnordMetric.util.timeInput(selectedTimestamp, dp_widget);
    timeInput = FnordMetric.util.timeInput(
      selectedTimestamp, dp_widget, onSelect);
    timeInput.render();
    renderCalendar(currYear, currMonth);
  }
+5 −1
Original line number Diff line number Diff line
@@ -559,10 +559,14 @@ FnordMetric.util.isNavKey = function(keycode) {
}


FnordMetric.util.validatedTimeInput = function (time_input, type) {
FnordMetric.util.validatedTimeInput = function (time_input, type, callback) {
  var input = time_input.value;

  time_input.addEventListener('keydown', function(e) {
    if (e.keyCode == 13) {
      callback();
      return;
    }
    if (FnordMetric.util.isNumKey(e.keyCode)) {
      var n = String.fromCharCode(e.keyCode);
      input = time_input.value;