TF-3671 Fix all composer interaction are blocked without network (#3682)
This commit is contained in:
@@ -119,6 +119,7 @@ class _WebEditorState extends State<WebEditorWidget> {
|
||||
shouldEnsureVisible: true,
|
||||
hint: '',
|
||||
darkMode: false,
|
||||
cacheHTMLAssetOffline: true,
|
||||
initialText: widget.content,
|
||||
customBodyCssStyle: HtmlUtils.customCssStyleHtmlEditor(
|
||||
direction: widget.direction,
|
||||
|
||||
@@ -504,6 +504,7 @@ class IdentityCreatorView extends GetWidget<IdentityCreatorController>
|
||||
shouldEnsureVisible: true,
|
||||
hint: '',
|
||||
darkMode: false,
|
||||
cacheHTMLAssetOffline: true,
|
||||
initialText: initContent.isEmpty ? null : initContent,
|
||||
disableDragAndDrop: true,
|
||||
spellCheck: true,
|
||||
|
||||
@@ -480,6 +480,7 @@ class VacationView extends GetWidget<VacationController> with RichTextButtonMixi
|
||||
htmlEditorOptions: html_editor_browser.HtmlEditorOptions(
|
||||
hint: '',
|
||||
darkMode: false,
|
||||
cacheHTMLAssetOffline: true,
|
||||
initialText: controller.vacationMessageHtmlText,
|
||||
spellCheck: true,
|
||||
customBodyCssStyle: HtmlUtils.customCssStyleHtmlEditor(direction: AppUtils.getCurrentDirection(context))
|
||||
|
||||
+4
-1
@@ -16,6 +16,7 @@ import 'package:tmail_ui_user/main/pages/app_pages.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
import 'package:tmail_ui_user/main/utils/asset_preloader.dart';
|
||||
import 'package:url_strategy/url_strategy.dart';
|
||||
import 'package:worker_manager/worker_manager.dart';
|
||||
|
||||
@@ -33,7 +34,9 @@ Future<void> runTmail() async {
|
||||
MainBindings().dependencies(),
|
||||
HiveCacheConfig.instance.setUp(),
|
||||
Executor().warmUp(log: BuildUtils.isDebugMode),
|
||||
AppUtils.loadEnvFile()
|
||||
AppUtils.loadEnvFile(),
|
||||
if (PlatformInfo.isWeb)
|
||||
AssetPreloader.preloadHtmlEditorAssets(),
|
||||
]);
|
||||
await HiveCacheConfig.instance.initializeEncryptionKey();
|
||||
|
||||
|
||||
@@ -7,10 +7,13 @@ import 'package:tmail_ui_user/features/login/data/network/config/oidc_constant.d
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class AppConfig {
|
||||
const AppConfig._();
|
||||
|
||||
static const int defaultMinInputLengthAutocomplete = 3;
|
||||
static const int warningAttachmentFileSizeInMegabytes = 10;
|
||||
static const int defaultLimitAutocomplete = 8;
|
||||
|
||||
static const String envFileName = 'env.file';
|
||||
static const String appDashboardConfigurationPath = "configurations/app_dashboard.json";
|
||||
static const String appFCMConfigurationPath = "configurations/env.fcm";
|
||||
static const String iOSKeychainSharingGroupId = 'KUT463DS29.com.linagora.ios.teammail.shared';
|
||||
|
||||
@@ -11,17 +11,16 @@ import 'package:tmail_ui_user/main/utils/app_config.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
|
||||
class AppUtils {
|
||||
|
||||
static const String envFileName = 'env.file';
|
||||
const AppUtils._();
|
||||
|
||||
static Future<void> loadEnvFile() async {
|
||||
await dotenv.load(fileName: envFileName);
|
||||
await dotenv.load(fileName: AppConfig.envFileName);
|
||||
final mapEnvData = Map<String, String>.from(dotenv.env);
|
||||
try {
|
||||
await AppUtils.loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData);
|
||||
await loadFcmConfigFileToEnv(currentMapEnvData: mapEnvData);
|
||||
} catch (e) {
|
||||
logError('AppUtils::loadEnvFile:loadFcmConfigFileToEnv: Exception = $e');
|
||||
await dotenv.load(fileName: envFileName);
|
||||
await dotenv.load(fileName: AppConfig.envFileName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:html_editor_enhanced/utils/html_editor_constants.dart';
|
||||
import 'package:html_editor_enhanced/utils/html_editor_utils.dart';
|
||||
|
||||
class AssetPreloader {
|
||||
const AssetPreloader._();
|
||||
|
||||
static Future<void> preloadHtmlEditorAssets() async {
|
||||
try {
|
||||
await Future.wait([
|
||||
HtmlEditorUtils.loadAsset(HtmlEditorConstants.summernoteHtmlAssetPath),
|
||||
HtmlEditorUtils.loadAsset(HtmlEditorConstants.jqueryAssetPath),
|
||||
HtmlEditorUtils.loadAsset(HtmlEditorConstants.summernoteCSSAssetPath),
|
||||
HtmlEditorUtils.loadAsset(HtmlEditorConstants.summernoteJSAssetPath),
|
||||
HtmlEditorUtils.loadAsset(HtmlEditorConstants.summernoteFontEOTAssetPath),
|
||||
HtmlEditorUtils.loadAsset(HtmlEditorConstants.summernoteFontTTFAssetPath),
|
||||
]);
|
||||
} catch (e) {
|
||||
logError('AssetPreloader::preloadHtmlEditorAssets:Exception = $e');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user