favorites search enabled.

master
aamir-csol 3 weeks ago
parent 55ece8921f
commit c06c020fb3

@ -1,4 +1,5 @@
import 'dart:collection'; import 'dart:collection';
import 'dart:convert';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -32,8 +33,16 @@ class DelegateSheet extends StatefulWidget {
VoidCallback callBackFunc; VoidCallback callBackFunc;
List<NotificationGetRespondAttributesList> getNotificationRespondAttributes; List<NotificationGetRespondAttributesList> getNotificationRespondAttributes;
DelegateSheet( DelegateSheet({
{required this.title, required this.apiMode, this.notificationID, this.actionHistoryList, this.wFHistory, required this.callBackFunc, this.getNotificationRespondAttributes = const []}); super.key,
required this.title,
required this.apiMode,
this.notificationID,
this.actionHistoryList,
this.wFHistory,
required this.callBackFunc,
this.getNotificationRespondAttributes = const <NotificationGetRespondAttributesList>[],
});
@override @override
State<DelegateSheet> createState() => _DelegateSheetState(); State<DelegateSheet> createState() => _DelegateSheetState();
@ -46,8 +55,8 @@ class _DelegateSheetState extends State<DelegateSheet> {
String? selectedFavLetter; String? selectedFavLetter;
String selectedType = "Workflow"; String selectedType = "Workflow";
String inputRes = ""; String inputRes = "";
List<String>? favLetters;
List<GetFavoriteReplacements>? favUsersList; List<GetFavoriteReplacements>? favUsersList;
List<GetFavoriteReplacements>? filteredFavUsersList = <GetFavoriteReplacements>[];
List<ReplacementList>? replacementList; List<ReplacementList>? replacementList;
bool isImageLoaded = false; bool isImageLoaded = false;
@ -57,14 +66,14 @@ class _DelegateSheetState extends State<DelegateSheet> {
super.initState(); super.initState();
if (widget.wFHistory != null) { if (widget.wFHistory != null) {
widget.wFHistory = widget.wFHistory!.reversed.toList(); widget.wFHistory = widget.wFHistory!.reversed.toList();
var ids = widget.wFHistory!.map((e) => e.employeeID).toSet(); Set<String?> ids = widget.wFHistory!.map((WFHistory e) => e.employeeID).toSet();
widget.wFHistory!.retainWhere((x) => ids.remove(x.employeeID)); widget.wFHistory!.retainWhere((WFHistory x) => ids.remove(x.employeeID));
} }
if (widget.actionHistoryList != null) { if (widget.actionHistoryList != null) {
widget.actionHistoryList = widget.actionHistoryList!.reversed.toList(); widget.actionHistoryList = widget.actionHistoryList!.reversed.toList();
var ids = widget.actionHistoryList!.map((e) => e.uSERNAME).toSet(); Set<String?> ids = widget.actionHistoryList!.map((GetActionHistoryList e) => e.uSERNAME).toSet();
widget.actionHistoryList!.retainWhere((x) => ids.remove(x.uSERNAME)); widget.actionHistoryList!.retainWhere((GetActionHistoryList x) => ids.remove(x.uSERNAME));
} }
} }
@ -73,36 +82,96 @@ class _DelegateSheetState extends State<DelegateSheet> {
super.dispose(); super.dispose();
} }
Future fetchFavLetters({bool isNeedLoading = true}) async { Future<void> fetchFavUsers({bool isNeedLoading = true}) async {
favLetters = []; favUsersList = <GetFavoriteReplacements>[];
filteredFavUsersList = <GetFavoriteReplacements>[];
if (isNeedLoading) Utils.showLoading(context); if (isNeedLoading) Utils.showLoading(context);
try {
List<GetFavoriteReplacements>? favList = await WorkListApiClient().getFavoriteReplacementWithoutImage(); List<GetFavoriteReplacements>? favList = await WorkListApiClient().getFavoriteReplacementWithoutImage();
List<String> result = []; favUsersList = favList;
favList!.forEach((element) {
result.add(element.employeeDisplayName![0]); if (favUsersList != null && favUsersList!.isNotEmpty) {
}); favUsersList!.sort((GetFavoriteReplacements a, GetFavoriteReplacements b) => (a.employeeDisplayName ?? '').toLowerCase().compareTo((b.employeeDisplayName ?? '').toLowerCase()));
favLetters = LinkedHashSet<String>.from(result).toList(); filteredFavUsersList = favUsersList;
if (isNeedLoading) Utils.hideLoading(context); if (isNeedLoading) Utils.hideLoading(context);
setState(() { setState(() {});
favLetters!.sort((a, b) { _fetchAndAttachUserImages();
return a.toLowerCase().compareTo(b.toLowerCase()); } else {
}); if (isNeedLoading) Utils.hideLoading(context);
}); setState(() {});
return null;
} }
} catch (e) {
Future fetchFavUsersList({bool isNeedLoading = true}) async {
if (isNeedLoading) Utils.showLoading(context);
favUsersList = await WorkListApiClient().getFavoriteReplacementWithImage(selectedFavLetter ?? "");
if (isNeedLoading) Utils.hideLoading(context); if (isNeedLoading) Utils.hideLoading(context);
setState(() {}); setState(() {});
fetchFavUsersListNew(isNeedLoading: false); }
return null; }
Future<void> _fetchAndAttachUserImages() async {
try {
List<GetFavoriteReplacements>? tempList = await WorkListApiClient().getFavoriteReplacementWithImageNew("");
if (tempList != null && tempList.isNotEmpty && favUsersList != null) {
for (GetFavoriteReplacements element in favUsersList!) {
for (GetFavoriteReplacements element2 in tempList) {
if (element.userName == element2.userName && element2.employeeImage != null && element2.employeeImage!.isNotEmpty) {
element.employeeImage = element2.employeeImage;
}
}
}
filteredFavUsersList = favUsersList;
setState(() {});
}
} catch (e) {}
} }
// Future<void> fetchFavUsers({bool isNeedLoading = true}) async {
// favUsersList = <GetFavoriteReplacements>[];
// if (isNeedLoading) Utils.showLoading(context);
//
// try {
// List<GetFavoriteReplacements>? favList = await WorkListApiClient().getFavoriteReplacementWithoutImage();
// favUsersList = favList;
//
// if (favUsersList != null && favUsersList!.isNotEmpty) {
// setState(() {
// favUsersList!.sort((GetFavoriteReplacements a, GetFavoriteReplacements b) => (a.employeeDisplayName ?? '').toLowerCase().compareTo((b.employeeDisplayName ?? '').toLowerCase()));
// });
// if (isNeedLoading) Utils.hideLoading(context);
//
// List<GetFavoriteReplacements>? tempList = await WorkListApiClient().getFavoriteReplacementWithImageNew("");
// if (tempList != null && tempList.isNotEmpty) {
// for (GetFavoriteReplacements element in favUsersList!) {
// for (GetFavoriteReplacements element2 in tempList) {
// if (element.userName == element2.userName) {
// if (element2.employeeImage != null && element2.employeeImage!.isNotEmpty) {
// element.employeeImage = element2.employeeImage;
// }
// }
// }
// }
// setState(() {});
// }
// }
// } catch (e) {
// // if (isNeedLoading) Utils.hideLoading(context);
// }
// }
// Future fetchFavUsersList({bool isNeedLoading = true}) async {
// if (isNeedLoading) Utils.showLoading(context);
// favUsersList = await WorkListApiClient().getFavoriteReplacementWithImage(selectedFavLetter ?? "");
// if (isNeedLoading) Utils.hideLoading(context);
// setState(() {});
// fetchFavUsersListNew(isNeedLoading: false);
// return null;
// }
Future fetchFavUsersListNew({bool isNeedLoading = true}) async { Future fetchFavUsersListNew({bool isNeedLoading = true}) async {
if (isNeedLoading) Utils.showLoading(context); if (isNeedLoading) Utils.showLoading(context);
favUsersList = await WorkListApiClient().getFavoriteReplacementWithImageNew(selectedFavLetter ?? ""); filteredFavUsersList = await WorkListApiClient().getFavoriteReplacementWithImageNew(selectedFavLetter ?? "");
if (isNeedLoading) Utils.hideLoading(context); if (isNeedLoading) Utils.hideLoading(context);
setState(() { setState(() {
isImageLoaded = true; isImageLoaded = true;
@ -112,18 +181,10 @@ class _DelegateSheetState extends State<DelegateSheet> {
void fetchChangeFav({required String email, required String employeName, required String image, required String userName, bool isFav = false, bool isNeedToRefresh = false}) async { void fetchChangeFav({required String email, required String employeName, required String image, required String userName, bool isFav = false, bool isNeedToRefresh = false}) async {
Utils.showLoading(context); Utils.showLoading(context);
favLetters = null; GenericResponseModel model = await WorkListApiClient().changeFavoriteReplacements(email: email, employeName: employeName, image: image, userName: userName, isFav: isFav);
selectedFavLetter = null;
GenericResponseModel model = await WorkListApiClient().changeFavoriteReplacements(
email: email,
employeName: employeName,
image: image,
userName: userName,
isFav: isFav,
);
if (isNeedToRefresh) { if (isNeedToRefresh) {
await fetchFavLetters(isNeedLoading: false); await fetchFavUsers(isNeedLoading: false);
if (favLetters != null) await fetchFavUsersList(isNeedLoading: false); // if (favUsersList != null) await fetchFavUsersList(isNeedLoading: false);
} }
Utils.hideLoading(context); Utils.hideLoading(context);
@ -137,44 +198,58 @@ class _DelegateSheetState extends State<DelegateSheet> {
userName: selectedType == "Employee Name" ? inputRes : "", userName: selectedType == "Employee Name" ? inputRes : "",
email: selectedType == "Employee Email" ? inputRes : "", email: selectedType == "Employee Email" ? inputRes : "",
); );
if (isNeedLoading) Utils.hideLoading(context); if (isNeedLoading) Utils.hideLoading(context);
setState(() {}); setState(() {});
return null; return null;
} }
Future<void> searchFavUser() async {
if (favUsersList != null && favUsersList!.isNotEmpty) {
if (inputRes.length > 3) {
filteredFavUsersList =
favUsersList!.where((GetFavoriteReplacements element) {
String query = inputRes.toLowerCase();
return (element.employeeDisplayName != null && element.employeeDisplayName!.toLowerCase().contains(query)) ||
(element.userName != null && element.userName!.toLowerCase().contains(query)) ||
(element.emailAddress != null && element.emailAddress!.toLowerCase().contains(query));
}).toList();
} else {
filteredFavUsersList = favUsersList;
}
} else {
filteredFavUsersList = <GetFavoriteReplacements>[];
}
setState(() {});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return SizedBox(
width: double.infinity, width: double.infinity,
height: MediaQuery.of(context).size.height - 80, height: MediaQuery.of(context).size.height - 80,
child: Column( child: Column(
children: [ children: <Widget>[
Expanded( Expanded(
child: SingleChildScrollView( child: SingleChildScrollView(
child: Padding( child: Padding(
padding: const EdgeInsets.all(21), padding: const EdgeInsets.all(21),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: <Widget>[
widget.title.toText24(isBold: true), widget.title.toText24(isBold: true),
21.height, 21.height,
LocaleKeys.search.tr().toText16(), LocaleKeys.search.tr().toText16(),
11.height, 11.height,
Column( Column(
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: <Widget>[
Container( Container(
padding: EdgeInsets.only(left: 8, right: 4, top: 6, bottom: 6), padding: const EdgeInsets.only(left: 8, right: 4, top: 6, bottom: 6),
decoration: BoxDecoration( decoration: BoxDecoration(borderRadius: BorderRadius.circular(15), color: Colors.transparent, border: Border.all(color: const Color(0xffefefef), width: 1)),
borderRadius: BorderRadius.circular(15),
color: Colors.transparent,
border: Border.all(
color: Color(0xffefefef),
width: 1,
),
),
child: Row( child: Row(
children: [ children: <Widget>[
Expanded( Expanded(
child: InputWidget( child: InputWidget(
"Search By " + selectedType, "Search By " + selectedType,
@ -185,29 +260,18 @@ class _DelegateSheetState extends State<DelegateSheet> {
verticalPadding: 3, verticalPadding: 3,
isInputTypeNum: selectedType == "Employee ID" ? true : false, isInputTypeNum: selectedType == "Employee ID" ? true : false,
isEnable: isNeedEnableTextField, isEnable: isNeedEnableTextField,
onChange: (v) { onChange: (String v) {
inputRes = v; inputRes = v;
if (selectedType == "Favorites") {
searchFavUser();
}
}, },
), ),
), ),
Container(height: 36, width: 1, color: const Color(0xffE5E5E5)),
Container( Container(
height: 36, padding: const EdgeInsets.all(8),
width: 1, child: Row(children: <Widget>[selectedType.toText12(), 4.width, const Icon(Icons.keyboard_arrow_down, color: Colors.black, size: 16)]),
color: Color(0xffE5E5E5),
),
Container(
padding: EdgeInsets.all(8),
child: Row(
children: [
selectedType.toText12(),
4.width,
const Icon(
Icons.keyboard_arrow_down,
color: Colors.black,
size: 16,
),
],
),
).onPress(() { ).onPress(() {
showMyBottomSheet( showMyBottomSheet(
context, context,
@ -220,18 +284,16 @@ class _DelegateSheetState extends State<DelegateSheet> {
setState(() { setState(() {
isNeedEnableTextField = false; isNeedEnableTextField = false;
selectedFavLetter = null; selectedFavLetter = null;
favLetters = null; filteredFavUsersList = null;
favUsersList = null;
}); });
} else if (value == "Favorites") { } else if (value == "Favorites") {
isNeedEnableTextField = false; isNeedEnableTextField = true;
fetchFavLetters(); fetchFavUsers();
} else { } else {
setState(() { setState(() {
isNeedEnableTextField = true; isNeedEnableTextField = true;
selectedFavLetter = null; selectedFavLetter = null;
favLetters = null; filteredFavUsersList = null;
favUsersList = null;
}); });
} }
}, },
@ -241,143 +303,105 @@ class _DelegateSheetState extends State<DelegateSheet> {
], ],
), ),
), ),
if (isNeedEnableTextField) if (isNeedEnableTextField && selectedType != "Favorites")
TextButton( TextButton(
onPressed: () { onPressed: () {
fetchUserByInput(); fetchUserByInput();
}, },
child: const Text( child: const Text("Search", style: TextStyle(color: Colors.blue, decoration: TextDecoration.underline)),
"Search",
style: TextStyle(
color: Colors.blue,
decoration: TextDecoration.underline,
),
), ),
)
], ],
), ),
if (!isNeedEnableTextField) 12.height, if (!isNeedEnableTextField) 12.height,
Row( Row(
children: [ children: <Widget>[
Expanded( Expanded(
child: Container( child: SizedBox(
width: double.infinity,
child: selectedFavLetter == null && favLetters != null
? Container(
width: double.infinity, width: double.infinity,
alignment: Alignment.center, child:
child: "Please select letter to see Fav results".toText12(), // selectedFavLetter == null && favLetters != null
) // ? Container(width: double.infinity, alignment: Alignment.center, child: "Please select letter to see Fav results".toText12())
: favUsersList != null // :
filteredFavUsersList != null
? ListView.separated( ? ListView.separated(
itemBuilder: (context, index) { itemBuilder: (BuildContext context, int index) {
return showFavUserItem(favUsersList![index]); return showFavUserItem(filteredFavUsersList![index]);
}, },
separatorBuilder: (context, index) { separatorBuilder: (BuildContext context, int index) {
return Container( return Container(color: MyColors.borderColor, width: double.infinity, height: 1, margin: const EdgeInsets.only(top: 8, bottom: 8)).onPress(() {});
color: MyColors.borderColor,
width: double.infinity,
height: 1,
margin: EdgeInsets.only(top: 8, bottom: 8),
).onPress(() {});
}, },
physics: NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
itemCount: favUsersList!.length, itemCount: filteredFavUsersList!.length,
padding: EdgeInsets.only(top: 8, bottom: 8), padding: const EdgeInsets.only(top: 8, bottom: 8),
) )
: isNeedEnableTextField && replacementList == null : isNeedEnableTextField && replacementList == null
? Container( ? Container(width: double.infinity, alignment: Alignment.center, child: "Search User".toText12())
width: double.infinity, : isNeedEnableTextField && replacementList!.isEmpty
alignment: Alignment.center, ? Container(width: double.infinity, alignment: Alignment.center, child: "No Data Found".toText12())
child: "Search User".toText12(),
)
: isNeedEnableTextField && replacementList!.length == 0
? Container(
width: double.infinity,
alignment: Alignment.center,
child: "No Data Found".toText12(),
)
: isNeedEnableTextField : isNeedEnableTextField
? ListView.separated( ? ListView.separated(
itemBuilder: (context, index) { itemBuilder: (BuildContext context, int index) {
return showInputUserItem(replacementList![index]); return showInputUserItem(replacementList![index]);
}, },
separatorBuilder: (context, index) { separatorBuilder: (BuildContext context, int index) {
return Container( return Container(color: MyColors.borderE3Color, width: double.infinity, height: 1, margin: const EdgeInsets.only(top: 8, bottom: 8));
color: MyColors.borderE3Color,
width: double.infinity,
height: 1,
margin: EdgeInsets.only(top: 8, bottom: 8),
);
}, },
physics: NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
itemCount: replacementList!.length, itemCount: replacementList!.length,
padding: EdgeInsets.only(top: 8, bottom: 8), padding: const EdgeInsets.only(top: 8, bottom: 8),
) )
: (widget.wFHistory != null : (widget.wFHistory != null
? ListView.separated( ? ListView.separated(
itemBuilder: (context, index) { itemBuilder: (BuildContext context, int index) {
return showItgItem(widget.wFHistory![index]); return showItgItem(widget.wFHistory![index]);
}, },
separatorBuilder: (context, index) { separatorBuilder: (BuildContext context, int index) {
return Container( return Container(color: MyColors.borderE3Color, width: double.infinity, height: 1, margin: const EdgeInsets.only(top: 8, bottom: 8));
color: MyColors.borderE3Color,
width: double.infinity,
height: 1,
margin: EdgeInsets.only(top: 8, bottom: 8),
);
}, },
physics: NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
itemCount: widget.wFHistory!.length, itemCount: widget.wFHistory!.length,
padding: EdgeInsets.only(top: 8, bottom: 8), padding: const EdgeInsets.only(top: 8, bottom: 8),
) )
: ListView.separated( : ListView.separated(
itemBuilder: (context, index) { itemBuilder: (BuildContext context, int index) {
return showItem(widget.actionHistoryList![index]); return showItem(widget.actionHistoryList![index]);
}, },
separatorBuilder: (context, index) { separatorBuilder: (BuildContext context, int index) {
return Container( return Container(color: MyColors.borderE3Color, width: double.infinity, height: 1, margin: const EdgeInsets.only(top: 8, bottom: 8));
color: MyColors.borderE3Color,
width: double.infinity,
height: 1,
margin: EdgeInsets.only(top: 8, bottom: 8),
);
}, },
physics: NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true, shrinkWrap: true,
itemCount: widget.actionHistoryList!.length, itemCount: widget.actionHistoryList!.length,
padding: EdgeInsets.only(top: 8, bottom: 8), padding: const EdgeInsets.only(top: 8, bottom: 8),
)), )),
), ),
), ),
if (favLetters != null) // if (favLetters != null)
Container( // SizedBox(
width: 30, // width: 30,
// color: Colors.red, // // color: Colors.red,
child: ListView.separated( // child: ListView.separated(
itemBuilder: (context, index) { // itemBuilder: (BuildContext context, int index) {
return Container( // return Container(
padding: EdgeInsets.all(8), // padding: const EdgeInsets.all(8),
alignment: Alignment.center, // alignment: Alignment.center,
child: favLetters![index].toText14(color: selectedFavLetter == favLetters![index] ? MyColors.gradiantStartColor : Colors.black), // child: favLetters![index].toText14(color: selectedFavLetter == favLetters![index] ? MyColors.gradiantStartColor : Colors.black),
).onPress(() { // ).onPress(() {
selectedFavLetter = favLetters![index].toUpperCase(); // selectedFavLetter = favLetters![index].toUpperCase();
fetchFavUsersList(); // fetchFavUsersList();
}); // });
}, // },
separatorBuilder: (context, index) { // separatorBuilder: (BuildContext context, int index) {
return SizedBox( // return const SizedBox(height: 0);
height: 0, // },
); // physics: const NeverScrollableScrollPhysics(),
}, // shrinkWrap: true,
physics: NeverScrollableScrollPhysics(), // itemCount: favLetters!.length,
shrinkWrap: true, // ),
itemCount: favLetters!.length, // ),
),
),
], ],
), ),
], ],
@ -385,22 +409,15 @@ class _DelegateSheetState extends State<DelegateSheet> {
), ),
), ),
), ),
Container( Container(width: double.infinity, height: 1, color: MyColors.borderColor),
width: double.infinity,
height: 1,
color: MyColors.borderColor,
),
DefaultButton( DefaultButton(
"Cancel", "Cancel",
() { () {
Navigator.pop(context); Navigator.pop(context);
}, },
textColor: Colors.black, textColor: Colors.black,
colors: [ colors: const <Color>[Color(0xffE6E6E6), Color(0xffE6E6E6)],
Color(0xffE6E6E6), ).insideContainer,
Color(0xffE6E6E6),
],
).insideContainer
], ],
), ),
); );
@ -410,7 +427,8 @@ class _DelegateSheetState extends State<DelegateSheet> {
return InkWell( return InkWell(
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
showMyBottomSheet(context, showMyBottomSheet(
context,
callBackFunc: widget.callBackFunc, callBackFunc: widget.callBackFunc,
child: SelectedItemSheet( child: SelectedItemSheet(
"Comment", "Comment",
@ -419,16 +437,12 @@ class _DelegateSheetState extends State<DelegateSheet> {
notificationID: widget.notificationID, notificationID: widget.notificationID,
isITGRequest: widget.wFHistory != null, isITGRequest: widget.wFHistory != null,
getNotificationRespondAttributes: widget.getNotificationRespondAttributes, getNotificationRespondAttributes: widget.getNotificationRespondAttributes,
)); ),
);
}, },
child: Row( child: Row(
children: [ children: <Widget>[
CircularAvatar( CircularAvatar(url: actionHistory.eMPLOYEEIMAGE ?? "", height: 30, width: 30, isImageBase64: true),
url: actionHistory.eMPLOYEEIMAGE ?? "",
height: 30,
width: 30,
isImageBase64: true,
),
9.width, 9.width,
(actionHistory.nAME ?? "").toText12().expanded, (actionHistory.nAME ?? "").toText12().expanded,
IconButton( IconButton(
@ -444,12 +458,8 @@ class _DelegateSheetState extends State<DelegateSheet> {
isFav: true, isFav: true,
); );
}, },
icon: Icon( icon: Icon(Icons.star, size: 16, color: (actionHistory.isFavorite ?? false) ? MyColors.yellowColor : MyColors.borderColor),
Icons.star,
size: 16,
color: (actionHistory.isFavorite ?? false) ? MyColors.yellowColor : MyColors.borderColor,
), ),
)
], ],
), ),
); );
@ -459,33 +469,27 @@ class _DelegateSheetState extends State<DelegateSheet> {
return InkWell( return InkWell(
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
showMyBottomSheet(context, showMyBottomSheet(
context,
callBackFunc: widget.callBackFunc, callBackFunc: widget.callBackFunc,
child: SelectedItgItemSheet( child: SelectedItgItemSheet(
"Comment", "Comment",
apiMode: widget.apiMode, apiMode: widget.apiMode,
wfHistory: wfHistory, wfHistory: wfHistory,
// notificationID: widget.notificationID, // notificationID: widget.notificationID,
));
},
child: Row(
children: [
CircularAvatar(
height: 30,
width: 30,
),
9.width,
(wfHistory.name ?? "").toText12().expanded,
],
), ),
); );
},
child: Row(children: <Widget>[CircularAvatar(height: 30, width: 30), 9.width, (wfHistory.name ?? "").toText12().expanded]),
);
} }
Widget showFavUserItem(GetFavoriteReplacements actionHistory) { Widget showFavUserItem(GetFavoriteReplacements actionHistory) {
return InkWell( return InkWell(
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
showMyBottomSheet(context, showMyBottomSheet(
context,
callBackFunc: widget.callBackFunc, callBackFunc: widget.callBackFunc,
child: SelectedItemSheet( child: SelectedItemSheet(
"Comment", "Comment",
@ -494,38 +498,21 @@ class _DelegateSheetState extends State<DelegateSheet> {
notificationID: widget.notificationID, notificationID: widget.notificationID,
isITGRequest: widget.wFHistory != null, isITGRequest: widget.wFHistory != null,
getNotificationRespondAttributes: widget.getNotificationRespondAttributes, getNotificationRespondAttributes: widget.getNotificationRespondAttributes,
)); ),
);
}, },
child: Row( child: Row(
children: [ children: <Widget>[
actionHistory.employeeImage != "" actionHistory.employeeImage != "" && actionHistory.employeeImage != null
? CircularAvatar( ? CircularAvatar(url: actionHistory.employeeImage, height: 40, width: 40, isImageBase64: (actionHistory.employeeImage != null || actionHistory.employeeImage!.isNotEmpty) ? true : false)
url: actionHistory.employeeImage,
height: 40,
width: 40,
isImageBase64: (actionHistory.employeeImage != null || actionHistory.employeeImage!.isNotEmpty) ? true : false,
)
: isImageLoaded : isImageLoaded
? CircularAvatar( ? CircularAvatar(height: 40, width: 40, isImageBase64: false)
height: 40,
width: 40,
isImageBase64: false,
)
: ClipRRect( : ClipRRect(
borderRadius: const BorderRadius.all( borderRadius: const BorderRadius.all(Radius.circular(50)),
Radius.circular(50), child: Image.network("https://play-lh.googleusercontent.com/NPo88ojmhah4HDiposucJmfQIop4z4xc8kqJK9ITO9o-yCab2zxIp7PPB_XPj2iUojo", fit: BoxFit.cover, height: 40, width: 40).toShimmer(),
),
child: Image.network(
"https://play-lh.googleusercontent.com/NPo88ojmhah4HDiposucJmfQIop4z4xc8kqJK9ITO9o-yCab2zxIp7PPB_XPj2iUojo",
fit: BoxFit.cover,
height: 40,
width: 40,
).toShimmer(),
), ),
16.width, 16.width,
Expanded( Expanded(child: (actionHistory.employeeDisplayName ?? "").toText12()),
child: (actionHistory.employeeDisplayName ?? "").toText12(),
),
IconButton( IconButton(
onPressed: () { onPressed: () {
fetchChangeFav( fetchChangeFav(
@ -537,12 +524,8 @@ class _DelegateSheetState extends State<DelegateSheet> {
isNeedToRefresh: true, isNeedToRefresh: true,
); );
}, },
icon: Icon( icon: const Icon(Icons.star, size: 16, color: MyColors.yellowColor),
Icons.star,
size: 16,
color: MyColors.yellowColor,
), ),
)
], ],
), ),
); );
@ -552,7 +535,8 @@ class _DelegateSheetState extends State<DelegateSheet> {
return InkWell( return InkWell(
onTap: () { onTap: () {
Navigator.pop(context); Navigator.pop(context);
showMyBottomSheet(context, showMyBottomSheet(
context,
callBackFunc: widget.callBackFunc, callBackFunc: widget.callBackFunc,
child: SelectedItemSheet( child: SelectedItemSheet(
LocaleKeys.comments.tr(), LocaleKeys.comments.tr(),
@ -561,20 +545,14 @@ class _DelegateSheetState extends State<DelegateSheet> {
notificationID: widget.notificationID, notificationID: widget.notificationID,
isITGRequest: widget.wFHistory != null, isITGRequest: widget.wFHistory != null,
getNotificationRespondAttributes: widget.getNotificationRespondAttributes, getNotificationRespondAttributes: widget.getNotificationRespondAttributes,
)); ),
);
}, },
child: Row( child: Row(
children: [ children: <Widget>[
CircularAvatar( CircularAvatar(url: actionHistory.employeeImage, height: 30, width: 30, isImageBase64: actionHistory.employeeImage != null ? true : false),
url: actionHistory.employeeImage,
height: 30,
width: 30,
isImageBase64: actionHistory.employeeImage != null ? true : false,
),
16.width, 16.width,
Expanded( Expanded(child: (actionHistory.employeeDisplayName ?? "").toText12()),
child: (actionHistory.employeeDisplayName ?? "").toText12(),
),
IconButton( IconButton(
onPressed: () { onPressed: () {
actionHistory.isFavorite = !(actionHistory.isFavorite ?? false); actionHistory.isFavorite = !(actionHistory.isFavorite ?? false);
@ -587,12 +565,8 @@ class _DelegateSheetState extends State<DelegateSheet> {
isNeedToRefresh: false, isNeedToRefresh: false,
); );
}, },
icon: Icon( icon: Icon(Icons.star, size: 16, color: (actionHistory.isFavorite ?? false) ? MyColors.yellowColor : MyColors.borderColor),
Icons.star,
size: 16,
color: (actionHistory.isFavorite ?? false) ? MyColors.yellowColor : MyColors.borderColor,
), ),
)
], ],
), ),
); );

Loading…
Cancel
Save