Skip to content
This repository has been archived by the owner on Jan 29, 2024. It is now read-only.

Commit

Permalink
chore(events): adds event broadcasting for missing events
Browse files Browse the repository at this point in the history
  • Loading branch information
0x-r4bbit committed Aug 6, 2013
1 parent 25bda09 commit e688dee
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions src/translate.js
Original file line number Diff line number Diff line change
Expand Up @@ -601,15 +601,18 @@ angular.module('pascalprecht.translate').provider('$translate', ['$STORAGE_KEY',
if (!key) {
throw "No language key specified for loading.";
}

var deferred = $q.defer();

$rootScope.$broadcast('$translateLoadingStart');

pendingLoader = true;
$nextLang = key;

$injector.get($loaderFactory)(angular.extend($loaderOptions, {
key: key
})).then(function (data) {

$rootScope.$broadcast('$translateLoadingSuccess');
var translationTable = {};

if (angular.isArray(data)) {
Expand All @@ -624,8 +627,11 @@ angular.module('pascalprecht.translate').provider('$translate', ['$STORAGE_KEY',

pendingLoader = false;
deferred.resolve(key);
$rootScope.$broadcast('$translateLoadingEnd');
}, function (key) {
$rootScope.$broadcast('$translateLoadingError');
deferred.reject(key);
$rootScope.$broadcast('$translateLoadingEnd');
});

return deferred.promise;
Expand Down Expand Up @@ -783,9 +789,11 @@ angular.module('pascalprecht.translate').provider('$translate', ['$STORAGE_KEY',
if (!key) {
return $uses;
}

var deferred = $q.defer();

$rootScope.$broadcast('$translateChangeStart');

function useLanguage(key) {
$uses = key;
$rootScope.$broadcast('$translateChangeSuccess');
Expand All @@ -802,6 +810,7 @@ angular.module('pascalprecht.translate').provider('$translate', ['$STORAGE_KEY',
});

deferred.resolve(key);
$rootScope.$broadcast('$translateChangeEnd');
};

// if there isn't a translation table for the language we've requested,
Expand All @@ -810,6 +819,7 @@ angular.module('pascalprecht.translate').provider('$translate', ['$STORAGE_KEY',
loadAsync(key).then(useLanguage, function (key) {
$rootScope.$broadcast('$translateChangeError');
deferred.reject(key);
$rootScope.$broadcast('$translateChangeEnd');
});
} else {
useLanguage(key);
Expand Down

0 comments on commit e688dee

Please sign in to comment.