MainJavadocExample
DropdownMenuTreeRenderer examples

The DropdownMenuTreeRenderer is used in the TreeSearchElementRenderer demo.


XML Configuration for this example:
  <!-- ==================================================================== -->
  <!--  MSN Categories Tree - used in TreeSearchElementRenderer demo.       -->
  <!-- ==================================================================== -->
  <SearchForm name="MSNCategoryTreeForm" 
              rendererClass="com.raritantechnologies.searchApp.taglibrary.SearchFormTableRenderer" >
                 
    <SearchElementRenderer rendererClass="com.raritantechnologies.utils.tree.taglibrary.TreeSearchElementRenderer" 
                           action="TreeSearchElementRenderer.jsp" >

     <TreeBuilder class="com.raritantechnologies.utils.tree.SAXTreeBuilder"
                 fileName="BASE_PATH/data/MSNLinks.xml"
                 treeName="Category" >

         <TreeNode
             nodeTag="Category"
             nameAttribute="name" >
         </TreeNode>

     </TreeBuilder>

     <TreeRenderer class="com.raritantechnologies.utils.tree.taglibrary.DropdownMenuTreeRenderer"
                   hyperlinkTarget="newWindow" />

     <LinkRenderer class="com.raritantechnologies.utils.tree.TaxonomySearchHyperlinkRenderer"
                   hrefParam="href" />

   </SearchElementRenderer>

  </SearchForm>

The DropdownMenuTreeRenderer is also used with the TreeTabRenderer in the DBTreeBuilder demo as part of a TabbedSearchElementRenderer.

XML Configuration for this example:
 <SearchElementRenderer rendererClass="com.raritantechnologies.searchApp.taglibrary.TabbedSearchElementRenderer"
                            align="left" >

   <TabRenderer class="com.raritantechnologies.utils.tree.taglibrary.TreeTabRenderer"
                initialTab="none" 
                tabSetName="DBTreeForm"
                tabSetParam="tabSet"
                tabFormName="EditTreeForm" isPersistent="false" >

      <TreeBuilder class="com.raritantechnologies.utils.tree.SAXTreeBuilder" >

         <TreeNode nodeTag="Node" nameAttribute="name" >
           <AttributeMap input="activeOn" />
         </TreeNode>

         <TreeXML>
            <Node name="Root" >

              <Node name="Edit Taxonomy">
                 <Node name="Create" />
                 <Node name="Edit"   />
                 <Node name="Delete" />
              </Node>

              <Node name="Edit Node">
                 <Node name="Create"  />
                 <Node name="Edit"   activeOn="sessionData:DBTreeManager_nodeSelected=true" />
                 <Node name="Cut"    activeOn="sessionData:DBTreeManager_nodeSelected=true" />
                 <Node name="Paste"  activeOn="sessionData:DBTreeManager_copyNodeStatus=NOT NULL" />
                 <Node name="Delete" activeOn="sessionData:DBTreeManager_nodeSelected=true" />
              </Node>
           </Node>
         </TreeXML>

      </TreeBuilder>

      <TreeRenderer class="com.raritantechnologies.utils.tree.taglibrary.DropdownMenuTreeRenderer"
                    nameAttribute="name" locationAttribute="href" activeAttribute="activeOn"
                    useAction="onClick" zIndex="8" />

       <TreeTabMap>
         <Tab ID="CreateTaxonomy"   nodeID="/Root/Edit Taxonomy/Create" />
         <Tab ID="EditTaxonomy"     nodeID="/Root/Edit Taxonomy/Edit" />

         <Tab action="javascript:DeleteTaxonomy( );"     nodeID="/Root/Edit Taxonomy/Delete" />

         <Tab ID="CreateNode"       nodeID="/Root/Edit Node/Create" />
         <Tab ID="EditNode"         nodeID="/Root/Edit Node/Edit" />

         <Tab action="javascript:CutNodeSubmit( );"     nodeID="/Root/Edit Node/Cut" />
         <Tab action="javascript:PasteNodeSubmit( );"   nodeID="/Root/Edit Node/Paste" />
         <Tab action="javascript:DeleteNodeSubmit( );"  nodeID="/Root/Edit Node/Delete" />
       </TreeTabMap>
    </TabRenderer>

    <TabbedElementRenderers>

      <SearchElementRenderer tabID="none" rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.NullElementRenderer"
                             width="280" />

      <!-- ============================================================================= -->
      <!--           CreateTaxonomy SearchElementRenderer                                -->
      <!-- ============================================================================= -->
      <SearchElementRenderer tabID="CreateTaxonomy" rendererClass="com.raritantechnologies.searchApp.taglibrary.SearchFormRowRenderer" >

         <SearchElementRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.TextInputElementRenderer"
                                fieldID="createTaxNameInput" width="50" initClear="true"  />

         <SearchElementRenderer rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.InputButtonElement"
                            text="Create Taxonomy"  
                            name="CreateTaxonomyButton"
                            cssClass="commandButton"
                            onClick="CreateTaxonomySubmit( );" 
                            renderAsHyperlink="true" >
            <SubmitHandler>
            function CreateTaxonomySubmit()
            {
              document.forms['EditTreeForm'].elements['command'].value = 'Create Taxonomy';
              document.forms['EditTreeForm'].elements['nameInput'].value = document.forms['EditTreeForm'].elements['createTaxNameInput'].value;
              document.forms['EditTreeForm'].elements['taxName'].value = document.forms['EditTreeForm'].elements['createTaxNameInput'].value;
              document.forms['EditTreeForm'].submit( );
              return false;
            }
            </SubmitHandler>

         </SearchElementRenderer>

      </SearchElementRenderer>

      . . .

   </TabbedElementRenderers>
 </SearchElementRenderer>