diff options
author | Alfredo Sumaran <alfredo@gitlab.com> | 2016-03-02 14:37:09 -0500 |
---|---|---|
committer | Alfredo Sumaran <alfredo@gitlab.com> | 2016-03-02 14:37:09 -0500 |
commit | bb1eb4b5dea70bcf4afa85bc180826582752b9a5 (patch) | |
tree | ae91b6da9bb1f47c573c8210b6a5fad033c6a666 /app | |
parent | 3c9e860f5ee2393c01096337822f2542020c6c23 (diff) | |
download | gitlab-ce-bb1eb4b5dea70bcf4afa85bc180826582752b9a5.tar.gz |
Set actions dinamically and offer defaultAction as a optional parameter
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/user_tabs.js.coffee | 22 |
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') |