spree_dash 0.60.6 → 0.70.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.
@@ -0,0 +1,144 @@
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
+ var 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
+ });
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into including all the files listed below.
2
+ // Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
3
+ // be included in the compiled file accessible from http://example.com/assets/application.js
4
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
5
+ // the compiled file.
6
+ //
7
+ //= require_tree .
8
+ //= require admin/spree_core
9
+ //= require jqPlot/jquery.jqplot.min
10
+ //= require jqPlot/plugins/jqplot.dateAxisRenderer.min
11
+ //= require jqPlot/plugins/jqplot.highlighter.min
12
+ //= require jqPlot/plugins/jqplot.canvasAxisTickRenderer.min
13
+ //= require jqPlot/plugins/jqplot.canvasTextRenderer.min
14
+ //= require jqPlot/plugins/jqplot.canvasAxisLabelRenderer.min
15
+ //= require jqPlot/plugins/jqplot.pieRenderer.min
@@ -0,0 +1 @@
1
+ //= require store/spree_core
@@ -37,7 +37,7 @@
37
37
  }
38
38
 
39
39
  #order_totals{
40
- background:#154E8C url(../../images/admin/bg/admin_tab_back.png) repeat-x scroll left top;
40
+ background:#154E8C url(<%= asset_path("admin/bg/admin_tab_back.png") %>) repeat-x scroll left top;
41
41
  -moz-border-radius-bottomleft:10px;
42
42
  -moz-border-radius-bottomright:10px;
43
43
  -moz-border-radius-topleft:10px;
@@ -140,4 +140,4 @@
140
140
 
141
141
  .jqplot-table-legend{
142
142
  width:60px;
143
- }
143
+ }
@@ -0,0 +1,4 @@
1
+ /*
2
+ *= require admin/spree_core
3
+ *= require admin/dashboard
4
+ */
@@ -0,0 +1,3 @@
1
+ /*
2
+ *= require store/spree_core
3
+ */
@@ -53,9 +53,9 @@ class Admin::OverviewController < Admin::BaseController
53
53
 
54
54
  def conditions(params)
55
55
  if params.key? :to
56
- ["completed_at >= ? AND completed_at <= ? AND state <> 'canceled'", params[:from], params[:to]]
56
+ ["completed_at >= ? AND completed_at <= ?", params[:from], params[:to]]
57
57
  else
58
- ["completed_at >= ? AND state <> 'canceled'", params[:from]]
58
+ ["completed_at >= ?", params[:from]]
59
59
  end
60
60
  end
61
61
 
@@ -99,7 +99,7 @@ class Admin::OverviewController < Admin::BaseController
99
99
  end
100
100
 
101
101
  def best_selling_variants
102
- li = LineItem.includes(:order).where("orders.state = 'complete'").sum(:quantity, :group => :variant_id, :order => 'sum(quantity) desc', :limit => 5)
102
+ li = LineItem.includes(:order).where("orders.state = 'complete'").sum(:quantity, :group => :variant_id, :limit => 5)
103
103
  variants = li.map do |v|
104
104
  variant = Variant.find(v[0])
105
105
  [variant.name, v[1] ]
@@ -108,10 +108,11 @@ class Admin::OverviewController < Admin::BaseController
108
108
  end
109
109
 
110
110
  def top_grossing_variants
111
- prices = LineItem.includes(:order).where("orders.state = 'complete'").sum("price * quantity", :group => :variant_id, :order => 'sum(price * quantity) desc', :limit => 5)
112
- variants = prices.map do |v|
111
+ quantity = LineItem.includes(:order).where("orders.state = 'complete'").sum(:quantity, :group => :variant_id, :limit => 5)
112
+ prices = LineItem.includes(:order).where("orders.state = 'complete'").sum(:price, :group => :variant_id, :limit => 5)
113
+ variants = quantity.map do |v|
113
114
  variant = Variant.find(v[0])
114
- [variant.name, v[1]]
115
+ [variant.name, v[1] * prices[v[0]]]
115
116
  end
116
117
 
117
118
  variants.sort { |x,y| y[1] <=> x[1] }
@@ -125,7 +126,7 @@ class Admin::OverviewController < Admin::BaseController
125
126
  end
126
127
 
127
128
  def last_five_orders
128
- orders = Order.includes(:line_items).where("completed_at IS NOT NULL AND state <> 'canceled'").order("completed_at DESC").limit(5)
129
+ orders = Order.includes(:line_items).where("completed_at IS NOT NULL").order("completed_at DESC").limit(5)
129
130
  orders.map do |o|
