-
Notifications
You must be signed in to change notification settings - Fork 289
Feat/add download options for table #254
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Feat/add download options for table #254
Conversation
- Add exportUtils.ts with CSV, JSON, and clipboard functions - Implement formatFilename utility for consistent naming - Create ExportData interface for type safety - Support tab-separated clipboard format for spreadsheet compatibility - Include fallback clipboard method for older browsers
- Add export dropdown with 3 options positioned in header area - Export includes all seat records regardless of pagination - Support CSV with proper escaping, JSON with camelCase, and clipboard copy - Clean UI with export button showing total record count - Consistent export pattern for future table implementations
- Add export dropdowns to IDE Code Completion, IDE Chat, GitHub.com Chat, and GitHub.com PR Summary tables - Each table gets consistent 3-option export pattern (CSV, JSON, clipboard) - Export positioned in expansion panel headers for clean UX - Dynamic filenames based on table type for easy identification - Support for different data structures across model types
- Add export dropdown to BreakdownComponent for both breakdown types - Dynamic export filenames based on breakdown type (languages/editors) - Supports same 3-option export pattern with consistent UI placement - Reuses single component for both Languages and Editors breakdown tables - Maintains clean header positioning consistent with other tables
- Fix unreadable hover colors in export dropdown menus - Add proper primary color hover for export buttons - Match pagination dropdown styling for consistency
|
@copilot can you fix code review comments and add unit tests? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot add unit tests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive export functionality to all data tables in the GitHub Copilot Metrics Viewer, enabling users to download or copy table data for analysis and reporting. The implementation provides CSV download, JSON download, and clipboard copy options across all metric tables.
Key changes:
- Created reusable export utility functions with proper CSV escaping and UTF-8 encoding
- Added export dropdown menus to all 7 data tables with consistent styling
- Updated CSS styling for export button hover states and dropdown menus
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| app/utils/exportUtils.ts | New utility module containing reusable export functions for CSV, JSON, and clipboard operations with proper data formatting and error handling |
| app/components/SeatsAnalysisViewer.vue | Added export dropdown menu to seats analysis table with data transformation methods |
| app/components/BreakdownComponent.vue | Added export functionality to language/editor breakdown tables using the utility functions |
| app/components/AgentModeViewer.vue | Added export dropdowns to all 4 model tables (IDE completion, IDE chat, GitHub.com chat, PR summary) with specific data mappings |
| app/assets/global.css | Updated CSS styling for export button hover states and dropdown menu appearance to maintain theme consistency |
Comments suppressed due to low confidence (5)
| <h2>All assigned seats </h2> | ||
| <br> | ||
| <div class="d-flex justify-space-between align-center mb-4"> | ||
| <h2>All assigned seats </h2> |
Copilot
AI
Aug 25, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Remove the trailing space after 'seats' for consistency.
| <h2>All assigned seats </h2> | |
| <h2>All assigned seats</h2> |
Summary
Adds CSV, JSON, and clipboard export options to all data tables for easy data analysis and reporting.
Features
Tables Updated
Technical
exportUtils.tswith TypeScript supportTest Plan