# TESTING EXPANDABLE DETAIL - RWL SHIPMENT

## STATUS SAAT INI
✅ **Date range sudah muncul di localhost**
❌ **Expandable detail tidak menampilkan data**

## FILES UNTUK TESTING EXPANDABLE DETAIL

### 1. Test AJAX Detail
```
http://localhost/dsp-report/rwl/module/report/test_ajax_detail.php
```
**Fungsi:** Test AJAX connection dan response untuk detail shipment

### 2. Test Direct AJAX Access
```
http://localhost/dsp-report/rwl/module/report/ajax_shipment_detail.php
```
**Method:** POST
**Data:** `shipment_id=17072025&action=get_detail`

### 3. File Utama
```
http://localhost/dsp-report/rwl/module/report/shipment_detail.php
```
**Fungsi:** File utama dengan expandable detail yang sudah diperbaiki

## LANGKAH DEBUGGING EXPANDABLE DETAIL

### Step 1: Test AJAX Connection
1. Buka `test_ajax_detail.php`
2. Masukkan Shipment ID: **17072025** (dari screenshot)
3. Klik "Test AJAX"
4. Cek response di console

### Step 2: Test Direct AJAX
1. Buka `test_ajax_detail.php`
2. Klik "Test Direct PHP"
3. Cek response di tab baru

### Step 3: Test di File Utama
1. Buka `shipment_detail.php`
2. Gunakan filter untuk mencari data
3. Klik tombol expand (+) di kolom Action
4. Cek browser console untuk error

## PERBAIKAN YANG SUDAH DILAKUKAN

### 1. JavaScript Function
- ✅ Menambahkan debugging console.log
- ✅ Memperbaiki path AJAX dengan base_url
- ✅ Menambahkan error handling yang lebih baik
- ✅ Memperbaiki mapping field response

### 2. AJAX Handler
- ✅ File `ajax_shipment_detail.php` sudah ada
- ✅ Sudah ada fallback ke tabel PGN
- ✅ Sudah ada error logging

### 3. Response Format
- ✅ Memperbaiki mapping field dari database
- ✅ Menambahkan fallback untuk field yang tidak ada

## KEMUNGKINAN MASALAH

### 1. Path AJAX Salah
**Solusi:** Sudah diperbaiki dengan `<?php echo $base_url; ?>rwl/module/report/ajax_shipment_detail.php`

### 2. Database Field Mismatch
**Solusi:** Sudah ditambahkan fallback untuk field mapping

### 3. JavaScript Error
**Solusi:** Sudah ditambahkan console.log untuk debugging

### 4. AJAX Response Format
**Solusi:** Sudah diperbaiki mapping response

## CONSOLE DEBUGGING

### Browser Console Commands:
```javascript
// Test AJAX manual
$.ajax({
    url: '/dsp-report/rwl/module/report/ajax_shipment_detail.php',
    method: 'POST',
    data: {
        shipment_id: '17072025',
        action: 'get_detail'
    },
    dataType: 'json',
    success: function(response) {
        console.log('Success:', response);
    },
    error: function(xhr, status, error) {
        console.error('Error:', status, error);
        console.error('Response:', xhr.responseText);
    }
});

// Test element exists
console.log('Detail row exists:', $('#detail-17072025').length > 0);

// Test click handler
$('.toggle-detail').first().click();
```

## EXPECTED BEHAVIOR

### 1. Klik Expand Button
- Icon berubah dari + menjadi -
- Detail row muncul
- Loading spinner muncul
- AJAX request dikirim

### 2. AJAX Success
- Header info diupdate dengan data shipment
- Detail table diisi dengan data items
- Console log menunjukkan response

### 3. AJAX Error
- Error message ditampilkan
- Console error menunjukkan masalah

## TROUBLESHOOTING STEPS

### Jika AJAX Tidak Berjalan:
1. Cek browser console untuk JavaScript error
2. Cek network tab untuk AJAX request
3. Cek path AJAX sudah benar
4. Test manual AJAX dengan console command

### Jika AJAX Return Error:
1. Cek `ajax_shipment_detail.php` bisa diakses
2. Cek database connection
3. Cek Shipment ID exist di database
4. Cek PHP error log

### Jika Data Tidak Muncul:
1. Cek response format di console
2. Cek field mapping di JavaScript
3. Cek database query result
4. Cek HTML structure untuk detail table

## NEXT STEPS

1. **Test `test_ajax_detail.php`** - Untuk verify AJAX connection
2. **Check browser console** - Untuk debugging JavaScript
3. **Check network tab** - Untuk debugging AJAX request
4. **Report hasil testing** - Untuk troubleshooting lebih lanjut

---
**Note:** Shipment ID dari screenshot adalah **17072025**. Gunakan ID ini untuk testing.
