$Config

Allows end users to configure scripts.

Od 28.06.2024.. Pogledajte najnovija verzija.

Ovu skriptu ne treba izravno instalirati. To je biblioteka za druge skripte koje se uključuju u meta direktivu // @require https://update.greasyfork.org/scripts/446506/1401643/%24Config.js

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

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

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

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

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

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

(I already have a user script manager, let me install it!)

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.

(I already have a user style manager, let me install it!)

Autor
ctl2
Verzija
0.0.1.20240628002542
Stvoreno
15.06.2022.
Ažurirano
28.06.2024.
Size
12,1 KB
Licenza
N/A

Config editor hosted here. Editor code available here.

Images are attached below to describe constructor parameters.

Usage

// Request a config

const $config = new $Config(
    'STORAGE_KEY',
    {
        'children': [
            {'label': 'node0'},
            {'label': 'node1'},
            {'label': 'node2'}
        ]
    },
    ([node0, node1, node2]) => {
        const config = {};
        // ...
        return config;
    },
    'Example Title'
);

// Await config load & handle problems

try {
    await $config.ready;
} catch (error) {
    if (!$config.reset) {
        // There's a problem with the arguments passed to the $Config constructor
        throw error;
    }

    // There's a problem with the user's data (could be from manual editing or a script update)
    if (!window.confirm(`${error.message}\n\nWould you like to erase your data?`)) {
        return;
    }

    $config.reset();
}

// Apply the user's config

function useConfig() {
    const config = $config.get();

    // Use the config...
}

useConfig();

// Set up config editing

const button = document.createElement('button');

button.addEventListener('click', async () => {
    await $config.edit();

    useConfig();
});

See the following scripts for practical examples: