TF-691 Set overflow default for text is too long on web

This commit is contained in:
dab246
2022-08-04 11:46:13 +07:00
committed by Dat H. Pham
parent 546627b9df
commit 837d058ecb
15 changed files with 56 additions and 8 deletions
@@ -12,4 +12,6 @@ class CommonTextStyle {
static final defaultTextOverFlow = BuildUtils.isWeb static final defaultTextOverFlow = BuildUtils.isWeb
? TextOverflow.fade ? TextOverflow.fade
: TextOverflow.ellipsis; : TextOverflow.ellipsis;
static final defaultSoftWrap = BuildUtils.isWeb ? false : true;
} }
@@ -150,6 +150,7 @@ class ButtonBuilder {
return Text( return Text(
'${_text ?? ''}', '${_text ?? ''}',
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: _textStyle ?? TextStyle(fontSize: 12, color: AppColor.colorTextButton), style: _textStyle ?? TextStyle(fontSize: 12, color: AppColor.colorTextButton),
); );
@@ -1,3 +1,4 @@
import 'package:core/presentation/utils/style_utils.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class RichTextBuilder { class RichTextBuilder {
@@ -34,7 +35,8 @@ class RichTextBuilder {
return RichText( return RichText(
key: _key, key: _key,
maxLines: _maxLines ?? 1, maxLines: _maxLines ?? 1,
overflow: _overflow ?? TextOverflow.ellipsis, softWrap: CommonTextStyle.defaultSoftWrap,
overflow: _overflow ?? CommonTextStyle.defaultTextOverFlow,
text: TextSpan( text: TextSpan(
style: _styleOrigin, style: _styleOrigin,
children: _getSpans(_textOrigin, _wordToStyle, _styleWord))); children: _getSpans(_textOrigin, _wordToStyle, _styleWord)));
@@ -63,6 +63,7 @@ class DropDownButtonWidget<T> extends StatelessWidget {
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: Colors.black.withOpacity(opacity)), color: Colors.black.withOpacity(opacity)),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
)), )),
]) ])
@@ -81,6 +82,7 @@ class DropDownButtonWidget<T> extends StatelessWidget {
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: Colors.black), color: Colors.black),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
)), )),
if (supportSelectionIcon && item == itemSelected) if (supportSelectionIcon && item == itemSelected)
@@ -115,6 +117,7 @@ class DropDownButtonWidget<T> extends StatelessWidget {
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
color: Colors.black.withOpacity(opacity)), color: Colors.black.withOpacity(opacity)),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
)), )),
iconArrowDown ?? SvgPicture.asset(_imagePaths.icDropDown) iconArrowDown ?? SvgPicture.asset(_imagePaths.icDropDown)
@@ -70,6 +70,7 @@ class AttachmentFileComposerBuilder extends StatelessWidget with AppLoaderMixin
child: Text( child: Text(
fileState.fileName, fileState.fileName,
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 14, fontSize: 14,
@@ -87,6 +88,7 @@ class AttachmentFileComposerBuilder extends StatelessWidget with AppLoaderMixin
child: Text( child: Text(
filesize(fileState.fileSize), filesize(fileState.fileSize),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 12, fontSize: 12,
@@ -105,6 +105,7 @@ class DropDownMenuHeaderStyleWidget extends StatelessWidget {
fontWeight: fontWeight, fontWeight: fontWeight,
color: Colors.black), color: Colors.black),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow); overflow: CommonTextStyle.defaultTextOverFlow);
} }
} }
@@ -280,6 +280,7 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
child: Row(children: [ child: Row(children: [
Expanded(child: Text(categories.getTitle(context), Expanded(child: Text(categories.getTitle(context),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle(fontSize: 20, color: Colors.black, fontWeight: FontWeight.bold))), style: const TextStyle(fontSize: 20, color: Colors.black, fontWeight: FontWeight.bold))),
buildIconWeb( buildIconWeb(
@@ -406,6 +407,7 @@ class DestinationPickerView extends GetWidget<DestinationPickerController>
Expanded(child: Text( Expanded(child: Text(
AppLocalizations.of(context).allMailboxes, AppLocalizations.of(context).allMailboxes,
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 15, fontSize: 15,
@@ -79,6 +79,7 @@ class AppBarDestinationPickerBuilder {
return Text( return Text(
_mailboxAction?.getTitle(_context) ?? '', _mailboxAction?.getTitle(_context) ?? '',
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: const TextStyle(fontSize: 20, color: AppColor.colorNameEmail, fontWeight: FontWeight.w700)); style: const TextStyle(fontSize: 20, color: AppColor.colorNameEmail, fontWeight: FontWeight.w700));
@@ -34,6 +34,7 @@ class TopBarDestinationPickerWebBuilder extends StatelessWidget {
child: Text( child: Text(
_mailboxAction?.getTitle(context) ?? '', _mailboxAction?.getTitle(context) ?? '',
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: const TextStyle( style: const TextStyle(
@@ -270,6 +270,7 @@ class MailBoxFolderTileBuilder {
return Text( return Text(
_mailboxNode.item.name?.name ?? '', _mailboxNode.item.name?.name ?? '',
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 15, fontSize: 15,
@@ -147,6 +147,7 @@ class MailboxCreatorView extends GetWidget<MailboxCreatorController> {
Expanded(child: Obx(() => Text( Expanded(child: Obx(() => Text(
controller.selectedMailbox.value?.name?.name ?? AppLocalizations.of(context).default_mailbox, controller.selectedMailbox.value?.name?.name ?? AppLocalizations.of(context).default_mailbox,
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: TextStyle( style: TextStyle(
fontSize: 15, fontSize: 15,
@@ -87,6 +87,7 @@ class AppBarMailboxCreatorBuilder {
title ?? '', title ?? '',
textAlign: TextAlign.center, textAlign: TextAlign.center,
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 20, fontSize: 20,
@@ -82,7 +82,7 @@ class _TextFieldAutoCompleteEmailAddressState
itemCount: listEmailAddress.length, itemCount: listEmailAddress.length,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
final emailAddress = listEmailAddress.elementAt(index); final emailAddress = listEmailAddress.elementAt(index);
return GestureDetector( return InkWell(
onTap: () => onSelected(emailAddress), onTap: () => onSelected(emailAddress),
child: _buildSuggestionItem(context, emailAddress), child: _buildSuggestionItem(context, emailAddress),
); );
@@ -204,6 +204,7 @@ class _TextFieldAutoCompleteEmailAddressState
Text( Text(
emailAddress.asString(), emailAddress.asString(),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
color: Colors.black, color: Colors.black,
@@ -214,6 +215,7 @@ class _TextFieldAutoCompleteEmailAddressState
Text( Text(
emailAddress.emailAddress, emailAddress.emailAddress,
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
color: AppColor.colorHintSearchBar, color: AppColor.colorHintSearchBar,
@@ -379,6 +379,7 @@ class AppBarThreadWidgetBuilder {
child: Text( child: Text(
_currentMailbox?.name?.name.capitalizeFirstEach ?? '', _currentMailbox?.name?.name.capitalizeFirstEach ?? '',
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow, overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 21, fontSize: 21,
@@ -145,11 +145,12 @@ class EmailTileBuilder {
fontWeight: _buildFontForReadEmail())).build() fontWeight: _buildFontForReadEmail())).build()
: Text( : Text(
_getInformationSender(), _getInformationSender(),
softWrap: false, softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
maxLines: 1, maxLines: 1,
style: TextStyle( style: TextStyle(
fontSize: 15, fontSize: 15,
overflow: TextOverflow.fade, overflow: CommonTextStyle.defaultTextOverFlow,
color: _buildTextColorForReadEmail(), color: _buildTextColorForReadEmail(),
fontWeight: _buildFontForReadEmail())) fontWeight: _buildFontForReadEmail()))
), ),
@@ -168,6 +169,8 @@ class EmailTileBuilder {
.getReceivedAt(Localizations.localeOf(_context) .getReceivedAt(Localizations.localeOf(_context)
.toLanguageTag()), .toLanguageTag()),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 13, fontSize: 13,
color: AppColor.colorContentEmail))), color: AppColor.colorContentEmail))),
@@ -197,6 +200,8 @@ class EmailTileBuilder {
: Text( : Text(
_presentationEmail.getEmailTitle(), _presentationEmail.getEmailTitle(),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: TextStyle( style: TextStyle(
fontSize: 13, fontSize: 13,
color: _buildTextColorForReadEmail())) color: _buildTextColorForReadEmail()))
@@ -215,6 +220,8 @@ class EmailTileBuilder {
child: Text( child: Text(
_presentationEmail.mailboxName, _presentationEmail.mailboxName,
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 10, fontSize: 10,
color: AppColor.mailboxTextColor, color: AppColor.mailboxTextColor,
@@ -247,6 +254,8 @@ class EmailTileBuilder {
: Text( : Text(
_presentationEmail.getPartialContent(), _presentationEmail.getPartialContent(),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 13, fontSize: 13,
color: AppColor.colorContentEmail)) color: AppColor.colorContentEmail))
@@ -318,11 +327,12 @@ class EmailTileBuilder {
fontWeight: _buildFontForReadEmail())).build() fontWeight: _buildFontForReadEmail())).build()
: Text( : Text(
_getInformationSender(), _getInformationSender(),
softWrap: false, softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
maxLines: 1, maxLines: 1,
style: TextStyle( style: TextStyle(
fontSize: 15, fontSize: 15,
overflow: TextOverflow.fade, overflow: CommonTextStyle.defaultTextOverFlow,
color: _buildTextColorForReadEmail(), color: _buildTextColorForReadEmail(),
fontWeight: _buildFontForReadEmail())) fontWeight: _buildFontForReadEmail()))
), ),
@@ -352,6 +362,8 @@ class EmailTileBuilder {
: Text( : Text(
_presentationEmail.getEmailTitle(), _presentationEmail.getEmailTitle(),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: TextStyle( style: TextStyle(
fontSize: 13, fontSize: 13,
color: _buildTextColorForReadEmail())) color: _buildTextColorForReadEmail()))
@@ -370,6 +382,8 @@ class EmailTileBuilder {
child: Text( child: Text(
_presentationEmail.mailboxName, _presentationEmail.mailboxName,
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 10, fontSize: 10,
color: AppColor.mailboxTextColor, color: AppColor.mailboxTextColor,
@@ -402,6 +416,8 @@ class EmailTileBuilder {
: Text( : Text(
_presentationEmail.getPartialContent(), _presentationEmail.getPartialContent(),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 13, fontSize: 13,
color: AppColor.colorContentEmail)) color: AppColor.colorContentEmail))
@@ -504,11 +520,12 @@ class EmailTileBuilder {
backgroundColor: AppColor.bgWordSearch)).build() backgroundColor: AppColor.bgWordSearch)).build()
: Text(_getInformationSender(), : Text(_getInformationSender(),
maxLines: 1, maxLines: 1,
softWrap: false, softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: TextStyle( style: TextStyle(
fontSize: 15, fontSize: 15,
color: _buildTextColorForReadEmail(), color: _buildTextColorForReadEmail(),
overflow: TextOverflow.fade, overflow: CommonTextStyle.defaultTextOverFlow,
fontWeight: _buildFontForReadEmail())), fontWeight: _buildFontForReadEmail())),
), ),
const SizedBox(width: 24), const SizedBox(width: 24),
@@ -634,6 +651,8 @@ class EmailTileBuilder {
color: AppColor.backgroundCounterMailboxColor), color: AppColor.backgroundCounterMailboxColor),
child: Text(_presentationEmail.mailboxName, child: Text(_presentationEmail.mailboxName,
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 10, fontSize: 10,
color: AppColor.mailboxTextColor, color: AppColor.mailboxTextColor,
@@ -653,6 +672,8 @@ class EmailTileBuilder {
.getReceivedAt(Localizations.localeOf(_context) .getReceivedAt(Localizations.localeOf(_context)
.toLanguageTag()), .toLanguageTag()),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: TextStyle( style: TextStyle(
fontSize: 13, fontSize: 13,
color: _buildTextColorForReadEmail(), color: _buildTextColorForReadEmail(),
@@ -677,6 +698,8 @@ class EmailTileBuilder {
.getReceivedAt(Localizations.localeOf(_context) .getReceivedAt(Localizations.localeOf(_context)
.toLanguageTag()), .toLanguageTag()),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 13, fontSize: 13,
color: AppColor.colorContentEmail))), color: AppColor.colorContentEmail))),
@@ -708,6 +731,8 @@ class EmailTileBuilder {
fontWeight: _buildFontForReadEmail())).build() fontWeight: _buildFontForReadEmail())).build()
: Text(_presentationEmail.getEmailTitle(), : Text(_presentationEmail.getEmailTitle(),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: TextStyle( style: TextStyle(
fontSize: 13, fontSize: 13,
color: _buildTextColorForReadEmail(), color: _buildTextColorForReadEmail(),
@@ -731,6 +756,8 @@ class EmailTileBuilder {
backgroundColor: AppColor.bgWordSearch)).build() backgroundColor: AppColor.bgWordSearch)).build()
: Text(_presentationEmail.getPartialContent(), : Text(_presentationEmail.getPartialContent(),
maxLines: 1, maxLines: 1,
softWrap: CommonTextStyle.defaultSoftWrap,
overflow: CommonTextStyle.defaultTextOverFlow,
style: const TextStyle( style: const TextStyle(
fontSize: 13, fontSize: 13,
color: AppColor.colorContentEmail, color: AppColor.colorContentEmail,