wo_form library

A package made for easily creating forms, with Womotaq's identity

Classes

AddMediaButon
BooleanField
BooleanFieldBuilder
BooleanInputUiSettings
Condition
ConditionnalNodeBuilder
DataError<T>
DataLoading<T>
DataValue<T>
DateTimeField
DateTimeFieldBuilder
DateTimeInputUiSettings
DaysOfWeek
DeletableField
DraggableScrollableControllerProvider
DurationField
DurationFieldBuilder
DurationInputUiSettings
DynamicInputsNodeAddButton
DynamicInputsNodeUiSettings
DynamicInputsNodeWidget
DynamicInputsNodeWidgetBuilder
DynamicInputTemplate
DynamicInputUiSettings
EditMediaButton
ExportSettings
FlexibleDateTime
FormHeader
By default, used by InputsNodeWidget and WoFormPage.
FutureData<T>
FutureNodeBuilder<T>
InfiniteListView
InfinitePageController
InfinitePageView
InputHeader
By default, used by StringField and SelectField.
InputsNodeExpander
InputsNodeUiSettings
InputsNodeWidget
InputsNodeWidgetBuilder
InputUiSettings
LockerNodeBuilder
Media
MediaField
IMPORT MEDIA
MediaFieldBuilder
MediaFile
MediaImportMethod
MediaImportSettings
MediaInputUiSettings
MediaService
If you want to use MediaInput, provide an implementation of this class at the top-level of your application with a BlocProvider.
MediaUrl
MonthlyCalendar
MultistepAction
MultistepController
MultiStepProgressIndicator
MultistepSettings
The form's direct children will be considered as steps, shown one by one in pages.
NumField
NumFieldBuilder
NumInputUiSettings
NumSelector
PickDate
PickDateDefNullableConverter
PickDatePage
PickDatePageWithYear
Push
All the methods in this class follow the PushContextDef signature.
PushDefNullableConverter
QuitWoFormButton
QuizSettings
RootKey<T extends State<StatefulWidget>>
ScoreWidget
ScrollControllerProvider
SearchBuilder<T>
A widget that handles the logic for filtering and ranking a local dataset of type T based on user text input, and then uses a builder function to render the UI.
SearchField<T>
SearchScreen<T>
SearchSettings<T>
SelectField<T>
SelectFieldBuilder<T>
SelectInput<T>
SelectInputUiSettings<T>
StringField<T extends Object?>
StringFieldBuilder<T extends Object?>
StringInputUiSettings<T>
SubmitButton
Default submt button. Can be overriden by submitButtonBuilder from WoFormUiSettings or using WoFormTheme.
SubmitButtonBuilder
SubmitButtonData
SuggestionsSettings<T>
TextInputTypeConverter
WoFieldData<I, T>
WoForm
WoFormElementBuilder
WoFormErrorBuilder
WoFormHeaderData
WoFormInput<T extends Object?>
T is an optionnal type used by fields like :
WoFormInputHeaderData
WoFormL10n
WoFormL10nProvider
WoFormLockCubit
This cubit references the paths of all the locked inputs.
WoFormNode<T extends Object?>
T is an optionnal type used by fields like :
WoFormNodeFocusManager
WoFormPageBuilder
WoFormPopScope
WoFormPopScope blocks pop events, transforms them in MultistepController.previousStep if multisteping, or calls WoFormUiSettings.canQuit.
WoFormQuery
WoFormScaffold
WoFormStatus
WoFormStatusCubit
WoFormTheme
WoFormThemeData
WoFormUiSettings
WoFormValueBuilder<T>
WoFormValueListener<T>
WoFormValues
WoFormValuesBuilder
WoFormValuesCubit
WoFormValueSelector<T>
WoReorderableByGrabListView
XFile
A CrossFile is a cross-platform, simplified File abstraction.

Enums

BooleanFieldControlType
ChildrenVisibility
DateEditMode
DisableSubmitButton
DurationEditMode
DynamicInputsNodeAddButtonPosition
ExportType
FieldElementLocation
ImageSource
Specifies the source where the picked image should come from.
IsoCode
LayoutMethod
Controls the layout behavior of the body.
MediaType
MultistepFailure
MultistepUrlStrategy
Defines how the url on web will be updated when the user navigates through the steps.
NumInputStyle
ShowErrors
StringFieldAction
SubmitButtonPosition
UpdateStatus
Use this if you don't want to trigger error validations or if you want to keep the previous status.
WoFormAutofocus
Whether this text field should focus itself if nothing else is already focused.
WoFormPresentation
This mode only affects the navigation controls.
WoFormTitlePosition

