Рефакторинг

This commit is contained in:
Book Pauk
2020-02-03 16:57:39 +07:00
parent 743a250131
commit 3161247da9

View File

@@ -9,21 +9,14 @@
v-model="selectedTab"
toggle-color="primary"
no-caps unelevated
:options="[
{label: 'Общее', value: 'common'},
{label: 'Клавиатура', value: 'hotkeys'},
{label: 'Мышь/тачскрин', value: 'mouse'},
{label: 'История версий', value: 'releases'},
{label: 'Помочь проекту', value: 'donate'}
]"
:options="buttons"
/>
<div class="separator"></div>
<CommonHelpPage v-if="selectedTab == 'common'" class="col"></CommonHelpPage>
<HotkeysHelpPage v-if="selectedTab == 'hotkeys'" class="col"></HotkeysHelpPage>
<MouseHelpPage v-if="selectedTab == 'mouse'" class="col"></MouseHelpPage>
<VersionHistoryPage v-if="selectedTab == 'releases'" class="col"></VersionHistoryPage>
<DonateHelpPage v-if="selectedTab == 'donate'" class="col"></DonateHelpPage>
<keep-alive>
<component ref="page" class="col" :is="activePage"
></component>
</keep-alive>
</div>
</Window>
</template>
@@ -37,32 +30,54 @@ import Window from '../../share/Window.vue';
import CommonHelpPage from './CommonHelpPage/CommonHelpPage.vue';
import HotkeysHelpPage from './HotkeysHelpPage/HotkeysHelpPage.vue';
import MouseHelpPage from './MouseHelpPage/MouseHelpPage.vue';
import DonateHelpPage from './DonateHelpPage/DonateHelpPage.vue';
import VersionHistoryPage from './VersionHistoryPage/VersionHistoryPage.vue';
import DonateHelpPage from './DonateHelpPage/DonateHelpPage.vue';
const pages = {
'CommonHelpPage': CommonHelpPage,
'HotkeysHelpPage': HotkeysHelpPage,
'MouseHelpPage': MouseHelpPage,
'VersionHistoryPage': VersionHistoryPage,
'DonateHelpPage': DonateHelpPage,
};
const tabs = [
['CommonHelpPage', 'Общее'],
['HotkeysHelpPage', 'Клавиатура'],
['MouseHelpPage', 'Мышь/тачскрин'],
['VersionHistoryPage', 'История версий'],
['DonateHelpPage', 'Помочь проекту'],
];
export default @Component({
components: {
Window,
CommonHelpPage,
HotkeysHelpPage,
MouseHelpPage,
DonateHelpPage,
VersionHistoryPage,
},
components: Object.assign({ Window }, pages),
})
class HelpPage extends Vue {
selectedTab = 'common';
selectedTab = 'CommonHelpPage';
close() {
this.$emit('help-toggle');
}
get activePage() {
if (pages[this.selectedTab])
return pages[this.selectedTab];
return null;
}
get buttons() {
let result = [];
for (const tab of tabs)
result.push({label: tab[1], value: tab[0]});
return result;
}
activateDonateHelpPage() {
this.selectedTab = 'donate';
this.selectedTab = 'DonateHelpPage';
}
activateVersionHistoryHelpPage() {
this.selectedTab = 'releases';
this.selectedTab = 'VersionHistoryPage';
}
keyHook(event) {