From 32d5edff81d153c1af78b0466e7fb7e5acd231f2 Mon Sep 17 00:00:00 2001 From: appflowy Date: Wed, 10 Aug 2022 19:15:36 +0800 Subject: [PATCH] refactor: refactor class SingleSelectTypeOptionContext --- .../plugins/board/application/field_group.dart | 0 .../application/field/type_option/date_bloc.dart | 2 -- .../type_option/multi_select_type_option.dart | 3 +-- .../field/type_option/number_bloc.dart | 2 -- .../select_option_type_option_bloc.dart | 4 ++-- .../type_option/single_select_type_option.dart | 4 +--- .../type_option/type_option_data_controller.dart | 15 +++++++++++++++ .../widgets/header/type_option/rich_text.dart | 2 -- .../widgets/header/type_option/select_option.dart | 6 ++++-- .../widgets/header/type_option/url.dart | 2 -- 10 files changed, 23 insertions(+), 17 deletions(-) delete mode 100644 frontend/app_flowy/lib/plugins/board/application/field_group.dart diff --git a/frontend/app_flowy/lib/plugins/board/application/field_group.dart b/frontend/app_flowy/lib/plugins/board/application/field_group.dart deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/date_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/date_bloc.dart index 15c052060d..1b9c3841ff 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/date_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/date_bloc.dart @@ -8,8 +8,6 @@ import 'package:protobuf/protobuf.dart'; import 'type_option_data_controller.dart'; part 'date_bloc.freezed.dart'; -typedef DateTypeOptionContext = TypeOptionContext; - class DateTypeOptionDataParser extends TypeOptionDataParser { @override DateTypeOption fromBuffer(List buffer) { diff --git a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/multi_select_type_option.dart b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/multi_select_type_option.dart index a05e5ea2ff..acf46a0b37 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/multi_select_type_option.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/multi_select_type_option.dart @@ -8,8 +8,7 @@ import 'type_option_service.dart'; import 'package:protobuf/protobuf.dart'; class MultiSelectTypeOptionContext - extends TypeOptionContext - with SelectOptionTypeOptionAction { + extends TypeOptionContext with ISelectOptionAction { final TypeOptionFFIService service; MultiSelectTypeOptionContext({ diff --git a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/number_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/number_bloc.dart index fc3d8b0822..7b723324bf 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/number_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/number_bloc.dart @@ -8,8 +8,6 @@ import 'type_option_data_controller.dart'; part 'number_bloc.freezed.dart'; -typedef NumberTypeOptionContext = TypeOptionContext; - class NumberTypeOptionWidgetDataParser extends TypeOptionDataParser { @override diff --git a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/select_option_type_option_bloc.dart b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/select_option_type_option_bloc.dart index 6e4aca6cc9..ef7fe53de3 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/select_option_type_option_bloc.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/select_option_type_option_bloc.dart @@ -5,7 +5,7 @@ import 'dart:async'; import 'package:dartz/dartz.dart'; part 'select_option_type_option_bloc.freezed.dart'; -abstract class SelectOptionTypeOptionAction { +abstract class ISelectOptionAction { Future> Function(String) get insertOption; List Function(SelectOptionPB) get deleteOption; @@ -15,7 +15,7 @@ abstract class SelectOptionTypeOptionAction { class SelectOptionTypeOptionBloc extends Bloc { - final SelectOptionTypeOptionAction typeOptionAction; + final ISelectOptionAction typeOptionAction; SelectOptionTypeOptionBloc({ required List options, diff --git a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/single_select_type_option.dart b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/single_select_type_option.dart index e4de10a3ef..d8f728f1b5 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/single_select_type_option.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/single_select_type_option.dart @@ -7,9 +7,7 @@ import 'select_option_type_option_bloc.dart'; import 'type_option_data_controller.dart'; import 'type_option_service.dart'; -class SingleSelectTypeOptionContext - extends TypeOptionContext - with SelectOptionTypeOptionAction { +class SingleSelectTypeOptionContext with ISelectOptionAction { final TypeOptionFFIService service; SingleSelectTypeOptionContext({ diff --git a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/type_option_data_controller.dart b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/type_option_data_controller.dart index 75b373f787..424abc87ce 100644 --- a/frontend/app_flowy/lib/plugins/grid/application/field/type_option/type_option_data_controller.dart +++ b/frontend/app_flowy/lib/plugins/grid/application/field/type_option/type_option_data_controller.dart @@ -1,9 +1,15 @@ import 'package:flowy_infra/notifier.dart'; import 'package:flowy_sdk/dispatch/dispatch.dart'; import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart'; +import 'package:flowy_sdk/protobuf/flowy-grid/checkbox_type_option.pb.dart'; +import 'package:flowy_sdk/protobuf/flowy-grid/date_type_option.pb.dart'; import 'package:flowy_sdk/protobuf/flowy-grid/field_entities.pb.dart'; import 'package:app_flowy/plugins/grid/application/field/field_service.dart'; import 'package:dartz/dartz.dart'; +import 'package:flowy_sdk/protobuf/flowy-grid/number_type_option.pb.dart'; +import 'package:flowy_sdk/protobuf/flowy-grid/single_select_type_option.pb.dart'; +import 'package:flowy_sdk/protobuf/flowy-grid/text_type_option.pb.dart'; +import 'package:flowy_sdk/protobuf/flowy-grid/url_type_option.pb.dart'; import 'package:protobuf/protobuf.dart'; import 'package:flowy_sdk/log.dart'; @@ -11,6 +17,15 @@ abstract class TypeOptionDataParser { T fromBuffer(List buffer); } +typedef NumberTypeOptionContext = TypeOptionContext; +typedef RichTextTypeOptionContext = TypeOptionContext; +typedef CheckboxTypeOptionContext = TypeOptionContext; +typedef URLTypeOptionContext = TypeOptionContext; +typedef DateTypeOptionContext = TypeOptionContext; + +typedef SingleSelectTypeOptionContext + = TypeOptionContext; + class TypeOptionContext { T? _typeOptionObject; final TypeOptionDataParser dataParser; diff --git a/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/rich_text.dart b/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/rich_text.dart index 4ee9e1e6ae..c24f98a28f 100644 --- a/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/rich_text.dart +++ b/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/rich_text.dart @@ -3,8 +3,6 @@ import 'package:flowy_sdk/protobuf/flowy-grid/text_type_option.pb.dart'; import 'package:flutter/material.dart'; import 'builder.dart'; -typedef RichTextTypeOptionContext = TypeOptionContext; - class RichTextTypeOptionWidgetDataParser extends TypeOptionDataParser { @override diff --git a/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/select_option.dart b/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/select_option.dart index 5d6304ea7a..d36df1fea7 100644 --- a/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/select_option.dart +++ b/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/select_option.dart @@ -20,7 +20,7 @@ class SelectOptionTypeOptionWidget extends StatelessWidget { final List options; final VoidCallback beginEdit; final TypeOptionOverlayDelegate overlayDelegate; - final SelectOptionTypeOptionAction typeOptionAction; + final ISelectOptionAction typeOptionAction; const SelectOptionTypeOptionWidget({ required this.options, @@ -34,7 +34,9 @@ class SelectOptionTypeOptionWidget extends StatelessWidget { Widget build(BuildContext context) { return BlocProvider( create: (context) => SelectOptionTypeOptionBloc( - options: options, typeOptionAction: typeOptionAction), + options: options, + typeOptionAction: typeOptionAction, + ), child: BlocBuilder( builder: (context, state) { diff --git a/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/url.dart b/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/url.dart index 3521b336cf..07a341493a 100644 --- a/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/url.dart +++ b/frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/url.dart @@ -3,8 +3,6 @@ import 'package:flowy_sdk/protobuf/flowy-grid/url_type_option.pb.dart'; import 'package:flutter/material.dart'; import 'builder.dart'; -typedef URLTypeOptionContext = TypeOptionContext; - class URLTypeOptionWidgetDataParser extends TypeOptionDataParser { @override