profile options linked with home page personal information.

merge-requests/1/merge
Sikander Saleem 3 years ago
parent bd73685bb4
commit 8247032a52

@ -1,12 +1,7 @@
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
class ProfileMenu { class ProfileMenu {
final String name; final String name;
final String icon; final String icon;
final String route; final String route;
final String dynamicUrl;
final String functionName; ProfileMenu({this.name = '', this.icon = '', this.route = ''});
final String requestID;
final GetMenuEntriesList menuEntries;
ProfileMenu({this.name = '', this.icon = '', this.route = '', this.dynamicUrl = '', this.functionName = '', this.requestID = '', required this.menuEntries});
} }

@ -40,6 +40,19 @@ class ServicesMenuListScreen extends StatelessWidget {
: ListView.separated( : ListView.separated(
padding: const EdgeInsets.all(21), padding: const EdgeInsets.all(21),
itemBuilder: (cxt, index) => itemView("assets/images/pdf.svg", servicesMenuData.list[index].prompt!).onPress(() { itemBuilder: (cxt, index) => itemView("assets/images/pdf.svg", servicesMenuData.list[index].prompt!).onPress(() {
if (servicesMenuData.list[index].parentMenuName == "MBL_PERINFO_SS") {
if (servicesMenuData.list[index].requestType == "BASIC_DETAILS") {
Navigator.pushNamed(context, AppRoutes.basicDetails);
} else if (servicesMenuData.list[index].requestType == "PHONE_NUMBERS") {
Navigator.pushNamed(context, AppRoutes.personalInfo);
} else if (servicesMenuData.list[index].requestType == "ADDRESS") {
Navigator.pushNamed(context, AppRoutes.contactDetails);
} else if (servicesMenuData.list[index].requestType == "CONTACT") {
Navigator.pushNamed(context, AppRoutes.familyMembers);
}
return;
}
Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(servicesMenuData.list[index].prompt!, servicesMenuData.list[index].functionName!)); Navigator.pushNamed(context, AppRoutes.dynamicScreen, arguments: DynamicListViewParams(servicesMenuData.list[index].prompt!, servicesMenuData.list[index].functionName!));
}), }),
separatorBuilder: (cxt, index) => 12.height, separatorBuilder: (cxt, index) => 12.height,

@ -8,52 +8,38 @@ import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart'; import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart'; import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dashboard/menu_entries.dart';
import 'package:mohem_flutter_app/models/member_information_list_model.dart'; import 'package:mohem_flutter_app/models/member_information_list_model.dart';
import 'package:mohem_flutter_app/models/profile_menu.model.dart'; import 'package:mohem_flutter_app/models/profile_menu.model.dart';
class ProfileInFo extends StatefulWidget { class ProfileInFo extends StatelessWidget {
ProfileInFo(this.memberInfo);
MemberInformationListModel memberInfo; MemberInformationListModel memberInfo;
@override ProfileInFo(this.memberInfo, {Key? key}) : super(key: key);
State<ProfileInFo> createState() => _ProfileInFoState();
}
class _ProfileInFoState extends State<ProfileInFo> {
static List<GetMenuEntriesList> menuData = [];
String data = '.';
double sliderValue = 75;
List<ProfileMenu> menu = [ List<ProfileMenu> menu = [
ProfileMenu(name: LocaleKeys.profile_personalInformation.tr(), icon: 'personal-info.svg', route: AppRoutes.personalInfo, dynamicUrl: '', menuEntries: getMenuEntries('')), ProfileMenu(name: LocaleKeys.profile_personalInformation.tr(), icon: 'personal-info.svg', route: AppRoutes.personalInfo),
ProfileMenu(name: LocaleKeys.profile_basicDetails.tr(), icon: 'basic-details.svg', route: AppRoutes.basicDetails, menuEntries: getMenuEntries('BASIC_DETAILS')), ProfileMenu(name: LocaleKeys.profile_basicDetails.tr(), icon: 'basic-details.svg', route: AppRoutes.basicDetails),
ProfileMenu(name: LocaleKeys.profile_contactDetails.tr(), icon: 'contact-details.svg', route: AppRoutes.contactDetails, dynamicUrl: '', menuEntries: getMenuEntries('ADDRESS')), ProfileMenu(name: LocaleKeys.profile_contactDetails.tr(), icon: 'contact-details.svg', route: AppRoutes.contactDetails),
ProfileMenu(name: LocaleKeys.profile_familyDetails.tr(), icon: 'family-members.svg', route: AppRoutes.familyMembers, dynamicUrl: '', menuEntries: getMenuEntries('CONTACT')), ProfileMenu(name: LocaleKeys.profile_familyDetails.tr(), icon: 'family-members.svg', route: AppRoutes.familyMembers),
]; ];
@override
void setState(VoidCallback fn) {
super.setState(fn);
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
16.height, 16.height,
widget.memberInfo.eMPLOYEENAME!.toText22(), memberInfo.eMPLOYEENAME!.toText22(),
("${widget.memberInfo.eMPLOYEENUMBER!} | ${widget.memberInfo.jOBNAME!}").toText13(color: MyColors.grey80Color), ("${memberInfo.eMPLOYEENUMBER!} | ${memberInfo.jOBNAME!}").toText13(color: MyColors.grey80Color),
widget.memberInfo.eMPLOYEEEMAILADDRESS!.toText13(), memberInfo.eMPLOYEEEMAILADDRESS!.toText13(),
12.height, 12.height,
const Divider(height: 8, thickness: 8, color: MyColors.lightGreyEFColor), const Divider(height: 8, thickness: 8, color: MyColors.lightGreyEFColor),
12.height, 12.height,
LocaleKeys.completingYear.tr().toText11(), LocaleKeys.completingYear.tr().toText11(),
Row(children: [ Row(children: [
appreciationTime(LocaleKeys.year.tr(), widget.memberInfo.sERVICEYEARS.toString()), appreciationTime(LocaleKeys.year.tr(), memberInfo.sERVICEYEARS.toString()),
appreciationTime(LocaleKeys.month.tr(), widget.memberInfo.sERVICEMONTHS.toString()), appreciationTime(LocaleKeys.month.tr(), memberInfo.sERVICEMONTHS.toString()),
appreciationTime(LocaleKeys.day.tr(), widget.memberInfo.sERVICEDAYS.toString()), appreciationTime(LocaleKeys.day.tr(), memberInfo.sERVICEDAYS.toString()),
]).paddingOnly(bottom: 12, top: 12), ]).paddingOnly(bottom: 12, top: 12),
const Divider(height: 8, thickness: 8, color: MyColors.lightGreyEFColor), const Divider(height: 8, thickness: 8, color: MyColors.lightGreyEFColor),
Column( Column(
@ -120,12 +106,3 @@ class _ProfileInFoState extends State<ProfileInFo> {
).expanded; ).expanded;
} }
} }
GetMenuEntriesList getMenuEntries(String type) {
List<GetMenuEntriesList> data = _ProfileInFoState.menuData.where((GetMenuEntriesList test) => test.functionName == type).toList();
if (data.isNotEmpty) {
return data[0];
} else {
return GetMenuEntriesList();
}
}

Loading…
Cancel
Save