execute method

  1. @override
FutureOr<AWActions?> execute(
  1. AnyWidgetContext context,
  2. ActionPayload payload
)
override

Implementation

@override
FutureOr<AWActions?> execute(
    AnyWidgetContext context, ActionPayload payload) {
  return map(
    (_) => throw StateError('Should never happen'),
    showBottomSheet: (value) {
      final state = Scaffold.maybeOf(context.context);
      if (null == state) return;
      state.showBottomSheet<void>(
        (_) => FlutterBuilder(child: value.child).toWidget(context),
        backgroundColor: value.backgroundColor?.toFlutter(context),
        clipBehavior: value.clipBehavior?.toFlutter(context),
        constraints: value.constraints?.toFlutter(context),
        elevation: value.elevation,
        shape: value.shape?.toFlutter(context),
        // transitionAnimationController:
      );
    },
    openEndDrawer: (value) {
      final state = Scaffold.maybeOf(context.context);
      if (null == state ||
          false == state.hasEndDrawer ||
          true == state.isEndDrawerOpen) return null;
      state.openEndDrawer();
    },
    openDrawer: (value) {
      final state = Scaffold.maybeOf(context.context);
      if (null == state ||
          false == state.hasDrawer ||
          true == state.isDrawerOpen) return null;
      state.openDrawer();
    },
    showBodyScrim: (value) {
      final state = Scaffold.maybeOf(context.context);
      if (null == state) return null;
      state.showBodyScrim(value.value, value.opacity);
    },
  );
}