LCOV - code coverage report
Current view: top level - lib/model/grid - grid_entry.dart (source / functions) Hit Total Coverage
Test: lcov.info Lines: 28 28 100.0 %
Date: 2021-11-04 14:59:40 Functions: 0 0 -

          Line data    Source code
       1             : part of apptive_grid_model;
       2             : 
       3             : /// Model for a Cell Entry in a Grid
       4             : class GridEntry {
       5             :   /// Creates a GridEntry
       6           6 :   GridEntry(this.field, this.data);
       7             : 
       8             :   /// Creates a GridEntry with value [jsonData]
       9             :   ///
      10             :   /// [field.type] is used for determining the [DataEntity] runtimeType of [data]
      11           6 :   factory GridEntry.fromJson(
      12             :     dynamic jsonData,
      13             :     GridField field,
      14             :     dynamic schema,
      15             :   ) {
      16             :     DataEntity dataEntity;
      17           6 :     switch (field.type) {
      18           6 :       case DataType.text:
      19           4 :         dataEntity = StringDataEntity(jsonData);
      20             :         break;
      21           3 :       case DataType.dateTime:
      22           1 :         dataEntity = DateTimeDataEntity.fromJson(jsonData);
      23             :         break;
      24           3 :       case DataType.date:
      25           1 :         dataEntity = DateDataEntity.fromJson(jsonData);
      26             :         break;
      27           3 :       case DataType.integer:
      28           1 :         dataEntity = IntegerDataEntity(jsonData);
      29             :         break;
      30           3 :       case DataType.checkbox:
      31           1 :         dataEntity = BooleanDataEntity(jsonData);
      32             :         break;
      33           3 :       case DataType.selectionBox:
      34           1 :         dataEntity = EnumDataEntity(
      35             :           value: jsonData,
      36           2 :           options: schema['enum'].cast<String>(),
      37             :         );
      38             :         break;
      39           2 :       case DataType.crossReference:
      40           1 :         dataEntity = CrossReferenceDataEntity.fromJson(
      41             :           jsonValue: jsonData,
      42           1 :           gridUri: schema['gridUri'],
      43             :         );
      44             :         break;
      45           1 :       case DataType.decimal:
      46           1 :         dataEntity = DecimalDataEntity(jsonData);
      47             :         break;
      48             :     }
      49           6 :     return GridEntry(field, dataEntity);
      50             :   }
      51             : 
      52             :   /// Column this Entry belongs to
      53             :   final GridField field;
      54             : 
      55             :   /// Data that is held in the cell
      56             :   final DataEntity data;
      57             : 
      58           3 :   @override
      59             :   String toString() {
      60           9 :     return 'GridEntry(field: $field, data: $data)';
      61             :   }
      62             : 
      63           3 :   @override
      64             :   bool operator ==(Object other) {
      65          21 :     return other is GridEntry && field == other.field && data == other.data;
      66             :   }
      67             : 
      68           1 :   @override
      69           2 :   int get hashCode => toString().hashCode;
      70             : }

Generated by: LCOV version 1.15