emit and listen for events when languages are created/deleted
This commit is contained in:
@@ -102,6 +102,19 @@ function NavigationController($scope, $rootScope, $location, $log, $routeParams,
|
||||
}
|
||||
}));
|
||||
|
||||
// Listen for language updates
|
||||
evts.push(eventsService.on("editors.languages.languageDeleted", function(e, args) {
|
||||
languageResource.getAll().then(function(languages) {
|
||||
$scope.languages = languages;
|
||||
});
|
||||
}));
|
||||
|
||||
evts.push(eventsService.on("editors.languages.languageCreated", function(e, args) {
|
||||
languageResource.getAll().then(function(languages) {
|
||||
$scope.languages = languages;
|
||||
});
|
||||
}));
|
||||
|
||||
//This reacts to clicks passed to the body element which emits a global call to close all dialogs
|
||||
evts.push(eventsService.on("app.closeDialogs", function(event) {
|
||||
if (appState.getGlobalState("stickyNavigation")) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
function LanguagesEditController($scope, $timeout, $location, $routeParams, navigationService, notificationsService, localizationService, languageResource, contentEditingHelper, formHelper) {
|
||||
function LanguagesEditController($scope, $timeout, $location, $routeParams, navigationService, notificationsService, localizationService, languageResource, contentEditingHelper, formHelper, eventsService) {
|
||||
|
||||
var vm = this;
|
||||
|
||||
@@ -81,6 +81,12 @@
|
||||
vm.page.saveButtonState = "success";
|
||||
notificationsService.success(localizationService.localize("speechBubbles_languageSaved"));
|
||||
|
||||
// emit event when language is created
|
||||
if($routeParams.create) {
|
||||
var args = { language: lang };
|
||||
eventsService.emit("editors.languages.languageCreated", args);
|
||||
}
|
||||
|
||||
back();
|
||||
|
||||
}, function (err) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
(function () {
|
||||
"use strict";
|
||||
|
||||
function LanguagesOverviewController($location, $timeout, navigationService, notificationsService, localizationService, languageResource) {
|
||||
function LanguagesOverviewController($location, $timeout, navigationService, notificationsService, localizationService, languageResource, eventsService) {
|
||||
|
||||
var vm = this;
|
||||
|
||||
@@ -58,8 +58,15 @@
|
||||
language.deleteButtonState = "busy";
|
||||
|
||||
languageResource.deleteById(language.id).then(function () {
|
||||
|
||||
// emit event
|
||||
var args = { language: language };
|
||||
eventsService.emit("editors.languages.languageDeleted", args);
|
||||
|
||||
// remove from list
|
||||
var index = vm.languages.indexOf(language);
|
||||
vm.languages.splice(index, 1);
|
||||
|
||||
}, function (err) {
|
||||
language.deleteButtonState = "error";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user