show method

void show()

Implementation

void show() {
  if (transitioning || element.classes.contains('in'))
    return;

  final e = QueryEvent('show.bs.collapse');
  $element.triggerEvent(e);

  if (e.defaultPrevented)
    return;

  final $parent = _$parent;
  if ($parent != null) {
    final panels = $parent.children('.panel');
    if (panels.isNotEmpty) {
      for (final panel in panels) {
        for (final elem in $(panel).children('.in, .collapsing')) {
          final active = $(elem).data.get(_name) as Collapse?;
          if (active?.transitioning ?? false)
            return;

          Collapse.wire(elem)!.hide();
          $(elem).data.set(_name, null);
        }

      }
    }
  }


  element.classes
  ..remove('collapse')
  ..add('collapsing');
  _size = '0';

  _transitioning = true;

  final complete = (QueryEvent? e) {
    element.classes
    ..remove('collapsing')
    ..add('in');
    _size = 'auto';
    _transitioning = false;
    $element.trigger('shown.bs.collapse');
  };


  if (!Transition.isUsed) {
    complete(null);
  } else {
    $element.one(Transition.end, complete);
    _size = '${horizontal ? element.scrollWidth : element.scrollHeight}px';
  }
}