JQuery Listings Operations Buttons

From Littledamien Wiki
Revision as of 18:46, 21 October 2012 by 66.214.144.90 (talk) (→‎Markup)
Jump to navigation Jump to search

Overview

Description of markup, DOM elements and attributes involved in displaying operations buttons within CMS listings pages.

Markup

  • Use <a> anchor tags for links to separate pages.
  • Use <button> button tags for links that open jQuery/AJAX dialogs.
  • Example:
<td class="centered">
    <div class="listops"><!--
        --><a class="preview-btn" href="<?=$row->local_url?>" target="_blank" title="live content">live content</a><!--
        --><button data-id="<?=$row->id?>" data-tid="<?=press_class::SECTION_ID?>" data-op="delete" title="delete">delete</button>
    </div>
</td>
  • Outside TD element has class “centered”.
  • Inner DIV element class “listops”.
  • Each button is created with an anchor tag.

Button element attributes

  • href="javascript:void(0)" rel="nofollow" for buttons that have AJAX handlers.
  • The class attribute of the anchor determines its button style and its AJAX handler. (Buttons implemented with the JQuery UI library.)
    • Some common button classes handled by the $.bindListingsButtons() routine of the LITTLED.Listings library:
    • details-btn Links to stand-alone page containing detailed information about the individual record.
    • preview-btn Links to stand-along page on the public site driven by that individual record.
    • print-btn Prints the record, or opens a page specially formatted for printing the individual record.
    • update-cache-btn Invokes AJAX that updates the cached content for the individual record.
    • edit-btn Opens record edit dialog/page.
    • trash-btn Opens delete record dialog/page.
  • Configure the AJAX handlers for listings operations with JQuery within the page’s $(document).ready(); handler.
  • “data-*” attributes of the anchor tags specify which records to operate on when calling AJAX handlers. Some examples:
    • data-id – record id
    • data-tid – record content type id
    • data-pid – record parent id
    • data-op – operation name
  • Each anchor tag has a title attribute which serves as a tooltip.
  • The innerhtml of the anchor tag is not displayed if the JQuery UI button is successfully loaded.