@@ -28,19 +28,35 @@ const filteredQueries = computed(() => {
2828function onQueryNotification(event : QueryCacheNotifyEvent ) {
2929 switch (event .type ) {
3030 case ' updated' : {
31+ console .log (' Query updated' , event .query .queryKey )
3132 const query = queries .value .find (q => q .queryHash === event .query .queryHash )
3233 if (query ) {
3334 query .state = { ... event .query .state }
3435 }
3536 break
3637 }
38+ case ' observerResultsUpdated' : {
39+ // when data becomes stale, the query is updated
40+ console .log (' Query observerResultsUpdated' , event .query .queryKey , event .query .isStale (), event .query .state )
41+ break
42+ }
3743 case ' added' :
3844 console .log (' Query added' , event .query .queryKey )
45+ queries .value .push (event .query )
3946 break
40- case ' removed' :
47+ case ' removed' : {
4148 console .log (' Query removed' , event .query .queryKey )
49+ const index = queries .value .findIndex (q => q .queryHash === event .query .queryHash )
50+ if (index !== - 1 ) {
51+ queries .value .splice (index , 1 )
52+ }
53+ if (selectedQuery .value ?.queryHash === event .query .queryHash ) {
54+ selectedQuery .value = null
55+ }
4256 break
57+ }
4358 default :
59+ console .log (' Unknown event' , event .type )
4460 break
4561 }
4662}
@@ -102,11 +118,26 @@ function selectQuery(query: Query) {
102118 text =" Query Overview"
103119 :padding =" true"
104120 >
105- <NCard class =" px6 py2" >
106- <p ><strong >Query Key:</strong > {{ selectedQuery?.queryKey }}</p >
107- <p ><strong >Query Hash:</strong > {{ selectedQuery?.queryHash }}</p >
108- <p ><strong >Last Updated:</strong > {{ new Date(selectedQuery.state.dataUpdatedAt).toLocaleString() }}</p >
109- </NCard >
121+ <div class =" grid grid-cols-[auto_1fr] gap-1 px-2 py-2 b-1 b-solid b-gray-200" >
122+ <div >
123+ <strong >Query Key:</strong >
124+ </div >
125+ <div >
126+ {{ selectedQuery?.queryKey }}
127+ </div >
128+ <div >
129+ <strong >Query Hash:</strong >
130+ </div >
131+ <div >
132+ {{ selectedQuery?.queryHash }}
133+ </div >
134+ <div >
135+ <strong >Last Updated:</strong >
136+ </div >
137+ <div >
138+ {{ new Date(selectedQuery.state.dataUpdatedAt).toLocaleString() }}
139+ </div >
140+ </div >
110141 </NSectionBlock >
111142 <NSectionBlock
112143 icon =" carbon-settings"
@@ -119,18 +150,43 @@ function selectQuery(query: Query) {
119150 </NSectionBlock >
120151 <NSectionBlock
121152 icon =" carbon-settings"
122- text =" Query Explorer "
153+ text =" Query Details "
123154 :padding =" true"
124155 >
125- <NCard >
126- <p ><strong >Status:</strong > {{ selectedQuery.state.status }}</p >
127- <p ><strong >Fetch Status:</strong > {{ selectedQuery.state.fetchStatus }}</p >
128- <p ><strong >Invalidated:</strong > {{ selectedQuery.state.isInvalidated }}</p >
129- <p ><strong >Update Count:</strong > {{ selectedQuery.state.dataUpdateCount }}</p >
130- <p ><strong >Active:</strong > {{ selectedQuery.observers.length === 0 ? 'Inactive' : 'Active' }}</p >
131- <p ><strong >IsStale:</strong > {{ toRaw(selectedQuery)?.isStale() }}</p >
132- <p ><strong >Disabled:</strong > {{ toRaw(selectedQuery)?.isDisabled() }}</p >
133- </NCard >
156+ <div class =" grid grid-cols-[auto_1fr] gap-1 px-2 py-2 b-1 b-solid b-gray-200" >
157+ <div ><strong >Status:</strong ></div >
158+ <div >
159+ {{ selectedQuery.state.status }}
160+ </div >
161+ <div ><strong >Fetch Status:</strong ></div >
162+ <div >
163+ {{ selectedQuery.state.fetchStatus }}
164+ </div >
165+ <div ><strong >Invalidated:</strong ></div >
166+ <div >
167+ {{ selectedQuery.state.isInvalidated }}
168+ </div >
169+ <div ><strong >Update Count:</strong ></div >
170+ <div >
171+ {{ selectedQuery.state.dataUpdateCount }}
172+ </div >
173+ <div ><strong >Active:</strong ></div >
174+ <div >
175+ {{ selectedQuery.observers.length === 0 ? 'Inactive' : 'Active' }}
176+ </div >
177+ <div ><strong >IsStale:</strong ></div >
178+ <div >
179+ {{ toRaw(selectedQuery)?.isStale() }}
180+ </div >
181+ <div ><strong >Disabled:</strong ></div >
182+ <div >
183+ {{ toRaw(selectedQuery)?.isDisabled() }}
184+ </div >
185+ <div ><strong >GCTime:</strong ></div >
186+ <div >
187+ {{ selectedQuery.gcTime }}
188+ </div >
189+ </div >
134190 </NSectionBlock >
135191 </div >
136192 <div v-else >
0 commit comments