use static method

void use()

Register to use Collapse component.

Implementation

static void use() {
  if (_registered) return;
  _registered = true;

  $document().on('click.bs.collapse.data-api', (QueryEvent e) {
    Element elem = e.currentTarget as Element;

    var targetStr = elem.attributes['data-target'];
    if (targetStr == null) {
      e.preventDefault();
      final href = elem.attributes['href'];
      if (href != null)
        targetStr = href.replaceAll(RegExp(r'.*(?=#[^\s]+$)'), ''); //strip for ie7
    }

    final $target = $(targetStr),
      target = $target[0],
      collapse = $target.data.get(_name) as Collapse?,
      parent = elem.attributes['data-parent'],
      $parent = $(parent);

    if (collapse == null || !collapse.transitioning) {
      if (parent != null) {
        final collapses = $parent.find(
            '[data-toggle=collapse][data-parent="$parent"]');
        for (final e in collapses) {
          if (e == elem) continue;
          e.classes.add('collapsed');

        }
      }
      elem.classes.toggle('collapsed', target.classes.contains('in'));
    }

    if (collapse != null) {
      collapse.toggle();
    } else {
      final parentAtr = elem.attributes['data-parent'],
        toggleAtr = elem.attributes['data-toggle'];

      Collapse(target, toggle: toggleAtr != null ? true: null, parent: parentAtr);
    }

  }, selector: '[data-toggle=collapse]');

}