Skip to content

Commit 8c0b8a8

Browse files
authored
Fix grid board plugin issues (#1809)
* fix: #1799 Click : to view the original database UI text * fix: #1798 Referenced icon is missing
1 parent 897adbe commit 8c0b8a8

File tree

9 files changed

+88
-45
lines changed

9 files changed

+88
-45
lines changed
Lines changed: 5 additions & 0 deletions
Loading
Lines changed: 4 additions & 0 deletions
Loading

frontend/app_flowy/assets/translations/en.json

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@
104104
"darkMode": "Switch to Dark mode",
105105
"openAsPage": "Open as a Page",
106106
"addNewRow": "Add a new row",
107-
"openMenu": "Click to open menu"
107+
"openMenu": "Click to open menu",
108+
"viewDataBase": "View database",
109+
"referencePage": "This {name} is referenced"
108110
},
109111
"sideBar": {
110112
"closeSidebar": "Close side bar",
@@ -322,6 +324,10 @@
322324
"grid": {
323325
"selectAGridToLinkTo": "Select a Grid to link to"
324326
}
327+
},
328+
"plugins": {
329+
"referencedBoard": "Referenced Board",
330+
"referencedGrid": "Referenced Grid"
325331
}
326332
},
327333
"board": {

frontend/app_flowy/lib/plugins/document/presentation/plugins/base/built_in_page_widget.dart

Lines changed: 62 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
import 'package:app_flowy/plugins/document/presentation/plugins/base/insert_page_command.dart';
22
import 'package:app_flowy/startup/startup.dart';
33
import 'package:app_flowy/workspace/application/app/app_service.dart';
4-
import 'package:app_flowy/workspace/application/view/view_ext.dart';
5-
import 'package:app_flowy/workspace/presentation/home/home_stack.dart';
6-
import 'package:app_flowy/workspace/presentation/home/menu/menu.dart';
74
import 'package:app_flowy/workspace/presentation/widgets/pop_up_action.dart';
85
import 'package:appflowy_backend/protobuf/flowy-error/errors.pbserver.dart';
96
import 'package:appflowy_backend/protobuf/flowy-folder/view.pb.dart';
107
import 'package:appflowy_editor/appflowy_editor.dart';
11-
import 'package:appflowy_popover/appflowy_popover.dart';
128
import 'package:dartz/dartz.dart' as dartz;
13-
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
9+
import 'package:flowy_infra_ui/style_widget/text.dart';
10+
import 'package:flowy_infra_ui/widget/spacing.dart';
1411
import 'package:flutter/material.dart';
1512
import 'package:app_flowy/generated/locale_keys.g.dart';
1613
import 'package:easy_localization/easy_localization.dart';
1714
import 'package:flowy_infra/image.dart';
15+
import 'package:app_flowy/workspace/application/view/view_ext.dart';
16+
import 'package:app_flowy/workspace/presentation/home/home_stack.dart';
17+
import 'package:app_flowy/workspace/presentation/home/menu/menu.dart';
18+
import 'package:appflowy_popover/appflowy_popover.dart';
19+
import 'package:flowy_infra_ui/style_widget/icon_button.dart';
1820

1921
class BuiltInPageWidget extends StatefulWidget {
2022
const BuiltInPageWidget({
@@ -103,41 +105,66 @@ class _BuiltInPageWidgetState extends State<BuiltInPageWidget> {
103105
return Positioned(
104106
top: 5,
105107
left: 5,
106-
child: PopoverActionList<_ActionWrapper>(
107-
direction: PopoverDirection.bottomWithCenterAligned,
108-
actions:
109-
_ActionType.values.map((action) => _ActionWrapper(action)).toList(),
110-
buildChild: (controller) {
111-
return FlowyIconButton(
112-
tooltipText: LocaleKeys.tooltip_openMenu.tr(),
113-
width: 25,
114-
height: 30,
108+
child: Row(
109+
mainAxisSize: MainAxisSize.min,
110+
mainAxisAlignment: MainAxisAlignment.center,
111+
children: [
112+
// information
113+
FlowyIconButton(
114+
tooltipText: LocaleKeys.tooltip_referencePage.tr(namedArgs: {
115+
'name': viewPB.layout.name,
116+
}),
117+
width: 24,
118+
height: 24,
115119
iconPadding: const EdgeInsets.all(3),
116-
icon: svgWidget('editor/details'),
117-
onPressed: () => controller.show(),
118-
);
119-
},
120-
onSelected: (action, controller) async {
121-
switch (action.inner) {
122-
case _ActionType.openAsPage:
123-
getIt<MenuSharedState>().latestOpenView = viewPB;
124-
getIt<HomeStackManager>().setPlugin(viewPB.plugin());
125-
break;
126-
case _ActionType.delete:
127-
final transaction = widget.editorState.transaction;
128-
transaction.deleteNode(widget.node);
129-
widget.editorState.apply(transaction);
130-
break;
131-
}
132-
controller.close();
133-
},
120+
icon: svgWidget('common/information'),
121+
),
122+
// Name
123+
const Space(7, 0),
124+
FlowyText.medium(
125+
viewPB.name,
126+
fontSize: 16.0,
127+
),
128+
// setting
129+
const Space(7, 0),
130+
PopoverActionList<_ActionWrapper>(
131+
direction: PopoverDirection.bottomWithCenterAligned,
132+
actions: _ActionType.values
133+
.map((action) => _ActionWrapper(action))
134+
.toList(),
135+
buildChild: (controller) {
136+
return FlowyIconButton(
137+
tooltipText: LocaleKeys.tooltip_openMenu.tr(),
138+
width: 24,
139+
height: 24,
140+
iconPadding: const EdgeInsets.all(3),
141+
icon: svgWidget('common/settings'),
142+
onPressed: () => controller.show(),
143+
);
144+
},
145+
onSelected: (action, controller) async {
146+
switch (action.inner) {
147+
case _ActionType.viewDatabase:
148+
getIt<MenuSharedState>().latestOpenView = viewPB;
149+
getIt<HomeStackManager>().setPlugin(viewPB.plugin());
150+
break;
151+
case _ActionType.delete:
152+
final transaction = widget.editorState.transaction;
153+
transaction.deleteNode(widget.node);
154+
widget.editorState.apply(transaction);
155+
break;
156+
}
157+
controller.close();
158+
},
159+
)
160+
],
134161
),
135162
);
136163
}
137164
}
138165

139166
enum _ActionType {
140-
openAsPage,
167+
viewDatabase,
141168
delete,
142169
}
143170

@@ -151,8 +178,8 @@ class _ActionWrapper extends ActionCell {
151178
@override
152179
String get name {
153180
switch (inner) {
154-
case _ActionType.openAsPage:
155-
return LocaleKeys.tooltip_openAsPage.tr();
181+
case _ActionType.viewDatabase:
182+
return LocaleKeys.tooltip_viewDataBase.tr();
156183
case _ActionType.delete:
157184
return LocaleKeys.disclosureAction_delete.tr();
158185
}

frontend/app_flowy/lib/plugins/document/presentation/plugins/board/board_menu_item.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import 'package:flowy_infra/image.dart';
77
import 'package:flutter/material.dart';
88

99
SelectionMenuItem boardMenuItem = SelectionMenuItem(
10-
name: () => LocaleKeys.board_menuName.tr(),
10+
name: () => LocaleKeys.document_plugins_referencedBoard.tr(),
1111
icon: (editorState, onSelected) {
1212
return svgWidget(
1313
'editor/board',

frontend/app_flowy/lib/plugins/document/presentation/plugins/grid/grid_menu_item.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import 'package:flowy_infra/image.dart';
77
import 'package:flutter/material.dart';
88

99
SelectionMenuItem gridMenuItem = SelectionMenuItem(
10-
name: () => LocaleKeys.grid_menuName.tr(),
10+
name: () => LocaleKeys.document_plugins_referencedGrid.tr(),
1111
icon: (editorState, onSelected) {
1212
return svgWidget(
1313
'editor/grid',

frontend/app_flowy/packages/flowy_infra_ui/example/pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,4 +338,4 @@ packages:
338338
version: "6.1.0"
339339
sdks:
340340
dart: ">=2.18.0 <3.0.0"
341-
flutter: ">=3.0.0"
341+
flutter: ">=3.3.0"

frontend/app_flowy/packages/flowy_infra_ui/pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,4 +324,4 @@ packages:
324324
version: "6.1.0"
325325
sdks:
326326
dart: ">=2.18.0 <3.0.0"
327-
flutter: ">=3.0.0"
327+
flutter: ">=3.3.0"

frontend/app_flowy/pubspec.yaml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,19 +136,19 @@ flutter:
136136
- asset: assets/google_fonts/Poppins/Poppins-Thin.ttf
137137
weight: 200
138138
- asset: assets/google_fonts/Poppins/Poppins-Light.ttf
139-
weight: 300
140-
- asset: assets/google_fonts/Poppins/Poppins-Regular.ttf
139+
weight: 300
140+
- asset: assets/google_fonts/Poppins/Poppins-Regular.ttf
141141
weight: 400
142-
- asset: assets/google_fonts/Poppins/Poppins-Medium.ttf
142+
- asset: assets/google_fonts/Poppins/Poppins-Medium.ttf
143143
weight: 500
144-
- asset: assets/google_fonts/Poppins/Poppins-SemiBold.ttf
144+
- asset: assets/google_fonts/Poppins/Poppins-SemiBold.ttf
145145
weight: 600
146146
- asset: assets/google_fonts/Poppins/Poppins-Bold.ttf
147147
weight: 700
148148
- asset: assets/google_fonts/Poppins/Poppins-Black.ttf
149149
weight: 800
150150
- asset: assets/google_fonts/Poppins/Poppins-ExtraBold.ttf
151-
weight: 900
151+
weight: 900
152152

153153
# To add assets to your application, add an assets section, like this:
154154
assets:
@@ -158,6 +158,7 @@ flutter:
158158
- assets/images/grid/
159159
- assets/images/emoji/
160160
- assets/images/grid/field/
161+
- assets/images/common/
161162
- assets/images/grid/setting/
162163
- assets/translations/
163164
# - images/a_dot_ham.jpeg

0 commit comments

Comments
 (0)