Fix multibot logout

This commit is contained in:
Matthias 2021-08-29 10:54:37 +02:00
parent 0955c21082
commit 9ad4fefffa
3 changed files with 22 additions and 6 deletions

View File

@ -3,8 +3,14 @@
<h3>Available bots</h3> <h3>Available bots</h3>
<div v-for="bot in allAvailableBots" :key="bot"> <div v-for="bot in allAvailableBots" :key="bot">
{{ bot }} {{ bot }}
<b-button class="btn-xs ml-1" size="sm" title="Delete trade" @click="clickRemoveBot(bot)">
<EditIcon :size="16" title="Delete trade" />
</b-button>
<b-button class="btn-xs ml-1" size="sm" title="Delete bot" @click="clickRemoveBot(bot)">
<DeleteIcon :size="16" title="Delete trade" />
</b-button>
</div> </div>
<LoginModal login-text="Add new bot" /> <LoginModal class="mt-2" login-text="Add new bot" />
</div> </div>
</template> </template>
@ -13,15 +19,24 @@ import { Component, Vue } from 'vue-property-decorator';
import { namespace } from 'vuex-class'; import { namespace } from 'vuex-class';
import { MultiBotStoreGetters } from '@/store/modules/botStoreWrapper'; import { MultiBotStoreGetters } from '@/store/modules/botStoreWrapper';
import LoginModal from '@/views/LoginModal.vue'; import LoginModal from '@/views/LoginModal.vue';
import EditIcon from 'vue-material-design-icons/Cog.vue';
import DeleteIcon from 'vue-material-design-icons/Delete.vue';
const ftbot = namespace('ftbot'); const ftbot = namespace('ftbot');
@Component({ components: { LoginModal } }) @Component({ components: { LoginModal, DeleteIcon, EditIcon } })
export default class BotList extends Vue { export default class BotList extends Vue {
@ftbot.Getter [MultiBotStoreGetters.allAvailableBots]: string[]; @ftbot.Getter [MultiBotStoreGetters.allAvailableBots]: string[];
clickAddBot() { @ftbot.Action removeBot;
clickRemoveBot(botId) {
// //
this.$bvModal.msgBoxConfirm(`Really remove (logout) from ${botId}?`).then((value: boolean) => {
if (value) {
this.removeBot(botId);
}
});
} }
} }
</script> </script>

View File

@ -75,9 +75,10 @@ export default function createBotStore(store) {
store.registerModule(['ftbot', botId], createBotSubStore(botId)); store.registerModule(['ftbot', botId], createBotSubStore(botId));
commit('addBot', botId); commit('addBot', botId);
}, },
removeBot({ commit, getters }, botId: string) { removeBot({ commit, getters, dispatch }, botId: string) {
if (getters.allAvailableBots.includes(botId)) { if (getters.allAvailableBots.includes(botId)) {
store.unregisterModule(`ftbot/${botId}`); dispatch(`${botId}/logout`);
store.unregisterModule([`ftbot`, botId]);
commit('removeBot', botId); commit('removeBot', botId);
} else { } else {
console.warn(`bot ${botId} not found! could not remove`); console.warn(`bot ${botId} not found! could not remove`);

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<b-button v-b-modal.modal-prevent-closing>{{ loginText }}</b-button> <b-button v-b-modal.modal-prevent-closing>{{ loginText }}</b-button>
<b-modal id="modal-prevent-closing" ref="modal" title="Submit Your Name" @ok="handleOk"> <b-modal id="modal-prevent-closing" ref="modal" title="Login to your bot" @ok="handleOk">
<Login id="loginForm" ref="loginForm" in-modal /> <Login id="loginForm" ref="loginForm" in-modal />
</b-modal> </b-modal>
</div> </div>