diff options
Diffstat (limited to 'src/fauxton/app/addons/stats/views.js')
-rw-r--r-- | src/fauxton/app/addons/stats/views.js | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/src/fauxton/app/addons/stats/views.js b/src/fauxton/app/addons/stats/views.js deleted file mode 100644 index 4bd24d88e..000000000 --- a/src/fauxton/app/addons/stats/views.js +++ /dev/null @@ -1,171 +0,0 @@ -// Licensed under the Apache License, Version 2.0 (the "License"); you may not -// use this file except in compliance with the License. You may obtain a copy of -// the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations under -// the License. - -define([ - "app", - - "api", - 'addons/stats/resources', - "d3", - "nv.d3" - -], - -function(app, FauxtonAPI,Stats, d3, nv) { - console.log(nv); - Views = {}; - - datatypeEventer = {}; - _.extend(datatypeEventer, Backbone.Events); - - Views.Legend = FauxtonAPI.View.extend({ - tagName: 'ul', - template: "addons/stats/templates/legend", - - serialize: function () { - return { - legend_items: this.collection.toJSON() - }; - } - }); - - Views.Pie = FauxtonAPI.View.extend({ - className: "datatype-section", - template: 'addons/stats/templates/pie_table', - - initialize: function(args){ - this.datatype = args.datatype; - }, - - serialize: function() { - return { - statistics: this.collection.where({type: this.datatype}), - datatype: this.datatype - }; - }, - - afterRender: function(){ - var collection = this.collection, - chartelem = "#" + this.datatype + '_graph', - series = _.map(this.collection.where({type: this.datatype}), - function(d, counter){ - // TODO: x should be a counter - var point = { - y: d.get("sum") || 0, - key: d.id - }; - return point; - } - ); - - series = _.filter(series, function(d){return d.y > 0;}); - series = _.sortBy(series, function(d){return -d.y;}); - - nv.addGraph(function() { - var width = 440, - height = 440; - - var chart = nv.models.pieChart() - .x(function(d) { return d.key; }) - .y(function(d) { return d.y; }) - .showLabels(true) - .showLegend(false) - .color(d3.scale.category10().range()) - .width(width) - .height(height); - - d3.select(chartelem) - .datum(series) - .transition().duration(300) - .attr('width', width) - .attr('height', height) - .call(chart); - - return chart; - }); - - this.$el.addClass(this.datatype + '_section'); - } - }); - - Views.StatSelect = FauxtonAPI.View.extend({ - className: 'nav nav-tabs nav-stacked', - tagName: 'ul', - - template: "addons/stats/templates/statselect", - - initialize: function (options) { - this.rows = []; - }, - - events: { - 'click .datatype-select': "datatype_selected" - }, - - serialize: function () { - return { - datatypes: _.uniq(this.collection.pluck("type")) - }; - }, - - afterRender: function () { - this.$('.datatype-select').first().addClass('active'); - }, - - datatype_selected: function (event) { - var $target = $(event.currentTarget); - - event.preventDefault(); - event.stopPropagation(); - this.$('.datatype-select').removeClass('active'); - $target.addClass('active'); - datatypeEventer.trigger('datatype-select', $target.attr('data-type-select')); - } - }); - - Views.Statistics = FauxtonAPI.View.extend({ - template: "addons/stats/templates/stats", - - initialize: function (options) { - this.rows = []; - datatypeEventer.on('datatype-select', this.display_datatype, this); - }, - - serialize: function () { - return { - datatypes: _.uniq(this.collection.pluck("type")) - }; - }, - - beforeRender: function () { - _.each(_.uniq(this.collection.pluck("type")), function(datatype) { - this.rows[datatype] = this.insertView(".datatypes", new Views.Pie({ - collection: this.collection, - datatype: datatype - })); - }, this); - }, - - afterRender: function () { - this.$('.datatype-section').hide().first().toggle(); - }, - - display_datatype: function (datatype) { - this.$('.datatype-section').hide(); - this.$('.' + datatype + '_section').show(); - } - }); - - Stats.Views = Views; - - return Stats; -}); |