mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-10-12 16:02:56 +00:00
nit navigation back
This commit is contained in:
+8
-2
@@ -5,6 +5,7 @@
|
||||
import type DiffDrawer from '$lib/components/DiffDrawer.svelte'
|
||||
import { cleanValueProperties, orderedJsonStringify, type Value } from '$lib/utils'
|
||||
import { tick } from 'svelte'
|
||||
import { page } from '$app/stores'
|
||||
|
||||
export let savedValue: Value | undefined = undefined
|
||||
export let modifiedValue: Value | undefined = undefined
|
||||
@@ -15,15 +16,19 @@
|
||||
let goingTo: URL | undefined = undefined
|
||||
|
||||
beforeNavigate(async (newNavigationState) => {
|
||||
// console.log('beforeNavigate', newNavigationState, bypassBeforeNavigate)
|
||||
if (
|
||||
!bypassBeforeNavigate &&
|
||||
newNavigationState.type != 'popstate' &&
|
||||
newNavigationState.to &&
|
||||
newNavigationState.to.url != $page.url &&
|
||||
newNavigationState.to.url.pathname !== newNavigationState.from?.url.pathname
|
||||
) {
|
||||
// console.log('going to', newNavigationState.to.url)
|
||||
goingTo = newNavigationState.to.url
|
||||
newNavigationState.cancel()
|
||||
await tick() // make sure saved value is updated when clicking on save draft or deploy
|
||||
if (newNavigationState.type != 'popstate') {
|
||||
await tick() // make sure saved value is updated when clicking on save draft or deploy
|
||||
}
|
||||
if (savedValue && modifiedValue) {
|
||||
const draftOrDeployed = cleanValueProperties({
|
||||
...((savedValue.draft || savedValue) ?? {}),
|
||||
@@ -32,6 +37,7 @@
|
||||
const current = cleanValueProperties({ ...(modifiedValue ?? {}), path: undefined })
|
||||
if (orderedJsonStringify(draftOrDeployed) === orderedJsonStringify(current)) {
|
||||
bypassBeforeNavigate = true
|
||||
console.log('FOO')
|
||||
goto(goingTo)
|
||||
} else {
|
||||
open = true
|
||||
|
||||
Reference in New Issue
Block a user