summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/new_commit_form.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/new_commit_form.js')
-rw-r--r--app/assets/javascripts/new_commit_form.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/assets/javascripts/new_commit_form.js b/app/assets/javascripts/new_commit_form.js
new file mode 100644
index 00000000000..21bf8867f7b
--- /dev/null
+++ b/app/assets/javascripts/new_commit_form.js
@@ -0,0 +1,34 @@
+(function() {
+ var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
+
+ this.NewCommitForm = (function() {
+ function NewCommitForm(form) {
+ this.renderDestination = bind(this.renderDestination, this);
+ this.newBranch = form.find('.js-target-branch');
+ this.originalBranch = form.find('.js-original-branch');
+ this.createMergeRequest = form.find('.js-create-merge-request');
+ this.createMergeRequestContainer = form.find('.js-create-merge-request-container');
+ this.renderDestination();
+ this.newBranch.keyup(this.renderDestination);
+ }
+
+ NewCommitForm.prototype.renderDestination = function() {
+ var different;
+ different = this.newBranch.val() !== this.originalBranch.val();
+ if (different) {
+ this.createMergeRequestContainer.show();
+ if (!this.wasDifferent) {
+ this.createMergeRequest.prop('checked', true);
+ }
+ } else {
+ this.createMergeRequestContainer.hide();
+ this.createMergeRequest.prop('checked', false);
+ }
+ return this.wasDifferent = different;
+ };
+
+ return NewCommitForm;
+
+ })();
+
+}).call(this);