Skip to content
Snippets Groups Projects
Select Git revision
  • move-gl-dropdown
  • improve-table-pagination-spec
  • move-markdown-preview
  • winh-fix-merge-request-spec
  • master default
  • index-namespaces-lower-name
  • winh-single-karma-test
  • 10-3-stable
  • 36782-replace-team-user-role-with-add_role-user-in-specs
  • winh-modal-internal-state
  • tz-ide-file-icons
  • 38869-milestone-select
  • update-autodevops-template
  • jivl-activate-repo-cookie-preferences
  • qa-add-deploy-key
  • docs-move-article-ldap
  • 40780-choose-file
  • 22643-manual-job-page
  • refactor-cluster-show-page-conservative
  • dm-sidekiq-versioning
  • v10.4.0.pre
  • v10.3.0
  • v10.3.0-rc5
  • v10.3.0-rc4
  • v10.3.0-rc3
  • v10.3.0-rc2
  • v10.2.5
  • v10.3.0-rc1
  • v10.0.7
  • v10.1.5
  • v10.2.4
  • v10.2.3
  • v10.2.2
  • v10.2.1
  • v10.3.0.pre
  • v10.2.0
  • v10.2.0-rc4
  • v10.2.0-rc3
  • v10.1.4
  • v10.2.0-rc2
40 results

utils.rb

Blame
  • Forked from GitLab.org / GitLab FOSS
    Source project has a limited visibility.
    notifications_form.js NaN GiB
    (function() {
      var bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
    
      this.NotificationsForm = (function() {
        function NotificationsForm() {
          this.toggleCheckbox = bind(this.toggleCheckbox, this);
          this.removeEventListeners();
          this.initEventListeners();
        }
    
        NotificationsForm.prototype.removeEventListeners = function() {
          return $(document).off('change', '.js-custom-notification-event');
        };
    
        NotificationsForm.prototype.initEventListeners = function() {
          return $(document).on('change', '.js-custom-notification-event', this.toggleCheckbox);
        };
    
        NotificationsForm.prototype.toggleCheckbox = function(e) {
          var $checkbox, $parent;
          $checkbox = $(e.currentTarget);
          $parent = $checkbox.closest('.checkbox');
          return this.saveEvent($checkbox, $parent);
        };
    
        NotificationsForm.prototype.showCheckboxLoadingSpinner = function($parent) {
          return $parent.addClass('is-loading').find('.custom-notification-event-loading').removeClass('fa-check').addClass('fa-spin fa-spinner').removeClass('is-done');
        };
    
        NotificationsForm.prototype.saveEvent = function($checkbox, $parent) {
          var form;
          form = $parent.parents('form:first');
          return $.ajax({
            url: form.attr('action'),
            method: form.attr('method'),
            dataType: 'json',
            data: form.serialize(),
            beforeSend: (function(_this) {
              return function() {
                return _this.showCheckboxLoadingSpinner($parent);
              };
            })(this)
          }).done(function(data) {
            $checkbox.enable();
            if (data.saved) {
              $parent.find('.custom-notification-event-loading').toggleClass('fa-spin fa-spinner fa-check is-done');
              return setTimeout(function() {
                return $parent.removeClass('is-loading').find('.custom-notification-event-loading').toggleClass('fa-spin fa-spinner fa-check is-done');
              }, 2000);
            }
          });
        };
    
        return NotificationsForm;
    
      })();
    
    }).call(this);