convertJsonStringTableHeaders method

List<Map<String, dynamic>>? convertJsonStringTableHeaders()

Implementation

List<Map<String, dynamic>>? convertJsonStringTableHeaders() {
  // Try to get data from tabsJson first, then fallback to instance templateData
  final tabData = tabsJson[screen];
  final currentTemplateData = this.templateData[screen];

  if (tabData != null || currentTemplateData != null) {
    try {
      dynamic positionJsonDecode = tabData ?? currentTemplateData;

      if (positionJsonDecode['headers'] == null) {
        return null;
      }

      final headers = (positionJsonDecode['headers'] as Map)['data'] as List;
      noOfTableRows.value =
          ((positionJsonDecode['headers'] as Map)['tableRows'] as int)
              .toString();

      return headers.map<Map<String, dynamic>>((item) {
        return {
          'index': item['index'],
          'label': item['label'],
          'name': item['name'],
          'value': item['value'],
          'type': item['type'],
          'width': item['width'] as double,
          'alignment': item['alignment'],
        };
      }).toList();
    } catch (e) {
      return null;
    }
  }
  return null;
}