mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-28 10:12:11 +00:00
Add toast message on refresh button click (#492)
This commit is contained in:
@@ -12,7 +12,7 @@ const toast = useToast()
|
|||||||
const toastStore = useToastStore()
|
const toastStore = useToastStore()
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => toastStore.messages,
|
() => toastStore.messagesToAdd,
|
||||||
(newMessages) => {
|
(newMessages) => {
|
||||||
if (newMessages.length === 0) {
|
if (newMessages.length === 0) {
|
||||||
return
|
return
|
||||||
@@ -21,8 +21,33 @@ watch(
|
|||||||
newMessages.forEach((message) => {
|
newMessages.forEach((message) => {
|
||||||
toast.add(message)
|
toast.add(message)
|
||||||
})
|
})
|
||||||
toastStore.removeAll()
|
toastStore.messagesToAdd = []
|
||||||
},
|
},
|
||||||
{ deep: true }
|
{ deep: true }
|
||||||
)
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => toastStore.messagesToRemove,
|
||||||
|
(messagesToRemove) => {
|
||||||
|
if (messagesToRemove.length === 0) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
messagesToRemove.forEach((message) => {
|
||||||
|
toast.remove(message)
|
||||||
|
})
|
||||||
|
toastStore.messagesToRemove = []
|
||||||
|
},
|
||||||
|
{ deep: true }
|
||||||
|
)
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => toastStore.removeAllRequested,
|
||||||
|
(requested) => {
|
||||||
|
if (requested) {
|
||||||
|
toast.removeAllGroups()
|
||||||
|
toastStore.removeAllRequested = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ import { Vector2 } from '@comfyorg/litegraph'
|
|||||||
import _ from 'lodash'
|
import _ from 'lodash'
|
||||||
import { showLoadWorkflowWarning } from '@/services/dialogService'
|
import { showLoadWorkflowWarning } from '@/services/dialogService'
|
||||||
import { useSettingStore } from '@/stores/settingStore'
|
import { useSettingStore } from '@/stores/settingStore'
|
||||||
|
import { useToastStore } from '@/stores/toastStore'
|
||||||
|
import type { ToastMessageOptions } from 'primevue/toast'
|
||||||
|
|
||||||
export const ANIM_PREVIEW_WIDGET = '$$comfy_animation_preview'
|
export const ANIM_PREVIEW_WIDGET = '$$comfy_animation_preview'
|
||||||
|
|
||||||
@@ -2851,6 +2853,13 @@ export class ComfyApp {
|
|||||||
* Refresh combo list on whole nodes
|
* Refresh combo list on whole nodes
|
||||||
*/
|
*/
|
||||||
async refreshComboInNodes() {
|
async refreshComboInNodes() {
|
||||||
|
const requestToastMessage: ToastMessageOptions = {
|
||||||
|
severity: 'info',
|
||||||
|
summary: 'Update',
|
||||||
|
detail: 'Update requested'
|
||||||
|
}
|
||||||
|
if (this.vueAppReady) useToastStore().add(requestToastMessage)
|
||||||
|
|
||||||
const defs = await api.getNodeDefs()
|
const defs = await api.getNodeDefs()
|
||||||
|
|
||||||
for (const nodeId in defs) {
|
for (const nodeId in defs) {
|
||||||
@@ -2888,6 +2897,16 @@ export class ComfyApp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
await this.#invokeExtensionsAsync('refreshComboInNodes', defs)
|
await this.#invokeExtensionsAsync('refreshComboInNodes', defs)
|
||||||
|
|
||||||
|
if (this.vueAppReady) {
|
||||||
|
useToastStore().remove(requestToastMessage)
|
||||||
|
useToastStore().add({
|
||||||
|
severity: 'success',
|
||||||
|
summary: 'Updated',
|
||||||
|
detail: 'Node definitions updated',
|
||||||
|
life: 1000
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resetView() {
|
resetView() {
|
||||||
|
|||||||
@@ -6,18 +6,20 @@ import type { ToastMessageOptions } from 'primevue/toast'
|
|||||||
|
|
||||||
export const useToastStore = defineStore('toast', {
|
export const useToastStore = defineStore('toast', {
|
||||||
state: () => ({
|
state: () => ({
|
||||||
messages: [] as ToastMessageOptions[]
|
messagesToAdd: [] as ToastMessageOptions[],
|
||||||
|
messagesToRemove: [] as ToastMessageOptions[],
|
||||||
|
removeAllRequested: false
|
||||||
}),
|
}),
|
||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
add(message: ToastMessageOptions) {
|
add(message: ToastMessageOptions) {
|
||||||
this.messages = [...this.messages, message]
|
this.messagesToAdd = [...this.messagesToAdd, message]
|
||||||
},
|
},
|
||||||
remove(message: ToastMessageOptions) {
|
remove(message: ToastMessageOptions) {
|
||||||
this.messages = this.messages.filter((msg) => msg !== message)
|
this.messagesToRemove = [...this.messagesToRemove, message]
|
||||||
},
|
},
|
||||||
removeAll() {
|
removeAll() {
|
||||||
this.messages = []
|
this.removeAllRequested = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user