first action improvement.

majd_development_new
Sikander Saleem 1 year ago
parent bf30e1d763
commit 830bf6e5e6

@ -65,6 +65,8 @@ class CreateRequestPageState extends State<CreateRequestPage> {
TextEditingController _maintenanceController, _commentController, _reviewCommentController;
DateTime _dateTime;
bool isFirstActionSubmitted = false;
@override
void initState() {
_maintenanceController = TextEditingController();
@ -80,9 +82,10 @@ class CreateRequestPageState extends State<CreateRequestPage> {
} else {
_serviceRequest = ServiceRequest();
}
isFirstActionSubmitted = _serviceRequest?.firstAction != null;
super.initState();
}
//
// getServiceRequestById(String id) async {
// try {
@ -274,6 +277,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
if (widget.serviceRequest != null)
ServiceRequestedFirstAction(
initialValue: _serviceRequest.firstAction,
enabled: !isFirstActionSubmitted,
onSelect: (status) {
_dateTime = null;
_serviceRequest.firstAction = status;
@ -285,6 +289,7 @@ class CreateRequestPageState extends State<CreateRequestPage> {
if (_showDatePicker)
ADatePicker(
date: _dateTime,
enable: !isFirstActionSubmitted,
from: DateTime.now(),
onDatePicker: (date) {
_dateTime = date;

@ -6,8 +6,9 @@ class ADatePicker extends StatelessWidget {
final DateTime from;
final DateTime to;
final Function(DateTime) onDatePicker;
final bool enable;
const ADatePicker({Key key, this.date, this.onDatePicker, this.from, this.to}) : super(key: key);
const ADatePicker({Key key, this.date, this.onDatePicker, this.from, this.to, this.enable = true}) : super(key: key);
@override
Widget build(BuildContext context) {
@ -19,14 +20,16 @@ class ADatePicker extends StatelessWidget {
borderRadius: BorderRadius.circular(12 * AppStyle.getScaleFactor(context)),
),
),
onPressed: enable
? () async {
DateTime picked = await showDatePicker(context: context, initialDate: DateTime.now(), firstDate: from ?? DateTime.now(), lastDate: to ?? DateTime.now().add(Duration(days: 365)));
onDatePicker(picked);
}
: null,
child: Text(
date == null ? "Pick Date" : date.toString().split(" ").first,
textScaleFactor: AppStyle.getScaleFactor(context),
),
onPressed: () async {
DateTime picked = await showDatePicker(context: context, initialDate: DateTime.now(), firstDate: from ?? DateTime.now(), lastDate: to ?? DateTime.now().add(Duration(days: 365)));
onDatePicker(picked);
},
);
}
}

@ -3,6 +3,7 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:open_file/open_file.dart';
import 'package:test_sa/extensions/int_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/views/app_style/sizing.dart';
import 'package:test_sa/views/widgets/buttons/app_back_button.dart';
@ -20,10 +21,11 @@ class FilesList extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView.builder(
return ListView.separated(
padding: padding ?? EdgeInsets.symmetric(horizontal: 32 * AppStyle.getScaleFactor(context)),
scrollDirection: Axis.horizontal,
itemCount: images.length,
separatorBuilder: (context, itemIndex) => 8.width,
itemBuilder: (context, itemIndex) {
var isImage =
images[itemIndex].split(".").last.toLowerCase() == "png" || images[itemIndex].split(".").last.toLowerCase() == "jpg" || images[itemIndex].split(".").last.toLowerCase() == "jpeg";

@ -11,8 +11,9 @@ import '../../../../controllers/providers/api/status_drop_down/service_reqest/se
class ServiceRequestedFirstAction extends StatelessWidget {
final Function(Lookup) onSelect;
final Lookup initialValue;
final bool enabled;
const ServiceRequestedFirstAction({Key key, this.onSelect, this.initialValue}) : super(key: key);
const ServiceRequestedFirstAction({Key key, this.onSelect, this.initialValue, this.enabled = true}) : super(key: key);
@override
Widget build(BuildContext context) {
final settingProvider = Provider.of<SettingProvider>(context);
@ -30,6 +31,7 @@ class ServiceRequestedFirstAction extends StatelessWidget {
initialStatus: initialValue,
statuses: menuProvider.items,
onSelect: onSelect,
enabled: enabled,
),
);
}

Loading…
Cancel
Save