您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Exalea - Settings Store pour le P.D.O.
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/4099/13111/settings-storeuserjs.js
- /**
- * Prototype d'une SettingsStore (Singleton)
- */
- {
- /**
- * Constructeur
- *
- * @returns {SettingsStore} this Instance courante (permet l'utilisation de méthodes chaînées)
- * @constructor
- *
- * @author Exalea
- */
- var SettingsStore = function () {
- /**
- * Liste des paramètres disponibles (de type SettingEntry)
- *
- * @returns {SettingsStore} this Instance courante (permet l'utilisation de méthodes chaînées)
- *
- * @author Exalea
- */
- this.entries = {};
- return this;
- };
- /**
- * Ajout d'un paramètre de type SettingEntry au store
- *
- * @param {string} name Nom attribué au paramètre
- * @param {SettingEntry} entry Paramètre à ajouter
- * @returns {SettingsStore} this Instance courante (permet l'utilisation de méthodes chaînées)
- *
- * @author Exalea
- */
- SettingsStore.prototype.addEntry = function (name, entry) {
- this.entries[name] = entry;
- return this;
- };
- /**
- *
- * Ajout d'un paramètre via un nom, une clef (identifiant unique) de persistence et une valeur par défaut
- *
- * @param {string} name Nom attribué au paramètre
- * @param {string} key Clef de persistence du paramètre
- * @param {string} defaultValue Valeur par défaut du paramètre
- * @returns {SettingsStore} this Instance courante (permet l'utilisation de méthodes chaînées)
- *
- * @author Exalea
- */
- SettingsStore.prototype.add = function (name, key, defaultValue) {
- this.addEntry(name, new SettingEntry(key, defaultValue));
- return this;
- };
- /**
- * Initialisation (à leur valeur persistée si existante, sinon à leur valeur par défaut) de chacun des paramètres ajoutés au SettingsStore
- *
- * @returns {SettingsStore} this Instance courante (permet l'utilisation de méthodes chaînées)
- *
- * @author Exalea
- */
- SettingsStore.prototype.init = function () {
- for (var index in this.entries) {
- var entry = this.entries[index];
- if (entry instanceof SettingEntry)
- entry.init();
- }
- return this;
- };
- /**
- * Implémentation du pattern Singleton
- *
- * @returns {SettingsStore}
- */
- SettingsStore.getInstance = function () {
- if (SettingsStore.instance == null)
- SettingsStore.instance = new SettingsStore();
- return SettingsStore.instance;
- };
- /**
- * Sucre syntaxique : ajout d'un accès statique aux méthodes du Singleton
- */
- {
- SettingsStore.addEntry = function (name, entry) {
- return SettingsStore.getInstance().addEntry(name, entry);
- };
- SettingsStore.add = function (name, key, defaultValue) {
- return SettingsStore.getInstance().add(name, key, defaultValue);
- };
- SettingsStore.init = function () {
- return SettingsStore.getInstance().init();
- };
- }
- }