Skip to content

Commit a59a0af

Browse files
committed
refactor: remove FieldTypeOptionContext
1 parent 467e009 commit a59a0af

File tree

33 files changed

+401
-320
lines changed

33 files changed

+401
-320
lines changed

frontend/app_flowy/lib/startup/deps_resolver.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import 'package:app_flowy/workspace/presentation/home/home_stack.dart';
1515
import 'package:app_flowy/workspace/presentation/home/menu/menu.dart';
1616
import 'package:flowy_sdk/protobuf/flowy-folder-data-model/app.pb.dart';
1717
import 'package:flowy_sdk/protobuf/flowy-folder-data-model/view.pb.dart';
18-
import 'package:flowy_sdk/protobuf/flowy-grid-data-model/grid.pb.dart' show EditFieldContext;
18+
import 'package:flowy_sdk/protobuf/flowy-grid-data-model/grid.pb.dart' show FieldTypeOptionData;
1919
import 'package:flowy_sdk/protobuf/flowy-grid/date_type_option.pb.dart';
2020
import 'package:flowy_sdk/protobuf/flowy-grid/number_type_option.pb.dart';
2121
import 'package:flowy_sdk/protobuf/flowy-user-data-model/user_profile.pb.dart';
@@ -157,7 +157,7 @@ void _resolveGridDeps(GetIt getIt) {
157157
),
158158
);
159159

160-
getIt.registerFactoryParam<FieldEditorBloc, String, EditFieldContextLoader>(
160+
getIt.registerFactoryParam<FieldEditorBloc, String, FieldContextLoader>(
161161
(gridId, fieldLoader) => FieldEditorBloc(
162162
gridId: gridId,
163163
fieldLoader: fieldLoader,
@@ -195,7 +195,7 @@ void _resolveGridDeps(GetIt getIt) {
195195
),
196196
);
197197

198-
getIt.registerFactoryParam<FieldEditorPannelBloc, EditFieldContext, void>(
198+
getIt.registerFactoryParam<FieldEditorPannelBloc, FieldTypeOptionData, void>(
199199
(context, _) => FieldEditorPannelBloc(context),
200200
);
201201

frontend/app_flowy/lib/workspace/application/grid/cell/cell_service/context_builder.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ class _GridCellContext<T, D> extends Equatable {
150150
return data;
151151
}
152152

153-
Future<Either<List<int>, FlowyError>> getTypeOptionData() {
154-
return _fieldService.getTypeOptionData(fieldType: fieldType);
153+
Future<Either<FieldTypeOptionData, FlowyError>> getTypeOptionData() {
154+
return _fieldService.getFieldTypeOptionData(fieldType: fieldType);
155155
}
156156

157157
Future<Option<FlowyError>> saveCellData(D data) {

frontend/app_flowy/lib/workspace/application/grid/field/field_action_sheet_bloc.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class FieldActionSheetBloc extends Bloc<FieldActionSheetEvent, FieldActionSheetS
1111
final FieldService fieldService;
1212

1313
FieldActionSheetBloc({required Field field, required this.fieldService})
14-
: super(FieldActionSheetState.initial(EditFieldContext.create()..gridField = field)) {
14+
: super(FieldActionSheetState.initial(FieldTypeOptionData.create()..field_2 = field)) {
1515
on<FieldActionSheetEvent>(
1616
(event, emit) async {
1717
await event.map(
@@ -67,14 +67,14 @@ class FieldActionSheetEvent with _$FieldActionSheetEvent {
6767
@freezed
6868
class FieldActionSheetState with _$FieldActionSheetState {
6969
const factory FieldActionSheetState({
70-
required EditFieldContext editContext,
70+
required FieldTypeOptionData fieldTypeOptionData,
7171
required String errorText,
7272
required String fieldName,
7373
}) = _FieldActionSheetState;
7474

75-
factory FieldActionSheetState.initial(EditFieldContext editContext) => FieldActionSheetState(
76-
editContext: editContext,
75+
factory FieldActionSheetState.initial(FieldTypeOptionData data) => FieldActionSheetState(
76+
fieldTypeOptionData: data,
7777
errorText: '',
78-
fieldName: editContext.gridField.name,
78+
fieldName: data.field_2.name,
7979
);
8080
}

frontend/app_flowy/lib/workspace/application/grid/field/field_cell_bloc.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@ class FieldCellBloc extends Bloc<FieldCellEvent, FieldCellState> {
1919
super(FieldCellState.initial(cellContext)) {
2020
on<FieldCellEvent>(
2121
(event, emit) async {
22-
await event.map(
23-
initial: (_InitialCell value) async {
22+
event.when(
23+
initial: () {
2424
_startListening();
2525
},
26-
didReceiveFieldUpdate: (_DidReceiveFieldUpdate value) {
27-
emit(state.copyWith(field: value.field));
26+
didReceiveFieldUpdate: (field) {
27+
emit(state.copyWith(field: field));
2828
},
29-
updateWidth: (_UpdateWidth value) {
29+
updateWidth: (offset) {
3030
final defaultWidth = state.field.width.toDouble();
31-
final width = defaultWidth + value.offset;
31+
final width = defaultWidth + offset;
3232
if (width > defaultWidth && width < 300) {
3333
_fieldService.updateField(width: width);
3434
}

frontend/app_flowy/lib/workspace/application/grid/field/field_editor_bloc.dart

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,26 @@ part 'field_editor_bloc.freezed.dart';
1212

1313
class FieldEditorBloc extends Bloc<FieldEditorEvent, FieldEditorState> {
1414
final String gridId;
15-
final EditFieldContextLoader _loader;
15+
final FieldContextLoader _loader;
1616

1717
FieldEditorBloc({
1818
required this.gridId,
19-
required EditFieldContextLoader fieldLoader,
19+
required FieldContextLoader fieldLoader,
2020
}) : _loader = fieldLoader,
2121
super(FieldEditorState.initial(gridId)) {
2222
on<FieldEditorEvent>(
2323
(event, emit) async {
2424
await event.map(
2525
initial: (_InitialField value) async {
26-
await _getEditFieldContext(emit);
26+
await _getFieldTypeOptionContext(emit);
2727
},
2828
updateName: (_UpdateName value) {
2929
final newContext = _updateEditContext(name: value.name);
30-
emit(state.copyWith(editFieldContext: newContext));
30+
emit(state.copyWith(fieldTypeOptionData: newContext));
3131
},
3232
updateField: (_UpdateField value) {
33-
final newContext = _updateEditContext(field: value.field, typeOptionData: value.typeOptionData);
34-
35-
emit(state.copyWith(editFieldContext: newContext));
33+
final data = _updateEditContext(field: value.field, typeOptionData: value.typeOptionData);
34+
emit(state.copyWith(fieldTypeOptionData: data));
3635
},
3736
done: (_Done value) async {
3837
await _saveField(emit);
@@ -47,26 +46,26 @@ class FieldEditorBloc extends Bloc<FieldEditorEvent, FieldEditorState> {
4746
return super.close();
4847
}
4948

50-
Option<EditFieldContext> _updateEditContext({
49+
Option<FieldTypeOptionData> _updateEditContext({
5150
String? name,
5251
Field? field,
5352
List<int>? typeOptionData,
5453
}) {
55-
return state.editFieldContext.fold(
54+
return state.fieldTypeOptionData.fold(
5655
() => none(),
5756
(context) {
5857
context.freeze();
59-
final newContext = context.rebuild((newContext) {
60-
newContext.gridField.rebuild((newField) {
58+
final newFieldTypeOptionData = context.rebuild((newContext) {
59+
newContext.field_2.rebuild((newField) {
6160
if (name != null) {
6261
newField.name = name;
6362
}
6463

65-
newContext.gridField = newField;
64+
newContext.field_2 = newField;
6665
});
6766

6867
if (field != null) {
69-
newContext.gridField = field;
68+
newContext.field_2 = field;
7069
}
7170

7271
if (typeOptionData != null) {
@@ -76,35 +75,35 @@ class FieldEditorBloc extends Bloc<FieldEditorEvent, FieldEditorState> {
7675

7776
FieldService.insertField(
7877
gridId: gridId,
79-
field: newContext.gridField,
80-
typeOptionData: newContext.typeOptionData,
78+
field: newFieldTypeOptionData.field_2,
79+
typeOptionData: newFieldTypeOptionData.typeOptionData,
8180
);
8281

83-
return Some(newContext);
82+
return Some(newFieldTypeOptionData);
8483
},
8584
);
8685
}
8786

8887
Future<void> _saveField(Emitter<FieldEditorState> emit) async {
89-
await state.editFieldContext.fold(
88+
await state.fieldTypeOptionData.fold(
9089
() async => null,
91-
(context) async {
90+
(data) async {
9291
final result = await FieldService.insertField(
9392
gridId: gridId,
94-
field: context.gridField,
95-
typeOptionData: context.typeOptionData,
93+
field: data.field_2,
94+
typeOptionData: data.typeOptionData,
9695
);
9796
result.fold((l) => null, (r) => null);
9897
},
9998
);
10099
}
101100

102-
Future<void> _getEditFieldContext(Emitter<FieldEditorState> emit) async {
101+
Future<void> _getFieldTypeOptionContext(Emitter<FieldEditorState> emit) async {
103102
final result = await _loader.load();
104103
result.fold(
105104
(context) {
106105
emit(state.copyWith(
107-
editFieldContext: Some(context),
106+
fieldTypeOptionData: Some(context),
108107
));
109108
},
110109
(err) => Log.error(err),
@@ -125,12 +124,12 @@ class FieldEditorState with _$FieldEditorState {
125124
const factory FieldEditorState({
126125
required String gridId,
127126
required String errorText,
128-
required Option<EditFieldContext> editFieldContext,
127+
required Option<FieldTypeOptionData> fieldTypeOptionData,
129128
}) = _FieldEditorState;
130129

131130
factory FieldEditorState.initial(String gridId) => FieldEditorState(
132131
gridId: gridId,
133-
editFieldContext: none(),
132+
fieldTypeOptionData: none(),
134133
errorText: '',
135134
);
136135
}

frontend/app_flowy/lib/workspace/application/grid/field/field_editor_pannel_bloc.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import 'dart:async';
77
part 'field_editor_pannel_bloc.freezed.dart';
88

99
class FieldEditorPannelBloc extends Bloc<FieldEditorPannelEvent, FieldEditorPannelState> {
10-
FieldEditorPannelBloc(EditFieldContext editContext) : super(FieldEditorPannelState.initial(editContext)) {
10+
FieldEditorPannelBloc(FieldTypeOptionData editContext) : super(FieldEditorPannelState.initial(editContext)) {
1111
on<FieldEditorPannelEvent>(
1212
(event, emit) async {
1313
await event.map(
@@ -45,9 +45,9 @@ class FieldEditorPannelState with _$FieldEditorPannelState {
4545
required Uint8List typeOptionData,
4646
}) = _FieldEditorPannelState;
4747

48-
factory FieldEditorPannelState.initial(EditFieldContext context) => FieldEditorPannelState(
49-
gridId: context.gridId,
50-
field: context.gridField,
51-
typeOptionData: Uint8List.fromList(context.typeOptionData),
48+
factory FieldEditorPannelState.initial(FieldTypeOptionData data) => FieldEditorPannelState(
49+
gridId: data.gridId,
50+
field: data.field_2,
51+
typeOptionData: Uint8List.fromList(data.typeOptionData),
5252
);
5353
}

frontend/app_flowy/lib/workspace/application/grid/field/field_service.dart

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class FieldService {
1212

1313
FieldService({required this.gridId, required this.fieldId});
1414

15-
Future<Either<EditFieldContext, FlowyError>> switchToField(FieldType fieldType) {
15+
Future<Either<FieldTypeOptionData, FlowyError>> switchToField(FieldType fieldType) {
1616
final payload = EditFieldPayload.create()
1717
..gridId = gridId
1818
..fieldId = fieldId
@@ -21,15 +21,6 @@ class FieldService {
2121
return GridEventSwitchToField(payload).send();
2222
}
2323

24-
Future<Either<EditFieldContext, FlowyError>> getEditFieldContext(FieldType fieldType) {
25-
final payload = EditFieldPayload.create()
26-
..gridId = gridId
27-
..fieldId = fieldId
28-
..fieldType = fieldType;
29-
30-
return GridEventGetEditFieldContext(payload).send();
31-
}
32-
3324
Future<Either<Unit, FlowyError>> moveField(int fromIndex, int toIndex) {
3425
final payload = MoveItemPayload.create()
3526
..gridId = gridId
@@ -128,7 +119,7 @@ class FieldService {
128119
return GridEventDuplicateField(payload).send();
129120
}
130121

131-
Future<Either<List<int>, FlowyError>> getTypeOptionData({
122+
Future<Either<FieldTypeOptionData, FlowyError>> getFieldTypeOptionData({
132123
required FieldType fieldType,
133124
}) {
134125
final payload = EditFieldPayload.create()
@@ -137,7 +128,7 @@ class FieldService {
137128
..fieldType = fieldType;
138129
return GridEventGetFieldTypeOption(payload).send().then((result) {
139130
return result.fold(
140-
(data) => left(data.typeOptionData),
131+
(data) => left(data),
141132
(err) => right(err),
142133
);
143134
});
@@ -152,58 +143,58 @@ class GridFieldCellContext with _$GridFieldCellContext {
152143
}) = _GridFieldCellContext;
153144
}
154145

155-
abstract class EditFieldContextLoader {
156-
Future<Either<EditFieldContext, FlowyError>> load();
146+
abstract class FieldContextLoader {
147+
Future<Either<FieldTypeOptionData, FlowyError>> load();
157148

158-
Future<Either<EditFieldContext, FlowyError>> switchToField(String fieldId, FieldType fieldType);
149+
Future<Either<FieldTypeOptionData, FlowyError>> switchToField(String fieldId, FieldType fieldType);
159150
}
160151

161-
class NewFieldContextLoader extends EditFieldContextLoader {
152+
class NewFieldContextLoader extends FieldContextLoader {
162153
final String gridId;
163154
NewFieldContextLoader({
164155
required this.gridId,
165156
});
166157

167158
@override
168-
Future<Either<EditFieldContext, FlowyError>> load() {
159+
Future<Either<FieldTypeOptionData, FlowyError>> load() {
169160
final payload = EditFieldPayload.create()
170161
..gridId = gridId
171162
..fieldType = FieldType.RichText;
172163

173-
return GridEventGetEditFieldContext(payload).send();
164+
return GridEventGetFieldTypeOption(payload).send();
174165
}
175166

176167
@override
177-
Future<Either<EditFieldContext, FlowyError>> switchToField(String fieldId, FieldType fieldType) {
168+
Future<Either<FieldTypeOptionData, FlowyError>> switchToField(String fieldId, FieldType fieldType) {
178169
final payload = EditFieldPayload.create()
179170
..gridId = gridId
180171
..fieldType = fieldType;
181172

182-
return GridEventGetEditFieldContext(payload).send();
173+
return GridEventGetFieldTypeOption(payload).send();
183174
}
184175
}
185176

186-
class FieldContextLoaderAdaptor extends EditFieldContextLoader {
177+
class DefaultFieldContextLoader extends FieldContextLoader {
187178
final String gridId;
188179
final Field field;
189180

190-
FieldContextLoaderAdaptor({
181+
DefaultFieldContextLoader({
191182
required this.gridId,
192183
required this.field,
193184
});
194185

195186
@override
196-
Future<Either<EditFieldContext, FlowyError>> load() {
187+
Future<Either<FieldTypeOptionData, FlowyError>> load() {
197188
final payload = EditFieldPayload.create()
198189
..gridId = gridId
199190
..fieldId = field.id
200191
..fieldType = field.fieldType;
201192

202-
return GridEventGetEditFieldContext(payload).send();
193+
return GridEventGetFieldTypeOption(payload).send();
203194
}
204195

205196
@override
206-
Future<Either<EditFieldContext, FlowyError>> switchToField(String fieldId, FieldType fieldType) async {
197+
Future<Either<FieldTypeOptionData, FlowyError>> switchToField(String fieldId, FieldType fieldType) async {
207198
final fieldService = FieldService(gridId: gridId, fieldId: fieldId);
208199
return fieldService.switchToField(fieldType);
209200
}

0 commit comments

Comments
 (0)