Able to pass lightning component values to server side. But passed Ids are not working in server side
For ex: caseIDStr contains values.Please check below image
But this is not building below query
clist=[Select Id,
CaseNumber,GSS_Business_unit__c,GSS_Support_Level__c,owner.Name from Case
where Id IN:caseIDStr];
Instead of caseIDStr IF i Hardcode Ids ,i will get the reults
I suspect that probelm caseIDStr, why its breaking
VFPAGE:
<apex:page standardController="case" extensions="Gss_CsHelathCheckExtension"
recordsetVar="lstAllUserData" sidebar="false" showHeader="false">
<apex:includeScript value="/lightning/lightning.out.js" />
<apex:includeLightning />
<div id="lightning" />
<script>
// alert(typeof "{!lstSelUserDataIds}");
var myList = '{!lstSelUserDataIds}';
var tempmylist = myList.split(',');
//alert(typeof tempmylist);
$Lightning.use("c:Gss_CloneSkillsToApp", function(){
$Lightning.createComponent(
"c:Gss_CaseHealthCheck",
{"caselist" : tempmylist},
"lightning",
function(cmp){});
});
</script>
controller:
public class Gss_CsHelathCheckExtension {
ApexPages.StandardSetController setCon;
public String[] lstSelUserDataIds{get; set;}
public Gss_CsHelathCheckExtension(ApexPages.StandardSetController standardController)
{
system.debug('---constructor--');
this.setCon =standardController;
lstSelUserDataIds = new String[]{};
for(case selectedRec : (List<case>)setCon.getSelected())
{
lstSelUserDataIds.add(selectedRec.id);
system.debug('---lstSelUserDataIds--'+lstSelUserDataIds);
}
}
}
Component:
<!-- caselist value from vf page
<aura:attribute name="caselist" type="String[]"/>
Js side:
var action=component.get("c.getCaseDetails");
action.setParams({
"caseIDStr":component.get("v.caselist"),
});
action.setCallback(this,function(response) {
var state=response.getState();
if(state==='SUCCESS'){
component.set("v.caseSerExcList",response.getReturnValue());
}
});
$A.enqueueAction(action);
Server side:
@AuraEnabled
public static List<object> getCaseDetails(String [] caseIDStr){
system.debug('caseIDStr---->'+caseIDStr);
//for this query id values are not passing.If I do hardcode it will work
if(!caseIDStr.isEmpty()){
clist=[Select Id,
CaseNumber,GSS_Business_unit__c,GSS_Support_Level__c,owner.Name from Case
where Id IN:caseIDStr];
}
system.debug('clist --->'+clist);
for(Case c: clist ){
caseSerExcList.add(new CaseAssociatedSerExc(c));
}
system.debug('caseSerExcList--->'+caseSerExcList);
}