Jump to: navigation, search

Writing a foldable section controlled by a checkbox

Revision as of 19:08, 17 July 2013 by Scott.fisher.oracle.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Taken from: http://hudson.361315.n4.nabble.com/How-do-I-show-other-configuration-entries-only-if-the-user-have-checked-a-checkbox-in-config-jelly-td388471.html

I have a text field that I only want to show in the configuration page if a check box is checked and I wonder how to do it. It should have the samve functionality as the list of builders/publishers in the job configuration page have, ie a publisher will only show its config entries if the check box is checked. I've found the <optionalBlock> and it seems the job configuration jeylly pages is using it, but I havent got it right yet. Does anyone have any idea?

<f:optionalBlock name="clearcase.dynamicview" title="aaa" checked="false">
          <f:textbox name="clearcase.viewdrive" value="${scm.viewDrive}" optional="true"/>
</f:optionalBlock>

Regards //Erik


The following code is based on ClearCaseSCM/config.jelly and shows you how to add foldable section.

You can use <f:nested> instead of <f:block> and they give you different indentation.

 <j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">

 <f:entry title="Config spec" help="/plugin/clearcase/configspec.html">
     <textarea class="setting-input" name="clearcase.configspec"
       rows="8" style="width:100%"
       checkUrl="'${rootURL}/scm/ClearCaseSCM/configSpecCheck?value='+escape(this.value)">${scm.configSpec}</textarea>
   </f:entry>

   <f:entry title="View name" help="/plugin/clearcase/localdir.html">
   <f:textbox name="clearcase.viewname" value="${scm.ViewName}"
   checkUrl="'${rootURL}/scm/ClearCaseSCM/viewNameCheck?value='+escape(this.value)"/>
     </f:entry>

 <f:entry title="Use update">
 <f:checkbox name="clearcase.useupdate" checked="${h.defaultToTrue(scm.useUpdate)}"/>
       If checked, Hudson will use 'cleartool update' whenever possible, making the build faster.
       But this causes the artifacts from the previous build to remain when a new build starts.
 </f:entry>

 <f:entry title="Branch" help="/plugin/clearcase/branch.html">
  <f:textbox name="clearcase.branch" value="${scm.branch}"/>
 </f:entry>

   <f:block>
     <table>
       <f:optionalBlock name="business" title="Book business class flight">
         <f:entry title="Airline code">
           <f:textbox name="code" value="${scm.branch}"/>
         </f:entry>
       </f:optionalBlock>
     </table>
   </f:block>
 </j:jelly>

– Kohsuke Kawaguchi

See also Jelly form controls