mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-08-06 07:52:52 +00:00
fix: can't open the relation field in the linked database (#7441)
This commit is contained in:
parent
249543d64f
commit
2e17fb9dd3
@ -1,8 +1,9 @@
|
||||
import 'package:appflowy/generated/locale_keys.g.dart';
|
||||
import 'package:appflowy/plugins/database/grid/presentation/layout/sizes.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/row/cells/cell_container.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/cell_editor/relation_cell_editor.dart';
|
||||
import 'package:appflowy/plugins/database/application/cell/bloc/relation_cell_bloc.dart';
|
||||
import 'package:appflowy/plugins/database/grid/presentation/layout/sizes.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/cell_editor/relation_cell_editor.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/row/cells/cell_container.dart';
|
||||
import 'package:appflowy/workspace/application/user/user_workspace_bloc.dart';
|
||||
import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
||||
@ -20,6 +21,7 @@ class DesktopGridRelationCellSkin extends IEditableRelationCellSkin {
|
||||
RelationCellState state,
|
||||
PopoverController popoverController,
|
||||
) {
|
||||
final userWorkspaceBloc = context.read<UserWorkspaceBloc>();
|
||||
return AppFlowyPopover(
|
||||
controller: popoverController,
|
||||
direction: PopoverDirection.bottomWithLeftAligned,
|
||||
@ -27,8 +29,11 @@ class DesktopGridRelationCellSkin extends IEditableRelationCellSkin {
|
||||
margin: EdgeInsets.zero,
|
||||
onClose: () => cellContainerNotifier.isFocus = false,
|
||||
popupBuilder: (context) {
|
||||
return BlocProvider.value(
|
||||
value: bloc,
|
||||
return MultiBlocProvider(
|
||||
providers: [
|
||||
BlocProvider.value(value: userWorkspaceBloc),
|
||||
BlocProvider.value(value: bloc),
|
||||
],
|
||||
child: const RelationCellEditor(),
|
||||
);
|
||||
},
|
||||
|
@ -1,7 +1,8 @@
|
||||
import 'package:appflowy/generated/locale_keys.g.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/row/cells/cell_container.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/cell_editor/relation_cell_editor.dart';
|
||||
import 'package:appflowy/plugins/database/application/cell/bloc/relation_cell_bloc.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/cell_editor/relation_cell_editor.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/row/cells/cell_container.dart';
|
||||
import 'package:appflowy/workspace/application/user/user_workspace_bloc.dart';
|
||||
import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flowy_infra_ui/flowy_infra_ui.dart';
|
||||
@ -19,6 +20,7 @@ class DesktopRowDetailRelationCellSkin extends IEditableRelationCellSkin {
|
||||
RelationCellState state,
|
||||
PopoverController popoverController,
|
||||
) {
|
||||
final userWorkspaceBloc = context.read<UserWorkspaceBloc>();
|
||||
return AppFlowyPopover(
|
||||
controller: popoverController,
|
||||
direction: PopoverDirection.bottomWithLeftAligned,
|
||||
@ -27,8 +29,11 @@ class DesktopRowDetailRelationCellSkin extends IEditableRelationCellSkin {
|
||||
asBarrier: true,
|
||||
onClose: () => cellContainerNotifier.isFocus = false,
|
||||
popupBuilder: (context) {
|
||||
return BlocProvider.value(
|
||||
value: bloc,
|
||||
return MultiBlocProvider(
|
||||
providers: [
|
||||
BlocProvider.value(value: userWorkspaceBloc),
|
||||
BlocProvider.value(value: bloc),
|
||||
],
|
||||
child: const RelationCellEditor(),
|
||||
);
|
||||
},
|
||||
|
@ -6,6 +6,7 @@ import 'package:appflowy/plugins/database/tab_bar/tab_bar_view.dart';
|
||||
import 'package:appflowy/plugins/database/widgets/row/relation_row_detail.dart';
|
||||
import 'package:appflowy/startup/startup.dart';
|
||||
import 'package:appflowy/workspace/application/tabs/tabs_bloc.dart';
|
||||
import 'package:appflowy/workspace/application/user/user_workspace_bloc.dart';
|
||||
import 'package:appflowy/workspace/application/view/view_ext.dart';
|
||||
import 'package:appflowy_backend/dispatch/dispatch.dart';
|
||||
import 'package:appflowy_backend/log.dart';
|
||||
@ -112,8 +113,11 @@ class _RelationCellEditorContentState
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BlocProvider.value(
|
||||
value: bloc,
|
||||
return MultiBlocProvider(
|
||||
providers: [
|
||||
BlocProvider.value(value: bloc),
|
||||
BlocProvider.value(value: context.read<UserWorkspaceBloc>()),
|
||||
],
|
||||
child: BlocBuilder<RelationRowSearchBloc, RelationRowSearchState>(
|
||||
buildWhen: (previous, current) =>
|
||||
!listEquals(previous.filteredRows, current.filteredRows),
|
||||
@ -316,13 +320,16 @@ class _SearchField extends StatelessWidget {
|
||||
FlowyOverlay.show(
|
||||
context: context,
|
||||
builder: (BuildContext overlayContext) {
|
||||
return RelatedRowDetailPage(
|
||||
databaseId: context
|
||||
.read<RelationCellBloc>()
|
||||
.state
|
||||
.relatedDatabaseMeta!
|
||||
.databaseId,
|
||||
rowId: row.rowId,
|
||||
return BlocProvider.value(
|
||||
value: context.read<UserWorkspaceBloc>(),
|
||||
child: RelatedRowDetailPage(
|
||||
databaseId: context
|
||||
.read<RelationCellBloc>()
|
||||
.state
|
||||
.relatedDatabaseMeta!
|
||||
.databaseId,
|
||||
rowId: row.rowId,
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
@ -391,13 +398,17 @@ class _RowListItem extends StatelessWidget {
|
||||
),
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
final userWorkspaceBloc = context.read<UserWorkspaceBloc>();
|
||||
if (isSelected) {
|
||||
FlowyOverlay.show(
|
||||
context: context,
|
||||
builder: (BuildContext overlayContext) {
|
||||
return RelatedRowDetailPage(
|
||||
databaseId: databaseId,
|
||||
rowId: row.rowId,
|
||||
return BlocProvider.value(
|
||||
value: userWorkspaceBloc,
|
||||
child: RelatedRowDetailPage(
|
||||
databaseId: databaseId,
|
||||
rowId: row.rowId,
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
|
@ -23,7 +23,7 @@ class RelatedRowDetailPage extends StatelessWidget {
|
||||
initialRowId: rowId,
|
||||
),
|
||||
child: BlocBuilder<RelatedRowDetailPageBloc, RelatedRowDetailPageState>(
|
||||
builder: (context, state) {
|
||||
builder: (_, state) {
|
||||
return state.when(
|
||||
loading: () => const SizedBox.shrink(),
|
||||
ready: (databaseController, rowController) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user