Create custom path dynamically for a picklist field of Stage in Opportunity Object using lightning:picklistPath in Lightning Component Salesforce | how to create custom lightning path for a picklist field of Stage in Opportunity

3,723 views


Hey guys, today in this post we are going to learn about How to Create custom path dynamically for a picklist field of Stage in Opportunity Object using lightning:picklistPath in Lightning Component Salesforce.

Files we used in this post example

customPathStatusCmp.cmp Lightning Component It is used to create a custom custom path for a picklist field of Stage in Opportunity Object in lightning component Uses of lightning:picklistPath.
customPathStatusCmpController.js JavaScript Controller File It is hold Javascript doInit function.
customPathStatusCmpHelper.js JavaScript Controller Helper File It is hold Javascript Helper onselect function to get the list of Picklist value and select the active stage.
customPathStatusCtrl.apxc Apex Class Controller It is used to retrieve the list of Picklist value of Stage field from Opportunity Object through Apex class method.
Standard Object:- Opportunity

Stage Picklist Fields:- StageName

Standard and their fields It’s retrieve StageName Picklist value of Opportunity.

Final Output

custom lightning path in lightning component -- w3web.net

 

You can download file directly from github by Click Here.

Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!

 

 

 

Other related post that would you like to learn in Salesforce

 

Create Lightning Component

Step 1:- Create Lightning Component : customPathStatusCmp.cmp

From Developer Console >> File >> New >> Lightning Component

customPathStatusCmp.cmp [Lightning Component File]

  1.   <aura:component controller="customPathStatusCtrl" implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" >
  2. 	<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>  
  3.     <aura:attribute name="stagePicklistField" type="object"/>
  4.     <aura:attribute name="recordId" type="string"/>
  5.  
  6.      <div class="slds">
  7.         <div class="pathStatus"> 
  8.             <force:recordData aura:id="record"
  9.                               layoutType="FULL"
  10.                               recordId="{!v.recordId}"
  11.                               targetFields="{!v.stagePicklistField}"
  12.                               mode="EDIT" />
  13.  
  14.             <lightning:picklistPath aura:id="stagePicklistPath" recordId="{!v.recordId}"
  15.                                     variant="linear"
  16.                                     picklistFieldApiName="StageName"
  17.                                     onselect="{!c.stagePicklistSelect}">
  18.             </lightning:picklistPath>
  19.  
  20.         </div>
  21.  
  22.         <br/>
  23.         <br/>
  24.    <!--Start RelatedTopics Section-->
  25. <div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;">
  26.  
  27.             <p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/05/thumbsUpLike.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:16px; font-style:italic; display:inline-block; margin-right:5px;">Don't forget to check out:-</span><a href="https://www.w3web.net/" target="_blank" rel="noopener noreferrer" style="text-decoration:none;" data-aura-rendered-by="440:0">An easy way to learn step-by-step online free Salesforce tutorial, To know more Click  <span style="color:#ff8000; font-size:18px;" data-aura-rendered-by="442:0">Here..</span></a></strong></p>
  28.  
  29.             <br/><br/>
  30.             <p data-aura-rendered-by="435:0"><img src="https://www.w3web.net/wp-content/uploads/2021/07/tickMarkIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;" data-aura-rendered-by="436:0"><strong data-aura-rendered-by="437:0"><span style="font-size:17px; font-style:italic; display:inline-block; margin-right:5px; color:rgb(255 128 0);">You May Also Like →</span> </strong></p>
  31.             <div style="display:block; overflow:hidden;"> 
  32.                 <div style="width: 50%; float:left; display:inline-block">
  33.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  34.                         <li><a href="https://www.w3web.net/lwc-get-set-lightning-checkbox-value/" target="_blank" rel="noopener noreferrer">How to get selected checkbox value in lwc</a></li>
  35.                         <li><a href="https://www.w3web.net/display-account-related-contacts-in-lwc/" target="_blank" rel="noopener noreferrer">how to display account related contacts based on AccountId in lwc</a></li>
  36.                         <li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to create lightning datatable row actions in lwc</a></li>
  37.                         <li><a href="https://www.w3web.net/if-and-else-condition-in-lwc/" target="_blank" rel="noopener noreferrer">how to use if and else condition in lwc</a></li>
  38.                         <li><a href="https://www.w3web.net/get-selected-radio-button-value-and-checked-default-in-lwc/" target="_blank" rel="noopener noreferrer">how to display selected radio button value in lwc</a></li>
  39.                     </ul>
  40.             </div>
  41.  
  42.             <div style="width: 50%; float:left; display:inline-block">
  43.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  44.                         <li><a href="https://www.w3web.net/display-account-related-contacts-lwc/" target="_blank" rel="noopener noreferrer">display account related contacts based on account name in lwc</a></li>
  45.                         <li><a href="https://www.w3web.net/create-lightning-datatable-row-actions-in-lwc/" target="_blank" rel="noopener noreferrer">how to insert a record of account Using apex class in LWC</a></li>
  46.                         <li><a href="https://www.w3web.net/fetch-picklist-values-dynamic-in-lwc/" target="_blank" rel="noopener noreferrer">how to get picklist values dynamically in lwc</a></li>
  47.                         <li><a href="https://www.w3web.net/edit-save-and-remove-rows-dynamically-in-lightning-component/" target="_blank" rel="noopener noreferrer">how to edit/save row dynamically in lightning component</a></li>
  48.                         <li><a href="https://www.w3web.net/update-parent-object-from-child/" target="_blank" rel="noopener noreferrer">update parent field from child using apex trigger</a></li>
  49.                     </ul>
  50.                 </div>
  51.                <div style="clear:both;"></div> 
  52.                <br/>
  53.                 <div class="youtubeIcon">
  54.                     <a href="https://www.youtube.com/channel/UCW62gTen2zniILj9xE6LmOg" target="_blank" rel="noopener noreferrer"><img src="https://www.w3web.net/wp-content/uploads/2021/11/youtubeIcon.png" width="25" height="25" style="vertical-align:top; margin-right:10px;"/> <strong>TechW3web:-</strong> To know more, Use this <span style="color: #ff8000; font-weight: bold;">Link</span> </a>
  55.                 </div>
  56.     </div>
  57.  
  58. </div>
  59.  
  60.   <!--End RelatedTopics Section-->
  61.  
  62.     </div>
  63. </aura:component>

Create Component JavaScript Controller

Step 2:- Create Lightning Component : customPathStatusCmpController.js

Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!
 
 

From Developer Console >> File >> New >> Lightning Component >> JavaScript Controller

customPathStatusCmpController.js [JavaScript Controller]

  1.   ({
  2.     doInit : function(component, event, helper) {        		
  3.        helper.getStageNameHelper(component, event, helper);       
  4. 	},
  5.  
  6. 	stagePicklistSelect : function (component, event, helper) {
  7.         var stepName = event.getParam("detail").value;
  8.         alert('stepName ' + stepName);
  9.         component.set("v.PicklistField.StageName", stepName);
  10.  
  11.         component.find("record").saveRecord($A.getCallback(function(response) {
  12.             if (response.state === "SUCCESS") {
  13.                 $A.get('e.force:refreshView').fire();
  14.             }
  15.         }));
  16.     },
  17.  
  18. })

Create Component JavaScript Helper

Step 3:- Create Lightning Component : customPathStatusCmpHelper.js

From Developer Console >> File >> New >> Lightning Component >> JavaScript Helper

customPathStatusCmpHelper.js [JavaScript Helper File]

  1.    ({
  2. 	 getStageNameHelper : function(component, event, helper) {        
  3.         var action =   component.get("c.stageNamePath");         
  4.          action.setParams({"recId":component.get("v.recordId")});
  5.          action.setCallback(this, function(response){
  6.             var state = response.getState();
  7.             if(state == 'SUCCESS'){
  8.                 var result = response.getReturnValue();
  9.                 component.set('v.recordId', result.Id);
  10.             }
  11.         });        
  12.  
  13.         $A.enqueueAction(action); 
  14.     },
  15.  
  16. })

Create Apex Class Controller

Step 4:- Create Apex Class : customPathStatusCtrl.apxc

From Developer Console >> File >> New >> Apex Class

customPathStatusCtrl.apxc [Apex Class Controller]

  1.   public class customPathStatusCtrl {
  2.  
  3.      @AuraEnabled
  4.     public static Opportunity stageNamePath(String recId){
  5.         Opportunity stageList = [SELECT Id, Name, StageName FROM Opportunity WHERE Id=:recId];
  6.         system.debug('stageList ' + stageList);
  7.         RETURN stageList;
  8.     }
  9.  
  10. }

custom lightning path in lightning component -- w3web.net

 

Further post that would you like to learn in Salesforce

 

 


 

FAQ (Frequently Asked Questions)

What is the lightning path?

A lightning:path component displays the progress of a process, which is based on the picklist field that's specified by Path Settings in Setup. The path is rendered as a horizontal bar with a chevron for each picklist item.

What is force recordData?

A force:recordData component defines the parameters for accessing, modifying, or creating a record using Lightning Data Service.

What is lead path in Salesforce?

Like any kind of path, a sales path leads you where you need to go. Using sales paths helps your sales reps adopt and adhere to your company's sales processes without getting sidetracked. Paths guide your sales users and help them stay focused on important sales tasks so they can close their deals quickly.

Related Topics | You May Also Like

 
Note:: – You will get an email, so put correct email and mobile number and BEGIN YOUR JOURNEY from Today!
 
 
  

Our Free Courses →

👉 Get Free Course →

📌 Salesforce Administrators

📌 Salesforce Lightning Flow Builder

📌 Salesforce Record Trigger Flow Builder

👉 Get Free Course →

📌 Aura Lightning Framework

📌 Lightning Web Component (LWC)

📌 Rest APIs Integration



Hi, This is Vijay Kumar behind the admin and founder of w3web.net. I am a senior software developer and working in MNC company from more than 8 years. I am great fan of technology, configuration, customization & development. Apart of this, I love to write about Blogging in spare time, Working on Mobile & Web application development, Salesforce lightning, Salesforce LWC and Salesforce Integration development in full time. [Read full bio] | | The Sitemap where you can find all published post on w3web.net

Leave a Comment