Bootstrap button migration
What does this MR do?
This MR does two great big regex replaces to get all the remaining HAML buttons migrated to GitLab UI.
find | replace |
---|---|
(^(?!.*gl-button).*class:.*)btn (.*$) |
$1gl-button btn $2 |
(^(?!.*gl-button).*)(\.btn[\.{]) |
$1.gl-button$2 |
Once the above migrations were made, I ran the following migrations on the diffed files ONLY. This was done by changing all the files, then only adding the relevant ones to the commit with the following command:
git add --all $(git diff [commit-sha] master --name-only)
find | replace |
---|---|
(^(?!.*btn-default)(?!.*btn-confirm)(?!.*btn-danger)(?!.*btn-dashed)(?!.*btn-link).*class:.*btn)([\s"].*$) |
$1 btn-default$2 |
(^(?!.*btn-default)(?!.*btn-confirm)(?!.*btn-danger)(?!.*btn-dashed)(?!.*btn-link).*\.btn)([\.{]) |
$1.btn-default$2 |
btn-info |
btn-confirm |
btn-success |
btn-confirm (Note: This is only being updated for HAML buttons that this MR was already migrating. HAML/Vue buttons that were already utilizing gitlab-ui prior to this MR will not be updated to use btn-confirm in this MR.) |
btn-warning |
(We just removed this one) |
btn-transparent |
btn-default-tertiary |
btn-inverted |
btn-secondary (this is a little more manual than this suggests) |
There were a couple of files that escaped the gaze of our regex queries, so I've manually updated those too. Because of that, I'm only 99% sure we've caught everything, but I'll take those odds.
Screenshots (strongly suggested)
There's roughly 180 buttons we need to check here. Probably more since a couple of the changes were to helper files. We'll want to go through these as a team in #322510 (closed)
Does this MR meet the acceptance criteria?
Conformity
-
📋 Does this MR need a changelog?-
I have included a changelog entry. - [-] I have not included a changelog entry because _____.
-
- [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides - [-] Database guides
-
Separation of EE specific content
Availability and Testing
This is a mass migration of 180+ haml buttons. We're coordinating the effort of checking these buttons in #322510 (closed). I've ran some spot-checks and everything seems fine, but there's a good chance there'll be some issues.
Note for reviewers
This MR only affects HAML buttons that previously had no GitLab ui classes. There's still around 200 buttons in the HAML files that are using deprecated variants (success, warning, info). These are out of scope for this MR.
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team