2020-06-03 20:56:44 +02:00
|
|
|
<template>
|
|
|
|
<details class="accordion workspace-explorebar-database">
|
2020-06-05 21:00:15 +02:00
|
|
|
<summary
|
|
|
|
class="accordion-header database-name pb-0"
|
|
|
|
:class="{'text-bold': breadcrumbs.database === database.name}"
|
|
|
|
@click="changeBreadcrumbs({database: database.name, table:null})"
|
|
|
|
>
|
2020-06-03 20:56:44 +02:00
|
|
|
<i class="icon material-icons md-18 mr-1">navigate_next</i>
|
|
|
|
<i class="material-icons md-18 mr-1">view_agenda</i>
|
2020-06-05 21:00:15 +02:00
|
|
|
<span>{{ database.name }}</span>
|
2020-06-03 20:56:44 +02:00
|
|
|
</summary>
|
|
|
|
<div class="accordion-body">
|
|
|
|
<div class="database-bables">
|
|
|
|
<ul class="menu menu-nav pt-0">
|
|
|
|
<li
|
|
|
|
v-for="table of database.tables"
|
|
|
|
:key="table.TABLE_NAME"
|
|
|
|
class="menu-item"
|
2020-06-05 21:00:15 +02:00
|
|
|
:class="{'text-bold': breadcrumbs.database === database.name && breadcrumbs.table === table.TABLE_NAME}"
|
|
|
|
@click="changeBreadcrumbs({database: database.name, table: table.TABLE_NAME})"
|
2020-06-03 20:56:44 +02:00
|
|
|
>
|
|
|
|
<a class="table-name">
|
|
|
|
<i class="material-icons md-18 mr-1">grid_on</i>
|
|
|
|
<span>{{ table.TABLE_NAME }}</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</details>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2020-06-05 21:00:15 +02:00
|
|
|
import { mapActions, mapGetters } from 'vuex';
|
|
|
|
|
2020-06-03 20:56:44 +02:00
|
|
|
export default {
|
|
|
|
name: 'WorkspaceExploreBarDatabase',
|
|
|
|
props: {
|
2020-06-05 21:00:15 +02:00
|
|
|
database: Object,
|
|
|
|
connection: Object
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
...mapGetters({
|
|
|
|
getWorkspace: 'workspaces/getWorkspace'
|
|
|
|
}),
|
|
|
|
breadcrumbs () {
|
|
|
|
return this.getWorkspace(this.connection.uid).breadcrumbs;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
...mapActions({
|
|
|
|
changeBreadcrumbs: 'workspaces/changeBreadcrumbs'
|
|
|
|
})
|
2020-06-03 20:56:44 +02:00
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
.workspace-explorebar-database{
|
|
|
|
.database-name,
|
|
|
|
a.table-name{
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
padding: .1rem;
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
|
|
> span{
|
|
|
|
overflow: hidden;
|
|
|
|
white-space: nowrap;
|
|
|
|
display: block;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
2020-06-05 21:00:15 +02:00
|
|
|
|
|
|
|
&:hover{
|
|
|
|
color: $body-font-color;
|
|
|
|
background: rgba($color: #FFF, $alpha: .05);
|
|
|
|
border-radius: 2px;
|
|
|
|
}
|
2020-06-03 20:56:44 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.database-bables{
|
|
|
|
margin-left: 1.2rem;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</style>
|