diff --git a/lib/controllers/providers/api/regular_visits_provider.dart b/lib/controllers/providers/api/regular_visits_provider.dart index c530953..ff966d8 100644 --- a/lib/controllers/providers/api/regular_visits_provider.dart +++ b/lib/controllers/providers/api/regular_visits_provider.dart @@ -72,11 +72,9 @@ class RegularVisitsProvider extends ChangeNotifier { if (response.statusCode >= 200 && response.statusCode < 300) { // client's request was successfully received try { - List requestsListJson = - json.decode(utf8.decode(response.bodyBytes).replaceAll("\\", "")); - List visits = - requestsListJson.map((request) => Visit.fromJson(request)).toList(); - visits.addAll(visits); + List requestsListJson = json.decode(utf8.decode(response.bodyBytes).replaceAll("\\", "")); + List visitsList = requestsListJson.map((request) => Visit.fromJson(request)).toList(); + visits.addAll(visitsList); if (visits.length == pageItemNumber) { nextPage = true; } else { diff --git a/lib/models/visits/visit.dart b/lib/models/visits/visit.dart index f3823b7..02490e0 100644 --- a/lib/models/visits/visit.dart +++ b/lib/models/visits/visit.dart @@ -1,7 +1,6 @@ - import '../lookup.dart'; -class Visit{ +class Visit { String? id; String? serialNumber; String? expectDate; @@ -42,7 +41,7 @@ class Visit{ this.deviceNumber, }); - factory Visit.fromJson(Map parsedJson){ + factory Visit.fromJson(Map parsedJson) { return Visit( id: parsedJson["nid"], serialNumber: parsedJson["title"], @@ -61,10 +60,10 @@ class Visit{ contactStatus: parsedJson["contactStatus"], images: List.from(parsedJson["images"] ?? []), status: Lookup( - id: int.tryParse(parsedJson["status"] ?? "-1")??-1, // actual value (0,1,2) - label: parsedJson["status_value"] // text value - ), + id: int.tryParse(parsedJson["status"] ?? "-1") ?? -1, // actual value (0,1,2) + label: parsedJson["status_value"] // text value + ), assignTo: parsedJson["assigned_to"], ); } -} \ No newline at end of file +} diff --git a/lib/views/widgets/date_and_time/from_to_date_bar.dart b/lib/views/widgets/date_and_time/from_to_date_bar.dart index 13b7ca5..26e3df8 100644 --- a/lib/views/widgets/date_and_time/from_to_date_bar.dart +++ b/lib/views/widgets/date_and_time/from_to_date_bar.dart @@ -4,20 +4,22 @@ import '../../../controllers/localization/localization.dart'; import '../../../models/subtitle.dart'; import '../../app_style/sizing.dart'; import 'date_picker.dart'; + class FromToDateBar extends StatefulWidget { - final DateTime from; - final DateTime to; + final DateTime? from; + final DateTime? to; final Function(DateTime)? onPickFrom; final Function(DateTime)? onPickTo; const FromToDateBar({Key? key, required this.from, required this.to, this.onPickFrom, this.onPickTo}) : super(key: key); + @override _FromToDateBarState createState() => _FromToDateBarState(); } class _FromToDateBarState extends State { - late DateTime _from; - late DateTime _to; + late DateTime? _from; + late DateTime? _to; @override void initState() { @@ -32,22 +34,18 @@ class _FromToDateBarState extends State { return Row( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ - Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - _subtitle?.from??'', - style: Theme.of(context).textTheme.bodyText1?.copyWith( - fontSize: 12, - fontWeight: FontWeight.normal - ), + _subtitle?.from ?? '', + style: Theme.of(context).textTheme.bodyText1?.copyWith(fontSize: 12, fontWeight: FontWeight.normal), textScaleFactor: AppStyle.getScaleFactor(context), ), ADatePicker( date: _from, from: DateTime(1950), - onDatePicker: (date){ + onDatePicker: (date) { _from = date; setState(() {}); widget.onPickFrom!(date); @@ -59,17 +57,14 @@ class _FromToDateBarState extends State { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - _subtitle?.to??"", - style: Theme.of(context).textTheme.bodyText1?.copyWith( - fontSize: 12, - fontWeight: FontWeight.normal - ), + _subtitle?.to ?? "", + style: Theme.of(context).textTheme.bodyText1?.copyWith(fontSize: 12, fontWeight: FontWeight.normal), textScaleFactor: AppStyle.getScaleFactor(context), ), ADatePicker( date: _to, from: DateTime(1950), - onDatePicker: (date){ + onDatePicker: (date) { _to = date; setState(() {}); widget.onPickTo!(date); diff --git a/lib/views/widgets/search/visits_search_bar.dart b/lib/views/widgets/search/visits_search_bar.dart index a9d2ce7..ebe885b 100644 --- a/lib/views/widgets/search/visits_search_bar.dart +++ b/lib/views/widgets/search/visits_search_bar.dart @@ -29,8 +29,7 @@ class VisitsSearchDialog extends StatefulWidget { VisitsSearchDialogState createState() => VisitsSearchDialogState(); } -class VisitsSearchDialogState extends State - with TickerProviderStateMixin { +class VisitsSearchDialogState extends State with TickerProviderStateMixin { VisitsSearch? _search; List status = const [ Lookup( @@ -195,8 +194,7 @@ class VisitsSearchDialogState extends State children: List.generate( contactStatus.length, (index) { - bool isSelected = - _search?.contactStatus == contactStatus[index].key; + bool isSelected = _search?.contactStatus == contactStatus[index].key; return FilterItem( isSelected: isSelected, onSelected: () { @@ -220,8 +218,8 @@ class VisitsSearchDialogState extends State height: 4.0 * AppStyle.getScaleFactor(context), ), FromToDateBar( - from: _search!.actualDateFrom!, - to: _search!.actualDateTo!, + from: _search?.actualDateFrom, + to: _search?.actualDateTo, onPickFrom: (date) { _search?.actualDateFrom = date; }, @@ -237,11 +235,8 @@ class VisitsSearchDialogState extends State height: 4.0 * AppStyle.getScaleFactor(context), ), FromToDateBar( - from: _search?.expectedDateFrom ?? - DateTime(today.year, today.month, 1), - to: _search?.expectedDateTo ?? - DateTime(today.year, (today.month + 1).clamp(1, 12), - today.month == 12 ? 31 : 0), + from: _search?.expectedDateFrom ?? DateTime(today.year, today.month, 1), + to: _search?.expectedDateTo ?? DateTime(today.year, (today.month + 1).clamp(1, 12), today.month == 12 ? 31 : 0), onPickFrom: (date) { _search?.expectedDateFrom = date; }, @@ -252,8 +247,7 @@ class VisitsSearchDialogState extends State Visibility( visible: _search?.toSearchString().isNotEmpty ?? false, child: Padding( - padding: - const EdgeInsets.symmetric(vertical: 8, horizontal: 16), + padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16), child: AButton( padding: EdgeInsets.zero, text: subtitle?.clearSearch ?? '',