Commit 12479f4

derdilla <82763757+NobodyForNothing@users.noreply.github.com>
2023-10-03 23:52:50
add custom columns to pdf export settings
Signed-off-by: derdilla <82763757+NobodyForNothing@users.noreply.github.com>
1 parent 378f24f
Changed files (2)
lib/model/storage/export_pdf_settings_store.dart
@@ -1,5 +1,6 @@
 import 'dart:convert';
 
+import 'package:blood_pressure_app/model/export_options.dart';
 import 'package:blood_pressure_app/model/storage/convert_util.dart';
 import 'package:flutter/material.dart';
 
@@ -8,10 +9,12 @@ class PdfExportSettings extends ChangeNotifier {
     bool? exportTitle,
     bool? exportStatistics,
     bool? exportData,
+    bool? exportCustomFields,
     double? headerHeight,
     double? cellHeight,
     double? headerFontSize,
     double? cellFontSize,
+    List<String>? customFields,
   }) {
     if (exportTitle != null) _exportTitle = exportTitle;
     if (exportStatistics != null) _exportStatistics = exportStatistics;
@@ -20,7 +23,8 @@ class PdfExportSettings extends ChangeNotifier {
     if (cellHeight != null) _cellHeight = cellHeight;
     if (headerFontSize != null) _headerFontSize = headerFontSize;
     if (cellFontSize != null) _cellFontSize = cellFontSize;
-
+    if (exportCustomFields != null) _exportCustomFields = exportCustomFields;
+    if (customFields != null) _customFields = customFields;
   }
 
   factory PdfExportSettings.fromMap(Map<String, dynamic> map) => PdfExportSettings(
@@ -31,6 +35,8 @@ class PdfExportSettings extends ChangeNotifier {
     cellHeight: ConvertUtil.parseDouble(map['cellHeight']),
     headerFontSize: ConvertUtil.parseDouble(map['headerFontSize']),
     cellFontSize: ConvertUtil.parseDouble(map['cellFontSize']),
+    exportCustomFields: ConvertUtil.parseBool(map['exportCustomFields']),
+    customFields: ConvertUtil.parseList<String>(map['customFields']),
   );
 
   factory PdfExportSettings.fromJson(String json) {
@@ -49,6 +55,8 @@ class PdfExportSettings extends ChangeNotifier {
     'cellHeight': cellHeight,
     'headerFontSize': headerFontSize,
     'cellFontSize': cellFontSize,
+    'exportCustomFields': exportCustomFields,
+    'customFields': customFields,
   };
 
   String toJson() => jsonEncode(toMap());
@@ -102,5 +110,19 @@ class PdfExportSettings extends ChangeNotifier {
     notifyListeners();
   }
 
-// Procedure for adding more entries described in the settings_store.dart doc comment
+  bool _exportCustomFields = false;
+  bool get exportCustomFields => _exportCustomFields;
+  set exportCustomFields(bool value) {
+    _exportCustomFields = value;
+    notifyListeners();
+  }
+
+  List<String> _customFields = ExportFields.defaultPdf;
+  List<String> get customFields => _customFields;
+  set customFields(List<String> value) {
+    _customFields = value;
+    notifyListeners();
+  }
+
+  // Procedure for adding more entries described in the settings_store.dart doc comment
 }
\ No newline at end of file
test/model/json_serialization_test.dart
@@ -220,6 +220,8 @@ void main() {
         cellHeight: 67.89,
         headerFontSize: 67.89,
         cellFontSize: 67.89,
+        exportCustomFields: true,
+        customFields: ['test1', 'test2'],
       );
       final fromJson = PdfExportSettings.fromJson(initial.toJson());
 
@@ -230,6 +232,8 @@ 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.toJson(), fromJson.toJson());
     });