From 65b1882ddddca5f86397f60dfbd28deb94ec7249 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 4 Aug 2023 00:09:26 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- Gemfile | 6 +- .../badges/components/badge_form.vue | 70 +++++--- .../badges/components/badge_list.vue | 168 +++++++++++++++--- .../badges/components/badge_list_row.vue | 81 --------- .../badges/components/badge_settings.vue | 89 ++++++++-- app/assets/javascripts/badges/constants.js | 2 + .../contribution_event_closed.vue | 48 +++++ .../contribution_event_created.vue | 18 +- .../components/contribution_events.vue | 5 + .../contribution_events/constants.js | 32 +++- .../settings/repository/branch_rules/app.vue | 70 +++++--- .../branch_rules/components/branch_rule.vue | 56 +++--- app/models/concerns/enums/sbom.rb | 4 +- app/serializers/profile/event_entity.rb | 2 +- .../projects/branch_rules/_show.html.haml | 2 +- lib/sbom/purl_type/converter.rb | 11 +- locale/gitlab.pot | 55 +++++- package.json | 2 +- qa/qa/page/component/badges.rb | 4 +- .../groups/settings/group_badges_spec.rb | 41 +++-- .../projects/settings/project_badges_spec.rb | 41 +++-- .../badges/components/badge_form_spec.js | 14 +- .../badges/components/badge_list_row_spec.js | 119 ------------- .../badges/components/badge_list_spec.js | 94 ++++++++-- .../badges/components/badge_settings_spec.js | 40 +++-- .../contribution_event_closed_spec.js | 63 +++++++ .../components/contribution_events_spec.js | 4 + spec/frontend/contribution_events/utils.js | 38 +++- spec/lib/sbom/purl_type/converter_spec.rb | 40 +++++ spec/models/concerns/enums/sbom_spec.rb | 38 ++++ spec/serializers/profile/event_entity_spec.rb | 11 ++ ...user_contribution_events_shared_context.rb | 9 +- yarn.lock | 8 +- 33 files changed, 854 insertions(+), 431 deletions(-) delete mode 100644 app/assets/javascripts/badges/components/badge_list_row.vue create mode 100644 app/assets/javascripts/contribution_events/components/contribution_event/contribution_event_closed.vue delete mode 100644 spec/frontend/badges/components/badge_list_row_spec.js create mode 100644 spec/frontend/contribution_events/components/contribution_event/contribution_event_closed_spec.js create mode 100644 spec/lib/sbom/purl_type/converter_spec.rb create mode 100644 spec/models/concerns/enums/sbom_spec.rb diff --git a/Gemfile b/Gemfile index 8f4d48d583d..c9f8f09e7f3 100644 --- a/Gemfile +++ b/Gemfile @@ -133,6 +133,9 @@ gem 'apollo_upload_server', '~> 2.1.0' gem 'graphql-docs', '~> 2.1.0', group: [:development, :test] gem 'graphlient', '~> 0.5.0' # Used by BulkImport feature (group::import) +# Generate Fake data +gem 'ffaker', '~> 2.10' + gem 'hashie', '~> 5.0.0' # Pagination @@ -415,9 +418,6 @@ group :development, :test do # Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826) gem 'minitest', '~> 5.11.0' - # Generate Fake data - gem 'ffaker', '~> 2.10' - gem 'spring', '~> 4.1.0' gem 'spring-commands-rspec', '~> 1.0.4' diff --git a/app/assets/javascripts/badges/components/badge_form.vue b/app/assets/javascripts/badges/components/badge_form.vue index 1a80030c7e6..23873922618 100644 --- a/app/assets/javascripts/badges/components/badge_form.vue +++ b/app/assets/javascripts/badges/components/badge_form.vue @@ -28,6 +28,11 @@ export default { type: Boolean, required: true, }, + inModal: { + type: Boolean, + required: false, + default: false, + }, }, data() { return { @@ -119,16 +124,28 @@ export default { exampleUrl, }); }, + cancelButtonType() { + return this.isEditing ? 'button' : 'reset'; + }, + saveText() { + return this.isEditing ? s__('Badges|Save changes') : s__('Badges|Add badge'); + }, + }, + mounted() { + // declared here to make it cancel-able + this.debouncedPreview = debounce(function search() { + this.renderBadge(); + }, badgePreviewDelayInMilliseconds); }, methods: { ...mapActions(['addBadge', 'renderBadge', 'saveBadge', 'stopEditing', 'updateBadgeInForm']), - debouncedPreview: debounce(function preview() { - this.renderBadge(); - }, badgePreviewDelayInMilliseconds), - onCancel() { - this.stopEditing(); + updatePreview() { + this.debouncedPreview(); }, onSubmit() { + this.debouncedPreview.cancel(); + this.renderBadge(); + const form = this.$el; if (!form.checkValidity()) { this.wasValidated = true; @@ -161,6 +178,7 @@ export default { variant: VARIANT_INFO, }); this.wasValidated = false; + this.$emit('close-add-form'); }) .catch((error) => { createAlert({ @@ -171,6 +189,17 @@ export default { throw error; }); }, + closeForm() { + this.$refs.form.reset(); + this.$emit('close-add-form'); + }, + handleCancel() { + if (this.isEditing) { + this.stopEditing(); + } else { + this.closeForm(); + } + }, }, safeHtmlConfig: { ALLOW_TAGS: ['a', 'code'] }, }; @@ -178,6 +207,7 @@ export default {