|
@@ -97,9 +97,8 @@ export const unSetModelUpdate = (run: () => void) => {
|
|
|
run()
|
|
|
nextTick(() => isUnset = false)
|
|
|
}
|
|
|
-export const autoSetModeCallback = <T extends object>(current: T, setting: AutoSetModeSetting<T>) => {
|
|
|
+export const autoSetModeCallback = <T extends object>(current: T, setting: AutoSetModeSetting<T>, last = true) => {
|
|
|
let isSave = false
|
|
|
-
|
|
|
const leaveCallback = (setting.recovery || setting.backup)
|
|
|
&& (() => {
|
|
|
setting.recovery && setting.recovery()
|
|
@@ -108,7 +107,7 @@ export const autoSetModeCallback = <T extends object>(current: T, setting: AutoS
|
|
|
})
|
|
|
|
|
|
const saveCallback = async () => {
|
|
|
- leaveCallback && sysBus.off('leave', leaveCallback, { last: true })
|
|
|
+ leaveCallback && sysBus.off('leave', leaveCallback, { last })
|
|
|
isSave = true
|
|
|
await setting.save()
|
|
|
setting.backup && setting.backup()
|
|
@@ -120,9 +119,9 @@ export const autoSetModeCallback = <T extends object>(current: T, setting: AutoS
|
|
|
if (!setting.isUpdate || setting.isUpdate(newv, oldv)) {
|
|
|
isEdit.value || enterEdit()
|
|
|
isOld.value || enterOld()
|
|
|
- saveCallback && sysBus.on('save', saveCallback, { last: true })
|
|
|
+ saveCallback && sysBus.on('save', saveCallback, { last })
|
|
|
}
|
|
|
- leaveCallback && sysBus.on('leave', leaveCallback, { last: true })
|
|
|
+ leaveCallback && sysBus.on('leave', leaveCallback, { last })
|
|
|
}
|
|
|
|
|
|
return () => {
|
|
@@ -131,7 +130,7 @@ export const autoSetModeCallback = <T extends object>(current: T, setting: AutoS
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-export const useAutoSetMode = <T extends object>(current: T, setting: AutoSetModeSetting<T>) => {
|
|
|
- const startWatch = autoSetModeCallback(current, setting)
|
|
|
+export const useAutoSetMode = <T extends object>(current: T, setting: AutoSetModeSetting<T>, last = true) => {
|
|
|
+ const startWatch = autoSetModeCallback(current, setting, last)
|
|
|
useViewStack(startWatch)
|
|
|
}
|