130
131
  qty = o.line_items.inject(0) {|sum,li| sum + li.quantity}
131
132
 
@@ -134,7 +135,7 @@ class Admin::OverviewController < Admin::BaseController
134
135
  end
135
136
 
136
137
  def biggest_spenders
137
- spenders = Order.sum(:total, :group => :user_id, :limit => 5, :order => "sum(total) desc", :conditions => "completed_at is not null and state <> 'canceled' and user_id is not null")
138
+ spenders = Order.sum(:total, :group => :user_id, :limit => 5, :order => "sum(total) desc", :conditions => "completed_at is not null and user_id is not null")
138
139
  spenders = spenders.map do |o|
139
140
  orders = User.find(o[0]).orders
140
141
  qty = orders.size
@@ -1,10 +1,10 @@
1
1
  <h1><%= t("overview") %></h1>
2
2
 
3
- <%= hook :admin_dashboard do %>
3
+ <div data-hook="admin_dashboard">
4
4
  <% if @show_dashboard %>
5
5
  <div class="dashboard">
6
6
  <div class="dashboard_left">
7
- <%= hook :admin_dashboard_left do %>
7
+ <div data-hook="admin_dashboard_left">
8
8
  <div class="dashboard_small_wrapper">
9
9
  <h2><%= t('best_selling_products') %></h2>
10
10
  <div id="best_selling_products" style="width:50%;height:170px;float:left"></div>
@@ -38,8 +38,8 @@
38
38
 
39
39
  </div>
40
40
  </div>
41
- <% end %>
42
- <%= hook :admin_dashboard_center do %>
41
+ </div>
42
+ <div data-hook="admin_dashboard_center">
43
43
  <div class="dashboard_main">
44
44
  <div class="dashboard_main_wrapper">
45
45
  <h2 id="order_by_day_title"><%= t('orders') %> <%= t('count') %> <%= t('by_day') %> (<%= t('last_7_days') %>)</h2>
@@ -83,8 +83,8 @@
83
83
  </div>
84
84
  </div>
85
85
  </div>
86
- <% end %>
87
- <%= hook :admin_dashboard_right do %>
86
+ </div>
87
+ <div data-hook="admin_dashboard_right">
88
88
  <div class="dashboard_right">
89
89
  <h2><%= t('last_5_orders') %></h2>
90
90
  <table>
@@ -137,38 +137,28 @@
137
137
  </table>
138
138
  </div>
139
139
  </div>
140
- <% end %>
140
+ </div>
141
141
  <p style="clear:both;">&nbsp;</p>
142
142
  <% else %>
143
- <%= hook :admin_dashboard_welcome do %>
143
+ <div data-hook="admin_dashboard_welcome">
144
144
  <%== t('overview_welcome') %>
145
- <% end %>
145
+ </div>
146
146
  <% end %>
147
- <% end %>
147
+ </div>
148
148
 
149
149
  <% content_for :head do %>
150
- <%= hook :admin_dashboard_javascript do %>
151
- <% if @show_dashboard %>
152
- <script type="text/javascript">
153
- var orders_by_day_points = [[<%== @orders_by_day.map { |day| "[\"#{day[0]}\",#{day[1]}]" }.join(",") %>]];
154
- var best_selling_variants_points = [<%== @best_selling_variants.map { |v| "[\"#{h(v[0])}\",#{v[1]}]" }.join(",") %>];
155
- var top_grossing_variants_points = [<%== @top_grossing_variants.map { |v| "[\"#{h(v[0])}\",#{v[1]}]" }.join(",") %>];
156
- var best_selling_taxons_points = [<%== @best_selling_taxons.map { |t| "[\"#{h(t[0])}\",#{t[1]}]" }.join(",") %>];
157
-
158
- var orders = "<%= t(:orders) %>";
159
- var by_day = "<%= t(:by_day) %>";
150
+ <% if @show_dashboard %>
151
+ <script type="text/javascript">
152
+ var orders_by_day_points = [[<%== @orders_by_day.map { |day| "[\"#{day[0]}\",#{day[1]}]" }.join(",") %>]];
153
+ var best_selling_variants_points = [<%== @best_selling_variants.map { |v| "[\"#{h(v[0])}\",#{v[1]}]" }.join(",") %>];
154
+ var top_grossing_variants_points = [<%== @top_grossing_variants.map { |v| "[\"#{h(v[0])}\",#{v[1]}]" }.join(",") %>];
155
+ var best_selling_taxons_points = [<%== @best_selling_taxons.map { |t| "[\"#{h(t[0])}\",#{t[1]}]" }.join(",") %>];
160
156
 
