worklist setting ui improvements.

merge-requests/120/head
Sikander Saleem 3 years ago
parent 642fee7331
commit 49e9b35eff

@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart'; import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart';
import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart'; 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';
@ -26,6 +25,7 @@ class _WorklistSettingsState extends State<WorklistSettings> {
List<GetUserItemTypesList> getUserItemTypesList = []; List<GetUserItemTypesList> getUserItemTypesList = [];
UpdateUserItemTypesList? updateUserItemTypesList; UpdateUserItemTypesList? updateUserItemTypesList;
@override
void initState() { void initState() {
super.initState(); super.initState();
userItemTypesList(); userItemTypesList();
@ -47,8 +47,13 @@ class _WorklistSettingsState extends State<WorklistSettings> {
try { try {
Utils.showLoading(context); Utils.showLoading(context);
List<Map<String, dynamic>> itemList = []; List<Map<String, dynamic>> itemList = [];
for (int index=0;index<getUserItemTypesList.length;index++) { for (int index = 0; index < getUserItemTypesList.length; index++) {
itemList.add(UpdateUserTypesList(itemID: index, pITEMTYPE: getUserItemTypesList[index].iTEMTYPE, pFYAENABLEDFALG: getUserItemTypesList[index].fYAENABLEDFALG, pFYIENABLEDFALG: getUserItemTypesList[index].fYIENABLEDFLAG).toJson()); itemList.add(UpdateUserTypesList(
itemID: index,
pITEMTYPE: getUserItemTypesList[index].iTEMTYPE,
pFYAENABLEDFALG: getUserItemTypesList[index].fYAENABLEDFALG,
pFYIENABLEDFALG: getUserItemTypesList[index].fYIENABLEDFLAG)
.toJson());
} }
updateUserItemTypesList = await WorkListApiClient().updateUserItemTypes(itemList); updateUserItemTypesList = await WorkListApiClient().updateUserItemTypes(itemList);
Utils.hideLoading(context); Utils.hideLoading(context);
@ -62,87 +67,81 @@ class _WorklistSettingsState extends State<WorklistSettings> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: Colors.white, backgroundColor: Colors.white,
appBar: AppBarWidget( appBar: AppBarWidget(
context, context,
title: LocaleKeys.worklistSettings.tr(), title: LocaleKeys.worklistSettings.tr(),
), ),
body: Column( body: Column(
children: [ children: [
ListView( ListView(
padding: const EdgeInsets.only(top: 21, left: 21, right: 21), padding: const EdgeInsets.only(top: 21, left: 21, right: 21),
children: [ children: [
LocaleKeys.TurnNotificationsFor.tr().toText22(color: MyColors.blackColor), LocaleKeys.TurnNotificationsFor.tr().toText22(color: MyColors.blackColor),
16.height, 16.height,
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
LocaleKeys.itemType.tr().toText14(color: MyColors.blackColor), LocaleKeys.itemType.tr().toText14(color: MyColors.blackColor),
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceAround, mainAxisAlignment: MainAxisAlignment.spaceAround,
children: ["FYA".tr().toText14(color: MyColors.blackColor), 30.width, "FYI".tr().toText14(color: MyColors.blackColor), 30.width], children: ["FYA".tr().toText14(color: MyColors.blackColor), 30.width, "FYI".tr().toText14(color: MyColors.blackColor), 30.width],
) )
], ],
), ),
const Divider(color: MyColors.greyA5Color), const Divider(color: MyColors.greyA5Color),
SingleChildScrollView( ListView.separated(
scrollDirection: Axis.vertical, shrinkWrap: true,
child: ListView.builder( physics: const NeverScrollableScrollPhysics(),
scrollDirection: Axis.vertical, itemCount: getUserItemTypesList.length,
shrinkWrap: true, separatorBuilder: (cxt, index) => 1.divider,
physics: ScrollPhysics(), itemBuilder: (BuildContext context, int index) => customSwitch(getUserItemTypesList[index]),
itemCount: getUserItemTypesList == null ? 0 : getUserItemTypesList.length, ),
itemBuilder: (BuildContext context, int index) { ],
return Column(children: [ ).expanded,
customSwitch(getUserItemTypesList[index]), DefaultButton(LocaleKeys.save.tr(), () async {
Divider( updateUserItem();
color: MyColors.greyC4Color, }).insideContainer,
thickness: 0.5, ],
), ),
]); );
}),
),
],
).expanded,
DefaultButton(LocaleKeys.save.tr(), () async {
updateUserItem();
}).insideContainer,
],
));
} }
Widget customSwitch(GetUserItemTypesList list) { Widget customSwitch(GetUserItemTypesList list) {
return Padding( return Padding(
padding: const EdgeInsets.only(top: 21), padding: const EdgeInsets.only(top: 8, bottom: 8),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Text( list.iTEMTYPE!.toText16(),
list.iTEMTYPE.toString(),
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: MyColors.blackColor),
),
const Spacer(), const Spacer(),
Row( Row(
children: [ children: [
CupertinoSwitch( Transform.scale(
trackColor: MyColors.grey57Color, scale: 0.8,
activeColor: MyColors.textMixColor, child: CupertinoSwitch(
value: list?.fYAENABLEDFALG == 'Y' ? true : false, trackColor: MyColors.grey57Color,
onChanged: (value) { activeColor: MyColors.textMixColor,
setState(() { value: list.fYAENABLEDFALG == 'Y',
list?.fYAENABLEDFALG = value == true ? 'Y' : 'N'; onChanged: (value) {
}); setState(() {
}), list.fYAENABLEDFALG = value ? 'Y' : 'N';
CupertinoSwitch( });
}),
),
Transform.scale(
scale: 0.8,
child: CupertinoSwitch(
trackColor: MyColors.grey57Color, trackColor: MyColors.grey57Color,
activeColor: MyColors.textMixColor, activeColor: MyColors.textMixColor,
value: list?.fYIENABLEDFLAG == 'Y' ? true : false, value: list.fYIENABLEDFLAG == 'Y',
onChanged: (value) { onChanged: (value) {
setState(() { setState(() {
// list.isFYI = value; list.fYIENABLEDFLAG = value ? 'Y' : 'N';
list?.fYIENABLEDFLAG = value == true ? 'Y' : 'N';
}); });
}), },
),
),
], ],
) )
], ],

Loading…
Cancel
Save