refactor: refactor class SingleSelectTypeOptionContext

This commit is contained in:
appflowy 2022-08-10 19:15:36 +08:00
parent ad3e2f5725
commit 32d5edff81
10 changed files with 23 additions and 17 deletions

View File

@ -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) {

View File

@ -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({

View File

@ -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

View File

@ -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,

View File

@ -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({

View File

@ -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;

View File

@ -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

View File

@ -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) {

View File

@ -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