README.md in abracadabra-1.1.0 vs README.md in abracadabra-1.1.1

- old
+ new

@@ -1,10 +1,10 @@ # Abracadabra The gem that swaps out text with a fully-compliant Rails form in one click. -Much of the concepts and html mark-up were taken from the awesome [x-editable](http://vitalets.github.io/x-editable/) plugin and the Rails version of this, [x-editable-rails](https://github.com/werein/x-editable-rails). However, this was written from the ground up and uses fully Rails-compliant forms without hacking into x-editable's core files, or overriding them. +Much of the concepts and html mark-up were taken from the awesome [x-editable](http://vitalets.github.io/x-editable/) plugin and the Rails version of this, [x-editable-rails](https://github.com/werein/x-editable-rails). However, this was written from the ground up and uses fully Rails-compliant forms without hacking into x-editable's core files or overriding them. ## Installation Add this line to your application's Gemfile: @@ -18,13 +18,14 @@ $ gem install abracadabra ## Usage -* Requires JQuery, JQuery-UJS (rails.js), Bootstrap and Font-Awesome (unless you override the framework specific classes with CSS) +* Requires JQuery and JQuery-UJS (rails.js) +* Bootstrap and Font-Awesome are the default, but you can override the CSS and/or customize the icon classes (see [Configuration](#configuration)) -In your `application.css`, AFTER Bootstrap (currently only supports Bootstrap), include the css file: +In your `application.css`, AFTER Bootstrap, include the css file: ```css *= require abracadabra ``` @@ -84,23 +85,23 @@ remote: true # Description: Same as link_to's `remote: true`, form submits via AJAX. # Default: true +type: :js # IMPORTANT: `type` will be ignored if `remote = false` is used. HTML is the default # in Rails for standard form submissions. -type: :js # Description: Content type -- responds to any content type (:js and :script can both be # used to respond with Javascript). # Default: :script (:js) -# IMPORTANT: On ajax:success, this will remove the specific abracadabra instance from -# the DOM entirely. ALSO, this will be remote if the main form is remote. deletable: true -# Boolean: DELETE will be submitted without a confirmation dialog # OR deletable: "Are you sure?" +# IMPORTANT: On ajax:success, this will remove the specific abracadabra instance from +# the DOM entirely. ALSO, this will be remote if the main form is remote. +# Boolean: DELETE will be submitted without a confirmation dialog # String: Confirmation dialog, with the string as the message, will be displayed after # clicking the DELETE link # Description: Puts a link to DELETE the object (obviously, it always uses DELETE as # the HTTP verb). # Default: false @@ -112,17 +113,17 @@ deletable_type: :js # Description: Deletable content type -- responds to any content type (:js and :script # can both be used to respond with Javascript). # Default: :script (:js) -# Boolean: Open the next abracadabra instance after successful form submission (main -# form, not the DELETE link's submission) by using `.abracadabra` as the selector. tab_to_next: true # OR tab_to_next: ".my-class" -# IMPORTANT: If this is a class, this abracadabra instance MUST have the same class -# as well. +# IMPORTANT: If use a string, and it's a class, this abracadabra instance MUST have the same +# class as well. +# Boolean: Open the next abracadabra instance after successful form submission (main +# form, not the DELETE link's submission) by using `.abracadabra` as the selector. # String: The class or ID of the next abracadabra instance to open on successful form # submission. Use `.` before a class selector or `#` before a an ID selector just as you # would when finding an element in Javascript. # Description: Puts a link to DELETE the object (obviously, it always uses DELETE as the # HTTP verb). @@ -130,10 +131,30 @@ submit_on_blur: true # Description: Submit form when focus leaves the input, rather than simply closing it # out. # Default: false + +### EXAMPLE ### +# Simple +click_to_edit @friend, path: friend_path(@friend), attribute: :name, deletable: true + +# Using a bunch of options +click_to_edit @friend, + path: friend_path(@friend), + attribute: :name, + class: "my-abracadabra", + id: "my-abracadabra-#{index}", + value: @friend.name.titleize, + method: :put, + buttonless: true, + type: :json, + deletable: "Are you sure?", + deletable_path: user_friends_path(@friend), + deletable_type: :json, + tab_to_next: "#my-abracadabra-#{index+1}", + submit_on_blur: true ``` ## Configuration Abracadabra allows some customization. If you would like to change what icon classes are used for the `submit`, `cancel`, and `delete` icons, you can change them globally. @@ -151,13 +172,9 @@ ## Future & Contributing 1. I would love anyone to add date pickers and other alternate field types to this. 2. I would love the different Bootstrap classes to be overridable with an initializer (config/abracadabra.rb), rather than Javascript (not sure if this is even possible), so that any framework could be used. Same with the Font-Awesome button classes. - -3. I would love for a `buttons: false` option to be offered that would allow only `Tab`, `Enter` and `Escape` to submit or cancel the form submission. - -4. I would love for a `tabbable: true` option to be offered that would tab to the next text input with the `abracadabra` class. Any other ideas, feel free to contribute! 1. Fork it ( http://github.com/TrevorHinesley/abracadabra/fork ) 2. Create your feature branch (`git checkout -b my-new-feature`)