Skip to content

Commit f6d72a2

Browse files
authored
Merge pull request #1 from Sasikumar3595/main
FLUT-4313-Sample updated with null safety.
2 parents 7ef8ef2 + d87eff7 commit f6d72a2

File tree

3 files changed

+43
-70
lines changed

3 files changed

+43
-70
lines changed

lib/main.dart

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,7 @@ class RangeSelectionInPicker extends StatefulWidget {
2020
}
2121

2222
class RangeSelectionInPickerState extends State<RangeSelectionInPicker> {
23-
DateRangePickerController _controller;
24-
25-
@override
26-
void initState() {
27-
_controller = DateRangePickerController();
28-
super.initState();
29-
}
23+
final DateRangePickerController _controller = DateRangePickerController();
3024

3125
@override
3226
Widget build(BuildContext context) {
@@ -44,23 +38,24 @@ class RangeSelectionInPickerState extends State<RangeSelectionInPicker> {
4438
onSelectionChanged: selectionChanged))
4539
],
4640
),
47-
// This trailing comma makes auto-formatting nicer for build methods.
4841
);
4942
}
5043

5144
void selectionChanged(DateRangePickerSelectionChangedArgs args) {
52-
List<PickerDateRange> dateRanges, ranges;
53-
dateRanges = (args.value as List<PickerDateRange>);
54-
DateTime date = dateRanges[dateRanges.length - 1].startDate;
55-
if (_controller.selectedRanges != null) {
56-
_controller.selectedRanges.clear();
57-
ranges = _controller.selectedRanges;
58-
ranges.addAll(<PickerDateRange>[
59-
PickerDateRange(
60-
date.add(Duration(days: -3)), date.add(Duration(days: -1))),
61-
PickerDateRange(date.add(Duration(days: 1)), date.add(Duration(days: 3)))
62-
]);
63-
_controller.selectedRanges = ranges;
45+
final List<PickerDateRange> dateRanges =
46+
(args.value as List<PickerDateRange>);
47+
final DateTime? date = dateRanges.isNotEmpty
48+
? dateRanges[dateRanges.length - 1].startDate!
49+
: null;
50+
if (date != null &&
51+
_controller.selectedRanges != null &&
52+
dateRanges[dateRanges.length - 1].endDate == null) {
53+
_controller.selectedRanges = <PickerDateRange>[
54+
PickerDateRange(
55+
date.add(Duration(days: -3)), date.add(Duration(days: -1))),
56+
PickerDateRange(
57+
date.add(Duration(days: 1)), date.add(Duration(days: 3)))
58+
];
6459
}
6560
}
6661
}

pubspec.lock

