mirror of
https://github.com/directus/directus.git
synced 2026-01-23 08:47:55 -05:00
Don't navigate on save error
This commit is contained in:
@@ -117,8 +117,9 @@ export function useItem(collection: Ref<string>, primaryKey: Ref<string | number
|
||||
});
|
||||
} else {
|
||||
unexpectedError(err);
|
||||
throw err;
|
||||
}
|
||||
|
||||
throw err;
|
||||
} finally {
|
||||
saving.value = false;
|
||||
}
|
||||
|
||||
@@ -393,39 +393,55 @@ export default defineComponent({
|
||||
async function saveAndQuit() {
|
||||
if (isSavable.value === false) return;
|
||||
|
||||
await save();
|
||||
if (props.singleton === false) router.push(`/collections/${props.collection}`);
|
||||
try {
|
||||
await save();
|
||||
if (props.singleton === false) router.push(`/collections/${props.collection}`);
|
||||
} catch {
|
||||
// Save shows unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAndStay() {
|
||||
if (isSavable.value === false) return;
|
||||
|
||||
const savedItem: Record<string, any> = await save();
|
||||
try {
|
||||
const savedItem: Record<string, any> = await save();
|
||||
|
||||
revisionsDrawerDetail.value?.$data?.refresh?.();
|
||||
revisionsDrawerDetail.value?.$data?.refresh?.();
|
||||
|
||||
if (props.primaryKey === '+') {
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
const newPrimaryKey = savedItem[primaryKeyField.value!.field];
|
||||
router.replace(`/collections/${props.collection}/${newPrimaryKey}`);
|
||||
if (props.primaryKey === '+') {
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
const newPrimaryKey = savedItem[primaryKeyField.value!.field];
|
||||
router.replace(`/collections/${props.collection}/${newPrimaryKey}`);
|
||||
}
|
||||
} catch {
|
||||
// Save shows unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAndAddNew() {
|
||||
if (isSavable.value === false) return;
|
||||
|
||||
await save();
|
||||
try {
|
||||
await save();
|
||||
|
||||
if (isNew.value === true) {
|
||||
refresh();
|
||||
} else {
|
||||
router.push(`/collections/${props.collection}/+`);
|
||||
if (isNew.value === true) {
|
||||
refresh();
|
||||
} else {
|
||||
router.push(`/collections/${props.collection}/+`);
|
||||
}
|
||||
} catch {
|
||||
// Save shows unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAsCopyAndNavigate() {
|
||||
const newPrimaryKey = await saveAsCopy();
|
||||
router.push(`/collections/${props.collection}/${newPrimaryKey}`);
|
||||
try {
|
||||
const newPrimaryKey = await saveAsCopy();
|
||||
router.push(`/collections/${props.collection}/${newPrimaryKey}`);
|
||||
} catch {
|
||||
// Save shows unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function deleteAndQuit() {
|
||||
@@ -438,12 +454,16 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
async function toggleArchive() {
|
||||
await archive();
|
||||
try {
|
||||
await archive();
|
||||
|
||||
if (isArchived.value === true) {
|
||||
router.push(`/collections/${props.collection}`);
|
||||
} else {
|
||||
confirmArchive.value = false;
|
||||
if (isArchived.value === true) {
|
||||
router.push(`/collections/${props.collection}`);
|
||||
} else {
|
||||
confirmArchive.value = false;
|
||||
}
|
||||
} catch {
|
||||
// `archive` will show the unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -379,13 +379,21 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
async function saveAndQuit() {
|
||||
await save();
|
||||
router.push(`/files`);
|
||||
try {
|
||||
await save();
|
||||
router.push(`/files`);
|
||||
} catch {
|
||||
// `save` will show unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAndStay() {
|
||||
await save();
|
||||
revisionsDrawerDetail.value?.$data?.refresh?.();
|
||||
try {
|
||||
await save();
|
||||
revisionsDrawerDetail.value?.$data?.refresh?.();
|
||||
} catch {
|
||||
// `save` will show unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAsCopyAndNavigate() {
|
||||
|
||||
@@ -356,35 +356,51 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
async function saveAndQuit() {
|
||||
const savedItem: Record<string, any> = await save();
|
||||
await setLang(savedItem);
|
||||
await refreshCurrentUser();
|
||||
router.push(`/users`);
|
||||
try {
|
||||
const savedItem: Record<string, any> = await save();
|
||||
await setLang(savedItem);
|
||||
await refreshCurrentUser();
|
||||
router.push(`/users`);
|
||||
} catch {
|
||||
// `save` will show unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAndStay() {
|
||||
const savedItem: Record<string, any> = await save();
|
||||
await setLang(savedItem);
|
||||
try {
|
||||
const savedItem: Record<string, any> = await save();
|
||||
await setLang(savedItem);
|
||||
|
||||
revisionsDrawerDetail.value?.$data?.refresh?.();
|
||||
revisionsDrawerDetail.value?.$data?.refresh?.();
|
||||
|
||||
if (props.primaryKey === '+') {
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
const newPrimaryKey = savedItem.id;
|
||||
router.replace(`/collections/users/${newPrimaryKey}`);
|
||||
if (props.primaryKey === '+') {
|
||||
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||
const newPrimaryKey = savedItem.id;
|
||||
router.replace(`/collections/users/${newPrimaryKey}`);
|
||||
}
|
||||
} catch {
|
||||
// `save` will show unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAndAddNew() {
|
||||
const savedItem: Record<string, any> = await save();
|
||||
await setLang(savedItem);
|
||||
await refreshCurrentUser();
|
||||
router.push(`/users/+`);
|
||||
try {
|
||||
const savedItem: Record<string, any> = await save();
|
||||
await setLang(savedItem);
|
||||
await refreshCurrentUser();
|
||||
router.push(`/users/+`);
|
||||
} catch {
|
||||
// `save` will show unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function saveAsCopyAndNavigate() {
|
||||
const newPrimaryKey = await saveAsCopy();
|
||||
router.push(`/users/${newPrimaryKey}`);
|
||||
try {
|
||||
const newPrimaryKey = await saveAsCopy();
|
||||
router.push(`/users/${newPrimaryKey}`);
|
||||
} catch {
|
||||
// `save` will show unexpected error dialog
|
||||
}
|
||||
}
|
||||
|
||||
async function deleteAndQuit() {
|
||||
|
||||
Reference in New Issue
Block a user