Create a shared security training promo component
Let's abstract the current security_training_promo.vue
component into a shared component so it can be used in both the MR widget and on the project vulnerability page.
Vulnerability Page (exist) | MR widget (new) |
---|---|
Implementaion Plan
Each step will be implemented iteratively in individual MRs:
- Rename and move the current vulnerability
security_training_promo.vue
.
- ee/app/assets/javascripts/security_dashboard/components/shared/security_training_promo.vue
+ ee/app/assets/javascripts/security_dashboard/components/project/security_training_promo_banner.vue
thought: since this component is only used on the project page, I don't think it needs to live in the shared
folder.
- Create a shared
security_training_promo.vue
component > #373272 (closed)
+ ee/app/assets/javascripts/vue_shared/security_reports/components/security_training_promo.vue
- 2a. Nice to have: Create story book entry for the new
security_training_promo.vue
component > #373273
- Update the
security_training_promo_banner.vue
to use the sharedsecurity_training_promo.vue
component. (And update related specs) > #373274 (closed)
# security_training_promo_banner.vue
# High level pseudo code
<security-training-promo>
<gl-banner>vulnerability page training promo banner UI</gl-banner>
</security-training-promo>
- Use this new shared
security_training_promo.vue
component for the MR widget. Note: I'll track this in a different issue > #346064 (closed)
+ ee/app/assets/javascripts/vue_merge_request_widget/extensions/security_reports/security_training_promo_mr_widget.vue
# security_training_promo_mr_widget.vue
# High level pseudo code
<security-training-promo>
<div>MR widget training promo UI<div>
</security-training-promo>
Edited by Samantha Ming