public with sharing class RecordLastCtl {
|
public RecordLastCtl() {
|
|
}
|
@AuraEnabled(cacheable=false)
|
public static List<RecentlyViewedStr> getRecentlyViewedListView(){
|
List<RecentlyViewedStr> rvList = new List<RecentlyViewedStr>();
|
Map<String,String> iconMap = new Map<String,String>();
|
List<RecentlyViewed> resultList = [SELECT Id, Name, Type, LastViewedDate, LastReferencedDate FROM RecentlyViewed WHERE NOT Name like '%主页用%' order by LastViewedDate desc limit 20];
|
List<TabDefinition> tabList = [SELECT (SELECT ContentType, Url FROM Icons WHERE ContentType LIKE 'image/svg%'),SobjectName FROM TabDefinition];
|
if (resultList!=null && resultList.size() > 0) {
|
if (tabList.size() > 0) {
|
for (TabDefinition tab : tabList) {
|
if (tab.Icons.size() > 0) {
|
iconMap.put(tab.SobjectName, tab.Icons[0].Url.split('35/')[1].split('.svg')[0].replace('/',':'));
|
}
|
}
|
}
|
for (RecentlyViewed rv : resultList) {
|
RecentlyViewedStr rvStr = new RecentlyViewedStr();
|
rvStr.id = rv.Id;
|
rvStr.name = rv.Name;
|
rvStr.type = rv.Type;
|
SObjectType sObj = Schema.getGlobalDescribe().get(rv.Type);
|
rvStr.type = sObj.getDescribe().getLabel();
|
rvStr.amount = '/lightning/r/'+ rv.Id+'/view';
|
if (String.isNotBlank(iconMap.get(rv.Type))) {
|
rvStr.ico = iconMap.get(rv.Type);
|
} else {
|
rvStr.ico = 'custom:custom100';
|
}
|
rvList.add(rvStr);
|
}
|
}
|
return rvList;
|
}
|
public class RecentlyViewedStr {
|
@AuraEnabled
|
public String id;
|
@AuraEnabled
|
public String name;
|
@AuraEnabled
|
public String type;
|
@AuraEnabled
|
public String expectedRevenue;
|
@AuraEnabled
|
public String amount;
|
@AuraEnabled
|
public String ico;
|
}
|
}
|