it-logica-application-backbone 1.0.24 → 1.0.25

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.24
1
+ 1.0.25
@@ -1,4 +1,6 @@
1
1
  class TableSorting
2
+ @max_together = 2
3
+
2
4
  @change_sorting: (form_id, order_by_value, dir, obj) ->
3
5
  order_by_value = order_by_value.toLowerCase()
4
6
  dir = dir.toLowerCase()
@@ -37,6 +39,7 @@ class TableSorting
37
39
 
38
40
  else # i am not ordering by element value, I will append it to end
39
41
  #console.log("pridavam")
42
+ order_by_array.pop() if order_by_array.length >= TableSorting.max_together
40
43
  order_by_array.push(order_by_value + " " + dir)
41
44
 
42
45
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "it-logica-application-backbone"
8
- s.version = "1.0.24"
8
+ s.version = "1.0.25"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ladas"]
@@ -399,19 +399,37 @@ module ModelMixins
399
399
  end
400
400
  end
401
401
 
402
+
402
403
  if per_page && per_page > 0
403
404
  # only when i need pagination
404
405
  if total_count.blank?
405
406
  # if I call this more times, I can pass the total count and not count it multiple times
406
-
407
407
  # fuck will paginate, if there are agregated queries that I use for condition, will_paginage will delete it
408
408
  # i am counting rows on my own (as sugested in will paginete gem, when the query got more complex)
409
- if object.respond_to?(:klass)
410
- mysql_count = object.klass.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
409
+ if (settings[:total_count_cache].blank?)
410
+ # I am not caching total count. Be advised in table cca. 200 000 rows total count take about 1 second to compute, it very much.
411
+ if object.respond_to?(:klass)
412
+ mysql_count = object.klass.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
413
+ else
414
+ mysql_count = object.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
415
+ end
416
+
417
+ ret = ret.paginate(:page => params[:page], :per_page => per_page, :total_entries => mysql_count.first[:count_all])
411
418
  else
412
- mysql_count = object.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
419
+ # I am caching total count
420
+ # todo find out how to cache this when everything can change, maybe I can cache only not filtered version
421
+ # !!!!!!1 dont turn this on till then
422
+
423
+ total_count = Rails.cache.fetch(settings[:form_id] + "__cached_total_count", :expires_in => settings[:total_count_cache]) do
424
+ if object.respond_to?(:klass)
425
+ mysql_count = object.klass.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
426
+ else
427
+ mysql_count = object.find_by_sql("SELECT COUNT(*) AS count_all FROM (" + ret.selection(settings).to_sql + ") count")
428
+ end
429
+ mysql_count.first[:count_all]
430
+ end
431
+ ret = ret.paginate(:page => params[:page], :per_page => per_page, :total_entries => total_count)
413
432
  end
414
- ret = ret.paginate(:page => params[:page], :per_page => per_page, :total_entries => mysql_count.first[:count_all])
415
433
  else
416
434
  ret = ret.paginate(:page => params[:page], :per_page => per_page, :total_entries => total_count)
417
435
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: it-logica-application-backbone
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.24
4
+ version: 1.0.25
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-09-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: htmlentities
16
- requirement: &77771630 !ruby/object:Gem::Requirement
16
+ requirement: &72605220 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *77771630
24
+ version_requirements: *72605220
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: shoulda
27
- requirement: &77771290 !ruby/object:Gem::Requirement
27
+ requirement: &72604880 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *77771290
35
+ version_requirements: *72604880
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdoc
38
- requirement: &77771030 !ruby/object:Gem::Requirement
38
+ requirement: &72604600 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '3.12'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *77771030
46
+ version_requirements: *72604600
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &77770710 !ruby/object:Gem::Requirement
49
+ requirement: &72604290 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.1.0
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *77770710
57
+ version_requirements: *72604290
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &77770230 !ruby/object:Gem::Requirement
60
+ requirement: &72603880 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.8.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *77770230
68
+ version_requirements: *72603880
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
- requirement: &77769710 !ruby/object:Gem::Requirement
71
+ requirement: &72603330 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *77769710
79
+ version_requirements: *72603330
80
80
  description: longer description of your gem
81
81
  email: ladislav.smola@it-logica.cz
82
82
  executables: []
@@ -576,7 +576,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
576
576
  version: '0'
577
577
  segments:
578
578
  - 0
579
- hash: 349871475
579
+ hash: 779687315
580
580
  required_rubygems_version: !ruby/object:Gem::Requirement
581
581
  none: false
582
582
  requirements: