Author: buildbot
Date: Sat Apr  8 21:20:17 2017
New Revision: 1010072

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/about.html
    websites/production/tapestry/content/built-in-mixins.html
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/committers.html
    websites/production/tapestry/content/component-mixins.html
    websites/production/tapestry/content/component-reference.html
    websites/production/tapestry/content/contributors.html

Modified: websites/production/tapestry/content/about.html
==============================================================================
--- websites/production/tapestry/content/about.html (original)
+++ websites/production/tapestry/content/about.html Sat Apr  8 21:20:17 2017
@@ -36,13 +36,26 @@
 
   <div class="wrapper bs">
 
-        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div></div>
+        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div>
+
+</div>
 
           <div id="top">
-            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span><form 
enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";> 
- <input type="text" name="q"> 
- <input type="submit" value="Search"> 
-</form></div><div class="emblem" style="float:left"><p><a  
href="index.html"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">About</h1></div></div>
+            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+  <input type="text" name="q">
+  <input type="submit" value="Search">
+</form>
+
+</div>
+
+
+<div class="emblem" style="float:left"><p><a  href="index.html"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div>
+
+
+<div class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">About</h1></div>
+
+</div>
       <div class="clearer"></div>
       </div>
 
@@ -70,7 +83,7 @@
 <div class="cfm-align-right" style="text-align: 
right;">[email protected]</div>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><a  
class="external-link" href="http://andyhot.gr"; 
rel="nofollow">http://andyhot.gr</a></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Ben Dotte</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>bdotte</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">    
 <div class="cfm-align-right" style="text-align: right;">[email protected]</div>
-</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Bob Harner</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>bobharner</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">    
+</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Bob Harner</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>bobharner</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">    
 <div class="cfm-align-right" style="text-align: 
right;">[email protected]</div>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><a  
class="external-link" href="https://github.com/bobharner"; 
rel="nofollow">https://github.com/bobharner</a></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Christophe Cordenier</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>ccordenier</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd">    
 <div class="cfm-align-right" style="text-align: 
right;">[email protected]</div>

Modified: websites/production/tapestry/content/built-in-mixins.html
==============================================================================
--- websites/production/tapestry/content/built-in-mixins.html (original)
+++ websites/production/tapestry/content/built-in-mixins.html Sat Apr  8 
21:20:17 2017
@@ -36,13 +36,26 @@
 
   <div class="wrapper bs">
 
-        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div></div>
+        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div>
+
+</div>
 
           <div id="top">
-            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span><form 
enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";> 
- <input type="text" name="q"> 
- <input type="submit" value="Search"> 
-</form></div><div class="emblem" style="float:left"><p><a  
href="index.html"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Built-in Mixins</h1></div></div>
+            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+  <input type="text" name="q">
+  <input type="submit" value="Search">
+</form>
+
+</div>
+
+
+<div class="emblem" style="float:left"><p><a  href="index.html"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div>
+
+
+<div class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Built-in Mixins</h1></div>
+
+</div>
       <div class="clearer"></div>
       </div>
 
@@ -54,7 +67,7 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>Tapestry includes the following 
mixins out-of-the-box.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/Autocomplete.html";>Autocomplete</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>modifies a text field to 
provide for auto-completion of text using values retrieved from the server as 
the user types. <a  href="ajax-and-zones.html">See 
instructions</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/Confirm.html";>Confirm</a></td><td
 colspan="1" rowspan="1" class="confluenceTd">attached to a Form or link 
component, runs a modal-dialog to force the user to confirm the 
behavior.</td></tr><tr><td colspan="1" rowspan="1" c
 lass="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/DiscardBody.html";>DiscardBody</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>discards a component's body. 
Returns false from the BeforeRenderBody phase, which prevents the rendering of 
the body.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/FormFieldFocus.html";>FormFieldFocus</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>instruments the outer Form on 
which component the focus should be activated. Replaced by OverrideFieldFocus 
starting in Tapestry 5.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/FormGroup.html";>FormGroup</a></td><td
 colspan="1" rowspan="1" cl
 ass="confluenceTd">attached to a field to render an enclosing &lt;div&gt; 
element and label</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/NotEmpty.html";>NotEmpty</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>attaches to any component that 
renders an element. At the end of the render, if the element is empty, then a 
non-breaking space (&amp;nbsp;) is injected into the 
element.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/OverrideFieldFocus.html";>OverrideFieldFocus</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>when attached to a form field, 
causes that field to gain focus. Starting in Tapestry 5.4, this supersedes 
FormFieldFocus.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluen
 ceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderClientId.html";>RenderClientId</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>forces a client element to 
render its client id by ensuring that "getClientId" is 
called.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderDisabled.html";>RenderDisabled</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>renders an "disabled" 
attribute if the containing component is disabled</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderInformals.html";>RenderInformals</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>renders out all informal 
parameters, at the end of th
 e BeginRender phase. This mixin can be used with components that render a 
single tag inside the BeginRender phase.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderNotification.html";>RenderNotification</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>triggers component event 
notifications when the attached component enters its BeginRender and 
AfterRender render phases.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/TriggerFragment.html";>TriggerFragment</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>when applied to a Checkbox or 
Radio component, links the input field and a FormFragment, making the field 
control the client-side visibility of the FormFragment</p></td></tr><tr><td 
colspan="
 1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/ZoneRefresh.html";>ZoneRefresh</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>periodically refreshes a Zone 
by triggering an event on the server using ajax 
requests.</p></td></tr></tbody></table></div></div>
+                <div id="ConfluenceContent"><p>Tapestry includes the following 
mixins out-of-the-box.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/Autocomplete.html";>Autocomplete</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>modifies a text field to 
provide for auto-completion of text using values retrieved from the server as 
the user types. <a  href="ajax-and-zones.html">See 
instructions</a>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/Confirm.html";>Confirm</a></td><td
 colspan="1" rowspan="1" class="confluenceTd">attached to a Form or link 
component, runs a modal-dialog to force the user to confirm the behavior. New 
for Tapestry 5.4.</td></tr><tr><td col
 span="1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/DiscardBody.html";>DiscardBody</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>discards a component's body. 
Returns false from the BeforeRenderBody phase, which prevents the rendering of 
the body.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/FormFieldFocus.html";>FormFieldFocus</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>instruments the outer Form on 
which component the focus should be activated. Replaced by OverrideFieldFocus 
starting in Tapestry 5.4.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/FormGroup.html";>FormGroup</a></td><td
 cols
 pan="1" rowspan="1" class="confluenceTd">attaches to a field to render an 
enclosing &lt;div&gt; element and label for proper Bootstrap markup of text 
fields, selects, and textareas</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/NotEmpty.html";>NotEmpty</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>attaches to any component that 
renders an element. At the end of the render, if the element is empty, then a 
non-breaking space (&amp;nbsp;) is injected into the 
element.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/OverrideFieldFocus.html";>OverrideFieldFocus</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>when attached to a form field, 
causes that field to gain focus. Starting in Tapestry 5.4, thi
 s supersedes FormFieldFocus.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderClientId.html";>RenderClientId</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>forces a client element to 
render its client id by ensuring that "getClientId" is 
called.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderDisabled.html";>RenderDisabled</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>renders a "disabled" attribute 
if the containing component is disabled</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderInformals.html";>RenderInformals</a></p></td><td
 colspan="1" r
 owspan="1" class="confluenceTd"><p>renders out all informal parameters, at the 
end of the BeginRender phase. This mixin can be used with components that 
render a single tag inside the BeginRender phase.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderNotification.html";>RenderNotification</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>triggers component event 
notifications when the attached component enters its BeginRender and 
AfterRender render phases.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/TriggerFragment.html";>TriggerFragment</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>when applied to a Checkbox or 
Radio component, links the input field and a FormFragment, making the fie
 ld control the client-side visibility of the FormFragment</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/ZoneRefresh.html";>ZoneRefresh</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>periodically refreshes a Zone 
by triggering an event on the server using ajax 
requests.</p></td></tr></tbody></table></div></div>
       </div>
 
       <div class="clearer"></div>

Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/tapestry/content/committers.html
==============================================================================
--- websites/production/tapestry/content/committers.html (original)
+++ websites/production/tapestry/content/committers.html Sat Apr  8 21:20:17 
2017
@@ -36,13 +36,26 @@
 
   <div class="wrapper bs">
 
-        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div></div>
+        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div>
+
+</div>
 
           <div id="top">
-            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span><form 
enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";> 
- <input type="text" name="q"> 
- <input type="submit" value="Search"> 
-</form></div><div class="emblem" style="float:left"><p><a  
href="index.html"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Committers</h1></div></div>
+            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+  <input type="text" name="q">
+  <input type="submit" value="Search">
+</form>
+
+</div>
+
+
+<div class="emblem" style="float:left"><p><a  href="index.html"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div>
+
+
+<div class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Committers</h1></div>
+
+</div>
       <div class="clearer"></div>
       </div>
 
@@ -58,7 +71,7 @@
 <div class="cfm-align-right" style="text-align: 
right;">[email protected]</div>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><a  
class="external-link" href="http://andyhot.gr"; 
rel="nofollow">http://andyhot.gr</a></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Ben Dotte</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>bdotte</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">    
 <div class="cfm-align-right" style="text-align: right;">[email protected]</div>
-</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Bob Harner</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>bobharner</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>committer</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">    
+</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>&#160;</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Bob Harner</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>bobharner</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>PMC member</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">    
 <div class="cfm-align-right" style="text-align: 
right;">[email protected]</div>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><a  
class="external-link" href="https://github.com/bobharner"; 
rel="nofollow">https://github.com/bobharner</a></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Christophe Cordenier</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>ccordenier</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>committer</p></td><td 
colspan="1" rowspan="1" class="confluenceTd">    
 <div class="cfm-align-right" style="text-align: 
right;">[email protected]</div>

Modified: websites/production/tapestry/content/component-mixins.html
==============================================================================
--- websites/production/tapestry/content/component-mixins.html (original)
+++ websites/production/tapestry/content/component-mixins.html Sat Apr  8 
21:20:17 2017
@@ -45,13 +45,26 @@
 
   <div class="wrapper bs">
 
-        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div></div>
+        <div id="navigation"><div class="nav"><ul class="alternate"><li><a  
href="index.html">Home</a></li><li><a  href="getting-started.html">Getting 
Started</a></li><li><a  href="documentation.html">Documentation</a></li><li><a  
href="download.html">Download</a></li><li><a  
href="about.html">About</a></li><li><a  class="external-link" 
href="http://www.apache.org/licenses/LICENSE-2.0";>License</a></li><li><a  
href="community.html">Community</a></li><li><a  class="external-link" 
href="http://www.apache.org/security/";>Security</a></li><li><a  
class="external-link" href="http://www.apache.org/";>Apache</a></li><li><a  
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
  class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li></ul></div>
+
+</div>
 
           <div id="top">
-            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span><form 
enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";> 
- <input type="text" name="q"> 
- <input type="submit" value="Search"> 
-</form></div><div class="emblem" style="float:left"><p><a  
href="index.html"><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div><div
 class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Component Mixins</h1></div></div>
+            <div id="smallbanner"><div class="searchbox" 
style="float:right;margin: .3em 1em .1em 1em"><span style="color: #999; 
font-size: 90%">Tapestry docs, issues, wikis &amp; blogs:</span>
+<form enctype="application/x-www-form-urlencoded" method="get" 
action="http://tapestry.apache.org/search.html";>
+  <input type="text" name="q">
+  <input type="submit" value="Search">
+</form>
+
+</div>
+
+
+<div class="emblem" style="float:left"><p><a  href="index.html"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://tapestry.apache.org/images/tapestry_small.png"; 
data-image-src="http://tapestry.apache.org/images/tapestry_small.png";></span></a></p></div>
+
+
+<div class="title" style="float:left; margin: 0 0 0 3em"><h1 
id="SmallBanner-PageTitle">Component Mixins</h1></div>
+
+</div>
       <div class="clearer"></div>
       </div>
 
@@ -63,37 +76,67 @@
       </div>
 
       <div id="content">
-                <div id="ConfluenceContent"><p>A <strong>Component 
Mixin</strong> is a way to supplement an existing Tapestry component with 
additional behavior.</p><div class="aui-label" style="float:right" 
title="Related Articles"><h3>Related Articles</h3><ul 
class="content-by-label"><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="page-and-component-classes-faq.html">Page And Component Classes 
FAQ</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="legacy-javascript.html">Legacy JavaScript</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="component-templates.html">Component Templates</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="component-cheat-sheet.html">Component Cheat Sheet</a> 
-  </div> </li><li> 
-  <div> 
-   <span class="icon aui-icon aui-icon-small aui-iconfont-page-default" 
title="Page">Page:</span> 
-  </div> 
-  <div class="details"> 
-   <a  href="component-parameters.html">Component Parameters</a> 
-  </div> </li></ul></div><p>You can think of a mixin as a kind of mashup for a 
component; it combines the new behavior of the mixin with the existing behavior 
of the component, and bundles it all in one place. Mixins may be used to add 
specialized validation to user input fields, dynamically modify the HTML output 
of a component, or to add Ajax effects and behaviors of all sorts to 
components.</p><p>Tapestry comes with several mixins, such as the <a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/Autocomplete.html";>Autocomplete
 mixin</a> which adds autocomplete behavior to an ordinary TextField Component. 
In addition, you can easily create your own.</p><h2 
id="ComponentMixins-MixinClasses">Mixin Classes</h2><p>Mixin classes are stored 
in the <code>mixins</code> sub-package of your application, below the 
application (or library) root package. This parallels where your component and 
page classes are stored.</p><p>Other than t
 hat, mixin classes are the same as any other component class.</p><h2 
id="ComponentMixins-MixinLimitations">Mixin Limitations</h2><p>Currently, 
mixins are allowed to do anything a component can do, including having 
parameters and render phase methods.</p><p>Mixins may not have a template. They 
integrate with the component strictly in terms of invoking render phase 
methods.</p><p>Mixins may have persistent fields, but currently, this is not 
implemented perfectly (there is a potential for a name clash between a mixin 
and the component or another mixin). Use persistent fields with mixins with 
care ... or better yet, delegate persistence to the container using 
parameters.</p><p>Mixins may not, themselves, have mixins.</p><h2 
id="ComponentMixins-UsingMixins">Using Mixins</h2><p>Mixins are used in two 
different scenarios: <em>Instance mixins</em> and <em>Implementation 
mixins</em>.</p><h3 id="ComponentMixins-InstanceMixins">Instance 
Mixins</h3><p>An instance mixin is a mixin applied to a s
 pecific <em>instance</em> of a component. This can be done in the <a  
href="component-templates.html">component template</a> with the 
<code>mixins</code> attribute of the component tag. This is a comma-separated 
list of mixin names.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+                <div id="ConfluenceContent"><p>A <strong>Component 
Mixin</strong> is a way to supplement an existing Tapestry component with 
additional behavior.</p><div class="aui-label" style="float:right" 
title="Related Articles">
+
+
+
+
+
+
+
+
+<h3>Related Articles</h3>
+
+<ul class="content-by-label"><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="page-and-component-classes-faq.html">Page 
And Component Classes FAQ</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="legacy-javascript.html">Legacy JavaScript</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="component-templates.html">Component 
Templates</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="component-cheat-sheet.html">Component Cheat 
Sheet</a>
+                
+                        
+                    </div>
+    </li><li>
+        <div>
+                <span class="icon aui-icon aui-icon-small 
aui-iconfont-page-default" title="Page">Page:</span>        </div>
+
+        <div class="details">
+                        <a  href="component-parameters.html">Component 
Parameters</a>
+                
+                        
+                    </div>
+    </li></ul>
+</div>
+
+
+<p>You can think of a mixin as a kind of mashup for a component; it combines 
the new behavior of the mixin with the existing behavior of the component, and 
bundles it all in one place. Mixins may be used to add specialized validation 
to user input fields, dynamically modify the HTML output of a component, or to 
add Ajax effects and behaviors of all sorts to components.</p><p>Tapestry comes 
with several mixins, such as the <a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/Autocomplete.html";>Autocomplete
 mixin</a> which adds autocomplete behavior to an ordinary TextField Component. 
In addition, you can easily create your own.</p><h2 
id="ComponentMixins-MixinClasses">Mixin Classes</h2><p>Mixin classes are stored 
in the <code>mixins</code> sub-package of your application, below the 
application (or library) root package. This parallels where your component and 
page classes are stored.</p><p>Other than that, mixin classes are th
 e same as any other component class.</p><h2 
id="ComponentMixins-MixinLimitations">Mixin Limitations</h2><p>Currently, 
mixins are allowed to do anything a component can do, including having 
parameters and render phase methods.</p><p>Mixins may not have a template. They 
integrate with the component strictly in terms of invoking render phase 
methods.</p><p>Mixins may have persistent fields, but currently, this is not 
implemented perfectly (there is a potential for a name clash between a mixin 
and the component or another mixin). Use persistent fields with mixins with 
care ... or better yet, delegate persistence to the container using 
parameters.</p><p>Mixins may not, themselves, have mixins.</p><h2 
id="ComponentMixins-UsingMixins">Using Mixins</h2><p>Mixins are used in two 
different scenarios: <em>Instance mixins</em> and <em>Implementation 
mixins</em>.</p><h3 id="ComponentMixins-InstanceMixins">Instance 
Mixins</h3><p>An instance mixin is a mixin applied to a specific 
<em>instance</em>
  of a component. This can be done in the <a  
href="component-templates.html">component template</a> with the 
<code>mixins</code> attribute of the component tag. This is a comma-separated 
list of mixin names.</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;t:textfield t:id="accountName" 
t:mixins="Autocomplete,DefaultFromCookie" /&gt;
 </pre>
 </div></div><p>Alternately, when the @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Component.html";>Component</a>
 annotation is used to define the component type, you may specify the mixins in 
two ways:</p><ul><li>The @<a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/Mixins.html";>Mixins</a>
 annotation allows a list of mixin names to be specified.</li><li>The @<a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/MixinClasses.html";>MixinClasses</a>
 annotation allows a set of mixin classes to be specified 
directly.</li></ul><p>The former is often less verbose, and allows core mixins 
to be overridden with application-specific mixins. The later format is more 
specific and more refactor-safe (renaming a mixin class will rename the entry 
in the MixinClasses annotation as well).</p><p>Example:</p><div class="code pane
 l pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -127,11 +170,16 @@
   . . .
 }
 </pre>
-</div></div><h2 id="ComponentMixins-MixinParameters">Mixin 
Parameters</h2><p>Mixins are allowed to have parameters, just like 
components.</p><p>When binding parameters (either in the template, or using the 
parameters attribute of the Component annotation), Tapestry will match each 
parameter name against the parameters defined by each class (which is to say, 
the component and each mixin).</p><p>If the component and a mixin both define a 
parameter with the same name, then the component wins: the component's 
parameter will be bound, and the mixin's parameter will be 
unbound.</p><p>Alternately, you may prefix the name of the parameter with the 
<em>unqualified</em> name of the Mixin class; this eliminates the ambiguity. 
Example:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">  @Component(parameters={"Autocomplete.id=auto", . . . 
}) @Mixins("Autocomplete", "DefaultFromCookie"})
-  private TextField userId;
+</div></div><h2 id="ComponentMixins-MixinParameters">Mixin 
Parameters</h2><p>Mixins are allowed to have parameters, just like 
components.</p><p>Here we provide a value of ".5" seconds for the Autocomplete 
mixin's "frequency" parameter:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;t:container 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_4.xsd"&gt;
+...
+&lt;t:textfield t:id="accountName" t:mixins="Autocomplete" 
t:Autocomplete.frequency=".5" /&gt;</pre>
+</div></div><p>The parameter name should be prefixed with the name of the 
mixin class ("Autocomplete." above).</p><p>You can do the same thing with the 
@Component annotation:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">@Component(parameters={"Autocomplete.frequency=.5", . . 
. })
+@Mixins("Autocomplete", "DefaultFromCookie"})
+private TextField userId;
 </pre>
