Package org.apache.tapestry5.corelib.mixins

# Class RenderNotification

java.lang.Object
org.apache.tapestry5.corelib.mixins.RenderNotification

@Events({"beginRender","afterRender"}) @MixinAfter public class RenderNotification extends Object
This mixin triggers component event notifications when the attached component enters its `BeginRender` and `AfterRender` render phases. A common use of this is to handle the "afterRender" event to generate client-side JavaScript for content just rendered via a `Block` (this is a common Ajax use case related to partial page rendering). Since AJAX requests don't trigger afterRender or beforeRender render phase events in the containing component or page, this mixin provides a way of accessing those events as component events.

An example using the `Any` component within a zone:

     <div t:type="Zone" id="myZone">
         <t:any t:mixins="RenderNotification">
                  <!-- zone content ->
          </div>
     </div>

The `MarkupWriter` is passed as the event context to your event handler method(s), so your corresponding component or page class might look like:

     void onBeginRenderFromMyZone(MarkupWriter writer)
     {
         writer.element("p");
         writer.write("before item render");
         writer.end();
     }

     void onAfterRenderFromMyZone(MarkupWriter writer)
     {
         writer.element("p");
         writer.write("after item render");
         writer.end();
     }

As an alternative, see the `Trigger` component, which does something similar but as a component rather than a mixin.

Since:
  5.2.0

Component Events
Name | Description
--- | ---
afterRender |
beginRender |

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RenderNotification()`

- ## Method Summary

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RenderNotification

    public RenderNotification()