Generate random ID for context menu when not previously defined
This commit is contained in:
		
							parent
							
								
									ff21c8dd58
								
							
						
					
					
						commit
						5b99800c8e
					
				
					 1 changed files with 6 additions and 4 deletions
				
			
		|  | @ -4,7 +4,9 @@ export default class Menu { | ||||||
|      #options; |      #options; | ||||||
| 
 | 
 | ||||||
|      constructor (ID, title, contexts, event, type, icon) { |      constructor (ID, title, contexts, event, type, icon) { | ||||||
|           if ((typeof ID).includes(`obj`) && !Array.isArray(ID) && ID.hasOwnProperty(`ID`)) { |           if ((typeof ID).includes(`obj`) && !Array.isArray(ID)) { | ||||||
|  |                ID.ID = ((ID.hasOwnProperty(`ID`)) ? ID.ID : false) ? ID.ID : String(Math.random() / Math.random() * 100); | ||||||
|  | 
 | ||||||
|                (Object.keys(ID)).forEach((key) => { |                (Object.keys(ID)).forEach((key) => { | ||||||
|                     this[key] = ID[key]; |                     this[key] = ID[key]; | ||||||
|                }) |                }) | ||||||
|  | @ -28,16 +30,16 @@ export default class Menu { | ||||||
|                onclick: this.event |                onclick: this.event | ||||||
|           }; |           }; | ||||||
|           (this.icon) ? this.#options.icon = this.icon : null; |           (this.icon) ? this.#options.icon = this.icon : null; | ||||||
| 
 |           ((this.hidden != null) ? (!this.hidden) : true) ? this.show() : null; | ||||||
|           if (!this.#options.hidden) {this.show(); delete this.#options.hidden;}; |  | ||||||
|           delete this.#options.id; |  | ||||||
|      }; |      }; | ||||||
| 
 | 
 | ||||||
|      remove() { |      remove() { | ||||||
|  |           this.hidden = true; | ||||||
|           chrome.contextMenus.remove(this.ID); |           chrome.contextMenus.remove(this.ID); | ||||||
|      }; |      }; | ||||||
| 
 | 
 | ||||||
|      show() { |      show() { | ||||||
|  |           this.hidden = false; | ||||||
|           chrome.contextMenus.create(this.#options); |           chrome.contextMenus.create(this.#options); | ||||||
|      } |      } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue