|
@@ -1,7 +1,5 @@
|
|
import 'package:app_flowy/generated/locale_keys.g.dart';
|
|
import 'package:app_flowy/generated/locale_keys.g.dart';
|
|
-import 'package:app_flowy/workspace/application/grid/cell/date_cal_bloc.dart';
|
|
|
|
-import 'package:app_flowy/workspace/presentation/plugins/grid/src/layout/sizes.dart';
|
|
|
|
-import 'package:app_flowy/workspace/presentation/plugins/grid/src/widgets/header/type_option/date.dart';
|
|
|
|
|
|
+import 'package:app_flowy/plugins/grid/application/cell/date_cal_bloc.dart';
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
import 'package:flowy_infra/image.dart';
|
|
import 'package:flowy_infra/image.dart';
|
|
import 'package:flowy_infra/theme.dart';
|
|
import 'package:flowy_infra/theme.dart';
|
|
@@ -15,7 +13,10 @@ import 'package:flowy_sdk/protobuf/flowy-grid/date_type_option.pb.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:table_calendar/table_calendar.dart';
|
|
import 'package:table_calendar/table_calendar.dart';
|
|
-import 'package:app_flowy/workspace/application/grid/prelude.dart';
|
|
|
|
|
|
+import 'package:app_flowy/plugins/grid/application/prelude.dart';
|
|
|
|
+
|
|
|
|
+import '../../../layout/sizes.dart';
|
|
|
|
+import '../../header/type_option/date.dart';
|
|
|
|
|
|
final kToday = DateTime.now();
|
|
final kToday = DateTime.now();
|
|
final kFirstDay = DateTime(kToday.year, kToday.month - 3, kToday.day);
|
|
final kFirstDay = DateTime(kToday.year, kToday.month - 3, kToday.day);
|
|
@@ -35,7 +36,8 @@ class DateCellEditor with FlowyOverlayDelegate {
|
|
}) async {
|
|
}) async {
|
|
DateCellEditor.remove(context);
|
|
DateCellEditor.remove(context);
|
|
|
|
|
|
- final result = await cellController.getFieldTypeOption(DateTypeOptionDataParser());
|
|
|
|
|
|
+ final result =
|
|
|
|
+ await cellController.getFieldTypeOption(DateTypeOptionDataParser());
|
|
result.fold(
|
|
result.fold(
|
|
(dateTypeOption) {
|
|
(dateTypeOption) {
|
|
final calendar = _CellCalendarWidget(
|
|
final calendar = _CellCalendarWidget(
|
|
@@ -167,7 +169,9 @@ class _CellCalendarWidget extends StatelessWidget {
|
|
},
|
|
},
|
|
onDaySelected: (selectedDay, focusedDay) {
|
|
onDaySelected: (selectedDay, focusedDay) {
|
|
_CalDateTimeSetting.hide(context);
|
|
_CalDateTimeSetting.hide(context);
|
|
- context.read<DateCalBloc>().add(DateCalEvent.selectDay(selectedDay));
|
|
|
|
|
|
+ context
|
|
|
|
+ .read<DateCalBloc>()
|
|
|
|
+ .add(DateCalEvent.selectDay(selectedDay));
|
|
},
|
|
},
|
|
onFormatChanged: (format) {
|
|
onFormatChanged: (format) {
|
|
_CalDateTimeSetting.hide(context);
|
|
_CalDateTimeSetting.hide(context);
|
|
@@ -175,7 +179,9 @@ class _CellCalendarWidget extends StatelessWidget {
|
|
},
|
|
},
|
|
onPageChanged: (focusedDay) {
|
|
onPageChanged: (focusedDay) {
|
|
_CalDateTimeSetting.hide(context);
|
|
_CalDateTimeSetting.hide(context);
|
|
- context.read<DateCalBloc>().add(DateCalEvent.setFocusedDay(focusedDay));
|
|
|
|
|
|
+ context
|
|
|
|
+ .read<DateCalBloc>()
|
|
|
|
+ .add(DateCalEvent.setFocusedDay(focusedDay));
|
|
},
|
|
},
|
|
);
|
|
);
|
|
},
|
|
},
|
|
@@ -200,11 +206,14 @@ class _IncludeTimeButton extends StatelessWidget {
|
|
children: [
|
|
children: [
|
|
svgWidget("grid/clock", color: theme.iconColor),
|
|
svgWidget("grid/clock", color: theme.iconColor),
|
|
const HSpace(4),
|
|
const HSpace(4),
|
|
- FlowyText.medium(LocaleKeys.grid_field_includeTime.tr(), fontSize: 14),
|
|
|
|
|
|
+ FlowyText.medium(LocaleKeys.grid_field_includeTime.tr(),
|
|
|
|
+ fontSize: 14),
|
|
const Spacer(),
|
|
const Spacer(),
|
|
Switch(
|
|
Switch(
|
|
value: includeTime,
|
|
value: includeTime,
|
|
- onChanged: (newValue) => context.read<DateCalBloc>().add(DateCalEvent.setIncludeTime(newValue)),
|
|
|
|
|
|
+ onChanged: (newValue) => context
|
|
|
|
+ .read<DateCalBloc>()
|
|
|
|
+ .add(DateCalEvent.setIncludeTime(newValue)),
|
|
),
|
|
),
|
|
],
|
|
],
|
|
),
|
|
),
|
|
@@ -294,7 +303,9 @@ class _DateTypeOptionButton extends StatelessWidget {
|
|
@override
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
Widget build(BuildContext context) {
|
|
final theme = context.watch<AppTheme>();
|
|
final theme = context.watch<AppTheme>();
|
|
- final title = LocaleKeys.grid_field_dateFormat.tr() + " &" + LocaleKeys.grid_field_timeFormat.tr();
|
|
|
|
|
|
+ final title = LocaleKeys.grid_field_dateFormat.tr() +
|
|
|
|
+ " &" +
|
|
|
|
+ LocaleKeys.grid_field_timeFormat.tr();
|
|
return BlocSelector<DateCalBloc, DateCalState, DateTypeOption>(
|
|
return BlocSelector<DateCalBloc, DateCalState, DateTypeOption>(
|
|
selector: (state) => state.dateTypeOption,
|
|
selector: (state) => state.dateTypeOption,
|
|
builder: (context, dateTypeOption) {
|
|
builder: (context, dateTypeOption) {
|
|
@@ -321,7 +332,9 @@ class _DateTypeOptionButton extends StatelessWidget {
|
|
class _CalDateTimeSetting extends StatefulWidget {
|
|
class _CalDateTimeSetting extends StatefulWidget {
|
|
final DateTypeOption dateTypeOption;
|
|
final DateTypeOption dateTypeOption;
|
|
final Function(DateCalEvent) onEvent;
|
|
final Function(DateCalEvent) onEvent;
|
|
- const _CalDateTimeSetting({required this.dateTypeOption, required this.onEvent, Key? key}) : super(key: key);
|
|
|
|
|
|
+ const _CalDateTimeSetting(
|
|
|
|
+ {required this.dateTypeOption, required this.onEvent, Key? key})
|
|
|
|
+ : super(key: key);
|
|
|
|
|
|
@override
|
|
@override
|
|
State<_CalDateTimeSetting> createState() => _CalDateTimeSettingState();
|
|
State<_CalDateTimeSetting> createState() => _CalDateTimeSettingState();
|
|
@@ -358,7 +371,8 @@ class _CalDateTimeSettingState extends State<_CalDateTimeSetting> {
|
|
DateFormatButton(onTap: () {
|
|
DateFormatButton(onTap: () {
|
|
final list = DateFormatList(
|
|
final list = DateFormatList(
|
|
selectedFormat: widget.dateTypeOption.dateFormat,
|
|
selectedFormat: widget.dateTypeOption.dateFormat,
|
|
- onSelected: (format) => widget.onEvent(DateCalEvent.setDateFormat(format)),
|
|
|
|
|
|
+ onSelected: (format) =>
|
|
|
|
+ widget.onEvent(DateCalEvent.setDateFormat(format)),
|
|
);
|
|
);
|
|
_showOverlay(context, list);
|
|
_showOverlay(context, list);
|
|
}),
|
|
}),
|
|
@@ -367,7 +381,8 @@ class _CalDateTimeSettingState extends State<_CalDateTimeSetting> {
|
|
onTap: () {
|
|
onTap: () {
|
|
final list = TimeFormatList(
|
|
final list = TimeFormatList(
|
|
selectedFormat: widget.dateTypeOption.timeFormat,
|
|
selectedFormat: widget.dateTypeOption.timeFormat,
|
|
- onSelected: (format) => widget.onEvent(DateCalEvent.setTimeFormat(format)),
|
|
|
|
|
|
+ onSelected: (format) =>
|
|
|
|
+ widget.onEvent(DateCalEvent.setTimeFormat(format)),
|
|
);
|
|
);
|
|
_showOverlay(context, list);
|
|
_showOverlay(context, list);
|
|
},
|
|
},
|