Commit 6be0d67

derdilla <82763757+NobodyForNothing@users.noreply.github.com>
2023-12-05 18:38:35
fix compilation errors
Signed-off-by: derdilla <82763757+NobodyForNothing@users.noreply.github.com>
1 parent 1892e64
Changed files (4)
lib/components/export_item_order.dart
@@ -1,16 +1,10 @@
 
 import 'dart:async';
 
-import 'package:badges/badges.dart' as badges;
-import 'package:blood_pressure_app/components/consistent_future_builder.dart';
-import 'package:blood_pressure_app/model/export_import/legacy_column.dart';
-import 'package:blood_pressure_app/model/export_options.dart';
-import 'package:blood_pressure_app/model/storage/storage.dart';
-import 'package:blood_pressure_app/screens/subsettings/export_column_data.dart';
+import 'package:blood_pressure_app/model/export_import/column.dart';
 import 'package:flutter/material.dart';
-import 'package:flutter_gen/gen_l10n/app_localizations.dart';
-import 'package:provider/provider.dart';
 
+@Deprecated("TODO: repalace")
 class ExportItemsCustomizer extends StatefulWidget {
   final List<ExportColumn> shownItems;
   final List<ExportColumn> disabledItems;
@@ -25,21 +19,17 @@ class ExportItemsCustomizer extends StatefulWidget {
 
 class _ExportItemsCustomizerState extends State<ExportItemsCustomizer> {
   @override
-  Widget build(BuildContext context) {
-    return ConsistentFutureBuilder(
-      future: ExportConfigurationModel.get(AppLocalizations.of(context)!),
-      cacheFuture: true,
-      onData: (BuildContext context, ExportConfigurationModel result) {
-        return _buildAddItemBadge(context, result,
-          child: _buildManagePresetsBadge(context, result,
-            child:_buildList(context, result)
-          )
-        );
-      },
-    );
-  }
+  Widget build(BuildContext context) => Text('TODO - ExportItemsCustomizer');
+/* => Consumer<ExportColumnsManager>(
+    builder: (context, manager, child) => _buildAddItemBadge(context,
+        child: _buildManagePresetsBadge(context, manager,
+            child: _buildList(context, manager)
+        )
+    )
+  );
 
-  Container _buildList(BuildContext context, ExportConfigurationModel exportConfigModel) {
+
+  Container _buildList(BuildContext context, ExportColumnsManager manager) {
     return Container(
         margin: const EdgeInsets.all(25),
         padding: const EdgeInsets.all(20),
@@ -53,7 +43,7 @@ class _ExportItemsCustomizerState extends State<ExportItemsCustomizer> {
           shrinkWrap: true,
           onReorder: _onReorderList,
           children: <Widget>[
-            for (int i = 0; i < widget.shownItems.length; i += 1)
+            for (int i = 0; i < manger.shownItems.length; i += 1)
               ListTile(
                   key: Key('l_${widget.shownItems[i].internalName}'),
                   title: Text(widget.shownItems[i].columnTitle),
@@ -77,7 +67,7 @@ class _ExportItemsCustomizerState extends State<ExportItemsCustomizer> {
       );
   }
 
-  Widget _buildAddItemBadge(BuildContext context, ExportConfigurationModel result, {required Widget child}) {
+  Widget _buildAddItemBadge(BuildContext context, {required Widget child}) {
     return badges.Badge(
       badgeStyle: badges.BadgeStyle(
         badgeColor: Theme.of(context).colorScheme.background,
@@ -101,7 +91,7 @@ class _ExportItemsCustomizerState extends State<ExportItemsCustomizer> {
     );
   }
 
-  Widget _buildManagePresetsBadge(BuildContext context, ExportConfigurationModel result, {required Widget child}) {
+  Widget _buildManagePresetsBadge(BuildContext context, ExportColumnsManager manager, {required Widget child}) {
     final exportConfigurations = result.exportConfigurations;
     return badges.Badge(
       position: badges.BadgePosition.topEnd(top: 3, end: 3),
@@ -232,4 +222,6 @@ class _ExportItemsCustomizerState extends State<ExportItemsCustomizer> {
 
     widget.onReorder(widget.shownItems, widget.disabledItems);
   }
+
+   */
 }
lib/screens/subsettings/export_import_screen.dart
@@ -1,10 +1,10 @@
 import 'package:blood_pressure_app/components/consistent_future_builder.dart';
 import 'package:blood_pressure_app/components/diabled.dart';
 import 'package:blood_pressure_app/components/display_interval_picker.dart';
-import 'package:blood_pressure_app/components/export_item_order.dart';
 import 'package:blood_pressure_app/components/settings/settings_widgets.dart';
 import 'package:blood_pressure_app/model/blood_pressure.dart';
 import 'package:blood_pressure_app/model/export_import.dart';
+import 'package:blood_pressure_app/model/export_import/export_configuration.dart';
 import 'package:blood_pressure_app/model/export_import/legacy_column.dart';
 import 'package:blood_pressure_app/model/export_options.dart';
 import 'package:blood_pressure_app/model/storage/storage.dart';
@@ -184,6 +184,8 @@ class ExportFieldCustomisationSetting extends StatelessWidget {
       future: ExportConfigurationModel.get(localizations),
       lastChildWhileWaiting: true,
       onData: (context, configurationModel) {
+        return const Text('TODO - ExportFieldCustomisationSetting');
+        /* TODO: rewrite with dropdown and reorderable list view, consider extracting this class into file
         return Consumer<ExportSettings>(builder: (context, settings, child) {
           final formats = configurationModel.availableFormats.toSet();
           List<ExportColumn> activeFields = configurationModel
@@ -214,6 +216,7 @@ class ExportFieldCustomisationSetting extends StatelessWidget {
             ],
           );
         });
+       */
       }
     );
   }
@@ -293,9 +296,10 @@ class _ExportWarnBannerState extends State<ExportWarnBanner> {
                 if (ExportFormat.db == exportSettings.exportFormat) {
                   // When exporting as database no wrong configuration is possible
                 } else if (_showWarnBanner && _isExportable(exportSettings, csvExportSettings,
-                    fieldSettings.exportCustomFields, missingAttributes)) {
+                    fieldSettings.exportFieldsConfiguration, missingAttributes)) {
                   message = localizations.exportWarnConfigNotImportable;
-                } else if (_showWarnBanner && fieldSettings.exportCustomFields && missingAttributes.isNotEmpty) {
+                } else if (_showWarnBanner &&
+                    fieldSettings.exportFieldsConfiguration.activePreset != ExportImportPreset.bloodPressureApp && missingAttributes.isNotEmpty) {
                   message = localizations.exportWarnNotEveryFieldExported(
                       missingAttributes.length, missingAttributes.map((e) => e.localize(localizations)).join(', '));
                 }
@@ -321,10 +325,10 @@ class _ExportWarnBannerState extends State<ExportWarnBanner> {
   }
 }
 
