summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/projects/settings/branch_rules/components/edit/index.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/projects/settings/branch_rules/components/edit/index.vue')
-rw-r--r--app/assets/javascripts/projects/settings/branch_rules/components/edit/index.vue56
1 files changed, 56 insertions, 0 deletions
diff --git a/app/assets/javascripts/projects/settings/branch_rules/components/edit/index.vue b/app/assets/javascripts/projects/settings/branch_rules/components/edit/index.vue
new file mode 100644
index 00000000000..ad3eb7d2899
--- /dev/null
+++ b/app/assets/javascripts/projects/settings/branch_rules/components/edit/index.vue
@@ -0,0 +1,56 @@
+<script>
+import { GlFormGroup } from '@gitlab/ui';
+import { s__ } from '~/locale';
+import { getParameterByName } from '~/lib/utils/url_utility';
+import BranchDropdown from './branch_dropdown.vue';
+import Protections from './protections/index.vue';
+
+export default {
+ name: 'RuleEdit',
+ i18n: { branch: s__('BranchRules|Branch') },
+ components: {
+ BranchDropdown,
+ GlFormGroup,
+ Protections,
+ },
+ props: {
+ projectPath: {
+ type: String,
+ required: true,
+ },
+ },
+ data() {
+ return {
+ branch: getParameterByName('branch'),
+ protections: {
+ membersAllowedToPush: [],
+ allowForcePush: false,
+ membersAllowedToMerge: [],
+ requireCodeOwnersApproval: false,
+ },
+ };
+ },
+};
+</script>
+
+<template>
+ <div>
+ <gl-form-group :label="$options.i18n.branch">
+ <branch-dropdown
+ id="branches"
+ v-model="branch"
+ class="gl-w-half"
+ :project-path="projectPath"
+ @createWildcard="branch = $event"
+ />
+ </gl-form-group>
+
+ <protections
+ :protections="protections"
+ @change-allowed-to-push-members="protections.membersAllowedToPush = $event"
+ @change-allow-force-push="protections.allowForcePush = $event"
+ @change-allowed-to-merge-members="protections.membersAllowedToMerge = $event"
+ @change-require-code-owners-approval="protections.requireCodeOwnersApproval = $event"
+ />
+ </div>
+</template>