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/store/view/gallery.js

60 lines
1.3 KiB
JavaScript

import bufferedRows from '@baserow/modules/database/store/view/bufferedRows'
import fieldOptions from '@baserow/modules/database/store/view/fieldOptions'
import GalleryService from '@baserow/modules/database/services/view/gallery'
export function populateRow(row, metadata = {}) {
row._ = {
metadata,
dragging: false,
}
return row
}
const galleryBufferedRows = bufferedRows({
service: GalleryService,
populateRow,
})
const galleryFieldOptions = fieldOptions()
export const state = () => ({
...galleryBufferedRows.state(),
...galleryFieldOptions.state(),
})
export const mutations = {
...galleryBufferedRows.mutations,
...galleryFieldOptions.mutations,
}
export const actions = {
...galleryBufferedRows.actions,
...galleryFieldOptions.actions,
async fetchInitial(
{ dispatch },
{ viewId, fields, adhocFiltering, adhocSorting }
) {
const data = await dispatch('fetchInitialRows', {
viewId,
fields,
initialRowArguments: { includeFieldOptions: true },
adhocFiltering,
adhocSorting,
})
await dispatch('forceUpdateAllFieldOptions', data.field_options)
},
}
export const getters = {
...galleryBufferedRows.getters,
...galleryFieldOptions.getters,
}
export default {
namespaced: true,
state,
getters,
actions,
mutations,
}