-
Notifications
You must be signed in to change notification settings - Fork 21
[TSPS-634] Add filtering controls to Teaspoons Job History page #5449
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
| error: Error | undefined; | ||
| } | ||
|
|
||
| export const usePipelinesList = (): UsePipelinesListResult => { |
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.
factored this fetch logic out into a hook because all 3 tabs now rely on it
| @@ -149,7 +149,7 @@ export const ViewOutputsModal = ({ jobId, onDismiss }: OutputsModalProps): React | |||
| </div> | |||
| ) : ( | |||
| <div style={{ padding: '1rem', textAlign: 'center' }}> | |||
| No output information found for this job. If this job completed more than $ | |||
| No output information found for this job. If this job completed more than{' '} | |||
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.
drive-by fix to remove unnecessary dollar sign
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.
time is money!
| }} | ||
| > | ||
| <div style={{ fontWeight: 600, fontSize: '14px' }}>Description</div> | ||
| <DelayedSearchInput |
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.
these inputs are debounced to avoid hitting the backend for every single keystroke in the text input
| control: (provided) => ({ | ||
| ...provided, | ||
| minHeight: '2.25rem', | ||
| height: '2.25rem', | ||
| }), |
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.
it drove me crazy that the height of the Select component was a few pixels taller than the height of the text input components that are next to these, hence the height style override to make them consistent
| ...(status ? { status } : {}), | ||
| ...(description ? { description } : {}), | ||
| ...(jobId ? { jobId } : {}), | ||
| ...(pipelineName ? { pipelineName } : {}), |
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.
this query string formulation may change pending the results of TSPS-502, but that's such an insignificant detail that the rest of the PR can still be reviewed imo
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.
you'll see a bunch of directory changes- i did some re-organization that felt a little bit overdue especially after working on this ticket. components that aren't used in multiple places are now grouped more closely with the tab that they belong to.
| const response = await fetch(url, { method: 'HEAD' }); | ||
| const size = response.headers.get('content-length'); | ||
| return size ? formatBytes(parseInt(size)) : 'Unknown size'; | ||
| return size ? formatBytes(Number.parseInt(size)) : 'Unknown size'; |
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.
driveby fix for a sonar warning that got flagged since i touched this code
|
|
||
| const DataDeletionDateCell = ({ pipelineRun }: CellProps): ReactNode => { | ||
| if (!pipelineRun.timeCompleted || !(pipelineRun.status === 'SUCCEEDED')) { | ||
| if (!pipelineRun.timeCompleted || pipelineRun.status !== 'SUCCEEDED') { |
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.
another driveby sonar fix
config/dev.json
Outdated
| "orchestrationUrlRoot": "https://firecloud-orchestration.dsde-dev.broadinstitute.org", | ||
| "rawlsUrlRoot": "https://rawls.dsde-dev.broadinstitute.org", | ||
| "teaspoonsUrlRoot": "https://teaspoons.dsde-dev.broadinstitute.org", | ||
| "teaspoonsUrlRoot": "http://localhost:8080", |
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.
will revert this prior to merging, but needed to test this against my local teaspoons w/ the changes
jsotobroad
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.
this makes sense to me. It might be worth going over as a team just to get an understanding of the new file structure and changes added here since it seems not insignificant
| pageNumber, | ||
| ...(sortProperty ? { sortProperty } : {}), | ||
| ...(sortDirection ? { sortDirection } : {}), | ||
| ...(status ? { status } : {}), |
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.
its kinda crazy all of these changes to "just" pass in these values
jsotobroad
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.
thank you for the walkthrough in post!
mmorgantaylor
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.
looks fantastic. I love being able to show and hide the filters. 👍 pending reverting the teaspoonsUrlRoot value for dev
| @@ -149,7 +149,7 @@ export const ViewOutputsModal = ({ jobId, onDismiss }: OutputsModalProps): React | |||
| </div> | |||
| ) : ( | |||
| <div style={{ padding: '1rem', textAlign: 'center' }}> | |||
| No output information found for this job. If this job completed more than $ | |||
| No output information found for this job. If this job completed more than{' '} | |||
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.
time is money!
| const [submittedJobId, setSubmittedJobId] = useState<string>(); | ||
|
|
||
| // User quota for the selected pipeline | ||
| const { isLoading: isLoadingPipelines, pipelines: pipelinesList } = usePipelinesList(); |
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.
great refactor
b0f18b5 to
e0cd572
Compare
|



Jira Ticket: https://broadworkbench.atlassian.net/browse/TSPS-634
Depends on https://broadworkbench.atlassian.net/browse/TSPS-502
Summary of changes:
What
description,jobId,status, andpipelineName, supported on the backend as part of TSPS-502 (PR link coming soon)usePipelinesListScreen.Recording.2025-11-06.at.3.43.48.PM.mov
Why
Testing strategy