netzke-basepack 0.7.2 → 0.7.3
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/CHANGELOG.rdoc +5 -0
- data/README.md +1 -1
- data/lib/netzke/basepack/data_accessor.rb +6 -6
- data/lib/netzke/basepack/grid_panel/columns.rb +1 -1
- data/lib/netzke/basepack/grid_panel/services.rb +1 -0
- data/lib/netzke/basepack/version.rb +1 -1
- data/netzke-basepack.gemspec +3 -2
- data/test/basepack_test_app/app/components/book_grid.rb +3 -0
- data/test/basepack_test_app/app/components/book_grid_filtering.rb +10 -0
- data/test/basepack_test_app/app/models/book.rb +2 -0
- data/test/basepack_test_app/features/grid_panel_filters.feature +20 -8
- data/test/basepack_test_app/features/grid_sorting.feature +12 -4
- metadata +9 -8
data/CHANGELOG.rdoc
CHANGED
data/README.md
CHANGED
@@ -163,9 +163,9 @@ module Netzke
|
|
163
163
|
assoc, method = v["field"].split('__')
|
164
164
|
if method
|
165
165
|
assoc = data_class.reflect_on_association(assoc.to_sym)
|
166
|
-
field = [assoc.klass.table_name, method].join('.')
|
166
|
+
field = [assoc.klass.table_name, method].join('.')
|
167
167
|
else
|
168
|
-
field = assoc.
|
168
|
+
field = [table_name, assoc].join('.')
|
169
169
|
end
|
170
170
|
|
171
171
|
value = v["value"]
|
@@ -174,15 +174,15 @@ module Netzke
|
|
174
174
|
|
175
175
|
case v["type"]
|
176
176
|
when "string"
|
177
|
-
res = res.where(["#{
|
177
|
+
res = res.where(["#{field} like ?", "%#{value}%"])
|
178
178
|
when "date"
|
179
179
|
# convert value to the DB date
|
180
180
|
value.match /(\d\d)\/(\d\d)\/(\d\d\d\d)/
|
181
|
-
res = res.where("#{
|
181
|
+
res = res.where("#{field} #{op} ?", "#{$3}-#{$1}-#{$2}")
|
182
182
|
when "numeric"
|
183
|
-
res = res.where(["#{
|
183
|
+
res = res.where(["#{field} #{op} ?", value])
|
184
184
|
else
|
185
|
-
res = res.where(["#{
|
185
|
+
res = res.where(["#{field} = ?", value])
|
186
186
|
end
|
187
187
|
end
|
188
188
|
|
@@ -214,7 +214,7 @@ module Netzke
|
|
214
214
|
end
|
215
215
|
|
216
216
|
def set_default_sortable(c)
|
217
|
-
c[:sortable] = !c[:virtual] if c[:sortable].nil? # TODO: optimize - don't set it to false
|
217
|
+
c[:sortable] = !c[:virtual] || c[:sorting_scope] if c[:sortable].nil? # TODO: optimize - don't set it to false
|
218
218
|
end
|
219
219
|
|
220
220
|
def set_default_filterable(c)
|
@@ -211,6 +211,7 @@ module Netzke
|
|
211
211
|
column = columns.detect { |c| c[:name] == sort_params["property"] }
|
212
212
|
if column.has_key?(:sorting_scope)
|
213
213
|
relation = relation.send(column[:sorting_scope].to_sym, dir.to_sym)
|
214
|
+
::Rails.logger.debug "!!! relation: #{relation.inspect}\n"
|
214
215
|
else
|
215
216
|
relation = if method.nil?
|
216
217
|
relation.order("#{assoc} #{dir}")
|
data/netzke-basepack.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{netzke-basepack}
|
8
|
-
s.version = "0.7.
|
8
|
+
s.version = "0.7.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{Sergei Kozlov}]
|
12
|
-
s.date = %q{2011-10-
|
12
|
+
s.date = %q{2011-10-23}
|
13
13
|
s.description = %q{A set of full-featured extendible Netzke components (such as FormPanel, GridPanel, Window, BorderLayoutPanel, etc) which can be used as building block for your RIA}
|
14
14
|
s.email = %q{sergei@playcode.nl}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -105,6 +105,7 @@ Gem::Specification.new do |s|
|
|
105
105
|
"test/basepack_test_app/app/components/book_form_with_defaults.rb",
|
106
106
|
"test/basepack_test_app/app/components/book_form_with_nested_attributes.rb",
|
107
107
|
"test/basepack_test_app/app/components/book_grid.rb",
|
108
|
+
"test/basepack_test_app/app/components/book_grid_filtering.rb",
|
108
109
|
"test/basepack_test_app/app/components/book_grid_loader.rb",
|
109
110
|
"test/basepack_test_app/app/components/book_grid_with_column_actions.rb",
|
110
111
|
"test/basepack_test_app/app/components/book_grid_with_custom_columns.rb",
|
@@ -6,4 +6,7 @@ class BookGrid < Netzke::Basepack::GridPanel
|
|
6
6
|
add_form_config :class_name => "BookForm"
|
7
7
|
edit_form_config :class_name => "BookForm"
|
8
8
|
multi_edit_form_config :class_name => "BookForm"
|
9
|
+
|
10
|
+
# We need to specify how we want to sort on this virtual column:
|
11
|
+
override_column :author__name, :sorting_scope => :sorted_by_author_name
|
9
12
|
end
|
@@ -4,15 +4,18 @@ Feature: Grid panel filters
|
|
4
4
|
I want feature
|
5
5
|
|
6
6
|
Background:
|
7
|
-
Given
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
7
|
+
Given an author exists with first_name: "Vladimir", last_name: "Nabokov"
|
8
|
+
And a book exists with author: that author, title: "Lolita", exemplars: 5, digitized: false, notes: "To read", last_read_at: "2010-12-23"
|
9
|
+
|
10
|
+
And an author exists with first_name: "Carlos", last_name: "Castaneda"
|
11
|
+
And a book exists with author: that author, title: "Journey to Ixtlan", exemplars: 10, digitized: true, notes: "A must-read", last_read_at: "2011-04-25"
|
12
|
+
|
13
|
+
And an author exists with first_name: "David", last_name: "Allen"
|
14
|
+
And a book exists with author: that author, title: "Getting Things Done", exemplars: 3, digitized: true, notes: "Productivity", last_read_at: "2011-04-26"
|
12
15
|
|
13
16
|
@javascript
|
14
17
|
Scenario: Numeric and text filter
|
15
|
-
When I go to the
|
18
|
+
When I go to the BookGridFiltering test page
|
16
19
|
And I enable filter on column "exemplars" with value "{gt:6}"
|
17
20
|
Then the grid should show 1 records
|
18
21
|
|
@@ -24,11 +27,20 @@ Scenario: Numeric and text filter
|
|
24
27
|
And I enable filter on column "exemplars" with value "{eq:6}"
|
25
28
|
Then the grid should show 0 records
|
26
29
|
|
27
|
-
#
|
30
|
+
# NOTE: due to some mystery, this wouldn't work in a separate scenario (e.g. "Text filter")
|
31
|
+
# That is, the filter just wouldn't get set.
|
28
32
|
When I clear all filters in the grid
|
29
33
|
And I enable filter on column "notes" with value "'read'"
|
30
34
|
Then the grid should show 2 records
|
31
35
|
|
36
|
+
When I clear all filters in the grid
|
37
|
+
And I enable filter on column "author__first_name" with value "'d'"
|
38
|
+
Then the grid should show 2 records
|
39
|
+
|
40
|
+
When I clear all filters in the grid
|
41
|
+
And I enable filter on column "author__first_name" with value "'carl'"
|
42
|
+
Then the grid should show 1 records
|
43
|
+
|
32
44
|
When I clear all filters in the grid
|
33
45
|
And I enable date filter on column "last_read_at" with value "on 04/25/2011"
|
34
46
|
Then the grid should show 1 records
|
@@ -52,7 +64,7 @@ Scenario: Numeric and text filter
|
|
52
64
|
|
53
65
|
@javascript
|
54
66
|
Scenario: Boolean filter
|
55
|
-
When I go to the
|
67
|
+
When I go to the BookGridFiltering test page
|
56
68
|
And I enable filter on column "digitized" with value "false"
|
57
69
|
Then the grid should show 1 records
|
58
70
|
|
@@ -22,11 +22,11 @@ Feature: Grid sorting
|
|
22
22
|
|
23
23
|
@javascript
|
24
24
|
Scenario: Sorting on association column
|
25
|
-
Given an author exists with first_name: "Herman"
|
25
|
+
Given an author exists with first_name: "Herman", last_name: "Hesse"
|
26
26
|
And a book exists with title: "Damian", author: that author
|
27
|
-
And an author exists with first_name: "Carlos"
|
27
|
+
And an author exists with first_name: "Carlos", last_name: "Castaneda"
|
28
28
|
And a book exists with title: "Journey", author: that author
|
29
|
-
And an author exists with first_name: "John"
|
29
|
+
And an author exists with first_name: "John", last_name: "Fowles"
|
30
30
|
And a book exists with title: "Magus", author: that author
|
31
31
|
|
32
32
|
When I go to the BookGridWithCustomColumns test page
|
@@ -34,6 +34,14 @@ Feature: Grid sorting
|
|
34
34
|
And I sleep 1 second
|
35
35
|
Then the grid should have records sorted by "Author first name"
|
36
36
|
|
37
|
-
|
37
|
+
When I click on column "Author first name"
|
38
38
|
And I sleep 1 second
|
39
39
|
Then the grid should have records sorted by "Author first name" desc
|
40
|
+
|
41
|
+
When I go to the BookGrid test page
|
42
|
+
And I click on column "Author name"
|
43
|
+
And I sleep 1 second
|
44
|
+
Then the grid should have records sorted by "Author name"
|
45
|
+
When I click on column "Author name"
|
46
|
+
And I sleep 1 second
|
47
|
+
Then the grid should have records sorted by "Author name" desc
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netzke-basepack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-23 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: netzke-core
|
16
|
-
requirement: &
|
16
|
+
requirement: &70314345257960 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.7.4
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70314345257960
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: will_paginate
|
27
|
-
requirement: &
|
27
|
+
requirement: &70314345257080 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.0.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70314345257080
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: acts_as_list
|
38
|
-
requirement: &
|
38
|
+
requirement: &70314345256340 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: 0.1.4
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70314345256340
|
47
47
|
description: A set of full-featured extendible Netzke components (such as FormPanel,
|
48
48
|
GridPanel, Window, BorderLayoutPanel, etc) which can be used as building block for
|
49
49
|
your RIA
|
@@ -142,6 +142,7 @@ files:
|
|
142
142
|
- test/basepack_test_app/app/components/book_form_with_defaults.rb
|
143
143
|
- test/basepack_test_app/app/components/book_form_with_nested_attributes.rb
|
144
144
|
- test/basepack_test_app/app/components/book_grid.rb
|
145
|
+
- test/basepack_test_app/app/components/book_grid_filtering.rb
|
145
146
|
- test/basepack_test_app/app/components/book_grid_loader.rb
|
146
147
|
- test/basepack_test_app/app/components/book_grid_with_column_actions.rb
|
147
148
|
- test/basepack_test_app/app/components/book_grid_with_custom_columns.rb
|