Welcome to Zuora Product Documentation

Explore our rich library of product information

QuickList Component

The QuickList Component is a versatile UI element in Zuora Quotes, offering features like column sorting, pagination, and multi-select capabilities, along with support for various plug-ins to enhance functionality.

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

Note:

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.

QuickList example1

The following image shows a QuickList component instance in the multi-select mode with embedded list (sub-list).

QuickListMultiSelect

See QuickList Component Settings for creating and managing the QuickList instances in Zuora Config.

QuickList Component 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.

Note:

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 ids

  • recordId : 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;
     }
}

Refer examples on Use case examples for QuickList component.