Module | Erubis::Helpers::RailsFormHelper |
In: |
erubis/helpers/rails_form_helper.rb
|
# File erubis/helpers/rails_form_helper.rb, line 107 def _pp_check_box_checked?(value, checked_value) return ActionView::Helpers::InstanceTag::check_box_checked?(value, checked_value) end
# File erubis/helpers/rails_form_helper.rb, line 47 def _pp_error_tags(value) return value ? ['<div class="fieldWithErrors">', '</div>'] : ['', ''] end
# File erubis/helpers/rails_form_helper.rb, line 118 def _pp_radio_button_checked?(value, tag_value) return ActionView::Helpers::InstanceTag::radio_button_checked?(value, tag_value) end
# File erubis/helpers/rails_form_helper.rb, line 51 def _pp_remove_error_div(s) s.sub!(/\A<div class="fieldWithErrors">(.*)<\/div>\z/, '\1') return s end
# File erubis/helpers/rails_form_helper.rb, line 122 def _pp_select(object, method, collection, priority_collection, options={}, html_options={}) return pp_error_on(object, method) do s = "" ## start tag s << "<select id=\"#{object}_#{method}\" name=\"#{object}[#{method}]\"" for key, val in html_options: s << " #{key}=\"#{val}\"" end s << ">\n" ## selected table key = options.key?(:value) ? :value : (options.key?('value') ? 'value' : nil) if key.nil? ; selected = "@#{object}.#{method}" elsif (val=options[key]).nil? ; selected = nil elsif val =~ /\A<%=(.*)%>\z/ ; selected = $1 else ; selected = val.inspect end s << "<% _table = {#{selected}=>' selected=\"selected\"'} %>\n" if selected ## <option> tags if options[:include_blank] || options['include_blank'] s << "<option value=\"\"></option>\n" end unless priority_collection.blank? _pp_select_options(s, priority_collection, selected, 'delete') s << "<option value=\"\">-------------</option>\n" end _pp_select_options(s, collection, selected, '[]') ## end tag s << "</select>" s end end
# File erubis/helpers/rails_form_helper.rb, line 154 def _pp_select_options(s, collection, selected, operator) for item in collection value, text = item.is_a?(Array) ? item : [item, item] if !selected t = '' elsif operator == 'delete' t = "<%= _table.delete(#{value.inspect}) %>" else t = "<%= _table[#{value.inspect}] %>" end s << "<option value=\"#{h value}\"#{t}>#{h text}</option>\n" end end
# File erubis/helpers/rails_form_helper.rb, line 100 def pp_check_box(object_name, method, options={}, checked_value="1", unchecked_value="0") s = check_box(object_name, method, options, checked_value, unchecked_value) s.sub!(/\schecked=\"checked\"/, '') s.sub!(/type="checkbox"/, "\\&<%= _pp_check_box_checked?(@#{object_name}.#{method}, #{checked_value.inspect}) ? ' checked=\"checked\"' : '' %>") return pp_error_on(object_name, method) { _pp_remove_error_div(s) } end
# File erubis/helpers/rails_form_helper.rb, line 172 def pp_collection_select(object, method, collection, value_method, text_method, options={}, html_options={}) collection2 = collection.collect { |e| [e.__send__(value_method), e.__send__(text_method)] } return _pp_select(object, method, collection2, nil, options, html_options) end
# File erubis/helpers/rails_form_helper.rb, line 179 def pp_country_select(object, method, priority_countries=nil, options={}, html_options={}) collection = ActionView::Helpers::FormOptionsHelper::COUNTRIES return _pp_select(object, method, collection, priority_countries, options, html_options) end
# File erubis/helpers/rails_form_helper.rb, line 38 def pp_error_on(object_name, method) s = '' s << "<% _stag, _etag = _pp_error_tags(@#{object_name}.errors.on('#{method}')) %>" s << "<%= _stag %>" s << yield(object_name, method) s << "<%= _etag %>" return s end
# File erubis/helpers/rails_form_helper.rb, line 92 def pp_file_field(object_name, method, options={}) return pp_tag_helper(:file_field, object_name, method, options) end
# File erubis/helpers/rails_form_helper.rb, line 70 def pp_form_tag(url_for_options={}, options={}, *parameters_for_url, &block) return form_tag(url_for_options, options, *parameters_for_url, &block) end
# File erubis/helpers/rails_form_helper.rb, line 88 def pp_hidden_field(object_name, method, options={}) return pp_tag_helper(:hidden_field, object_name, method, options) end
# File erubis/helpers/rails_form_helper.rb, line 194 def pp_image_submit_tag(source, options={}) return image_submit_tag(source, options) end
# File erubis/helpers/rails_form_helper.rb, line 84 def pp_password_field(object_name, method, options={}) return pp_tag_helper(:password_field, object_name, method, options) end
# File erubis/helpers/rails_form_helper.rb, line 111 def pp_radio_button(object_name, method, tag_value, options={}) s = radio_button(object_name, method, tag_value, options) s.sub!(/\schecked=\"checked\"/, '') s.sub!(/type="radio"/, "\\&<%= _pp_radio_button_checked?(@#{object_name}.#{method}, #{tag_value.inspect}) ? ' checked=\"checked\"' : '' %>") return pp_error_on(object_name, method) { _pp_remove_error_div(s) } end
# File erubis/helpers/rails_form_helper.rb, line 31 def pp_render_partial(basename) basename = "_#{basename}" unless basename[0] == ?_ filename = pp_template_filename(basename) preprocessor = _create_preprocessor(File.read(filename)) return preprocessor.evaluate(_preprocessing_context_object()) end
# File erubis/helpers/rails_form_helper.rb, line 168 def pp_select(object, method, collection, options={}, html_options={}) return _pp_select(object, method, collection, nil, options, html_options) end
# File erubis/helpers/rails_form_helper.rb, line 190 def pp_submit_tag(value="Save changes", options={}) return submit_tag(value, options) end
# File erubis/helpers/rails_form_helper.rb, line 56 def pp_tag_helper(helper, object_name, method, options={}) if object_name.is_a?(ActionView::Helpers::FormHelper) object_name = object_name.object_name end unless options.key?(:value) || options.key?('value') options['value'] = _?("h @#{object_name}.#{method}") end #$stderr.puts "*** debug: pp_tag_helper(): options=#{options.inspect}" return pp_error_on(object_name, method) { s = __send__(helper, object_name, method, options) _pp_remove_error_div(s) } end
# File erubis/helpers/rails_form_helper.rb, line 24 def pp_template_filename(basename) fname = "#{RAILS_ROOT}/app/views/#{controller.controller_name}/#{basename}.html.erb" return fname if test(?f, fname) return "#{RAILS_ROOT}/app/views/#{controller.controller_name}/#{basename}.rhtml" end
# File erubis/helpers/rails_form_helper.rb, line 20 def pp_template_filename(basename) return "#{RAILS_ROOT}/app/views/#{controller.controller_name}/#{basename}.rhtml" end
# File erubis/helpers/rails_form_helper.rb, line 96 def pp_text_area(object_name, method, options={}) return pp_tag_helper(:text_area, object_name, method, options) end
# File erubis/helpers/rails_form_helper.rb, line 80 def pp_text_field(object_name, method, options={}) return pp_tag_helper(:text_field, object_name, method, options) end
# File erubis/helpers/rails_form_helper.rb, line 184 def pp_time_zone_select(object, method, priority_zones=nil, options={}, html_options={}) model = options[:model] || options['model'] || TimeZone collection = model.all.collect { |e| [e.name, e.to_s] } return _pp_select(object, method, collection, priority_zones, options, html_options) end