[#7135] merge scaffold collection indexes

This commit is contained in:
Gani Georgiev 2025-08-26 21:07:20 +03:00
parent 5d964c1b1d
commit ee8c0a66b6
1 changed files with 44 additions and 39 deletions

View File

@ -6,7 +6,13 @@
import { confirm } from "@/stores/confirmation"; import { confirm } from "@/stores/confirmation";
import { errors, removeError, setErrors } from "@/stores/errors"; import { errors, removeError, setErrors } from "@/stores/errors";
import { addSuccessToast, removeAllToasts } from "@/stores/toasts"; import { addSuccessToast, removeAllToasts } from "@/stores/toasts";
import { addCollection, removeCollection, scaffolds, activeCollection } from "@/stores/collections"; import {
addCollection,
removeCollection,
scaffolds,
activeCollection,
refreshScaffolds,
} from "@/stores/collections";
import tooltip from "@/actions/tooltip"; import tooltip from "@/actions/tooltip";
import Field from "@/components/base/Field.svelte"; import Field from "@/components/base/Field.svelte";
import OverlayPanel from "@/components/base/OverlayPanel.svelte"; import OverlayPanel from "@/components/base/OverlayPanel.svelte";
@ -161,7 +167,7 @@
isLoadingConfirmation = false; isLoadingConfirmation = false;
} }
function save(hideAfterSave = true) { async function save(hideAfterSave = true) {
if (isSaving) { if (isSaving) {
return; return;
} }
@ -171,15 +177,14 @@
const data = exportFormData(); const data = exportFormData();
const isNew = !collection.id; const isNew = !collection.id;
let request; try {
let result;
if (isNew) { if (isNew) {
request = ApiClient.collections.create(data); result = await ApiClient.collections.create(data);
} else { } else {
request = ApiClient.collections.update(collection.id, data); result = await ApiClient.collections.update(collection.id, data);
} }
return request
.then((result) => {
removeAllToasts(); removeAllToasts();
addCollection(result); addCollection(result);
@ -202,14 +207,14 @@
if (isNew) { if (isNew) {
$activeCollection = result; $activeCollection = result;
await refreshScaffolds();
} }
}) } catch (err) {
.catch((err) => {
ApiClient.error(err); ApiClient.error(err);
}) }
.finally(() => {
isSaving = false; isSaving = false;
});
} }
function exportFormData() { function exportFormData() {