Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
calendar_transaction_view.dart
Go to the documentation of this file.
1import 'package:connect/core/localization/app_localizations.dart';
2
3import '/features/collections/data/models/collection_model.dart';
4import '/features/collections/domain/entities/collection_entity.dart';
5import '/features/collections/presentation/logic/collection_requests_history_bloc/collection_requests_history_bloc.dart';
6import '/features/collections/presentation/screens/transaction_history_screen/views/competed_transactions_view/views/calender_transactions_summary_veiw/widgets/calender_date_picker_view.dart';
7import '/features/collections/presentation/screens/transaction_history_screen/views/competed_transactions_view/views/transactions_summary_view/transaction_summary_view.dart';
8import 'package:flutter/material.dart';
9import 'package:flutter_bloc/flutter_bloc.dart';
10import 'package:intl/intl.dart';
11
12import '../../../../../../../../../core/utils/collections_utils.dart';
13
14class CalenderTransactionsSummaryVeiw extends StatefulWidget {
16 super.key,
17 required this.collections,
18 });
19
20 final List<CollectionEntity> collections;
21
22 @override
23 State<CalenderTransactionsSummaryVeiw> createState() =>
24 _CalenderTransactionsSummaryVeiwState();
25}
26
27class _CalenderTransactionsSummaryVeiwState
28 extends State<CalenderTransactionsSummaryVeiw> {
29 late List<CollectionEntity> collection = [];
30
31 @override
32 void initState() {
33 collection = widget.collections;
34 super.initState();
35 }
36
37 DateTime? startDate;
38 DateTime? endDate;
39
40 updateCollection(DateTime start, DateTime end) {
41 startDate = start;
42 endDate = end;
45 filterType: CollectionFilterType.calendar,
46 startDate: start,
47 endDate: end,
48 );
49 setState(() {});
50 }
51
52 List<CollectionModel> collectionsWithinRange = [];
53 final _controller = PageController(initialPage: 0);
54 _onDataPicked(DateTime? startDate, DateTime? endDate) {
55 if (startDate != null && endDate != null) {
57 _controller.animateToPage(
58 1,
59 duration: Duration(milliseconds: 100),
60 curve: Curves.easeIn,
61 );
62 }
63 }
64
65 @override
66 Widget build(BuildContext context) {
67 return PageView(
68 physics: const NeverScrollableScrollPhysics(),
69 controller: _controller,
70 children: [
71 CalendarView(
72 selectedDates: (s, e) {
73 _onDataPicked(s, e);
74 },
75 ),
78 title:
79 '${AppLocalizations.of(context).translate('From')} ${DateFormat.yMMMd('en_US').format(startDate ?? DateTime.now())} ${AppLocalizations.of(context).translate('To')} ${DateFormat.yMMMd('en_US').format(endDate ?? DateTime.now())} ${AppLocalizations.of(context).translate('completed')}',
80 ),
81 ],
82 );
83 }
84}
List< CollectionModel > collectionsWithinRange
class CalenderTransactionsSummaryVeiw extends StatefulWidget collection
_onDataPicked(DateTime? startDate, DateTime? endDate)
updateCollection(DateTime start, DateTime end)
DateTime startDate
DateTime endDate
override State< CalenderTransactionsSummaryVeiw > createState()
final List< CollectionEntity > collections
const CalenderTransactionsSummaryVeiw({ super.key, required this.collections, })
enum CollectionFilterType filterCollections({ required List< CollectionEntity > collections, required CollectionFilterType filterType, DateTime? startDate, DateTime? endDate, })
CollectionFilterType
override void initState()
override Widget build(BuildContext context)
final List< CollectionEntity > collections
const TransactionSummaryView({ super.key, required this.collections, required this.title, })
final String title