diff options
author | Soopyboo32 <49228220+Soopyboo32@users.noreply.github.com> | 2022-09-17 19:39:05 +0800 |
---|---|---|
committer | Soopyboo32 <49228220+Soopyboo32@users.noreply.github.com> | 2022-09-17 19:39:05 +0800 |
commit | 431e4fc9d1657a50ebc34b8ac24f9bfaea06417f (patch) | |
tree | 5987bb14f38d2999c682970429f34b41eb3e5826 /src/features/settings/settingThings/dropdownSetting.js | |
parent | e73f2efdf0f50aa775c540317394d46428e9704f (diff) | |
download | SoopyV2-431e4fc9d1657a50ebc34b8ac24f9bfaea06417f.tar.gz SoopyV2-431e4fc9d1657a50ebc34b8ac24f9bfaea06417f.tar.bz2 SoopyV2-431e4fc9d1657a50ebc34b8ac24f9bfaea06417f.zip |
Initial move to babel + change fetch to use async/await
Diffstat (limited to 'src/features/settings/settingThings/dropdownSetting.js')
-rw-r--r-- | src/features/settings/settingThings/dropdownSetting.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/features/settings/settingThings/dropdownSetting.js b/src/features/settings/settingThings/dropdownSetting.js new file mode 100644 index 0000000..0cf7b27 --- /dev/null +++ b/src/features/settings/settingThings/dropdownSetting.js @@ -0,0 +1,41 @@ + +import SoopyContentChangeEvent from "../../../../guimanager/EventListener/SoopyContentChangeEvent"; +import SettingBase from "./settingBase"; +import Dropdown from "../../../../guimanager/GuiElement/Dropdown"; + +class DropdownSetting extends SettingBase { + constructor(name, description, defaultVal, settingId, module, optionsData){ + super(name, description, defaultVal, settingId, module) + + this.dropdownObject = new Dropdown().setLocation(0, 0.2, 0.9, 0.6).setOptions(optionsData).setSelectedOption(this.getValue()) + this.settingObject.addChild(this.dropdownObject) + + this.settingObject.setLocation(0.6, 0, 0.4, 1) + this.guiObject.text.setLocation(0, 0, 0.6, 0.6) + this.guiObject.description.setLocation(0, 0.6, 0.55, 0.4) + + this.dropdownObject.addEvent(new SoopyContentChangeEvent().setHandler((newVal, oldVal, resetFun)=>{ + this.setValue(newVal) + })) + + } + update(){ + if(this.hasHelp()){ + this.guiObject.addChild(this.helpButton) + + this.guiObject.text.setLocation(0.075, 0, 0.6-0.075, 0.6) + }else{ + this.guiObject.text.setLocation(0, 0, 0.6, 0.6) + } + } + + setValue(newVal){ + super.setValue(newVal) + + this.dropdownObject.setSelectedOption(newVal) + + return this + } +} + +export default DropdownSetting
\ No newline at end of file |