diff options
| author | Shpuld Shpuldson <shp@cock.li> | 2020-09-03 15:45:13 +0300 |
|---|---|---|
| committer | Shpuld Shpuldson <shp@cock.li> | 2020-09-03 15:45:13 +0300 |
| commit | f281663b4972ac82b0392b1ab31b2106f9dceac7 (patch) | |
| tree | c44953601ab79ee954a14955bbc852db00a6f8ae /src/components/settings_modal/settings_modal_content.js | |
| parent | acc45b49a55a5c173abdeac8c89d16395f92bc01 (diff) | |
Add hacky functionality to open specific settings tabs
Diffstat (limited to 'src/components/settings_modal/settings_modal_content.js')
| -rw-r--r-- | src/components/settings_modal/settings_modal_content.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/components/settings_modal/settings_modal_content.js b/src/components/settings_modal/settings_modal_content.js index 48101a90..ef1a5ffa 100644 --- a/src/components/settings_modal/settings_modal_content.js +++ b/src/components/settings_modal/settings_modal_content.js @@ -27,6 +27,34 @@ const SettingsModalContent = { computed: { isLoggedIn () { return !!this.$store.state.users.currentUser + }, + open () { + return this.$store.state.interface.settingsModalState !== 'hidden' + } + }, + methods: { + onOpen () { + const targetTab = this.$store.state.interface.settingsModalTargetTab + // We're being told to open in specific tab + if (targetTab) { + const tabIndex = this.$refs.tabSwitcher.$slots.default.findIndex(elm => { + return elm.data && elm.data.attrs['data-tab-name'] === targetTab + }) + if (tabIndex >= 0) { + this.$refs.tabSwitcher.setTab(tabIndex) + } + } + // Clear the state of target tab, so that next time settings is opened + // it doesn't force it. + this.$store.dispatch('clearSettingsModalTargetTab') + } + }, + mounted () { + this.onOpen() + }, + watch: { + open: function (value) { + if (value) this.onOpen() } } } |