Functions

showImageCropperDialog({required BuildContext context, required Media image, double? cropAspectRatioOrCircle, bool showGrid = false, ErrorCallback? onError}) Future<Uint8List?>

Typedefs

BooleanFieldBuilderDef = Widget Function(WoFieldData<BooleanInput<Object?>, bool> data)
CountDef = String Function(int count)
CountNullableDef = String? Function(int count)
CropLocalizations = ({String cancel, String save, String title})
DateTimeFieldBuilderDef = Widget Function(WoFieldData<DateTimeInput<Object?>, DateTime> data)
DurationFieldBuilderDef = Widget Function(WoFieldData<DurationInput<Object?>, Duration> data)
DynamicInputsNodeWidgetBuilderDef = Widget Function(WoFieldData<DynamicInputsNode<Object?>, List<WoFormNode<Object?>>> data)
ErrorBuilderDef = Widget Function(WoFormInputError error)
ErrorCallback = void Function(Object exception, StackTrace stackTrace)
FormatDurationDef = String Function(Duration duration)
GenerateIdDef = String Function()
GetCustomErrorDef<T> = WoFormInputError? Function(T? value, String path)
GetCustomErrorForListDef<T> = WoFormInputError? Function(List<T> value, String path)
HeaderBuilderDef = Widget Function(WoFormHeaderData data)
InputHeaderBuilderDef = Widget Function(WoFormInputHeaderData data)
InputNodeWidgetBuilderDef = Widget Function(WoFieldData<InputsNode<Object?>, void> data)
LoadDataDef<T> = Future<Iterable<T>> Function(WoFormQuery query)
MediaEditButtonBuilderDef = Widget Function(VoidCallback? onPressed, Media media)
MediaFieldBuilderDef = Widget Function(WoFieldData<MediaInput<Object?>, List<Media>?> data)
MediaWidgetBuilderDef = Widget Function({Alignment alignment, bool circle, BoxFit? fit, Key? key, required Media media, String? package})
MultiStepProgressIndicatorBuilderDef = Widget Function()
NextStepDef = String? Function(String stepId, WoFormValues values)
NumFieldBuilderDef = Widget Function(WoFieldData<NumInput<Object?>, num> data)
OnDynamicInputDeletionDef = void Function(BuildContext context, VoidCallback cancel)
OnEditMediaDef = Future<void> Function(BuildContext context, Media media, WoFieldData<MediaInput<Object?>, List<Media>?> data)
OnStepSubmittingDef = Future<MultistepAction?> Function(BuildContext context)
OnSubmitErrorDef = void Function(BuildContext context, SubmitErrorStatus errorStatus)
PickDateDef = Future<DateTime?> Function({required BuildContext context, String? dateFormat, DateTime? initialDate, DateTime? maxDate, DateTime? minDate})
PickDurationDef = Future<Duration?> Function({required BuildContext context, Duration? initialDuration, Duration? maxDuration, Duration? minDuration})
PickTimeDef = Future<TimeOfDay?> Function({required BuildContext context, TimePickerEntryMode? initialEntryMode, required TimeOfDay initialTime})
PushDef = Future<T?> Function<T extends Object?>({required Widget child, required BuildContext context, bool dismissible, LayoutMethod layout})
QuitButtonBuilderDef = Widget? Function()
ScaffoldBuilderDef = Widget Function(Widget body)
ScoreWidgetBuilderDef = Widget Function({required num score})
SearchScreenDef<T> = Widget Function({WoFormQuery? initialQuery, Key? key, LayoutMethod layout, void onQueryChanged(WoFormQuery query)?, required void onSelect(T value), StringInputUiSettings<T>? searchInputUiSettings, SearchSettings<T>? searchSettings, required Widget tileBuilder(BuildContext context, T value), required Iterable<T> values})
SelectFieldBuilderDef<T> = Widget Function(WoFieldData<SelectInput<T>, List<T>> data)
SelectFieldTileBuilderDef<T> = Widget Function(T value, VoidCallback onTap, bool isSelected)
StringFieldBuilderDef<T extends Object?> = Widget Function(WoFieldData<StringInput<T>, String> data)
SubmitButtonBuilderDef = Widget Function(SubmitButtonData data)
SubmitButtonMarginDef = EdgeInsets Function(SubmitButtonPosition position)
SubmitButtonStyleDef = ButtonStyle Function(BuildContext context)
TranslateInputErrorDef = String? Function(WoFormInputError error)
ValueBuilderDef<T> = Widget Function(T? value)
WidgetBuilderDef = Widget Function(BuildContext context)

Exceptions / Errors

WoFormInputError