| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| (function ($, require) { |
|
|
| var exports = require('piwik/UI'), |
| JqplotGraphDataTable = exports.JqplotGraphDataTable; |
|
|
| exports.JqplotBarGraphDataTable = function (element) { |
| JqplotGraphDataTable.call(this, element); |
| }; |
|
|
| $.extend(exports.JqplotBarGraphDataTable.prototype, JqplotGraphDataTable.prototype, { |
|
|
| _setJqplotParameters: function (params) { |
| JqplotGraphDataTable.prototype._setJqplotParameters.call(this, params); |
|
|
| var barMargin = this.data[0].length > 10 ? 2 : 10; |
| var minBarWidth = 10; |
|
|
| this.jqplotParams.seriesDefaults = { |
| renderer: $.jqplot.BarRenderer, |
| rendererOptions: { |
| shadowOffset: 1, |
| shadowDepth: 2, |
| shadowAlpha: .2, |
| fillToZero: true, |
| barMargin: barMargin |
| } |
| }; |
|
|
| this.jqplotParams.piwikTicks = { |
| showTicks: true, |
| showGrid: false, |
| showHighlight: false, |
| tickColor: this.tickColor |
| }; |
|
|
| this.jqplotParams.axes.xaxis.renderer = $.jqplot.CategoryAxisRenderer; |
| this.jqplotParams.axes.xaxis.tickOptions = { |
| showGridline: false |
| }; |
|
|
| this.jqplotParams.canvasLegend = { |
| show: true |
| }; |
|
|
| var comparisonService = window.CoreHome.ComparisonsStoreInstance; |
| if (comparisonService.isComparing()) { |
| var seriesCount = this.jqplotParams.series.length; |
| var dataCount = this.data[0].length; |
|
|
| var totalBars = seriesCount * dataCount; |
| var totalMinWidth = (minBarWidth + barMargin) * totalBars + 50; |
|
|
| this.$element.find('.piwik-graph').css('min-width', totalMinWidth + 'px'); |
| this.$element.css('overflow-x', 'scroll'); |
| this.$element.addClass('isComparingBarViz'); |
| } else { |
| this.$element.removeClass('isComparingBarViz'); |
| } |
| }, |
|
|
| _bindEvents: function () { |
| this.setYTicks(); |
| JqplotGraphDataTable.prototype._bindEvents.call(this); |
| }, |
|
|
| _showDataPointTooltip: function (element, seriesIndex, valueIndex) { |
| var value = this.formatY(this.data[seriesIndex][valueIndex], seriesIndex); |
| var series = this.jqplotParams.series[seriesIndex].label; |
|
|
| var percentage = ''; |
| if (typeof this.tooltip.percentages != 'undefined') { |
| percentage = this.tooltip.percentages[seriesIndex][valueIndex]; |
| percentage = ' (' + NumberFormatter.formatPercent(percentage) + ')'; |
| } |
|
|
| var label = this.jqplotParams.axes.xaxis.labels[valueIndex]; |
| var text = '<strong>' + value + '</strong> ' + piwikHelper.htmlEntities(series) + percentage; |
| $(element).tooltip({ |
| track: true, |
| items: '*', |
| content: '<h3>' + label + '</h3>' + text, |
| show: false, |
| hide: false |
| }).trigger('mouseover'); |
| } |
| }); |
|
|
| })(jQuery, require); |
|
|