Permalink
Browse files

Revert "Merge pull request #382 from semaperepelitsa/grouped_collection"

This reverts commit 5b2f067, reversing
changes made to 9ff998f.

This is going to be applied to master only, sorry.
  • Loading branch information...
1 parent 5b2f067 commit c7c8461189c0516b18790fcc01ab464b556f0753 @carlosantoniodasilva carlosantoniodasilva committed Jan 24, 2012
@@ -12,7 +12,6 @@ class FormBuilder < ActionView::Helpers::FormBuilder
map_type :integer, :decimal, :float, :to => SimpleForm::Inputs::NumericInput
map_type :range, :to => SimpleForm::Inputs::RangeInput
map_type :select, :radio, :check_boxes, :to => SimpleForm::Inputs::CollectionInput
- map_type :grouped_select, :to => SimpleForm::Inputs::GroupedCollectionInput
map_type :date, :time, :datetime, :to => SimpleForm::Inputs::DateTimeInput
map_type :country, :time_zone, :to => SimpleForm::Inputs::PriorityInput
map_type :boolean, :to => SimpleForm::Inputs::BooleanInput
View
@@ -1,18 +1,17 @@
module SimpleForm
module Inputs
- autoload :Base, 'simple_form/inputs/base'
- autoload :BlockInput, 'simple_form/inputs/block_input'
- autoload :BooleanInput, 'simple_form/inputs/boolean_input'
- autoload :CollectionInput, 'simple_form/inputs/collection_input'
- autoload :GroupedCollectionInput, 'simple_form/inputs/grouped_collection_input'
- autoload :DateTimeInput, 'simple_form/inputs/date_time_input'
- autoload :FileInput, 'simple_form/inputs/file_input'
- autoload :HiddenInput, 'simple_form/inputs/hidden_input'
- autoload :NumericInput, 'simple_form/inputs/numeric_input'
- autoload :PasswordInput, 'simple_form/inputs/password_input'
- autoload :PriorityInput, 'simple_form/inputs/priority_input'
- autoload :RangeInput, 'simple_form/inputs/range_input'
- autoload :StringInput, 'simple_form/inputs/string_input'
- autoload :TextInput, 'simple_form/inputs/text_input'
+ autoload :Base, 'simple_form/inputs/base'
+ autoload :BlockInput, 'simple_form/inputs/block_input'
+ autoload :BooleanInput, 'simple_form/inputs/boolean_input'
+ autoload :CollectionInput, 'simple_form/inputs/collection_input'
+ autoload :DateTimeInput, 'simple_form/inputs/date_time_input'
+ autoload :FileInput, 'simple_form/inputs/file_input'
+ autoload :HiddenInput, 'simple_form/inputs/hidden_input'
+ autoload :NumericInput, 'simple_form/inputs/numeric_input'
+ autoload :PasswordInput, 'simple_form/inputs/password_input'
+ autoload :PriorityInput, 'simple_form/inputs/priority_input'
+ autoload :RangeInput, 'simple_form/inputs/range_input'
+ autoload :StringInput, 'simple_form/inputs/string_input'
+ autoload :TextInput, 'simple_form/inputs/text_input'
end
end
@@ -58,7 +58,9 @@ def detect_collection_methods
[label, value]
end
- def detect_common_display_methods(collection_classes = detect_collection_classes)
+ def detect_common_display_methods
+ collection_classes = detect_collection_classes
+
if collection_classes.include?(Array)
{ :label => :first, :value => :last }
elsif collection_includes_basic_objects?(collection_classes)
@@ -71,8 +73,8 @@ def detect_common_display_methods(collection_classes = detect_collection_classes
end
end
- def detect_collection_classes(some_collection = collection)
- some_collection.map { |e| e.class }.uniq
+ def detect_collection_classes
+ collection.map { |e| e.class }.uniq
end
def collection_includes_basic_objects?(collection_classes)
@@ -1,38 +0,0 @@
-module SimpleForm
- module Inputs
- class GroupedCollectionInput < CollectionInput
- def input
- label_method, value_method = detect_collection_methods
- @builder.grouped_collection_select(attribute_name, group_collection,
- group_method, group_label_method, value_method, label_method,
- input_options, input_html_options)
- end
-
- private
-
- def group_collection
- @group_collection ||= options.delete(:collection)
- end
-
- # Sample collection
- def collection
- @collection ||= group_collection.first.try(:send, group_method)
- end
-
- def group_method
- @group_method ||= options.delete(:group_method)
- end
-
- def group_label_method
- label = options.delete(:group_label_method)
-
- unless label
- common_method_for = detect_common_display_methods( detect_collection_classes(group_collection) )
- label = common_method_for[:label]
- end
-
- label
- end
- end
- end
-end
View
@@ -976,24 +976,6 @@ def with_input_for(object, attribute_name, type, options={})
assert_no_select 'select[required]'
end
- # GroupedCollectionInput
- test 'input should have grouped options' do
- with_input_for @user, :name, :grouped_select,
- :collection => [['Authors', ['Jose', 'Carlos']], ['General', ['Bob', 'John']]],
- :group_method => :last
- assert_select 'select.grouped_select#user_name' do
- assert_select 'optgroup[label=Authors]' do
- assert_select 'option', 'Jose'
- assert_select 'option', 'Carlos'
- end
-
- assert_select 'optgroup[label=General]' do
- assert_select 'option', 'Bob'
- assert_select 'option', 'John'
- end
- end
- end
-
# With no object
test 'input should be generated properly when object is not present' do
with_input_for :project, :name, :string

4 comments on commit c7c8461

Why? Isn't it ready for this branch? I mean it works right?

Collaborator

rafaelfranca replied Mar 22, 2012

This branch will accept only bug fixes. New features need to be added in the master branch. So this feature is only available in SimpleForm >= 2.0.0

Ok, thanks. Anything to read about how to upgrade to 2.0?

Please sign in to comment.