summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Sumaran <alfredo@gitlab.com>2016-03-02 14:37:09 -0500
committerAlfredo Sumaran <alfredo@gitlab.com>2016-03-02 14:37:09 -0500
commitbb1eb4b5dea70bcf4afa85bc180826582752b9a5 (patch)
treeae91b6da9bb1f47c573c8210b6a5fad033c6a666
parent3c9e860f5ee2393c01096337822f2542020c6c23 (diff)
downloadgitlab-ce-bb1eb4b5dea70bcf4afa85bc180826582752b9a5.tar.gz
Set actions dinamically and offer defaultAction as a optional parameter
-rw-r--r--app/assets/javascripts/user_tabs.js.coffee22
1 files changed, 11 insertions, 11 deletions
diff --git a/app/assets/javascripts/user_tabs.js.coffee b/app/assets/javascripts/user_tabs.js.coffee
index 5d82f599710..8f1e8027197 100644
--- a/app/assets/javascripts/user_tabs.js.coffee
+++ b/app/assets/javascripts/user_tabs.js.coffee
@@ -50,11 +50,10 @@
# </div>
#
class @UserTabs
- actions: ['activity', 'groups', 'contributed', 'projects'],
- defaultAction: 'activity',
constructor: (opts) ->
{
@action = 'activity'
+ @defaultAction = 'activity'
@parentEl = $(document)
} = opts
@@ -63,16 +62,21 @@ class @UserTabs
# Store the `location` object, allowing for easier stubbing in tests
@_location = location
+
+ # Set tab states
@loaded = {}
+ for item in @parentEl.find('.nav-links a')
+ @loaded[$(item).attr 'data-action'] = false
- @bindEvents()
- @tabStateInit()
+ # Actions
+ @actions = Object.keys @loaded
- currAction = @defaultAction if @action is 'show'
+ @bindEvents()
# Set active tab
- source = $(".#{currAction}-tab a").attr('href')
- @activateTab(currAction)
+ @action = @defaultAction if @action is 'show'
+ source = $(".#{@action}-tab a").attr('href')
+ @activateTab(@action)
bindEvents: ->
# Turn off existing event listeners
@@ -81,10 +85,6 @@ class @UserTabs
# Set event listeners
@parentEl.on 'shown.bs.tab', '.nav-links a[data-toggle="tab"]', @tabShown
- tabStateInit: ->
- for action in @actions
- @loaded[action] = false
-
tabShown: (event) =>
$target = $(event.target)
action = $target.data('action')