UNPKG

minsky-kit

Version:
46 lines (34 loc) 1.15 kB
// imports import Component from 'minsky-kit/js/components/Component'; import Accordion from 'minsky-kit/js/components/Accordion'; // private statics // class definition export default class AccordionGroup extends Component { // constructor constructor (args = {}, objectName = 'AccordionGroup') { args.debug = args.debug || false; // super super(args, objectName); // set properties this.group = args.group || (`${Date.now()}-${Math.round(Math.random() * 1000)}`).toString(16); this.Accordion = args.Accordion || Accordion; this.accordions = Array.from(this.$el.querySelectorAll('.accordion:not(.accordion--ready)')).map(($acc) => new this.Accordion({ el: $acc, group: this.group, })); } // methods refresh () { this.accordions.forEach((acc) => acc.refresh()); } destroy () { // destroy instances this.accordions.forEach((acc) => acc.destroy()); this.accordions.length = 0; // super destroy super.destroy(); } // getters & setters } // Utils // Event handlers