Author: echatellier Date: 2014-07-07 15:35:29 +0200 (Mon, 07 Jul 2014) New Revision: 355 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/355 Log: Correction du reaffichage avec les noms complets des dossiers Modified: trunk/faxtomail-ui-web/src/main/webapp/js/user-folder.js Modified: trunk/faxtomail-ui-web/src/main/webapp/js/user-folder.js =================================================================== --- trunk/faxtomail-ui-web/src/main/webapp/js/user-folder.js 2014-07-07 11:05:17 UTC (rev 354) +++ trunk/faxtomail-ui-web/src/main/webapp/js/user-folder.js 2014-07-07 13:35:29 UTC (rev 355) @@ -29,16 +29,19 @@ */ UserFolderModule.controller('UserFolderController', ['$scope', '$http', 'UserFolderData', function($scope, $http, UserFolderData) { - //{Array} mail folders + // {Array} mail folders $scope.mailFolders = UserFolderData.mailFolders; // {Array} Liste des utilisateurs ldap $scope.users = UserFolderData.users; - //{Map<MailFolder id, Array<MailFolder>>} liste des + // {Array} Group list + $scope.groups = UserFolderData.groups; + // {Map<MailFolder id, Array<MailFolder>>} liste des dossiers classé par topia Id du noeud racine $scope.flatMailFolders; - //{Map} Topia id : mailFolders + // {Map<MailFolder id, MailFolder>} dossier accessible par topia id + $scope.flatMailFolders2; + // {Map} user id : mailFolders $scope.userFolders = UserFolderData.userFolders; - //{Array} Group list - $scope.groups = UserFolderData.groups; + // method privée recursive pour retourner l'ensemble des dossiers en les modifiant pour ajouter // des metadata (full path from root, and root node instance) @@ -47,15 +50,16 @@ angular.forEach(mailFolders, function(mailFolder) { // warning modify input object :( - // use $ from this, even not recommended because angular exlude those fields when jsonify + // use $ from this, even not recommended because angular exclude those fields when jsonify mailFolder.$fullPath = prefix + "/" + mailFolder.name; // ha la la, modify input object again :( - // use $ from this, even not recommended because angular exlude those fields when jsonify + // use $ from this, even not recommended because angular exclude those fields when jsonify mailFolder.$rootFolder = rootFolder; // encore pour le parent mailFolder.$parent = parent; result.push(mailFolder); + $scope.flatMailFolders2[mailFolder.topiaId] = mailFolder; recursiveAddMailFolder(result, mailFolder.children, rootFolder, mailFolder.$fullPath, mailFolder); }); } @@ -65,6 +69,7 @@ $scope._updateFlatMailFolders = function() { console.log("Update flatMailFolders map"); $scope.flatMailFolders = {}; + $scope.flatMailFolders2 = {}; angular.forEach($scope.mailFolders, function(mailFolder) { $scope.flatMailFolders[mailFolder.topiaId] = []; recursiveAddMailFolder($scope.flatMailFolders[mailFolder.topiaId], mailFolder.children, mailFolder, mailFolder.name, mailFolder); @@ -72,6 +77,18 @@ }; $scope._updateFlatMailFolders(); + // mise à jour des configurations actuelle des dossiers pour inclure les metas info des dossiers + $scope._updateUserFolders = function() { + angular.forEach($scope.userFolders, function(value, key) { + angular.forEach(value, function(folder) { + var realFolder = $scope.flatMailFolders2[folder.topiaId]; + // update text with full path + folder.text = realFolder.$fullPath; + }); + }); + }; + $scope._updateUserFolders(); + // fonction retournant l'ensemble des options disponibles $scope.getObjectsData = function(term, result) { var resultArray = [];
participants (1)
-
echatellier@users.forge.codelutin.com