show method

void show()

Show the tab.

Implementation

void show() {
  final $ul = $element.closest('ul:not(.dropdown-menu)'),
    selector = p.getDataTarget(element), // TODO: should cache in construction?
    $parent = $element.parent('li');

  if ($parent.hasClass('active'))
    return;

  Element? previous;
  //final Element previous = $ul.find('.active:last a').firstIfAny; // TODO: :last is jq only

  final e = QueryEvent('show.bs.tab', data: previous);

  $element.triggerEvent(e);

  if (e.defaultPrevented)
    return;

  final $target = $(selector);
  _activate($parent, $ul);
  _activate($target, $target.parent(), () {
    $element.trigger('shown.bs.tab', data: previous);
  });

}