fix: wait before routing after creating new/duplicating view
This commit is contained in:
parent
df6fd590cb
commit
4bf58e5b8c
@ -74,7 +74,7 @@ async function create() {
|
|||||||
{ view: view.value }
|
{ view: view.value }
|
||||||
)
|
)
|
||||||
show.value = false
|
show.value = false
|
||||||
props.options.afterCreate?.(v, view.value)
|
props.options.afterCreate?.(v)
|
||||||
}
|
}
|
||||||
|
|
||||||
async function update() {
|
async function update() {
|
||||||
|
|||||||
@ -51,7 +51,8 @@
|
|||||||
<ViewModal
|
<ViewModal
|
||||||
:doctype="doctype"
|
:doctype="doctype"
|
||||||
:options="{
|
:options="{
|
||||||
afterCreate: (v) => {
|
afterCreate: async (v) => {
|
||||||
|
await reloadView()
|
||||||
viewUpdated = false
|
viewUpdated = false
|
||||||
router.push({ name: route.name, query: { view: v.name } })
|
router.push({ name: route.name, query: { view: v.name } })
|
||||||
},
|
},
|
||||||
@ -171,7 +172,16 @@ list.value = createResource({
|
|||||||
params: getParams(),
|
params: getParams(),
|
||||||
cache: [props.doctype, route.query.view],
|
cache: [props.doctype, route.query.view],
|
||||||
onSuccess(data) {
|
onSuccess(data) {
|
||||||
setupDefaults(data)
|
let cv = getView(route.query.view)
|
||||||
|
|
||||||
|
defaultParams.value = {
|
||||||
|
doctype: props.doctype,
|
||||||
|
filters: list.value.params.filters,
|
||||||
|
order_by: list.value.params.order_by,
|
||||||
|
columns: data.columns,
|
||||||
|
rows: data.rows,
|
||||||
|
custom_view_name: cv?.name || '',
|
||||||
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -234,19 +244,6 @@ const viewsDropdownOptions = computed(() => {
|
|||||||
return _views
|
return _views
|
||||||
})
|
})
|
||||||
|
|
||||||
function setupDefaults(data) {
|
|
||||||
let cv = getView(route.query.view)
|
|
||||||
|
|
||||||
defaultParams.value = {
|
|
||||||
doctype: props.doctype,
|
|
||||||
filters: list.value.params.filters,
|
|
||||||
order_by: list.value.params.order_by,
|
|
||||||
columns: data.columns,
|
|
||||||
rows: data.rows,
|
|
||||||
custom_view_name: cv?.name || '',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateFilter(filters) {
|
function updateFilter(filters) {
|
||||||
viewUpdated.value = true
|
viewUpdated.value = true
|
||||||
if (!defaultParams.value) {
|
if (!defaultParams.value) {
|
||||||
|
|||||||
@ -37,8 +37,8 @@ export const viewsStore = defineStore('crm-views', () => {
|
|||||||
return pinnedViews.value
|
return pinnedViews.value
|
||||||
}
|
}
|
||||||
|
|
||||||
function reload() {
|
async function reload(wait = false) {
|
||||||
views.reload()
|
await views.reload()
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user