LIGHTNING SCENARIO BASED QUESTIONS

Q1: When we should use aura: handler in Salesforce lightning component? can you write syntex?

Ans: In lightning, the component is used to handle standard and custom events we can create our custom lightning event and also use standard events, standard lightning event is automatically fired when the related event is fire.Generic HighlightingEnlighterJS Syntax Highlighter

Q2: Can we access one javascript controller method on another controller method in the salesforce lightning component?

Ans: No, we can’t able to access.

Q3: Can we access one javascript helper method on another helper method in the lightning Component?

Ans: Yes,We can able to access.

Q4: How to add a lightning button in Salesforce Lightning?

Ans: Use lighting button tag to add the button in component.Generic HighlightingEnlighterJS Syntax Highlighter

Q5: What is LDS IN salesforce lightning?

Ans: Use Lightning Data Service to load, create, edit, or delete a record in your component without requiring Apex code. Lightning Data Service handles sharing rules and field-level security for you. In addition to simplifying access to Salesforce data, Lightning Data Service improves performance and user interface consistency.
1. No need to write any Apex class
2. No need to write SOQL
3. Field level security and record sharing is inbuilt
4. CRUD operation supported
5. Shared cache is used by all standard and custom components

6.Auto notification to all components
7. Supports offline in Salesforce 1

Q6: How to display success, warning, error, info message lightning page? can you write sample code?

<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes">
<div>
<lightning:button label="Information"
variant="brand"
onclick="{!c.showInfo}"/>
<lightning:button label="Error"
variant="destructive"
onclick="{!c.showError}"/>
<lightning:button label="Warning"
variant="neutral"
onclick="{!c.showWarning}"/>
<lightning:button label="Success"
variant="success"
onclick="{!c.showSuccess}"/>

</div>
</aura:component>
({
showInfo : function(component, event, helper) {
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title : 'Info',
message: 'This is an information message.',
duration:' 5000',
key: 'info_alt',
type: 'info',
mode: 'dismissible'
});
toastEvent.fire();
},
showSuccess : function(component, event, helper) {
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title : 'Success',
message: 'This is a success message',
duration:' 5000',

key: 'info_alt',
type: 'success',
mode: 'pester'
});
toastEvent.fire();
},
showError : function(component, event, helper) {
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title : 'Error',
message:'This is an error message',
duration:' 5000',
key: 'info_alt',
type: 'error',
mode: 'pester'
});
toastEvent.fire();
},
showWarning : function(component, event, helper) {
var toastEvent = $A.get("e.force:showToast");
toastEvent.setParams({
title : 'Warning',
message: 'This is a warning message.',
duration:' 5000',
key: 'info_alt',
type: 'warning',
mode: 'sticky'
});
toastEvent.fire();
}
})

Q8: How to set the value to attribute , can you write simple example?

<aura:component >
<aura:attribute name="booleanvar" type="boolean" default="false"/>
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
value is:{!v.booleanvar}
</aura:component>

({
doInit:function(component,event,helper){
component.set("v.booleanvar",true)
}
})

Q9: How to display the data in lightning component? can you write the code?

public class contactcontroller {
@AuraEnabled
public static list<contact> condata()
{
list<contact> col=[select id,LastName,Email,Phone from contact ];
return col;
}
}
<aura:component controller="contactcontroller">
<aura:attribute name="conlist" type="list"/>
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
<table class="slds-table slds-table_cell-buffer slds-table_bordered">
<tr >
<td>
LastName
</td>
<td>
Email
</td>
<td>Phone</td>
</tr>
<aura:iteration items="{!v.conlist}" var="con">

<tr>
<td>
{!con.LastName}
</td>
<td>
{!con.Email}
</td>
<td >
{!con.Phone}
</td>
</tr>
</aura:iteration>
</table>
</aura:component>
({
doInit :function(component, event, helper)
{
var action=component.get("c.condata");
action.setCallback(this,function(response){
var responseval=response.getReturnValue();
var state=response.getState();
console.log('state is'+state);
if(state==='SUCCESS')
{
component.set("v.conlist",responseval);
}
else
{
console.log('unable to process the data');
}
});
$A.enqueueAction(action);
}
})

order of execution in lightning
step 1:
we can calling the controller method in javascript
var action=component.get(“c.displayContacts”);

step 2:
we can pass the parameters
action.setParams({
});
step 3:
$A.enqueueAction(action) sends the request the server. More precisely, it adds the call to
the queue of asynchronous server calls.
$A.enqueueAction(action);
step 4:
action.setCallback() sets a callback action that is invoked after the server-side action returns.

Q10: How to display the contact records based on AccountId can you write code lightning?

public class accconbaes {
@AuraEnabled
public static List<Account> displayAccounts()
{
List<Account> acclist=[select Id,Name,Site from Account LIMIT 10];
return acclist;
}
@AuraEnabled
public static List<Contact> displayContacts(String searchkey)
{
System.debug('Value of the AccountId'+searchkey);
List<Contact> conlist=[select Id,AccountId,LastName,Email from Contact where
AccountId=:searchkey];
return conlist;
}
}
<aura:component controller="accconbaes">
<aura:attribute name="acclist" type="list"/>
<aura:attribute name="conlist" type="list"/>
<aura:attribute name="isDisplay" type="boolean" default="false"/>
<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
<table class="slds-table slds-table_cell-buffer slds-table_bordered">
<tr>

<td>Action</td>
<td>Id</td>
<td>Name</td>
</tr>
<aura:iteration items="{!v.acclist}" var="acc">
<tr>
<td>
<lightning:input type="radio" name="radioButon" value="{!acc.Id}"

onchange="{!c.showData}"/>
</td>
<td>
{!acc.Id}
</td>
<td>
{!acc.Name}
</td>
</tr>
</aura:iteration>
</table>
<aura:if isTrue="{!v.isDisplay}">
<table class="slds-table slds-table_cell-buffer slds-table_bordered">
<tr>
<td>Id</td>
<td>LastName</td>
</tr>
<aura:iteration items="{!v.conlist}" var="con">
<tr>
<td>
{!con.Id}
</td>
<td>
{!con.LastName}
</td>
</tr>
</aura:iteration>

</table>
</aura:if>
</aura:component>
({
doInit : function(component, event, helper) {
var action=component.get("c.displayAccounts");
action.setCallback(this,function(response){
var state=response.getState();
var responseval=response.getReturnValue();
if(state==='SUCCESS')
{
component.set("v.acclist",responseval);
}
else
{
alert('unable to process the request');
}
});
$A.enqueueAction(action);
},
showData:function(component,event,helper){
var currentAccountId=event.getSource().get("v.value");
component.set("v.isDisplay",true);
var action=component.get("c.displayContacts");
action.setParams({
searchkey:currentAccountId
});
action.setCallback(this,function(response){
var state=response.getState();
var responseval=response.getReturnValue();
if(state==='SUCCESS')
{
component.set("v.conlist",responseval);
}
else
{
alert('unable to process the request');
}
});

$A.enqueueAction(action);
}
})
<aura:application extends="force:slds" >
<c:acccon></c:acccon>
</aura:application>

HAPPY LEARNING