Feat: Add grid view feature to the issue page
What does this MR do and why?
Related issue: #323095 #387022(MVC1)
Related JH issue: https://jihulab.com/gitlab-cn/gitlab/-/issues/2150
This MR implements MVC1 described in this #387022. It revamps the issue page by adding a grid view (while keeping the list view) for both group and project issues. Users can customize the order of fields in the grid view and add or remove fields (with "id" and "title" being fixed fields), and their customization config is cached in the browser.
The buttons for subscribing, importing, exporting, and other actions that used to be located above the tabs are now moved into the menu. Additionally, this MR introduces a button for switching between the list view and grid view, as well as a button for configuring the grid view.
This feature is controlled by the feature flag issues_grid_view
.
/cc @mtan-gitlab @JeremyWuuuuu
Screenshots or screen recordings
before
after
How to set up and validate locally
- Open the feature flag
issues_grid_view
in rails console. (::Feature.enable(:issues_grid_view)
) - Go to the issue page of any group or project.
- Observe.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.