collapseMobileLevel3 method
void
collapseMobileLevel3()
Collapses level3 on mobile, revealing level2. With
MobileLevelCollapseMode.preserve (the default) level3 stays mounted
and its state survives; with MobileLevelCollapseMode.discard this is
equivalent to context.pop(level: 3).
Implementation
void collapseMobileLevel3() {
final bloc = _maybeReadMultilevelBloc();
final s = bloc?.state;
if (bloc == null || s == null || !s.visibleLevels.isLevel3Visible) return;
final navigator = _getMultilevelNavigatorFromContext(this);
final featureConfig = PathUtils.getFeatureConfiguration(
fullPath: s.path,
featureConfigurations: navigator.allFeatures,
);
if (featureConfig == null) return;
if (featureConfig.level3CollapseMode == MobileLevelCollapseMode.discard) {
pop(level: 3);
return;
}
bloc.add(ToggleMobileLevelCollapseEvent(PathUtils.extractFirstSegment(s.path), Level.three));
}