How to fetch/customize the custom metadata and display the list of metadata in lightning component using Apex class in Salesforce Lightning Web Component — LWC | how to get custom Metadata in lwc using Apex

6,532 views


Hey guys, today in this post we are going to learn about How to How to fetch/customize the custom metadata and display the list of metadata in lightning component using Apex class in Salesforce Lightning Web Component — LWC .

What are Custom Metadata Types?

Custom metadata is customizable, deployable, packageable, and upgradeable application metadata. First, you create a custom metadata type, which defines the form of the application metadata. Then you build reusable functionality that determines the behavior based on metadata of that type. To know more, Click here about custom metadata

Files we used fetch/customize the custom metadata and display the list in LWC

lwcFetchCustomMetaData.html LWc HTML File Template HTML file to create fetch the list of custom metadata in lwc
lwcFetchCustomMetaData.js LWC JavaScript File It’s hold a javascript and import the custom metadata using Apex
lwcFetchCustomMetaData.js-meta.xml XML Meta File It is used to where this lightning web component file you want to display as like lightning__AppPage, lightning__RecordPage, lightning__HomePage.
lwcCustomMetaDataCtrl.cls Apex Controller It’s hold Apex class method to return the list of custom metadata using apex method

Final Output

display custom metadata in lwc -- w3web.net

 
 

You can download file directly from github by Click Here.

 
 

Other related post that would you like to learn in Salesforce

How to get Custom Metadata in Lightning Web Component Using Apex class in Salesforce

Custom Metadata provides a great flexibility to developer and admins to write and create a dynamic functionality.

  • Find the below steps

Create Lightning Web Component HTML

Step 1:- Create Lightning Web Component HTML ➡ lwcFetchCustomMetaData.html

SFDX:Lightning Web Component ➡ New ➡ lwcFetchCustomMetaData.html

lwcFetchCustomMetaData.html [Lightning Web Component HTML]

  1.    <template>
  2.     <lightning-card>
  3.       <div class="slds slds-p-around--medium">
  4.       <h3 class="slds-text-heading_medium"><lightning-icon icon-name="custom:custom21" size="small"></lightning-icon> <strong style="color:#270086; font-size:13px;"> How to Fetch Custom Meta Data in Lightning Web Component (LWC) </strong></h3>
  5.             <lightning-datatable
  6.                     key-field="Id"
  7.                     data={records}
  8.                     columns={columns}
  9.                     hide-checkbox-column="true">
  10.             </lightning-datatable>
  11.     </div>
  12. <br/><br/>
  13.    <!--Start RelatedTopics Section-->
  14. <div style="border:1px #ddd solid; padding:10px; background:#eee; margin:40px 0;">
  15.  
  16.             <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>
  17.  
  18.             <br/><br/>
  19.             <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>
  20.             <div style="display:block; overflow:hidden;"> 
  21.                 <div style="width: 50%; float:left; display:inline-block">
  22.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  23.                         <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>
  24.                         <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>
  25.                         <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>
  26.                         <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>
  27.                         <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>
  28.                     </ul>
  29.             </div>
  30.  
  31.             <div style="width: 50%; float:left; display:inline-block">
  32.                     <ul style="list-style-type: square; font-size: 16px; margin: 0 0 0 54px; padding: 0;"> 
  33.                         <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>
  34.                         <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>
  35.                         <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>
  36.                         <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>
  37.                         <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>
  38.                     </ul>
  39.                 </div>
  40.                <div style="clear:both;"></div> 
  41.                <br/>
  42.                 <div class="youtubeIcon">
  43.                     <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>
  44.                 </div>
  45.     </div>
  46.  
  47. </div>
  48.  
  49.   <!--End RelatedTopics Section-->
  50.  
  51.    </lightning-card> 
  52. </template>
  53.  
  54.     </lightning-card>
  55. </template>

Create Lightning Web Component Javascript

Step 2:- Create Lightning Web Component Javascript ➡ lwcFetchCustomMetaData.js

SFDX:Lightning Web Component ➡ New ➡ lwcFetchCustomMetaData.js

lwcFetchCustomMetaData.js [LWC JavaScript File]

  1.    import { LightningElement, wire  } from 'lwc';
  2. import fetchMetaListLwc from '@salesforce/apex/lwcCustomMetaDataCtrl.fetchMetaListLwc';
  3. const COLUMNS = [
  4.     { label: 'Label', fieldName: 'MasterLabel' },
  5.     { label: 'Student Name', fieldName: 'Student_Name__c' },
  6.     { label: 'Phone', fieldName: 'Phone__c' },
  7.     { label: 'Email', fieldName: 'Email__c' },
  8.     { label: 'Country', fieldName: 'Country__c' },
  9.     { label: 'City', fieldName: 'City__c' },
  10. ];
  11.  
  12. export default class LwcFetchCustomMetaData extends LightningElement {
  13.     records;
  14.     wiredRecords;
  15.     error;
  16.     columns = COLUMNS;
  17.     draftValues = [];
  18.  
  19.     @wire( fetchMetaListLwc )  
  20.     wiredRecs( value ) {
  21.  
  22.         this.wiredRecords = value;
  23.         const { data, error } = value;
  24.  
  25.         if ( data ) {
  26.  
  27.             this.records = data;
  28.             this.error = undefined;
  29.  
  30.         } else if ( error ) {
  31.  
  32.             this.error = error;
  33.             this.records = undefined;
  34.  
  35.         }
  36.  
  37.     } 
  38. }

Create Lightning Web Component Meta XML

Step 3:- Create Lightning Web Component Meta XML ➡ lwcFetchCustomMetaData.js-meta.xml

SFDX:Lightning Web Component ➡ New >> lwcFetchCustomMetaData.js-meta.xml

lwcFetchCustomMetaData.js-meta.xml [LWC Meta Data XML]

  1.    <?xml version="1.0" encoding="UTF-8"?>
  2. <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
  3.     <apiVersion>45.0</apiVersion>
  4.     <isExposed>true</isExposed>
  5.     <targets>
  6.         <target>lightning__AppPage</target>
  7.         <target>lightning__RecordPage</target>
  8.         <target>lightning__HomePage</target>
  9.       </targets>
  10. </LightningComponentBundle>

Create Apex Class Controller

Step 4:- Create Apex Class : lwcCustomMetaDataCtrl.cls

From Developer Console ➡ File ➡ New ➡ Apex Class

lwcCustomMetaDataCtrl.cls [Apex Class Controller]

  1.    public WITH sharing class lwcCustomMetaDataCtrl {
  2.  
  3.     @AuraEnabled( cacheable=TRUE )  
  4.     public static List < Student_Basic_Detail__mdt > fetchMetaListLwc() {
  5.  
  6.         List < Student_Basic_Detail__mdt > fetchMeta = [ SELECT Id, MasterLabel, City__c, Country__c, Email__c, Phone__c, Student_Name__c FROM Student_Basic_Detail__mdt ];
  7.         RETURN fetchMeta;
  8.  
  9.     }
  10.  
  11. }

display custom metadata in lwc -- w3web.net

Further post that would you like to learn in Salesforce

 

 

FAQ (Frequently Asked Questions)

What is a custom metadata type in Salesforce?

Custom Metadata Types, you can customize, deploy, package, and upgrade application metadata that you design yourself.

What is custom metadata types?

A custom metadata type is an object that is used to define the structure for application metadata.

What is the difference between custom settings and custom object?

Custom Settings are a special type of Custom Object. Custom Objects are record tables, while Custom Settings are configuration tables.

Can we deploy custom setting?

Yes, you can deploy the custom Settings using changeset or any other migration tool using the CustomObject metadata.

Related Topics | You May Also Like

Our Free Courses →

👉 Download App to Get Free Course →

📌 Salesforce Administrators

📌 Salesforce Lightning Flow Builder

📌 Salesforce Record Trigger Flow Builder

👉 Download App to Get Free Course →

📌 Aura Lightning Framework

📌 Lightning Web Component (LWC)

📌 Rest APIs Integration

 
 
🌩️ Download App to Get Free Course Access: -

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