diff --git a/awx/ui/static/js/shared/route-extensions/link-to.directive.js b/awx/ui/static/js/shared/route-extensions/link-to.directive.js index b79ffaef99..5528717abd 100644 --- a/awx/ui/static/js/shared/route-extensions/link-to.directive.js +++ b/awx/ui/static/js/shared/route-extensions/link-to.directive.js @@ -1,3 +1,5 @@ +/* jshint unused: vars */ + import {lookupRouteUrl} from './lookup-route-url'; /** @@ -37,9 +39,9 @@ import {lookupRouteUrl} from './lookup-route-url'; title: 'Featured', body: 'This post is featured because it is awesome' };"> - + {{featuredPost.title}} - + @@ -47,20 +49,19 @@ import {lookupRouteUrl} from './lookup-route-url'; */ export default [ '$route', + '$location', 'transitionTo', - function($routeProvider, transitionTo) { + function($routeProvider, $location, transitionTo) { + return { - restrict: 'E', - transclude: true, - template: '', + restrict: 'A', scope: { - routeName: '@route', + routeName: '@linkTo', model: '&' }, - link: function(scope, element) { - + link: function (scope, element, attrs) { var model = scope.$eval(scope.model); - scope.url = lookupRouteUrl(scope.routeName, $routeProvider.routes, model); + scope.url = lookupRouteUrl(scope.routeName, $routeProvider.routes, model, $location.$$html5); element.find('[data-transition-to]').on('click', function(e) { e.stopPropagation(); @@ -68,6 +69,7 @@ export default transitionTo(scope.routeName, model); }); + element.attr('href', scope.url); } }; } diff --git a/awx/ui/static/js/shared/route-extensions/lookup-route-url.js b/awx/ui/static/js/shared/route-extensions/lookup-route-url.js index 54e505a2ae..e2b0b8ffd5 100644 --- a/awx/ui/static/js/shared/route-extensions/lookup-route-url.js +++ b/awx/ui/static/js/shared/route-extensions/lookup-route-url.js @@ -1,4 +1,4 @@ -export function lookupRouteUrl(name, routes, models) { +export function lookupRouteUrl(name, routes, models, html5Mode) { var route = _.find(routes, {name: name}); if (angular.isUndefined(route)) { @@ -39,5 +39,9 @@ export function lookupRouteUrl(name, routes, models) { } + if (!html5Mode) { + routeUrl = '#' + routeUrl; + } + return routeUrl; }