161
- var pie_colors = [<%== @pie_colors.map{|c| "'#{c}'"}.join(",") %>];
162
- </script>
157
+ var orders = "<%= t(:orders) %>";
158
+ var by_day = "<%= t(:by_day) %>";
163
159
 
164
- <%= javascript_include_tag 'jqPlot/jquery.jqplot.min.js', 'jqPlot/plugins/jqplot.dateAxisRenderer.min.js', 'jqPlot/plugins/jqplot.highlighter.min.js',
165
- 'jqPlot/plugins/jqplot.canvasAxisTickRenderer.min.js', 'jqPlot/plugins/jqplot.canvasTextRenderer.min.js', 'jqPlot/plugins/jqplot.canvasAxisLabelRenderer.min.js',
166
- 'jqPlot/plugins/jqplot.pieRenderer.min.js', 'dashboard.js' %>
160
+ var pie_colors = [<%== @pie_colors.map{|c| "'#{c}'"}.join(",") %>];
161
+ </script>
167
162
  <!--[if IE]><%= javascript_include_tag 'jqPlot/excanvas.min.js' %><![endif]-->
168
- <% end %>
169
- <% end %>
170
-
171
- <%= hook :admin_dashboard_stylesheet do %>
172
- <%= stylesheet_link_tag 'admin/dashboard.css' %>
173
163
  <% end %>
174
164
  <% end %>
data/lib/spree_dash.rb CHANGED
@@ -2,5 +2,6 @@ require 'spree_core'
2
2
 
3
3
  module SpreeDash
4
4
  class Engine < Rails::Engine
5
+ engine_name 'spree_dash'
5
6
  end
6
7
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_dash
3
3
  version: !ruby/object:Gem::Version
4
- hash: 227
5
- prerelease:
4
+ hash: 11094103
5
+ prerelease: 5
6
6
  segments:
7
7
  - 0
8
- - 60
9
- - 6
10
- version: 0.60.6
8
+ - 70
9
+ - RC
10
+ - 1
11
+ version: 0.70.RC1
11
12
  platform: ruby
12
13
  authors:
13
14
  - Brian Quinn
@@ -15,25 +16,26 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2012-03-12 00:00:00 Z
19
+ date: 2011-09-09 00:00:00 Z
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- type: :runtime
23
- requirement: &id001 !ruby/object:Gem::Requirement
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
26
25
  - - "="
27
26
  - !ruby/object:Gem::Version
28
- hash: 227
27
+ hash: 11094103
29
28
  segments:
30
29
  - 0
31
- - 60
32
- - 6
33
- version: 0.60.6
34
- version_requirements: *id001
30
+ - 70
31
+ - RC
32
+ - 1
33
+ version: 0.70.RC1
35
34
  name: spree_core
36
- description: Required dependancy for Spree
35
+ type: :runtime
36
+ prerelease: false
37
+ requirement: *id001
38
+ description: Required dependency for Spree
37
39
  email: brian@railsdog.com
38
40
  executables: []
39
41
 
@@ -44,22 +46,25 @@ extra_rdoc_files: []
44
46
  files:
45
47
  - LICENSE
46
48
  - README.md
49
+ - app/assets/javascripts/admin/dashboard.js
50
+ - app/assets/javascripts/admin/spree_dash.js
51
+ - app/assets/javascripts/store/spree_dash.js
52
+ - app/assets/stylesheets/admin/dashboard.css.erb
53
+ - app/assets/stylesheets/admin/spree_dash.css
54
+ - app/assets/stylesheets/store/spree_dash.css
47
55
  - app/controllers/admin/overview_controller.rb
48
56
  - app/views/admin/overview/index.html.erb
49
57
  - config/routes.rb
50
58
  - lib/spree_dash.rb