-bool _isExportable(ExportSettings exportSettings, CsvExportSettings csvExportSettings, bool exportCustomEntries, Set<RowDataFieldType> missingAttributes) {
+bool _isExportable(ExportSettings exportSettings, CsvExportSettings csvExportSettings, ActiveExportColumnConfiguration exportConfig, Set<RowDataFieldType> missingAttributes) {
   return ((ExportFormat.pdf == exportSettings.exportFormat) ||
       csvExportSettings.exportHeadline == false ||
-      exportCustomEntries &&
+      // exportCustomEntries && TODO: replace or rewrite method?
           missingAttributes.contains(RowDataFieldType.timestamp) ||
       ![',', '|'].contains(csvExportSettings.fieldDelimiter) ||
       !['"', '\''].contains(csvExportSettings.textDelimiter));
test/model/json_serialization_test.dart
@@ -1,4 +1,5 @@
 
+import 'package:blood_pressure_app/model/export_import/export_configuration.dart';
 import 'package:blood_pressure_app/model/horizontal_graph_line.dart';
 import 'package:blood_pressure_app/model/storage/export_csv_settings_store.dart';
 import 'package:blood_pressure_app/model/storage/export_pdf_settings_store.dart';
@@ -180,16 +181,17 @@ void main() {
         fieldDelimiter: 'asdfghjklö',
         textDelimiter: 'asdfghjklö2',
         exportHeadline: false,
-        exportCustomFields: true,
-        customFields: ['test1', 'test2'],
+        exportFieldsConfiguration: ActiveExportColumnConfiguration(
+          activePreset: ExportImportPreset.myHeart,
+          userSelectedColumnIds: ['a', 'b', 'c'],
+        ),
       );
       final fromJson = CsvExportSettings.fromJson(initial.toJson());
 
       expect(initial.fieldDelimiter, fromJson.fieldDelimiter);
       expect(initial.textDelimiter, fromJson.textDelimiter);
       expect(initial.exportHeadline, fromJson.exportHeadline);
-      expect(initial.exportCustomFields, fromJson.exportCustomFields);
-      expect(initial.customFields, fromJson.customFields);
+      expect(initial.exportFieldsConfiguration.toJson(), fromJson.exportFieldsConfiguration.toJson());
 
       expect(initial.toJson(), fromJson.toJson());
     });
