I realized when I saw the subject come up that I really have two questions.  
The question I asked in my last note being a bit more pressing.  The other 
question is I'm seeing the styles & the javascript is rendering for the 
jscookMenu, however the internal images that the javascript loads on the right 
hand side of the sub-child elements are not rendering.  I get the image not 
found placeholder (the infamous red 'X').  Is there something else I need to 
add to my Extensions Filter configuration to let that work? 

-----Original Message-----
From: Neal Haggard [mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 31, 2005 1:11 PM
To: MyFaces Discussion
Subject: Jscookmenu - ThemeOffice - Images not displaying?

I'm attempting to use the jscookmenu as an actionmenu in a table, to allow 
table actions per row.  When I click on the link in the second column (to call 
#{selectContactBean.overview}, it properly chooses the correct row from the 
dataTable, but when choosing the #{selectContactBean.overview} action from the 
x:jscookMenu, it does not.  Any ideas why this isn't working, and more 
importantly how I can fix it so I can do this?

Here's a snippet of my JSP:

<h:dataTable value="#{selectContactBean.myContacts}" 
   var="contact"
   binding="#{selectContactBean.contactTable}">
  <h:column>
    <x:jscookMenu layout="hbr" theme="ThemeOffice" >
      <x:navigationMenuItem id="showActions" 
icon="#{resources['actions.showActions.image']}" itemLabel=" ">
        <x:navigationMenuItem id="overview" 
icon="#{resources['actions.overview.image']}"                     
         itemLabel="#{resources['actions.overview.txt']}" 
action="#{selectContactBean.overview}"/>
        <x:navigationMenuItem id="copy" 
icon="#{resources['actions.copy.image']}" 
         itemLabel="#{resources['actions.copy.txt']}" action="copy" />
        <x:navigationMenuItem id="delete" 
icon="#{resources['actions.delete.image']}" 
         itemLabel="#{resources['actions.delete.txt']}" action="delete" />
        <x:navigationMenuItem id="summary" split="true" 
icon="#{resources['actions.summary.image']}" 
         itemLabel="#{resources['actions.summary.txt']}" action="summary" />
      </x:navigationMenuItem>
    </x:jscookMenu>
  </h:column>
  <h:column>
    <f:facet name="header">
      <h:outputText value="#{resources['column.contacts.contact.txt']}" />
    </f:facet>
        <h:commandLink action="#{selectContactBean.overview}">
      <h:outputText value="#{contact.name}" />
        </h:commandLink>
  </h:column>
</h:dataTable>

Here's a piece of my selectContactBean:

/**
 * Handle retrieving & selecting contacts from a user's contacts.
 */
public class SelectContactBean extends AbstractBaseBean {
    /** UIData object so we can see what row was selected. */
    private UIData contactTable;

    /**
     * Get the contact table
     * 
     * @return Returns the contactTable.
     */
    public UIData getContactTable() {
        return contactTable;
    }

    /**
     * Set the contact table.
     * 
     * @param contactTable The contactTable to set.
     */
    public void setContactTable(UIData contactTable) {
        this.contactTable = contactTable;
    }

    /**
     * Get a list of the user's contacts.
     * 
     * @return A List holding all the contacts for the current user.
     */
    public List getMyContacts() {
        return getVisit().getUser().getContacts();
    }

    /**
     * Get the contact that was selected and, if successful, navigate to the
     * overview page for that contact.
     * 
     * @return Navigation outcome string
     */
    public String overview() {
        return getContact();
    }

    /**
     * Use the contactTable UI component to get the selected contact. Verify
     * they are still in the datastore and set the contact as the current
     * contact.
     * 
     * @return Navigation outcome string
     */
    public String getContact() {
        FacesContext facesContext = getFacesContext();
        
        // Get the selected row as a Contact
        Contact contact = (Contact) contactTable.getRowData();

        // Set the current contact on our visit
        getVisit().setCurrentContact(contact);

        // Success
        return Constants.SUCCESS_OUTCOME;
    }
}

Reply via email to