51
- - lib/tasks/install.rake
52
- - public/javascripts/dashboard.js
53
- - public/javascripts/jqPlot/excanvas.min.js
54
- - public/javascripts/jqPlot/jquery.jqplot.min.js
55
- - public/javascripts/jqPlot/plugins/jqplot.canvasAxisLabelRenderer.min.js
56
- - public/javascripts/jqPlot/plugins/jqplot.canvasAxisTickRenderer.min.js
57
- - public/javascripts/jqPlot/plugins/jqplot.canvasTextRenderer.min.js
58
- - public/javascripts/jqPlot/plugins/jqplot.categoryAxisRenderer.min.js
59
- - public/javascripts/jqPlot/plugins/jqplot.dateAxisRenderer.min.js
60
- - public/javascripts/jqPlot/plugins/jqplot.highlighter.min.js
61
- - public/javascripts/jqPlot/plugins/jqplot.pieRenderer.min.js
62
- - public/stylesheets/admin/dashboard.css
59
+ - vendor/assets/javascripts/jqPlot/excanvas.min.js
60
+ - vendor/assets/javascripts/jqPlot/jquery.jqplot.min.js
61
+ - vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasAxisLabelRenderer.min.js
62
+ - vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasAxisTickRenderer.min.js
63
+ - vendor/assets/javascripts/jqPlot/plugins/jqplot.canvasTextRenderer.min.js
64
+ - vendor/assets/javascripts/jqPlot/plugins/jqplot.categoryAxisRenderer.min.js
65
+ - vendor/assets/javascripts/jqPlot/plugins/jqplot.dateAxisRenderer.min.js
66
+ - vendor/assets/javascripts/jqPlot/plugins/jqplot.highlighter.min.js
67
+ - vendor/assets/javascripts/jqPlot/plugins/jqplot.pieRenderer.min.js
63
68
  homepage: http://spreecommerce.com
64
69
  licenses: []
65
70
 
@@ -82,16 +87,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
82
87
  required_rubygems_version: !ruby/object:Gem::Requirement
83
88
  none: false
84
89
  requirements:
85
- - - ">="
90
+ - - ">"
86
91
  - !ruby/object:Gem::Version
87
- hash: 3
92
+ hash: 25
88
93
  segments:
89
- - 0
90
- version: "0"
94
+ - 1
95
+ - 3
96
+ - 1
97
+ version: 1.3.1
91
98
  requirements:
92
99
  - none
93
100
  rubyforge_project: spree_dash
94
- rubygems_version: 1.8.10
101
+ rubygems_version: 1.8.6
95
102
  signing_key:
96
103
  specification_version: 3
97
104
  summary: Overview dashboard for use with Spree.