-</div></div><p>If the component and a mixin both supports informal parameters, 
the mixin will receive the all the unqualified informal parameters. If more 
than one Mixin supports informal parameters the results are 
undefined.</p><p>Note that when you define an implementation mixin, and the 
mixin has parameters, there's no way to bind those parameters as part of the 
<em>implementation</em>. They simply become available when the composite 
component (including the mixin) is introduced into a page.</p><h2 
id="ComponentMixins-Bindingtheparameterofthecorecomponent">Binding the 
parameter of the core component</h2><p>It is sometimes desirable to access the 
current value of a parameter defined in the component associated with the 
mixin. For example: normally, when the textfield component is marked disabled, 
it renders a text field with a disabled attribute, but you want it to output 
the (plaintext) value when disabled. A mixin for this purpose would need access 
to at least the disabled, and 
 value parameters, and possibly the translate parameter (for a client-side 
representation). You can access the disabled parameter via @InjectContainer and 
checking isDisabled on the field, but textfield currently provides no access to 
value or translate. In this case, you can bind the core-component parameter 
using the @BindParameter annotation:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>When using the Tapestry 5.3 and earlier XSDs, you may omit the 
class name prefix (e.g. t:frequency=".5" instead of 
t:Autocomplete.frequency=".5"), but then Tapestry has to resolve conflicts. If 
a component and a mixin both define a parameter with the same name, the 
component wins; the component's parameter will be bound, and the mixin's 
parameter will be unbound.</p><p>If the component and a mixin both supports 
informal parameters, the mixin will receive the all the unqualified informal 
parameters. If more than one Mixin supports informal parameters the results are 
undefined.</p><p>Note that when you define an implementation mixin, and the 
mixin has parameters, there's no way to bind those parameters as part of the 
<em>implementation</em>. They simply become available when the composite 
component (including the mixin) is introduced into a page.</p><h2 
id="ComponentMixins-Bindingtheparameterofthecorecomponent">Binding the 
parameter of the core component</h2><p>It is so
 metimes desirable to access the current value of a parameter defined in the 
