Randy Walker
2006-Nov-04 19:17 UTC
in_place_editor_field submitOnBlur & okButton=false options?
I have a few in_place_editor_fields working fine. I can access some of the script.aculo.us options such as :cols, :save_text, :cancel_text, but how do I access the okButton = false & submitOnBlur options? Basically, I want no submit button, a cancel button, and the ability to submit when I tab out of the field. Is this doable without writing a helper? (avoiding digging that deep so early on in my rails learning) Script.aculo.us wiki shows a variety of options: okButton okText cancelLink cancelText savingText clickToEditText <...snip...> onBlueSubmit If I can pass :save_text onto scriptaculous, why can''t I also pass the other options as well? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Randy Walker
2006-Nov-05 18:03 UTC
Re: in_place_editor_field submitOnBlur & okButton=false opti
> If I can pass :save_text onto scriptaculous, why can''t I also passthe> other options as well?I found a post by Ola Bini (http://ola-bini.blogspot.com) who had posted a solution that created a new, more extended in_place_editor & in_place_editor_text helper. It''s probably the way it was displayed in the webpage, but it had something in the url option that threw an error, so I removed that option and it started working. I then added the onBlurSubmit (not Blue as I posted above) option and it was pretty painless. :) The updated code with onBlurSubmit is posted below. Now that I had access to the other scriptaculous functions, I found that onBlurSubmit didn''t play well with Safari (2.04). It seems that once I tab out of the field, it does update the column in the database, but then it gets locked up in a tight little loop and eventually causes Safari to quit. Only thing I can think of is that once it looses focus, it may get focus somehow and then loose it again and back and forth until it crashes. It seems to work ok in Firefox (1.5.0.7) but I live in Safari so I chose to not use onBlurSubmit. I was able to remove the submit button with okButton = ''false'' and that made things look a lot nicer. QUESTION: Does anyone know how to change the margins & font of the field itself? Scriptaculous lists the class of the editing form as ''inplaceeditor-form'' but any CSS I create only seems to apply to the cancel text (except for text-decoration or color?!?) and not to the field itself. Here is the complete edited helper code that lives in /helpers/application_helper.rb to extend in_place_editor_field. So you would now call ''in_place_editor_field_ext'' to get this new routine: ----------------------------------------------- def in_place_editor_ext(field_id, options = { }) function = "new Ajax.InPlaceEditor(" function << "''#{field_id}'', " function << "''#{url_for(options[:url])}''" js_options = {} js_options[''okButton''] = options[:ok_button] if options[:ok_button] js_options[''cancelLink''] = options[:cancel_link] if options[:cancel_link] js_options[''savingText''] = %(''#{options[:saving_text]}'') if options[:saving_text] js_options[''formClassName''] = %(''#{options[:form_class_name]}'') if options[:form_class_name] js_options[''clickToEditText''] = %(''#{options[:click_to_edit_text]}'') if options[:click_to_edit_text] js_options[''highlightcolor''] = %(''#{options[:highlight_color]}'') if options[:highlight_color] js_options[''highlightendcolor''] = %(''#{options[:highlight_end_color]}'') if options[:highlight_end_color] js_options[''cancelText''] = %(''#{options[:cancel_text]}'') if options[:cancel_text] js_options[''okText''] = %(''#{options[:save_text]}'') if options[:save_text] js_options[''loadingText''] = %(''#{options[:loading_text]}'') if options[:loading_text] js_options[''rows''] = options[:rows] if options[:rows] js_options[''cols''] = options[:cols] if options[:cols] js_options[''size''] = options[:size] if options[:size] js_options[''ajaxOptions''] = options[:options] if options[:options] js_options[''evalScripts''] = options[:script] if options[:script] js_options[''callback''] = "function(form) { return #{options[:with]}}" if options[:with] js_options[''submitOnBlur''] = options[:submit_on_blur] if options[:submit_on_blur] function << ('', '' + options_for_javascript(js_options)) unless js_options.empty? function << '')'' javascript_tag(function) end def in_place_editor_field_ext(object, method, tag_options = {}, in_place_editor_options = {}) tag = ::ActionView::Helpers::InstanceTag.new(object, method, self) tag_options = {:tag => "span", :id => "#{object}_#{method}_#{tag.object.id}_in_place_editor", :class => "in_place_editor_field"}.merge!(tag_options) in_place_editor_options[:url] = in_place_editor_options[:url] || url_for({ :action => "set_#{object}_#{method}", :id => tag.object.id }) tag.to_content_tag(tag_options.delete(:tag), tag_options) + in_place_editor_ext(tag_options[:id], in_place_editor_options) end -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
ggualberto-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2006-Nov-08 23:10 UTC
Re: in_place_editor_field submitOnBlur & okButton=false opti
This is great! I was going to put together the same thing myself today. Thanks for saving me some time. g- --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---