This repository has been archived on 2020-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
quay/static/js/services/meta-service.js
Joseph Schorr fce37f545a Fix page titles
Fixes #949
2015-11-20 17:50:01 -05:00

40 lines
925 B
JavaScript

/**
* Service which helps set the contents of the <meta> tags (and the <title> of a page).
*/
angular.module('quay').factory('MetaService', ['$interpolate', 'Config', '$rootScope', '$interval',
function($interpolate, Config, $rootScope, $interval) {
var metaService = {};
var interpolate = function(page, expr) {
if (!expr) {
return null;
}
var inter = $interpolate(expr, true, null, true);
if (!inter) {
return expr.toString();
}
return inter(page.scope);
};
metaService.getTitle = function(page) {
if (!page || !page.$$route) {
return null;
}
var route = page.$$route;
return interpolate(page, route && route.title);
};
metaService.getDescription = function(page) {
if (!page || !page.$$route) {
return null;
}
var route = page.$$route;
return interpolate(route && route.description);
};
return metaService;
}]);