mainPanel property

  1. @ViewChild.new('mainPanel')
set mainPanel (HtmlElement? mainPanel)

Implementation

@ViewChild('mainPanel')
set mainPanel(HtmlElement? mainPanel) {
  _mainPanel = mainPanel;
  _ngZone.runOutsideAngular(() {
    if (_mainPanel != null) {
      _disposer.addStreamSubscription(_mainPanel!.onTransitionEnd
          .where((e) => e.eventPhase == Event.AT_TARGET)
          .listen((_) {
        // Clear height override so it will match the active child's height.
        _mainPanel?.style.height = '';
        // If we just finished closing, let deferred content stop rendering
        // the panel body.
        if (!isExpanded) {
          _ngZone.run(() => _contentVisible.add(false));
        }
      }));
    }
  });

  final transitionCheck = DisposableCallback(() {
    // If we don't have a transition (because style mixins/overrides/disabled
    // in tests) just forward the isExpanded change event so deferredContent
    // can disappear.
    if (!_mainPanelHasHeightTransition) {
      _disposer.addStreamSubscription(isExpandedChange.listen((expanded) {
        // Just check for false (closed). Open (true) is always done first.
        if (!expanded!) _contentVisible.add(false);
      }));
    }
  });
  _domService.scheduleRead(transitionCheck);
  _disposer.addDisposable(transitionCheck);
}