component associated with the mixin. For example: normally, when the textfield 
component is marked disabled, it renders a text field with a disabled 
attribute, but you want it to output the (plaintext) value when disabled. A 
mixin for this purpose would need access to at least the disabled, and value 
parameters, and possibly the translate parameter (for a client-side 
representation). You can access the disabled parameter via @InjectContainer and 
checking isDisabled on the field, but textfield currently provides no access to 
value or translate. In this case, you can bind the core-component parameter 
using the @BindParameter annotation:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">  public class MyMixin
   {
     @BindParameter
@@ -160,7 +208,7 @@
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">  @BindParameter("translate")
   private FieldTranslator translator;
 </pre>
-</div></div><p>In same cases, a mixin will be used on different components 
using different names for a similar parameter type. For instance, BeanEditor 
has an "object" parameter; most form fields have a "value" parameter, and Grid 
has a "source" parameter. These parameters have different names but share the 
feature of being the "principle" parameter on which the components are acting. 
A mixin useable by all three components can specify multiple potential 
parameter values to bind. The first value that matches a declared parameter of 
the associated component will be used:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>In some cases, a mixin will be used on different components 
using different names for a similar parameter type. For instance, BeanEditor 
has an "object" parameter; most form fields have a "value" parameter, and Grid 
has a "source" parameter. These parameters have different names, but each is 
the "principle" parameter on which the components are acting. A mixin useable 
by all three components can specify multiple potential parameter values to 
bind. The first value that matches a declared parameter of the associated 
component will be used:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">public class MyMixin
 {
   ...
@@ -187,7 +235,7 @@
   @MixinClasses(value={Autocomplete.class,DefaultFromCookie.class},
                 
order={"before:discardbody;after:renderdisabled","before:autocomplete")
 </pre>
-</div></div><p>The ordering is always specified in terms of the order of the 
"forward" rendering process (setupRender, beginRender, etc.). When the 
"reverse" rendering phases (afterRender, etc.) occur, the mixin order is 
exactly reversed. Mixins which have no associated ordering constraints will be 
ordered in a manner which is consistent with the specified constraints for all 
other mixins, but is otherwise unspecified.</p><h2 
id="ComponentMixins-AvailableMixins">Available Mixins</h2><p>Tapestry includes 
the following mixins out-of-the-box.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/Autocomplete.html";>Autocomplete</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>modifies a text field to 
provide for auto-completion of text using values retrieved from the server as 
the user types. <a  
 href="ajax-and-zones.html">See instructions</a>.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/Confirm.html";>Confirm</a></td><td
 colspan="1" rowspan="1" class="confluenceTd">attached to a Form or link 
component, runs a modal-dialog to force the user to confirm the 
behavior.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/DiscardBody.html";>DiscardBody</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>discards a component's body. 
Returns false from the BeforeRenderBody phase, which prevents the rendering of 
the body.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/FormFieldFocus.html";>FormFi
 eldFocus</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>instruments the outer Form on which component the focus 
should be activated. Replaced by OverrideFieldFocus starting in Tapestry 
5.4.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a  
class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/FormGroup.html";>FormGroup</a></td><td
 colspan="1" rowspan="1" class="confluenceTd">attached to a field to render an 
enclosing &lt;div&gt; element and label</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/NotEmpty.html";>NotEmpty</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>attaches to any component that 
renders an element. At the end of the render, if the element is empty, then a 
non-breaking space (&amp;nbsp;) is injected into the 
element.</p></td></tr><tr><td colsp
 an="1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/OverrideFieldFocus.html";>OverrideFieldFocus</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>when attached to a form field, 
causes that field to gain focus. Starting in Tapestry 5.4, this supersedes 
FormFieldFocus.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderClientId.html";>RenderClientId</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>forces a client element to 
render its client id by ensuring that "getClientId" is 
called.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderDisabled.html";>RenderDisabled</a></p></td><td
 colspan="1"
  rowspan="1" class="confluenceTd"><p>renders an "disabled" attribute if the 
containing component is disabled</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderInformals.html";>RenderInformals</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>renders out all informal 
parameters, at the end of the BeginRender phase. This mixin can be used with 
components that render a single tag inside the BeginRender 
phase.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderNotification.html";>RenderNotification</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>triggers component event 
notifications when the attached component enters its BeginRender and 
AfterRender render phases.</p></td></tr><tr><td colspan=
 "1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/TriggerFragment.html";>TriggerFragment</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>when applied to a Checkbox or 
Radio component, links the input field and a FormFragment, making the field 
control the client-side visibility of the FormFragment</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/ZoneRefresh.html";>ZoneRefresh</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>periodically refreshes a Zone 
by triggering an event on the server using ajax 
requests.</p></td></tr></tbody></table></div><p>In addition, the following 
mixins are available from other sources:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceT
 d"><p><a  class="external-link" 
href="http://jumpstart.doublenegative.com.au/jumpstart/examples/javascript/creatingmixins1";
 rel="nofollow">ClickOnce</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>From JumpStart, a mixin to apply to a submit button, 
ensuring it can't be double-clicked</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://wiki.apache.org/tapestry/Tapestry5AndJavaScriptExplained";>Confirm</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Adds a JavaScript 
<em>confirm</em> prompt to any link</p></td></tr></tbody></table></div><h2 
id="ComponentMixins-AdditionalTools">Additional Tools</h2><p><a  
class="external-link" href="http://tapestryxpath.sourceforge.net/"; 
rel="nofollow">Tapestry-Xpath</a> is a third-part Tapestry module that allows 
XPath traversal of the Tapestry (server-side) DOM, which can be extremely 
useful in certain mixins.</p></div>
+</div></div><p>The ordering is always specified in terms of the order of the 
"forward" rendering process (setupRender, beginRender, etc.). When the 
"reverse" rendering phases (afterRender, etc.) occur, the mixin order is 
exactly reversed. Mixins which have no associated ordering constraints will be 
ordered in a manner which is consistent with the specified constraints for all 
other mixins, but is otherwise unspecified.</p><h2 
id="ComponentMixins-AvailableMixins">Available Mixins</h2><p>Tapestry includes 
the following mixins out-of-the-box.</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/Autocomplete.html";>Autocomplete</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>modifies a text field to 
provide for auto-completion of text using values retrieved from the server as 
the user types. <a  
 href="ajax-and-zones.html">See instructions</a>.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><a  class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/Confirm.html";>Confirm</a></td><td
 colspan="1" rowspan="1" class="confluenceTd">attached to a Form or link 
component, runs a modal-dialog to force the user to confirm the behavior. New 
for Tapestry 5.4.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/DiscardBody.html";>DiscardBody</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>discards a component's body. 
Returns false from the BeforeRenderBody phase, which prevents the rendering of 
the body.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/FormF
 ieldFocus.html">FormFieldFocus</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>instruments the outer Form on which component the focus 
should be activated. Replaced by OverrideFieldFocus starting in Tapestry 
5.4.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a  
class="external-link" 
href="http://tapestry.apache.org/5.4/apidocs/org/apache/tapestry5/corelib/mixins/FormGroup.html";>FormGroup</a></td><td
 colspan="1" rowspan="1" class="confluenceTd">attaches to a field to render an 
enclosing &lt;div&gt; element and label for proper Bootstrap markup of text 
fields, selects, and textareas</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/NotEmpty.html";>NotEmpty</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>attaches to any component that 
renders an element. At the end of the render, if the element is empty, then a
  non-breaking space (&amp;nbsp;) is injected into the 
element.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/OverrideFieldFocus.html";>OverrideFieldFocus</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>when attached to a form field, 
causes that field to gain focus. Starting in Tapestry 5.4, this supersedes 
FormFieldFocus.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderClientId.html";>RenderClientId</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>forces a client element to 
render its client id by ensuring that "getClientId" is 
called.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache
 /tapestry5/corelib/mixins/RenderDisabled.html">RenderDisabled</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>renders a "disabled" attribute 
if the containing component is disabled</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderInformals.html";>RenderInformals</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>renders out all informal 
parameters, at the end of the BeginRender phase. This mixin can be used with 
components that render a single tag inside the BeginRender 
phase.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a  
class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/RenderNotification.html";>RenderNotification</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>triggers component event 
notifications when the attached compo
 nent enters its BeginRender and AfterRender render 
phases.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
 class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/TriggerFragment.html";>TriggerFragment</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>when applied to a Checkbox or 
Radio component, links the input field and a FormFragment, making the field 
control the client-side visibility of the FormFragment</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/mixins/ZoneRefresh.html";>ZoneRefresh</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>periodically refreshes a Zone 
by triggering an event on the server using ajax 
requests.</p></td></tr></tbody></table></div><p>In addition, the following 
mixins are available from other sources:</p><div class="table-wrap">
 <table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a  class="external-link" 
href="http://jumpstart.doublenegative.com.au/jumpstart/examples/javascript/creatingmixins1";
 rel="nofollow">ClickOnce</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>From JumpStart, a mixin to apply to a submit button, 
ensuring it can't be double-clicked</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a  class="external-link" 
href="http://wiki.apache.org/tapestry/Tapestry5AndJavaScriptExplained";>Confirm</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Adds a JavaScript 
<em>confirm</em> prompt to any link</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><a  class="external-link" 
href="http://jumpstart.doublenegative.com.au/jumpstart7/examples/ajax/onevent"; 
rel="nofollow">ZoneUpdater</a></td><td colspan="1" rowspan="1" 
class="confluenceTd">Updates a zone when a client-side event 
occurs</td></tr></tb
 ody></table></div><h2 id="ComponentMixins-AdditionalTools">Additional 
Tools</h2><p><a  class="external-link" 
href="http://tapestryxpath.sourceforge.net/"; rel="nofollow">Tapestry-Xpath</a> 
is a third-part Tapestry module that allows XPath traversal of the Tapestry 
(server-side) DOM, which can be extremely useful in certain mixins.</p></div>
       </div>
 
       <div class="clearer"></div>


Reply via email to