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

display filter rank options in frontend #11910

Draft
wants to merge 54 commits into
base: main
Choose a base branch
from

Conversation

renanfranca
Copy link
Contributor

@renanfranca renanfranca commented Feb 14, 2025

A demo video of the implemented feature:

20250214-rank_filter_demo.mp4

There were many things going on in the above demo video so I will list the completed tasks below.

Rank Module Filter Implementation Tasks

UI Components

  • Create LandscapeRankModuleFilterVue component with:
    • Rank filter buttons for all RANKS
    • Active state styling for selected rank
    • Title attributes with rank descriptions
    • Disabled state for ranks without modules
    • Click handlers for selection/deselection

Rank Filtering Logic

  • Implement rank filtering in the Landscape class:
    • filterByRank() method
    • Module visibility based on selected rank
    • Dependency handling for modules with different ranks
    • Feature preservation when containing filtered modules

Module Emphasis

  • Add minimal emphasis styling for:
    • Dependency modules with different ranks than filter
    • Features containing modules with different ranks

Integration

  • Connect rank filter to Landscape component:
    • Do not show rank filter on small screens
    • Emit selected rank event
    • Update Landscape display with filtered modules
    • Handle preset interactions when the rank filter changes

Design

  • Create tikui toggle-button atom
  • Create tikui landscap-rank-module-filter organism

The dark mode Landscape screen with rank module filter

2025-02-14 10 53 26 localhost 05a23467da33

TO-DO (created at 2025-03-10)

  • Error when drawing the module connections
  • Setup the modules configuration with the module rank classification (Add rank to modules #12058)
  • Should preserve the selected modules when filtering by rank

@renanfranca renanfranca self-assigned this Feb 14, 2025
@renanfranca renanfranca force-pushed the 10934-display-filter-rank-options-in-frontend branch from b2c4106 to 7798657 Compare February 14, 2025 17:23
@renanfranca renanfranca marked this pull request as ready for review February 14, 2025 17:37
@renanfranca
Copy link
Contributor Author

@qmonmert: Thank you for the review. I have pushed the fixes. Let me know if you need some changes ✌️

qmonmert
qmonmert previously approved these changes Feb 17, 2025
Copy link
Contributor

@qmonmert qmonmert left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@pascalgrimaud
Copy link
Member

Thanks for your work here @renanfranca

Here some first feedbacks:

  • I put some different ranks to modules, and I play with your pull request
  • as you can see, it's not really readable
    image

My 1st suggestion:

  • when clicking on Rank S: only display Rank S
  • when clicking on Rank A: display all Rank S + Rank A
  • when clicking on Rank B: display Rank B + A + S
  • etc
    Because it is not relevant to select only Rank D for example.

What do you think?

@renanfranca
Copy link
Contributor Author

renanfranca commented Mar 8, 2025

Thanks for your work here @renanfranca

😃

Here some first feedbacks:

  • I put some different ranks to modules, and I play with your pull request
  • as you can see, it's not really readable
    image

Can you share the exactly Rank configuration setup you use for this test? So, I will be able to reproduce this bug when it draws the modules' connections👍. Do you agree that is the main problem?

My 1st suggestion:

  • when clicking on Rank S: only display Rank S

I tried it while developing it. It looked weired displaying a module without it's dependency which could be from a different rank.

  • when clicking on Rank A: display all Rank S + Rank A
  • when clicking on Rank B: display Rank B + A + S
  • etc

Today, it is showing the dependencies modules or features related to selected Rank, This way, delivery the correct filter and the screen don't get too crowded.

Because it is not relevant to select only Rank D for example.

Don't you need to see the irrelevant modules to try them out, and one day, they might be ranked up?

Thanks @pascalgrimaud for try it out!

@pascalgrimaud
Copy link
Member

another comment: when you select a module, then, select another rank, all selected modules are cleaned

@renanfranca renanfranca force-pushed the 10934-display-filter-rank-options-in-frontend branch from 2189f99 to 433a817 Compare March 10, 2025 19:12
@renanfranca
Copy link
Contributor Author

@pascalgrimaud: I fixed the connection drawing problem, I wasn't looking for nested feature and module dependencies with different ranks than the rank filter applied.

Desktop.2025.03.10.-.16.19.39.01.mp4

I created a new TO-DO at the description to track the requests.
TO-DO (created at 2025-03-10)

  • Error when drawing the module connections
  • Setup the modules configuration with the module rank classification (Add rank to modules #12058)
  • Should preserve the selected modules when filtering by rank

…n which put null values at landscapeElements variable at Landscape.component.ts
…omise returned from reloadLandscape is ignored
@renanfranca renanfranca force-pushed the 10934-display-filter-rank-options-in-frontend branch from 433a817 to ae702e1 Compare March 11, 2025 12:04
@renanfranca renanfranca marked this pull request as draft March 11, 2025 19:02
@renanfranca
Copy link
Contributor Author

  • [] Should preserve the selected modules when filtering by rank

@pascalgrimaud: It is working now without missing any module states. I tried it with the module rank classification, and it is working really well!

I changed this PR to Draft because I need to thoroughly refactor the Landscape.ts class 😄👌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New state for modules
3 participants