(function () { "use strict"; angular .module("app.helpers") .factory("helpers.internalMessages", internalMessages); function internalMessages(uiNotifications, $translate, localizationHelper) { var translationObject = {}; var loadTranslation = function(){ $translate(['AdminHasBeenCreated', 'ClientHasBeenCreated', 'AdminHasBeenUpdated', 'UserHasBeenUpdated', 'UserPasswordHasBeenUpdated', 'Info', 'Warning']).then(function (tr) { translationObject = tr; }); }; localizationHelper.eventEmitter.subscribe('onLanguageChangedEvent', function (lang) { loadTranslation(); }); loadTranslation(); return { "ADMIN_CREATED": adminCreated, "ADMIN_UPDATED": adminUpdated, "USER_CREATED": userCreated, "USER_UPDATED": userUpdated, "USER_PASSWORD_UPDATED": userPasswordUpdated, "messageAfterRequest": messageAfterRequest }; /** * Generate message when a new admin was created. * @param {string} email * @returns {string} */ function adminCreated(email) { return translationObject["AdminHasBeenCreated"].replace("{0}", email); } /** * Generate message when a new user was created. * @param {string} email * @returns {string} */ function userCreated(email) { return translationObject["ClientHasBeenCreated"].replace("{0}", email); } /** * Generate message when admin was updated. * @param {string} email * @returns {string} */ function adminUpdated(email) { return translationObject["AdminHasBeenUpdated"].replace("{0}", email); } /** * Generate message when user was updated. * @param {string} email * @returns {string} */ function userUpdated(email) { return translationObject["UserHasBeenUpdated"].replace("{0}", email); } /** * Generate message when user password was modified. * @returns {string} */ function userPasswordUpdated() { return translationObject["UserPasswordHasBeenUpdated"]; } /** * Obtain the response and display standard exception or internal message on successful result. * @param {string|number} message * @param {object} response */ function messageAfterRequest(message, response) { if (response.success) { uiNotifications.inform(message, 'info'); } else { uiNotifications.inform(response.message, 'warning'); } } } // IoC container. internalMessages.$inject = [ "appUtils.uiNotifications", "$translate", "helpers.localization" ]; })();