@@ -11,12 +11,7 @@ use crate::invoke::{
1111use super :: { active_project:: ActiveProjectStore , editor:: EditorStore , projects:: ProjectsStore } ;
1212
1313#[ derive( Clone , Copy , Debug ) ]
14- pub struct QueryStore {
15- #[ allow( clippy:: type_complexity) ]
16- pub sql_result : RwSignal < Option < ( Vec < String > , Vec < Vec < String > > ) > > ,
17- pub is_loading : RwSignal < bool > ,
18- pub saved_queries : RwSignal < BTreeMap < String , String > > ,
19- }
14+ pub struct QueryStore ( RwSignal < BTreeMap < String , String > > ) ;
2015
2116impl Default for QueryStore {
2217 fn default ( ) -> Self {
@@ -26,21 +21,14 @@ impl Default for QueryStore {
2621
2722impl QueryStore {
2823 pub fn new ( ) -> Self {
29- Self {
30- sql_result : create_rw_signal ( None ) ,
31- is_loading : create_rw_signal ( false ) ,
32- saved_queries : create_rw_signal ( BTreeMap :: new ( ) ) ,
33- }
24+ Self ( create_rw_signal ( BTreeMap :: new ( ) ) )
3425 }
3526
3627 pub async fn run_query ( & self ) -> Result < ( ) > {
3728 let active_project = use_context :: < ActiveProjectStore > ( ) . unwrap ( ) ;
3829 let active_project = active_project. 0 . get_untracked ( ) . unwrap ( ) ;
3930 let projects_store = use_context :: < ProjectsStore > ( ) . unwrap ( ) ;
4031 projects_store. connect ( & active_project) . await ?;
41- self . is_loading . update ( |prev| {
42- * prev = true ;
43- } ) ;
4432 let editor_state = use_context :: < EditorStore > ( ) . unwrap ( ) ;
4533 let active_editor = editor_state. get_active_editor ( ) ;
4634 let position: monaco:: sys:: Position = active_editor
@@ -64,9 +52,6 @@ impl QueryStore {
6452 )
6553 . await ?;
6654 self . sql_result . set ( Some ( data) ) ;
67- self . is_loading . update ( |prev| {
68- * prev = false ;
69- } ) ;
7055 Ok ( ( ) )
7156 }
7257
@@ -77,10 +62,10 @@ impl QueryStore {
7762 )
7863 . await ?;
7964
80- self . saved_queries . update ( |prev| {
65+ self . 0 . update ( |prev| {
8166 * prev = saved_queries. into_iter ( ) . collect ( ) ;
8267 } ) ;
83- Ok ( self . saved_queries . get_untracked ( ) . clone ( ) )
68+ Ok ( self . 0 . get_untracked ( ) )
8469 }
8570
8671 pub async fn insert_query ( & self , key : & str , project_name : & str ) -> Result < ( ) > {
@@ -112,7 +97,7 @@ impl QueryStore {
11297 let active_project = use_context :: < ActiveProjectStore > ( ) . unwrap ( ) ;
11398 let splitted_key = key. split ( ':' ) . collect :: < Vec < & str > > ( ) ;
11499 active_project. 0 . set ( Some ( splitted_key[ 0 ] . to_string ( ) ) ) ;
115- let query = self . saved_queries . get_untracked ( ) . get ( key) . unwrap ( ) . clone ( ) ;
100+ let query = self . 0 . get_untracked ( ) . get ( key) . unwrap ( ) . clone ( ) ;
116101 let editor_state = use_context :: < EditorStore > ( ) . unwrap ( ) ;
117102 editor_state. set_editor_value ( & query) ;
118103 Ok ( ( ) )
0 commit comments