@@ -210,8 +212,7 @@ void main() {
       expect(v1.fieldDelimiter, CsvExportSettings().fieldDelimiter);
       expect(v2.exportHeadline, CsvExportSettings().exportHeadline);
       expect(v3.textDelimiter, CsvExportSettings().textDelimiter);
-      expect(v3.exportCustomFields, CsvExportSettings().exportCustomFields);
-      expect(v3.customFields, CsvExportSettings().customFields);
+      expect(v3.exportFieldsConfiguration.toJson(), CsvExportSettings().exportFieldsConfiguration.toJson());
     });
   });
 
@@ -225,8 +226,10 @@ void main() {
         cellHeight: 67.89,
         headerFontSize: 67.89,
         cellFontSize: 67.89,
-        exportCustomFields: true,
-        customFields: ['test1', 'test2'],
+        exportFieldsConfiguration: ActiveExportColumnConfiguration(
+          activePreset: ExportImportPreset.myHeart,
+          userSelectedColumnIds: ['a', 'b', 'c'],
+        ),
       );
       final fromJson = PdfExportSettings.fromJson(initial.toJson());
 
@@ -237,8 +240,7 @@ void main() {
       expect(initial.cellHeight, fromJson.cellHeight);
       expect(initial.headerFontSize, fromJson.headerFontSize);
       expect(initial.cellFontSize, fromJson.cellFontSize);
-      expect(initial.exportCustomFields, fromJson.exportCustomFields);
-      expect(initial.customFields, fromJson.customFields);
+      expect(initial.exportFieldsConfiguration.toJson(), fromJson.exportFieldsConfiguration.toJson());
 
       expect(initial.toJson(), fromJson.toJson());
     });
test/ui/navigation_test.dart
@@ -5,6 +5,7 @@ import 'package:blood_pressure_app/model/blood_pressure.dart';
 import 'package:blood_pressure_app/model/export_import/legacy_column.dart';
 import 'package:blood_pressure_app/model/ram_only_implementations.dart';
 import 'package:blood_pressure_app/model/storage/db/config_dao.dart';
+import 'package:blood_pressure_app/model/storage/export_columns_store.dart';
 import 'package:blood_pressure_app/model/storage/export_csv_settings_store.dart';
 import 'package:blood_pressure_app/model/storage/export_pdf_settings_store.dart';
 import 'package:blood_pressure_app/model/storage/export_settings_store.dart';
@@ -120,4 +121,6 @@ class MockConfigDao implements ConfigDao {
     columns = {};
   }
 
+  @override
+  Future<ExportColumnsManager> loadExportColumnsManager(int profileID) async => ExportColumnsManager();
 }