spree_dash 0.70.7 → 1.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +2 -2
- data/README.md +1 -1
- data/app/assets/images/analytics_dashboard_preview.png +0 -0
- data/app/controllers/spree/admin/overview_controller.rb +15 -0
- data/app/controllers/spree/base_controller_decorator.rb +3 -0
- data/app/helpers/spree/analytics_helper.rb +69 -0
- data/app/models/spree/dash_configuration.rb +11 -0
- data/app/overrides/analytics_header.rb +4 -0
- data/app/views/spree/admin/overview/_form.html.erb +23 -0
- data/app/views/spree/admin/overview/index.html.erb +37 -0
- data/app/views/spree/analytics/_header.html.erb +12 -0
- data/config/locales/en.yml +1 -0
- data/config/routes.rb +2 -2
- data/lib/spree/dash.rb +9 -0
- data/lib/spree/dash/engine.rb +24 -0
- data/lib/spree_dash.rb +1 -7
- metadata +33 -32
- data/app/assets/javascripts/admin/dashboard.js +0 -144
- data/app/assets/javascripts/admin/spree_dash.js +0 -15
- data/app/assets/javascripts/store/spree_dash.js +0 -1
- data/app/assets/stylesheets/admin/dashboard.css.erb +0 -143
- data/app/assets/stylesheets/admin/spree_dash.css +0 -4
- data/app/assets/stylesheets/store/spree_dash.css +0 -3
- data/app/controllers/admin/overview_controller.rb +0 -152
- data/app/views/admin/overview/index.html.erb +0 -164
- data/vendor/assets/javascripts/jqPlot/excanvas.min.js +0 -1
- data/vendor/assets/javascripts/jqPlot/jquery.jqplot.min.js +0 -14
- data/vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasAxisLabelRenderer.min.js +0 -14
- data/vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasAxisTickRenderer.min.js +0 -14
- data/vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasTextRenderer.min.js +0 -14
- data/vendor/assets/javascripts/jqPlot/plugins/jqplot.categoryAxisRenderer.min.js +0 -14
- data/vendor/assets/javascripts/jqPlot/plugins/jqplot.dateAxisRenderer.min.js +0 -14
- data/vendor/assets/javascripts/jqPlot/plugins/jqplot.highlighter.min.js +0 -14
- data/vendor/assets/javascripts/jqPlot/plugins/jqplot.pieRenderer.min.js +0 -14
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c) 2007-2011,
|
1
|
+
Copyright (c) 2007-2011, Spree Commerce, Inc. and other contributors
|
2
2
|
All rights reserved.
|
3
3
|
|
4
4
|
Redistribution and use in source and binary forms, with or without modification,
|
@@ -23,4 +23,4 @@ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
23
23
|
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
24
24
|
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
25
25
|
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
26
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
26
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
CHANGED
Binary file
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Spree
|
2
|
+
class Admin::OverviewController < Admin::BaseController
|
3
|
+
|
4
|
+
def index
|
5
|
+
end
|
6
|
+
|
7
|
+
def preferences
|
8
|
+
[:app_id, :site_id, :token].each do |key|
|
9
|
+
Spree::Dash::Config[key] = params[key]
|
10
|
+
end
|
11
|
+
redirect_to admin_path
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module Spree
|
2
|
+
module AnalyticsHelper
|
3
|
+
|
4
|
+
def spree_analytics
|
5
|
+
render :partial => 'analytics/header'
|
6
|
+
end
|
7
|
+
|
8
|
+
def analytics_tags
|
9
|
+
tags = { :id => Spree::Dash::Config.site_id.to_s }
|
10
|
+
tags.merge! product_analytics_tags
|
11
|
+
tags.merge! taxon_analytics_tags
|
12
|
+
tags.merge! keywords_analytics_tags
|
13
|
+
tags.merge! cart_analytics_tags
|
14
|
+
tags.merge! completed_analytics_tags
|
15
|
+
end
|
16
|
+
|
17
|
+
def product_analytics_tags
|
18
|
+
return {} unless @product
|
19
|
+
{ :product => { :name => @product.name,
|
20
|
+
:price => @product.price,
|
21
|
+
:sku => @product.sku,
|
22
|
+
:categories => @product.taxons.map { |t| t.permalink }
|
23
|
+
}
|
24
|
+
}
|
25
|
+
end
|
26
|
+
|
27
|
+
def taxon_analytics_tags
|
28
|
+
return {} unless @taxon
|
29
|
+
{ :category => { :name => @taxon.permalink } }
|
30
|
+
end
|
31
|
+
|
32
|
+
def keywords_analytics_tags
|
33
|
+
return {} unless params[:keywords]
|
34
|
+
{ :search => { :keyword => params[:keywords] } }
|
35
|
+
end
|
36
|
+
|
37
|
+
def cart_analytics_tags
|
38
|
+
return {} unless @order and @order.cart?
|
39
|
+
{ :cart => { :total => @order.total,
|
40
|
+
:products => products_for_order }
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
def completed_analytics_tags
|
45
|
+
return {} unless @order and @order.complete?
|
46
|
+
{ :confirm => { :orderid => @order.number,
|
47
|
+
:total => @order.total,
|
48
|
+
:shipping => @order.ship_total,
|
49
|
+
:tax => @order.tax_total,
|
50
|
+
:discount => @order.adjustment_total,
|
51
|
+
:subtotal => @order.item_total,
|
52
|
+
:products => products_for_order }
|
53
|
+
}
|
54
|
+
end
|
55
|
+
|
56
|
+
def products_for_order
|
57
|
+
@order.line_items.map do |line_item|
|
58
|
+
variant = line_item.variant
|
59
|
+
{ :name => variant.name,
|
60
|
+
:qty => line_item.quantity,
|
61
|
+
:price => variant.price,
|
62
|
+
:sku => variant.sku,
|
63
|
+
:categories => variant.product.taxons.map { |t| t.permalink }
|
64
|
+
}
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Spree
|
2
|
+
class DashConfiguration < Preferences::Configuration
|
3
|
+
preference :app_id, :string
|
4
|
+
preference :site_id, :string
|
5
|
+
preference :token, :string
|
6
|
+
|
7
|
+
def configured?
|
8
|
+
preferred_app_id.present? and preferred_site_id.present? and preferred_token.present?
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<h2><%= t(:spree_analytics_token) %></h2>
|
2
|
+
|
3
|
+
<%= form_tag admin_dash_preferences_path, :method => :put do %>
|
4
|
+
<table data-hook="dash_preferences">
|
5
|
+
<tr data-hook="app_id">
|
6
|
+
<td><%= t(:analytics_app_id) %>:</td>
|
7
|
+
<td><%= text_field_tag :app_id, Spree::Dash::Config.app_id, :size => 50 %></td>
|
8
|
+
</tr>
|
9
|
+
<tr data-hook="site_id">
|
10
|
+
<td><%= t(:analytics_site_id) %>:</td>
|
11
|
+
<td><%= text_field_tag :site_id, Spree::Dash::Config.site_id, :size => 50 %></td>
|
12
|
+
</tr>
|
13
|
+
<tr data-hook="token">
|
14
|
+
<td><%= t(:analytics_token) %>:</td>
|
15
|
+
<td><%= text_field_tag :token, Spree::Dash::Config.token, :size => 50 %></td>
|
16
|
+
</tr>
|
17
|
+
</table>
|
18
|
+
|
19
|
+
<p class="form-buttons" data-hook="buttons">
|
20
|
+
<%= button t(:update) %> <%= link_to t(:cancel), admin_path %>
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<% end %>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<% content_for :head do %>
|
2
|
+
<link type="text/css" rel="stylesheet" href="https://api.jirafe.com/dashboard/css/spree_ui.css" media="all" />
|
3
|
+
<script type="text/javascript" src="https://api.jirafe.com/dashboard/js/spree_ui.js"></script>
|
4
|
+
<% end %>
|
5
|
+
|
6
|
+
<h1><%= t(:overview) %></h1>
|
7
|
+
|
8
|
+
<% if params[:dash_edit] %>
|
9
|
+
<%= render 'form' %>
|
10
|
+
<% else %>
|
11
|
+
<% if Spree::Dash::Config.configured? %>
|
12
|
+
<div id="jirafe"></div>
|
13
|
+
<script type="text/javascript" defer="defer">
|
14
|
+
if (typeof jQuery != 'undefined') {
|
15
|
+
(function($) {
|
16
|
+
$('#jirafe').jirafe({
|
17
|
+
api_url: 'https://api.jirafe.com/v1',
|
18
|
+
api_token: '<%= Spree::Dash::Config.token %>',
|
19
|
+
app_id: '<%= Spree::Dash::Config.app_id %>',
|
20
|
+
version: 'spree-v0.1.0'
|
21
|
+
});
|
22
|
+
})(jQuery);
|
23
|
+
}
|
24
|
+
setTimeout(function() {
|
25
|
+
if ($('mod-jirafe') == undefined){
|
26
|
+
$('messages').insert ("<ul class=\"messages\"><li class=\"error-msg\">We're unable to connect with the Jirafe service for the moment. Please wait a few minutes and refresh this page later.</li></ul>");
|
27
|
+
}
|
28
|
+
}, 10000);
|
29
|
+
</script>
|
30
|
+
<% else %>
|
31
|
+
<%= image_tag 'analytics_dashboard_preview.png' %>
|
32
|
+
<% end %>
|
33
|
+
<br>
|
34
|
+
<%= link_to t(:enter_token), admin_path(:dash_edit => true) %>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<% if Spree::Dash::Config.configured? %>
|
2
|
+
<script type='text/javascript'>
|
3
|
+
var jirafe= <%= raw analytics_tags.to_json %>;
|
4
|
+
(function(){
|
5
|
+
var d=document,g=d.createElement('script'),s=d.getElementsByTagName('script')[0];
|
6
|
+
g.type='text/javascript',g.defer=g.async=true;g.src=d.location.protocol+'//c.jirafe.com/jirafe.js';
|
7
|
+
s.parentNode.insertBefore(g, s);
|
8
|
+
})();
|
9
|
+
</script>
|
10
|
+
<% else %>
|
11
|
+
<!-- Spree Analytics has not been initialized correctly -->
|
12
|
+
<% end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
en:
|
data/config/routes.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
Spree::Core::Engine.routes.prepend do
|
2
2
|
match '/admin' => 'admin/overview#index', :as => :admin
|
3
|
-
match '/admin/
|
3
|
+
match '/admin/dash_preferences' => 'admin/overview#preferences', :as => :admin_dash_preferences
|
4
4
|
end
|
data/lib/spree/dash.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Spree
|
2
|
+
module Dash
|
3
|
+
class Engine < Rails::Engine
|
4
|
+
isolate_namespace Spree
|
5
|
+
engine_name 'spree_dash'
|
6
|
+
|
7
|
+
initializer "spree.dash.environment", :before => :load_config_initializers do |app|
|
8
|
+
Spree::Dash::Config = Spree::DashConfiguration.new
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.activate
|
12
|
+
Dir.glob(File.join(File.dirname(__FILE__), "../../../app/**/*_decorator*.rb")) do |c|
|
13
|
+
Rails.configuration.cache_classes ? require(c) : load(c)
|
14
|
+
end
|
15
|
+
|
16
|
+
Dir.glob(File.join(File.dirname(__FILE__), "../../app/overrides/*.rb")) do |c|
|
17
|
+
Rails.application.config.cache_classes ? require(c) : load(c)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
config.to_prepare &method(:activate).to_proc
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/spree_dash.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_dash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 15424055
|
5
|
+
prerelease: 6
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
|
9
|
+
- 0
|
10
|
+
- rc
|
11
|
+
- 1
|
12
|
+
version: 1.0.0.rc1
|
11
13
|
platform: ruby
|
12
14
|
authors:
|
13
15
|
- Brian Quinn
|
@@ -15,7 +17,7 @@ autorequire:
|
|
15
17
|
bindir: bin
|
16
18
|
cert_chain: []
|
17
19
|
|
18
|
-
date:
|
20
|
+
date: 2011-12-23 00:00:00 Z
|
19
21
|
dependencies:
|
20
22
|
- !ruby/object:Gem::Dependency
|
21
23
|
version_requirements: &id001 !ruby/object:Gem::Requirement
|
@@ -23,12 +25,14 @@ dependencies:
|
|
23
25
|
requirements:
|
24
26
|
- - "="
|
25
27
|
- !ruby/object:Gem::Version
|
26
|
-
hash:
|
28
|
+
hash: 15424055
|
27
29
|
segments:
|
30
|
+
- 1
|
31
|
+
- 0
|
28
32
|
- 0
|
29
|
-
-
|
30
|
-
-
|
31
|
-
version: 0.
|
33
|
+
- rc
|
34
|
+
- 1
|
35
|
+
version: 1.0.0.rc1
|
32
36
|
requirement: *id001
|
33
37
|
type: :runtime
|
34
38
|
prerelease: false
|
@@ -44,25 +48,20 @@ extra_rdoc_files: []
|
|
44
48
|
files:
|
45
49
|
- LICENSE
|
46
50
|
- README.md
|
47
|
-
- app/assets/
|
48
|
-
- app/
|
49
|
-
- app/
|
50
|
-
- app/
|
51
|
-
- app/
|
52
|
-
- app/
|
53
|
-
- app/
|
54
|
-
- app/views/admin/overview/index.html.erb
|
51
|
+
- app/assets/images/analytics_dashboard_preview.png
|
52
|
+
- app/controllers/spree/admin/overview_controller.rb
|
53
|
+
- app/controllers/spree/base_controller_decorator.rb
|
54
|
+
- app/helpers/spree/analytics_helper.rb
|
55
|
+
- app/models/spree/dash_configuration.rb
|
56
|
+
- app/overrides/analytics_header.rb
|
57
|
+
- app/views/spree/admin/overview/_form.html.erb
|
58
|
+
- app/views/spree/admin/overview/index.html.erb
|
59
|
+
- app/views/spree/analytics/_header.html.erb
|
60
|
+
- config/locales/en.yml
|
55
61
|
- config/routes.rb
|
62
|
+
- lib/spree/dash/engine.rb
|
63
|
+
- lib/spree/dash.rb
|
56
64
|
- lib/spree_dash.rb
|
57
|
-
- vendor/assets/javascripts/jqPlot/excanvas.min.js
|
58
|
-
- vendor/assets/javascripts/jqPlot/jquery.jqplot.min.js
|
59
|
-
- vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasAxisLabelRenderer.min.js
|
60
|
-
- vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasAxisTickRenderer.min.js
|
61
|
-
- vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasTextRenderer.min.js
|
62
|
-
- vendor/assets/javascripts/jqPlot/plugins/jqplot.categoryAxisRenderer.min.js
|
63
|
-
- vendor/assets/javascripts/jqPlot/plugins/jqplot.dateAxisRenderer.min.js
|
64
|
-
- vendor/assets/javascripts/jqPlot/plugins/jqplot.highlighter.min.js
|
65
|
-
- vendor/assets/javascripts/jqPlot/plugins/jqplot.pieRenderer.min.js
|
66
65
|
homepage: http://spreecommerce.com
|
67
66
|
licenses: []
|
68
67
|
|
@@ -85,15 +84,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
85
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
85
|
none: false
|
87
86
|
requirements:
|
88
|
-
- - "
|
87
|
+
- - ">"
|
89
88
|
- !ruby/object:Gem::Version
|
90
|
-
hash:
|
89
|
+
hash: 25
|
91
90
|
segments:
|
92
|
-
-
|
93
|
-
|
91
|
+
- 1
|
92
|
+
- 3
|
93
|
+
- 1
|
94
|
+
version: 1.3.1
|
94
95
|
requirements:
|
95
96
|
- none
|
96
|
-
rubyforge_project:
|
97
|
+
rubyforge_project:
|
97
98
|
rubygems_version: 1.8.10
|
98
99
|
signing_key:
|
99
100
|
specification_version: 3
|
@@ -1,144 +0,0 @@
|
|
1
|
-
function number_with_delimiter(number, delimiter, separator) {
|
2
|
-
try {
|
3
|
-
var delimiter = delimiter || ",";
|
4
|
-
var separator = separator || ".";
|
5
|
-
|
6
|
-
var parts = number.toString().split('.');
|
7
|
-
parts[0] = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + delimiter);
|
8
|
-
formatted_number = parts.join(separator);
|
9
|
-
|
10
|
-
if(formatted_number.length>=6 && formatted_number.length<=9){
|
11
|
-
var arr = formatted_number.split(",");
|
12
|
-
return arr[0] + " k";
|
13
|
-
}else if(formatted_number.length==10){
|
14
|
-
var arr = formatted_number.split(",");
|
15
|
-
return arr[0] + " m";
|
16
|
-
}else{
|
17
|
-
return formatted_number
|
18
|
-
}
|
19
|
-
} catch(e) {
|
20
|
-
return number
|
21
|
-
}
|
22
|
-
}
|
23
|
-
|
24
|
-
function handle_orders_by_day(r){
|
25
|
-
var new_points = eval(r);
|
26
|
-
|
27
|
-
if(new_points[0].length>0){
|
28
|
-
orders_by_day_settings.axes.xaxis.min = new_points[0][0][0].replace(/-/g, "/");
|
29
|
-
orders_by_day_settings.axes.xaxis.max = new_points[0][new_points[0].length -1][0].replace(/-/g, "/");
|
30
|
-
}
|
31
|
-
|
32
|
-
orders_by_day_settings.axes.yaxis.label = jQuery("#orders_by_day_value :selected").val();
|
33
|
-
|
34
|
-
jQuery("#order_by_day_title").text(orders + " " + jQuery("#orders_by_day_value :selected").val() + " " + by_day + " (" + jQuery("#orders_by_day_reports :selected").text() + ")");
|
35
|
-
|
36
|
-
jQuery('#orders_by_day').empty();
|
37
|
-
jQuery.jqplot('orders_by_day', new_points, orders_by_day_settings);
|
38
|
-
|
39
|
-
}
|
40
|
-
|
41
|
-
function handle_orders_total(r){
|
42
|
-
var values = eval(r);
|
43
|
-
|
44
|
-
jQuery('#orders_total').text(number_with_delimiter(values[0].orders_total));
|
45
|
-
jQuery('#orders_line_total').text(number_with_delimiter(values[0].orders_line_total));
|
46
|
-
jQuery('#orders_adjustment_total').text(number_with_delimiter(values[0].orders_adjustment_total));
|
47
|
-
jQuery('#orders_adjustment_total').text(number_with_delimiter(values[0].orders_adjustment_total));
|
48
|
-
}
|
49
|
-
|
50
|
-
jQuery(document).ready(function(){
|
51
|
-
|
52
|
-
if(typeof(orders_by_day_points)=="object"){
|
53
|
-
orders_by_day_settings = {
|
54
|
-
title: {
|
55
|
-
textColor: '#476D9B',
|
56
|
-
fontSize: '12pt',
|
57
|
-
},
|
58
|
-
grid: {background:'#fff', gridLineColor:'#fff',borderColor: '#476D9B'},
|
59
|
-
axes:{
|
60
|
-
yaxis:{
|
61
|
-
label:'Order (Count)',
|
62
|
-
labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer,
|
63
|
-
autoscale:true,
|
64
|
-
tickOptions:{
|
65
|
-
formatString:'%d',
|
66
|
-
fontSize: '10pt',
|
67
|
-
textColor: '#476D9B'
|
68
|
-
},
|
69
|
-
min: 0
|
70
|
-
},
|
71
|
-
xaxis:{
|
72
|
-
renderer:jQuery.jqplot.DateAxisRenderer,
|
73
|
-
rendererOptions:{tickRenderer:jQuery.jqplot.CanvasAxisTickRenderer},
|
74
|
-
tickOptions:{
|
75
|
-
formatString:'%b %#d, %y',
|
76
|
-
angle: -30,
|
77
|
-
fontSize: '10pt',
|
78
|
-
textColor: '#476D9B'
|
79
|
-
},
|
80
|
-
min: orders_by_day_points[0][0][0].replace(/-/g, "/"),
|
81
|
-
max: orders_by_day_points[0][orders_by_day_points[0].length -1][0].replace(/-/g, "/")//,
|
82
|
-
//tickInterval: '1 day'
|
83
|
-
}
|
84
|
-
},
|
85
|
-
series:[{lineWidth:3, color: '#0095DA', fillAndStroke: true, fill: true, fillColor: '#E6F7FF'}],
|
86
|
-
highlighter: {
|
87
|
-
formatString: "Date: %s <br />Value: %s ",
|
88
|
-
sizeAdjust: 7.5
|
89
|
-
}
|
90
|
-
};
|
91
|
-
|
92
|
-
|
93
|
-
jQuery.jqplot('orders_by_day', orders_by_day_points, orders_by_day_settings);
|
94
|
-
|
95
|
-
jQuery("div#orders_by_day_options select").change(function(){
|
96
|
-
var report = jQuery("#orders_by_day_reports :selected").val();
|
97
|
-
var value = jQuery("#orders_by_day_value :selected").val();
|
98
|
-
|
99
|
-
jQuery.ajax({
|
100
|
-
type: 'GET',
|
101
|
-
url: 'admin/overview/get_report_data',
|
102
|
-
data: ({report: 'orders_by_day', name: report, value: value, authenticity_token: AUTH_TOKEN}),
|
103
|
-
success: handle_orders_by_day
|
104
|
-
});
|
105
|
-
|
106
|
-
jQuery.ajax({
|
107
|
-
type: 'GET',
|
108
|
-
url: 'admin/overview/get_report_data',
|
109
|
-
data: ({report: 'orders_totals', name: report, authenticity_token: AUTH_TOKEN}),
|
110
|
-
success: handle_orders_total
|
111
|
-
});
|
112
|
-
});
|
113
|
-
|
114
|
-
best_selling_variants = jQuery.jqplot('best_selling_products', [best_selling_variants_points], {
|
115
|
-
grid: {background:'#fff',borderWidth: 0, borderColor: '#fff', shadow: false},
|
116
|
-
seriesDefaults:{
|
117
|
-
renderer:jQuery.jqplot.PieRenderer,
|
118
|
-
rendererOptions:{padding:6,sliceMargin:0}
|
119
|
-
},
|
120
|
-
seriesColors: pie_colors
|
121
|
-
});
|
122
|
-
|
123
|
-
|
124
|
-
top_grossing_variants = jQuery.jqplot('top_grossing_products', [top_grossing_variants_points], {
|
125
|
-
grid: {background:'#fff',borderWidth: 0, borderColor: '#fff', shadow: false},
|
126
|
-
seriesDefaults:{
|
127
|
-
renderer:jQuery.jqplot.PieRenderer,
|
128
|
-
rendererOptions:{padding:6,sliceMargin:0}
|
129
|
-
},
|
130
|
-
|
131
|
-
seriesColors: pie_colors
|
132
|
-
});
|
133
|
-
|
134
|
-
tbest_selling_taxons = jQuery.jqplot('best_selling_taxons', [best_selling_taxons_points], {
|
135
|
-
grid: {background:'#fff',borderWidth: 0, borderColor: '#fff', shadow: false},
|
136
|
-
seriesDefaults:{
|
137
|
-
renderer:jQuery.jqplot.PieRenderer,
|
138
|
-
rendererOptions:{padding:6,sliceMargin:0}
|
139
|
-
},
|
140
|
-
|
141
|
-
seriesColors: pie_colors
|
142
|
-
});
|
143
|
-
}
|
144
|
-
});
|