loadFromMap method

void loadFromMap(
  1. Map<String, dynamic> data
)

Implementation

void loadFromMap(Map<String, dynamic> data) {
  batch(() {
    // Clear existing tables
    for (var table in _tables.values) {
      table.removeListener(_onTableChanged);
      table.dispose();
    }
    _tables.clear();

    // Load new tables
    for (var entry in data.entries) {
      final tableName = entry.key;
      final tableData = entry.value;

      if (tableData is List) {
        final table = CyberDataTable(tableName: tableName);
        _tables[tableName] = table;
        table.addListener(_onTableChanged);

        final rows = tableData
            .map((item) => item as Map<String, dynamic>)
            .toList();
        table.loadData(rows);
      } else if (tableData is Map) {
        final table = CyberDataTable(tableName: tableName);
        _tables[tableName] = table;
        table.addListener(_onTableChanged);
        table.loadData([tableData as Map<String, dynamic>]);
      }
    }
  });
}