jsf-extensions
  1. jsf-extensions
  2. JSF_EXTENSIONS-30

Enhancements to DynaFaces.fireAjaxTransaction

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: current
    • Fix Version/s: milestone 1
    • Component/s: www
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      30
    • Status Whiteboard:
      Hide

      target_r2

      Show
      target_r2

      Description

      Looking at the options, I'd like to offer some suggestions:

      + asynchronous (description needs to be corrected)

      + execute (execute what? how does this differ from implicitly passing the value
      of the target action-- will you ever have more than one action fired?)

      + render (should be renamed to 'encode' to match API)

      + inputs (naming convention too, update? – should treat the ids as a parent or
      instance, ie, pass a form id and all child will be evaluated, pass a div id, all
      inputs within that div would be evaluated, just like re-rendering/encoding)

      + methodName (it's good to see it simplified again, but it is a possible
      security risk to invoke the method as is until we introduce annotation, suggest
      that you prefix the methdodname with 'on'MethodName to limit accessible
      invocations. also, the clientId seems redundant?, phaseId relates to immediate?)

      + XXX hook (shouldn't the regions logic be kept separate from the request logic?
      the regions seem like a 'user' of the request, not the same thing)

      Overall, I think a lot of this could be simplified by always saying the
      transaction was started by a specific clientId-- then the methodName and execute
      are already provided with scope. In addition, one thing is that the other ids
      passed (encode/update/render/whatever) should be allowed to be relative ids,
      found by making an invokeOnComponent to the source clientId (originator) and
      calling 'findComponent' on the other elements to resolve the real clientIds.
      The reason for this is that at development time, when the code is written, you
      don't know the clientId, but you do know the declared ids. This is highlighted
      in the case of an iterative table, a single row could be the originator of the
      ajax call, but at design time, there's no way to express the full clientId, only
      the relative, declared ids in your JavaScript.

        Activity

        Hide
        Ed Burns added a comment -

        Adding target_r2

        Show
        Ed Burns added a comment - Adding target_r2

          People

          • Assignee:
            jsf-extensions-issues
            Reporter:
            jhook
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated: