Feat/add download options for table#254
Open
rr-paras-patel wants to merge 5 commits intogithub-copilot-resources:mainfrom
Open
Feat/add download options for table#254rr-paras-patel wants to merge 5 commits intogithub-copilot-resources:mainfrom
rr-paras-patel wants to merge 5 commits intogithub-copilot-resources:mainfrom
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
Collaborator
|
@copilot can you fix code review comments and add unit tests? |
karpikpl
reviewed
Aug 24, 2025
Contributor
There was a problem hiding this comment.
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> |
There was a problem hiding this comment.
[nitpick] Remove the trailing space after 'seats' for consistency.
Suggested change
| <h2>All assigned seats </h2> | |
| <h2>All assigned seats</h2> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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