GMX_menu

A simple userscript menu manager, treats all menu items as a GMX_menu object.

Αυτός ο κώδικας δεν πρέπει να εγκατασταθεί άμεσα. Είναι μια βιβλιοθήκη για άλλους κώδικες που περιλαμβάνεται μέσω της οδηγίας meta // @require https://update.greatest.deepsurf.us/scripts/473817/1240400/GMX_menu.js

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey, το Greasemonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

You will need to install an extension such as Tampermonkey to install this script.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Violentmonkey για να εγκαταστήσετε αυτόν τον κώδικα.

θα χρειαστεί να εγκαταστήσετε μια επέκταση όπως το Tampermonkey ή το Userscripts για να εγκαταστήσετε αυτόν τον κώδικα.

You will need to install an extension such as Tampermonkey to install this script.

Θα χρειαστεί να εγκαταστήσετε μια επέκταση διαχείρισης κώδικα χρήστη για να εγκαταστήσετε αυτόν τον κώδικα.

(Έχω ήδη έναν διαχειριστή κώδικα χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Έχω ήδη έναν διαχειριστή στυλ χρήστη, επιτρέψτε μου να τον εγκαταστήσω!)

Δημιουργός
DianaBlessU
Έκδοση
0.1.1
Δημιουργήθηκε την
24/08/2023
Ενημερώθηκε την
25/08/2023
Μέγεθος
3 KB
Άδεια
Μη διαθέσιμη

A simple userscript menu manager, treats all menu items as a GMX_menu object.

Key Features:

  1. Create and access menu items via GMX_menu object, no need to care the item order.
  2. Caption text of menu item can be changed at any time.
  3. Menu item can act as a Check box.
  4. Menu items can act as a radio button group.

Usage:

    // To use this script, you need to grant GM_registerMenuCommand and GM_unregisterMenuCommand.

    // Install a new menu, (all previous menu items will be removed)

    //  The value of name must be unique in the menu.
    //  If autoRefresh is true, when the menu item is modified, the rerendering will be automatically executed, 
    //  otherwise its appearance will remain unchanged unless you manually call the GMX_menu.refresh() method.
    //  If a menu item has a checked attribute, it will be rendered as a checkable entry.
    //  If it also has a group attribute at the same time, it will be associated to a radio button group.

    const sampleOptions = {
        autoRefresh: true,
        items: [
            {name: "cmd1", text: "🥣 Radio 1", checked: true, group: "g1", callback: ()=>{alert("Radio 1 clicked!")}},
            {name: "cmd2", text: "⭐ Radio 2", checked: false, group: "g1", callback: ()=>{alert("Radio 2 clicked!")}},
            {name: "sep1", separator: true},
            {name: "cmd3", text: "🍬 Checkbox 3", checked: false, callback: ()=>{alert("Checkbox 3 clicked!")}},
            {name: "cmd4", text: "🍦 Command 4", callback: ()=>{alert("Command 4 clicked!")}},
        ]
    }
    GMX_menu.install(sampleOptions);

    // Remove menu.
    GMX_menu.uninstall()

    // Change the caption text of a menu item by name.
    GMX_menu.setText(name, text)

    // Get the check state of a menu item by name.
    // If the item is unchackable, it will returns undefined.
    GMX_menu.isChecked(name)

    // Trigger the select event of specific menu item by name.
    // The check state of the item will also be changed if it's checkable.
    GMX_menu.triggerSelect(name)

    // Select the specific item on userscript menu without excuting it's callback function.
    // Usually used to modify the check state of a specific menu item.
    GMX_menu.renderSelect(name)

    // Rebuild the whole menu by installed option.
    GMX_menu.refresh()