1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 02:09:32 +02:00
OpenSTF/res/app/components/stf/nav-menu/nav-menu-directive.js
Gunther Brunner 593e14a80a - New nav menu.
- Polishing device list.
2014-03-25 21:18:10 +09:00

39 lines
No EOL
870 B
JavaScript

module.exports = function ($location) {
return function (scope, element, attrs) {
var links = element.find('a')
var onClass = attrs.navMenu || 'current'
var routePattern
var link
var url
var currentLink
var urlMap = {}
var i
if (!$location.$$html5) {
routePattern = /^#[^/]*/
}
for (i = 0; i < links.length; i++) {
link = angular.element(links[i])
url = link.attr('href')
if ($location.$$html5) {
urlMap[url] = link
} else {
urlMap[url.replace(routePattern, '')] = link
}
}
scope.$on('$routeChangeStart', function () {
var pathLink = urlMap[$location.path()]
if (pathLink) {
if (currentLink) {
currentLink.removeClass(onClass);
}
currentLink = pathLink;
currentLink.addClass(onClass);
}
})
}
}