Permalink
Browse files

revised conventions and minor details in scriptaculous_helper.rb

  • Loading branch information...
1 parent 7e8b2b6 commit d79becdf21fd85432eceead107c37ccb5dea33c1 @fxn fxn committed May 21, 2008
Showing with 82 additions and 84 deletions.
  1. +82 −84 actionpack/lib/action_view/helpers/scriptaculous_helper.rb
@@ -26,9 +26,9 @@ module ScriptaculousHelper
# :url => { :action => "reload" },
# :complete => visual_effect(:highlight, "posts", :duration => 0.5)
#
- # If no element_id is given, it assumes "element" which should be a local
+ # If no +element_id+ is given, it assumes "element" which should be a local
# variable in the generated JavaScript execution context. This can be
- # used for example with drop_receiving_element:
+ # used for example with +drop_receiving_element+:
#
# <%= drop_receiving_element (...), :loading => visual_effect(:fade) %>
#
@@ -79,60 +79,60 @@ def visual_effect(name, element_id = false, js_options = {})
#
# Additional +options+ are:
#
- # <tt>:format</tt>:: A regular expression to determine what to send
- # as the serialized id to the server (the default
- # is <tt>/^[^_]*_(.*)$/</tt>).
- #
- # <tt>:constraint</tt>:: Whether to constrain the dragging to either <tt>:horizontal</tt>
- # or <tt>:vertical</tt> (or false to make it unconstrained).
- #
- # <tt>:overlap</tt>:: Calculate the item overlap in the <tt>:horizontal</tt> or
- # <tt>:vertical</tt> direction.
- #
- # <tt>:tag</tt>:: Which children of the container element to treat as
- # sortable (default is <tt>li</tt>).
- #
- # <tt>:containment</tt>:: Takes an element or array of elements to treat as
- # potential drop targets (defaults to the original
- # target element).
- #
- # <tt>:only</tt>:: A CSS class name or arry of class names used to filter
- # out child elements as candidates.
- #
- # <tt>:scroll</tt>:: Determines whether to scroll the list during drag
- # operations if the list runs past the visual border.
- #
- # <tt>:tree</tt>:: Determines whether to treat nested lists as part of the
- # main sortable list. This means that you can create multi-
- # layer lists, and not only sort items at the same level,
- # but drag and sort items between levels.
- #
- # <tt>:hoverclass</tt>:: If set, the Droppable will have this additional CSS class
- # when an accepted Draggable is hovered over it.
- #
- # <tt>:handle</tt>:: Sets whether the element should only be draggable by an
- # embedded handle. The value may be a string referencing a
- # CSS class value (as of script.aculo.us V1.5). The first
- # child/grandchild/etc. element found within the element
- # that has this CSS class value will be used as the handle.
- #
- # <tt>:ghosting</tt>:: Clones the element and drags the clone, leaving the original
- # in place until the clone is dropped (default is <tt>false</tt>).
- #
- # <tt>:dropOnEmpty</tt>:: If set to true, the Sortable container will be made into
- # a Droppable, that can receive a Draggable (as according to
- # the containment rules) as a child element when there are no
- # more elements inside (default is <tt>false</tt>).
- #
- # <tt>:onChange</tt>:: Called whenever the sort order changes while dragging. When
- # dragging from one Sortable to another, the callback is
- # called once on each Sortable. Gets the affected element as
- # its parameter.
- #
- # <tt>:onUpdate</tt>:: Called when the drag ends and the Sortable's order is
- # changed in any way. When dragging from one Sortable to
- # another, the callback is called once on each Sortable. Gets
- # the container as its parameter.
+ # * <tt>:format</tt> - A regular expression to determine what to send
+ # as the serialized id to the server (the default
+ # is <tt>/^[^_]*_(.*)$/</tt>).
+ #
+ # * <tt>:constraint</tt> - Whether to constrain the dragging to either <tt>:horizontal</tt>
+ # or <tt>:vertical</tt> (or false to make it unconstrained).
+ #
+ # * <tt>:overlap</tt> - Calculate the item overlap in the <tt>:horizontal</tt> or
+ # <tt>:vertical</tt> direction.
+ #
+ # * <tt>:tag</tt> - Which children of the container element to treat as
+ # sortable (default is <tt>li</tt>).
+ #
+ # * <tt>:containment</tt> - Takes an element or array of elements to treat as
+ # potential drop targets (defaults to the original
+ # target element).
+ #
+ # * <tt>:only</tt> - A CSS class name or arry of class names used to filter
+ # out child elements as candidates.
+ #
+ # * <tt>:scroll</tt> - Determines whether to scroll the list during drag
+ # operations if the list runs past the visual border.
+ #
+ # * <tt>:tree</tt> - Determines whether to treat nested lists as part of the
+ # main sortable list. This means that you can create multi-
+ # layer lists, and not only sort items at the same level,
+ # but drag and sort items between levels.
+ #
+ # * <tt>:hoverclass</tt> - If set, the Droppable will have this additional CSS class
+ # when an accepted Draggable is hovered over it.
+ #
+ # * <tt>:handle</tt> - Sets whether the element should only be draggable by an
+ # embedded handle. The value may be a string referencing a
+ # CSS class value (as of script.aculo.us V1.5). The first
+ # child/grandchild/etc. element found within the element
+ # that has this CSS class value will be used as the handle.
+ #
+ # * <tt>:ghosting</tt> - Clones the element and drags the clone, leaving the original
+ # in place until the clone is dropped (default is <tt>false</tt>).
+ #
+ # * <tt>:dropOnEmpty</tt> - If true the Sortable container will be made into
+ # a Droppable, that can receive a Draggable (as according to
+ # the containment rules) as a child element when there are no
+ # more elements inside (default is <tt>false</tt>).
+ #
+ # * <tt>:onChange</tt> - Called whenever the sort order changes while dragging. When
+ # dragging from one Sortable to another, the callback is
+ # called once on each Sortable. Gets the affected element as
+ # its parameter.
+ #
+ # * <tt>:onUpdate</tt> - Called when the drag ends and the Sortable's order is
+ # changed in any way. When dragging from one Sortable to
+ # another, the callback is called once on each Sortable. Gets
+ # the container as its parameter.
#
# See http://script.aculo.us for more documentation.
def sortable_element(element_id, options = {})
@@ -170,8 +170,8 @@ def draggable_element_js(element_id, options = {}) #:nodoc:
end
# Makes the element with the DOM ID specified by +element_id+ receive
- # dropped draggable elements (created by draggable_element).
- # and make an AJAX call By default, the action called gets the DOM ID
+ # dropped draggable elements (created by +draggable_element+).
+ # and make an AJAX call. By default, the action called gets the DOM ID
# of the element as parameter.
#
# Example:
@@ -182,32 +182,30 @@ def draggable_element_js(element_id, options = {}) #:nodoc:
# http://script.aculo.us for more documentation.
#
# Some of these +options+ include:
- # <tt>:accept</tt>:: Set this to a string or an array of strings describing the
- # allowable CSS classes that the draggable_element must have in order
- # to be accepted by this drop_receiving_element.
- #
- # <tt>:confirm</tt>:: Adds a confirmation dialog.
- #
- # Example:
- # :confirm => "Are you sure you want to do this?"
- #
- # <tt>:hoverclass</tt>:: If set, the drop_receiving_element will have this additional CSS class
- # when an accepted draggable_element is hovered over it.
- #
- # <tt>:onDrop</tt>:: Called when a draggable_element is dropped onto this element.
- # Override this callback with a javascript expression to
- # change the default drop behavour.
- #
- # Example:
- # :onDrop => "function(draggable_element, droppable_element, event) { alert('I like bananas') }"
- #
- # This callback gets three parameters:
- # The Draggable element, the Droppable element and the
- # Event object. You can extract additional information about the
- # drop - like if the Ctrl or Shift keys were pressed - from the Event object.
- #
- # <tt>:with</tt>:: A JavaScript expression specifying the parameters for the XMLHttpRequest.
- # Any expressions should return a valid URL query string.
+ # * <tt>:accept</tt> - Set this to a string or an array of strings describing the
+ # allowable CSS classes that the +draggable_element+ must have in order
+ # to be accepted by this +drop_receiving_element+.
+ #
+ # * <tt>:confirm</tt> - Adds a confirmation dialog. Example:
+ #
+ # :confirm => "Are you sure you want to do this?"
+ #
+ # * <tt>:hoverclass</tt> - If set, the +drop_receiving_element+ will have this additional CSS class
+ # when an accepted +draggable_element+ is hovered over it.
+ #
+ # * <tt>:onDrop</tt> - Called when a +draggable_element+ is dropped onto this element.
+ # Override this callback with a JavaScript expression to
+ # change the default drop behavour. Example:
+ #
+ # :onDrop => "function(draggable_element, droppable_element, event) { alert('I like bananas') }"
+ #
+ # This callback gets three parameters:
+ # The Draggable element, the Droppable element and the
+ # Event object. You can extract additional information about the
+ # drop - like if the Ctrl or Shift keys were pressed - from the Event object.
+ #
+ # * <tt>:with</tt> - A JavaScript expression specifying the parameters for the XMLHttpRequest.
+ # Any expressions should return a valid URL query string.
def drop_receiving_element(element_id, options = {})
javascript_tag(drop_receiving_element_js(element_id, options).chop!)
end

0 comments on commit d79becd

Please sign in to comment.