Prechádzať zdrojové kódy

added listeners for mcp requests

Josh 4 rokov pred
rodič
commit
f9c1e57a43

+ 1 - 1
resources/views/app/current-work.blade.php

@@ -3,7 +3,7 @@
     <div class="current-work-indicator" title="Started: {{ friendly_time($currentWork->start_time) }}">
         <i class="fa fa-folder-open mr-1"></i>
         <a class="text-white font-weight-bold text-sm" href="/patients/view/{{ $currentWork->client->uid }}">
-            {{ $currentWork->client->displayName() }}
+           {{ $currentWork->client->displayName() }}
         </a>
     </div>
 @endif

+ 0 - 1
resources/views/layouts/patient.blade.php

@@ -593,7 +593,6 @@
                     </div>
                     {{--<div class="text-container border-bottom d-flex align-items-center mcp-theme-1 px-3">
 
-
                         @if($patient->mcp_pro_id !== $pro->id && $patient->active_mcp_request_id)
                             <div moe relative class="ml-2">
                                 <a href="" start show class="btn btn-sm btn-success text-white font-weight-bold small">Claim as MCP</a>

+ 29 - 7
resources/views/layouts/template.blade.php

@@ -61,6 +61,14 @@
     {{-- pdfjs --}}
     <script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script>
 
+    {{-- WebSockets --}}
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.5.0/sockjs.min.js"
+            integrity="sha512-5yJ548VSnLflcRxWNqVWYeQZnby8D8fJTmYRLyvs445j1XmzR8cnWi85lcHx3CUEeAX+GrK3TqTfzOO6LKDpdw=="
+            crossorigin="anonymous"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"
+            integrity="sha512-iKDtgDyTHjAitUDdLljGhenhPwrbBfqTKWO1mkhSFH3A7blITC9MhYon6SjnMhp4o0rADGw9yAC6EW4t5a4K3g=="
+            crossorigin="anonymous"></script>
+
     @yield('head')
 </head>
 
@@ -265,18 +273,32 @@
                 fastLoad('/patients/view/' + $(this).attr('data-target-uid'), true, false, false);
                 return false;
             });
-
-            window.setInterval(function() {
-                $.get('/current-work', function(_data) {
-                    $('.current-work').html(_data);
-                    initFastLoad($('.current-work'));
-                });
-            }, 15000); // once in 15 seconds
         });
     </script>
     <script src="/js/stag-popup.js"></script>
     <script src="/js/option-list.js"></script>
     @include('app/pdf/viewer')
+    <script>
+        let socket = new SockJS("{{ config('app.backend_ws_url') }}");
+        window.socketClient = Stomp.over(socket);
+        window.socketClient.connect({}, (frame) => {
+
+            window.socketClient.send("/app/register", {},     // register self
+                JSON.stringify({
+                    sessionKey: '{{$performer->session_key}}'
+                })
+            );
+
+            window.socketClient.subscribe("/user/topic/newMcpRequest", function(message) {
+                console.log("Received new mcp request: ", message);
+            }); // once in 15 seconds
+
+            window.socketClient.subscribe("/user/topic/removeMcpRequest", function(message) {
+                console.log("An mcp request has been removed: ", message);
+            });   
+
+        });
+    </script>
 </body>
 
 </html>