Skip to content

Commit 9bc2bc8

Browse files
committed
chore: make select option cell selectable
1 parent 8894e9c commit 9bc2bc8

File tree

3 files changed

+33
-31
lines changed

3 files changed

+33
-31
lines changed

frontend/app_flowy/lib/plugins/board/presentation/card/board_select_option_cell.dart

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,23 @@ class _BoardSelectOptionCellState extends State<BoardSelectOptionCell> {
5656
(option) => SelectOptionTag.fromOption(
5757
context: context,
5858
option: option,
59+
onSelected: () {
60+
SelectOptionCellEditor.show(
61+
context: context,
62+
cellController: widget.cellControllerBuilder.build()
63+
as GridSelectOptionCellController,
64+
);
65+
},
5966
),
6067
)
6168
.toList();
6269

6370
return IntrinsicHeight(
64-
child: Stack(
65-
alignment: AlignmentDirectional.center,
66-
fit: StackFit.expand,
67-
children: [
68-
Padding(
69-
padding: const EdgeInsets.symmetric(vertical: 6),
70-
child: Wrap(spacing: 4, runSpacing: 2, children: children),
71-
),
72-
_SelectOptionDialog(
73-
controller: widget.cellControllerBuilder.build(),
74-
),
75-
],
71+
child: Padding(
72+
padding: const EdgeInsets.symmetric(vertical: 6),
73+
child: SizedBox.expand(
74+
child: Wrap(spacing: 4, runSpacing: 2, children: children),
75+
),
7676
),
7777
);
7878
}
@@ -98,12 +98,13 @@ class _SelectOptionDialog extends StatelessWidget {
9898

9999
@override
100100
Widget build(BuildContext context) {
101-
return InkWell(onTap: () {
102-
SelectOptionCellEditor.show(
103-
context,
104-
_controller,
105-
() {},
106-
);
107-
});
101+
return SizedBox(
102+
child: InkWell(onTap: () {
103+
SelectOptionCellEditor.show(
104+
context: context,
105+
cellController: _controller,
106+
);
107+
}),
108+
);
108109
}
109110
}

frontend/app_flowy/lib/plugins/grid/presentation/widgets/cell/select_option_cell/select_option_cell.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,10 @@ class SelectOptionWrap extends StatelessWidget {
183183
InkWell(onTap: () {
184184
onFocus?.call(true);
185185
SelectOptionCellEditor.show(
186-
context,
187-
cellControllerBuilder.build() as GridSelectOptionCellController,
188-
() => onFocus?.call(false),
186+
context: context,
187+
cellController:
188+
cellControllerBuilder.build() as GridSelectOptionCellController,
189+
onDismissed: () => onFocus?.call(false),
189190
);
190191
}),
191192
],

frontend/app_flowy/lib/plugins/grid/presentation/widgets/cell/select_option_cell/select_option_editor.dart

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ const double _editorPannelWidth = 300;
2626

2727
class SelectOptionCellEditor extends StatelessWidget with FlowyOverlayDelegate {
2828
final GridSelectOptionCellController cellController;
29-
final VoidCallback onDismissed;
29+
final VoidCallback? onDismissed;
3030

3131
const SelectOptionCellEditor({
3232
required this.cellController,
33-
required this.onDismissed,
33+
this.onDismissed,
3434
Key? key,
3535
}) : super(key: key);
3636

@@ -58,14 +58,14 @@ class SelectOptionCellEditor extends StatelessWidget with FlowyOverlayDelegate {
5858
);
5959
}
6060

61-
static void show(
62-
BuildContext context,
63-
GridSelectOptionCellController cellContext,
64-
VoidCallback onDismissed,
65-
) {
61+
static void show({
62+
required BuildContext context,
63+
required GridSelectOptionCellController cellController,
64+
VoidCallback? onDismissed,
65+
}) {
6666
SelectOptionCellEditor.remove(context);
6767
final editor = SelectOptionCellEditor(
68-
cellController: cellContext,
68+
cellController: cellController,
6969
onDismissed: onDismissed,
7070
);
7171

@@ -94,7 +94,7 @@ class SelectOptionCellEditor extends StatelessWidget with FlowyOverlayDelegate {
9494
bool asBarrier() => true;
9595

9696
@override
97-
void didRemove() => onDismissed();
97+
void didRemove() => onDismissed?.call();
9898
}
9999

100100
class _OptionList extends StatelessWidget {

0 commit comments

Comments
 (0)