Move Merge Options settings behavior to Vue
Summary
This is a follow-up issue to issue #282520 (closed) (MR !51233 (merged)), which sets the checkbox behavior for the merge options settings of a project. It was decided to implement the behavior in vanilla JS because the form is still in HAML.
We can port the implementation to Vue and leave the HAML form to handle the save process.
This issue is only concerned with the Merge Options settings. You can view this by going to Settings > General > Merge requests
Risks
This change relates to enabling/disabling merged pipelines and merged trains for projects.
It is expected that there should be no changes in functionality, since this is more of a follow-up refactor for frontend.
Involved components
The javascript can be found in:
-
ee/app/assets/javascripts/pages/projects/edit/merge_options.js
.
The HAML forms related to it are:
app/views/projects/_merge_request_merge_options_settings.html.haml
ee/app/views/projects/_merge_pipelines_settings.html.haml
ee/app/views/projects/_merge_trains_settings.html.haml
Rspec that tests the behavior:
ee/spec/features/projects/settings/user_manages_merge_trains_spec.rb