mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
refactor: refactor class SingleSelectTypeOptionContext
This commit is contained in:
parent
ad3e2f5725
commit
32d5edff81
@ -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) {
|
||||
|
@ -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({
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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({
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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) {
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user