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 {
{{ s__('Badges|Enter a valid URL') }}
{{ badgeLinkUrlExample }}
@@ -213,7 +243,7 @@ export default {
type="URL"
class="form-control gl-form-input"
required
- @input="debouncedPreview"
+ @input="updatePreview"
/>
{{ s__('Badges|Enter a valid URL') }}
{{ badgeImageUrlExample }}
@@ -235,29 +265,23 @@ export default {
-
-
- {{ __('Cancel') }}
-
-
- {{ s__('Badges|Save changes') }}
-
-
-