Skip to content

Commit cc3b20a

Browse files
committed
updated
1 parent 50a91fe commit cc3b20a

4 files changed

+54
-56
lines changed

lib/src/time_scheduler_table.dart

+31-31
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,8 @@ import 'package:time_scheduler_table/src/model/event_model.dart';
55
import 'package:time_scheduler_table/src/widget/color_circle.dart';
66
import 'package:time_scheduler_table/src/widget/scheduler_alert.dart';
77

8+
// ignore: must_be_immutable
89
class TimeSchedulerTable extends StatefulWidget {
9-
String? title;
10-
TextStyle? titleStyle;
11-
TextStyle? eventTitleStyle;
12-
bool isBack;
13-
int? currentTitleIndex;
14-
List<EventModel> eventList;
15-
double cellHeight;
16-
double cellWidth;
17-
DateTime selectedDate = DateTime.now();
18-
ScrollController mainHorizontalController = ScrollController();
19-
ScrollController mainVerticalController = ScrollController();
20-
ScrollController dayHorizontalController = ScrollController();
21-
ScrollController timeVerticalController = ScrollController();
22-
List<int> x = [];
23-
List<int> y = [];
24-
List<String> indexList = [];
25-
List<String>? topTitles;
26-
final formKey = GlobalKey<FormState>();
27-
EventAlert eventAlert;
28-
2910
TimeSchedulerTable(
3011
{super.key,
3112
this.title,
@@ -38,24 +19,42 @@ class TimeSchedulerTable extends StatefulWidget {
3819
required this.cellHeight,
3920
required this.cellWidth,
4021
required this.eventAlert});
22+
final String? title;
23+
final TextStyle? titleStyle;
24+
final TextStyle? eventTitleStyle;
25+
final bool isBack;
26+
final int? currentTitleIndex;
27+
final List<EventModel> eventList;
28+
final double cellHeight;
29+
final double cellWidth;
30+
final selectedDate = DateTime.now();
31+
final ScrollController mainHorizontalController = ScrollController();
32+
final ScrollController mainVerticalController = ScrollController();
33+
final ScrollController dayHorizontalController = ScrollController();
34+
final ScrollController timeVerticalController = ScrollController();
35+
final List<int> x = [];
36+
final List<int> y = [];
37+
final List<String> indexList = [];
38+
List<String>? topTitles;
39+
final formKey = GlobalKey<FormState>();
40+
final EventAlert eventAlert;
41+
4142
@override
4243
State<TimeSchedulerTable> createState() => _TimeSchedulerTableState();
4344
}
4445

4546
class _TimeSchedulerTableState extends State<TimeSchedulerTable> {
4647
@override
4748
Widget build(BuildContext context) {
48-
if (widget.topTitles == null) {
49-
widget.topTitles = ["Mon", "Tue", "Wed", "Thur", "Fri", "Sat", "Sun"];
50-
}
49+
List<String>? topTitles = widget.topTitles ?? ["Mon", "Tue", "Wed", "Thur", "Fri", "Sat", "Sun"];
5150

52-
List<Widget> headers = List.generate(widget.topTitles!.length, (index) {
51+
List<Widget> headers = List.generate(topTitles.length, (index) {
5352
return SizedBox(
5453
height: 32,
5554
width: widget.cellWidth,
5655
child: Center(
5756
child: Text(
58-
widget.topTitles![index],
57+
topTitles[index],
5958
style: TextStyle(
6059
fontWeight: FontWeight.w800,
6160
fontSize: 10,
@@ -143,7 +142,6 @@ class _TimeSchedulerTableState extends State<TimeSchedulerTable> {
143142
widget.mainVerticalController.addListener(() {
144143
widget.timeVerticalController.jumpTo(widget.mainVerticalController.offset);
145144
});
146-
int index = widget.eventList.length;
147145
return Scaffold(
148146
resizeToAvoidBottomInset: false,
149147
backgroundColor: Colors.grey[50],
@@ -209,7 +207,7 @@ class _TimeSchedulerTableState extends State<TimeSchedulerTable> {
209207
const SizedBox(
210208
width: 84 + 1.6,
211209
),
212-
for (int i = 0; i < widget.topTitles!.length; i++) headers[i],
210+
for (int i = 0; i < topTitles.length; i++) headers[i],
213211
],
214212
),
215213
),
@@ -288,7 +286,7 @@ class _TimeSchedulerTableState extends State<TimeSchedulerTable> {
288286
children: <Widget>[
289287
SizedBox(
290288
height: (18 * widget.cellHeight) + (18 * 1.6),
291-
width: (widget.topTitles!.length * widget.cellWidth),
289+
width: (topTitles.length * widget.cellWidth),
292290
child: Stack(
293291
children: <Widget>[
294292
Column(
@@ -299,7 +297,7 @@ class _TimeSchedulerTableState extends State<TimeSchedulerTable> {
299297
mainAxisSize: MainAxisSize.min,
300298
children: <Widget>[
301299
Row(children: [
302-
for (int j = 0; j < widget.topTitles!.length; j++)
300+
for (int j = 0; j < topTitles.length; j++)
303301
GestureDetector(
304302
onTap: () {
305303
widget.eventAlert.alertTextController.text = "";
@@ -696,7 +694,7 @@ class _TimeSchedulerTableState extends State<TimeSchedulerTable> {
696694
Row(
697695
mainAxisSize: MainAxisSize.min,
698696
children: <Widget>[
699-
for (var i = 0; i < widget.topTitles!.length; i++)
697+
for (var i = 0; i < topTitles.length; i++)
700698
Row(
701699
mainAxisSize: MainAxisSize.min,
702700
children: <Widget>[
@@ -739,7 +737,7 @@ class _TimeSchedulerTableState extends State<TimeSchedulerTable> {
739737
}
740738
}
741739

742-
String? getLessonTime(int i) {
740+
String getLessonTime(int i) {
743741
switch (i) {
744742
case 0:
745743
return "06:00 - 07:00";
@@ -777,5 +775,7 @@ String? getLessonTime(int i) {
777775
return "22:00 - 23:00";
778776
case 17:
779777
return "23:00 - 24:00";
778+
default:
779+
return "00:00 - 00:00";
780780
}
781781
}

lib/src/widget/color_circle.dart

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import 'package:flutter/material.dart';
22

33
class ColorCircle extends StatelessWidget {
4-
ColorCircle({
4+
const ColorCircle({
55
super.key,
66
required this.color,
77
required this.onTap,
88
required this.isSelected,
99
required this.size,
1010
});
11-
Color color;
12-
Function() onTap;
13-
bool isSelected;
14-
double size;
11+
final Color color;
12+
final Function() onTap;
13+
final bool isSelected;
14+
final double size;
1515
@override
1616
Widget build(BuildContext context) {
1717
return GestureDetector(

lib/src/widget/scheduler_alert.dart

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
import 'package:flutter/material.dart';
22

33
class SchedulerAlert extends StatefulWidget {
4-
GlobalKey<FormState> formKey;
5-
TextEditingController textController;
6-
String? alertTitle;
7-
String? hintText;
8-
String? textFieldEmptyMessage;
9-
int x;
10-
int y;
11-
bool isAdd;
12-
BorderRadiusGeometry? borderRadius;
13-
String? addButtonTitle;
14-
String? deleteButtonTitle;
15-
String? updateButtonTitle;
16-
Function()? deleteOnPressed;
17-
Function()? addOnPressed;
18-
Function()? updateOnPressed;
19-
Widget colorWidget;
20-
Color? selectedColor;
4+
final GlobalKey<FormState> formKey;
5+
final TextEditingController textController;
6+
final String? alertTitle;
7+
final String? hintText;
8+
final String? textFieldEmptyMessage;
9+
final int x;
10+
final int y;
11+
final bool isAdd;
12+
final BorderRadiusGeometry? borderRadius;
13+
final String? addButtonTitle;
14+
final String? deleteButtonTitle;
15+
final String? updateButtonTitle;
16+
final Function()? deleteOnPressed;
17+
final Function()? addOnPressed;
18+
final Function()? updateOnPressed;
19+
final Widget colorWidget;
20+
final Color? selectedColor;
2121

22-
SchedulerAlert(
22+
const SchedulerAlert(
2323
{super.key,
2424
required this.formKey,
2525
required this.textController,

test/time_scheduler_table_test.dart

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import 'package:flutter_test/flutter_test.dart';
22

3-
import 'package:time_scheduler_table/time_scheduler_table.dart';
4-
53
void main() {
64
test('adds one to input values', () {
75
// final calculator = Calculator();

0 commit comments

Comments
 (0)