Make accounts clickable for delete feature

This commit is contained in:
Bubka 2020-02-06 16:08:46 +01:00
parent be4e678080
commit d4b6dc3bd2

View File

@ -31,11 +31,11 @@
<div class="tfa-container"> <div class="tfa-container">
<div class="tfa-checkbox" v-if="editMode"> <div class="tfa-checkbox" v-if="editMode">
<div class="field"> <div class="field">
<input class="is-checkradio is-small is-white" :id="'ckb_' + account.id" :value="account" type="checkbox" :name="'ckb_' + account.id" v-model="selectedAccounts"> <input class="is-checkradio is-small is-white" :id="'ckb_' + account.id" :value="account.id" type="checkbox" :name="'ckb_' + account.id" v-model="selectedAccounts">
<label :for="'ckb_' + account.id"></label> <label :for="'ckb_' + account.id"></label>
</div> </div>
</div> </div>
<div class="tfa-content is-size-3 is-size-4-mobile" @click.stop="showAccount(account.id)"> <div class="tfa-content is-size-3 is-size-4-mobile" @click.stop="showAccount(account)">
<div class="tfa-text has-ellipsis"> <div class="tfa-text has-ellipsis">
<img :src="'/storage/icons/' + account.icon" v-if="account.icon"> <img :src="'/storage/icons/' + account.icon" v-if="account.icon">
{{ account.service }} {{ account.service }}
@ -220,8 +220,21 @@
}) })
}, },
showAccount(id) { showAccount(account) {
this.$refs.TwofaccountShow.showAccount(id) if(this.editMode) {
for (var i=0 ; i<this.selectedAccounts.length ; i++) {
if ( this.selectedAccounts[i] === account.id ) {
this.selectedAccounts.splice(i,1);
return
}
}
this.selectedAccounts.push(account.id)
}
else {
this.$refs.TwofaccountShow.showAccount(account.id)
}
}, },
deleteAccount: function (id) { deleteAccount: function (id) {
@ -237,7 +250,7 @@
if(confirm(this.$t('twofaccounts.confirm.delete'))) { if(confirm(this.$t('twofaccounts.confirm.delete'))) {
let ids = [] let ids = []
this.selectedAccounts.forEach(account => ids.push(account.id)) this.selectedAccounts.forEach(id => ids.push(id))
// Backend will delete all accounts at the same time // Backend will delete all accounts at the same time
await this.axios.delete('/api/twofaccounts/batch', {data: ids} ) await this.axios.delete('/api/twofaccounts/batch', {data: ids} )