forked from Archives/Athou_commafeed
36 lines
862 B
JavaScript
36 lines
862 B
JavaScript
var app = angular.module('commafeed.services');
|
|
|
|
app.factory('$templateCache', ['$cacheFactory', '$http', '$injector', function($cacheFactory, $http, $injector) {
|
|
var cache = $cacheFactory('templates');
|
|
var allTplPromise;
|
|
|
|
return {
|
|
get : function(url) {
|
|
var fromCache = cache.get(url);
|
|
|
|
if (fromCache) {
|
|
return fromCache;
|
|
}
|
|
|
|
if (!allTplPromise) {
|
|
var lang = $('html').attr('lang');
|
|
allTplPromise = $http.get('templates/all-templates.' + lang + '.html?${timestamp}').then(
|
|
function(response) {
|
|
$injector.get('$compile')(response.data);
|
|
return response;
|
|
});
|
|
}
|
|
|
|
return allTplPromise.then(function(response) {
|
|
return {
|
|
status : response.status,
|
|
data : cache.get(url)
|
|
};
|
|
});
|
|
},
|
|
|
|
put : function(key, value) {
|
|
cache.put(key, value);
|
|
}
|
|
};
|
|
}]); |