fix: overflow of SelectOptionTagCell

This commit is contained in:
appflowy 2022-05-22 13:26:41 +08:00
parent 1b5b8f19d7
commit f521c18512
4 changed files with 26 additions and 64 deletions

View File

@ -87,7 +87,7 @@ class SelectOptionTag extends StatelessWidget {
Widget build(BuildContext context) {
return ChoiceChip(
pressElevation: 1,
label: FlowyText.medium(name, fontSize: 12),
label: FlowyText.medium(name, fontSize: 12, overflow: TextOverflow.ellipsis),
selectedColor: color,
backgroundColor: color,
labelPadding: const EdgeInsets.symmetric(horizontal: 6),
@ -130,11 +130,18 @@ class SelectOptionTagCell extends StatelessWidget {
child: InkWell(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 3),
child: Row(children: [
SelectOptionTag.fromSelectOption(context: context, option: option),
const Spacer(),
...children,
]),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Flexible(
fit: FlexFit.loose,
flex: 2,
child: SelectOptionTag.fromSelectOption(context: context, option: option),
),
const Spacer(),
...children,
],
),
),
onTap: () => onSelected(option),
),

View File

@ -225,7 +225,18 @@ class _SelectOptionCell extends StatelessWidget {
height: GridSize.typeOptionItemHeight,
child: Row(
children: [
Expanded(child: _body(theme, context)),
Flexible(
fit: FlexFit.loose,
child: SelectOptionTagCell(
option: option,
onSelected: (option) {
context.read<SelectOptionCellEditorBloc>().add(SelectOptionEditorEvent.selectOption(option.id));
},
children: [
if (isSelected) svgWidget("grid/checkmark"),
],
),
),
FlowyIconButton(
width: 30,
onPressed: () => _showEditPannel(context),
@ -237,18 +248,6 @@ class _SelectOptionCell extends StatelessWidget {
);
}
Widget _body(AppTheme theme, BuildContext context) {
return SelectOptionTagCell(
option: option,
onSelected: (option) {
context.read<SelectOptionCellEditorBloc>().add(SelectOptionEditorEvent.selectOption(option.id));
},
children: [
if (isSelected) svgWidget("grid/checkmark"),
],
);
}
void _showEditPannel(BuildContext context) {
final pannel = SelectOptionTypeOptionEditor(
option: option,

View File

@ -1,44 +0,0 @@
import 'package:app_flowy/startup/startup.dart';
import 'package:app_flowy/workspace/application/grid/prelude.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
class NumberCell extends StatefulWidget {
final GridCell cellData;
const NumberCell({
required this.cellData,
Key? key,
}) : super(key: key);
@override
State<NumberCell> createState() => _NumberCellState();
}
class _NumberCellState extends State<NumberCell> {
late NumberCellBloc _cellBloc;
@override
void initState() {
_cellBloc = getIt<NumberCellBloc>(param1: widget.cellData);
super.initState();
}
@override
Widget build(BuildContext context) {
return BlocProvider.value(
value: _cellBloc,
child: BlocBuilder<NumberCellBloc, NumberCellState>(
builder: (context, state) {
return Container();
},
),
);
}
@override
Future<void> dispose() async {
_cellBloc.close();
super.dispose();
}
}

View File

@ -67,7 +67,7 @@ class _RowDetailPageState extends State<RowDetailPage> {
return bloc;
},
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 80, vertical: 40),
padding: const EdgeInsets.symmetric(horizontal: 40, vertical: 20),
child: Column(
children: [
SizedBox(