snag list remaining 4 points resolved & improvements.

main_design2.0
Sikander Saleem 2 years ago
parent 58f5fbab5e
commit adba86b10e

@ -78,7 +78,8 @@ class URLs {
static get getSubWorkerInfoAccordingToPreviousStep => "$_baseUrl/WorkOrder/GetDataPreviousStep"; static get getSubWorkerInfoAccordingToPreviousStep => "$_baseUrl/WorkOrder/GetDataPreviousStep";
static get getServiceReportReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=522"; // get static get getPpmReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=522"; // get for ppm po reason, in mobile there is no use of it.
static get getServiceReportReasons => "$_baseUrl/Lookups/GetLookup?lookupEnum=505"; // get // for service
static get getServiceReportTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=501"; // get static get getServiceReportTypes => "$_baseUrl/Lookups/GetLookup?lookupEnum=501"; // get
static get getServiceReportTypesForWO => "$_baseUrl/Lookups/GetLookup?lookupEnum=34"; // get static get getServiceReportTypesForWO => "$_baseUrl/Lookups/GetLookup?lookupEnum=34"; // get
static get getServiceReportStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=521"; // get static get getServiceReportStatus => "$_baseUrl/Lookups/GetLookup?lookupEnum=521"; // get

@ -161,6 +161,7 @@ class GasRefillProvider extends ChangeNotifier {
"department": department?.toJson(), "department": department?.toJson(),
"engSignature": newModel.engSignature, "engSignature": newModel.engSignature,
"nurseSignature": newModel.nurseSignature, "nurseSignature": newModel.nurseSignature,
"comment": newModel.comment,
}; };
body["gazRefillDetails"] = newModel.gazRefillDetails body["gazRefillDetails"] = newModel.gazRefillDetails

@ -49,7 +49,7 @@ class NotificationsProvider extends ChangeNotifier {
notifyListeners(); notifyListeners();
Response response; Response response;
try { try {
final Map<String, dynamic> body = {"pageSize": pageItemNumber, "pageNumber": notifications.length ~/ pageItemNumber + 1}; final Map<String, dynamic> body = {"pageSize": pageItemNumber, "pageNumber": notifications.length ~/ pageItemNumber + 1, "userId": user.userID};
response = await ApiManager.instance.post(URLs.getSystemNotifications, body: body); response = await ApiManager.instance.post(URLs.getSystemNotifications, body: body);
stateCode = response.statusCode; stateCode = response.statusCode;

@ -345,6 +345,10 @@ class ServiceReport {
await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.callLastSituation}"); await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.callLastSituation}");
return false; return false;
} }
if (reason == null) {
await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.reason}");
return false;
}
// if (sparePartsWorkOrders?.isEmpty ?? true) { // if (sparePartsWorkOrders?.isEmpty ?? true) {
// await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.partNo}"); // await Fluttertoast.showToast(msg: "${context.translation.youHaveToSelect} ${context.translation.partNo}");
// return false; // return false;

@ -11,9 +11,11 @@ class SystemNotificationModel {
int id; int id;
String createdOn; String createdOn;
String modifiedOn; String modifiedOn;
String priorityName;
String statusName;
SystemNotificationModel( SystemNotificationModel(
{this.userId, this.userName, this.title, this.text, this.referenceId, this.sourceId, this.sourceName, this.readed, this.readingDate, this.id, this.createdOn, this.modifiedOn}); {this.userId, this.userName, this.title, this.text, this.referenceId, this.sourceId, this.sourceName, this.readed, this.readingDate, this.id, this.createdOn, this.modifiedOn, this.priorityName, this.statusName});
SystemNotificationModel.fromJson(Map<String, dynamic> json) { SystemNotificationModel.fromJson(Map<String, dynamic> json) {
userId = json['userId']; userId = json['userId'];
@ -28,6 +30,8 @@ class SystemNotificationModel {
id = json['id']; id = json['id'];
createdOn = json['createdOn']; createdOn = json['createdOn'];
modifiedOn = json['modifiedOn']; modifiedOn = json['modifiedOn'];
priorityName = json['priorityName'];
statusName = json['statusName'];
} }
Map<String, dynamic> toNotificationJson() { Map<String, dynamic> toNotificationJson() {
@ -44,8 +48,9 @@ class SystemNotificationModel {
data['id'] = this.id; data['id'] = this.id;
data['createdOn'] = this.createdOn; data['createdOn'] = this.createdOn;
data['modifiedOn'] = this.modifiedOn; data['modifiedOn'] = this.modifiedOn;
data['priority'] = "Low Priority"; data['priorityName'] = this.priorityName;
data['priority'] = this.priorityName;
data['statusName'] = this.statusName;
return data; return data;
} }
@ -63,6 +68,8 @@ class SystemNotificationModel {
data['id'] = this.id; data['id'] = this.id;
data['createdOn'] = this.createdOn; data['createdOn'] = this.createdOn;
data['modifiedOn'] = this.modifiedOn; data['modifiedOn'] = this.modifiedOn;
data['priorityName'] = this.priorityName;
data['statusName'] = this.statusName;
return data; return data;
} }
} }

