Merge pull request #41 from TinyProgrammers/master
added ability to draw custom widgets
This commit is contained in:
143
CHANGELOG.md
143
CHANGELOG.md
@@ -1,77 +1,78 @@
|
||||
## 0.0.1
|
||||
|
||||
Initial release
|
||||
|
||||
## 0.0.2
|
||||
|
||||
Add favorite countries option.
|
||||
|
||||
## 0.1.0
|
||||
|
||||
Removed flags in iOS because they show up weirdly.
|
||||
|
||||
## 0.1.1
|
||||
|
||||
Tested with dart 2
|
||||
|
||||
## 0.1.2
|
||||
|
||||
Favorite and initial selection can be one of code or dial code
|
||||
|
||||
## 0.1.3
|
||||
|
||||
Favorite and initial selection can be one of code or dial code
|
||||
|
||||
## 0.2.0
|
||||
|
||||
Now onChanged has a full CElement as argument and not only a string. (issue #4)
|
||||
|
||||
## 0.2.1
|
||||
|
||||
Added some documentation
|
||||
|
||||
## 0.2.2
|
||||
|
||||
Added textStyle and padding as widget parameters
|
||||
|
||||
## 1.0.0
|
||||
|
||||
Use png flags instead of a font
|
||||
|
||||
## 1.0.1
|
||||
|
||||
Correct README and update screenshots
|
||||
|
||||
## 1.0.2
|
||||
|
||||
Update framework compatiblity
|
||||
|
||||
## 1.0.3
|
||||
|
||||
Update flags dimension to reduce application size
|
||||
|
||||
## 1.0.4
|
||||
|
||||
Update country name with translated version
|
||||
|
||||
## 1.1.0
|
||||
|
||||
Changed CElement with CountryCode and fix error on favorite null
|
||||
|
||||
## 1.1.1
|
||||
|
||||
Update allowed dart version and modify description
|
||||
|
||||
## 1.1.4
|
||||
|
||||
Add possibility to show only country name
|
||||
|
||||
## 1.1.5
|
||||
|
||||
OnlyCountrymode now also displays only the country on Textwidget when closed.
|
||||
## 1.1.8
|
||||
- Added Ability to render custom Widget instead of package one's, through [customWidget] param [@Saifallak](https://github.com/Saifallak).
|
||||
|
||||
## 1.1.7
|
||||
|
||||
Flag is now optional. Fix bug on initState.
|
||||
|
||||
## 1.1.5
|
||||
|
||||
OnlyCountrymode now also displays only the country on Textwidget when closed.
|
||||
|
||||
## 1.1.4
|
||||
|
||||
Add possibility to show only country name
|
||||
|
||||
## 1.1.1
|
||||
|
||||
Update allowed dart version and modify description
|
||||
|
||||
## 1.1.0
|
||||
|
||||
Changed CElement with CountryCode and fix error on favorite null
|
||||
|
||||
## 1.0.4
|
||||
|
||||
Update country name with translated version
|
||||
|
||||
## 1.0.3
|
||||
|
||||
Update flags dimension to reduce application size
|
||||
|
||||
## 1.0.2
|
||||
|
||||
Update framework compatiblity
|
||||
|
||||
## 1.0.1
|
||||
|
||||
Correct README and update screenshots
|
||||
|
||||
## 1.0.0
|
||||
|
||||
Use png flags instead of a font
|
||||
|
||||
## 0.2.2
|
||||
|
||||
Added textStyle and padding as widget parameters
|
||||
|
||||
## 0.2.1
|
||||
|
||||
Added some documentation
|
||||
|
||||
## 0.2.0
|
||||
|
||||
Now onChanged has a full CElement as argument and not only a string. (issue #4)
|
||||
|
||||
## 0.1.3
|
||||
|
||||
Favorite and initial selection can be one of code or dial code
|
||||
|
||||
## 0.1.2
|
||||
|
||||
Favorite and initial selection can be one of code or dial code
|
||||
|
||||
## 0.1.1
|
||||
|
||||
Tested with dart 2
|
||||
|
||||
## 0.1.0
|
||||
|
||||
Removed flags in iOS because they show up weirdly.
|
||||
|
||||
## 0.0.2
|
||||
|
||||
Add favorite countries option.
|
||||
|
||||
## 0.0.1
|
||||
|
||||
Initial release
|
||||
|
||||
@@ -19,6 +19,7 @@ class CountryCodePicker extends StatefulWidget {
|
||||
final InputDecoration searchDecoration;
|
||||
final TextStyle searchStyle;
|
||||
final WidgetBuilder emptySearchBuilder;
|
||||
final Widget customWidget;
|
||||
|
||||
/// shows the name of the country instead of the dialcode
|
||||
final bool showOnlyCountryWhenClosed;
|
||||
@@ -50,7 +51,8 @@ class CountryCodePicker extends StatefulWidget {
|
||||
this.emptySearchBuilder,
|
||||
this.showOnlyCountryWhenClosed = false,
|
||||
this.alignLeft = false,
|
||||
this.showFlag = true
|
||||
this.showFlag = true,
|
||||
this.customWidget,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -84,25 +86,37 @@ class _CountryCodePickerState extends State<CountryCodePicker> {
|
||||
_CountryCodePickerState(this.elements);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => FlatButton(
|
||||
Widget build(BuildContext context) {
|
||||
Widget _widget;
|
||||
if (widget.customWidget != null)
|
||||
_widget = InkWell(
|
||||
onTap: _showSelectionDialog,
|
||||
child: widget.customWidget,
|
||||
);
|
||||
else {
|
||||
_widget = FlatButton(
|
||||
padding: widget.padding,
|
||||
onPressed: _showSelectionDialog,
|
||||
child: Flex(
|
||||
direction: Axis.horizontal,
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: <Widget>[
|
||||
widget.showFlag ? Flexible(
|
||||
flex: widget.alignLeft ? 0 : 1,
|
||||
fit: widget.alignLeft ? FlexFit.tight : FlexFit.loose,
|
||||
child: Padding(
|
||||
padding: widget.alignLeft
|
||||
? const EdgeInsets.only(right: 16.0, left: 8.0)
|
||||
: const EdgeInsets.only(right: 16.0),
|
||||
child: Image.asset(
|
||||
selectedItem.flagUri,
|
||||
package: 'country_code_picker',
|
||||
width: 32.0,
|
||||
),
|
||||
),
|
||||
) : Container(),
|
||||
widget.showFlag
|
||||
? Flexible(
|
||||
flex: widget.alignLeft ? 0 : 1,
|
||||
fit: widget.alignLeft ? FlexFit.tight : FlexFit.loose,
|
||||
child: Padding(
|
||||
padding: widget.alignLeft
|
||||
? const EdgeInsets.only(right: 16.0, left: 8.0)
|
||||
: const EdgeInsets.only(right: 16.0),
|
||||
child: Image.asset(
|
||||
selectedItem.flagUri,
|
||||
package: 'country_code_picker',
|
||||
width: 32.0,
|
||||
),
|
||||
),
|
||||
)
|
||||
: Container(),
|
||||
Flexible(
|
||||
fit: widget.alignLeft ? FlexFit.tight : FlexFit.loose,
|
||||
child: Text(
|
||||
@@ -114,9 +128,10 @@ class _CountryCodePickerState extends State<CountryCodePicker> {
|
||||
),
|
||||
],
|
||||
),
|
||||
padding: widget.padding,
|
||||
onPressed: _showSelectionDialog,
|
||||
);
|
||||
}
|
||||
return _widget;
|
||||
}
|
||||
|
||||
@override
|
||||
initState() {
|
||||
@@ -146,16 +161,12 @@ class _CountryCodePickerState extends State<CountryCodePicker> {
|
||||
void _showSelectionDialog() {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (_) =>
|
||||
SelectionDialog(
|
||||
elements,
|
||||
favoriteElements,
|
||||
builder: (_) => SelectionDialog(elements, favoriteElements,
|
||||
showCountryOnly: widget.showCountryOnly,
|
||||
emptySearchBuilder: widget.emptySearchBuilder,
|
||||
searchDecoration: widget.searchDecoration,
|
||||
searchStyle: widget.searchStyle,
|
||||
showFlag: widget.showFlag
|
||||
),
|
||||
showFlag: widget.showFlag),
|
||||
).then((e) {
|
||||
if (e != null) {
|
||||
setState(() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
name: country_code_picker
|
||||
description: A flutter package for showing a country code selector. In addition it gives the possibility to select a list of favorites countries, as well as to search using a simple searchbox
|
||||
version: 1.1.7
|
||||
version: 1.1.8
|
||||
author: Salvatore-Giordano <svtgiordano@gmail.com>
|
||||
homepage: https://github.com/Salvatore-Giordano/CountryCodePicker
|
||||
|
||||
|
||||
Reference in New Issue
Block a user