<template>
<v-expansion-panel>
<Deck
v-for="deck in linked"
:deck="deck"
:key="deck.id"
@change="refresh_decks"
/>
<NewDeck />
</v-expansion-panel>
</template>
<script>
import * as Cookies from 'js-cookie'
import axios from '@/plugins/axios'
import DeckJS from '@/classes/Deck'
import Deck from './Deck.vue'
import NewDeck from './NewDeck.vue'
export default {
name: 'DeckList',
components: {
Deck,
NewDeck
},
asyncComputed: {
decks: {
get() {
return axios
.post('/decks/list', {
session: this.session
})
.then(response => {
if (response.data.success) {
return response.data.decks
}
default: []
computed: {
session: () => Cookies.get('session'),
linked() {
let result = []
for (let plainDeck of this.decks) {
let deck = new DeckJS()
deck.from_plainObject(plainDeck)
deck.populate()
result.push(deck)
return result
methods: {
refresh_decks() {
this.$asyncComputed.decks.update()
</script>