@@ -56,79 +56,81 @@ export const use_viewer_store = defineStore("viewer", {
5656 this . picked_point . y = world_y
5757 this . picking_mode = false
5858 } ,
59- async connect ( ) {
60- if ( process . env . NODE_ENV == "test" ) {
61- return
62- }
63- navigator . locks . request ( "viewer.connect" , async ( lock ) => {
59+ async ws_connect ( ) {
60+ if ( process . env . NODE_ENV == "test" ) return
61+ console . log ( "ws_connect 1" , this . status )
62+ if ( this . status === Status . CONNECTED ) return
63+ console . log ( "ws_connect 2" , this . status )
64+
65+ navigator . locks . request ( "viewer.ws_connect" , async ( lock ) => {
66+ console . log ( "VIEWER STATUS" , this . status )
67+ if ( this . status === Status . CONNECTED ) return
68+ console . log ( "VIEWER LOCK GRANTED !" , lock )
6469 this . status = Status . CONNECTING
65- if ( lock ) {
66- this . status = Status . CONNECTING
67- const SmartConnect = await import ( "wslink/src/SmartConnect" )
68- vtkWSLinkClient . setSmartConnectClass ( SmartConnect )
70+ const SmartConnect = await import ( "wslink/src/SmartConnect" )
71+ vtkWSLinkClient . setSmartConnectClass ( SmartConnect )
6972
70- const config = { application : "Viewer" }
71- config . sessionURL = this . base_url
73+ const config = { application : "Viewer" }
74+ config . sessionURL = this . base_url
7275
73- const { client } = this
74- if ( this . is_running && client . isConnected ( ) ) {
75- client . disconnect ( - 1 )
76- this . is_running = false
77- }
78- let clientToConnect = client
79- if ( _ . isEmpty ( clientToConnect ) ) {
80- clientToConnect = vtkWSLinkClient . newInstance ( )
81- }
76+ const { client } = this
77+ console . log ( "client" , client )
78+ if ( this . status === Status . CONNECTED && client . isConnected ( ) ) {
79+ client . disconnect ( - 1 )
80+ this . status = Status . NOT_CONNECTED
81+ }
82+ let clientToConnect = client
83+ if ( _ . isEmpty ( clientToConnect ) ) {
84+ clientToConnect = vtkWSLinkClient . newInstance ( )
85+ }
8286
83- // Connect to busy store
84- clientToConnect . onBusyChange ( ( count ) => {
85- this . buzy = count
86- } )
87- clientToConnect . beginBusy ( )
87+ // Connect to busy store
88+ clientToConnect . onBusyChange ( ( count ) => {
89+ this . buzy = count
90+ } )
91+ clientToConnect . beginBusy ( )
8892
89- // Error
90- clientToConnect . onConnectionError ( ( httpReq ) => {
91- const message =
92- ( httpReq && httpReq . response && httpReq . response . error ) ||
93- `Connection error`
94- console . error ( message )
95- } )
93+ // Error
94+ clientToConnect . onConnectionError ( ( httpReq ) => {
95+ const message =
96+ ( httpReq && httpReq . response && httpReq . response . error ) ||
97+ `Connection error`
98+ console . error ( message )
99+ } )
96100
97- // Close
98- clientToConnect . onConnectionClose ( ( httpReq ) => {
99- const message =
100- ( httpReq && httpReq . response && httpReq . response . error ) ||
101- `Connection close`
102- console . error ( message )
103- } )
101+ // Close
102+ clientToConnect . onConnectionClose ( ( httpReq ) => {
103+ const message =
104+ ( httpReq && httpReq . response && httpReq . response . error ) ||
105+ `Connection close`
106+ console . error ( message )
107+ } )
104108
105- // Connect
106- const { connectImageStream } = await import (
107- "@kitware/vtk.js/Rendering/Misc/RemoteView"
108- )
109- return new Promise ( ( resolve , reject ) => {
110- clientToConnect
111- . connect ( config )
112- . then ( ( validClient ) => {
113- connectImageStream ( validClient . getConnection ( ) . getSession ( ) )
114- this . client = validClient
115- clientToConnect . endBusy ( )
109+ // Connect
110+ const { connectImageStream } = await import (
111+ "@kitware/vtk.js/Rendering/Misc/RemoteView"
112+ )
113+ return new Promise ( ( resolve , reject ) => {
114+ clientToConnect
115+ . connect ( config )
116+ . then ( ( validClient ) => {
117+ connectImageStream ( validClient . getConnection ( ) . getSession ( ) )
118+ this . client = validClient
119+ clientToConnect . endBusy ( )
116120
117- // Now that the client is ready let's setup the server for us
118- viewer_call ( {
119- schema :
120- schemas . opengeodeweb_viewer . viewer . reset_visualization ,
121- } )
122- this . status = Status . CONNECTED
123- resolve ( )
124- } )
125- . catch ( ( error ) => {
126- console . error ( error )
127- this . status = Status . NOT_CONNECTED
128- reject ( error )
121+ // Now that the client is ready let's setup the server for us
122+ viewer_call ( {
123+ schema : schemas . opengeodeweb_viewer . viewer . reset_visualization ,
129124 } )
130- } )
131- }
125+ this . status = Status . CONNECTED
126+ resolve ( )
127+ } )
128+ . catch ( ( error ) => {
129+ console . error ( error )
130+ this . status = Status . NOT_CONNECTED
131+ reject ( error )
132+ } )
133+ } )
132134 } )
133135 } ,
134136 start_request ( ) {
0 commit comments