The Ultimate Visualforce Events Tab – Almost

January 5, 2009 · Filed Under Configuration, Visualforce, Winter 09, salesforce.com 
Check old blog posts, and you’ll see that I’ve been working on custom Events and Task tabs for a while now. A Task Visualforce tab (that mimics the Task box on the Home Page) is almost ready to come out, but the Events Enhanced List tab is (pretty much) here!

This bears emphasizing: Enhanced Lists were initially not fully released for Activity/Event/Task objects, but are available now.

The code is ridiculously simple, thanks to the apex:EnhancedList Visualforce tag:

<apex:page standardController="Task" >
<apex:enhancedList type="Activity" height="800" rowsPerPage="50" />
</apex:page>
See? Nothing to it! Or so we thought. There are some catches (there always are):

  1. The original use-case required displaying all upcoming events without the header or sidebar. We still cannot do this. Quoting from the Winter ’09 Release Notes: The enhancedList component is not allowed on pages that have the attribute showHeader set to false.
  2. We’d like to create a custom tab for this page. We create a Visualforce Tab, pick a custom icon, and show the page… and when I click on the tab, the enhanced list is displayed, but the tab is not highlighted. Also, the custom icon I chose is not displayed. How do we highlight our tab?
    After making the page, we make the tab as desribed above. Then we RETURN to the page and add a tabstyle modifier to the apex:page tag, like so:
    <apex:page standardController="Task" tabstyle="enhanced_activities__tab">
    <apex:enhancedList type="Activity" height="800" rowsPerPage="50" />
    </apex:page>
    
    [Of course, change the tab name to whatever you choose.]

    Success? Not quite. There’s another catch:

  3. The tab is highlighted (brown in our case), but the color and icon for the enhanced list are standard green/home.
    Sadly, I have no workaround for this one. Sorry.
To repeat: Enhanced lists were not initially fully available for Events and Tasks, but now do support them.

Moving forward, consider if you want to create a particular enhanced list view instead of calling the standard enhanced Activity list as I have done here. If you would prefer to make a custom enhanced list view, then you will need to add more code, but that is beyond the scope of this post.

Enjoy!

Comments

4 Responses to “The Ultimate Visualforce Events Tab – Almost”

  1. Ron Hess on January 5th, 2009 19:41

    David, for #3 you can set the color using css, something like this

    .individualPalette .taskBlock .primaryPalette { border-color:#6D6002; background-color:#6D6002; }

  2. MD1 on January 6th, 2009 15:56

    Excellent read as always!

  3. Tim Smith on January 7th, 2009 00:08

    Another option for #3 is to use a custom tab style and choose a green color for that style. I did this for my activities tab and it looks great.

  4. David Schach on January 7th, 2009 18:00

    I hear you, but being limited to one color goes against the flexibility that Visualforce development depends on. If I were content to stick with green, then that would be fine, but I want to follow my regular Salesforce CRM mantra, “Anything is possible with enough hours and brain cells.” Sorry, but if I want brown, I deserve brown!

Leave a Reply




Additional comments powered by BackType