Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-2542

Add new method hasBody() to ComponentResources, to reveal if component has a body or not

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.0.13
    • Fix Version/s: 5.0.14
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      Same idea as in Tapestry-2541 but in a much lighter way :

      In my case, I use the Layout pattern for rendering my pages, but depending on the situation, sometimes the body of the layout is empty. In that case I would like to display a generic content. So I imagine something like this :

      <t:if test="hasBody">
      Blah blah blah
      <t:parameter name="else">
      <t:body />
      </t:parameter>
      </t:if>

      But I don't know how to write the test "hasBody".

        Activity

        Hide
        kheldar666 Martin Papy added a comment -

        HLS said this :

        "This is not currently possible, but that's mostly an API issue. The Tapestry component has, internally, its body (as an array of TemplateToken objects) and can determine if the body is empty or not. It's a bit more complicated to determine if a Mixin on the component may affect rendering of the body (by providing BeforeBody or AfterBody render phase methods). I could implement a method on ComponentResources: boolean hasBody(). Without an API change this will be difficult."

        Show
        kheldar666 Martin Papy added a comment - HLS said this : "This is not currently possible, but that's mostly an API issue. The Tapestry component has, internally, its body (as an array of TemplateToken objects) and can determine if the body is empty or not. It's a bit more complicated to determine if a Mixin on the component may affect rendering of the body (by providing BeforeBody or AfterBody render phase methods). I could implement a method on ComponentResources: boolean hasBody(). Without an API change this will be difficult."

          People

          • Assignee:
            hlship Howard M. Lewis Ship
            Reporter:
            kheldar666 Martin Papy
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development