Skip to content

Commit 2c60c4c

Browse files
authored
Merge pull request #3 from Indumathi1195R/datetime
Sample and Pubspec updated.
2 parents a6d1bec + 2eafb65 commit 2c60c4c

File tree

2 files changed

+68
-119
lines changed

2 files changed

+68
-119
lines changed

lib/main.dart

Lines changed: 63 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import 'package:flutter/material.dart';
2-
import 'package:flutter/scheduler.dart';
32
import 'package:flutter/widgets.dart';
43
import 'package:intl/intl.dart';
54
import 'package:syncfusion_flutter_calendar/calendar.dart';
@@ -9,7 +8,7 @@ void main() => runApp(DateTimeDetails());
98
class DateTimeDetails extends StatelessWidget {
109
@override
1110
Widget build(BuildContext context) {
12-
return MaterialApp(
11+
return MaterialApp(
1312
debugShowCheckedModeBanner: false,
1413
home: EventCalendar(),
1514
);
@@ -29,28 +28,10 @@ List<String> colors = <String>[
2928
'Default'
3029
];
3130

32-
List<String> views = <String>[
33-
'Day',
34-
'Week',
35-
'WorkWeek',
36-
'Month',
37-
'Timeline Day',
38-
'Timeline Week',
39-
'Timeline WorkWeek'
40-
];
41-
4231
class ScheduleExample extends State<EventCalendar> {
43-
CalendarView _calendarView;
44-
String _text, _titleText;
45-
Color headerColor, viewHeaderColor, calendarColor, defaultColor;
46-
47-
@override
48-
void initState() {
49-
_calendarView = CalendarView.week;
50-
_text='';
51-
_titleText='';
52-
super.initState();
53-
}
32+
final CalendarController _controller = CalendarController();
33+
String? _text='', _titleText='';
34+
Color? _headerColor, _viewHeaderColor, _calendarColor;
5435

5536
@override
5637
Widget build(BuildContext context) {
@@ -72,112 +53,80 @@ class ScheduleExample extends State<EventCalendar> {
7253
onSelected: (String value) {
7354
setState(() {
7455
if (value == 'Pink') {
75-
headerColor = const Color(0xFF09e8189);
76-
viewHeaderColor = const Color(0xFF0f3acb6);
77-
calendarColor = const Color(0xFF0ffe5d8);
56+
_headerColor = const Color(0xFF09e8189);
57+
_viewHeaderColor = const Color(0xFF0f3acb6);
58+
_calendarColor = const Color(0xFF0ffe5d8);
7859
} else if (value == 'Blue') {
79-
headerColor = const Color(0xFF0007eff);
80-
viewHeaderColor = const Color(0xFF03aa4f6);
81-
calendarColor = const Color(0xFF0bae5ff);
60+
_headerColor = const Color(0xFF0007eff);
61+
_viewHeaderColor = const Color(0xFF03aa4f6);
62+
_calendarColor = const Color(0xFF0bae5ff);
8263
} else if (value == 'Wall Brown') {
83-
headerColor = const Color(0xFF0937c5d);
84-
viewHeaderColor = const Color(0xFF0e6d9b1);
85-
calendarColor = const Color(0xFF0d1d2d6);
64+
_headerColor = const Color(0xFF0937c5d);
65+
_viewHeaderColor = const Color(0xFF0e6d9b1);
66+
_calendarColor = const Color(0xFF0d1d2d6);
8667
} else if (value == 'Yellow') {
87-
headerColor = const Color(0xFF0f7ed53);
88-
viewHeaderColor = const Color(0xFF0fff77f);
89-
calendarColor = const Color(0xFF0f7f2cc);
68+
_headerColor = const Color(0xFF0f7ed53);
69+
_viewHeaderColor = const Color(0xFF0fff77f);
70+
_calendarColor = const Color(0xFF0f7f2cc);
9071
} else if (value == 'Default') {
91-
headerColor = null;
92-
viewHeaderColor = null;
93-
calendarColor = null;
72+
_headerColor = null;
73+
_viewHeaderColor = null;
74+
_calendarColor = null;
9475
}
9576
});
9677
},
9778
),
9879
],
99-
backgroundColor: headerColor,
100-
centerTitle: true,
101-
titleSpacing: 60,
102-
leading: PopupMenuButton<String>(
103-
icon: Icon(Icons.calendar_today),
104-
itemBuilder: (BuildContext context) => views.map((String choice) {
105-
return PopupMenuItem<String>(
106-
value: choice,
107-
child: Text(choice),
108-
);
109-
}).toList(),
110-
onSelected: (String value) {
111-
setState(() {
112-
if (value == 'Day') {
113-
_calendarView = CalendarView.day;
114-
} else if (value == 'Week') {
115-
_calendarView = CalendarView.week;
116-
} else if (value == 'WorkWeek') {
117-
_calendarView = CalendarView.workWeek;
118-
} else if (value == 'Month') {
119-
_calendarView = CalendarView.month;
120-
} else if (value == 'Timeline Day') {
121-
_calendarView = CalendarView.timelineDay;
122-
} else if (value == 'Timeline Week') {
123-
_calendarView = CalendarView.timelineWeek;
124-
} else if (value == 'Timeline WorkWeek') {
125-
_calendarView = CalendarView.timelineWorkWeek;
126-
}
127-
});
128-
},
129-
),
80+
backgroundColor: _headerColor,
13081
),
131-
body: Column(
132-
children: <Widget>[
133-
Expanded(
134-
child: SfCalendar(
135-
viewHeaderStyle:
136-
ViewHeaderStyle(backgroundColor: viewHeaderColor),
137-
backgroundColor: calendarColor,
138-
view: _calendarView,
139-
onTap: calendarTapped,
140-
),
141-
),
142-
],
82+
body: Expanded(
83+
child: SfCalendar(
84+
viewHeaderStyle:
85+
ViewHeaderStyle(backgroundColor: _viewHeaderColor),
86+
backgroundColor: _calendarColor,
87+
view: CalendarView.week,
88+
controller: _controller,
89+
allowedViews: [
90+
CalendarView.day,
91+
CalendarView.week,
92+
CalendarView.workWeek,
93+
CalendarView.month,
94+
CalendarView.timelineDay,
95+
CalendarView.timelineWeek,
96+
CalendarView.timelineWorkWeek
97+
],
98+
onTap: calendarTapped,
99+
),
143100
),
144101
),
145102
);
146103
}
147104

148105
void calendarTapped(CalendarTapDetails details) {
149-
if (details.targetElement == CalendarElement.header) {
150-
_text = DateFormat('MMMM yyyy')
151-
.format(details.date)
152-
.toString();
153-
_titleText='Header';
154-
}
155-
else if (details.targetElement == CalendarElement.viewHeader) {
156-
_text = DateFormat('EEEE dd, MMMM yyyy')
157-
.format(details.date)
158-
.toString();
159-
_titleText='View Header';
160-
}
161-
else if (details.targetElement == CalendarElement.calendarCell) {
162-
_text = DateFormat('EEEE dd, MMMM yyyy')
163-
.format(details.date)
164-
.toString();
165-
_titleText='Calendar cell';
166-
}
167-
showDialog(
168-
context: context,
169-
builder: (BuildContext context) {
170-
return AlertDialog(
171-
title:Container(child: new Text(" $_titleText")),
172-
content:Container(child: new Text(" $_text")),
173-
actions: <Widget>[
174-
new FlatButton(onPressed: (){
106+
if (details.targetElement == CalendarElement.header) {
107+
_text = DateFormat('MMMM yyyy').format(details.date!).toString();
108+
_titleText = 'Header';
109+
} else if (details.targetElement == CalendarElement.viewHeader) {
110+
_text = DateFormat('EEEE dd, MMMM yyyy').format(details.date!).toString();
111+
_titleText = 'View Header';
112+
} else if (details.targetElement == CalendarElement.calendarCell) {
113+
_text = DateFormat('EEEE dd, MMMM yyyy').format(details.date!).toString();
114+
_titleText = 'Calendar cell';
115+
}
116+
showDialog(
117+
context: context,
118+
builder: (BuildContext context) {
119+
return AlertDialog(
120+
title: Container(child: new Text(" $_titleText")),
121+
content: Container(child: new Text(" $_text")),
122+
actions: <Widget>[
123+
new TextButton(
124+
onPressed: () {
175125
Navigator.of(context).pop();
176-
}, child: new Text('close'))
177-
],
178-
);
179-
});
180-
}
126+
},
127+
child: new Text('close'))
128+
],
129+
);
130+
});
181131
}
182-
183-
132+
}

pubspec.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ description: A new Flutter application.
1414
version: 1.0.0+1
1515

1616
environment:
17-
sdk: ">=2.1.0 <3.0.0"
17+
sdk: ">=2.12.0 <3.0.0"
1818

1919
dependencies:
2020
flutter:
2121
sdk: flutter
22-
syncfusion_flutter_calendar: ^17.4.39
23-
intl: ">=0.15.0 <0.17.0"
22+
syncfusion_flutter_calendar: ^19.1.54+1
23+
intl: ^0.17.0
2424
# The following adds the Cupertino Icons font to your application.
2525
# Use with the CupertinoIcons class for iOS style icons.
26-
cupertino_icons: ^0.1.2
26+
cupertino_icons: ^1.0.2
2727

2828
dev_dependencies:
2929
flutter_test:
@@ -70,4 +70,4 @@ flutter:
7070
# weight: 700
7171
#
7272
# For details regarding fonts from package dependencies,
73-
# see https://flutter.dev/custom-fonts/#from-packages
73+
# see https://flutter.dev/custom-fonts/#from-packages

0 commit comments

Comments
 (0)