summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/ci/ci_variable_list/components/ci_group_variables.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/ci/ci_variable_list/components/ci_group_variables.vue')
-rw-r--r--app/assets/javascripts/ci/ci_variable_list/components/ci_group_variables.vue54
1 files changed, 54 insertions, 0 deletions
diff --git a/app/assets/javascripts/ci/ci_variable_list/components/ci_group_variables.vue b/app/assets/javascripts/ci/ci_variable_list/components/ci_group_variables.vue
new file mode 100644
index 00000000000..4466a6a8081
--- /dev/null
+++ b/app/assets/javascripts/ci/ci_variable_list/components/ci_group_variables.vue
@@ -0,0 +1,54 @@
+<script>
+import { convertToGraphQLId } from '~/graphql_shared/utils';
+import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
+import {
+ ADD_MUTATION_ACTION,
+ DELETE_MUTATION_ACTION,
+ GRAPHQL_GROUP_TYPE,
+ UPDATE_MUTATION_ACTION,
+} from '../constants';
+import getGroupVariables from '../graphql/queries/group_variables.query.graphql';
+import addGroupVariable from '../graphql/mutations/group_add_variable.mutation.graphql';
+import deleteGroupVariable from '../graphql/mutations/group_delete_variable.mutation.graphql';
+import updateGroupVariable from '../graphql/mutations/group_update_variable.mutation.graphql';
+import CiVariableShared from './ci_variable_shared.vue';
+
+export default {
+ components: {
+ CiVariableShared,
+ },
+ mixins: [glFeatureFlagsMixin()],
+ inject: ['groupPath', 'groupId'],
+ computed: {
+ areScopedVariablesAvailable() {
+ return this.glFeatures.groupScopedCiVariables;
+ },
+ graphqlId() {
+ return convertToGraphQLId(GRAPHQL_GROUP_TYPE, this.groupId);
+ },
+ },
+ mutationData: {
+ [ADD_MUTATION_ACTION]: addGroupVariable,
+ [UPDATE_MUTATION_ACTION]: updateGroupVariable,
+ [DELETE_MUTATION_ACTION]: deleteGroupVariable,
+ },
+ queryData: {
+ ciVariables: {
+ lookup: (data) => data?.group?.ciVariables,
+ query: getGroupVariables,
+ },
+ },
+};
+</script>
+
+<template>
+ <ci-variable-shared
+ :id="graphqlId"
+ :are-scoped-variables-available="areScopedVariablesAvailable"
+ component-name="GroupVariables"
+ entity="group"
+ :full-path="groupPath"
+ :mutation-data="$options.mutationData"
+ :query-data="$options.queryData"
+ />
+</template>