|
@@ -4,9 +4,10 @@ import 'package:appflowy_backend/dispatch/dispatch.dart';
|
|
import 'package:appflowy_backend/log.dart';
|
|
import 'package:appflowy_backend/log.dart';
|
|
import 'package:appflowy_backend/protobuf/flowy-error/protobuf.dart';
|
|
import 'package:appflowy_backend/protobuf/flowy-error/protobuf.dart';
|
|
import 'package:appflowy_backend/protobuf/flowy-folder2/protobuf.dart';
|
|
import 'package:appflowy_backend/protobuf/flowy-folder2/protobuf.dart';
|
|
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
|
|
|
|
|
|
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
|
|
import 'package:calendar_view/calendar_view.dart';
|
|
import 'package:calendar_view/calendar_view.dart';
|
|
import 'package:dartz/dartz.dart';
|
|
import 'package:dartz/dartz.dart';
|
|
|
|
+import 'package:fixnum/fixnum.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
|
|
@@ -39,7 +40,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
|
|
await _openDatabase(emit);
|
|
await _openDatabase(emit);
|
|
_loadAllEvents();
|
|
_loadAllEvents();
|
|
},
|
|
},
|
|
- didReceiveCalendarSettings: (CalendarLayoutSettingsPB settings) {
|
|
|
|
|
|
+ didReceiveCalendarSettings: (CalendarLayoutSettingPB settings) {
|
|
emit(state.copyWith(settings: Some(settings)));
|
|
emit(state.copyWith(settings: Some(settings)));
|
|
},
|
|
},
|
|
didReceiveDatabaseUpdate: (DatabasePB database) {
|
|
didReceiveDatabaseUpdate: (DatabasePB database) {
|
|
@@ -48,7 +49,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
|
|
didLoadAllEvents: (events) {
|
|
didLoadAllEvents: (events) {
|
|
emit(state.copyWith(initialEvents: events, allEvents: events));
|
|
emit(state.copyWith(initialEvents: events, allEvents: events));
|
|
},
|
|
},
|
|
- didReceiveNewLayoutField: (CalendarLayoutSettingsPB layoutSettings) {
|
|
|
|
|
|
+ didReceiveNewLayoutField: (CalendarLayoutSettingPB layoutSettings) {
|
|
_loadAllEvents();
|
|
_loadAllEvents();
|
|
emit(state.copyWith(settings: Some(layoutSettings)));
|
|
emit(state.copyWith(settings: Some(layoutSettings)));
|
|
},
|
|
},
|
|
@@ -56,7 +57,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
|
|
await _createEvent(date, title);
|
|
await _createEvent(date, title);
|
|
},
|
|
},
|
|
updateCalendarLayoutSetting:
|
|
updateCalendarLayoutSetting:
|
|
- (CalendarLayoutSettingsPB layoutSetting) async {
|
|
|
|
|
|
+ (CalendarLayoutSettingPB layoutSetting) async {
|
|
await _updateCalendarLayoutSetting(layoutSetting);
|
|
await _updateCalendarLayoutSetting(layoutSetting);
|
|
},
|
|
},
|
|
didUpdateEvent: (CalendarEventData<CalendarDayEvent> eventData) {
|
|
didUpdateEvent: (CalendarEventData<CalendarDayEvent> eventData) {
|
|
@@ -82,7 +83,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
|
|
),
|
|
),
|
|
);
|
|
);
|
|
},
|
|
},
|
|
- didDeleteEvents: (List<String> deletedRowIds) {
|
|
|
|
|
|
+ didDeleteEvents: (List<Int64> deletedRowIds) {
|
|
var events = [...state.allEvents];
|
|
var events = [...state.allEvents];
|
|
events.retainWhere(
|
|
events.retainWhere(
|
|
(element) => !deletedRowIds.contains(element.event!.cellId.rowId),
|
|
(element) => !deletedRowIds.contains(element.event!.cellId.rowId),
|
|
@@ -139,7 +140,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
|
|
return state.settings.fold(
|
|
return state.settings.fold(
|
|
() => null,
|
|
() => null,
|
|
(settings) async {
|
|
(settings) async {
|
|
- final dateField = _getCalendarFieldInfo(settings.layoutFieldId);
|
|
|
|
|
|
+ final dateField = _getCalendarFieldInfo(settings.fieldId);
|
|
final titleField = _getTitleFieldInfo();
|
|
final titleField = _getTitleFieldInfo();
|
|
if (dateField != null && titleField != null) {
|
|
if (dateField != null && titleField != null) {
|
|
final result = await _databaseController.createRow(
|
|
final result = await _databaseController.createRow(
|
|
@@ -159,12 +160,12 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
|
|
}
|
|
}
|
|
|
|
|
|
Future<void> _updateCalendarLayoutSetting(
|
|
Future<void> _updateCalendarLayoutSetting(
|
|
- CalendarLayoutSettingsPB layoutSetting,
|
|
|
|
|
|
+ CalendarLayoutSettingPB layoutSetting,
|
|
) async {
|
|
) async {
|
|
return _databaseController.updateCalenderLayoutSetting(layoutSetting);
|
|
return _databaseController.updateCalenderLayoutSetting(layoutSetting);
|
|
}
|
|
}
|
|
|
|
|
|
- Future<CalendarEventData<CalendarDayEvent>?> _loadEvent(String rowId) async {
|
|
|
|
|
|
+ Future<CalendarEventData<CalendarDayEvent>?> _loadEvent(Int64 rowId) async {
|
|
final payload = RowIdPB(viewId: viewId, rowId: rowId);
|
|
final payload = RowIdPB(viewId: viewId, rowId: rowId);
|
|
return DatabaseEventGetCalendarEvent(payload).send().then((result) {
|
|
return DatabaseEventGetCalendarEvent(payload).send().then((result) {
|
|
return result.fold(
|
|
return result.fold(
|
|
@@ -305,7 +306,7 @@ class CalendarEvent with _$CalendarEvent {
|
|
|
|
|
|
// Called after loading the calendar layout setting from the backend
|
|
// Called after loading the calendar layout setting from the backend
|
|
const factory CalendarEvent.didReceiveCalendarSettings(
|
|
const factory CalendarEvent.didReceiveCalendarSettings(
|
|
- CalendarLayoutSettingsPB settings,
|
|
|
|
|
|
+ CalendarLayoutSettingPB settings,
|
|
) = _ReceiveCalendarSettings;
|
|
) = _ReceiveCalendarSettings;
|
|
|
|
|
|
// Called after loading all the current evnets
|
|
// Called after loading all the current evnets
|
|
@@ -323,7 +324,7 @@ class CalendarEvent with _$CalendarEvent {
|
|
) = _DidReceiveNewEvent;
|
|
) = _DidReceiveNewEvent;
|
|
|
|
|
|
// Called when deleting events
|
|
// Called when deleting events
|
|
- const factory CalendarEvent.didDeleteEvents(List<String> rowIds) =
|
|
|
|
|
|
+ const factory CalendarEvent.didDeleteEvents(List<Int64> rowIds) =
|
|
_DidDeleteEvents;
|
|
_DidDeleteEvents;
|
|
|
|
|
|
// Called when creating a new event
|
|
// Called when creating a new event
|
|
@@ -332,14 +333,14 @@ class CalendarEvent with _$CalendarEvent {
|
|
|
|
|
|
// Called when updating the calendar's layout settings
|
|
// Called when updating the calendar's layout settings
|
|
const factory CalendarEvent.updateCalendarLayoutSetting(
|
|
const factory CalendarEvent.updateCalendarLayoutSetting(
|
|
- CalendarLayoutSettingsPB layoutSetting,
|
|
|
|
|
|
+ CalendarLayoutSettingPB layoutSetting,
|
|
) = _UpdateCalendarLayoutSetting;
|
|
) = _UpdateCalendarLayoutSetting;
|
|
|
|
|
|
const factory CalendarEvent.didReceiveDatabaseUpdate(DatabasePB database) =
|
|
const factory CalendarEvent.didReceiveDatabaseUpdate(DatabasePB database) =
|
|
_ReceiveDatabaseUpdate;
|
|
_ReceiveDatabaseUpdate;
|
|
|
|
|
|
const factory CalendarEvent.didReceiveNewLayoutField(
|
|
const factory CalendarEvent.didReceiveNewLayoutField(
|
|
- CalendarLayoutSettingsPB layoutSettings,
|
|
|
|
|
|
+ CalendarLayoutSettingPB layoutSettings,
|
|
) = _DidReceiveNewLayoutField;
|
|
) = _DidReceiveNewLayoutField;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -350,9 +351,9 @@ class CalendarState with _$CalendarState {
|
|
required Events allEvents,
|
|
required Events allEvents,
|
|
required Events initialEvents,
|
|
required Events initialEvents,
|
|
CalendarEventData<CalendarDayEvent>? newEvent,
|
|
CalendarEventData<CalendarDayEvent>? newEvent,
|
|
- required List<String> deleteEventIds,
|
|
|
|
|
|
+ required List<Int64> deleteEventIds,
|
|
CalendarEventData<CalendarDayEvent>? updateEvent,
|
|
CalendarEventData<CalendarDayEvent>? updateEvent,
|
|
- required Option<CalendarLayoutSettingsPB> settings,
|
|
|
|
|
|
+ required Option<CalendarLayoutSettingPB> settings,
|
|
required DatabaseLoadingState loadingState,
|
|
required DatabaseLoadingState loadingState,
|
|
required Option<FlowyError> noneOrError,
|
|
required Option<FlowyError> noneOrError,
|
|
}) = _CalendarState;
|
|
}) = _CalendarState;
|
|
@@ -390,6 +391,6 @@ class CalendarDayEvent {
|
|
final CalendarEventPB event;
|
|
final CalendarEventPB event;
|
|
final CellIdentifier cellId;
|
|
final CellIdentifier cellId;
|
|
|
|
|
|
- String get eventId => cellId.rowId;
|
|
|
|
|
|
+ Int64 get eventId => cellId.rowId;
|
|
CalendarDayEvent({required this.cellId, required this.event});
|
|
CalendarDayEvent({required this.cellId, required this.event});
|
|
}
|
|
}
|