Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-02-16 12:18:00 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-02-16 12:18:00 +0300
commit6259da15b5ede93a9f688ddd062860166e7cf21a (patch)
tree8d2feea166d32c6c247127ca4dc50f5186d15a95 /app/assets/javascripts/security_configuration
parent885897989971931fcb139969b49d8b06f907d7d0 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/security_configuration')
-rw-r--r--app/assets/javascripts/security_configuration/components/training_provider_list.vue24
-rw-r--r--app/assets/javascripts/security_configuration/constants.js2
2 files changed, 24 insertions, 2 deletions
diff --git a/app/assets/javascripts/security_configuration/components/training_provider_list.vue b/app/assets/javascripts/security_configuration/components/training_provider_list.vue
index 7a4c0205569..dea94503e62 100644
--- a/app/assets/javascripts/security_configuration/components/training_provider_list.vue
+++ b/app/assets/javascripts/security_configuration/components/training_provider_list.vue
@@ -1,7 +1,12 @@
<script>
import { GlAlert, GlCard, GlToggle, GlLink, GlSkeletonLoader } from '@gitlab/ui';
import * as Sentry from '@sentry/browser';
+import Tracking from '~/tracking';
import { __ } from '~/locale';
+import {
+ TRACK_TOGGLE_TRAINING_PROVIDER_ACTION,
+ TRACK_TOGGLE_TRAINING_PROVIDER_LABEL,
+} from '~/security_configuration/constants';
import dismissUserCalloutMutation from '~/graphql_shared/mutations/dismiss_user_callout.mutation.graphql';
import securityTrainingProvidersQuery from '../graphql/security_training_providers.query.graphql';
import configureSecurityTrainingProvidersMutation from '../graphql/configure_security_training_providers.mutation.graphql';
@@ -23,6 +28,7 @@ export default {
GlLink,
GlSkeletonLoader,
},
+ mixins: [Tracking.mixin()],
inject: ['projectFullPath'],
apollo: {
securityTrainingProviders: {
@@ -93,9 +99,14 @@ export default {
.filter(({ isEnabled }) => isEnabled)
.map(({ id }) => id);
- this.storeEnabledProviders(toggledProviders, enabledProviderIds);
+ const { isEnabled: selectedProviderIsEnabled } = toggledProviders.find(
+ (provider) => provider.id === selectedProviderId,
+ );
+
+ this.trackProviderToggle(selectedProviderId, selectedProviderIsEnabled);
+ this.storeEnabledProviders(enabledProviderIds);
},
- async storeEnabledProviders(toggledProviders, enabledProviderIds) {
+ async storeEnabledProviders(enabledProviderIds) {
this.toggleLoading = true;
try {
@@ -125,6 +136,15 @@ export default {
this.toggleLoading = false;
}
},
+ trackProviderToggle(providerId, providerIsEnabled) {
+ this.track(TRACK_TOGGLE_TRAINING_PROVIDER_ACTION, {
+ label: TRACK_TOGGLE_TRAINING_PROVIDER_LABEL,
+ property: providerId,
+ extra: {
+ providerIsEnabled,
+ },
+ });
+ },
},
i18n,
};
diff --git a/app/assets/javascripts/security_configuration/constants.js b/app/assets/javascripts/security_configuration/constants.js
new file mode 100644
index 00000000000..dc76436e91d
--- /dev/null
+++ b/app/assets/javascripts/security_configuration/constants.js
@@ -0,0 +1,2 @@
+export const TRACK_TOGGLE_TRAINING_PROVIDER_ACTION = 'toggle_security_training_provider';
+export const TRACK_TOGGLE_TRAINING_PROVIDER_LABEL = 'update_security_training_provider';