vaults and keeps close modal and reload on create
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<!-- account is empty... -->
|
<!-- account is empty... -->
|
||||||
|
|
||||||
<i v-show="account.id == keep.creatorId" class="mdi mdi-delete-outline text-secondary" title="Delete"></i>
|
<i v-show="account.id == keep.creatorId" @click="deleteKeep()" class="mdi mdi-delete-outline text-secondary" title="Delete"></i>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -31,6 +31,7 @@ import { computed } from 'vue'
|
|||||||
import { Modal } from 'bootstrap'
|
import { Modal } from 'bootstrap'
|
||||||
import { logger } from '../utils/Logger.js'
|
import { logger } from '../utils/Logger.js'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
import { keepsService } from '../services/KeepsService'
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
keep: {
|
keep: {
|
||||||
@@ -52,12 +53,19 @@ export default {
|
|||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
return {
|
return {
|
||||||
account: computed(() => AppState.account ),
|
account: computed(() => AppState.account ),
|
||||||
|
|
||||||
viewProfile() {
|
viewProfile() {
|
||||||
// console.log(user.name)
|
// console.log(user.name)
|
||||||
// AppState.activeProfile = props.keep.creator
|
// AppState.activeProfile = props.keep.creator
|
||||||
Modal.getOrCreateInstance(document.getElementById("keepModal")).hide();
|
Modal.getOrCreateInstance(document.getElementById("keepModal")).hide();
|
||||||
// logger.log(props.keep.creator.id)
|
// logger.log(props.keep.creator.id)
|
||||||
router.push({ name: "Profile", params: { id: 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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ export default {
|
|||||||
// ,tags: this.tags
|
// ,tags: this.tags
|
||||||
}
|
}
|
||||||
await keepsService.create(newKeep)
|
await keepsService.create(newKeep)
|
||||||
|
Modal.getOrCreateInstance(document.getElementById("newKeepModal")).hide();
|
||||||
|
|
||||||
// reload vaults
|
// reload vaults
|
||||||
// close modal
|
// close modal
|
||||||
|
|||||||
@@ -47,25 +47,14 @@ export default {
|
|||||||
isPrivate: false,
|
isPrivate: false,
|
||||||
|
|
||||||
async createVault() {
|
async createVault() {
|
||||||
let newVault = {}
|
let newVault = {
|
||||||
// assign default if img not specified
|
|
||||||
// if (this.img == "") {
|
|
||||||
// newVault = {
|
|
||||||
// name: this.name,
|
|
||||||
// isPrivate: this.isPrivate
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
newVault = {
|
|
||||||
name: this.name,
|
name: this.name,
|
||||||
img: this.img,
|
img: this.img,
|
||||||
isPrivate: this.isPrivate
|
isPrivate: this.isPrivate
|
||||||
}
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
await vaultsService.createVault(this.newVault)
|
await vaultsService.createVault(newVault)
|
||||||
|
Modal.getOrCreateInstance(document.getElementById("newVaultModal")).hide();
|
||||||
// reload vaults
|
|
||||||
// close modal
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,9 @@
|
|||||||
<ProfileKeepTile v-for="k in keeps" :key="k.id" :keep="k" @click="viewKeep(k)" class="py-2" />
|
<ProfileKeepTile v-for="k in keeps" :key="k.id" :keep="k" @click="viewKeep(k)" class="py-2" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<KeepModal :keep="activeKeep" />
|
<KeepModal :keep="activeKeep">
|
||||||
|
<KeepModalButtons :keep="activeKeep" />
|
||||||
|
</KeepModal>
|
||||||
<NewVaultModal />
|
<NewVaultModal />
|
||||||
<NewKeepModal />
|
<NewKeepModal />
|
||||||
</div>
|
</div>
|
||||||
@@ -55,6 +57,7 @@ import { keepsService } from '../services/KeepsService';
|
|||||||
import VaultTile from '../components/VaultTile.vue';
|
import VaultTile from '../components/VaultTile.vue';
|
||||||
import NewVaultModal from '../components/NewVaultModal.vue';
|
import NewVaultModal from '../components/NewVaultModal.vue';
|
||||||
import NewKeepModal from '../components/NewKeepModal.vue';
|
import NewKeepModal from '../components/NewKeepModal.vue';
|
||||||
|
import KeepModalButtons from '../components/KeepModalButtons.vue';
|
||||||
export default {
|
export default {
|
||||||
setup() {
|
setup() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
@@ -95,7 +98,7 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: { VaultTile, NewVaultModal, NewKeepModal }
|
components: { VaultTile, NewVaultModal, NewKeepModal, KeepModalButtons }
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { AppState } from '../AppState'
|
import { AppState } from '../AppState'
|
||||||
import { logger } from '../utils/Logger'
|
import { logger } from '../utils/Logger'
|
||||||
import { api } from './AxiosService'
|
import { api } from './AxiosService'
|
||||||
|
import Pop from '../utils/Pop'
|
||||||
|
|
||||||
class KeepsService {
|
class KeepsService {
|
||||||
async getAll() {
|
async getAll() {
|
||||||
@@ -9,6 +10,7 @@ class KeepsService {
|
|||||||
AppState.keeps = res.data
|
AppState.keeps = res.data
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error)
|
logger.error(error)
|
||||||
|
Pop.error(error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -18,15 +20,33 @@ class KeepsService {
|
|||||||
AppState.keeps = res.data
|
AppState.keeps = res.data
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error)
|
logger.error(error)
|
||||||
|
Pop.error(error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async create(newKeep) {
|
async create(newKeep) {
|
||||||
try {
|
try {
|
||||||
const res = await api.post('api/keeps', newKeep)
|
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) {
|
} catch (error) {
|
||||||
logger.error(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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ class VaultsService {
|
|||||||
async createVault(vaultData) {
|
async createVault(vaultData) {
|
||||||
try {
|
try {
|
||||||
const res = await api.post('api/vaults', vaultData)
|
const res = await api.post('api/vaults', vaultData)
|
||||||
logger.log(res.data)
|
// logger.log(res.data)
|
||||||
|
AppState.profileVaults.push(res.data)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(error)
|
logger.error(error)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user