Library to create Custom settings on Furaffinitiy
สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/475041/1550020/Furaffinity-Custom-Settings.js
Helper Script to create Custom settings on Furaffinitiy. Also see docs on Furaffinity-Custom-Settings
@require
this scriptCreate Settings Object:
const customSettings = new FACustomSettings(); // Multiple Settings Pages can be created
customSettings.provider = "Midori's Script Settings"; // Change Navigation Settings Name
customSettings.headerName = "My Script Settings"; // Change the Settings Header Name
See Settings for more info
Create a new Setting:
const setting = CustomSettings.newSetting(SettingType, "Setting Name");
setting.description = "Setting Description";
setting.defaultValue = DefaultValue;
setting.inInput = (target) => { doSomething(); }; // For Action Settings when clicked otherwise every time the Setting is changed
setting.addEventListener("input", (target) => { doSomthing(); }); // Alternative to onInput
setting.verifyRegex = /Regex/; // For Text Settings only
See Settings for more info
Trigger when settings should be loaded:
CustomSettings.loadSettingsMenu(); //loads Navigation Menu & Settings if on Settings Page
Feature | Status |
---|---|
Create new Settings and easily access Settings change ⠀⠀⠀⠀ | ✅ Completed |
Have different Setting Types | ✅ Completed |
⠀⠀⠀⠀Number (TextField that only allows Numbers) | ✅ Completed |
⠀⠀⠀⠀Boolean (Checkbox with a description) | ✅ Completed |
⠀⠀⠀⠀Action (Button with a description) | ✅ Completed |
⠀⠀⠀⠀Text (TextField that allow any Characters) | ✅ Completed |
⠀⠀⠀⠀Option (Combobox that allows multiple options) | ✅ Completed |
Change Settings Page Name and Header Name | ✅ Completed |
Have multiple different Setting Pages | ✅ Completed |
The Setting class contains following Properties:
id
- Can only be set once. Defines the Setting elements html id. Is set to setting Name, if not set manually.name
- Name of the Setting.description
- Description of the Setting.type
- Type of the Setting. (See SettingType for more info)defaultValue
- Default value for the Setting. (Is ignored on SettingTypes.Action
)action
- Action that is executed when the Setting changes. (See Action for more info)value
- Current value of the Setting.min
- Minimum value for SettingType.Number
max
- Maximum value for SettingType.Number
step
- Step value for SettingType.Number
verifyRegex
- Regex for validation of input for SettingType.Text
SettingType can have the following values:
SettingType.Number
- A TextField that only accepts Numbers. (Enables min, max, step)SettingType.Text
- A TextField that allows any Character. (Enables verifyRegex)SettingType.Boolean
- A Checkbox with a description.SettingType.Action
- A Button with a certain Action. (Value returns the name)SettingType.Option
- A Combobox with multiple OptionsThe onInput
Property defines a Function that is executed when the Setting changed. It receives the Settings Element as a Parameter. It can also be used with addEventListener
. Example:
customSetting.onInput = (target) => {
console.log(target.value); // Target is the HTML Element of the Setting
};
customSetting.addEventListener("input", (target) => {
console.log(target.value);
});
Here every time the Checkbox is clicked the program prints out wether it is checked or not.