File tree Expand file tree Collapse file tree 3 files changed +52
-6
lines changed Expand file tree Collapse file tree 3 files changed +52
-6
lines changed Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ const toast = useToast()
1212const toastStore = useToastStore ()
1313
1414watch (
15- () => toastStore .messages ,
15+ () => toastStore .messagesToAdd ,
1616 (newMessages ) => {
1717 if (newMessages .length === 0 ) {
1818 return
@@ -21,8 +21,33 @@ watch(
2121 newMessages .forEach ((message ) => {
2222 toast .add (message )
2323 })
24- toastStore .removeAll ()
24+ toastStore .messagesToAdd = []
2525 },
2626 { deep: true }
2727)
28+
29+ watch (
30+ () => toastStore .messagesToRemove ,
31+ (messagesToRemove ) => {
32+ if (messagesToRemove .length === 0 ) {
33+ return
34+ }
35+
36+ messagesToRemove .forEach ((message ) => {
37+ toast .remove (message )
38+ })
39+ toastStore .messagesToRemove = []
40+ },
41+ { deep: true }
42+ )
43+
44+ watch (
45+ () => toastStore .removeAllRequested ,
46+ (requested ) => {
47+ if (requested ) {
48+ toast .removeAllGroups ()
49+ toastStore .removeAllRequested = false
50+ }
51+ }
52+ )
2853 </script >
Original file line number Diff line number Diff line change @@ -45,6 +45,8 @@ import { Vector2 } from '@comfyorg/litegraph'
4545import _ from 'lodash'
4646import { showLoadWorkflowWarning } from '@/services/dialogService'
4747import { useSettingStore } from '@/stores/settingStore'
48+ import { useToastStore } from '@/stores/toastStore'
49+ import type { ToastMessageOptions } from 'primevue/toast'
4850
4951export const ANIM_PREVIEW_WIDGET = '$$comfy_animation_preview'
5052
@@ -2851,6 +2853,13 @@ export class ComfyApp {
28512853 * Refresh combo list on whole nodes
28522854 */
28532855 async refreshComboInNodes ( ) {
2856+ const requestToastMessage : ToastMessageOptions = {
2857+ severity : 'info' ,
2858+ summary : 'Update' ,
2859+ detail : 'Update requested'
2860+ }
2861+ if ( this . vueAppReady ) useToastStore ( ) . add ( requestToastMessage )
2862+
28542863 const defs = await api . getNodeDefs ( )
28552864
28562865 for ( const nodeId in defs ) {
@@ -2888,6 +2897,16 @@ export class ComfyApp {
28882897 }
28892898
28902899 await this . #invokeExtensionsAsync( 'refreshComboInNodes' , defs )
2900+
2901+ if ( this . vueAppReady ) {
2902+ useToastStore ( ) . remove ( requestToastMessage )
2903+ useToastStore ( ) . add ( {
2904+ severity : 'success' ,
2905+ summary : 'Updated' ,
2906+ detail : 'Node definitions updated' ,
2907+ life : 1000
2908+ } )
2909+ }
28912910 }
28922911
28932912 resetView ( ) {
Original file line number Diff line number Diff line change @@ -6,18 +6,20 @@ import type { ToastMessageOptions } from 'primevue/toast'
66
77export const useToastStore = defineStore ( 'toast' , {
88 state : ( ) => ( {
9- messages : [ ] as ToastMessageOptions [ ]
9+ messagesToAdd : [ ] as ToastMessageOptions [ ] ,
10+ messagesToRemove : [ ] as ToastMessageOptions [ ] ,
11+ removeAllRequested : false
1012 } ) ,
1113
1214 actions : {
1315 add ( message : ToastMessageOptions ) {
14- this . messages = [ ...this . messages , message ]
16+ this . messagesToAdd = [ ...this . messagesToAdd , message ]
1517 } ,
1618 remove ( message : ToastMessageOptions ) {
17- this . messages = this . messages . filter ( ( msg ) => msg !== message )
19+ this . messagesToRemove = [ ... this . messagesToRemove , message ]
1820 } ,
1921 removeAll ( ) {
20- this . messages = [ ]
22+ this . removeAllRequested = true
2123 }
2224 }
2325} )
You can’t perform that action at this time.
0 commit comments