mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-07 08:02:40 +00:00
fix: add no changes popup when saving draft (#2571)
This commit is contained in:
@@ -109,14 +109,22 @@
|
||||
let loadingSave = false
|
||||
let loadingDraft = false
|
||||
|
||||
async function saveDraft(): Promise<void> {
|
||||
async function saveDraft(forceSave = false): Promise<void> {
|
||||
if (!newFlow && !savedFlow) {
|
||||
return
|
||||
}
|
||||
if (savedFlow) {
|
||||
const draftOrDeployed = cleanValueProperties(savedFlow.draft || savedFlow)
|
||||
const current = cleanValueProperties($flowStore)
|
||||
if (orderedJsonStringify(draftOrDeployed) === orderedJsonStringify(current)) {
|
||||
if (!forceSave && orderedJsonStringify(draftOrDeployed) === orderedJsonStringify(current)) {
|
||||
sendUserToast('No changes detected, ignoring', false, [
|
||||
{
|
||||
label: 'Save anyway',
|
||||
callback: () => {
|
||||
saveDraft(true)
|
||||
}
|
||||
}
|
||||
])
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -221,14 +221,22 @@
|
||||
loadingSave = false
|
||||
}
|
||||
|
||||
async function saveDraft(): Promise<void> {
|
||||
async function saveDraft(forceSave = false): Promise<void> {
|
||||
if (initialPath != '' && !savedScript) {
|
||||
return
|
||||
}
|
||||
if (savedScript) {
|
||||
const draftOrDeployed = cleanValueProperties(savedScript.draft || savedScript)
|
||||
const current = cleanValueProperties(script)
|
||||
if (orderedJsonStringify(draftOrDeployed) === orderedJsonStringify(current)) {
|
||||
if (!forceSave && orderedJsonStringify(draftOrDeployed) === orderedJsonStringify(current)) {
|
||||
sendUserToast('No changes detected, ignoring', false, [
|
||||
{
|
||||
label: 'Save anyway',
|
||||
callback: () => {
|
||||
saveDraft(true)
|
||||
}
|
||||
}
|
||||
])
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,7 +344,7 @@
|
||||
draftDrawerOpen = false
|
||||
}
|
||||
|
||||
async function saveDraft() {
|
||||
async function saveDraft(forceSave = false) {
|
||||
if ($page.params.path == undefined) {
|
||||
// initial draft
|
||||
draftDrawerOpen = true
|
||||
@@ -360,7 +360,15 @@
|
||||
path: newPath || savedApp.draft?.path || savedApp.path,
|
||||
policy
|
||||
})
|
||||
if (orderedJsonStringify(draftOrDeployed) === orderedJsonStringify(current)) {
|
||||
if (!forceSave && orderedJsonStringify(draftOrDeployed) === orderedJsonStringify(current)) {
|
||||
sendUserToast('No changes detected, ignoring', false, [
|
||||
{
|
||||
label: 'Save anyway',
|
||||
callback: () => {
|
||||
saveDraft(true)
|
||||
}
|
||||
}
|
||||
])
|
||||
return
|
||||
}
|
||||
loading.saveDraft = true
|
||||
@@ -1123,7 +1131,7 @@
|
||||
<Button
|
||||
loading={loading.save}
|
||||
startIcon={{ icon: faSave }}
|
||||
on:click={saveDraft}
|
||||
on:click={() => saveDraft()}
|
||||
disabled={$page.params.path !== undefined && !savedApp}
|
||||
size="xs"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user