Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Usage: getPicklistLabelsWithValues(new List<String>{'Case.Status', 'Lot__c.Type__c'})
- @AuraEnabled
- public static Map<String,List<Map<String, String>>> getPicklistLabelsWithValues(List<String> objectWithFieldList){
- try{
- Map<String,List<Map<String, String>>> pickListLabelsValuesMap= new Map<String,List<Map<String, String>>> ();
- for(String objectWithField : objectWithFieldList)
- {
- List<String> objectWithFieldSplitted = objectWithField.split('\\.');
- pickListLabelsValuesMap.put(objectWithFieldSplitted[1], getPicklistLabelsWithValuesValuesForField(Schema.getGlobalDescribe().get(objectWithFieldSplitted[0]).getDescribe().fields.getMap().get(objectWithFieldSplitted[1])));
- }
- return pickListLabelsValuesMap;
- }
- catch(Exception exceptionInstance)
- {
- throw new AuraHandledException(exceptionInstance.getStackTraceString());
- }
- }
- private static List<Map<String, String>> getPicklistLabelsWithValuesValuesForField(Schema.SObjectField field)
- {
- List<Map<String, String>> labelsWithValuesMapList = new List<Map<String, String>>();
- Map<String,String> pickListLabelValueMap;
- Schema.DescribeFieldResult fieldResult = field.getDescribe();
- List<Schema.PicklistEntry> ple = fieldResult.getPicklistValues();
- for( Schema.PicklistEntry pickListVal : ple){
- pickListLabelValueMap = new Map<String,String>();
- pickListLabelValueMap.put('value', pickListVal.getValue());
- pickListLabelValueMap.put('label', pickListVal.getLabel());
- labelsWithValuesMapList.add(pickListLabelValueMap);
- }
- return labelsWithValuesMapList;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement