Build a Visualforce Multi-Select Picklist Component using Chosen

Key Information

Register
Submit
The challenge is finished.

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.

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30040947