mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-03 19:54:14 +00:00 
			
		
		
		
	Display the number of notifications on page title.
This commit is contained in:
		@@ -228,6 +228,22 @@ var ComunicWeb = {
 | 
				
			|||||||
			getAndShowJSONtemplate: function(targetElem, templateURI, additionalData, afterParsingJSONtemplate, cleanContainer){},
 | 
								getAndShowJSONtemplate: function(targetElem, templateURI, additionalData, afterParsingJSONtemplate, cleanContainer){},
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							/**
 | 
				
			||||||
 | 
							 * Page title management
 | 
				
			||||||
 | 
							 */
 | 
				
			||||||
 | 
							pageTitle: {
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								/**
 | 
				
			||||||
 | 
								 * Set a new title to the page
 | 
				
			||||||
 | 
								 */
 | 
				
			||||||
 | 
								setTitle: function(title){},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								/**
 | 
				
			||||||
 | 
								 * Set new number of notifications
 | 
				
			||||||
 | 
								 */
 | 
				
			||||||
 | 
								setNotificationsNumber: function(number){}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/**
 | 
							/**
 | 
				
			||||||
		 * Functions to check data input in forms
 | 
							 * Functions to check data input in forms
 | 
				
			||||||
		 */
 | 
							 */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -196,7 +196,7 @@ ComunicWeb.common.page = {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Change page title
 | 
					        //Change page title
 | 
				
			||||||
        document.title =  pageInfos.pageTitle;
 | 
					        ComunicWeb.common.pageTitle.setTitle(pageInfos.pageTitle);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Change page URL, if required
 | 
					        //Change page URL, if required
 | 
				
			||||||
        if(additionnalData.no_url_update ? !additionnalData.no_url_update : true)
 | 
					        if(additionnalData.no_url_update ? !additionnalData.no_url_update : true)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										53
									
								
								assets/js/common/pageTitle.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								assets/js/common/pageTitle.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * Page title management
 | 
				
			||||||
 | 
					 * 
 | 
				
			||||||
 | 
					 * @author Pierre HUBERT
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ComunicWeb.common.pageTitle = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Current page title
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						_curr_title: "Comunic",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Current number of notifications
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						_curr_notifications_number: 0,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Set a new title to the page
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {string} title The new title for the page
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						setTitle: function(title){
 | 
				
			||||||
 | 
							this._curr_title = title;
 | 
				
			||||||
 | 
							this.__refresh();
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Set new number of notifications
 | 
				
			||||||
 | 
						 * 
 | 
				
			||||||
 | 
						 * @param {number} number The new number of notifications
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						setNotificationsNumber: function(number){
 | 
				
			||||||
 | 
							this._curr_notifications_number = number;
 | 
				
			||||||
 | 
							this.__refresh();
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/**
 | 
				
			||||||
 | 
						 * Refresh document title
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						__refresh: function(){
 | 
				
			||||||
 | 
							let title = "";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if(this._curr_notifications_number > 0)
 | 
				
			||||||
 | 
								title += "(" + this._curr_notifications_number + ") ";
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							title += this._curr_title;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							document.title = title;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -22,8 +22,11 @@ ComunicWeb.components.notifications.service = {
 | 
				
			|||||||
		var interval = setInterval(function(){
 | 
							var interval = setInterval(function(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//Auto-remove interval if the target has been removed
 | 
								//Auto-remove interval if the target has been removed
 | 
				
			||||||
			if(!target.isConnected)
 | 
								if(!target.isConnected){
 | 
				
			||||||
 | 
									ComunicWeb.common.pageTitle.setNotificationsNumber(0);
 | 
				
			||||||
				return clearInterval(interval);
 | 
									return clearInterval(interval);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//Get the number of notifications from the API
 | 
								//Get the number of notifications from the API
 | 
				
			||||||
			ComunicWeb.components.notifications.interface.getAllUnread(function(response){
 | 
								ComunicWeb.components.notifications.interface.getAllUnread(function(response){
 | 
				
			||||||
@@ -55,6 +58,8 @@ ComunicWeb.components.notifications.service = {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									//Update page title too
 | 
				
			||||||
 | 
									ComunicWeb.common.pageTitle.setNotificationsNumber(response.notifications + response.conversations);
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		}, 2000);
 | 
							}, 2000);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@ ComunicWeb.pages.groups.pages.create = {
 | 
				
			|||||||
	open: function(target){
 | 
						open: function(target){
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		//Update page title
 | 
							//Update page title
 | 
				
			||||||
		document.title = "Create a group";
 | 
							ComunicWeb.common.pageTitle.setTitle("Create a group");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Create page container
 | 
							//Create page container
 | 
				
			||||||
		var pageContainer = createElem2({
 | 
							var pageContainer = createElem2({
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -62,7 +62,7 @@ ComunicWeb.pages.groups.pages.forbidden = {
 | 
				
			|||||||
    display: function(id, result, target){
 | 
					    display: function(id, result, target){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Update page title
 | 
					        //Update page title
 | 
				
			||||||
        document.title = result.name;
 | 
					        ComunicWeb.common.pageTitle.setTitle(result.name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Create a box to contain information about registration
 | 
					        //Create a box to contain information about registration
 | 
				
			||||||
        var box = createElem2({
 | 
					        var box = createElem2({
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -49,7 +49,7 @@ ComunicWeb.pages.groups.pages.group = {
 | 
				
			|||||||
    display: function(id, info, target){
 | 
					    display: function(id, info, target){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Update page title
 | 
					        //Update page title
 | 
				
			||||||
        document.title = info.name;
 | 
					        ComunicWeb.common.pageTitle.setTitle(info.name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Create page row
 | 
					        //Create page row
 | 
				
			||||||
        var pageRow = createElem2({
 | 
					        var pageRow = createElem2({
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -61,7 +61,7 @@ ComunicWeb.pages.groups.pages.members = {
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	applyGroupInfo: function(id, info, target){
 | 
						applyGroupInfo: function(id, info, target){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		document.title = info.name + " - Members";
 | 
							ComunicWeb.common.pageTitle.setTitle(info.name + " - Members");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Append the title of the group
 | 
							//Append the title of the group
 | 
				
			||||||
		createElem2({
 | 
							createElem2({
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -92,7 +92,7 @@ ComunicWeb.pages.groups.pages.settings = {
 | 
				
			|||||||
	 */
 | 
						 */
 | 
				
			||||||
	display: function(id, settings, target){
 | 
						display: function(id, settings, target){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		document.title = settings.name + " - Settings";
 | 
							ComunicWeb.common.pageTitle.setTitle(settings.name + " - Settings");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Create form container
 | 
							//Create form container
 | 
				
			||||||
		var formContainer = createElem2({
 | 
							var formContainer = createElem2({
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,7 @@ ComunicWeb.pages.home.landingPage = {
 | 
				
			|||||||
        ComunicWeb.debug.logMessage("Open home landing page.");
 | 
					        ComunicWeb.debug.logMessage("Open home landing page.");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Change page title
 | 
					        //Change page title
 | 
				
			||||||
        document.title = "Comunic, a transparent social network";
 | 
					        ComunicWeb.common.pageTitle.setTitle("Comunic, a transparent social network");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Prepare additional data
 | 
					        //Prepare additional data
 | 
				
			||||||
        var additionalData = {
 | 
					        var additionalData = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,9 @@ ComunicWeb.pages.logout = {
 | 
				
			|||||||
        //Perform logout
 | 
					        //Perform logout
 | 
				
			||||||
        ComunicWeb.user.userLogin.logoutUser();
 | 
					        ComunicWeb.user.userLogin.logoutUser();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Reset notifications number
 | 
				
			||||||
 | 
					        ComunicWeb.common.pageTitle.setNotificationsNumber(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //Clean all caches
 | 
					        //Clean all caches
 | 
				
			||||||
        ComunicWeb.common.system.reset(true, "home");
 | 
					        ComunicWeb.common.system.reset(true, "home");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,7 +52,7 @@ ComunicWeb.pages.settings.main = {
 | 
				
			|||||||
			var section = ComunicWeb.pages.settings.sectionsList[section];
 | 
								var section = ComunicWeb.pages.settings.sectionsList[section];
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			//Update document title
 | 
								//Update document title
 | 
				
			||||||
			document.title += " - " + section.title;
 | 
								ComunicWeb.common.pageTitle.setTitle("Settings - " + section.title);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			//Call handler
 | 
								//Call handler
 | 
				
			||||||
			eval(section.handler + "(args, rightArea);");
 | 
								eval(section.handler + "(args, rightArea);");
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,7 +72,7 @@ ComunicWeb.pages.userPage.accessForbidden = {
 | 
				
			|||||||
	showBasicInfos: function(userInfos, target){
 | 
						showBasicInfos: function(userInfos, target){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Update page title
 | 
							//Update page title
 | 
				
			||||||
		document.title = userInfos.firstName + " " + userInfos.lastName;
 | 
							ComunicWeb.common.pageTitle.setTitle(userInfos.firstName + " " + userInfos.lastName);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		//Create box root
 | 
							//Create box root
 | 
				
			||||||
		var boxRoot = createElem2({
 | 
							var boxRoot = createElem2({
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -121,7 +121,7 @@ ComunicWeb.pages.userPage.main = {
 | 
				
			|||||||
	displayUserPage: function(infos, params, target){
 | 
						displayUserPage: function(infos, params, target){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		//Update page title
 | 
							//Update page title
 | 
				
			||||||
		document.title = infos.firstName + " " + infos.lastName;
 | 
							ComunicWeb.common.pageTitle.setTitle(infos.firstName + " " + infos.lastName);
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		//Create the section class content
 | 
							//Create the section class content
 | 
				
			||||||
		var sectionContent = createElem2({
 | 
							var sectionContent = createElem2({
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -288,6 +288,7 @@ class Dev {
 | 
				
			|||||||
		"js/common/jsFiles.js",
 | 
							"js/common/jsFiles.js",
 | 
				
			||||||
		"js/common/debug.js",
 | 
							"js/common/debug.js",
 | 
				
			||||||
		"js/common/page.js",
 | 
							"js/common/page.js",
 | 
				
			||||||
 | 
							"js/common/pageTitle.js",
 | 
				
			||||||
		"js/common/notifications.js",
 | 
							"js/common/notifications.js",
 | 
				
			||||||
		"js/common/formChecker.js",
 | 
							"js/common/formChecker.js",
 | 
				
			||||||
		"js/common/date.js",
 | 
							"js/common/date.js",
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user