NavigationRailPlus constructor

const NavigationRailPlus({
  1. Key? key,
  2. required NavigationLeadingConfig navigationLeadingConfig,
  3. GlobalKey<ScaffoldState>? externalScaffoldKey,
  4. int? selectedIndex = 0,
  5. Widget? responsiveBody,
  6. NavigationHeaderConfig? navigationHeaderConfig,
  7. NavigationGlobalConfig? navigationGlobalConfig,
  8. List<Widget>? navigationMainContent,
  9. NavigationFooterConfig? navigationFooterConfig,
  10. ValueChanged<int>? onDestinationSelected,
  11. PreferredSizeWidget? appBar,
  12. String? appBarText,
  13. List<Widget>? appBarActions,
  14. TextStyle? appBarTextStyle,
  15. Widget? appBarBackButton,
  16. double? appBarTitleSpacing,
  17. VoidCallback? appBarBackButtonTap,
  18. Color? appBarBackgroundColor,
  19. RxBool? appBarBottomRxLoading,
  20. Color? appBarBackButtonColor,
  21. bool appBarCenterTitle = false,
  22. bool? appBarBottomLoading = false,
  23. bool? appBarBottomDivider = false,
  24. bool needOverlayStyle = true,
  25. bool extendBodyBehindAppBar = false,
  26. bool? appBarForceMaterialTransparency,
  27. Widget? bottomSheet,
  28. double? bottomSheetPaddingBottom,
  29. Widget bottomSheetLoadingBuilder(
    1. BuildContext context
    )?,
  30. Color? bottomSheetBackgroundColor,
  31. bool bottomSheetNeedFullWidth = true,
  32. double? bottomSheetMaxWidth,
  33. double? appBarMaxWidth,
  34. double? bodyMaxWidth,
  35. EdgeInsetsGeometry? padding,
  36. Color? backgroundColor,
  37. Widget? bottomNavigationBar,
  38. Color? underneathBackgroundColor,
  39. Widget? floatingActionButton,
  40. FloatingActionButtonLocation? floatingActionButtonLocation,
  41. bool isDrawerSafeAreaBottom = true,
  42. bool isDrawerSafeAreaTop = true,
  43. bool isEndDrawerSafeAreaBottom = true,
  44. bool isEndDrawerSafeAreaTop = true,
  45. bool isSafeAreaTop = false,
  46. bool isSafeAreaBottom = true,
  47. Widget? endDrawerContent,
  48. Function? onRefresh,
  49. bool canPop = true,
  50. void onPopInvokedWithResult(
    1. bool didPop,
    2. Object? result
    )?,
  51. bool resizeToAvoidBottomInset = true,
})

Implementation

const NavigationRailPlus({
  super.key,
  required this.navigationLeadingConfig,

  this.externalScaffoldKey,
  this.selectedIndex = 0,

  this.responsiveBody,
  this.navigationHeaderConfig,
  this.navigationGlobalConfig,
  this.navigationMainContent,
  this.navigationFooterConfig,
  this.onDestinationSelected,

  ///----------------------------------------------------
  /// Scaffold data/variable section
  ///----------------------------------------------------

  // App bar related
  this.appBar,
  this.appBarText,
  this.appBarActions,
  this.appBarTextStyle,
  this.appBarBackButton,
  this.appBarTitleSpacing,
  this.appBarBackButtonTap,
  this.appBarBackgroundColor,
  this.appBarBottomRxLoading,
  this.appBarBackButtonColor,
  this.appBarCenterTitle = false,
  this.appBarBottomLoading = false,
  this.appBarBottomDivider = false,
  this.needOverlayStyle = true,
  this.extendBodyBehindAppBar = false,
  this.appBarForceMaterialTransparency,

  // Bottom sheet related
  this.bottomSheet,
  this.bottomSheetPaddingBottom,
  this.bottomSheetLoadingBuilder,
  this.bottomSheetBackgroundColor,
  this.bottomSheetNeedFullWidth = true,
  this.bottomSheetMaxWidth,
  this.appBarMaxWidth,

  // Builders for dynamic UI states
  this.bodyMaxWidth,

  // Scaffold related
  this.padding,
  this.backgroundColor,
  this.bottomNavigationBar,
  this.underneathBackgroundColor,

  // Floating action button related
  this.floatingActionButton,
  this.floatingActionButtonLocation,

  // SafeArea related
  this.isDrawerSafeAreaBottom = true,
  this.isDrawerSafeAreaTop = true,
  this.isEndDrawerSafeAreaBottom = true,
  this.isEndDrawerSafeAreaTop = true,
  this.isSafeAreaTop = false,
  this.isSafeAreaBottom = true,

  // End Drawer related
  this.endDrawerContent,

  // Refresh related
  this.onRefresh,

  // Pop scop related
  this.canPop = true,
  this.onPopInvokedWithResult,
  this.resizeToAvoidBottomInset = true,
});