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

Add an empty parameter to the Loop component, to display a message when there are no items to loop over

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 5.0.15
    • 5.0.16
    • None
    • None

    Description

      I have a quick suggestion to improve the Loop component:

      We should be able to specify a block to display if the loop source is
      empty (size = 0)

      <div t:type="loop" source="anEmptyList">
      <t:parameter name="empty">There is no item matching your request</
      t:parameter>
      </div>

      I know we can do this :
      <t:if test="anEmptyList">
      <div t:type="loop" source="anEmptyList">

      </div>
      <t:parameter name="else">There is no item matching your request</t:parameter>
      </t:if>

      BUT this will have the result of calling the "getAnEmptyList()" getter
      in the component code twice.
      If you access the database in the getter (as the docs suggest quite a
      few times), this will call the database twice for nothing.

      Thanks !

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            hlship Howard Lewis Ship
            dmarquis D. Marquis
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment