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>
103 lines
3.0 KiB
HTML
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>
|