time static method
ArcaneField
time({
- String? name,
- String? description,
- IconData? icon,
- DateTime? defaultValue,
- required Future<
DateTime> getter(), - required Future setter(),
- PromptMode mode = PromptMode.popover,
- ValueChanged<
TimeOfDay?> ? onChanged, - AlignmentGeometry? popoverAlignment,
- AlignmentGeometry? popoverAnchorAlignment,
- EdgeInsetsGeometry? popoverPadding,
- bool? use24HourFormat,
- bool showSeconds = false,
- Widget? dialogTitle,
Creates a time input field for selecting and setting DateTime values focused on time components. This field uses a time picker interface, configurable for 12/24-hour format and seconds display. It complements date fields in Form setups within the Arcane component library, enabling precise time entry via popover or dialog.
Parameters:
name: Optional field name.description: Optional description.icon: Optional icon.defaultValue: Initial time (defaults to now if null).getter: Async current time retriever.setter: Async time updater.mode: Display mode (default: popover).onChanged: Callback for time changes.popoverAlignment,popoverAnchorAlignment,popoverPadding: Popover config.use24HourFormat: Use 24-hour format (default: platform default).showSeconds: Include seconds (default: false).dialogTitle: Custom title for dialog.
Returns: An ArcaneField<DateTime> for time input.
Implementation
static ArcaneField time({
String? name,
String? description,
IconData? icon,
DateTime? defaultValue,
required Future<DateTime> Function() getter,
required Future Function(DateTime) setter,
PromptMode mode = PromptMode.popover,
ValueChanged<TimeOfDay?>? onChanged,
AlignmentGeometry? popoverAlignment,
AlignmentGeometry? popoverAnchorAlignment,
EdgeInsetsGeometry? popoverPadding,
bool? use24HourFormat,
bool showSeconds = false,
Widget? dialogTitle,
}) =>
ArcaneField<DateTime>(
meta: ArcaneFieldMetadata(
name: name,
description: description,
icon: icon,
),
provider: ArcaneFieldDirectProvider(
defaultValue: defaultValue ?? DateTime.now(),
getter: (_) => getter(),
setter: (_, v) => setter(v)),
builder: (context) => ArcaneTimeField(
mode: mode,
onChanged: onChanged,
popoverAlignment: popoverAlignment,
popoverAnchorAlignment: popoverAnchorAlignment,
popoverPadding: popoverPadding,
use24HourFormat: use24HourFormat,
showSeconds: showSeconds,
dialogTitle: dialogTitle,
));