FollyFields

Build With Love Version Licence Build Coverage Report

Basic form fields and utilities. Maybe a humble boilerplate.

Funding

BuyMeACoffee

Community

Join our official Discord server
discord

Flutter 3.10 - Break Changes

Version 1.0.0 needs Flutter 3.10.0 and Dart 3.0.0

Flutter 3.7 - Break Changes

Version 0.18.0 needs Flutter 3.7.0 and Dart 2.19.0

Flutter 3.0 - Break Changes

Version 0.10.0 needs Flutter 3.0.0 and Dart 2.17.0

Example

Demo

https://edufolly.github.io/folly_fields/

Code

https://github.com/edufolly/folly_fields/tree/main/example/lib

How to use

pubspec.yaml

dependencies:

  flutter:
    sdk: flutter
  
  flutter_localizations:
    sdk: flutter

  # https://pub.dev/packages/folly_fields
  folly_fields: x.y.z # lastest pub.dev release

Check pub.dev latest release.

For edge builds, replace pub.dev version to git repo:

# https://github.com/edufolly/folly_fields
folly_fields:
  git:
    url: https://github.com/edufolly/folly_fields.git
    ref: v0.0.1 # latest release or branch name

Use ref to avoid breaking changes. Check GitHub latest release.

config.dart

https://github.com/edufolly/folly_fields/blob/main/example/lib/config.dart

class Config extends AbstractConfig {
  static final Config _singleton = Config._internal();

  factory Config() {
    return _singleton;
  }

  Config._internal();

/// Content...
}

main.dart

https://github.com/edufolly/folly_fields/blob/main/example/lib/main.dart

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  FollyFields.start(Config());

  runApp(MyApp());
}

MaterialApp

https://github.com/edufolly/folly_fields/blob/main/example/lib/main.dart

class MyApp extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Folly Fields Example',
      theme: ThemeData(
        primarySwatch: Colors.deepOrange,
      ),
      home: const MyHomePage(),
      localizationsDelegates: const <LocalizationsDelegate<dynamic>>[
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        GlobalCupertinoLocalizations.delegate,
      ],
      supportedLocales: const <Locale>[
        Locale('pt', 'BR'),
      ],
    );
  }
}

Libraries

crud/abstract_consumer
crud/abstract_edit
crud/abstract_edit_controller
crud/abstract_list
crud/abstract_model
crud/abstract_route
crud/abstract_ui_builder
validators/abstract_validator
fields/base_stateful_field
fields/bool_field
fields/cep_field
validators/cep_validator
fields/cest_field
validators/cest_validator
util/child_builder
fields/choice_chip_field
controllers/choice_chip_field_controller
widgets/circular_waiting
fields/cnae_field
validators/cnae_validator
fields/cnpj_field
validators/cnpj_validator
controllers/color_editing_controller
fields/color_field
validators/color_validator
util/config_utils
fields/cpf_cnpj_field
validators/cpf_cnpj_validator
fields/cpf_field
validators/cpf_validator
fields/credit_card_code_field
fields/credit_card_expiration_field
validators/credit_card_expiration_validator
fields/credit_card_number_field
validators/credit_card_number_validator
util/credit_card_type
controllers/date_editing_controller
fields/date_field
controllers/date_time_editing_controller
fields/date_time_field
validators/date_time_validator
validators/date_validator
util/decimal
controllers/decimal_editing_controller
fields/decimal_field
util/decimal_text_formatter
validators/decimal_validator
controllers/duration_editing_controller
fields/duration_field
validators/duration_validator
fields/email_field
validators/email_validator
widgets/empty_button
crud/empty_edit_controller
validators/empty_validator
widgets/error_message
widgets/field_group
fields/file_field
controllers/file_field_controller
widgets/folly_cell
widgets/folly_circular
util/folly_date_time_extension
widgets/folly_dialogs
widgets/folly_divider
folly_fields
widgets/folly_menu_group
widgets/folly_menu_header
widgets/folly_menu_item
util/folly_string_extension
widgets/folly_table
util/folly_utils
util/folly_validators
animations/future_animated_opacity
util/hashable
widgets/header_cell
widgets/home_card
fields/icon_data_field
controllers/icon_data_field_controller
util/icon_helper
controllers/integer_editing_controller
fields/integer_field
util/ipv4_address
fields/ipv4_field
validators/ipv4_validator
fields/licence_plate_field
validators/licence_plate_validator
fields/list_field
fields/local_phone_field
validators/local_phone_validator
fields/mac_address_field
validators/mac_address_validator
util/mask_text_input_formatter
fields/mobile_phone_field
validators/mobile_phone_validator
controllers/model_editing_controller
fields/model_field
util/model_utils
fields/multiline_field
fields/ncm_field
validators/ncm_validator
controllers/new_decimal_editing_controller
fields/new_decimal_field
validators/new_decimal_validator
fields/password_field
fields/password_visible_field
fields/phone_field
validators/phone_validator
responsive/responsive
responsive/responsive_builder
responsive/responsive_decorator
responsive/responsive_field_group
responsive/responsive_form_field
responsive/responsive_future_builder
responsive/responsive_grid
responsive/responsive_stream_builder
responsive/responsive_value_listenable_builder
util/safe_builder
fields/string_field
widgets/table_button
fields/table_field
widgets/table_icon_button
widgets/text_message
controllers/time_editing_controller
fields/time_field
validators/time_validator
fields/uppercase_field
controllers/validator_editing_controller
validators/validator_factory
fields/validator_field
widgets/waiting_message
util/widget_image_renderer