This repository has been archived on 2022-01-02. You can view files and clone it, but cannot push or open issues or pull requests.
AriaNg/src/scripts/services/ariaNgLanguageLoader.js

36 lines
1.2 KiB
JavaScript
Raw Normal View History

2016-07-16 19:16:17 +02:00
(function () {
'use strict';
angular.module('ariaNg').factory('ariaNgLanguageLoader', ['$http', '$q', 'localStorageService', 'ariaNgConstants', 'ariaNgLanguages', function ($http, $q, localStorageService, ariaNgConstants, ariaNgLanguages) {
return function (options) {
var deferred = $q.defer();
if (!ariaNgLanguages[options.key]) {
deferred.reject(options.key);
return deferred.promise;
}
var languageKey = ariaNgConstants.languageStorageKeyPrefix + '.' + options.key;
var languageResource = localStorageService.get(languageKey);
if (languageResource) {
deferred.resolve(languageResource);
}
var languagePath = ariaNgConstants.languagePath + '/' + options.key + ariaNgConstants.languageFileExtension;
$http({
url: languagePath,
method: 'GET'
}).success(function (data) {
localStorageService.set(languageKey, data);
return deferred.resolve(data);
}).error(function (data) {
return deferred.reject(options.key);
});
return deferred.promise;
};
}]);
})();