@ -3,6 +3,7 @@ import 'package:provider/provider.dart';
import 'package:test_sa/controllers/notification/firebase_notification_manger.dart'; import 'package:test_sa/controllers/notification/firebase_notification_manger.dart';
import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart';
import 'package:test_sa/controllers/providers/api/notifications_provider.dart'; import 'package:test_sa/controllers/providers/api/notifications_provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
@ -21,7 +22,7 @@ class RecentActivitiesFragment extends StatelessWidget {
return RefreshIndicator( return RefreshIndicator(
onRefresh: () { onRefresh: () {
Provider.of<AllRequestsProvider>(context, listen: false).getRequests(); Provider.of<AllRequestsProvider>(context, listen: false).getRequests();
_notificationsProvider.getSystemNotifications(); _notificationsProvider.getSystemNotifications(user: Provider.of<UserProvider>(context, listen: false).user);
return Future.delayed(const Duration(microseconds: 250)); return Future.delayed(const Duration(microseconds: 250));
}, },
child: SingleChildScrollView( child: SingleChildScrollView(

@ -3,6 +3,7 @@ import 'package:provider/provider.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart'; import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/providers/api/all_requests_provider.dart'; import 'package:test_sa/controllers/providers/api/all_requests_provider.dart';
import 'package:test_sa/controllers/providers/api/notifications_provider.dart'; import 'package:test_sa/controllers/providers/api/notifications_provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/context_extension.dart';
import 'package:test_sa/extensions/int_extensions.dart'; import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/text_extensions.dart'; import 'package:test_sa/extensions/text_extensions.dart';
@ -24,7 +25,7 @@ class RequestsFragment extends StatelessWidget {
builder: (context, snapshot, _) => RefreshIndicator( builder: (context, snapshot, _) => RefreshIndicator(
onRefresh: () { onRefresh: () {
snapshot.getRequests(); snapshot.getRequests();
Provider.of<NotificationsProvider>(context, listen: false).getSystemNotifications(); Provider.of<NotificationsProvider>(context, listen: false).getSystemNotifications(user: Provider.of<UserProvider>(context, listen: false).user);
return Future.delayed(const Duration(microseconds: 250)); return Future.delayed(const Duration(microseconds: 250));
}, },
child: GridView( child: GridView(

@ -38,7 +38,7 @@ class _DashboardPageState extends State<DashboardPage> {
super.initState(); super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
Provider.of<AllRequestsProvider>(context, listen: false).getRequests(); Provider.of<AllRequestsProvider>(context, listen: false).getRequests();
Provider.of<NotificationsProvider>(context, listen: false).getSystemNotifications(); Provider.of<NotificationsProvider>(context, listen: false).getSystemNotifications(user: Provider.of<UserProvider>(context, listen: false).user);
}); });
} }

@ -171,68 +171,69 @@ class _NewGasRefillRequestPageState extends State<NewGasRefillRequestPage> {
buttonColor: context.isDark ? AppColor.neutral60 : AppColor.neutral50, buttonColor: context.isDark ? AppColor.neutral60 : AppColor.neutral50,
onPressed: _add, onPressed: _add,
), ),
24.height,
ListView.builder( ListView.builder(
shrinkWrap: true, shrinkWrap: true,
itemCount: _gasModel.gazRefillDetails?.length, itemCount: _gasModel.gazRefillDetails?.length,
padding: const EdgeInsets.only(top: 12, bottom: 24),
physics: const NeverScrollableScrollPhysics(), physics: const NeverScrollableScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
return Card( return Column(
child: Column( crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, children: [
children: [ Row(
Row( mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, children: [
children: [ Column(
Column( crossAxisAlignment: CrossAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, children: [
children: [ _gasModel.gazRefillDetails[index].gasType?.name?.heading5(context),
_gasModel.gazRefillDetails[index].gasType?.name?.heading5(context), 8.height,
8.height, ("${context.translation.quantity}: ${_gasModel.gazRefillDetails[index].requestedQty}").bodyText(context),
("${context.translation.quantity}: ${_gasModel.gazRefillDetails[index].requestedQty}").bodyText(context), ("${context.translation.cylinderSize}: ${_gasModel.gazRefillDetails[index].cylinderSize?.name}").bodyText(context),
("${context.translation.cylinderSize}: ${_gasModel.gazRefillDetails[index].cylinderSize?.name}").bodyText(context), ("${context.translation.cylinderType}: ${_gasModel.gazRefillDetails[index].cylinderType?.name}").bodyText(context),
("${context.translation.cylinderType}: ${_gasModel.gazRefillDetails[index].cylinderType?.name}").bodyText(context), ],
], ),
Container(
height: 48.toScreenWidth,
width: 48.toScreenWidth,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(100),
border: Border.all(color: context.isDark ? AppColor.neutral50 : AppColor.neutral30),
), ),
Container( padding: EdgeInsets.symmetric(vertical: 12.toScreenHeight),
height: 48.toScreenWidth, child: "trash".toSvgAsset(fit: BoxFit.fitHeight, color: context.isDark ? AppColor.red40 : AppColor.red50),
width: 48.toScreenWidth, ).onPress(() {
decoration: BoxDecoration( _delete(index);
borderRadius: BorderRadius.circular(100), }),
border: Border.all(color: context.isDark ? AppColor.neutral50 : AppColor.neutral30), ],
), ),
padding: EdgeInsets.symmetric(vertical: 12.toScreenHeight), const Divider().defaultStyle(context),
child: "trash".toSvgAsset(fit: BoxFit.fitHeight, color: context.isDark ? AppColor.red40 : AppColor.red50), ("${context.translation.site}: ${_gasModel.site?.custName}").bodyText(context),
).onPress(() { ("${context.translation.building}: ${_gasModel.building?.name}").bodyText(context),
_delete(index); ("${context.translation.floor}: ${_gasModel.floor?.name}").bodyText(context),
}), ("${context.translation.department}: ${_gasModel.department?.departmentName}").bodyText(context),
], ],
), ).toShadowContainer(context);
const Divider().defaultStyle(context),
("${context.translation.site}: ${_gasModel.site?.custName}").bodyText(context),
("${context.translation.building}: ${_gasModel.building?.name}").bodyText(context),
("${context.translation.floor}: ${_gasModel.floor?.name}").bodyText(context),
("${context.translation.department}: ${_gasModel.department?.departmentName}").bodyText(context),
],
).paddingAll(16),
);
}, },
), ),
8.height, // 8.height,
AppTextFormField(
labelText: context.translation.comments, // // todo sikander, check it with FM
textInputType: TextInputType.multiline, // AppTextFormField(
alignLabelWithHint: true, // labelText: context.translation.comments,
onChange: (text) { // textInputType: TextInputType.multiline,
_gasModel.comment = text; // alignLabelWithHint: true,
}, // onChange: (text) {
), // _gasModel.comment = text;
40.height, // },
// ),
//40.height,
], ],
), ),
), ),
).expanded, ).expanded,
16.height,
AppFilledButton(label: context.translation.submitRequest, maxWidth: true, onPressed: _submit), AppFilledButton(label: context.translation.submitRequest, maxWidth: true, onPressed: _submit),
], ],
).paddingOnly(start: 16, end: 16, bottom: 24), ).paddingOnly(start: 16, end: 16, bottom: 24),

@ -63,6 +63,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
super.initState(); super.initState();
if (widget.gasRefillModel != null) { if (widget.gasRefillModel != null) {
_formModel.fromGasRefillModel(widget.gasRefillModel); _formModel.fromGasRefillModel(widget.gasRefillModel);
_commentController.text = _formModel.comment ?? "";
} }
} }
@ -90,7 +91,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
setState(() {}); setState(() {});
_formKey.currentState.save(); _formKey.currentState.save();
_formModel.comment = _commentController.text;
int status = widget.gasRefillModel == null int status = widget.gasRefillModel == null
? null /*await _gasRefillProvider.createModel( ? null /*await _gasRefillProvider.createModel(
user: _userProvider.user, user: _userProvider.user,
@ -137,7 +138,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
// Scrollable.ensureVisible(_DetailsKey.currentContext); // Scrollable.ensureVisible(_DetailsKey.currentContext);
_deliveredQuantityController.clear(); _deliveredQuantityController.clear();
_workingHoursController.clear(); _workingHoursController.clear();
_commentController.clear(); //_commentController.clear();
_currentDetails = GasRefillDetails(); _currentDetails = GasRefillDetails();
setState(() {}); setState(() {});
return true; return true;
@ -207,6 +208,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
/// TBD /// TBD
'${context.translation.gasRequest}: ${widget.gasRefillModel.gazRefillDetails[0].gasType.name}'.bodyText(context), '${context.translation.gasRequest}: ${widget.gasRefillModel.gazRefillDetails[0].gasType.name}'.bodyText(context),
'${context.translation.cylinderType}: ${widget.gasRefillModel.gazRefillDetails[0].cylinderType.name}'.bodyText(context),
'${context.translation.cylinderSize}: ${widget.gasRefillModel.gazRefillDetails[0].cylinderSize.name}'.bodyText(context), '${context.translation.cylinderSize}: ${widget.gasRefillModel.gazRefillDetails[0].cylinderSize.name}'.bodyText(context),
'${context.translation.quantity}: ${widget.gasRefillModel.gazRefillDetails[0].requestedQty ?? 0}'.bodyText(context), '${context.translation.quantity}: ${widget.gasRefillModel.gazRefillDetails[0].requestedQty ?? 0}'.bodyText(context),
'${context.translation.site}: ${widget.gasRefillModel.site?.name}'.bodyText(context), '${context.translation.site}: ${widget.gasRefillModel.site?.name}'.bodyText(context),
@ -225,7 +227,7 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
8.height, 8.height,
SingleItemDropDownMenu<Lookup, GasStatusProvider>( SingleItemDropDownMenu<Lookup, GasStatusProvider>(
context: context, context: context,
title: context.translation.reportStatus, title: context.translation.requestStatus,
initialValue: _formModel.status, initialValue: _formModel.status,
onSelect: (value) { onSelect: (value) {
if (value?.value == 0) { if (value?.value == 0) {
@ -233,8 +235,9 @@ class _RequestGasRefillState extends State<RequestGasRefill> {
setState(() {}); setState(() {});
return; return;
} }
if(value!=null) {
_formModel.status = value; _formModel.status = value;
}
}, },
), ),
8.height, 8.height,

@ -231,45 +231,50 @@ class _ServiceRequestDetailsPageState extends State<ServiceRequestDetailsPage> {
body: SafeArea( body: SafeArea(
child: loading child: loading
? const ALoading().center ? const ALoading().center
: Column( : serviceRequest == null
crossAxisAlignment: CrossAxisAlignment.start, ? Text(
children: [ context.translation.noDataFound,
SingleChildScrollView( style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
padding: const EdgeInsets.all(16), ).center
child: informationCard(serviceRequest), : Column(
).expanded, crossAxisAlignment: CrossAxisAlignment.start,
if (_userProvider.user.type == UsersTypes.engineer || (serviceRequest.statusValue == 5 || serviceRequest.statusValue == 3)) children: [
(serviceRequest.firstAction == null SingleChildScrollView(
? AppFilledButton( padding: const EdgeInsets.all(16),
label: context.translation.firstAction, child: informationCard(serviceRequest),
maxWidth: true, ).expanded,
onPressed: () async { if (_userProvider.user.type == UsersTypes.engineer || (serviceRequest.statusValue == 5 || serviceRequest.statusValue == 3))
bool shouldReloadData = (await showModalBottomSheet( (serviceRequest?.firstAction == null
context: context, ? AppFilledButton(
useSafeArea: true, label: context.translation.firstAction,
isScrollControlled: true, maxWidth: true,
backgroundColor: Colors.transparent, onPressed: () async {
builder: (context) => FirstActionBottomSheet(request: serviceRequest), bool shouldReloadData = (await showModalBottomSheet(
)) as bool; context: context,
if (shouldReloadData ?? false) { useSafeArea: true,
getServiceRequest(); isScrollControlled: true,
} backgroundColor: Colors.transparent,
}, builder: (context) => FirstActionBottomSheet(request: serviceRequest),
) )) as bool;
: AppFilledButton( if (shouldReloadData ?? false) {
label: context.translation.viewWorkOrder, getServiceRequest();
maxWidth: true, }
onPressed: () { },
Navigator.push( )
context, : AppFilledButton(
MaterialPageRoute(builder: (context) => WorkOrderListPage(serviceRequest: serviceRequest)), label: context.translation.viewWorkOrder,
); maxWidth: true,
// Navigator.of(context).pushNamed(WorkOrderListPage.id, arguments: serviceRequest); onPressed: () {
}, Navigator.push(
)) context,
.paddingOnly(start: 16, end: 16, bottom: 24), MaterialPageRoute(builder: (context) => WorkOrderListPage(serviceRequest: serviceRequest)),
], );
), // Navigator.of(context).pushNamed(WorkOrderListPage.id, arguments: serviceRequest);
},
))
.paddingOnly(start: 16, end: 16, bottom: 24),
],
),
), ),
); );
} }

@ -46,8 +46,9 @@ class ADatePicker extends StatelessWidget {
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight), padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth, vertical: 8.toScreenHeight),
child: Row( child: Row(
children: [ children: [
enable // enable
? Column( // ?
Column(
crossAxisAlignment: CrossAxisAlignment.stretch, crossAxisAlignment: CrossAxisAlignment.stretch,
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
@ -58,8 +59,8 @@ class ADatePicker extends StatelessWidget {
.bodyText(context) .bodyText(context)
.custom(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), .custom(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
], ],
).expanded ).expanded,
: label.bodyText(context).paddingOnly(top: 8, bottom: 8), //: label.bodyText(context).paddingOnly(top: 8, bottom: 8),
enable ? 16.width : const Spacer(), enable ? 16.width : const Spacer(),
"calender".toSvgAsset(width: 20, color: context.isDark ? AppColor.neutral10 : null), "calender".toSvgAsset(width: 20, color: context.isDark ? AppColor.neutral10 : null),
], ],

@ -6,6 +6,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart'; import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/system_notification_model.dart'; import 'package:test_sa/models/system_notification_model.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/views/widgets/requests/request_status.dart';
class NotificationItem extends StatelessWidget { class NotificationItem extends StatelessWidget {
final SystemNotificationModel notification; final SystemNotificationModel notification;
@ -20,6 +21,24 @@ class NotificationItem extends StatelessWidget {
return Column( return Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row(
children: [
if (notification.priorityName != null)
StatusLabel(
label: notification.priorityName,
textColor: AppColor.getRequestStatusTextColorByName(context, notification.priorityName),
backgroundColor: AppColor.getRequestStatusColorByName(context, notification.priorityName),
).toShimmer(isShow: isLoading),
8.width,
if((notification.statusName ?? "").isNotEmpty && notification.sourceName!="Asset Transfer")
StatusLabel(
label: notification.statusName ?? "",
textColor: AppColor.getRequestStatusTextColorByName(context, notification.statusName ?? ""),
backgroundColor: AppColor.getRequestStatusColorByName(context, notification.statusName ?? ""),
).toShimmer(isShow: isLoading),
],
),
8.height,
Row( Row(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [

@ -93,6 +93,7 @@ class _PentryTBSFormState extends State<PentryTBSForm> {
label: context.translation.expectedVisitDate, label: context.translation.expectedVisitDate,
date: DateTime.tryParse(widget.model.expectedDate ?? ""), date: DateTime.tryParse(widget.model.expectedDate ?? ""),
from: DateTime.now().subtract(const Duration(days: 30)), from: DateTime.now().subtract(const Duration(days: 30)),
enable: false,
onDatePicker: (date) { onDatePicker: (date) {
if (date == null) return; if (date == null) return;
widget.model.expectedDate = date?.toIso8601String(); widget.model.expectedDate = date?.toIso8601String();

@ -1,38 +1,38 @@
import 'package:flutter/material.dart'; // import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; // import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart'; // import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart';
import 'package:test_sa/controllers/providers/api/user_provider.dart'; // import 'package:test_sa/controllers/providers/api/user_provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart'; // import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/models/lookup.dart'; // import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/views/widgets/loaders/loading_manager.dart'; // import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
import 'package:test_sa/views/widgets/status/single_status_menu.dart'; // import 'package:test_sa/views/widgets/status/single_status_menu.dart';
//
class ServiceReportReasonsMenu extends StatelessWidget { // class ServiceReportReasonsMenu extends StatelessWidget {
final Lookup initialValue; // final Lookup initialValue;
final Function(Lookup) onSelect; // final Function(Lookup) onSelect;
//
const ServiceReportReasonsMenu({Key key, this.onSelect, this.initialValue}) : super(key: key); // const ServiceReportReasonsMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
//
@override // @override
Widget build(BuildContext context) { // Widget build(BuildContext context) {
SettingProvider _settingProvider = Provider.of<SettingProvider>(context); // SettingProvider _settingProvider = Provider.of<SettingProvider>(context);
UserProvider _userProvider = Provider.of<UserProvider>(context); // UserProvider _userProvider = Provider.of<UserProvider>(context);
ServiceReportReasonsProvider _menuProvider = Provider.of<ServiceReportReasonsProvider>(context); // ServiceReportReasonsProvider _menuProvider = Provider.of<ServiceReportReasonsProvider>(context);
return LoadingManager( // return LoadingManager(
isLoading: _menuProvider.isLoading, // isLoading: _menuProvider.isLoading,
isFailedLoading: _menuProvider.reasons == null, // isFailedLoading: _menuProvider.reasons == null,
stateCode: _menuProvider.stateCode, // stateCode: _menuProvider.stateCode,
onRefresh: () async { // onRefresh: () async {
_menuProvider.reset(); // _menuProvider.reset();
await _menuProvider.getTypes( // await _menuProvider.getTypes(
user: _userProvider.user, // user: _userProvider.user,
host: _settingProvider.host, // host: _settingProvider.host,
); // );
}, // },
child: SingleStatusMenu( // child: SingleStatusMenu(
initialStatus: initialValue, // initialStatus: initialValue,
statuses: _menuProvider.reasons, // statuses: _menuProvider.reasons,
onSelect: onSelect, // onSelect: onSelect,
)); // ));
} // }
} // }

Loading…
Cancel
Save