-
Notifications
You must be signed in to change notification settings - Fork 246
feat: diagram creation progress COMPASS-9521 #7638
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
Conversation
dianchenghu
left a comment
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.
Can we change the progress lables text with ellipsis(…)instead of ..?
For example: Sampling collections…
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 implements a progress tracking system for diagram creation in Compass data modeling. The key improvement is replacing a simple "Analyzing..." loader with a detailed progress indicator that shows three distinct phases: sampling collections, analyzing schemas, and inferring relationships. Each phase displays real-time progress with counters, giving users better visibility into the analysis process.
Key changes:
- Introduced granular progress tracking with step-based state management (SAMPLING, ANALYZING_SCHEMA, INFERRING_RELATIONSHIPS)
- Created a new
AnalysisProgressStatuscomponent with a progress bar that updates as collections are processed - Refactored the analysis process state to track progress per phase rather than just "idle" vs "in-progress"
Reviewed changes
Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/compass-data-modeling/src/store/analysis-process.ts | Refactored state management to track analysis steps and phase-specific progress counters |
| packages/compass-data-modeling/src/components/analysis-progress-status.tsx | New component implementing the progress indicator UI with cancel functionality |
| packages/compass-data-modeling/src/components/analysis-progress-status.spec.tsx | Test coverage for the progress status component across different analysis scenarios |
| packages/compass-data-modeling/src/components/diagram-editor.tsx | Updated to use the new progress component instead of generic cancel loader |
| packages/compass-data-modeling/src/components/new-diagram-form.tsx | Updated to use the new selector for checking analysis progress state |
| packages/compass-data-modeling/src/components/diagram-editor-toolbar.tsx | Minor cleanup removing redundant property assignment |
| packages/compass-data-modeling/test/setup-store.tsx | Enhanced test setup to support sampling simulation and exported test connections |
| packages/compass-components/src/components/loader.tsx | Added new ProgressLoaderWithCancel component combining progress bar with cancel button |
| packages/compass-components/src/components/leafygreen.tsx | Exported ProgressBar component from leafygreen-ui |
| packages/compass-components/package.json | Added @leafygreen-ui/progress-bar dependency |
| packages/compass-components/src/index.ts | Exported the new ProgressLoaderWithCancel component |
packages/compass-data-modeling/src/components/analysis-progress-status.tsx
Show resolved
Hide resolved
packages/compass-data-modeling/src/components/analysis-progress-status.spec.tsx
Show resolved
Hide resolved
6eea216 to
9d57c3f
Compare
6589857 to
80c78ff
Compare
Description
Steps:
Checklist
Motivation and Context
Open Questions
Dependents
Types of changes