189 lines
7.2 KiB
HTML
189 lines
7.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Shot Detail Panel Enable/Disable Test</title>
|
|
<style>
|
|
body {
|
|
font-family: Arial, sans-serif;
|
|
margin: 20px;
|
|
background-color: #f5f5f5;
|
|
}
|
|
.test-container {
|
|
background: white;
|
|
padding: 20px;
|
|
border-radius: 8px;
|
|
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
margin-bottom: 20px;
|
|
}
|
|
.success {
|
|
background-color: #d4edda;
|
|
color: #155724;
|
|
padding: 15px;
|
|
border-radius: 4px;
|
|
margin: 15px 0;
|
|
}
|
|
.info {
|
|
background-color: #d1ecf1;
|
|
color: #0c5460;
|
|
padding: 15px;
|
|
border-radius: 4px;
|
|
margin: 15px 0;
|
|
}
|
|
.test-steps {
|
|
background-color: #fff3cd;
|
|
color: #856404;
|
|
padding: 15px;
|
|
border-radius: 4px;
|
|
margin: 15px 0;
|
|
}
|
|
.behavior-table {
|
|
width: 100%;
|
|
border-collapse: collapse;
|
|
margin: 15px 0;
|
|
}
|
|
.behavior-table th,
|
|
.behavior-table td {
|
|
border: 1px solid #ddd;
|
|
padding: 12px;
|
|
text-align: left;
|
|
}
|
|
.behavior-table th {
|
|
background-color: #f8f9fa;
|
|
font-weight: bold;
|
|
}
|
|
.enabled {
|
|
background-color: #d4edda;
|
|
}
|
|
.disabled {
|
|
background-color: #f8d7da;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="test-container">
|
|
<h1>Shot Detail Panel Enable/Disable Behavior</h1>
|
|
|
|
<div class="success">
|
|
<strong>✅ New Behavior Implemented!</strong><br>
|
|
The detail panel toggle button now works as an enable/disable state rather than a simple show/hide toggle.
|
|
</div>
|
|
|
|
<div class="info">
|
|
<strong>What Changed:</strong>
|
|
<ul>
|
|
<li>Toggle button now controls whether the detail panel automatically shows when selecting a row</li>
|
|
<li>Button is no longer disabled when no shot is selected</li>
|
|
<li>Button tooltip updated to reflect enable/disable functionality</li>
|
|
<li>Panel visibility is now reactive to both selection and enabled state</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<h3>Behavior Matrix</h3>
|
|
<table class="behavior-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Panel State</th>
|
|
<th>User Action</th>
|
|
<th>Result</th>
|
|
<th>Detail Panel Shows?</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="enabled">
|
|
<td><strong>Enabled</strong></td>
|
|
<td>Click on a row (single selection)</td>
|
|
<td>Row is selected</td>
|
|
<td>✅ Yes - Panel shows automatically</td>
|
|
</tr>
|
|
<tr class="enabled">
|
|
<td><strong>Enabled</strong></td>
|
|
<td>Click on different row</td>
|
|
<td>New row is selected</td>
|
|
<td>✅ Yes - Panel updates to new shot</td>
|
|
</tr>
|
|
<tr class="disabled">
|
|
<td><strong>Disabled</strong></td>
|
|
<td>Click on a row (single selection)</td>
|
|
<td>Row is selected</td>
|
|
<td>❌ No - Panel remains hidden</td>
|
|
</tr>
|
|
<tr class="disabled">
|
|
<td><strong>Disabled</strong></td>
|
|
<td>Click on different row</td>
|
|
<td>New row is selected</td>
|
|
<td>❌ No - Panel stays hidden</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Either</strong></td>
|
|
<td>Click "View Tasks" from dropdown</td>
|
|
<td>Shot is selected</td>
|
|
<td>✅ Yes - Always shows (explicit action)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>Either</strong></td>
|
|
<td>Close panel manually</td>
|
|
<td>Selection is cleared</td>
|
|
<td>❌ No - Panel closes and selection clears</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="test-steps">
|
|
<strong>Test the New Behavior:</strong>
|
|
<ol>
|
|
<li><strong>Enable State (Default):</strong>
|
|
<ul>
|
|
<li>Click on any shot row → Detail panel should appear automatically</li>
|
|
<li>Click on different shot → Panel should update to show new shot</li>
|
|
<li>Toggle button should show "close" icon (PanelRightClose)</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>Disable State:</strong>
|
|
<ul>
|
|
<li>Click the toggle button to disable auto-panel</li>
|
|
<li>Click on any shot row → Row selects but panel stays hidden</li>
|
|
<li>Click on different shots → Selection changes but panel remains hidden</li>
|
|
<li>Toggle button should show "open" icon (PanelRightOpen)</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>Explicit Actions:</strong>
|
|
<ul>
|
|
<li>Use "View Tasks" from dropdown → Panel should always show regardless of enabled state</li>
|
|
<li>Close panel manually → Should clear selection and hide panel</li>
|
|
</ul>
|
|
</li>
|
|
<li><strong>Mobile Behavior:</strong>
|
|
<ul>
|
|
<li>On mobile screens, enabled state controls whether mobile sheet appears</li>
|
|
<li>When disabled, mobile sheet won't show on row selection</li>
|
|
</ul>
|
|
</li>
|
|
</ol>
|
|
</div>
|
|
|
|
<div class="info">
|
|
<strong>Technical Implementation:</strong>
|
|
<ul>
|
|
<li><code>isDetailPanelVisible</code> → <code>isDetailPanelEnabled</code></li>
|
|
<li>Panel visibility: <code>v-if="selectedShot && isDetailPanelEnabled"</code></li>
|
|
<li>Button is always enabled (no longer disabled when no selection)</li>
|
|
<li>Row click automatically shows panel when enabled</li>
|
|
<li>Mobile sheet respects enabled state</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="success">
|
|
<strong>User Experience Benefits:</strong>
|
|
<ul>
|
|
<li>Users can control whether they want automatic detail panels</li>
|
|
<li>Reduces visual clutter when users prefer to work without the panel</li>
|
|
<li>Maintains selection state even when panel is disabled</li>
|
|
<li>Explicit actions (like "View Tasks") still work regardless of setting</li>
|
|
<li>Consistent behavior across desktop and mobile</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |