own
library
Functions
-
defaultEasyEquals<T>()
→ EasyIsEqual<T>
-
Default implementation of EasyIsEqual that uses
==.
-
easyBottomSheetSelectOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?, Widget? sheetTitle})
→ Widget
-
Easy bottom sheet selector.
-
easyButtonGroupOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?})
→ Widget
-
Easy button group (ChoiceChip-like) from values.
-
easyCheckboxOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?})
→ Widget
-
Easy multi/single checkbox list with minimal config.
-
easyChipsOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?})
→ Widget
-
Easy chips selection from values.
-
easyDateFieldOf({required DateTime? value, required ValueChanged<DateTime?> onChanged, String label(DateTime)?, DateTime? firstDate, DateTime? lastDate, DateTime? initialDate})
→ Widget
-
Easy date field that opens a date picker on tap.
-
easyDoubleFieldOf({required double? value, required ValueChanged<double?>? onChanged, String? hintText})
→ Widget
-
Convenient double text field with numeric keyboard and parsing.
-
easyDropdownOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, String label(T)?})
→ Widget
-
Easy dropdown: just pass items, current value and onChanged.
-
easyFilterBarOf({required List<Widget> filters, Widget? leading, Widget? trailing, EdgeInsetsGeometry padding = const EdgeInsets.all(12), double spacing = 12, double runSpacing = 8, Color? backgroundColor, BorderRadius borderRadius = const BorderRadius.all(Radius.circular(16))})
→ Widget
-
Easy filter bar for composing multiple filter controls.
-
easyGridOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?, int crossAxisCount = 2, double mainAxisSpacing = 12, double crossAxisSpacing = 12, double childAspectRatio = 1})
→ Widget
-
Easy grid view for card-like selections.
-
easyIntFieldOf({required int? value, required ValueChanged<int?>? onChanged, String? hintText})
→ Widget
-
Convenient integer text field with numeric keyboard and parsing.
-
easyListOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, bool multiSelect = false, List<T>? values, ValueChanged<List<T>>? onChangedMany, String label(T)?, bool divided = true, bool dense = false})
→ Widget
-
Easy selectable list with generic items.
-
Easy popup menu for single-select actions.
-
Easy pagination control for lists and tables.
-
Easy popup selector using the advanced popup dialog.
-
easyRadioOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, String label(T)?})
→ Widget
-
Easy radio group with just items, selected value and onChanged.
-
easyResponsiveScaffoldOf({required Widget body, PreferredSizeWidget? appBar, Widget? navigationRail, Widget? drawer, Widget? bottomNavigationBar, EdgeInsetsGeometry? bodyPadding, double breakpoint = 900})
→ Widget
-
Easy responsive scaffold wrapper.
-
easySearchableGridOf<T>({required List<T> items, required String label(T), required EasyItemBuilder<T> itemBuilder, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String hintText = 'Search...', Widget? emptyState, int crossAxisCount = 2, double mainAxisSpacing = 12, double crossAxisSpacing = 12, double childAspectRatio = 1})
→ Widget
-
Easy searchable grid: text field + filtered grid.
-
easySearchableListOf<T>({required List<T> items, required String label(T), T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String hintText = 'Search...', Widget? emptyState})
→ Widget
-
Easy searchable list: text field + filtered list.
-
easySearchOf<T>({required List<T> items, required String label(T), void onSelected(T selectedItem)?, void onSelectedMany(List<T> selectedItems)?, bool multiSelect = false, SearchRemoteResolver<T>? remoteSearch, String hintText = 'Search...'})
→ Widget
-
Easy search + recommendation widget:
just pass items, label mapper and callbacks.
-
easySegmentedOf<T>({required List<T> items, T? value, ValueChanged<T?>? onChanged, bool multiSelect = false, List<T>? values, String label(T)?})
→ Widget
-
Easy segmented control with generic items and selection.
-
easyStepperOf<T>({required List<EasyStepConfig<T>> steps, required T? currentStep, ValueChanged<T>? onStepChanged, Axis axis = Axis.horizontal, bool allowStepTap = true})
→ Widget
-
Easy multi-step indicator for onboarding and wizards.
-
easySwitchOf<T>({required List<T> items, T? value, List<T>? values, ValueChanged<T?>? onChanged, ValueChanged<List<T>>? onChangedMany, bool multiSelect = false, String label(T)?})
→ Widget
-
Easy switch group for toggling one or many options.
-
easyTableOf<T>({required List<T> items, required List<DataColumn> columns, required EasyTableCellBuilder<T> cellBuilder, T? value, ValueChanged<T?>? onChanged, EasyIsEqual<T>? isEqual, bool multiSelect = false, List<T>? selectedValues, ValueChanged<List<T>>? onChangedMany, bool showCheckboxColumn = true, double? dataRowHeight, double? headingRowHeight})
→ Widget
-
Easy table convenience for quick rendering.
-
easyTagInputOf({required List<String> tags, required ValueChanged<List<String>> onChanged, String hintText = 'Add tag and press Enter', bool allowDuplicates = false, int? maxTags})
→ Widget
-
Easy tag input with String values and chips.
-
easyTextFieldOf<T>({required T? value, required ValueChanged<T?>? onChanged, String label(T)?, T? parser(String text)?, String? hintText, TextInputType? keyboardType, bool obscureText = false})
→ Widget
-
Easy text field bound directly to a value of type
T.
-
easyTextFormFieldOf<T>({required EasyFormController form, required String name, String label(T)?, T? parser(String text)?, String? hintText, TextInputType? keyboardType, bool obscureText = false})
→ Widget
-
Easy TextFormField bound to an EasyFormController and field
name.
Typedefs
-
DateFormatter
= String Function(DateTime value)
-
-
EasyFilePickHandler<T>
= FutureOr<List<T>> Function(EasyFileCategory category, bool allowMultiple)
-
-
EasyImagePickHandler<T>
= FutureOr<List<T>> Function(EasyImageSource source, bool allowMultiple)
-
-
EasyIsEqual<T>
= bool Function(T? a, T? b)
-
Equality callback used by Easy widgets to compare values of type
T.
-
EasyItemBuilder<T>
= Widget Function(BuildContext context, T item, bool isSelected)
-
Signature for builders that turn an
item into a widget.
-
EasyLabelBuilder<T>
= String Function(T item)
-
Callback that converts a value of type
T into a user-facing label.
-
EasyMultiBuilder<T>
= Widget Function(BuildContext context, List<T> values, ValueChanged<List<T>> onChanged)
-
-
EasySingleBuilder<T>
= Widget Function(BuildContext context, T? value, ValueChanged<T?> onChanged)
-
-
EasyTableCellBuilder<T>
= Widget Function(BuildContext context, T row, int columnIndex, bool selected)
-
-
EasyTagLabelBuilder<T>
= String Function(T value)
-
-
EasyTagParser<T>
= T? Function(String text)
-
-
EasyValidator<T>
= String? Function(T? value)
-
Signature for validating a value of type
T. Return null when valid.
-
EasyValueParser<T>
= T? Function(String text)
-
-
SearchRemoteResolver<T>
= Future<List<T>> Function(String query)
-
Optional remote search callback used for server-side searching.