From 59ce413a788ebd9d10193d99b7c74a2bef95f078 Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 27 Jul 2022 12:02:45 +0700 Subject: [PATCH] TF-740 Create OrderListType object --- .../presentation/model/order_list_type.dart | 51 +++++++++++++++++++ lib/l10n/intl_messages.arb | 20 +++++++- lib/main/localizations/app_localizations.dart | 18 +++++++ 3 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 lib/features/composer/presentation/model/order_list_type.dart diff --git a/lib/features/composer/presentation/model/order_list_type.dart b/lib/features/composer/presentation/model/order_list_type.dart new file mode 100644 index 000000000..b960aabb1 --- /dev/null +++ b/lib/features/composer/presentation/model/order_list_type.dart @@ -0,0 +1,51 @@ + +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 OrderListType { + bulletedList, + numberedList; + + String get commandAction { + switch(this) { + case OrderListType.bulletedList: + return 'insertUnorderedList'; + case OrderListType.numberedList: + return 'insertOrderedList'; + } + } + + String getIcon(ImagePaths imagePaths) { + switch (this) { + case OrderListType.bulletedList: + return imagePaths.icOrderBullet; + case OrderListType.numberedList: + return imagePaths.icOrderNumber; + } + } + + String getTooltipButton(BuildContext context) { + switch (this) { + case OrderListType.bulletedList: + return AppLocalizations.of(context).bulletedList; + case OrderListType.numberedList: + return AppLocalizations.of(context).numberedList; + } + } + + Widget buildButtonWidget( + BuildContext context, + ImagePaths imagePaths, + Function(OrderListType type) 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)); + } +} \ No newline at end of file diff --git a/lib/l10n/intl_messages.arb b/lib/l10n/intl_messages.arb index e2d6bea9b..4f5f7111a 100644 --- a/lib/l10n/intl_messages.arb +++ b/lib/l10n/intl_messages.arb @@ -1,5 +1,5 @@ { - "@@last_modified": "2022-07-26T16:21:05.066657", + "@@last_modified": "2022-07-27T12:01:37.344258", "initializing_data": "Initializing data...", "@initializing_data": { "type": "text", @@ -1729,5 +1729,23 @@ "type": "text", "placeholders_order": [], "placeholders": {} + }, + "orderList": "Order list", + "@orderList": { + "type": "text", + "placeholders_order": [], + "placeholders": {} + }, + "numberedList": "Numbered list", + "@numberedList": { + "type": "text", + "placeholders_order": [], + "placeholders": {} + }, + "bulletedList": "Bulleted list", + "@bulletedList": { + "type": "text", + "placeholders_order": [], + "placeholders": {} } } \ No newline at end of file diff --git a/lib/main/localizations/app_localizations.dart b/lib/main/localizations/app_localizations.dart index 624527032..55c0dea1c 100644 --- a/lib/main/localizations/app_localizations.dart +++ b/lib/main/localizations/app_localizations.dart @@ -1773,4 +1773,22 @@ class AppLocalizations { 'Indent', name: 'indent'); } + + String get orderList { + return Intl.message( + 'Order list', + name: 'orderList'); + } + + String get numberedList { + return Intl.message( + 'Numbered list', + name: 'numberedList'); + } + + String get bulletedList { + return Intl.message( + 'Bulleted list', + name: 'bulletedList'); + } } \ No newline at end of file