Use enum for possible tradeViz options

This commit is contained in:
Matthias 2021-06-12 19:47:02 +02:00
parent 385a7fca11
commit a61f6e860c
3 changed files with 15 additions and 9 deletions

View File

@ -55,7 +55,7 @@ import BootswatchThemeSelect from '@/components/BootswatchThemeSelect.vue';
import { LayoutActions, LayoutGetters } from '@/store/modules/layout';
import { BotStoreGetters } from '@/store/modules/ftbot';
import Favico from 'favico.js';
import { SettingsGetters } from '@/store/modules/settings';
import { OpenTradeVizOptions, SettingsGetters } from '@/store/modules/settings';
const ftbot = namespace('ftbot');
const layoutNs = namespace('layout');
@ -150,7 +150,7 @@ export default class NavBar extends Vue {
setTitle() {
let title = 'freqUI';
if (this.openTradesInTitle === 'asTitle') {
if (this.openTradesInTitle === OpenTradeVizOptions.asTitle) {
title = `(${this.openTradeCount}) ${title}`;
}
if (this.botName) {
@ -167,9 +167,9 @@ export default class NavBar extends Vue {
@Watch(BotStoreGetters.openTradeCount)
openTradeCountChanged() {
console.log('openTradeCount changed');
if (this.openTradesInTitle === 'showPill') {
if (this.openTradesInTitle === OpenTradeVizOptions.showPill) {
this.setOpenTradesAsPill(this.openTradeCount);
} else if (this.openTradesInTitle === 'asTitle') {
} else if (this.openTradesInTitle === OpenTradeVizOptions.asTitle) {
this.setTitle();
}
}

View File

@ -1,5 +1,11 @@
const STORE_UI_SETTINGS = 'ftUISettings';
export enum OpenTradeVizOptions {
showPill = 'showPill',
asTitle = 'asTitle',
noOpenTrades = 'noOpenTrades',
}
export enum SettingsGetters {
openTradesInTitle = 'openTradesInTitle',
}
@ -30,7 +36,7 @@ function updateSetting(key: string, value: string) {
export default {
namespaced: true,
state: {
openTradesInTitle: storedSettings?.openTradesInTitle || 'showPill',
openTradesInTitle: storedSettings?.openTradesInTitle || OpenTradeVizOptions.showPill,
},
getters: {
[SettingsGetters.openTradesInTitle](state) {

View File

@ -23,7 +23,7 @@
<script lang="ts">
import { LayoutActions, LayoutGetters } from '@/store/modules/layout';
import { SettingsActions, SettingsGetters } from '@/store/modules/settings';
import { OpenTradeVizOptions, SettingsActions, SettingsGetters } from '@/store/modules/settings';
import { Component, Vue } from 'vue-property-decorator';
import { namespace } from 'vuex-class';
@ -41,9 +41,9 @@ export default class Template extends Vue {
@uiSettingsNs.Action [SettingsActions.setOpenTradesInTitle];
openTradesOptions = [
{ value: 'showPill', text: 'Show pill in icon' },
{ value: 'asTitle', text: 'Show in title' },
{ value: 'noOpenTrades', text: "Don't show open trades in header" },
{ value: OpenTradeVizOptions.showPill, text: 'Show pill in icon' },
{ value: OpenTradeVizOptions.asTitle, text: 'Show in title' },
{ value: OpenTradeVizOptions.noOpenTrades, text: "Don't show open trades in header" },
];
get openTradesVisualization() {