Skip to main content

How to Create Collapse Section in Lightning Component

Hello friends today post, how to create Collapse section in lightning component..
so let us start..

Step=>1.
                 goto developer console File=>New=>Lightning Component
                  Component name:- collapseSection.cmp

<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction"
                access="global" >
   
    <!--section 1 start--> 
    <div class="slds-section slds-is-open" aura:id="fruitsSection" style="margin-left:15px;">
        <!--section header-->
        <h3 class="slds-section__title">
            <button aria-controls="fruitsList" class="slds-button slds-section__title-action">
                <span onclick="{!c.toggleSection}" data-auraId="fruitsSection">
                    <lightning:icon iconName="utility:switch"
                                    size="x-small"
                                    class="slds-section__title-action-icon slds-button__icon_left"
                                    alternativeText="button icon"
                                    />
                </span>
                <span class="slds-truncate" title="Fruits">Fruits</span>
            </button>
        </h3>
        <!--section body-->
        <div class="slds-section__content" id="fruitsList">
            <p>Pear</p>
            <p>Apricots</p>
            <p>WaterLemon</p>
            <p>Cherimoya</p>
            <p>Grapefruit</p>
        </div>
    </div>
    <!--section 1 end-->
   
    <!--section 2 start--> 
    <div class="slds-section slds-is-open" aura:id="VegetablesSection" style="margin-left:15px;">
        <!--section header-->
        <h3 class="slds-section__title">
            <button aria-controls="VegetablesId" class="slds-button slds-section__title-action">
                <span onclick="{!c.toggleSection}" data-auraId="VegetablesSection">
                    <lightning:icon iconName="utility:switch"
                                    alternativeText="button icon"
                                    size="x-small"
                                    class="slds-section__title-action-icon slds-button__icon_left"/>
                </span>
                <span class="slds-truncate" title="Vegetables">Vegetables</span>
            </button>
        </h3>
        <!--section body-->
        <div class="slds-section__content" id="VegetablesId">
            <p>Broccoli</p>
            <p>Corn</p>
            <p>Pumpkin</p>
            <p>Tomato</p>
            <p>Beetroot</p>
        </div>
    </div>
    <!--section 2 end-->
   
    <!--section 3 start--> 
    <div class="slds-section slds-is-open" aura:id="colorSection" style="margin-left:15px;">
        <!--section header-->
        <h3 class="slds-section__title">
            <button aria-controls="VegetablesId" class="slds-button slds-section__title-action">
                <span onclick="{!c.toggleSection}" data-auraId="colorSection">
                    <lightning:icon iconName="utility:switch"
                                    alternativeText="button icon"
                                    size="x-small"
                                    class="slds-section__title-action-icon slds-button__icon_left"/>
                </span>
                <span class="slds-truncate" title="Vegetables">Colors</span>
            </button>
        </h3>
        <!--section body-->
        <div class="slds-section__content" id="VegetablesId">
            <p>Red</p>
            <p>Green</p>
            <p>Blue</p>
            <p>Black</p>
        </div>
    </div>
    <!--section 3 end-->
</aura:component>

Step=>2.  create component controller ,click on right hand corner on CONTROLLER

                      collapseSectionCotroller.js

({
 // common reusable function for toggle sections
    toggleSection : function(component, event, helper) {
        // dynamically get aura:id name from 'data-auraId' attribute
        var sectionAuraId = event.target.getAttribute("data-auraId");
        // get section Div element using aura:id
        var sectionDiv = component.find(sectionAuraId).getElement();
        /* The search() method searches for 'slds-is-open' class, and returns the position of the match.
         * This method returns -1 if no match is found.
        */
        var sectionState = sectionDiv.getAttribute('class').search('slds-is-open');
       
        // -1 if 'slds-is-open' class is missing...then set 'slds-is-open' class else set slds-is-close class to element
        if(sectionState == -1){
            sectionDiv.setAttribute('class' , 'slds-section slds-is-open');
        }else{
            sectionDiv.setAttribute('class' , 'slds-section slds-is-close');
        }
    }

})


                                             Output:



 Thanks

Buy me a coffeeBuy me a coffee

Comments

Popular posts from this blog

How to used slds-hide/show class for div hide and show in lightning component

Hello friends today post ,how to create a lightning component to use slds-hide/show class, very easy to use class and aplly.. so let us start ... firstly create a lightning component and there are two or three div or anything when you want to hide/show ... so see given bellow example and udes slds-hide/show class Step=>1.                   goto developer console=>File=>New=>Lightning Component                           sldshideshow.cmp <aura:component >     <aura:attribute name="First" type="string" default="slds-show"/>     <aura:attribute name="Second" type="string" default="slds-hide"/>         <center>     <div class="slds-box" style="width:300px;height:300px;margin-top:15px;">         <div class="{!v.First}">         ...

How to Create Floating Marquee

Hello frnds today post , how to create floating Marquee in Lightning Component so let us begin............. Step=>1. goto developer console                             File=>New=>Lightning Component                    FloatingMarq.cmp                  <aura:component>       <aura:handler name="init" value="{!this}" action="{!c.doInit}" />     <aura:attribute name="intervalId" type="Integer" default="0"/>       <div id="parentDIV" style="overflow:hidden">         <p style="position:relative;" id="tofloat">             <b><span style="color:red">Important Note : </span>             I am Floating (Left to Right) Imformation...</b...

Create Overlays with the New Modal Component

Hello friends, Now modal tag is available in #LWC, we can create a modal using the #LWC Standard tag. snapshot given below with code. Step-1 Create LWC component Step-2 Add below code Step-3 I am showing how my component is look like. Thanks for reading