Lines changed: 24 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,42 @@ packages:
77
name: async
88
url: "https://pub.dartlang.org"
99
source: hosted
10-
version: "2.5.0-nullsafety.3"
10+
version: "2.5.0"
1111
boolean_selector:
1212
dependency: transitive
1313
description:
1414
name: boolean_selector
1515
url: "https://pub.dartlang.org"
1616
source: hosted
17-
version: "2.1.0-nullsafety.3"
17+
version: "2.1.0"
1818
characters:
1919
dependency: transitive
2020
description:
2121
name: characters
2222
url: "https://pub.dartlang.org"
2323
source: hosted
24-
version: "1.1.0-nullsafety.5"
24+
version: "1.1.0"
2525
charcode:
2626
dependency: transitive
2727
description:
2828
name: charcode
2929
url: "https://pub.dartlang.org"
3030
source: hosted
31-
version: "1.2.0-nullsafety.3"
31+
version: "1.2.0"
3232
clock:
3333
dependency: transitive
3434
description:
3535
name: clock
3636
url: "https://pub.dartlang.org"
3737
source: hosted
38-
version: "1.1.0-nullsafety.3"
38+
version: "1.1.0"
3939
collection:
4040
dependency: transitive
4141
description:
4242
name: collection
4343
url: "https://pub.dartlang.org"
4444
source: hosted
45-
version: "1.15.0-nullsafety.5"
45+
version: "1.15.0"
4646
cupertino_icons:
4747
dependency: "direct main"
4848
description:
@@ -56,7 +56,7 @@ packages:
5656
name: fake_async
5757
url: "https://pub.dartlang.org"
5858
source: hosted
59-
version: "1.2.0-nullsafety.3"
59+
version: "1.2.0"
6060
flutter:
6161
dependency: "direct main"
6262
description: flutter
@@ -68,40 +68,33 @@ packages:
6868
source: sdk
6969
version: "0.0.0"
7070
intl:
71-
dependency: "direct main"
71+
dependency: transitive
7272
description:
7373
name: intl
7474
url: "https://pub.dartlang.org"
7575
source: hosted
76-
version: "0.16.1"
76+
version: "0.17.0"
7777
matcher:
7878
dependency: transitive
7979
description:
8080
name: matcher
8181
url: "https://pub.dartlang.org"
8282
source: hosted
83-
version: "0.12.10-nullsafety.3"
83+
version: "0.12.10"
8484
meta:
8585
dependency: transitive
8686
description:
8787
name: meta
8888
url: "https://pub.dartlang.org"
8989
source: hosted
90-
version: "1.3.0-nullsafety.6"
90+
version: "1.3.0"
9191
path:
9292
dependency: transitive
9393
description:
9494
name: path
9595
url: "https://pub.dartlang.org"
9696
source: hosted
97-
version: "1.8.0-nullsafety.3"
98-
pedantic:
99-
dependency: transitive
100-
description:
101-
name: pedantic
102-
url: "https://pub.dartlang.org"
103-
source: hosted
104-
version: "1.9.2"
97+
version: "1.8.0"
10598
sky_engine:
10699
dependency: transitive
107100
description: flutter
@@ -113,83 +106,69 @@ packages:
113106
name: source_span
114107
url: "https://pub.dartlang.org"
115108
source: hosted
116-
version: "1.8.0-nullsafety.4"
109+
version: "1.8.1"
117110
stack_trace:
118111
dependency: transitive
119112
description:
120113
name: stack_trace
121114
url: "https://pub.dartlang.org"
122115
source: hosted
123-
version: "1.10.0-nullsafety.6"
116+
version: "1.10.0"
124117
stream_channel:
125118
dependency: transitive
126119
description:
127120
name: stream_channel
128121
url: "https://pub.dartlang.org"
129122
source: hosted
130-
version: "2.1.0-nullsafety.3"
123+
version: "2.1.0"
131124
string_scanner:
132125
dependency: transitive
133126
description:
134127
name: string_scanner
135128
url: "https://pub.dartlang.org"
136129
source: hosted
137-
version: "1.1.0-nullsafety.3"
138-
syncfusion_flutter_calendar:
139-
dependency: "direct main"
140-
description:
141-
name: syncfusion_flutter_calendar
142-
url: "https://pub.dartlang.org"
143-
source: hosted
144-
version: "18.4.32"
130+
version: "1.1.0"
145131
syncfusion_flutter_core:
146132
dependency: transitive
147133
description:
148134
name: syncfusion_flutter_core
149135
url: "https://pub.dartlang.org"
150136
source: hosted
151-
version: "18.4.32"
137+
version: "19.1.55"
152138
syncfusion_flutter_datepicker:
153-
dependency: transitive
139+
dependency: "direct main"
154140
description:
155141
name: syncfusion_flutter_datepicker
156142
url: "https://pub.dartlang.org"
157143
source: hosted
158-
version: "18.4.32-beta"
144+
version: "19.1.55-beta"
159145
term_glyph:
160146
dependency: transitive
161147
description:
162148
name: term_glyph
163149
url: "https://pub.dartlang.org"
164150
source: hosted
165-
version: "1.2.0-nullsafety.3"
151+
version: "1.2.0"
166152
test_api:
167153
dependency: transitive
168154
description:
169155
name: test_api
170156
url: "https://pub.dartlang.org"
171157
source: hosted
172-
version: "0.2.19-nullsafety.6"
173-
timezone:
174-
dependency: transitive
175-
description:
176-
name: timezone
177-
url: "https://pub.dartlang.org"
178-
source: hosted
179-
version: "0.5.9"
158+
version: "0.2.19"
180159
typed_data:
181160
dependency: transitive
182161
description:
183162
name: typed_data
184163
url: "https://pub.dartlang.org"
185164
source: hosted
186-
version: "1.3.0-nullsafety.5"
165+
version: "1.3.0"
187166
vector_math:
188167
dependency: transitive
189168
description:
190169
name: vector_math
191170
url: "https://pub.dartlang.org"
192171
source: hosted
193-
version: "2.1.0-nullsafety.5"
172+
version: "2.1.0"
194173
sdks:
195-
dart: ">=2.12.0-0.0 <3.0.0"
174+
dart: ">=2.12.0 <3.0.0"

pubspec.yaml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,17 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
1818
version: 1.0.0+1
1919

2020
environment:
21-
sdk: ">=2.7.0 <3.0.0"
21+
sdk: '>=2.12.0 <3.0.0'
2222

2323
dependencies:
2424
flutter:
2525
sdk: flutter
26-
# syncfusion_flutter_datepicker: 18.4.32-beta
27-
intl: ^0.16.1
28-
syncfusion_flutter_calendar: 18.4.32
26+
27+
syncfusion_flutter_datepicker: ^19.1.55-beta
2928

3029
# The following adds the Cupertino Icons font to your application.
3130
# Use with the CupertinoIcons class for iOS style icons.
32-
cupertino_icons: ^1.0.1
31+
cupertino_icons: ^1.0.2
3332

3433
dev_dependencies:
3534
flutter_test:

0 commit comments

Comments
 (0)