mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-10-31 02:04:53 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			113 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * Posts function
 | |
|  * 
 | |
|  * @author Pierre HUBERT
 | |
|  */
 | |
| 
 | |
| ComunicWeb.pages.userPage.posts = {
 | |
| 
 | |
| 	/**
 | |
| 	 * Display the posts
 | |
| 	 * 
 | |
| 	 * @param {Object} userInfos Informations about the user
 | |
| 	 * @param {Object} params Additionnal parametres passed with the request
 | |
| 	 * @param {HTMLElement} target The target where the posts will be applied
 | |
| 	 */
 | |
| 	display: function(userInfos, params, target){
 | |
| 
 | |
| 		//Create posts blocks
 | |
| 		var postsBlock = createElem2({
 | |
| 			appendTo: target,
 | |
| 			type: "div",
 | |
| 			class: "box box-primary"
 | |
| 		});
 | |
| 
 | |
| 		var postsBody = createElem2({
 | |
| 			appendTo: postsBlock,
 | |
| 			type: "div",
 | |
| 			class: "box-body",
 | |
| 		});
 | |
| 
 | |
| 		//Display loading message
 | |
| 		var loadingMsg = createElem2({
 | |
| 			appendTo: postsBody,
 | |
| 			type: "p",
 | |
| 			innerHTML: "Loading posts..."
 | |
| 		});
 | |
| 		loadingMsg.style.textAlign = "center";
 | |
| 
 | |
| 		//Get the posts from the API
 | |
| 		ComunicWeb.components.posts.interface.get_user(userInfos.userID, function(result){
 | |
| 
 | |
| 			//Check for errors
 | |
| 			if(result.error){
 | |
| 				//Display notification
 | |
| 				ComunicWeb.common.notificationSystem.showNotification("Couldn't get user posts!", "danger", 4, "Error");
 | |
| 			}
 | |
| 			else {
 | |
| 
 | |
| 				//Empty the target
 | |
| 				emptyElem(postsBody);
 | |
| 
 | |
| 				//Show the posts
 | |
| 				ComunicWeb.pages.userPage.posts._show(result, postsBody);
 | |
| 
 | |
| 			}
 | |
| 		});
 | |
| 		
 | |
| 	},
 | |
| 
 | |
| 	/**
 | |
| 	 * Show user posts
 | |
| 	 * 
 | |
| 	 * @param {Object} posts The list of posts to display
 | |
| 	 * @param {HTMLElement} target The rendering target
 | |
| 	 */
 | |
| 	_show: function(posts, target){
 | |
| 
 | |
| 		//Process each post
 | |
| 		var i;
 | |
| 		for(i in posts){
 | |
| 			
 | |
| 			//Display post
 | |
| 			ComunicWeb.components.posts.ui.display_post(posts[i], target);
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		//Check if there is not any posts
 | |
| 		if(target.children.length == 0){
 | |
| 			this._no_posts_msg(target);
 | |
| 		}
 | |
| 
 | |
| 	},
 | |
| 
 | |
| 	/**
 | |
| 	 * Display a message to inform user that there is not any post
 | |
| 	 * on the page he is visiting
 | |
| 	 * 
 | |
| 	 * @param {HTMLElement} target The target for the message
 | |
| 	 */
 | |
| 	_no_posts_msg(target){
 | |
| 		
 | |
| 		var msgContener = createElem2({
 | |
| 			appendTo: target,
 | |
| 			type: "div"
 | |
| 		});
 | |
| 
 | |
| 		var msgTitle = createElem2({
 | |
| 			appendTo: msgContener,
 | |
| 			type: "h2",
 | |
| 			innerHTML: "No post yet"
 | |
| 		});
 | |
| 		msgTitle.style.textAlign = "center";
 | |
| 
 | |
| 		var msgContent = createElem2({
 | |
| 			appendTo: msgContener,
 | |
| 			type: "p",
 | |
| 			innerHTML: "Nobody has posted a message on this page yet."
 | |
| 		}).style.textAlign = "center";
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 
 | |
| }; | 
