|
@@ -26,6 +26,8 @@ export type FuseModels = FuseModel[]
|
|
|
export type { FuseModelAttrs } from '@/api'
|
|
|
|
|
|
export const fuseModels = ref<FuseModels>([])
|
|
|
+export const dynamicAddedModelIds = ref<FuseModel['id'][]>([])
|
|
|
+
|
|
|
export const defaultFuseModelAttrs: FuseModelAttrs = {
|
|
|
show: true,
|
|
|
scale: 100,
|
|
@@ -126,14 +128,21 @@ export const recoverFuseModels = () => {
|
|
|
}
|
|
|
|
|
|
export const updateFuseModel = updateStoreItem(fuseModels, postUpdateFuseModels)
|
|
|
-export const deleteFuseModel = deleteStoreItem(fuseModels, postDeleteFuseModel)
|
|
|
+export const deleteFuseModel = deleteStoreItem(fuseModels, async (model) => {
|
|
|
+ await postDeleteFuseModel(model)
|
|
|
+ const index = dynamicAddedModelIds.value.indexOf(model.id)
|
|
|
+ ~index && dynamicAddedModelIds.value.splice(index, 1)
|
|
|
+})
|
|
|
+
|
|
|
export const addFuseModel = async (model: FuseModel) => {
|
|
|
const addModel = reactive(serviceToLocal(await postAddFuseModel(model)))
|
|
|
initFuseModel(addModel)
|
|
|
- unSetModelUpdate(() => fuseModels.value.push(addModel))
|
|
|
+ unSetModelUpdate(() => {
|
|
|
+ fuseModels.value.push(addModel)
|
|
|
+ dynamicAddedModelIds.value.push(addModel.id)
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
-
|
|
|
export const initialFuseModels = fetchStoreItems(
|
|
|
fuseModels,
|
|
|
fetchFuseModels,
|