Commit 7262cc50 authored by Paul Asmuth's avatar Paul Asmuth
Browse files

session_view integration wip

parent 3119eae4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ TODO
- report: print number of samples, interval-size on topright via scalaexp-buttonstyle
- caching
- fix session view

- timeseries-widget: cardinal on/off should be skeuomorph
- proper cmdline output (status?)

+2 −2
Original line number Diff line number Diff line
@@ -3,8 +3,8 @@ require "fnordmetric"

FnordMetric.namespace :myapp do

  hide_overview
  hide_active_users
  # hide_overview
  # hide_active_users


  # NEW DSL (v1.0 upwards)
+13 −4
Original line number Diff line number Diff line
@@ -37,9 +37,6 @@ var FnordMetric = (function(){
    $('#sidebar')
      .html('');

    if(!conf.hide_active_users)
      renderSidebarGroup('Overview');

    /*if(!conf.hide_overview){
      renderSidebarGroup('Overview')
        .append($('<li class="overview">')
@@ -47,6 +44,14 @@ var FnordMetric = (function(){
          .append($('<a href="#" class="title">').html('App Overview')));
    }*/

    if(!conf.hide_active_users){
      renderSidebarGroup('Overview')
        .append($('<li class="overview">')
          .append('<span class="picto piechart">')
          .append($('<a href="#" class="title">').html('Active Users'))
          .click(function(){ renderSessionView(); }));
    }

    for(gkey in gauges){
      if(!gauges[gkey].group){ gauges[gkey].group = 'Gauges'; }
      if(!gauges[gkey].title){ gauges[gkey].title = gkey; }
@@ -105,6 +110,7 @@ var FnordMetric = (function(){
  }

  function renderSessionView(){
    window.location.hash = 'active_users';
    loadView(FnordMetric.views.sessionView());
  }

@@ -215,7 +221,10 @@ var FnordMetric = (function(){
        elem = $('#sidebar li.gauge[data-token="'+window.location.hash.slice(11)+'"]');
      } else if (!!window.location.hash.match(/^#gauge\/[a-zA-Z_0-9-]+$/)){
        elem = $('#sidebar li.gauge[data-token="'+window.location.hash.slice(7)+'"]');
      } else if(window.location.hash == "#active_users") {
        renderSessionView();
      }

      if (elem.length > 0) {
        navigatedViaHash = true;
        elem.click();
+24 −11
Original line number Diff line number Diff line
@@ -3,15 +3,13 @@ FnordMetric.views.sessionView = (function(){
  var listElem = $('<ul class="session_list"></ul>');
  var feedInnerElem = $('<ul class="feed_inner"></ul>');
  var typeListElem  = $('<ul class="event_type_list"></ul>');
  var filterElem = $('<div class="events_sidebar"></div>').html(
    $('<div class="headbar small"></div>').html('Event Types')
  ).append(typeListElem);
  var feedElem = $('<div class="sessions_feed"></div>').html(
    $('<div class="headbar small"></div>').html('Event Feed')
  ).append(feedInnerElem);
  var sideElem = $('<div class="sessions_sidebar"></div>').html(
    $('<div class="headbar small"></div>').html('Active Users')
  ).append(listElem);

  var filterElem = $('<div class="events_sidebar"></div>')
    .append("<div class='headbar small'>Types</div>")
    .append(typeListElem);

  var feedElem = $('<div class="sessions_feed"></div>').append(feedInnerElem);
  var sideElem = $('<div class="sessions_sidebar"></div>').append(listElem);

  var eventsPolledUntil = false;
  var eventsFilter = {uncheckedTypes: [], checkedSessions: []};
@@ -20,10 +18,25 @@ FnordMetric.views.sessionView = (function(){

  function load(elem){
    eventsPolledUntil = parseInt(new Date().getTime()/10000);

    elem.html('')
      .append(filterElem)
      .append('<div class="navbar"></div>');

    FnordMetric.ui.navbar($('.navbar', viewport), {
      breadcrumb: [
        ["Fnord", "/group/fnord"],
        ["Active Users", "/active_users"]
      ],
      buttons: [
        ["<i class='icon-refresh'></i>Refresh", function(){  }]
      ]
    });

    elem
      .append(filterElem.css('marginTop', '47px'))
      .append(feedElem)
      .append(sideElem);

    startPoll();
    loadEventTypes();
  };