fix carton
This commit is contained in:
@@ -4,9 +4,9 @@ import 'package:fcs/pages/user_search/user_serach.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class UserListRow extends StatefulWidget {
|
||||
final CallbackUserSelect callbackUserSelect;
|
||||
final OnUserRowSelect onUserRowSelect;
|
||||
final User user;
|
||||
const UserListRow({this.user, this.callbackUserSelect});
|
||||
const UserListRow({this.user, this.onUserRowSelect});
|
||||
|
||||
@override
|
||||
_UserListRowState createState() => _UserListRowState();
|
||||
@@ -30,9 +30,8 @@ class _UserListRowState extends State<UserListRow> {
|
||||
color: Colors.white,
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
Navigator.pop(context);
|
||||
if (widget.callbackUserSelect != null)
|
||||
widget.callbackUserSelect(widget.user);
|
||||
if (widget.onUserRowSelect != null)
|
||||
widget.onUserRowSelect(widget.user);
|
||||
},
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
|
||||
@@ -5,19 +5,22 @@ import 'package:fcs/pages/user_search/user_list_row.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
typedef CallbackUserSelect(User suer);
|
||||
typedef OnUserSelect(User suer);
|
||||
typedef OnUserRowSelect(User suer);
|
||||
|
||||
Future<User> searchUser(BuildContext context,
|
||||
{CallbackUserSelect callbackUserSelect}) async =>
|
||||
{OnUserSelect onUserSelect, bool popPage = false}) async =>
|
||||
await showSearch<User>(
|
||||
context: context,
|
||||
delegate: UserSearchDelegate(callbackUserSelect: callbackUserSelect),
|
||||
delegate:
|
||||
UserSearchDelegate(onUserSelect: onUserSelect, popPage: popPage),
|
||||
);
|
||||
|
||||
class UserSearchDelegate extends SearchDelegate<User> {
|
||||
final CallbackUserSelect callbackUserSelect;
|
||||
final OnUserSelect onUserSelect;
|
||||
final bool popPage;
|
||||
|
||||
UserSearchDelegate({this.callbackUserSelect});
|
||||
UserSearchDelegate({this.onUserSelect, this.popPage});
|
||||
|
||||
@override
|
||||
String get searchFieldLabel => 'Search by FCS ID or Name';
|
||||
@@ -77,7 +80,7 @@ class UserSearchDelegate extends SearchDelegate<User> {
|
||||
children: snapshot.data
|
||||
.map((u) => UserListRow(
|
||||
user: u,
|
||||
callbackUserSelect: callbackUserSelect,
|
||||
onUserRowSelect: (u) => _onUserRowSelect(context, u),
|
||||
))
|
||||
.toList(),
|
||||
),
|
||||
@@ -113,4 +116,13 @@ class UserSearchDelegate extends SearchDelegate<User> {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
_onUserRowSelect(BuildContext context, User user) {
|
||||
if (onUserSelect != null) {
|
||||
onUserSelect(user);
|
||||
}
|
||||
if (popPage) {
|
||||
Navigator.pop(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user