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

OSIDB-2818: Affect section redesign #371

Merged
merged 87 commits into from
Sep 3, 2024

Conversation

C-Valen
Copy link
Member

@C-Valen C-Valen commented Jul 29, 2024

OSIDB-2818 Affect section redesign

Checklist:

  • Commits consolidated
  • Changelog updated
  • Test cases added/updated
  • Jira ticket updated

Summary:

Performs the re-design of the full Affected Offerings section, providing new components for Affects, Trackers and Tracker Manager views. It also covers some fixes, provides new functionalities, removes deprecated/old code and aims to improve components naming and hierarchy.

Almost all changes are UI related, but there are specific minimal changes on FlawAffectsModel (for having added affects as a parameter) and useTrackers (for loading functionality and improve selection toggling)

Note!: The PR shouldn't be merged until approval from VM team on last changes (meeting on Thursday 08/08),
but as most of the changes have been already approved/requested by them, not many things are likely to change, so it can start being reviewed.

Changes:

General

  • New component file names: FlawAffects, FlawTrackers and TrackersManager
  • Add an Affected Modules filter list on the start of the section
  • Renamed OSIM Setings variable from apiKeys to osimSettings and storage from OSIM::API-KEYS to OSIM::USER-SETTINGS as they are now not limited to the api keys
  • Added bind attributes to modal-dialog on Modal widget to be able to apply parent classes and styles
  • Provides an usePagination composable

Affects View

  • Change affect view to a paginated table
  • Use settings store to keep user's affects per page value
  • Add a toolbar to the affect table (cutomize affects per page, filter by affect states and perform multiple affect operations)
  • Support affects table sorting by different fields
  • Support affects field-filters for Affectedness, Resolution and Impact fields
  • Add dynamic affect display based on it's state (new | added | removed | editing | modified)
  • Support multiple affects selection
  • Support filing trackers for individual/selected affects
  • Use blank affect as parameter on the add affect function
  • Change blank affect values and move it from the composable to the FlawAffects component

Trackers View

  • Change tracker view to a paginated table
  • Fix affected module information, now getting it from affects mapping
  • Add Bug ID information
  • Remove Type information
  • Support sorting trackers by updated/created date
  • Support trackers field-filter for Status field
  • Add new Resolution column

Trackers Manager View

  • Integrated/embedded view style for TrackersManager within the trackers view
  • Modal view for TrackersManager for individual/selected affects
  • Change layout of TrackersManayer for a more compact view
  • Sightly change TrackersManager style for a more homogeneous view
  • Implement "Loading trackers" feature for better UI/UX on fetching states
  • Improve style states on "all trackers" toggle selection buttons

Tests

  • Improvements and restructure on SampleData for more flexible and wide dummy data
  • Provide new testing suite for FlawAffects component
  • Provide new testing suite for FlawTrackers component
  • Provide new testing suite for TrackersManager component

Considerations:

  • All existing test suites for old affect section and trackers have been removed as they were covering correct UI placement, I didn't add such tests for new views considering to rely on the recently implemented snapshots tests.

  • I considered the rename of the 'Trackers Manager' individual section parts (Available Trackers | Selected to file | Already Filed | Untrackable Affects)

  • Also considered a sightly adjustment on the Trackers Manager layout/UI aiming for a bit more homogeneous style in the individual parts. For this purpose the untrackable affects style have been modified and the information text have been moved into a icon tooltip to optimize the space.

  • Keeping full flaw trackers manager can seem redundant as it is possible open the manager form the selection of all affects, but it was decided to keep it as it provides a different view that doesn't cover the trackers table (as the modal does) for the cases that is needed to manage trackers looking at the table at the same time

  • I finally considered not adding affects/trackers per page on user settings view to wait to have more OSIM custom UI settings to add so when provided to the users it offers a more extensive settings.

  • I consider it would be nice to update the scss color palettes to have a consistent set of reusable variable colors

  • As a side note I noticed widget page (only visible in dev) is kind f broken, I suggest removing it unless someone is/will use it.

Screenshots

Affected Modules Filters

image

Affects Table Toolbar

image

Affects Table

image

Modal Tracker Manager (loading)

image

Modal Tracker Manager (loaded)

image

Trackers Table

image

Embedded Trackers Manager

image

No Affects View

image

Demos

Changes after the demo recordings:

  • Added resolution column on trackers table
  • Swap Module/Component columns order on affects table
OSIM-AffectsSectionRedesign-1.mp4
OSIM-AffectsSectionRedesign-2.mp4

Closes OSIDB-2818
Closes OSIDB-3076
Closes OSIDB-2789
Closes OSIDB-3022
Closes OSIDB-3250

@C-Valen C-Valen force-pushed the refactor/OSIDB-2818-affect-section-redesign branch from 8f05d10 to c0aec18 Compare August 5, 2024 15:08
@C-Valen C-Valen self-assigned this Aug 5, 2024
@C-Valen C-Valen added the enhancement New feature or request label Aug 5, 2024
@C-Valen C-Valen force-pushed the refactor/OSIDB-2818-affect-section-redesign branch 11 times, most recently from 97c8d0c to 402fce2 Compare August 7, 2024 14:26
@C-Valen C-Valen marked this pull request as ready for review August 7, 2024 15:01
@C-Valen C-Valen marked this pull request as draft August 7, 2024 15:03
@C-Valen C-Valen force-pushed the refactor/OSIDB-2818-affect-section-redesign branch 5 times, most recently from 127a240 to 7cfb8ad Compare August 13, 2024 14:28
@C-Valen C-Valen marked this pull request as ready for review August 13, 2024 14:29
@C-Valen C-Valen requested a review from JakubFrejlach August 13, 2024 14:33
Copy link
Member

@MrMarble MrMarble left a comment

Choose a reason for hiding this comment

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

Not that important, but normally __fixtures__ is the word used instead of __sampledata__

I'll continue the review later, I'm still missing some files

src/components/TrackersManager.vue Outdated Show resolved Hide resolved
src/components/TrackersManager.vue Outdated Show resolved Hide resolved
src/components/TrackersManager.vue Outdated Show resolved Hide resolved
src/components/TrackersManager.vue Outdated Show resolved Hide resolved
src/components/TrackersManager.vue Outdated Show resolved Hide resolved
src/components/TrackersManager.vue Outdated Show resolved Hide resolved
src/components/FlawForm.vue Outdated Show resolved Hide resolved
src/components/widgets/Modal.vue Show resolved Hide resolved
src/composables/usePagination.ts Outdated Show resolved Hide resolved
src/stores/SettingsStore.ts Outdated Show resolved Hide resolved
@C-Valen C-Valen force-pushed the refactor/OSIDB-2818-affect-section-redesign branch 2 times, most recently from b9d73a4 to 5eda9e9 Compare August 19, 2024 11:38
@C-Valen C-Valen requested a review from MrMarble August 19, 2024 11:39
@C-Valen C-Valen force-pushed the refactor/OSIDB-2818-affect-section-redesign branch from c43a529 to 7b071f2 Compare September 3, 2024 14:10
@C-Valen C-Valen merged commit 2f0f0fd into main Sep 3, 2024
5 checks passed
@C-Valen C-Valen deleted the refactor/OSIDB-2818-affect-section-redesign branch September 3, 2024 14:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants