Removed zooming from timetable
This commit is contained in:
parent
7e8e49c2dd
commit
0b7908ec28
@ -4,9 +4,7 @@ part 'timetableSettings.g.dart';
|
|||||||
|
|
||||||
@JsonSerializable()
|
@JsonSerializable()
|
||||||
class TimetableSettings {
|
class TimetableSettings {
|
||||||
double zoom;
|
TimetableSettings();
|
||||||
|
|
||||||
TimetableSettings({required this.zoom});
|
|
||||||
|
|
||||||
factory TimetableSettings.fromJson(Map<String, dynamic> json) => _$TimetableSettingsFromJson(json);
|
factory TimetableSettings.fromJson(Map<String, dynamic> json) => _$TimetableSettingsFromJson(json);
|
||||||
Map<String, dynamic> toJson() => _$TimetableSettingsToJson(this);
|
Map<String, dynamic> toJson() => _$TimetableSettingsToJson(this);
|
||||||
|
@ -7,11 +7,7 @@ part of 'timetableSettings.dart';
|
|||||||
// **************************************************************************
|
// **************************************************************************
|
||||||
|
|
||||||
TimetableSettings _$TimetableSettingsFromJson(Map<String, dynamic> json) =>
|
TimetableSettings _$TimetableSettingsFromJson(Map<String, dynamic> json) =>
|
||||||
TimetableSettings(
|
TimetableSettings();
|
||||||
zoom: (json['zoom'] as num).toDouble(),
|
|
||||||
);
|
|
||||||
|
|
||||||
Map<String, dynamic> _$TimetableSettingsToJson(TimetableSettings instance) =>
|
Map<String, dynamic> _$TimetableSettingsToJson(TimetableSettings instance) =>
|
||||||
<String, dynamic>{
|
<String, dynamic>{};
|
||||||
'zoom': instance.zoom,
|
|
||||||
};
|
|
||||||
|
@ -34,16 +34,11 @@ enum CalendarActions { addEvent, viewEvents }
|
|||||||
class _TimetableState extends State<Timetable> {
|
class _TimetableState extends State<Timetable> {
|
||||||
CalendarController controller = CalendarController();
|
CalendarController controller = CalendarController();
|
||||||
late Timer updateTimings;
|
late Timer updateTimings;
|
||||||
|
|
||||||
double elementScale = 40;
|
|
||||||
double baseElementScale = 40;
|
|
||||||
|
|
||||||
late final SettingsProvider settings;
|
late final SettingsProvider settings;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
settings = Provider.of<SettingsProvider>(context, listen: false);
|
settings = Provider.of<SettingsProvider>(context, listen: false);
|
||||||
elementScale = baseElementScale = settings.val().timetableSettings.zoom;
|
|
||||||
|
|
||||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
||||||
Provider.of<TimetableProps>(context, listen: false).run();
|
Provider.of<TimetableProps>(context, listen: false).run();
|
||||||
@ -132,17 +127,6 @@ class _TimetableState extends State<Timetable> {
|
|||||||
GetHolidaysResponse holidays = value.getHolidaysResponse;
|
GetHolidaysResponse holidays = value.getHolidaysResponse;
|
||||||
|
|
||||||
return RefreshIndicator(
|
return RefreshIndicator(
|
||||||
child: GestureDetector(
|
|
||||||
onScaleStart: (details) => baseElementScale = elementScale,
|
|
||||||
onScaleUpdate: (details) {
|
|
||||||
setState(() {
|
|
||||||
elementScale = (baseElementScale * details.scale).clamp(40, 80);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onScaleEnd: (details) {
|
|
||||||
settings.val(write: true).timetableSettings.zoom = elementScale;
|
|
||||||
},
|
|
||||||
|
|
||||||
child: SfCalendar(
|
child: SfCalendar(
|
||||||
view: CalendarView.workWeek,
|
view: CalendarView.workWeek,
|
||||||
dataSource: _buildTableEvents(value),
|
dataSource: _buildTableEvents(value),
|
||||||
@ -166,13 +150,13 @@ class _TimetableState extends State<Timetable> {
|
|||||||
|
|
||||||
firstDayOfWeek: DateTime.monday,
|
firstDayOfWeek: DateTime.monday,
|
||||||
specialRegions: _buildSpecialTimeRegions(holidays),
|
specialRegions: _buildSpecialTimeRegions(holidays),
|
||||||
timeSlotViewSettings: TimeSlotViewSettings(
|
timeSlotViewSettings: const TimeSlotViewSettings(
|
||||||
startHour: 07.5,
|
startHour: 07.5,
|
||||||
endHour: 16.5,
|
endHour: 16.5,
|
||||||
timeInterval: const Duration(minutes: 30),
|
timeInterval: Duration(minutes: 30),
|
||||||
timeFormat: "HH:mm",
|
timeFormat: "HH:mm",
|
||||||
dayFormat: "EE",
|
dayFormat: "EE",
|
||||||
timeIntervalHeight: elementScale,
|
timeIntervalHeight: 40,
|
||||||
),
|
),
|
||||||
|
|
||||||
timeRegionBuilder: (BuildContext context, TimeRegionDetails timeRegionDetails) => TimeRegionComponent(details: timeRegionDetails),
|
timeRegionBuilder: (BuildContext context, TimeRegionDetails timeRegionDetails) => TimeRegionComponent(details: timeRegionDetails),
|
||||||
@ -188,7 +172,6 @@ class _TimetableState extends State<Timetable> {
|
|||||||
allowDragAndDrop: false,
|
allowDragAndDrop: false,
|
||||||
allowViewNavigation: false,
|
allowViewNavigation: false,
|
||||||
),
|
),
|
||||||
),
|
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
Provider.of<TimetableProps>(context, listen: false).run(renew: true);
|
Provider.of<TimetableProps>(context, listen: false).run(renew: true);
|
||||||
return Future.delayed(const Duration(seconds: 3));
|
return Future.delayed(const Duration(seconds: 3));
|
||||||
|
@ -22,9 +22,7 @@ class DefaultSettings {
|
|||||||
askedForPreferredGradeSystem: false,
|
askedForPreferredGradeSystem: false,
|
||||||
inputs: []
|
inputs: []
|
||||||
),
|
),
|
||||||
timetableSettings: TimetableSettings(
|
timetableSettings: TimetableSettings(),
|
||||||
zoom: 40,
|
|
||||||
),
|
|
||||||
talkSettings: TalkSettings(
|
talkSettings: TalkSettings(
|
||||||
sortFavoritesToTop: true,
|
sortFavoritesToTop: true,
|
||||||
sortUnreadToTop: false,
|
sortUnreadToTop: false,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user