update readme
This commit is contained in:
30
README.md
30
README.md
@@ -65,6 +65,36 @@ Just add the `CountryLocalizations.delegate` in the list of your app delegates
|
||||
],
|
||||
```
|
||||
|
||||
## Customization
|
||||
|
||||
Here is a list of properties available to customize your widget:
|
||||
|
||||
| Name | Type | Description |
|
||||
|-|-|
|
||||
|onChanged| ValueChanged<CountryCode> | callback invoked when the selection changes |
|
||||
|onInit| ValueChanged<CountryCode> | callback invoked during initialization of the widget |
|
||||
|initialSelection| String | used to set the initial selected value |
|
||||
|favorite| List<String> | used to populate the favorite country list |
|
||||
|textStyle| TextStyle | TextStyle applied to the widget button |
|
||||
|padding| EdgeInsetsGeometry | the padding applied to the button |
|
||||
|showCountryOnly| bool | true if you want to see only the countries in the selection dialog |
|
||||
|searchDecoration| InputDecoration | decoration applied to the TextField search widget |
|
||||
|searchStyle| TextStyle | style applied to the TextField search widget text |
|
||||
|emptySearchBuilder| WidgetBuilder | use this to customize the widget used when the search returns 0 elements |
|
||||
|builder| Function(CountryCode) | use this to build a custom widget instead of the default FlatButton |
|
||||
|enabled| bool | set to false to disable the widget |
|
||||
|textOverflow| TextOverflow | the button text overflow behaviour |
|
||||
|dialogSize| Size | the size of the selection dialog |
|
||||
|countryFilter| List<String> | uses a list of strings to filter a sublist of countries |
|
||||
|showOnlyCountryWhenClosed| bool | if true it'll show only the country |
|
||||
|alignLeft| bool | aligns the flag and the Text to the left |
|
||||
|showFlag| bool | shows the flag everywhere |
|
||||
|showFlagMain| bool | shows the flag only when closed |
|
||||
|showFlagDialog| bool | shows the flag only in dialog |
|
||||
|flagWidth| double | the width of the flags |
|
||||
|comparator| Comparator<CountryCode> | use this to sort the countries in the selection dialog |
|
||||
|hideSearch| bool | if true the search feature will be disabled |
|
||||
|
||||
## Contributions
|
||||
|
||||
Contributions of any kind are more than welcome! Feel free to fork and improve country_code_picker in any way you want, make a pull request, or open an issue.
|
||||
|
||||
@@ -18,6 +18,7 @@ class _MyAppState extends State<MyApp> {
|
||||
Locale('en'),
|
||||
Locale('it'),
|
||||
Locale('fr'),
|
||||
Locale('es'),
|
||||
],
|
||||
localizationsDelegates: [
|
||||
CountryLocalizations.delegate,
|
||||
|
||||
@@ -118,9 +118,9 @@ class CountryCodePickerState extends State<CountryCodePicker> {
|
||||
Widget build(BuildContext context) {
|
||||
Widget _widget;
|
||||
if (widget.builder != null)
|
||||
_widget = InkWell(
|
||||
_widget = GestureDetector(
|
||||
onTap: showCountryCodePickerDialog,
|
||||
child: widget.builder(selectedItem.localize(context)),
|
||||
child: widget.builder(selectedItem),
|
||||
);
|
||||
else {
|
||||
_widget = FlatButton(
|
||||
@@ -175,7 +175,8 @@ class CountryCodePickerState extends State<CountryCodePicker> {
|
||||
(e) =>
|
||||
(e.code.toUpperCase() ==
|
||||
widget.initialSelection.toUpperCase()) ||
|
||||
(e.dialCode == widget.initialSelection.toString()),
|
||||
(e.dialCode == widget.initialSelection) ||
|
||||
(e.name.toUpperCase() == widget.initialSelection.toUpperCase()),
|
||||
orElse: () => elements[0]);
|
||||
} else {
|
||||
selectedItem = elements[0];
|
||||
@@ -190,7 +191,8 @@ class CountryCodePickerState extends State<CountryCodePicker> {
|
||||
selectedItem = elements.firstWhere(
|
||||
(e) =>
|
||||
(e.code.toUpperCase() == widget.initialSelection.toUpperCase()) ||
|
||||
(e.dialCode == widget.initialSelection.toString()),
|
||||
(e.dialCode == widget.initialSelection) ||
|
||||
(e.name.toUpperCase() == widget.initialSelection.toUpperCase()),
|
||||
orElse: () => elements[0]);
|
||||
} else {
|
||||
selectedItem = elements[0];
|
||||
@@ -199,7 +201,10 @@ class CountryCodePickerState extends State<CountryCodePicker> {
|
||||
favoriteElements = elements
|
||||
.where((e) =>
|
||||
widget.favorite.firstWhere(
|
||||
(f) => e.code == f.toUpperCase() || e.dialCode == f.toString(),
|
||||
(f) =>
|
||||
e.code.toUpperCase() == f.toUpperCase() ||
|
||||
e.dialCode == f ||
|
||||
e.name.toUpperCase() == f.toUpperCase(),
|
||||
orElse: () => null) !=
|
||||
null)
|
||||
.toList();
|
||||
|
||||
Reference in New Issue
Block a user