From d21c78a4b29629e0579f1031ac3ae2d2d6c1cab6 Mon Sep 17 00:00:00 2001 From: Annika Date: Thu, 4 Aug 2022 13:14:37 -0600 Subject: [PATCH] vaults and keeps close modal and reload on create --- .../src/components/KeepModalButtons.vue | 10 ++++++++- keepr.client/src/components/NewKeepModal.vue | 1 + keepr.client/src/components/NewVaultModal.vue | 17 +++----------- keepr.client/src/pages/ProfilePage.vue | 7 ++++-- keepr.client/src/services/KeepsService.js | 22 ++++++++++++++++++- keepr.client/src/services/VaultsService.js | 3 ++- 6 files changed, 41 insertions(+), 19 deletions(-) diff --git a/keepr.client/src/components/KeepModalButtons.vue b/keepr.client/src/components/KeepModalButtons.vue index 7c24452..5b4937b 100644 --- a/keepr.client/src/components/KeepModalButtons.vue +++ b/keepr.client/src/components/KeepModalButtons.vue @@ -13,7 +13,7 @@ - + @@ -31,6 +31,7 @@ import { computed } from 'vue' import { Modal } from 'bootstrap' import { logger } from '../utils/Logger.js' import { useRouter } from 'vue-router' +import { keepsService } from '../services/KeepsService' export default { props: { keep: { @@ -52,12 +53,19 @@ export default { const router = useRouter() return { account: computed(() => AppState.account ), + viewProfile() { // console.log(user.name) // AppState.activeProfile = props.keep.creator Modal.getOrCreateInstance(document.getElementById("keepModal")).hide(); // logger.log(props.keep.creator.id) router.push({ name: "Profile", params: { id: props.keep.creator.id } }); + }, + + async deleteKeep() { + await keepsService.delete(props.keep.id) + Modal.getOrCreateInstance(document.getElementById("keepModal")).hide(); + // do more things } } } diff --git a/keepr.client/src/components/NewKeepModal.vue b/keepr.client/src/components/NewKeepModal.vue index 15eb566..6564707 100644 --- a/keepr.client/src/components/NewKeepModal.vue +++ b/keepr.client/src/components/NewKeepModal.vue @@ -61,6 +61,7 @@ export default { // ,tags: this.tags } await keepsService.create(newKeep) + Modal.getOrCreateInstance(document.getElementById("newKeepModal")).hide(); // reload vaults // close modal diff --git a/keepr.client/src/components/NewVaultModal.vue b/keepr.client/src/components/NewVaultModal.vue index c67e164..f75296d 100644 --- a/keepr.client/src/components/NewVaultModal.vue +++ b/keepr.client/src/components/NewVaultModal.vue @@ -47,25 +47,14 @@ export default { isPrivate: false, async createVault() { - let newVault = {} - // assign default if img not specified - // if (this.img == "") { - // newVault = { - // name: this.name, - // isPrivate: this.isPrivate - // } - // } else { - newVault = { + let newVault = { name: this.name, img: this.img, isPrivate: this.isPrivate } - // } - await vaultsService.createVault(this.newVault) - - // reload vaults - // close modal + await vaultsService.createVault(newVault) + Modal.getOrCreateInstance(document.getElementById("newVaultModal")).hide(); } } } diff --git a/keepr.client/src/pages/ProfilePage.vue b/keepr.client/src/pages/ProfilePage.vue index 5e28957..b9b3dd6 100644 --- a/keepr.client/src/pages/ProfilePage.vue +++ b/keepr.client/src/pages/ProfilePage.vue @@ -37,7 +37,9 @@ - + + + @@ -55,6 +57,7 @@ import { keepsService } from '../services/KeepsService'; import VaultTile from '../components/VaultTile.vue'; import NewVaultModal from '../components/NewVaultModal.vue'; import NewKeepModal from '../components/NewKeepModal.vue'; +import KeepModalButtons from '../components/KeepModalButtons.vue'; export default { setup() { const router = useRouter(); @@ -95,7 +98,7 @@ export default { } }; }, - components: { VaultTile, NewVaultModal, NewKeepModal } + components: { VaultTile, NewVaultModal, NewKeepModal, KeepModalButtons } } diff --git a/keepr.client/src/services/KeepsService.js b/keepr.client/src/services/KeepsService.js index 76d8b3b..d481ced 100644 --- a/keepr.client/src/services/KeepsService.js +++ b/keepr.client/src/services/KeepsService.js @@ -1,6 +1,7 @@ import { AppState } from '../AppState' import { logger } from '../utils/Logger' import { api } from './AxiosService' +import Pop from '../utils/Pop' class KeepsService { async getAll() { @@ -9,6 +10,7 @@ class KeepsService { AppState.keeps = res.data } catch (error) { logger.error(error) + Pop.error(error) } } @@ -18,15 +20,33 @@ class KeepsService { AppState.keeps = res.data } catch (error) { logger.error(error) + Pop.error(error) } } async create(newKeep) { try { const res = await api.post('api/keeps', newKeep) - logger.log(res.data) + // logger.log(res.data) + AppState.profileKeeps.push(res.data) + AppState.keeps.push(res.data) + // this.getAll() } catch (error) { logger.error(error) + Pop.error(error) + } + } + + async delete(keepId) { + try { + const res = await api.delete('api/keeps/' + keepId) + // logger.log(res.data) + // AppState.keeps.filter((k) => k.id != res.data) + // AppState.keeps.filter((k) => k.id != keepId) + this.getAll() + } catch (error) { + logger.error(error) + Pop.error(error) } } } diff --git a/keepr.client/src/services/VaultsService.js b/keepr.client/src/services/VaultsService.js index 1e64092..6ae15d5 100644 --- a/keepr.client/src/services/VaultsService.js +++ b/keepr.client/src/services/VaultsService.js @@ -24,7 +24,8 @@ class VaultsService { async createVault(vaultData) { try { const res = await api.post('api/vaults', vaultData) - logger.log(res.data) + // logger.log(res.data) + AppState.profileVaults.push(res.data) } catch (error) { logger.error(error) }