@@ -1,24 +0,0 @@
1
- namespace :spree_dash do
2
- desc "Copies all migrations and assets (NOTE: This will be obsolete with Rails 3.1)"
3
- task :install do
4
- Rake::Task['spree_dash:install:migrations'].invoke
5
- Rake::Task['spree_dash:install:assets'].invoke
6
- end
7
-
8
- namespace :install do
9
-
10
- desc "Copies all migrations (NOTE: This will be obsolete with Rails 3.1)"
11
- task :migrations do
12
- # no migrations to migrate
13
- end
14
-
15
- desc "Copies all assets (NOTE: This will be obsolete with Rails 3.1)"
16
- task :assets do
17
- source = File.join(File.dirname(__FILE__), '..', '..', 'public')
18
- destination = File.join(Rails.root, 'public')
19
- puts "INFO: Mirroring assets from #{source} to #{destination}"
20
- Spree::FileUtilz.mirror_files(source, destination)
21
- end
22
-
23
- end
24
- end
@@ -1,143 +0,0 @@
1
- jQuery(document).ready(function(){
2
- function number_with_delimiter(number, delimiter, separator) {
3
- try {
4
- var delimiter = delimiter || ",";
5
- var separator = separator || ".";
6
-
7
- var parts = number.toString().split('.');
8
- parts[0] = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1" + delimiter);
9
- formatted_number = parts.join(separator);
10
-
11
- if(formatted_number.length>=6 && formatted_number.length<=9){
12
- var arr = formatted_number.split(",");
13
- return arr[0] + " k";
14
- }else if(formatted_number.length==10){
15
- var arr = formatted_number.split(",");
16
- return arr[0] + " m";
17
- }else{
18
- return formatted_number
19
- }
20
- } catch(e) {
21
- return number
22
- }
23
- }
24
-
25
- function handle_orders_by_day(r){
26
- var new_points = eval(r);
27
-
28
- if(new_points[0].length>0){
29
- orders_by_day_settings.axes.xaxis.min = new_points[0][0][0].replace(/-/g, "/");
30
- orders_by_day_settings.axes.xaxis.max = new_points[0][new_points[0].length -1][0].replace(/-/g, "/");
31
- }
32
-
33
- orders_by_day_settings.axes.yaxis.label = jQuery("#orders_by_day_value :selected").val();
34
-
35
- jQuery("#order_by_day_title").text(orders + " " + jQuery("#orders_by_day_value :selected").val() + " " + by_day + " (" + jQuery("#orders_by_day_reports :selected").text() + ")");
36
-
37
- $('#orders_by_day').empty();
38
- $.jqplot('orders_by_day', new_points, orders_by_day_settings);
39
-
40
- }
41
-
42
- function handle_orders_total(r){
43
- var values = eval(r);
44
-
45
- jQuery('#orders_total').text(number_with_delimiter(values[0].orders_total));
46
- jQuery('#orders_line_total').text(number_with_delimiter(values[0].orders_line_total));
47
- jQuery('#orders_adjustment_total').text(number_with_delimiter(values[0].orders_adjustment_total));
48
- jQuery('#orders_adjustment_total').text(number_with_delimiter(values[0].orders_adjustment_total));
49
- }
50
-
51
- var orders_by_day_settings = {
52
- title: {
53
- textColor: '#476D9B',
54
- fontSize: '12pt',
55
- },
56
- grid: {background:'#fff', gridLineColor:'#fff',borderColor: '#476D9B'},
57
- axes:{
58
- yaxis:{
59
- label:'Order (Count)',
60
- labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
61
- autoscale:true,
62
- tickOptions:{
63
- formatString:'%d',
64
- fontSize: '10pt',
65
- textColor: '#476D9B'
66
- },
67
- min: 0
68
- },
69
- xaxis:{
70
- renderer:$.jqplot.DateAxisRenderer,
71
- rendererOptions:{tickRenderer:$.jqplot.CanvasAxisTickRenderer},
72
- tickOptions:{
73
- formatString:'%b %#d, %y',
74
- angle: -30,
75
- fontSize: '10pt',
76
- textColor: '#476D9B'
77
- },
78
- min: orders_by_day_points[0][0][0].replace(/-/g, "/"),
79
- max: orders_by_day_points[0][orders_by_day_points[0].length -1][0].replace(/-/g, "/")//,
80
- //tickInterval: '1 day'
81
- }
82
- },
83
- series:[{lineWidth:3, color: '#0095DA', fillAndStroke: true, fill: true, fillColor: '#E6F7FF'}],
84
- highlighter: {
85
- formatString: "Date: %s <br/>Value: %s ",
86
- sizeAdjust: 7.5
87
- }
88
- };
89
-
90
- jQuery.jqplot('orders_by_day', orders_by_day_points, orders_by_day_settings);
91
-
92
- jQuery("div#orders_by_day_options select").change(function(){
93
- var report = jQuery("#orders_by_day_reports :selected").val();
94
- var value = jQuery("#orders_by_day_value :selected").val();
95
-
96
- jQuery.ajax({
97
- type: 'GET',
98
- url: 'admin/overview/get_report_data',
99
- data: ({report: 'orders_by_day', name: report, value: value, authenticity_token: AUTH_TOKEN}),
100
- success: handle_orders_by_day
101
- });
102
-
103
- jQuery.ajax({
104
- type: 'GET',
105
- url: 'admin/overview/get_report_data',
106
- data: ({report: 'orders_totals', name: report, authenticity_token: AUTH_TOKEN}),
107
- success: handle_orders_total
108
- });
109
-
110
- });
111
-
112
- best_selling_variants = $.jqplot('best_selling_products', [best_selling_variants_points], {
113
- grid: {background:'#fff',borderWidth: 0, borderColor: '#fff', shadow: false},
114
- seriesDefaults:{
115
- renderer:$.jqplot.PieRenderer,
116
- rendererOptions:{padding:6,sliceMargin:0}
117
- },
118
- seriesColors: pie_colors
119
- });
120
-
121
-
122
- top_grossing_variants = $.jqplot('top_grossing_products', [top_grossing_variants_points], {
123
- grid: {background:'#fff',borderWidth: 0, borderColor: '#fff', shadow: false},
124
- seriesDefaults:{
125
- renderer:$.jqplot.PieRenderer,
126
- rendererOptions:{padding:6,sliceMargin:0}
127
- },
128
-
129
- seriesColors: pie_colors
130
- });
131
-
132
- tbest_selling_taxons = $.jqplot('best_selling_taxons', [best_selling_taxons_points], {
133
- grid: {background:'#fff',borderWidth: 0, borderColor: '#fff', shadow: false},
134
- seriesDefaults:{
135
- renderer:$.jqplot.PieRenderer,
136
- rendererOptions:{padding:6,sliceMargin:0}
137
- },
138
-
139
- seriesColors: pie_colors
140
- });
141
-
142
-
143
- });