Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-999

Implement an agnostic tapestry.js layer + adapters to allow developers to switch from prototype to jquery

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 5.1.0.7, 5.0.19
    • 5.4
    • tapestry-core
    • None

    Description

      As per the discussion on the mailing about Tapestry 5 and jQuery, i create this JIRA to compile the toughts of everyone for this feature.

      As Howard said on the mailing list, goals are :

      Goal #1: Backwards compatibility
      Goal #2: Documented
      Goal #3: Plugability / Extensibility / Overridablilty

      First design thoughts suggested by howard are (extracted from Howard's answer) :

      1. tapestry.js defines a Tapestry namespace with key function properties for the standard stuff
      2. split current tapestry.js into more smaller files
      3. In addition to tapestry.js, ... include either tapestry-prototype-adapter.js (plus prototype.js and scriptaculous.js) OR tapestry-jquery-adapter.js (plus jquery.js).
      4. tapestry.js [should] be smaller handlers that often just fire additional events; a cascade of events that eventually results in server-side requests

      Objectives :

      1. make certain parts more pluggable i.e. Popup Bubbles
      2. write javascript with functional closures
      3. ... element could have at most one active animation; the animation would have to complete before the next one (cf. jQuery animation and queuing mechanism)

      Challenges :

      1. Remove prototype code from tapestry.js
      2. Keep backward compatibility with existing Tapestry object

      Attachments

        Activity

          People

            hlship Howard Lewis Ship
            ccordenier Christophe Cordenier
            Votes:
            12 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: