TF-738 Create ParagraphType
This commit is contained in:
@@ -0,0 +1,79 @@
|
|||||||
|
|
||||||
|
import 'package:core/core.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
|
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||||
|
|
||||||
|
enum ParagraphType {
|
||||||
|
alignLeft,
|
||||||
|
alignRight,
|
||||||
|
alignCenter,
|
||||||
|
justify,
|
||||||
|
indent,
|
||||||
|
outdent;
|
||||||
|
|
||||||
|
String get commandAction {
|
||||||
|
switch(this) {
|
||||||
|
case ParagraphType.alignLeft:
|
||||||
|
return 'justifyLeft';
|
||||||
|
case ParagraphType.alignRight:
|
||||||
|
return 'justifyRight';
|
||||||
|
case ParagraphType.alignCenter:
|
||||||
|
return 'justifyCenter';
|
||||||
|
case ParagraphType.justify:
|
||||||
|
return 'justifyFull';
|
||||||
|
case ParagraphType.indent:
|
||||||
|
return 'indent';
|
||||||
|
case ParagraphType.outdent:
|
||||||
|
return 'outdent';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String getIcon(ImagePaths imagePaths) {
|
||||||
|
switch (this) {
|
||||||
|
case ParagraphType.alignLeft:
|
||||||
|
return imagePaths.icAlignLeft;
|
||||||
|
case ParagraphType.alignRight:
|
||||||
|
return imagePaths.icAlignRight;
|
||||||
|
case ParagraphType.alignCenter:
|
||||||
|
return imagePaths.icAlignCenter;
|
||||||
|
case ParagraphType.justify:
|
||||||
|
return imagePaths.icAlignJustify;
|
||||||
|
case ParagraphType.indent:
|
||||||
|
return imagePaths.icAlignIndent;
|
||||||
|
case ParagraphType.outdent:
|
||||||
|
return imagePaths.icAlignOutdent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String getTooltipButton(BuildContext context) {
|
||||||
|
switch (this) {
|
||||||
|
case ParagraphType.alignLeft:
|
||||||
|
return AppLocalizations.of(context).alignLeft;
|
||||||
|
case ParagraphType.alignRight:
|
||||||
|
return AppLocalizations.of(context).alignRight;
|
||||||
|
case ParagraphType.alignCenter:
|
||||||
|
return AppLocalizations.of(context).alignCenter;
|
||||||
|
case ParagraphType.justify:
|
||||||
|
return AppLocalizations.of(context).justifyFull;
|
||||||
|
case ParagraphType.indent:
|
||||||
|
return AppLocalizations.of(context).indent;
|
||||||
|
case ParagraphType.outdent:
|
||||||
|
return AppLocalizations.of(context).outdent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget buildButtonWidget(
|
||||||
|
BuildContext context,
|
||||||
|
ImagePaths imagePaths,
|
||||||
|
Function(ParagraphType paragraph) onActionCallback
|
||||||
|
) {
|
||||||
|
return buildIconWeb(
|
||||||
|
icon: SvgPicture.asset(getIcon(imagePaths)),
|
||||||
|
iconPadding: const EdgeInsets.symmetric(vertical: 8, horizontal: 5),
|
||||||
|
minSize: 30,
|
||||||
|
iconSize: 30,
|
||||||
|
tooltip: getTooltipButton(context),
|
||||||
|
onTap: () => onActionCallback.call(this));
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user