diff --git a/src/components/text/TextCard.vue b/src/components/text/TextCard.vue index 932e11c..341d8da 100644 --- a/src/components/text/TextCard.vue +++ b/src/components/text/TextCard.vue @@ -15,11 +15,14 @@ - + {{ prod.id }} - + x diff --git a/src/pages/Library.vue b/src/pages/Library.vue index 700d827..9516d8e 100644 --- a/src/pages/Library.vue +++ b/src/pages/Library.vue @@ -5,9 +5,13 @@
- +
- +
@@ -53,11 +57,27 @@ export default { }, methods: { - openText () { + openText (group, id) { + if (group.prod.includes(id)) return + group.prod.push(id) + this.updateQuery(this.groups) + }, + + closeText (group, id) { + if (!id) { + this.updateQuery(this.groups.filter(grp => grp !== group)) + } else { + group.prod = group.prod.filter(id_ => id_ !== id) + this.updateQuery(this.groups) + } + }, + + updateQuery (groups) { + // Update the route's query (will not reload the page) and let vue determine what changed. this.$router.push({ query: { mode: this.mode, - texts: [...this.texts, [50]] + texts: groups.map(grp => [grp.id, ...grp.prod]) } }) }