QuickList Component
The QuickList is a lightweight global UI component that includes the following features:
- Sorting on each column in the result table
- Pagination with configurable page size
- Single-select or multi-select across multiple pages
- Expandable rows to show a sub list
- Admin configuration page in Zuora Config to manage the QuickList component instances
The QuickList component is available in the Versions 6.2 and later of Zuora Quotes.
The QuickList component supports the following plug-ins:
- IFilterPlugin: For integrating with the QuickFilter component
- ISearchPlugin: For integrating with the QuickSearch component
- IAllowedRecodPlugin: For specifying rate plan IDs that you want to display in Guided Product Selectors
The following image shows a QuickList component instance in the single-select mode, sorted by Account Name.
The following image shows a QuickList component instance in the multi-select mode with embedded list (sub-list).
See QuickList Component Settings for creating and managing the QuickList instances in Zuora Config.
QuickList Component Attributes
The QuickList component accepts the following attributes.
Attribute
|
Type
|
Required?
|
Description
|
---|---|---|---|
contextIds | Map <Object, Object> |
Optional |
The context Ids associated with this particular list. If you are using the "List Filter Admin" segmentation in this list with dynamic values to be retrieved through a context, pass in the context IDs here. |
listName | String | Required | The unique list name registered in Zuora Config |
QuickList Component Plugins
The QuickList component supports the following plug-ins:
- zqu.QuickListController.IFilterPlugin
- zqu.QuickListController.ISearchPlugin
- zqu.QuickListController.IAllowedRecordPlugin
- zqu.QuickListController.IHierarchyAllowedRecordPlugin
The plug-ins are instantiated when the QuickList component is instantiated for the first time and are re-instantiated when the QuickList component is redrawn.
zqu.QuickListController.IFilterPlugin
Implement the custom IFilterPlugin to integrate the QuickList component with the QuickFilter component. The plug-in filters down the result set in the QuickList instance.
Interface Class Signature
global interface IFilterPlugin {
String getAdditionalFilters (
Map<String, List<String>> localFragments,
Map<String, String> contextIds,
Map<String, String> params);
}
zqu.QuickListController.ISearchPlugin
Implement the custom ISearchPlugin to integrate the QuickList component with the QuickSearch component.
Interface Class Signature
global interface ISearchPlugin {
String getSoslSearchString (
Map<String, List<String>> localStorageFragments,
Map<String, String> params);
}
zqu.QuicListController.IAllowedRecordPlugin
Implement the custom IAllowedRecordPlugin to control which rate plan IDs are displayed in the Guided Product Selectors.
Interface Class Signature
global interface IAllowedRecordPlugin {
Set<Id> getAllowedRecordIds(
Map<Object, Object> contextIds,
Map<String, String> pluginParams);
}
ContextIds
contains the key/value pairs of the Guided Selling Step context and the IDs, e.g. Quote and the Quote ID if the context is set to "Quote" for the Guided Selling Step.
PluginParams
contains the associated field set name and the SObject name specified in the Zuora Config QuickList setting.
If the context of the Guided Selling Step is set to be the current flow, the IAllowedRecordPlugin returns the IDs of the selected rate plans in the current Guided Selling Flow.
See Allowed Records Plugin Example for a sample use case.
zqu.QuickListController.IHierarchyAllowedRecordPlugin
Implement the custom IHierarchyAllowedRecordPlugin to control which products and rate plans are displayed in the Lightning Guided Product Selector.
The IHierarchyAllowedRecordPlugin is supported in Lightning Guided Product Selector only.
Interface Class Signature
global interface IHierarchyAllowedRecordPlugin {
zqu.QuickListController.PluginResult getAllowedRecords(
Map
<Object, Object> contextIds
,
Map<String, String> pluginParams);
}
contextIds
contains the key/value pairs of the Guided Selling Step context and the IDs, e.g. Quote and the Quote ID if the context is set to "Quote" for the Guided Selling Step.
pluginParams
should be empty.
The plugin returns zqu.QuickListController.PluginResult
which contains a list of zqu.QuickListController.PluginRecord
.
Each zqu.QuickListController.PluginRecord
is a product record and contains the following:
relatedObjectId
s: product Rate Plan idsrecordId
: product id
Sample Code
global class sampleAllowedRecordPlugin implements zqu.QuickListController.IHierarchyAllowedRecordPlugin { global zqu.QuickListController.PluginResult getAllowedRecords (Map<Object, Object> contextIds, Map<String, String> pluginParams){ zqu.QuickListController.PluginResult result = new zqu.QuickListController.PluginResult(); zqu.QuickListController.PluginRecord record = new zqu.QuickListController.PluginRecord(); record.recordId = '01to0000001tjqQAAQ'; record.relatedObjectIds = new Map<String, List<ID>> {'zqu__productrateplan__c' => new List<ID> {'a0Io000000kUsgZEAS', 'a0Io000000kUsgaEAC', 'a0Io000000kUsgcEAC'}}; result.records = new List<zqu.QuickListController.PluginRecord>(); result.records.add(record); return result; } }
Example Use Case
This section provides examples on how to use the QuickList component on Visualforce pages.
Create a simple list in the single-select mode
This example shows you how to build a list of accounts in the single-select mode using the QuickList component.
- Create a new list in the QuickList Component Settings.
- List Name: AccountList
- Associated Field Set: zqu__Fields_For_Select_Billing_Account
- SObject Name: Account
- Selection Cardinality: Single-Select
- On a Visualforce page, add the following code:
<zqu:QuickList listname="AccountList" contextIds=""/>
When you open the Visualforce page, the QuickList component queries all the records of the Account object and displays them as shown in the example below:
Add an embedded sublist
In this example, you leverage the previous QuickList instance to add an embedded sub list and make the parent list multi-selectable.
- Create a new list in the QuickList Component Settings:
- List Name: AccountQuoteList
- Associated Field Set: zqu__Quote_Information
- SObject Name: zqu__Quote__c
- The Selection Cardinality field value has no effect when used in a sub list.
- Edit the list from the previous example, AccountList.
- Click the lookup icon for the Associated Sub List field and select the List Number for the AccountQuoteList list.
- In the Relationship Field Name field, enter the API name of the Quote Lookup field, zqu__Account__c.
- Refresh the Visualforce page from the previous example to see the changes. The Visualforce page does not need to be updated.
- Click + left to the Account Name to display the sublist of quotes for the account.