Emit a single event if the language has been created or been saved - send through a new property in args to determine if it was new or not
Then event listener updates the tree languages dropdown only when a new language has been added or deleted OR when an existing language has been saved/updated to be set as the new default language (as this now at top of list)
This commit is contained in:
@@ -194,7 +194,7 @@ function NavigationController($scope, $rootScope, $location, $log, $q, $routePar
|
||||
$rootScope.emptySection = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}));
|
||||
|
||||
//Listen for section state changes
|
||||
@@ -222,10 +222,21 @@ function NavigationController($scope, $rootScope, $location, $log, $q, $routePar
|
||||
});
|
||||
}));
|
||||
|
||||
evts.push(eventsService.on("editors.languages.languageCreated", function (e, args) {
|
||||
loadLanguages().then(function (languages) {
|
||||
$scope.languages = languages;
|
||||
});
|
||||
//Emitted when a language is created or an existing one saved/edited
|
||||
evts.push(eventsService.on("editors.languages.languageSaved", function (e, args) {
|
||||
console.log('lang event listen args', args);
|
||||
if(args.isNew){
|
||||
//A new language has been created - reload languages for tree
|
||||
loadLanguages().then(function (languages) {
|
||||
$scope.languages = languages;
|
||||
});
|
||||
}
|
||||
else if(args.language.isDefault){
|
||||
//A language was saved and was set to be the new default (refresh the tree, so its at the top)
|
||||
loadLanguages().then(function (languages) {
|
||||
$scope.languages = languages;
|
||||
});
|
||||
}
|
||||
}));
|
||||
|
||||
//This reacts to clicks passed to the body element which emits a global call to close all dialogs
|
||||
|
||||
@@ -113,11 +113,9 @@
|
||||
notificationsService.success(value);
|
||||
});
|
||||
|
||||
// emit event when language is created
|
||||
if($routeParams.create) {
|
||||
var args = { language: lang };
|
||||
eventsService.emit("editors.languages.languageCreated", args);
|
||||
}
|
||||
// emit event when language is created or updated/saved
|
||||
var args = { language: lang, isNew: $routeParams.create ? true : false };
|
||||
eventsService.emit("editors.languages.languageSaved", args);
|
||||
|
||||
back();
|
||||
|
||||
@@ -129,7 +127,7 @@
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function back() {
|
||||
@@ -145,7 +143,7 @@
|
||||
}
|
||||
|
||||
function toggleDefault() {
|
||||
|
||||
|
||||
// it shouldn't be possible to uncheck the default language
|
||||
if(vm.initIsDefault) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user