<template> <SidebarApplication :application="application" @selected="selected"> <template #context> <li> <nuxt-link :to="{ name: 'database-api-docs-detail', params: { databaseId: application.id, }, }" > <i class="context__menu-icon fas fa-fw fa-book"></i> View API docs </nuxt-link> </li> </template> <template v-if="application._.selected" #body> <ul class="tree__subs"> <SidebarItem v-for="table in application.tables" :key="table.id" :database="application" :table="table" ></SidebarItem> </ul> <a class="tree__sub-add" @click="$refs.createTableModal.show()"> <i class="fas fa-plus"></i> Create table </a> <CreateTableModal ref="createTableModal" :application="application" ></CreateTableModal> </template> </SidebarApplication> </template> <script> import { notifyIf } from '@baserow/modules/core/utils/error' import SidebarItem from '@baserow/modules/database/components/sidebar/SidebarItem' import CreateTableModal from '@baserow/modules/database/components/table/CreateTableModal' import SidebarApplication from '@baserow/modules/core/components/sidebar/SidebarApplication' export default { name: 'Sidebar', components: { SidebarApplication, SidebarItem, CreateTableModal }, props: { application: { type: Object, required: true, }, }, methods: { async selected(application) { try { await this.$store.dispatch('application/select', application) } catch (error) { notifyIf(error, 'group') } }, }, } </script>