Skip to content
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

Add collapsible areas for Test Plan Versions History page #794

Merged
merged 32 commits into from
Oct 18, 2023

Conversation

Paul-Clue
Copy link
Collaborator

@Paul-Clue Paul-Clue commented Sep 26, 2023

see #769

This PR turns all level 2 headings after the version summary into disclosures that are collapsed by default on the TestPlanVersionsPage. This was done to curtail the need for excessive scrolling on the page.

howard-e and others added 21 commits August 21, 2023 16:32
… before the associated reports were all marked as final (but the tests were 100% done in the Test Queue)
* Refine raise an issue behavior

* Address feedback

* Fixed squished dot icon

* Address last feedback

* Hide closed issues on datamgmt page
* First pass on functioning sort buttons for DataManagePage

* Functioning sort

* Filter functionality for DataManagement

* Refactor filter buttons on DataManagement to reduce complexity

* Filter buttons as separate component

* DataManagement page, break sort out into dedicated hook

* DataManagement page, dedicated hook for filtering

* DataManagement, add constant for test plan version phases to simplify hooks code

* Add relevant dynamic aria attributes to DataManagement column sort elements

* Add relevant dynamic aria attributes to DataManagement filter buttons

* unit tests for SortableTableHeader

* unit tests for FilterButtons

* unit tests for useDataManagementTableSorting hook

* Add unit tests for useDataManagementTableFiltering hook

* Filter buttons only show buttons that have have label, handle testPlans with multiple versions, ...

useDataManagementTableFiltering don't generate label for buttons that have no associated plans

* Break out overall phase derivation logic into dedicated hooks, functional filter and sort

* Simplify useDerivedTestPlanOverallPhase

* Additional unit tests for additional hooks and to test scenarios with multiple test plan versions for a single test plan

hook rename

* Different UX click interaction sequence with SortableTableHeader

* Correct interpretation of alphabetical ascending/descending

* Rename DataManagement/hooks.js to filterSortHooks

* Move sorting and filtering enums to more specific locations based on use

* Fix file locations in unit tests, DataManagement, FilterButtons, SortableTableHeader

* Smaller margin between buttons, FilterButtons

* First pass on functioning sort buttons for DataManagePage

* Functioning sort

* Filter functionality for DataManagement

* Refactor filter buttons on DataManagement to reduce complexity

* Filter buttons as separate component

* DataManagement page, break sort out into dedicated hook

* DataManagement page, dedicated hook for filtering

* DataManagement, add constant for test plan version phases to simplify hooks code

* Add relevant dynamic aria attributes to DataManagement column sort elements

* Add relevant dynamic aria attributes to DataManagement filter buttons

* unit tests for SortableTableHeader

* unit tests for FilterButtons

* unit tests for useDataManagementTableSorting hook

* Add unit tests for useDataManagementTableFiltering hook

* Filter buttons only show buttons that have have label, handle testPlans with multiple versions, ...

useDataManagementTableFiltering don't generate label for buttons that have no associated plans

* Break out overall phase derivation logic into dedicated hooks, functional filter and sort

* Simplify useDerivedTestPlanOverallPhase

* Additional unit tests for additional hooks and to test scenarios with multiple test plan versions for a single test plan

hook rename

* Different UX click interaction sequence with SortableTableHeader

* Correct interpretation of alphabetical ascending/descending

* Rename DataManagement/hooks.js to filterSortHooks

* Move sorting and filtering enums to more specific locations based on use

* Fix file locations in unit tests, DataManagement, FilterButtons, SortableTableHeader

* Smaller margin between buttons, FilterButtons

* Cleanup after rebase

* Render SortableTableHeader inside <table> for test to dismiss warning

* Add AriaLiveRegionProvider, Update DataManagement table to use it

* Allow SortableTableHeader component to work without AriaLiveRegionProvider
* Start to support for sunset phase

* Explicitly use 'DEPRECATED' phase for TestPlanVersion.phase

* Add checks to prevent test plan versions in R&D or Deprecated from being shown in data management dropdown

* Remove duplicate updateTestPlanVersion call

