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:
authorFatih Acet <acetfatih@gmail.com>2016-07-24 23:45:11 +0300
committerFatih Acet <acetfatih@gmail.com>2016-07-24 23:45:11 +0300
commitaaa9509d120524573085e94af9de5cdde83e3271 (patch)
tree3824cffd4cdd132ee9cf75a00a7624f5ccc0dabd /app/assets/javascripts/behaviors
parent56b79181adc0bd6e9abef97ea075c14be971a01a (diff)
ES6ify all the things!
Diffstat (limited to 'app/assets/javascripts/behaviors')
-rw-r--r--app/assets/javascripts/behaviors/autosize.js30
-rw-r--r--app/assets/javascripts/behaviors/autosize.js.coffee22
-rw-r--r--app/assets/javascripts/behaviors/details_behavior.coffee15
-rw-r--r--app/assets/javascripts/behaviors/details_behavior.js15
-rw-r--r--app/assets/javascripts/behaviors/quick_submit.js58
-rw-r--r--app/assets/javascripts/behaviors/quick_submit.js.coffee56
-rw-r--r--app/assets/javascripts/behaviors/requires_input.js45
-rw-r--r--app/assets/javascripts/behaviors/requires_input.js.coffee52
-rw-r--r--app/assets/javascripts/behaviors/toggler_behavior.coffee14
-rw-r--r--app/assets/javascripts/behaviors/toggler_behavior.js10
10 files changed, 158 insertions, 159 deletions
diff --git a/app/assets/javascripts/behaviors/autosize.js b/app/assets/javascripts/behaviors/autosize.js
new file mode 100644
index 00000000000..f977a1e8a7b
--- /dev/null
+++ b/app/assets/javascripts/behaviors/autosize.js
@@ -0,0 +1,30 @@
+
+/*= require jquery.ba-resize */
+
+
+/*= require autosize */
+
+(function() {
+ $(function() {
+ var $fields;
+ $fields = $('.js-autosize');
+ $fields.on('autosize:resized', function() {
+ var $field;
+ $field = $(this);
+ return $field.data('height', $field.outerHeight());
+ });
+ $fields.on('resize.autosize', function() {
+ var $field;
+ $field = $(this);
+ if ($field.data('height') !== $field.outerHeight()) {
+ $field.data('height', $field.outerHeight());
+ autosize.destroy($field);
+ return $field.css('max-height', window.outerHeight);
+ }
+ });
+ autosize($fields);
+ autosize.update($fields);
+ return $fields.css('resize', 'vertical');
+ });
+
+}).call(this);
diff --git a/app/assets/javascripts/behaviors/autosize.js.coffee b/app/assets/javascripts/behaviors/autosize.js.coffee
deleted file mode 100644
index a072fe48a98..00000000000
--- a/app/assets/javascripts/behaviors/autosize.js.coffee
+++ /dev/null
@@ -1,22 +0,0 @@
-#= require jquery.ba-resize
-#= require autosize
-
-$ ->
- $fields = $('.js-autosize')
-
- $fields.on 'autosize:resized', ->
- $field = $(@)
- $field.data('height', $field.outerHeight())
-
- $fields.on 'resize.autosize', ->
- $field = $(@)
-
- if $field.data('height') != $field.outerHeight()
- $field.data('height', $field.outerHeight())
- autosize.destroy($field)
- $field.css('max-height', window.outerHeight)
-
- autosize($fields)
- autosize.update($fields)
-
- $fields.css('resize', 'vertical')
diff --git a/app/assets/javascripts/behaviors/details_behavior.coffee b/app/assets/javascripts/behaviors/details_behavior.coffee
deleted file mode 100644
index decab3e1bed..00000000000
--- a/app/assets/javascripts/behaviors/details_behavior.coffee
+++ /dev/null
@@ -1,15 +0,0 @@
-$ ->
- $("body").on "click", ".js-details-target", ->
- container = $(@).closest(".js-details-container")
- container.toggleClass("open")
-
- # Show details content. Hides link after click.
- #
- # %div
- # %a.js-details-expand
- # %div.js-details-content
- #
- $("body").on "click", ".js-details-expand", (e) ->
- $(@).next('.js-details-content').removeClass("hide")
- $(@).hide()
- e.preventDefault()
diff --git a/app/assets/javascripts/behaviors/details_behavior.js b/app/assets/javascripts/behaviors/details_behavior.js
new file mode 100644
index 00000000000..3631d1b74ac
--- /dev/null
+++ b/app/assets/javascripts/behaviors/details_behavior.js
@@ -0,0 +1,15 @@
+(function() {
+ $(function() {
+ $("body").on("click", ".js-details-target", function() {
+ var container;
+ container = $(this).closest(".js-details-container");
+ return container.toggleClass("open");
+ });
+ return $("body").on("click", ".js-details-expand", function(e) {
+ $(this).next('.js-details-content').removeClass("hide");
+ $(this).hide();
+ return e.preventDefault();
+ });
+ });
+
+}).call(this);
diff --git a/app/assets/javascripts/behaviors/quick_submit.js b/app/assets/javascripts/behaviors/quick_submit.js
new file mode 100644
index 00000000000..3527d0a95fc
--- /dev/null
+++ b/app/assets/javascripts/behaviors/quick_submit.js
@@ -0,0 +1,58 @@
+
+/*= require extensions/jquery */
+
+(function() {
+ var isMac, keyCodeIs;
+
+ isMac = function() {
+ return navigator.userAgent.match(/Macintosh/);
+ };
+
+ keyCodeIs = function(e, keyCode) {
+ if ((e.originalEvent && e.originalEvent.repeat) || e.repeat) {
+ return false;
+ }
+ return e.keyCode === keyCode;
+ };
+
+ $(document).on('keydown.quick_submit', '.js-quick-submit', function(e) {
+ var $form, $submit_button;
+ if (!keyCodeIs(e, 13)) {
+ return;
+ }
+ if (!((e.metaKey && !e.altKey && !e.ctrlKey && !e.shiftKey) || (e.ctrlKey && !e.altKey && !e.metaKey && !e.shiftKey))) {
+ return;
+ }
+ e.preventDefault();
+ $form = $(e.target).closest('form');
+ $submit_button = $form.find('input[type=submit], button[type=submit]');
+ if ($submit_button.attr('disabled')) {
+ return;
+ }
+ $submit_button.disable();
+ return $form.submit();
+ });
+
+ $(document).on('keyup.quick_submit', '.js-quick-submit input[type=submit], .js-quick-submit button[type=submit]', function(e) {
+ var $this, title;
+ if (!keyCodeIs(e, 9)) {
+ return;
+ }
+ if (isMac()) {
+ title = "You can also press &#8984;-Enter";
+ } else {
+ title = "You can also press Ctrl-Enter";
+ }
+ $this = $(this);
+ return $this.tooltip({
+ container: 'body',
+ html: 'true',
+ placement: 'auto top',
+ title: title,
+ trigger: 'manual'
+ }).tooltip('show').one('blur', function() {
+ return $this.tooltip('hide');
+ });
+ });
+
+}).call(this);
diff --git a/app/assets/javascripts/behaviors/quick_submit.js.coffee b/app/assets/javascripts/behaviors/quick_submit.js.coffee
deleted file mode 100644
index 3cb96bacaa7..00000000000
--- a/app/assets/javascripts/behaviors/quick_submit.js.coffee
+++ /dev/null
@@ -1,56 +0,0 @@
-# Quick Submit behavior
-#
-# When a child field of a form with a `js-quick-submit` class receives a
-# "Meta+Enter" (Mac) or "Ctrl+Enter" (Linux/Windows) key combination, the form
-# is submitted.
-#
-#= require extensions/jquery
-#
-# ### Example Markup
-#
-# <form action="/foo" class="js-quick-submit">
-# <input type="text" />
-# <textarea></textarea>
-# <input type="submit" value="Submit" />
-# </form>
-#
-isMac = ->
- navigator.userAgent.match(/Macintosh/)
-
-keyCodeIs = (e, keyCode) ->
- return false if (e.originalEvent && e.originalEvent.repeat) || e.repeat
- return e.keyCode == keyCode
-
-$(document).on 'keydown.quick_submit', '.js-quick-submit', (e) ->
- return unless keyCodeIs(e, 13) # Enter
-
- return unless (e.metaKey && !e.altKey && !e.ctrlKey && !e.shiftKey) || (e.ctrlKey && !e.altKey && !e.metaKey && !e.shiftKey)
-
- e.preventDefault()
-
- $form = $(e.target).closest('form')
- $submit_button = $form.find('input[type=submit], button[type=submit]')
-
- return if $submit_button.attr('disabled')
-
- $submit_button.disable()
- $form.submit()
-
-# If the user tabs to a submit button on a `js-quick-submit` form, display a
-# tooltip to let them know they could've used the hotkey
-$(document).on 'keyup.quick_submit', '.js-quick-submit input[type=submit], .js-quick-submit button[type=submit]', (e) ->
- return unless keyCodeIs(e, 9) # Tab
-
- if isMac()
- title = "You can also press &#8984;-Enter"
- else
- title = "You can also press Ctrl-Enter"
-
- $this = $(@)
- $this.tooltip(
- container: 'body'
- html: 'true'
- placement: 'auto top'
- title: title
- trigger: 'manual'
- ).tooltip('show').one('blur', -> $this.tooltip('hide'))
diff --git a/app/assets/javascripts/behaviors/requires_input.js b/app/assets/javascripts/behaviors/requires_input.js
new file mode 100644
index 00000000000..db0b36b24e9
--- /dev/null
+++ b/app/assets/javascripts/behaviors/requires_input.js
@@ -0,0 +1,45 @@
+
+/*= require extensions/jquery */
+
+(function() {
+ $.fn.requiresInput = function() {
+ var $button, $form, fieldSelector, requireInput, required;
+ $form = $(this);
+ $button = $('button[type=submit], input[type=submit]', $form);
+ required = '[required=required]';
+ fieldSelector = "input" + required + ", select" + required + ", textarea" + required;
+ requireInput = function() {
+ var values;
+ values = _.map($(fieldSelector, $form), function(field) {
+ return field.value;
+ });
+ if (values.length && _.any(values, _.isEmpty)) {
+ return $button.disable();
+ } else {
+ return $button.enable();
+ }
+ };
+ requireInput();
+ return $form.on('change input', fieldSelector, requireInput);
+ };
+
+ $(function() {
+ var $form, hideOrShowHelpBlock;
+ $form = $('form.js-requires-input');
+ $form.requiresInput();
+ hideOrShowHelpBlock = function(form) {
+ var selected;
+ selected = $('.js-select-namespace option:selected');
+ if (selected.length && selected.data('options-parent') === 'groups') {
+ return form.find('.help-block').hide();
+ } else if (selected.length) {
+ return form.find('.help-block').show();
+ }
+ };
+ hideOrShowHelpBlock($form);
+ return $('.select2.js-select-namespace').change(function() {
+ return hideOrShowHelpBlock($form);
+ });
+ });
+
+}).call(this);
diff --git a/app/assets/javascripts/behaviors/requires_input.js.coffee b/app/assets/javascripts/behaviors/requires_input.js.coffee
deleted file mode 100644
index 0faa570ce13..00000000000
--- a/app/assets/javascripts/behaviors/requires_input.js.coffee
+++ /dev/null
@@ -1,52 +0,0 @@
-# Requires Input behavior
-#
-# When called on a form with input fields with the `required` attribute, the
-# form's submit button will be disabled until all required fields have values.
-#
-#= require extensions/jquery
-#
-# ### Example Markup
-#
-# <form class="js-requires-input">
-# <input type="text" required="required">
-# <input type="submit" value="Submit">
-# </form>
-#
-$.fn.requiresInput = ->
- $form = $(this)
- $button = $('button[type=submit], input[type=submit]', $form)
-
- required = '[required=required]'
- fieldSelector = "input#{required}, select#{required}, textarea#{required}"
-
- requireInput = ->
- # Collect the input values of *all* required fields
- values = _.map $(fieldSelector, $form), (field) -> field.value
-
- # Disable the button if any required fields are empty
- if values.length && _.any(values, _.isEmpty)
- $button.disable()
- else
- $button.enable()
-
- # Set initial button state
- requireInput()
-
- $form.on 'change input', fieldSelector, requireInput
-
-$ ->
- $form = $('form.js-requires-input')
- $form.requiresInput()
-
- # Hide or Show the help block when creating a new project
- # based on the option selected
- hideOrShowHelpBlock = (form) ->
- selected = $('.js-select-namespace option:selected')
- if selected.length and selected.data('options-parent') is 'groups'
- return form.find('.help-block').hide()
- else if selected.length
- form.find('.help-block').show()
-
- hideOrShowHelpBlock($form)
-
- $('.select2.js-select-namespace').change -> hideOrShowHelpBlock($form)
diff --git a/app/assets/javascripts/behaviors/toggler_behavior.coffee b/app/assets/javascripts/behaviors/toggler_behavior.coffee
deleted file mode 100644
index 177b6918270..00000000000
--- a/app/assets/javascripts/behaviors/toggler_behavior.coffee
+++ /dev/null
@@ -1,14 +0,0 @@
-$ ->
- # Toggle button. Show/hide content inside parent container.
- # Button does not change visibility. If button has icon - it changes chevron style.
- #
- # %div.js-toggle-container
- # %a.js-toggle-button
- # %div.js-toggle-content
- #
- $("body").on "click", ".js-toggle-button", (e) ->
- $(@).find('i').
- toggleClass('fa fa-chevron-down').
- toggleClass('fa fa-chevron-up')
- $(@).closest(".js-toggle-container").find(".js-toggle-content").toggle()
- e.preventDefault()
diff --git a/app/assets/javascripts/behaviors/toggler_behavior.js b/app/assets/javascripts/behaviors/toggler_behavior.js
new file mode 100644
index 00000000000..1b7b63489ea
--- /dev/null
+++ b/app/assets/javascripts/behaviors/toggler_behavior.js
@@ -0,0 +1,10 @@
+(function() {
+ $(function() {
+ return $("body").on("click", ".js-toggle-button", function(e) {
+ $(this).find('i').toggleClass('fa fa-chevron-down').toggleClass('fa fa-chevron-up');
+ $(this).closest(".js-toggle-container").find(".js-toggle-content").toggle();
+ return e.preventDefault();
+ });
+ });
+
+}).call(this);