1
0
Fork 0
mirror of https://gitlab.com/bramw/baserow.git synced 2025-05-11 20:05:34 +00:00

Resolve "Kanban view"

This commit is contained in:
Bram Wiepjes 2021-11-23 16:48:51 +00:00
parent 931a88a195
commit fd246a3e74
98 changed files with 6229 additions and 166 deletions
web-frontend/modules/database

View file

@ -152,10 +152,10 @@ export const registerRealtimeEvents = (realtime) => {
}
})
realtime.registerEvent('row_updated', (context, data) => {
realtime.registerEvent('row_updated', async (context, data) => {
const { app, store } = context
for (const viewType of Object.values(app.$registry.getAll('view'))) {
viewType.rowUpdated(
await viewType.rowUpdated(
context,
data.table_id,
store.getters['field/getAll'],
@ -166,6 +166,8 @@ export const registerRealtimeEvents = (realtime) => {
'page/'
)
}
store.dispatch('rowModal/updated', { values: data.row })
})
realtime.registerEvent('row_deleted', (context, data) => {
@ -188,20 +190,25 @@ export const registerRealtimeEvents = (realtime) => {
}
})
realtime.registerEvent('view_updated', ({ store, app }, data) => {
realtime.registerEvent('view_updated', (context, data) => {
const { store, app } = context
const view = store.getters['view/get'](data.view.id)
if (view !== undefined) {
const filterType = view.filter_type
const filtersDisabled = view.filters_disabled
const oldView = clone(view)
store.dispatch('view/forceUpdate', { view, values: data.view })
if (
store.getters['view/getSelectedId'] === view.id &&
(filterType !== data.view.filter_type ||
filtersDisabled !== data.view.filters_disabled)
) {
app.$bus.$emit('table-refresh', {
tableId: store.getters['table/getSelectedId'],
})
if (view.id === store.getters['view/getSelectedId']) {
const viewType = app.$registry.get('view', view.type)
const refresh = viewType.updated(context, view, oldView, 'page/')
if (
refresh ||
view.filter_type !== oldView.filter_type ||
view.filters_disabled !== oldView.filters_disabled
) {
app.$bus.$emit('table-refresh', {
tableId: store.getters['table/getSelectedId'],
})
}
}
}
})
@ -323,7 +330,7 @@ export const registerRealtimeEvents = (realtime) => {
realtime.registerEvent('view_field_options_updated', (context, data) => {
const { store, app } = context
const view = store.getters['view/get'](data.view_id)
if (view !== null && view.id === store.getters['view/getSelectedId']) {
if (view !== undefined && view.id === store.getters['view/getSelectedId']) {
const viewType = app.$registry.get('view', view.type)
viewType.fieldOptionsUpdated(context, view, data.field_options, 'page/')
}