• shubham soitkar 6
  • NEWBIE
  • 20 Points
  • Member since 2021

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 1
    Replies
Aura Component:-

<aura:component controller="createAccount" implements="force:hasRecordId,flexipage:availableForRecordHome" >
    <aura:attribute name="createAccount" type="Account[]" default="{
                                                                   
                                                          'sObjectType' : 'Account',
                                                          'FirstName'   : ' ' ,
                                                          'LastName'    : ' ',
                                                          'BillingAddress' : ' ',
                                                          'Rating' : ' '        
                    
                                                                        }" />
  <aura:attribute name="starRating" type="List" default="[
    {'label': 'Hot', 'value': 'Hot'},
    {'label': 'Warm', 'value': 'Warm'},
    {'label': 'Cold', 'value': 'Cold'},
    ]"/> 
    
    <lightning:input aura:id="input1" label="FirstName" value="{!v.createAccount.FirstName}" required="True"/>
    <lightning:input aura:id="input2" label="LastName" value="{!v.createAccount.LastName}" required="True"/>
    <lightning:input aura:id="input3" label="Address" value="{!v.createAccount.BillingAddress}" required="True"/>
     <lightning:combobox name="sRating" label="Rating" value="None" placeholder="Select Progress" options="{!v.starRating }" 
                                                            onchange="{!c.handleChange }"/> 

     <lightning:button title="Neutral action" 
                                  label="Save"   
                                  onclick="{!c.handleClick}"/>
    
    </aura:component>

JS Controller:-
({
    handleChange : function(component, event, helper) {
        
        let selectedOptionValue = event.getParam("value"); 
        component.set("v.createAccount.Rating",selectedOptionValue);
        let values= component.get("v.createAccount.Rating");
        alert(values); 
        console.log(values);
    },
    
    handleClick : function(component, event, helper) {
        var target = event.getSource();
        var id = target.get("v.label");     
        alert(id);
        
         var action = component.get("c.createAcc");
        action.setParams({ 
         Acc : component.get("v.createAccount") });
 
        // Create a callback that is executed after 
        // the server-side action returns
        action.setCallback(this, function(response) {
            var state = response.getState();
            if (state === "SUCCESS") {
                alert('Record added');// Alert the user with the value returned 
                // from the server
                alert("From server: " + response.getReturnValue());
                 console.log('Sucessfully added content to Object');
                // You would typically fire a event here to trigger 
                // client-side notification that the server-side 
                // action is complete
            }
            else if (state === "INCOMPLETE") {
              alert("Incomplete");  // do something
            }
            else if (state === "ERROR") {
                var errors = response.getError();
                if (errors) {
                    if (errors[0] && errors[0].message) {
                        console.log("Error message: " + 
                                 errors[0].message);
                    }
                } else {
                    console.log("Unknown error");
                }
            }
        });
 
        // optionally set storable, abortable, background flag here
 
        // A client-side action could cause multiple events, 
        // which could trigger other events and 
        // other server-side action calls.
        // $A.enqueueAction adds the server-side action to the queue.
        $A.enqueueAction(action);
    

    
    }     
})

Apex Code:-

public class createAccount {
    
    @AuraEnabled
    public static Account createAcc(Account Acc){
                  
            insert Acc;
       
        return Acc;
    }
}
controller:-

({
    doInit : function(component, event, helper) {
           // create a one-time use instance of the serverEcho action
        // in the server-side controller
        var action = component.get("c.getcontact");
        action.setParams({ accountId : component.get('v.recordId'), });
 
        // Create a callback that is executed after 
        // the server-side action returns
        action.setCallback(this, function(response) {
            var state = response.getState();
            if (state === "SUCCESS") {
                // Alert the user with the value returned 
                // from the server
                component.set("v.contactname",response.getReturnValue());
                 console.log(response.getReturnValue());
                // You would typically fire a event here to trigger 
                // client-side notification that the server-side 
                // action is complete
            }
            else if (state === "INCOMPLETE") {
                // do something
            }
            else if (state === "ERROR") {
                var errors = response.getError();
                if (errors) {
                    if (errors[0] && errors[0].message) {
                        console.log("Error message: " + 
                                 errors[0].message);
                    }
                } else {
                    console.log("Unknown error");
                }
            }
        });
 
        // optionally set storable, abortable, background flag here
 
        // A client-side action could cause multiple events, 
        // which could trigger other events and 
        // other server-side action calls.
        // $A.enqueueAction adds the server-side action to the queue.
        $A.enqueueAction(action);
    },
    
     doButton : function(component, event, helper) {
        var eventSource = event.getSource();
        var id = eventSource.get(v.name);
        alert(id); 
    }
});

