Sha256: 0ddad9a1b058f57713b9be5307c6a3453af49f047e3583747436bd3aa30c168b
Contents?: true
Size: 1.98 KB
Versions: 3
Compression:
Stored size: 1.98 KB
Contents
root = global ? window class root.MongodbLoggerAnalytics constructor: (@mongoData) -> @chartContainer = 'analyticData' @_resultsData = [] @_collectAllData() @_drawGraph() _collectAllData: => headers = @mongoData.headers for row in @mongoData.data date = if row._id.hasOwnProperty("hour") new Date(row._id.year, parseInt(row._id.month) - 1, row._id.day, row._id.hour, 0, 0) else if row._id.hasOwnProperty("day") new Date(row._id.year, parseInt(row._id.month) - 1, row._id.day) else new Date(row._id.year, parseInt(row._id.month) - 1, 0) @_resultsData.push x: (date.getTime() / 1000) y: row.value.count _drawGraph: => width = $("##{@chartContainer}").width() - 100 height = 600 $("##{@chartContainer}").empty() @graph = new Rickshaw.Graph( element: $("##{@chartContainer}")[0] width: width height: height renderer: "line" interpolation: "linear" series: [ color: 'steelblue' data: @_resultsData name: "Results" ] ) @graph.render() hoverDetail = new Rickshaw.Graph.HoverDetail( graph: @graph formatter: (series, x, y) => date = "<span class=\"date\">" + new Date(x * 1000).toUTCString() + "</span>" swatch = "<span class=\"detail_swatch\" style=\"background-color: " + series.color + "\"></span>" content = swatch + series.name + ": " + parseInt(y) + "<br>" + date content ) xAxis = new Rickshaw.Graph.Axis.Time( graph: @graph ) xAxis.render() yAxis = new Rickshaw.Graph.Axis.Y( graph: @graph ) yAxis.render() $ -> $(document).on 'submit', '#analyticForm', (e) => e.preventDefault() form = $(e.currentTarget) $.ajax url: form.attr('action') dataType: 'json' data: form.serializeArray() type: "POST" success: (data, textStatus, jqXHR) => mongodbLoggerAnalytic = new MongodbLoggerAnalytics(data)
Version data entries
3 entries across 3 versions & 1 rubygems