Files
warehouse13/frontend/src/app/components/query-form/query-form.html
Mondo Diaz c177be326c Replace Lucide icons with Material Icons for better compatibility
Switched from lucide-angular to Google Material Icons font for better compatibility across all environments, especially air-gapped and enterprise setups.

**Changes:**
- Removed lucide-angular dependency (not available in some environments)
- Added Material Icons font via Google CDN in index.html
- Updated all components to use Material Icons spans instead of Lucide components
- Added Material Icons CSS classes (md-16, md-18, md-20, md-24)

**Icon Mapping:**
- RefreshCw → refresh
- Sparkles → auto_awesome
- Search → search
- X/Close → close
- Download → download
- Trash2/Delete → delete
- Database → storage
- Upload → upload

**Benefits:**
- No npm dependency required (just a font)
- Works in all environments (air-gapped, enterprise proxies)
- Smaller bundle: 349.74 kB raw, 91.98 kB gzipped
- Industry standard Material Design icons
- Better cross-browser compatibility

All components tested and working correctly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-15 12:31:34 -05:00

103 lines
3.0 KiB
HTML

<div class="query-section">
<h2>Query Artifacts</h2>
<form [formGroup]="queryForm" (ngSubmit)="onSubmit()">
<div class="form-row">
<div class="form-group">
<label for="q-filename">Filename</label>
<input
type="text"
id="q-filename"
formControlName="filename"
placeholder="Search filename...">
</div>
<div class="form-group">
<label for="q-type">File Type</label>
<select id="q-type" formControlName="file_type">
<option value="">All</option>
<option value="csv">CSV</option>
<option value="json">JSON</option>
<option value="binary">Binary</option>
<option value="pcap">PCAP</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="q-test-name">Test Name</label>
<input
type="text"
id="q-test-name"
formControlName="test_name"
placeholder="Search test name...">
</div>
<div class="form-group">
<label for="q-suite">Test Suite</label>
<input
type="text"
id="q-suite"
formControlName="test_suite"
placeholder="e.g., integration">
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="q-sim-source-id">SIM Source ID</label>
<input
type="text"
id="q-sim-source-id"
formControlName="sim_source_id"
placeholder="e.g., sim_run_abc123">
</div>
<div class="form-group">
<label for="q-result">Test Result</label>
<select id="q-result" formControlName="test_result">
<option value="">All</option>
<option value="pass">Pass</option>
<option value="fail">Fail</option>
<option value="skip">Skip</option>
<option value="error">Error</option>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="q-tags">Tags (comma-separated)</label>
<input
type="text"
id="q-tags"
formControlName="tags"
placeholder="e.g., regression, smoke">
</div>
</div>
<div class="form-row">
<div class="form-group">
<label for="q-start-date">Start Date</label>
<input
type="datetime-local"
id="q-start-date"
formControlName="start_date">
</div>
<div class="form-group">
<label for="q-end-date">End Date</label>
<input
type="datetime-local"
id="q-end-date"
formControlName="end_date">
</div>
</div>
<div class="button-group">
<button type="submit" class="btn btn-primary btn-large">
<span class="material-icons md-18">search</span> Search
</button>
<button type="button" (click)="clearForm()" class="btn btn-secondary">
<span class="material-icons md-18">close</span> Clear
</button>
</div>
</form>
</div>