Skip to content

jmjoary/extension_flutter_tools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Useful Widgets and class extensions for Flutter apps

Features

Widgets

  • CopyToClipboardButton : A button that will copy a text to the clipboard when pressed. The text to copy is passed as a parameter to the widget.
  • ConfirmWrapper : Wrap any tappable widget with a graphical confirmation from the user. Useful for delete button, dangerous operations, etc.
  • DateTimeButton : A button that allows the user to select a date (and optionnaly a time). The buttons displays the selected date.
  • EditableLabel : A simple text with an edit button next to it. When clicked, a TextField allows to edit the value and save it.
  • NetworkOrFileImage : A widgets that receives an image Uri and checks if it is a local image, an app asset or a network url. Then uses the correct API to fetch and display the image. For network images, it uses the cached_network_image library to download and cache the image before displaying it.
  • ErrorView : A simple ErrorView with at minimum a title, but can also have a subtitle, details (with a disclose button), a configurable fix it button.

Extensions :

  • Color to hexadecimal : allows conversion from Color objects to a String Hexadecimal representation and also in reverse order (from String to Color)

Test tools

Added some static functions useful for unit tests for Flutter apps.

  • runTestableWidgetScreen and runTestableComponent allow to launch a widget for testing with some parameters
  • loadStringFromFile allows to load a string from a file in any test. Useful for loading JSON files for example.
  • generateLongString generates a string of a given length and optionnaly we can decide which repeating character should be used. Useful for testing long texts in UI of widgets.

Getting started

Add the package as a dependency in your pubspec.yaml file

dependencies:
  flutter:
    sdk: flutter

  extension_flutter_tools:
    git: https://github.com/maxbritto/extension_flutter_tools.git

External contributions

If you want to add new widgets or extensions, please keep in mind before submitting a PR :

  • Widgets and extensions must be generic enough to be usable in many projects
  • Unit tests and automated tests are mandatory. 100% coverage is required for any newly added code

Thanks for your contributions!

Happy Coding.

Maxime

About

Useful Widgets and class extensions for Flutter apps

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 100.0%