submitDialog<Payload, Result> static method
void
submitDialog<Payload, Result>({
- required SmartRepository<
Payload, Result> repository, - required BuildContext context,
- required Widget builder(
- BuildContext,
- SmartState<
Result> , - VoidCallback close
- dynamic listener(
- BuildContext,
- SmartState<
Result>
- ComponentInitialAction<
Payload> initialAction = const ComponentInitialAction.none(), - bool dismissible = false,
Implementation
static void submitDialog<Payload, Result>({
required SmartRepository<Payload, Result> repository,
required BuildContext context,
required Widget Function(BuildContext, SmartState<Result>, VoidCallback close) builder,
Function(BuildContext, SmartState<Result>)? listener,
ComponentInitialAction<Payload> initialAction = const ComponentInitialAction.none(),
bool dismissible = false,
}) {
final controller = SmartController<Payload, Result>();
showDialog(
barrierDismissible: false,
context: context,
builder: (_) {
return SubmitDialogComponent(
isDismissible: dismissible,
onFinishedRendering: () => initialAction.whenOrNull(call: (data) => controller.call(data)),
body: SmartFeatureBuilder.build<Payload, Result>(
repository: repository,
controller: controller,
listener: listener,
builder: (context, state) => builder(context, state, () => _onClose(context)),
),
onClose: _onClose,
);
},
);
}