shortcuts_dashboard_navigation.js 1.4 KB
Newer Older
F
Fatih Acet 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

/*= require shortcuts */

(function() {
  var extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
    hasProp = {}.hasOwnProperty;

  this.ShortcutsDashboardNavigation = (function(superClass) {
    extend(ShortcutsDashboardNavigation, superClass);

    function ShortcutsDashboardNavigation() {
      ShortcutsDashboardNavigation.__super__.constructor.call(this);
      Mousetrap.bind('g a', function() {
        return ShortcutsDashboardNavigation.findAndFollowLink('.dashboard-shortcuts-activity');
      });
      Mousetrap.bind('g i', function() {
        return ShortcutsDashboardNavigation.findAndFollowLink('.dashboard-shortcuts-issues');
      });
      Mousetrap.bind('g m', function() {
        return ShortcutsDashboardNavigation.findAndFollowLink('.dashboard-shortcuts-merge_requests');
      });
      Mousetrap.bind('g p', function() {
        return ShortcutsDashboardNavigation.findAndFollowLink('.dashboard-shortcuts-projects');
      });
    }

    ShortcutsDashboardNavigation.findAndFollowLink = function(selector) {
      var link;
      link = $(selector).attr('href');
      if (link) {
        return window.location = link;
      }
    };

    return ShortcutsDashboardNavigation;

  })(Shortcuts);

}).call(this);