Aura Component:

<aura:component controller="contactclass" implements="flexipage:availableForAllPageTypes,force:hasRecordId">
    
    <aura:attribute name="contactname" type="Contact[]" />
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    
    {!v.recordId}
    <div class="slds-grid slds-wrap">
        <aura:iteration items="{!v.contactname}" var="item" >
              <div class="slds-col slds-size_1-of-3">
                  <div class="slds-p-around_x-small">
                <lightning:card footer="Business Card" title="Cognizant" variant="Narrow"  iconName="standard:employee_asset">
                    <aura:set attribute="actions">
                    
                        <lightning:button variant="brand" name="values"  label="More" title="Brand action" onclick="{!c.doButton }" />                  
                    </aura:set>
                        <p class="slds-p-horizontal_small">
                             {!item.FirstName} &nbsp; {!item.LastName}<br />
                            </p>
                   </lightning:card>
              </div>        
            </div>             
        </aura:iteration>
     
    </div>    
    
</aura:component>

contact class:-
controller:-

({
    doInit : function(component, event, helper) {
           // create a one-time use instance of the serverEcho action
        // in the server-side controller
        var action = component.get("c.getcontact");
        action.setParams({ accountId : component.get('v.recordId'), });
 
        // Create a callback that is executed after 
        // the server-side action returns
        action.setCallback(this, function(response) {
            var state = response.getState();
            if (state === "SUCCESS") {
                // Alert the user with the value returned 
                // from the server
                component.set("v.contactname",response.getReturnValue());
                 console.log(response.getReturnValue());
                // You would typically fire a event here to trigger 
                // client-side notification that the server-side 
                // action is complete
            }
            else if (state === "INCOMPLETE") {
                // do something
            }
            else if (state === "ERROR") {
                var errors = response.getError();
                if (errors) {
                    if (errors[0] && errors[0].message) {
                        console.log("Error message: " + 
                                 errors[0].message);
                    }
                } else {
                    console.log("Unknown error");
                }
            }
        });
 
        // optionally set storable, abortable, background flag here
 
        // A client-side action could cause multiple events, 
        // which could trigger other events and 
        // other server-side action calls.
        // $A.enqueueAction adds the server-side action to the queue.
        $A.enqueueAction(action);
    },
    
     doButton : function(component, event, helper) {
        var eventSource = event.getSource();
        var id = eventSource.get(v.name);
        alert(id); 
    }
});

Aura Component:

<aura:component controller="contactclass" implements="flexipage:availableForAllPageTypes,force:hasRecordId">
    
    <aura:attribute name="contactname" type="Contact[]" />
    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
    
    {!v.recordId}
    <div class="slds-grid slds-wrap">
        <aura:iteration items="{!v.contactname}" var="item" >
              <div class="slds-col slds-size_1-of-3">
                  <div class="slds-p-around_x-small">
                <lightning:card footer="Business Card" title="Cognizant" variant="Narrow"  iconName="standard:employee_asset">
                    <aura:set attribute="actions">
                    
                        <lightning:button variant="brand" name="values"  label="More" title="Brand action" onclick="{!c.doButton }" />                  
                    </aura:set>
                        <p class="slds-p-horizontal_small">
                             {!item.FirstName} &nbsp; {!item.LastName}<br />
                            </p>
                   </lightning:card>
              </div>        
            </div>             
        </aura:iteration>
     
    </div>    
    
</aura:component>

contact class:-