소스 검색

refactor: refactor class SingleSelectTypeOptionContext

appflowy 2 년 전
부모
커밋
32d5edff81

+ 0 - 0
frontend/app_flowy/lib/plugins/board/application/field_group.dart


+ 0 - 2
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<DateTypeOption>;
-
 class DateTypeOptionDataParser extends TypeOptionDataParser<DateTypeOption> {
   @override
   DateTypeOption fromBuffer(List<int> buffer) {

+ 1 - 2
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<MultiSelectTypeOption>
-    with SelectOptionTypeOptionAction {
+    extends TypeOptionContext<MultiSelectTypeOption> with ISelectOptionAction {
   final TypeOptionFFIService service;
 
   MultiSelectTypeOptionContext({

+ 0 - 2
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<NumberTypeOption>;
-
 class NumberTypeOptionWidgetDataParser
     extends TypeOptionDataParser<NumberTypeOption> {
   @override

+ 2 - 2
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<List<SelectOptionPB>> Function(String) get insertOption;
 
   List<SelectOptionPB> Function(SelectOptionPB) get deleteOption;
@@ -15,7 +15,7 @@ abstract class SelectOptionTypeOptionAction {
 
 class SelectOptionTypeOptionBloc
     extends Bloc<SelectOptionTypeOptionEvent, SelectOptionTypeOptionState> {
-  final SelectOptionTypeOptionAction typeOptionAction;
+  final ISelectOptionAction typeOptionAction;
 
   SelectOptionTypeOptionBloc({
     required List<SelectOptionPB> options,

+ 1 - 3
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<SingleSelectTypeOptionPB>
-    with SelectOptionTypeOptionAction {
+class SingleSelectTypeOptionContext with ISelectOptionAction {
   final TypeOptionFFIService service;
 
   SingleSelectTypeOptionContext({

+ 15 - 0
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> {
   T fromBuffer(List<int> buffer);
 }
 
+typedef NumberTypeOptionContext = TypeOptionContext<NumberTypeOption>;
+typedef RichTextTypeOptionContext = TypeOptionContext<RichTextTypeOption>;
+typedef CheckboxTypeOptionContext = TypeOptionContext<CheckboxTypeOption>;
+typedef URLTypeOptionContext = TypeOptionContext<URLTypeOption>;
+typedef DateTypeOptionContext = TypeOptionContext<DateTypeOption>;
+
+typedef SingleSelectTypeOptionContext
+    = TypeOptionContext<SingleSelectTypeOptionPB>;
+
 class TypeOptionContext<T extends GeneratedMessage> {
   T? _typeOptionObject;
   final TypeOptionDataParser<T> dataParser;

+ 0 - 2
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<RichTextTypeOption>;
-
 class RichTextTypeOptionWidgetDataParser
     extends TypeOptionDataParser<RichTextTypeOption> {
   @override

+ 4 - 2
frontend/app_flowy/lib/plugins/grid/presentation/widgets/header/type_option/select_option.dart

@@ -20,7 +20,7 @@ class SelectOptionTypeOptionWidget extends StatelessWidget {
   final List<SelectOptionPB> 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<SelectOptionTypeOptionBloc, SelectOptionTypeOptionState>(
         builder: (context, state) {

+ 0 - 2
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<URLTypeOption>;
-
 class URLTypeOptionWidgetDataParser
     extends TypeOptionDataParser<URLTypeOption> {
   @override