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