build method

  1. @override
Widget build(
  1. BuildContext context,
  2. ThrottleBuilder model
)
override

Builds the UI according to the state in model.

Implementation

@override
Widget build(BuildContext context, ThrottleBuilder model) => AlertDialog(
  title: const Text("Adjust throttle"),
  content: Column(
    crossAxisAlignment: CrossAxisAlignment.start,
    mainAxisSize: MainAxisSize.min,
    children: [
      NumberEditor(name: "Throttle", model: model.controller),
      const SizedBox(height: 12),
      if (model.errorText != null)
        Text(model.errorText!, style: const TextStyle(color: Colors.red)),
    ],
  ),
  actions: [
    ElevatedButton(
      onPressed: !model.isValid || model.isLoading
          ? null
          : () async {
              await model.save();
              if (!context.mounted) return;
              Navigator.of(context).pop();
            },
      child: const Text("Save"),
    ),
    TextButton(
      onPressed: () => Navigator.of(context).pop(),
      child: const Text("Cancel"),
    ),
  ],
);