Merge pull request #1068 from sharelatex/jel-link-to-tab

Fix .link-to-tab when link within a tab

GitOrigin-RevId: b2d5482771caef5abc4afa4d270f64598f72f0d7
This commit is contained in:
Timothée Alby 2018-10-25 17:07:37 +02:00 committed by sharelatex
parent f442fd65e3
commit fd8b7fbb6c

View file

@ -5,9 +5,6 @@ define [
restrict: "A"
require: "tabset"
link: (scope, el, attrs, tabset) ->
linksToTabs = document.querySelectorAll(".link-to-tab");
_clickLinkToTab = (event) ->
_makeActive(event.currentTarget.getAttribute("href").replace('#', ''))
_makeActive = (hash) ->
if hash? and hash != ""
@ -17,14 +14,22 @@ define [
matchingTab.select()
el.children()[0].scrollIntoView({ behavior: "smooth" })
for link in linksToTabs
link.addEventListener("click", _clickLinkToTab)
scope.$applyAsync () ->
# for page load
hash = $location.hash()
_makeActive(hash)
# for links within page to a tab
# this needs to be within applyAsync because there could be a link
# within a tab to another tab
linksToTabs = document.querySelectorAll(".link-to-tab");
_clickLinkToTab = (event) ->
_makeActive(event.currentTarget.getAttribute("href").replace('#', ''))
if linksToTabs
for link in linksToTabs
link.addEventListener("click", _clickLinkToTab)
App.directive "bookmarkableTab", ($location) ->
restrict: "A"
require: "tab"