summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/pages/projects/edit/index.js2
-rw-r--r--app/assets/javascripts/pages/projects/edit/init_merge_options_checkbox_sync.js18
2 files changed, 20 insertions, 0 deletions
diff --git a/app/assets/javascripts/pages/projects/edit/index.js b/app/assets/javascripts/pages/projects/edit/index.js
index 92ed6a652d7..ecf38d87aac 100644
--- a/app/assets/javascripts/pages/projects/edit/index.js
+++ b/app/assets/javascripts/pages/projects/edit/index.js
@@ -7,6 +7,7 @@ import dirtySubmitFactory from '~/dirty_submit/dirty_submit_factory';
import initAvatarPicker from '~/avatar_picker';
import initProjectLoadingSpinner from '../shared/save_project_loader';
import initProjectPermissionsSettings from '../shared/permissions';
+import initMergeOptionsCheckboxSync from './init_merge_options_checkbox_sync';
document.addEventListener('DOMContentLoaded', () => {
initAvatarPicker();
@@ -17,6 +18,7 @@ document.addEventListener('DOMContentLoaded', () => {
initProjectLoadingSpinner();
initProjectPermissionsSettings();
setupProjectEdit();
+ initMergeOptionsCheckboxSync();
dirtySubmitFactory(
document.querySelectorAll(
diff --git a/app/assets/javascripts/pages/projects/edit/init_merge_options_checkbox_sync.js b/app/assets/javascripts/pages/projects/edit/init_merge_options_checkbox_sync.js
new file mode 100644
index 00000000000..19fbf10bbf6
--- /dev/null
+++ b/app/assets/javascripts/pages/projects/edit/init_merge_options_checkbox_sync.js
@@ -0,0 +1,18 @@
+export default () => {
+ const mergePipelinesCheckbox = document.querySelector('.js-merge-options-merge-pipelines');
+ const mergeTrainsCheckbox = document.querySelector('.js-merge-options-merge-trains');
+
+ if (mergePipelinesCheckbox && mergeTrainsCheckbox) {
+ mergePipelinesCheckbox.addEventListener('change', event => {
+ if (!event.target.checked && mergeTrainsCheckbox.checked) {
+ mergeTrainsCheckbox.click();
+ }
+ });
+
+ mergeTrainsCheckbox.addEventListener('change', event => {
+ if (event.target.checked && !mergePipelinesCheckbox.checked) {
+ mergePipelinesCheckbox.click();
+ }
+ });
+ }
+};