API
DescriptionList
Parameters
elementHTMLElement DOM element for component instantiation and scopeoptionsObject (optional, default{})options.listsSelectorString Selector for list element (optional, default'[data-ecl-description-list-collapsible]')options.visibleItemsSelectorString Selector to retrieve the number of visible items (optional, default'data-ecl-description-list-visible-items')options.moreItemLabelSelectorString Selector for more button label attribute (optional, default'data-ecl-description-list-more-label')options.attachClickListenerBoolean Whether or not to bind click events (optional, defaulttrue)
init
Initialise component.
showHide
showHide elements basing on user preference.
Parameters
elements
destroy
Destroy component.
handleClickOnMore
Expands the list of items.
Parameters
eEvent
autoInit
Parameters
rootHTMLElement DOM element for component instantiation and scope$1Object (optional, default{})$1.DESCRIPTION_LIST(optional, default{})
Returns DescriptionList An instance of DescriptionList.
Setup
There are 2 ways to initialise the component.
Automatic
Add data-ecl-auto-init="DescriptionList" attribute to component's markup:
<dl
class="ecl-description-list"
data-ecl-description-list
data-ecl-auto-init="DescriptionList"
>
...
</dl>
Use the ECL library's autoInit() (ECL.autoInit()) when your page is ready or other custom event you want to hook onto.
Manual
Get target element, create an instance and invoke init().
Given you have 1 element with an attribute data-ecl-description-list on the page:
var elt = document.querySelector('[data-ecl-description-list]');
var descriptionList = new ECL.DescriptionList(elt);
descriptionList.init();