* Reuse phase variable

* Add copy for deprecated reports with DisclaimerInfo component

* Exclude 'DEPRECATED' testPlanVersions on DataManagement page query
* Adjust cell items for data management row to use list-related roles; update aria-labels

* Address PR feedback

* Remove width:max-content

* Address PR feedback

* Formatting

* Address feedback
* Revise required reports approach

* Update tests

* Revert dev.env
* Apply correct sort order for Timeline for All Versions section

* Update headings used on Versions page

* Add aria-labelledby's for tables

* Add &nbsp; for applicable spaces so the text is properly announced by NVDA

* Add migration to add missing deprecatedAt dates and to also properly set the candidatePhaseReachedAt dates to more practical dates after the migrations (if candidatePhaseReachedAt < draftPhaseReachedAt, set it candidatePhaseReachedAt to draftPhaseReachedAt + 1day)

* Test Plan Versions Page: Use standard testPlanVersions descending sort and show all phases being included in Version Summary

* Switch issues search support for checking against hidden body content instead

* Fix TestPlanReportStatusDialog using d (day of the week) and y (era)

* Explicit check for older date when deprecating existing RD test plan versions during import

* Update hidden message content in github issue

* Update query for anon user on TestRun page

* Keep overall status pill from drifting to center of cell

* Fix R&D only TestPlanVersion's table not being shown

* Use aria-label for heading to prevent space being announced
Base automatically changed from update-database-impl to main September 28, 2023 20:01
@Paul-Clue Paul-Clue marked this pull request as ready for review October 3, 2023 13:20
# Conflicts:
#	client/components/CandidateReview/CandidateTestPlanRun/index.jsx
#	client/components/DataManagement/DataManagementRow/index.jsx
#	client/components/DataManagement/filterSortHooks.js
#	client/components/DataManagement/index.jsx
#	client/components/Reports/SummarizeTestPlanReport.jsx
#	client/components/TestPlanVersionsPage/index.jsx
#	client/components/TestPlanVersionsPage/queries.js
#	client/components/TestRun/index.jsx
#	client/components/common/PhasePill/index.jsx
#	client/components/common/SortableTableHeader/index.js
#	client/components/common/ThemeTable/index.jsx
#	client/components/common/VersionString/index.js
#	client/tests/DataManagement.test.jsx
#	client/utils/createIssueLink.js
#	server/graphql-schema.js
#	server/migrations/20230626203205-updatePhaseAndDraftPhaseReachedAtColumnsForTestPlanVersion.js
#	server/migrations/20230830225248-addMissingDeprecatedAtAndReorderPhaseChangeDates.js
#	server/resolvers/TestPlanReport/issuesResolver.js
#	server/resolvers/TestPlanVersionOperations/updatePhaseResolver.js
#	server/scripts/import-tests/index.js
#	server/scripts/populate-test-data/index.js
#	server/services/GithubService.js
#	server/tests/integration/testQueue.test.js
@howard-e howard-e linked an issue Oct 3, 2023 that may be closed by this pull request
@howard-e howard-e changed the title Callapsable version history for test plans Collapsible version history for test plans Oct 3, 2023
@howard-e howard-e changed the title Collapsible version history for test plans Add collapsible areas for Test Plan Versions History page Oct 3, 2023
Copy link
Contributor

@howard-e howard-e left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Paul-Clue looks good and definitely makes navigating this page feel less noisy. Once you can get in those changes mentioned here, this should soon be ready to go!

client/components/common/VersionString/index.js Outdated Show resolved Hide resolved
Copy link
Contributor

@stalgiag stalgiag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Glad the unit tests are passing. I added a few small inline questions and suggestions.

client/components/TestPlanVersionsPage/index.jsx Outdated Show resolved Hide resolved
Copy link
Contributor

@stalgiag stalgiag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Thanks for the hard work!

@alflennik alflennik merged commit c1b329c into main Oct 18, 2023
@alflennik alflennik deleted the callapsable-version-history branch October 18, 2023 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add collapsible areas to Test Plan Versions History Page
4 participants