Build a Visualforce Multi-Select Picklist Component using Chosen

Key Information

The challenge is finished.
Show Deadlines

Challenge Overview

Multi-select picklists are a useful tool in any business process. We have a Salesforce app which uses a bunch of multi-selects, and while we love the value it provides, SFDC renders multi-selects in such an ugly way! 

Chosen arrives to save the day! Unfortunately Chosen needs a little help to force its way into our app. That is where you come in!

We need to have a function developed which can easily be inserted into existing Visualforce pages. This function will use Chosen to render the multi-select and needs to support a variety of options.

Expected Parameters:

Parameter Parameter Type Functionality
All Boolean If True, the multi-select must include an "ALL" option as the first item in the picklist.
All Default Boolean Only required if All=TRUE. If All Default = TRUE, then when the page loads, the All selection should be pre-selected.
All Name String Not required. If All=TRUE, then this field string should be the display value of All in the multiselect picklist.
Picklist Values Map The picklist values will be a map which contain id, value. Id will be a SFDC ID, value will be a string. Display the value in the picklist, and when an option is selected in the picklist, it should pass along the id.

Additional Info regarding ALL:

  • If the All option is selected in the picklist, remove all other selected values and only display "All" as selected.
  • If the All option is already selected and the user expands the list and selects another value then place the new value in selections and remove the All selection.

You must use Chosen to power the picklist: http://harvesthq.github.io/chosen/


Final Submission Guidelines

Upload all your source code as a zip (you can simply zip up your Eclipse project for convenience) and provide any documentation and/or instructions that are needed. Please be clear and concise with any setup instructions.

A video of your application using Jing or Youtube is required. An unmanaged package for installation is also required.

Reliability Rating and Bonus

For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
Read more.


Final Review:

Community Review Board


User Sign-Off


Review Scorecard