change more properties regarding the icon
This commit is contained in:
		
							parent
							
								
									6265695a5c
								
							
						
					
					
						commit
						a13702e0c2
					
				
					 1 changed files with 39 additions and 7 deletions
				
			
		|  | @ -1,11 +1,43 @@ | |||
| class BrowserIcon { | ||||
|      /* Change the extension icon.  | ||||
| 	/* Change a property of the browser icon.  | ||||
| 
 | ||||
|      @param {string} path The path to the icon. | ||||
|      */ | ||||
|      static set(path) { | ||||
|           chrome.browserAction.setIcon({"path": path}); | ||||
|      }; | ||||
| 	@param {object} options The options to change. | ||||
| 	@param {object} parameters The parameters to apply with the change. | ||||
| 	*/ | ||||
| 	static set(options, parameters) { | ||||
| 		/* Format the parameter to pass. */ | ||||
| 		function format(option, parameters) { | ||||
| 			// Remove windowId if both that and tabId is present. 
 | ||||
| 			(parameters) ? ((parameters.tabId != null && parameters.windowId != null) ? delete parameters.windowId : null) : null; | ||||
| 
 | ||||
| 			// Merge the option to be passed and the updated parameters. 
 | ||||
| 			return ((parameters) ? Object.assign(option, parameters) : option); | ||||
| 		} | ||||
| 
 | ||||
| 		(options.Icon) ? chrome.browserAction.setIcon(format({"path": path}, parameters)) : null; | ||||
| 		(options.BadgeText) ? chrome.browserAction.setBadgeText(format({"text": String(options.text)}, parameters)) : null; | ||||
| 		(options.BadgeBackgroundColor) ? chrome.browserAction.setBadgeBackgroundColor(format({"color": color}, parameters)) : null;  | ||||
| 		(options.Popup) ? chrome.browserAction.setPopup(format({"popup": popup}, parameters)) : null; | ||||
| 	}; | ||||
| 
 | ||||
| 	/*  | ||||
| 	Get a detail regarding the current browser icon. | ||||
| 	 | ||||
| 	@param {string} detail The detail to get. | ||||
| 	@param {object} parameters The filter parameters | ||||
| 	*/ | ||||
| 	static get(detail, parameters) { | ||||
| 		/* Format the parameter to pass. */ | ||||
| 		function format(parameters) { | ||||
| 			// Remove windowId if both that and tabId is present. 
 | ||||
| 			(parameters) ? ((parameters.tabId != null && parameters.windowId != null) ? delete parameters.windowId : null) : null; | ||||
| 
 | ||||
| 			// Merge the option to be passed and the updated parameters. 
 | ||||
| 			return (parameters); | ||||
| 		} | ||||
| 
 | ||||
| 		return (chrome.browserAction[`get`.concat(detail)](((parameters) ? format(parameters) : null))); | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| export {BrowserIcon as default}; | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue