1
0
mirror of https://gitlab.com/bramw/baserow.git synced 2024-11-25 00:46:46 +00:00
bramw_baserow/web-frontend/modules/database/components/view/grid/GridViewHeader.vue
2024-09-26 15:40:52 +00:00

73 lines
1.7 KiB
Vue

<template>
<ul v-if="!tableLoading" class="header__filter header__filter--full-width">
<li class="header__filter-item">
<GridViewHide
:database="database"
:view="view"
:fields="fieldsAllowedToBeHidden"
:read-only="readOnly"
:store-prefix="storePrefix"
></GridViewHide>
</li>
<li class="header__filter-item">
<GridViewRowHeight
:database="database"
:view="view"
:store-prefix="storePrefix"
:read-only="readOnly"
></GridViewRowHeight>
</li>
<li class="header__filter-item header__filter-item--right">
<ViewSearch
:view="view"
:fields="fields"
:store-prefix="storePrefix"
@refresh="$emit('refresh', $event)"
></ViewSearch>
</li>
</ul>
</template>
<script>
import { mapState } from 'vuex'
import GridViewRowHeight from '@baserow/modules/database/components/view/grid/GridViewRowHeight'
import GridViewHide from '@baserow/modules/database/components/view/grid/GridViewHide'
import ViewSearch from '@baserow/modules/database/components/view/ViewSearch'
export default {
name: 'GridViewHeader',
components: { GridViewRowHeight, GridViewHide, ViewSearch },
props: {
database: {
type: Object,
required: true,
},
view: {
type: Object,
required: true,
},
fields: {
type: Array,
required: true,
},
readOnly: {
type: Boolean,
required: true,
},
storePrefix: {
type: String,
required: true,
},
},
computed: {
...mapState({
tableLoading: (state) => state.table.loading,
}),
fieldsAllowedToBeHidden() {
return this.fields.filter((field) => !field.primary)
},
},
}
</script>