Newer Version Available
DesignTimePageContext Class
An abstract class that provides context information about a
Lightning page. It can be used to help define the values of a picklist in a Lightning component on a Lightning page based on the
page’s type and the object with which it’s associated.
Namespace
Usage
To use this class, create a parameterized constructor in the custom
Apex class that extends VisualEditor.DynamicPickList.
Example
Here’s an example of a custom Apex class extending the VisualEditor.DynamicPickList class. It includes VisualEditor.DesignTimePageContext to define a picklist value that is available only if the page type is HomePage.
1global class MyCustomPickList extends VisualEditor.DynamicPickList{
2 VisualEditor.DesignTimePageContext context;
3
4 global MyCustomPickList(VisualEditor.DesignTimePageContext context) {
5 this.context = context;
6 }
7
8 global override VisualEditor.DataRow getDefaultValue(){
9 VisualEditor.DataRow defaultValue = new VisualEditor.DataRow('red', 'RED');
10 return defaultValue;
11 }
12 global override VisualEditor.DynamicPickListRows getValues() {
13 VisualEditor.DataRow value1 = new VisualEditor.DataRow('red', 'RED');
14 VisualEditor.DataRow value2 = new VisualEditor.DataRow('yellow', 'YELLOW');
15 VisualEditor.DynamicPickListRows myValues = new VisualEditor.DynamicPickListRows();
16 myValues.addRow(value1);
17 myValues.addRow(value2);
18
19 if (context.pageType == 'HomePage') {
20 VisualEditor.DataRow value3 = new VisualEditor.DataRow('purple', 'PURPLE');
21 myValues.addRow(value3);
22 }
23
24 return myValues;
25 }
26}DesignTimePageContext Properties
The following are properties for DesignTimePageContext.
entityName
The API name of the sObject that a Lightning page is associated
with, such as Account, Contact or Custom_object__c. Not all Lightning pages are associated
with objects.
Signature
public String entityName {get; set;}
Property Value
Type: String