Files
satbd-explorer/webapp/js/services.js

49 lines
1.1 KiB
JavaScript

var services = angular.module('satbd.satellite.bar.services',[])
services.factory('albumService',['$http','$log','$q', function($http,$log,$q) {
var determinantRegexp = /^(.*) \(([Ll][eas']+)\)$/;
var removeSerie = /^\(.*\) .*$/;
function cleanupName(name) {
matches = name.match(determinantRegexp);
if (matches == null) {
return name;
}
return matches[2] + ' ' + matches[1];
}
function cleanupFields(album) {
album.serie = album.série;
album.série = undefined;
album.editeur = album.éditeur;
album.éditeur = undefined;
if (removeSerie.test(album.serie) == true) {
album.serieDisplay = '';
} else {
album.serieDisplay = cleanupName(album.serie);
if ( album.Num > -1 ) {
album.serieDisplay += ' ' + album.Num;
}
}
album.titleDisplay = cleanupName(album.titre);
return album;
}
function get(id) {
return $http.get('/api/albums/'+ id).then(function (response) {
return cleanupFields(response.data);
});
}
function search(terms) {
var defer = $q.defer();
defer.reject('Search is not implemented');
return defer.promise;
}
return {
get: get,
search: search
};
}]);