insertRows method

void insertRows(
  1. List<Map<String, dynamic>> rowsToInsert
)

Insert rows (handles 1 row or many rows)

Implementation

void insertRows(List<Map<String, dynamic>> rowsToInsert) {
  if (rowsToInsert.isEmpty) return;

  print('[TableController] ═══════════════════════════════════════');
  print('[TableController] ➕ insertRows: ${rowsToInsert.length} rows');

  // DEBUG: Log first inserted row's IDs
  if (rowsToInsert.isNotEmpty) {
    final firstRow = rowsToInsert[0];
    print('[TableController] 📋 First inserted row IDs:');
    print('[TableController]   - row_id: ${firstRow['row_id']}');
    print('[TableController]   - temp_row_id: ${firstRow['temp_row_id']}');
    print('[TableController]   - _id: ${firstRow['_id']}');
    print('[TableController]   - Keys: ${firstRow.keys.toList()}');
  }

  final updatedOriginalRows = [..._state.originalRows, ...rowsToInsert];
  final updatedRegularRows = [..._state.regularRows, ...rowsToInsert];
  final updatedVisibleRows = [..._state.visibleRows, ...rowsToInsert];

  _state = _state.copyWith(
    originalRows: updatedOriginalRows,
    regularRows: updatedRegularRows,
    visibleRows: updatedVisibleRows,
    totalRowCount: updatedVisibleRows.length,
  );

  notifyListeners();
  print('[TableController] ✅ Inserted ${rowsToInsert.length} rows');
  print('[TableController] ═══════════════════════════════════════');
}